From 7a10aa811224b9695f1c65efa88e5293137d1355 Mon Sep 17 00:00:00 2001 From: spessasus Date: Fri, 11 Oct 2024 19:33:34 +0200 Subject: [PATCH 1/2] Fix CC 10 panning Addresses #59 --- package.json | 2 +- src/spessasynth_lib/soundfont/basic_soundfont/modulator.js | 3 ++- src/spessasynth_lib/synthetizer/worklet_processor.min.js | 2 +- src/website/minified/demo_main.min.js | 2 +- src/website/minified/local_main.min.js | 2 +- 5 files changed, 6 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 743044de..2112d4a0 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "SpessaSynth", - "version": "3.21.3", + "version": "3.21.4-pan-test", "type": "module", "scripts": { "start": "node src/website/server/server.js" diff --git a/src/spessasynth_lib/soundfont/basic_soundfont/modulator.js b/src/spessasynth_lib/soundfont/basic_soundfont/modulator.js index def56d21..f845cac3 100644 --- a/src/spessasynth_lib/soundfont/basic_soundfont/modulator.js +++ b/src/spessasynth_lib/soundfont/basic_soundfont/modulator.js @@ -206,7 +206,8 @@ export const defaultModulators = [ new Modulator({ srcEnum: 0x020E, dest: generatorTypes.fineTune, amt: 12700, secSrcEnum: 0x0010, transform: 0 }), // pan to uhh, pan - new Modulator({ srcEnum: 0x028A, dest: generatorTypes.pan, amt: 1000, secSrcEnum: 0x0, transform: 0 }), + // amount is 500 instead of 1000, see #59 + new Modulator({ srcEnum: 0x028A, dest: generatorTypes.pan, amt: 500, secSrcEnum: 0x0, transform: 0 }), // expression to attenuation new Modulator({ diff --git a/src/spessasynth_lib/synthetizer/worklet_processor.min.js b/src/spessasynth_lib/synthetizer/worklet_processor.min.js index 9f715807..f5749203 100644 --- a/src/spessasynth_lib/synthetizer/worklet_processor.min.js +++ b/src/spessasynth_lib/synthetizer/worklet_processor.min.js @@ -6,7 +6,7 @@ var Bn=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(A,e)=>( Transform type: ${this.transformType} -`}},pt=960,yt=cA.concave;function TA(t,A,e,n,s){return t<<10|A<<9|e<<8|n<<7|s}var Pe=[new j({srcEnum:TA(yt,0,1,0,K.noteOnVelocity),dest:g.initialAttenuation,amt:pt,secSrcEnum:0,transform:0}),new j({srcEnum:129,dest:g.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new j({srcEnum:TA(yt,0,1,1,m.mainVolume),dest:g.initialAttenuation,amt:pt,secSrcEnum:0,transform:0}),new j({srcEnum:13,dest:g.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new j({srcEnum:526,dest:g.fineTune,amt:12700,secSrcEnum:16,transform:0}),new j({srcEnum:650,dest:g.pan,amt:1e3,secSrcEnum:0,transform:0}),new j({srcEnum:TA(yt,0,1,1,m.expressionController),dest:g.initialAttenuation,amt:pt,secSrcEnum:0,transform:0}),new j({srcEnum:219,dest:g.reverbEffectsSend,amt:750,secSrcEnum:0,transform:0}),new j({srcEnum:221,dest:g.chorusEffectsSend,amt:750,secSrcEnum:0,transform:0}),new j({srcEnum:TA(cA.linear,0,0,0,K.polyPressure),dest:g.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new j({srcEnum:TA(cA.linear,0,0,1,m.tremoloDepth),dest:g.modLfoToVolume,amt:24,secSrcEnum:0,transform:0}),new j({srcEnum:TA(cA.linear,1,0,1,m.releaseTime),dest:g.releaseVolEnv,amt:1200,secSrcEnum:0,transform:0}),new j({srcEnum:TA(cA.linear,1,0,1,m.brightness),dest:g.initialFilterFc,amt:6e3,secSrcEnum:0,transform:0}),new j({srcEnum:TA(cA.linear,1,0,1,m.timbreHarmonicContent),dest:g.initialFilterQ,amt:250,secSrcEnum:0,transform:0})];var EA=128,Ke=147,St=new Int16Array(Ke).fill(0),dA=(t,A)=>St[t]=A<<7;dA(m.mainVolume,100);dA(m.balance,64);dA(m.expressionController,127);dA(m.pan,64);dA(m.timbreHarmonicContent,64);dA(m.releaseTime,64);dA(m.attackTime,64);dA(m.brightness,64);dA(m.soundController6,64);dA(m.soundController7,64);dA(m.soundController8,64);dA(m.soundController9,64);dA(m.generalPurposeController6,64);dA(m.generalPurposeController8,64);dA(EA+K.pitchWheel,64);dA(EA+K.pitchWheelRange,2);var gA={channelTuning:0,channelTransposeFine:1,modulationMultiplier:2,masterTuning:3,channelTuningSemitones:4},Dt=Object.keys(gA).length,kt=new Float32Array(Dt);kt[gA.modulationMultiplier]=1;var fA={Idle:0,RPCoarse:1,RPFine:2,NRPCoarse:3,NRPFine:4,DataCoarse:5,DataFine:6};function yn(t=!1){let A={midiControllers:new Int16Array(Ke),lockedControllers:Array(Ke).fill(!1),customControllers:new Float32Array(Dt),NRPCoarse:0,NRPFine:0,RPValue:0,dataEntryState:fA.Idle,voices:[],sustainedVoices:[],cachedVoices:[],preset:this.defaultPreset,presetUsesOverride:!1,channelTransposeKeyShift:0,channelOctaveTuning:new Int8Array(12),keyCentTuning:new Int16Array(128),channelVibrato:{delay:0,depth:0,rate:0},velocityOverride:0,lockGSNRPNParams:!1,holdPedal:!1,isMuted:!1,drumChannel:!1,lockPreset:!1};for(let e=0;e<128;e++)A.cachedVoices.push([]);this.workletProcessorChannels.push(A),this.resetControllers(this.workletProcessorChannels.length-1),this.sendChannelProperties(),t&&this.callEvent("newchannel",void 0)}var wt={velocityOverride:128};var Sn="spessasynth-worklet-system",Dn=350,SA=9,Ve=16,Oe="gs";var bA={loadNewSongList:0,pause:1,stop:2,play:3,setTime:4,changeMIDIMessageSending:5,setPlaybackRate:6,setLoop:7,changeSong:8,getMIDI:9,setSkipToFirstNote:10},wA={midiEvent:0,songChange:1,textEvent:2,timeChange:3,pause:4,getMIDI:5,midiError:6};function zA(t,A){let e=0;for(let n=8*(A-1);n>=0;n-=8)e|=t[t.currentIndex++]<>>0}function kn(t,A){if(this.ignoreEvents)return;if(this.sendMIDIMessages&&t.messageStatusByte>=128){this.sendMIDIMessage([t.messageStatusByte,...t.messageData]);return}let e=we(t.messageStatusByte),n=this.midiPortChannelOffsets[this.midiPorts[A]]||0;switch(e.channel+=n,e.status){case F.noteOn:let s=t.messageData[1];if(s>0)this.synth.noteOn(e.channel,t.messageData[0],s),this.playingNotes.push({midiNote:t.messageData[0],channel:e.channel,velocity:s});else{this.synth.noteOff(e.channel,t.messageData[0]);let I=this.playingNotes.findIndex(C=>C.midiNote===t.messageData[0]&&C.channel===e.channel);I!==-1&&this.playingNotes.splice(I,1)}break;case F.noteOff:this.synth.noteOff(e.channel,t.messageData[0]);let o=this.playingNotes.findIndex(I=>I.midiNote===t.messageData[0]&&I.channel===e.channel);o!==-1&&this.playingNotes.splice(o,1);break;case F.pitchBend:this.synth.pitchWheel(e.channel,t.messageData[1],t.messageData[0]);break;case F.controllerChange:this.synth.controllerChange(e.channel,t.messageData[0],t.messageData[1]);break;case F.programChange:this.synth.programChange(e.channel,t.messageData[0]);break;case F.polyPressure:this.synth.polyPressure(e.channel,t.messageData[0],t.messageData[1]);break;case F.channelPressure:this.synth.channelPressure(e.channel,t.messageData[0]);break;case F.systemExclusive:this.synth.systemExclusive(t.messageData,n);break;case F.setTempo:this.oneTickToSeconds=60/(No(t)*this.midiData.timeDivision),this.oneTickToSeconds===0&&(this.oneTickToSeconds=60/(120*this.midiData.timeDivision),T("invalid tempo! falling back to 120 BPM"));break;case F.timeSignature:case F.endOfTrack:case F.midiChannelPrefix:case F.songPosition:case F.activeSensing:case F.keySignature:case F.sequenceNumber:case F.sequenceSpecific:break;case F.text:case F.lyric:case F.copyright:case F.trackName:case F.marker:case F.cuePoint:case F.instrumentName:case F.programName:this.post(wA.textEvent,[t.messageData,e.status]);break;case F.midiPort:this.assignMIDIPort(A,t.messageData[0]);break;case F.reset:this.synth.stopAllChannels(),this.synth.resetAllControllers();break;default:T(`%cUnrecognized Event: %c${t.messageStatusByte}%c status byte: %c${Object.keys(F).find(I=>F[I]===e.status)}`,r.warn,r.unrecognized,r.warn,r.value);break}}function wn(){for(let t=0;t<16;t++)this.synth.createWorkletChannel(!0),t===SA&&this.synth.setDrums(this.synth.workletProcessorChannels.length-1,!0)}function No(t){return t.messageData.currentIndex=0,6e7/zA(t.messageData,3)}function Fn(){let t=this.currentTime;for(;this.playedTime1&&this.nextSong();return}let n=this.tracks[A][this.eventIndex[A]];if(this.playedTime+=this.oneTickToSeconds*(n.ticks-e.ticks),this.midiData.loop.end<=e.ticks&&this.loop&&this.currentLoopCount>0){this.currentLoopCount--,this.setTimeTicks(this.midiData.loop.start);return}else if(t>=this.duration){if(this.loop&&this.currentLoopCount>0){this.currentLoopCount--,this.setTimeTicks(this.midiData.loop.start);return}this.eventIndex[A]--,this.pause(!0),this.songs.length>1&&this.nextSong();return}}}function Rn(){let t=0,A=1/0;return this.tracks.forEach((e,n)=>{this.eventIndex[n]>=e.length||e[this.eventIndex[n]].ticks>>0}function Ee(t,A,e){for(let n=0;n>n*8&255}function J(t,A){t[t.currentIndex++]=A&255,t[t.currentIndex++]=A>>8}function lA(t,A){Ee(t,A,4)}function jA(t,A){let e=A<<8|t;return e>32767?e-65536:e}function Gn(t){return t>127?t-256:t}function V(t,A,e=void 0,n=!0){if(e){let s=t.slice(t.currentIndex,t.currentIndex+A);return t.currentIndex+=A,new TextDecoder(e.replace(/[^\x20-\x7E]/g,"")).decode(s.buffer)}else{let s=!1,o="";for(let I=0;I127){if(n){s=!0;continue}else if(C===0){s=!0;continue}}o+=String.fromCharCode(C)}}return o}}function FA(t,A,e=0){e>0&&A.length>e&&(A=A.slice(0,e));for(let n=0;nA.length)for(let n=0;ne.header!=="LIST"?!1:(e.chunkData.currentIndex=0,V(e.chunkData,4)===A))}function Xe(t){let A=0;for(;t;){let e=t[t.currentIndex++];if(A=A<<7|e&127,e>>7!==1)break}return A}var We={name:"INAM",album:"IPRD",artist:"IART",genre:"IGNR",picture:"IPIC",copyright:"ICOP",creationDate:"ICRD",comment:"ICMT",engineer:"IENG",software:"ISFT",encoding:"IENC",midiEncoding:"MENC",bankOffset:"DBNK"};var _e=class{constructor(){this.timeDivision=0,this.duration=0,this.tempoChanges=[{ticks:0,tempo:120}],this.copyright="",this.tracksAmount=0,this.lyrics=[],this.firstNoteOn=0,this.keyRange={min:0,max:127},this.lastVoiceEventTick=0,this.midiPorts=[0],this.midiPortChannelOffsets=[0],this.usedChannelsOnTrack=[],this.loop={start:0,end:0},this.midiName="",this.fileName="",this.rawMidiName=void 0,this.embeddedSoundFont=void 0,this.format=0,this.RMIDInfo={},this.bankOffset=0,this.tracks=[]}};function Be(t,A){let e=0;for(;t>0;){let n=A.tempoChanges.find(o=>o.ticksSt[t]=A<<7;dA(m.mainVolume,100);dA(m.balance,64);dA(m.expressionController,127);dA(m.pan,64);dA(m.timbreHarmonicContent,64);dA(m.releaseTime,64);dA(m.attackTime,64);dA(m.brightness,64);dA(m.soundController6,64);dA(m.soundController7,64);dA(m.soundController8,64);dA(m.soundController9,64);dA(m.generalPurposeController6,64);dA(m.generalPurposeController8,64);dA(EA+K.pitchWheel,64);dA(EA+K.pitchWheelRange,2);var gA={channelTuning:0,channelTransposeFine:1,modulationMultiplier:2,masterTuning:3,channelTuningSemitones:4},Dt=Object.keys(gA).length,kt=new Float32Array(Dt);kt[gA.modulationMultiplier]=1;var fA={Idle:0,RPCoarse:1,RPFine:2,NRPCoarse:3,NRPFine:4,DataCoarse:5,DataFine:6};function yn(t=!1){let A={midiControllers:new Int16Array(Ke),lockedControllers:Array(Ke).fill(!1),customControllers:new Float32Array(Dt),NRPCoarse:0,NRPFine:0,RPValue:0,dataEntryState:fA.Idle,voices:[],sustainedVoices:[],cachedVoices:[],preset:this.defaultPreset,presetUsesOverride:!1,channelTransposeKeyShift:0,channelOctaveTuning:new Int8Array(12),keyCentTuning:new Int16Array(128),channelVibrato:{delay:0,depth:0,rate:0},velocityOverride:0,lockGSNRPNParams:!1,holdPedal:!1,isMuted:!1,drumChannel:!1,lockPreset:!1};for(let e=0;e<128;e++)A.cachedVoices.push([]);this.workletProcessorChannels.push(A),this.resetControllers(this.workletProcessorChannels.length-1),this.sendChannelProperties(),t&&this.callEvent("newchannel",void 0)}var wt={velocityOverride:128};var Sn="spessasynth-worklet-system",Dn=350,SA=9,Ve=16,Oe="gs";var bA={loadNewSongList:0,pause:1,stop:2,play:3,setTime:4,changeMIDIMessageSending:5,setPlaybackRate:6,setLoop:7,changeSong:8,getMIDI:9,setSkipToFirstNote:10},wA={midiEvent:0,songChange:1,textEvent:2,timeChange:3,pause:4,getMIDI:5,midiError:6};function zA(t,A){let e=0;for(let n=8*(A-1);n>=0;n-=8)e|=t[t.currentIndex++]<>>0}function kn(t,A){if(this.ignoreEvents)return;if(this.sendMIDIMessages&&t.messageStatusByte>=128){this.sendMIDIMessage([t.messageStatusByte,...t.messageData]);return}let e=we(t.messageStatusByte),n=this.midiPortChannelOffsets[this.midiPorts[A]]||0;switch(e.channel+=n,e.status){case F.noteOn:let s=t.messageData[1];if(s>0)this.synth.noteOn(e.channel,t.messageData[0],s),this.playingNotes.push({midiNote:t.messageData[0],channel:e.channel,velocity:s});else{this.synth.noteOff(e.channel,t.messageData[0]);let I=this.playingNotes.findIndex(C=>C.midiNote===t.messageData[0]&&C.channel===e.channel);I!==-1&&this.playingNotes.splice(I,1)}break;case F.noteOff:this.synth.noteOff(e.channel,t.messageData[0]);let o=this.playingNotes.findIndex(I=>I.midiNote===t.messageData[0]&&I.channel===e.channel);o!==-1&&this.playingNotes.splice(o,1);break;case F.pitchBend:this.synth.pitchWheel(e.channel,t.messageData[1],t.messageData[0]);break;case F.controllerChange:this.synth.controllerChange(e.channel,t.messageData[0],t.messageData[1]);break;case F.programChange:this.synth.programChange(e.channel,t.messageData[0]);break;case F.polyPressure:this.synth.polyPressure(e.channel,t.messageData[0],t.messageData[1]);break;case F.channelPressure:this.synth.channelPressure(e.channel,t.messageData[0]);break;case F.systemExclusive:this.synth.systemExclusive(t.messageData,n);break;case F.setTempo:this.oneTickToSeconds=60/(No(t)*this.midiData.timeDivision),this.oneTickToSeconds===0&&(this.oneTickToSeconds=60/(120*this.midiData.timeDivision),T("invalid tempo! falling back to 120 BPM"));break;case F.timeSignature:case F.endOfTrack:case F.midiChannelPrefix:case F.songPosition:case F.activeSensing:case F.keySignature:case F.sequenceNumber:case F.sequenceSpecific:break;case F.text:case F.lyric:case F.copyright:case F.trackName:case F.marker:case F.cuePoint:case F.instrumentName:case F.programName:this.post(wA.textEvent,[t.messageData,e.status]);break;case F.midiPort:this.assignMIDIPort(A,t.messageData[0]);break;case F.reset:this.synth.stopAllChannels(),this.synth.resetAllControllers();break;default:T(`%cUnrecognized Event: %c${t.messageStatusByte}%c status byte: %c${Object.keys(F).find(I=>F[I]===e.status)}`,r.warn,r.unrecognized,r.warn,r.value);break}}function wn(){for(let t=0;t<16;t++)this.synth.createWorkletChannel(!0),t===SA&&this.synth.setDrums(this.synth.workletProcessorChannels.length-1,!0)}function No(t){return t.messageData.currentIndex=0,6e7/zA(t.messageData,3)}function Fn(){let t=this.currentTime;for(;this.playedTime1&&this.nextSong();return}let n=this.tracks[A][this.eventIndex[A]];if(this.playedTime+=this.oneTickToSeconds*(n.ticks-e.ticks),this.midiData.loop.end<=e.ticks&&this.loop&&this.currentLoopCount>0){this.currentLoopCount--,this.setTimeTicks(this.midiData.loop.start);return}else if(t>=this.duration){if(this.loop&&this.currentLoopCount>0){this.currentLoopCount--,this.setTimeTicks(this.midiData.loop.start);return}this.eventIndex[A]--,this.pause(!0),this.songs.length>1&&this.nextSong();return}}}function Rn(){let t=0,A=1/0;return this.tracks.forEach((e,n)=>{this.eventIndex[n]>=e.length||e[this.eventIndex[n]].ticks>>0}function Ee(t,A,e){for(let n=0;n>n*8&255}function J(t,A){t[t.currentIndex++]=A&255,t[t.currentIndex++]=A>>8}function lA(t,A){Ee(t,A,4)}function jA(t,A){let e=A<<8|t;return e>32767?e-65536:e}function Gn(t){return t>127?t-256:t}function V(t,A,e=void 0,n=!0){if(e){let s=t.slice(t.currentIndex,t.currentIndex+A);return t.currentIndex+=A,new TextDecoder(e.replace(/[^\x20-\x7E]/g,"")).decode(s.buffer)}else{let s=!1,o="";for(let I=0;I127){if(n){s=!0;continue}else if(C===0){s=!0;continue}}o+=String.fromCharCode(C)}}return o}}function FA(t,A,e=0){e>0&&A.length>e&&(A=A.slice(0,e));for(let n=0;nA.length)for(let n=0;ne.header!=="LIST"?!1:(e.chunkData.currentIndex=0,V(e.chunkData,4)===A))}function Xe(t){let A=0;for(;t;){let e=t[t.currentIndex++];if(A=A<<7|e&127,e>>7!==1)break}return A}var We={name:"INAM",album:"IPRD",artist:"IART",genre:"IGNR",picture:"IPIC",copyright:"ICOP",creationDate:"ICRD",comment:"ICMT",engineer:"IENG",software:"ISFT",encoding:"IENC",midiEncoding:"MENC",bankOffset:"DBNK"};var _e=class{constructor(){this.timeDivision=0,this.duration=0,this.tempoChanges=[{ticks:0,tempo:120}],this.copyright="",this.tracksAmount=0,this.lyrics=[],this.firstNoteOn=0,this.keyRange={min:0,max:127},this.lastVoiceEventTick=0,this.midiPorts=[0],this.midiPortChannelOffsets=[0],this.usedChannelsOnTrack=[],this.loop={start:0,end:0},this.midiName="",this.fileName="",this.rawMidiName=void 0,this.embeddedSoundFont=void 0,this.format=0,this.RMIDInfo={},this.bankOffset=0,this.tracks=[]}};function Be(t,A){let e=0;for(;t>0;){let n=A.tempoChanges.find(o=>o.ticks0&&(b+=this.tracks[S-1][this.tracks[S-1].length-1].ticks);w.data.currentIndexthis.lastVoiceEventTick&&(this.lastVoiceEventTick=b),_=cn[i>>4],(i&240)===F.noteOn){G.add(sA);let rA=w.data[w.data.currentIndex];this.keyRange.min=Math.min(this.keyRange.min,rA),this.keyRange.max=Math.max(this.keyRange.max,rA)}x=i;break}let v=new Y(_),z=w.data.slice(w.data.currentIndex,w.data.currentIndex+_);w.data.currentIndex+=_,v.set(z,0);let oA=new Ie(b,i,v);switch(k.push(oA),sA){case-2:switch(i){case F.setTempo:this.tempoChanges.push({ticks:b,tempo:6e7/zA(z,3)});break;case F.marker:switch(V(v,v.length).trim().toLowerCase()){default:break;case"start":case"loopstart":d=b;break;case"loopend":c=b}v.currentIndex=0;break;case F.midiPort:let CA=v[0];this.midiPorts[S]=CA,this.midiPortChannelOffsets[CA]===void 0&&(this.midiPortChannelOffsets[CA]=l,l+=16);break;case F.copyright:o||(this.copyright+=V(v,v.length,void 0,!1)+` `);break;case F.lyric:this.lyrics.push(v)}break;case-3:if(v.slice(0,7).every((rA,CA)=>bo[CA]===rA)){let rA=v.slice(7,z.length-3),CA=V(rA,rA.length)+` diff --git a/src/website/minified/demo_main.min.js b/src/website/minified/demo_main.min.js index 848305b9..22c6ff99 100644 --- a/src/website/minified/demo_main.min.js +++ b/src/website/minified/demo_main.min.js @@ -6,7 +6,7 @@ var EC=(o=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(o,{get:(r,l)=>( Transform type: ${this.transformType} -`}},NB=960,GB=Gr.concave;function Nr(o,r,l,g,f){return o<<10|r<<9|l<<8|g<<7|f}var pC=[new oe({srcEnum:Nr(GB,0,1,0,Ft.noteOnVelocity),dest:v1.initialAttenuation,amt:NB,secSrcEnum:0,transform:0}),new oe({srcEnum:129,dest:v1.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new oe({srcEnum:Nr(GB,0,1,1,B3.mainVolume),dest:v1.initialAttenuation,amt:NB,secSrcEnum:0,transform:0}),new oe({srcEnum:13,dest:v1.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new oe({srcEnum:526,dest:v1.fineTune,amt:12700,secSrcEnum:16,transform:0}),new oe({srcEnum:650,dest:v1.pan,amt:1e3,secSrcEnum:0,transform:0}),new oe({srcEnum:Nr(GB,0,1,1,B3.expressionController),dest:v1.initialAttenuation,amt:NB,secSrcEnum:0,transform:0}),new oe({srcEnum:219,dest:v1.reverbEffectsSend,amt:750,secSrcEnum:0,transform:0}),new oe({srcEnum:221,dest:v1.chorusEffectsSend,amt:750,secSrcEnum:0,transform:0}),new oe({srcEnum:Nr(Gr.linear,0,0,0,Ft.polyPressure),dest:v1.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new oe({srcEnum:Nr(Gr.linear,0,0,1,B3.tremoloDepth),dest:v1.modLfoToVolume,amt:24,secSrcEnum:0,transform:0}),new oe({srcEnum:Nr(Gr.linear,1,0,1,B3.releaseTime),dest:v1.releaseVolEnv,amt:1200,secSrcEnum:0,transform:0}),new oe({srcEnum:Nr(Gr.linear,1,0,1,B3.brightness),dest:v1.initialFilterFc,amt:6e3,secSrcEnum:0,transform:0}),new oe({srcEnum:Nr(Gr.linear,1,0,1,B3.timbreHarmonicContent),dest:v1.initialFilterQ,amt:250,secSrcEnum:0,transform:0})];var C$=128,ry=147,Ub=new Int16Array(ry).fill(0),ni=(o,r)=>Ub[o]=r<<7;ni(B3.mainVolume,100);ni(B3.balance,64);ni(B3.expressionController,127);ni(B3.pan,64);ni(B3.timbreHarmonicContent,64);ni(B3.releaseTime,64);ni(B3.attackTime,64);ni(B3.brightness,64);ni(B3.soundController6,64);ni(B3.soundController7,64);ni(B3.soundController8,64);ni(B3.soundController9,64);ni(B3.generalPurposeController6,64);ni(B3.generalPurposeController8,64);ni(C$+Ft.pitchWheel,64);ni(C$+Ft.pitchWheelRange,2);var QC={channelTuning:0,channelTransposeFine:1,modulationMultiplier:2,masterTuning:3,channelTuningSemitones:4},ny=Object.keys(QC).length,Pb=new Float32Array(ny);Pb[QC.modulationMultiplier]=1;var sy={velocityOverride:128};var Ob="spessasynth-worklet-system",UB=350,Di=9,qb=16;var ch=class{constructor(r,l,g=!0,f=void 0,S=iy){Y5("%cInitializing SpessaSynth synthesizer...",_1.info),this.context=r.context;let n0=f?.oneOutput===!0;this.eventHandler=new mC,this._voiceCap=UB,this._outputsAmount=qb,this.channelsAmount=this._outputsAmount,this.resolveWhenReady=void 0,this.isReady=new Promise(g0=>this.resolveWhenReady=g0),this.channelProperties=[];for(let g0=0;g0this.handleMessage(g0.data),this.soundfontManager=new BC(this),this._snapshotCallback=void 0,this.sequencerCallbackFunction=void 0,S.reverbEnabled&&!n0&&(this.reverbProcessor=ty(this.context,S.reverbImpulseResponse),this.reverbProcessor.connect(r),this.worklet.connect(this.reverbProcessor,0)),S.chorusEnabled&&!n0&&(this.chorusProcessor=new CC(r,S.chorusConfig),this.worklet.connect(this.chorusProcessor.input,1)),n0)this.worklet.connect(r,0);else for(let g0=2;g0{this.channelsAmount++})}get voiceCap(){return this._voiceCap}set voiceCap(r){this._setMasterParam(Qm.voicesCap,r),this._voiceCap=r}get highPerformanceMode(){return this._highPerformanceMode}set highPerformanceMode(r){this._highPerformanceMode=r}get currentTime(){return this.context.currentTime}get voicesAmount(){return this._voicesAmount}setLogLevel(r,l,g,f){this.post({channelNumber:Ci,messageType:c8.setLogLevel,messageData:[r,l,g,f]})}_setMasterParam(r,l){this.post({channelNumber:Ci,messageType:c8.setMasterParameter,messageData:[r,l]})}setInterpolationType(r){this._setMasterParam(Qm.interpolationType,r)}handleMessage(r){let l=r.messageData;switch(r.messageType){case m$.channelProperties:this.channelProperties=l,this._voicesAmount=this.channelProperties.reduce((g,f)=>g+f.voicesAmount,0);break;case m$.eventCall:this.eventHandler.callEvent(l.eventName,l.eventData);break;case m$.sequencerSpecific:this.sequencerCallbackFunction&&this.sequencerCallbackFunction(l.messageType,l.messageData);break;case m$.synthesizerSnapshot:this._snapshotCallback&&this._snapshotCallback(l);break;case m$.ready:this.resolveWhenReady();break;case m$.soundfontError:x4(new Error(l)),this.eventHandler.callEvent("soundfonterror",l);break}}async getSynthesizerSnapshot(){return new Promise(r=>{this._snapshotCallback=l=>{this._snapshotCallback=void 0,r(l)},this.post({messageType:c8.requestSynthesizerSnapshot,messageData:void 0,channelNumber:Ci})})}addNewChannel(r=!0){this.channelProperties.push({voicesAmount:0,pitchBend:0,pitchBendRangeSemitones:0,isMuted:!1,isDrum:!1}),r&&this.post({channelNumber:0,messageType:c8.addNewChannel,messageData:null})}setVibrato(r,l){this.post({channelNumber:r,messageType:c8.setChannelVibrato,messageData:l})}connectIndividualOutputs(r){if(r.length!==this._outputsAmount)throw new Error(`input nodes amount differs from the system's outputs amount! +`}},NB=960,GB=Gr.concave;function Nr(o,r,l,g,f){return o<<10|r<<9|l<<8|g<<7|f}var pC=[new oe({srcEnum:Nr(GB,0,1,0,Ft.noteOnVelocity),dest:v1.initialAttenuation,amt:NB,secSrcEnum:0,transform:0}),new oe({srcEnum:129,dest:v1.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new oe({srcEnum:Nr(GB,0,1,1,B3.mainVolume),dest:v1.initialAttenuation,amt:NB,secSrcEnum:0,transform:0}),new oe({srcEnum:13,dest:v1.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new oe({srcEnum:526,dest:v1.fineTune,amt:12700,secSrcEnum:16,transform:0}),new oe({srcEnum:650,dest:v1.pan,amt:500,secSrcEnum:0,transform:0}),new oe({srcEnum:Nr(GB,0,1,1,B3.expressionController),dest:v1.initialAttenuation,amt:NB,secSrcEnum:0,transform:0}),new oe({srcEnum:219,dest:v1.reverbEffectsSend,amt:750,secSrcEnum:0,transform:0}),new oe({srcEnum:221,dest:v1.chorusEffectsSend,amt:750,secSrcEnum:0,transform:0}),new oe({srcEnum:Nr(Gr.linear,0,0,0,Ft.polyPressure),dest:v1.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new oe({srcEnum:Nr(Gr.linear,0,0,1,B3.tremoloDepth),dest:v1.modLfoToVolume,amt:24,secSrcEnum:0,transform:0}),new oe({srcEnum:Nr(Gr.linear,1,0,1,B3.releaseTime),dest:v1.releaseVolEnv,amt:1200,secSrcEnum:0,transform:0}),new oe({srcEnum:Nr(Gr.linear,1,0,1,B3.brightness),dest:v1.initialFilterFc,amt:6e3,secSrcEnum:0,transform:0}),new oe({srcEnum:Nr(Gr.linear,1,0,1,B3.timbreHarmonicContent),dest:v1.initialFilterQ,amt:250,secSrcEnum:0,transform:0})];var C$=128,ry=147,Ub=new Int16Array(ry).fill(0),ni=(o,r)=>Ub[o]=r<<7;ni(B3.mainVolume,100);ni(B3.balance,64);ni(B3.expressionController,127);ni(B3.pan,64);ni(B3.timbreHarmonicContent,64);ni(B3.releaseTime,64);ni(B3.attackTime,64);ni(B3.brightness,64);ni(B3.soundController6,64);ni(B3.soundController7,64);ni(B3.soundController8,64);ni(B3.soundController9,64);ni(B3.generalPurposeController6,64);ni(B3.generalPurposeController8,64);ni(C$+Ft.pitchWheel,64);ni(C$+Ft.pitchWheelRange,2);var QC={channelTuning:0,channelTransposeFine:1,modulationMultiplier:2,masterTuning:3,channelTuningSemitones:4},ny=Object.keys(QC).length,Pb=new Float32Array(ny);Pb[QC.modulationMultiplier]=1;var sy={velocityOverride:128};var Ob="spessasynth-worklet-system",UB=350,Di=9,qb=16;var ch=class{constructor(r,l,g=!0,f=void 0,S=iy){Y5("%cInitializing SpessaSynth synthesizer...",_1.info),this.context=r.context;let n0=f?.oneOutput===!0;this.eventHandler=new mC,this._voiceCap=UB,this._outputsAmount=qb,this.channelsAmount=this._outputsAmount,this.resolveWhenReady=void 0,this.isReady=new Promise(g0=>this.resolveWhenReady=g0),this.channelProperties=[];for(let g0=0;g0this.handleMessage(g0.data),this.soundfontManager=new BC(this),this._snapshotCallback=void 0,this.sequencerCallbackFunction=void 0,S.reverbEnabled&&!n0&&(this.reverbProcessor=ty(this.context,S.reverbImpulseResponse),this.reverbProcessor.connect(r),this.worklet.connect(this.reverbProcessor,0)),S.chorusEnabled&&!n0&&(this.chorusProcessor=new CC(r,S.chorusConfig),this.worklet.connect(this.chorusProcessor.input,1)),n0)this.worklet.connect(r,0);else for(let g0=2;g0{this.channelsAmount++})}get voiceCap(){return this._voiceCap}set voiceCap(r){this._setMasterParam(Qm.voicesCap,r),this._voiceCap=r}get highPerformanceMode(){return this._highPerformanceMode}set highPerformanceMode(r){this._highPerformanceMode=r}get currentTime(){return this.context.currentTime}get voicesAmount(){return this._voicesAmount}setLogLevel(r,l,g,f){this.post({channelNumber:Ci,messageType:c8.setLogLevel,messageData:[r,l,g,f]})}_setMasterParam(r,l){this.post({channelNumber:Ci,messageType:c8.setMasterParameter,messageData:[r,l]})}setInterpolationType(r){this._setMasterParam(Qm.interpolationType,r)}handleMessage(r){let l=r.messageData;switch(r.messageType){case m$.channelProperties:this.channelProperties=l,this._voicesAmount=this.channelProperties.reduce((g,f)=>g+f.voicesAmount,0);break;case m$.eventCall:this.eventHandler.callEvent(l.eventName,l.eventData);break;case m$.sequencerSpecific:this.sequencerCallbackFunction&&this.sequencerCallbackFunction(l.messageType,l.messageData);break;case m$.synthesizerSnapshot:this._snapshotCallback&&this._snapshotCallback(l);break;case m$.ready:this.resolveWhenReady();break;case m$.soundfontError:x4(new Error(l)),this.eventHandler.callEvent("soundfonterror",l);break}}async getSynthesizerSnapshot(){return new Promise(r=>{this._snapshotCallback=l=>{this._snapshotCallback=void 0,r(l)},this.post({messageType:c8.requestSynthesizerSnapshot,messageData:void 0,channelNumber:Ci})})}addNewChannel(r=!0){this.channelProperties.push({voicesAmount:0,pitchBend:0,pitchBendRangeSemitones:0,isMuted:!1,isDrum:!1}),r&&this.post({channelNumber:0,messageType:c8.addNewChannel,messageData:null})}setVibrato(r,l){this.post({channelNumber:r,messageType:c8.setChannelVibrato,messageData:l})}connectIndividualOutputs(r){if(r.length!==this._outputsAmount)throw new Error(`input nodes amount differs from the system's outputs amount! Expected ${this._outputsAmount} got ${r.length}`);for(let l=0;l127||l<0)throw new Error(`Invalid controller number: ${l}`);g=Math.floor(g),l=Math.floor(l),this.post({channelNumber:r,messageType:c8.ccChange,messageData:[l,g,f]})}resetControllers(){this.post({channelNumber:Ci,messageType:c8.ccReset,messageData:void 0})}channelPressure(r,l){this.post({channelNumber:r,messageType:c8.channelPressure,messageData:l})}polyPressure(r,l,g){this.post({channelNumber:r,messageType:c8.polyPressure,messageData:[l,g]})}post(r){this.worklet.port.postMessage(r)}pitchWheel(r,l,g){this.post({channelNumber:r,messageType:c8.pitchWheel,messageData:[l,g]})}transpose(r){this.transposeChannel(Ci,r,!1)}transposeChannel(r,l,g=!1){this.post({channelNumber:r,messageType:c8.transpose,messageData:[l,g]})}setMainVolume(r){this._setMasterParam(Qm.mainVolume,r)}setMasterPan(r){this._setMasterParam(Qm.masterPan,r)}setPitchBendRange(r,l){this.controllerChange(r,B3.RPNMsb,0),this.controllerChange(r,B3.dataEntryMsb,l),this.controllerChange(r,B3.RPNMsb,127),this.controllerChange(r,B3.RPNLsb,127),this.controllerChange(r,B3.dataEntryMsb,0)}programChange(r,l,g=!1){this.post({channelNumber:r,messageType:c8.programChange,messageData:[l,g]})}velocityOverride(r,l){this.post({channelNumber:r,messageType:c8.ccChange,messageData:[sy.velocityOverride,l,!0]})}lockController(r,l,g){this.post({channelNumber:r,messageType:c8.lockController,messageData:[l,g]})}muteChannel(r,l){this.post({channelNumber:r,messageType:c8.muteChannel,messageData:l})}async reloadSoundFont(r){x4("reloadSoundFont is deprecated. Please use the soundfontManager property instead."),await this.soundfontManager.reloadManager(r)}systemExclusive(r){this.post({channelNumber:Ci,messageType:c8.systemExclusive,messageData:Array.from(r)})}setDrums(r,l){this.post({channelNumber:r,messageType:c8.setDrums,messageData:l})}sendMessage(r){let l=ey(r[0]);switch(l.status){case K3.noteOn:let g=r[2];g>0?this.noteOn(l.channel,r[1],g):this.noteOff(l.channel,r[1]);break;case K3.noteOff:this.noteOff(l.channel,r[1]);break;case K3.pitchBend:this.pitchWheel(l.channel,r[2],r[1]);break;case K3.controllerChange:this.controllerChange(l.channel,r[1],r[2]);break;case K3.programChange:this.programChange(l.channel,r[1]);break;case K3.polyPressure:this.polyPressure(l.channel,r[0],r[1]);break;case K3.channelPressure:this.channelPressure(l.channel,r[1]);break;case K3.systemExclusive:this.systemExclusive(new V3(r.slice(1)));break;case K3.reset:this.stopAll(!0),this.resetControllers();break;default:break}}reverbateEverythingBecauseWhyNot(){for(let r=0;r{this.pressedKeys.delete(g),this.releaseNote(g,this.channel),this.synth.noteOff(this.channel,g)},r=(g,f)=>{let S;if(bn)S=127;else{let E0=this.keys[0].getBoundingClientRect();if(this.keyboard.classList.contains("sideways")){let m0=f.clientX-E0.left,g0=E0.width;S=Math.floor((g0-m0)/g0*127)}else{let m0=f.clientY-E0.top,g0=E0.height;S=Math.floor(m0/g0*127)}}this.synth.noteOn(this.channel,g,S,this.enableDebugging)},l=g=>{let f=g.touches?Array.from(g.touches):[g],S=new Set;f.forEach(n0=>{let E0=document.elementFromPoint(n0.clientX,n0.clientY),m0=parseInt(E0.id.replace("note",""));S.add(m0),!(isNaN(m0)||m0<0||this.pressedKeys.has(m0))&&(this.pressedKeys.add(m0),r(m0,n0))}),this.pressedKeys.forEach(n0=>{S.has(n0)||o(n0)})};bn||(document.addEventListener("mousedown",g=>{this.mouseHeld=!0,l(g)}),document.addEventListener("mouseup",()=>{this.mouseHeld=!1,this.pressedKeys.forEach(g=>{o(g)})}),this.keyboard.onmousemove=g=>{this.mouseHeld&&l(g)},this.keyboard.onmouseleave=()=>{this.pressedKeys.forEach(g=>{o(g)})}),this.keyboard.ontouchstart=l.bind(this),this.keyboard.ontouchend=l.bind(this),this.keyboard.ontouchmove=l.bind(this)}var Ay=20,wm=class{constructor(r,l){this.mouseHeld=!1,this.pressedKeys=new Set,this.mode="light",this.enableDebugging=!1,this.sizeChangeAnimationId=-1,this.modeChangeAnimationId=-1,this._keyRange={min:0,max:127},document.addEventListener("keydown",g=>{g.key==="Shift"&&(this.synth.controllerChange(this.channel,B3.sustainPedal,127),this.keyboard.style.filter="brightness(0.5)")}),document.addEventListener("keyup",g=>{g.key==="Shift"&&(this.synth.controllerChange(this.channel,B3.sustainPedal,0),this.keyboard.style.filter="")}),this.synth=l,this.channel=0,this.channelColors=r,this._shown=!0,this._createKeyboard(),this.synth.eventHandler.addEvent("noteon","keyboard-note-on",g=>{this.pressNote(g.midiNote,g.channel,g.velocity)}),this.synth.eventHandler.addEvent("noteoff","keyboard-note-off",g=>{this.releaseNote(g.midiNote,g.channel)}),this.synth.eventHandler.addEvent("stopall","keyboard-stop-all",()=>{this.clearNotes()}),this.synth.eventHandler.addEvent("mutechannel","keyboard-mute-channel",g=>{if(g.isMuted)for(let f=0;f<128;f++)this.releaseNote(f,g.channel)})}get shown(){return this._shown}set shown(r){r===!0?this.keyboard.style.display="":this.keyboard.style.display="none",this._shown=r}get keyRange(){return this._keyRange}set keyRange(r){if(r.max===void 0||r.min===void 0)throw new TypeError("No min or max property!");if(r.min>r.max){let l=r.min;r.min=r.max,r.max=l}r.min=Math.max(0,r.min),r.max=Math.min(127,r.max),this.setKeyRange(r,!0)}_createKeyboard(){this.keyboard=document.getElementById("keyboard"),this.keyboard.innerHTML="",this.keys=[],this.keyColors=[];for(let r=this._keyRange.min;r=0&&(S=l(r-1)),r<127&&(n0=l(r+1)),n0&&S?g.classList.add("between_sharps"):S?g.classList.add("left_sharp"):n0&&g.classList.add("right_sharp")}return g}toggleMode(r=!0){if(this.mode==="light"?this.mode="dark":this.mode="light",!r){this.keys.forEach(g=>{g.classList.contains("flat_key")&&g.classList.toggle("flat_dark_key")});return}this.modeChangeAnimationId&&clearTimeout(this.modeChangeAnimationId),this.keyboard.classList.add("mode_transform"),document.body.scrollHeight<=window.innerHeight&&document.body.classList.add("no_scroll"),this.modeChangeAnimationId=setTimeout(()=>{this.keys.forEach(g=>{g.classList.contains("flat_key")&&g.classList.toggle("flat_dark_key")}),this.keyboard.classList.remove("mode_transform"),setTimeout(()=>document.body.classList.remove("no_scroll"),500)},500)}setKeyRange(r,l=!0){Math.abs(r.max-r.min)<12&&(r.min-=6,r.max=r.min+12);let f=900/(r.max-r.min+5),S=document.styleSheets[0].cssRules,n0;for(let E0 of S)if(E0.selectorText==="#keyboard .key"){n0=E0;break}if(n0.style.setProperty("--pressed-transform-skew",`${8e-4/(f/7)}`),l){this.sizeChangeAnimationId&&clearTimeout(this.sizeChangeAnimationId);let E0=getComputedStyle(this.keyboard),m0=parseFloat(E0.getPropertyValue("--current-min-height").replace(/[^\d.]+/g,"")),g0=this.keyboard.getBoundingClientRect().height,f1=f/m0,x=g0*f1-g0,X0=(this._keyRange.min+this._keyRange.max)/2,F0=(r.min+r.max)/2;this._keyRange=r;let b1=this.keys.find(Y2=>Y2.classList.contains("sharp_key")).getBoundingClientRect().width,l2=(X0-F0)*b1,y1=parseFloat(E0.getPropertyValue("--key-border-radius").replace(/[^\d.]+/g,""));this.keyboard.style.marginTop=`${x}px`,this.keyboard.style.transition="",this.keyboard.style.transform=`scale(${f1}) translateX(${l2}px)`,this.keyboard.style.setProperty("--key-border-radius",`${y1/f1}vmin`),this.sizeChangeAnimationId=setTimeout(()=>{this.keyboard.style.setProperty("--current-min-height",`${f}`),this.keyboard.style.transition="none",this.keyboard.style.transform="",this.keyboard.style.marginTop="",this.keyboard.style.setProperty("--key-border-radius",""),this._createKeyboard(),setTimeout(()=>this.keyboard.style.transition="",75)},500)}else this.keyboard.style.setProperty("--current-min-height",`${f}`),this._keyRange=r,this._createKeyboard()}selectChannel(r){this.channel=r}pressNote(r,l,g){let f=this.keys[r-this._keyRange.min];if(f===void 0)return;f.classList.add("pressed");let S=f.classList.contains("sharp_key"),n0=g/127,E0=this.channelColors[l%16].match(/\d+(\.\d+)?/g).map(parseFloat),m0;if(!S&&this.mode==="light"?m0=`rgba(${E0.slice(0,3).map(f1=>255-(255-f1)*n0).join(", ")}, ${E0[3]})`:m0=`rgba(${E0.slice(0,3).map(f1=>f1*n0).join(", ")}, ${E0[3]})`,f.style.background=m0,this.mode==="dark"){let g0=Ay*n0;f.style.boxShadow=`${m0} 0px 0px ${g0}px ${g0/5}px`}this.keyColors[r-this._keyRange.min].push(this.channelColors[l%16])}releaseNote(r,l){let g=this.keys[r-this._keyRange.min];if(g===void 0)return;l%=this.channelColors.length;let f=this.keyColors[r-this._keyRange.min];if(!f)return;let S=f.findLastIndex(n0=>n0===this.channelColors[l]);S!==-1&&(f.splice(S,1),g.style.background=f[f.length-1],this.mode==="dark"&&(g.style.boxShadow=`0px 0px ${Ay}px ${f[f.length-1]}`),f.length<1&&(g.classList.remove("pressed"),g.style.background="",g.style.boxShadow=""))}clearNotes(){this.keys.forEach((r,l)=>{r.classList.remove("pressed"),r.style.background="",r.style.boxShadow="",this.keyColors[l]=[]})}};wm.prototype._handlePointers=oy;function B$(o,r){let l=o.replace(/[^\d,]/g,"").split(",");return`rgb(${r(parseInt(l[0]))}, ${r(parseInt(l[1]))}, ${r(parseInt(l[2]))})`}var Yb="#000";function ay(o,r,l){o.forEach(g=>{if(g.pressedProgress===0)return;r.fillStyle=g.color;let f=g.pressedProgress*g.velocity;if(r.globalAlpha=.5*f,l){r.fillRect(g.xPos,g.yPos-g.height*f,g.width,g.height*(f*2+1)),r.globalAlpha=1;return}r.fillRect(g.xPos-g.width*f,g.yPos,g.width*(f*2+1),g.height),r.globalAlpha=1}),o.forEach(g=>{r.fillStyle=g.color,r.save(),r.translate(g.xPos,g.yPos),r.fillRect(0,0,g.width,g.height),r.restore(),r.strokeStyle=Yb,r.lineWidth=g.stroke,r.strokeRect(g.xPos,g.yPos,g.width,g.height)})}var PB=!1;function $y(o=!0,r=!1){let l=(this.seq===void 0||this?.seq?.paused===!0)&&this.synth.voicesAmount===0&&!r;if(!this.renderBool||l)if(PB){o&&requestAnimationFrame(this.render.bind(this));return}else PB=!0;else PB=!1;if(o&&this.drawingContext.clearRect(0,0,this.canvas.width,this.canvas.height),this.renderAnalysers&&!this.synth.highPerformanceMode&&this.renderWaveforms(),this.renderNotes&&this.noteTimes){let S=this.computeNotePositions(this.synth.highPerformanceMode);this.synth.highPerformanceMode||ay(S,this.drawingContext,this.sideways)}let g=performance.now()-this.frameTimeStart;this.frameTimeStart=performance.now();let f=1e3/g;this.drawingContext.textBaseline="hanging",this.drawingContext.textAlign="end",this.drawingContext.font=`${yC}px system-ui`,this.drawingContext.fillStyle="white",this.drawingContext.strokeStyle="white",this.drawingContext.fillText(`${this.notesOnScreen} notes`,this.canvas.width,yC*2+5),this.drawingContext.fillText(this.version,this.canvas.width,5),this.drawingContext.fillText(Math.round(f).toString()+" FPS",this.canvas.width,yC+5),this.onRender&&this.onRender(),o&&requestAnimationFrame(this.render.bind(this))}function ly(o=!1){this.notesOnScreen=0;let r=this.sideways?this.canvas.height:this.canvas.width,l=this.sideways?this.canvas.width:this.canvas.height,g=this.keyRange.max-this.keyRange.min,f=r/(g+1),S=f-Q$*2,n0=this.noteFallingTimeMs/1e3,E0=this.noteAfterTriggerTimeMs/1e3,m0=this.seq.currentHighResolutionTime,g0=m0-E0,f1=n0+E0,x=g0+f1,X0=gy/f1,F0=[];this.synth.channelProperties.forEach(l2=>{if(this.showVisualPitch){let y1=l2.pitchBend-8192+this.visualPitchBendOffset;F0.push(l2.pitchBendRangeSemitones*(y1/8192*f))}else F0.push(0)});let b1=[];return this.noteTimes.forEach((l2,y1)=>{if(l2.renderStartIndex>=l2.notes.length||!this.renderChannels[y1])return;let Y2=l2.renderStartIndex,T2=l2.notes,V2=T2[Y2],i3=-1;for(;V2.start<=x&&(Y2++,!(this.notesOnScreen>hy));){let r3=V2.start+V2.length;if(r3>g0&&V2.length>0){let A0=V2.length/f1*l-Q$*2;if(this.notesOnScreen<1e3||A0>X0){i3===-1&&(i3=Y2-1);let y5=(V2.start-g0)/f1*l,T3;if(this._notesFall?T3=l-A0-y5+Q$:T3=y5+Q$,V2.midiNotethis.keyRange.max){if(Y2>=T2.length)break;V2=T2[Y2];continue}let $3=V2.midiNote-this.keyRange.min,w6=f*$3+Q$,s6,o9,V4,r4;if(this.sideways?(s6=T3,o9=w6,r4=S,V4=A0):(o9=T3,s6=w6,V4=S,r4=A0),this.notesOnScreen++,o)this.drawingContext.fillStyle=this.plainColors[y1],this.drawingContext.fillRect(s6+p$+Q$,o9+p$,V4-p$*2,r4-p$*2);else{let V6;if(V2.start>m0||r3=T2.length)break;V2=T2[Y2]}i3>-1&&(l2.renderStartIndex=i3)}),b1.sort((l2,y1)=>y1.height-l2.height),b1}function uy(){let o=this.canvas.width/4,r=this.canvas.height/4;this.channelAnalysers.forEach((l,g)=>{let f=g%4,S=Math.floor(g/4),n0=!1;for(let x=g;x0){n0=!0;break}if(!n0){let x=this.canvas.width/4,X0=this.canvas.height/4,F0=x*f,b1=X0*S+X0/2;this.drawingContext.lineWidth=this.lineThickness,this.drawingContext.strokeStyle=this.channelColors[g],this.drawingContext.beginPath(),this.drawingContext.moveTo(F0,b1),this.drawingContext.lineTo(F0+x,b1),this.drawingContext.stroke();return}let E0=new Float32Array(l.frequencyBinCount);l.getFloatTimeDomainData(E0);let m0=o*f,g0=r*S+r/2,f1=this.waveMultiplier*r;if(this.drawingContext.lineWidth=this.lineThickness,this.drawingContext.strokeStyle=this.channelColors[g],this.drawingContext.beginPath(),this._stabilizeWaveforms){let x=E0.length/4,X0=o/x,F0=Math.floor(x/2),b1=E0.length-F0;for(let T2=b1;T2>=1;T2--)if(E0[T2-1]<0&&E0[T2]>=0){b1=T2;break}let l2=m0,y1=b1-F0,Y2=b1+F0;for(let T2=y1;T2{this.renderChannels[r.channel]=!r.isMuted}),this.updateFftSize()}function Iy(){for(let o=0;o4096?this.delayNode.delayTime.value=f/this.synth.context.sampleRate/2:this.delayNode.delayTime.value=0)}}function Ey(o){o.connectIndividualOutputs(this.channelAnalysers),o.eventHandler.addEvent("drumchange","renderer-drum-change",()=>{this.updateFftSize()})}function my(){for(let o of this.channelAnalysers)o.disconnect();Y5("%cAnalysers disconnected!",_1.recognized)}function Cy(o){this.seq=o,this.seq.addOnTimeChangeEvent(()=>this.resetIndexes(),"renderer-time-change"),this.seq.addOnSongChangeEvent(async r=>{if(this.calculateNoteTimes(await this.seq.getMIDI()),this.resetIndexes(),r.RMIDInfo?.IPIC!==void 0){let l=new Blob([r.RMIDInfo?.IPIC.buffer]),g=URL.createObjectURL(l),f=this.canvas.classList.contains("light_mode")?0:.9;this.canvas.style.background=`linear-gradient(rgba(0, 0, 0, ${f}), rgba(0, 0, 0, ${f})), center center / cover url("${g}")`}else this.canvas.style.background=""},"renderer-song-change")}function By(){this.noteTimes&&this.noteTimes.forEach(o=>o.renderStartIndex=0)}function OB(o,r){let l=0;for(let g=8*(r-1);g>=0;g-=8)l|=o[o.currentIndex++]<>>0}function km(o,r){let l=new Array(r).fill(0);for(let g=r-1;g>=0;g--)l[g]=o&255,o>>=8;return l}var gh=.02;function py(o){function r(g0){return g0.messageData=new V3(g0.messageData.buffer),g0.messageData.currentIndex=0,6e7/OB(g0.messageData,3)}let l=[],f=o.tracks.flat();f.sort((g0,f1)=>g0.ticks-f1.ticks);for(let g0=0;g0<16;g0++)l.push({renderStartIndex:0,notes:[]});let S=0,n0=60/(120*o.timeDivision),E0=0,m0=0;for(;E0>4,x=g0.messageStatusByte&15;if(f1===8){let X0=l[x].notes.findLast(F0=>F0.midiNote===g0.messageData[0]&&F0.length===-1);if(X0){let F0=S-X0.start;X0.length=F0F0.midiNote===g0.messageData[0]&&F0.length===-1);if(X0){let F0=S-X0.start;X0.length=F0=f.length)break;S+=n0*(f[E0].ticks-g0.ticks)}m0>0&&l.forEach((g0,f1)=>g0.notes.filter(x=>x.length===-1).forEach(x=>{let X0=S-x.start;x.length=X0r.max){let l=r.min;r.min=r.max,r.max=l}r.min=Math.max(0,r.min),r.max=Math.min(127,r.max),this._keyRange=r}toggleDarkMode(){this.canvas.classList.toggle("light_mode")}computeColors(){this.channelColors=this.plainColors.map(r=>{let l=this.drawingContext.createLinearGradient(0,0,this.canvas.width/128,0);return l.addColorStop(0,B$(r,g=>g*kC)),l.addColorStop(1,r),l}),this.darkerColors=this.plainColors.map(r=>{let l=this.drawingContext.createLinearGradient(0,0,this.canvas.width/128,0);return l.addColorStop(0,B$(r,g=>g*kC*wC)),l.addColorStop(1,B$(r,g=>g*wC)),l}),this.sidewaysChannelColors=this.plainColors.map(r=>{let l=this.drawingContext.createLinearGradient(0,0,0,this.canvas.width/128);return l.addColorStop(0,B$(r,g=>g*kC)),l.addColorStop(1,r),l}),this.sidewaysDarkerColors=this.plainColors.map(r=>{let l=this.drawingContext.createLinearGradient(0,0,0,this.canvas.width/128);return l.addColorStop(0,B$(r,g=>g*kC*wC)),l.addColorStop(1,B$(r,g=>g*wC)),l})}};_i.prototype.render=$y;_i.prototype.computeNotePositions=ly;_i.prototype.createChannelAnalysers=dy;_i.prototype.updateFftSize=Iy;_i.prototype.connectChannelAnalysers=Ey;_i.prototype.disconnectChannelAnalysers=my;_i.prototype.connectSequencer=Cy;_i.prototype.calculateNoteTimes=py;_i.prototype.resetIndexes=By;_i.prototype.renderWaveforms=uy;function o3(o,r){let l=0;for(let g=0;g>>0}function l7(o,r,l){for(let g=0;g>g*8&255}function Q9(o,r){o[o.currentIndex++]=r&255,o[o.currentIndex++]=r>>8}function c7(o,r){l7(o,r,4)}function LA(o,r){let l=r<<8|o;return l>32767?l-65536:l}function Qy(o){return o>127?o-256:o}function Ee(o,r,l=void 0,g=!0){if(l){let f=o.slice(o.currentIndex,o.currentIndex+r);return o.currentIndex+=r,new TextDecoder(l.replace(/[^\x20-\x7E]/g,"")).decode(f.buffer)}else{let f=!1,S="";for(let n0=0;n0127){if(g){f=!0;continue}else if(E0===0){f=!0;continue}}S+=String.fromCharCode(E0)}}return S}}function RA(o,r=0){let l=o.length;r>0&&(l=r);let g=new V3(l);return g7(g,o,r),g}function g7(o,r,l=0){l>0&&r.length>l&&(r=r.slice(0,l));for(let g=0;gr.length)for(let g=0;gl.header!=="LIST"?!1:(l.chunkData.currentIndex=0,Ee(l.chunkData,4)===r))}function vC(o){let r=[o&127];for(o>>=7;o>0;)r.unshift(o&127|128),o>>=7;return r}function SC(o){let r=[];for(let f of o.tracks){let S=[],n0=0,E0;for(let m0 of f){let g0=m0.ticks-n0,f1;m0.messageStatusByte<=K3.keySignature||m0.messageStatusByte===K3.sequenceSpecific?f1=[255,m0.messageStatusByte,...vC(m0.messageData.length),...m0.messageData]:m0.messageStatusByte===K3.systemExclusive?f1=[240,...vC(m0.messageData.length),...m0.messageData]:(f1=[],E0!==m0.messageStatusByte&&(E0=m0.messageStatusByte,f1.push(m0.messageStatusByte)),f1.push(...m0.messageData)),S.push(...vC(g0)),S.push(...f1),n0+=g0}r.push(new Uint8Array(S))}function l(f,S){for(let n0=0;n0{o.tracks.forEach((b1,l2)=>{if(o.midiPorts[l2]===F0)for(let y1=b1.length-1;y1>=0;y1--)b1[y1].messageStatusByte>=128&&b1[y1].messageStatusByte<240&&(b1[y1].messageStatusByte&15)===X0&&b1.splice(y1,1)})};g.forEach(X0=>{let F0=X0%16,b1=X0-F0,l2=o.midiPortChannelOffsets.findIndex(y1=>y1===b1);S(F0,l2),Y5(`%cRemoving channel %c${X0}%c!`,_1.info,_1.recognized,_1.info)});let n0=!1,E0="gs",m0=[],g0=[];o.tracks.forEach((X0,F0)=>{X0.forEach(b1=>{let l2=b1.messageStatusByte&240;l2===K3.controllerChange?m0.push({track:F0,message:b1,channel:b1.messageStatusByte&15}):l2===K3.programChange?g0.push({track:F0,message:b1,channel:b1.messageStatusByte&15}):b1.messageStatusByte===K3.systemExclusive&&(b1.messageData[0]===67&&b1.messageData[2]===76&&b1.messageData[5]===126&&b1.messageData[6]===0?(Y5("%cXG system on detected",_1.info),E0="xg",n0=!0):b1.messageData[0]===67&&b1.messageData[2]===76&&b1.messageData[3]===8&&b1.messageData[5]===3&&g0.push({track:F0,message:b1,channel:b1.messageData[4]}))})});let f1=(X0,F0,b1)=>o.tracks.reduce((l2,y1,Y2)=>{if(o.usedChannelsOnTrack[Y2].has(X0)&&o.midiPorts[Y2]===F0){let T2;b1?T2=y1.findIndex(V2=>(V2.messageStatusByte&240)===K3.noteOn):T2=y1.findIndex(V2=>V2.messageStatusByte>128&&V2.messageStatusByte<240&&(V2.messageStatusByte&15)===X0&&!(V2.messageStatusByte&K3.controllerChange===240&&(V2.messageData[0]===B3.resetAllControllers||V2.messageData[0]===B3.allNotesOff||V2.messageData[0]===B3.allSoundOff))),T2!==-1&&l2.push({index:T2,track:Y2})}return l2},[]),x=(X0,F0,b1)=>{let l2=m0.filter(y1=>y1.channel===X0&&y1.message.messageData[0]===b1&&o.midiPorts[y1.track]===F0);for(let y1=0;y1{let F0=X0.channel,b1=F0%16,l2=F0-b1,y1=o.midiPortChannelOffsets.findIndex(A0=>A0===l2),Y2=X0.controllerValue,T2=X0.controllerNumber;x(b1,y1,T2),Y5(`%cNo controller %c${T2}%c on channel %c${F0}%c found. Adding it!`,_1.info,_1.unrecognized,_1.info,_1.value,_1.info);let V2=f1(b1,y1,!0);if(V2.length===0){x4("Program change but no notes... ignoring!");return}let i3=V2.reduce((A0,y5)=>o.tracks[y5.track][y5.index].ticks{let F0=X0.channel%16,b1=X0.channel-F0,l2=o.midiPortChannelOffsets.findIndex($3=>$3===b1),y1=X0.isDrum?0:X0.bank,Y2=X0.program,T2=g0.filter($3=>o.midiPorts[$3.track]===l2&&$3.channel===F0);if(x(F0,l2,B3.bankSelect),x(F0,l2,B3.lsbForControl0BankSelect),(X0.isDrum||y1>0)&&!n0&&(o.tracks.forEach($3=>{for(let w6=0;w6<$3.length;w6++){let s6=$3[w6];if(s6.messageStatusByte===K3.systemExclusive)if(s6.messageData[0]===65&&s6.messageData[2]===66&&s6.messageData[6]===127){n0=!0,Y5("%cGS on detected!",_1.recognized);break}else s6.messageData[0]===126&&s6.messageData[2]===9&&(Y5("%cGM/2 on detected, removing!",_1.info),$3.splice(w6,1),w6--)}}),!n0)){let $3=0;o.tracks[0][0].messageStatusByte===K3.trackName&&$3++,o.tracks[0].splice($3,0,qB(0)),Y5("%cGS on not detected. Adding it.",_1.info),n0=!0}for(let $3 of T2)o.tracks[$3.track].splice(o.tracks[$3.track].indexOf($3.message),1);let V2=f1(F0,l2,b1>0);if(V2.length===0){x4("Program change but no notes... ignoring!");return}let i3=V2.reduce(($3,w6)=>o.tracks[w6.track][w6.index].ticks{if(o.midiPorts[T2]!==b1||!o.usedChannelsOnTrack[T2].has(F0))return;let V2=K3.noteOn|F0,i3=K3.noteOff|F0,r3=K3.polyPressure|F0;Y2.forEach(A0=>{A0.messageStatusByte!==V2&&A0.messageStatusByte!==i3&&A0.messageStatusByte!==r3||(A0.messageData[0]=Math.max(0,Math.min(127,A0.messageData[0]+l2)))})}),y1!==0){let Y2=o.tracks.find((s6,o9)=>o.usedChannelsOnTrack[o9].has(X0.channel));if(Y2===void 0){x4(`Channel ${X0.channel} unused but transpose requested???`);continue}let T2=K3.noteOn|X0.channel%16,V2=Y2.findIndex(s6=>s6.messageStatusByte===T2);if(V2===-1){x4(`No notes on channel ${X0.channel} but transpose requested???`);continue}let i3=Y2[V2].ticks,r3=y1*64+64,A0=K3.controllerChange|X0.channel%16,y5=new mi(i3,A0,new V3([B3.RPNMsb,0])),T3=new mi(i3,A0,new V3([B3.RPNLsb,1])),$3=new mi(i3,A0,new V3([B3.dataEntryMsb,r3])),w6=new mi(i3,A0,new V3([B3.lsbForControl6DataEntry,0]));Y2.splice(V2,0,w6),Y2.splice(V2,0,$3),Y2.splice(V2,0,T3),Y2.splice(V2,0,y5)}}i4()}function hh(o,r){let l=[],g=[],f=[],S=[];r.channelSnapshots.forEach((n0,E0)=>{if(n0.isMuted){g.push(E0);return}let m0=n0.channelTransposeKeyShift+n0.customControllers[QC.channelTransposeFine]/100;m0!==0&&l.push({channel:E0,keyShift:m0}),n0.lockPreset&&f.push({channel:E0,program:n0.program,bank:n0.bank,isDrum:n0.drumChannel}),n0.lockedControllers.forEach((g0,f1)=>{if(!g0||f1>127||f1===B3.bankSelect)return;let x=n0.midiControllers[f1]>>7;S.push({channel:E0,controllerNumber:f1,controllerValue:x})})}),Wb(o,f,S,g,l)}var Mt={name:"INAM",album:"IPRD",artist:"IART",genre:"IGNR",picture:"IPIC",copyright:"ICOP",creationDate:"ICRD",comment:"ICMT",engineer:"IENG",software:"ISFT",encoding:"IENC",midiEncoding:"MENC",bankOffset:"DBNK"},FA="utf-8",jb="Created using SpessaSynth";function wy(o,r,l,g=0,f="Shift_JIS",S={},n0=!0){if(gr("%cWriting the RMIDI File...",_1.info),Y5(`%cConfiguration: Bank offset: %c${g}%c, encoding: %c${f}`,_1.info,_1.value,_1.info,_1.value),Y5("metadata",S),Y5("Initial bank offset",r.bankOffset),n0){let Y2=function(){let r3=0,A0=1/0;return r.tracks.forEach((y5,T3)=>{l2[T3]>=y5.length||y5[l2[T3]].ticksA0>r3?A0:r3),i3=[];for(let r3=0;r30;){let r3=Y2(),A0=r.tracks[r3];if(l2[r3]>=A0.length){y1--;continue}let y5=A0[l2[r3]];l2[r3]++;let T3=r.midiPortChannelOffsets[T2[r3]];if(y5.messageStatusByte===K3.midiPort){T2[r3]=y5.messageData[0];continue}let $3=y5.messageStatusByte&240;if($3!==K3.controllerChange&&$3!==K3.programChange&&$3!==K3.systemExclusive)continue;if($3===K3.systemExclusive){if(y5.messageData[0]!==65||y5.messageData[2]!==66||y5.messageData[3]!==18||y5.messageData[4]!==64||!(y5.messageData[5]&16)||y5.messageData[6]!==21){y5.messageData[0]===67&&y5.messageData[2]===76&&y5.messageData[5]===126&&y5.messageData[6]===0?F0="xg":y5.messageData[0]===65&&y5.messageData[2]===66&&y5.messageData[6]===127?F0="gs":y5.messageData[0]===126&&y5.messageData[2]===9&&(F0="gm",b1.push({tNum:r3,e:y5}));continue}let o9=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][y5.messageData[5]&15]+T3;i3[o9].drums=!!(y5.messageData[7]>0&&y5.messageData[5]>>4);continue}let w6=(y5.messageStatusByte&15)+T3,s6=i3[w6];if($3===K3.programChange){s6.drums?l.presets.findIndex(r4=>r4.program===y5.messageData[0]&&r4.bank===128)===-1&&(y5.messageData[0]=l.presets.find(r4=>r4.bank===128)?.program||0):l.presets.findIndex(r4=>r4.program===y5.messageData[0]&&r4.bank!==128)===-1&&(y5.messageData[0]=l.presets.find(r4=>r4.bank!==128)?.program||0),s6.program=y5.messageData[0];let o9=Math.max(0,s6.lastBank?.messageData[1]-r.bankOffset),V4=s6.drums?128:o9;if(s6.lastBank===void 0)continue;if(F0==="xg"&&s6.drums&&(i3[w6].lastBank.messageData[1]=127),l.presets.findIndex(r4=>r4.bank===V4&&r4.program===y5.messageData[0])===-1){let r4=l.presets.find(V6=>V6.program===y5.messageData[0])?.bank+g||g;s6.lastBank.messageData[1]=r4,Y5(`%cNo preset %c${V4}:${y5.messageData[0]}%c. Changing bank to ${r4}.`,_1.info,_1.recognized,_1.info)}else{let V6=(V4===128?F0==="xg"?127:0:o9)+g;s6.lastBank.messageData[1]=V6,Y5(`%cPreset %c${V4}:${y5.messageData[0]}%c exists. Changing bank to ${V6}.`,_1.info,_1.recognized,_1.info)}continue}y5.messageData[0]===B3.bankSelect&&(s6.hasBankSelect=!0,F0==="xg"&&(s6.drums=y5.messageData[1]===120||y5.messageData[1]===126||y5.messageData[1]===127),s6.lastBank=y5)}if(i3.forEach((r3,A0)=>{if(r3.hasBankSelect===!0)return;let y5=A0%16,T3=K3.programChange|y5,$3=Math.floor(A0/16)*16,w6=r.midiPortChannelOffsets.indexOf($3),s6=r.tracks.find((V6,We)=>r.midiPorts[We]===w6&&r.usedChannelsOnTrack[We].has(y5));if(s6===void 0)return;let o9=s6.findIndex(V6=>V6.messageStatusByte===T3);if(o9===-1){let V6=s6.findIndex(Vi=>Vi.messageStatusByte>128&&Vi.messageStatusByte<240&&(Vi.messageStatusByte&15)===y5);if(V6===-1)return;let We=s6[V6].ticks,Or=l.getPreset(0,0).program;s6.splice(V6,0,new mi(We,K3.programChange|y5,new V3([Or]))),o9=V6}Y5(`%cAdding bank select for %c${A0}`,_1.info,_1.recognized);let V4=s6[o9].ticks,r4=l.getPreset(0,r3.program)?.bank+g||g;s6.splice(o9,0,new mi(V4,K3.controllerChange|y5,new V3([B3.bankSelect,r4])))}),F0!=="gs"&&F0!=="xg"){for(let A0 of b1)r.tracks[A0.tNum].splice(r.tracks[A0.tNum].indexOf(A0.e),1);let r3=0;r.tracks[0][0].messageStatusByte===K3.trackName&&r3++,r.tracks[0].splice(r3,0,qB(0))}}let E0=new V3(SC(r).buffer),m0=[RA("INFO")],g0=new TextEncoder;if(m0.push(Ze(Mt.software,g0.encode("SpessaSynth"),!0)),S.name!==void 0?(m0.push(Ze(Mt.name,g0.encode(S.name),!0)),f=FA):m0.push(Ze(Mt.name,r.rawMidiName,!0)),S.creationDate!==void 0)f=FA,m0.push(Ze(Mt.creationDate,g0.encode(S.creationDate),!0));else{let F0=new Date().toLocaleString(void 0,{weekday:"long",year:"numeric",month:"long",day:"numeric",hour:"numeric",minute:"numeric"});m0.push(Ze(Mt.creationDate,RA(F0),!0))}if(S.comment!==void 0&&(f=FA,m0.push(Ze(Mt.comment,g0.encode(S.comment)))),S.engineer!==void 0&&m0.push(Ze(Mt.engineer,g0.encode(S.engineer),!0)),S.album!==void 0&&(f=FA,m0.push(Ze(Mt.album,g0.encode(S.album),!0))),S.artist!==void 0&&(f=FA,m0.push(Ze(Mt.artist,g0.encode(S.artist),!0))),S.genre!==void 0&&(f=FA,m0.push(Ze(Mt.genre,g0.encode(S.genre),!0))),S.picture!==void 0&&m0.push(Ze(Mt.picture,new Uint8Array(S.picture))),S.copyright!==void 0)f=FA,m0.push(Ze(Mt.copyright,g0.encode(S.copyright),!0));else{let F0=r.copyright.length>0?r.copyright:jb;m0.push(Ze(Mt.copyright,RA(F0)))}let f1=new V3(2);l7(f1,g,2),m0.push(Ze(Mt.bankOffset,f1)),S.midiEncoding!==void 0&&(m0.push(Ze(Mt.midiEncoding,g0.encode(S.midiEncoding))),f=FA),m0.push(Ze(Mt.encoding,RA(f)));let x=Sn(m0),X0=Sn([RA("RMID"),Ze("data",E0),Ze("LIST",x),o]);return Y5("%cFinished!",_1.info),i4(),Ze("RIFF",X0)}function vm(o,r){let l=0;for(;o>0;){let g=r.tempoChanges.find(S=>S.ticks=128){this.MIDIout.send(g);return}break;case MA.songChange:let f=l[0];this.songIndex=l[1],this.midiData=f,this.hasDummyData=!1,this.absoluteStartTime=0,this.duration=this.midiData.duration,Object.entries(this.onSongChange).forEach(E0=>E0[1](f)),this.unpause();break;case MA.textEvent:let S=l;this.onTextEvent&&this.onTextEvent(S[0],S[1]);break;case MA.timeChange:let n0=this.synth.currentTime-l;Object.entries(this.onTimeChange).forEach(E0=>E0[1](n0)),this.unpause(),this._recalculateStartTime(n0);break;case MA.pause:this.pausedTime=this.currentTime,this.isFinished=l,this.isFinished&&Object.entries(this.onSongEnded).forEach(E0=>E0[1]());break;case MA.midiError:if(this.onError)this.onError(l);else throw new Error(l);return;case MA.getMIDI:this._getMIDIResolve&&this._getMIDIResolve(l)}}_recalculateStartTime(r){this.absoluteStartTime=this.synth.currentTime-r/this._playbackRate,this.highResTimeOffset=(this.synth.currentTime-performance.now()/1e3)*this._playbackRate}async getMIDI(){return new Promise(r=>{this._getMIDIResolve=r,this._sendMessage(Li.getMIDI,void 0)})}loadNewSongList(r){this.pause(),this.midiData=ky,this.hasDummyData=!0,this.duration=99999,this._sendMessage(Li.loadNewSongList,r),this.songIndex=0,this.songsAmount=r.length,this.songsAmount>1&&(this.loop=!1)}connectMidiOutput(r){this.resetMIDIOut(),this.MIDIout=r,this._sendMessage(Li.changeMIDIMessageSending,r!==void 0),this.currentTime-=.1}pause(){if(this.paused){x4("Already paused");return}this.pausedTime=this.currentTime,this._sendMessage(Li.pause)}unpause(){this.pausedTime=void 0,this.isFinished=!1}play(r=!1){this.isFinished&&(r=!0),this._recalculateStartTime(this.pausedTime||0),this.unpause(),this._sendMessage(Li.play,r)}stop(){this._sendMessage(Li.stop)}};var Sm=["Shift_JIS","windows-1250","utf-8","utf-16","utf-16le","utf-16be","latin1","ISO-8859-1","ISO-8859-2","ISO-8859-3","ISO-8859-4","ISO-8859-5","ISO-8859-6","ISO-8859-7","ISO-8859-8","ISO-8859-9","ISO-8859-10","ISO-8859-11","ISO-8859-13","ISO-8859-14","ISO-8859-15","ISO-8859-16","windows-1251","windows-1252","windows-1253","windows-1254","windows-1255","windows-1256","windows-1257","windows-1258","EUC-JP","ISO-2022-JP","EUC-KR","Big5","GB18030"];function vy(o){return` `}function y$(o){return` diff --git a/src/website/minified/local_main.min.js b/src/website/minified/local_main.min.js index 8a40c23a..d44f1933 100644 --- a/src/website/minified/local_main.min.js +++ b/src/website/minified/local_main.min.js @@ -6,7 +6,7 @@ var hC=(o=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(o,{get:(r,l)=>( Transform type: ${this.transformType} -`}},xB=960,RB=Nr.concave;function Tr(o,r,l,g,f){return o<<10|r<<9|l<<8|g<<7|f}var EC=[new se({srcEnum:Tr(RB,0,1,0,Rt.noteOnVelocity),dest:v1.initialAttenuation,amt:xB,secSrcEnum:0,transform:0}),new se({srcEnum:129,dest:v1.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new se({srcEnum:Tr(RB,0,1,1,B3.mainVolume),dest:v1.initialAttenuation,amt:xB,secSrcEnum:0,transform:0}),new se({srcEnum:13,dest:v1.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new se({srcEnum:526,dest:v1.fineTune,amt:12700,secSrcEnum:16,transform:0}),new se({srcEnum:650,dest:v1.pan,amt:1e3,secSrcEnum:0,transform:0}),new se({srcEnum:Tr(RB,0,1,1,B3.expressionController),dest:v1.initialAttenuation,amt:xB,secSrcEnum:0,transform:0}),new se({srcEnum:219,dest:v1.reverbEffectsSend,amt:750,secSrcEnum:0,transform:0}),new se({srcEnum:221,dest:v1.chorusEffectsSend,amt:750,secSrcEnum:0,transform:0}),new se({srcEnum:Tr(Nr.linear,0,0,0,Rt.polyPressure),dest:v1.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new se({srcEnum:Tr(Nr.linear,0,0,1,B3.tremoloDepth),dest:v1.modLfoToVolume,amt:24,secSrcEnum:0,transform:0}),new se({srcEnum:Tr(Nr.linear,1,0,1,B3.releaseTime),dest:v1.releaseVolEnv,amt:1200,secSrcEnum:0,transform:0}),new se({srcEnum:Tr(Nr.linear,1,0,1,B3.brightness),dest:v1.initialFilterFc,amt:6e3,secSrcEnum:0,transform:0}),new se({srcEnum:Tr(Nr.linear,1,0,1,B3.timbreHarmonicContent),dest:v1.initialFilterQ,amt:250,secSrcEnum:0,transform:0})];var m$=128,XQ=147,Fb=new Int16Array(XQ).fill(0),ni=(o,r)=>Fb[o]=r<<7;ni(B3.mainVolume,100);ni(B3.balance,64);ni(B3.expressionController,127);ni(B3.pan,64);ni(B3.timbreHarmonicContent,64);ni(B3.releaseTime,64);ni(B3.attackTime,64);ni(B3.brightness,64);ni(B3.soundController6,64);ni(B3.soundController7,64);ni(B3.soundController8,64);ni(B3.soundController9,64);ni(B3.generalPurposeController6,64);ni(B3.generalPurposeController8,64);ni(m$+Rt.pitchWheel,64);ni(m$+Rt.pitchWheelRange,2);var mC={channelTuning:0,channelTransposeFine:1,modulationMultiplier:2,masterTuning:3,channelTuningSemitones:4},ey=Object.keys(mC).length,Mb=new Float32Array(ey);Mb[mC.modulationMultiplier]=1;var ty={velocityOverride:128};var Tb="spessasynth-worklet-system",LB=350,Di=9,Nb=16;var ah=class{constructor(r,l,g=!0,f=void 0,D=jQ){W5("%cInitializing SpessaSynth synthesizer...",_1.info),this.context=r.context;let o0=f?.oneOutput===!0;this.eventHandler=new uC,this._voiceCap=LB,this._outputsAmount=Nb,this.channelsAmount=this._outputsAmount,this.resolveWhenReady=void 0,this.isReady=new Promise(c0=>this.resolveWhenReady=c0),this.channelProperties=[];for(let c0=0;c0this.handleMessage(c0.data),this.soundfontManager=new IC(this),this._snapshotCallback=void 0,this.sequencerCallbackFunction=void 0,D.reverbEnabled&&!o0&&(this.reverbProcessor=KQ(this.context,D.reverbImpulseResponse),this.reverbProcessor.connect(r),this.worklet.connect(this.reverbProcessor,0)),D.chorusEnabled&&!o0&&(this.chorusProcessor=new fC(r,D.chorusConfig),this.worklet.connect(this.chorusProcessor.input,1)),o0)this.worklet.connect(r,0);else for(let c0=2;c0{this.channelsAmount++})}get voiceCap(){return this._voiceCap}set voiceCap(r){this._setMasterParam(Cm.voicesCap,r),this._voiceCap=r}get highPerformanceMode(){return this._highPerformanceMode}set highPerformanceMode(r){this._highPerformanceMode=r}get currentTime(){return this.context.currentTime}get voicesAmount(){return this._voicesAmount}setLogLevel(r,l,g,f){this.post({channelNumber:Ci,messageType:c8.setLogLevel,messageData:[r,l,g,f]})}_setMasterParam(r,l){this.post({channelNumber:Ci,messageType:c8.setMasterParameter,messageData:[r,l]})}setInterpolationType(r){this._setMasterParam(Cm.interpolationType,r)}handleMessage(r){let l=r.messageData;switch(r.messageType){case E$.channelProperties:this.channelProperties=l,this._voicesAmount=this.channelProperties.reduce((g,f)=>g+f.voicesAmount,0);break;case E$.eventCall:this.eventHandler.callEvent(l.eventName,l.eventData);break;case E$.sequencerSpecific:this.sequencerCallbackFunction&&this.sequencerCallbackFunction(l.messageType,l.messageData);break;case E$.synthesizerSnapshot:this._snapshotCallback&&this._snapshotCallback(l);break;case E$.ready:this.resolveWhenReady();break;case E$.soundfontError:Ie(new Error(l)),this.eventHandler.callEvent("soundfonterror",l);break}}async getSynthesizerSnapshot(){return new Promise(r=>{this._snapshotCallback=l=>{this._snapshotCallback=void 0,r(l)},this.post({messageType:c8.requestSynthesizerSnapshot,messageData:void 0,channelNumber:Ci})})}addNewChannel(r=!0){this.channelProperties.push({voicesAmount:0,pitchBend:0,pitchBendRangeSemitones:0,isMuted:!1,isDrum:!1}),r&&this.post({channelNumber:0,messageType:c8.addNewChannel,messageData:null})}setVibrato(r,l){this.post({channelNumber:r,messageType:c8.setChannelVibrato,messageData:l})}connectIndividualOutputs(r){if(r.length!==this._outputsAmount)throw new Error(`input nodes amount differs from the system's outputs amount! +`}},xB=960,RB=Nr.concave;function Tr(o,r,l,g,f){return o<<10|r<<9|l<<8|g<<7|f}var EC=[new se({srcEnum:Tr(RB,0,1,0,Rt.noteOnVelocity),dest:v1.initialAttenuation,amt:xB,secSrcEnum:0,transform:0}),new se({srcEnum:129,dest:v1.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new se({srcEnum:Tr(RB,0,1,1,B3.mainVolume),dest:v1.initialAttenuation,amt:xB,secSrcEnum:0,transform:0}),new se({srcEnum:13,dest:v1.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new se({srcEnum:526,dest:v1.fineTune,amt:12700,secSrcEnum:16,transform:0}),new se({srcEnum:650,dest:v1.pan,amt:500,secSrcEnum:0,transform:0}),new se({srcEnum:Tr(RB,0,1,1,B3.expressionController),dest:v1.initialAttenuation,amt:xB,secSrcEnum:0,transform:0}),new se({srcEnum:219,dest:v1.reverbEffectsSend,amt:750,secSrcEnum:0,transform:0}),new se({srcEnum:221,dest:v1.chorusEffectsSend,amt:750,secSrcEnum:0,transform:0}),new se({srcEnum:Tr(Nr.linear,0,0,0,Rt.polyPressure),dest:v1.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new se({srcEnum:Tr(Nr.linear,0,0,1,B3.tremoloDepth),dest:v1.modLfoToVolume,amt:24,secSrcEnum:0,transform:0}),new se({srcEnum:Tr(Nr.linear,1,0,1,B3.releaseTime),dest:v1.releaseVolEnv,amt:1200,secSrcEnum:0,transform:0}),new se({srcEnum:Tr(Nr.linear,1,0,1,B3.brightness),dest:v1.initialFilterFc,amt:6e3,secSrcEnum:0,transform:0}),new se({srcEnum:Tr(Nr.linear,1,0,1,B3.timbreHarmonicContent),dest:v1.initialFilterQ,amt:250,secSrcEnum:0,transform:0})];var m$=128,XQ=147,Fb=new Int16Array(XQ).fill(0),ni=(o,r)=>Fb[o]=r<<7;ni(B3.mainVolume,100);ni(B3.balance,64);ni(B3.expressionController,127);ni(B3.pan,64);ni(B3.timbreHarmonicContent,64);ni(B3.releaseTime,64);ni(B3.attackTime,64);ni(B3.brightness,64);ni(B3.soundController6,64);ni(B3.soundController7,64);ni(B3.soundController8,64);ni(B3.soundController9,64);ni(B3.generalPurposeController6,64);ni(B3.generalPurposeController8,64);ni(m$+Rt.pitchWheel,64);ni(m$+Rt.pitchWheelRange,2);var mC={channelTuning:0,channelTransposeFine:1,modulationMultiplier:2,masterTuning:3,channelTuningSemitones:4},ey=Object.keys(mC).length,Mb=new Float32Array(ey);Mb[mC.modulationMultiplier]=1;var ty={velocityOverride:128};var Tb="spessasynth-worklet-system",LB=350,Di=9,Nb=16;var ah=class{constructor(r,l,g=!0,f=void 0,D=jQ){W5("%cInitializing SpessaSynth synthesizer...",_1.info),this.context=r.context;let o0=f?.oneOutput===!0;this.eventHandler=new uC,this._voiceCap=LB,this._outputsAmount=Nb,this.channelsAmount=this._outputsAmount,this.resolveWhenReady=void 0,this.isReady=new Promise(c0=>this.resolveWhenReady=c0),this.channelProperties=[];for(let c0=0;c0this.handleMessage(c0.data),this.soundfontManager=new IC(this),this._snapshotCallback=void 0,this.sequencerCallbackFunction=void 0,D.reverbEnabled&&!o0&&(this.reverbProcessor=KQ(this.context,D.reverbImpulseResponse),this.reverbProcessor.connect(r),this.worklet.connect(this.reverbProcessor,0)),D.chorusEnabled&&!o0&&(this.chorusProcessor=new fC(r,D.chorusConfig),this.worklet.connect(this.chorusProcessor.input,1)),o0)this.worklet.connect(r,0);else for(let c0=2;c0{this.channelsAmount++})}get voiceCap(){return this._voiceCap}set voiceCap(r){this._setMasterParam(Cm.voicesCap,r),this._voiceCap=r}get highPerformanceMode(){return this._highPerformanceMode}set highPerformanceMode(r){this._highPerformanceMode=r}get currentTime(){return this.context.currentTime}get voicesAmount(){return this._voicesAmount}setLogLevel(r,l,g,f){this.post({channelNumber:Ci,messageType:c8.setLogLevel,messageData:[r,l,g,f]})}_setMasterParam(r,l){this.post({channelNumber:Ci,messageType:c8.setMasterParameter,messageData:[r,l]})}setInterpolationType(r){this._setMasterParam(Cm.interpolationType,r)}handleMessage(r){let l=r.messageData;switch(r.messageType){case E$.channelProperties:this.channelProperties=l,this._voicesAmount=this.channelProperties.reduce((g,f)=>g+f.voicesAmount,0);break;case E$.eventCall:this.eventHandler.callEvent(l.eventName,l.eventData);break;case E$.sequencerSpecific:this.sequencerCallbackFunction&&this.sequencerCallbackFunction(l.messageType,l.messageData);break;case E$.synthesizerSnapshot:this._snapshotCallback&&this._snapshotCallback(l);break;case E$.ready:this.resolveWhenReady();break;case E$.soundfontError:Ie(new Error(l)),this.eventHandler.callEvent("soundfonterror",l);break}}async getSynthesizerSnapshot(){return new Promise(r=>{this._snapshotCallback=l=>{this._snapshotCallback=void 0,r(l)},this.post({messageType:c8.requestSynthesizerSnapshot,messageData:void 0,channelNumber:Ci})})}addNewChannel(r=!0){this.channelProperties.push({voicesAmount:0,pitchBend:0,pitchBendRangeSemitones:0,isMuted:!1,isDrum:!1}),r&&this.post({channelNumber:0,messageType:c8.addNewChannel,messageData:null})}setVibrato(r,l){this.post({channelNumber:r,messageType:c8.setChannelVibrato,messageData:l})}connectIndividualOutputs(r){if(r.length!==this._outputsAmount)throw new Error(`input nodes amount differs from the system's outputs amount! Expected ${this._outputsAmount} got ${r.length}`);for(let l=0;l127||l<0)throw new Error(`Invalid controller number: ${l}`);g=Math.floor(g),l=Math.floor(l),this.post({channelNumber:r,messageType:c8.ccChange,messageData:[l,g,f]})}resetControllers(){this.post({channelNumber:Ci,messageType:c8.ccReset,messageData:void 0})}channelPressure(r,l){this.post({channelNumber:r,messageType:c8.channelPressure,messageData:l})}polyPressure(r,l,g){this.post({channelNumber:r,messageType:c8.polyPressure,messageData:[l,g]})}post(r){this.worklet.port.postMessage(r)}pitchWheel(r,l,g){this.post({channelNumber:r,messageType:c8.pitchWheel,messageData:[l,g]})}transpose(r){this.transposeChannel(Ci,r,!1)}transposeChannel(r,l,g=!1){this.post({channelNumber:r,messageType:c8.transpose,messageData:[l,g]})}setMainVolume(r){this._setMasterParam(Cm.mainVolume,r)}setMasterPan(r){this._setMasterParam(Cm.masterPan,r)}setPitchBendRange(r,l){this.controllerChange(r,B3.RPNMsb,0),this.controllerChange(r,B3.dataEntryMsb,l),this.controllerChange(r,B3.RPNMsb,127),this.controllerChange(r,B3.RPNLsb,127),this.controllerChange(r,B3.dataEntryMsb,0)}programChange(r,l,g=!1){this.post({channelNumber:r,messageType:c8.programChange,messageData:[l,g]})}velocityOverride(r,l){this.post({channelNumber:r,messageType:c8.ccChange,messageData:[ty.velocityOverride,l,!0]})}lockController(r,l,g){this.post({channelNumber:r,messageType:c8.lockController,messageData:[l,g]})}muteChannel(r,l){this.post({channelNumber:r,messageType:c8.muteChannel,messageData:l})}async reloadSoundFont(r){Ie("reloadSoundFont is deprecated. Please use the soundfontManager property instead."),await this.soundfontManager.reloadManager(r)}systemExclusive(r){this.post({channelNumber:Ci,messageType:c8.systemExclusive,messageData:Array.from(r)})}setDrums(r,l){this.post({channelNumber:r,messageType:c8.setDrums,messageData:l})}sendMessage(r){let l=VQ(r[0]);switch(l.status){case K3.noteOn:let g=r[2];g>0?this.noteOn(l.channel,r[1],g):this.noteOff(l.channel,r[1]);break;case K3.noteOff:this.noteOff(l.channel,r[1]);break;case K3.pitchBend:this.pitchWheel(l.channel,r[2],r[1]);break;case K3.controllerChange:this.controllerChange(l.channel,r[1],r[2]);break;case K3.programChange:this.programChange(l.channel,r[1]);break;case K3.polyPressure:this.polyPressure(l.channel,r[0],r[1]);break;case K3.channelPressure:this.channelPressure(l.channel,r[1]);break;case K3.systemExclusive:this.systemExclusive(new V3(r.slice(1)));break;case K3.reset:this.stopAll(!0),this.resetControllers();break;default:break}}reverbateEverythingBecauseWhyNot(){for(let r=0;r{this.pressedKeys.delete(g),this.releaseNote(g,this.channel),this.synth.noteOff(this.channel,g)},r=(g,f)=>{let D;if(xA)D=127;else{let E0=this.keys[0].getBoundingClientRect();if(this.keyboard.classList.contains("sideways")){let m0=f.clientX-E0.left,c0=E0.width;D=Math.floor((c0-m0)/c0*127)}else{let m0=f.clientY-E0.top,c0=E0.height;D=Math.floor(m0/c0*127)}}this.synth.noteOn(this.channel,g,D,this.enableDebugging)},l=g=>{let f=g.touches?Array.from(g.touches):[g],D=new Set;f.forEach(o0=>{let E0=document.elementFromPoint(o0.clientX,o0.clientY),m0=parseInt(E0.id.replace("note",""));D.add(m0),!(isNaN(m0)||m0<0||this.pressedKeys.has(m0))&&(this.pressedKeys.add(m0),r(m0,o0))}),this.pressedKeys.forEach(o0=>{D.has(o0)||o(o0)})};xA||(document.addEventListener("mousedown",g=>{this.mouseHeld=!0,l(g)}),document.addEventListener("mouseup",()=>{this.mouseHeld=!1,this.pressedKeys.forEach(g=>{o(g)})}),this.keyboard.onmousemove=g=>{this.mouseHeld&&l(g)},this.keyboard.onmouseleave=()=>{this.pressedKeys.forEach(g=>{o(g)})}),this.keyboard.ontouchstart=l.bind(this),this.keyboard.ontouchend=l.bind(this),this.keyboard.ontouchmove=l.bind(this)}var ry=20,pm=class{constructor(r,l){this.mouseHeld=!1,this.pressedKeys=new Set,this.mode="light",this.enableDebugging=!1,this.sizeChangeAnimationId=-1,this.modeChangeAnimationId=-1,this._keyRange={min:0,max:127},document.addEventListener("keydown",g=>{g.key==="Shift"&&(this.synth.controllerChange(this.channel,B3.sustainPedal,127),this.keyboard.style.filter="brightness(0.5)")}),document.addEventListener("keyup",g=>{g.key==="Shift"&&(this.synth.controllerChange(this.channel,B3.sustainPedal,0),this.keyboard.style.filter="")}),this.synth=l,this.channel=0,this.channelColors=r,this._shown=!0,this._createKeyboard(),this.synth.eventHandler.addEvent("noteon","keyboard-note-on",g=>{this.pressNote(g.midiNote,g.channel,g.velocity)}),this.synth.eventHandler.addEvent("noteoff","keyboard-note-off",g=>{this.releaseNote(g.midiNote,g.channel)}),this.synth.eventHandler.addEvent("stopall","keyboard-stop-all",()=>{this.clearNotes()}),this.synth.eventHandler.addEvent("mutechannel","keyboard-mute-channel",g=>{if(g.isMuted)for(let f=0;f<128;f++)this.releaseNote(f,g.channel)})}get shown(){return this._shown}set shown(r){r===!0?this.keyboard.style.display="":this.keyboard.style.display="none",this._shown=r}get keyRange(){return this._keyRange}set keyRange(r){if(r.max===void 0||r.min===void 0)throw new TypeError("No min or max property!");if(r.min>r.max){let l=r.min;r.min=r.max,r.max=l}r.min=Math.max(0,r.min),r.max=Math.min(127,r.max),this.setKeyRange(r,!0)}_createKeyboard(){this.keyboard=document.getElementById("keyboard"),this.keyboard.innerHTML="",this.keys=[],this.keyColors=[];for(let r=this._keyRange.min;r=0&&(D=l(r-1)),r<127&&(o0=l(r+1)),o0&&D?g.classList.add("between_sharps"):D?g.classList.add("left_sharp"):o0&&g.classList.add("right_sharp")}return g}toggleMode(r=!0){if(this.mode==="light"?this.mode="dark":this.mode="light",!r){this.keys.forEach(g=>{g.classList.contains("flat_key")&&g.classList.toggle("flat_dark_key")});return}this.modeChangeAnimationId&&clearTimeout(this.modeChangeAnimationId),this.keyboard.classList.add("mode_transform"),document.body.scrollHeight<=window.innerHeight&&document.body.classList.add("no_scroll"),this.modeChangeAnimationId=setTimeout(()=>{this.keys.forEach(g=>{g.classList.contains("flat_key")&&g.classList.toggle("flat_dark_key")}),this.keyboard.classList.remove("mode_transform"),setTimeout(()=>document.body.classList.remove("no_scroll"),500)},500)}setKeyRange(r,l=!0){Math.abs(r.max-r.min)<12&&(r.min-=6,r.max=r.min+12);let f=900/(r.max-r.min+5),D=document.styleSheets[0].cssRules,o0;for(let E0 of D)if(E0.selectorText==="#keyboard .key"){o0=E0;break}if(o0.style.setProperty("--pressed-transform-skew",`${8e-4/(f/7)}`),l){this.sizeChangeAnimationId&&clearTimeout(this.sizeChangeAnimationId);let E0=getComputedStyle(this.keyboard),m0=parseFloat(E0.getPropertyValue("--current-min-height").replace(/[^\d.]+/g,"")),c0=this.keyboard.getBoundingClientRect().height,f1=f/m0,x=c0*f1-c0,X0=(this._keyRange.min+this._keyRange.max)/2,F0=(r.min+r.max)/2;this._keyRange=r;let b1=this.keys.find(Y2=>Y2.classList.contains("sharp_key")).getBoundingClientRect().width,l2=(X0-F0)*b1,y1=parseFloat(E0.getPropertyValue("--key-border-radius").replace(/[^\d.]+/g,""));this.keyboard.style.marginTop=`${x}px`,this.keyboard.style.transition="",this.keyboard.style.transform=`scale(${f1}) translateX(${l2}px)`,this.keyboard.style.setProperty("--key-border-radius",`${y1/f1}vmin`),this.sizeChangeAnimationId=setTimeout(()=>{this.keyboard.style.setProperty("--current-min-height",`${f}`),this.keyboard.style.transition="none",this.keyboard.style.transform="",this.keyboard.style.marginTop="",this.keyboard.style.setProperty("--key-border-radius",""),this._createKeyboard(),setTimeout(()=>this.keyboard.style.transition="",75)},500)}else this.keyboard.style.setProperty("--current-min-height",`${f}`),this._keyRange=r,this._createKeyboard()}selectChannel(r){this.channel=r}pressNote(r,l,g){let f=this.keys[r-this._keyRange.min];if(f===void 0)return;f.classList.add("pressed");let D=f.classList.contains("sharp_key"),o0=g/127,E0=this.channelColors[l%16].match(/\d+(\.\d+)?/g).map(parseFloat),m0;if(!D&&this.mode==="light"?m0=`rgba(${E0.slice(0,3).map(f1=>255-(255-f1)*o0).join(", ")}, ${E0[3]})`:m0=`rgba(${E0.slice(0,3).map(f1=>f1*o0).join(", ")}, ${E0[3]})`,f.style.background=m0,this.mode==="dark"){let c0=ry*o0;f.style.boxShadow=`${m0} 0px 0px ${c0}px ${c0/5}px`}this.keyColors[r-this._keyRange.min].push(this.channelColors[l%16])}releaseNote(r,l){let g=this.keys[r-this._keyRange.min];if(g===void 0)return;l%=this.channelColors.length;let f=this.keyColors[r-this._keyRange.min];if(!f)return;let D=f.findLastIndex(o0=>o0===this.channelColors[l]);D!==-1&&(f.splice(D,1),g.style.background=f[f.length-1],this.mode==="dark"&&(g.style.boxShadow=`0px 0px ${ry}px ${f[f.length-1]}`),f.length<1&&(g.classList.remove("pressed"),g.style.background="",g.style.boxShadow=""))}clearNotes(){this.keys.forEach((r,l)=>{r.classList.remove("pressed"),r.style.background="",r.style.boxShadow="",this.keyColors[l]=[]})}};pm.prototype._handlePointers=iy;function C$(o,r){let l=o.replace(/[^\d,]/g,"").split(",");return`rgb(${r(parseInt(l[0]))}, ${r(parseInt(l[1]))}, ${r(parseInt(l[2]))})`}var Ub="#000";function ny(o,r,l){o.forEach(g=>{if(g.pressedProgress===0)return;r.fillStyle=g.color;let f=g.pressedProgress*g.velocity;if(r.globalAlpha=.5*f,l){r.fillRect(g.xPos,g.yPos-g.height*f,g.width,g.height*(f*2+1)),r.globalAlpha=1;return}r.fillRect(g.xPos-g.width*f,g.yPos,g.width*(f*2+1),g.height),r.globalAlpha=1}),o.forEach(g=>{r.fillStyle=g.color,r.save(),r.translate(g.xPos,g.yPos),r.fillRect(0,0,g.width,g.height),r.restore(),r.strokeStyle=Ub,r.lineWidth=g.stroke,r.strokeRect(g.xPos,g.yPos,g.width,g.height)})}var FB=!1;function sy(o=!0,r=!1){let l=(this.seq===void 0||this?.seq?.paused===!0)&&this.synth.voicesAmount===0&&!r;if(!this.renderBool||l)if(FB){o&&requestAnimationFrame(this.render.bind(this));return}else FB=!0;else FB=!1;if(o&&this.drawingContext.clearRect(0,0,this.canvas.width,this.canvas.height),this.renderAnalysers&&!this.synth.highPerformanceMode&&this.renderWaveforms(),this.renderNotes&&this.noteTimes){let D=this.computeNotePositions(this.synth.highPerformanceMode);this.synth.highPerformanceMode||ny(D,this.drawingContext,this.sideways)}let g=performance.now()-this.frameTimeStart;this.frameTimeStart=performance.now();let f=1e3/g;this.drawingContext.textBaseline="hanging",this.drawingContext.textAlign="end",this.drawingContext.font=`${CC}px system-ui`,this.drawingContext.fillStyle="white",this.drawingContext.strokeStyle="white",this.drawingContext.fillText(`${this.notesOnScreen} notes`,this.canvas.width,CC*2+5),this.drawingContext.fillText(this.version,this.canvas.width,5),this.drawingContext.fillText(Math.round(f).toString()+" FPS",this.canvas.width,CC+5),this.onRender&&this.onRender(),o&&requestAnimationFrame(this.render.bind(this))}function oy(o=!1){this.notesOnScreen=0;let r=this.sideways?this.canvas.height:this.canvas.width,l=this.sideways?this.canvas.width:this.canvas.height,g=this.keyRange.max-this.keyRange.min,f=r/(g+1),D=f-p$*2,o0=this.noteFallingTimeMs/1e3,E0=this.noteAfterTriggerTimeMs/1e3,m0=this.seq.currentHighResolutionTime,c0=m0-E0,f1=o0+E0,x=c0+f1,X0=ay/f1,F0=[];this.synth.channelProperties.forEach(l2=>{if(this.showVisualPitch){let y1=l2.pitchBend-8192+this.visualPitchBendOffset;F0.push(l2.pitchBendRangeSemitones*(y1/8192*f))}else F0.push(0)});let b1=[];return this.noteTimes.forEach((l2,y1)=>{if(l2.renderStartIndex>=l2.notes.length||!this.renderChannels[y1])return;let Y2=l2.renderStartIndex,T2=l2.notes,V2=T2[Y2],i3=-1;for(;V2.start<=x&&(Y2++,!(this.notesOnScreen>$y));){let r3=V2.start+V2.length;if(r3>c0&&V2.length>0){let A0=V2.length/f1*l-p$*2;if(this.notesOnScreen<1e3||A0>X0){i3===-1&&(i3=Y2-1);let y5=(V2.start-c0)/f1*l,T3;if(this._notesFall?T3=l-A0-y5+p$:T3=y5+p$,V2.midiNotethis.keyRange.max){if(Y2>=T2.length)break;V2=T2[Y2];continue}let $3=V2.midiNote-this.keyRange.min,w6=f*$3+p$,s6,o9,J4,r4;if(this.sideways?(s6=T3,o9=w6,r4=D,J4=A0):(o9=T3,s6=w6,J4=D,r4=A0),this.notesOnScreen++,o)this.drawingContext.fillStyle=this.plainColors[y1],this.drawingContext.fillRect(s6+B$+p$,o9+B$,J4-B$*2,r4-B$*2);else{let V6;if(V2.start>m0||r3=T2.length)break;V2=T2[Y2]}i3>-1&&(l2.renderStartIndex=i3)}),b1.sort((l2,y1)=>y1.height-l2.height),b1}function ly(){let o=this.canvas.width/4,r=this.canvas.height/4;this.channelAnalysers.forEach((l,g)=>{let f=g%4,D=Math.floor(g/4),o0=!1;for(let x=g;x0){o0=!0;break}if(!o0){let x=this.canvas.width/4,X0=this.canvas.height/4,F0=x*f,b1=X0*D+X0/2;this.drawingContext.lineWidth=this.lineThickness,this.drawingContext.strokeStyle=this.channelColors[g],this.drawingContext.beginPath(),this.drawingContext.moveTo(F0,b1),this.drawingContext.lineTo(F0+x,b1),this.drawingContext.stroke();return}let E0=new Float32Array(l.frequencyBinCount);l.getFloatTimeDomainData(E0);let m0=o*f,c0=r*D+r/2,f1=this.waveMultiplier*r;if(this.drawingContext.lineWidth=this.lineThickness,this.drawingContext.strokeStyle=this.channelColors[g],this.drawingContext.beginPath(),this._stabilizeWaveforms){let x=E0.length/4,X0=o/x,F0=Math.floor(x/2),b1=E0.length-F0;for(let T2=b1;T2>=1;T2--)if(E0[T2-1]<0&&E0[T2]>=0){b1=T2;break}let l2=m0,y1=b1-F0,Y2=b1+F0;for(let T2=y1;T2{this.renderChannels[r.channel]=!r.isMuted}),this.updateFftSize()}function hy(){for(let o=0;o4096?this.delayNode.delayTime.value=f/this.synth.context.sampleRate/2:this.delayNode.delayTime.value=0)}}function uy(o){o.connectIndividualOutputs(this.channelAnalysers),o.eventHandler.addEvent("drumchange","renderer-drum-change",()=>{this.updateFftSize()})}function fy(){for(let o of this.channelAnalysers)o.disconnect();W5("%cAnalysers disconnected!",_1.recognized)}function dy(o){this.seq=o,this.seq.addOnTimeChangeEvent(()=>this.resetIndexes(),"renderer-time-change"),this.seq.addOnSongChangeEvent(async r=>{if(this.calculateNoteTimes(await this.seq.getMIDI()),this.resetIndexes(),r.RMIDInfo?.IPIC!==void 0){let l=new Blob([r.RMIDInfo?.IPIC.buffer]),g=URL.createObjectURL(l),f=this.canvas.classList.contains("light_mode")?0:.9;this.canvas.style.background=`linear-gradient(rgba(0, 0, 0, ${f}), rgba(0, 0, 0, ${f})), center center / cover url("${g}")`}else this.canvas.style.background=""},"renderer-song-change")}function Iy(){this.noteTimes&&this.noteTimes.forEach(o=>o.renderStartIndex=0)}function MB(o,r){let l=0;for(let g=8*(r-1);g>=0;g-=8)l|=o[o.currentIndex++]<>>0}function Qm(o,r){let l=new Array(r).fill(0);for(let g=r-1;g>=0;g--)l[g]=o&255,o>>=8;return l}var $h=.02;function Ey(o){function r(c0){return c0.messageData=new V3(c0.messageData.buffer),c0.messageData.currentIndex=0,6e7/MB(c0.messageData,3)}let l=[],f=o.tracks.flat();f.sort((c0,f1)=>c0.ticks-f1.ticks);for(let c0=0;c0<16;c0++)l.push({renderStartIndex:0,notes:[]});let D=0,o0=60/(120*o.timeDivision),E0=0,m0=0;for(;E0>4,x=c0.messageStatusByte&15;if(f1===8){let X0=l[x].notes.findLast(F0=>F0.midiNote===c0.messageData[0]&&F0.length===-1);if(X0){let F0=D-X0.start;X0.length=F0<$h&&x===Di?$h:F0}m0--}else if(f1===9)if(c0.messageData[1]===0){let X0=l[x].notes.findLast(F0=>F0.midiNote===c0.messageData[0]&&F0.length===-1);if(X0){let F0=D-X0.start;X0.length=F0<$h&&x===Di?$h:F0}m0--}else l[c0.messageStatusByte&15].notes.push({midiNote:c0.messageData[0],start:D,length:-1,velocity:c0.messageData[1]/127}),m0++;else c0.messageStatusByte===81&&(o0=60/(r(c0)*o.timeDivision));if(++E0>=f.length)break;D+=o0*(f[E0].ticks-c0.ticks)}m0>0&&l.forEach((c0,f1)=>c0.notes.filter(x=>x.length===-1).forEach(x=>{let X0=D-x.start;x.length=X0<$h&&f1===Di?$h:X0})),this.noteTimes=l,W5("%cFinished loading note times and ready to render the sequence!",_1.info)}var Pb=1024,Ob=4096,qb=2,Hb=2,BC=.6,pC=.5,B$=1,p$=1,CC=12,Ay=.6,ay=2,$y=81572,_i=class{onRender;constructor(r,l,g,f,D=""){this.noteFallingTimeMs=1e3,this.noteAfterTriggerTimeMs=0,this._keyRange={min:0,max:127},this.version="v"+D,this.visualPitchBendOffset=0,this.lineThickness=Hb,this._normalAnalyserFft=Pb,this._drumAnalyserFft=Ob,this.waveMultiplier=qb,this._notesFall=!0,this.sideways=!1,this._renderBool=!0,this.renderAnalysers=!0,this.renderNotes=!0,this.drawActiveNotes=!0,this.showVisualPitch=!0,this._stabilizeWaveforms=!0,this.renderChannels=Array(16).fill(!0),this.canvas=g,this.drawingContext=this.canvas.getContext("2d"),this.plainColors=r,this.computeColors(),this.synth=l,this.delayNode=f,this.notesOnScreen=0,this.channelAnalysers=[],this.createChannelAnalysers(l),this.connectChannelAnalysers(l)}get stabilizeWaveforms(){return this._stabilizeWaveforms}set stabilizeWaveforms(r){this._stabilizeWaveforms=r,this.updateFftSize()}get direction(){return this._notesFall?"down":"up"}set direction(r){this._notesFall=r==="down"}get normalAnalyserFft(){return this._normalAnalyserFft}set normalAnalyserFft(r){this._normalAnalyserFft=r,this.updateFftSize()}get drumAnalyserFft(){return this._drumAnalyserFft}set drumAnalyserFft(r){this._drumAnalyserFft=r,this.updateFftSize()}get renderBool(){return this._renderBool}set renderBool(r){this._renderBool=r,r===!0?this.connectChannelAnalysers(this.synth):this.disconnectChannelAnalysers()}get keyRange(){return this._keyRange}set keyRange(r){if(r.max===void 0||r.min===void 0)throw new TypeError("No min or max property!");if(r.min>r.max){let l=r.min;r.min=r.max,r.max=l}r.min=Math.max(0,r.min),r.max=Math.min(127,r.max),this._keyRange=r}toggleDarkMode(){this.canvas.classList.toggle("light_mode")}computeColors(){this.channelColors=this.plainColors.map(r=>{let l=this.drawingContext.createLinearGradient(0,0,this.canvas.width/128,0);return l.addColorStop(0,C$(r,g=>g*pC)),l.addColorStop(1,r),l}),this.darkerColors=this.plainColors.map(r=>{let l=this.drawingContext.createLinearGradient(0,0,this.canvas.width/128,0);return l.addColorStop(0,C$(r,g=>g*pC*BC)),l.addColorStop(1,C$(r,g=>g*BC)),l}),this.sidewaysChannelColors=this.plainColors.map(r=>{let l=this.drawingContext.createLinearGradient(0,0,0,this.canvas.width/128);return l.addColorStop(0,C$(r,g=>g*pC)),l.addColorStop(1,r),l}),this.sidewaysDarkerColors=this.plainColors.map(r=>{let l=this.drawingContext.createLinearGradient(0,0,0,this.canvas.width/128);return l.addColorStop(0,C$(r,g=>g*pC*BC)),l.addColorStop(1,C$(r,g=>g*BC)),l})}};_i.prototype.render=sy;_i.prototype.computeNotePositions=oy;_i.prototype.createChannelAnalysers=gy;_i.prototype.updateFftSize=hy;_i.prototype.connectChannelAnalysers=uy;_i.prototype.disconnectChannelAnalysers=fy;_i.prototype.connectSequencer=dy;_i.prototype.calculateNoteTimes=Ey;_i.prototype.resetIndexes=Iy;_i.prototype.renderWaveforms=ly;function o3(o,r){let l=0;for(let g=0;g>>0}function $7(o,r,l){for(let g=0;g>g*8&255}function Q9(o,r){o[o.currentIndex++]=r&255,o[o.currentIndex++]=r>>8}function l7(o,r){$7(o,r,4)}function RA(o,r){let l=r<<8|o;return l>32767?l-65536:l}function my(o){return o>127?o-256:o}function Ee(o,r,l=void 0,g=!0){if(l){let f=o.slice(o.currentIndex,o.currentIndex+r);return o.currentIndex+=r,new TextDecoder(l.replace(/[^\x20-\x7E]/g,"")).decode(f.buffer)}else{let f=!1,D="";for(let o0=0;o0127){if(g){f=!0;continue}else if(E0===0){f=!0;continue}}D+=String.fromCharCode(E0)}}return D}}function LA(o,r=0){let l=o.length;r>0&&(l=r);let g=new V3(l);return c7(g,o,r),g}function c7(o,r,l=0){l>0&&r.length>l&&(r=r.slice(0,l));for(let g=0;gr.length)for(let g=0;gl.header!=="LIST"?!1:(l.chunkData.currentIndex=0,Ee(l.chunkData,4)===r))}function QC(o){let r=[o&127];for(o>>=7;o>0;)r.unshift(o&127|128),o>>=7;return r}function yC(o){let r=[];for(let f of o.tracks){let D=[],o0=0,E0;for(let m0 of f){let c0=m0.ticks-o0,f1;m0.messageStatusByte<=K3.keySignature||m0.messageStatusByte===K3.sequenceSpecific?f1=[255,m0.messageStatusByte,...QC(m0.messageData.length),...m0.messageData]:m0.messageStatusByte===K3.systemExclusive?f1=[240,...QC(m0.messageData.length),...m0.messageData]:(f1=[],E0!==m0.messageStatusByte&&(E0=m0.messageStatusByte,f1.push(m0.messageStatusByte)),f1.push(...m0.messageData)),D.push(...QC(c0)),D.push(...f1),o0+=c0}r.push(new Uint8Array(D))}function l(f,D){for(let o0=0;o0{o.tracks.forEach((b1,l2)=>{if(o.midiPorts[l2]===F0)for(let y1=b1.length-1;y1>=0;y1--)b1[y1].messageStatusByte>=128&&b1[y1].messageStatusByte<240&&(b1[y1].messageStatusByte&15)===X0&&b1.splice(y1,1)})};g.forEach(X0=>{let F0=X0%16,b1=X0-F0,l2=o.midiPortChannelOffsets.findIndex(y1=>y1===b1);D(F0,l2),W5(`%cRemoving channel %c${X0}%c!`,_1.info,_1.recognized,_1.info)});let o0=!1,E0="gs",m0=[],c0=[];o.tracks.forEach((X0,F0)=>{X0.forEach(b1=>{let l2=b1.messageStatusByte&240;l2===K3.controllerChange?m0.push({track:F0,message:b1,channel:b1.messageStatusByte&15}):l2===K3.programChange?c0.push({track:F0,message:b1,channel:b1.messageStatusByte&15}):b1.messageStatusByte===K3.systemExclusive&&(b1.messageData[0]===67&&b1.messageData[2]===76&&b1.messageData[5]===126&&b1.messageData[6]===0?(W5("%cXG system on detected",_1.info),E0="xg",o0=!0):b1.messageData[0]===67&&b1.messageData[2]===76&&b1.messageData[3]===8&&b1.messageData[5]===3&&c0.push({track:F0,message:b1,channel:b1.messageData[4]}))})});let f1=(X0,F0,b1)=>o.tracks.reduce((l2,y1,Y2)=>{if(o.usedChannelsOnTrack[Y2].has(X0)&&o.midiPorts[Y2]===F0){let T2;b1?T2=y1.findIndex(V2=>(V2.messageStatusByte&240)===K3.noteOn):T2=y1.findIndex(V2=>V2.messageStatusByte>128&&V2.messageStatusByte<240&&(V2.messageStatusByte&15)===X0&&!(V2.messageStatusByte&K3.controllerChange===240&&(V2.messageData[0]===B3.resetAllControllers||V2.messageData[0]===B3.allNotesOff||V2.messageData[0]===B3.allSoundOff))),T2!==-1&&l2.push({index:T2,track:Y2})}return l2},[]),x=(X0,F0,b1)=>{let l2=m0.filter(y1=>y1.channel===X0&&y1.message.messageData[0]===b1&&o.midiPorts[y1.track]===F0);for(let y1=0;y1{let F0=X0.channel,b1=F0%16,l2=F0-b1,y1=o.midiPortChannelOffsets.findIndex(A0=>A0===l2),Y2=X0.controllerValue,T2=X0.controllerNumber;x(b1,y1,T2),W5(`%cNo controller %c${T2}%c on channel %c${F0}%c found. Adding it!`,_1.info,_1.unrecognized,_1.info,_1.value,_1.info);let V2=f1(b1,y1,!0);if(V2.length===0){Ie("Program change but no notes... ignoring!");return}let i3=V2.reduce((A0,y5)=>o.tracks[y5.track][y5.index].ticks{let F0=X0.channel%16,b1=X0.channel-F0,l2=o.midiPortChannelOffsets.findIndex($3=>$3===b1),y1=X0.isDrum?0:X0.bank,Y2=X0.program,T2=c0.filter($3=>o.midiPorts[$3.track]===l2&&$3.channel===F0);if(x(F0,l2,B3.bankSelect),x(F0,l2,B3.lsbForControl0BankSelect),(X0.isDrum||y1>0)&&!o0&&(o.tracks.forEach($3=>{for(let w6=0;w6<$3.length;w6++){let s6=$3[w6];if(s6.messageStatusByte===K3.systemExclusive)if(s6.messageData[0]===65&&s6.messageData[2]===66&&s6.messageData[6]===127){o0=!0,W5("%cGS on detected!",_1.recognized);break}else s6.messageData[0]===126&&s6.messageData[2]===9&&(W5("%cGM/2 on detected, removing!",_1.info),$3.splice(w6,1),w6--)}}),!o0)){let $3=0;o.tracks[0][0].messageStatusByte===K3.trackName&&$3++,o.tracks[0].splice($3,0,TB(0)),W5("%cGS on not detected. Adding it.",_1.info),o0=!0}for(let $3 of T2)o.tracks[$3.track].splice(o.tracks[$3.track].indexOf($3.message),1);let V2=f1(F0,l2,b1>0);if(V2.length===0){Ie("Program change but no notes... ignoring!");return}let i3=V2.reduce(($3,w6)=>o.tracks[w6.track][w6.index].ticks{if(o.midiPorts[T2]!==b1||!o.usedChannelsOnTrack[T2].has(F0))return;let V2=K3.noteOn|F0,i3=K3.noteOff|F0,r3=K3.polyPressure|F0;Y2.forEach(A0=>{A0.messageStatusByte!==V2&&A0.messageStatusByte!==i3&&A0.messageStatusByte!==r3||(A0.messageData[0]=Math.max(0,Math.min(127,A0.messageData[0]+l2)))})}),y1!==0){let Y2=o.tracks.find((s6,o9)=>o.usedChannelsOnTrack[o9].has(X0.channel));if(Y2===void 0){Ie(`Channel ${X0.channel} unused but transpose requested???`);continue}let T2=K3.noteOn|X0.channel%16,V2=Y2.findIndex(s6=>s6.messageStatusByte===T2);if(V2===-1){Ie(`No notes on channel ${X0.channel} but transpose requested???`);continue}let i3=Y2[V2].ticks,r3=y1*64+64,A0=K3.controllerChange|X0.channel%16,y5=new mi(i3,A0,new V3([B3.RPNMsb,0])),T3=new mi(i3,A0,new V3([B3.RPNLsb,1])),$3=new mi(i3,A0,new V3([B3.dataEntryMsb,r3])),w6=new mi(i3,A0,new V3([B3.lsbForControl6DataEntry,0]));Y2.splice(V2,0,w6),Y2.splice(V2,0,$3),Y2.splice(V2,0,T3),Y2.splice(V2,0,y5)}}i4()}function lh(o,r){let l=[],g=[],f=[],D=[];r.channelSnapshots.forEach((o0,E0)=>{if(o0.isMuted){g.push(E0);return}let m0=o0.channelTransposeKeyShift+o0.customControllers[mC.channelTransposeFine]/100;m0!==0&&l.push({channel:E0,keyShift:m0}),o0.lockPreset&&f.push({channel:E0,program:o0.program,bank:o0.bank,isDrum:o0.drumChannel}),o0.lockedControllers.forEach((c0,f1)=>{if(!c0||f1>127||f1===B3.bankSelect)return;let x=o0.midiControllers[f1]>>7;D.push({channel:E0,controllerNumber:f1,controllerValue:x})})}),Jb(o,f,D,g,l)}var Lt={name:"INAM",album:"IPRD",artist:"IART",genre:"IGNR",picture:"IPIC",copyright:"ICOP",creationDate:"ICRD",comment:"ICMT",engineer:"IENG",software:"ISFT",encoding:"IENC",midiEncoding:"MENC",bankOffset:"DBNK"},FA="utf-8",Vb="Created using SpessaSynth";function By(o,r,l,g=0,f="Shift_JIS",D={},o0=!0){if(cr("%cWriting the RMIDI File...",_1.info),W5(`%cConfiguration: Bank offset: %c${g}%c, encoding: %c${f}`,_1.info,_1.value,_1.info,_1.value),W5("metadata",D),W5("Initial bank offset",r.bankOffset),o0){let Y2=function(){let r3=0,A0=1/0;return r.tracks.forEach((y5,T3)=>{l2[T3]>=y5.length||y5[l2[T3]].ticksA0>r3?A0:r3),i3=[];for(let r3=0;r30;){let r3=Y2(),A0=r.tracks[r3];if(l2[r3]>=A0.length){y1--;continue}let y5=A0[l2[r3]];l2[r3]++;let T3=r.midiPortChannelOffsets[T2[r3]];if(y5.messageStatusByte===K3.midiPort){T2[r3]=y5.messageData[0];continue}let $3=y5.messageStatusByte&240;if($3!==K3.controllerChange&&$3!==K3.programChange&&$3!==K3.systemExclusive)continue;if($3===K3.systemExclusive){if(y5.messageData[0]!==65||y5.messageData[2]!==66||y5.messageData[3]!==18||y5.messageData[4]!==64||!(y5.messageData[5]&16)||y5.messageData[6]!==21){y5.messageData[0]===67&&y5.messageData[2]===76&&y5.messageData[5]===126&&y5.messageData[6]===0?F0="xg":y5.messageData[0]===65&&y5.messageData[2]===66&&y5.messageData[6]===127?F0="gs":y5.messageData[0]===126&&y5.messageData[2]===9&&(F0="gm",b1.push({tNum:r3,e:y5}));continue}let o9=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][y5.messageData[5]&15]+T3;i3[o9].drums=!!(y5.messageData[7]>0&&y5.messageData[5]>>4);continue}let w6=(y5.messageStatusByte&15)+T3,s6=i3[w6];if($3===K3.programChange){s6.drums?l.presets.findIndex(r4=>r4.program===y5.messageData[0]&&r4.bank===128)===-1&&(y5.messageData[0]=l.presets.find(r4=>r4.bank===128)?.program||0):l.presets.findIndex(r4=>r4.program===y5.messageData[0]&&r4.bank!==128)===-1&&(y5.messageData[0]=l.presets.find(r4=>r4.bank!==128)?.program||0),s6.program=y5.messageData[0];let o9=Math.max(0,s6.lastBank?.messageData[1]-r.bankOffset),J4=s6.drums?128:o9;if(s6.lastBank===void 0)continue;if(F0==="xg"&&s6.drums&&(i3[w6].lastBank.messageData[1]=127),l.presets.findIndex(r4=>r4.bank===J4&&r4.program===y5.messageData[0])===-1){let r4=l.presets.find(V6=>V6.program===y5.messageData[0])?.bank+g||g;s6.lastBank.messageData[1]=r4,W5(`%cNo preset %c${J4}:${y5.messageData[0]}%c. Changing bank to ${r4}.`,_1.info,_1.recognized,_1.info)}else{let V6=(J4===128?F0==="xg"?127:0:o9)+g;s6.lastBank.messageData[1]=V6,W5(`%cPreset %c${J4}:${y5.messageData[0]}%c exists. Changing bank to ${V6}.`,_1.info,_1.recognized,_1.info)}continue}y5.messageData[0]===B3.bankSelect&&(s6.hasBankSelect=!0,F0==="xg"&&(s6.drums=y5.messageData[1]===120||y5.messageData[1]===126||y5.messageData[1]===127),s6.lastBank=y5)}if(i3.forEach((r3,A0)=>{if(r3.hasBankSelect===!0)return;let y5=A0%16,T3=K3.programChange|y5,$3=Math.floor(A0/16)*16,w6=r.midiPortChannelOffsets.indexOf($3),s6=r.tracks.find((V6,We)=>r.midiPorts[We]===w6&&r.usedChannelsOnTrack[We].has(y5));if(s6===void 0)return;let o9=s6.findIndex(V6=>V6.messageStatusByte===T3);if(o9===-1){let V6=s6.findIndex(Ji=>Ji.messageStatusByte>128&&Ji.messageStatusByte<240&&(Ji.messageStatusByte&15)===y5);if(V6===-1)return;let We=s6[V6].ticks,qr=l.getPreset(0,0).program;s6.splice(V6,0,new mi(We,K3.programChange|y5,new V3([qr]))),o9=V6}W5(`%cAdding bank select for %c${A0}`,_1.info,_1.recognized);let J4=s6[o9].ticks,r4=l.getPreset(0,r3.program)?.bank+g||g;s6.splice(o9,0,new mi(J4,K3.controllerChange|y5,new V3([B3.bankSelect,r4])))}),F0!=="gs"&&F0!=="xg"){for(let A0 of b1)r.tracks[A0.tNum].splice(r.tracks[A0.tNum].indexOf(A0.e),1);let r3=0;r.tracks[0][0].messageStatusByte===K3.trackName&&r3++,r.tracks[0].splice(r3,0,TB(0))}}let E0=new V3(yC(r).buffer),m0=[LA("INFO")],c0=new TextEncoder;if(m0.push(Ze(Lt.software,c0.encode("SpessaSynth"),!0)),D.name!==void 0?(m0.push(Ze(Lt.name,c0.encode(D.name),!0)),f=FA):m0.push(Ze(Lt.name,r.rawMidiName,!0)),D.creationDate!==void 0)f=FA,m0.push(Ze(Lt.creationDate,c0.encode(D.creationDate),!0));else{let F0=new Date().toLocaleString(void 0,{weekday:"long",year:"numeric",month:"long",day:"numeric",hour:"numeric",minute:"numeric"});m0.push(Ze(Lt.creationDate,LA(F0),!0))}if(D.comment!==void 0&&(f=FA,m0.push(Ze(Lt.comment,c0.encode(D.comment)))),D.engineer!==void 0&&m0.push(Ze(Lt.engineer,c0.encode(D.engineer),!0)),D.album!==void 0&&(f=FA,m0.push(Ze(Lt.album,c0.encode(D.album),!0))),D.artist!==void 0&&(f=FA,m0.push(Ze(Lt.artist,c0.encode(D.artist),!0))),D.genre!==void 0&&(f=FA,m0.push(Ze(Lt.genre,c0.encode(D.genre),!0))),D.picture!==void 0&&m0.push(Ze(Lt.picture,new Uint8Array(D.picture))),D.copyright!==void 0)f=FA,m0.push(Ze(Lt.copyright,c0.encode(D.copyright),!0));else{let F0=r.copyright.length>0?r.copyright:Vb;m0.push(Ze(Lt.copyright,LA(F0)))}let f1=new V3(2);$7(f1,g,2),m0.push(Ze(Lt.bankOffset,f1)),D.midiEncoding!==void 0&&(m0.push(Ze(Lt.midiEncoding,c0.encode(D.midiEncoding))),f=FA),m0.push(Ze(Lt.encoding,LA(f)));let x=bn(m0),X0=bn([LA("RMID"),Ze("data",E0),Ze("LIST",x),o]);return W5("%cFinished!",_1.info),i4(),Ze("RIFF",X0)}function ym(o,r){let l=0;for(;o>0;){let g=r.tempoChanges.find(D=>D.ticks=128){this.MIDIout.send(g);return}break;case MA.songChange:let f=l[0];this.songIndex=l[1],this.midiData=f,this.hasDummyData=!1,this.absoluteStartTime=0,this.duration=this.midiData.duration,Object.entries(this.onSongChange).forEach(E0=>E0[1](f)),this.unpause();break;case MA.textEvent:let D=l;this.onTextEvent&&this.onTextEvent(D[0],D[1]);break;case MA.timeChange:let o0=this.synth.currentTime-l;Object.entries(this.onTimeChange).forEach(E0=>E0[1](o0)),this.unpause(),this._recalculateStartTime(o0);break;case MA.pause:this.pausedTime=this.currentTime,this.isFinished=l,this.isFinished&&Object.entries(this.onSongEnded).forEach(E0=>E0[1]());break;case MA.midiError:if(this.onError)this.onError(l);else throw new Error(l);return;case MA.getMIDI:this._getMIDIResolve&&this._getMIDIResolve(l)}}_recalculateStartTime(r){this.absoluteStartTime=this.synth.currentTime-r/this._playbackRate,this.highResTimeOffset=(this.synth.currentTime-performance.now()/1e3)*this._playbackRate}async getMIDI(){return new Promise(r=>{this._getMIDIResolve=r,this._sendMessage(Ri.getMIDI,void 0)})}loadNewSongList(r){this.pause(),this.midiData=py,this.hasDummyData=!0,this.duration=99999,this._sendMessage(Ri.loadNewSongList,r),this.songIndex=0,this.songsAmount=r.length,this.songsAmount>1&&(this.loop=!1)}connectMidiOutput(r){this.resetMIDIOut(),this.MIDIout=r,this._sendMessage(Ri.changeMIDIMessageSending,r!==void 0),this.currentTime-=.1}pause(){if(this.paused){Ie("Already paused");return}this.pausedTime=this.currentTime,this._sendMessage(Ri.pause)}unpause(){this.pausedTime=void 0,this.isFinished=!1}play(r=!1){this.isFinished&&(r=!0),this._recalculateStartTime(this.pausedTime||0),this.unpause(),this._sendMessage(Ri.play,r)}stop(){this._sendMessage(Ri.stop)}};var wm=["Shift_JIS","windows-1250","utf-8","utf-16","utf-16le","utf-16be","latin1","ISO-8859-1","ISO-8859-2","ISO-8859-3","ISO-8859-4","ISO-8859-5","ISO-8859-6","ISO-8859-7","ISO-8859-8","ISO-8859-9","ISO-8859-10","ISO-8859-11","ISO-8859-13","ISO-8859-14","ISO-8859-15","ISO-8859-16","windows-1251","windows-1252","windows-1253","windows-1254","windows-1255","windows-1256","windows-1257","windows-1258","EUC-JP","ISO-2022-JP","EUC-KR","Big5","GB18030"];function Qy(o){return` `}function Q$(o){return` From b9739cde38dff4f26e6787ae3fb9c6caef6b5674 Mon Sep 17 00:00:00 2001 From: spessasus Date: Fri, 11 Oct 2024 19:33:34 +0200 Subject: [PATCH 2/2] Fix CC 10 panning Addresses #59 --- .../soundfont/basic_soundfont/modulator.js | 3 +- .../synthetizer/worklet_processor.min.js | 2 +- src/website/minified/demo_main.min.js | 38 +++++++++---------- src/website/minified/local_main.min.js | 38 +++++++++---------- 4 files changed, 41 insertions(+), 40 deletions(-) diff --git a/src/spessasynth_lib/soundfont/basic_soundfont/modulator.js b/src/spessasynth_lib/soundfont/basic_soundfont/modulator.js index def56d21..f845cac3 100644 --- a/src/spessasynth_lib/soundfont/basic_soundfont/modulator.js +++ b/src/spessasynth_lib/soundfont/basic_soundfont/modulator.js @@ -206,7 +206,8 @@ export const defaultModulators = [ new Modulator({ srcEnum: 0x020E, dest: generatorTypes.fineTune, amt: 12700, secSrcEnum: 0x0010, transform: 0 }), // pan to uhh, pan - new Modulator({ srcEnum: 0x028A, dest: generatorTypes.pan, amt: 1000, secSrcEnum: 0x0, transform: 0 }), + // amount is 500 instead of 1000, see #59 + new Modulator({ srcEnum: 0x028A, dest: generatorTypes.pan, amt: 500, secSrcEnum: 0x0, transform: 0 }), // expression to attenuation new Modulator({ diff --git a/src/spessasynth_lib/synthetizer/worklet_processor.min.js b/src/spessasynth_lib/synthetizer/worklet_processor.min.js index 9f715807..f5749203 100644 --- a/src/spessasynth_lib/synthetizer/worklet_processor.min.js +++ b/src/spessasynth_lib/synthetizer/worklet_processor.min.js @@ -6,7 +6,7 @@ var Bn=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(A,e)=>( Transform type: ${this.transformType} -`}},pt=960,yt=cA.concave;function TA(t,A,e,n,s){return t<<10|A<<9|e<<8|n<<7|s}var Pe=[new j({srcEnum:TA(yt,0,1,0,K.noteOnVelocity),dest:g.initialAttenuation,amt:pt,secSrcEnum:0,transform:0}),new j({srcEnum:129,dest:g.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new j({srcEnum:TA(yt,0,1,1,m.mainVolume),dest:g.initialAttenuation,amt:pt,secSrcEnum:0,transform:0}),new j({srcEnum:13,dest:g.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new j({srcEnum:526,dest:g.fineTune,amt:12700,secSrcEnum:16,transform:0}),new j({srcEnum:650,dest:g.pan,amt:1e3,secSrcEnum:0,transform:0}),new j({srcEnum:TA(yt,0,1,1,m.expressionController),dest:g.initialAttenuation,amt:pt,secSrcEnum:0,transform:0}),new j({srcEnum:219,dest:g.reverbEffectsSend,amt:750,secSrcEnum:0,transform:0}),new j({srcEnum:221,dest:g.chorusEffectsSend,amt:750,secSrcEnum:0,transform:0}),new j({srcEnum:TA(cA.linear,0,0,0,K.polyPressure),dest:g.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new j({srcEnum:TA(cA.linear,0,0,1,m.tremoloDepth),dest:g.modLfoToVolume,amt:24,secSrcEnum:0,transform:0}),new j({srcEnum:TA(cA.linear,1,0,1,m.releaseTime),dest:g.releaseVolEnv,amt:1200,secSrcEnum:0,transform:0}),new j({srcEnum:TA(cA.linear,1,0,1,m.brightness),dest:g.initialFilterFc,amt:6e3,secSrcEnum:0,transform:0}),new j({srcEnum:TA(cA.linear,1,0,1,m.timbreHarmonicContent),dest:g.initialFilterQ,amt:250,secSrcEnum:0,transform:0})];var EA=128,Ke=147,St=new Int16Array(Ke).fill(0),dA=(t,A)=>St[t]=A<<7;dA(m.mainVolume,100);dA(m.balance,64);dA(m.expressionController,127);dA(m.pan,64);dA(m.timbreHarmonicContent,64);dA(m.releaseTime,64);dA(m.attackTime,64);dA(m.brightness,64);dA(m.soundController6,64);dA(m.soundController7,64);dA(m.soundController8,64);dA(m.soundController9,64);dA(m.generalPurposeController6,64);dA(m.generalPurposeController8,64);dA(EA+K.pitchWheel,64);dA(EA+K.pitchWheelRange,2);var gA={channelTuning:0,channelTransposeFine:1,modulationMultiplier:2,masterTuning:3,channelTuningSemitones:4},Dt=Object.keys(gA).length,kt=new Float32Array(Dt);kt[gA.modulationMultiplier]=1;var fA={Idle:0,RPCoarse:1,RPFine:2,NRPCoarse:3,NRPFine:4,DataCoarse:5,DataFine:6};function yn(t=!1){let A={midiControllers:new Int16Array(Ke),lockedControllers:Array(Ke).fill(!1),customControllers:new Float32Array(Dt),NRPCoarse:0,NRPFine:0,RPValue:0,dataEntryState:fA.Idle,voices:[],sustainedVoices:[],cachedVoices:[],preset:this.defaultPreset,presetUsesOverride:!1,channelTransposeKeyShift:0,channelOctaveTuning:new Int8Array(12),keyCentTuning:new Int16Array(128),channelVibrato:{delay:0,depth:0,rate:0},velocityOverride:0,lockGSNRPNParams:!1,holdPedal:!1,isMuted:!1,drumChannel:!1,lockPreset:!1};for(let e=0;e<128;e++)A.cachedVoices.push([]);this.workletProcessorChannels.push(A),this.resetControllers(this.workletProcessorChannels.length-1),this.sendChannelProperties(),t&&this.callEvent("newchannel",void 0)}var wt={velocityOverride:128};var Sn="spessasynth-worklet-system",Dn=350,SA=9,Ve=16,Oe="gs";var bA={loadNewSongList:0,pause:1,stop:2,play:3,setTime:4,changeMIDIMessageSending:5,setPlaybackRate:6,setLoop:7,changeSong:8,getMIDI:9,setSkipToFirstNote:10},wA={midiEvent:0,songChange:1,textEvent:2,timeChange:3,pause:4,getMIDI:5,midiError:6};function zA(t,A){let e=0;for(let n=8*(A-1);n>=0;n-=8)e|=t[t.currentIndex++]<>>0}function kn(t,A){if(this.ignoreEvents)return;if(this.sendMIDIMessages&&t.messageStatusByte>=128){this.sendMIDIMessage([t.messageStatusByte,...t.messageData]);return}let e=we(t.messageStatusByte),n=this.midiPortChannelOffsets[this.midiPorts[A]]||0;switch(e.channel+=n,e.status){case F.noteOn:let s=t.messageData[1];if(s>0)this.synth.noteOn(e.channel,t.messageData[0],s),this.playingNotes.push({midiNote:t.messageData[0],channel:e.channel,velocity:s});else{this.synth.noteOff(e.channel,t.messageData[0]);let I=this.playingNotes.findIndex(C=>C.midiNote===t.messageData[0]&&C.channel===e.channel);I!==-1&&this.playingNotes.splice(I,1)}break;case F.noteOff:this.synth.noteOff(e.channel,t.messageData[0]);let o=this.playingNotes.findIndex(I=>I.midiNote===t.messageData[0]&&I.channel===e.channel);o!==-1&&this.playingNotes.splice(o,1);break;case F.pitchBend:this.synth.pitchWheel(e.channel,t.messageData[1],t.messageData[0]);break;case F.controllerChange:this.synth.controllerChange(e.channel,t.messageData[0],t.messageData[1]);break;case F.programChange:this.synth.programChange(e.channel,t.messageData[0]);break;case F.polyPressure:this.synth.polyPressure(e.channel,t.messageData[0],t.messageData[1]);break;case F.channelPressure:this.synth.channelPressure(e.channel,t.messageData[0]);break;case F.systemExclusive:this.synth.systemExclusive(t.messageData,n);break;case F.setTempo:this.oneTickToSeconds=60/(No(t)*this.midiData.timeDivision),this.oneTickToSeconds===0&&(this.oneTickToSeconds=60/(120*this.midiData.timeDivision),T("invalid tempo! falling back to 120 BPM"));break;case F.timeSignature:case F.endOfTrack:case F.midiChannelPrefix:case F.songPosition:case F.activeSensing:case F.keySignature:case F.sequenceNumber:case F.sequenceSpecific:break;case F.text:case F.lyric:case F.copyright:case F.trackName:case F.marker:case F.cuePoint:case F.instrumentName:case F.programName:this.post(wA.textEvent,[t.messageData,e.status]);break;case F.midiPort:this.assignMIDIPort(A,t.messageData[0]);break;case F.reset:this.synth.stopAllChannels(),this.synth.resetAllControllers();break;default:T(`%cUnrecognized Event: %c${t.messageStatusByte}%c status byte: %c${Object.keys(F).find(I=>F[I]===e.status)}`,r.warn,r.unrecognized,r.warn,r.value);break}}function wn(){for(let t=0;t<16;t++)this.synth.createWorkletChannel(!0),t===SA&&this.synth.setDrums(this.synth.workletProcessorChannels.length-1,!0)}function No(t){return t.messageData.currentIndex=0,6e7/zA(t.messageData,3)}function Fn(){let t=this.currentTime;for(;this.playedTime1&&this.nextSong();return}let n=this.tracks[A][this.eventIndex[A]];if(this.playedTime+=this.oneTickToSeconds*(n.ticks-e.ticks),this.midiData.loop.end<=e.ticks&&this.loop&&this.currentLoopCount>0){this.currentLoopCount--,this.setTimeTicks(this.midiData.loop.start);return}else if(t>=this.duration){if(this.loop&&this.currentLoopCount>0){this.currentLoopCount--,this.setTimeTicks(this.midiData.loop.start);return}this.eventIndex[A]--,this.pause(!0),this.songs.length>1&&this.nextSong();return}}}function Rn(){let t=0,A=1/0;return this.tracks.forEach((e,n)=>{this.eventIndex[n]>=e.length||e[this.eventIndex[n]].ticks>>0}function Ee(t,A,e){for(let n=0;n>n*8&255}function J(t,A){t[t.currentIndex++]=A&255,t[t.currentIndex++]=A>>8}function lA(t,A){Ee(t,A,4)}function jA(t,A){let e=A<<8|t;return e>32767?e-65536:e}function Gn(t){return t>127?t-256:t}function V(t,A,e=void 0,n=!0){if(e){let s=t.slice(t.currentIndex,t.currentIndex+A);return t.currentIndex+=A,new TextDecoder(e.replace(/[^\x20-\x7E]/g,"")).decode(s.buffer)}else{let s=!1,o="";for(let I=0;I127){if(n){s=!0;continue}else if(C===0){s=!0;continue}}o+=String.fromCharCode(C)}}return o}}function FA(t,A,e=0){e>0&&A.length>e&&(A=A.slice(0,e));for(let n=0;nA.length)for(let n=0;ne.header!=="LIST"?!1:(e.chunkData.currentIndex=0,V(e.chunkData,4)===A))}function Xe(t){let A=0;for(;t;){let e=t[t.currentIndex++];if(A=A<<7|e&127,e>>7!==1)break}return A}var We={name:"INAM",album:"IPRD",artist:"IART",genre:"IGNR",picture:"IPIC",copyright:"ICOP",creationDate:"ICRD",comment:"ICMT",engineer:"IENG",software:"ISFT",encoding:"IENC",midiEncoding:"MENC",bankOffset:"DBNK"};var _e=class{constructor(){this.timeDivision=0,this.duration=0,this.tempoChanges=[{ticks:0,tempo:120}],this.copyright="",this.tracksAmount=0,this.lyrics=[],this.firstNoteOn=0,this.keyRange={min:0,max:127},this.lastVoiceEventTick=0,this.midiPorts=[0],this.midiPortChannelOffsets=[0],this.usedChannelsOnTrack=[],this.loop={start:0,end:0},this.midiName="",this.fileName="",this.rawMidiName=void 0,this.embeddedSoundFont=void 0,this.format=0,this.RMIDInfo={},this.bankOffset=0,this.tracks=[]}};function Be(t,A){let e=0;for(;t>0;){let n=A.tempoChanges.find(o=>o.ticksSt[t]=A<<7;dA(m.mainVolume,100);dA(m.balance,64);dA(m.expressionController,127);dA(m.pan,64);dA(m.timbreHarmonicContent,64);dA(m.releaseTime,64);dA(m.attackTime,64);dA(m.brightness,64);dA(m.soundController6,64);dA(m.soundController7,64);dA(m.soundController8,64);dA(m.soundController9,64);dA(m.generalPurposeController6,64);dA(m.generalPurposeController8,64);dA(EA+K.pitchWheel,64);dA(EA+K.pitchWheelRange,2);var gA={channelTuning:0,channelTransposeFine:1,modulationMultiplier:2,masterTuning:3,channelTuningSemitones:4},Dt=Object.keys(gA).length,kt=new Float32Array(Dt);kt[gA.modulationMultiplier]=1;var fA={Idle:0,RPCoarse:1,RPFine:2,NRPCoarse:3,NRPFine:4,DataCoarse:5,DataFine:6};function yn(t=!1){let A={midiControllers:new Int16Array(Ke),lockedControllers:Array(Ke).fill(!1),customControllers:new Float32Array(Dt),NRPCoarse:0,NRPFine:0,RPValue:0,dataEntryState:fA.Idle,voices:[],sustainedVoices:[],cachedVoices:[],preset:this.defaultPreset,presetUsesOverride:!1,channelTransposeKeyShift:0,channelOctaveTuning:new Int8Array(12),keyCentTuning:new Int16Array(128),channelVibrato:{delay:0,depth:0,rate:0},velocityOverride:0,lockGSNRPNParams:!1,holdPedal:!1,isMuted:!1,drumChannel:!1,lockPreset:!1};for(let e=0;e<128;e++)A.cachedVoices.push([]);this.workletProcessorChannels.push(A),this.resetControllers(this.workletProcessorChannels.length-1),this.sendChannelProperties(),t&&this.callEvent("newchannel",void 0)}var wt={velocityOverride:128};var Sn="spessasynth-worklet-system",Dn=350,SA=9,Ve=16,Oe="gs";var bA={loadNewSongList:0,pause:1,stop:2,play:3,setTime:4,changeMIDIMessageSending:5,setPlaybackRate:6,setLoop:7,changeSong:8,getMIDI:9,setSkipToFirstNote:10},wA={midiEvent:0,songChange:1,textEvent:2,timeChange:3,pause:4,getMIDI:5,midiError:6};function zA(t,A){let e=0;for(let n=8*(A-1);n>=0;n-=8)e|=t[t.currentIndex++]<>>0}function kn(t,A){if(this.ignoreEvents)return;if(this.sendMIDIMessages&&t.messageStatusByte>=128){this.sendMIDIMessage([t.messageStatusByte,...t.messageData]);return}let e=we(t.messageStatusByte),n=this.midiPortChannelOffsets[this.midiPorts[A]]||0;switch(e.channel+=n,e.status){case F.noteOn:let s=t.messageData[1];if(s>0)this.synth.noteOn(e.channel,t.messageData[0],s),this.playingNotes.push({midiNote:t.messageData[0],channel:e.channel,velocity:s});else{this.synth.noteOff(e.channel,t.messageData[0]);let I=this.playingNotes.findIndex(C=>C.midiNote===t.messageData[0]&&C.channel===e.channel);I!==-1&&this.playingNotes.splice(I,1)}break;case F.noteOff:this.synth.noteOff(e.channel,t.messageData[0]);let o=this.playingNotes.findIndex(I=>I.midiNote===t.messageData[0]&&I.channel===e.channel);o!==-1&&this.playingNotes.splice(o,1);break;case F.pitchBend:this.synth.pitchWheel(e.channel,t.messageData[1],t.messageData[0]);break;case F.controllerChange:this.synth.controllerChange(e.channel,t.messageData[0],t.messageData[1]);break;case F.programChange:this.synth.programChange(e.channel,t.messageData[0]);break;case F.polyPressure:this.synth.polyPressure(e.channel,t.messageData[0],t.messageData[1]);break;case F.channelPressure:this.synth.channelPressure(e.channel,t.messageData[0]);break;case F.systemExclusive:this.synth.systemExclusive(t.messageData,n);break;case F.setTempo:this.oneTickToSeconds=60/(No(t)*this.midiData.timeDivision),this.oneTickToSeconds===0&&(this.oneTickToSeconds=60/(120*this.midiData.timeDivision),T("invalid tempo! falling back to 120 BPM"));break;case F.timeSignature:case F.endOfTrack:case F.midiChannelPrefix:case F.songPosition:case F.activeSensing:case F.keySignature:case F.sequenceNumber:case F.sequenceSpecific:break;case F.text:case F.lyric:case F.copyright:case F.trackName:case F.marker:case F.cuePoint:case F.instrumentName:case F.programName:this.post(wA.textEvent,[t.messageData,e.status]);break;case F.midiPort:this.assignMIDIPort(A,t.messageData[0]);break;case F.reset:this.synth.stopAllChannels(),this.synth.resetAllControllers();break;default:T(`%cUnrecognized Event: %c${t.messageStatusByte}%c status byte: %c${Object.keys(F).find(I=>F[I]===e.status)}`,r.warn,r.unrecognized,r.warn,r.value);break}}function wn(){for(let t=0;t<16;t++)this.synth.createWorkletChannel(!0),t===SA&&this.synth.setDrums(this.synth.workletProcessorChannels.length-1,!0)}function No(t){return t.messageData.currentIndex=0,6e7/zA(t.messageData,3)}function Fn(){let t=this.currentTime;for(;this.playedTime1&&this.nextSong();return}let n=this.tracks[A][this.eventIndex[A]];if(this.playedTime+=this.oneTickToSeconds*(n.ticks-e.ticks),this.midiData.loop.end<=e.ticks&&this.loop&&this.currentLoopCount>0){this.currentLoopCount--,this.setTimeTicks(this.midiData.loop.start);return}else if(t>=this.duration){if(this.loop&&this.currentLoopCount>0){this.currentLoopCount--,this.setTimeTicks(this.midiData.loop.start);return}this.eventIndex[A]--,this.pause(!0),this.songs.length>1&&this.nextSong();return}}}function Rn(){let t=0,A=1/0;return this.tracks.forEach((e,n)=>{this.eventIndex[n]>=e.length||e[this.eventIndex[n]].ticks>>0}function Ee(t,A,e){for(let n=0;n>n*8&255}function J(t,A){t[t.currentIndex++]=A&255,t[t.currentIndex++]=A>>8}function lA(t,A){Ee(t,A,4)}function jA(t,A){let e=A<<8|t;return e>32767?e-65536:e}function Gn(t){return t>127?t-256:t}function V(t,A,e=void 0,n=!0){if(e){let s=t.slice(t.currentIndex,t.currentIndex+A);return t.currentIndex+=A,new TextDecoder(e.replace(/[^\x20-\x7E]/g,"")).decode(s.buffer)}else{let s=!1,o="";for(let I=0;I127){if(n){s=!0;continue}else if(C===0){s=!0;continue}}o+=String.fromCharCode(C)}}return o}}function FA(t,A,e=0){e>0&&A.length>e&&(A=A.slice(0,e));for(let n=0;nA.length)for(let n=0;ne.header!=="LIST"?!1:(e.chunkData.currentIndex=0,V(e.chunkData,4)===A))}function Xe(t){let A=0;for(;t;){let e=t[t.currentIndex++];if(A=A<<7|e&127,e>>7!==1)break}return A}var We={name:"INAM",album:"IPRD",artist:"IART",genre:"IGNR",picture:"IPIC",copyright:"ICOP",creationDate:"ICRD",comment:"ICMT",engineer:"IENG",software:"ISFT",encoding:"IENC",midiEncoding:"MENC",bankOffset:"DBNK"};var _e=class{constructor(){this.timeDivision=0,this.duration=0,this.tempoChanges=[{ticks:0,tempo:120}],this.copyright="",this.tracksAmount=0,this.lyrics=[],this.firstNoteOn=0,this.keyRange={min:0,max:127},this.lastVoiceEventTick=0,this.midiPorts=[0],this.midiPortChannelOffsets=[0],this.usedChannelsOnTrack=[],this.loop={start:0,end:0},this.midiName="",this.fileName="",this.rawMidiName=void 0,this.embeddedSoundFont=void 0,this.format=0,this.RMIDInfo={},this.bankOffset=0,this.tracks=[]}};function Be(t,A){let e=0;for(;t>0;){let n=A.tempoChanges.find(o=>o.ticks0&&(b+=this.tracks[S-1][this.tracks[S-1].length-1].ticks);w.data.currentIndexthis.lastVoiceEventTick&&(this.lastVoiceEventTick=b),_=cn[i>>4],(i&240)===F.noteOn){G.add(sA);let rA=w.data[w.data.currentIndex];this.keyRange.min=Math.min(this.keyRange.min,rA),this.keyRange.max=Math.max(this.keyRange.max,rA)}x=i;break}let v=new Y(_),z=w.data.slice(w.data.currentIndex,w.data.currentIndex+_);w.data.currentIndex+=_,v.set(z,0);let oA=new Ie(b,i,v);switch(k.push(oA),sA){case-2:switch(i){case F.setTempo:this.tempoChanges.push({ticks:b,tempo:6e7/zA(z,3)});break;case F.marker:switch(V(v,v.length).trim().toLowerCase()){default:break;case"start":case"loopstart":d=b;break;case"loopend":c=b}v.currentIndex=0;break;case F.midiPort:let CA=v[0];this.midiPorts[S]=CA,this.midiPortChannelOffsets[CA]===void 0&&(this.midiPortChannelOffsets[CA]=l,l+=16);break;case F.copyright:o||(this.copyright+=V(v,v.length,void 0,!1)+` `);break;case F.lyric:this.lyrics.push(v)}break;case-3:if(v.slice(0,7).every((rA,CA)=>bo[CA]===rA)){let rA=v.slice(7,z.length-3),CA=V(rA,rA.length)+` diff --git a/src/website/minified/demo_main.min.js b/src/website/minified/demo_main.min.js index 6423a62c..22c6ff99 100644 --- a/src/website/minified/demo_main.min.js +++ b/src/website/minified/demo_main.min.js @@ -1,4 +1,4 @@ -var EC=(o=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(o,{get:(r,l)=>(typeof require<"u"?require:r)[l]}):o)(function(o){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+o+'" is not supported')});var V3=class extends Uint8Array{currentIndex;constructor(r){super(r),this.currentIndex=0}};function Sn(o){let r=o.reduce((f,v)=>f+v.length,0),l=new V3(r),g=0;for(let f of o)l.set(f,g),g+=f.length;return l}function E$(o){o=Math.floor(o);let r=Math.floor(o/60),l=Math.round(o-r*60);return{minutes:r,seconds:l,time:`${r.toString().padStart(2,"0")}:${l.toString().padStart(2,"0")}`}}function FB(o){return o.trim().replaceAll(".mid","").replaceAll(".rmi","").replaceAll("_"," ")}var D1={warn:"color: orange;",unrecognized:"color: red;",info:"color: aqua;",recognized:"color: lime",value:"color: yellow; background-color: black;"};var mi=class{constructor(r,l,g){this.ticks=r,this.messageStatusByte=l,this.messageData=g}};var K3={noteOff:128,noteOn:144,polyPressure:160,controllerChange:176,programChange:192,channelPressure:208,pitchBend:224,systemExclusive:240,timecode:241,songPosition:242,songSelect:243,tuneRequest:246,clock:248,start:250,continue:251,stop:252,activeSensing:254,reset:255,sequenceNumber:0,text:1,copyright:2,trackName:3,instrumentName:4,lyric:5,marker:6,cuePoint:7,programName:8,midiChannelPrefix:32,midiPort:33,endOfTrack:47,setTempo:81,smpteOffset:84,timeSignature:88,keySignature:89,sequenceSpecific:127};function ey(o){let r=o&240,l=o&15,g=-1,f=o;return r>=128&&r<=224&&(g=l,f=r),{status:f,channel:g}}var B3={bankSelect:0,modulationWheel:1,breathController:2,footController:4,portamentoTime:5,dataEntryMsb:6,mainVolume:7,balance:8,pan:10,expressionController:11,effectControl1:12,effectControl2:13,generalPurposeController1:16,generalPurposeController2:17,generalPurposeController3:18,generalPurposeController4:19,lsbForControl0BankSelect:32,lsbForControl1ModulationWheel:33,lsbForControl2BreathController:34,lsbForControl4FootController:36,lsbForControl5PortamentoTime:37,lsbForControl6DataEntry:38,lsbForControl7MainVolume:39,lsbForControl8Balance:40,lsbForControl10Pan:42,lsbForControl11ExpressionController:43,lsbForControl12EffectControl1:44,lsbForControl13EffectControl2:45,sustainPedal:64,portamentoOnOff:65,sostenutoPedal:66,softPedal:67,legatoFootswitch:68,hold2Pedal:69,soundVariation:70,timbreHarmonicContent:71,releaseTime:72,attackTime:73,brightness:74,soundController6:75,soundController7:76,soundController8:77,soundController9:78,soundController10:79,generalPurposeController5:80,generalPurposeController6:81,generalPurposeController7:82,generalPurposeController8:83,portamentoControl:84,reverbDepth:91,tremoloDepth:92,chorusDepth:93,detuneDepth:94,phaserDepth:95,dataIncrement:96,dataDecrement:97,NRPNLsb:98,NRPNMsb:99,RPNLsb:100,RPNMsb:101,allSoundOff:120,resetAllControllers:121,localControlOnOff:122,allNotesOff:123,omniModeOff:124,omniModeOn:125,monoModeOn:126,polyModeOn:127};var mC=class{constructor(){this.events={noteoff:{},noteon:{},pitchwheel:{},controllerchange:{},programchange:{},channelpressure:{},polypressure:{},drumchange:{},stopall:{},newchannel:{},mutechannel:{},presetlistchange:{},allcontrollerreset:{},soundfonterror:{}}}addEvent(r,l,g){this.events[r][l]=g}removeEvent(r,l){delete this.events[r][l]}callEvent(r,l){this.events[r]&&Object.values(this.events[r]).forEach(g=>g(l))}};var MB={nodesAmount:4,defaultDelay:.03,delayVariation:.01,stereoDifference:.02,oscillatorFrequency:.3,oscillatorFrequencyVariation:.05,oscillatorGain:.003},CC=class{constructor(r,l=MB){let g=r.context;this.input=new ChannelSplitterNode(g,{numberOfOutputs:2});let f=new ChannelMergerNode(g,{numberOfInputs:2}),v=[],n0=[],E0=l.oscillatorFrequency,m0=l.defaultDelay;for(let c0=0;c0{let v=await f.arrayBuffer();l.buffer=await o.decodeAudioData(v)})}return l}var c8={noteOff:0,noteOn:1,ccChange:2,programChange:3,channelPressure:4,polyPressure:5,killNote:6,ccReset:7,setChannelVibrato:8,soundFontManager:9,stopAll:10,killNotes:11,muteChannel:12,addNewChannel:13,customcCcChange:14,debugMessage:15,systemExclusive:16,setMasterParameter:17,setDrums:18,pitchWheel:19,transpose:20,highPerformanceMode:21,lockController:22,sequencerSpecific:23,requestSynthesizerSnapshot:24,setLogLevel:25},Qm={mainVolume:0,masterPan:1,voicesCap:2,interpolationType:3},Ci=-1,m$={channelProperties:0,eventCall:1,reportedCurrentTime:2,sequencerSpecific:3,synthesizerSnapshot:4,ready:5,soundfontError:6,identify:7};var Nb=!1,Gb=!0,TB=!1;function Y5(...o){Nb&&console.info(...o)}function x4(...o){Gb&&console.warn(...o)}function gr(...o){TB&&console.group(...o)}function ri(...o){TB&&console.groupCollapsed(...o)}function i4(){TB&&console.groupEnd()}var iy={chorusEnabled:!0,chorusConfig:MB,reverbEnabled:!0,reverbImpulseResponse:void 0};var ym={reloadSoundFont:0,addNewSoundFont:2,deleteSoundFont:3,rearrangeSoundFonts:4};var BC=class{constructor(r){this.soundfontList=[{id:"main",bankOffset:0}],this._port=r.worklet.port,this.synth=r}_sendToWorklet(r,l){this._port.postMessage({messageType:c8.soundFontManager,messageData:[r,l]})}async addNewSoundFont(r,l,g=0){if(this.soundfontList.find(f=>f.id===l)!==void 0)throw new Error("Cannot overwrite the existing soundfont. Use soundfontManager.delete(id) instead.");this._sendToWorklet(ym.addNewSoundFont,[r,l,g]),await new Promise(f=>this.synth.resolveWhenReady=f),this.soundfontList.push({id:l,bankOffset:g})}deleteSoundFont(r){if(this.soundfontList.length===0){x4("1 soundfont left. Aborting!");return}if(this.soundfontList.findIndex(l=>l.id===r)===-1){x4(`No soundfont with id of "${r}" found. Aborting!`);return}this._sendToWorklet(ym.deleteSoundFont,r)}rearrangeSoundFonts(r){this._sendToWorklet(ym.rearrangeSoundFonts,r),this.soundfontList.sort((l,g)=>r.indexOf(l.id)-r.indexOf(g.id))}async reloadManager(r){this._sendToWorklet(ym.reloadSoundFont,r),await new Promise(l=>this.synth.resolveWhenReady=l)}};var v1={INVALID:-1,startAddrsOffset:0,endAddrOffset:1,startloopAddrsOffset:2,endloopAddrsOffset:3,startAddrsCoarseOffset:4,modLfoToPitch:5,vibLfoToPitch:6,modEnvToPitch:7,initialFilterFc:8,initialFilterQ:9,modLfoToFilterFc:10,modEnvToFilterFc:11,endAddrsCoarseOffset:12,modLfoToVolume:13,unused1:14,chorusEffectsSend:15,reverbEffectsSend:16,pan:17,unused2:18,unused3:19,unused4:20,delayModLFO:21,freqModLFO:22,delayVibLFO:23,freqVibLFO:24,delayModEnv:25,attackModEnv:26,holdModEnv:27,decayModEnv:28,sustainModEnv:29,releaseModEnv:30,keyNumToModEnvHold:31,keyNumToModEnvDecay:32,delayVolEnv:33,attackVolEnv:34,holdVolEnv:35,decayVolEnv:36,sustainVolEnv:37,releaseVolEnv:38,keyNumToVolEnvHold:39,keyNumToVolEnvDecay:40,instrument:41,reserved1:42,keyRange:43,velRange:44,startloopAddrsCoarseOffset:45,keyNum:46,velocity:47,initialAttenuation:48,reserved2:49,endloopAddrsCoarseOffset:50,coarseTune:51,fineTune:52,sampleID:53,sampleModes:54,reserved3:55,scaleTuning:56,exclusiveClass:57,overridingRootKey:58,unused5:59,endOper:60},l9=[];l9[v1.startAddrsOffset]={min:0,max:32768,def:0};l9[v1.endAddrOffset]={min:-32768,max:32768,def:0};l9[v1.startloopAddrsOffset]={min:-32768,max:32768,def:0};l9[v1.endloopAddrsOffset]={min:-32768,max:32768,def:0};l9[v1.startAddrsCoarseOffset]={min:0,max:32768,def:0};l9[v1.modLfoToPitch]={min:-12e3,max:12e3,def:0};l9[v1.vibLfoToPitch]={min:-12e3,max:12e3,def:0};l9[v1.modEnvToPitch]={min:-12e3,max:12e3,def:0};l9[v1.initialFilterFc]={min:1500,max:13500,def:13500};l9[v1.initialFilterQ]={min:0,max:960,def:0};l9[v1.modLfoToFilterFc]={min:-12e3,max:12e3,def:0};l9[v1.modEnvToFilterFc]={min:-12e3,max:12e3,def:0};l9[v1.endAddrsCoarseOffset]={min:-32768,max:32768,def:0};l9[v1.modLfoToVolume]={min:-960,max:960,def:0};l9[v1.chorusEffectsSend]={min:0,max:1e3,def:0};l9[v1.reverbEffectsSend]={min:0,max:1e3,def:0};l9[v1.pan]={min:-500,max:500,def:0};l9[v1.delayModLFO]={min:-12e3,max:5e3,def:-12e3};l9[v1.freqModLFO]={min:-16e3,max:4500,def:0};l9[v1.delayVibLFO]={min:-12e3,max:5e3,def:-12e3};l9[v1.freqVibLFO]={min:-16e3,max:4500,def:0};l9[v1.delayModEnv]={min:-32768,max:5e3,def:-32768};l9[v1.attackModEnv]={min:-32768,max:8e3,def:-32768};l9[v1.holdModEnv]={min:-12e3,max:5e3,def:-12e3};l9[v1.decayModEnv]={min:-12e3,max:8e3,def:-12e3};l9[v1.sustainModEnv]={min:0,max:1e3,def:0};l9[v1.releaseModEnv]={min:-12e3,max:8e3,def:-12e3};l9[v1.keyNumToModEnvHold]={min:-1200,max:1200,def:0};l9[v1.keyNumToModEnvDecay]={min:-1200,max:1200,def:0};l9[v1.delayVolEnv]={min:-12e3,max:5e3,def:-12e3};l9[v1.attackVolEnv]={min:-12e3,max:8e3,def:-12e3};l9[v1.holdVolEnv]={min:-12e3,max:5e3,def:-12e3};l9[v1.decayVolEnv]={min:-12e3,max:8e3,def:-12e3};l9[v1.sustainVolEnv]={min:0,max:1440,def:0};l9[v1.releaseVolEnv]={min:-7200,max:8e3,def:-12e3};l9[v1.keyNumToVolEnvHold]={min:-1200,max:1200,def:0};l9[v1.keyNumToVolEnvDecay]={min:-1200,max:1200,def:0};l9[v1.startloopAddrsCoarseOffset]={min:-32768,max:32768,def:0};l9[v1.keyNum]={min:-1,max:127,def:-1};l9[v1.velocity]={min:-1,max:127,def:-1};l9[v1.initialAttenuation]={min:-250,max:1440,def:0};l9[v1.endloopAddrsCoarseOffset]={min:-32768,max:32768,def:0};l9[v1.coarseTune]={min:-120,max:120,def:0};l9[v1.fineTune]={min:-12700,max:12700,def:0};l9[v1.scaleTuning]={min:0,max:1200,def:100};l9[v1.exclusiveClass]={min:0,max:99999,def:0};l9[v1.overridingRootKey]={min:-1,max:127,def:-1};var W6=class{generatorType=v1.INVALID;generatorValue=0;constructor(r=v1.INVALID,l=0){if(this.generatorType=r,l===void 0)throw new Error("No value provided.");let g=l9[r];this.generatorValue=Math.round(l),g!==void 0&&(this.generatorValue=Math.max(g.min,Math.min(g.max,this.generatorValue)))}};var Ft={noController:0,noteOnVelocity:2,noteOnKeyNum:3,polyPressure:10,channelPressure:13,pitchWheel:14,pitchWheelRange:16,link:127},Gr={linear:0,concave:1,convex:2,switch:3},oe=class o{currentValue=0;constructor(r){this.sourceEnum=r.srcEnum,this.modulatorDestination=r.dest,this.secondarySourceEnum=r.secSrcEnum,this.transformAmount=r.amt,this.transformType=r.transform,this.modulatorDestination>58&&(this.modulatorDestination=v1.INVALID),this.sourcePolarity=this.sourceEnum>>9&1,this.sourceDirection=this.sourceEnum>>8&1,this.sourceUsesCC=this.sourceEnum>>7&1,this.sourceIndex=this.sourceEnum&127,this.sourceCurveType=this.sourceEnum>>10&3,this.secSrcPolarity=this.secondarySourceEnum>>9&1,this.secSrcDirection=this.secondarySourceEnum>>8&1,this.secSrcUsesCC=this.secondarySourceEnum>>7&1,this.secSrcIndex=this.secondarySourceEnum&127,this.secSrcCurveType=this.secondarySourceEnum>>10&3}static copy(r){return new o({srcEnum:r.sourceEnum,secSrcEnum:r.secondarySourceEnum,transform:r.transformType,amt:r.transformAmount,dest:r.modulatorDestination})}static isIdentical(r,l){return r.sourceEnum===l.sourceEnum&&r.modulatorDestination===l.modulatorDestination&&r.secondarySourceEnum===l.secondarySourceEnum&&r.transformType===l.transformType}sumTransform(r){return new o({srcEnum:this.sourceEnum,secSrcEnum:this.secondarySourceEnum,dest:this.modulatorDestination,transform:this.transformType,amt:this.transformAmount+r.transformAmount})}debugString(){function r(f,v){return Object.keys(f).find(n0=>f[n0]===v)}let l=r(Gr,this.sourceCurveType);l+=this.sourcePolarity===0?" unipolar ":" bipolar ",l+=this.sourceDirection===0?"forwards ":"backwards ",this.sourceUsesCC?l+=r(B3,this.sourceIndex):l+=r(Ft,this.sourceIndex);let g=r(Gr,this.secSrcCurveType);return g+=this.secSrcPolarity===0?" unipolar ":" bipolar ",g+=this.secSrcCurveType===0?"forwards ":"backwards ",this.secSrcUsesCC?g+=r(B3,this.secSrcIndex):g+=r(Ft,this.secSrcIndex),`Modulator: +var EC=(o=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(o,{get:(r,l)=>(typeof require<"u"?require:r)[l]}):o)(function(o){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+o+'" is not supported')});var V3=class extends Uint8Array{currentIndex;constructor(r){super(r),this.currentIndex=0}};function Sn(o){let r=o.reduce((f,S)=>f+S.length,0),l=new V3(r),g=0;for(let f of o)l.set(f,g),g+=f.length;return l}function E$(o){o=Math.floor(o);let r=Math.floor(o/60),l=Math.round(o-r*60);return{minutes:r,seconds:l,time:`${r.toString().padStart(2,"0")}:${l.toString().padStart(2,"0")}`}}function FB(o){return o.trim().replaceAll(".mid","").replaceAll(".rmi","").replaceAll("_"," ")}var _1={warn:"color: orange;",unrecognized:"color: red;",info:"color: aqua;",recognized:"color: lime",value:"color: yellow; background-color: black;"};var mi=class{constructor(r,l,g){this.ticks=r,this.messageStatusByte=l,this.messageData=g}};var K3={noteOff:128,noteOn:144,polyPressure:160,controllerChange:176,programChange:192,channelPressure:208,pitchBend:224,systemExclusive:240,timecode:241,songPosition:242,songSelect:243,tuneRequest:246,clock:248,start:250,continue:251,stop:252,activeSensing:254,reset:255,sequenceNumber:0,text:1,copyright:2,trackName:3,instrumentName:4,lyric:5,marker:6,cuePoint:7,programName:8,midiChannelPrefix:32,midiPort:33,endOfTrack:47,setTempo:81,smpteOffset:84,timeSignature:88,keySignature:89,sequenceSpecific:127};function ey(o){let r=o&240,l=o&15,g=-1,f=o;return r>=128&&r<=224&&(g=l,f=r),{status:f,channel:g}}var B3={bankSelect:0,modulationWheel:1,breathController:2,footController:4,portamentoTime:5,dataEntryMsb:6,mainVolume:7,balance:8,pan:10,expressionController:11,effectControl1:12,effectControl2:13,generalPurposeController1:16,generalPurposeController2:17,generalPurposeController3:18,generalPurposeController4:19,lsbForControl0BankSelect:32,lsbForControl1ModulationWheel:33,lsbForControl2BreathController:34,lsbForControl4FootController:36,lsbForControl5PortamentoTime:37,lsbForControl6DataEntry:38,lsbForControl7MainVolume:39,lsbForControl8Balance:40,lsbForControl10Pan:42,lsbForControl11ExpressionController:43,lsbForControl12EffectControl1:44,lsbForControl13EffectControl2:45,sustainPedal:64,portamentoOnOff:65,sostenutoPedal:66,softPedal:67,legatoFootswitch:68,hold2Pedal:69,soundVariation:70,timbreHarmonicContent:71,releaseTime:72,attackTime:73,brightness:74,soundController6:75,soundController7:76,soundController8:77,soundController9:78,soundController10:79,generalPurposeController5:80,generalPurposeController6:81,generalPurposeController7:82,generalPurposeController8:83,portamentoControl:84,reverbDepth:91,tremoloDepth:92,chorusDepth:93,detuneDepth:94,phaserDepth:95,dataIncrement:96,dataDecrement:97,NRPNLsb:98,NRPNMsb:99,RPNLsb:100,RPNMsb:101,allSoundOff:120,resetAllControllers:121,localControlOnOff:122,allNotesOff:123,omniModeOff:124,omniModeOn:125,monoModeOn:126,polyModeOn:127};var mC=class{constructor(){this.events={noteoff:{},noteon:{},pitchwheel:{},controllerchange:{},programchange:{},channelpressure:{},polypressure:{},drumchange:{},stopall:{},newchannel:{},mutechannel:{},presetlistchange:{},allcontrollerreset:{},soundfonterror:{}}}addEvent(r,l,g){this.events[r][l]=g}removeEvent(r,l){delete this.events[r][l]}callEvent(r,l){this.events[r]&&Object.values(this.events[r]).forEach(g=>g(l))}};var MB={nodesAmount:4,defaultDelay:.03,delayVariation:.01,stereoDifference:.02,oscillatorFrequency:.3,oscillatorFrequencyVariation:.05,oscillatorGain:.003},CC=class{constructor(r,l=MB){let g=r.context;this.input=new ChannelSplitterNode(g,{numberOfOutputs:2});let f=new ChannelMergerNode(g,{numberOfInputs:2}),S=[],n0=[],E0=l.oscillatorFrequency,m0=l.defaultDelay;for(let g0=0;g0{let S=await f.arrayBuffer();l.buffer=await o.decodeAudioData(S)})}return l}var c8={noteOff:0,noteOn:1,ccChange:2,programChange:3,channelPressure:4,polyPressure:5,killNote:6,ccReset:7,setChannelVibrato:8,soundFontManager:9,stopAll:10,killNotes:11,muteChannel:12,addNewChannel:13,customcCcChange:14,debugMessage:15,systemExclusive:16,setMasterParameter:17,setDrums:18,pitchWheel:19,transpose:20,highPerformanceMode:21,lockController:22,sequencerSpecific:23,requestSynthesizerSnapshot:24,setLogLevel:25},Qm={mainVolume:0,masterPan:1,voicesCap:2,interpolationType:3},Ci=-1,m$={channelProperties:0,eventCall:1,reportedCurrentTime:2,sequencerSpecific:3,synthesizerSnapshot:4,ready:5,soundfontError:6,identify:7};var Nb=!1,Gb=!0,TB=!1;function Y5(...o){Nb&&console.info(...o)}function x4(...o){Gb&&console.warn(...o)}function gr(...o){TB&&console.group(...o)}function ri(...o){TB&&console.groupCollapsed(...o)}function i4(){TB&&console.groupEnd()}var iy={chorusEnabled:!0,chorusConfig:MB,reverbEnabled:!0,reverbImpulseResponse:void 0};var ym={reloadSoundFont:0,addNewSoundFont:2,deleteSoundFont:3,rearrangeSoundFonts:4};var BC=class{constructor(r){this.soundfontList=[{id:"main",bankOffset:0}],this._port=r.worklet.port,this.synth=r}_sendToWorklet(r,l){this._port.postMessage({messageType:c8.soundFontManager,messageData:[r,l]})}async addNewSoundFont(r,l,g=0){if(this.soundfontList.find(f=>f.id===l)!==void 0)throw new Error("Cannot overwrite the existing soundfont. Use soundfontManager.delete(id) instead.");this._sendToWorklet(ym.addNewSoundFont,[r,l,g]),await new Promise(f=>this.synth.resolveWhenReady=f),this.soundfontList.push({id:l,bankOffset:g})}deleteSoundFont(r){if(this.soundfontList.length===0){x4("1 soundfont left. Aborting!");return}if(this.soundfontList.findIndex(l=>l.id===r)===-1){x4(`No soundfont with id of "${r}" found. Aborting!`);return}this._sendToWorklet(ym.deleteSoundFont,r)}rearrangeSoundFonts(r){this._sendToWorklet(ym.rearrangeSoundFonts,r),this.soundfontList.sort((l,g)=>r.indexOf(l.id)-r.indexOf(g.id))}async reloadManager(r){this._sendToWorklet(ym.reloadSoundFont,r),await new Promise(l=>this.synth.resolveWhenReady=l)}};var v1={INVALID:-1,startAddrsOffset:0,endAddrOffset:1,startloopAddrsOffset:2,endloopAddrsOffset:3,startAddrsCoarseOffset:4,modLfoToPitch:5,vibLfoToPitch:6,modEnvToPitch:7,initialFilterFc:8,initialFilterQ:9,modLfoToFilterFc:10,modEnvToFilterFc:11,endAddrsCoarseOffset:12,modLfoToVolume:13,unused1:14,chorusEffectsSend:15,reverbEffectsSend:16,pan:17,unused2:18,unused3:19,unused4:20,delayModLFO:21,freqModLFO:22,delayVibLFO:23,freqVibLFO:24,delayModEnv:25,attackModEnv:26,holdModEnv:27,decayModEnv:28,sustainModEnv:29,releaseModEnv:30,keyNumToModEnvHold:31,keyNumToModEnvDecay:32,delayVolEnv:33,attackVolEnv:34,holdVolEnv:35,decayVolEnv:36,sustainVolEnv:37,releaseVolEnv:38,keyNumToVolEnvHold:39,keyNumToVolEnvDecay:40,instrument:41,reserved1:42,keyRange:43,velRange:44,startloopAddrsCoarseOffset:45,keyNum:46,velocity:47,initialAttenuation:48,reserved2:49,endloopAddrsCoarseOffset:50,coarseTune:51,fineTune:52,sampleID:53,sampleModes:54,reserved3:55,scaleTuning:56,exclusiveClass:57,overridingRootKey:58,unused5:59,endOper:60},l9=[];l9[v1.startAddrsOffset]={min:0,max:32768,def:0};l9[v1.endAddrOffset]={min:-32768,max:32768,def:0};l9[v1.startloopAddrsOffset]={min:-32768,max:32768,def:0};l9[v1.endloopAddrsOffset]={min:-32768,max:32768,def:0};l9[v1.startAddrsCoarseOffset]={min:0,max:32768,def:0};l9[v1.modLfoToPitch]={min:-12e3,max:12e3,def:0};l9[v1.vibLfoToPitch]={min:-12e3,max:12e3,def:0};l9[v1.modEnvToPitch]={min:-12e3,max:12e3,def:0};l9[v1.initialFilterFc]={min:1500,max:13500,def:13500};l9[v1.initialFilterQ]={min:0,max:960,def:0};l9[v1.modLfoToFilterFc]={min:-12e3,max:12e3,def:0};l9[v1.modEnvToFilterFc]={min:-12e3,max:12e3,def:0};l9[v1.endAddrsCoarseOffset]={min:-32768,max:32768,def:0};l9[v1.modLfoToVolume]={min:-960,max:960,def:0};l9[v1.chorusEffectsSend]={min:0,max:1e3,def:0};l9[v1.reverbEffectsSend]={min:0,max:1e3,def:0};l9[v1.pan]={min:-500,max:500,def:0};l9[v1.delayModLFO]={min:-12e3,max:5e3,def:-12e3};l9[v1.freqModLFO]={min:-16e3,max:4500,def:0};l9[v1.delayVibLFO]={min:-12e3,max:5e3,def:-12e3};l9[v1.freqVibLFO]={min:-16e3,max:4500,def:0};l9[v1.delayModEnv]={min:-32768,max:5e3,def:-32768};l9[v1.attackModEnv]={min:-32768,max:8e3,def:-32768};l9[v1.holdModEnv]={min:-12e3,max:5e3,def:-12e3};l9[v1.decayModEnv]={min:-12e3,max:8e3,def:-12e3};l9[v1.sustainModEnv]={min:0,max:1e3,def:0};l9[v1.releaseModEnv]={min:-12e3,max:8e3,def:-12e3};l9[v1.keyNumToModEnvHold]={min:-1200,max:1200,def:0};l9[v1.keyNumToModEnvDecay]={min:-1200,max:1200,def:0};l9[v1.delayVolEnv]={min:-12e3,max:5e3,def:-12e3};l9[v1.attackVolEnv]={min:-12e3,max:8e3,def:-12e3};l9[v1.holdVolEnv]={min:-12e3,max:5e3,def:-12e3};l9[v1.decayVolEnv]={min:-12e3,max:8e3,def:-12e3};l9[v1.sustainVolEnv]={min:0,max:1440,def:0};l9[v1.releaseVolEnv]={min:-7200,max:8e3,def:-12e3};l9[v1.keyNumToVolEnvHold]={min:-1200,max:1200,def:0};l9[v1.keyNumToVolEnvDecay]={min:-1200,max:1200,def:0};l9[v1.startloopAddrsCoarseOffset]={min:-32768,max:32768,def:0};l9[v1.keyNum]={min:-1,max:127,def:-1};l9[v1.velocity]={min:-1,max:127,def:-1};l9[v1.initialAttenuation]={min:-250,max:1440,def:0};l9[v1.endloopAddrsCoarseOffset]={min:-32768,max:32768,def:0};l9[v1.coarseTune]={min:-120,max:120,def:0};l9[v1.fineTune]={min:-12700,max:12700,def:0};l9[v1.scaleTuning]={min:0,max:1200,def:100};l9[v1.exclusiveClass]={min:0,max:99999,def:0};l9[v1.overridingRootKey]={min:-1,max:127,def:-1};var W6=class{generatorType=v1.INVALID;generatorValue=0;constructor(r=v1.INVALID,l=0){if(this.generatorType=r,l===void 0)throw new Error("No value provided.");let g=l9[r];this.generatorValue=Math.round(l),g!==void 0&&(this.generatorValue=Math.max(g.min,Math.min(g.max,this.generatorValue)))}};var Ft={noController:0,noteOnVelocity:2,noteOnKeyNum:3,polyPressure:10,channelPressure:13,pitchWheel:14,pitchWheelRange:16,link:127},Gr={linear:0,concave:1,convex:2,switch:3},oe=class o{currentValue=0;constructor(r){this.sourceEnum=r.srcEnum,this.modulatorDestination=r.dest,this.secondarySourceEnum=r.secSrcEnum,this.transformAmount=r.amt,this.transformType=r.transform,this.modulatorDestination>58&&(this.modulatorDestination=v1.INVALID),this.sourcePolarity=this.sourceEnum>>9&1,this.sourceDirection=this.sourceEnum>>8&1,this.sourceUsesCC=this.sourceEnum>>7&1,this.sourceIndex=this.sourceEnum&127,this.sourceCurveType=this.sourceEnum>>10&3,this.secSrcPolarity=this.secondarySourceEnum>>9&1,this.secSrcDirection=this.secondarySourceEnum>>8&1,this.secSrcUsesCC=this.secondarySourceEnum>>7&1,this.secSrcIndex=this.secondarySourceEnum&127,this.secSrcCurveType=this.secondarySourceEnum>>10&3}static copy(r){return new o({srcEnum:r.sourceEnum,secSrcEnum:r.secondarySourceEnum,transform:r.transformType,amt:r.transformAmount,dest:r.modulatorDestination})}static isIdentical(r,l){return r.sourceEnum===l.sourceEnum&&r.modulatorDestination===l.modulatorDestination&&r.secondarySourceEnum===l.secondarySourceEnum&&r.transformType===l.transformType}sumTransform(r){return new o({srcEnum:this.sourceEnum,secSrcEnum:this.secondarySourceEnum,dest:this.modulatorDestination,transform:this.transformType,amt:this.transformAmount+r.transformAmount})}debugString(){function r(f,S){return Object.keys(f).find(n0=>f[n0]===S)}let l=r(Gr,this.sourceCurveType);l+=this.sourcePolarity===0?" unipolar ":" bipolar ",l+=this.sourceDirection===0?"forwards ":"backwards ",this.sourceUsesCC?l+=r(B3,this.sourceIndex):l+=r(Ft,this.sourceIndex);let g=r(Gr,this.secSrcCurveType);return g+=this.secSrcPolarity===0?" unipolar ":" bipolar ",g+=this.secSrcCurveType===0?"forwards ":"backwards ",this.secSrcUsesCC?g+=r(B3,this.secSrcIndex):g+=r(Ft,this.secSrcIndex),`Modulator: Source: ${l} Secondary source: ${g} Destination: ${r(v1,this.modulatorDestination)} @@ -6,8 +6,8 @@ var EC=(o=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(o,{get:(r,l)=>( Transform type: ${this.transformType} -`}},NB=960,GB=Gr.concave;function Nr(o,r,l,g,f){return o<<10|r<<9|l<<8|g<<7|f}var pC=[new oe({srcEnum:Nr(GB,0,1,0,Ft.noteOnVelocity),dest:v1.initialAttenuation,amt:NB,secSrcEnum:0,transform:0}),new oe({srcEnum:129,dest:v1.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new oe({srcEnum:Nr(GB,0,1,1,B3.mainVolume),dest:v1.initialAttenuation,amt:NB,secSrcEnum:0,transform:0}),new oe({srcEnum:13,dest:v1.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new oe({srcEnum:526,dest:v1.fineTune,amt:12700,secSrcEnum:16,transform:0}),new oe({srcEnum:650,dest:v1.pan,amt:1e3,secSrcEnum:0,transform:0}),new oe({srcEnum:Nr(GB,0,1,1,B3.expressionController),dest:v1.initialAttenuation,amt:NB,secSrcEnum:0,transform:0}),new oe({srcEnum:219,dest:v1.reverbEffectsSend,amt:750,secSrcEnum:0,transform:0}),new oe({srcEnum:221,dest:v1.chorusEffectsSend,amt:750,secSrcEnum:0,transform:0}),new oe({srcEnum:Nr(Gr.linear,0,0,0,Ft.polyPressure),dest:v1.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new oe({srcEnum:Nr(Gr.linear,0,0,1,B3.tremoloDepth),dest:v1.modLfoToVolume,amt:24,secSrcEnum:0,transform:0}),new oe({srcEnum:Nr(Gr.linear,1,0,1,B3.releaseTime),dest:v1.releaseVolEnv,amt:1200,secSrcEnum:0,transform:0}),new oe({srcEnum:Nr(Gr.linear,1,0,1,B3.brightness),dest:v1.initialFilterFc,amt:6e3,secSrcEnum:0,transform:0}),new oe({srcEnum:Nr(Gr.linear,1,0,1,B3.timbreHarmonicContent),dest:v1.initialFilterQ,amt:250,secSrcEnum:0,transform:0})];var C$=128,ry=147,Ub=new Int16Array(ry).fill(0),ni=(o,r)=>Ub[o]=r<<7;ni(B3.mainVolume,100);ni(B3.balance,64);ni(B3.expressionController,127);ni(B3.pan,64);ni(B3.timbreHarmonicContent,64);ni(B3.releaseTime,64);ni(B3.attackTime,64);ni(B3.brightness,64);ni(B3.soundController6,64);ni(B3.soundController7,64);ni(B3.soundController8,64);ni(B3.soundController9,64);ni(B3.generalPurposeController6,64);ni(B3.generalPurposeController8,64);ni(C$+Ft.pitchWheel,64);ni(C$+Ft.pitchWheelRange,2);var QC={channelTuning:0,channelTransposeFine:1,modulationMultiplier:2,masterTuning:3,channelTuningSemitones:4},ny=Object.keys(QC).length,Pb=new Float32Array(ny);Pb[QC.modulationMultiplier]=1;var sy={velocityOverride:128};var Ob="spessasynth-worklet-system",UB=350,Di=9,qb=16;var ch=class{constructor(r,l,g=!0,f=void 0,v=iy){Y5("%cInitializing SpessaSynth synthesizer...",D1.info),this.context=r.context;let n0=f?.oneOutput===!0;this.eventHandler=new mC,this._voiceCap=UB,this._outputsAmount=qb,this.channelsAmount=this._outputsAmount,this.resolveWhenReady=void 0,this.isReady=new Promise(c0=>this.resolveWhenReady=c0),this.channelProperties=[];for(let c0=0;c0this.handleMessage(c0.data),this.soundfontManager=new BC(this),this._snapshotCallback=void 0,this.sequencerCallbackFunction=void 0,v.reverbEnabled&&!n0&&(this.reverbProcessor=ty(this.context,v.reverbImpulseResponse),this.reverbProcessor.connect(r),this.worklet.connect(this.reverbProcessor,0)),v.chorusEnabled&&!n0&&(this.chorusProcessor=new CC(r,v.chorusConfig),this.worklet.connect(this.chorusProcessor.input,1)),n0)this.worklet.connect(r,0);else for(let c0=2;c0{this.channelsAmount++})}get voiceCap(){return this._voiceCap}set voiceCap(r){this._setMasterParam(Qm.voicesCap,r),this._voiceCap=r}get highPerformanceMode(){return this._highPerformanceMode}set highPerformanceMode(r){this._highPerformanceMode=r}get currentTime(){return this.context.currentTime}get voicesAmount(){return this._voicesAmount}setLogLevel(r,l,g,f){this.post({channelNumber:Ci,messageType:c8.setLogLevel,messageData:[r,l,g,f]})}_setMasterParam(r,l){this.post({channelNumber:Ci,messageType:c8.setMasterParameter,messageData:[r,l]})}setInterpolationType(r){this._setMasterParam(Qm.interpolationType,r)}handleMessage(r){let l=r.messageData;switch(r.messageType){case m$.channelProperties:this.channelProperties=l,this._voicesAmount=this.channelProperties.reduce((g,f)=>g+f.voicesAmount,0);break;case m$.eventCall:this.eventHandler.callEvent(l.eventName,l.eventData);break;case m$.sequencerSpecific:this.sequencerCallbackFunction&&this.sequencerCallbackFunction(l.messageType,l.messageData);break;case m$.synthesizerSnapshot:this._snapshotCallback&&this._snapshotCallback(l);break;case m$.ready:this.resolveWhenReady();break;case m$.soundfontError:x4(new Error(l)),this.eventHandler.callEvent("soundfonterror",l);break}}async getSynthesizerSnapshot(){return new Promise(r=>{this._snapshotCallback=l=>{this._snapshotCallback=void 0,r(l)},this.post({messageType:c8.requestSynthesizerSnapshot,messageData:void 0,channelNumber:Ci})})}addNewChannel(r=!0){this.channelProperties.push({voicesAmount:0,pitchBend:0,pitchBendRangeSemitones:0,isMuted:!1,isDrum:!1}),r&&this.post({channelNumber:0,messageType:c8.addNewChannel,messageData:null})}setVibrato(r,l){this.post({channelNumber:r,messageType:c8.setChannelVibrato,messageData:l})}connectIndividualOutputs(r){if(r.length!==this._outputsAmount)throw new Error(`input nodes amount differs from the system's outputs amount! - Expected ${this._outputsAmount} got ${r.length}`);for(let l=0;l127||l<0)throw new Error(`Invalid controller number: ${l}`);g=Math.floor(g),l=Math.floor(l),this.post({channelNumber:r,messageType:c8.ccChange,messageData:[l,g,f]})}resetControllers(){this.post({channelNumber:Ci,messageType:c8.ccReset,messageData:void 0})}channelPressure(r,l){this.post({channelNumber:r,messageType:c8.channelPressure,messageData:l})}polyPressure(r,l,g){this.post({channelNumber:r,messageType:c8.polyPressure,messageData:[l,g]})}post(r){this.worklet.port.postMessage(r)}pitchWheel(r,l,g){this.post({channelNumber:r,messageType:c8.pitchWheel,messageData:[l,g]})}transpose(r){this.transposeChannel(Ci,r,!1)}transposeChannel(r,l,g=!1){this.post({channelNumber:r,messageType:c8.transpose,messageData:[l,g]})}setMainVolume(r){this._setMasterParam(Qm.mainVolume,r)}setMasterPan(r){this._setMasterParam(Qm.masterPan,r)}setPitchBendRange(r,l){this.controllerChange(r,B3.RPNMsb,0),this.controllerChange(r,B3.dataEntryMsb,l),this.controllerChange(r,B3.RPNMsb,127),this.controllerChange(r,B3.RPNLsb,127),this.controllerChange(r,B3.dataEntryMsb,0)}programChange(r,l,g=!1){this.post({channelNumber:r,messageType:c8.programChange,messageData:[l,g]})}velocityOverride(r,l){this.post({channelNumber:r,messageType:c8.ccChange,messageData:[sy.velocityOverride,l,!0]})}lockController(r,l,g){this.post({channelNumber:r,messageType:c8.lockController,messageData:[l,g]})}muteChannel(r,l){this.post({channelNumber:r,messageType:c8.muteChannel,messageData:l})}async reloadSoundFont(r){x4("reloadSoundFont is deprecated. Please use the soundfontManager property instead."),await this.soundfontManager.reloadManager(r)}systemExclusive(r){this.post({channelNumber:Ci,messageType:c8.systemExclusive,messageData:Array.from(r)})}setDrums(r,l){this.post({channelNumber:r,messageType:c8.setDrums,messageData:l})}sendMessage(r){let l=ey(r[0]);switch(l.status){case K3.noteOn:let g=r[2];g>0?this.noteOn(l.channel,r[1],g):this.noteOff(l.channel,r[1]);break;case K3.noteOff:this.noteOff(l.channel,r[1]);break;case K3.pitchBend:this.pitchWheel(l.channel,r[2],r[1]);break;case K3.controllerChange:this.controllerChange(l.channel,r[1],r[2]);break;case K3.programChange:this.programChange(l.channel,r[1]);break;case K3.polyPressure:this.polyPressure(l.channel,r[0],r[1]);break;case K3.channelPressure:this.channelPressure(l.channel,r[1]);break;case K3.systemExclusive:this.systemExclusive(new V3(r.slice(1)));break;case K3.reset:this.stopAll(!0),this.resetControllers();break;default:break}}reverbateEverythingBecauseWhyNot(){for(let r=0;r{this.pressedKeys.delete(g),this.releaseNote(g,this.channel),this.synth.noteOff(this.channel,g)},r=(g,f)=>{let v;if(bn)v=127;else{let E0=this.keys[0].getBoundingClientRect();if(this.keyboard.classList.contains("sideways")){let m0=f.clientX-E0.left,c0=E0.width;v=Math.floor((c0-m0)/c0*127)}else{let m0=f.clientY-E0.top,c0=E0.height;v=Math.floor(m0/c0*127)}}this.synth.noteOn(this.channel,g,v,this.enableDebugging)},l=g=>{let f=g.touches?Array.from(g.touches):[g],v=new Set;f.forEach(n0=>{let E0=document.elementFromPoint(n0.clientX,n0.clientY),m0=parseInt(E0.id.replace("note",""));v.add(m0),!(isNaN(m0)||m0<0||this.pressedKeys.has(m0))&&(this.pressedKeys.add(m0),r(m0,n0))}),this.pressedKeys.forEach(n0=>{v.has(n0)||o(n0)})};bn||(document.addEventListener("mousedown",g=>{this.mouseHeld=!0,l(g)}),document.addEventListener("mouseup",()=>{this.mouseHeld=!1,this.pressedKeys.forEach(g=>{o(g)})}),this.keyboard.onmousemove=g=>{this.mouseHeld&&l(g)},this.keyboard.onmouseleave=()=>{this.pressedKeys.forEach(g=>{o(g)})}),this.keyboard.ontouchstart=l.bind(this),this.keyboard.ontouchend=l.bind(this),this.keyboard.ontouchmove=l.bind(this)}var Ay=20,wm=class{constructor(r,l){this.mouseHeld=!1,this.pressedKeys=new Set,this.mode="light",this.enableDebugging=!1,this.sizeChangeAnimationId=-1,this.modeChangeAnimationId=-1,this._keyRange={min:0,max:127},document.addEventListener("keydown",g=>{g.key==="Shift"&&(this.synth.controllerChange(this.channel,B3.sustainPedal,127),this.keyboard.style.filter="brightness(0.5)")}),document.addEventListener("keyup",g=>{g.key==="Shift"&&(this.synth.controllerChange(this.channel,B3.sustainPedal,0),this.keyboard.style.filter="")}),this.synth=l,this.channel=0,this.channelColors=r,this._shown=!0,this._createKeyboard(),this.synth.eventHandler.addEvent("noteon","keyboard-note-on",g=>{this.pressNote(g.midiNote,g.channel,g.velocity)}),this.synth.eventHandler.addEvent("noteoff","keyboard-note-off",g=>{this.releaseNote(g.midiNote,g.channel)}),this.synth.eventHandler.addEvent("stopall","keyboard-stop-all",()=>{this.clearNotes()}),this.synth.eventHandler.addEvent("mutechannel","keyboard-mute-channel",g=>{if(g.isMuted)for(let f=0;f<128;f++)this.releaseNote(f,g.channel)})}get shown(){return this._shown}set shown(r){r===!0?this.keyboard.style.display="":this.keyboard.style.display="none",this._shown=r}get keyRange(){return this._keyRange}set keyRange(r){if(r.max===void 0||r.min===void 0)throw new TypeError("No min or max property!");if(r.min>r.max){let l=r.min;r.min=r.max,r.max=l}r.min=Math.max(0,r.min),r.max=Math.min(127,r.max),this.setKeyRange(r,!0)}_createKeyboard(){this.keyboard=document.getElementById("keyboard"),this.keyboard.innerHTML="",this.keys=[],this.keyColors=[];for(let r=this._keyRange.min;r=0&&(v=l(r-1)),r<127&&(n0=l(r+1)),n0&&v?g.classList.add("between_sharps"):v?g.classList.add("left_sharp"):n0&&g.classList.add("right_sharp")}return g}toggleMode(r=!0){if(this.mode==="light"?this.mode="dark":this.mode="light",!r){this.keys.forEach(g=>{g.classList.contains("flat_key")&&g.classList.toggle("flat_dark_key")});return}this.modeChangeAnimationId&&clearTimeout(this.modeChangeAnimationId),this.keyboard.classList.add("mode_transform"),document.body.scrollHeight<=window.innerHeight&&document.body.classList.add("no_scroll"),this.modeChangeAnimationId=setTimeout(()=>{this.keys.forEach(g=>{g.classList.contains("flat_key")&&g.classList.toggle("flat_dark_key")}),this.keyboard.classList.remove("mode_transform"),setTimeout(()=>document.body.classList.remove("no_scroll"),500)},500)}setKeyRange(r,l=!0){Math.abs(r.max-r.min)<12&&(r.min-=6,r.max=r.min+12);let f=900/(r.max-r.min+5),v=document.styleSheets[0].cssRules,n0;for(let E0 of v)if(E0.selectorText==="#keyboard .key"){n0=E0;break}if(n0.style.setProperty("--pressed-transform-skew",`${8e-4/(f/7)}`),l){this.sizeChangeAnimationId&&clearTimeout(this.sizeChangeAnimationId);let E0=getComputedStyle(this.keyboard),m0=parseFloat(E0.getPropertyValue("--current-min-height").replace(/[^\d.]+/g,"")),c0=this.keyboard.getBoundingClientRect().height,u1=f/m0,F=c0*u1-c0,q0=(this._keyRange.min+this._keyRange.max)/2,L0=(r.min+r.max)/2;this._keyRange=r;let R1=this.keys.find(Y2=>Y2.classList.contains("sharp_key")).getBoundingClientRect().width,t2=(q0-L0)*R1,y1=parseFloat(E0.getPropertyValue("--key-border-radius").replace(/[^\d.]+/g,""));this.keyboard.style.marginTop=`${F}px`,this.keyboard.style.transition="",this.keyboard.style.transform=`scale(${u1}) translateX(${t2}px)`,this.keyboard.style.setProperty("--key-border-radius",`${y1/u1}vmin`),this.sizeChangeAnimationId=setTimeout(()=>{this.keyboard.style.setProperty("--current-min-height",`${f}`),this.keyboard.style.transition="none",this.keyboard.style.transform="",this.keyboard.style.marginTop="",this.keyboard.style.setProperty("--key-border-radius",""),this._createKeyboard(),setTimeout(()=>this.keyboard.style.transition="",75)},500)}else this.keyboard.style.setProperty("--current-min-height",`${f}`),this._keyRange=r,this._createKeyboard()}selectChannel(r){this.channel=r}pressNote(r,l,g){let f=this.keys[r-this._keyRange.min];if(f===void 0)return;f.classList.add("pressed");let v=f.classList.contains("sharp_key"),n0=g/127,E0=this.channelColors[l%16].match(/\d+(\.\d+)?/g).map(parseFloat),m0;if(!v&&this.mode==="light"?m0=`rgba(${E0.slice(0,3).map(u1=>255-(255-u1)*n0).join(", ")}, ${E0[3]})`:m0=`rgba(${E0.slice(0,3).map(u1=>u1*n0).join(", ")}, ${E0[3]})`,f.style.background=m0,this.mode==="dark"){let c0=Ay*n0;f.style.boxShadow=`${m0} 0px 0px ${c0}px ${c0/5}px`}this.keyColors[r-this._keyRange.min].push(this.channelColors[l%16])}releaseNote(r,l){let g=this.keys[r-this._keyRange.min];if(g===void 0)return;l%=this.channelColors.length;let f=this.keyColors[r-this._keyRange.min];if(!f)return;let v=f.findLastIndex(n0=>n0===this.channelColors[l]);v!==-1&&(f.splice(v,1),g.style.background=f[f.length-1],this.mode==="dark"&&(g.style.boxShadow=`0px 0px ${Ay}px ${f[f.length-1]}`),f.length<1&&(g.classList.remove("pressed"),g.style.background="",g.style.boxShadow=""))}clearNotes(){this.keys.forEach((r,l)=>{r.classList.remove("pressed"),r.style.background="",r.style.boxShadow="",this.keyColors[l]=[]})}};wm.prototype._handlePointers=oy;function B$(o,r){let l=o.replace(/[^\d,]/g,"").split(",");return`rgb(${r(parseInt(l[0]))}, ${r(parseInt(l[1]))}, ${r(parseInt(l[2]))})`}var Yb="#000";function ay(o,r,l){o.forEach(g=>{if(g.pressedProgress===0)return;r.fillStyle=g.color;let f=g.pressedProgress*g.velocity;if(r.globalAlpha=.5*f,l){r.fillRect(g.xPos,g.yPos-g.height*f,g.width,g.height*(f*2+1)),r.globalAlpha=1;return}r.fillRect(g.xPos-g.width*f,g.yPos,g.width*(f*2+1),g.height),r.globalAlpha=1}),o.forEach(g=>{r.fillStyle=g.color,r.save(),r.translate(g.xPos,g.yPos),r.fillRect(0,0,g.width,g.height),r.restore(),r.strokeStyle=Yb,r.lineWidth=g.stroke,r.strokeRect(g.xPos,g.yPos,g.width,g.height)})}var PB=!1;function $y(o=!0,r=!1){let l=(this.seq===void 0||this?.seq?.paused===!0)&&this.synth.voicesAmount===0&&!r;if(!this.renderBool||l)if(PB){o&&requestAnimationFrame(this.render.bind(this));return}else PB=!0;else PB=!1;if(o&&this.drawingContext.clearRect(0,0,this.canvas.width,this.canvas.height),this.renderAnalysers&&!this.synth.highPerformanceMode&&this.renderWaveforms(),this.renderNotes&&this.noteTimes){let v=this.computeNotePositions(this.synth.highPerformanceMode);this.synth.highPerformanceMode||ay(v,this.drawingContext,this.sideways)}let g=performance.now()-this.frameTimeStart;this.frameTimeStart=performance.now();let f=1e3/g;this.drawingContext.textBaseline="hanging",this.drawingContext.textAlign="end",this.drawingContext.font=`${yC}px system-ui`,this.drawingContext.fillStyle="white",this.drawingContext.strokeStyle="white",this.drawingContext.fillText(`${this.notesOnScreen} notes`,this.canvas.width,yC*2+5),this.drawingContext.fillText(this.version,this.canvas.width,5),this.drawingContext.fillText(Math.round(f).toString()+" FPS",this.canvas.width,yC+5),this.onRender&&this.onRender(),o&&requestAnimationFrame(this.render.bind(this))}function ly(o=!1){this.notesOnScreen=0;let r=this.sideways?this.canvas.height:this.canvas.width,l=this.sideways?this.canvas.width:this.canvas.height,g=this.keyRange.max-this.keyRange.min,f=r/(g+1),v=f-Q$*2,n0=this.noteFallingTimeMs/1e3,E0=this.noteAfterTriggerTimeMs/1e3,m0=this.seq.currentHighResolutionTime,c0=m0-E0,u1=n0+E0,F=c0+u1,q0=gy/u1,L0=[];this.synth.channelProperties.forEach(t2=>{if(this.showVisualPitch){let y1=t2.pitchBend-8192+this.visualPitchBendOffset;L0.push(t2.pitchBendRangeSemitones*(y1/8192*f))}else L0.push(0)});let R1=[];return this.noteTimes.forEach((t2,y1)=>{if(t2.renderStartIndex>=t2.notes.length||!this.renderChannels[y1])return;let Y2=t2.renderStartIndex,T2=t2.notes,V2=T2[Y2],i3=-1;for(;V2.start<=F&&(Y2++,!(this.notesOnScreen>hy));){let r3=V2.start+V2.length;if(r3>c0&&V2.length>0){let A0=V2.length/u1*l-Q$*2;if(this.notesOnScreen<1e3||A0>q0){i3===-1&&(i3=Y2-1);let y5=(V2.start-c0)/u1*l,T3;if(this._notesFall?T3=l-A0-y5+Q$:T3=y5+Q$,V2.midiNotethis.keyRange.max){if(Y2>=T2.length)break;V2=T2[Y2];continue}let $3=V2.midiNote-this.keyRange.min,w6=f*$3+Q$,s6,o9,V4,r4;if(this.sideways?(s6=T3,o9=w6,r4=v,V4=A0):(o9=T3,s6=w6,V4=v,r4=A0),this.notesOnScreen++,o)this.drawingContext.fillStyle=this.plainColors[y1],this.drawingContext.fillRect(s6+p$+Q$,o9+p$,V4-p$*2,r4-p$*2);else{let V6;if(V2.start>m0||r3=T2.length)break;V2=T2[Y2]}i3>-1&&(t2.renderStartIndex=i3)}),R1.sort((t2,y1)=>y1.height-t2.height),R1}function uy(){let o=this.canvas.width/4,r=this.canvas.height/4;this.channelAnalysers.forEach((l,g)=>{let f=g%4,v=Math.floor(g/4),n0=!1;for(let F=g;F0){n0=!0;break}if(!n0){let F=this.canvas.width/4,q0=this.canvas.height/4,L0=F*f,R1=q0*v+q0/2;this.drawingContext.lineWidth=this.lineThickness,this.drawingContext.strokeStyle=this.channelColors[g],this.drawingContext.beginPath(),this.drawingContext.moveTo(L0,R1),this.drawingContext.lineTo(L0+F,R1),this.drawingContext.stroke();return}let E0=new Float32Array(l.frequencyBinCount);l.getFloatTimeDomainData(E0);let m0=o*f,c0=r*v+r/2,u1=this.waveMultiplier*r;if(this.drawingContext.lineWidth=this.lineThickness,this.drawingContext.strokeStyle=this.channelColors[g],this.drawingContext.beginPath(),this._stabilizeWaveforms){let F=E0.length/4,q0=o/F,L0=Math.floor(F/2),R1=E0.length-L0;for(let T2=R1;T2>=1;T2--)if(E0[T2-1]<0&&E0[T2]>=0){R1=T2;break}let t2=m0,y1=R1-L0,Y2=R1+L0;for(let T2=y1;T2{this.renderChannels[r.channel]=!r.isMuted}),this.updateFftSize()}function Iy(){for(let o=0;o4096?this.delayNode.delayTime.value=f/this.synth.context.sampleRate/2:this.delayNode.delayTime.value=0)}}function Ey(o){o.connectIndividualOutputs(this.channelAnalysers),o.eventHandler.addEvent("drumchange","renderer-drum-change",()=>{this.updateFftSize()})}function my(){for(let o of this.channelAnalysers)o.disconnect();Y5("%cAnalysers disconnected!",D1.recognized)}function Cy(o){this.seq=o,this.seq.addOnTimeChangeEvent(()=>this.resetIndexes(),"renderer-time-change"),this.seq.addOnSongChangeEvent(async r=>{if(this.calculateNoteTimes(await this.seq.getMIDI()),this.resetIndexes(),r.RMIDInfo?.IPIC!==void 0){let l=new Blob([r.RMIDInfo?.IPIC.buffer]),g=URL.createObjectURL(l),f=this.canvas.classList.contains("light_mode")?0:.9;this.canvas.style.background=`linear-gradient(rgba(0, 0, 0, ${f}), rgba(0, 0, 0, ${f})), center center / cover url("${g}")`}else this.canvas.style.background=""},"renderer-song-change")}function By(){this.noteTimes&&this.noteTimes.forEach(o=>o.renderStartIndex=0)}function OB(o,r){let l=0;for(let g=8*(r-1);g>=0;g-=8)l|=o[o.currentIndex++]<>>0}function km(o,r){let l=new Array(r).fill(0);for(let g=r-1;g>=0;g--)l[g]=o&255,o>>=8;return l}var gh=.02;function py(o){function r(c0){return c0.messageData=new V3(c0.messageData.buffer),c0.messageData.currentIndex=0,6e7/OB(c0.messageData,3)}let l=[],f=o.tracks.flat();f.sort((c0,u1)=>c0.ticks-u1.ticks);for(let c0=0;c0<16;c0++)l.push({renderStartIndex:0,notes:[]});let v=0,n0=60/(120*o.timeDivision),E0=0,m0=0;for(;E0>4,F=c0.messageStatusByte&15;if(u1===8){let q0=l[F].notes.findLast(L0=>L0.midiNote===c0.messageData[0]&&L0.length===-1);if(q0){let L0=v-q0.start;q0.length=L0L0.midiNote===c0.messageData[0]&&L0.length===-1);if(q0){let L0=v-q0.start;q0.length=L0=f.length)break;v+=n0*(f[E0].ticks-c0.ticks)}m0>0&&l.forEach((c0,u1)=>c0.notes.filter(F=>F.length===-1).forEach(F=>{let q0=v-F.start;F.length=q0r.max){let l=r.min;r.min=r.max,r.max=l}r.min=Math.max(0,r.min),r.max=Math.min(127,r.max),this._keyRange=r}toggleDarkMode(){this.canvas.classList.toggle("light_mode")}computeColors(){this.channelColors=this.plainColors.map(r=>{let l=this.drawingContext.createLinearGradient(0,0,this.canvas.width/128,0);return l.addColorStop(0,B$(r,g=>g*kC)),l.addColorStop(1,r),l}),this.darkerColors=this.plainColors.map(r=>{let l=this.drawingContext.createLinearGradient(0,0,this.canvas.width/128,0);return l.addColorStop(0,B$(r,g=>g*kC*wC)),l.addColorStop(1,B$(r,g=>g*wC)),l}),this.sidewaysChannelColors=this.plainColors.map(r=>{let l=this.drawingContext.createLinearGradient(0,0,0,this.canvas.width/128);return l.addColorStop(0,B$(r,g=>g*kC)),l.addColorStop(1,r),l}),this.sidewaysDarkerColors=this.plainColors.map(r=>{let l=this.drawingContext.createLinearGradient(0,0,0,this.canvas.width/128);return l.addColorStop(0,B$(r,g=>g*kC*wC)),l.addColorStop(1,B$(r,g=>g*wC)),l})}};_i.prototype.render=$y;_i.prototype.computeNotePositions=ly;_i.prototype.createChannelAnalysers=dy;_i.prototype.updateFftSize=Iy;_i.prototype.connectChannelAnalysers=Ey;_i.prototype.disconnectChannelAnalysers=my;_i.prototype.connectSequencer=Cy;_i.prototype.calculateNoteTimes=py;_i.prototype.resetIndexes=By;_i.prototype.renderWaveforms=uy;function o3(o,r){let l=0;for(let g=0;g>>0}function l7(o,r,l){for(let g=0;g>g*8&255}function Q9(o,r){o[o.currentIndex++]=r&255,o[o.currentIndex++]=r>>8}function c7(o,r){l7(o,r,4)}function LA(o,r){let l=r<<8|o;return l>32767?l-65536:l}function Qy(o){return o>127?o-256:o}function Ee(o,r,l=void 0,g=!0){if(l){let f=o.slice(o.currentIndex,o.currentIndex+r);return o.currentIndex+=r,new TextDecoder(l.replace(/[^\x20-\x7E]/g,"")).decode(f.buffer)}else{let f=!1,v="";for(let n0=0;n0127){if(g){f=!0;continue}else if(E0===0){f=!0;continue}}v+=String.fromCharCode(E0)}}return v}}function RA(o,r=0){let l=o.length;r>0&&(l=r);let g=new V3(l);return g7(g,o,r),g}function g7(o,r,l=0){l>0&&r.length>l&&(r=r.slice(0,l));for(let g=0;gr.length)for(let g=0;gl.header!=="LIST"?!1:(l.chunkData.currentIndex=0,Ee(l.chunkData,4)===r))}function vC(o){let r=[o&127];for(o>>=7;o>0;)r.unshift(o&127|128),o>>=7;return r}function SC(o){let r=[];for(let f of o.tracks){let v=[],n0=0,E0;for(let m0 of f){let c0=m0.ticks-n0,u1;m0.messageStatusByte<=K3.keySignature||m0.messageStatusByte===K3.sequenceSpecific?u1=[255,m0.messageStatusByte,...vC(m0.messageData.length),...m0.messageData]:m0.messageStatusByte===K3.systemExclusive?u1=[240,...vC(m0.messageData.length),...m0.messageData]:(u1=[],E0!==m0.messageStatusByte&&(E0=m0.messageStatusByte,u1.push(m0.messageStatusByte)),u1.push(...m0.messageData)),v.push(...vC(c0)),v.push(...u1),n0+=c0}r.push(new Uint8Array(v))}function l(f,v){for(let n0=0;n0{o.tracks.forEach((R1,t2)=>{if(o.midiPorts[t2]===L0)for(let y1=R1.length-1;y1>=0;y1--)R1[y1].messageStatusByte>=128&&R1[y1].messageStatusByte<240&&(R1[y1].messageStatusByte&15)===q0&&R1.splice(y1,1)})};g.forEach(q0=>{let L0=q0%16,R1=q0-L0,t2=o.midiPortChannelOffsets.findIndex(y1=>y1===R1);v(L0,t2),Y5(`%cRemoving channel %c${q0}%c!`,D1.info,D1.recognized,D1.info)});let n0=!1,E0="gs",m0=[],c0=[];o.tracks.forEach((q0,L0)=>{q0.forEach(R1=>{let t2=R1.messageStatusByte&240;t2===K3.controllerChange?m0.push({track:L0,message:R1,channel:R1.messageStatusByte&15}):t2===K3.programChange?c0.push({track:L0,message:R1,channel:R1.messageStatusByte&15}):R1.messageStatusByte===K3.systemExclusive&&(R1.messageData[0]===67&&R1.messageData[2]===76&&R1.messageData[5]===126&&R1.messageData[6]===0?(Y5("%cXG system on detected",D1.info),E0="xg",n0=!0):R1.messageData[0]===67&&R1.messageData[2]===76&&R1.messageData[3]===8&&R1.messageData[5]===3&&c0.push({track:L0,message:R1,channel:R1.messageData[4]}))})});let u1=(q0,L0,R1)=>o.tracks.reduce((t2,y1,Y2)=>{if(o.usedChannelsOnTrack[Y2].has(q0)&&o.midiPorts[Y2]===L0){let T2;R1?T2=y1.findIndex(V2=>(V2.messageStatusByte&240)===K3.noteOn):T2=y1.findIndex(V2=>V2.messageStatusByte>128&&V2.messageStatusByte<240&&(V2.messageStatusByte&15)===q0&&!(V2.messageStatusByte&K3.controllerChange===240&&(V2.messageData[0]===B3.resetAllControllers||V2.messageData[0]===B3.allNotesOff||V2.messageData[0]===B3.allSoundOff))),T2!==-1&&t2.push({index:T2,track:Y2})}return t2},[]),F=(q0,L0,R1)=>{let t2=m0.filter(y1=>y1.channel===q0&&y1.message.messageData[0]===R1&&o.midiPorts[y1.track]===L0);for(let y1=0;y1{let L0=q0.channel,R1=L0%16,t2=L0-R1,y1=o.midiPortChannelOffsets.findIndex(A0=>A0===t2),Y2=q0.controllerValue,T2=q0.controllerNumber;F(R1,y1,T2),Y5(`%cNo controller %c${T2}%c on channel %c${L0}%c found. Adding it!`,D1.info,D1.unrecognized,D1.info,D1.value,D1.info);let V2=u1(R1,y1,!0);if(V2.length===0){x4("Program change but no notes... ignoring!");return}let i3=V2.reduce((A0,y5)=>o.tracks[y5.track][y5.index].ticks{let L0=q0.channel%16,R1=q0.channel-L0,t2=o.midiPortChannelOffsets.findIndex($3=>$3===R1),y1=q0.isDrum?0:q0.bank,Y2=q0.program,T2=c0.filter($3=>o.midiPorts[$3.track]===t2&&$3.channel===L0);if(F(L0,t2,B3.bankSelect),F(L0,t2,B3.lsbForControl0BankSelect),(q0.isDrum||y1>0)&&!n0&&(o.tracks.forEach($3=>{for(let w6=0;w6<$3.length;w6++){let s6=$3[w6];if(s6.messageStatusByte===K3.systemExclusive)if(s6.messageData[0]===65&&s6.messageData[2]===66&&s6.messageData[6]===127){n0=!0,Y5("%cGS on detected!",D1.recognized);break}else s6.messageData[0]===126&&s6.messageData[2]===9&&(Y5("%cGM/2 on detected, removing!",D1.info),$3.splice(w6,1),w6--)}}),!n0)){let $3=0;o.tracks[0][0].messageStatusByte===K3.trackName&&$3++,o.tracks[0].splice($3,0,qB(0)),Y5("%cGS on not detected. Adding it.",D1.info),n0=!0}for(let $3 of T2)o.tracks[$3.track].splice(o.tracks[$3.track].indexOf($3.message),1);let V2=u1(L0,t2,R1>0);if(V2.length===0){x4("Program change but no notes... ignoring!");return}let i3=V2.reduce(($3,w6)=>o.tracks[w6.track][w6.index].ticks{if(o.midiPorts[T2]!==R1||!o.usedChannelsOnTrack[T2].has(L0))return;let V2=K3.noteOn|L0,i3=K3.noteOff|L0,r3=K3.polyPressure|L0;Y2.forEach(A0=>{A0.messageStatusByte!==V2&&A0.messageStatusByte!==i3&&A0.messageStatusByte!==r3||(A0.messageData[0]=Math.max(0,Math.min(127,A0.messageData[0]+t2)))})}),y1!==0){let Y2=o.tracks.find((s6,o9)=>o.usedChannelsOnTrack[o9].has(q0.channel));if(Y2===void 0){x4(`Channel ${q0.channel} unused but transpose requested???`);continue}let T2=K3.noteOn|q0.channel%16,V2=Y2.findIndex(s6=>s6.messageStatusByte===T2);if(V2===-1){x4(`No notes on channel ${q0.channel} but transpose requested???`);continue}let i3=Y2[V2].ticks,r3=y1*64+64,A0=K3.controllerChange|q0.channel%16,y5=new mi(i3,A0,new V3([B3.RPNMsb,0])),T3=new mi(i3,A0,new V3([B3.RPNLsb,1])),$3=new mi(i3,A0,new V3([B3.dataEntryMsb,r3])),w6=new mi(i3,A0,new V3([B3.lsbForControl6DataEntry,0]));Y2.splice(V2,0,w6),Y2.splice(V2,0,$3),Y2.splice(V2,0,T3),Y2.splice(V2,0,y5)}}i4()}function hh(o,r){let l=[],g=[],f=[],v=[];r.channelSnapshots.forEach((n0,E0)=>{if(n0.isMuted){g.push(E0);return}let m0=n0.channelTransposeKeyShift+n0.customControllers[QC.channelTransposeFine]/100;m0!==0&&l.push({channel:E0,keyShift:m0}),n0.lockPreset&&f.push({channel:E0,program:n0.program,bank:n0.bank,isDrum:n0.drumChannel}),n0.lockedControllers.forEach((c0,u1)=>{if(!c0||u1>127||u1===B3.bankSelect)return;let F=n0.midiControllers[u1]>>7;v.push({channel:E0,controllerNumber:u1,controllerValue:F})})}),Wb(o,f,v,g,l)}var Mt={name:"INAM",album:"IPRD",artist:"IART",genre:"IGNR",picture:"IPIC",copyright:"ICOP",creationDate:"ICRD",comment:"ICMT",engineer:"IENG",software:"ISFT",encoding:"IENC",midiEncoding:"MENC",bankOffset:"DBNK"},FA="utf-8",jb="Created using SpessaSynth";function wy(o,r,l,g=0,f="Shift_JIS",v={},n0=!0){if(gr("%cWriting the RMIDI File...",D1.info),Y5(`%cConfiguration: Bank offset: %c${g}%c, encoding: %c${f}`,D1.info,D1.value,D1.info,D1.value),Y5("metadata",v),Y5("Initial bank offset",r.bankOffset),n0){let Y2=function(){let r3=0,A0=1/0;return r.tracks.forEach((y5,T3)=>{t2[T3]>=y5.length||y5[t2[T3]].ticksA0>r3?A0:r3),i3=[];for(let r3=0;r30;){let r3=Y2(),A0=r.tracks[r3];if(t2[r3]>=A0.length){y1--;continue}let y5=A0[t2[r3]];t2[r3]++;let T3=r.midiPortChannelOffsets[T2[r3]];if(y5.messageStatusByte===K3.midiPort){T2[r3]=y5.messageData[0];continue}let $3=y5.messageStatusByte&240;if($3!==K3.controllerChange&&$3!==K3.programChange&&$3!==K3.systemExclusive)continue;if($3===K3.systemExclusive){if(y5.messageData[0]!==65||y5.messageData[2]!==66||y5.messageData[3]!==18||y5.messageData[4]!==64||!(y5.messageData[5]&16)||y5.messageData[6]!==21){y5.messageData[0]===67&&y5.messageData[2]===76&&y5.messageData[5]===126&&y5.messageData[6]===0?L0="xg":y5.messageData[0]===65&&y5.messageData[2]===66&&y5.messageData[6]===127?L0="gs":y5.messageData[0]===126&&y5.messageData[2]===9&&(L0="gm",R1.push({tNum:r3,e:y5}));continue}let o9=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][y5.messageData[5]&15]+T3;i3[o9].drums=!!(y5.messageData[7]>0&&y5.messageData[5]>>4);continue}let w6=(y5.messageStatusByte&15)+T3,s6=i3[w6];if($3===K3.programChange){s6.drums?l.presets.findIndex(r4=>r4.program===y5.messageData[0]&&r4.bank===128)===-1&&(y5.messageData[0]=l.presets.find(r4=>r4.bank===128)?.program||0):l.presets.findIndex(r4=>r4.program===y5.messageData[0]&&r4.bank!==128)===-1&&(y5.messageData[0]=l.presets.find(r4=>r4.bank!==128)?.program||0),s6.program=y5.messageData[0];let o9=Math.max(0,s6.lastBank?.messageData[1]-r.bankOffset),V4=s6.drums?128:o9;if(s6.lastBank===void 0)continue;if(L0==="xg"&&s6.drums&&(i3[w6].lastBank.messageData[1]=127),l.presets.findIndex(r4=>r4.bank===V4&&r4.program===y5.messageData[0])===-1){let r4=l.presets.find(V6=>V6.program===y5.messageData[0])?.bank+g||g;s6.lastBank.messageData[1]=r4,Y5(`%cNo preset %c${V4}:${y5.messageData[0]}%c. Changing bank to ${r4}.`,D1.info,D1.recognized,D1.info)}else{let V6=(V4===128?L0==="xg"?127:0:o9)+g;s6.lastBank.messageData[1]=V6,Y5(`%cPreset %c${V4}:${y5.messageData[0]}%c exists. Changing bank to ${V6}.`,D1.info,D1.recognized,D1.info)}continue}y5.messageData[0]===B3.bankSelect&&(s6.hasBankSelect=!0,L0==="xg"&&(s6.drums=y5.messageData[1]===120||y5.messageData[1]===126||y5.messageData[1]===127),s6.lastBank=y5)}if(i3.forEach((r3,A0)=>{if(r3.hasBankSelect===!0)return;let y5=A0%16,T3=K3.programChange|y5,$3=Math.floor(A0/16)*16,w6=r.midiPortChannelOffsets.indexOf($3),s6=r.tracks.find((V6,We)=>r.midiPorts[We]===w6&&r.usedChannelsOnTrack[We].has(y5));if(s6===void 0)return;let o9=s6.findIndex(V6=>V6.messageStatusByte===T3);if(o9===-1){let V6=s6.findIndex(Vi=>Vi.messageStatusByte>128&&Vi.messageStatusByte<240&&(Vi.messageStatusByte&15)===y5);if(V6===-1)return;let We=s6[V6].ticks,Or=l.getPreset(0,0).program;s6.splice(V6,0,new mi(We,K3.programChange|y5,new V3([Or]))),o9=V6}Y5(`%cAdding bank select for %c${A0}`,D1.info,D1.recognized);let V4=s6[o9].ticks,r4=l.getPreset(0,r3.program)?.bank+g||g;s6.splice(o9,0,new mi(V4,K3.controllerChange|y5,new V3([B3.bankSelect,r4])))}),L0!=="gs"&&L0!=="xg"){for(let A0 of R1)r.tracks[A0.tNum].splice(r.tracks[A0.tNum].indexOf(A0.e),1);let r3=0;r.tracks[0][0].messageStatusByte===K3.trackName&&r3++,r.tracks[0].splice(r3,0,qB(0))}}let E0=new V3(SC(r).buffer),m0=[RA("INFO")],c0=new TextEncoder;if(m0.push(Ze(Mt.software,c0.encode("SpessaSynth"),!0)),v.name!==void 0?(m0.push(Ze(Mt.name,c0.encode(v.name),!0)),f=FA):m0.push(Ze(Mt.name,r.rawMidiName,!0)),v.creationDate!==void 0)f=FA,m0.push(Ze(Mt.creationDate,c0.encode(v.creationDate),!0));else{let L0=new Date().toLocaleString(void 0,{weekday:"long",year:"numeric",month:"long",day:"numeric",hour:"numeric",minute:"numeric"});m0.push(Ze(Mt.creationDate,RA(L0),!0))}if(v.comment!==void 0&&(f=FA,m0.push(Ze(Mt.comment,c0.encode(v.comment)))),v.engineer!==void 0&&m0.push(Ze(Mt.engineer,c0.encode(v.engineer),!0)),v.album!==void 0&&(f=FA,m0.push(Ze(Mt.album,c0.encode(v.album),!0))),v.artist!==void 0&&(f=FA,m0.push(Ze(Mt.artist,c0.encode(v.artist),!0))),v.genre!==void 0&&(f=FA,m0.push(Ze(Mt.genre,c0.encode(v.genre),!0))),v.picture!==void 0&&m0.push(Ze(Mt.picture,new Uint8Array(v.picture))),v.copyright!==void 0)f=FA,m0.push(Ze(Mt.copyright,c0.encode(v.copyright),!0));else{let L0=r.copyright.length>0?r.copyright:jb;m0.push(Ze(Mt.copyright,RA(L0)))}let u1=new V3(2);l7(u1,g,2),m0.push(Ze(Mt.bankOffset,u1)),v.midiEncoding!==void 0&&(m0.push(Ze(Mt.midiEncoding,c0.encode(v.midiEncoding))),f=FA),m0.push(Ze(Mt.encoding,RA(f)));let F=Sn(m0),q0=Sn([RA("RMID"),Ze("data",E0),Ze("LIST",F),o]);return Y5("%cFinished!",D1.info),i4(),Ze("RIFF",q0)}function vm(o,r){let l=0;for(;o>0;){let g=r.tempoChanges.find(v=>v.ticks=128){this.MIDIout.send(g);return}break;case MA.songChange:let f=l[0];this.songIndex=l[1],this.midiData=f,this.hasDummyData=!1,this.absoluteStartTime=0,this.duration=this.midiData.duration,Object.entries(this.onSongChange).forEach(E0=>E0[1](f)),this.unpause();break;case MA.textEvent:let v=l;this.onTextEvent&&this.onTextEvent(v[0],v[1]);break;case MA.timeChange:let n0=this.synth.currentTime-l;Object.entries(this.onTimeChange).forEach(E0=>E0[1](n0)),this.unpause(),this._recalculateStartTime(n0);break;case MA.pause:this.pausedTime=this.currentTime,this.isFinished=l,this.isFinished&&Object.entries(this.onSongEnded).forEach(E0=>E0[1]());break;case MA.midiError:if(this.onError)this.onError(l);else throw new Error(l);return;case MA.getMIDI:this._getMIDIResolve&&this._getMIDIResolve(l)}}_recalculateStartTime(r){this.absoluteStartTime=this.synth.currentTime-r/this._playbackRate,this.highResTimeOffset=(this.synth.currentTime-performance.now()/1e3)*this._playbackRate}async getMIDI(){return new Promise(r=>{this._getMIDIResolve=r,this._sendMessage(Li.getMIDI,void 0)})}loadNewSongList(r){this.pause(),this.midiData=ky,this.hasDummyData=!0,this.duration=99999,this._sendMessage(Li.loadNewSongList,r),this.songIndex=0,this.songsAmount=r.length,this.songsAmount>1&&(this.loop=!1)}connectMidiOutput(r){this.resetMIDIOut(),this.MIDIout=r,this._sendMessage(Li.changeMIDIMessageSending,r!==void 0),this.currentTime-=.1}pause(){if(this.paused){x4("Already paused");return}this.pausedTime=this.currentTime,this._sendMessage(Li.pause)}unpause(){this.pausedTime=void 0,this.isFinished=!1}play(r=!1){this.isFinished&&(r=!0),this._recalculateStartTime(this.pausedTime||0),this.unpause(),this._sendMessage(Li.play,r)}stop(){this._sendMessage(Li.stop)}};var Sm=["Shift_JIS","windows-1250","utf-8","utf-16","utf-16le","utf-16be","latin1","ISO-8859-1","ISO-8859-2","ISO-8859-3","ISO-8859-4","ISO-8859-5","ISO-8859-6","ISO-8859-7","ISO-8859-8","ISO-8859-9","ISO-8859-10","ISO-8859-11","ISO-8859-13","ISO-8859-14","ISO-8859-15","ISO-8859-16","windows-1251","windows-1252","windows-1253","windows-1254","windows-1255","windows-1256","windows-1257","windows-1258","EUC-JP","ISO-2022-JP","EUC-KR","Big5","GB18030"];function vy(o){return` +`}},NB=960,GB=Gr.concave;function Nr(o,r,l,g,f){return o<<10|r<<9|l<<8|g<<7|f}var pC=[new oe({srcEnum:Nr(GB,0,1,0,Ft.noteOnVelocity),dest:v1.initialAttenuation,amt:NB,secSrcEnum:0,transform:0}),new oe({srcEnum:129,dest:v1.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new oe({srcEnum:Nr(GB,0,1,1,B3.mainVolume),dest:v1.initialAttenuation,amt:NB,secSrcEnum:0,transform:0}),new oe({srcEnum:13,dest:v1.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new oe({srcEnum:526,dest:v1.fineTune,amt:12700,secSrcEnum:16,transform:0}),new oe({srcEnum:650,dest:v1.pan,amt:500,secSrcEnum:0,transform:0}),new oe({srcEnum:Nr(GB,0,1,1,B3.expressionController),dest:v1.initialAttenuation,amt:NB,secSrcEnum:0,transform:0}),new oe({srcEnum:219,dest:v1.reverbEffectsSend,amt:750,secSrcEnum:0,transform:0}),new oe({srcEnum:221,dest:v1.chorusEffectsSend,amt:750,secSrcEnum:0,transform:0}),new oe({srcEnum:Nr(Gr.linear,0,0,0,Ft.polyPressure),dest:v1.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new oe({srcEnum:Nr(Gr.linear,0,0,1,B3.tremoloDepth),dest:v1.modLfoToVolume,amt:24,secSrcEnum:0,transform:0}),new oe({srcEnum:Nr(Gr.linear,1,0,1,B3.releaseTime),dest:v1.releaseVolEnv,amt:1200,secSrcEnum:0,transform:0}),new oe({srcEnum:Nr(Gr.linear,1,0,1,B3.brightness),dest:v1.initialFilterFc,amt:6e3,secSrcEnum:0,transform:0}),new oe({srcEnum:Nr(Gr.linear,1,0,1,B3.timbreHarmonicContent),dest:v1.initialFilterQ,amt:250,secSrcEnum:0,transform:0})];var C$=128,ry=147,Ub=new Int16Array(ry).fill(0),ni=(o,r)=>Ub[o]=r<<7;ni(B3.mainVolume,100);ni(B3.balance,64);ni(B3.expressionController,127);ni(B3.pan,64);ni(B3.timbreHarmonicContent,64);ni(B3.releaseTime,64);ni(B3.attackTime,64);ni(B3.brightness,64);ni(B3.soundController6,64);ni(B3.soundController7,64);ni(B3.soundController8,64);ni(B3.soundController9,64);ni(B3.generalPurposeController6,64);ni(B3.generalPurposeController8,64);ni(C$+Ft.pitchWheel,64);ni(C$+Ft.pitchWheelRange,2);var QC={channelTuning:0,channelTransposeFine:1,modulationMultiplier:2,masterTuning:3,channelTuningSemitones:4},ny=Object.keys(QC).length,Pb=new Float32Array(ny);Pb[QC.modulationMultiplier]=1;var sy={velocityOverride:128};var Ob="spessasynth-worklet-system",UB=350,Di=9,qb=16;var ch=class{constructor(r,l,g=!0,f=void 0,S=iy){Y5("%cInitializing SpessaSynth synthesizer...",_1.info),this.context=r.context;let n0=f?.oneOutput===!0;this.eventHandler=new mC,this._voiceCap=UB,this._outputsAmount=qb,this.channelsAmount=this._outputsAmount,this.resolveWhenReady=void 0,this.isReady=new Promise(g0=>this.resolveWhenReady=g0),this.channelProperties=[];for(let g0=0;g0this.handleMessage(g0.data),this.soundfontManager=new BC(this),this._snapshotCallback=void 0,this.sequencerCallbackFunction=void 0,S.reverbEnabled&&!n0&&(this.reverbProcessor=ty(this.context,S.reverbImpulseResponse),this.reverbProcessor.connect(r),this.worklet.connect(this.reverbProcessor,0)),S.chorusEnabled&&!n0&&(this.chorusProcessor=new CC(r,S.chorusConfig),this.worklet.connect(this.chorusProcessor.input,1)),n0)this.worklet.connect(r,0);else for(let g0=2;g0{this.channelsAmount++})}get voiceCap(){return this._voiceCap}set voiceCap(r){this._setMasterParam(Qm.voicesCap,r),this._voiceCap=r}get highPerformanceMode(){return this._highPerformanceMode}set highPerformanceMode(r){this._highPerformanceMode=r}get currentTime(){return this.context.currentTime}get voicesAmount(){return this._voicesAmount}setLogLevel(r,l,g,f){this.post({channelNumber:Ci,messageType:c8.setLogLevel,messageData:[r,l,g,f]})}_setMasterParam(r,l){this.post({channelNumber:Ci,messageType:c8.setMasterParameter,messageData:[r,l]})}setInterpolationType(r){this._setMasterParam(Qm.interpolationType,r)}handleMessage(r){let l=r.messageData;switch(r.messageType){case m$.channelProperties:this.channelProperties=l,this._voicesAmount=this.channelProperties.reduce((g,f)=>g+f.voicesAmount,0);break;case m$.eventCall:this.eventHandler.callEvent(l.eventName,l.eventData);break;case m$.sequencerSpecific:this.sequencerCallbackFunction&&this.sequencerCallbackFunction(l.messageType,l.messageData);break;case m$.synthesizerSnapshot:this._snapshotCallback&&this._snapshotCallback(l);break;case m$.ready:this.resolveWhenReady();break;case m$.soundfontError:x4(new Error(l)),this.eventHandler.callEvent("soundfonterror",l);break}}async getSynthesizerSnapshot(){return new Promise(r=>{this._snapshotCallback=l=>{this._snapshotCallback=void 0,r(l)},this.post({messageType:c8.requestSynthesizerSnapshot,messageData:void 0,channelNumber:Ci})})}addNewChannel(r=!0){this.channelProperties.push({voicesAmount:0,pitchBend:0,pitchBendRangeSemitones:0,isMuted:!1,isDrum:!1}),r&&this.post({channelNumber:0,messageType:c8.addNewChannel,messageData:null})}setVibrato(r,l){this.post({channelNumber:r,messageType:c8.setChannelVibrato,messageData:l})}connectIndividualOutputs(r){if(r.length!==this._outputsAmount)throw new Error(`input nodes amount differs from the system's outputs amount! + Expected ${this._outputsAmount} got ${r.length}`);for(let l=0;l127||l<0)throw new Error(`Invalid controller number: ${l}`);g=Math.floor(g),l=Math.floor(l),this.post({channelNumber:r,messageType:c8.ccChange,messageData:[l,g,f]})}resetControllers(){this.post({channelNumber:Ci,messageType:c8.ccReset,messageData:void 0})}channelPressure(r,l){this.post({channelNumber:r,messageType:c8.channelPressure,messageData:l})}polyPressure(r,l,g){this.post({channelNumber:r,messageType:c8.polyPressure,messageData:[l,g]})}post(r){this.worklet.port.postMessage(r)}pitchWheel(r,l,g){this.post({channelNumber:r,messageType:c8.pitchWheel,messageData:[l,g]})}transpose(r){this.transposeChannel(Ci,r,!1)}transposeChannel(r,l,g=!1){this.post({channelNumber:r,messageType:c8.transpose,messageData:[l,g]})}setMainVolume(r){this._setMasterParam(Qm.mainVolume,r)}setMasterPan(r){this._setMasterParam(Qm.masterPan,r)}setPitchBendRange(r,l){this.controllerChange(r,B3.RPNMsb,0),this.controllerChange(r,B3.dataEntryMsb,l),this.controllerChange(r,B3.RPNMsb,127),this.controllerChange(r,B3.RPNLsb,127),this.controllerChange(r,B3.dataEntryMsb,0)}programChange(r,l,g=!1){this.post({channelNumber:r,messageType:c8.programChange,messageData:[l,g]})}velocityOverride(r,l){this.post({channelNumber:r,messageType:c8.ccChange,messageData:[sy.velocityOverride,l,!0]})}lockController(r,l,g){this.post({channelNumber:r,messageType:c8.lockController,messageData:[l,g]})}muteChannel(r,l){this.post({channelNumber:r,messageType:c8.muteChannel,messageData:l})}async reloadSoundFont(r){x4("reloadSoundFont is deprecated. Please use the soundfontManager property instead."),await this.soundfontManager.reloadManager(r)}systemExclusive(r){this.post({channelNumber:Ci,messageType:c8.systemExclusive,messageData:Array.from(r)})}setDrums(r,l){this.post({channelNumber:r,messageType:c8.setDrums,messageData:l})}sendMessage(r){let l=ey(r[0]);switch(l.status){case K3.noteOn:let g=r[2];g>0?this.noteOn(l.channel,r[1],g):this.noteOff(l.channel,r[1]);break;case K3.noteOff:this.noteOff(l.channel,r[1]);break;case K3.pitchBend:this.pitchWheel(l.channel,r[2],r[1]);break;case K3.controllerChange:this.controllerChange(l.channel,r[1],r[2]);break;case K3.programChange:this.programChange(l.channel,r[1]);break;case K3.polyPressure:this.polyPressure(l.channel,r[0],r[1]);break;case K3.channelPressure:this.channelPressure(l.channel,r[1]);break;case K3.systemExclusive:this.systemExclusive(new V3(r.slice(1)));break;case K3.reset:this.stopAll(!0),this.resetControllers();break;default:break}}reverbateEverythingBecauseWhyNot(){for(let r=0;r{this.pressedKeys.delete(g),this.releaseNote(g,this.channel),this.synth.noteOff(this.channel,g)},r=(g,f)=>{let S;if(bn)S=127;else{let E0=this.keys[0].getBoundingClientRect();if(this.keyboard.classList.contains("sideways")){let m0=f.clientX-E0.left,g0=E0.width;S=Math.floor((g0-m0)/g0*127)}else{let m0=f.clientY-E0.top,g0=E0.height;S=Math.floor(m0/g0*127)}}this.synth.noteOn(this.channel,g,S,this.enableDebugging)},l=g=>{let f=g.touches?Array.from(g.touches):[g],S=new Set;f.forEach(n0=>{let E0=document.elementFromPoint(n0.clientX,n0.clientY),m0=parseInt(E0.id.replace("note",""));S.add(m0),!(isNaN(m0)||m0<0||this.pressedKeys.has(m0))&&(this.pressedKeys.add(m0),r(m0,n0))}),this.pressedKeys.forEach(n0=>{S.has(n0)||o(n0)})};bn||(document.addEventListener("mousedown",g=>{this.mouseHeld=!0,l(g)}),document.addEventListener("mouseup",()=>{this.mouseHeld=!1,this.pressedKeys.forEach(g=>{o(g)})}),this.keyboard.onmousemove=g=>{this.mouseHeld&&l(g)},this.keyboard.onmouseleave=()=>{this.pressedKeys.forEach(g=>{o(g)})}),this.keyboard.ontouchstart=l.bind(this),this.keyboard.ontouchend=l.bind(this),this.keyboard.ontouchmove=l.bind(this)}var Ay=20,wm=class{constructor(r,l){this.mouseHeld=!1,this.pressedKeys=new Set,this.mode="light",this.enableDebugging=!1,this.sizeChangeAnimationId=-1,this.modeChangeAnimationId=-1,this._keyRange={min:0,max:127},document.addEventListener("keydown",g=>{g.key==="Shift"&&(this.synth.controllerChange(this.channel,B3.sustainPedal,127),this.keyboard.style.filter="brightness(0.5)")}),document.addEventListener("keyup",g=>{g.key==="Shift"&&(this.synth.controllerChange(this.channel,B3.sustainPedal,0),this.keyboard.style.filter="")}),this.synth=l,this.channel=0,this.channelColors=r,this._shown=!0,this._createKeyboard(),this.synth.eventHandler.addEvent("noteon","keyboard-note-on",g=>{this.pressNote(g.midiNote,g.channel,g.velocity)}),this.synth.eventHandler.addEvent("noteoff","keyboard-note-off",g=>{this.releaseNote(g.midiNote,g.channel)}),this.synth.eventHandler.addEvent("stopall","keyboard-stop-all",()=>{this.clearNotes()}),this.synth.eventHandler.addEvent("mutechannel","keyboard-mute-channel",g=>{if(g.isMuted)for(let f=0;f<128;f++)this.releaseNote(f,g.channel)})}get shown(){return this._shown}set shown(r){r===!0?this.keyboard.style.display="":this.keyboard.style.display="none",this._shown=r}get keyRange(){return this._keyRange}set keyRange(r){if(r.max===void 0||r.min===void 0)throw new TypeError("No min or max property!");if(r.min>r.max){let l=r.min;r.min=r.max,r.max=l}r.min=Math.max(0,r.min),r.max=Math.min(127,r.max),this.setKeyRange(r,!0)}_createKeyboard(){this.keyboard=document.getElementById("keyboard"),this.keyboard.innerHTML="",this.keys=[],this.keyColors=[];for(let r=this._keyRange.min;r=0&&(S=l(r-1)),r<127&&(n0=l(r+1)),n0&&S?g.classList.add("between_sharps"):S?g.classList.add("left_sharp"):n0&&g.classList.add("right_sharp")}return g}toggleMode(r=!0){if(this.mode==="light"?this.mode="dark":this.mode="light",!r){this.keys.forEach(g=>{g.classList.contains("flat_key")&&g.classList.toggle("flat_dark_key")});return}this.modeChangeAnimationId&&clearTimeout(this.modeChangeAnimationId),this.keyboard.classList.add("mode_transform"),document.body.scrollHeight<=window.innerHeight&&document.body.classList.add("no_scroll"),this.modeChangeAnimationId=setTimeout(()=>{this.keys.forEach(g=>{g.classList.contains("flat_key")&&g.classList.toggle("flat_dark_key")}),this.keyboard.classList.remove("mode_transform"),setTimeout(()=>document.body.classList.remove("no_scroll"),500)},500)}setKeyRange(r,l=!0){Math.abs(r.max-r.min)<12&&(r.min-=6,r.max=r.min+12);let f=900/(r.max-r.min+5),S=document.styleSheets[0].cssRules,n0;for(let E0 of S)if(E0.selectorText==="#keyboard .key"){n0=E0;break}if(n0.style.setProperty("--pressed-transform-skew",`${8e-4/(f/7)}`),l){this.sizeChangeAnimationId&&clearTimeout(this.sizeChangeAnimationId);let E0=getComputedStyle(this.keyboard),m0=parseFloat(E0.getPropertyValue("--current-min-height").replace(/[^\d.]+/g,"")),g0=this.keyboard.getBoundingClientRect().height,f1=f/m0,x=g0*f1-g0,X0=(this._keyRange.min+this._keyRange.max)/2,F0=(r.min+r.max)/2;this._keyRange=r;let b1=this.keys.find(Y2=>Y2.classList.contains("sharp_key")).getBoundingClientRect().width,l2=(X0-F0)*b1,y1=parseFloat(E0.getPropertyValue("--key-border-radius").replace(/[^\d.]+/g,""));this.keyboard.style.marginTop=`${x}px`,this.keyboard.style.transition="",this.keyboard.style.transform=`scale(${f1}) translateX(${l2}px)`,this.keyboard.style.setProperty("--key-border-radius",`${y1/f1}vmin`),this.sizeChangeAnimationId=setTimeout(()=>{this.keyboard.style.setProperty("--current-min-height",`${f}`),this.keyboard.style.transition="none",this.keyboard.style.transform="",this.keyboard.style.marginTop="",this.keyboard.style.setProperty("--key-border-radius",""),this._createKeyboard(),setTimeout(()=>this.keyboard.style.transition="",75)},500)}else this.keyboard.style.setProperty("--current-min-height",`${f}`),this._keyRange=r,this._createKeyboard()}selectChannel(r){this.channel=r}pressNote(r,l,g){let f=this.keys[r-this._keyRange.min];if(f===void 0)return;f.classList.add("pressed");let S=f.classList.contains("sharp_key"),n0=g/127,E0=this.channelColors[l%16].match(/\d+(\.\d+)?/g).map(parseFloat),m0;if(!S&&this.mode==="light"?m0=`rgba(${E0.slice(0,3).map(f1=>255-(255-f1)*n0).join(", ")}, ${E0[3]})`:m0=`rgba(${E0.slice(0,3).map(f1=>f1*n0).join(", ")}, ${E0[3]})`,f.style.background=m0,this.mode==="dark"){let g0=Ay*n0;f.style.boxShadow=`${m0} 0px 0px ${g0}px ${g0/5}px`}this.keyColors[r-this._keyRange.min].push(this.channelColors[l%16])}releaseNote(r,l){let g=this.keys[r-this._keyRange.min];if(g===void 0)return;l%=this.channelColors.length;let f=this.keyColors[r-this._keyRange.min];if(!f)return;let S=f.findLastIndex(n0=>n0===this.channelColors[l]);S!==-1&&(f.splice(S,1),g.style.background=f[f.length-1],this.mode==="dark"&&(g.style.boxShadow=`0px 0px ${Ay}px ${f[f.length-1]}`),f.length<1&&(g.classList.remove("pressed"),g.style.background="",g.style.boxShadow=""))}clearNotes(){this.keys.forEach((r,l)=>{r.classList.remove("pressed"),r.style.background="",r.style.boxShadow="",this.keyColors[l]=[]})}};wm.prototype._handlePointers=oy;function B$(o,r){let l=o.replace(/[^\d,]/g,"").split(",");return`rgb(${r(parseInt(l[0]))}, ${r(parseInt(l[1]))}, ${r(parseInt(l[2]))})`}var Yb="#000";function ay(o,r,l){o.forEach(g=>{if(g.pressedProgress===0)return;r.fillStyle=g.color;let f=g.pressedProgress*g.velocity;if(r.globalAlpha=.5*f,l){r.fillRect(g.xPos,g.yPos-g.height*f,g.width,g.height*(f*2+1)),r.globalAlpha=1;return}r.fillRect(g.xPos-g.width*f,g.yPos,g.width*(f*2+1),g.height),r.globalAlpha=1}),o.forEach(g=>{r.fillStyle=g.color,r.save(),r.translate(g.xPos,g.yPos),r.fillRect(0,0,g.width,g.height),r.restore(),r.strokeStyle=Yb,r.lineWidth=g.stroke,r.strokeRect(g.xPos,g.yPos,g.width,g.height)})}var PB=!1;function $y(o=!0,r=!1){let l=(this.seq===void 0||this?.seq?.paused===!0)&&this.synth.voicesAmount===0&&!r;if(!this.renderBool||l)if(PB){o&&requestAnimationFrame(this.render.bind(this));return}else PB=!0;else PB=!1;if(o&&this.drawingContext.clearRect(0,0,this.canvas.width,this.canvas.height),this.renderAnalysers&&!this.synth.highPerformanceMode&&this.renderWaveforms(),this.renderNotes&&this.noteTimes){let S=this.computeNotePositions(this.synth.highPerformanceMode);this.synth.highPerformanceMode||ay(S,this.drawingContext,this.sideways)}let g=performance.now()-this.frameTimeStart;this.frameTimeStart=performance.now();let f=1e3/g;this.drawingContext.textBaseline="hanging",this.drawingContext.textAlign="end",this.drawingContext.font=`${yC}px system-ui`,this.drawingContext.fillStyle="white",this.drawingContext.strokeStyle="white",this.drawingContext.fillText(`${this.notesOnScreen} notes`,this.canvas.width,yC*2+5),this.drawingContext.fillText(this.version,this.canvas.width,5),this.drawingContext.fillText(Math.round(f).toString()+" FPS",this.canvas.width,yC+5),this.onRender&&this.onRender(),o&&requestAnimationFrame(this.render.bind(this))}function ly(o=!1){this.notesOnScreen=0;let r=this.sideways?this.canvas.height:this.canvas.width,l=this.sideways?this.canvas.width:this.canvas.height,g=this.keyRange.max-this.keyRange.min,f=r/(g+1),S=f-Q$*2,n0=this.noteFallingTimeMs/1e3,E0=this.noteAfterTriggerTimeMs/1e3,m0=this.seq.currentHighResolutionTime,g0=m0-E0,f1=n0+E0,x=g0+f1,X0=gy/f1,F0=[];this.synth.channelProperties.forEach(l2=>{if(this.showVisualPitch){let y1=l2.pitchBend-8192+this.visualPitchBendOffset;F0.push(l2.pitchBendRangeSemitones*(y1/8192*f))}else F0.push(0)});let b1=[];return this.noteTimes.forEach((l2,y1)=>{if(l2.renderStartIndex>=l2.notes.length||!this.renderChannels[y1])return;let Y2=l2.renderStartIndex,T2=l2.notes,V2=T2[Y2],i3=-1;for(;V2.start<=x&&(Y2++,!(this.notesOnScreen>hy));){let r3=V2.start+V2.length;if(r3>g0&&V2.length>0){let A0=V2.length/f1*l-Q$*2;if(this.notesOnScreen<1e3||A0>X0){i3===-1&&(i3=Y2-1);let y5=(V2.start-g0)/f1*l,T3;if(this._notesFall?T3=l-A0-y5+Q$:T3=y5+Q$,V2.midiNotethis.keyRange.max){if(Y2>=T2.length)break;V2=T2[Y2];continue}let $3=V2.midiNote-this.keyRange.min,w6=f*$3+Q$,s6,o9,V4,r4;if(this.sideways?(s6=T3,o9=w6,r4=S,V4=A0):(o9=T3,s6=w6,V4=S,r4=A0),this.notesOnScreen++,o)this.drawingContext.fillStyle=this.plainColors[y1],this.drawingContext.fillRect(s6+p$+Q$,o9+p$,V4-p$*2,r4-p$*2);else{let V6;if(V2.start>m0||r3=T2.length)break;V2=T2[Y2]}i3>-1&&(l2.renderStartIndex=i3)}),b1.sort((l2,y1)=>y1.height-l2.height),b1}function uy(){let o=this.canvas.width/4,r=this.canvas.height/4;this.channelAnalysers.forEach((l,g)=>{let f=g%4,S=Math.floor(g/4),n0=!1;for(let x=g;x0){n0=!0;break}if(!n0){let x=this.canvas.width/4,X0=this.canvas.height/4,F0=x*f,b1=X0*S+X0/2;this.drawingContext.lineWidth=this.lineThickness,this.drawingContext.strokeStyle=this.channelColors[g],this.drawingContext.beginPath(),this.drawingContext.moveTo(F0,b1),this.drawingContext.lineTo(F0+x,b1),this.drawingContext.stroke();return}let E0=new Float32Array(l.frequencyBinCount);l.getFloatTimeDomainData(E0);let m0=o*f,g0=r*S+r/2,f1=this.waveMultiplier*r;if(this.drawingContext.lineWidth=this.lineThickness,this.drawingContext.strokeStyle=this.channelColors[g],this.drawingContext.beginPath(),this._stabilizeWaveforms){let x=E0.length/4,X0=o/x,F0=Math.floor(x/2),b1=E0.length-F0;for(let T2=b1;T2>=1;T2--)if(E0[T2-1]<0&&E0[T2]>=0){b1=T2;break}let l2=m0,y1=b1-F0,Y2=b1+F0;for(let T2=y1;T2{this.renderChannels[r.channel]=!r.isMuted}),this.updateFftSize()}function Iy(){for(let o=0;o4096?this.delayNode.delayTime.value=f/this.synth.context.sampleRate/2:this.delayNode.delayTime.value=0)}}function Ey(o){o.connectIndividualOutputs(this.channelAnalysers),o.eventHandler.addEvent("drumchange","renderer-drum-change",()=>{this.updateFftSize()})}function my(){for(let o of this.channelAnalysers)o.disconnect();Y5("%cAnalysers disconnected!",_1.recognized)}function Cy(o){this.seq=o,this.seq.addOnTimeChangeEvent(()=>this.resetIndexes(),"renderer-time-change"),this.seq.addOnSongChangeEvent(async r=>{if(this.calculateNoteTimes(await this.seq.getMIDI()),this.resetIndexes(),r.RMIDInfo?.IPIC!==void 0){let l=new Blob([r.RMIDInfo?.IPIC.buffer]),g=URL.createObjectURL(l),f=this.canvas.classList.contains("light_mode")?0:.9;this.canvas.style.background=`linear-gradient(rgba(0, 0, 0, ${f}), rgba(0, 0, 0, ${f})), center center / cover url("${g}")`}else this.canvas.style.background=""},"renderer-song-change")}function By(){this.noteTimes&&this.noteTimes.forEach(o=>o.renderStartIndex=0)}function OB(o,r){let l=0;for(let g=8*(r-1);g>=0;g-=8)l|=o[o.currentIndex++]<>>0}function km(o,r){let l=new Array(r).fill(0);for(let g=r-1;g>=0;g--)l[g]=o&255,o>>=8;return l}var gh=.02;function py(o){function r(g0){return g0.messageData=new V3(g0.messageData.buffer),g0.messageData.currentIndex=0,6e7/OB(g0.messageData,3)}let l=[],f=o.tracks.flat();f.sort((g0,f1)=>g0.ticks-f1.ticks);for(let g0=0;g0<16;g0++)l.push({renderStartIndex:0,notes:[]});let S=0,n0=60/(120*o.timeDivision),E0=0,m0=0;for(;E0>4,x=g0.messageStatusByte&15;if(f1===8){let X0=l[x].notes.findLast(F0=>F0.midiNote===g0.messageData[0]&&F0.length===-1);if(X0){let F0=S-X0.start;X0.length=F0F0.midiNote===g0.messageData[0]&&F0.length===-1);if(X0){let F0=S-X0.start;X0.length=F0=f.length)break;S+=n0*(f[E0].ticks-g0.ticks)}m0>0&&l.forEach((g0,f1)=>g0.notes.filter(x=>x.length===-1).forEach(x=>{let X0=S-x.start;x.length=X0r.max){let l=r.min;r.min=r.max,r.max=l}r.min=Math.max(0,r.min),r.max=Math.min(127,r.max),this._keyRange=r}toggleDarkMode(){this.canvas.classList.toggle("light_mode")}computeColors(){this.channelColors=this.plainColors.map(r=>{let l=this.drawingContext.createLinearGradient(0,0,this.canvas.width/128,0);return l.addColorStop(0,B$(r,g=>g*kC)),l.addColorStop(1,r),l}),this.darkerColors=this.plainColors.map(r=>{let l=this.drawingContext.createLinearGradient(0,0,this.canvas.width/128,0);return l.addColorStop(0,B$(r,g=>g*kC*wC)),l.addColorStop(1,B$(r,g=>g*wC)),l}),this.sidewaysChannelColors=this.plainColors.map(r=>{let l=this.drawingContext.createLinearGradient(0,0,0,this.canvas.width/128);return l.addColorStop(0,B$(r,g=>g*kC)),l.addColorStop(1,r),l}),this.sidewaysDarkerColors=this.plainColors.map(r=>{let l=this.drawingContext.createLinearGradient(0,0,0,this.canvas.width/128);return l.addColorStop(0,B$(r,g=>g*kC*wC)),l.addColorStop(1,B$(r,g=>g*wC)),l})}};_i.prototype.render=$y;_i.prototype.computeNotePositions=ly;_i.prototype.createChannelAnalysers=dy;_i.prototype.updateFftSize=Iy;_i.prototype.connectChannelAnalysers=Ey;_i.prototype.disconnectChannelAnalysers=my;_i.prototype.connectSequencer=Cy;_i.prototype.calculateNoteTimes=py;_i.prototype.resetIndexes=By;_i.prototype.renderWaveforms=uy;function o3(o,r){let l=0;for(let g=0;g>>0}function l7(o,r,l){for(let g=0;g>g*8&255}function Q9(o,r){o[o.currentIndex++]=r&255,o[o.currentIndex++]=r>>8}function c7(o,r){l7(o,r,4)}function LA(o,r){let l=r<<8|o;return l>32767?l-65536:l}function Qy(o){return o>127?o-256:o}function Ee(o,r,l=void 0,g=!0){if(l){let f=o.slice(o.currentIndex,o.currentIndex+r);return o.currentIndex+=r,new TextDecoder(l.replace(/[^\x20-\x7E]/g,"")).decode(f.buffer)}else{let f=!1,S="";for(let n0=0;n0127){if(g){f=!0;continue}else if(E0===0){f=!0;continue}}S+=String.fromCharCode(E0)}}return S}}function RA(o,r=0){let l=o.length;r>0&&(l=r);let g=new V3(l);return g7(g,o,r),g}function g7(o,r,l=0){l>0&&r.length>l&&(r=r.slice(0,l));for(let g=0;gr.length)for(let g=0;gl.header!=="LIST"?!1:(l.chunkData.currentIndex=0,Ee(l.chunkData,4)===r))}function vC(o){let r=[o&127];for(o>>=7;o>0;)r.unshift(o&127|128),o>>=7;return r}function SC(o){let r=[];for(let f of o.tracks){let S=[],n0=0,E0;for(let m0 of f){let g0=m0.ticks-n0,f1;m0.messageStatusByte<=K3.keySignature||m0.messageStatusByte===K3.sequenceSpecific?f1=[255,m0.messageStatusByte,...vC(m0.messageData.length),...m0.messageData]:m0.messageStatusByte===K3.systemExclusive?f1=[240,...vC(m0.messageData.length),...m0.messageData]:(f1=[],E0!==m0.messageStatusByte&&(E0=m0.messageStatusByte,f1.push(m0.messageStatusByte)),f1.push(...m0.messageData)),S.push(...vC(g0)),S.push(...f1),n0+=g0}r.push(new Uint8Array(S))}function l(f,S){for(let n0=0;n0{o.tracks.forEach((b1,l2)=>{if(o.midiPorts[l2]===F0)for(let y1=b1.length-1;y1>=0;y1--)b1[y1].messageStatusByte>=128&&b1[y1].messageStatusByte<240&&(b1[y1].messageStatusByte&15)===X0&&b1.splice(y1,1)})};g.forEach(X0=>{let F0=X0%16,b1=X0-F0,l2=o.midiPortChannelOffsets.findIndex(y1=>y1===b1);S(F0,l2),Y5(`%cRemoving channel %c${X0}%c!`,_1.info,_1.recognized,_1.info)});let n0=!1,E0="gs",m0=[],g0=[];o.tracks.forEach((X0,F0)=>{X0.forEach(b1=>{let l2=b1.messageStatusByte&240;l2===K3.controllerChange?m0.push({track:F0,message:b1,channel:b1.messageStatusByte&15}):l2===K3.programChange?g0.push({track:F0,message:b1,channel:b1.messageStatusByte&15}):b1.messageStatusByte===K3.systemExclusive&&(b1.messageData[0]===67&&b1.messageData[2]===76&&b1.messageData[5]===126&&b1.messageData[6]===0?(Y5("%cXG system on detected",_1.info),E0="xg",n0=!0):b1.messageData[0]===67&&b1.messageData[2]===76&&b1.messageData[3]===8&&b1.messageData[5]===3&&g0.push({track:F0,message:b1,channel:b1.messageData[4]}))})});let f1=(X0,F0,b1)=>o.tracks.reduce((l2,y1,Y2)=>{if(o.usedChannelsOnTrack[Y2].has(X0)&&o.midiPorts[Y2]===F0){let T2;b1?T2=y1.findIndex(V2=>(V2.messageStatusByte&240)===K3.noteOn):T2=y1.findIndex(V2=>V2.messageStatusByte>128&&V2.messageStatusByte<240&&(V2.messageStatusByte&15)===X0&&!(V2.messageStatusByte&K3.controllerChange===240&&(V2.messageData[0]===B3.resetAllControllers||V2.messageData[0]===B3.allNotesOff||V2.messageData[0]===B3.allSoundOff))),T2!==-1&&l2.push({index:T2,track:Y2})}return l2},[]),x=(X0,F0,b1)=>{let l2=m0.filter(y1=>y1.channel===X0&&y1.message.messageData[0]===b1&&o.midiPorts[y1.track]===F0);for(let y1=0;y1{let F0=X0.channel,b1=F0%16,l2=F0-b1,y1=o.midiPortChannelOffsets.findIndex(A0=>A0===l2),Y2=X0.controllerValue,T2=X0.controllerNumber;x(b1,y1,T2),Y5(`%cNo controller %c${T2}%c on channel %c${F0}%c found. Adding it!`,_1.info,_1.unrecognized,_1.info,_1.value,_1.info);let V2=f1(b1,y1,!0);if(V2.length===0){x4("Program change but no notes... ignoring!");return}let i3=V2.reduce((A0,y5)=>o.tracks[y5.track][y5.index].ticks{let F0=X0.channel%16,b1=X0.channel-F0,l2=o.midiPortChannelOffsets.findIndex($3=>$3===b1),y1=X0.isDrum?0:X0.bank,Y2=X0.program,T2=g0.filter($3=>o.midiPorts[$3.track]===l2&&$3.channel===F0);if(x(F0,l2,B3.bankSelect),x(F0,l2,B3.lsbForControl0BankSelect),(X0.isDrum||y1>0)&&!n0&&(o.tracks.forEach($3=>{for(let w6=0;w6<$3.length;w6++){let s6=$3[w6];if(s6.messageStatusByte===K3.systemExclusive)if(s6.messageData[0]===65&&s6.messageData[2]===66&&s6.messageData[6]===127){n0=!0,Y5("%cGS on detected!",_1.recognized);break}else s6.messageData[0]===126&&s6.messageData[2]===9&&(Y5("%cGM/2 on detected, removing!",_1.info),$3.splice(w6,1),w6--)}}),!n0)){let $3=0;o.tracks[0][0].messageStatusByte===K3.trackName&&$3++,o.tracks[0].splice($3,0,qB(0)),Y5("%cGS on not detected. Adding it.",_1.info),n0=!0}for(let $3 of T2)o.tracks[$3.track].splice(o.tracks[$3.track].indexOf($3.message),1);let V2=f1(F0,l2,b1>0);if(V2.length===0){x4("Program change but no notes... ignoring!");return}let i3=V2.reduce(($3,w6)=>o.tracks[w6.track][w6.index].ticks{if(o.midiPorts[T2]!==b1||!o.usedChannelsOnTrack[T2].has(F0))return;let V2=K3.noteOn|F0,i3=K3.noteOff|F0,r3=K3.polyPressure|F0;Y2.forEach(A0=>{A0.messageStatusByte!==V2&&A0.messageStatusByte!==i3&&A0.messageStatusByte!==r3||(A0.messageData[0]=Math.max(0,Math.min(127,A0.messageData[0]+l2)))})}),y1!==0){let Y2=o.tracks.find((s6,o9)=>o.usedChannelsOnTrack[o9].has(X0.channel));if(Y2===void 0){x4(`Channel ${X0.channel} unused but transpose requested???`);continue}let T2=K3.noteOn|X0.channel%16,V2=Y2.findIndex(s6=>s6.messageStatusByte===T2);if(V2===-1){x4(`No notes on channel ${X0.channel} but transpose requested???`);continue}let i3=Y2[V2].ticks,r3=y1*64+64,A0=K3.controllerChange|X0.channel%16,y5=new mi(i3,A0,new V3([B3.RPNMsb,0])),T3=new mi(i3,A0,new V3([B3.RPNLsb,1])),$3=new mi(i3,A0,new V3([B3.dataEntryMsb,r3])),w6=new mi(i3,A0,new V3([B3.lsbForControl6DataEntry,0]));Y2.splice(V2,0,w6),Y2.splice(V2,0,$3),Y2.splice(V2,0,T3),Y2.splice(V2,0,y5)}}i4()}function hh(o,r){let l=[],g=[],f=[],S=[];r.channelSnapshots.forEach((n0,E0)=>{if(n0.isMuted){g.push(E0);return}let m0=n0.channelTransposeKeyShift+n0.customControllers[QC.channelTransposeFine]/100;m0!==0&&l.push({channel:E0,keyShift:m0}),n0.lockPreset&&f.push({channel:E0,program:n0.program,bank:n0.bank,isDrum:n0.drumChannel}),n0.lockedControllers.forEach((g0,f1)=>{if(!g0||f1>127||f1===B3.bankSelect)return;let x=n0.midiControllers[f1]>>7;S.push({channel:E0,controllerNumber:f1,controllerValue:x})})}),Wb(o,f,S,g,l)}var Mt={name:"INAM",album:"IPRD",artist:"IART",genre:"IGNR",picture:"IPIC",copyright:"ICOP",creationDate:"ICRD",comment:"ICMT",engineer:"IENG",software:"ISFT",encoding:"IENC",midiEncoding:"MENC",bankOffset:"DBNK"},FA="utf-8",jb="Created using SpessaSynth";function wy(o,r,l,g=0,f="Shift_JIS",S={},n0=!0){if(gr("%cWriting the RMIDI File...",_1.info),Y5(`%cConfiguration: Bank offset: %c${g}%c, encoding: %c${f}`,_1.info,_1.value,_1.info,_1.value),Y5("metadata",S),Y5("Initial bank offset",r.bankOffset),n0){let Y2=function(){let r3=0,A0=1/0;return r.tracks.forEach((y5,T3)=>{l2[T3]>=y5.length||y5[l2[T3]].ticksA0>r3?A0:r3),i3=[];for(let r3=0;r30;){let r3=Y2(),A0=r.tracks[r3];if(l2[r3]>=A0.length){y1--;continue}let y5=A0[l2[r3]];l2[r3]++;let T3=r.midiPortChannelOffsets[T2[r3]];if(y5.messageStatusByte===K3.midiPort){T2[r3]=y5.messageData[0];continue}let $3=y5.messageStatusByte&240;if($3!==K3.controllerChange&&$3!==K3.programChange&&$3!==K3.systemExclusive)continue;if($3===K3.systemExclusive){if(y5.messageData[0]!==65||y5.messageData[2]!==66||y5.messageData[3]!==18||y5.messageData[4]!==64||!(y5.messageData[5]&16)||y5.messageData[6]!==21){y5.messageData[0]===67&&y5.messageData[2]===76&&y5.messageData[5]===126&&y5.messageData[6]===0?F0="xg":y5.messageData[0]===65&&y5.messageData[2]===66&&y5.messageData[6]===127?F0="gs":y5.messageData[0]===126&&y5.messageData[2]===9&&(F0="gm",b1.push({tNum:r3,e:y5}));continue}let o9=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][y5.messageData[5]&15]+T3;i3[o9].drums=!!(y5.messageData[7]>0&&y5.messageData[5]>>4);continue}let w6=(y5.messageStatusByte&15)+T3,s6=i3[w6];if($3===K3.programChange){s6.drums?l.presets.findIndex(r4=>r4.program===y5.messageData[0]&&r4.bank===128)===-1&&(y5.messageData[0]=l.presets.find(r4=>r4.bank===128)?.program||0):l.presets.findIndex(r4=>r4.program===y5.messageData[0]&&r4.bank!==128)===-1&&(y5.messageData[0]=l.presets.find(r4=>r4.bank!==128)?.program||0),s6.program=y5.messageData[0];let o9=Math.max(0,s6.lastBank?.messageData[1]-r.bankOffset),V4=s6.drums?128:o9;if(s6.lastBank===void 0)continue;if(F0==="xg"&&s6.drums&&(i3[w6].lastBank.messageData[1]=127),l.presets.findIndex(r4=>r4.bank===V4&&r4.program===y5.messageData[0])===-1){let r4=l.presets.find(V6=>V6.program===y5.messageData[0])?.bank+g||g;s6.lastBank.messageData[1]=r4,Y5(`%cNo preset %c${V4}:${y5.messageData[0]}%c. Changing bank to ${r4}.`,_1.info,_1.recognized,_1.info)}else{let V6=(V4===128?F0==="xg"?127:0:o9)+g;s6.lastBank.messageData[1]=V6,Y5(`%cPreset %c${V4}:${y5.messageData[0]}%c exists. Changing bank to ${V6}.`,_1.info,_1.recognized,_1.info)}continue}y5.messageData[0]===B3.bankSelect&&(s6.hasBankSelect=!0,F0==="xg"&&(s6.drums=y5.messageData[1]===120||y5.messageData[1]===126||y5.messageData[1]===127),s6.lastBank=y5)}if(i3.forEach((r3,A0)=>{if(r3.hasBankSelect===!0)return;let y5=A0%16,T3=K3.programChange|y5,$3=Math.floor(A0/16)*16,w6=r.midiPortChannelOffsets.indexOf($3),s6=r.tracks.find((V6,We)=>r.midiPorts[We]===w6&&r.usedChannelsOnTrack[We].has(y5));if(s6===void 0)return;let o9=s6.findIndex(V6=>V6.messageStatusByte===T3);if(o9===-1){let V6=s6.findIndex(Vi=>Vi.messageStatusByte>128&&Vi.messageStatusByte<240&&(Vi.messageStatusByte&15)===y5);if(V6===-1)return;let We=s6[V6].ticks,Or=l.getPreset(0,0).program;s6.splice(V6,0,new mi(We,K3.programChange|y5,new V3([Or]))),o9=V6}Y5(`%cAdding bank select for %c${A0}`,_1.info,_1.recognized);let V4=s6[o9].ticks,r4=l.getPreset(0,r3.program)?.bank+g||g;s6.splice(o9,0,new mi(V4,K3.controllerChange|y5,new V3([B3.bankSelect,r4])))}),F0!=="gs"&&F0!=="xg"){for(let A0 of b1)r.tracks[A0.tNum].splice(r.tracks[A0.tNum].indexOf(A0.e),1);let r3=0;r.tracks[0][0].messageStatusByte===K3.trackName&&r3++,r.tracks[0].splice(r3,0,qB(0))}}let E0=new V3(SC(r).buffer),m0=[RA("INFO")],g0=new TextEncoder;if(m0.push(Ze(Mt.software,g0.encode("SpessaSynth"),!0)),S.name!==void 0?(m0.push(Ze(Mt.name,g0.encode(S.name),!0)),f=FA):m0.push(Ze(Mt.name,r.rawMidiName,!0)),S.creationDate!==void 0)f=FA,m0.push(Ze(Mt.creationDate,g0.encode(S.creationDate),!0));else{let F0=new Date().toLocaleString(void 0,{weekday:"long",year:"numeric",month:"long",day:"numeric",hour:"numeric",minute:"numeric"});m0.push(Ze(Mt.creationDate,RA(F0),!0))}if(S.comment!==void 0&&(f=FA,m0.push(Ze(Mt.comment,g0.encode(S.comment)))),S.engineer!==void 0&&m0.push(Ze(Mt.engineer,g0.encode(S.engineer),!0)),S.album!==void 0&&(f=FA,m0.push(Ze(Mt.album,g0.encode(S.album),!0))),S.artist!==void 0&&(f=FA,m0.push(Ze(Mt.artist,g0.encode(S.artist),!0))),S.genre!==void 0&&(f=FA,m0.push(Ze(Mt.genre,g0.encode(S.genre),!0))),S.picture!==void 0&&m0.push(Ze(Mt.picture,new Uint8Array(S.picture))),S.copyright!==void 0)f=FA,m0.push(Ze(Mt.copyright,g0.encode(S.copyright),!0));else{let F0=r.copyright.length>0?r.copyright:jb;m0.push(Ze(Mt.copyright,RA(F0)))}let f1=new V3(2);l7(f1,g,2),m0.push(Ze(Mt.bankOffset,f1)),S.midiEncoding!==void 0&&(m0.push(Ze(Mt.midiEncoding,g0.encode(S.midiEncoding))),f=FA),m0.push(Ze(Mt.encoding,RA(f)));let x=Sn(m0),X0=Sn([RA("RMID"),Ze("data",E0),Ze("LIST",x),o]);return Y5("%cFinished!",_1.info),i4(),Ze("RIFF",X0)}function vm(o,r){let l=0;for(;o>0;){let g=r.tempoChanges.find(S=>S.ticks=128){this.MIDIout.send(g);return}break;case MA.songChange:let f=l[0];this.songIndex=l[1],this.midiData=f,this.hasDummyData=!1,this.absoluteStartTime=0,this.duration=this.midiData.duration,Object.entries(this.onSongChange).forEach(E0=>E0[1](f)),this.unpause();break;case MA.textEvent:let S=l;this.onTextEvent&&this.onTextEvent(S[0],S[1]);break;case MA.timeChange:let n0=this.synth.currentTime-l;Object.entries(this.onTimeChange).forEach(E0=>E0[1](n0)),this.unpause(),this._recalculateStartTime(n0);break;case MA.pause:this.pausedTime=this.currentTime,this.isFinished=l,this.isFinished&&Object.entries(this.onSongEnded).forEach(E0=>E0[1]());break;case MA.midiError:if(this.onError)this.onError(l);else throw new Error(l);return;case MA.getMIDI:this._getMIDIResolve&&this._getMIDIResolve(l)}}_recalculateStartTime(r){this.absoluteStartTime=this.synth.currentTime-r/this._playbackRate,this.highResTimeOffset=(this.synth.currentTime-performance.now()/1e3)*this._playbackRate}async getMIDI(){return new Promise(r=>{this._getMIDIResolve=r,this._sendMessage(Li.getMIDI,void 0)})}loadNewSongList(r){this.pause(),this.midiData=ky,this.hasDummyData=!0,this.duration=99999,this._sendMessage(Li.loadNewSongList,r),this.songIndex=0,this.songsAmount=r.length,this.songsAmount>1&&(this.loop=!1)}connectMidiOutput(r){this.resetMIDIOut(),this.MIDIout=r,this._sendMessage(Li.changeMIDIMessageSending,r!==void 0),this.currentTime-=.1}pause(){if(this.paused){x4("Already paused");return}this.pausedTime=this.currentTime,this._sendMessage(Li.pause)}unpause(){this.pausedTime=void 0,this.isFinished=!1}play(r=!1){this.isFinished&&(r=!0),this._recalculateStartTime(this.pausedTime||0),this.unpause(),this._sendMessage(Li.play,r)}stop(){this._sendMessage(Li.stop)}};var Sm=["Shift_JIS","windows-1250","utf-8","utf-16","utf-16le","utf-16be","latin1","ISO-8859-1","ISO-8859-2","ISO-8859-3","ISO-8859-4","ISO-8859-5","ISO-8859-6","ISO-8859-7","ISO-8859-8","ISO-8859-9","ISO-8859-10","ISO-8859-11","ISO-8859-13","ISO-8859-14","ISO-8859-15","ISO-8859-16","windows-1251","windows-1252","windows-1253","windows-1254","windows-1255","windows-1256","windows-1257","windows-1258","EUC-JP","ISO-2022-JP","EUC-KR","Big5","GB18030"];function vy(o){return` `}function y$(o){return` @@ -75,7 +75,7 @@ var EC=(o=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(o,{get:(r,l)=>( `}function YB(o){return` -`}function fh(o,r){let l=document.createElement("div");return l.classList.add("control_buttons"),l.title=o,l.innerHTML=r,l}var e7={synthesizerUIShow:"s",settingsShow:"r",blackMidiMode:"b",midiPanic:"backspace",playPause:" ",toggleLoop:"l",toggleLyrics:"t",seekBackwards:"arrowleft",seekForwards:"arrowright",previousSong:"[",nextSong:"]",cinematicMode:"c",videoMode:"v"};function Ny(){navigator.mediaSession&&(navigator.mediaSession.metadata=new MediaMetadata({title:this.currentSongTitle,artist:"SpessaSynth"}),navigator.mediaSession.setActionHandler("play",()=>{this.seqPlay()}),navigator.mediaSession.setActionHandler("pause",()=>{this.seqPause()}),navigator.mediaSession.setActionHandler("stop",()=>{this.seq.currentTime=0,this.seqPause()}),navigator.mediaSession.setActionHandler("seekbackward",o=>{this.seq.currentTime-=o.seekOffset||10}),navigator.mediaSession.setActionHandler("seekforward",o=>{this.seq.currentTime+=o.seekOffset||10}),navigator.mediaSession.setActionHandler("seekto",o=>{this.seq.currentTime=o.seekTime}),navigator.mediaSession.setActionHandler("previoustrack",()=>{this.switchToPreviousSong()}),navigator.mediaSession.setActionHandler("nexttrack",()=>{this.switchToNextSong()}),navigator.mediaSession.playbackState="playing")}function Gy(o=!0){if(this.seq?.hasDummyData===!0)this.currentSongTitle=this.locale.getLocaleString("locale.synthInit.genericLoading");else{let r=this.infoDecoder.decode(this.seq.midiData.rawMidiName.buffer).replace(/\0$/,"");this.currentSongTitle=FB(r)}if(this.seq.midiData){let r=this.seq.midiData.lyrics;this.currentLyrics=new Uint8Array(r.reduce((g,f)=>g+f.length,0));let l=0;for(let g of r)this.currentLyrics.set(g,l),l+=g.length;this.currentLyricsString=this.decodeTextFix(this.currentLyrics.buffer)||this.locale.getLocaleString("locale.sequencerController.lyrics.noLyrics"),this.setLyricsText(""),o&&(this.rawOtherTextEvents=[])}if(document.getElementById("title").innerText=this.currentSongTitle,document.title=this.currentSongTitle+" - SpessaSynth",this.musicModeUI.setTitle(this.currentSongTitle),!!navigator.mediaSession)try{navigator.mediaSession.setPositionState({duration:this.seq.duration,playbackRate:this.seq.playbackRate,position:this.seq.currentTime})}catch{}}var eD=parseFloat(getComputedStyle(document.body).fontSize);function Uy(){this.lyricsElement={};let o=document.createElement("div");o.classList.add("lyrics");let r=document.createElement("div");r.classList.add("lyrics_title_wrapper"),o.append(r),this.lyricsElement.titleWrapper=r;let l=document.createElement("h2");this.locale.bindObjectProperty(l,"textContent","locale.sequencerController.lyrics.title"),l.classList.add("lyrics_title"),r.appendChild(l),this.lyricsElement.title=l;let g=document.createElement("select");Sm.forEach(u1=>{let F=document.createElement("option");F.innerText=u1,F.value=u1,g.appendChild(F)}),g.value=this.encoding,g.onchange=()=>this.changeEncoding(g.value),g.classList.add("lyrics_selector"),this.encodingSelector=g,r.appendChild(g);let f=document.createElement("p");f.classList.add("lyrics_text"),o.appendChild(f);let v=document.createElement("span");v.classList.add("lyrics_text_highlight"),f.appendChild(v);let n0=document.createElement("span");n0.classList.add("lyrics_text_gray"),f.appendChild(n0);let E0=document.createElement("details"),m0=document.createElement("summary");this.locale.bindObjectProperty(m0,"textContent","locale.sequencerController.lyrics.otherText.title"),E0.appendChild(m0);let c0=document.createElement("div");c0.innerText="",E0.appendChild(c0),o.appendChild(E0),this.lyricsElement.text={highlight:v,gray:n0,main:f,other:c0},this.lyricsElement.mainDiv=o,this.lyricsElement.selector=g,this.controls.appendChild(o),this.requiresTextUpdate=!0}function Py(o){let r=this.lyricsElement.text.highlight,l=this.lyricsElement.text.gray;l.innerText=this.currentLyricsString.replace(o,""),r.innerText=o,this.lyricsElement.text.main.scrollTo(0,r.offsetHeight-eD*5)}function Oy(){let o="";for(let r of this.rawOtherTextEvents)o+=`
${Object.keys(K3).find(l=>K3[l]===r.type).replace(/([a-z])([A-Z])/g,"$1 $2")}:
${this.decodeTextFix(r.data.buffer)}

`;this.lyricsElement.text.other.innerHTML=o}var Ur=32,qy="#ccc",Hy="#555",tD="#333",iD="#ddd",rD="Shift_JIS",Fs=class{constructor(r,l,g){this.iconColor=qy,this.iconDisabledColor=Hy,this.controls=r,this.encoding=rD,this.decoder=new TextDecoder(this.encoding),this.infoDecoder=new TextDecoder(this.encoding),this.hasInfoDecoding=!1,this.text="",this.requiresTextUpdate=!1,this.rawLyrics=[],this.rawOtherTextEvents=[],this.mode="dark",this.locale=l,this.currentSongTitle="",this.currentLyrics=new Uint8Array(0),this.currentLyricsString="",this.musicModeUI=g}toggleDarkMode(){if(this.mode==="dark"?(this.mode="light",this.iconColor=tD,this.iconDisabledColor=iD):(this.mode="dark",this.iconColor=qy,this.iconDisabledColor=Hy),!this.seq){this.requiresThemeUpdate=!0;return}this.progressBar.classList.toggle("note_progress_light"),this.progressBarBackground.classList.toggle("note_progress_background_light"),this.lyricsElement.mainDiv.classList.toggle("lyrics_light"),this.lyricsElement.titleWrapper.classList.toggle("lyrics_light"),this.lyricsElement.selector.classList.toggle("lyrics_light")}seqPlay(r=!0){r&&this.seq.play(),this.playPause.innerHTML=y$(Ur),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),navigator.mediaSession&&(navigator.mediaSession.playbackState="playing")}seqPause(r=!0){r&&this.seq.pause(),this.playPause.innerHTML=vy(Ur),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),navigator.mediaSession&&(navigator.mediaSession.playbackState="paused")}switchToNextSong(){this.seq.nextSong(),this.createNavigatorHandler(),this.updateTitleAndMediaStatus()}switchToPreviousSong(){this.seq.previousSong(),this.createNavigatorHandler(),this.updateTitleAndMediaStatus()}decodeTextFix(r,l=!1){let g=0;for(;;)try{return this.decoder.decode(r)}catch{g++,this.changeEncoding(Sm[g]),this.encodingSelector.value=Sm[g]}}connectSequencer(r){this.seq=r,this.createControls(),this.setSliderInterval(),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),this.seq.onTextEvent=(l,g)=>{let f=this.decodeTextFix(l.buffer);switch(g){default:return;case K3.text:case K3.copyright:case K3.cuePoint:case K3.trackName:case K3.instrumentName:case K3.programName:case K3.marker:this.rawOtherTextEvents.push({type:g,data:l}),this.requiresTextUpdate=!0;return;case K3.lyric:this.text+=f,this.rawLyrics.push(...l),this.setLyricsText(this.text);break}},this.seq.addOnTimeChangeEvent(()=>{this.text="",this.rawLyrics=[],this.seqPlay(!1)},"sequi-time-change"),this.seq.addOnSongChangeEvent(l=>{if(this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),this.seqPlay(!1),this.seq.songsAmount>1&&(this.seq.loop=!1,this.loopButton.firstElementChild.setAttribute("fill",this.iconDisabledColor)),this.hasInfoDecoding=this.seq.midiData.RMIDInfo?.[Mt.encoding]!==void 0,l.isEmbedded){let g=(E0,m0,c0,u1="")=>this.seq.midiData.RMIDInfo?.[E0]===void 0?m0:u1+c0.decode(this.seq.midiData.RMIDInfo?.[E0]).replace(/\0$/,""),f=new TextDecoder,v=g(Mt.midiEncoding,this.encoding,f),n0=g(Mt.encoding,"utf-8",f);this.infoDecoder=new TextDecoder(n0),this.changeEncoding(v)}},"sequi-song-change"),this.requiresThemeUpdate&&this.mode==="light"&&(this.mode="dark",this.toggleDarkMode())}changeEncoding(r){this.encoding=r,this.decoder=new TextDecoder(r),this.hasInfoDecoding||(this.infoDecoder=new TextDecoder(r)),this.updateOtherTextEvents(),this.text=this.decodeTextFix(new Uint8Array(this.rawLyrics).buffer),this.lyricsElement.selector.value=r,this.updateTitleAndMediaStatus(!1),this.setLyricsText(this.text)}createControls(){this.progressTime=document.createElement("p"),this.progressTime.id="note_time",this.progressTime.onclick=F=>{F.preventDefault();let q0=r.getBoundingClientRect(),L0=F.clientX-q0.left,R1=q0.width;this.seq.currentTime=L0/R1*this.seq.duration,g.innerHTML=y$(Ur)},this.createLyrics();let r=document.createElement("div");r.id="note_progress_background",this.progressBarBackground=r,this.progressBar=document.createElement("div"),this.progressBar.id="note_progress",this.progressBar.min="0",this.progressBar.max=this.seq.duration.toString();let l=document.createElement("div"),g=fh("Play/Pause",y$(Ur));this.playPause=g,this.locale.bindObjectProperty(g,"title","locale.sequencerController.playPause");let f=()=>{this.seq.paused?this.seqPlay():this.seqPause()};g.onclick=f;let v=fh("Previous song",_y(Ur));this.locale.bindObjectProperty(v,"title","locale.sequencerController.previousSong"),v.onclick=()=>this.switchToPreviousSong();let n0=fh("Next song",Dy(Ur));this.locale.bindObjectProperty(n0,"title","locale.sequencerController.nextSong"),n0.onclick=()=>this.switchToNextSong();let E0=fh("Loop this",Sy(Ur));this.locale.bindObjectProperty(E0,"title","locale.sequencerController.loopThis");let m0=()=>{this.seq.loop?this.seq.loop=!1:(this.seq.loop=!0,this.seq.currentTime>=this.seq.duration&&(this.seq.currentTime=0)),E0.firstElementChild.setAttribute("fill",this.seq.loop?this.iconColor:this.iconDisabledColor)};E0.onclick=m0,this.loopButton=E0;let c0=fh("Show lyrics",by(Ur));this.locale.bindObjectProperty(c0,"title","locale.sequencerController.lyrics.show"),c0.firstElementChild.setAttribute("fill",this.iconDisabledColor);let u1=()=>{this.lyricsElement.mainDiv.classList.toggle("lyrics_show"),c0.firstElementChild.setAttribute("fill",this.lyricsElement.mainDiv.classList.contains("lyrics_show")?this.iconColor:this.iconDisabledColor)};c0.onclick=u1,document.addEventListener("keydown",F=>{switch(F.key.toLowerCase()){case e7.playPause:F.preventDefault(),f();break;case e7.toggleLoop:F.preventDefault(),m0();break;case e7.toggleLyrics:F.preventDefault(),u1();break;default:break}}),l.appendChild(v),l.appendChild(E0),l.appendChild(g),l.appendChild(c0),l.appendChild(n0),this.controls.appendChild(r),r.appendChild(this.progressBar),this.controls.appendChild(this.progressTime),this.controls.appendChild(l),document.addEventListener("keydown",F=>{switch(F.key.toLowerCase()){case e7.seekBackwards:F.preventDefault(),this.seq.currentTime-=5,g.innerHTML=y$(Ur);break;case e7.seekForwards:F.preventDefault(),this.seq.currentTime+=5,g.innerHTML=y$(Ur);break;case e7.previousSong:this.switchToPreviousSong();break;case e7.nextSong:this.switchToNextSong();break;default:if(!isNaN(parseFloat(F.key))){F.preventDefault();let q0=parseInt(F.key);0<=q0&&q0<=9&&(this.seq.currentTime=this.seq.duration*(q0/10),g.innerHTML=y$(Ur))}break}})}_updateInterval(){this.progressBar.style.width=`${this.seq.currentTime/this.seq.duration*100}%`;let r=E$(this.seq.currentTime),l=E$(this.seq.duration);this.progressTime.innerText=`${r.time} / ${l.time}`,this.requiresTextUpdate&&(this.updateOtherTextEvents(),this.requiresTextUpdate=!1)}setSliderInterval(){setInterval(this._updateInterval.bind(this),100)}};Fs.prototype.createNavigatorHandler=Ny;Fs.prototype.updateTitleAndMediaStatus=Gy;Fs.prototype.createLyrics=Uy;Fs.prototype.setLyricsText=Py;Fs.prototype.updateOtherTextEvents=Oy;function Yy(){this.controllers.forEach(o=>{o.voiceMeter.hide(),o.pitchWheel.hide(),o.pan.hide(),o.expression.hide(),o.volume.hide(),o.mod.hide(),o.chorus.hide(),o.reverb.hide(),o.brightness.hide(),o.preset.hide()})}function Jy(){this.controllers.forEach(o=>{o.voiceMeter.show(),o.pitchWheel.show(),o.pan.show(),o.expression.show(),o.volume.show(),o.mod.show(),o.chorus.show(),o.reverb.show(),o.brightness.show(),o.preset.show()})}function Vy(){this.mainControllerDiv.classList.toggle("synthui_controller_light"),this.mainButtons.forEach(o=>{o.classList.toggle("synthui_button"),o.classList.toggle("synthui_button_light")}),this.mainMeters.forEach(o=>{o.toggleMode(!0)}),this.controllers.forEach(o=>{o.voiceMeter.toggleMode(),o.pitchWheel.toggleMode(),o.pan.toggleMode(),o.expression.toggleMode(),o.volume.toggleMode(),o.mod.toggleMode(),o.chorus.toggleMode(),o.reverb.toggleMode(),o.brightness.toggleMode(),o.preset.toggleMode(),o.drumsToggle.classList.toggle("mute_button_light"),o.muteButton.classList.toggle("mute_button_light")})}var hr=class{constructor(r="none",l,g,f,v=0,n0=100,E0=!1,m0=void 0,c0=void 0,u1=void 0){if(this.meterText="",g.bindObjectProperty(this,"meterText",l+".title"),this.min=v,this.max=n0,this.currentValue=-1,this.isShown=!0,this.isVisualValueSet=!0,this.isLocked=!1,this.lockCallback=c0,this.unlockCallback=u1,this.div=document.createElement("div"),this.div.classList.add("voice_meter"),this.div.classList.add("controller_element"),r!=="none"&&r!==""&&(this.div.style.borderColor=r),g.bindObjectProperty(this.div,"title",l+".description",f),this.bar=document.createElement("div"),this.bar.classList.add("voice_meter_bar"),this.bar.style.background=r,this.div.appendChild(this.bar),this.text=document.createElement("p"),this.text.classList.add("voice_meter_text"),this.div.appendChild(this.text),this.isActive=!1,E0){if(m0===void 0)throw new Error("No editable function given!");this.div.onmousedown=F=>{F.preventDefault(),F.button===0?this.isActive=!0:this.lockMeter()},this.div.onmousemove=F=>{if(!this.isActive)return;let q0=F.currentTarget.getBoundingClientRect(),L0=q0.left,R1=q0.width,t2=F.clientX-L0,y1=Math.max(0,Math.min(1,t2/R1));m0(y1*(n0-v)+v)},this.div.onmouseup=()=>this.isActive=!1,this.div.onmouseleave=F=>{this.div.onmousemove(F),this.isActive=!1},this.text.oncontextmenu=F=>{F.preventDefault()},this.div.onclick=F=>{F.preventDefault(),this.isActive=!0,this.div.onmousemove(F),this.isActive=!1},this.div.classList.add("editable")}}lockMeter(){this.lockCallback!==void 0&&(this.isLocked?(this.text.classList.remove("locked_meter"),this.unlockCallback()):(this.text.classList.add("locked_meter"),this.lockCallback()),this.isLocked=!this.isLocked)}toggleMode(r=!1){r&&(this.bar.classList.toggle("voice_meter_light_color"),this.div.classList.toggle("voice_meter_light_color")),this.text.classList.toggle("voice_meter_text_light")}show(){if(this.isShown=!0,!this.isVisualValueSet){let r=Math.max(0,Math.min((this.currentValue-this.min)/(this.max-this.min),1));this.bar.style.width=`${r*100}%`,this.text.textContent=this.meterText+(Math.round(this.currentValue*100)/100).toString(),this.isVisualValueSet=!0}}hide(){this.isShown=!1}update(r,l=!1){if(!(r===this.currentValue&&l===!1))if(this.currentValue=r,this.isShown){let g=Math.max(0,Math.min((r-this.min)/(this.max-this.min),1));this.bar.style.width=`${g*100}%`,this.text.textContent=this.meterText+(Math.round(r*100)/100).toString(),this.isVisualValueSet=!0}else this.isVisualValueSet=!1}};var Ky=["Acoustic Grand Piano","Bright Acoustic Piano","Electric Grand Piano","Honky-tonk Piano","Electric Piano 1","Electric Piano 2","Harpsichord","Clavi","Celesta","Glockenspiel","Music Box","Vibraphone","Marimba","Xylophone","Tubular Bells","Dulcimer","Drawbar Organ","Percussive Organ","Rock Organ","Church Organ","Reed Organ","Accordion","Harmonica","Tango Accordion","Acoustic Guitar (nylon)","Acoustic Guitar (steel)","Electric Guitar (jazz)","Electric Guitar (clean)","Electric Guitar (muted)","Overdriven Guitar","Distortion Guitar","Guitar Harmonics","Acoustic Bass","Electric Bass (finger)","Electric Bass (pick)","Fretless Bass","Slap Bass 1","Slap Bass 2","Synth Bass 1","Synth Bass 2","Violin","Viola","Cello","Contrabass","Tremolo Strings","Pizzicato Strings","Orchestral Harp","Timpani","String Ensemble 1","String Ensemble 2","Synth Strings 1","Synth Strings 2","Choir Aahs","VoiceGroup Oohs","Synth Choir","Orchestra Hit","Trumpet","Trombone","Tuba","Muted Trumpet","French Horn","Brass Section","Synth Brass 1","Synth Brass 2","Soprano Sax","Alto Sax","Tenor Sax","Baritone Sax","Oboe","English Horn","Bassoon","Clarinet","Piccolo","Flute","Recorder","Pan Flute","Blown Bottle","Shakuhachi","Whistle","Ocarina","Lead 1 (square)","Lead 2 (sawtooth)","Lead 3 (calliope)","Lead 4 (chiff)","Lead 5 (charang)","Lead 6 (voice)","Lead 7 (fifths)","Lead 8 (bass + lead)","Pad 1 (new age)","Pad 2 (warm)","Pad 3 (polysynth)","Pad 4 (choir)","Pad 5 (bowed)","Pad 6 (metallic)","Pad 7 (halo)","Pad 8 (sweep)","FX 1 (rain)","FX 2 (soundtrack)","FX 3 (crystal)","FX 4 (atmosphere)","FX 5 (brightness)","FX 6 (goblins)","FX 7 (echoes)","FX 8 (sci-fi)","Sitar","Banjo","Shamisen","Koto","Kalimba","Bagpipe","Fiddle","Shanai","Tinkle Bell","Agogo","Steel Drums","Woodblock","Taiko Drum","Melodic Tom","Synth Drum","Reverse Cymbal","Guitar Fret Noise","Breath Noise","Seashore","Bird Tweet","Telephone Ring","Attack Helicopter","Applause","Gunshot"];var LC=class{constructor(r,l,g,f,v=void 0,n0=void 0){this.isShown=!0,this.isReloaded=!0,this.elements=r.map(E0=>({name:E0.name,program:E0.program,bank:E0.bank,stringified:`${E0.bank.toString().padStart(3,"0")}:${E0.program.toString().padStart(3,"0")} ${E0.name}`})),this.elements.length>0?this.value=`${this.elements[0].bank}:${this.elements[0].program}`:this.value="",this.mainButton=document.createElement("button"),this.mainButton.classList.add("voice_selector"),this.mainButton.classList.add("controller_element"),l.bindObjectProperty(this.mainButton,"title",g+".description",f),this.locale=l,this.localePath=g,this.localeArgs=f,this.reload(),this.mainButton.onclick=()=>{this.showSelectionMenu()},this.editCallback=v,this.selectionMenu=void 0,this.lockCallback=n0,this.locked=!1,this.isWindowShown=!1}showSelectionMenu(){this.selectionMenu=document.createElement("div"),this.selectionMenu.classList.add("voice_selector_wrapper"),document.getElementsByClassName("spessasynth_main")[0].appendChild(this.selectionMenu);let r=document.createElement("div");r.classList.add("voice_selector_window");let l=document.createElement("h2");this.locale.bindObjectProperty(l,"textContent",this.localePath+".selectionPrompt",this.localeArgs),r.appendChild(l);let g=document.createElement("div");g.classList.add("voice_selector_search_wrapper"),r.appendChild(g);let f=document.createElement("input");f.type="text",this.locale.bindObjectProperty(f,"placeholder",this.localePath+".searchPrompt"),g.appendChild(f),f.onkeydown=E0=>E0.stopPropagation();let v=document.createElement("div");v.innerHTML=this.locked?xC(h7):HB(h7),this.locale.bindObjectProperty(v,"title",Ae+"channelController.presetReset.description",this.localeArgs),v.classList.add("voice_reset"),this.mainButton.classList.contains("voice_selector_light")&&v.classList.add("voice_reset_light"),v.onclick=()=>{this.locked=!this.locked,this.lockCallback(this.locked),this.mainButton.classList.toggle("locked_selector"),this.locked?v.innerHTML=xC(h7):v.innerHTML=HB(h7)},g.appendChild(v),this.presetLock=v;let n0=document.createElement("div");n0.classList.add("voice_selector_table_wrapper"),r.appendChild(n0),this.generateTable(n0,this.elements),f.oninput=E0=>{E0.stopPropagation();let m0=f.value,c0=this.elements.filter(u1=>u1.stringified.search(new RegExp(m0,"i"))>=0);c0.length!==this.elements.length&&(n0.replaceChildren(),this.generateTable(n0,c0))},r.onclick=E0=>{E0.stopPropagation()},this.selectionMenu.appendChild(r),this.selectionMenu.onclick=E0=>{E0.stopPropagation(),this.hideSelectionMenu()},this.isWindowShown=!0,f.focus()}generateTable(r,l){let g=document.createElement("table");g.classList.add("voice_selector_table");let f=parseInt(this.value.split(":")[0]),v=parseInt(this.value.split(":")[1]),n0=-20;for(let E0 of l){let m0=document.createElement("tr"),c0=E0.program;if(c0===v&&E0.bank===f&&(m0.classList.add("voice_selector_selected"),setTimeout(()=>{m0.scrollIntoView({behavior:"instant",block:"center",inline:"center"})},20)),m0.onclick=()=>{let t2=`${E0.bank}:${c0}`;if(this.value===t2){this.hideSelectionMenu();return}this.editCallback(t2),this.locked=!0,this.presetLock.innerHTML=xC(h7),this.hideSelectionMenu()},c0!==n0&&(n0=c0,E0.bank!==128)){let t2=document.createElement("tr"),y1=document.createElement("th");y1.colSpan="3",y1.textContent=Ky[n0],t2.appendChild(y1),g.appendChild(t2)}let u1=`${E0.program.toString().padStart(3,"0")}`,F=`${E0.bank.toString().padStart(3,"0")}`,q0=document.createElement("td");q0.classList.add("voice_selector_preset_name"),q0.textContent=E0.name;let L0=document.createElement("td");q0.classList.add("voice_selector_preset_program"),L0.textContent=u1;let R1=document.createElement("td");q0.classList.add("voice_selector_preset_program"),R1.textContent=F,m0.appendChild(R1),m0.appendChild(L0),m0.appendChild(q0),g.appendChild(m0)}r.appendChild(g)}hideSelectionMenu(){document.getElementsByClassName("spessasynth_main")[0].removeChild(this.selectionMenu),this.selectionMenu=void 0,this.isWindowShown=!1}toggleMode(){this.mainButton.classList.toggle("voice_selector_light")}reload(r=this.elements){if(this.elements=r.map(l=>({name:l.name,program:l.program,bank:l.bank,stringified:`${l.bank.toString().padStart(3,"0")}:${l.program.toString().padStart(3,"0")} ${l.name}`})),!this.isShown){this.isReloaded=!1;return}this.isReloaded=!0,this.elements.length>0&&(this.mainButton.textContent=this.getString(`${this.elements[0].bank}:${this.value.split(":")[1]}`))}set(r){if(this.value=r,this.isShown&&(this.isReloaded||this.reload(),this.mainButton.textContent=this.getString(this.value),this.isWindowShown)){let l=this.selectionMenu.getElementsByClassName("voice_selector_selected")[0];l!==void 0&&l.classList.remove("voice_selector_selected");let g=this.selectionMenu.getElementsByClassName("voice_selector_table")[0],f=parseInt(this.value.split(":")[0]),v=parseInt(this.value.split(":")[1]);for(let n0 of g.rows){if(n0.cells.length===1)continue;let E0=parseInt(n0.cells[0].textContent),m0=parseInt(n0.cells[1].textContent);E0===f&&m0===v&&(n0.classList.add("voice_selector_selected"),n0.scrollIntoView({behavior:"smooth",block:"center",inline:"center"}))}}}getString(r){let l=r.split(":"),g=parseInt(l[0]),f=parseInt(l[1]),v=this.elements.find(n0=>n0.bank===g&&n0.program===f);return v?g===128||this.elements.filter(n0=>n0.program===f&&n0.bank!==128).length<2?`${f}. ${v.name}`:`${g}:${f} ${v.name}`:""}show(){this.isShown=!0,this.isReloaded||this.reload(),this.mainButton.textContent=this.getString(this.value)}hide(){this.isShown=!1}};var h7=32;function zy(o){this.soloChannels=new Set;let r=document.createElement("div");r.classList.add("channel_controller");let l=new hr(this.channelColors[o%this.channelColors.length],Ae+"channelController.voiceMeter",this.locale,[o+1],0,100);l.bar.classList.add("voice_meter_bar_smooth"),r.appendChild(l.div);let g=new hr(this.channelColors[o%this.channelColors.length],Ae+"channelController.pitchBendMeter",this.locale,[o+1],-8192,8191,!0,T2=>{let V2=g.isLocked;V2&&this.synth.lockController(o,C$+Ft.pitchWheel,!1),T2=Math.round(T2)+8192;let i3=T2>>7,r3=T2&127;this.synth.pitchWheel(o,i3,r3),V2&&this.synth.lockController(o,C$+Ft.pitchWheel,!0)},()=>this.synth.lockController(o,C$+Ft.pitchWheel,!0),()=>this.synth.lockController(o,C$+Ft.pitchWheel,!1));g.update(0),r.appendChild(g.div);let f=(T2,V2,i3)=>{i3.isLocked?(this.synth.lockController(o,T2,!1),this.synth.controllerChange(o,T2,V2),this.synth.lockController(o,T2,!0)):this.synth.controllerChange(o,T2,V2)},v=(T2,V2,i3)=>{let r3=new hr(this.channelColors[o%this.channelColors.length],Ae+V2,this.locale,[o+1],0,127,!0,A0=>f(T2,Math.round(A0),r3),()=>this.synth.lockController(o,T2,!0),()=>this.synth.lockController(o,T2,!1));return r3.update(i3),r3},n0=v(B3.pan,"channelController.panMeter",64);r.appendChild(n0.div);let E0=v(B3.expressionController,"channelController.expressionMeter",127);r.appendChild(E0.div);let m0=v(B3.mainVolume,"channelController.volumeMeter",100);r.appendChild(m0.div);let c0=v(B3.modulationWheel,"channelController.modulationWheelMeter",0);r.appendChild(c0.div);let u1=v(B3.chorusDepth,"channelController.chorusMeter",0);r.appendChild(u1.div);let F=v(B3.reverbDepth,"channelController.reverbMeter",0);r.appendChild(F.div);let q0=v(B3.brightness,"channelController.filterMeter",64);r.appendChild(q0.div);let L0=new hr(this.channelColors[o%this.channelColors.length],Ae+"channelController.transposeMeter",this.locale,[o+1],-36,36,!0,T2=>{T2=Math.round(T2),this.synth.transposeChannel(o,T2,!0),L0.update(T2)});L0.update(0),r.appendChild(L0.div);let R1=new LC([],this.locale,Ae+"channelController.presetSelector",[o+1],async T2=>{let V2=T2.split(":");this.synth.lockController(o,Ci,!1),this.synth.controllerChange(o,B3.bankSelect,parseInt(V2[0]),!0),this.synth.programChange(o,parseInt(V2[1]),!0),R1.mainButton.classList.add("locked_selector"),this.synth.lockController(o,Ci,!0)},T2=>this.synth.lockController(o,Ci,T2));r.appendChild(R1.mainButton);let t2=document.createElement("div");t2.innerHTML=uh(h7),this.locale.bindObjectProperty(t2,"title",Ae+"channelController.soloButton.description",[o+1]),t2.classList.add("controller_element"),t2.classList.add("mute_button"),t2.onclick=()=>{if(this.soloChannels.has(o)?this.soloChannels.delete(o):this.soloChannels.add(o),this.soloChannels.size===0||this.soloChannels.size>=this.synth.channelsAmount){for(let T2=0;T2=this.synth.channelsAmount&&this.soloChannels.clear();return}for(let T2=0;T2{if(y1.hasAttribute("is_muted")){y1.removeAttribute("is_muted");let T2=this.soloChannels.size===0||this.soloChannels.has(o);this.synth.muteChannel(o,!T2),y1.innerHTML=bm(h7)}else this.synth.muteChannel(o,!0),y1.setAttribute("is_muted","true"),y1.innerHTML=Ly(h7)},r.appendChild(y1);let Y2=document.createElement("div");return Y2.innerHTML=o===Di?DC(h7):_C(h7),this.locale.bindObjectProperty(Y2,"title",Ae+"channelController.drumToggleButton.description",[o+1]),Y2.classList.add("controller_element"),Y2.classList.add("mute_button"),Y2.onclick=()=>{this.synth.setDrums(o,!this.synth.channelProperties[o].isDrum)},r.appendChild(Y2),{controller:r,voiceMeter:l,pitchWheel:g,pan:n0,expression:E0,volume:m0,mod:c0,chorus:u1,reverb:F,brightness:q0,preset:R1,drumsToggle:Y2,soloButton:t2,muteButton:y1,transpose:L0}}function Zy(){let o=this.uiDiv.getElementsByClassName("synthui_controller")[0];this.controllers=[];for(let r=0;r{this.synth.setMainVolume(Math.round(c0)/100),this.volumeController.update(c0)}),this.volumeController.bar.classList.add("voice_meter_bar_smooth"),this.volumeController.div.classList.add("main_controller_element"),this.volumeController.update(100),this.panController=new hr("",Ae+"mainPanMeter",this.locale,[],-1,1,!0,c0=>{this.synth.setMasterPan(c0),this.panController.update(c0)}),this.panController.bar.classList.add("voice_meter_bar_smooth"),this.panController.div.classList.add("main_controller_element"),this.panController.update(0),this.transposeController=new hr("",Ae+"mainTransposeMeter",this.locale,[],-12,12,!0,c0=>{this.synth.transpose(Math.round(c0*2)/2),this.transposeController.update(Math.round(c0*2)/2)}),this.transposeController.bar.classList.add("voice_meter_bar_smooth"),this.transposeController.div.classList.add("main_controller_element"),this.transposeController.update(0);let r=document.createElement("button");this.locale.bindObjectProperty(r,"textContent",Ae+"midiPanic.title"),this.locale.bindObjectProperty(r,"title",Ae+"midiPanic.description"),r.classList.add("synthui_button"),r.classList.add("main_controller_element"),r.onclick=()=>this.synth.stopAll(!0);let l=document.createElement("button");this.locale.bindObjectProperty(l,"textContent",Ae+"systemReset.title"),this.locale.bindObjectProperty(l,"title",Ae+"systemReset.description"),l.classList.add("synthui_button"),l.classList.add("main_controller_element"),l.onclick=()=>{this.controllers.forEach((c0,u1)=>{c0.pitchWheel.isLocked&&c0.pitchWheel.lockMeter(),c0.pan.isLocked&&c0.pan.lockMeter(),c0.expression.isLocked&&c0.expression.lockMeter(),c0.volume.isLocked&&c0.volume.lockMeter(),c0.mod.isLocked&&c0.mod.lockMeter(),c0.chorus.isLocked&&c0.chorus.lockMeter(),c0.reverb.isLocked&&c0.reverb.lockMeter(),c0.brightness.isLocked&&c0.brightness.lockMeter(),c0.preset.mainButton.classList.contains("locked_selector")&&(this.synth.lockController(u1,Ci,!1),c0.preset.mainButton.classList.remove("locked_selector")),this.synth.transposeChannel(u1,0,!0),c0.transpose.update(0),c0.soloButton.innerHTML=uh(h7),c0.muteButton.innerHTML=bm(h7),this.synth.muteChannel(u1,!1)}),this.synth.resetControllers()};let g=document.createElement("button");this.locale.bindObjectProperty(g,"textContent",Ae+"blackMidiMode.title"),this.locale.bindObjectProperty(g,"title",Ae+"blackMidiMode.description"),g.classList.add("synthui_button"),g.classList.add("main_controller_element"),g.onclick=()=>{this.synth.highPerformanceMode=!this.synth.highPerformanceMode};let f=document.createElement("button");this.locale.bindObjectProperty(f,"textContent",Ae+"disableCustomVibrato.title"),this.locale.bindObjectProperty(f,"title",Ae+"disableCustomVibrato.description"),f.classList.add("synthui_button"),f.classList.add("main_controller_element"),f.onclick=()=>{this.synth.disableGSNRPparams(),f.parentNode.removeChild(f)};let v=document.createElement("a");v.href="https://github.com/spessasus/SpessaSynth/wiki/How-To-Use-App#synthesizer-controller",v.target="#",v.classList.add("main_controller_element"),v.classList.add("synthui_button"),this.locale.bindObjectProperty(v,"textContent",Ae+"helpButton.title"),this.locale.bindObjectProperty(v,"title",Ae+"helpButton.description");let n0=document.createElement("select");n0.classList.add("main_controller_element"),n0.classList.add("synthui_button"),this.locale.bindObjectProperty(n0,"title",Ae+"interpolation.description");{let c0=document.createElement("option");c0.value="0",this.locale.bindObjectProperty(c0,"textContent",Ae+"interpolation.linear"),n0.appendChild(c0);let u1=document.createElement("option");u1.value="1",this.locale.bindObjectProperty(u1,"textContent",Ae+"interpolation.nearestNeighbor"),n0.appendChild(u1);let F=document.createElement("option");F.value="2",F.selected=!0,this.locale.bindObjectProperty(F,"textContent",Ae+"interpolation.cubic"),n0.appendChild(F),n0.onchange=()=>{this.synth.setInterpolationType(parseInt(n0.value))}}let E0=document.createElement("div");E0.classList.add("synthui_controller"),this.uiDiv.appendChild(E0);let m0=document.createElement("button");this.locale.bindObjectProperty(m0,"textContent",Ae+"toggleButton.title"),this.locale.bindObjectProperty(m0,"title",Ae+"toggleButton.description"),m0.classList.add("synthui_button"),m0.onclick=()=>{this.hideOnDocClick=!1,this.toggleVisibility()},o.appendChild(this.volumeController.div),o.appendChild(this.panController.div),o.appendChild(this.transposeController.div),o.appendChild(r),o.appendChild(l),o.appendChild(g),o.appendChild(f),o.appendChild(v),o.appendChild(n0),this.mainMeters=[this.volumeController,this.panController,this.transposeController,this.voiceMeter],this.mainButtons=[r,l,g,f,m0,v,n0],this.uiDiv.appendChild(this.voiceMeter.div),this.uiDiv.appendChild(m0),E0.appendChild(o),this.mainControllerDiv=E0,this.mainControllerDiv.onclick=c0=>c0.stopPropagation(),document.addEventListener("click",()=>{if(!this.hideOnDocClick){this.hideOnDocClick=!0;return}E0.classList.remove("synthui_controller_show"),this.isShown=!1,this.hideControllers()})}function jy(){let o=this.uiDiv.getElementsByClassName("synthui_controller")[0];this.synth.eventHandler.addEvent("programchange","synthui-program-change",r=>{this.controllers[r.channel].preset.set(`${r.bank}:${r.program}`)}),this.synth.eventHandler.addEvent("allcontrollerreset","synthui-all-controller-reset",()=>{for(let r of this.controllers)r.pan.update(64),r.mod.update(0),r.chorus.update(0),r.pitchWheel.update(0),r.expression.update(127),r.volume.update(100),r.reverb.update(0),r.brightness.update(64)}),this.synth.eventHandler.addEvent("controllerchange","synthui-controller-change",r=>{let l=r.controllerNumber,g=r.channel,f=r.controllerValue;switch(l){default:break;case B3.expressionController:this.controllers[g].expression.update(f);break;case B3.mainVolume:this.controllers[g].volume.update(f);break;case B3.pan:this.controllers[g].pan.update(f);break;case B3.modulationWheel:this.controllers[g].mod.update(f);break;case B3.chorusDepth:this.controllers[g].chorus.update(f);break;case B3.reverbDepth:this.controllers[g].reverb.update(f);break;case B3.brightness:this.controllers[g].brightness.update(f)}}),this.synth.eventHandler.addEvent("pitchwheel","synthui-pitch-wheel",r=>{let l=r.MSB<<7|r.LSB;this.controllers[r.channel].pitchWheel.update(l-8192)}),this.synth.eventHandler.addEvent("drumchange","synthui-drum-change",r=>{this.controllers[r.channel].drumsToggle.innerHTML=r.isDrumChannel?DC(32):_C(32),this.controllers[r.channel].preset.reload(r.isDrumChannel?this.percussionList:this.instrumentList)}),this.synth.eventHandler.addEvent("newchannel","synthui-new-channel",()=>{let r=this.createChannelController(this.controllers.length);this.controllers.push(r),o.appendChild(r.controller),this.hideControllers()})}var Ae="locale.synthesizerController.",Pr=class{constructor(r,l,g){this.channelColors=r;let f=l;this.uiDiv=document.createElement("div"),this.uiDiv.classList.add("wrapper"),f.appendChild(this.uiDiv),this.uiDiv.style.visibility="visible",this.isShown=!1,this.animationId=-1,this.locale=g,this.hideOnDocClick=!0}connectSynth(r){this.synth=r,this.getInstrumentList(),this.createMainSynthController(),this.createChannelControllers(),document.addEventListener("keydown",l=>{switch(l.key.toLowerCase()){case e7.synthesizerUIShow:l.preventDefault(),this.toggleVisibility();break;case e7.settingsShow:this.isShown=!0,this.toggleVisibility();break;case e7.blackMidiMode:l.preventDefault(),this.synth.highPerformanceMode=!this.synth.highPerformanceMode;break;case e7.midiPanic:l.preventDefault(),this.synth.stopAll(!0);break}}),this.locale.onLocaleChanged.push(()=>{this.voiceMeter.update(this.voiceMeter.currentValue,!0),this.volumeController.update(this.volumeController.currentValue,!0),this.panController.update(this.panController.currentValue,!0),this.panController.update(this.panController.currentValue,!0),this.transposeController.update(this.transposeController.currentValue,!0);for(let l of this.controllers)l.voiceMeter.update(l.voiceMeter.currentValue,!0),l.pitchWheel.update(l.pitchWheel.currentValue,!0),l.pan.update(l.pan.currentValue,!0),l.volume.update(l.volume.currentValue,!0),l.expression.update(l.expression.currentValue,!0),l.mod.update(l.mod.currentValue,!0),l.chorus.update(l.chorus.currentValue,!0),l.reverb.update(l.reverb.currentValue,!0),l.brightness.update(l.brightness.currentValue,!0),l.transpose.update(l.transpose.currentValue,!0)})}toggleVisibility(){this.animationId!==-1&&clearTimeout(this.animationId);let r=document.getElementsByClassName("synthui_controller")[0];this.isShown=!this.isShown,this.isShown?(r.style.display="block",document.getElementsByClassName("top_part")[0].classList.add("synthui_shown"),this.showControllers(),setTimeout(()=>{r.classList.add("synthui_controller_show")},75)):(document.getElementsByClassName("top_part")[0].classList.remove("synthui_shown"),this.hideControllers(),r.classList.remove("synthui_controller_show"),this.animationId=setTimeout(()=>{r.style.display="none"},200))}updateVoicesAmount(){this.voiceMeter.update(this.synth.voicesAmount),this.controllers.forEach((r,l)=>{let g=this.synth.channelProperties[l].voicesAmount;r.voiceMeter.update(g),g<1&&this.synth.voicesAmount>0?r.controller.classList.add("no_voices"):r.controller.classList.remove("no_voices")})}getInstrumentList(){this.synth.eventHandler.addEvent("presetlistchange","synthui-preset-list-change",r=>{let l=r;this.instrumentList=l.filter(g=>g.bank!==128).sort((g,f)=>g.program===f.program?g.bank-f.bank:g.program-f.program).map(g=>({name:g.presetName,bank:g.bank,program:g.program})),this.percussionList=l.filter(g=>g.bank===128).sort((g,f)=>g.program-f.program).map(g=>({name:g.presetName,bank:g.bank,program:g.program})),this.percussionList.length===0?this.percussionList=this.instrumentList:this.instrumentList.length===0&&(this.instrumentList=this.percussionList),this.controllers.forEach((g,f)=>{let v=this.synth.channelProperties[f].isDrum?this.percussionList:this.instrumentList;g.preset.reload(v),g.preset.set(`${v[0].bank}:${v[0].program}`)})})}};Pr.prototype.hideControllers=Yy;Pr.prototype.showControllers=Jy;Pr.prototype.toggleDarkMode=Vy;Pr.prototype.createChannelController=zy;Pr.prototype.createChannelControllers=Zy;Pr.prototype.createMainSynthController=Wy;Pr.prototype.setEventListeners=jy;var _m=null,RC=class{constructor(){}async createMIDIDeviceHandler(){if(this.selectedInput=_m,this.selectedOutput=_m,navigator.requestMIDIAccess)try{let r=await navigator.requestMIDIAccess({sysex:!0,software:!0});return this.inputs=r.inputs,this.outputs=r.outputs,Y5("%cMIDI handler created!",D1.recognized),!0}catch(r){return x4("Could not get MIDI Devices:",r),this.inputs=[],this.outputs=[],!1}else return x4("Web MIDI Api not supported!",D1.unrecognized),this.inputs=[],this.outputs=[],!1}connectMIDIOutputToSeq(r,l){this.selectedOutput=r,l.connectMidiOutput(r),Y5(`%cPlaying MIDI to %c${r.name}`,D1.info,D1.recognized)}disconnectSeqFromMIDI(r){this.selectedOutput=_m,r.connectMidiOutput(void 0),Y5("%cDisconnected from MIDI out.",D1.info)}connectDeviceToSynth(r,l){this.selectedInput=r,r.onmidimessage=g=>{l.sendMessage(g.data)},Y5(`%cListening for messages on %c${r.name}`,D1.info,D1.recognized)}disconnectDeviceFromSynth(r){this.selectedInput=_m,r.onmidimessage=void 0,Y5(`%cDisconnected from %c${r.name}`,D1.info,D1.recognized)}disconnectAllDevicesFromSynth(){this.selectedInput=_m;for(let r of this.inputs)r[1].onmidimessage=void 0}};var FC=class{constructor(r){window.addEventListener("message",l=>{if(typeof l.data!="string")return;let g=l.data.split(",");if(g[0]!=="midi")return;g.shift();let f=g.map(v=>parseInt(v,16));r.sendMessage(f)}),Y5("%cWeb MIDI Link handler created!",D1.recognized)}};var TA="midi range";function Xy(o,r,l){let g=0,f=this.htmlControls.keyboard,v=()=>{let n0=document.createElement("option");n0.value=g.toString(),this.locale.bindObjectProperty(n0,"textContent","locale.settings.keyboardSettings.selectedChannel.channelOption",[g+1]),n0.style.background=r.channelColors[g%r.channelColors.length],n0.style.color="rgb(0, 0, 0)",f.channelSelector.appendChild(n0),g++};for(let n0=0;n0{o.selectChannel(parseInt(f.channelSelector.value))},f.sizeSelector.onchange=()=>{if(this.musicMode.visible){this.musicMode.setVisibility(!1,document.getElementById("keyboard_canvas_wrapper")),setTimeout(()=>{f.sizeSelector.value===TA?(this.autoKeyRange=!0,this?.sequi?.seq&&(o.keyRange=this.sequi.seq.midiData.keyRange,l.keyRange=this.sequi.seq.midiData.keyRange)):(this.autoKeyRange=!1,o.keyRange=this.keyboardSizes[f.sizeSelector.value],l.keyRange=this.keyboardSizes[f.sizeSelector.value]),this._saveSettings()},600);return}f.sizeSelector.value===TA?(this.autoKeyRange=!0,this?.sequi?.seq&&(o.keyRange=this.sequi.seq.midiData.keyRange,l.keyRange=this.sequi.seq.midiData.keyRange)):(this.autoKeyRange=!1,o.keyRange=this.keyboardSizes[f.sizeSelector.value],l.keyRange=this.keyboardSizes[f.sizeSelector.value]),this._saveSettings()},this.addSequencer=n0=>{n0.addOnSongChangeEvent(E0=>{this.autoKeyRange&&(o.keyRange=E0.keyRange,l.keyRange=E0.keyRange),E0.RMIDInfo?.IPIC!==void 0&&this.musicMode.visible===!1&&this.toggleMusicPlayerMode().then()},"settings-keyboard-handler-song-change")},r.synth.eventHandler.addEvent("newchannel","settings-new-channel",()=>{v()}),r.synth.eventHandler.addEvent("programchange","settings-keyboard-program-change",n0=>{n0.userCalled&&(o.selectChannel(n0.channel),f.channelSelector.value=n0.channel)}),r.synth.eventHandler.addEvent("mutechannel","settings-keuboard-mute-channel",n0=>{if(n0.isMuted&&n0.channel===o.channel){let E0=0;for(;r.synth.channelProperties[E0].isMuted;)E0++;E0{if(this.musicMode.visible){this.musicMode.setVisibility(!1,document.getElementById("keyboard_canvas_wrapper")),setTimeout(()=>{o.toggleMode(),this._saveSettings()},600);return}o.toggleMode(),this._saveSettings()},f.showSelector.onclick=()=>{o.shown=!o.shown,this._saveSettings()}}var ew=` +`}function fh(o,r){let l=document.createElement("div");return l.classList.add("control_buttons"),l.title=o,l.innerHTML=r,l}var e7={synthesizerUIShow:"s",settingsShow:"r",blackMidiMode:"b",midiPanic:"backspace",playPause:" ",toggleLoop:"l",toggleLyrics:"t",seekBackwards:"arrowleft",seekForwards:"arrowright",previousSong:"[",nextSong:"]",cinematicMode:"c",videoMode:"v"};function Ny(){navigator.mediaSession&&(navigator.mediaSession.metadata=new MediaMetadata({title:this.currentSongTitle,artist:"SpessaSynth"}),navigator.mediaSession.setActionHandler("play",()=>{this.seqPlay()}),navigator.mediaSession.setActionHandler("pause",()=>{this.seqPause()}),navigator.mediaSession.setActionHandler("stop",()=>{this.seq.currentTime=0,this.seqPause()}),navigator.mediaSession.setActionHandler("seekbackward",o=>{this.seq.currentTime-=o.seekOffset||10}),navigator.mediaSession.setActionHandler("seekforward",o=>{this.seq.currentTime+=o.seekOffset||10}),navigator.mediaSession.setActionHandler("seekto",o=>{this.seq.currentTime=o.seekTime}),navigator.mediaSession.setActionHandler("previoustrack",()=>{this.switchToPreviousSong()}),navigator.mediaSession.setActionHandler("nexttrack",()=>{this.switchToNextSong()}),navigator.mediaSession.playbackState="playing")}function Gy(o=!0){if(this.seq?.hasDummyData===!0)this.currentSongTitle=this.locale.getLocaleString("locale.synthInit.genericLoading");else{let r=this.infoDecoder.decode(this.seq.midiData.rawMidiName.buffer).replace(/\0$/,"");this.currentSongTitle=FB(r)}if(this.seq.midiData){let r=this.seq.midiData.lyrics;this.currentLyrics=new Uint8Array(r.reduce((g,f)=>g+f.length,0));let l=0;for(let g of r)this.currentLyrics.set(g,l),l+=g.length;this.currentLyricsString=this.decodeTextFix(this.currentLyrics.buffer)||this.locale.getLocaleString("locale.sequencerController.lyrics.noLyrics"),this.setLyricsText(""),o&&(this.rawOtherTextEvents=[])}if(document.getElementById("title").innerText=this.currentSongTitle,document.title=this.currentSongTitle+" - SpessaSynth",this.musicModeUI.setTitle(this.currentSongTitle),!!navigator.mediaSession)try{navigator.mediaSession.setPositionState({duration:this.seq.duration,playbackRate:this.seq.playbackRate,position:this.seq.currentTime})}catch{}}var eD=parseFloat(getComputedStyle(document.body).fontSize);function Uy(){this.lyricsElement={};let o=document.createElement("div");o.classList.add("lyrics");let r=document.createElement("div");r.classList.add("lyrics_title_wrapper"),o.append(r),this.lyricsElement.titleWrapper=r;let l=document.createElement("h2");this.locale.bindObjectProperty(l,"textContent","locale.sequencerController.lyrics.title"),l.classList.add("lyrics_title"),r.appendChild(l),this.lyricsElement.title=l;let g=document.createElement("select");Sm.forEach(f1=>{let x=document.createElement("option");x.innerText=f1,x.value=f1,g.appendChild(x)}),g.value=this.encoding,g.onchange=()=>this.changeEncoding(g.value),g.classList.add("lyrics_selector"),this.encodingSelector=g,r.appendChild(g);let f=document.createElement("p");f.classList.add("lyrics_text"),o.appendChild(f);let S=document.createElement("span");S.classList.add("lyrics_text_highlight"),f.appendChild(S);let n0=document.createElement("span");n0.classList.add("lyrics_text_gray"),f.appendChild(n0);let E0=document.createElement("details"),m0=document.createElement("summary");this.locale.bindObjectProperty(m0,"textContent","locale.sequencerController.lyrics.otherText.title"),E0.appendChild(m0);let g0=document.createElement("div");g0.innerText="",E0.appendChild(g0),o.appendChild(E0),this.lyricsElement.text={highlight:S,gray:n0,main:f,other:g0},this.lyricsElement.mainDiv=o,this.lyricsElement.selector=g,this.controls.appendChild(o),this.requiresTextUpdate=!0}function Py(o){let r=this.lyricsElement.text.highlight,l=this.lyricsElement.text.gray;l.innerText=this.currentLyricsString.replace(o,""),r.innerText=o,this.lyricsElement.text.main.scrollTo(0,r.offsetHeight-eD*5)}function Oy(){let o="";for(let r of this.rawOtherTextEvents)o+=`
${Object.keys(K3).find(l=>K3[l]===r.type).replace(/([a-z])([A-Z])/g,"$1 $2")}:
${this.decodeTextFix(r.data.buffer)}

`;this.lyricsElement.text.other.innerHTML=o}var Ur=32,qy="#ccc",Hy="#555",tD="#333",iD="#ddd",rD="Shift_JIS",Fs=class{constructor(r,l,g){this.iconColor=qy,this.iconDisabledColor=Hy,this.controls=r,this.encoding=rD,this.decoder=new TextDecoder(this.encoding),this.infoDecoder=new TextDecoder(this.encoding),this.hasInfoDecoding=!1,this.text="",this.requiresTextUpdate=!1,this.rawLyrics=[],this.rawOtherTextEvents=[],this.mode="dark",this.locale=l,this.currentSongTitle="",this.currentLyrics=new Uint8Array(0),this.currentLyricsString="",this.musicModeUI=g}toggleDarkMode(){if(this.mode==="dark"?(this.mode="light",this.iconColor=tD,this.iconDisabledColor=iD):(this.mode="dark",this.iconColor=qy,this.iconDisabledColor=Hy),!this.seq){this.requiresThemeUpdate=!0;return}this.progressBar.classList.toggle("note_progress_light"),this.progressBarBackground.classList.toggle("note_progress_background_light"),this.lyricsElement.mainDiv.classList.toggle("lyrics_light"),this.lyricsElement.titleWrapper.classList.toggle("lyrics_light"),this.lyricsElement.selector.classList.toggle("lyrics_light")}seqPlay(r=!0){r&&this.seq.play(),this.playPause.innerHTML=y$(Ur),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),navigator.mediaSession&&(navigator.mediaSession.playbackState="playing")}seqPause(r=!0){r&&this.seq.pause(),this.playPause.innerHTML=vy(Ur),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),navigator.mediaSession&&(navigator.mediaSession.playbackState="paused")}switchToNextSong(){this.seq.nextSong(),this.createNavigatorHandler(),this.updateTitleAndMediaStatus()}switchToPreviousSong(){this.seq.previousSong(),this.createNavigatorHandler(),this.updateTitleAndMediaStatus()}decodeTextFix(r,l=!1){let g=0;for(;;)try{return this.decoder.decode(r)}catch{g++,this.changeEncoding(Sm[g]),this.encodingSelector.value=Sm[g]}}connectSequencer(r){this.seq=r,this.createControls(),this.setSliderInterval(),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),this.seq.onTextEvent=(l,g)=>{let f=this.decodeTextFix(l.buffer);switch(g){default:return;case K3.text:case K3.copyright:case K3.cuePoint:case K3.trackName:case K3.instrumentName:case K3.programName:case K3.marker:this.rawOtherTextEvents.push({type:g,data:l}),this.requiresTextUpdate=!0;return;case K3.lyric:this.text+=f,this.rawLyrics.push(...l),this.setLyricsText(this.text);break}},this.seq.addOnTimeChangeEvent(()=>{this.text="",this.rawLyrics=[],this.seqPlay(!1)},"sequi-time-change"),this.seq.addOnSongChangeEvent(l=>{if(this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),this.seqPlay(!1),this.seq.songsAmount>1&&(this.seq.loop=!1,this.loopButton.firstElementChild.setAttribute("fill",this.iconDisabledColor)),this.hasInfoDecoding=this.seq.midiData.RMIDInfo?.[Mt.encoding]!==void 0,l.isEmbedded){let g=(E0,m0,g0,f1="")=>this.seq.midiData.RMIDInfo?.[E0]===void 0?m0:f1+g0.decode(this.seq.midiData.RMIDInfo?.[E0]).replace(/\0$/,""),f=new TextDecoder,S=g(Mt.midiEncoding,this.encoding,f),n0=g(Mt.encoding,"utf-8",f);this.infoDecoder=new TextDecoder(n0),this.changeEncoding(S)}},"sequi-song-change"),this.requiresThemeUpdate&&this.mode==="light"&&(this.mode="dark",this.toggleDarkMode())}changeEncoding(r){this.encoding=r,this.decoder=new TextDecoder(r),this.hasInfoDecoding||(this.infoDecoder=new TextDecoder(r)),this.updateOtherTextEvents(),this.text=this.decodeTextFix(new Uint8Array(this.rawLyrics).buffer),this.lyricsElement.selector.value=r,this.updateTitleAndMediaStatus(!1),this.setLyricsText(this.text)}createControls(){this.progressTime=document.createElement("p"),this.progressTime.id="note_time",this.progressTime.onclick=x=>{x.preventDefault();let X0=r.getBoundingClientRect(),F0=x.clientX-X0.left,b1=X0.width;this.seq.currentTime=F0/b1*this.seq.duration,g.innerHTML=y$(Ur)},this.createLyrics();let r=document.createElement("div");r.id="note_progress_background",this.progressBarBackground=r,this.progressBar=document.createElement("div"),this.progressBar.id="note_progress",this.progressBar.min="0",this.progressBar.max=this.seq.duration.toString();let l=document.createElement("div"),g=fh("Play/Pause",y$(Ur));this.playPause=g,this.locale.bindObjectProperty(g,"title","locale.sequencerController.playPause");let f=()=>{this.seq.paused?this.seqPlay():this.seqPause()};g.onclick=f;let S=fh("Previous song",_y(Ur));this.locale.bindObjectProperty(S,"title","locale.sequencerController.previousSong"),S.onclick=()=>this.switchToPreviousSong();let n0=fh("Next song",Dy(Ur));this.locale.bindObjectProperty(n0,"title","locale.sequencerController.nextSong"),n0.onclick=()=>this.switchToNextSong();let E0=fh("Loop this",Sy(Ur));this.locale.bindObjectProperty(E0,"title","locale.sequencerController.loopThis");let m0=()=>{this.seq.loop?this.seq.loop=!1:(this.seq.loop=!0,this.seq.currentTime>=this.seq.duration&&(this.seq.currentTime=0)),E0.firstElementChild.setAttribute("fill",this.seq.loop?this.iconColor:this.iconDisabledColor)};E0.onclick=m0,this.loopButton=E0;let g0=fh("Show lyrics",by(Ur));this.locale.bindObjectProperty(g0,"title","locale.sequencerController.lyrics.show"),g0.firstElementChild.setAttribute("fill",this.iconDisabledColor);let f1=()=>{this.lyricsElement.mainDiv.classList.toggle("lyrics_show"),g0.firstElementChild.setAttribute("fill",this.lyricsElement.mainDiv.classList.contains("lyrics_show")?this.iconColor:this.iconDisabledColor)};g0.onclick=f1,document.addEventListener("keydown",x=>{switch(x.key.toLowerCase()){case e7.playPause:x.preventDefault(),f();break;case e7.toggleLoop:x.preventDefault(),m0();break;case e7.toggleLyrics:x.preventDefault(),f1();break;default:break}}),l.appendChild(S),l.appendChild(E0),l.appendChild(g),l.appendChild(g0),l.appendChild(n0),this.controls.appendChild(r),r.appendChild(this.progressBar),this.controls.appendChild(this.progressTime),this.controls.appendChild(l),document.addEventListener("keydown",x=>{switch(x.key.toLowerCase()){case e7.seekBackwards:x.preventDefault(),this.seq.currentTime-=5,g.innerHTML=y$(Ur);break;case e7.seekForwards:x.preventDefault(),this.seq.currentTime+=5,g.innerHTML=y$(Ur);break;case e7.previousSong:this.switchToPreviousSong();break;case e7.nextSong:this.switchToNextSong();break;default:if(!isNaN(parseFloat(x.key))){x.preventDefault();let X0=parseInt(x.key);0<=X0&&X0<=9&&(this.seq.currentTime=this.seq.duration*(X0/10),g.innerHTML=y$(Ur))}break}})}_updateInterval(){this.progressBar.style.width=`${this.seq.currentTime/this.seq.duration*100}%`;let r=E$(this.seq.currentTime),l=E$(this.seq.duration);this.progressTime.innerText=`${r.time} / ${l.time}`,this.requiresTextUpdate&&(this.updateOtherTextEvents(),this.requiresTextUpdate=!1)}setSliderInterval(){setInterval(this._updateInterval.bind(this),100)}};Fs.prototype.createNavigatorHandler=Ny;Fs.prototype.updateTitleAndMediaStatus=Gy;Fs.prototype.createLyrics=Uy;Fs.prototype.setLyricsText=Py;Fs.prototype.updateOtherTextEvents=Oy;function Yy(){this.controllers.forEach(o=>{o.voiceMeter.hide(),o.pitchWheel.hide(),o.pan.hide(),o.expression.hide(),o.volume.hide(),o.mod.hide(),o.chorus.hide(),o.reverb.hide(),o.brightness.hide(),o.preset.hide()})}function Jy(){this.controllers.forEach(o=>{o.voiceMeter.show(),o.pitchWheel.show(),o.pan.show(),o.expression.show(),o.volume.show(),o.mod.show(),o.chorus.show(),o.reverb.show(),o.brightness.show(),o.preset.show()})}function Vy(){this.mainControllerDiv.classList.toggle("synthui_controller_light"),this.mainButtons.forEach(o=>{o.classList.toggle("synthui_button"),o.classList.toggle("synthui_button_light")}),this.mainMeters.forEach(o=>{o.toggleMode(!0)}),this.controllers.forEach(o=>{o.voiceMeter.toggleMode(),o.pitchWheel.toggleMode(),o.pan.toggleMode(),o.expression.toggleMode(),o.volume.toggleMode(),o.mod.toggleMode(),o.chorus.toggleMode(),o.reverb.toggleMode(),o.brightness.toggleMode(),o.preset.toggleMode(),o.drumsToggle.classList.toggle("mute_button_light"),o.muteButton.classList.toggle("mute_button_light")})}var hr=class{constructor(r="none",l,g,f,S=0,n0=100,E0=!1,m0=void 0,g0=void 0,f1=void 0){if(this.meterText="",g.bindObjectProperty(this,"meterText",l+".title"),this.min=S,this.max=n0,this.currentValue=-1,this.isShown=!0,this.isVisualValueSet=!0,this.isLocked=!1,this.lockCallback=g0,this.unlockCallback=f1,this.div=document.createElement("div"),this.div.classList.add("voice_meter"),this.div.classList.add("controller_element"),r!=="none"&&r!==""&&(this.div.style.borderColor=r),g.bindObjectProperty(this.div,"title",l+".description",f),this.bar=document.createElement("div"),this.bar.classList.add("voice_meter_bar"),this.bar.style.background=r,this.div.appendChild(this.bar),this.text=document.createElement("p"),this.text.classList.add("voice_meter_text"),this.div.appendChild(this.text),this.isActive=!1,E0){if(m0===void 0)throw new Error("No editable function given!");this.div.onmousedown=x=>{x.preventDefault(),x.button===0?this.isActive=!0:this.lockMeter()},this.div.onmousemove=x=>{if(!this.isActive)return;let X0=x.currentTarget.getBoundingClientRect(),F0=X0.left,b1=X0.width,l2=x.clientX-F0,y1=Math.max(0,Math.min(1,l2/b1));m0(y1*(n0-S)+S)},this.div.onmouseup=()=>this.isActive=!1,this.div.onmouseleave=x=>{this.div.onmousemove(x),this.isActive=!1},this.text.oncontextmenu=x=>{x.preventDefault()},this.div.onclick=x=>{x.preventDefault(),this.isActive=!0,this.div.onmousemove(x),this.isActive=!1},this.div.classList.add("editable")}}lockMeter(){this.lockCallback!==void 0&&(this.isLocked?(this.text.classList.remove("locked_meter"),this.unlockCallback()):(this.text.classList.add("locked_meter"),this.lockCallback()),this.isLocked=!this.isLocked)}toggleMode(r=!1){r&&(this.bar.classList.toggle("voice_meter_light_color"),this.div.classList.toggle("voice_meter_light_color")),this.text.classList.toggle("voice_meter_text_light")}show(){if(this.isShown=!0,!this.isVisualValueSet){let r=Math.max(0,Math.min((this.currentValue-this.min)/(this.max-this.min),1));this.bar.style.width=`${r*100}%`,this.text.textContent=this.meterText+(Math.round(this.currentValue*100)/100).toString(),this.isVisualValueSet=!0}}hide(){this.isShown=!1}update(r,l=!1){if(!(r===this.currentValue&&l===!1))if(this.currentValue=r,this.isShown){let g=Math.max(0,Math.min((r-this.min)/(this.max-this.min),1));this.bar.style.width=`${g*100}%`,this.text.textContent=this.meterText+(Math.round(r*100)/100).toString(),this.isVisualValueSet=!0}else this.isVisualValueSet=!1}};var Ky=["Acoustic Grand Piano","Bright Acoustic Piano","Electric Grand Piano","Honky-tonk Piano","Electric Piano 1","Electric Piano 2","Harpsichord","Clavi","Celesta","Glockenspiel","Music Box","Vibraphone","Marimba","Xylophone","Tubular Bells","Dulcimer","Drawbar Organ","Percussive Organ","Rock Organ","Church Organ","Reed Organ","Accordion","Harmonica","Tango Accordion","Acoustic Guitar (nylon)","Acoustic Guitar (steel)","Electric Guitar (jazz)","Electric Guitar (clean)","Electric Guitar (muted)","Overdriven Guitar","Distortion Guitar","Guitar Harmonics","Acoustic Bass","Electric Bass (finger)","Electric Bass (pick)","Fretless Bass","Slap Bass 1","Slap Bass 2","Synth Bass 1","Synth Bass 2","Violin","Viola","Cello","Contrabass","Tremolo Strings","Pizzicato Strings","Orchestral Harp","Timpani","String Ensemble 1","String Ensemble 2","Synth Strings 1","Synth Strings 2","Choir Aahs","VoiceGroup Oohs","Synth Choir","Orchestra Hit","Trumpet","Trombone","Tuba","Muted Trumpet","French Horn","Brass Section","Synth Brass 1","Synth Brass 2","Soprano Sax","Alto Sax","Tenor Sax","Baritone Sax","Oboe","English Horn","Bassoon","Clarinet","Piccolo","Flute","Recorder","Pan Flute","Blown Bottle","Shakuhachi","Whistle","Ocarina","Lead 1 (square)","Lead 2 (sawtooth)","Lead 3 (calliope)","Lead 4 (chiff)","Lead 5 (charang)","Lead 6 (voice)","Lead 7 (fifths)","Lead 8 (bass + lead)","Pad 1 (new age)","Pad 2 (warm)","Pad 3 (polysynth)","Pad 4 (choir)","Pad 5 (bowed)","Pad 6 (metallic)","Pad 7 (halo)","Pad 8 (sweep)","FX 1 (rain)","FX 2 (soundtrack)","FX 3 (crystal)","FX 4 (atmosphere)","FX 5 (brightness)","FX 6 (goblins)","FX 7 (echoes)","FX 8 (sci-fi)","Sitar","Banjo","Shamisen","Koto","Kalimba","Bagpipe","Fiddle","Shanai","Tinkle Bell","Agogo","Steel Drums","Woodblock","Taiko Drum","Melodic Tom","Synth Drum","Reverse Cymbal","Guitar Fret Noise","Breath Noise","Seashore","Bird Tweet","Telephone Ring","Attack Helicopter","Applause","Gunshot"];var LC=class{constructor(r,l,g,f,S=void 0,n0=void 0){this.isShown=!0,this.isReloaded=!0,this.elements=r.map(E0=>({name:E0.name,program:E0.program,bank:E0.bank,stringified:`${E0.bank.toString().padStart(3,"0")}:${E0.program.toString().padStart(3,"0")} ${E0.name}`})),this.elements.length>0?this.value=`${this.elements[0].bank}:${this.elements[0].program}`:this.value="",this.mainButton=document.createElement("button"),this.mainButton.classList.add("voice_selector"),this.mainButton.classList.add("controller_element"),l.bindObjectProperty(this.mainButton,"title",g+".description",f),this.locale=l,this.localePath=g,this.localeArgs=f,this.reload(),this.mainButton.onclick=()=>{this.showSelectionMenu()},this.editCallback=S,this.selectionMenu=void 0,this.lockCallback=n0,this.locked=!1,this.isWindowShown=!1}showSelectionMenu(){this.selectionMenu=document.createElement("div"),this.selectionMenu.classList.add("voice_selector_wrapper"),document.getElementsByClassName("spessasynth_main")[0].appendChild(this.selectionMenu);let r=document.createElement("div");r.classList.add("voice_selector_window");let l=document.createElement("h2");this.locale.bindObjectProperty(l,"textContent",this.localePath+".selectionPrompt",this.localeArgs),r.appendChild(l);let g=document.createElement("div");g.classList.add("voice_selector_search_wrapper"),r.appendChild(g);let f=document.createElement("input");f.type="text",this.locale.bindObjectProperty(f,"placeholder",this.localePath+".searchPrompt"),g.appendChild(f),f.onkeydown=E0=>E0.stopPropagation();let S=document.createElement("div");S.innerHTML=this.locked?xC(h7):HB(h7),this.locale.bindObjectProperty(S,"title",Ae+"channelController.presetReset.description",this.localeArgs),S.classList.add("voice_reset"),this.mainButton.classList.contains("voice_selector_light")&&S.classList.add("voice_reset_light"),S.onclick=()=>{this.locked=!this.locked,this.lockCallback(this.locked),this.mainButton.classList.toggle("locked_selector"),this.locked?S.innerHTML=xC(h7):S.innerHTML=HB(h7)},g.appendChild(S),this.presetLock=S;let n0=document.createElement("div");n0.classList.add("voice_selector_table_wrapper"),r.appendChild(n0),this.generateTable(n0,this.elements),f.oninput=E0=>{E0.stopPropagation();let m0=f.value,g0=this.elements.filter(f1=>f1.stringified.search(new RegExp(m0,"i"))>=0);g0.length!==this.elements.length&&(n0.replaceChildren(),this.generateTable(n0,g0))},r.onclick=E0=>{E0.stopPropagation()},this.selectionMenu.appendChild(r),this.selectionMenu.onclick=E0=>{E0.stopPropagation(),this.hideSelectionMenu()},this.isWindowShown=!0,f.focus()}generateTable(r,l){let g=document.createElement("table");g.classList.add("voice_selector_table");let f=parseInt(this.value.split(":")[0]),S=parseInt(this.value.split(":")[1]),n0=-20;for(let E0 of l){let m0=document.createElement("tr"),g0=E0.program;if(g0===S&&E0.bank===f&&(m0.classList.add("voice_selector_selected"),setTimeout(()=>{m0.scrollIntoView({behavior:"instant",block:"center",inline:"center"})},20)),m0.onclick=()=>{let l2=`${E0.bank}:${g0}`;if(this.value===l2){this.hideSelectionMenu();return}this.editCallback(l2),this.locked=!0,this.presetLock.innerHTML=xC(h7),this.hideSelectionMenu()},g0!==n0&&(n0=g0,E0.bank!==128)){let l2=document.createElement("tr"),y1=document.createElement("th");y1.colSpan="3",y1.textContent=Ky[n0],l2.appendChild(y1),g.appendChild(l2)}let f1=`${E0.program.toString().padStart(3,"0")}`,x=`${E0.bank.toString().padStart(3,"0")}`,X0=document.createElement("td");X0.classList.add("voice_selector_preset_name"),X0.textContent=E0.name;let F0=document.createElement("td");X0.classList.add("voice_selector_preset_program"),F0.textContent=f1;let b1=document.createElement("td");X0.classList.add("voice_selector_preset_program"),b1.textContent=x,m0.appendChild(b1),m0.appendChild(F0),m0.appendChild(X0),g.appendChild(m0)}r.appendChild(g)}hideSelectionMenu(){document.getElementsByClassName("spessasynth_main")[0].removeChild(this.selectionMenu),this.selectionMenu=void 0,this.isWindowShown=!1}toggleMode(){this.mainButton.classList.toggle("voice_selector_light")}reload(r=this.elements){if(this.elements=r.map(l=>({name:l.name,program:l.program,bank:l.bank,stringified:`${l.bank.toString().padStart(3,"0")}:${l.program.toString().padStart(3,"0")} ${l.name}`})),!this.isShown){this.isReloaded=!1;return}this.isReloaded=!0,this.elements.length>0&&(this.mainButton.textContent=this.getString(`${this.elements[0].bank}:${this.value.split(":")[1]}`))}set(r){if(this.value=r,this.isShown&&(this.isReloaded||this.reload(),this.mainButton.textContent=this.getString(this.value),this.isWindowShown)){let l=this.selectionMenu.getElementsByClassName("voice_selector_selected")[0];l!==void 0&&l.classList.remove("voice_selector_selected");let g=this.selectionMenu.getElementsByClassName("voice_selector_table")[0],f=parseInt(this.value.split(":")[0]),S=parseInt(this.value.split(":")[1]);for(let n0 of g.rows){if(n0.cells.length===1)continue;let E0=parseInt(n0.cells[0].textContent),m0=parseInt(n0.cells[1].textContent);E0===f&&m0===S&&(n0.classList.add("voice_selector_selected"),n0.scrollIntoView({behavior:"smooth",block:"center",inline:"center"}))}}}getString(r){let l=r.split(":"),g=parseInt(l[0]),f=parseInt(l[1]),S=this.elements.find(n0=>n0.bank===g&&n0.program===f);return g===128||this.elements.filter(n0=>n0.program===f&&n0.bank!==128).length<2?`${f}. ${S.name}`:`${g}:${f} ${S.name}`}show(){this.isShown=!0,this.isReloaded||this.reload(),this.mainButton.textContent=this.getString(this.value)}hide(){this.isShown=!1}};var h7=32;function zy(o){this.soloChannels=new Set;let r=document.createElement("div");r.classList.add("channel_controller");let l=new hr(this.channelColors[o%this.channelColors.length],Ae+"channelController.voiceMeter",this.locale,[o+1],0,100);l.bar.classList.add("voice_meter_bar_smooth"),r.appendChild(l.div);let g=new hr(this.channelColors[o%this.channelColors.length],Ae+"channelController.pitchBendMeter",this.locale,[o+1],-8192,8191,!0,T2=>{let V2=g.isLocked;V2&&this.synth.lockController(o,C$+Ft.pitchWheel,!1),T2=Math.round(T2)+8192;let i3=T2>>7,r3=T2&127;this.synth.pitchWheel(o,i3,r3),V2&&this.synth.lockController(o,C$+Ft.pitchWheel,!0)},()=>this.synth.lockController(o,C$+Ft.pitchWheel,!0),()=>this.synth.lockController(o,C$+Ft.pitchWheel,!1));g.update(0),r.appendChild(g.div);let f=(T2,V2,i3)=>{i3.isLocked?(this.synth.lockController(o,T2,!1),this.synth.controllerChange(o,T2,V2),this.synth.lockController(o,T2,!0)):this.synth.controllerChange(o,T2,V2)},S=(T2,V2,i3)=>{let r3=new hr(this.channelColors[o%this.channelColors.length],Ae+V2,this.locale,[o+1],0,127,!0,A0=>f(T2,Math.round(A0),r3),()=>this.synth.lockController(o,T2,!0),()=>this.synth.lockController(o,T2,!1));return r3.update(i3),r3},n0=S(B3.pan,"channelController.panMeter",64);r.appendChild(n0.div);let E0=S(B3.expressionController,"channelController.expressionMeter",127);r.appendChild(E0.div);let m0=S(B3.mainVolume,"channelController.volumeMeter",100);r.appendChild(m0.div);let g0=S(B3.modulationWheel,"channelController.modulationWheelMeter",0);r.appendChild(g0.div);let f1=S(B3.chorusDepth,"channelController.chorusMeter",0);r.appendChild(f1.div);let x=S(B3.reverbDepth,"channelController.reverbMeter",0);r.appendChild(x.div);let X0=S(B3.brightness,"channelController.filterMeter",64);r.appendChild(X0.div);let F0=new hr(this.channelColors[o%this.channelColors.length],Ae+"channelController.transposeMeter",this.locale,[o+1],-36,36,!0,T2=>{T2=Math.round(T2),this.synth.transposeChannel(o,T2,!0),F0.update(T2)});F0.update(0),r.appendChild(F0.div);let b1=new LC([],this.locale,Ae+"channelController.presetSelector",[o+1],async T2=>{let V2=T2.split(":");this.synth.lockController(o,Ci,!1),this.synth.controllerChange(o,B3.bankSelect,parseInt(V2[0]),!0),this.synth.programChange(o,parseInt(V2[1]),!0),b1.mainButton.classList.add("locked_selector"),this.synth.lockController(o,Ci,!0)},T2=>this.synth.lockController(o,Ci,T2));r.appendChild(b1.mainButton);let l2=document.createElement("div");l2.innerHTML=uh(h7),this.locale.bindObjectProperty(l2,"title",Ae+"channelController.soloButton.description",[o+1]),l2.classList.add("controller_element"),l2.classList.add("mute_button"),l2.onclick=()=>{if(this.soloChannels.has(o)?this.soloChannels.delete(o):this.soloChannels.add(o),this.soloChannels.size===0||this.soloChannels.size>=this.synth.channelsAmount){for(let T2=0;T2=this.synth.channelsAmount&&this.soloChannels.clear();return}for(let T2=0;T2{if(y1.hasAttribute("is_muted")){y1.removeAttribute("is_muted");let T2=this.soloChannels.size===0||this.soloChannels.has(o);this.synth.muteChannel(o,!T2),y1.innerHTML=bm(h7)}else this.synth.muteChannel(o,!0),y1.setAttribute("is_muted","true"),y1.innerHTML=Ly(h7)},r.appendChild(y1);let Y2=document.createElement("div");return Y2.innerHTML=o===Di?DC(h7):_C(h7),this.locale.bindObjectProperty(Y2,"title",Ae+"channelController.drumToggleButton.description",[o+1]),Y2.classList.add("controller_element"),Y2.classList.add("mute_button"),Y2.onclick=()=>{this.synth.setDrums(o,!this.synth.channelProperties[o].isDrum)},r.appendChild(Y2),{controller:r,voiceMeter:l,pitchWheel:g,pan:n0,expression:E0,volume:m0,mod:g0,chorus:f1,reverb:x,brightness:X0,preset:b1,drumsToggle:Y2,soloButton:l2,muteButton:y1,transpose:F0}}function Zy(){let o=this.uiDiv.getElementsByClassName("synthui_controller")[0];this.controllers=[];for(let r=0;r{this.synth.setMainVolume(Math.round(g0)/100),this.volumeController.update(g0)}),this.volumeController.bar.classList.add("voice_meter_bar_smooth"),this.volumeController.div.classList.add("main_controller_element"),this.volumeController.update(100),this.panController=new hr("",Ae+"mainPanMeter",this.locale,[],-1,1,!0,g0=>{this.synth.setMasterPan(g0),this.panController.update(g0)}),this.panController.bar.classList.add("voice_meter_bar_smooth"),this.panController.div.classList.add("main_controller_element"),this.panController.update(0),this.transposeController=new hr("",Ae+"mainTransposeMeter",this.locale,[],-12,12,!0,g0=>{this.synth.transpose(Math.round(g0*2)/2),this.transposeController.update(Math.round(g0*2)/2)}),this.transposeController.bar.classList.add("voice_meter_bar_smooth"),this.transposeController.div.classList.add("main_controller_element"),this.transposeController.update(0);let r=document.createElement("button");this.locale.bindObjectProperty(r,"textContent",Ae+"midiPanic.title"),this.locale.bindObjectProperty(r,"title",Ae+"midiPanic.description"),r.classList.add("synthui_button"),r.classList.add("main_controller_element"),r.onclick=()=>this.synth.stopAll(!0);let l=document.createElement("button");this.locale.bindObjectProperty(l,"textContent",Ae+"systemReset.title"),this.locale.bindObjectProperty(l,"title",Ae+"systemReset.description"),l.classList.add("synthui_button"),l.classList.add("main_controller_element"),l.onclick=()=>{this.controllers.forEach((g0,f1)=>{g0.pitchWheel.isLocked&&g0.pitchWheel.lockMeter(),g0.pan.isLocked&&g0.pan.lockMeter(),g0.expression.isLocked&&g0.expression.lockMeter(),g0.volume.isLocked&&g0.volume.lockMeter(),g0.mod.isLocked&&g0.mod.lockMeter(),g0.chorus.isLocked&&g0.chorus.lockMeter(),g0.reverb.isLocked&&g0.reverb.lockMeter(),g0.brightness.isLocked&&g0.brightness.lockMeter(),g0.preset.mainButton.classList.contains("locked_selector")&&(this.synth.lockController(f1,Ci,!1),g0.preset.mainButton.classList.remove("locked_selector")),this.synth.transposeChannel(f1,0,!0),g0.transpose.update(0),g0.soloButton.innerHTML=uh(h7),g0.muteButton.innerHTML=bm(h7),this.synth.muteChannel(f1,!1)}),this.synth.resetControllers()};let g=document.createElement("button");this.locale.bindObjectProperty(g,"textContent",Ae+"blackMidiMode.title"),this.locale.bindObjectProperty(g,"title",Ae+"blackMidiMode.description"),g.classList.add("synthui_button"),g.classList.add("main_controller_element"),g.onclick=()=>{this.synth.highPerformanceMode=!this.synth.highPerformanceMode};let f=document.createElement("button");this.locale.bindObjectProperty(f,"textContent",Ae+"disableCustomVibrato.title"),this.locale.bindObjectProperty(f,"title",Ae+"disableCustomVibrato.description"),f.classList.add("synthui_button"),f.classList.add("main_controller_element"),f.onclick=()=>{this.synth.disableGSNRPparams(),f.parentNode.removeChild(f)};let S=document.createElement("a");S.href="https://github.com/spessasus/SpessaSynth/wiki/How-To-Use-App#synthesizer-controller",S.target="#",S.classList.add("main_controller_element"),S.classList.add("synthui_button"),this.locale.bindObjectProperty(S,"textContent",Ae+"helpButton.title"),this.locale.bindObjectProperty(S,"title",Ae+"helpButton.description");let n0=document.createElement("select");n0.classList.add("main_controller_element"),n0.classList.add("synthui_button"),this.locale.bindObjectProperty(n0,"title",Ae+"interpolation.description");{let g0=document.createElement("option");g0.value="0",this.locale.bindObjectProperty(g0,"textContent",Ae+"interpolation.linear"),n0.appendChild(g0);let f1=document.createElement("option");f1.value="1",this.locale.bindObjectProperty(f1,"textContent",Ae+"interpolation.nearestNeighbor"),n0.appendChild(f1);let x=document.createElement("option");x.value="2",x.selected=!0,this.locale.bindObjectProperty(x,"textContent",Ae+"interpolation.cubic"),n0.appendChild(x),n0.onchange=()=>{this.synth.setInterpolationType(parseInt(n0.value))}}let E0=document.createElement("div");E0.classList.add("synthui_controller"),this.uiDiv.appendChild(E0);let m0=document.createElement("button");this.locale.bindObjectProperty(m0,"textContent",Ae+"toggleButton.title"),this.locale.bindObjectProperty(m0,"title",Ae+"toggleButton.description"),m0.classList.add("synthui_button"),m0.onclick=()=>{this.hideOnDocClick=!1,this.toggleVisibility()},o.appendChild(this.volumeController.div),o.appendChild(this.panController.div),o.appendChild(this.transposeController.div),o.appendChild(r),o.appendChild(l),o.appendChild(g),o.appendChild(f),o.appendChild(S),o.appendChild(n0),this.mainMeters=[this.volumeController,this.panController,this.transposeController,this.voiceMeter],this.mainButtons=[r,l,g,f,m0,S,n0],this.uiDiv.appendChild(this.voiceMeter.div),this.uiDiv.appendChild(m0),E0.appendChild(o),this.mainControllerDiv=E0,this.mainControllerDiv.onclick=g0=>g0.stopPropagation(),document.addEventListener("click",()=>{if(!this.hideOnDocClick){this.hideOnDocClick=!0;return}E0.classList.remove("synthui_controller_show"),this.isShown=!1,this.hideControllers()})}function jy(){let o=this.uiDiv.getElementsByClassName("synthui_controller")[0];this.synth.eventHandler.addEvent("programchange","synthui-program-change",r=>{this.controllers[r.channel].preset.set(`${r.bank}:${r.program}`)}),this.synth.eventHandler.addEvent("allcontrollerreset","synthui-all-controller-reset",()=>{for(let r of this.controllers)r.pan.update(64),r.mod.update(0),r.chorus.update(0),r.pitchWheel.update(0),r.expression.update(127),r.volume.update(100),r.reverb.update(0),r.brightness.update(64)}),this.synth.eventHandler.addEvent("controllerchange","synthui-controller-change",r=>{let l=r.controllerNumber,g=r.channel,f=r.controllerValue;switch(l){default:break;case B3.expressionController:this.controllers[g].expression.update(f);break;case B3.mainVolume:this.controllers[g].volume.update(f);break;case B3.pan:this.controllers[g].pan.update(f);break;case B3.modulationWheel:this.controllers[g].mod.update(f);break;case B3.chorusDepth:this.controllers[g].chorus.update(f);break;case B3.reverbDepth:this.controllers[g].reverb.update(f);break;case B3.brightness:this.controllers[g].brightness.update(f)}}),this.synth.eventHandler.addEvent("pitchwheel","synthui-pitch-wheel",r=>{let l=r.MSB<<7|r.LSB;this.controllers[r.channel].pitchWheel.update(l-8192)}),this.synth.eventHandler.addEvent("drumchange","synthui-drum-change",r=>{this.controllers[r.channel].drumsToggle.innerHTML=r.isDrumChannel?DC(32):_C(32),this.controllers[r.channel].preset.reload(r.isDrumChannel?this.percussionList:this.instrumentList)}),this.synth.eventHandler.addEvent("newchannel","synthui-new-channel",()=>{let r=this.createChannelController(this.controllers.length);this.controllers.push(r),o.appendChild(r.controller),this.hideControllers()})}var Ae="locale.synthesizerController.",Pr=class{constructor(r,l,g){this.channelColors=r;let f=l;this.uiDiv=document.createElement("div"),this.uiDiv.classList.add("wrapper"),f.appendChild(this.uiDiv),this.uiDiv.style.visibility="visible",this.isShown=!1,this.animationId=-1,this.locale=g,this.hideOnDocClick=!0}connectSynth(r){this.synth=r,this.getInstrumentList(),this.createMainSynthController(),this.createChannelControllers(),document.addEventListener("keydown",l=>{switch(l.key.toLowerCase()){case e7.synthesizerUIShow:l.preventDefault(),this.toggleVisibility();break;case e7.settingsShow:this.isShown=!0,this.toggleVisibility();break;case e7.blackMidiMode:l.preventDefault(),this.synth.highPerformanceMode=!this.synth.highPerformanceMode;break;case e7.midiPanic:l.preventDefault(),this.synth.stopAll(!0);break}}),this.locale.onLocaleChanged.push(()=>{this.voiceMeter.update(this.voiceMeter.currentValue,!0),this.volumeController.update(this.volumeController.currentValue,!0),this.panController.update(this.panController.currentValue,!0),this.panController.update(this.panController.currentValue,!0),this.transposeController.update(this.transposeController.currentValue,!0);for(let l of this.controllers)l.voiceMeter.update(l.voiceMeter.currentValue,!0),l.pitchWheel.update(l.pitchWheel.currentValue,!0),l.pan.update(l.pan.currentValue,!0),l.volume.update(l.volume.currentValue,!0),l.expression.update(l.expression.currentValue,!0),l.mod.update(l.mod.currentValue,!0),l.chorus.update(l.chorus.currentValue,!0),l.reverb.update(l.reverb.currentValue,!0),l.brightness.update(l.brightness.currentValue,!0),l.transpose.update(l.transpose.currentValue,!0)})}toggleVisibility(){this.animationId!==-1&&clearTimeout(this.animationId);let r=document.getElementsByClassName("synthui_controller")[0];this.isShown=!this.isShown,this.isShown?(r.style.display="block",document.getElementsByClassName("top_part")[0].classList.add("synthui_shown"),this.showControllers(),setTimeout(()=>{r.classList.add("synthui_controller_show")},75)):(document.getElementsByClassName("top_part")[0].classList.remove("synthui_shown"),this.hideControllers(),r.classList.remove("synthui_controller_show"),this.animationId=setTimeout(()=>{r.style.display="none"},200))}updateVoicesAmount(){this.voiceMeter.update(this.synth.voicesAmount),this.controllers.forEach((r,l)=>{let g=this.synth.channelProperties[l].voicesAmount;r.voiceMeter.update(g),g<1&&this.synth.voicesAmount>0?r.controller.classList.add("no_voices"):r.controller.classList.remove("no_voices")})}getInstrumentList(){this.synth.eventHandler.addEvent("presetlistchange","synthui-preset-list-change",r=>{let l=r;this.instrumentList=l.filter(g=>g.bank!==128).sort((g,f)=>g.program===f.program?g.bank-f.bank:g.program-f.program).map(g=>({name:g.presetName,bank:g.bank,program:g.program})),this.percussionList=l.filter(g=>g.bank===128).sort((g,f)=>g.program-f.program).map(g=>({name:g.presetName,bank:g.bank,program:g.program})),this.percussionList.length===0?this.percussionList=this.instrumentList:this.instrumentList.length===0&&(this.instrumentList=this.percussionList),this.controllers.forEach((g,f)=>{let S=this.synth.channelProperties[f].isDrum?this.percussionList:this.instrumentList;g.preset.reload(S),g.preset.set(`${S[0].bank}:${S[0].program}`)})})}};Pr.prototype.hideControllers=Yy;Pr.prototype.showControllers=Jy;Pr.prototype.toggleDarkMode=Vy;Pr.prototype.createChannelController=zy;Pr.prototype.createChannelControllers=Zy;Pr.prototype.createMainSynthController=Wy;Pr.prototype.setEventListeners=jy;var _m=null,RC=class{constructor(){}async createMIDIDeviceHandler(){if(this.selectedInput=_m,this.selectedOutput=_m,navigator.requestMIDIAccess)try{let r=await navigator.requestMIDIAccess({sysex:!0,software:!0});return this.inputs=r.inputs,this.outputs=r.outputs,Y5("%cMIDI handler created!",_1.recognized),!0}catch(r){return x4("Could not get MIDI Devices:",r),this.inputs=[],this.outputs=[],!1}else return x4("Web MIDI Api not supported!",_1.unrecognized),this.inputs=[],this.outputs=[],!1}connectMIDIOutputToSeq(r,l){this.selectedOutput=r,l.connectMidiOutput(r),Y5(`%cPlaying MIDI to %c${r.name}`,_1.info,_1.recognized)}disconnectSeqFromMIDI(r){this.selectedOutput=_m,r.connectMidiOutput(void 0),Y5("%cDisconnected from MIDI out.",_1.info)}connectDeviceToSynth(r,l){this.selectedInput=r,r.onmidimessage=g=>{l.sendMessage(g.data)},Y5(`%cListening for messages on %c${r.name}`,_1.info,_1.recognized)}disconnectDeviceFromSynth(r){this.selectedInput=_m,r.onmidimessage=void 0,Y5(`%cDisconnected from %c${r.name}`,_1.info,_1.recognized)}disconnectAllDevicesFromSynth(){this.selectedInput=_m;for(let r of this.inputs)r[1].onmidimessage=void 0}};var FC=class{constructor(r){window.addEventListener("message",l=>{if(typeof l.data!="string")return;let g=l.data.split(",");if(g[0]!=="midi")return;g.shift();let f=g.map(S=>parseInt(S,16));r.sendMessage(f)}),Y5("%cWeb MIDI Link handler created!",_1.recognized)}};var TA="midi range";function Xy(o,r,l){let g=0,f=this.htmlControls.keyboard,S=()=>{let n0=document.createElement("option");n0.value=g.toString(),this.locale.bindObjectProperty(n0,"textContent","locale.settings.keyboardSettings.selectedChannel.channelOption",[g+1]),n0.style.background=r.channelColors[g%r.channelColors.length],n0.style.color="rgb(0, 0, 0)",f.channelSelector.appendChild(n0),g++};for(let n0=0;n0{o.selectChannel(parseInt(f.channelSelector.value))},f.sizeSelector.onchange=()=>{if(this.musicMode.visible){this.musicMode.setVisibility(!1,document.getElementById("keyboard_canvas_wrapper")),setTimeout(()=>{f.sizeSelector.value===TA?(this.autoKeyRange=!0,this?.sequi?.seq&&(o.keyRange=this.sequi.seq.midiData.keyRange,l.keyRange=this.sequi.seq.midiData.keyRange)):(this.autoKeyRange=!1,o.keyRange=this.keyboardSizes[f.sizeSelector.value],l.keyRange=this.keyboardSizes[f.sizeSelector.value]),this._saveSettings()},600);return}f.sizeSelector.value===TA?(this.autoKeyRange=!0,this?.sequi?.seq&&(o.keyRange=this.sequi.seq.midiData.keyRange,l.keyRange=this.sequi.seq.midiData.keyRange)):(this.autoKeyRange=!1,o.keyRange=this.keyboardSizes[f.sizeSelector.value],l.keyRange=this.keyboardSizes[f.sizeSelector.value]),this._saveSettings()},this.addSequencer=n0=>{n0.addOnSongChangeEvent(E0=>{this.autoKeyRange&&(o.keyRange=E0.keyRange,l.keyRange=E0.keyRange),E0.RMIDInfo?.IPIC!==void 0&&this.musicMode.visible===!1&&this.toggleMusicPlayerMode().then()},"settings-keyboard-handler-song-change")},r.synth.eventHandler.addEvent("newchannel","settings-new-channel",()=>{S()}),r.synth.eventHandler.addEvent("programchange","settings-keyboard-program-change",n0=>{n0.userCalled&&(o.selectChannel(n0.channel),f.channelSelector.value=n0.channel)}),r.synth.eventHandler.addEvent("mutechannel","settings-keuboard-mute-channel",n0=>{if(n0.isMuted&&n0.channel===o.channel){let E0=0;for(;r.synth.channelProperties[E0].isMuted;)E0++;E0{if(this.musicMode.visible){this.musicMode.setVisibility(!1,document.getElementById("keyboard_canvas_wrapper")),setTimeout(()=>{o.toggleMode(),this._saveSettings()},600);return}o.toggleMode(),this._saveSettings()},f.showSelector.onclick=()=>{o.shown=!o.shown,this._saveSettings()}}var ew=`

@@ -205,11 +205,11 @@ var EC=(o=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(o,{get:(r,l)=>(
-`;function Dn(o){return o.parentElement.nextElementSibling}function tw(o){let r=o.getElementsByTagName("spessarange");for(let l of r)l.parentElement.insertBefore(JB(l,!0),l);for(;r.length>0;)r[0].parentNode.removeChild(r[0])}function JB(o,r=!0){let l=document.createElement("div");l.classList.add("settings_slider_wrapper");let g=o.getAttribute("min"),f=o.getAttribute("max"),v=o.getAttribute("value"),n0=o.getAttribute("units"),E0=o.getAttribute("input_id"),m0=document.createElement("input");m0.classList.add("settings_slider"),m0.type="range",m0.id=E0,m0.min=g,m0.max=f,m0.value=v;let c0;r&&(c0=document.createElement("span"),c0.textContent=v+n0);let u1=document.createElement("div");u1.classList.add("settings_visual_wrapper");let F=document.createElement("div");F.classList.add("settings_slider_progress"),u1.appendChild(F);let q0=document.createElement("div");return q0.classList.add("settings_slider_thumb"),u1.appendChild(q0),u1.appendChild(m0),m0.addEventListener("input",()=>{let L0=parseInt(u1.style.getPropertyValue("--visual-width").replace("%","")),R1=Math.round((m0.value-m0.min)/(m0.max-m0.min)*100);Math.abs((L0-R1)/100)>.05?u1.classList.add("settings_slider_transition"):u1.classList.remove("settings_slider_transition"),u1.style.setProperty("--visual-width",`${R1}%`)}),u1.style.setProperty("--visual-width",`${(m0.value-m0.min)/(m0.max-m0.min)*100}%`),l.appendChild(u1),r&&l.appendChild(c0),l}async function iw(){let o=await window.savedSettings;if(!o.interface)return;Y5("Loading saved settings...",o);let r=this.htmlControls.renderer,l=this.renderer,g=o.renderer;l.noteFallingTimeMs=g.noteFallingTimeMs,r.noteTimeSlider.value=g.noteFallingTimeMs,r.noteTimeSlider.dispatchEvent(new Event("input")),Dn(r.noteTimeSlider).innerText=`${g.noteFallingTimeMs}ms`,r.analyserThicknessSlider.value=g.waveformThickness,r.analyserThicknessSlider.dispatchEvent(new Event("input")),l.lineThickness=g.waveformThickness,Dn(r.analyserThicknessSlider).innerText=`${g.waveformThickness}px`;let f=g.sampleSize;r.analyserFftSlider.value=Math.log2(f),r.analyserFftSlider.dispatchEvent(new Event("input")),l.normalAnalyserFft=f,l.drumAnalyserFft=Math.pow(2,Math.min(15,Math.log2(f)+2)),l.updateFftSize(),Dn(r.analyserFftSlider).innerText=`${f}`,l.waveMultiplier=g.amplifier,r.waveMultiplierSlizer.value=g.amplifier,r.waveMultiplierSlizer.dispatchEvent(new Event("input")),Dn(r.waveMultiplierSlizer).innerText=g.amplifier.toString();let v=this.htmlControls.renderer;l.renderAnalysers=g.renderWaveforms,v.analyserToggler.checked=g.renderWaveforms,l.renderNotes=g.renderNotes,v.noteToggler.checked=g.renderNotes,l.drawActiveNotes=g.drawActiveNotes,v.activeNoteToggler.checked=g.drawActiveNotes,l.showVisualPitch=g.showVisualPitch,v.visualPitchToggler.checked=g.showVisualPitch,l.stabilizeWaveforms=g.stabilizeWaveforms,v.stabilizeWaveformsToggler.checked=g.stabilizeWaveforms,l.keyRange=g.keyRange;let n0=this.htmlControls.keyboard,E0=this.midiKeyboard,m0=o.keyboard;E0.setKeyRange(m0.keyRange,!1),m0.autoRange?(n0.sizeSelector.value=TA,this.autoKeyRange=!0):(this.autoKeyRange=!1,n0.sizeSelector.value=Object.keys(this.keyboardSizes).find(c0=>this.keyboardSizes[c0].min===m0.keyRange.min&&this.keyboardSizes[c0].max===m0.keyRange.max)),m0.mode==="dark"&&(E0.toggleMode(!1),this.htmlControls.keyboard.modeSelector.checked=!0),m0.show===!1&&(E0.shown=!1,this.htmlControls.keyboard.showSelector.checked=!1),this.locale.changeGlobalLocale(o.interface.language,!0),setTimeout(()=>{this.htmlControls.interface.languageSelector.value=o.interface.language},100),o.interface.mode==="light"?(this._toggleDarkMode(),this.htmlControls.interface.themeSelector.checked=!1):this.htmlControls.interface.themeSelector.checked=!0,this.htmlControls.interface.layoutSelector.value=o.interface.layout||"downwards",this._changeLayout(o.interface.layout||"downwards")}function rw(){window.saveSettings&&window.saveSettings(this._serializeSettings())}function nw(){return{renderer:{noteFallingTimeMs:this.renderer.noteFallingTimeMs,waveformThickness:this.renderer.lineThickness,sampleSize:this.renderer.normalAnalyserFft,amplifier:this.renderer.waveMultiplier,renderWaveforms:this.renderer.renderAnalysers,renderNotes:this.renderer.renderNotes,drawActiveNotes:this.renderer.drawActiveNotes,showVisualPitch:this.renderer.showVisualPitch,stabilizeWaveforms:this.renderer.stabilizeWaveforms,keyRange:this.renderer.keyRange},keyboard:{selectedChannel:this.midiKeyboard.channel,keyRange:this.midiKeyboard.keyRange,mode:this.midiKeyboard.mode,autoRange:this.htmlControls.keyboard.sizeSelector.value===TA,show:this.htmlControls.keyboard.showSelector.checked===!0},midi:{input:this.midiDeviceHandler.selectedInput===null?null:this.midiDeviceHandler.selectedInput.name,output:this.midiDeviceHandler.selectedOutput===null?null:this.midiDeviceHandler.selectedOutput.name},interface:{mode:this.mode,language:this.htmlControls.interface.languageSelector.value,layout:this.htmlControls.interface.layoutSelector.value}}}function sw(){let o=this.htmlControls.interface.themeSelector;o.onclick=()=>{this._toggleDarkMode(),this._saveSettings()};let r=this.htmlControls.interface.languageSelector;for(let[g,f]of Object.entries(this.locales)){let v=document.createElement("option");v.value=g,v.textContent=f.localeName,r.appendChild(v)}r.onchange=()=>{this.locale.changeGlobalLocale(r.value),this._saveSettings()};let l=this.htmlControls.interface.layoutSelector;l.onchange=()=>{this._changeLayout(l.value),this._saveSettings(),l.blur()}}function ow(o){let r=document.getElementById("keyboard_canvas_wrapper"),l=document.getElementById("note_canvas"),g=document.getElementById("keyboard");switch(o){case"downwards":r.classList.remove("upwards"),r.classList.remove("left_to_right"),r.classList.remove("right_to_left"),l.classList.remove("sideways"),g.classList.remove("sideways"),this.renderer.direction="down",this.renderer.sideways=!1;break;case"upwards":r.classList.add("upwards"),r.classList.remove("left_to_right"),r.classList.remove("right_to_left"),l.classList.remove("sideways"),g.classList.remove("sideways"),this.renderer.direction="up",this.renderer.sideways=!1;break;case"left":r.classList.remove("upwards"),r.classList.add("left_to_right"),r.classList.remove("right_to_left"),l.classList.add("sideways"),g.classList.add("sideways"),this.renderer.direction="up",this.renderer.sideways=!0;break;case"right":r.classList.remove("upwards"),r.classList.remove("left_to_right"),r.classList.add("right_to_left"),l.classList.add("sideways"),g.classList.add("sideways"),this.renderer.direction="down",this.renderer.sideways=!0}}var MC={start:"#101010",end:"#212121"},TC={start:"#bbb",end:"#f0f0f0"},Aw="#eee",aw="#333",NC={start:"#222",end:"#333"},GC={start:"#ccc",end:"#fff"},_n=.2;function $w(){this.mode==="dark"?(this.mode="light",this.renderer.drawActiveNotes=!1):(this.renderer.drawActiveNotes=!0,this.mode="dark"),this.renderer.toggleDarkMode(),this.synthui.toggleDarkMode(),this.sequi.toggleDarkMode(),this.musicMode.toggleDarkMode(),document.getElementsByClassName("spessasynth_main")[0].classList.toggle("light_mode"),document.getElementsByClassName("top_part")[0].classList.toggle("top_part_light"),this.mainDiv.classList.toggle("settings_menu_light");let o=document.styleSheets[0].cssRules;for(let r of o)if(r.selectorText==="*"){this.mode==="dark"?(xn(aw,Aw,_n,r,"--font-color"),xn(GC.start,NC.start,_n,r,"--top-buttons-color-start"),xn(GC.end,NC.end,_n,r,"--top-buttons-color-end"),xn(TC.start,MC.start,_n,r,"--top-color-start"),xn(TC.end,MC.end,_n,r,"--top-color-end")):(xn(Aw,aw,_n,r,"--font-color"),xn(NC.start,GC.start,_n,r,"--top-buttons-color-start"),xn(NC.end,GC.end,_n,r,"--top-buttons-color-end"),xn(MC.start,TC.start,_n,r,"--top-color-start"),xn(MC.end,TC.end,_n,r,"--top-color-end"));break}document.body.style.background=this.mode==="dark"?"black":"white"}var dh={};function xn(o,r,l,g,f){dh[f]&&(clearInterval(dh[f]),dh[f]=void 0);function v(F){F.length===4&&(F=`#${F[1]}${F[1]}${F[2]}${F[2]}${F[3]}${F[3]}`);let q0=parseInt(F.slice(1),16);return{r:q0>>16&255,g:q0>>8&255,b:q0&255}}function n0(F,q0,L0){return F+(q0-F)*L0}let E0=v(o),m0=v(r),c0=performance.now()/1e3;function u1(){let q0=performance.now()/1e3-c0,L0=Math.min(q0/l,1),R1=Math.round(n0(E0.r,m0.r,L0)),t2=Math.round(n0(E0.g,m0.g,L0)),y1=Math.round(n0(E0.b,m0.b,L0));g.style.setProperty(f,`rgb(${R1}, ${t2}, ${y1})`),L0>=1&&(clearInterval(dh[f]),dh[f]=void 0)}dh[f]=setInterval(u1,1e3/60)}function lw(o){let r=this.htmlControls.renderer;r.noteTimeSlider.addEventListener("input",()=>{o.noteFallingTimeMs=r.noteTimeSlider.value,Dn(r.noteTimeSlider).innerText=`${r.noteTimeSlider.value}ms`}),r.noteTimeSlider.onchange=()=>{this._saveSettings()},r.analyserThicknessSlider.addEventListener("input",()=>{o.lineThickness=parseInt(r.analyserThicknessSlider.value),Dn(r.analyserThicknessSlider).innerText=`${r.analyserThicknessSlider.value}px`}),r.analyserThicknessSlider.onchange=()=>{this._saveSettings()},r.analyserFftSlider.addEventListener("input",()=>{let l=Math.pow(2,parseInt(r.analyserFftSlider.value));o.normalAnalyserFft=l,o.drumAnalyserFft=Math.pow(2,Math.min(15,parseInt(r.analyserFftSlider.value)+2)),o.updateFftSize(),Dn(r.analyserFftSlider).innerText=`${l}`}),r.analyserFftSlider.onchange=()=>{this._saveSettings()},r.waveMultiplierSlizer.addEventListener("input",()=>{o.waveMultiplier=parseInt(r.waveMultiplierSlizer.value),Dn(r.waveMultiplierSlizer).innerText=r.waveMultiplierSlizer.value}),r.waveMultiplierSlizer.onchange=()=>{this._saveSettings()},r.analyserToggler.onclick=()=>{o.renderAnalysers=!o.renderAnalysers,this._saveSettings()},r.noteToggler.onclick=()=>{o.renderNotes=!o.renderNotes,this._saveSettings()},r.activeNoteToggler.onclick=()=>{o.drawActiveNotes=!o.drawActiveNotes,this._saveSettings()},r.visualPitchToggler.onclick=()=>{o.showVisualPitch=!o.showVisualPitch,this._saveSettings()},r.stabilizeWaveformsToggler.onclick=()=>{o.stabilizeWaveforms=!o.stabilizeWaveforms,this._saveSettings()}}function NA(o,r,l){if(r.textContent&&(o.textContent=r.textContent),r.translatePathTitle){if(!l)throw new Error("Translate path title provided but no locale provided.");l.bindObjectProperty(o,"textContent",r.translatePathTitle+".title"),l.bindObjectProperty(o,"title",r.translatePathTitle+".description")}}function cw(o,r){switch(o.type){case"button":let l=document.createElement("button");return NA(l,o,r),w$(o,[l]),l;case"text":let g=document.createElement("p");return NA(g,o,r),w$(o,[g]),g;case"input":let f=document.createElement("div");f.classList.add("notification_input_wrapper");let v=document.createElement("input");NA(v,o,r),v.addEventListener("keydown",Y2=>Y2.stopPropagation());let n0=document.createElement("label");return NA(n0,o,r),w$(o,[v,n0]),f.append(n0),f.appendChild(v),f;case"file":let E0=document.createElement("label");E0.classList.add("notification_input_wrapper");let m0=document.createElement("input");m0.type="file";let c0=document.createElement("label");c0.classList.add("notification_file_button"),NA(c0,o,r);let u1=document.createElement("label");return NA(u1,o,r),w$(o,[c0,m0,u1]),c0.appendChild(m0),E0.append(u1),E0.appendChild(c0),E0;case"progress":let F=document.createElement("div");F.classList.add("notification_progress_background");let q0=document.createElement("div");return q0.classList.add("notification_progress"),w$(o,[q0,F]),F.appendChild(q0),F;case"toggle":return nD(o,r);case"range":let L0=document.createElement("input");L0.type="range";let R1=document.createElement("label");w$(o,[L0,R1]),NA(R1,o,r);let t2=JB(L0,!1),y1=document.createElement("div");return y1.classList.add("notification_slider_wrapper"),y1.appendChild(R1),y1.appendChild(t2),y1}}function w$(o,r){if(o.attributes)for(let[l,g]of Object.entries(o.attributes))for(let f of r)f.setAttribute(l,g)}function nD(o,r){let l=document.createElement("label");l.classList.add("notification_switch_wrapper");let g=document.createElement("label");NA(g,o,r);let f=document.createElement("input");f.type="checkbox",w$(o,[g,f]);let v=document.createElement("div");v.classList.add("notification_switch"),v.appendChild(f);let n0=document.createElement("div");return n0.classList.add("notification_switch_slider"),v.appendChild(n0),l.appendChild(g),l.appendChild(v),l}var sD=13,oD=0,UC={};function mt(o,r,l=sD,g=!0,f=void 0,v=void 0){let n0=document.createElement("div"),E0=oD++;n0.classList.add("notification"),n0.innerHTML=` +`;function Dn(o){return o.parentElement.nextElementSibling}function tw(o){let r=o.getElementsByTagName("spessarange");for(let l of r)l.parentElement.insertBefore(JB(l,!0),l);for(;r.length>0;)r[0].parentNode.removeChild(r[0])}function JB(o,r=!0){let l=document.createElement("div");l.classList.add("settings_slider_wrapper");let g=o.getAttribute("min"),f=o.getAttribute("max"),S=o.getAttribute("value"),n0=o.getAttribute("units"),E0=o.getAttribute("input_id"),m0=document.createElement("input");m0.classList.add("settings_slider"),m0.type="range",m0.id=E0,m0.min=g,m0.max=f,m0.value=S;let g0;r&&(g0=document.createElement("span"),g0.textContent=S+n0);let f1=document.createElement("div");f1.classList.add("settings_visual_wrapper");let x=document.createElement("div");x.classList.add("settings_slider_progress"),f1.appendChild(x);let X0=document.createElement("div");return X0.classList.add("settings_slider_thumb"),f1.appendChild(X0),f1.appendChild(m0),m0.addEventListener("input",()=>{let F0=parseInt(f1.style.getPropertyValue("--visual-width").replace("%","")),b1=Math.round((m0.value-m0.min)/(m0.max-m0.min)*100);Math.abs((F0-b1)/100)>.05?f1.classList.add("settings_slider_transition"):f1.classList.remove("settings_slider_transition"),f1.style.setProperty("--visual-width",`${b1}%`)}),f1.style.setProperty("--visual-width",`${(m0.value-m0.min)/(m0.max-m0.min)*100}%`),l.appendChild(f1),r&&l.appendChild(g0),l}async function iw(){let o=await window.savedSettings;if(!o.interface)return;Y5("Loading saved settings...",o);let r=this.htmlControls.renderer,l=this.renderer,g=o.renderer;l.noteFallingTimeMs=g.noteFallingTimeMs,r.noteTimeSlider.value=g.noteFallingTimeMs,r.noteTimeSlider.dispatchEvent(new Event("input")),Dn(r.noteTimeSlider).innerText=`${g.noteFallingTimeMs}ms`,r.analyserThicknessSlider.value=g.waveformThickness,r.analyserThicknessSlider.dispatchEvent(new Event("input")),l.lineThickness=g.waveformThickness,Dn(r.analyserThicknessSlider).innerText=`${g.waveformThickness}px`;let f=g.sampleSize;r.analyserFftSlider.value=Math.log2(f),r.analyserFftSlider.dispatchEvent(new Event("input")),l.normalAnalyserFft=f,l.drumAnalyserFft=Math.pow(2,Math.min(15,Math.log2(f)+2)),l.updateFftSize(),Dn(r.analyserFftSlider).innerText=`${f}`,l.waveMultiplier=g.amplifier,r.waveMultiplierSlizer.value=g.amplifier,r.waveMultiplierSlizer.dispatchEvent(new Event("input")),Dn(r.waveMultiplierSlizer).innerText=g.amplifier.toString();let S=this.htmlControls.renderer;l.renderAnalysers=g.renderWaveforms,S.analyserToggler.checked=g.renderWaveforms,l.renderNotes=g.renderNotes,S.noteToggler.checked=g.renderNotes,l.drawActiveNotes=g.drawActiveNotes,S.activeNoteToggler.checked=g.drawActiveNotes,l.showVisualPitch=g.showVisualPitch,S.visualPitchToggler.checked=g.showVisualPitch,l.stabilizeWaveforms=g.stabilizeWaveforms,S.stabilizeWaveformsToggler.checked=g.stabilizeWaveforms,l.keyRange=g.keyRange;let n0=this.htmlControls.keyboard,E0=this.midiKeyboard,m0=o.keyboard;E0.setKeyRange(m0.keyRange,!1),m0.autoRange?(n0.sizeSelector.value=TA,this.autoKeyRange=!0):(this.autoKeyRange=!1,n0.sizeSelector.value=Object.keys(this.keyboardSizes).find(g0=>this.keyboardSizes[g0].min===m0.keyRange.min&&this.keyboardSizes[g0].max===m0.keyRange.max)),m0.mode==="dark"&&(E0.toggleMode(!1),this.htmlControls.keyboard.modeSelector.checked=!0),m0.show===!1&&(E0.shown=!1,this.htmlControls.keyboard.showSelector.checked=!1),this.locale.changeGlobalLocale(o.interface.language,!0),setTimeout(()=>{this.htmlControls.interface.languageSelector.value=o.interface.language},100),o.interface.mode==="light"?(this._toggleDarkMode(),this.htmlControls.interface.themeSelector.checked=!1):this.htmlControls.interface.themeSelector.checked=!0,this.htmlControls.interface.layoutSelector.value=o.interface.layout||"downwards",this._changeLayout(o.interface.layout||"downwards")}function rw(){window.saveSettings&&window.saveSettings(this._serializeSettings())}function nw(){return{renderer:{noteFallingTimeMs:this.renderer.noteFallingTimeMs,waveformThickness:this.renderer.lineThickness,sampleSize:this.renderer.normalAnalyserFft,amplifier:this.renderer.waveMultiplier,renderWaveforms:this.renderer.renderAnalysers,renderNotes:this.renderer.renderNotes,drawActiveNotes:this.renderer.drawActiveNotes,showVisualPitch:this.renderer.showVisualPitch,stabilizeWaveforms:this.renderer.stabilizeWaveforms,keyRange:this.renderer.keyRange},keyboard:{selectedChannel:this.midiKeyboard.channel,keyRange:this.midiKeyboard.keyRange,mode:this.midiKeyboard.mode,autoRange:this.htmlControls.keyboard.sizeSelector.value===TA,show:this.htmlControls.keyboard.showSelector.checked===!0},midi:{input:this.midiDeviceHandler.selectedInput===null?null:this.midiDeviceHandler.selectedInput.name,output:this.midiDeviceHandler.selectedOutput===null?null:this.midiDeviceHandler.selectedOutput.name},interface:{mode:this.mode,language:this.htmlControls.interface.languageSelector.value,layout:this.htmlControls.interface.layoutSelector.value}}}function sw(){let o=this.htmlControls.interface.themeSelector;o.onclick=()=>{this._toggleDarkMode(),this._saveSettings()};let r=this.htmlControls.interface.languageSelector;for(let[g,f]of Object.entries(this.locales)){let S=document.createElement("option");S.value=g,S.textContent=f.localeName,r.appendChild(S)}r.onchange=()=>{this.locale.changeGlobalLocale(r.value),this._saveSettings()};let l=this.htmlControls.interface.layoutSelector;l.onchange=()=>{this._changeLayout(l.value),this._saveSettings(),l.blur()}}function ow(o){let r=document.getElementById("keyboard_canvas_wrapper"),l=document.getElementById("note_canvas"),g=document.getElementById("keyboard");switch(o){case"downwards":r.classList.remove("upwards"),r.classList.remove("left_to_right"),r.classList.remove("right_to_left"),l.classList.remove("sideways"),g.classList.remove("sideways"),this.renderer.direction="down",this.renderer.sideways=!1;break;case"upwards":r.classList.add("upwards"),r.classList.remove("left_to_right"),r.classList.remove("right_to_left"),l.classList.remove("sideways"),g.classList.remove("sideways"),this.renderer.direction="up",this.renderer.sideways=!1;break;case"left":r.classList.remove("upwards"),r.classList.add("left_to_right"),r.classList.remove("right_to_left"),l.classList.add("sideways"),g.classList.add("sideways"),this.renderer.direction="up",this.renderer.sideways=!0;break;case"right":r.classList.remove("upwards"),r.classList.remove("left_to_right"),r.classList.add("right_to_left"),l.classList.add("sideways"),g.classList.add("sideways"),this.renderer.direction="down",this.renderer.sideways=!0}}var MC={start:"#101010",end:"#212121"},TC={start:"#bbb",end:"#f0f0f0"},Aw="#eee",aw="#333",NC={start:"#222",end:"#333"},GC={start:"#ccc",end:"#fff"},_n=.2;function $w(){this.mode==="dark"?(this.mode="light",this.renderer.drawActiveNotes=!1):(this.renderer.drawActiveNotes=!0,this.mode="dark"),this.renderer.toggleDarkMode(),this.synthui.toggleDarkMode(),this.sequi.toggleDarkMode(),this.musicMode.toggleDarkMode(),document.getElementsByClassName("spessasynth_main")[0].classList.toggle("light_mode"),document.getElementsByClassName("top_part")[0].classList.toggle("top_part_light"),this.mainDiv.classList.toggle("settings_menu_light");let o=document.styleSheets[0].cssRules;for(let r of o)if(r.selectorText==="*"){this.mode==="dark"?(xn(aw,Aw,_n,r,"--font-color"),xn(GC.start,NC.start,_n,r,"--top-buttons-color-start"),xn(GC.end,NC.end,_n,r,"--top-buttons-color-end"),xn(TC.start,MC.start,_n,r,"--top-color-start"),xn(TC.end,MC.end,_n,r,"--top-color-end")):(xn(Aw,aw,_n,r,"--font-color"),xn(NC.start,GC.start,_n,r,"--top-buttons-color-start"),xn(NC.end,GC.end,_n,r,"--top-buttons-color-end"),xn(MC.start,TC.start,_n,r,"--top-color-start"),xn(MC.end,TC.end,_n,r,"--top-color-end"));break}document.body.style.background=this.mode==="dark"?"black":"white"}var dh={};function xn(o,r,l,g,f){dh[f]&&(clearInterval(dh[f]),dh[f]=void 0);function S(x){x.length===4&&(x=`#${x[1]}${x[1]}${x[2]}${x[2]}${x[3]}${x[3]}`);let X0=parseInt(x.slice(1),16);return{r:X0>>16&255,g:X0>>8&255,b:X0&255}}function n0(x,X0,F0){return x+(X0-x)*F0}let E0=S(o),m0=S(r),g0=performance.now()/1e3;function f1(){let X0=performance.now()/1e3-g0,F0=Math.min(X0/l,1),b1=Math.round(n0(E0.r,m0.r,F0)),l2=Math.round(n0(E0.g,m0.g,F0)),y1=Math.round(n0(E0.b,m0.b,F0));g.style.setProperty(f,`rgb(${b1}, ${l2}, ${y1})`),F0>=1&&(clearInterval(dh[f]),dh[f]=void 0)}dh[f]=setInterval(f1,1e3/60)}function lw(o){let r=this.htmlControls.renderer;r.noteTimeSlider.addEventListener("input",()=>{o.noteFallingTimeMs=r.noteTimeSlider.value,Dn(r.noteTimeSlider).innerText=`${r.noteTimeSlider.value}ms`}),r.noteTimeSlider.onchange=()=>{this._saveSettings()},r.analyserThicknessSlider.addEventListener("input",()=>{o.lineThickness=parseInt(r.analyserThicknessSlider.value),Dn(r.analyserThicknessSlider).innerText=`${r.analyserThicknessSlider.value}px`}),r.analyserThicknessSlider.onchange=()=>{this._saveSettings()},r.analyserFftSlider.addEventListener("input",()=>{let l=Math.pow(2,parseInt(r.analyserFftSlider.value));o.normalAnalyserFft=l,o.drumAnalyserFft=Math.pow(2,Math.min(15,parseInt(r.analyserFftSlider.value)+2)),o.updateFftSize(),Dn(r.analyserFftSlider).innerText=`${l}`}),r.analyserFftSlider.onchange=()=>{this._saveSettings()},r.waveMultiplierSlizer.addEventListener("input",()=>{o.waveMultiplier=parseInt(r.waveMultiplierSlizer.value),Dn(r.waveMultiplierSlizer).innerText=r.waveMultiplierSlizer.value}),r.waveMultiplierSlizer.onchange=()=>{this._saveSettings()},r.analyserToggler.onclick=()=>{o.renderAnalysers=!o.renderAnalysers,this._saveSettings()},r.noteToggler.onclick=()=>{o.renderNotes=!o.renderNotes,this._saveSettings()},r.activeNoteToggler.onclick=()=>{o.drawActiveNotes=!o.drawActiveNotes,this._saveSettings()},r.visualPitchToggler.onclick=()=>{o.showVisualPitch=!o.showVisualPitch,this._saveSettings()},r.stabilizeWaveformsToggler.onclick=()=>{o.stabilizeWaveforms=!o.stabilizeWaveforms,this._saveSettings()}}function NA(o,r,l){if(r.textContent&&(o.textContent=r.textContent),r.translatePathTitle){if(!l)throw new Error("Translate path title provided but no locale provided.");l.bindObjectProperty(o,"textContent",r.translatePathTitle+".title"),l.bindObjectProperty(o,"title",r.translatePathTitle+".description")}}function cw(o,r){switch(o.type){case"button":let l=document.createElement("button");return NA(l,o,r),w$(o,[l]),l;case"text":let g=document.createElement("p");return NA(g,o,r),w$(o,[g]),g;case"input":let f=document.createElement("div");f.classList.add("notification_input_wrapper");let S=document.createElement("input");NA(S,o,r),S.addEventListener("keydown",Y2=>Y2.stopPropagation());let n0=document.createElement("label");return NA(n0,o,r),w$(o,[S,n0]),f.append(n0),f.appendChild(S),f;case"file":let E0=document.createElement("label");E0.classList.add("notification_input_wrapper");let m0=document.createElement("input");m0.type="file";let g0=document.createElement("label");g0.classList.add("notification_file_button"),NA(g0,o,r);let f1=document.createElement("label");return NA(f1,o,r),w$(o,[g0,m0,f1]),g0.appendChild(m0),E0.append(f1),E0.appendChild(g0),E0;case"progress":let x=document.createElement("div");x.classList.add("notification_progress_background");let X0=document.createElement("div");return X0.classList.add("notification_progress"),w$(o,[X0,x]),x.appendChild(X0),x;case"toggle":return nD(o,r);case"range":let F0=document.createElement("input");F0.type="range";let b1=document.createElement("label");w$(o,[F0,b1]),NA(b1,o,r);let l2=JB(F0,!1),y1=document.createElement("div");return y1.classList.add("notification_slider_wrapper"),y1.appendChild(b1),y1.appendChild(l2),y1}}function w$(o,r){if(o.attributes)for(let[l,g]of Object.entries(o.attributes))for(let f of r)f.setAttribute(l,g)}function nD(o,r){let l=document.createElement("label");l.classList.add("notification_switch_wrapper");let g=document.createElement("label");NA(g,o,r);let f=document.createElement("input");f.type="checkbox",w$(o,[g,f]);let S=document.createElement("div");S.classList.add("notification_switch"),S.appendChild(f);let n0=document.createElement("div");return n0.classList.add("notification_switch_slider"),S.appendChild(n0),l.appendChild(g),l.appendChild(S),l}var sD=13,oD=0,UC={};function mt(o,r,l=sD,g=!0,f=void 0,S=void 0){let n0=document.createElement("div"),E0=oD++;n0.classList.add("notification"),n0.innerHTML=`

${o}

\xD7 -
`;let m0=document.createElement("div");if(m0.classList.add("notification_content"),v)for(let[u1,F]of Object.entries(v))m0.style[u1]=F;n0.appendChild(m0);for(let u1 of r){let F=cw(u1,f);u1.onClick&&(F.onclick=()=>u1.onClick({div:n0,id:E0},F)),m0.appendChild(F)}g?n0.getElementsByClassName("close_btn")[0].onclick=()=>{Ot(E0)}:n0.getElementsByClassName("close_btn")[0].style.display="none",setTimeout(()=>{n0.classList.add("drop")},75);let c0=setTimeout(()=>{Ot(E0)},l*1e3+75);return document.getElementsByClassName("notification_field")[0].appendChild(n0),UC[E0]={div:n0,timeout:c0},{div:n0,id:E0}}function Ot(o){let r=UC[o].div;clearTimeout(UC[o].timeout),r.classList.remove("drop"),setTimeout(()=>r.parentElement.removeChild(r),500),UC[o]=void 0}function gw(o,r,l){o.createMIDIDeviceHandler().then(g=>{g?(this._createMidiInputHandler(o,l.synth),this._createMidiOutputHandler(o,r)):(bn||mt(this.locale.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:this.locale.getLocaleString("locale.warnings.noMidiSupport")}]),document.getElementById("midi_settings").style.display="none")})}function hw(o,r){if(o.inputs.length<1)return;let l=this.htmlControls.midi.inputSelector;for(let g of o.inputs){let f=document.createElement("option");f.value=g[0],f.innerText=g[1].name,l.appendChild(f)}l.onchange=()=>{l.value==="-1"?o.disconnectAllDevicesFromSynth():o.connectDeviceToSynth(o.inputs.get(l.value),r),this._saveSettings()}}function uw(o,r){if(!o.outputs){setTimeout(()=>{this._createMidiOutputHandler(o,r)},1e3);return}if(o.outputs.length<1)return;let l=this.htmlControls.midi.outputSelector;for(let g of o.outputs){let f=document.createElement("option");f.value=g[0],f.innerText=g[1].name,l.appendChild(f)}l.onchange=()=>{r.seq&&(l.value==="-1"?o.disconnectSeqFromMIDI(r.seq):o.connectMIDIOutputToSeq(o.outputs.get(l.value),r.seq),this._saveSettings())}}var fw={title:"Renderer settings",noteFallingTime:{title:"Note falling time (miliseconds)",description:"How fast the notes fall (visually)"},waveformThickness:{title:"Waveform line thickness (px)",description:"How thick the waveform lines are"},waveformSampleSize:{title:"Waveform sample size",description:"How detailed the waveforms are (Note: high values might impact performance)"},waveformAmplifier:{title:"Waveform amplifier",description:"How vibrant the waveforms are"},toggleWaveformsRendering:{title:"Enable waveforms rendering",description:"Enable rendering the channel waveforms (colorful lines showing audio)"},toggleNotesRendering:{title:"Enable notes rendering",description:"Enable rendering of the falling notes when playing a MIDI file"},toggleDrawingActiveNotes:{title:"Enable drawing active notes",description:"Enable notes lighting up and glowing when they get pressed"},toggleDrawingVisualPitch:{title:"Enable drawing visual pitch",description:"Enable notes sliding left or right when the pitch wheel is applied"},toggleStabilizeWaveforms:{title:"Stabilize waveforms",description:"Enable oscilloscope triggering"}};var dw={title:"MIDI Keyboard settings",selectedChannel:{title:"Selected channel",description:"The channel keyboard sends messages to",channelOption:"Channel {0}"},keyboardSize:{title:"Keyboard size",description:"The range of keys shown on the keyboard. Adjusts the MIDI note size accordingly",full:"128 keys (full)",piano:"88 keys (piano)",fiveOctaves:"5 octaves",useSongKeyRange:"Use song's key range",twoOctaves:"Two octaves"},toggleTheme:{title:"Use dark theme",description:"Use the dark MIDI keyboard theme"},show:{title:"Show",description:"Show/hide MIDI keyboard"}};var Iw={title:"MIDI settings",midiInput:{title:"MIDI input",description:"The port to listen on for MIDI messages",disabled:"Disabled"},midiOutput:{title:"MIDI output",description:"The port to play the MIDI file to",disabled:"Use SpessaSynth"}};var Ew={toggleButton:"Settings",mainTitle:"Program settings",rendererSettings:fw,keyboardSettings:dw,midiSettings:Iw,interfaceSettings:{title:"Interface settings",toggleTheme:{title:"Use dark theme",description:"Enable the dark theme for the interface"},selectLanguage:{title:"Language",description:"Change the program language"},layoutDirection:{title:"Layout direction",description:"The layout direction of the renderer and keyboard",values:{downwards:"Downwards",upwards:"Upwards",leftToRight:"Left to right",rightToLeft:"Right to left"}}}};var mw={toggleButton:{title:"Toggle music player mode",description:"Toggle the simplified UI version, hiding the keyboard and note visualizations"},currentlyPlaying:"Currently playing:",nothingPlaying:"Nothing is playing",nothingPlayingCopyright:"Upload a MIDI!"};var Cw={voiceMeter:{title:"Voices: ",description:"The current amount of voices playing on channel {0}"},pitchBendMeter:{title:"Pitch: ",description:"The current pitch bend applied to channel {0}"},panMeter:{title:"Pan: ",description:"The current stereo panning applied to channel {0} (right-click to lock)"},expressionMeter:{title:"Expression: ",description:"The current expression (loudness) of channel {0} (right-click to lock)"},volumeMeter:{title:"Volume: ",description:"The current volume of channel {0} (right-click to lock)"},modulationWheelMeter:{title:"Mod wheel: ",description:"The current modulation (usually vibrato) depth of channel {0} (right-click to lock)"},chorusMeter:{title:"Chorus: ",description:"The current level of chorus effect applied to channel {0} (right-click to lock)"},reverbMeter:{title:"Reverb: ",description:"The current level of reverb effect applied to channel {0} (right-click to lock)"},filterMeter:{title:"Filter: ",description:"The current level of low-pass filter cutoff applied to channel {0} (right-click to lock)"},transposeMeter:{title:"Transpose: ",description:"The current transposition (key shift) of channel {0}"},presetSelector:{description:"Change the patch (instrument) channel {0} is using",selectionPrompt:"Change instrument for channel {0}",searchPrompt:"Search..."},presetReset:{description:"Unlock channel {0} to allow program changes"},soloButton:{description:"Solo on channel {0}"},muteButton:{description:"Mute/unmute channel {0}"},drumToggleButton:{description:"Toggle drums on channel {0}"}};var Bw={toggleButton:{title:"Synthesizer controller",description:"Show the synthesizer controller"},mainVoiceMeter:{title:"Voices: ",description:"The total amount of voices currently playing"},mainVolumeMeter:{title:"Volume: ",description:"The current master volume of the synthesizer"},mainPanMeter:{title:"Pan: ",description:"The current master stereo panning of the synthesizer"},mainTransposeMeter:{title:"Transpose: ",description:"Transposes the synthesizer (in semitones or keys)"},midiPanic:{title:"MIDI Panic",description:"Stops all voices immediately"},systemReset:{title:"System reset",description:"Resets all controllers to their default values"},blackMidiMode:{title:"Black MIDI mode",description:"Toggles the High Performance Mode, simplifying the look and killing the notes faster"},disableCustomVibrato:{title:"Disable custom vibrato",description:"Disables the custom (NRPN) Vibrato permamently. Reload the website to reenable it"},helpButton:{title:"Help",description:"Opens an external website with the usage guide"},interpolation:{description:"Select the synthesizer's interpolation method",linear:"Linear Interpolation",nearestNeighbor:"Nearest neighbor",cubic:"Cubic Interpolation"},channelController:Cw};var pw={previousSong:"Previous song",nextSong:"Next song",loopThis:"Loop this song",playPause:"Play/pause",lyrics:{show:"Show lyrics",title:"Decoded text",noLyrics:"No lyrics available...",otherText:{title:"Other text"}}};var Qw={button:{title:"Save Audio",description:"Save the composition to various formats"},formats:{title:"Choose format",formats:{wav:{button:{title:"WAV audio (.wav)",description:"Export the song with modifications as a .wav audio file"},options:{title:"WAV export options",confirm:"Export",normalizeVolume:{title:"Normalize volume",description:"Keep the volume at the same level, no matter how loud or quiet the MIDI is. Recommended."},additionalTime:{title:"Additional time (s)",description:"Additional time at the end of the song to allow for the sound to fade. (seconds)"},separateChannels:{title:"Separate channels",description:"Save each channel as a separate file. Useful for things like oscilloscope viewers. Note that this disables reverb and chorus.",saving:{title:"Channel files",save:"Save channel {0}"}},loopCount:{title:"Loop count",description:"The amount of times to loop the song"}},exportMessage:{message:"Exporting WAV audio...",estimated:"Remaining:",convertWav:"Converting to wav..."}},midi:{button:{title:"MIDI (.mid)",description:"Export the MIDI file with the controller and instrument changes applied"}},soundfont:{button:{title:"SoundFont (.sf2)",description:"Export a SoundFont2 file"},options:{title:"SF export options",confirm:"Export",trim:{title:"Trim",description:"Export the soundfont trimmed to only use instruments and samples that the MIDI file uses"},compress:{title:"Compress",description:"Compress samples with lossy Ogg Vorbis compression if uncompressed. Significantly reduces the file size.If the soundfont was already compressed, it won't be uncompressed even if this option is disabled"},quality:{title:"Compression quality",description:"The quality of compression. Higher is better"}}},rmidi:{button:{title:"Embedded MIDI (.rmi)",description:"Export the modified MIDI with the embedded trimmed soundfont as a single file. Note that this format isn't widely supported"},progress:{title:"Exporting embeded MIDI...",loading:"Loading Soundfont and MIDI...",modifyingMIDI:"Modifying MIDI...",modifyingSoundfont:"Trimming Soundfont...",saving:"Saving RMIDI...",done:"Done!"},options:{title:"RMIDI export options",confirm:"Export",compress:{title:"Compress",description:"Compress the Soundfont with lossy Ogg Vorbis compression. Significantly reduces the file size. Recommended."},quality:{title:"Compression quality",description:"The quality of compression. Higher is better."},bankOffset:{title:"Bank offset",description:"The bank offset of the file. Value of 0 is recommended. Only change if you know what you're doing."},adjust:{title:"Adjust MIDI",description:"Adjusts the MIDI file to the SoundFont. Leave this on unless you know what you're doing."}}}},metadata:{songTitle:{title:"Title:",description:"The song's title"},album:{title:"Album:",description:"The song's album"},artist:{title:"Artist:",description:"The song's artist"},albumCover:{title:"Album cover:",description:"The song's album cover"},creationDate:{title:"Created:",description:"The song's creation date"},genre:{title:"Genre:",description:"The song's genre"},comment:{title:"Comment:",description:"The song's comment"},duration:{title:"Duration:",description:"The song's duration"}}}};var yw={localeName:"English",titleMessage:"SpessaSynth: SoundFont2 Javascript Synthesizer",demoTitleMessage:"SpessaSynth: SoundFont2 Javascript Synthesizer Online Demo",synthInit:{genericLoading:"Loading...",loadingSoundfont:"Loading SoundFont...",loadingBundledSoundfont:"Loading bundled SoundFont...",startingSynthesizer:"Starting Synthesizer...",savingSoundfont:"Saving SoundFont for reuse...",noWebAudio:"Your browser does not support Web Audio.",done:"Ready!"},midiUploadButton:"Upload your MIDI files",exportAudio:Qw,yes:"Yes",no:"No",demoSoundfontUploadButton:"Upload the soundfont",demoGithubPage:"Project's page",demoSongButton:"Demo Song",credits:"Credits",dropPrompt:"Drop files here...",warnings:{outOfMemory:"Your browser ran out of memory. Consider using Firefox or SF3 soundfont instead. (see console for error).",noMidiSupport:"No MIDI ports detected, this functionality will be disabled.",chromeMobile:"SpessaSynth performs poorly on Chrome Mobile. Consider using Firefox Android instead.",warning:"Warning"},hideTopBar:{title:"Hide top bar",description:"Hide the top (title) bar to provide a more seamless experience"},convertDls:{title:"DLS Conversion",message:"Looks like you've uploaded a DLS file. Do you want to convert it to SF2?"},musicPlayerMode:mw,settings:Ew,synthesizerController:Bw,sequencerController:pw};var ww={title:"Ustawienia wizualizacji",noteFallingTime:{title:"Czas spadania nut (ms)",description:"Jak szybko spadaj\u0105 z g\xF3ry nuty (w milisekundach)"},waveformThickness:{title:"Grubo\u015B\u0107 lini fal (px)",description:"Jak grube s\u0105 linie fal d\u017Awi\u0119kowych"},waveformSampleSize:{title:"Rozmiar pr\xF3bki fali",description:"Jak szczeg\xF3\u0142owe s\u0105 linei fal d\u017Awi\u0119kowcyh (Uwaga: wysokie warto\u015Bci mog\u0105 pogorszy\u0107 wydajno\u015B\u0107)"},waveformAmplifier:{title:"Wzmacniasz fal",description:"Jak '\u017Cywe' s\u0105 fale. Kontroluje ich amplitud\u0119"},toggleWaveformsRendering:{title:"W\u0142\u0105cz rysowanie fal",description:"W\u0142\u0105cz rysowanie fal d\u017Awi\u0119kowych (16-tu kolorowych linii z ty\u0142u)"},toggleNotesRendering:{title:"W\u0142\u0105cz rysowanie nut",description:"W\u0142\u0105cz rysowanie spadaj\u0105cych nut podczas odtwarzania pliku MIDI"},toggleDrawingActiveNotes:{title:"W\u0142\u0105cz rysowanie aktywnych nut",description:"W\u0142\u0105cz efekt pod\u015Bwietlania si\u0119 nut przy aktywacji"},toggleDrawingVisualPitch:{title:"W\u0142\u0105cz wizualizacj\u0119 wysoko\u015Bci tonu",description:"W\u0142\u0105cz przesuwanie nut w lewo lub w prawo gdy wysoko\u015B\u0107 nut jest zmieniana"},toggleStabilizeWaveforms:{title:"W\u0142\u0105cz stabilizacj\u0119 fal",description:"W\u0142\u0105cz stabilizowanie fal d\u017Awi\u0119kowych"}};var kw={title:"Ustawienia pianina",selectedChannel:{title:"Wybrany kana\u0142",description:"Kana\u0142, do kt\xF3rego b\u0119dzie pod\u0142\u0105czone pianino",channelOption:"Kana\u0142 {0}"},keyboardSize:{title:"Rozmiar pianina",description:"Zakres klawiszy widocznych na pianine. Dostosowuje r\xF3wnie\u017C szeroko\u015B\u0107 wizualizowanych nut",full:"128 klawiszy (pe\u0142en zakres)",piano:"88 klawiszy (fortepian)",fiveOctaves:"5 oktaw",twoOctaves:"Dwie oktawy",useSongKeyRange:"U\u017Cyj zakresu utworu"},toggleTheme:{title:"W\u0142\u0105cz ciemny motyw",description:"W\u0142\u0105cz ciemny motyw wbudowanego pianina"},show:{title:"Poka\u017C",description:"Poka\u017C/ukryj pianino"}};var vw={title:"Ustawienia MIDI",midiInput:{title:"Wej\u015Bcie MIDI",description:"Port MIDI, kt\xF3ry b\u0119dzie nas\u0142uchiwany",disabled:"Wy\u0142\u0105czony"},midiOutput:{title:"Wyj\u015Bcie MIDI",description:"Port MIDI, do kt\xF3rego b\u0119dzie grany utw\xF3r",disabled:"U\u017Cyj SpessaSynth"}};var Sw={toggleButton:"Ustawienia",mainTitle:"Ustawienia programu",rendererSettings:ww,keyboardSettings:kw,midiSettings:vw,interfaceSettings:{title:"Ustawienia interfejsu",toggleTheme:{title:"W\u0142\u0105cz ciemny motyw",description:"W\u0142\u0105cz ciemny motyw programu"},selectLanguage:{title:"J\u0119zyk",description:"Zmie\u0144 j\u0119zyk programu"},layoutDirection:{title:"Uk\u0142ad",description:"Kierunek uk\u0142adu wizualizacji i pianina",values:{downwards:"W d\xF3\u0142",upwards:"W g\xF3r\u0119",leftToRight:"Od lewej do prawej",rightToLeft:"Od prawej do lewej"}}}};var bw={toggleButton:{title:"Prze\u0142\u0105cz tryb odtwarzania muzyki",description:"Prze\u0142\u0105cz uproszczon\u0105 wersj\u0119 interfejsu, ukrywaj\u0105c pianino i wizualizacj\u0119 nut"},currentlyPlaying:"Teraz gramy:",nothingPlaying:"Nic teraz nie gra",nothingPlayingCopyright:"Wgraj jakie\u015B MIDI!"};var Dw={voiceMeter:{title:"D\u017Awi\u0119ki: ",description:"Aktualna ilo\u015B\u0107 d\u017Awi\u0119k\xF3w na kanale {0}"},pitchBendMeter:{title:"Wysoko\u015B\u0107: ",description:"Aktualna wysoko\u015B\u0107 tonu na kanale {0}"},panMeter:{title:"Stereo: ",description:"Aktualny efekt stereo na kanale {0} (kliknij prawym aby zablokowa\u0107)"},expressionMeter:{title:"Ekspresja: ",description:"Aktualna ekspresja (g\u0142o\u015Bno\u015Bc) kana\u0142u {0} (kliknij prawym aby zablokowa\u0107)"},volumeMeter:{title:"G\u0142o\u015Bno\u015B\u0107: ",description:"Aktualna g\u0142o\u015Bno\u015B\u0107 kana\u0142u {0} (kliknij prawym aby zablokowa\u0107)"},modulationWheelMeter:{title:"Modulacja: ",description:"Aktualna g\u0142\u0119boko\u015B\u0107 modulacji (zazwyczaj vibrato) kana\u0142u {0} (kliknij prawym aby zablokowa\u0107)"},chorusMeter:{title:"Ch\xF3r: ",description:"Aktualny efekt ch\xF3ru na kanale {0} (kliknij prawym aby zablokowa\u0107)"},reverbMeter:{title:"Pog\u0142os: ",description:"Aktualny efekt pog\u0142osu na kanale {0} (kliknij prawym aby zablokowa\u0107)"},filterMeter:{title:"Filtr: ",description:"Aktualny poziom filtra niskopasmowego na kanale {0} (kliknij prawym aby zablokowa\u0107)"},transposeMeter:{title:"Transpozycja: ",description:"Aktualna transpozycja (przesuni\u0119cie klawiszy) kana\u0142u {0}"},presetSelector:{description:"Zmie\u0144 patch (instrument), kt\xF3rego u\u017Cywa kana\u0142 {0}",selectionPrompt:"Zmie\u0144 instrument kana\u0142u {0}",searchPrompt:"Wyszukaj..."},presetReset:{description:"Odblokuj kana\u0142 {0}, aby program m\xF3g\u0142 go zmienia\u0107"},soloButton:{description:"Solo na kanale {0}"},muteButton:{description:"Wycisz/odcisz kana\u0142 {0}"},drumToggleButton:{description:"Prze\u0142\u0105cz perkusj\u0119 na kanale {0}"}};var _w={toggleButton:{title:"Kontroler syntezatora",description:"Poka\u017C kontroler syntezatora"},mainVoiceMeter:{title:"D\u017Awi\u0119ki: ",description:"Ca\u0142kowita ilo\u015B\u0107 aktualnie odtwarzanych d\u017Awi\u0119k\xF3w"},mainVolumeMeter:{title:"G\u0142o\u015Bno\u015B\u0107: ",description:"Aktualna g\u0142o\u015Bno\u015B\u0107 syntezatora"},mainPanMeter:{title:"Stereo: ",description:"Aktualna pozycja stereo syntezatora"},mainTransposeMeter:{title:"Transpozycja: ",description:"Transpozycjonuje syntezator (w semitonach)"},midiPanic:{title:"MIDI Panic",description:"Zatrzymuje wszystkie d\u017Awi\u0119ki"},systemReset:{title:"Reset systemu",description:"Resetuje wszystkie kontroleru do ich domy\u015Blnych warto\u015Bci"},blackMidiMode:{title:"Tryb black MIDI",description:"Prze\u0142\u0105cza tryb wysokiej wydajno\u015Bci, upraszczaj\u0105c wygl\u0105d i pogarszaj\u0105c jako\u015B\u0107 d\u017Awi\u0119ku"},disableCustomVibrato:{title:"Wy\u0142\u0105cz niestandardowe vibrato",description:"Wy\u0142\u0105cza niestandardowe (NRPN) vibrato. Wymaga prze\u0142adowania strony aby je ponownie w\u0142\u0105czy\u0107"},helpButton:{title:"Pomoc",description:"Poka\u017C instrukcj\u0119 obs\u0142ugi"},interpolation:{description:"Wybierz metod\u0119 interpolacji",linear:"Interpolacja liniowa",nearestNeighbor:"Najbli\u017Cszy s\u0105siad",cubic:"Interpolacja Sze\u015Bcienna"},channelController:Dw};var xw={previousSong:"Poprzedni utw\xF3r",nextSong:"Nast\u0119pny utw\xF3r",loopThis:"Odtwarzaj w p\u0119tli",playPause:"Odtw\xF3rz/wstrzymaj",lyrics:{show:"Poka\u017C tekst",title:"Odczytany tekst",noLyrics:"Brak dost\u0119pnego tekstu...",otherText:{title:"Inny tekst"}}};var Lw={button:{title:"Zapisz",description:"Zapisz w r\xF3\u017Cnych formatach"},formats:{title:"Wybierz format",formats:{wav:{button:{title:"Audio WAV (.wav)",description:"Eksportuj utw\xF3r ze zmianami jako plik audio .wav"},options:{title:"Opcje eksportu audio",confirm:"Eksportuj",normalizeVolume:{title:"Normalizuj g\u0142o\u015Bno\u015B\u0107",description:"Eksportuj audio z tak\u0105 sam\u0105 g\u0142o\u015Bno\u015Bci\u0105, niezale\u017Cnie od g\u0142o\u015Bno\u015Bci MIDI."},additionalTime:{title:"Dodatkowy czas (s)",description:"Dodatkowy czas na ko\u0144cu utworu aby pozwoli\u0107 na wyciszenie si\u0119 d\u017Awi\u0119ku. (sekundy)"},separateChannels:{title:"Rozdziel kana\u0142y",description:"Zapisz ka\u017Cdy kana\u0142 w osobnym pliuku. Przydatne dla rzeczy jak widok oscyloskopowy. Nale\u017Cy pami\u0119ta\u0107 \u017Ce to wy\u0142\u0105cza ekfet pog\u0142osu i ch\xF3ru",saving:{title:"Pliki audio kana\u0142\xF3w",save:"Zapisz kana\u0142 {0}"}},loopCount:{title:"Ilo\u015B\u0107 p\u0119tli",description:"Ilo\u015B\u0107 razy zap\u0119tlenia utworu"}},exportMessage:{message:"Eksportowanie audio...",estimated:"Pozosta\u0142o:",convertWav:"Konwertowanie do wav..."}},midi:{button:{title:"MIDI (.mid)",description:"Eksportuj plik MIDI wraz ze zmianami instrument\xF3w i kontroler\xF3w"}},soundfont:{button:{title:"SoundFont (.sf2)",description:"Eksportuj SoundFont"},options:{title:"Opcje eksportu soundfonta",confirm:"Eksportuj",trim:{title:"Zmniejsz",description:"Zmniejsz SoundFont aby zawiera\u0142 tylko klawisze u\u017Cyte w MIDI"},compress:{title:"Kompresuj",description:"Zkompresuj pr\xF3bki kt\xF3re nie s\u0105 zkompresowane przy u\u017Cyciu stratnego kodeka Ogg Vorbis. Znacznie zmniejsza rozmiar pliku.Je\u015Bli soundfont by\u0142 ju\u017C skompresowany, nie zostanie zdekompresowany nawet gdy ta opcja jest wy\u0142\u0105czona"},quality:{title:"Jako\u015B\u0107 kompresji",description:"Jako\u015B\u0107 skompresowanych pr\xF3bek. Im wy\u017Csza tym lepsza"}}},rmidi:{button:{title:"Osadzone MIDI (.rmi)",description:"Eksportuj zmodyfikowane MIDI wraz ze zmniejszonym soundfontem jako jeden plik. Uwaga: ten format nie jest szeroko wspierany"},progress:{title:"Exportowanie osadzonego MIDI...",loading:"Wczytywanie soundfonta i MIDI...",modifyingMIDI:"Modyfikowanie MIDI...",modifyingSoundfont:"Zmniejszanie Soundfonta...",saving:"Zapisywanie RMIDI...",done:"Gotowe!"},options:{title:"Opcje eksportu RMIDI",confirm:"Eksportuj",compress:{title:"Kompresuj",description:"Skompresuj osadzonego soundfonta za pomoc\u0105 stratnego kodeka Ogg Vorbis. Znacznie zmniejsza rozmiar pliku. Zalecane."},quality:{title:"Jako\u015B\u0107 kompresji",description:"Jako\u015B\u0107 skompresowanych pr\xF3bek. Im wy\u017Csza tym lepsza"},bankOffset:{title:"Przesuni\u0119cie banku",description:"Przesuni\u0119cie banku w pliku. Zalecane 0. Zmie\u0144 tylko je\u015Bli wiesz co robisz."},adjust:{title:"Dostosuj MIDI",description:"Dostosuj MIDI do SoundFonta. Pozostaw w\u0142\u0105czone, chyba \u017Ce wiesz co robisz."}}}},metadata:{songTitle:{title:"Tytu\u0142:",description:"Tytu\u0142 utworu"},album:{title:"Album:",description:"Album utworu"},artist:{title:"Tw\xF3rca:",description:"Tw\xF3rca utworu"},albumCover:{title:"Ok\u0142adka albumu:",description:"Ok\u0142adka albumu utworu"},creationDate:{title:"Stworzono:",description:"Data stworzenia utworu"},genre:{title:"Gatunek:",description:"Gatunek utworu"},comment:{title:"Komentarz:",description:"Komentarz do utworu"},duration:{title:"Czas trwania:",description:"Czas trwania utworu"}}}};var Rw={localeName:"Polski",titleMessage:"SpessaSynth: JavaScriptowy Syntezator SoundFont2",demoTitleMessage:"SpessaSynth: JavaScriptowy Syntezator SoundFont2 Wersja Demo",synthInit:{genericLoading:"Wczytywanie...",loadingSoundfont:"Wczytywanie SoundFonta...",loadingBundledSoundfont:"Wczytywanie wbudowanego SoundFonta...",startingSynthesizer:"Uruchamianie syntezatora...",savingSoundfont:"Zapisywanie SoundFonta do przegl\u0105darki...",noWebAudio:"Twoja przegl\u0105darka nie wspiera Web Audio.",done:"Gotowe!"},midiUploadButton:"Wgraj Twoje pliki MIDI",midiRenderButton:{title:"Eksportuj audio",description:"Zapisz audio do pliku WAV lub MIDI"},exportAudio:Lw,yes:"Tak",no:"Nie",demoSoundfontUploadButton:"Wgraj SoundFonta",demoGithubPage:"Strona projektu",demoSongButton:"Piosenka demo",credits:"Tw\xF3rcy",dropPrompt:"Upu\u015B\u0107 pliki tutaj...",warnings:{outOfMemory:"Twojej przegl\u0105darce sko\u0144czy\u0142a si\u0119 pami\u0119\u0107. Rozwa\u017C u\u017Cycie Firefoxa albo plik\xF3w SF3. (Zobacz b\u0142\u0105d w konsoli)",noMidiSupport:"Nie wykryto MIDI. Korzystanie z port\xF3w MIDI nie b\u0119dzie dost\u0119pne.",chromeMobile:"SpessaSynth dzia\u0142a wolno na Chromie na telefon. Rozwa\u017C u\u017Cycie Firefoxa Android.",warning:"Uwaga"},hideTopBar:{title:"Ukryj g\xF3rny pasek",description:"Ukryj pasek tytu\u0142owy w celu poprawy widoczno\u015Bci na pionowych ekranach"},convertDls:{title:"Konwersja DLS",message:"Wygl\u0105da na to, \u017Ce wgra\u0142e\u015B plik DLS. Czy chcesz przekonwertowa\u0107 go do SF2?"},musicPlayerMode:bw,settings:Sw,synthesizerController:_w,sequencerController:xw};var Fw={title:"\u30EC\u30F3\u30C0\u30E9\u30FC\u8A2D\u5B9A",noteFallingTime:{title:"\u30CE\u30FC\u30C8\u306E\u843D\u4E0B\u6642\u9593\uFF08\u30DF\u30EA\u79D2\uFF09",description:"\u30CE\u30FC\u30C8\u304C\u843D\u3061\u308B\u901F\u3055\uFF08\u8996\u899A\u7684\u306B\uFF09"},waveformThickness:{title:"\u6CE2\u5F62\u306E\u7DDA\u306E\u592A\u3055\uFF08\u30D4\u30AF\u30BB\u30EB\uFF09",description:"\u6CE2\u5F62\u306E\u7DDA\u306E\u592A\u3055"},waveformSampleSize:{title:"\u6CE2\u5F62\u306E\u30B5\u30F3\u30D7\u30EB\u30B5\u30A4\u30BA",description:"\u6CE2\u5F62\u306E\u8A73\u7D30\u5EA6\uFF08\u6CE8\uFF1A\u9AD8\u3044\u5024\u306F\u30D1\u30D5\u30A9\u30FC\u30DE\u30F3\u30B9\u306B\u5F71\u97FF\u3092\u4E0E\u3048\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\uFF09"},waveformAmplifier:{title:"\u6CE2\u5F62\u306E\u5897\u5E45\u5668",description:"\u6CE2\u5F62\u306E\u9BAE\u3084\u304B\u3055"},toggleWaveformsRendering:{title:"\u6CE2\u5F62\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u306E\u5207\u308A\u66FF\u3048",description:"\u30C1\u30E3\u30F3\u30CD\u30EB\u6CE2\u5F62\u306E\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u3092\u5207\u308A\u66FF\u3048\u307E\u3059\uFF08\u30AA\u30FC\u30C7\u30A3\u30AA\u3092\u8868\u793A\u3059\u308B\u30AB\u30E9\u30D5\u30EB\u306A\u7DDA\uFF09"},toggleNotesRendering:{title:"\u30CE\u30FC\u30C8\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u306E\u5207\u308A\u66FF\u3048",description:"MIDI\u30D5\u30A1\u30A4\u30EB\u3092\u518D\u751F\u3059\u308B\u969B\u306E\u843D\u4E0B\u30CE\u30FC\u30C8\u306E\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},toggleDrawingActiveNotes:{title:"\u30A2\u30AF\u30C6\u30A3\u30D6\u30CE\u30FC\u30C8\u306E\u63CF\u753B\u3092\u5207\u308A\u66FF\u3048",description:"\u30CE\u30FC\u30C8\u304C\u62BC\u3055\u308C\u305F\u3068\u304D\u306B\u5149\u308A\u8F1D\u304F\u63CF\u753B\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},toggleDrawingVisualPitch:{title:"\u30D3\u30B8\u30E5\u30A2\u30EB\u30D4\u30C3\u30C1\u63CF\u753B\u306E\u5207\u308A\u66FF\u3048",description:"\u30D4\u30C3\u30C1\u30DB\u30A4\u30FC\u30EB\u304C\u9069\u7528\u3055\u308C\u305F\u3068\u304D\u306B\u30CE\u30FC\u30C8\u304C\u5DE6\u53F3\u306B\u30B9\u30E9\u30A4\u30C9\u3059\u308B\u63CF\u753B\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},toggleStabilizeWaveforms:{title:"\u6CE2\u5F62\u3092\u5B89\u5B9A\u3055\u305B\u308B",description:"\u30AA\u30FC\u30C7\u30A3\u30AA\u6CE2\u5F62\u3092\u5B89\u5B9A\u3055\u305B\u308B\u8A2D\u5B9A\u3092\u5207\u308A\u66FF\u3048\u3001\u6CE2\u5F62\u3092\u56FA\u5B9A\u3057\u307E\u3059\u3002"}};var Mw={title:"\u30AD\u30FC\u30DC\u30FC\u30C9\u8A2D\u5B9A",selectedChannel:{title:"\u9078\u629E\u3055\u308C\u305F\u30C1\u30E3\u30F3\u30CD\u30EB",description:"\u30AD\u30FC\u30DC\u30FC\u30C9\u304C\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u9001\u4FE1\u3059\u308B\u30C1\u30E3\u30F3\u30CD\u30EB",channelOption:"\u30C1\u30E3\u30F3\u30CD\u30EB {0}"},keyboardSize:{title:"\u30AD\u30FC\u30DC\u30FC\u30C9\u30B5\u30A4\u30BA",description:"\u30AD\u30FC\u30DC\u30FC\u30C9\u306B\u8868\u793A\u3055\u308C\u308B\u30AD\u30FC\u306E\u7BC4\u56F2\u3002MIDI\u30CE\u30FC\u30C8\u306E\u30B5\u30A4\u30BA\u306B\u5FDC\u3058\u3066\u8ABF\u6574\u3055\u308C\u307E\u3059",full:"128\u30AD\u30FC\uFF08\u5168\u4F53\uFF09",piano:"88\u30AD\u30FC\uFF08\u30D4\u30A2\u30CE\uFF09",fiveOctaves:"5\u30AA\u30AF\u30BF\u30FC\u30D6",useSongKeyRange:"\u66F2\u306E\u30AD\u30FC\u7BC4\u56F2\u3092\u4F7F\u7528",twoOctaves:"\u30AA\u30AF\u30BF\u30FC\u30D6"},toggleTheme:{title:"\u30C6\u30FC\u30DE\u3092\u5207\u308A\u66FF\u3048",description:"\u30AD\u30FC\u30DC\u30FC\u30C9\u306E\u30C6\u30FC\u30DE\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},show:{title:"\u8868\u793A",description:"MIDI\u30AD\u30FC\u30DC\u30FC\u30C9\u3092\u8868\u793A/\u975E\u8868\u793A"}};var Tw={title:"MIDI\u8A2D\u5B9A",midiInput:{title:"MIDI\u5165\u529B",description:"MIDI\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u53D7\u4FE1\u3059\u308B\u30DD\u30FC\u30C8",disabled:"\u7121\u52B9"},midiOutput:{title:"MIDI\u51FA\u529B",description:"MIDI\u30D5\u30A1\u30A4\u30EB\u3092\u518D\u751F\u3059\u308B\u30DD\u30FC\u30C8",disabled:"SpessaSynth\u3092\u4F7F\u7528"}};var Nw={toggleButton:"\u8A2D\u5B9A",mainTitle:"\u30D7\u30ED\u30B0\u30E9\u30E0\u8A2D\u5B9A",rendererSettings:Fw,keyboardSettings:Mw,midiSettings:Tw,interfaceSettings:{title:"\u30A4\u30F3\u30BF\u30FC\u30D5\u30A7\u30FC\u30B9\u8A2D\u5B9A",toggleTheme:{title:"\u30C6\u30FC\u30DE\u3092\u5207\u308A\u66FF\u3048",description:"\u30D7\u30ED\u30B0\u30E9\u30E0\u306E\u30C6\u30FC\u30DE\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},selectLanguage:{title:"\u8A00\u8A9E",description:"\u30D7\u30ED\u30B0\u30E9\u30E0\u306E\u8A00\u8A9E\u3092\u5909\u66F4\u3057\u307E\u3059"},layoutDirection:{title:"\u30EC\u30A4\u30A2\u30A6\u30C8\u306E\u65B9\u5411",description:"\u30EC\u30F3\u30C0\u30E9\u30FC\u3068\u30AD\u30FC\u30DC\u30FC\u30C9\u306E\u30EC\u30A4\u30A2\u30A6\u30C8\u65B9\u5411",values:{downwards:"\u4E0B\u5411\u304D",upwards:"\u4E0A\u5411\u304D",leftToRight:"\u5DE6\u304B\u3089\u53F3",rightToLeft:"\u53F3\u304B\u3089\u5DE6"}}}};var Gw={toggleButton:{title:"\u97F3\u697D\u30D7\u30EC\u30A4\u30E4\u30FC\u30E2\u30FC\u30C9\u306E\u5207\u308A\u66FF\u3048",description:"\u7C21\u7565\u5316\u3055\u308C\u305FUI\u30D0\u30FC\u30B8\u30E7\u30F3\u306B\u5207\u308A\u66FF\u3048\u3001\u30AD\u30FC\u30DC\u30FC\u30C9\u3068\u30CE\u30FC\u30C8\u306E\u8996\u899A\u5316\u3092\u96A0\u3057\u307E\u3059"},currentlyPlaying:"\u518D\u751F\u4E2D:",nothingPlaying:"\u518D\u751F\u3057\u3066\u3044\u308B\u3082\u306E\u306F\u3042\u308A\u307E\u305B\u3093",nothingPlayingCopyright:"MIDI\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u3057\u3066\u304F\u3060\u3055\u3044\uFF01"};var Uw={voiceMeter:{title:"\u30DC\u30A4\u30B9: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u3067\u518D\u751F\u4E2D\u306E\u30DC\u30A4\u30B9\u306E\u73FE\u5728\u306E\u6570"},pitchBendMeter:{title:"\u30D4\u30C3\u30C1: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u73FE\u5728\u306E\u30D4\u30C3\u30C1\u30D9\u30F3\u30C9"},panMeter:{title:"\u30D1\u30F3: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u73FE\u5728\u306E\u30B9\u30C6\u30EC\u30AA\u30D1\u30F3\u30CB\u30F3\u30B0\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},expressionMeter:{title:"\u30A8\u30AF\u30B9\u30D7\u30EC\u30C3\u30B7\u30E7\u30F3: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u73FE\u5728\u306E\u8868\u73FE\uFF08\u97F3\u91CF\uFF09\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},volumeMeter:{title:"\u30DC\u30EA\u30E5\u30FC\u30E0: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u73FE\u5728\u306E\u97F3\u91CF\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},modulationWheelMeter:{title:"\u30E2\u30B8\u30E5\u30EC\u30FC\u30B7\u30E7\u30F3\u30DB\u30A4\u30FC\u30EB: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u73FE\u5728\u306E\u30E2\u30B8\u30E5\u30EC\u30FC\u30B7\u30E7\u30F3\uFF08\u901A\u5E38\u306F\u30D3\u30D6\u30E9\u30FC\u30C8\uFF09\u306E\u6DF1\u3055\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},chorusMeter:{title:"\u30B3\u30FC\u30E9\u30B9: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u73FE\u5728\u306E\u30B3\u30FC\u30E9\u30B9\u30A8\u30D5\u30A7\u30AF\u30C8\u306E\u30EC\u30D9\u30EB\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},reverbMeter:{title:"\u30EA\u30D0\u30FC\u30D6: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u73FE\u5728\u306E\u30EA\u30D0\u30FC\u30D6\u30A8\u30D5\u30A7\u30AF\u30C8\u306E\u30EC\u30D9\u30EB\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},filterMeter:{title:"\u30D5\u30A3\u30EB\u30BF\u30FC: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u30ED\u30FC\u30D1\u30B9\u30D5\u30A3\u30EB\u30BF\u30FC\u306E\u30AB\u30C3\u30C8\u30AA\u30D5\u306E\u73FE\u5728\u306E\u30EC\u30D9\u30EB (\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF)"},transposeMeter:{title:"\u30C8\u30E9\u30F3\u30B9\u30DD\u30FC\u30BA: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u73FE\u5728\u306E\u79FB\u8ABF\uFF08\u30AD\u30FC\u30B7\u30D5\u30C8\uFF09"},presetSelector:{description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u304C\u4F7F\u7528\u3059\u308B\u30D1\u30C3\u30C1\uFF08\u697D\u5668\uFF09\u3092\u5909\u66F4",selectionPrompt:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u697D\u5668\u3092\u5909\u66F4\u3059\u308B",searchPrompt:"\u691C\u7D22..."},presetReset:{description:"\u30D7\u30ED\u30B0\u30E9\u30E0\u5909\u66F4\u3092\u8A31\u53EF\u3059\u308B\u305F\u3081\u306B\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u30ED\u30C3\u30AF\u3092\u89E3\u9664"},soloButton:{description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u3092\u5358\u72EC\u518D\u751F"},muteButton:{description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u3092\u30DF\u30E5\u30FC\u30C8/\u30DF\u30E5\u30FC\u30C8\u89E3\u9664"},drumToggleButton:{description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u3067\u30C9\u30E9\u30E0\u3092\u5207\u308A\u66FF\u3048"}};var Pw={toggleButton:{title:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u30FC",description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u30FC\u3092\u8868\u793A"},mainVoiceMeter:{title:"\u30DC\u30A4\u30B9: ",description:"\u73FE\u5728\u518D\u751F\u4E2D\u306E\u30DC\u30A4\u30B9\u306E\u7DCF\u6570"},mainVolumeMeter:{title:"\u30DC\u30EA\u30E5\u30FC\u30E0: ",description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u306E\u73FE\u5728\u306E\u30DE\u30B9\u30BF\u30FC\u30DC\u30EA\u30E5\u30FC\u30E0"},mainPanMeter:{title:"\u30D1\u30F3: ",description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u306E\u73FE\u5728\u306E\u30DE\u30B9\u30BF\u30FC\u30B9\u30C6\u30EC\u30AA\u30D1\u30F3\u30CB\u30F3\u30B0"},mainTransposeMeter:{title:"\u30C8\u30E9\u30F3\u30B9\u30DD\u30FC\u30BA: ",description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u3092\u79FB\u8ABF\u3057\u307E\u3059\uFF08\u30BB\u30DF\u30C8\u30FC\u30F3\u307E\u305F\u306F\u30AD\u30FC\uFF09"},midiPanic:{title:"MIDI\u30D1\u30CB\u30C3\u30AF",description:"\u3059\u3079\u3066\u306E\u30DC\u30A4\u30B9\u3092\u5373\u5EA7\u306B\u505C\u6B62"},systemReset:{title:"\u30B7\u30B9\u30C6\u30E0\u30EA\u30BB\u30C3\u30C8",description:"\u3059\u3079\u3066\u306E\u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u30FC\u3092\u30C7\u30D5\u30A9\u30EB\u30C8\u5024\u306B\u30EA\u30BB\u30C3\u30C8"},blackMidiMode:{title:"\u30D6\u30E9\u30C3\u30AFMIDI\u30E2\u30FC\u30C9",description:"\u9AD8\u6027\u80FD\u30E2\u30FC\u30C9\u3092\u5207\u308A\u66FF\u3048\u3001\u898B\u305F\u76EE\u3092\u7C21\u7D20\u5316\u3057\u3001\u30CE\u30FC\u30C8\u3092\u901F\u304F\u6D88\u53BB"},disableCustomVibrato:{title:"\u30AB\u30B9\u30BF\u30E0\u30D3\u30D6\u30E9\u30FC\u30C8\u3092\u7121\u52B9\u5316",description:"\u30AB\u30B9\u30BF\u30E0\uFF08NRPN\uFF09\u30D3\u30D6\u30E9\u30FC\u30C8\u3092\u6C38\u4E45\u306B\u7121\u52B9\u5316\u3002\u518D\u5EA6\u6709\u52B9\u5316\u3059\u308B\u306B\u306F\u30A6\u30A7\u30D6\u30B5\u30A4\u30C8\u3092\u30EA\u30ED\u30FC\u30C9"},helpButton:{title:"\u30D8\u30EB\u30D7",description:"\u4F7F\u7528\u30AC\u30A4\u30C9\u3092\u8868\u793A\u3057\u307E\u3059"},interpolation:{description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u306E\u88DC\u9593\u65B9\u6CD5\u3092\u9078\u629E",linear:"\u30EA\u30CB\u30A2",nearestNeighbor:"\u306A\u3057"},channelController:Uw};var Ow={previousSong:"\u524D\u306E\u66F2",nextSong:"\u6B21\u306E\u66F2",loopThis:"\u3053\u306E\u66F2\u3092\u30EB\u30FC\u30D7",playPause:"\u518D\u751F/\u4E00\u6642\u505C\u6B62",lyrics:{show:"\u6B4C\u8A5E\u3092\u8868\u793A",title:"\u30C7\u30B3\u30FC\u30C9\u3055\u308C\u305F\u30C6\u30AD\u30B9\u30C8",noLyrics:"\u6B4C\u8A5E\u304C\u3042\u308A\u307E\u305B\u3093...",otherText:{title:"\u305D\u306E\u4ED6\u306E\u30C6\u30AD\u30B9\u30C8"}}};var qw={button:{title:"\u97F3\u58F0\u3092\u4FDD\u5B58",description:"\u97F3\u58F0\u3092WAV\u3001MIDI\u3001SF2\u3001\u307E\u305F\u306FRMI\u30D5\u30A1\u30A4\u30EB\u3068\u3057\u3066\u4FDD\u5B58"},formats:{title:"\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u3092\u9078\u629E",formats:{wav:{button:{title:"WAV\u97F3\u58F0 (.wav)",description:"\u5909\u66F4\u3092\u52A0\u3048\u305F\u66F2\u3092.wav\u30AA\u30FC\u30C7\u30A3\u30AA\u30D5\u30A1\u30A4\u30EB\u3068\u3057\u3066\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059"},options:{title:"WAV\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u30AA\u30D7\u30B7\u30E7\u30F3",confirm:"\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",normalizeVolume:{title:"\u97F3\u91CF\u306E\u6B63\u898F\u5316",description:"MIDI\u306E\u97F3\u91CF\u306B\u304B\u304B\u308F\u3089\u305A\u3001\u97F3\u91CF\u3092\u4E00\u5B9A\u306B\u4FDD\u3061\u307E\u3059\u3002\u63A8\u5968\u8A2D\u5B9A\u3067\u3059\u3002"},additionalTime:{title:"\u8FFD\u52A0\u6642\u9593\uFF08\u79D2\uFF09",description:"\u97F3\u304C\u30D5\u30A7\u30FC\u30C9\u30A2\u30A6\u30C8\u3059\u308B\u305F\u3081\u306B\u66F2\u306E\u6700\u5F8C\u306B\u8FFD\u52A0\u3059\u308B\u6642\u9593\u3067\u3059\u3002\uFF08\u79D2\uFF09"},separateChannels:{title:"\u30C1\u30E3\u30F3\u30CD\u30EB\u3092\u5206\u5272",description:"\u5404\u30C1\u30E3\u30F3\u30CD\u30EB\u3092\u5225\u3005\u306E\u30D5\u30A1\u30A4\u30EB\u3068\u3057\u3066\u4FDD\u5B58\u3057\u307E\u3059\u3002\u30AA\u30B7\u30ED\u30B9\u30B3\u30FC\u30D7\u30D3\u30E5\u30FC\u30A2\u306A\u3069\u306B\u4FBF\u5229\u3067\u3059\u3002\u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u4F7F\u7528\u3059\u308B\u3068\u30EA\u30D0\u30FC\u30D6\u3084\u30B3\u30FC\u30E9\u30B9\u304C\u7121\u52B9\u306B\u306A\u308A\u307E\u3059\u3002",saving:{title:"\u30C1\u30E3\u30F3\u30CD\u30EB\u30D5\u30A1\u30A4\u30EB",save:"\u30C1\u30E3\u30F3\u30CD\u30EB{0}\u3092\u4FDD\u5B58"}},loopCount:{title:"\u30EB\u30FC\u30D7\u56DE\u6570",description:"\u66F2\u3092\u30EB\u30FC\u30D7\u3059\u308B\u56DE\u6570"}},exportMessage:{message:"WAV\u97F3\u58F0\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u3066\u3044\u307E\u3059...",estimated:"\u6B8B\u308A\u6642\u9593:",convertWav:"WAV\u306B\u5909\u63DB\u4E2D..."}},midi:{button:{title:"MIDI (.mid)",description:"\u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u30FC\u3068\u697D\u5668\u306E\u5909\u66F4\u304C\u9069\u7528\u3055\u308C\u305FMIDI\u30D5\u30A1\u30A4\u30EB\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059"}},soundfont:{button:{title:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8 (.sf2)",description:"SoundFont2\u30D5\u30A1\u30A4\u30EB\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059"},options:{title:"SF\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u30AA\u30D7\u30B7\u30E7\u30F3",confirm:"\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",trim:{title:"\u30C8\u30EA\u30DF\u30F3\u30B0",description:"MIDI\u30D5\u30A1\u30A4\u30EB\u3067\u4F7F\u7528\u3055\u308C\u3066\u3044\u308B\u697D\u5668\u3068\u30B5\u30F3\u30D7\u30EB\u3060\u3051\u306B\u30C8\u30EA\u30DF\u30F3\u30B0\u3055\u308C\u305F\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059"},compress:{title:"\u5727\u7E2E",description:"\u672A\u5727\u7E2E\u306E\u5834\u5408\u306F\u3001Ogg Vorbis\u306E\u30ED\u30B9\u5727\u7E2E\u3067\u30B5\u30F3\u30D7\u30EB\u3092\u5727\u7E2E\u3057\u307E\u3059\u3002\u30D5\u30A1\u30A4\u30EB\u30B5\u30A4\u30BA\u304C\u5927\u5E45\u306B\u524A\u6E1B\u3055\u308C\u307E\u3059\u3002\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u304C\u3059\u3067\u306B\u5727\u7E2E\u3055\u308C\u3066\u3044\u308B\u5834\u5408\u3001\u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u7121\u52B9\u306B\u3057\u3066\u3082\u518D\u5727\u7E2E\u3055\u308C\u308B\u3053\u3068\u306F\u3042\u308A\u307E\u305B\u3093"},quality:{title:"\u5727\u7E2E\u54C1\u8CEA",description:"\u5727\u7E2E\u306E\u54C1\u8CEA\u3067\u3059\u3002\u9AD8\u3044\u307B\u3069\u826F\u3044\u3067\u3059"}}},rmidi:{button:{title:"\u57CB\u3081\u8FBC\u307FMIDI (.rmi)",description:"\u5909\u66F4\u3055\u308C\u305FMIDI\u3068\u30C8\u30EA\u30DF\u30F3\u30B0\u3055\u308C\u305F\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u30921\u3064\u306E\u30D5\u30A1\u30A4\u30EB\u306B\u57CB\u3081\u8FBC\u3093\u3067\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059\u3002\u3053\u306E\u5F62\u5F0F\u306F\u5E83\u304F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u306A\u3044\u3053\u3068\u306B\u6CE8\u610F\u3057\u3066\u304F\u3060\u3055\u3044"},progress:{title:"\u57CB\u3081\u8FBC\u307E\u308C\u305FMIDI\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u4E2D...",loading:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3068MIDI\u3092\u8AAD\u307F\u8FBC\u307F\u4E2D...",modifyingMIDI:"MIDI\u3092\u4FEE\u6B63\u4E2D...",modifyingSoundfont:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u30C8\u30EA\u30DF\u30F3\u30B0\u4E2D...",saving:"RMIDI\u3092\u4FDD\u5B58\u4E2D...",done:"\u5B8C\u4E86\u3057\u307E\u3057\u305F\uFF01"},options:{title:"RMIDI\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u30AA\u30D7\u30B7\u30E7\u30F3",confirm:"\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",compress:{title:"\u5727\u7E2E",description:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092Ogg Vorbis\u306E\u30ED\u30B9\u5727\u7E2E\u3067\u5727\u7E2E\u3057\u307E\u3059\u3002\u30D5\u30A1\u30A4\u30EB\u30B5\u30A4\u30BA\u304C\u5927\u5E45\u306B\u524A\u6E1B\u3055\u308C\u307E\u3059\u3002\u63A8\u5968\u8A2D\u5B9A\u3067\u3059\u3002"},quality:{title:"\u5727\u7E2E\u54C1\u8CEA",description:"\u5727\u7E2E\u306E\u54C1\u8CEA\u3067\u3059\u3002\u9AD8\u3044\u307B\u3069\u826F\u3044\u3067\u3059\u3002"},bankOffset:{title:"\u30D0\u30F3\u30AF\u30AA\u30D5\u30BB\u30C3\u30C8",description:"\u30D5\u30A1\u30A4\u30EB\u306E\u30D0\u30F3\u30AF\u30AA\u30D5\u30BB\u30C3\u30C8\u3067\u3059\u30020\u306E\u5024\u304C\u63A8\u5968\u3055\u308C\u307E\u3059\u3002\u5909\u66F4\u306F\u614E\u91CD\u306B\u884C\u3063\u3066\u304F\u3060\u3055\u3044\u3002"},adjust:{title:"MIDI\u3092\u8ABF\u6574",description:"MIDI\u30D5\u30A1\u30A4\u30EB\u3092\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u306B\u5408\u308F\u305B\u3066\u8ABF\u6574\u3057\u307E\u3059\u3002\u7279\u5225\u306A\u7406\u7531\u304C\u306A\u3044\u9650\u308A\u3001\u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u30AA\u30F3\u306E\u307E\u307E\u306B\u3057\u3066\u304F\u3060\u3055\u3044\u3002"}}}},metadata:{songTitle:{title:"\u30BF\u30A4\u30C8\u30EB:",description:"\u66F2\u306E\u30BF\u30A4\u30C8\u30EB"},album:{title:"\u30A2\u30EB\u30D0\u30E0:",description:"\u66F2\u306E\u30A2\u30EB\u30D0\u30E0"},artist:{title:"\u30A2\u30FC\u30C6\u30A3\u30B9\u30C8:",description:"\u66F2\u306E\u30A2\u30FC\u30C6\u30A3\u30B9\u30C8"},albumCover:{title:"\u30A2\u30EB\u30D0\u30E0\u30AB\u30D0\u30FC:",description:"\u66F2\u306E\u30A2\u30EB\u30D0\u30E0\u30AB\u30D0\u30FC"},creationDate:{title:"\u4F5C\u6210\u65E5:",description:"\u66F2\u306E\u4F5C\u6210\u65E5"},genre:{title:"\u30B8\u30E3\u30F3\u30EB:",description:"\u66F2\u306E\u30B8\u30E3\u30F3\u30EB"},comment:{title:"\u30B3\u30E1\u30F3\u30C8:",description:"\u66F2\u306E\u30B3\u30E1\u30F3\u30C8"},duration:{title:"\u9577\u3055:",description:"\u66F2\u306E\u9577\u3055"}}}};var Hw={localeName:"\u65E5\u672C\u8A9E",titleMessage:"SpessaSynth: SoundFont2 Javascript \u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC",demoTitleMessage:"SpessaSynth: SoundFont2 Javascript \u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC \u30AA\u30F3\u30E9\u30A4\u30F3\u30C7\u30E2",synthInit:{genericLoading:"\u8AAD\u307F\u8FBC\u307F\u4E2D...",loadingSoundfont:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u8AAD\u307F\u8FBC\u3093\u3067\u3044\u307E\u3059...",loadingBundledSoundfont:"\u30D0\u30F3\u30C9\u30EB\u3055\u308C\u305F\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u8AAD\u307F\u8FBC\u3093\u3067\u3044\u307E\u3059...",startingSynthesizer:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u3092\u8D77\u52D5\u3057\u3066\u3044\u307E\u3059...",savingSoundfont:"\u518D\u5229\u7528\u306E\u305F\u3081\u306B\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u4FDD\u5B58\u3057\u3066\u3044\u307E\u3059...",noWebAudio:"\u304A\u4F7F\u3044\u306E\u30D6\u30E9\u30A6\u30B6\u306FWeb Audio\u3092\u30B5\u30DD\u30FC\u30C8\u3057\u3066\u3044\u307E\u305B\u3093\u3002",done:"\u6E96\u5099\u5B8C\u4E86\uFF01"},midiUploadButton:"MIDI\u30D5\u30A1\u30A4\u30EB\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9",exportAudio:qw,yes:"\u306F\u3044",no:"\u3044\u3044\u3048",demoSoundfontUploadButton:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9",demoGithubPage:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30DA\u30FC\u30B8",demoSongButton:"\u30C7\u30E2\u30BD\u30F3\u30B0",credits:"\u30AF\u30EA\u30A8\u30A4\u30BF\u30FC",dropPrompt:"\u3053\u3053\u306B\u30D5\u30A1\u30A4\u30EB\u3092\u30C9\u30ED\u30C3\u30D7...",warnings:{noMidiSupport:"\u3053\u306E\u30D6\u30E9\u30A6\u30B6\u306FMIDI\u5165\u529B\u3092\u30B5\u30DD\u30FC\u30C8\u3057\u3066\u3044\u306A\u3044\u305F\u3081\u3001\u3053\u306E\u6A5F\u80FD\u306F\u5229\u7528\u3067\u304D\u307E\u305B\u3093\u3002Chrome\u307E\u305F\u306FFirefox\u3092\u4F7F\u7528\u3059\u308B\u3053\u3068\u3092\u691C\u8A0E\u3057\u3066\u304F\u3060\u3055\u3044\u3002",outOfMemory:`\u30D6\u30E9\u30A6\u30B6\u306E\u30E1\u30E2\u30EA\u304C\u4E0D\u8DB3\u3057\u307E\u3057\u305F\u3002Firefox\u3084SF3\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u306E\u4F7F\u7528\u3092\u691C\u8A0E\u3057\u3066\u304F\u3060\u3055\u3044\u3002 + `;let m0=document.createElement("div");if(m0.classList.add("notification_content"),S)for(let[f1,x]of Object.entries(S))m0.style[f1]=x;n0.appendChild(m0);for(let f1 of r){let x=cw(f1,f);f1.onClick&&(x.onclick=()=>f1.onClick({div:n0,id:E0},x)),m0.appendChild(x)}g?n0.getElementsByClassName("close_btn")[0].onclick=()=>{Ot(E0)}:n0.getElementsByClassName("close_btn")[0].style.display="none",setTimeout(()=>{n0.classList.add("drop")},75);let g0=setTimeout(()=>{Ot(E0)},l*1e3+75);return document.getElementsByClassName("notification_field")[0].appendChild(n0),UC[E0]={div:n0,timeout:g0},{div:n0,id:E0}}function Ot(o){let r=UC[o].div;clearTimeout(UC[o].timeout),r.classList.remove("drop"),setTimeout(()=>r.parentElement.removeChild(r),500),UC[o]=void 0}function gw(o,r,l){o.createMIDIDeviceHandler().then(g=>{g?(this._createMidiInputHandler(o,l.synth),this._createMidiOutputHandler(o,r)):(bn||mt(this.locale.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:this.locale.getLocaleString("locale.warnings.noMidiSupport")}]),document.getElementById("midi_settings").style.display="none")})}function hw(o,r){if(o.inputs.length<1)return;let l=this.htmlControls.midi.inputSelector;for(let g of o.inputs){let f=document.createElement("option");f.value=g[0],f.innerText=g[1].name,l.appendChild(f)}l.onchange=()=>{l.value==="-1"?o.disconnectAllDevicesFromSynth():o.connectDeviceToSynth(o.inputs.get(l.value),r),this._saveSettings()}}function uw(o,r){if(!o.outputs){setTimeout(()=>{this._createMidiOutputHandler(o,r)},1e3);return}if(o.outputs.length<1)return;let l=this.htmlControls.midi.outputSelector;for(let g of o.outputs){let f=document.createElement("option");f.value=g[0],f.innerText=g[1].name,l.appendChild(f)}l.onchange=()=>{r.seq&&(l.value==="-1"?o.disconnectSeqFromMIDI(r.seq):o.connectMIDIOutputToSeq(o.outputs.get(l.value),r.seq),this._saveSettings())}}var fw={title:"Renderer settings",noteFallingTime:{title:"Note falling time (miliseconds)",description:"How fast the notes fall (visually)"},waveformThickness:{title:"Waveform line thickness (px)",description:"How thick the waveform lines are"},waveformSampleSize:{title:"Waveform sample size",description:"How detailed the waveforms are (Note: high values might impact performance)"},waveformAmplifier:{title:"Waveform amplifier",description:"How vibrant the waveforms are"},toggleWaveformsRendering:{title:"Enable waveforms rendering",description:"Enable rendering the channel waveforms (colorful lines showing audio)"},toggleNotesRendering:{title:"Enable notes rendering",description:"Enable rendering of the falling notes when playing a MIDI file"},toggleDrawingActiveNotes:{title:"Enable drawing active notes",description:"Enable notes lighting up and glowing when they get pressed"},toggleDrawingVisualPitch:{title:"Enable drawing visual pitch",description:"Enable notes sliding left or right when the pitch wheel is applied"},toggleStabilizeWaveforms:{title:"Stabilize waveforms",description:"Enable oscilloscope triggering"}};var dw={title:"MIDI Keyboard settings",selectedChannel:{title:"Selected channel",description:"The channel keyboard sends messages to",channelOption:"Channel {0}"},keyboardSize:{title:"Keyboard size",description:"The range of keys shown on the keyboard. Adjusts the MIDI note size accordingly",full:"128 keys (full)",piano:"88 keys (piano)",fiveOctaves:"5 octaves",useSongKeyRange:"Use song's key range",twoOctaves:"Two octaves"},toggleTheme:{title:"Use dark theme",description:"Use the dark MIDI keyboard theme"},show:{title:"Show",description:"Show/hide MIDI keyboard"}};var Iw={title:"MIDI settings",midiInput:{title:"MIDI input",description:"The port to listen on for MIDI messages",disabled:"Disabled"},midiOutput:{title:"MIDI output",description:"The port to play the MIDI file to",disabled:"Use SpessaSynth"}};var Ew={toggleButton:"Settings",mainTitle:"Program settings",rendererSettings:fw,keyboardSettings:dw,midiSettings:Iw,interfaceSettings:{title:"Interface settings",toggleTheme:{title:"Use dark theme",description:"Enable the dark theme for the interface"},selectLanguage:{title:"Language",description:"Change the program language"},layoutDirection:{title:"Layout direction",description:"The layout direction of the renderer and keyboard",values:{downwards:"Downwards",upwards:"Upwards",leftToRight:"Left to right",rightToLeft:"Right to left"}}}};var mw={toggleButton:{title:"Toggle music player mode",description:"Toggle the simplified UI version, hiding the keyboard and note visualizations"},currentlyPlaying:"Currently playing:",nothingPlaying:"Nothing is playing",nothingPlayingCopyright:"Upload a MIDI!"};var Cw={voiceMeter:{title:"Voices: ",description:"The current amount of voices playing on channel {0}"},pitchBendMeter:{title:"Pitch: ",description:"The current pitch bend applied to channel {0}"},panMeter:{title:"Pan: ",description:"The current stereo panning applied to channel {0} (right-click to lock)"},expressionMeter:{title:"Expression: ",description:"The current expression (loudness) of channel {0} (right-click to lock)"},volumeMeter:{title:"Volume: ",description:"The current volume of channel {0} (right-click to lock)"},modulationWheelMeter:{title:"Mod wheel: ",description:"The current modulation (usually vibrato) depth of channel {0} (right-click to lock)"},chorusMeter:{title:"Chorus: ",description:"The current level of chorus effect applied to channel {0} (right-click to lock)"},reverbMeter:{title:"Reverb: ",description:"The current level of reverb effect applied to channel {0} (right-click to lock)"},filterMeter:{title:"Filter: ",description:"The current level of low-pass filter cutoff applied to channel {0} (right-click to lock)"},transposeMeter:{title:"Transpose: ",description:"The current transposition (key shift) of channel {0}"},presetSelector:{description:"Change the patch (instrument) channel {0} is using",selectionPrompt:"Change instrument for channel {0}",searchPrompt:"Search..."},presetReset:{description:"Unlock channel {0} to allow program changes"},soloButton:{description:"Solo on channel {0}"},muteButton:{description:"Mute/unmute channel {0}"},drumToggleButton:{description:"Toggle drums on channel {0}"}};var Bw={toggleButton:{title:"Synthesizer controller",description:"Show the synthesizer controller"},mainVoiceMeter:{title:"Voices: ",description:"The total amount of voices currently playing"},mainVolumeMeter:{title:"Volume: ",description:"The current master volume of the synthesizer"},mainPanMeter:{title:"Pan: ",description:"The current master stereo panning of the synthesizer"},mainTransposeMeter:{title:"Transpose: ",description:"Transposes the synthesizer (in semitones or keys)"},midiPanic:{title:"MIDI Panic",description:"Stops all voices immediately"},systemReset:{title:"System reset",description:"Resets all controllers to their default values"},blackMidiMode:{title:"Black MIDI mode",description:"Toggles the High Performance Mode, simplifying the look and killing the notes faster"},disableCustomVibrato:{title:"Disable custom vibrato",description:"Disables the custom (NRPN) Vibrato permamently. Reload the website to reenable it"},helpButton:{title:"Help",description:"Opens an external website with the usage guide"},interpolation:{description:"Select the synthesizer's interpolation method",linear:"Linear Interpolation",nearestNeighbor:"Nearest neighbor",cubic:"Cubic Interpolation"},channelController:Cw};var pw={previousSong:"Previous song",nextSong:"Next song",loopThis:"Loop this song",playPause:"Play/pause",lyrics:{show:"Show lyrics",title:"Decoded text",noLyrics:"No lyrics available...",otherText:{title:"Other text"}}};var Qw={button:{title:"Save Audio",description:"Save the composition to various formats"},formats:{title:"Choose format",formats:{wav:{button:{title:"WAV audio (.wav)",description:"Export the song with modifications as a .wav audio file"},options:{title:"WAV export options",confirm:"Export",normalizeVolume:{title:"Normalize volume",description:"Keep the volume at the same level, no matter how loud or quiet the MIDI is. Recommended."},additionalTime:{title:"Additional time (s)",description:"Additional time at the end of the song to allow for the sound to fade. (seconds)"},separateChannels:{title:"Separate channels",description:"Save each channel as a separate file. Useful for things like oscilloscope viewers. Note that this disables reverb and chorus.",saving:{title:"Channel files",save:"Save channel {0}"}},loopCount:{title:"Loop count",description:"The amount of times to loop the song"}},exportMessage:{message:"Exporting WAV audio...",estimated:"Remaining:",convertWav:"Converting to wav..."}},midi:{button:{title:"MIDI (.mid)",description:"Export the MIDI file with the controller and instrument changes applied"}},soundfont:{button:{title:"SoundFont (.sf2)",description:"Export a SoundFont2 file"},options:{title:"SF export options",confirm:"Export",trim:{title:"Trim",description:"Export the soundfont trimmed to only use instruments and samples that the MIDI file uses"},compress:{title:"Compress",description:"Compress samples with lossy Ogg Vorbis compression if uncompressed. Significantly reduces the file size.If the soundfont was already compressed, it won't be uncompressed even if this option is disabled"},quality:{title:"Compression quality",description:"The quality of compression. Higher is better"}}},rmidi:{button:{title:"Embedded MIDI (.rmi)",description:"Export the modified MIDI with the embedded trimmed soundfont as a single file. Note that this format isn't widely supported"},progress:{title:"Exporting embeded MIDI...",loading:"Loading Soundfont and MIDI...",modifyingMIDI:"Modifying MIDI...",modifyingSoundfont:"Trimming Soundfont...",saving:"Saving RMIDI...",done:"Done!"},options:{title:"RMIDI export options",confirm:"Export",compress:{title:"Compress",description:"Compress the Soundfont with lossy Ogg Vorbis compression. Significantly reduces the file size. Recommended."},quality:{title:"Compression quality",description:"The quality of compression. Higher is better."},bankOffset:{title:"Bank offset",description:"The bank offset of the file. Value of 0 is recommended. Only change if you know what you're doing."},adjust:{title:"Adjust MIDI",description:"Adjusts the MIDI file to the SoundFont. Leave this on unless you know what you're doing."}}}},metadata:{songTitle:{title:"Title:",description:"The song's title"},album:{title:"Album:",description:"The song's album"},artist:{title:"Artist:",description:"The song's artist"},albumCover:{title:"Album cover:",description:"The song's album cover"},creationDate:{title:"Created:",description:"The song's creation date"},genre:{title:"Genre:",description:"The song's genre"},comment:{title:"Comment:",description:"The song's comment"},duration:{title:"Duration:",description:"The song's duration"}}}};var yw={localeName:"English",titleMessage:"SpessaSynth: SoundFont2 Javascript Synthesizer",demoTitleMessage:"SpessaSynth: SoundFont2 Javascript Synthesizer Online Demo",synthInit:{genericLoading:"Loading...",loadingSoundfont:"Loading SoundFont...",loadingBundledSoundfont:"Loading bundled SoundFont...",startingSynthesizer:"Starting Synthesizer...",savingSoundfont:"Saving SoundFont for reuse...",noWebAudio:"Your browser does not support Web Audio.",done:"Ready!"},midiUploadButton:"Upload your MIDI files",exportAudio:Qw,yes:"Yes",no:"No",demoSoundfontUploadButton:"Upload the soundfont",demoGithubPage:"Project's page",demoSongButton:"Demo Song",credits:"Credits",dropPrompt:"Drop files here...",warnings:{outOfMemory:"Your browser ran out of memory. Consider using Firefox or SF3 soundfont instead. (see console for error).",noMidiSupport:"No MIDI ports detected, this functionality will be disabled.",chromeMobile:"SpessaSynth performs poorly on Chrome Mobile. Consider using Firefox Android instead.",warning:"Warning"},hideTopBar:{title:"Hide top bar",description:"Hide the top (title) bar to provide a more seamless experience"},convertDls:{title:"DLS Conversion",message:"Looks like you've uploaded a DLS file. Do you want to convert it to SF2?"},musicPlayerMode:mw,settings:Ew,synthesizerController:Bw,sequencerController:pw};var ww={title:"Ustawienia wizualizacji",noteFallingTime:{title:"Czas spadania nut (ms)",description:"Jak szybko spadaj\u0105 z g\xF3ry nuty (w milisekundach)"},waveformThickness:{title:"Grubo\u015B\u0107 lini fal (px)",description:"Jak grube s\u0105 linie fal d\u017Awi\u0119kowych"},waveformSampleSize:{title:"Rozmiar pr\xF3bki fali",description:"Jak szczeg\xF3\u0142owe s\u0105 linei fal d\u017Awi\u0119kowcyh (Uwaga: wysokie warto\u015Bci mog\u0105 pogorszy\u0107 wydajno\u015B\u0107)"},waveformAmplifier:{title:"Wzmacniasz fal",description:"Jak '\u017Cywe' s\u0105 fale. Kontroluje ich amplitud\u0119"},toggleWaveformsRendering:{title:"W\u0142\u0105cz rysowanie fal",description:"W\u0142\u0105cz rysowanie fal d\u017Awi\u0119kowych (16-tu kolorowych linii z ty\u0142u)"},toggleNotesRendering:{title:"W\u0142\u0105cz rysowanie nut",description:"W\u0142\u0105cz rysowanie spadaj\u0105cych nut podczas odtwarzania pliku MIDI"},toggleDrawingActiveNotes:{title:"W\u0142\u0105cz rysowanie aktywnych nut",description:"W\u0142\u0105cz efekt pod\u015Bwietlania si\u0119 nut przy aktywacji"},toggleDrawingVisualPitch:{title:"W\u0142\u0105cz wizualizacj\u0119 wysoko\u015Bci tonu",description:"W\u0142\u0105cz przesuwanie nut w lewo lub w prawo gdy wysoko\u015B\u0107 nut jest zmieniana"},toggleStabilizeWaveforms:{title:"W\u0142\u0105cz stabilizacj\u0119 fal",description:"W\u0142\u0105cz stabilizowanie fal d\u017Awi\u0119kowych"}};var kw={title:"Ustawienia pianina",selectedChannel:{title:"Wybrany kana\u0142",description:"Kana\u0142, do kt\xF3rego b\u0119dzie pod\u0142\u0105czone pianino",channelOption:"Kana\u0142 {0}"},keyboardSize:{title:"Rozmiar pianina",description:"Zakres klawiszy widocznych na pianine. Dostosowuje r\xF3wnie\u017C szeroko\u015B\u0107 wizualizowanych nut",full:"128 klawiszy (pe\u0142en zakres)",piano:"88 klawiszy (fortepian)",fiveOctaves:"5 oktaw",twoOctaves:"Dwie oktawy",useSongKeyRange:"U\u017Cyj zakresu utworu"},toggleTheme:{title:"W\u0142\u0105cz ciemny motyw",description:"W\u0142\u0105cz ciemny motyw wbudowanego pianina"},show:{title:"Poka\u017C",description:"Poka\u017C/ukryj pianino"}};var vw={title:"Ustawienia MIDI",midiInput:{title:"Wej\u015Bcie MIDI",description:"Port MIDI, kt\xF3ry b\u0119dzie nas\u0142uchiwany",disabled:"Wy\u0142\u0105czony"},midiOutput:{title:"Wyj\u015Bcie MIDI",description:"Port MIDI, do kt\xF3rego b\u0119dzie grany utw\xF3r",disabled:"U\u017Cyj SpessaSynth"}};var Sw={toggleButton:"Ustawienia",mainTitle:"Ustawienia programu",rendererSettings:ww,keyboardSettings:kw,midiSettings:vw,interfaceSettings:{title:"Ustawienia interfejsu",toggleTheme:{title:"W\u0142\u0105cz ciemny motyw",description:"W\u0142\u0105cz ciemny motyw programu"},selectLanguage:{title:"J\u0119zyk",description:"Zmie\u0144 j\u0119zyk programu"},layoutDirection:{title:"Uk\u0142ad",description:"Kierunek uk\u0142adu wizualizacji i pianina",values:{downwards:"W d\xF3\u0142",upwards:"W g\xF3r\u0119",leftToRight:"Od lewej do prawej",rightToLeft:"Od prawej do lewej"}}}};var bw={toggleButton:{title:"Prze\u0142\u0105cz tryb odtwarzania muzyki",description:"Prze\u0142\u0105cz uproszczon\u0105 wersj\u0119 interfejsu, ukrywaj\u0105c pianino i wizualizacj\u0119 nut"},currentlyPlaying:"Teraz gramy:",nothingPlaying:"Nic teraz nie gra",nothingPlayingCopyright:"Wgraj jakie\u015B MIDI!"};var Dw={voiceMeter:{title:"D\u017Awi\u0119ki: ",description:"Aktualna ilo\u015B\u0107 d\u017Awi\u0119k\xF3w na kanale {0}"},pitchBendMeter:{title:"Wysoko\u015B\u0107: ",description:"Aktualna wysoko\u015B\u0107 tonu na kanale {0}"},panMeter:{title:"Stereo: ",description:"Aktualny efekt stereo na kanale {0} (kliknij prawym aby zablokowa\u0107)"},expressionMeter:{title:"Ekspresja: ",description:"Aktualna ekspresja (g\u0142o\u015Bno\u015Bc) kana\u0142u {0} (kliknij prawym aby zablokowa\u0107)"},volumeMeter:{title:"G\u0142o\u015Bno\u015B\u0107: ",description:"Aktualna g\u0142o\u015Bno\u015B\u0107 kana\u0142u {0} (kliknij prawym aby zablokowa\u0107)"},modulationWheelMeter:{title:"Modulacja: ",description:"Aktualna g\u0142\u0119boko\u015B\u0107 modulacji (zazwyczaj vibrato) kana\u0142u {0} (kliknij prawym aby zablokowa\u0107)"},chorusMeter:{title:"Ch\xF3r: ",description:"Aktualny efekt ch\xF3ru na kanale {0} (kliknij prawym aby zablokowa\u0107)"},reverbMeter:{title:"Pog\u0142os: ",description:"Aktualny efekt pog\u0142osu na kanale {0} (kliknij prawym aby zablokowa\u0107)"},filterMeter:{title:"Filtr: ",description:"Aktualny poziom filtra niskopasmowego na kanale {0} (kliknij prawym aby zablokowa\u0107)"},transposeMeter:{title:"Transpozycja: ",description:"Aktualna transpozycja (przesuni\u0119cie klawiszy) kana\u0142u {0}"},presetSelector:{description:"Zmie\u0144 patch (instrument), kt\xF3rego u\u017Cywa kana\u0142 {0}",selectionPrompt:"Zmie\u0144 instrument kana\u0142u {0}",searchPrompt:"Wyszukaj..."},presetReset:{description:"Odblokuj kana\u0142 {0}, aby program m\xF3g\u0142 go zmienia\u0107"},soloButton:{description:"Solo na kanale {0}"},muteButton:{description:"Wycisz/odcisz kana\u0142 {0}"},drumToggleButton:{description:"Prze\u0142\u0105cz perkusj\u0119 na kanale {0}"}};var _w={toggleButton:{title:"Kontroler syntezatora",description:"Poka\u017C kontroler syntezatora"},mainVoiceMeter:{title:"D\u017Awi\u0119ki: ",description:"Ca\u0142kowita ilo\u015B\u0107 aktualnie odtwarzanych d\u017Awi\u0119k\xF3w"},mainVolumeMeter:{title:"G\u0142o\u015Bno\u015B\u0107: ",description:"Aktualna g\u0142o\u015Bno\u015B\u0107 syntezatora"},mainPanMeter:{title:"Stereo: ",description:"Aktualna pozycja stereo syntezatora"},mainTransposeMeter:{title:"Transpozycja: ",description:"Transpozycjonuje syntezator (w semitonach)"},midiPanic:{title:"MIDI Panic",description:"Zatrzymuje wszystkie d\u017Awi\u0119ki"},systemReset:{title:"Reset systemu",description:"Resetuje wszystkie kontroleru do ich domy\u015Blnych warto\u015Bci"},blackMidiMode:{title:"Tryb black MIDI",description:"Prze\u0142\u0105cza tryb wysokiej wydajno\u015Bci, upraszczaj\u0105c wygl\u0105d i pogarszaj\u0105c jako\u015B\u0107 d\u017Awi\u0119ku"},disableCustomVibrato:{title:"Wy\u0142\u0105cz niestandardowe vibrato",description:"Wy\u0142\u0105cza niestandardowe (NRPN) vibrato. Wymaga prze\u0142adowania strony aby je ponownie w\u0142\u0105czy\u0107"},helpButton:{title:"Pomoc",description:"Poka\u017C instrukcj\u0119 obs\u0142ugi"},interpolation:{description:"Wybierz metod\u0119 interpolacji",linear:"Interpolacja liniowa",nearestNeighbor:"Najbli\u017Cszy s\u0105siad",cubic:"Interpolacja Sze\u015Bcienna"},channelController:Dw};var xw={previousSong:"Poprzedni utw\xF3r",nextSong:"Nast\u0119pny utw\xF3r",loopThis:"Odtwarzaj w p\u0119tli",playPause:"Odtw\xF3rz/wstrzymaj",lyrics:{show:"Poka\u017C tekst",title:"Odczytany tekst",noLyrics:"Brak dost\u0119pnego tekstu...",otherText:{title:"Inny tekst"}}};var Lw={button:{title:"Zapisz",description:"Zapisz w r\xF3\u017Cnych formatach"},formats:{title:"Wybierz format",formats:{wav:{button:{title:"Audio WAV (.wav)",description:"Eksportuj utw\xF3r ze zmianami jako plik audio .wav"},options:{title:"Opcje eksportu audio",confirm:"Eksportuj",normalizeVolume:{title:"Normalizuj g\u0142o\u015Bno\u015B\u0107",description:"Eksportuj audio z tak\u0105 sam\u0105 g\u0142o\u015Bno\u015Bci\u0105, niezale\u017Cnie od g\u0142o\u015Bno\u015Bci MIDI."},additionalTime:{title:"Dodatkowy czas (s)",description:"Dodatkowy czas na ko\u0144cu utworu aby pozwoli\u0107 na wyciszenie si\u0119 d\u017Awi\u0119ku. (sekundy)"},separateChannels:{title:"Rozdziel kana\u0142y",description:"Zapisz ka\u017Cdy kana\u0142 w osobnym pliuku. Przydatne dla rzeczy jak widok oscyloskopowy. Nale\u017Cy pami\u0119ta\u0107 \u017Ce to wy\u0142\u0105cza ekfet pog\u0142osu i ch\xF3ru",saving:{title:"Pliki audio kana\u0142\xF3w",save:"Zapisz kana\u0142 {0}"}},loopCount:{title:"Ilo\u015B\u0107 p\u0119tli",description:"Ilo\u015B\u0107 razy zap\u0119tlenia utworu"}},exportMessage:{message:"Eksportowanie audio...",estimated:"Pozosta\u0142o:",convertWav:"Konwertowanie do wav..."}},midi:{button:{title:"MIDI (.mid)",description:"Eksportuj plik MIDI wraz ze zmianami instrument\xF3w i kontroler\xF3w"}},soundfont:{button:{title:"SoundFont (.sf2)",description:"Eksportuj SoundFont"},options:{title:"Opcje eksportu soundfonta",confirm:"Eksportuj",trim:{title:"Zmniejsz",description:"Zmniejsz SoundFont aby zawiera\u0142 tylko klawisze u\u017Cyte w MIDI"},compress:{title:"Kompresuj",description:"Zkompresuj pr\xF3bki kt\xF3re nie s\u0105 zkompresowane przy u\u017Cyciu stratnego kodeka Ogg Vorbis. Znacznie zmniejsza rozmiar pliku.Je\u015Bli soundfont by\u0142 ju\u017C skompresowany, nie zostanie zdekompresowany nawet gdy ta opcja jest wy\u0142\u0105czona"},quality:{title:"Jako\u015B\u0107 kompresji",description:"Jako\u015B\u0107 skompresowanych pr\xF3bek. Im wy\u017Csza tym lepsza"}}},rmidi:{button:{title:"Osadzone MIDI (.rmi)",description:"Eksportuj zmodyfikowane MIDI wraz ze zmniejszonym soundfontem jako jeden plik. Uwaga: ten format nie jest szeroko wspierany"},progress:{title:"Exportowanie osadzonego MIDI...",loading:"Wczytywanie soundfonta i MIDI...",modifyingMIDI:"Modyfikowanie MIDI...",modifyingSoundfont:"Zmniejszanie Soundfonta...",saving:"Zapisywanie RMIDI...",done:"Gotowe!"},options:{title:"Opcje eksportu RMIDI",confirm:"Eksportuj",compress:{title:"Kompresuj",description:"Skompresuj osadzonego soundfonta za pomoc\u0105 stratnego kodeka Ogg Vorbis. Znacznie zmniejsza rozmiar pliku. Zalecane."},quality:{title:"Jako\u015B\u0107 kompresji",description:"Jako\u015B\u0107 skompresowanych pr\xF3bek. Im wy\u017Csza tym lepsza"},bankOffset:{title:"Przesuni\u0119cie banku",description:"Przesuni\u0119cie banku w pliku. Zalecane 0. Zmie\u0144 tylko je\u015Bli wiesz co robisz."},adjust:{title:"Dostosuj MIDI",description:"Dostosuj MIDI do SoundFonta. Pozostaw w\u0142\u0105czone, chyba \u017Ce wiesz co robisz."}}}},metadata:{songTitle:{title:"Tytu\u0142:",description:"Tytu\u0142 utworu"},album:{title:"Album:",description:"Album utworu"},artist:{title:"Tw\xF3rca:",description:"Tw\xF3rca utworu"},albumCover:{title:"Ok\u0142adka albumu:",description:"Ok\u0142adka albumu utworu"},creationDate:{title:"Stworzono:",description:"Data stworzenia utworu"},genre:{title:"Gatunek:",description:"Gatunek utworu"},comment:{title:"Komentarz:",description:"Komentarz do utworu"},duration:{title:"Czas trwania:",description:"Czas trwania utworu"}}}};var Rw={localeName:"Polski",titleMessage:"SpessaSynth: JavaScriptowy Syntezator SoundFont2",demoTitleMessage:"SpessaSynth: JavaScriptowy Syntezator SoundFont2 Wersja Demo",synthInit:{genericLoading:"Wczytywanie...",loadingSoundfont:"Wczytywanie SoundFonta...",loadingBundledSoundfont:"Wczytywanie wbudowanego SoundFonta...",startingSynthesizer:"Uruchamianie syntezatora...",savingSoundfont:"Zapisywanie SoundFonta do przegl\u0105darki...",noWebAudio:"Twoja przegl\u0105darka nie wspiera Web Audio.",done:"Gotowe!"},midiUploadButton:"Wgraj Twoje pliki MIDI",midiRenderButton:{title:"Eksportuj audio",description:"Zapisz audio do pliku WAV lub MIDI"},exportAudio:Lw,yes:"Tak",no:"Nie",demoSoundfontUploadButton:"Wgraj SoundFonta",demoGithubPage:"Strona projektu",demoSongButton:"Piosenka demo",credits:"Tw\xF3rcy",dropPrompt:"Upu\u015B\u0107 pliki tutaj...",warnings:{outOfMemory:"Twojej przegl\u0105darce sko\u0144czy\u0142a si\u0119 pami\u0119\u0107. Rozwa\u017C u\u017Cycie Firefoxa albo plik\xF3w SF3. (Zobacz b\u0142\u0105d w konsoli)",noMidiSupport:"Nie wykryto MIDI. Korzystanie z port\xF3w MIDI nie b\u0119dzie dost\u0119pne.",chromeMobile:"SpessaSynth dzia\u0142a wolno na Chromie na telefon. Rozwa\u017C u\u017Cycie Firefoxa Android.",warning:"Uwaga"},hideTopBar:{title:"Ukryj g\xF3rny pasek",description:"Ukryj pasek tytu\u0142owy w celu poprawy widoczno\u015Bci na pionowych ekranach"},convertDls:{title:"Konwersja DLS",message:"Wygl\u0105da na to, \u017Ce wgra\u0142e\u015B plik DLS. Czy chcesz przekonwertowa\u0107 go do SF2?"},musicPlayerMode:bw,settings:Sw,synthesizerController:_w,sequencerController:xw};var Fw={title:"\u30EC\u30F3\u30C0\u30E9\u30FC\u8A2D\u5B9A",noteFallingTime:{title:"\u30CE\u30FC\u30C8\u306E\u843D\u4E0B\u6642\u9593\uFF08\u30DF\u30EA\u79D2\uFF09",description:"\u30CE\u30FC\u30C8\u304C\u843D\u3061\u308B\u901F\u3055\uFF08\u8996\u899A\u7684\u306B\uFF09"},waveformThickness:{title:"\u6CE2\u5F62\u306E\u7DDA\u306E\u592A\u3055\uFF08\u30D4\u30AF\u30BB\u30EB\uFF09",description:"\u6CE2\u5F62\u306E\u7DDA\u306E\u592A\u3055"},waveformSampleSize:{title:"\u6CE2\u5F62\u306E\u30B5\u30F3\u30D7\u30EB\u30B5\u30A4\u30BA",description:"\u6CE2\u5F62\u306E\u8A73\u7D30\u5EA6\uFF08\u6CE8\uFF1A\u9AD8\u3044\u5024\u306F\u30D1\u30D5\u30A9\u30FC\u30DE\u30F3\u30B9\u306B\u5F71\u97FF\u3092\u4E0E\u3048\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\uFF09"},waveformAmplifier:{title:"\u6CE2\u5F62\u306E\u5897\u5E45\u5668",description:"\u6CE2\u5F62\u306E\u9BAE\u3084\u304B\u3055"},toggleWaveformsRendering:{title:"\u6CE2\u5F62\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u306E\u5207\u308A\u66FF\u3048",description:"\u30C1\u30E3\u30F3\u30CD\u30EB\u6CE2\u5F62\u306E\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u3092\u5207\u308A\u66FF\u3048\u307E\u3059\uFF08\u30AA\u30FC\u30C7\u30A3\u30AA\u3092\u8868\u793A\u3059\u308B\u30AB\u30E9\u30D5\u30EB\u306A\u7DDA\uFF09"},toggleNotesRendering:{title:"\u30CE\u30FC\u30C8\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u306E\u5207\u308A\u66FF\u3048",description:"MIDI\u30D5\u30A1\u30A4\u30EB\u3092\u518D\u751F\u3059\u308B\u969B\u306E\u843D\u4E0B\u30CE\u30FC\u30C8\u306E\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},toggleDrawingActiveNotes:{title:"\u30A2\u30AF\u30C6\u30A3\u30D6\u30CE\u30FC\u30C8\u306E\u63CF\u753B\u3092\u5207\u308A\u66FF\u3048",description:"\u30CE\u30FC\u30C8\u304C\u62BC\u3055\u308C\u305F\u3068\u304D\u306B\u5149\u308A\u8F1D\u304F\u63CF\u753B\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},toggleDrawingVisualPitch:{title:"\u30D3\u30B8\u30E5\u30A2\u30EB\u30D4\u30C3\u30C1\u63CF\u753B\u306E\u5207\u308A\u66FF\u3048",description:"\u30D4\u30C3\u30C1\u30DB\u30A4\u30FC\u30EB\u304C\u9069\u7528\u3055\u308C\u305F\u3068\u304D\u306B\u30CE\u30FC\u30C8\u304C\u5DE6\u53F3\u306B\u30B9\u30E9\u30A4\u30C9\u3059\u308B\u63CF\u753B\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},toggleStabilizeWaveforms:{title:"\u6CE2\u5F62\u3092\u5B89\u5B9A\u3055\u305B\u308B",description:"\u30AA\u30FC\u30C7\u30A3\u30AA\u6CE2\u5F62\u3092\u5B89\u5B9A\u3055\u305B\u308B\u8A2D\u5B9A\u3092\u5207\u308A\u66FF\u3048\u3001\u6CE2\u5F62\u3092\u56FA\u5B9A\u3057\u307E\u3059\u3002"}};var Mw={title:"\u30AD\u30FC\u30DC\u30FC\u30C9\u8A2D\u5B9A",selectedChannel:{title:"\u9078\u629E\u3055\u308C\u305F\u30C1\u30E3\u30F3\u30CD\u30EB",description:"\u30AD\u30FC\u30DC\u30FC\u30C9\u304C\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u9001\u4FE1\u3059\u308B\u30C1\u30E3\u30F3\u30CD\u30EB",channelOption:"\u30C1\u30E3\u30F3\u30CD\u30EB {0}"},keyboardSize:{title:"\u30AD\u30FC\u30DC\u30FC\u30C9\u30B5\u30A4\u30BA",description:"\u30AD\u30FC\u30DC\u30FC\u30C9\u306B\u8868\u793A\u3055\u308C\u308B\u30AD\u30FC\u306E\u7BC4\u56F2\u3002MIDI\u30CE\u30FC\u30C8\u306E\u30B5\u30A4\u30BA\u306B\u5FDC\u3058\u3066\u8ABF\u6574\u3055\u308C\u307E\u3059",full:"128\u30AD\u30FC\uFF08\u5168\u4F53\uFF09",piano:"88\u30AD\u30FC\uFF08\u30D4\u30A2\u30CE\uFF09",fiveOctaves:"5\u30AA\u30AF\u30BF\u30FC\u30D6",useSongKeyRange:"\u66F2\u306E\u30AD\u30FC\u7BC4\u56F2\u3092\u4F7F\u7528",twoOctaves:"\u30AA\u30AF\u30BF\u30FC\u30D6"},toggleTheme:{title:"\u30C6\u30FC\u30DE\u3092\u5207\u308A\u66FF\u3048",description:"\u30AD\u30FC\u30DC\u30FC\u30C9\u306E\u30C6\u30FC\u30DE\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},show:{title:"\u8868\u793A",description:"MIDI\u30AD\u30FC\u30DC\u30FC\u30C9\u3092\u8868\u793A/\u975E\u8868\u793A"}};var Tw={title:"MIDI\u8A2D\u5B9A",midiInput:{title:"MIDI\u5165\u529B",description:"MIDI\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u53D7\u4FE1\u3059\u308B\u30DD\u30FC\u30C8",disabled:"\u7121\u52B9"},midiOutput:{title:"MIDI\u51FA\u529B",description:"MIDI\u30D5\u30A1\u30A4\u30EB\u3092\u518D\u751F\u3059\u308B\u30DD\u30FC\u30C8",disabled:"SpessaSynth\u3092\u4F7F\u7528"}};var Nw={toggleButton:"\u8A2D\u5B9A",mainTitle:"\u30D7\u30ED\u30B0\u30E9\u30E0\u8A2D\u5B9A",rendererSettings:Fw,keyboardSettings:Mw,midiSettings:Tw,interfaceSettings:{title:"\u30A4\u30F3\u30BF\u30FC\u30D5\u30A7\u30FC\u30B9\u8A2D\u5B9A",toggleTheme:{title:"\u30C6\u30FC\u30DE\u3092\u5207\u308A\u66FF\u3048",description:"\u30D7\u30ED\u30B0\u30E9\u30E0\u306E\u30C6\u30FC\u30DE\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},selectLanguage:{title:"\u8A00\u8A9E",description:"\u30D7\u30ED\u30B0\u30E9\u30E0\u306E\u8A00\u8A9E\u3092\u5909\u66F4\u3057\u307E\u3059"},layoutDirection:{title:"\u30EC\u30A4\u30A2\u30A6\u30C8\u306E\u65B9\u5411",description:"\u30EC\u30F3\u30C0\u30E9\u30FC\u3068\u30AD\u30FC\u30DC\u30FC\u30C9\u306E\u30EC\u30A4\u30A2\u30A6\u30C8\u65B9\u5411",values:{downwards:"\u4E0B\u5411\u304D",upwards:"\u4E0A\u5411\u304D",leftToRight:"\u5DE6\u304B\u3089\u53F3",rightToLeft:"\u53F3\u304B\u3089\u5DE6"}}}};var Gw={toggleButton:{title:"\u97F3\u697D\u30D7\u30EC\u30A4\u30E4\u30FC\u30E2\u30FC\u30C9\u306E\u5207\u308A\u66FF\u3048",description:"\u7C21\u7565\u5316\u3055\u308C\u305FUI\u30D0\u30FC\u30B8\u30E7\u30F3\u306B\u5207\u308A\u66FF\u3048\u3001\u30AD\u30FC\u30DC\u30FC\u30C9\u3068\u30CE\u30FC\u30C8\u306E\u8996\u899A\u5316\u3092\u96A0\u3057\u307E\u3059"},currentlyPlaying:"\u518D\u751F\u4E2D:",nothingPlaying:"\u518D\u751F\u3057\u3066\u3044\u308B\u3082\u306E\u306F\u3042\u308A\u307E\u305B\u3093",nothingPlayingCopyright:"MIDI\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u3057\u3066\u304F\u3060\u3055\u3044\uFF01"};var Uw={voiceMeter:{title:"\u30DC\u30A4\u30B9: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u3067\u518D\u751F\u4E2D\u306E\u30DC\u30A4\u30B9\u306E\u73FE\u5728\u306E\u6570"},pitchBendMeter:{title:"\u30D4\u30C3\u30C1: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u73FE\u5728\u306E\u30D4\u30C3\u30C1\u30D9\u30F3\u30C9"},panMeter:{title:"\u30D1\u30F3: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u73FE\u5728\u306E\u30B9\u30C6\u30EC\u30AA\u30D1\u30F3\u30CB\u30F3\u30B0\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},expressionMeter:{title:"\u30A8\u30AF\u30B9\u30D7\u30EC\u30C3\u30B7\u30E7\u30F3: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u73FE\u5728\u306E\u8868\u73FE\uFF08\u97F3\u91CF\uFF09\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},volumeMeter:{title:"\u30DC\u30EA\u30E5\u30FC\u30E0: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u73FE\u5728\u306E\u97F3\u91CF\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},modulationWheelMeter:{title:"\u30E2\u30B8\u30E5\u30EC\u30FC\u30B7\u30E7\u30F3\u30DB\u30A4\u30FC\u30EB: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u73FE\u5728\u306E\u30E2\u30B8\u30E5\u30EC\u30FC\u30B7\u30E7\u30F3\uFF08\u901A\u5E38\u306F\u30D3\u30D6\u30E9\u30FC\u30C8\uFF09\u306E\u6DF1\u3055\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},chorusMeter:{title:"\u30B3\u30FC\u30E9\u30B9: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u73FE\u5728\u306E\u30B3\u30FC\u30E9\u30B9\u30A8\u30D5\u30A7\u30AF\u30C8\u306E\u30EC\u30D9\u30EB\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},reverbMeter:{title:"\u30EA\u30D0\u30FC\u30D6: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u73FE\u5728\u306E\u30EA\u30D0\u30FC\u30D6\u30A8\u30D5\u30A7\u30AF\u30C8\u306E\u30EC\u30D9\u30EB\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},filterMeter:{title:"\u30D5\u30A3\u30EB\u30BF\u30FC: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u30ED\u30FC\u30D1\u30B9\u30D5\u30A3\u30EB\u30BF\u30FC\u306E\u30AB\u30C3\u30C8\u30AA\u30D5\u306E\u73FE\u5728\u306E\u30EC\u30D9\u30EB (\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF)"},transposeMeter:{title:"\u30C8\u30E9\u30F3\u30B9\u30DD\u30FC\u30BA: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u73FE\u5728\u306E\u79FB\u8ABF\uFF08\u30AD\u30FC\u30B7\u30D5\u30C8\uFF09"},presetSelector:{description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u304C\u4F7F\u7528\u3059\u308B\u30D1\u30C3\u30C1\uFF08\u697D\u5668\uFF09\u3092\u5909\u66F4",selectionPrompt:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u697D\u5668\u3092\u5909\u66F4\u3059\u308B",searchPrompt:"\u691C\u7D22..."},presetReset:{description:"\u30D7\u30ED\u30B0\u30E9\u30E0\u5909\u66F4\u3092\u8A31\u53EF\u3059\u308B\u305F\u3081\u306B\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u30ED\u30C3\u30AF\u3092\u89E3\u9664"},soloButton:{description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u3092\u5358\u72EC\u518D\u751F"},muteButton:{description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u3092\u30DF\u30E5\u30FC\u30C8/\u30DF\u30E5\u30FC\u30C8\u89E3\u9664"},drumToggleButton:{description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u3067\u30C9\u30E9\u30E0\u3092\u5207\u308A\u66FF\u3048"}};var Pw={toggleButton:{title:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u30FC",description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u30FC\u3092\u8868\u793A"},mainVoiceMeter:{title:"\u30DC\u30A4\u30B9: ",description:"\u73FE\u5728\u518D\u751F\u4E2D\u306E\u30DC\u30A4\u30B9\u306E\u7DCF\u6570"},mainVolumeMeter:{title:"\u30DC\u30EA\u30E5\u30FC\u30E0: ",description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u306E\u73FE\u5728\u306E\u30DE\u30B9\u30BF\u30FC\u30DC\u30EA\u30E5\u30FC\u30E0"},mainPanMeter:{title:"\u30D1\u30F3: ",description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u306E\u73FE\u5728\u306E\u30DE\u30B9\u30BF\u30FC\u30B9\u30C6\u30EC\u30AA\u30D1\u30F3\u30CB\u30F3\u30B0"},mainTransposeMeter:{title:"\u30C8\u30E9\u30F3\u30B9\u30DD\u30FC\u30BA: ",description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u3092\u79FB\u8ABF\u3057\u307E\u3059\uFF08\u30BB\u30DF\u30C8\u30FC\u30F3\u307E\u305F\u306F\u30AD\u30FC\uFF09"},midiPanic:{title:"MIDI\u30D1\u30CB\u30C3\u30AF",description:"\u3059\u3079\u3066\u306E\u30DC\u30A4\u30B9\u3092\u5373\u5EA7\u306B\u505C\u6B62"},systemReset:{title:"\u30B7\u30B9\u30C6\u30E0\u30EA\u30BB\u30C3\u30C8",description:"\u3059\u3079\u3066\u306E\u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u30FC\u3092\u30C7\u30D5\u30A9\u30EB\u30C8\u5024\u306B\u30EA\u30BB\u30C3\u30C8"},blackMidiMode:{title:"\u30D6\u30E9\u30C3\u30AFMIDI\u30E2\u30FC\u30C9",description:"\u9AD8\u6027\u80FD\u30E2\u30FC\u30C9\u3092\u5207\u308A\u66FF\u3048\u3001\u898B\u305F\u76EE\u3092\u7C21\u7D20\u5316\u3057\u3001\u30CE\u30FC\u30C8\u3092\u901F\u304F\u6D88\u53BB"},disableCustomVibrato:{title:"\u30AB\u30B9\u30BF\u30E0\u30D3\u30D6\u30E9\u30FC\u30C8\u3092\u7121\u52B9\u5316",description:"\u30AB\u30B9\u30BF\u30E0\uFF08NRPN\uFF09\u30D3\u30D6\u30E9\u30FC\u30C8\u3092\u6C38\u4E45\u306B\u7121\u52B9\u5316\u3002\u518D\u5EA6\u6709\u52B9\u5316\u3059\u308B\u306B\u306F\u30A6\u30A7\u30D6\u30B5\u30A4\u30C8\u3092\u30EA\u30ED\u30FC\u30C9"},helpButton:{title:"\u30D8\u30EB\u30D7",description:"\u4F7F\u7528\u30AC\u30A4\u30C9\u3092\u8868\u793A\u3057\u307E\u3059"},interpolation:{description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u306E\u88DC\u9593\u65B9\u6CD5\u3092\u9078\u629E",linear:"\u30EA\u30CB\u30A2",nearestNeighbor:"\u306A\u3057"},channelController:Uw};var Ow={previousSong:"\u524D\u306E\u66F2",nextSong:"\u6B21\u306E\u66F2",loopThis:"\u3053\u306E\u66F2\u3092\u30EB\u30FC\u30D7",playPause:"\u518D\u751F/\u4E00\u6642\u505C\u6B62",lyrics:{show:"\u6B4C\u8A5E\u3092\u8868\u793A",title:"\u30C7\u30B3\u30FC\u30C9\u3055\u308C\u305F\u30C6\u30AD\u30B9\u30C8",noLyrics:"\u6B4C\u8A5E\u304C\u3042\u308A\u307E\u305B\u3093...",otherText:{title:"\u305D\u306E\u4ED6\u306E\u30C6\u30AD\u30B9\u30C8"}}};var qw={button:{title:"\u97F3\u58F0\u3092\u4FDD\u5B58",description:"\u97F3\u58F0\u3092WAV\u3001MIDI\u3001SF2\u3001\u307E\u305F\u306FRMI\u30D5\u30A1\u30A4\u30EB\u3068\u3057\u3066\u4FDD\u5B58"},formats:{title:"\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u3092\u9078\u629E",formats:{wav:{button:{title:"WAV\u97F3\u58F0 (.wav)",description:"\u5909\u66F4\u3092\u52A0\u3048\u305F\u66F2\u3092.wav\u30AA\u30FC\u30C7\u30A3\u30AA\u30D5\u30A1\u30A4\u30EB\u3068\u3057\u3066\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059"},options:{title:"WAV\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u30AA\u30D7\u30B7\u30E7\u30F3",confirm:"\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",normalizeVolume:{title:"\u97F3\u91CF\u306E\u6B63\u898F\u5316",description:"MIDI\u306E\u97F3\u91CF\u306B\u304B\u304B\u308F\u3089\u305A\u3001\u97F3\u91CF\u3092\u4E00\u5B9A\u306B\u4FDD\u3061\u307E\u3059\u3002\u63A8\u5968\u8A2D\u5B9A\u3067\u3059\u3002"},additionalTime:{title:"\u8FFD\u52A0\u6642\u9593\uFF08\u79D2\uFF09",description:"\u97F3\u304C\u30D5\u30A7\u30FC\u30C9\u30A2\u30A6\u30C8\u3059\u308B\u305F\u3081\u306B\u66F2\u306E\u6700\u5F8C\u306B\u8FFD\u52A0\u3059\u308B\u6642\u9593\u3067\u3059\u3002\uFF08\u79D2\uFF09"},separateChannels:{title:"\u30C1\u30E3\u30F3\u30CD\u30EB\u3092\u5206\u5272",description:"\u5404\u30C1\u30E3\u30F3\u30CD\u30EB\u3092\u5225\u3005\u306E\u30D5\u30A1\u30A4\u30EB\u3068\u3057\u3066\u4FDD\u5B58\u3057\u307E\u3059\u3002\u30AA\u30B7\u30ED\u30B9\u30B3\u30FC\u30D7\u30D3\u30E5\u30FC\u30A2\u306A\u3069\u306B\u4FBF\u5229\u3067\u3059\u3002\u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u4F7F\u7528\u3059\u308B\u3068\u30EA\u30D0\u30FC\u30D6\u3084\u30B3\u30FC\u30E9\u30B9\u304C\u7121\u52B9\u306B\u306A\u308A\u307E\u3059\u3002",saving:{title:"\u30C1\u30E3\u30F3\u30CD\u30EB\u30D5\u30A1\u30A4\u30EB",save:"\u30C1\u30E3\u30F3\u30CD\u30EB{0}\u3092\u4FDD\u5B58"}},loopCount:{title:"\u30EB\u30FC\u30D7\u56DE\u6570",description:"\u66F2\u3092\u30EB\u30FC\u30D7\u3059\u308B\u56DE\u6570"}},exportMessage:{message:"WAV\u97F3\u58F0\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u3066\u3044\u307E\u3059...",estimated:"\u6B8B\u308A\u6642\u9593:",convertWav:"WAV\u306B\u5909\u63DB\u4E2D..."}},midi:{button:{title:"MIDI (.mid)",description:"\u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u30FC\u3068\u697D\u5668\u306E\u5909\u66F4\u304C\u9069\u7528\u3055\u308C\u305FMIDI\u30D5\u30A1\u30A4\u30EB\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059"}},soundfont:{button:{title:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8 (.sf2)",description:"SoundFont2\u30D5\u30A1\u30A4\u30EB\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059"},options:{title:"SF\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u30AA\u30D7\u30B7\u30E7\u30F3",confirm:"\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",trim:{title:"\u30C8\u30EA\u30DF\u30F3\u30B0",description:"MIDI\u30D5\u30A1\u30A4\u30EB\u3067\u4F7F\u7528\u3055\u308C\u3066\u3044\u308B\u697D\u5668\u3068\u30B5\u30F3\u30D7\u30EB\u3060\u3051\u306B\u30C8\u30EA\u30DF\u30F3\u30B0\u3055\u308C\u305F\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059"},compress:{title:"\u5727\u7E2E",description:"\u672A\u5727\u7E2E\u306E\u5834\u5408\u306F\u3001Ogg Vorbis\u306E\u30ED\u30B9\u5727\u7E2E\u3067\u30B5\u30F3\u30D7\u30EB\u3092\u5727\u7E2E\u3057\u307E\u3059\u3002\u30D5\u30A1\u30A4\u30EB\u30B5\u30A4\u30BA\u304C\u5927\u5E45\u306B\u524A\u6E1B\u3055\u308C\u307E\u3059\u3002\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u304C\u3059\u3067\u306B\u5727\u7E2E\u3055\u308C\u3066\u3044\u308B\u5834\u5408\u3001\u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u7121\u52B9\u306B\u3057\u3066\u3082\u518D\u5727\u7E2E\u3055\u308C\u308B\u3053\u3068\u306F\u3042\u308A\u307E\u305B\u3093"},quality:{title:"\u5727\u7E2E\u54C1\u8CEA",description:"\u5727\u7E2E\u306E\u54C1\u8CEA\u3067\u3059\u3002\u9AD8\u3044\u307B\u3069\u826F\u3044\u3067\u3059"}}},rmidi:{button:{title:"\u57CB\u3081\u8FBC\u307FMIDI (.rmi)",description:"\u5909\u66F4\u3055\u308C\u305FMIDI\u3068\u30C8\u30EA\u30DF\u30F3\u30B0\u3055\u308C\u305F\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u30921\u3064\u306E\u30D5\u30A1\u30A4\u30EB\u306B\u57CB\u3081\u8FBC\u3093\u3067\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059\u3002\u3053\u306E\u5F62\u5F0F\u306F\u5E83\u304F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u306A\u3044\u3053\u3068\u306B\u6CE8\u610F\u3057\u3066\u304F\u3060\u3055\u3044"},progress:{title:"\u57CB\u3081\u8FBC\u307E\u308C\u305FMIDI\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u4E2D...",loading:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3068MIDI\u3092\u8AAD\u307F\u8FBC\u307F\u4E2D...",modifyingMIDI:"MIDI\u3092\u4FEE\u6B63\u4E2D...",modifyingSoundfont:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u30C8\u30EA\u30DF\u30F3\u30B0\u4E2D...",saving:"RMIDI\u3092\u4FDD\u5B58\u4E2D...",done:"\u5B8C\u4E86\u3057\u307E\u3057\u305F\uFF01"},options:{title:"RMIDI\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u30AA\u30D7\u30B7\u30E7\u30F3",confirm:"\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",compress:{title:"\u5727\u7E2E",description:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092Ogg Vorbis\u306E\u30ED\u30B9\u5727\u7E2E\u3067\u5727\u7E2E\u3057\u307E\u3059\u3002\u30D5\u30A1\u30A4\u30EB\u30B5\u30A4\u30BA\u304C\u5927\u5E45\u306B\u524A\u6E1B\u3055\u308C\u307E\u3059\u3002\u63A8\u5968\u8A2D\u5B9A\u3067\u3059\u3002"},quality:{title:"\u5727\u7E2E\u54C1\u8CEA",description:"\u5727\u7E2E\u306E\u54C1\u8CEA\u3067\u3059\u3002\u9AD8\u3044\u307B\u3069\u826F\u3044\u3067\u3059\u3002"},bankOffset:{title:"\u30D0\u30F3\u30AF\u30AA\u30D5\u30BB\u30C3\u30C8",description:"\u30D5\u30A1\u30A4\u30EB\u306E\u30D0\u30F3\u30AF\u30AA\u30D5\u30BB\u30C3\u30C8\u3067\u3059\u30020\u306E\u5024\u304C\u63A8\u5968\u3055\u308C\u307E\u3059\u3002\u5909\u66F4\u306F\u614E\u91CD\u306B\u884C\u3063\u3066\u304F\u3060\u3055\u3044\u3002"},adjust:{title:"MIDI\u3092\u8ABF\u6574",description:"MIDI\u30D5\u30A1\u30A4\u30EB\u3092\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u306B\u5408\u308F\u305B\u3066\u8ABF\u6574\u3057\u307E\u3059\u3002\u7279\u5225\u306A\u7406\u7531\u304C\u306A\u3044\u9650\u308A\u3001\u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u30AA\u30F3\u306E\u307E\u307E\u306B\u3057\u3066\u304F\u3060\u3055\u3044\u3002"}}}},metadata:{songTitle:{title:"\u30BF\u30A4\u30C8\u30EB:",description:"\u66F2\u306E\u30BF\u30A4\u30C8\u30EB"},album:{title:"\u30A2\u30EB\u30D0\u30E0:",description:"\u66F2\u306E\u30A2\u30EB\u30D0\u30E0"},artist:{title:"\u30A2\u30FC\u30C6\u30A3\u30B9\u30C8:",description:"\u66F2\u306E\u30A2\u30FC\u30C6\u30A3\u30B9\u30C8"},albumCover:{title:"\u30A2\u30EB\u30D0\u30E0\u30AB\u30D0\u30FC:",description:"\u66F2\u306E\u30A2\u30EB\u30D0\u30E0\u30AB\u30D0\u30FC"},creationDate:{title:"\u4F5C\u6210\u65E5:",description:"\u66F2\u306E\u4F5C\u6210\u65E5"},genre:{title:"\u30B8\u30E3\u30F3\u30EB:",description:"\u66F2\u306E\u30B8\u30E3\u30F3\u30EB"},comment:{title:"\u30B3\u30E1\u30F3\u30C8:",description:"\u66F2\u306E\u30B3\u30E1\u30F3\u30C8"},duration:{title:"\u9577\u3055:",description:"\u66F2\u306E\u9577\u3055"}}}};var Hw={localeName:"\u65E5\u672C\u8A9E",titleMessage:"SpessaSynth: SoundFont2 Javascript \u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC",demoTitleMessage:"SpessaSynth: SoundFont2 Javascript \u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC \u30AA\u30F3\u30E9\u30A4\u30F3\u30C7\u30E2",synthInit:{genericLoading:"\u8AAD\u307F\u8FBC\u307F\u4E2D...",loadingSoundfont:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u8AAD\u307F\u8FBC\u3093\u3067\u3044\u307E\u3059...",loadingBundledSoundfont:"\u30D0\u30F3\u30C9\u30EB\u3055\u308C\u305F\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u8AAD\u307F\u8FBC\u3093\u3067\u3044\u307E\u3059...",startingSynthesizer:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u3092\u8D77\u52D5\u3057\u3066\u3044\u307E\u3059...",savingSoundfont:"\u518D\u5229\u7528\u306E\u305F\u3081\u306B\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u4FDD\u5B58\u3057\u3066\u3044\u307E\u3059...",noWebAudio:"\u304A\u4F7F\u3044\u306E\u30D6\u30E9\u30A6\u30B6\u306FWeb Audio\u3092\u30B5\u30DD\u30FC\u30C8\u3057\u3066\u3044\u307E\u305B\u3093\u3002",done:"\u6E96\u5099\u5B8C\u4E86\uFF01"},midiUploadButton:"MIDI\u30D5\u30A1\u30A4\u30EB\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9",exportAudio:qw,yes:"\u306F\u3044",no:"\u3044\u3044\u3048",demoSoundfontUploadButton:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9",demoGithubPage:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30DA\u30FC\u30B8",demoSongButton:"\u30C7\u30E2\u30BD\u30F3\u30B0",credits:"\u30AF\u30EA\u30A8\u30A4\u30BF\u30FC",dropPrompt:"\u3053\u3053\u306B\u30D5\u30A1\u30A4\u30EB\u3092\u30C9\u30ED\u30C3\u30D7...",warnings:{noMidiSupport:"\u3053\u306E\u30D6\u30E9\u30A6\u30B6\u306FMIDI\u5165\u529B\u3092\u30B5\u30DD\u30FC\u30C8\u3057\u3066\u3044\u306A\u3044\u305F\u3081\u3001\u3053\u306E\u6A5F\u80FD\u306F\u5229\u7528\u3067\u304D\u307E\u305B\u3093\u3002Chrome\u307E\u305F\u306FFirefox\u3092\u4F7F\u7528\u3059\u308B\u3053\u3068\u3092\u691C\u8A0E\u3057\u3066\u304F\u3060\u3055\u3044\u3002",outOfMemory:`\u30D6\u30E9\u30A6\u30B6\u306E\u30E1\u30E2\u30EA\u304C\u4E0D\u8DB3\u3057\u307E\u3057\u305F\u3002Firefox\u3084SF3\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u306E\u4F7F\u7528\u3092\u691C\u8A0E\u3057\u3066\u304F\u3060\u3055\u3044\u3002 \uFF08\u30A8\u30E9\u30FC\u306B\u3064\u3044\u3066\u306F\u30B3\u30F3\u30BD\u30FC\u30EB\u3092\u53C2\u7167\u3057\u3066\u304F\u3060\u3055\u3044\uFF09\u3002`,chromeMobile:`SpessaSynth\u306FChrome Mobile\u3067\u306E\u52D5\u4F5C\u304C\u826F\u304F\u3042\u308A\u307E\u305B\u3093\u3002 @@ -220,7 +220,7 @@ Note : si la banque de sons \xE9tait d\xE9j\xE0 compress\xE9e, cette option ne d Note : ce format n'est pas support\xE9 par tous les lecteurs MIDI`},progress:{title:"Exportation du fichier MIDI embarqu\xE9...",loading:"Chargement de la banque de sons et du fichier MIDI...",modifyingMIDI:"Modification MIDI...",modifyingSoundfont:"All\xE8gement de la banque de sons...",saving:"Cr\xE9ation du fichier RMIDI...",done:"Termin\xE9 !"},options:{title:"Options de l'exportation RMIDI",confirm:"Exporter",compress:{title:"Compression",description:`Compacter les \xE9chantillons gr\xE2ce \xE0 l'algorithme de compression avec pertes Ogg Vorbis Ceci r\xE9duit de mani\xE8re significative le poids du fichier (option recommand\xE9e)`},quality:{title:"Qualit\xE9 de compression",description:"La qualit\xE9 de la compression, une valeur haute augmentant la qualit\xE9 du son mais aussi le poids du fichier"},bankOffset:{title:"D\xE9calage de banque",description:`D\xE9calage des num\xE9ros de banque dans le fichier (une valeur de 0 est recommand\xE9e sauf cas particulier)`},adjust:{title:"Ajustement MIDI",description:`Ajuste le fichier MIDI \xE0 la banque de sons -(il est conseill\xE9 de laisser cette option activ\xE9e sauf cas particulier)`}}}},metadata:{songTitle:{title:"Titre :",description:"Le titre du morceau"},album:{title:"Album :",description:"Le nom de l'album dans lequel se trouve le morceau"},artist:{title:"Artiste :",description:"Le ou les artiste(s) du morceau"},albumCover:{title:"Pochette d'album :",description:"La pochette de l'album dans lequel se trouve le morceau"},creationDate:{title:"Date de cr\xE9ation :",description:"La date de cr\xE9ation du morceau"},genre:{title:"Genre :",description:"Le genre du morceau"},comment:{title:"Commentaire :",description:"Le commentaire li\xE9 au morceau"},duration:{title:"Dur\xE9e :",description:"La dur\xE9e du morceau"}}}};var ek={localeName:"Fran\xE7ais",titleMessage:"SpessaSynth : synth\xE9tiseur compatible SoundFont2, \xE9crit en javascript",demoTitleMessage:"SpessaSynth : d\xE9mo en ligne du synth\xE9tiseur compatible SoundFont2",synthInit:{genericLoading:"Chargement...",loadingSoundfont:"Chargement de la banque de sons...",loadingBundledSoundfont:"Chargement de la banque de sons int\xE9gr\xE9e...",startingSynthesizer:"D\xE9marrage du synth\xE9tiseur...",savingSoundfont:"Sauvegarde de la banque de sons pour une utilisation ult\xE9rieure...",noWebAudio:"Votre navigateur ne supporte pas l'audio par le web.",done:"Pr\xEAt !"},midiUploadButton:"Charger des fichiers MIDI",exportAudio:Xw,yes:"Oui",no:"Non",demoSoundfontUploadButton:"Charger une banque de sons",demoGithubPage:"Page du projet",demoSongButton:"Morceau d\xE9mo",credits:"Cr\xE9dits",dropPrompt:"Rel\xE2chez les fichiers ici...",warnings:{outOfMemory:"Votre navigateur est \xE0 cours de m\xE9moire. L'usage de Firefox ou des banques de sons au format SF3 est recommand\xE9 (voir la console pour plus de d\xE9tails concernant l'erreur).",noMidiSupport:"Aucun port MIDI d\xE9tect\xE9, cette fonctionnalit\xE9 sera d\xE9sactiv\xE9e.",chromeMobile:"Les performances de SpessaSynth sont basses sur Chrome pour mobile. L'usage de Firefox est recommand\xE9.",warning:"Attention"},hideTopBar:{title:"Masquer la barre sup\xE9rieure",description:"Masquer la barre sup\xE9rieure (titre) pour offrir une meilleure exp\xE9rience"},convertDls:{title:"Conversion DLS",message:"Le fichier charg\xE9 semble \xEAtre au format DLS. Voulez-vous le convertir au format SF2 ?"},musicPlayerMode:zw,settings:Kw,synthesizerController:Ww,sequencerController:jw};var VB="en",k$={en:yw,pl:Rw,ja:Hw,fr:ek};var AD=.2,Bi=class{addSequencer;constructor(r,l,g,f,v,n0,E0,m0){this.mode="dark",this.autoKeyRange=!1,this.renderer=f,this.midiKeyboard=v,this.midiDeviceHandler=n0,this.synthui=l,this.sequi=g,this.locale=m0,this.musicMode=E0,this.locales=k$,this.keyboardSizes={full:{min:0,max:127},piano:{min:21,max:108},"5 octaves":{min:36,max:96},"two octaves":{min:53,max:77}};let c0=document.createElement("div");c0.style.position="relative",c0.classList.add("seamless_button"),c0.classList.add("settings_button"),r.appendChild(c0);let u1=document.createElement("div");u1.classList.add("seamless_button"),this.locale.bindObjectProperty(u1,"innerText","locale.musicPlayerMode.toggleButton.title"),this.locale.bindObjectProperty(u1,"title","locale.musicPlayerMode.toggleButton.description"),r.appendChild(u1);let F=document.createElement("div");F.classList.add("seamless_button"),this.locale.bindObjectProperty(F,"innerText","locale.hideTopBar.title"),this.locale.bindObjectProperty(F,"title","locale.hideTopBar.description"),r.appendChild(F);let q0=document.getElementsByClassName("show_top_button")[0];q0.innerHTML=My(20);let L0=document.createElement("span");this.locale.bindObjectProperty(L0,"innerText","locale.settings.toggleButton"),c0.appendChild(L0);let R1=document.createElement("div");R1.innerHTML=Ry(24),R1.classList.add("gear"),c0.appendChild(R1),this.mainDiv=document.createElement("div"),this.mainDiv.classList.add("settings_menu"),this.visible=!1,this.animationId=-1,c0.onclick=()=>this.setVisibility(!this.visible),r.appendChild(this.mainDiv),u1.onclick=this.toggleMusicPlayerMode.bind(this),F.onclick=this.hideTopPart.bind(this),this.hideOnDocClick=!0,this.mainDiv.onclick=()=>{this.hideOnDocClick=!1},document.addEventListener("click",()=>{if(!this.hideOnDocClick){this.hideOnDocClick=!0;return}this.setVisibility(!1)}),this.mainDiv.innerHTML=ew,tw(this.mainDiv);for(let y1 of this.mainDiv.querySelectorAll("*[translate-path]"))this.locale.bindObjectProperty(y1,"textContent",y1.getAttribute("translate-path"));for(let y1 of this.mainDiv.querySelectorAll("*[translate-path-title]")){let Y2=y1.getAttribute("translate-path-title");this.locale.bindObjectProperty(y1,"textContent",Y2+".title"),this.locale.bindObjectProperty(y1,"title",Y2+".description")}this.getHtmlControls(),document.addEventListener("keydown",y1=>{switch(y1.key.toLowerCase()){case e7.settingsShow:this.setVisibility(!this.visible);break;case e7.synthesizerUIShow:this.setVisibility(!1)}}),window.savedSettings?this._loadSettings().then(()=>{this.createHandlers(f,v,n0,g,l)}):this.createHandlers(f,v,n0,g,l),this.topPartVisible=!0;let t2=!1;window.addEventListener("resize",()=>{let y1=window.screen.height,Y2=window.screen.width,T2=window.outerHeight,V2=window.outerWidth,i3;i3=Y2===V2&&y1===T2,i3!==t2&&(t2=i3,i3?this.hideTopPart():this.showTopPart())}),document.addEventListener("fullscreenchange",()=>{document.fullscreenElement===null?this.showTopPart():this.hideTopPart()})}async toggleMusicPlayerMode(){this.musicMode.visible===!1&&this.hideTopPart(),this.musicMode.setVisibility(!this.musicMode.visible,document.getElementById("keyboard_canvas_wrapper")),this.renderer.renderBool=!this.musicMode.visible}showTopPart(){if(this.topPartVisible===!0)return;this.topPartVisible=!0;let r=document.getElementsByClassName("top_part")[0],l=document.getElementsByClassName("show_top_button")[0];r.style.display="",setTimeout(()=>{r.classList.remove("top_part_hidden")},75),l.classList.remove("shown"),l.style.display="none"}hideTopPart(){if(this.topPartVisible===!1)return;this.topPartVisible=!1;let r=document.getElementsByClassName("top_part")[0];r.classList.add("top_part_hidden"),setTimeout(()=>{r.style.display="none"},200);let l=document.getElementsByClassName("show_top_button")[0];l.style.display="flex",setTimeout(()=>{l.classList.add("shown")},75),l.onclick=this.showTopPart.bind(this)}setVisibility(r){this.animationId&&clearTimeout(this.animationId),r?(this.mainDiv.style.display="block",setTimeout(()=>{document.getElementsByClassName("top_part")[0].classList.add("settings_shown"),this.mainDiv.classList.add("settings_menu_show")},75),this.hideOnDocClick=!1):(document.getElementsByClassName("top_part")[0].classList.remove("settings_shown"),this.mainDiv.classList.remove("settings_menu_show"),this.animationId=setTimeout(()=>{this.mainDiv.style.display="none"},AD*1e3)),this.visible=r}createHandlers(r,l,g,f,v){this._createRendererHandler(r),this._createMidiSettingsHandler(g,f,v),this._createKeyboardHandler(l,v,r),this._createInterfaceSettingsHandler()}getHtmlControls(){this.htmlControls={renderer:{noteTimeSlider:document.getElementById("note_time_slider"),analyserToggler:document.getElementById("analyser_toggler"),noteToggler:document.getElementById("note_toggler"),activeNoteToggler:document.getElementById("active_note_toggler"),visualPitchToggler:document.getElementById("visual_pitch_toggler"),stabilizeWaveformsToggler:document.getElementById("stabilize_waveforms_toggler"),analyserThicknessSlider:document.getElementById("analyser_thickness_slider"),analyserFftSlider:document.getElementById("analyser_fft_slider"),waveMultiplierSlizer:document.getElementById("wave_multiplier_slider")},keyboard:{channelSelector:document.getElementById("channel_selector"),modeSelector:document.getElementById("mode_selector"),sizeSelector:document.getElementById("keyboard_size_selector"),showSelector:document.getElementById("keyboard_show")},midi:{outputSelector:document.getElementById("midi_output_selector"),inputSelector:document.getElementById("midi_input_selector")},interface:{themeSelector:document.getElementById("toggle_mode_button"),languageSelector:document.getElementById("language_selector"),layoutSelector:document.getElementById("layout_selector")}}}};Bi.prototype._toggleDarkMode=$w;Bi.prototype._createInterfaceSettingsHandler=sw;Bi.prototype._changeLayout=ow;Bi.prototype._createRendererHandler=lw;Bi.prototype._createMidiSettingsHandler=gw;Bi.prototype._createMidiInputHandler=hw;Bi.prototype._createMidiOutputHandler=uw;Bi.prototype._createKeyboardHandler=Xy;Bi.prototype._loadSettings=iw;Bi.prototype._serializeSettings=nw;Bi.prototype._saveSettings=rw;var tk=.5,PC=class{constructor(r,l){this.mainDiv=r,this.mainDiv.innerHTML=` +(il est conseill\xE9 de laisser cette option activ\xE9e sauf cas particulier)`}}}},metadata:{songTitle:{title:"Titre :",description:"Le titre du morceau"},album:{title:"Album :",description:"Le nom de l'album dans lequel se trouve le morceau"},artist:{title:"Artiste :",description:"Le ou les artiste(s) du morceau"},albumCover:{title:"Pochette d'album :",description:"La pochette de l'album dans lequel se trouve le morceau"},creationDate:{title:"Date de cr\xE9ation :",description:"La date de cr\xE9ation du morceau"},genre:{title:"Genre :",description:"Le genre du morceau"},comment:{title:"Commentaire :",description:"Le commentaire li\xE9 au morceau"},duration:{title:"Dur\xE9e :",description:"La dur\xE9e du morceau"}}}};var ek={localeName:"Fran\xE7ais",titleMessage:"SpessaSynth : synth\xE9tiseur compatible SoundFont2, \xE9crit en javascript",demoTitleMessage:"SpessaSynth : d\xE9mo en ligne du synth\xE9tiseur compatible SoundFont2",synthInit:{genericLoading:"Chargement...",loadingSoundfont:"Chargement de la banque de sons...",loadingBundledSoundfont:"Chargement de la banque de sons int\xE9gr\xE9e...",startingSynthesizer:"D\xE9marrage du synth\xE9tiseur...",savingSoundfont:"Sauvegarde de la banque de sons pour une utilisation ult\xE9rieure...",noWebAudio:"Votre navigateur ne supporte pas l'audio par le web.",done:"Pr\xEAt !"},midiUploadButton:"Charger des fichiers MIDI",exportAudio:Xw,yes:"Oui",no:"Non",demoSoundfontUploadButton:"Charger une banque de sons",demoGithubPage:"Page du projet",demoSongButton:"Morceau d\xE9mo",credits:"Cr\xE9dits",dropPrompt:"Rel\xE2chez les fichiers ici...",warnings:{outOfMemory:"Votre navigateur est \xE0 cours de m\xE9moire. L'usage de Firefox ou des banques de sons au format SF3 est recommand\xE9 (voir la console pour plus de d\xE9tails concernant l'erreur).",noMidiSupport:"Aucun port MIDI d\xE9tect\xE9, cette fonctionnalit\xE9 sera d\xE9sactiv\xE9e.",chromeMobile:"Les performances de SpessaSynth sont basses sur Chrome pour mobile. L'usage de Firefox est recommand\xE9.",warning:"Attention"},hideTopBar:{title:"Masquer la barre sup\xE9rieure",description:"Masquer la barre sup\xE9rieure (titre) pour offrir une meilleure exp\xE9rience"},convertDls:{title:"Conversion DLS",message:"Le fichier charg\xE9 semble \xEAtre au format DLS. Voulez-vous le convertir au format SF2 ?"},musicPlayerMode:zw,settings:Kw,synthesizerController:Ww,sequencerController:jw};var VB="en",k$={en:yw,pl:Rw,ja:Hw,fr:ek};var AD=.2,Bi=class{addSequencer;constructor(r,l,g,f,S,n0,E0,m0){this.mode="dark",this.autoKeyRange=!1,this.renderer=f,this.midiKeyboard=S,this.midiDeviceHandler=n0,this.synthui=l,this.sequi=g,this.locale=m0,this.musicMode=E0,this.locales=k$,this.keyboardSizes={full:{min:0,max:127},piano:{min:21,max:108},"5 octaves":{min:36,max:96},"two octaves":{min:53,max:77}};let g0=document.createElement("div");g0.style.position="relative",g0.classList.add("seamless_button"),g0.classList.add("settings_button"),r.appendChild(g0);let f1=document.createElement("div");f1.classList.add("seamless_button"),this.locale.bindObjectProperty(f1,"innerText","locale.musicPlayerMode.toggleButton.title"),this.locale.bindObjectProperty(f1,"title","locale.musicPlayerMode.toggleButton.description"),r.appendChild(f1);let x=document.createElement("div");x.classList.add("seamless_button"),this.locale.bindObjectProperty(x,"innerText","locale.hideTopBar.title"),this.locale.bindObjectProperty(x,"title","locale.hideTopBar.description"),r.appendChild(x);let X0=document.getElementsByClassName("show_top_button")[0];X0.innerHTML=My(20);let F0=document.createElement("span");this.locale.bindObjectProperty(F0,"innerText","locale.settings.toggleButton"),g0.appendChild(F0);let b1=document.createElement("div");b1.innerHTML=Ry(24),b1.classList.add("gear"),g0.appendChild(b1),this.mainDiv=document.createElement("div"),this.mainDiv.classList.add("settings_menu"),this.visible=!1,this.animationId=-1,g0.onclick=()=>this.setVisibility(!this.visible),r.appendChild(this.mainDiv),f1.onclick=this.toggleMusicPlayerMode.bind(this),x.onclick=this.hideTopPart.bind(this),this.hideOnDocClick=!0,this.mainDiv.onclick=()=>{this.hideOnDocClick=!1},document.addEventListener("click",()=>{if(!this.hideOnDocClick){this.hideOnDocClick=!0;return}this.setVisibility(!1)}),this.mainDiv.innerHTML=ew,tw(this.mainDiv);for(let y1 of this.mainDiv.querySelectorAll("*[translate-path]"))this.locale.bindObjectProperty(y1,"textContent",y1.getAttribute("translate-path"));for(let y1 of this.mainDiv.querySelectorAll("*[translate-path-title]")){let Y2=y1.getAttribute("translate-path-title");this.locale.bindObjectProperty(y1,"textContent",Y2+".title"),this.locale.bindObjectProperty(y1,"title",Y2+".description")}this.getHtmlControls(),document.addEventListener("keydown",y1=>{switch(y1.key.toLowerCase()){case e7.settingsShow:this.setVisibility(!this.visible);break;case e7.synthesizerUIShow:this.setVisibility(!1)}}),window.savedSettings?this._loadSettings().then(()=>{this.createHandlers(f,S,n0,g,l)}):this.createHandlers(f,S,n0,g,l),this.topPartVisible=!0;let l2=!1;window.addEventListener("resize",()=>{let y1=window.screen.height,Y2=window.screen.width,T2=window.outerHeight,V2=window.outerWidth,i3;i3=Y2===V2&&y1===T2,i3!==l2&&(l2=i3,i3?this.hideTopPart():this.showTopPart())}),document.addEventListener("fullscreenchange",()=>{document.fullscreenElement===null?this.showTopPart():this.hideTopPart()})}async toggleMusicPlayerMode(){this.musicMode.visible===!1&&this.hideTopPart(),this.musicMode.setVisibility(!this.musicMode.visible,document.getElementById("keyboard_canvas_wrapper")),this.renderer.renderBool=!this.musicMode.visible}showTopPart(){if(this.topPartVisible===!0)return;this.topPartVisible=!0;let r=document.getElementsByClassName("top_part")[0],l=document.getElementsByClassName("show_top_button")[0];r.style.display="",setTimeout(()=>{r.classList.remove("top_part_hidden")},75),l.classList.remove("shown"),l.style.display="none"}hideTopPart(){if(this.topPartVisible===!1)return;this.topPartVisible=!1;let r=document.getElementsByClassName("top_part")[0];r.classList.add("top_part_hidden"),setTimeout(()=>{r.style.display="none"},200);let l=document.getElementsByClassName("show_top_button")[0];l.style.display="flex",setTimeout(()=>{l.classList.add("shown")},75),l.onclick=this.showTopPart.bind(this)}setVisibility(r){this.animationId&&clearTimeout(this.animationId),r?(this.mainDiv.style.display="block",setTimeout(()=>{document.getElementsByClassName("top_part")[0].classList.add("settings_shown"),this.mainDiv.classList.add("settings_menu_show")},75),this.hideOnDocClick=!1):(document.getElementsByClassName("top_part")[0].classList.remove("settings_shown"),this.mainDiv.classList.remove("settings_menu_show"),this.animationId=setTimeout(()=>{this.mainDiv.style.display="none"},AD*1e3)),this.visible=r}createHandlers(r,l,g,f,S){this._createRendererHandler(r),this._createMidiSettingsHandler(g,f,S),this._createKeyboardHandler(l,S,r),this._createInterfaceSettingsHandler()}getHtmlControls(){this.htmlControls={renderer:{noteTimeSlider:document.getElementById("note_time_slider"),analyserToggler:document.getElementById("analyser_toggler"),noteToggler:document.getElementById("note_toggler"),activeNoteToggler:document.getElementById("active_note_toggler"),visualPitchToggler:document.getElementById("visual_pitch_toggler"),stabilizeWaveformsToggler:document.getElementById("stabilize_waveforms_toggler"),analyserThicknessSlider:document.getElementById("analyser_thickness_slider"),analyserFftSlider:document.getElementById("analyser_fft_slider"),waveMultiplierSlizer:document.getElementById("wave_multiplier_slider")},keyboard:{channelSelector:document.getElementById("channel_selector"),modeSelector:document.getElementById("mode_selector"),sizeSelector:document.getElementById("keyboard_size_selector"),showSelector:document.getElementById("keyboard_show")},midi:{outputSelector:document.getElementById("midi_output_selector"),inputSelector:document.getElementById("midi_input_selector")},interface:{themeSelector:document.getElementById("toggle_mode_button"),languageSelector:document.getElementById("language_selector"),layoutSelector:document.getElementById("layout_selector")}}}};Bi.prototype._toggleDarkMode=$w;Bi.prototype._createInterfaceSettingsHandler=sw;Bi.prototype._changeLayout=ow;Bi.prototype._createRendererHandler=lw;Bi.prototype._createMidiSettingsHandler=gw;Bi.prototype._createMidiInputHandler=hw;Bi.prototype._createMidiOutputHandler=uw;Bi.prototype._createKeyboardHandler=Xy;Bi.prototype._loadSettings=iw;Bi.prototype._serializeSettings=nw;Bi.prototype._saveSettings=rw;var tk=.5,PC=class{constructor(r,l){this.mainDiv=r,this.mainDiv.innerHTML=`
@@ -264,20 +264,20 @@ Ceci r\xE9duit de mani\xE8re significative le poids du fichier (option recommand
`;for(let g of this.mainDiv.querySelectorAll("*[translate-path]"))l.bindObjectProperty(g,"textContent",g.getAttribute("translate-path"));for(let g of this.mainDiv.querySelectorAll("*[translate-path-title]"))l.bindObjectProperty(g,"textContent",g.getAttribute("translate-path-title")+".title"),l.bindObjectProperty(g,"title",g.getAttribute("translate-path-title")+".description");this.timeoutId=-1,this.visible=!1,this.locale=l}toggleDarkMode(){this.mainDiv.getElementsByClassName("player_info_wrapper")[0].classList.toggle("light_mode")}setTitle(r){document.getElementById("player_info_title").textContent=r}connectSequencer(r){this.seq=r,this.seq.addOnSongChangeEvent(l=>{let g=l.copyright.replaceAll(` -`,""),f=(L0,R1,t2=!0)=>{let y1=document.getElementById(L0);if(R1.length>0)if(y1.parentElement.classList.remove("hidden"),y1.innerHTML="",R1.length>30&&t2){y1.classList.add("marquee");let Y2=document.createElement("span");Y2.textContent=R1,y1.appendChild(Y2)}else y1.textContent=R1;else y1.parentElement.classList.add("hidden")};f("player_info_detail",g),f("player_info_time",E$(this.seq.duration).time),f("player_info_file_name",l.fileName,!1);let v=(L0,R1,t2,y1="")=>this.seq.midiData.RMIDInfo?.[L0]===void 0?R1:y1+t2.decode(this.seq.midiData.RMIDInfo?.[L0]).replace(/\0$/,""),n0=v("IENC","ascii",new TextDecoder),E0=new TextDecoder(n0);f("player_info_album",v("IPRD","",E0)),f("player_info_artist",v("IART","",E0)),f("player_info_genre",v("IGNR","",E0)),f("player_info_creation",v("ICRD","",E0)+v("ICRT","",E0,` -`)),f("player_info_comment",v("ICMT","",E0));let m0=this.mainDiv.getElementsByTagName("svg")[0],c0=this.mainDiv.getElementsByTagName("img")[0],u1=document.getElementById("player_info_background_image");if(!l.isEmbedded){m0.style.display="",c0.style.display="none",u1.style.setProperty("--bg-image","undefined");return}if(l.RMIDInfo.IPIC===void 0){m0.style.display="",c0.style.display="none",u1.style.setProperty("--bg-image","undefined");return}m0.style.display="none",c0.style.display="";let F=new Blob([l.RMIDInfo.IPIC.buffer]),q0=URL.createObjectURL(F);c0.src=q0,u1.style.setProperty("--bg-image",`url('${q0}')`)},"player-js-song-change")}setVisibility(r,l){if(r===this.visible)return;this.visible=r,this.timeoutId&&clearTimeout(this.timeoutId);let g=this.mainDiv;if(r){l.classList.add("out_animation"),this.savedCKWrapperHeight=l.clientHeight;let f=l.clientHeight,v=l.getBoundingClientRect().top;g.style.position="absolute",g.style.top=`${v}px`,g.style.height=`${f}px`,g.style.display="flex",setTimeout(()=>{g.classList.add("player_info_show"),document.body.style.overflow="hidden"},75),this.timeoutId=setTimeout(async()=>{l.style.display="none",g.style.position="",g.style.top="",g.style.height="",document.body.style.overflow=""},tk*1e3)}else{let f=g.getBoundingClientRect().top;l.style.display="",l.style.position="absolute",l.style.top=`${f}px`,l.style.height=`${this.savedCKWrapperHeight}px`,g.classList.remove("player_info_show"),setTimeout(()=>{l.classList.remove("out_animation"),document.body.style.overflow="hidden"},75),this.timeoutId=setTimeout(()=>{g.style.display="none",l.style.position="",l.style.top="",l.style.height="",document.body.style.overflow=""},tk*1e3)}}};var OC=class{onLocaleChanged=[];constructor(r){this.locale=k$[r]||k$[VB],this.fallbackLocale=k$[VB],this.localeCode=r,this._boundObjectProperties=[]}getLocaleString(r,l=[]){let g=this._resolveLocalePath(r);return l.length>0?this._formatLocale(g,l):g}_applyPropertyInternal(r){if(r.isEdited)return;let l=this._resolveLocalePath(r.localePath);r.formattingArguments.length>0&&(l=this._formatLocale(l,r.formattingArguments)),r.object[r.propertyName]=l}_validatePropertyIntegrity(r){let l=this._resolveLocalePath(r.localePath);r.formattingArguments.length>0&&(l=this._formatLocale(l,r.formattingArguments)),r.object[r.propertyName]!==l&&(r.isEdited=!0)}_formatLocale(r,l){return r.replace(/{(\d+)}/g,(g,f)=>typeof l[f]<"u"?l[f]:g)}bindObjectProperty(r,l,g,f=[]){let v={object:r,propertyName:l,localePath:g,formattingArguments:f,isEdited:!1};this._applyPropertyInternal(v),this._boundObjectProperties.push(v)}_resolveLocalePath(r,l=!1){if(!r.startsWith("locale."))throw new Error(`Invalid locale path: ${r} (it should start with "locale.")`);let g=r.split("."),f=l?this.fallbackLocale:this.locale;for(let v=1;v{this._validatePropertyIntegrity(f)}),this.locale=g,this._boundObjectProperties.forEach(f=>{this._applyPropertyInternal(f)}),this.onLocaleChanged.forEach(f=>f())}};function KB(o,r=!0,l=0,g={},f=void 0){let v=o.getChannelData(l),n0=o.getChannelData(l+1),E0=v.length,m0=2,c0=new V3(0),u1=Object.keys(g).length>0;if(u1){let A0=new TextEncoder,y5=[RA("INFO"),Ze("ICMT",A0.encode("Created with SpessaSynth"),!0)];g.artist&&y5.push(Ze("IART",A0.encode(g.artist),!0)),g.album&&y5.push(Ze("IPRD",A0.encode(g.album),!0)),g.genre&&y5.push(Ze("IGNR",A0.encode(g.genre),!0)),g.title&&y5.push(Ze("INAM",A0.encode(g.title),!0)),c0=Ze("LIST",Sn(y5))}let F=new V3(0),q0=f?.end!==void 0&&f?.start!==void 0;if(q0){let A0=Math.floor(f.start*o.sampleRate),y5=Math.floor(f.end*o.sampleRate),T3=new V3(24);l7(T3,0,4),l7(T3,0,4),g7(T3,"data"),l7(T3,0,4),l7(T3,0,4),l7(T3,A0,4);let $3=new V3(24);l7($3,1,4),l7($3,0,4),g7($3,"data"),l7($3,0,4),l7($3,0,4),l7($3,y5,4);let w6=Sn([new V3([2,0,0,0]),T3,$3]);F=Ze("cue ",w6)}let L0=44,R1=E0*2*m0,t2=L0+R1+c0.length+F.length-8,y1=new Uint8Array(L0);y1.set([82,73,70,70],0),y1.set(new Uint8Array([t2&255,t2>>8&255,t2>>16&255,t2>>24&255]),4),y1.set([87,65,86,69],8),y1.set([102,109,116,32],12),y1.set([16,0,0,0],16),y1.set([1,0],20),y1.set([2,0],22);let Y2=o.sampleRate;y1.set(new Uint8Array([Y2&255,Y2>>8&255,Y2>>16&255,Y2>>24&255]),24);let T2=Y2*2*m0;y1.set(new Uint8Array([T2&255,T2>>8&255,T2>>16&255,T2>>24&255]),28),y1.set([4,0],32),y1.set([16,0],34),y1.set([100,97,116,97],36),y1.set(new Uint8Array([R1&255,R1>>8&255,R1>>16&255,R1>>24&255]),40);let V2=new Uint8Array(t2+8),i3=L0;V2.set(y1,0);let r3=32767;if(r){let A0=v.map((y5,T3)=>Math.max(Math.abs(y5),Math.abs(n0[T3]))).reduce((y5,T3)=>Math.max(y5,T3));r3=A0>0?32767/A0:1}for(let A0=0;A0>8&255,V2[i3++]=T3&255,V2[i3++]=T3>>8&255}return u1&&(V2.set(c0,i3),i3+=c0.length),q0&&V2.set(F,i3),new Blob([V2.buffer],{type:"audio/wav"})}var qC="synthetizer/worklet_processor.min.js";var ik=1e3;async function rk(o=!0,r=2,l=!1,g={},f=0){if(this.isExporting=!0,!this.seq)throw new Error("No sequencer active");let v=manager.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.message"),n0=manager.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.estimated"),E0=manager.localeManager.getLocaleString("locale.synthInit.genericLoading"),m0=mt(v,[{type:"text",textContent:E0},{type:"progress"}],9999999,!1),c0=await this.seq.getMIDI(),u1=vm(c0.loop.start,c0),F=vm(c0.loop.end,c0),q0=F-u1,L0=c0.duration+r+q0*f,R1=this.context.sampleRate,t2=R1*L0,y1=new OfflineAudioContext({numberOfChannels:l?32:2,sampleRate:R1,length:t2});await y1.audioWorklet.addModule(new URL("../../spessasynth_lib/"+qC,import.meta.url));let Y2=await this.synth.getSynthesizerSnapshot(),T2=this.soundFont,V2;try{V2=new ch(y1.destination,T2,!1,{parsedMIDI:c0,snapshot:Y2,oneOutput:l,loopCount:f},{reverbEnabled:!0,chorusEnabled:!0,chorusConfig:void 0,reverbImpulseResponse:this.impulseResponse})}catch(o9){throw mt(this.localeManager.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}]),o9}let i3=m0.div.getElementsByTagName("p")[0],r3=m0.div.getElementsByClassName("notification_progress")[0],A0=ik/1e3,y5=V2.currentTime,T3=L0,$3=.1,w6=setInterval(()=>{let o9=V2.currentTime-y5;y5=V2.currentTime;let V4=V2.currentTime/L0;r3.style.width=`${V4*100}%`;let r4=o9/A0,V6=(1-V4)/r4*L0;V6!==1/0&&(T3=$3*V6+(1-$3)*T3,i3.innerText=`${n0} ${E$(T3).time}`)},ik),s6=await y1.startRendering();if(r3.style.width="100%",clearInterval(w6),i3.innerText=this.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.convertWav"),await new Promise(o9=>setTimeout(o9,75)),l){let o9="locale.exportAudio.formats.formats.wav.options.separateChannels.saving.",V4=[],r4=new Set;for(let We of c0.usedChannelsOnTrack)We.forEach(Or=>r4.add(Or));for(let We=0;We<16;We++){let Or=!0;for(let Vi=We;Vi{let Ts=OA.textContent;OA.textContent=this.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.convertWav"),await new Promise(XC=>setTimeout(XC,75));let Rm=KB(s6,!1,We*2),_$=`${We+1} - ${Y2.channelSnapshots[We].patchName}.wav`;this.saveBlob(Rm,_$),OA.classList.add("green_button"),OA.textContent=Ts}})}let V6=mt(this.localeManager.getLocaleString(o9+"title"),V4,99999999,!0,void 0,{display:"flex",flexWrap:"wrap",flexDirection:"row"});V6.div.style.width="30rem"}else{let o9=vm(c0.firstNoteOn,c0),V4=u1-o9,r4=F-o9,V6;f===0&&(V6={start:V4,end:r4});let We=KB(s6,o,0,g,V6);this.saveBlob(We,`${this.seqUI.currentSongTitle||"unnamed_song"}.wav`)}Ot(m0.id),this.isExporting=!1}async function nk(){if(this.isExporting)return;let o="locale.exportAudio.formats.formats.wav.options.",r="locale.exportAudio.formats.metadata.",l=(c0,u1,F)=>this.seq.midiData.RMIDInfo?.[c0]===void 0?u1:F.decode(this.seq.midiData.RMIDInfo?.[c0]).replace(/\0$/,""),g=l("IENC","ascii",new TextDecoder),f=new TextDecoder(g),v=l("IPRD","",f),n0=l("IART","",f),E0=l("IGNR","",f),m0=[{type:"toggle",translatePathTitle:o+"normalizeVolume",attributes:{"normalize-volume-toggle":"1",checked:"true"}},{type:"input",translatePathTitle:o+"additionalTime",attributes:{value:"2",type:"number","additional-time":"1"}},{type:"input",translatePathTitle:o+"loopCount",attributes:{value:"0",type:"number","loop-count":"1"}},{type:"toggle",translatePathTitle:o+"separateChannels",attributes:{"separate-channels-toggle":"1"}},{type:"input",translatePathTitle:r+"songTitle",attributes:{name:"song_title",type:"text",value:this.seqUI.currentSongTitle}},{type:"input",translatePathTitle:r+"album",attributes:{value:v,name:"album",type:"text"}},{type:"input",translatePathTitle:r+"artist",attributes:{value:n0,name:"artist",type:"text"}},{type:"input",translatePathTitle:r+"genre",attributes:{value:E0,name:"genre",type:"text"}},{type:"button",textContent:this.localeManager.getLocaleString(o+"confirm"),onClick:c0=>{Ot(c0.id);let u1=c0.div.querySelector("input[normalize-volume-toggle]").checked,F=c0.div.querySelector("input[additional-time]").value,q0=c0.div.querySelector("input[loop-count]").value,L0=c0.div.querySelector("input[separate-channels-toggle]").checked,R1=c0.div.querySelector("input[name='artist']").value,t2=c0.div.querySelector("input[name='album']").value,y1=c0.div.querySelector("input[name='song_title']").value,Y2=c0.div.querySelector("input[name='genre']").value,T2={artist:R1.length>0?R1:void 0,album:t2.length>0?t2:void 0,title:y1.length>0?y1:void 0,genre:Y2.length>0?Y2:void 0};this._doExportAudioData(u1,parseInt(F),L0,T2,parseInt(q0))}}];mt(this.localeManager.getLocaleString(o+"title"),m0,9999999,!0,this.localeManager)}async function sk(){let o=await this.seq.getMIDI();hh(o,await this.synth.getSynthesizerSnapshot());let r=SC(o),l=new Blob([r],{type:"audio/mid"});this.saveBlob(l,`${this.seqUI.currentSongTitle||"unnamed_song"}.mid`)}function ok(o,r){ri("%cSearching for all used programs and keys...",D1.info);let l=16+o.midiPortChannelOffsets.reduce((F,q0)=>q0>F?q0:F),g=[];for(let F=0;F{n0[R1]>=L0.length||L0[n0[R1]].ticks0;){let F=m0(),q0=o.tracks[F];if(n0[F]>=q0.length){E0--;continue}let L0=q0[n0[F]];if(n0[F]++,L0.messageStatusByte===K3.midiPort){c0[F]=L0.messageData[0];continue}let R1=L0.messageStatusByte&240;if(R1!==K3.noteOn&&R1!==K3.controllerChange&&R1!==K3.programChange&&R1!==K3.systemExclusive)continue;let t2=(L0.messageStatusByte&15)+o.midiPortChannelOffsets[c0[F]]||0,y1=g[t2];switch(R1){case K3.programChange:y1.program=L0.messageData[0],f(y1);break;case K3.controllerChange:if(L0.messageData[0]!==B3.bankSelect||u1==="gs"&&y1.drums)continue;let Y2=L0.messageData[1],T2=Math.max(0,Y2-o.bankOffset);if(u1==="xg"){let r3=Y2===120||Y2===126||Y2===127;r3!==y1.drums?(y1.drums=r3,y1.bank=y1.drums?128:T2,f(y1)):y1.bank=y1.drums?128:T2;continue}g[t2].bank=T2;break;case K3.noteOn:if(L0.messageData[1]===0)continue;f(y1),v[y1.string].add(`${L0.messageData[0]}-${L0.messageData[1]}`);break;case K3.systemExclusive:if(L0.messageData[0]!==65||L0.messageData[2]!==66||L0.messageData[3]!==18||L0.messageData[4]!==64||!(L0.messageData[5]&16)||L0.messageData[6]!==21){L0.messageData[0]===67&&L0.messageData[2]===76&&L0.messageData[5]===126&&L0.messageData[6]===0&&(u1="xg");continue}let V2=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][L0.messageData[5]&15]+o.midiPortChannelOffsets[c0[F]],i3=!!(L0.messageData[7]>0&&L0.messageData[5]>>4);y1=g[V2],y1.drums=i3,y1.bank=i3?128:0,f(y1);break}}for(let F of Object.keys(v))v[F].size===0&&(Y5(`%cDetected change but no keys for %c${F}`,D1.info,D1.value),delete v[F]);return i4(),v}function HC(o,r){function l(f,v){let n0=0;for(let E0=0;E0=c0.min&&q0.key<=c0.max&&q0.velocity>=u1.min&&q0.velocity<=u1.max){F=!0;break}F||(Y5(`%c${m0.sample.sampleName} %cremoved from %c${f.instrumentName}%c. Use count: %c${m0.useCount-1}`,D1.recognized,D1.info,D1.recognized,D1.info,D1.recognized),f.safeDeleteZone(E0)&&(n0++,E0--,Y5(`%c${m0.sample.sampleName} %cdeleted`,D1.recognized,D1.info)),m0.sample.useCount<1&&o.deleteSample(m0.sample))}return n0}gr("%cTrimming soundfont...",D1.info);let g=ok(r,o);ri("%cModifying soundfont...",D1.info),Y5("Detected keys for midi:",g);for(let f=0;f{let F=u1.split("-");return{key:parseInt(F[0]),velocity:parseInt(F[1])}});ri(`%cTrimming %c${v.presetName}`,D1.info,D1.recognized),Y5(`Keys for ${v.presetName}:`,m0);let c0=0;for(let u1=0;u1=q0.min&&t2.key<=q0.max&&t2.velocity>=L0.min&&t2.velocity<=L0.max){R1=!0;let y1=l(F.instrument,m0);Y5(`%cTrimmed off %c${y1}%c zones from %c${F.instrument.instrumentName}`,D1.info,D1.recognized,D1.info,D1.recognized);break}R1||(c0++,v.deleteZone(u1),F.instrument.useCount<1&&o.deleteInstrument(F.instrument),u1--)}Y5(`%cTrimmed off %c${c0}%c zones from %c${v.presetName}`,D1.info,D1.recognized,D1.info,D1.recognized),i4()}}o.removeUnusedElements(),o.soundFontInfo.ICMT=`NOTE: This soundfont was trimmed by SpessaSynth to only contain presets used in "${r.midiName}" +`,""),f=(F0,b1,l2=!0)=>{let y1=document.getElementById(F0);if(b1.length>0)if(y1.parentElement.classList.remove("hidden"),y1.innerHTML="",b1.length>30&&l2){y1.classList.add("marquee");let Y2=document.createElement("span");Y2.textContent=b1,y1.appendChild(Y2)}else y1.textContent=b1;else y1.parentElement.classList.add("hidden")};f("player_info_detail",g),f("player_info_time",E$(this.seq.duration).time),f("player_info_file_name",l.fileName,!1);let S=(F0,b1,l2,y1="")=>this.seq.midiData.RMIDInfo?.[F0]===void 0?b1:y1+l2.decode(this.seq.midiData.RMIDInfo?.[F0]).replace(/\0$/,""),n0=S("IENC","ascii",new TextDecoder),E0=new TextDecoder(n0);f("player_info_album",S("IPRD","",E0)),f("player_info_artist",S("IART","",E0)),f("player_info_genre",S("IGNR","",E0)),f("player_info_creation",S("ICRD","",E0)+S("ICRT","",E0,` +`)),f("player_info_comment",S("ICMT","",E0));let m0=this.mainDiv.getElementsByTagName("svg")[0],g0=this.mainDiv.getElementsByTagName("img")[0],f1=document.getElementById("player_info_background_image");if(!l.isEmbedded){m0.style.display="",g0.style.display="none",f1.style.setProperty("--bg-image","undefined");return}if(l.RMIDInfo.IPIC===void 0){m0.style.display="",g0.style.display="none",f1.style.setProperty("--bg-image","undefined");return}m0.style.display="none",g0.style.display="";let x=new Blob([l.RMIDInfo.IPIC.buffer]),X0=URL.createObjectURL(x);g0.src=X0,f1.style.setProperty("--bg-image",`url('${X0}')`)},"player-js-song-change")}setVisibility(r,l){if(r===this.visible)return;this.visible=r,this.timeoutId&&clearTimeout(this.timeoutId);let g=this.mainDiv;if(r){l.classList.add("out_animation"),this.savedCKWrapperHeight=l.clientHeight;let f=l.clientHeight,S=l.getBoundingClientRect().top;g.style.position="absolute",g.style.top=`${S}px`,g.style.height=`${f}px`,g.style.display="flex",setTimeout(()=>{g.classList.add("player_info_show"),document.body.style.overflow="hidden"},75),this.timeoutId=setTimeout(async()=>{l.style.display="none",g.style.position="",g.style.top="",g.style.height="",document.body.style.overflow=""},tk*1e3)}else{let f=g.getBoundingClientRect().top;l.style.display="",l.style.position="absolute",l.style.top=`${f}px`,l.style.height=`${this.savedCKWrapperHeight}px`,g.classList.remove("player_info_show"),setTimeout(()=>{l.classList.remove("out_animation"),document.body.style.overflow="hidden"},75),this.timeoutId=setTimeout(()=>{g.style.display="none",l.style.position="",l.style.top="",l.style.height="",document.body.style.overflow=""},tk*1e3)}}};var OC=class{onLocaleChanged=[];constructor(r){this.locale=k$[r]||k$[VB],this.fallbackLocale=k$[VB],this.localeCode=r,this._boundObjectProperties=[]}getLocaleString(r,l=[]){let g=this._resolveLocalePath(r);return l.length>0?this._formatLocale(g,l):g}_applyPropertyInternal(r){if(r.isEdited)return;let l=this._resolveLocalePath(r.localePath);r.formattingArguments.length>0&&(l=this._formatLocale(l,r.formattingArguments)),r.object[r.propertyName]=l}_validatePropertyIntegrity(r){let l=this._resolveLocalePath(r.localePath);r.formattingArguments.length>0&&(l=this._formatLocale(l,r.formattingArguments)),r.object[r.propertyName]!==l&&(r.isEdited=!0)}_formatLocale(r,l){return r.replace(/{(\d+)}/g,(g,f)=>typeof l[f]<"u"?l[f]:g)}bindObjectProperty(r,l,g,f=[]){let S={object:r,propertyName:l,localePath:g,formattingArguments:f,isEdited:!1};this._applyPropertyInternal(S),this._boundObjectProperties.push(S)}_resolveLocalePath(r,l=!1){if(!r.startsWith("locale."))throw new Error(`Invalid locale path: ${r} (it should start with "locale.")`);let g=r.split("."),f=l?this.fallbackLocale:this.locale;for(let S=1;S{this._validatePropertyIntegrity(f)}),this.locale=g,this._boundObjectProperties.forEach(f=>{this._applyPropertyInternal(f)}),this.onLocaleChanged.forEach(f=>f())}};function KB(o,r=!0,l=0,g={},f=void 0){let S=o.getChannelData(l),n0=o.getChannelData(l+1),E0=S.length,m0=2,g0=new V3(0),f1=Object.keys(g).length>0;if(f1){let A0=new TextEncoder,y5=[RA("INFO"),Ze("ICMT",A0.encode("Created with SpessaSynth"),!0)];g.artist&&y5.push(Ze("IART",A0.encode(g.artist),!0)),g.album&&y5.push(Ze("IPRD",A0.encode(g.album),!0)),g.genre&&y5.push(Ze("IGNR",A0.encode(g.genre),!0)),g.title&&y5.push(Ze("INAM",A0.encode(g.title),!0)),g0=Ze("LIST",Sn(y5))}let x=new V3(0),X0=f?.end!==void 0&&f?.start!==void 0;if(X0){let A0=Math.floor(f.start*o.sampleRate),y5=Math.floor(f.end*o.sampleRate),T3=new V3(24);l7(T3,0,4),l7(T3,0,4),g7(T3,"data"),l7(T3,0,4),l7(T3,0,4),l7(T3,A0,4);let $3=new V3(24);l7($3,1,4),l7($3,0,4),g7($3,"data"),l7($3,0,4),l7($3,0,4),l7($3,y5,4);let w6=Sn([new V3([2,0,0,0]),T3,$3]);x=Ze("cue ",w6)}let F0=44,b1=E0*2*m0,l2=F0+b1+g0.length+x.length-8,y1=new Uint8Array(F0);y1.set([82,73,70,70],0),y1.set(new Uint8Array([l2&255,l2>>8&255,l2>>16&255,l2>>24&255]),4),y1.set([87,65,86,69],8),y1.set([102,109,116,32],12),y1.set([16,0,0,0],16),y1.set([1,0],20),y1.set([2,0],22);let Y2=o.sampleRate;y1.set(new Uint8Array([Y2&255,Y2>>8&255,Y2>>16&255,Y2>>24&255]),24);let T2=Y2*2*m0;y1.set(new Uint8Array([T2&255,T2>>8&255,T2>>16&255,T2>>24&255]),28),y1.set([4,0],32),y1.set([16,0],34),y1.set([100,97,116,97],36),y1.set(new Uint8Array([b1&255,b1>>8&255,b1>>16&255,b1>>24&255]),40);let V2=new Uint8Array(l2+8),i3=F0;V2.set(y1,0);let r3=32767;if(r){let A0=S.map((y5,T3)=>Math.max(Math.abs(y5),Math.abs(n0[T3]))).reduce((y5,T3)=>Math.max(y5,T3));r3=A0>0?32767/A0:1}for(let A0=0;A0>8&255,V2[i3++]=T3&255,V2[i3++]=T3>>8&255}return f1&&(V2.set(g0,i3),i3+=g0.length),X0&&V2.set(x,i3),new Blob([V2.buffer],{type:"audio/wav"})}var qC="synthetizer/worklet_processor.min.js";var ik=1e3;async function rk(o=!0,r=2,l=!1,g={},f=0){if(this.isExporting=!0,!this.seq)throw new Error("No sequencer active");let S=manager.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.message"),n0=manager.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.estimated"),E0=manager.localeManager.getLocaleString("locale.synthInit.genericLoading"),m0=mt(S,[{type:"text",textContent:E0},{type:"progress"}],9999999,!1),g0=await this.seq.getMIDI(),f1=vm(g0.loop.start,g0),x=vm(g0.loop.end,g0),X0=x-f1,F0=g0.duration+r+X0*f,b1=this.context.sampleRate,l2=b1*F0,y1=new OfflineAudioContext({numberOfChannels:l?32:2,sampleRate:b1,length:l2});await y1.audioWorklet.addModule(new URL("../../spessasynth_lib/"+qC,import.meta.url));let Y2=await this.synth.getSynthesizerSnapshot(),T2=this.soundFont,V2;try{V2=new ch(y1.destination,T2,!1,{parsedMIDI:g0,snapshot:Y2,oneOutput:l,loopCount:f},{reverbEnabled:!0,chorusEnabled:!0,chorusConfig:void 0,reverbImpulseResponse:this.impulseResponse})}catch(o9){throw mt(this.localeManager.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}]),o9}let i3=m0.div.getElementsByTagName("p")[0],r3=m0.div.getElementsByClassName("notification_progress")[0],A0=ik/1e3,y5=V2.currentTime,T3=F0,$3=.1,w6=setInterval(()=>{let o9=V2.currentTime-y5;y5=V2.currentTime;let V4=V2.currentTime/F0;r3.style.width=`${V4*100}%`;let r4=o9/A0,V6=(1-V4)/r4*F0;V6!==1/0&&(T3=$3*V6+(1-$3)*T3,i3.innerText=`${n0} ${E$(T3).time}`)},ik),s6=await y1.startRendering();if(r3.style.width="100%",clearInterval(w6),i3.innerText=this.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.convertWav"),await new Promise(o9=>setTimeout(o9,75)),l){let o9="locale.exportAudio.formats.formats.wav.options.separateChannels.saving.",V4=[],r4=new Set;for(let We of g0.usedChannelsOnTrack)We.forEach(Or=>r4.add(Or));for(let We=0;We<16;We++){let Or=!0;for(let Vi=We;Vi{let Ts=OA.textContent;OA.textContent=this.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.convertWav"),await new Promise(XC=>setTimeout(XC,75));let Rm=KB(s6,!1,We*2),_$=`${We+1} - ${Y2.channelSnapshots[We].patchName}.wav`;this.saveBlob(Rm,_$),OA.classList.add("green_button"),OA.textContent=Ts}})}let V6=mt(this.localeManager.getLocaleString(o9+"title"),V4,99999999,!0,void 0,{display:"flex",flexWrap:"wrap",flexDirection:"row"});V6.div.style.width="30rem"}else{let o9=vm(g0.firstNoteOn,g0),V4=f1-o9,r4=x-o9,V6;f===0&&(V6={start:V4,end:r4});let We=KB(s6,o,0,g,V6);this.saveBlob(We,`${this.seqUI.currentSongTitle||"unnamed_song"}.wav`)}Ot(m0.id),this.isExporting=!1}async function nk(){if(this.isExporting)return;let o="locale.exportAudio.formats.formats.wav.options.",r="locale.exportAudio.formats.metadata.",l=(g0,f1,x)=>this.seq.midiData.RMIDInfo?.[g0]===void 0?f1:x.decode(this.seq.midiData.RMIDInfo?.[g0]).replace(/\0$/,""),g=l("IENC","ascii",new TextDecoder),f=new TextDecoder(g),S=l("IPRD","",f),n0=l("IART","",f),E0=l("IGNR","",f),m0=[{type:"toggle",translatePathTitle:o+"normalizeVolume",attributes:{"normalize-volume-toggle":"1",checked:"true"}},{type:"input",translatePathTitle:o+"additionalTime",attributes:{value:"2",type:"number","additional-time":"1"}},{type:"input",translatePathTitle:o+"loopCount",attributes:{value:"0",type:"number","loop-count":"1"}},{type:"toggle",translatePathTitle:o+"separateChannels",attributes:{"separate-channels-toggle":"1"}},{type:"input",translatePathTitle:r+"songTitle",attributes:{name:"song_title",type:"text",value:this.seqUI.currentSongTitle}},{type:"input",translatePathTitle:r+"album",attributes:{value:S,name:"album",type:"text"}},{type:"input",translatePathTitle:r+"artist",attributes:{value:n0,name:"artist",type:"text"}},{type:"input",translatePathTitle:r+"genre",attributes:{value:E0,name:"genre",type:"text"}},{type:"button",textContent:this.localeManager.getLocaleString(o+"confirm"),onClick:g0=>{Ot(g0.id);let f1=g0.div.querySelector("input[normalize-volume-toggle]").checked,x=g0.div.querySelector("input[additional-time]").value,X0=g0.div.querySelector("input[loop-count]").value,F0=g0.div.querySelector("input[separate-channels-toggle]").checked,b1=g0.div.querySelector("input[name='artist']").value,l2=g0.div.querySelector("input[name='album']").value,y1=g0.div.querySelector("input[name='song_title']").value,Y2=g0.div.querySelector("input[name='genre']").value,T2={artist:b1.length>0?b1:void 0,album:l2.length>0?l2:void 0,title:y1.length>0?y1:void 0,genre:Y2.length>0?Y2:void 0};this._doExportAudioData(f1,parseInt(x),F0,T2,parseInt(X0))}}];mt(this.localeManager.getLocaleString(o+"title"),m0,9999999,!0,this.localeManager)}async function sk(){let o=await this.seq.getMIDI();hh(o,await this.synth.getSynthesizerSnapshot());let r=SC(o),l=new Blob([r],{type:"audio/mid"});this.saveBlob(l,`${this.seqUI.currentSongTitle||"unnamed_song"}.mid`)}function ok(o,r){ri("%cSearching for all used programs and keys...",_1.info);let l=16+o.midiPortChannelOffsets.reduce((x,X0)=>X0>x?X0:x),g=[];for(let x=0;x{n0[b1]>=F0.length||F0[n0[b1]].ticks0;){let x=m0(),X0=o.tracks[x];if(n0[x]>=X0.length){E0--;continue}let F0=X0[n0[x]];if(n0[x]++,F0.messageStatusByte===K3.midiPort){g0[x]=F0.messageData[0];continue}let b1=F0.messageStatusByte&240;if(b1!==K3.noteOn&&b1!==K3.controllerChange&&b1!==K3.programChange&&b1!==K3.systemExclusive)continue;let l2=(F0.messageStatusByte&15)+o.midiPortChannelOffsets[g0[x]]||0,y1=g[l2];switch(b1){case K3.programChange:y1.program=F0.messageData[0],f(y1);break;case K3.controllerChange:if(F0.messageData[0]!==B3.bankSelect||f1==="gs"&&y1.drums)continue;let Y2=F0.messageData[1],T2=Math.max(0,Y2-o.bankOffset);if(f1==="xg"){let r3=Y2===120||Y2===126||Y2===127;r3!==y1.drums?(y1.drums=r3,y1.bank=y1.drums?128:T2,f(y1)):y1.bank=y1.drums?128:T2;continue}g[l2].bank=T2;break;case K3.noteOn:if(F0.messageData[1]===0)continue;f(y1),S[y1.string].add(`${F0.messageData[0]}-${F0.messageData[1]}`);break;case K3.systemExclusive:if(F0.messageData[0]!==65||F0.messageData[2]!==66||F0.messageData[3]!==18||F0.messageData[4]!==64||!(F0.messageData[5]&16)||F0.messageData[6]!==21){F0.messageData[0]===67&&F0.messageData[2]===76&&F0.messageData[5]===126&&F0.messageData[6]===0&&(f1="xg");continue}let V2=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][F0.messageData[5]&15]+o.midiPortChannelOffsets[g0[x]],i3=!!(F0.messageData[7]>0&&F0.messageData[5]>>4);y1=g[V2],y1.drums=i3,y1.bank=i3?128:0,f(y1);break}}for(let x of Object.keys(S))S[x].size===0&&(Y5(`%cDetected change but no keys for %c${x}`,_1.info,_1.value),delete S[x]);return i4(),S}function HC(o,r){function l(f,S){let n0=0;for(let E0=0;E0=g0.min&&X0.key<=g0.max&&X0.velocity>=f1.min&&X0.velocity<=f1.max){x=!0;break}x||(Y5(`%c${m0.sample.sampleName} %cremoved from %c${f.instrumentName}%c. Use count: %c${m0.useCount-1}`,_1.recognized,_1.info,_1.recognized,_1.info,_1.recognized),f.safeDeleteZone(E0)&&(n0++,E0--,Y5(`%c${m0.sample.sampleName} %cdeleted`,_1.recognized,_1.info)),m0.sample.useCount<1&&o.deleteSample(m0.sample))}return n0}gr("%cTrimming soundfont...",_1.info);let g=ok(r,o);ri("%cModifying soundfont...",_1.info),Y5("Detected keys for midi:",g);for(let f=0;f{let x=f1.split("-");return{key:parseInt(x[0]),velocity:parseInt(x[1])}});ri(`%cTrimming %c${S.presetName}`,_1.info,_1.recognized),Y5(`Keys for ${S.presetName}:`,m0);let g0=0;for(let f1=0;f1=X0.min&&l2.key<=X0.max&&l2.velocity>=F0.min&&l2.velocity<=F0.max){b1=!0;let y1=l(x.instrument,m0);Y5(`%cTrimmed off %c${y1}%c zones from %c${x.instrument.instrumentName}`,_1.info,_1.recognized,_1.info,_1.recognized);break}b1||(g0++,S.deleteZone(f1),x.instrument.useCount<1&&o.deleteInstrument(x.instrument),f1--)}Y5(`%cTrimmed off %c${g0}%c zones from %c${S.presetName}`,_1.info,_1.recognized,_1.info,_1.recognized),i4()}}o.removeUnusedElements(),o.soundFontInfo.ICMT=`NOTE: This soundfont was trimmed by SpessaSynth to only contain presets used in "${r.midiName}" -`+o.soundFontInfo.ICMT,Y5("%cSoundfont modified!",D1.recognized),i4(),i4()}function Ak(){let o=4;for(let g of this.instruments)o+=g.instrumentZones.reduce((f,v)=>(v.generators=v.generators.filter(n0=>n0.generatorType!==v1.sampleID&&n0.generatorType!==v1.keyRange&&n0.generatorType!==v1.velRange),(v.velRange.max!==127||v.velRange.min!==0)&&v.generators.unshift({generatorType:v1.velRange,generatorValue:v.velRange.max<<8|v.velRange.min}),(v.keyRange.max!==127||v.keyRange.min!==0)&&v.generators.unshift({generatorType:v1.keyRange,generatorValue:v.keyRange.max<<8|v.keyRange.min}),v.isGlobal||v.generators.push({generatorType:v1.sampleID,generatorValue:this.samples.indexOf(v.sample)}),v.generators.length*4+f),0);let r=new V3(o),l=0;for(let g of this.instruments)for(let f of g.instrumentZones){f.generatorZoneStartIndex=l;for(let v of f.generators)Q9(r,v.generatorType),Q9(r,v.generatorValue),l++}return c7(r,0),ze(new me("igen",r.length,r))}function ak(o,r,l,g,f){let v=this.samples.map((c0,u1)=>{l&&c0.compressSample(g,f);let F=c0.getRawData();return Y5(`%cEncoded sample %c${u1}. ${c0.sampleName}%c of %c${this.samples.length}`,D1.info,D1.recognized,D1.info,D1.recognized),F}),n0=this.samples.reduce((c0,u1,F)=>c0+v[F].length+46,0),E0=new V3(n0);this.samples.forEach((c0,u1)=>{let F=v[u1],q0,L0,R1=F.length;c0.isCompressed?(q0=E0.currentIndex,L0=q0+F.length):(q0=E0.currentIndex/2,L0=q0+F.length/2,R1+=46),o.push(q0),E0.set(F,E0.currentIndex),E0.currentIndex+=R1,r.push(L0)});let m0=ze(new me("smpl",E0.length,E0),new V3([115,100,116,97]));return ze(new me("LIST",m0.length,m0))}function $k(o,r){let g=new V3(46*(this.samples.length+1));return this.samples.forEach((f,v)=>{g7(g,f.sampleName,20);let n0=o[v];c7(g,n0);let E0=r[v];c7(g,E0);let m0=f.sampleLoopStartIndex+n0,c0=f.sampleLoopEndIndex+n0;f.isCompressed&&(m0-=n0,c0-=n0),c7(g,m0),c7(g,c0),c7(g,f.sampleRate),g[g.currentIndex++]=f.samplePitch,g[g.currentIndex++]=f.samplePitchCorrection,Q9(g,f.sampleLink),Q9(g,f.sampleType)}),g7(g,"EOS",46),ze(new me("shdr",g.length,g))}function lk(){let o=10;for(let g of this.instruments)o+=g.instrumentZones.reduce((f,v)=>v.modulators.length*10+f,0);let r=new V3(o),l=0;for(let g of this.instruments)for(let f of g.instrumentZones){f.modulatorZoneStartIndex=l;for(let v of f.modulators)Q9(r,v.sourceEnum),Q9(r,v.modulatorDestination),Q9(r,v.transformAmount),Q9(r,v.secondarySourceEnum),Q9(r,v.transformType),l++}return l7(r,0,10),ze(new me("imod",r.length,r))}function ck(){let o=this.instruments.reduce((v,n0)=>n0.instrumentZones.length*4+v,4),r=new V3(o),l=0,g=0,f=0;for(let v of this.instruments){v.instrumentZoneIndex=l;for(let n0 of v.instrumentZones)n0.zoneID=l,Q9(r,g),Q9(r,f),g+=n0.generators.length,f+=n0.modulators.length,l++}return Q9(r,g),Q9(r,f),ze(new me("ibag",r.length,r))}function gk(){let o=this.instruments.length*22+22,r=new V3(o),l=0,g=0;for(let f of this.instruments)g7(r,f.instrumentName,20),Q9(r,l),l+=f.instrumentZones.length,f.instrumentID=g,g++;return g7(r,"EOI",20),Q9(r,l),ze(new me("inst",r.length,r))}function hk(){let o=4;for(let g of this.presets)o+=g.presetZones.reduce((f,v)=>(v.generators=v.generators.filter(n0=>n0.generatorType!==v1.instrument&&n0.generatorType!==v1.keyRange&&n0.generatorType!==v1.velRange),(v.velRange.max!==127||v.velRange.min!==0)&&v.generators.unshift({generatorType:v1.velRange,generatorValue:v.velRange.max<<8|v.velRange.min}),(v.keyRange.max!==127||v.keyRange.min!==0)&&v.generators.unshift({generatorType:v1.keyRange,generatorValue:v.keyRange.max<<8|v.keyRange.min}),v.isGlobal||v.generators.push({generatorType:v1.instrument,generatorValue:this.instruments.indexOf(v.instrument)}),v.generators.length*4+f),0);let r=new V3(o),l=0;for(let g of this.presets)for(let f of g.presetZones){f.generatorZoneStartIndex=l;for(let v of f.generators)Q9(r,v.generatorType),Q9(r,v.generatorValue);l+=f.generators.length}return Q9(r,0),Q9(r,0),ze(new me("pgen",r.length,r))}function uk(){let o=10;for(let g of this.presets)o+=g.presetZones.reduce((f,v)=>v.modulators.length*10+f,0);let r=new V3(o),l=0;for(let g of this.presets)for(let f of g.presetZones){f.modulatorZoneStartIndex=l;for(let v of f.modulators)Q9(r,v.sourceEnum),Q9(r,v.modulatorDestination),Q9(r,v.transformAmount),Q9(r,v.secondarySourceEnum),Q9(r,v.transformType),l++}return l7(r,0,10),ze(new me("pmod",r.length,r))}function fk(){let o=this.presets.reduce((v,n0)=>n0.presetZones.length*4+v,4),r=new V3(o),l=0,g=0,f=0;for(let v of this.presets){v.presetZoneStartIndex=l;for(let n0 of v.presetZones)n0.zoneID=l,Q9(r,g),Q9(r,f),g+=n0.generators.length,f+=n0.modulators.length,l++}return Q9(r,g),Q9(r,f),ze(new me("pbag",r.length,r))}function dk(){let o=this.presets.length*38+38,r=new V3(o),l=0;for(let g of this.presets)g7(r,g.presetName,20),Q9(r,g.program),Q9(r,g.bank),Q9(r,l),c7(r,g.library),c7(r,g.genre),c7(r,g.morphology),l+=g.presetZones.length;return g7(r,"EOP",20),Q9(r,0),Q9(r,0),Q9(r,l),c7(r,0),c7(r,0),c7(r,0),ze(new me("phdr",r.length,r))}var aD={compress:!1,compressionQuality:.5,compressionFunction:void 0};function Ik(o=aD){if(o.compress&&typeof o.compressionFunction!="function")throw new TypeError("No compression function supplied but compression enabled.");ri("%cSaving soundfont...",D1.info),Y5(`%cCompression: %c${o?.compress||"false"}%c quality: %c${o?.compressionQuality||"none"}`,D1.info,D1.recognized,D1.info,D1.recognized),Y5("%cWriting INFO...",D1.info);let r=[];this.soundFontInfo.ISFT="SpessaSynth",o?.compress&&(this.soundFontInfo.ifil="3.0");for(let[i3,r3]of Object.entries(this.soundFontInfo))if(i3==="ifil"||i3==="iver"){let A0=parseInt(r3.split(".")[0]),y5=parseInt(r3.split(".")[1]),T3=new V3(4);Q9(T3,A0),Q9(T3,y5),r.push(ze(new me(i3,4,T3)))}else if(i3==="DMOD")r.push(ze(new me(i3,r3.length,r3)));else{let A0=new V3(r3.length);g7(A0,r3),r.push(ze(new me(i3,r3.length,A0)))}let l=Sn([new V3([73,78,70,79]),...r]),g=ze(new me("LIST",l.length,l));Y5("%cWriting SDTA...",D1.info);let f=[],v=[],n0=ak.call(this,f,v,o?.compress,o?.compressionQuality||.5,o.compressionFunction);Y5("%cWriting PDTA...",D1.info),Y5("%cWriting SHDR...",D1.info);let E0=$k.call(this,f,v);Y5("%cWriting IGEN...",D1.info);let m0=Ak.call(this);Y5("%cWriting IMOD...",D1.info);let c0=lk.call(this);Y5("%cWriting IBAG...",D1.info);let u1=ck.call(this);Y5("%cWriting INST...",D1.info);let F=gk.call(this),q0=hk.call(this);Y5("%cWriting PMOD...",D1.info);let L0=uk.call(this);Y5("%cWriting PBAG...",D1.info);let R1=fk.call(this);Y5("%cWriting PHDR...",D1.info);let t2=dk.call(this),y1=Sn([new V3([112,100,116,97]),t2,R1,L0,q0,F,u1,c0,m0,E0]),Y2=ze(new me("LIST",y1.length,y1));Y5("%cWriting the output file...",D1.info);let T2=Sn([new V3([115,102,98,107]),g,n0,Y2]),V2=ze(new me("RIFF",T2.length,T2));return Y5(`%cSaved succesfully! Final file size: %c${V2.length}`,D1.info,D1.recognized),i4(),V2}var v$=class o{constructor(r=void 0){this.soundFontInfo={},this.presets=[],this.samples=[],this.instruments=[],this.defaultModulators=pC.map(l=>oe.copy(l)),r?.presets&&(this.presets.push(...r.presets),this.soundFontInfo=r.info)}static mergeSoundfonts(...r){let l=r.shift(),g=l.presets;for(;r.length;)r.shift().presets.forEach(v=>{g.find(n0=>n0.bank===v.bank&&n0.program===v.program)===void 0&&g.push(v)});return new o({presets:g,info:l.soundFontInfo})}removeUnusedElements(){this.instruments.forEach(r=>{r.useCount<1&&r.instrumentZones.forEach(l=>{l.isGlobal||l.sample.useCount--})}),this.instruments=this.instruments.filter(r=>r.useCount>0),this.samples=this.samples.filter(r=>r.useCount>0)}deleteInstrument(r){if(r.useCount>0)throw new Error(`Cannot delete an instrument that has ${r.useCount} usages.`);this.instruments.splice(this.instruments.indexOf(r),1),r.deleteInstrument(),this.removeUnusedElements()}deletePreset(r){r.deletePreset(),this.presets.splice(this.presets.indexOf(r),1),this.removeUnusedElements()}deleteSample(r){if(r.useCount>0)throw new Error(`Cannot delete sample that has ${r.useCount} usages.`);this.samples.splice(this.samples.indexOf(r),1),this.removeUnusedElements()}setSampleIDOffset(r){this.presets.forEach(l=>l.sampleIDOffset=r)}getPresetNoFallback(r,l,g=!1){let f=this.presets.find(v=>v.bank===r&&v.program===l);if(f)return f;if(g!==!1)return r===128?this.presets.find(v=>v.bank===128):this.presets.find(v=>v.program===l)}getPreset(r,l){let g=this.presets.find(f=>f.bank===r&&f.program===l);return g||(r===128?(g=this.presets.find(f=>f.bank===128&&f.program===l),g||(g=this.presets.find(f=>f.bank===128))):g=this.presets.find(f=>f.program===l&&f.bank!==128),g&&x4(`%cPreset ${r}.${l} not found. Replaced with %c${g.presetName} (${g.bank}.${g.program})`,D1.warn,D1.recognized)),g||(x4(`Preset ${l} not found. Defaulting to`,this.presets[0].presetName),g=this.presets[0]),g}getPresetByName(r){let l=this.presets.find(g=>g.presetName===r);return l||(x4("Preset not found. Defaulting to:",this.presets[0].presetName),l=this.presets[0]),l}};v$.prototype.write=Ik;function Ek(o){ri("%cLoading instruments...",D1.info);for(let r=0;rr.deleteZone()),this.presetZones.length=0}deleteZone(r){this.presetZones[r].deleteZone(),this.presetZones.splice(r,1)}preload(r,l){for(let g=r;g{v.sample.isSampleLoaded||v.sample.getAudioData()})}preloadSpecific(r,l){this.getSamplesAndGenerators(r,l).forEach(g=>{g.sample.isSampleLoaded||g.sample.getAudioData()})}getSamplesAndGenerators(r,l){let g=this.foundSamplesAndGenerators[r][l];if(g)return g;if(this.presetZones.length<1)return[];function f(F,q0,L0){return L0>=F&&L0<=q0}function v(F,q0){F.push(...q0.filter(L0=>!F.find(R1=>R1.generatorType===L0.generatorType)))}function n0(F,q0){F.push(...q0.filter(L0=>!F.find(R1=>oe.isIdentical(L0,R1))))}let E0=[],m0=this.presetZones[0].isGlobal?[...this.presetZones[0].generators]:[],c0=this.presetZones[0].isGlobal?[...this.presetZones[0].modulators]:[];return this.presetZones.filter(F=>f(F.keyRange.min,F.keyRange.max,r)&&f(F.velRange.min,F.velRange.max,l)&&!F.isGlobal).forEach(F=>{if(F.instrument.instrumentZones.length<1)return;let q0=F.generators,L0=F.modulators,R1=F.instrument.instrumentZones[0].isGlobal?[...F.instrument.instrumentZones[0].generators]:[],t2=F.instrument.instrumentZones[0].isGlobal?[...F.instrument.instrumentZones[0].modulators]:[];F.instrument.instrumentZones.filter(Y2=>f(Y2.keyRange.min,Y2.keyRange.max,r)&&f(Y2.velRange.min,Y2.velRange.max,l)&&!Y2.isGlobal).forEach(Y2=>{let T2=[...Y2.generators],V2=[...Y2.modulators];v(q0,m0),v(T2,R1),n0(L0,c0),n0(V2,t2),n0(V2,this.defaultModulators);let i3=[...V2];for(let r3=0;r3oe.isIdentical(A0,T3));y5!==-1?i3[y5]=i3[y5].sumTransform(A0):i3.push(A0)}E0.push({instrumentGenerators:T2,presetGenerators:q0,modulators:i3,sample:Y2.sample,sampleID:Y2.generators.find(r3=>r3.generatorType===v1.sampleID).generatorValue})})}),this.foundSamplesAndGenerators[r][l]=E0,E0}};var xm=class{velRange={min:0,max:127};keyRange={min:0,max:127};isGlobal=!1;generators=[];modulators=[]};var GA=class extends xm{sample=void 0;useCount=0;deleteZone(){this.useCount--,!this.isGlobal&&this.sample.useCount--}},Eh=class extends xm{instrument=void 0;deleteZone(){this.isGlobal||this.instrument.removeUseCount()}};var mh=class{constructor(){this.instrumentName="",this.instrumentZones=[],this._useCount=0}get useCount(){return this._useCount}addUseCount(){this._useCount++,this.instrumentZones.forEach(r=>r.useCount++)}removeUseCount(){this._useCount--;for(let r=0;rr.deleteZone()),this.instrumentZones.length=0}safeDeleteZone(r){return this.instrumentZones[r].useCount--,this.instrumentZones[r].useCount<1?(this.deleteZone(r),!0):!1}deleteZone(r){this.instrumentZones[r].deleteZone(),this.instrumentZones.splice(r,1)}};var YC=class extends Ih{constructor(r,l){super(pC),this.program=l&127,this.bank=r>>8&127,r>>31&&(this.bank=128),this.DLSInstrument=new mh,this.DLSInstrument.addUseCount();let f=new Eh;f.instrument=this.DLSInstrument,this.presetZones=[f]}};function mk(o){this.verifyHeader(o,"LIST"),this.verifyText(Ee(o.chunkData,4),"ins ");let r=[];for(;o.chunkData.length>o.chunkData.currentIndex;)r.push(d4(o.chunkData));let l=r.find(L0=>L0.header==="insh");if(!l)throw i4(),new Error("No instrument header!");let g=o3(l.chunkData,4),f=o3(l.chunkData,4),v=o3(l.chunkData,4),n0=new YC(f,v),E0="unnamedPreset",m0=xi(r,"INFO");if(m0){let L0=d4(m0.chunkData);for(;L0.header!=="INAM";)L0=d4(m0.chunkData);E0=Ee(L0.chunkData,L0.chunkData.length).trim()}n0.presetName=E0,n0.DLSInstrument.instrumentName=E0,gr(`%cParsing %c"${E0}"%c...`,D1.info,D1.recognized,D1.info);let c0=xi(r,"lrgn");if(!c0)throw i4(),new Error("No region list!");let u1=new GA;u1.isGlobal=!0;let F=xi(r,"lart"),q0=xi(r,"lar2");this.readLart(F,q0,u1),n0.DLSInstrument.instrumentZones.push(u1);for(let L0=0;L0>10&15;Y2===Gr.linear&&y1!==Gr.linear&&(Y2=y1);let T2=g>>14&1,V2=g>>15&1;n0===v1.initialAttenuation&&(V2=!V2),F=Nr(Y2,T2,V2,E0.isCC,E0.enum)}let q0=g>>4&15,L0=g>>8&1,R1=g>>9&1,t2=Nr(q0,L0,R1,u1.isCC,u1.enum);if(m0){let y1=t2;t2=F,F=y1}return new oe({srcEnum:F,secSrcEnum:t2,dest:n0,transform:0,amt:f})}function zB(o,r){let l=o.chunkData,g=[],f=[];o3(l,4);let v=o3(l,4);for(let n0=0;n0>16;if(E0===0&&m0===0&&u1===0){let L0;switch(c0){case m6.pan:L0=new W6(v1.pan,q0);break;case m6.gain:L0=new W6(v1.initialAttenuation,-q0*10/.4);break;case m6.filterCutoff:L0=new W6(v1.initialFilterFc,q0);break;case m6.filterQ:L0=new W6(v1.initialFilterQ,q0);break;case m6.modLfoFreq:L0=new W6(v1.freqModLFO,q0);break;case m6.modLfoDelay:L0=new W6(v1.delayModLFO,q0);break;case m6.vibLfoFreq:L0=new W6(v1.freqVibLFO,q0);break;case m6.vibLfoDelay:L0=new W6(v1.delayVibLFO,q0);break;case m6.volEnvDelay:L0=new W6(v1.delayVolEnv,q0);break;case m6.volEnvAttack:L0=new W6(v1.attackVolEnv,q0);break;case m6.volEnvHold:L0=new W6(v1.holdVolEnv,q0);break;case m6.volEnvDecay:L0=new W6(v1.decayVolEnv,q0);break;case m6.volEnvRelease:L0=new W6(v1.releaseVolEnv,q0);break;case m6.volEnvSustain:let R1=(1e3-q0)/10;L0=new W6(v1.sustainVolEnv,R1*10);break;case m6.modEnvDelay:L0=new W6(v1.delayModEnv,q0);break;case m6.modEnvAttack:L0=new W6(v1.attackModEnv,q0);break;case m6.modEnvHold:L0=new W6(v1.holdModEnv,q0);break;case m6.modEnvDecay:L0=new W6(v1.decayModEnv,q0);break;case m6.modEnvRelease:L0=new W6(v1.releaseModEnv,q0);break;case m6.modEnvSustain:let t2=1e3-q0;L0=new W6(v1.sustainModEnv,t2);break;case m6.reverbSend:L0=new W6(v1.reverbEffectsSend,q0);break;case m6.chorusSend:L0=new W6(v1.chorusEffectsSend,q0);break;case m6.pitch:let y1=Math.floor(q0/100),Y2=Math.floor(q0-y1*100);L0=new W6(v1.fineTune,Y2),g.push(new W6(v1.coarseTune,y1));break}L0&&g.push(L0)}else{let L0=!0;if(m0===w4.none)if(E0===w4.modLfo&&c0===m6.pitch)g.push(new W6(v1.modLfoToPitch,q0));else if(E0===w4.modLfo&&c0===m6.gain)g.push(new W6(v1.modLfoToVolume,q0));else if(E0===w4.modLfo&&c0===m6.filterCutoff)g.push(new W6(v1.modLfoToFilterFc,q0));else if(E0===w4.vibratoLfo&&c0===m6.pitch)g.push(new W6(v1.vibLfoToPitch,q0));else if(E0===w4.modEnv&&c0===m6.pitch)g.push(new W6(v1.modEnvToPitch,q0));else if(E0===w4.modEnv&&c0===m6.filterCutoff)g.push(new W6(v1.modEnvToFilterFc,q0));else if(E0===w4.keyNum&&c0===m6.volEnvHold){g.push(new W6(v1.keyNumToVolEnvHold,q0/-128));let R1=Math.round(60/128*q0);g.forEach(t2=>{t2.generatorType===v1.holdVolEnv&&(t2.generatorValue+=R1)})}else if(E0===w4.keyNum&&c0===m6.volEnvDecay){g.push(new W6(v1.keyNumToVolEnvDecay,q0/-128));let R1=Math.round(60/128*q0);g.forEach(t2=>{t2.generatorType===v1.decayVolEnv&&(t2.generatorValue+=R1)})}else if(E0===w4.keyNum&&c0===m6.modEnvHold){g.push(new W6(v1.keyNumToModEnvHold,q0/-128));let R1=Math.round(60/128*q0);g.forEach(t2=>{t2.generatorType===v1.holdModEnv&&(t2.generatorValue+=R1)})}else if(E0===w4.keyNum&&c0===m6.modEnvDecay){g.push(new W6(v1.keyNumToModEnvDecay,q0/-128));let R1=Math.round(60/128*q0);g.forEach(t2=>{t2.generatorType===v1.decayModEnv&&(t2.generatorValue+=R1)})}else L0=!1;else L0=!1;if(L0===!1){let R1=Bk(E0,m0,c0,u1,q0);R1?(f.push(R1),Y5("%cSucceeded converting to SF2 Modulator!",D1.recognized)):x4("Failed converting to SF2 Modulator!")}}}return f.find(n0=>n0.modulatorDestination===v1.reverbEffectsSend)===void 0&&f.push(new oe({srcEnum:219,dest:v1.reverbEffectsSend,amt:1e3,secSrcEnum:0,transform:0})),f.find(n0=>n0.modulatorDestination===v1.chorusEffectsSend)===void 0&&f.push(new oe({srcEnum:221,dest:v1.chorusEffectsSend,amt:1e3,secSrcEnum:0,transform:0})),r&&f.push(new oe({srcEnum:129,dest:v1.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0}),new oe({srcEnum:13,dest:v1.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0})),{modulators:f,generators:g}}function pk(o,r,l){if(o)for(;o.chunkData.currentIndexo.chunkData.currentIndex;)r.push(d4(o.chunkData));let l=r.find(T3=>T3.header==="rgnh"),g=o3(l.chunkData,2),f=o3(l.chunkData,2),v=o3(l.chunkData,2),n0=o3(l.chunkData,2),E0=new JC({min:g,max:f},{min:v,max:n0});o3(l.chunkData,2);let m0=o3(l.chunkData,2);m0!==0&&E0.generators.push(new W6(v1.exclusiveClass,m0));let c0=xi(r,"lart"),u1=xi(r,"lar2");this.readLart(c0,u1,E0),E0.isGlobal=!1;let F=r.find(T3=>T3.header==="wsmp");o3(F.chunkData,4);let q0=o3(F.chunkData,2),L0=LA(F.chunkData[F.chunkData.currentIndex++],F.chunkData[F.chunkData.currentIndex++]),t2=(o3(F.chunkData,4)|0)/-655360;o3(F.chunkData,4);let y1=o3(F.chunkData,4),Y2,T2={start:0,end:0};if(y1===0)Y2=0;else{o3(F.chunkData,4),o3(F.chunkData,4)===0?Y2=1:Y2=3,T2.start=o3(F.chunkData,4);let $3=o3(F.chunkData,4);T2.end=T2.start+$3}let V2=r.find(T3=>T3.header==="wlnk");if(V2===void 0)return;o3(V2.chunkData,2),o3(V2.chunkData,2),o3(V2.chunkData,4);let i3=o3(V2.chunkData,4),r3=this.samples[i3];if(r3===void 0)throw new Error("Invalid sample ID!");let y5=(t2||r3.sampleDbAttenuation)*10/.4;return E0.setWavesample(y5,Y2,T2,q0,r3,i3,L0),E0}var Ch=class{constructor(r,l,g,f,v,n0,E0,m0){this.sampleName=r,this.sampleRate=l,this.samplePitch=g,this.samplePitchCorrection=f,this.sampleLink=v,this.sampleType=n0,this.sampleLoopStartIndex=E0,this.sampleLoopEndIndex=m0,this.isCompressed=(n0&16)>0,this.compressedData=void 0,this.useCount=0}getRawData(){let r=new Error("Not implemented");throw r.name="NotImplementedError",r}compressSample(r,l){if(!this.isCompressed)try{this.compressedData=l([this.getAudioData()],1,this.sampleRate,r),this.sampleType|=16,this.isCompressed=!0}catch{x4(`Failed to compress ${this.sampleName}. Leaving as uncompressed!`),this.isCompressed=!1,this.compressedData=void 0,this.sampleType&=-17}}getAudioData(){let r=new Error("Not implemented");throw r.name="NotImplementedError",r}};var VC=class extends Ch{sampleDbAttenuation;sampleData;constructor(r,l,g,f,v,n0,E0,m0){super(r,l,g,f,0,1,v,n0-1),this.sampleData=E0,this.sampleDbAttenuation=m0}getAudioData(){return this.sampleData}getRawData(){if(this.isCompressed){if(!this.compressedData)throw new Error("Compressed but no data??");return this.compressedData}let r=new Uint8Array(this.sampleData.length*2);for(let l=0;l>8&255}return r}};function yk(o){ri("%cLoading Wave samples...",D1.recognized);let r=0;for(;o.chunkData.currentIndex$3.header==="fmt ");if(!f)throw new Error("No fmt chunk in the wave file!");if(o3(f.chunkData,2)!==1)throw new Error("Only PCM format in WAVE is supported.");if(o3(f.chunkData,2)!==1)throw new Error("Only mono samples are supported.");let E0=o3(f.chunkData,4);o3(f.chunkData,4),o3(f.chunkData,2);let m0=o3(f.chunkData,2),c0=m0/8,u1=Math.pow(2,c0*8-1),F=Math.pow(2,c0*8),q0,L0=!1;m0===8?(q0=255,L0=!0):q0=u1;let R1=g.find($3=>$3.header==="data");if(!R1)throw new Error("No data chunk in the wave chunk!");let t2=R1.size/c0,y1=new Float32Array(t2);for(let $3=0;$3=u1&&(w6-=F),y1[$3]=w6/q0)}let Y2=60,T2=0,V2=0,i3=y1.length-1,r3=0,A0=g.find($3=>$3.header==="wsmp");if(A0){if(o3(A0.chunkData,4),Y2=o3(A0.chunkData,2),T2=LA(A0.chunkData[A0.chunkData.currentIndex++],A0.chunkData[A0.chunkData.currentIndex++]),r3=(o3(A0.chunkData,4)|0)/-655360,o3(A0.chunkData,4),o3(A0.chunkData,4)===1){o3(A0.chunkData,8),V2=o3(A0.chunkData,4);let s6=o3(A0.chunkData,4);i3=V2+s6}}else x4("No wsmp chunk in wave... using sane defaults.");let y5=xi(g,"INFO"),T3=`Unnamed ${r}`;if(y5){let $3=d4(y5.chunkData);for(;$3.header!=="INAM"&&y5.chunkData.currentIndex(S.generators=S.generators.filter(n0=>n0.generatorType!==v1.sampleID&&n0.generatorType!==v1.keyRange&&n0.generatorType!==v1.velRange),(S.velRange.max!==127||S.velRange.min!==0)&&S.generators.unshift({generatorType:v1.velRange,generatorValue:S.velRange.max<<8|S.velRange.min}),(S.keyRange.max!==127||S.keyRange.min!==0)&&S.generators.unshift({generatorType:v1.keyRange,generatorValue:S.keyRange.max<<8|S.keyRange.min}),S.isGlobal||S.generators.push({generatorType:v1.sampleID,generatorValue:this.samples.indexOf(S.sample)}),S.generators.length*4+f),0);let r=new V3(o),l=0;for(let g of this.instruments)for(let f of g.instrumentZones){f.generatorZoneStartIndex=l;for(let S of f.generators)Q9(r,S.generatorType),Q9(r,S.generatorValue),l++}return c7(r,0),ze(new me("igen",r.length,r))}function ak(o,r,l,g,f){let S=this.samples.map((g0,f1)=>{l&&g0.compressSample(g,f);let x=g0.getRawData();return Y5(`%cEncoded sample %c${f1}. ${g0.sampleName}%c of %c${this.samples.length}`,_1.info,_1.recognized,_1.info,_1.recognized),x}),n0=this.samples.reduce((g0,f1,x)=>g0+S[x].length+46,0),E0=new V3(n0);this.samples.forEach((g0,f1)=>{let x=S[f1],X0,F0,b1=x.length;g0.isCompressed?(X0=E0.currentIndex,F0=X0+x.length):(X0=E0.currentIndex/2,F0=X0+x.length/2,b1+=46),o.push(X0),E0.set(x,E0.currentIndex),E0.currentIndex+=b1,r.push(F0)});let m0=ze(new me("smpl",E0.length,E0),new V3([115,100,116,97]));return ze(new me("LIST",m0.length,m0))}function $k(o,r){let g=new V3(46*(this.samples.length+1));return this.samples.forEach((f,S)=>{g7(g,f.sampleName,20);let n0=o[S];c7(g,n0);let E0=r[S];c7(g,E0);let m0=f.sampleLoopStartIndex+n0,g0=f.sampleLoopEndIndex+n0;f.isCompressed&&(m0-=n0,g0-=n0),c7(g,m0),c7(g,g0),c7(g,f.sampleRate),g[g.currentIndex++]=f.samplePitch,g[g.currentIndex++]=f.samplePitchCorrection,Q9(g,f.sampleLink),Q9(g,f.sampleType)}),g7(g,"EOS",46),ze(new me("shdr",g.length,g))}function lk(){let o=10;for(let g of this.instruments)o+=g.instrumentZones.reduce((f,S)=>S.modulators.length*10+f,0);let r=new V3(o),l=0;for(let g of this.instruments)for(let f of g.instrumentZones){f.modulatorZoneStartIndex=l;for(let S of f.modulators)Q9(r,S.sourceEnum),Q9(r,S.modulatorDestination),Q9(r,S.transformAmount),Q9(r,S.secondarySourceEnum),Q9(r,S.transformType),l++}return l7(r,0,10),ze(new me("imod",r.length,r))}function ck(){let o=this.instruments.reduce((S,n0)=>n0.instrumentZones.length*4+S,4),r=new V3(o),l=0,g=0,f=0;for(let S of this.instruments){S.instrumentZoneIndex=l;for(let n0 of S.instrumentZones)n0.zoneID=l,Q9(r,g),Q9(r,f),g+=n0.generators.length,f+=n0.modulators.length,l++}return Q9(r,g),Q9(r,f),ze(new me("ibag",r.length,r))}function gk(){let o=this.instruments.length*22+22,r=new V3(o),l=0,g=0;for(let f of this.instruments)g7(r,f.instrumentName,20),Q9(r,l),l+=f.instrumentZones.length,f.instrumentID=g,g++;return g7(r,"EOI",20),Q9(r,l),ze(new me("inst",r.length,r))}function hk(){let o=4;for(let g of this.presets)o+=g.presetZones.reduce((f,S)=>(S.generators=S.generators.filter(n0=>n0.generatorType!==v1.instrument&&n0.generatorType!==v1.keyRange&&n0.generatorType!==v1.velRange),(S.velRange.max!==127||S.velRange.min!==0)&&S.generators.unshift({generatorType:v1.velRange,generatorValue:S.velRange.max<<8|S.velRange.min}),(S.keyRange.max!==127||S.keyRange.min!==0)&&S.generators.unshift({generatorType:v1.keyRange,generatorValue:S.keyRange.max<<8|S.keyRange.min}),S.isGlobal||S.generators.push({generatorType:v1.instrument,generatorValue:this.instruments.indexOf(S.instrument)}),S.generators.length*4+f),0);let r=new V3(o),l=0;for(let g of this.presets)for(let f of g.presetZones){f.generatorZoneStartIndex=l;for(let S of f.generators)Q9(r,S.generatorType),Q9(r,S.generatorValue);l+=f.generators.length}return Q9(r,0),Q9(r,0),ze(new me("pgen",r.length,r))}function uk(){let o=10;for(let g of this.presets)o+=g.presetZones.reduce((f,S)=>S.modulators.length*10+f,0);let r=new V3(o),l=0;for(let g of this.presets)for(let f of g.presetZones){f.modulatorZoneStartIndex=l;for(let S of f.modulators)Q9(r,S.sourceEnum),Q9(r,S.modulatorDestination),Q9(r,S.transformAmount),Q9(r,S.secondarySourceEnum),Q9(r,S.transformType),l++}return l7(r,0,10),ze(new me("pmod",r.length,r))}function fk(){let o=this.presets.reduce((S,n0)=>n0.presetZones.length*4+S,4),r=new V3(o),l=0,g=0,f=0;for(let S of this.presets){S.presetZoneStartIndex=l;for(let n0 of S.presetZones)n0.zoneID=l,Q9(r,g),Q9(r,f),g+=n0.generators.length,f+=n0.modulators.length,l++}return Q9(r,g),Q9(r,f),ze(new me("pbag",r.length,r))}function dk(){let o=this.presets.length*38+38,r=new V3(o),l=0;for(let g of this.presets)g7(r,g.presetName,20),Q9(r,g.program),Q9(r,g.bank),Q9(r,l),c7(r,g.library),c7(r,g.genre),c7(r,g.morphology),l+=g.presetZones.length;return g7(r,"EOP",20),Q9(r,0),Q9(r,0),Q9(r,l),c7(r,0),c7(r,0),c7(r,0),ze(new me("phdr",r.length,r))}var aD={compress:!1,compressionQuality:.5,compressionFunction:void 0};function Ik(o=aD){if(o.compress&&typeof o.compressionFunction!="function")throw new TypeError("No compression function supplied but compression enabled.");ri("%cSaving soundfont...",_1.info),Y5(`%cCompression: %c${o?.compress||"false"}%c quality: %c${o?.compressionQuality||"none"}`,_1.info,_1.recognized,_1.info,_1.recognized),Y5("%cWriting INFO...",_1.info);let r=[];this.soundFontInfo.ISFT="SpessaSynth",o?.compress&&(this.soundFontInfo.ifil="3.0");for(let[i3,r3]of Object.entries(this.soundFontInfo))if(i3==="ifil"||i3==="iver"){let A0=parseInt(r3.split(".")[0]),y5=parseInt(r3.split(".")[1]),T3=new V3(4);Q9(T3,A0),Q9(T3,y5),r.push(ze(new me(i3,4,T3)))}else if(i3==="DMOD")r.push(ze(new me(i3,r3.length,r3)));else{let A0=new V3(r3.length);g7(A0,r3),r.push(ze(new me(i3,r3.length,A0)))}let l=Sn([new V3([73,78,70,79]),...r]),g=ze(new me("LIST",l.length,l));Y5("%cWriting SDTA...",_1.info);let f=[],S=[],n0=ak.call(this,f,S,o?.compress,o?.compressionQuality||.5,o.compressionFunction);Y5("%cWriting PDTA...",_1.info),Y5("%cWriting SHDR...",_1.info);let E0=$k.call(this,f,S);Y5("%cWriting IGEN...",_1.info);let m0=Ak.call(this);Y5("%cWriting IMOD...",_1.info);let g0=lk.call(this);Y5("%cWriting IBAG...",_1.info);let f1=ck.call(this);Y5("%cWriting INST...",_1.info);let x=gk.call(this),X0=hk.call(this);Y5("%cWriting PMOD...",_1.info);let F0=uk.call(this);Y5("%cWriting PBAG...",_1.info);let b1=fk.call(this);Y5("%cWriting PHDR...",_1.info);let l2=dk.call(this),y1=Sn([new V3([112,100,116,97]),l2,b1,F0,X0,x,f1,g0,m0,E0]),Y2=ze(new me("LIST",y1.length,y1));Y5("%cWriting the output file...",_1.info);let T2=Sn([new V3([115,102,98,107]),g,n0,Y2]),V2=ze(new me("RIFF",T2.length,T2));return Y5(`%cSaved succesfully! Final file size: %c${V2.length}`,_1.info,_1.recognized),i4(),V2}var v$=class o{constructor(r=void 0){this.soundFontInfo={},this.presets=[],this.samples=[],this.instruments=[],this.defaultModulators=pC.map(l=>oe.copy(l)),r?.presets&&(this.presets.push(...r.presets),this.soundFontInfo=r.info)}static mergeSoundfonts(...r){let l=r.shift(),g=l.presets;for(;r.length;)r.shift().presets.forEach(S=>{g.find(n0=>n0.bank===S.bank&&n0.program===S.program)===void 0&&g.push(S)});return new o({presets:g,info:l.soundFontInfo})}removeUnusedElements(){this.instruments.forEach(r=>{r.useCount<1&&r.instrumentZones.forEach(l=>{l.isGlobal||l.sample.useCount--})}),this.instruments=this.instruments.filter(r=>r.useCount>0),this.samples=this.samples.filter(r=>r.useCount>0)}deleteInstrument(r){if(r.useCount>0)throw new Error(`Cannot delete an instrument that has ${r.useCount} usages.`);this.instruments.splice(this.instruments.indexOf(r),1),r.deleteInstrument(),this.removeUnusedElements()}deletePreset(r){r.deletePreset(),this.presets.splice(this.presets.indexOf(r),1),this.removeUnusedElements()}deleteSample(r){if(r.useCount>0)throw new Error(`Cannot delete sample that has ${r.useCount} usages.`);this.samples.splice(this.samples.indexOf(r),1),this.removeUnusedElements()}setSampleIDOffset(r){this.presets.forEach(l=>l.sampleIDOffset=r)}getPresetNoFallback(r,l,g=!1){let f=this.presets.find(S=>S.bank===r&&S.program===l);if(f)return f;if(g!==!1)return r===128?this.presets.find(S=>S.bank===128):this.presets.find(S=>S.program===l)}getPreset(r,l){let g=this.presets.find(f=>f.bank===r&&f.program===l);return g||(r===128?(g=this.presets.find(f=>f.bank===128&&f.program===l),g||(g=this.presets.find(f=>f.bank===128))):g=this.presets.find(f=>f.program===l&&f.bank!==128),g&&x4(`%cPreset ${r}.${l} not found. Replaced with %c${g.presetName} (${g.bank}.${g.program})`,_1.warn,_1.recognized)),g||(x4(`Preset ${l} not found. Defaulting to`,this.presets[0].presetName),g=this.presets[0]),g}getPresetByName(r){let l=this.presets.find(g=>g.presetName===r);return l||(x4("Preset not found. Defaulting to:",this.presets[0].presetName),l=this.presets[0]),l}};v$.prototype.write=Ik;function Ek(o){ri("%cLoading instruments...",_1.info);for(let r=0;rr.deleteZone()),this.presetZones.length=0}deleteZone(r){this.presetZones[r].deleteZone(),this.presetZones.splice(r,1)}preload(r,l){for(let g=r;g{S.sample.isSampleLoaded||S.sample.getAudioData()})}preloadSpecific(r,l){this.getSamplesAndGenerators(r,l).forEach(g=>{g.sample.isSampleLoaded||g.sample.getAudioData()})}getSamplesAndGenerators(r,l){let g=this.foundSamplesAndGenerators[r][l];if(g)return g;if(this.presetZones.length<1)return[];function f(x,X0,F0){return F0>=x&&F0<=X0}function S(x,X0){x.push(...X0.filter(F0=>!x.find(b1=>b1.generatorType===F0.generatorType)))}function n0(x,X0){x.push(...X0.filter(F0=>!x.find(b1=>oe.isIdentical(F0,b1))))}let E0=[],m0=this.presetZones[0].isGlobal?[...this.presetZones[0].generators]:[],g0=this.presetZones[0].isGlobal?[...this.presetZones[0].modulators]:[];return this.presetZones.filter(x=>f(x.keyRange.min,x.keyRange.max,r)&&f(x.velRange.min,x.velRange.max,l)&&!x.isGlobal).forEach(x=>{if(x.instrument.instrumentZones.length<1)return;let X0=x.generators,F0=x.modulators,b1=x.instrument.instrumentZones[0].isGlobal?[...x.instrument.instrumentZones[0].generators]:[],l2=x.instrument.instrumentZones[0].isGlobal?[...x.instrument.instrumentZones[0].modulators]:[];x.instrument.instrumentZones.filter(Y2=>f(Y2.keyRange.min,Y2.keyRange.max,r)&&f(Y2.velRange.min,Y2.velRange.max,l)&&!Y2.isGlobal).forEach(Y2=>{let T2=[...Y2.generators],V2=[...Y2.modulators];S(X0,m0),S(T2,b1),n0(F0,g0),n0(V2,l2),n0(V2,this.defaultModulators);let i3=[...V2];for(let r3=0;r3oe.isIdentical(A0,T3));y5!==-1?i3[y5]=i3[y5].sumTransform(A0):i3.push(A0)}E0.push({instrumentGenerators:T2,presetGenerators:X0,modulators:i3,sample:Y2.sample,sampleID:Y2.generators.find(r3=>r3.generatorType===v1.sampleID).generatorValue})})}),this.foundSamplesAndGenerators[r][l]=E0,E0}};var xm=class{velRange={min:0,max:127};keyRange={min:0,max:127};isGlobal=!1;generators=[];modulators=[]};var GA=class extends xm{sample=void 0;useCount=0;deleteZone(){this.useCount--,!this.isGlobal&&this.sample.useCount--}},Eh=class extends xm{instrument=void 0;deleteZone(){this.isGlobal||this.instrument.removeUseCount()}};var mh=class{constructor(){this.instrumentName="",this.instrumentZones=[],this._useCount=0}get useCount(){return this._useCount}addUseCount(){this._useCount++,this.instrumentZones.forEach(r=>r.useCount++)}removeUseCount(){this._useCount--;for(let r=0;rr.deleteZone()),this.instrumentZones.length=0}safeDeleteZone(r){return this.instrumentZones[r].useCount--,this.instrumentZones[r].useCount<1?(this.deleteZone(r),!0):!1}deleteZone(r){this.instrumentZones[r].deleteZone(),this.instrumentZones.splice(r,1)}};var YC=class extends Ih{constructor(r,l){super(pC),this.program=l&127,this.bank=r>>8&127,r>>31&&(this.bank=128),this.DLSInstrument=new mh,this.DLSInstrument.addUseCount();let f=new Eh;f.instrument=this.DLSInstrument,this.presetZones=[f]}};function mk(o){this.verifyHeader(o,"LIST"),this.verifyText(Ee(o.chunkData,4),"ins ");let r=[];for(;o.chunkData.length>o.chunkData.currentIndex;)r.push(d4(o.chunkData));let l=r.find(F0=>F0.header==="insh");if(!l)throw i4(),new Error("No instrument header!");let g=o3(l.chunkData,4),f=o3(l.chunkData,4),S=o3(l.chunkData,4),n0=new YC(f,S),E0="unnamedPreset",m0=xi(r,"INFO");if(m0){let F0=d4(m0.chunkData);for(;F0.header!=="INAM";)F0=d4(m0.chunkData);E0=Ee(F0.chunkData,F0.chunkData.length).trim()}n0.presetName=E0,n0.DLSInstrument.instrumentName=E0,gr(`%cParsing %c"${E0}"%c...`,_1.info,_1.recognized,_1.info);let g0=xi(r,"lrgn");if(!g0)throw i4(),new Error("No region list!");let f1=new GA;f1.isGlobal=!0;let x=xi(r,"lart"),X0=xi(r,"lar2");this.readLart(x,X0,f1),n0.DLSInstrument.instrumentZones.push(f1);for(let F0=0;F0>10&15;Y2===Gr.linear&&y1!==Gr.linear&&(Y2=y1);let T2=g>>14&1,V2=g>>15&1;n0===v1.initialAttenuation&&(V2=!V2),x=Nr(Y2,T2,V2,E0.isCC,E0.enum)}let X0=g>>4&15,F0=g>>8&1,b1=g>>9&1,l2=Nr(X0,F0,b1,f1.isCC,f1.enum);if(m0){let y1=l2;l2=x,x=y1}return new oe({srcEnum:x,secSrcEnum:l2,dest:n0,transform:0,amt:f})}function zB(o,r){let l=o.chunkData,g=[],f=[];o3(l,4);let S=o3(l,4);for(let n0=0;n0>16;if(E0===0&&m0===0&&f1===0){let F0;switch(g0){case m6.pan:F0=new W6(v1.pan,X0);break;case m6.gain:F0=new W6(v1.initialAttenuation,-X0*10/.4);break;case m6.filterCutoff:F0=new W6(v1.initialFilterFc,X0);break;case m6.filterQ:F0=new W6(v1.initialFilterQ,X0);break;case m6.modLfoFreq:F0=new W6(v1.freqModLFO,X0);break;case m6.modLfoDelay:F0=new W6(v1.delayModLFO,X0);break;case m6.vibLfoFreq:F0=new W6(v1.freqVibLFO,X0);break;case m6.vibLfoDelay:F0=new W6(v1.delayVibLFO,X0);break;case m6.volEnvDelay:F0=new W6(v1.delayVolEnv,X0);break;case m6.volEnvAttack:F0=new W6(v1.attackVolEnv,X0);break;case m6.volEnvHold:F0=new W6(v1.holdVolEnv,X0);break;case m6.volEnvDecay:F0=new W6(v1.decayVolEnv,X0);break;case m6.volEnvRelease:F0=new W6(v1.releaseVolEnv,X0);break;case m6.volEnvSustain:let b1=(1e3-X0)/10;F0=new W6(v1.sustainVolEnv,b1*10);break;case m6.modEnvDelay:F0=new W6(v1.delayModEnv,X0);break;case m6.modEnvAttack:F0=new W6(v1.attackModEnv,X0);break;case m6.modEnvHold:F0=new W6(v1.holdModEnv,X0);break;case m6.modEnvDecay:F0=new W6(v1.decayModEnv,X0);break;case m6.modEnvRelease:F0=new W6(v1.releaseModEnv,X0);break;case m6.modEnvSustain:let l2=1e3-X0;F0=new W6(v1.sustainModEnv,l2);break;case m6.reverbSend:F0=new W6(v1.reverbEffectsSend,X0);break;case m6.chorusSend:F0=new W6(v1.chorusEffectsSend,X0);break;case m6.pitch:let y1=Math.floor(X0/100),Y2=Math.floor(X0-y1*100);F0=new W6(v1.fineTune,Y2),g.push(new W6(v1.coarseTune,y1));break}F0&&g.push(F0)}else{let F0=!0;if(m0===w4.none)if(E0===w4.modLfo&&g0===m6.pitch)g.push(new W6(v1.modLfoToPitch,X0));else if(E0===w4.modLfo&&g0===m6.gain)g.push(new W6(v1.modLfoToVolume,X0));else if(E0===w4.modLfo&&g0===m6.filterCutoff)g.push(new W6(v1.modLfoToFilterFc,X0));else if(E0===w4.vibratoLfo&&g0===m6.pitch)g.push(new W6(v1.vibLfoToPitch,X0));else if(E0===w4.modEnv&&g0===m6.pitch)g.push(new W6(v1.modEnvToPitch,X0));else if(E0===w4.modEnv&&g0===m6.filterCutoff)g.push(new W6(v1.modEnvToFilterFc,X0));else if(E0===w4.keyNum&&g0===m6.volEnvHold){g.push(new W6(v1.keyNumToVolEnvHold,X0/-128));let b1=Math.round(60/128*X0);g.forEach(l2=>{l2.generatorType===v1.holdVolEnv&&(l2.generatorValue+=b1)})}else if(E0===w4.keyNum&&g0===m6.volEnvDecay){g.push(new W6(v1.keyNumToVolEnvDecay,X0/-128));let b1=Math.round(60/128*X0);g.forEach(l2=>{l2.generatorType===v1.decayVolEnv&&(l2.generatorValue+=b1)})}else if(E0===w4.keyNum&&g0===m6.modEnvHold){g.push(new W6(v1.keyNumToModEnvHold,X0/-128));let b1=Math.round(60/128*X0);g.forEach(l2=>{l2.generatorType===v1.holdModEnv&&(l2.generatorValue+=b1)})}else if(E0===w4.keyNum&&g0===m6.modEnvDecay){g.push(new W6(v1.keyNumToModEnvDecay,X0/-128));let b1=Math.round(60/128*X0);g.forEach(l2=>{l2.generatorType===v1.decayModEnv&&(l2.generatorValue+=b1)})}else F0=!1;else F0=!1;if(F0===!1){let b1=Bk(E0,m0,g0,f1,X0);b1?(f.push(b1),Y5("%cSucceeded converting to SF2 Modulator!",_1.recognized)):x4("Failed converting to SF2 Modulator!")}}}return f.find(n0=>n0.modulatorDestination===v1.reverbEffectsSend)===void 0&&f.push(new oe({srcEnum:219,dest:v1.reverbEffectsSend,amt:1e3,secSrcEnum:0,transform:0})),f.find(n0=>n0.modulatorDestination===v1.chorusEffectsSend)===void 0&&f.push(new oe({srcEnum:221,dest:v1.chorusEffectsSend,amt:1e3,secSrcEnum:0,transform:0})),r&&f.push(new oe({srcEnum:129,dest:v1.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0}),new oe({srcEnum:13,dest:v1.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0})),{modulators:f,generators:g}}function pk(o,r,l){if(o)for(;o.chunkData.currentIndexo.chunkData.currentIndex;)r.push(d4(o.chunkData));let l=r.find(T3=>T3.header==="rgnh"),g=o3(l.chunkData,2),f=o3(l.chunkData,2),S=o3(l.chunkData,2),n0=o3(l.chunkData,2),E0=new JC({min:g,max:f},{min:S,max:n0});o3(l.chunkData,2);let m0=o3(l.chunkData,2);m0!==0&&E0.generators.push(new W6(v1.exclusiveClass,m0));let g0=xi(r,"lart"),f1=xi(r,"lar2");this.readLart(g0,f1,E0),E0.isGlobal=!1;let x=r.find(T3=>T3.header==="wsmp");o3(x.chunkData,4);let X0=o3(x.chunkData,2),F0=LA(x.chunkData[x.chunkData.currentIndex++],x.chunkData[x.chunkData.currentIndex++]),l2=(o3(x.chunkData,4)|0)/-655360;o3(x.chunkData,4);let y1=o3(x.chunkData,4),Y2,T2={start:0,end:0};if(y1===0)Y2=0;else{o3(x.chunkData,4),o3(x.chunkData,4)===0?Y2=1:Y2=3,T2.start=o3(x.chunkData,4);let $3=o3(x.chunkData,4);T2.end=T2.start+$3}let V2=r.find(T3=>T3.header==="wlnk");if(V2===void 0)return;o3(V2.chunkData,2),o3(V2.chunkData,2),o3(V2.chunkData,4);let i3=o3(V2.chunkData,4),r3=this.samples[i3];if(r3===void 0)throw new Error("Invalid sample ID!");let y5=(l2||r3.sampleDbAttenuation)*10/.4;return E0.setWavesample(y5,Y2,T2,X0,r3,i3,F0),E0}var Ch=class{constructor(r,l,g,f,S,n0,E0,m0){this.sampleName=r,this.sampleRate=l,this.samplePitch=g,this.samplePitchCorrection=f,this.sampleLink=S,this.sampleType=n0,this.sampleLoopStartIndex=E0,this.sampleLoopEndIndex=m0,this.isCompressed=(n0&16)>0,this.compressedData=void 0,this.useCount=0}getRawData(){let r=new Error("Not implemented");throw r.name="NotImplementedError",r}compressSample(r,l){if(!this.isCompressed)try{this.compressedData=l([this.getAudioData()],1,this.sampleRate,r),this.sampleType|=16,this.isCompressed=!0}catch{x4(`Failed to compress ${this.sampleName}. Leaving as uncompressed!`),this.isCompressed=!1,this.compressedData=void 0,this.sampleType&=-17}}getAudioData(){let r=new Error("Not implemented");throw r.name="NotImplementedError",r}};var VC=class extends Ch{sampleDbAttenuation;sampleData;constructor(r,l,g,f,S,n0,E0,m0){super(r,l,g,f,0,1,S,n0-1),this.sampleData=E0,this.sampleDbAttenuation=m0}getAudioData(){return this.sampleData}getRawData(){if(this.isCompressed){if(!this.compressedData)throw new Error("Compressed but no data??");return this.compressedData}let r=new Uint8Array(this.sampleData.length*2);for(let l=0;l>8&255}return r}};function yk(o){ri("%cLoading Wave samples...",_1.recognized);let r=0;for(;o.chunkData.currentIndex$3.header==="fmt ");if(!f)throw new Error("No fmt chunk in the wave file!");if(o3(f.chunkData,2)!==1)throw new Error("Only PCM format in WAVE is supported.");if(o3(f.chunkData,2)!==1)throw new Error("Only mono samples are supported.");let E0=o3(f.chunkData,4);o3(f.chunkData,4),o3(f.chunkData,2);let m0=o3(f.chunkData,2),g0=m0/8,f1=Math.pow(2,g0*8-1),x=Math.pow(2,g0*8),X0,F0=!1;m0===8?(X0=255,F0=!0):X0=f1;let b1=g.find($3=>$3.header==="data");if(!b1)throw new Error("No data chunk in the wave chunk!");let l2=b1.size/g0,y1=new Float32Array(l2);for(let $3=0;$3=f1&&(w6-=x),y1[$3]=w6/X0)}let Y2=60,T2=0,V2=0,i3=y1.length-1,r3=0,A0=g.find($3=>$3.header==="wsmp");if(A0){if(o3(A0.chunkData,4),Y2=o3(A0.chunkData,2),T2=LA(A0.chunkData[A0.chunkData.currentIndex++],A0.chunkData[A0.chunkData.currentIndex++]),r3=(o3(A0.chunkData,4)|0)/-655360,o3(A0.chunkData,4),o3(A0.chunkData,4)===1){o3(A0.chunkData,8),V2=o3(A0.chunkData,4);let s6=o3(A0.chunkData,4);i3=V2+s6}}else x4("No wsmp chunk in wave... using sane defaults.");let y5=xi(g,"INFO"),T3=`Unnamed ${r}`;if(y5){let $3=d4(y5.chunkData);for(;$3.header!=="INAM"&&y5.chunkData.currentIndexm0.header==="colh");if(!v)throw i4(),new Error("No colh chunk!");this.instrumentAmount=o3(v.chunkData,4),Y5(`%cInstruments amount: %c${this.instrumentAmount}`,D1.info,D1.recognized);let n0=xi(g,"wvpl");this.readDLSSamples(n0);let E0=xi(g,"lins");if(!E0)throw i4(),new Error("No lins chunk!");this.readDLSInstrumentList(E0),this.presets.sort((m0,c0)=>m0.program-c0.program+(m0.bank-c0.bank)),Y5(`%cParsing finished! %c"${this.soundFontInfo.INAM||"UNNAMED"}"%c has %c${this.presets.length} %cpresets, - %c${this.instruments.length}%c instruments and %c${this.samples.length}%c samples.`,D1.info,D1.recognized,D1.info,D1.recognized,D1.info,D1.recognized,D1.info,D1.recognized,D1.info),i4()}verifyHeader(r,l){if(r.header.toLowerCase()!==l.toLowerCase())throw i4(),new SyntaxError(`Invalid DLS chunk header! Expected "${l.toLowerCase()}" got "${r.header.toLowerCase()}"`)}verifyText(r,l){if(r.toLowerCase()!==l.toLowerCase())throw i4(),new SyntaxError(`Invalid DLS soundfont! Expected "${l.toLowerCase()}" got "${r.toLowerCase()}"`)}};Ms.prototype.readDLSInstrumentList=Ek;Ms.prototype.readDLSInstrument=mk;Ms.prototype.readRegion=Qk;Ms.prototype.readLart=pk;Ms.prototype.readDLSSamples=yk;var UA=UA!==void 0?UA:{},wk=!1,kk;UA.isInitialized=new Promise(o=>kk=o);var cD=function(o){var r,l,g,f,v,n0,E0,m0="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",c0="",u1=0;o=o.replace(/[^A-Za-z0-9\+\/\=]/g,"");do f=m0.indexOf(o.charAt(u1++)),v=m0.indexOf(o.charAt(u1++)),n0=m0.indexOf(o.charAt(u1++)),E0=m0.indexOf(o.charAt(u1++)),r=f<<2|v>>4,l=(15&v)<<4|n0>>2,g=(3&n0)<<6|E0,c0+=String.fromCharCode(r),n0!==64&&(c0+=String.fromCharCode(l)),E0!==64&&(c0+=String.fromCharCode(g));while(u11&&(A0.thisProgram=process.argv[1].replace(/\\/g,"/")),A0.arguments=process.argv.slice(2),typeof module<"u",process.on("uncaughtException",function(x0){if(!(x0 instanceof Y$))throw x0}),process.on("unhandledRejection",function(x0,X0){process.exit(1)}),A0.quit=function(x0){process.exit(x0)},A0.inspect=function(){return"[Emscripten Module object]"}):s6?(typeof read<"u"&&(A0.read=function(X0){return read(X0)}),A0.readBinary=function(X0){var C1;return typeof readbuffer=="function"?new Uint8Array(readbuffer(X0)):(ur(typeof(C1=read(X0,"binary"))=="object"),C1)},typeof scriptArgs<"u"?A0.arguments=scriptArgs:typeof arguments<"u"&&(A0.arguments=arguments),typeof quit=="function"&&(A0.quit=function(x0){quit(x0)})):(T3||$3)&&(T3?document.currentScript&&(o9=document.currentScript.src):o9=self.location.href,o9=o9.indexOf("blob:")!==0?o9.split("/").slice(0,-1).join("/")+"/":"",A0.read=function(X0){var C1=new XMLHttpRequest;return C1.open("GET",X0,!1),C1.send(null),C1.responseText},$3&&(A0.readBinary=function(X0){var C1=new XMLHttpRequest;return C1.open("GET",X0,!1),C1.responseType="arraybuffer",C1.send(null),new Uint8Array(C1.response)}),A0.readAsync=function(X0,C1,S2){var W3=new XMLHttpRequest;W3.open("GET",X0,!0),W3.responseType="arraybuffer",W3.onload=function(){if(W3.status==200||W3.status==0&&W3.response){C1(W3.response);return}S2()},W3.onerror=S2,W3.send(null)},A0.setWindowTitle=function(x0){document.title=x0});var r4=A0.print||(typeof console<"u"?console.log.bind(console):typeof print<"u"?print:null),V6=A0.printErr||(typeof printErr<"u"?printErr:typeof console<"u"&&console.warn.bind(console)||r4);for(o in y5)y5.hasOwnProperty(o)&&(A0[o]=y5[o]);function We(x0){var X0=L0;return L0=L0+x0+15&-16,X0}function Or(x0){var X0=m0[V2>>2],C1=X0+x0+15&-16;return m0[V2>>2]=C1,C1>=_9&&!qr()?(m0[V2>>2]=X0,0):X0}function Vi(x0,X0){return X0||(X0=16),x0=Math.ceil(x0/X0)*X0}function OA(x0){switch(x0){case"i1":case"i8":return 1;case"i16":return 2;case"i32":case"float":return 4;case"i64":case"double":return 8;default:if(x0[x0.length-1]==="*")return 4;if(x0[0]!=="i")return 0;var X0=parseInt(x0.substr(1));return ur(X0%8==0),X0/8}}function Ts(x0){Ts.shown||(Ts.shown={}),Ts.shown[x0]||(Ts.shown[x0]=1,V6(x0))}y5=void 0;var Rm={"f64-rem":function(x0,X0){return x0%X0},debugger:function(){}},_$=[];function XC(x0,X0){for(var C1=0,S2=C1;S2>>0)+4294967296*+(X0>>>0):+(x0>>>0)+4294967296*+(0|X0)}function x$(x0,X0,C1){return C1&&C1.length?A0["dynCall_"+x0].apply(null,[X0].concat(C1)):A0["dynCall_"+x0].call(null,X0)}var qA=0,ph=0;function ur(x0,X0){x0||Ki("Assertion failed: "+X0)}function HA(x0){var X0=A0["_"+x0];return ur(X0,"Cannot call unknown function "+x0+", make sure it is exported"),X0}var Fm={stackSave:function(){Hm()},stackRestore:function(){H$()},arrayToC:function(x0){var X0,C1,S2=YA(x0.length);return X0=x0,C1=S2,f.set(X0,C1),S2},stringToC:function(x0){var X0=0;if(x0!=null&&x0!==0){var C1=(x0.length<<2)+1;X0=YA(C1),Tm(x0,X0,C1)}return X0}},Ns={string:Fm.stringToC,array:Fm.arrayToC};function Qh(x0,X0,C1,S2,W3){var g9=HA(x0),J9=[],h6=0;if(S2)for(var Ct=0;Ct>0]=X0;break;case"i16":n0[x0>>1]=X0;break;case"i32":m0[x0>>2]=X0;break;case"i64":tempI64=[X0>>>0,+kh(tempDouble=X0)>=1?tempDouble>0?(0|Sh(+vh(tempDouble/4294967296),4294967295))>>>0:~~+O$((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0],m0[x0>>2]=tempI64[0],m0[x0+4>>2]=tempI64[1];break;case"float":u1[x0>>2]=X0;break;case"double":F[x0>>3]=X0;break;default:Ki("invalid type for setValue: "+C1)}}function E3(x0,X0,C1){switch((X0=X0||"i8").charAt(X0.length-1)==="*"&&(X0="i32"),X0){case"i1":case"i8":return f[x0>>0];case"i16":return n0[x0>>1];case"i32":case"i64":return m0[x0>>2];case"float":return u1[x0>>2];case"double":return F[x0>>3];default:Ki("invalid type for getValue: "+X0)}return null}function ap(x0,X0,C1,S2){typeof x0=="number"?(g9=!0,J9=x0):(g9=!1,J9=x0.length);var W3=typeof X0=="string"?X0:null;if(h6=C1==4?S2:[typeof Hs=="function"?Hs:We,YA,We,Or][C1===void 0?2:C1](Math.max(J9,W3?1:X0.length)),g9){for(S2=h6,ur((3&h6)==0),Ct=h6+(-4&J9);S2>2]=0;for(Ct=h6+J9;S2>0]=0;return h6}if(W3==="i8")return x0.subarray||x0.slice?v.set(x0,h6):v.set(new Uint8Array(x0),h6),h6;for(var g9,J9,h6,Ct,Te,je,Se,h9=0;h9>0],(S2!=0||X0)&&(J9++,!X0||J9!=X0););X0||(X0=J9);var h6="";if(g9<128){for(;X0>0;)W3=String.fromCharCode.apply(String,v.subarray(x0,x0+Math.min(X0,1024))),h6=h6?h6+W3:W3,x0+=1024,X0-=1024;return h6}return C1=x0,function(Te,je){for(var Se=je;Te[Se];)++Se;if(Se-je>16&&Te.subarray&&Mm)return Mm.decode(Te.subarray(je,Se));for(var h9,M7,Ti,Bt,T7,Ni,Gi="";;){if(!(h9=Te[je++]))return Gi;if(!(128&h9)){Gi+=String.fromCharCode(h9);continue}if(M7=63&Te[je++],(224&h9)==192){Gi+=String.fromCharCode((31&h9)<<6|M7);continue}if(Ti=63&Te[je++],(240&h9)==224?h9=(15&h9)<<12|M7<<6|Ti:(Bt=63&Te[je++],(248&h9)==240?h9=(7&h9)<<18|M7<<12|Ti<<6|Bt:(T7=63&Te[je++],h9=(252&h9)==248?(3&h9)<<24|M7<<18|Ti<<12|Bt<<6|T7:(1&h9)<<30|M7<<24|Ti<<18|Bt<<12|T7<<6|(Ni=63&Te[je++]))),h9<65536)Gi+=String.fromCharCode(h9);else{var Mn=h9-65536;Gi+=String.fromCharCode(55296|Mn>>10,56320|1023&Mn)}}}(v,C1)}function $p(x0){for(var X0="";;){var C1=f[x0++>>0];if(!C1)return X0;X0+=String.fromCharCode(C1)}}function Gs(x0,X0){return function(S2,W3,g9){for(var J9=0;J9>0]=S2.charCodeAt(J9);g9||(f[W3>>0]=0)}(x0,X0,!1)}var Mm=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function Rn(x0,X0,C1,S2){if(!(S2>0))return 0;for(var W3=C1,g9=C1+S2-1,J9=0;J9=55296&&h6<=57343&&(h6=65536+((1023&h6)<<10)|1023&x0.charCodeAt(++J9)),h6<=127){if(C1>=g9)break;X0[C1++]=h6}else if(h6<=2047){if(C1+1>=g9)break;X0[C1++]=192|h6>>6,X0[C1++]=128|63&h6}else if(h6<=65535){if(C1+2>=g9)break;X0[C1++]=224|h6>>12,X0[C1++]=128|h6>>6&63,X0[C1++]=128|63&h6}else if(h6<=2097151){if(C1+3>=g9)break;X0[C1++]=240|h6>>18,X0[C1++]=128|h6>>12&63,X0[C1++]=128|h6>>6&63,X0[C1++]=128|63&h6}else if(h6<=67108863){if(C1+4>=g9)break;X0[C1++]=248|h6>>24,X0[C1++]=128|h6>>18&63,X0[C1++]=128|h6>>12&63,X0[C1++]=128|h6>>6&63,X0[C1++]=128|63&h6}else{if(C1+5>=g9)break;X0[C1++]=252|h6>>30,X0[C1++]=128|h6>>24&63,X0[C1++]=128|h6>>18&63,X0[C1++]=128|h6>>12&63,X0[C1++]=128|h6>>6&63,X0[C1++]=128|63&h6}}return X0[C1]=0,C1-W3}function Tm(x0,X0,C1){return Rn(x0,v,X0,C1)}function Us(x0){for(var X0=0,C1=0;C1=55296&&S2<=57343&&(S2=65536+((1023&S2)<<10)|1023&x0.charCodeAt(++C1)),S2<=127?++X0:S2<=2047?X0+=2:S2<=65535?X0+=3:S2<=2097151?X0+=4:S2<=67108863?X0+=5:X0+=6}return X0}var Nm=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function lp(x0){for(var X0=x0,C1=X0>>1;n0[C1];)++C1;if((X0=C1<<1)-x0>32&&Nm)return Nm.decode(v.subarray(x0,X0));for(var S2=0,W3="";;){var g9=n0[x0+2*S2>>1];if(g9==0)return W3;++S2,W3+=String.fromCharCode(g9)}}function cp(x0,X0,C1){if(C1===void 0&&(C1=2147483647),C1<2)return 0;for(var S2=X0,W3=(C1-=2)<2*x0.length?C1/2:x0.length,g9=0;g9>1]=J9,X0+=2}return n0[X0>>1]=0,X0-S2}function gp(x0){return 2*x0.length}function hp(x0){for(var X0=0,C1="";;){var S2=m0[x0+4*X0>>2];if(S2==0)return C1;if(++X0,S2>=65536){var W3=S2-65536;C1+=String.fromCharCode(55296|W3>>10,56320|1023&W3)}else C1+=String.fromCharCode(S2)}}function up(x0,X0,C1){if(C1===void 0&&(C1=2147483647),C1<4)return 0;for(var S2=X0,W3=S2+C1-4,g9=0;g9=55296&&J9<=57343&&(J9=65536+((1023&J9)<<10)|1023&x0.charCodeAt(++g9)),m0[X0>>2]=J9,(X0+=4)+4>W3)break}return m0[X0>>2]=0,X0-S2}function fp(x0){for(var X0=0,C1=0;C1=55296&&S2<=57343&&++C1,X0+=4}return X0}function dp(x0){var X0=Us(x0)+1,C1=Hs(X0);return C1&&Rn(x0,f,C1,X0),C1}function Ip(x0){var X0=Us(x0)+1,C1=YA(X0);return Rn(x0,f,C1,X0),C1}function Gm(x0){return x0}function tB(){var x0,X0=function(){var S2=Error();if(!S2.stack){try{throw Error(0)}catch(W3){S2=W3}if(!S2.stack)return"(no stack trace available)"}return S2.stack.toString()}();return A0.extraStackTrace&&(X0+=` -`+A0.extraStackTrace()),(x0=X0).replace(/__Z[\w\d_]+/g,function(C1){var S2,W3=S2=C1;return C1===W3?C1:C1+" ["+W3+"]"})}function yh(x0,X0){return x0%X0>0&&(x0+=X0-x0%X0),x0}function Um(x0){A0.buffer=g=x0}function Y9(){A0.HEAP8=f=new Int8Array(g),A0.HEAP16=n0=new Int16Array(g),A0.HEAP32=m0=new Int32Array(g),A0.HEAPU8=v=new Uint8Array(g),A0.HEAPU16=E0=new Uint16Array(g),A0.HEAPU32=c0=new Uint32Array(g),A0.HEAPF32=u1=new Float32Array(g),A0.HEAPF64=F=new Float64Array(g)}function qr(){var x0=A0.usingWasm?65536:16777216,X0=2147483648-x0;if(m0[V2>>2]>X0)return!1;var C1=_9;for(_9=Math.max(_9,16777216);_9>2];)_9=_9<=536870912?yh(2*_9,x0):Math.min(yh((3*_9+2147483648)/4,x0),X0);var S2=A0.reallocBuffer(_9);return S2&&S2.byteLength==_9?(Um(S2),Y9(),!0):(_9=C1,!1)}q0=L0=t2=y1=Y2=T2=V2=0,R1=!1,A0.reallocBuffer||(A0.reallocBuffer=function(x0){try{if(ArrayBuffer.transfer)X0=ArrayBuffer.transfer(g,x0);else{var X0,C1=f;X0=new ArrayBuffer(x0),new Int8Array(X0).set(C1)}}catch{return!1}return!!nB(X0)&&X0});try{(i3=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get))(new ArrayBuffer(4))}catch{i3=function(X0){return X0.byteLength}}var F$=A0.TOTAL_STACK||5242880,_9=A0.TOTAL_MEMORY||16777216;function M$(){return _9}function Ps(x0){for(;x0.length>0;){var X0=x0.shift();if(typeof X0=="function"){X0();continue}var C1=X0.func;typeof C1=="number"?X0.arg===void 0?A0.dynCall_v(C1):A0.dynCall_vi(C1,X0.arg):C1(X0.arg===void 0?null:X0.arg)}}_9=0?x0:X0<=32?2*Math.abs(1<=S2&&(X0<=32||x0>S2)&&(x0=-2*S2+x0),x0}var kh=Math.abs,O$=Math.ceil,vh=Math.floor,Sh=Math.min,Fn=0,bh=null,qs=null;function Ep(x0){return x0}A0.preloadedImages={},A0.preloadedAudios={};var qm="data:application/octet-stream;base64,";function q$(x0){return String.prototype.startsWith?x0.startsWith(qm):x0.indexOf(qm)===0}(function(){var X0="main.wast",C1="main.wasm",S2="main.temp.asm.js";q$(X0)||(X0=V4(X0)),q$(C1)||(C1=V4(C1)),q$(S2)||(S2=V4(S2));var W3={global:null,env:null,asm2wasm:Rm,parent:A0},g9=null;function J9(Se){return Se}function h6(){try{if(A0.wasmBinary)return new Uint8Array(A0.wasmBinary);if(A0.readBinary)return A0.readBinary(C1);throw"both async and sync fetching of the wasm failed"}catch(Se){Ki(Se)}}A0.asmPreload=A0.asm;var Ct=A0.reallocBuffer,Te=function(Se){Se=yh(Se,A0.usingWasm?65536:16777216);var h9=A0.buffer.byteLength;if(A0.usingWasm)try{var M7=A0.wasmMemory.grow((Se-h9)/65536);return M7!==-1?A0.buffer=A0.wasmMemory.buffer:null}catch{return null}};A0.reallocBuffer=function(Se){return je==="asmjs"?Ct(Se):Te(Se)};var je="";A0.asm=function(Se,h9,M7){var Ti;if(!(h9=Ti=h9).table){var Bt,T7=A0.wasmTableSize;T7===void 0&&(T7=1024);var Ni=A0.wasmMaxTableSize;typeof WebAssembly=="object"&&typeof WebAssembly.Table=="function"?Ni!==void 0?h9.table=new WebAssembly.Table({initial:T7,maximum:Ni,element:"anyfunc"}):h9.table=new WebAssembly.Table({initial:T7,element:"anyfunc"}):h9.table=Array(T7),A0.wasmTable=h9.table}return h9.memoryBase||(h9.memoryBase=A0.STATIC_BASE),h9.tableBase||(h9.tableBase=0),Bt=function(Mn,fr,Ym){if(typeof WebAssembly!="object")return V6("no native wasm support detected"),!1;if(!(A0.wasmMemory instanceof WebAssembly.Memory))return V6("no native wasm Memory in use"),!1;function Dh(dr,zi){if((g9=dr.exports).memory){var JA,Ys,Js;JA=g9.memory,Ys=A0.buffer,JA.byteLength0?C1:Us(x0)+1,W3=Array(S2),g9=Rn(x0,W3,0,W3.length);return X0&&(W3.length=g9),W3}function rB(x0){for(var X0=[],C1=0;C1255&&(S2&=255),X0.push(String.fromCharCode(S2))}return X0.join("")}L0+=16,V2=We(4),Y2=(t2=y1=Vi(L0))+F$,T2=Vi(Y2),m0[V2>>2]=T2,R1=!0,A0.wasmTableSize=4,A0.wasmMaxTableSize=4,A0.asmGlobalArg={},A0.asmLibraryArg={abort:Ki,assert:ur,enlargeMemory:qr,getTotalMemory:M$,abortOnCannotGrowMemory:function(){Ki("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+_9+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")},invoke_iii:function(X0,C1,S2){var W3=Hm();try{return A0.dynCall_iii(X0,C1,S2)}catch(g9){if(H$(W3),typeof g9!="number"&&g9!=="longjmp")throw g9;A0.setThrew(1,0)}},___assert_fail:function(X0,C1,S2,W3){Ki("Assertion failed: "+R$(X0)+", at: "+[C1?R$(C1):"unknown filename",S2,W3?R$(W3):"unknown function"])},___setErrNo:function(X0){return A0.___errno_location&&(m0[A0.___errno_location()>>2]=X0),X0},_abort:function(){A0.abort()},_emscripten_memcpy_big:function(X0,C1,S2){return v.set(v.subarray(C1,C1+S2),X0),X0},_llvm_floor_f64:vh,DYNAMICTOP_PTR:V2,tempDoublePtr:F7,ABORT:qA,STACKTOP:y1,STACK_MAX:Y2};var Jr=A0.asm(A0.asmGlobalArg,A0.asmLibraryArg,g);A0.asm=Jr,A0.___errno_location=function(){return A0.asm.___errno_location.apply(null,arguments)};var nB=A0._emscripten_replace_memory=function(){return A0.asm._emscripten_replace_memory.apply(null,arguments)};A0._free=function(){return A0.asm._free.apply(null,arguments)};var Hs=A0._malloc=function(){return A0.asm._malloc.apply(null,arguments)};A0._memcpy=function(){return A0.asm._memcpy.apply(null,arguments)},A0._memset=function(){return A0.asm._memset.apply(null,arguments)},A0._sbrk=function(){return A0.asm._sbrk.apply(null,arguments)},A0._stb_vorbis_js_channels=function(){return A0.asm._stb_vorbis_js_channels.apply(null,arguments)},A0._stb_vorbis_js_close=function(){return A0.asm._stb_vorbis_js_close.apply(null,arguments)},A0._stb_vorbis_js_decode=function(){return A0.asm._stb_vorbis_js_decode.apply(null,arguments)},A0._stb_vorbis_js_open=function(){return A0.asm._stb_vorbis_js_open.apply(null,arguments)},A0._stb_vorbis_js_sample_rate=function(){return A0.asm._stb_vorbis_js_sample_rate.apply(null,arguments)},A0.establishStackSpace=function(){return A0.asm.establishStackSpace.apply(null,arguments)},A0.getTempRet0=function(){return A0.asm.getTempRet0.apply(null,arguments)},A0.runPostSets=function(){return A0.asm.runPostSets.apply(null,arguments)},A0.setTempRet0=function(){return A0.asm.setTempRet0.apply(null,arguments)},A0.setThrew=function(){return A0.asm.setThrew.apply(null,arguments)};var YA=A0.stackAlloc=function(){return A0.asm.stackAlloc.apply(null,arguments)},H$=A0.stackRestore=function(){return A0.asm.stackRestore.apply(null,arguments)},Hm=A0.stackSave=function(){return A0.asm.stackSave.apply(null,arguments)};function Y$(x0){this.name="ExitStatus",this.message="Program terminated with exit("+x0+")",this.status=x0}function J$(x0){x0=x0||A0.arguments,!(Fn>0)&&(function(){if(A0.preRun)for(typeof A0.preRun=="function"&&(A0.preRun=[A0.preRun]);A0.preRun.length;)iB(A0.preRun.shift());Ps(Hr)}(),!(Fn>0)&&(A0.calledRun||(A0.setStatus?(A0.setStatus("Running..."),setTimeout(function(){setTimeout(function(){A0.setStatus("")},1),X0()},1)):X0())));function X0(){!A0.calledRun&&(A0.calledRun=!0,qA||(G$||(G$=!0,Ps(T$)),Ps(wh),A0.onRuntimeInitialized&&A0.onRuntimeInitialized(),function(){if(A0.postRun)for(typeof A0.postRun=="function"&&(A0.postRun=[A0.postRun]);A0.postRun.length;)Mi(A0.postRun.shift());Ps(N$)}()))}}function sB(x0,X0){(!X0||!A0.noExitRuntime||x0!==0)&&(A0.noExitRuntime||(qA=!0,ph=x0,y1=r3,Ps(pi),Fi=!0,A0.onExit&&A0.onExit(x0)),A0.quit(x0,new Y$(x0)))}function Ki(x0){throw A0.onAbort&&A0.onAbort(x0),x0!==void 0?(r4(x0),V6(x0),x0=JSON.stringify(x0)):x0="",qA=!0,ph=1,"abort("+x0+"). Build with -s ASSERTIONS=1 for more info."}if(A0.dynCall_iii=function(){return A0.asm.dynCall_iii.apply(null,arguments)},A0.asm=Jr,A0.ccall=Qh,A0.cwrap=function(X0,C1,S2,W3){var g9=(S2=S2||[]).every(function(J9){return J9==="number"});return C1!=="string"&&g9&&!W3?HA(X0):function(){return Qh(X0,C1,S2,arguments,W3)}},Y$.prototype=Error(),Y$.prototype.constructor=Y$,qs=function x0(){A0.calledRun||J$(),A0.calledRun||(qs=x0)},A0.run=J$,A0.abort=Ki,A0.preInit)for(typeof A0.preInit=="function"&&(A0.preInit=[A0.preInit]);A0.preInit.length>0;)A0.preInit.pop()();A0.noExitRuntime=!0,J$(),A0.onRuntimeInitialized=()=>{wk=!0,kk()},UA.decode=function(x0){return function(C1){if(!wk)throw Error("Not initialized");var S2={};function W3(fr){return new Int32Array(A0.HEAPU8.buffer,fr,1)[0]}function g9(fr,Ym){var Dh=new ArrayBuffer(Ym*Float32Array.BYTES_PER_ELEMENT),y8=new Float32Array(Dh);return y8.set(new Float32Array(A0.HEAPU8.buffer,fr,Ym)),y8}S2.open=A0.cwrap("stb_vorbis_js_open","number",[]),S2.close=A0.cwrap("stb_vorbis_js_close","void",["number"]),S2.channels=A0.cwrap("stb_vorbis_js_channels","number",["number"]),S2.sampleRate=A0.cwrap("stb_vorbis_js_sample_rate","number",["number"]),S2.decode=A0.cwrap("stb_vorbis_js_decode","number",["number","number","number","number","number"]);var J9,h6,Ct,Te,je=S2.open(),Se=(J9=C1,h6=C1.byteLength,Ct=A0._malloc(h6),(Te=new Uint8Array(A0.HEAPU8.buffer,Ct,h6)).set(new Uint8Array(J9,0,h6)),Te),h9=A0._malloc(4),M7=A0._malloc(4),Ti=S2.decode(je,Se.byteOffset,Se.byteLength,h9,M7);if(A0._free(Se.byteOffset),Ti<0)throw S2.close(je),A0._free(h9),Error("stbvorbis decode failed: "+Ti);for(var Bt=S2.channels(je),T7=Array(Bt),Ni=new Int32Array(A0.HEAPU32.buffer,W3(h9),Bt),Gi=0;Gio.chunkData.currentIndex;){let v=gD(f,o.chunkData,r,l);g.push(v),f++}return g.length>1&&g.pop(),g}function gD(o,r,l,g){let f=Ee(r,20),v=o3(r,4)*2,n0=o3(r,4)*2,E0=o3(r,4),m0=o3(r,4),c0=o3(r,4),u1=r[r.currentIndex++];u1===255&&(u1=60);let F=Qy(r[r.currentIndex++]),q0=o3(r,2),L0=o3(r,2);return new ZB(f,v,n0,E0,m0,c0,u1,F,q0,L0,l,o,g)}var WB=class extends W6{constructor(r){super();let l=r.currentIndex;this.generatorType=r[l+1]<<8|r[l],this.generatorValue=LA(r[l+2],r[l+3]),r.currentIndex+=4}};function jB(o){let r=[];for(;o.chunkData.length>o.chunkData.currentIndex;)r.push(new WB(o.chunkData));return r.length>1&&r.pop(),r}var XB=class extends mh{constructor(r){super(),this.instrumentName=Ee(r.chunkData,20).trim(),this.instrumentZoneIndex=o3(r.chunkData,2),this.instrumentZonesAmount=0}getInstrumentZones(r,l){this.instrumentZonesAmount=r;for(let g=this.instrumentZoneIndex;go.chunkData.currentIndex;){let g=new XB(o);if(l.length>0){let f=g.instrumentZoneIndex-l[l.length-1].instrumentZoneIndex;l[l.length-1].getInstrumentZones(f,r)}l.push(g)}return l.length>1&&l.pop(),l}var ep=class extends GA{constructor(r){super(),this.generatorZoneStartIndex=o3(r,2),this.modulatorZoneStartIndex=o3(r,2),this.modulatorZoneSize=0,this.generatorZoneSize=0,this.isGlobal=!0}setZoneSize(r,l){this.modulatorZoneSize=r,this.generatorZoneSize=l}getGenerators(r){for(let l=this.generatorZoneStartIndex;lg.generatorType===v1.sampleID);l&&(this.sample=r[l.generatorValue],this.isGlobal=!1,this.sample.useCount++)}getKeyRange(){let r=this.generators.find(l=>l.generatorType===v1.keyRange);r&&(this.keyRange.min=r.generatorValue&127,this.keyRange.max=r.generatorValue>>8&127)}getVelRange(){let r=this.generators.find(l=>l.generatorType===v1.velRange);r&&(this.velRange.min=r.generatorValue&127,this.velRange.max=r.generatorValue>>8&127)}};function bk(o,r,l,g){let f=[];for(;o.chunkData.length>o.chunkData.currentIndex;){let v=new ep(o.chunkData);if(f.length>0){let n0=v.modulatorZoneStartIndex-f[f.length-1].modulatorZoneStartIndex,E0=v.generatorZoneStartIndex-f[f.length-1].generatorZoneStartIndex;f[f.length-1].setZoneSize(n0,E0),f[f.length-1].getGenerators(r),f[f.length-1].getModulators(l),f[f.length-1].getSample(g),f[f.length-1].getKeyRange(),f[f.length-1].getVelRange()}f.push(v)}return f.length>1&&f.pop(),f}var tp=class extends Eh{constructor(r){super(),this.generatorZoneStartIndex=o3(r,2),this.modulatorZoneStartIndex=o3(r,2),this.modulatorZoneSize=0,this.generatorZoneSize=0,this.isGlobal=!0}setZoneSize(r,l){this.modulatorZoneSize=r,this.generatorZoneSize=l}getGenerators(r){for(let l=this.generatorZoneStartIndex;lg.generatorType===v1.instrument);l&&(this.instrument=r[l.generatorValue],this.instrument.addUseCount(),this.isGlobal=!1)}getKeyRange(){let r=this.generators.find(l=>l.generatorType===v1.keyRange);r&&(this.keyRange.min=r.generatorValue&127,this.keyRange.max=r.generatorValue>>8&127)}getVelRange(){let r=this.generators.find(l=>l.generatorType===v1.velRange);r&&(this.velRange.min=r.generatorValue&127,this.velRange.max=r.generatorValue>>8&127)}};function Dk(o,r,l,g){let f=[];for(;o.chunkData.length>o.chunkData.currentIndex;){let v=new tp(o.chunkData);if(f.length>0){let n0=v.modulatorZoneStartIndex-f[f.length-1].modulatorZoneStartIndex,E0=v.generatorZoneStartIndex-f[f.length-1].generatorZoneStartIndex;f[f.length-1].setZoneSize(n0,E0),f[f.length-1].getGenerators(r),f[f.length-1].getModulators(l),f[f.length-1].getInstrument(g),f[f.length-1].getKeyRange(),f[f.length-1].getVelRange()}f.push(v)}return f.length>1&&f.pop(),f}var ip=class extends Ih{constructor(r,l){super(l),this.presetName=Ee(r.chunkData,20).trim().replace(/\d{3}:\d{3}/,""),this.program=o3(r.chunkData,2),this.bank=o3(r.chunkData,2),this.presetZoneStartIndex=o3(r.chunkData,2),this.library=o3(r.chunkData,4),this.genre=o3(r.chunkData,4),this.morphology=o3(r.chunkData,4),this.presetZonesAmount=0}getPresetZones(r,l){this.presetZonesAmount=r;for(let g=this.presetZoneStartIndex;go.chunkData.currentIndex;){let f=new ip(o,l);if(g.length>0){let v=f.presetZoneStartIndex-g[g.length-1].presetZoneStartIndex;g[g.length-1].getPresetZones(v,r)}g.push(f)}return g.length>1&&g.pop(),g}var rp=class extends oe{constructor(r){super({srcEnum:o3(r,2),dest:o3(r,2),amt:LA(r[r.currentIndex++],r[r.currentIndex++]),secSrcEnum:o3(r,2),transform:o3(r,2)})}};function KC(o){let r=[];for(;o.chunkData.length>o.chunkData.currentIndex;)r.push(new rp(o.chunkData));return r}var zC=class extends v${constructor(r,l=!0){if(super(),l&&console.warn("Using the constructor directly is deprecated. Use loadSoundFont instead."),this.dataArray=new V3(r),gr("%cParsing SoundFont...",D1.info),!this.dataArray)throw i4(),new TypeError("No data!");let g=d4(this.dataArray,!1);this.verifyHeader(g,"riff");let f=Ee(this.dataArray,4).toLowerCase();if(f!=="sfbk"&&f!=="sfpk")throw i4(),new SyntaxError(`Invalid soundFont! Expected "sfbk" or "sfpk" got "${f}"`);let v=f==="sfpk",n0=d4(this.dataArray);for(this.verifyHeader(n0,"list"),Ee(n0.chunkData,4);n0.chunkData.length>n0.chunkData.currentIndex;){let w6=d4(n0.chunkData),s6;switch(w6.header.toLowerCase()){case"ifil":case"iver":s6=`${o3(w6.chunkData,2)}.${o3(w6.chunkData,2)}`,this.soundFontInfo[w6.header]=s6;break;case"icmt":s6=Ee(w6.chunkData,w6.chunkData.length,void 0,!1),this.soundFontInfo[w6.header]=s6;break;case"dmod":let o9=KC(w6);o9.pop(),s6=`Modulators: ${o9.length}`;let V4=this.defaultModulators;this.defaultModulators=o9,this.defaultModulators.push(...V4.filter(r4=>!this.defaultModulators.find(V6=>oe.isIdentical(r4,V6)))),this.soundFontInfo[w6.header]=w6.chunkData;break;default:s6=Ee(w6.chunkData,w6.chunkData.length),this.soundFontInfo[w6.header]=s6}Y5(`%c"${w6.header}": %c"${s6}"`,D1.info,D1.recognized)}let E0=d4(this.dataArray,!1);this.verifyHeader(E0,"list"),this.verifyText(Ee(this.dataArray,4),"sdta"),Y5("%cVerifying smpl chunk...",D1.warn);let m0=d4(this.dataArray,!1);this.verifyHeader(m0,"smpl");let c0;if(v){Y5("%cSF2Pack detected, attempting to decode the smpl chunk...",D1.info);try{c0=UA.decode(this.dataArray.buffer.slice(this.dataArray.currentIndex,this.dataArray.currentIndex+E0.size-12)).data[0]}catch(w6){throw i4(),new Error(`SF2Pack Ogg Vorbis decode error: ${w6}`)}Y5(`%cDecoded the smpl chunk! Length: %c${c0.length}`,D1.info,D1.value)}else c0=this.dataArray,this.sampleDataStartIndex=this.dataArray.currentIndex;Y5(`%cSkipping sample chunk, length: %c${E0.size-12}`,D1.info,D1.value),this.dataArray.currentIndex+=E0.size-12,Y5("%cLoading preset data chunk...",D1.warn);let u1=d4(this.dataArray);this.verifyHeader(u1,"list"),Ee(u1.chunkData,4);let F=d4(u1.chunkData);this.verifyHeader(F,"phdr");let q0=d4(u1.chunkData);this.verifyHeader(q0,"pbag");let L0=d4(u1.chunkData);this.verifyHeader(L0,"pmod");let R1=d4(u1.chunkData);this.verifyHeader(R1,"pgen");let t2=d4(u1.chunkData);this.verifyHeader(t2,"inst");let y1=d4(u1.chunkData);this.verifyHeader(y1,"ibag");let Y2=d4(u1.chunkData);this.verifyHeader(Y2,"imod");let T2=d4(u1.chunkData);this.verifyHeader(T2,"igen");let V2=d4(u1.chunkData);this.verifyHeader(V2,"shdr"),this.dataArray.currentIndex=this.sampleDataStartIndex,this.samples.push(...vk(V2,c0,!v));let i3=jB(T2),r3=KC(Y2),A0=bk(y1,i3,r3,this.samples);this.instruments=Sk(t2,A0);let y5=jB(R1),T3=KC(L0),$3=Dk(q0,y5,T3,this.instruments);this.presets.push(..._k(F,$3,this.defaultModulators)),this.presets.sort((w6,s6)=>w6.program-s6.program+(w6.bank-s6.bank)),Y5(`%cParsing finished! %c"${this.soundFontInfo.INAM}"%c has %c${this.presets.length} %cpresets, - %c${this.instruments.length}%c instruments and %c${this.samples.length}%c samples.`,D1.info,D1.recognized,D1.info,D1.recognized,D1.info,D1.recognized,D1.info,D1.recognized,D1.info),i4(),v&&delete this.dataArray}verifyHeader(r,l){if(r.header.toLowerCase()!==l.toLowerCase())throw i4(),new SyntaxError(`Invalid chunk header! Expected "${l.toLowerCase()}" got "${r.header.toLowerCase()}"`)}verifyText(r,l){if(r.toLowerCase()!==l.toLowerCase())throw i4(),new SyntaxError(`Invalid soundFont! Expected "${l.toLowerCase()}" got "${r.toLowerCase()}"`)}};function Bh(o){let r=o.slice(8,12),l=new V3(r);return Ee(l,4,void 0,!1).toLowerCase()==="dls "?new Ms(o):new zC(o,!1)}async function xk(){let o="locale.exportAudio.formats.formats.soundfont.options.";mt(this.localeManager.getLocaleString(o+"title"),[{type:"toggle",translatePathTitle:o+"trim",attributes:{"trim-toggle":"1",checked:"checked"}},{type:"toggle",translatePathTitle:o+"compress",attributes:{"compress-toggle":"1"}},{type:"range",translatePathTitle:o+"quality",attributes:{min:"0",max:"10",value:"5"}},{type:"button",textContent:this.localeManager.getLocaleString(o+"confirm"),onClick:async r=>{let l=r.div.querySelector("input[trim-toggle='1']").checked,g=r.div.querySelector("input[compress-toggle='1']").checked,f=parseInt(r.div.querySelector("input[type='range']").value)/10;Ot(r.id),gr("%cExporting minified soundfont...",D1.info);let v=await this.seq.getMIDI(),n0=Bh(v.embeddedSoundFont||this.soundFont);hh(v,await this.synth.getSynthesizerSnapshot()),l&&HC(n0,v);let E0=n0.write({compress:g,compressionQuality:f,compressionFunction:this.compressionFunc}),m0=new Blob([E0.buffer],{type:"audio/soundfont"}),c0=n0.soundFontInfo.ifil.split(".")[0]==="3"?"sf3":"sf2";this.saveBlob(m0,`${n0.soundFontInfo.INAM||"unnamed"}.${c0}`),i4()}}],99999999,!0,this.localeManager)}async function Lk(){let o="locale.exportAudio.formats.";mt(this.localeManager.getLocaleString(o+"title"),[{type:"button",translatePathTitle:o+"formats.wav.button",onClick:r=>{Ot(r.id),this._exportAudioData()}},{type:"button",translatePathTitle:o+"formats.midi.button",onClick:r=>{Ot(r.id),this.exportMidi()}},{type:"button",translatePathTitle:o+"formats.soundfont.button",onClick:r=>{Ot(r.id);try{this._exportSoundfont()}catch{mt("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}},{type:"button",translatePathTitle:o+"formats.rmidi.button",onClick:r=>{Ot(r.id);try{this._exportRMIDI()}catch{mt("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}}],999999,!0,this.localeManager,{display:"flex",flexWrap:"wrap",justifyContent:"center"})}async function Rk(){let o=(F,q0,L0)=>this.seq.midiData.RMIDInfo?.[F]===void 0?q0:L0.decode(this.seq.midiData.RMIDInfo?.[F]).replace(/\0$/,""),r=o("IENC","ascii",new TextDecoder),l=new TextDecoder(r),g=o("IPRD","",l),f=o("IART","",l),v=o("IGNR","",l),n0=o("ICMT","Created using SpessaSynth: https://spessasus.github.io/SpessaSynth",l),E0="locale.exportAudio.formats.formats.rmidi.options.",m0="locale.exportAudio.formats.metadata.",u1=mt(this.localeManager.getLocaleString(E0+"title"),[{type:"toggle",translatePathTitle:E0+"compress",attributes:{"compress-toggle":"1",checked:"true"}},{type:"range",translatePathTitle:E0+"quality",attributes:{min:"0",max:"10",value:"5"}},{type:"input",translatePathTitle:m0+"songTitle",attributes:{name:"song_title",type:"text",value:this.seqUI.currentSongTitle}},{type:"input",translatePathTitle:m0+"album",attributes:{value:g,name:"album",type:"text"}},{type:"input",translatePathTitle:m0+"artist",attributes:{value:f,name:"artist",type:"text"}},{type:"input",translatePathTitle:m0+"genre",attributes:{value:v,name:"genre",type:"text"}},{type:"input",translatePathTitle:m0+"comment",attributes:{value:n0,name:"comment",type:"text"}},{type:"file",translatePathTitle:m0+"albumCover",attributes:{value:this.seq.midiData.RMIDInfo?.IPIC!==void 0?this.seq.midiData.RMIDInfo.IPIC:"",name:"cover",accept:"image/*"}},{type:"input",translatePathTitle:E0+"bankOffset",attributes:{value:this.seq.midiData.bankOffset,name:"bank_offset",type:"number"}},{type:"toggle",translatePathTitle:E0+"adjust",attributes:{name:"adjust",checked:"checked"}},{type:"button",textContent:this.localeManager.getLocaleString(E0+"confirm"),onClick:async F=>{let q0=F.div.querySelector("input[compress-toggle='1']").checked,L0=parseInt(F.div.querySelector("input[type='range']").value)/10,R1=F.div.querySelector("input[name='album']").value,t2=F.div.querySelector("input[name='artist']").value,y1=F.div.querySelector("input[name='song_title']").value,Y2=F.div.querySelector("input[name='comment']").value,T2=F.div.querySelector("input[name='genre']").value,V2=parseInt(F.div.querySelector("input[name='bank_offset']").value),i3=F.div.querySelector("input[name='adjust']").checked,r3=F.div.querySelector("input[type='file']")?.files[0];Ot(F.id),ri("%cExporting RMIDI...",D1.info);let A0="locale.exportAudio.formats.formats.rmidi.progress.",y5=mt(this.localeManager.getLocaleString(A0+"title"),[{type:"text",textContent:this.localeManager.getLocaleString(A0+"loading"),attributes:{class:"export_rmidi_message"}}],9999999,!1);await new Promise(V6=>setTimeout(V6,500));let T3=y5.div.getElementsByClassName("export_rmidi_message")[0],$3=await this.seq.getMIDI(),w6=Bh($3.embeddedSoundFont||this.soundFont);T3.textContent=this.localeManager.getLocaleString(A0+"modifyingMIDI"),await new Promise(V6=>setTimeout(V6,75)),hh($3,await this.synth.getSynthesizerSnapshot()),T3.textContent=this.localeManager.getLocaleString(A0+"modifyingSoundfont"),await new Promise(V6=>setTimeout(V6,75)),HC(w6,$3);let s6=w6.write({compress:q0,compressionQuality:L0,compressionFunction:this.compressionFunc});T3.textContent=this.localeManager.getLocaleString(A0+"saving"),await new Promise(V6=>setTimeout(V6,75));let o9;r3?.type.split("/")[0]==="image"?o9=await r3.arrayBuffer():$3.RMIDInfo?.IPIC!==void 0&&(o9=$3.RMIDInfo.IPIC.buffer);let V4=wy(s6,$3,w6,V2,this.seqUI.encoding,{name:y1,comment:Y2,engineer:w6.soundFontInfo.IENG,picture:o9,album:R1.length>0?R1:void 0,artist:t2.length>0?t2:void 0,genre:T2.length>0?T2:void 0,midiEncoding:this.seqUI.encoding},i3),r4=new Blob([V4.buffer],{type:"audio/rmid"});this.saveBlob(r4,`${y1||"unnamed_song"}.rmi`),T3.textContent=this.localeManager.getLocaleString(A0+"done"),Ot(y5.id),i4()}}],9999999,!0,this.localeManager).div.querySelector("input[type='file']");u1.oninput=()=>{u1.files[0]&&(u1.parentElement.firstChild.textContent=u1.files[0].name)}}var ZC={init:function(){var o;o||(o=(typeof o<"u"?o:null)||{});var r={};for(var l in o)o.hasOwnProperty(l)&&(r[l]=o[l]);var g=typeof window=="object",f=typeof process=="object"&&typeof EC=="function"&&!g,v=typeof importScripts=="function",n0=!g&&!f&&!v;if(f){o.print||(o.print=function($){process.stdout.write($+` +`+this.soundFontInfo.ISBJ,delete this.soundFontInfo.ISBJ);for(let[m0,g0]of Object.entries(this.soundFontInfo))Y5(`%c"${m0}": %c"${g0}"`,_1.info,_1.recognized);let S=g.find(m0=>m0.header==="colh");if(!S)throw i4(),new Error("No colh chunk!");this.instrumentAmount=o3(S.chunkData,4),Y5(`%cInstruments amount: %c${this.instrumentAmount}`,_1.info,_1.recognized);let n0=xi(g,"wvpl");this.readDLSSamples(n0);let E0=xi(g,"lins");if(!E0)throw i4(),new Error("No lins chunk!");this.readDLSInstrumentList(E0),this.presets.sort((m0,g0)=>m0.program-g0.program+(m0.bank-g0.bank)),Y5(`%cParsing finished! %c"${this.soundFontInfo.INAM||"UNNAMED"}"%c has %c${this.presets.length} %cpresets, + %c${this.instruments.length}%c instruments and %c${this.samples.length}%c samples.`,_1.info,_1.recognized,_1.info,_1.recognized,_1.info,_1.recognized,_1.info,_1.recognized,_1.info),i4()}verifyHeader(r,l){if(r.header.toLowerCase()!==l.toLowerCase())throw i4(),new SyntaxError(`Invalid DLS chunk header! Expected "${l.toLowerCase()}" got "${r.header.toLowerCase()}"`)}verifyText(r,l){if(r.toLowerCase()!==l.toLowerCase())throw i4(),new SyntaxError(`Invalid DLS soundfont! Expected "${l.toLowerCase()}" got "${r.toLowerCase()}"`)}};Ms.prototype.readDLSInstrumentList=Ek;Ms.prototype.readDLSInstrument=mk;Ms.prototype.readRegion=Qk;Ms.prototype.readLart=pk;Ms.prototype.readDLSSamples=yk;var UA=UA!==void 0?UA:{},wk=!1,kk;UA.isInitialized=new Promise(o=>kk=o);var cD=function(o){var r,l,g,f,S,n0,E0,m0="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",g0="",f1=0;o=o.replace(/[^A-Za-z0-9\+\/\=]/g,"");do f=m0.indexOf(o.charAt(f1++)),S=m0.indexOf(o.charAt(f1++)),n0=m0.indexOf(o.charAt(f1++)),E0=m0.indexOf(o.charAt(f1++)),r=f<<2|S>>4,l=(15&S)<<4|n0>>2,g=(3&n0)<<6|E0,g0+=String.fromCharCode(r),n0!==64&&(g0+=String.fromCharCode(l)),E0!==64&&(g0+=String.fromCharCode(g));while(f11&&(A0.thisProgram=process.argv[1].replace(/\\/g,"/")),A0.arguments=process.argv.slice(2),typeof module<"u",process.on("uncaughtException",function(x0){if(!(x0 instanceof Y$))throw x0}),process.on("unhandledRejection",function(x0,j0){process.exit(1)}),A0.quit=function(x0){process.exit(x0)},A0.inspect=function(){return"[Emscripten Module object]"}):s6?(typeof read<"u"&&(A0.read=function(j0){return read(j0)}),A0.readBinary=function(j0){var C1;return typeof readbuffer=="function"?new Uint8Array(readbuffer(j0)):(ur(typeof(C1=read(j0,"binary"))=="object"),C1)},typeof scriptArgs<"u"?A0.arguments=scriptArgs:typeof arguments<"u"&&(A0.arguments=arguments),typeof quit=="function"&&(A0.quit=function(x0){quit(x0)})):(T3||$3)&&(T3?document.currentScript&&(o9=document.currentScript.src):o9=self.location.href,o9=o9.indexOf("blob:")!==0?o9.split("/").slice(0,-1).join("/")+"/":"",A0.read=function(j0){var C1=new XMLHttpRequest;return C1.open("GET",j0,!1),C1.send(null),C1.responseText},$3&&(A0.readBinary=function(j0){var C1=new XMLHttpRequest;return C1.open("GET",j0,!1),C1.responseType="arraybuffer",C1.send(null),new Uint8Array(C1.response)}),A0.readAsync=function(j0,C1,S2){var W3=new XMLHttpRequest;W3.open("GET",j0,!0),W3.responseType="arraybuffer",W3.onload=function(){if(W3.status==200||W3.status==0&&W3.response){C1(W3.response);return}S2()},W3.onerror=S2,W3.send(null)},A0.setWindowTitle=function(x0){document.title=x0});var r4=A0.print||(typeof console<"u"?console.log.bind(console):typeof print<"u"?print:null),V6=A0.printErr||(typeof printErr<"u"?printErr:typeof console<"u"&&console.warn.bind(console)||r4);for(o in y5)y5.hasOwnProperty(o)&&(A0[o]=y5[o]);function We(x0){var j0=F0;return F0=F0+x0+15&-16,j0}function Or(x0){var j0=m0[V2>>2],C1=j0+x0+15&-16;return m0[V2>>2]=C1,C1>=_9&&!qr()?(m0[V2>>2]=j0,0):j0}function Vi(x0,j0){return j0||(j0=16),x0=Math.ceil(x0/j0)*j0}function OA(x0){switch(x0){case"i1":case"i8":return 1;case"i16":return 2;case"i32":case"float":return 4;case"i64":case"double":return 8;default:if(x0[x0.length-1]==="*")return 4;if(x0[0]!=="i")return 0;var j0=parseInt(x0.substr(1));return ur(j0%8==0),j0/8}}function Ts(x0){Ts.shown||(Ts.shown={}),Ts.shown[x0]||(Ts.shown[x0]=1,V6(x0))}y5=void 0;var Rm={"f64-rem":function(x0,j0){return x0%j0},debugger:function(){}},_$=[];function XC(x0,j0){for(var C1=0,S2=C1;S2>>0)+4294967296*+(j0>>>0):+(x0>>>0)+4294967296*+(0|j0)}function x$(x0,j0,C1){return C1&&C1.length?A0["dynCall_"+x0].apply(null,[j0].concat(C1)):A0["dynCall_"+x0].call(null,j0)}var qA=0,ph=0;function ur(x0,j0){x0||Ki("Assertion failed: "+j0)}function HA(x0){var j0=A0["_"+x0];return ur(j0,"Cannot call unknown function "+x0+", make sure it is exported"),j0}var Fm={stackSave:function(){Hm()},stackRestore:function(){H$()},arrayToC:function(x0){var j0,C1,S2=YA(x0.length);return j0=x0,C1=S2,f.set(j0,C1),S2},stringToC:function(x0){var j0=0;if(x0!=null&&x0!==0){var C1=(x0.length<<2)+1;j0=YA(C1),Tm(x0,j0,C1)}return j0}},Ns={string:Fm.stringToC,array:Fm.arrayToC};function Qh(x0,j0,C1,S2,W3){var g9=HA(x0),J9=[],h6=0;if(S2)for(var Ct=0;Ct>0]=j0;break;case"i16":n0[x0>>1]=j0;break;case"i32":m0[x0>>2]=j0;break;case"i64":tempI64=[j0>>>0,+kh(tempDouble=j0)>=1?tempDouble>0?(0|Sh(+vh(tempDouble/4294967296),4294967295))>>>0:~~+O$((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0],m0[x0>>2]=tempI64[0],m0[x0+4>>2]=tempI64[1];break;case"float":f1[x0>>2]=j0;break;case"double":x[x0>>3]=j0;break;default:Ki("invalid type for setValue: "+C1)}}function E3(x0,j0,C1){switch((j0=j0||"i8").charAt(j0.length-1)==="*"&&(j0="i32"),j0){case"i1":case"i8":return f[x0>>0];case"i16":return n0[x0>>1];case"i32":case"i64":return m0[x0>>2];case"float":return f1[x0>>2];case"double":return x[x0>>3];default:Ki("invalid type for getValue: "+j0)}return null}function ap(x0,j0,C1,S2){typeof x0=="number"?(g9=!0,J9=x0):(g9=!1,J9=x0.length);var W3=typeof j0=="string"?j0:null;if(h6=C1==4?S2:[typeof Hs=="function"?Hs:We,YA,We,Or][C1===void 0?2:C1](Math.max(J9,W3?1:j0.length)),g9){for(S2=h6,ur((3&h6)==0),Ct=h6+(-4&J9);S2>2]=0;for(Ct=h6+J9;S2>0]=0;return h6}if(W3==="i8")return x0.subarray||x0.slice?S.set(x0,h6):S.set(new Uint8Array(x0),h6),h6;for(var g9,J9,h6,Ct,Te,je,Se,h9=0;h9>0],(S2!=0||j0)&&(J9++,!j0||J9!=j0););j0||(j0=J9);var h6="";if(g9<128){for(;j0>0;)W3=String.fromCharCode.apply(String,S.subarray(x0,x0+Math.min(j0,1024))),h6=h6?h6+W3:W3,x0+=1024,j0-=1024;return h6}return C1=x0,function(Te,je){for(var Se=je;Te[Se];)++Se;if(Se-je>16&&Te.subarray&&Mm)return Mm.decode(Te.subarray(je,Se));for(var h9,M7,Ti,Bt,T7,Ni,Gi="";;){if(!(h9=Te[je++]))return Gi;if(!(128&h9)){Gi+=String.fromCharCode(h9);continue}if(M7=63&Te[je++],(224&h9)==192){Gi+=String.fromCharCode((31&h9)<<6|M7);continue}if(Ti=63&Te[je++],(240&h9)==224?h9=(15&h9)<<12|M7<<6|Ti:(Bt=63&Te[je++],(248&h9)==240?h9=(7&h9)<<18|M7<<12|Ti<<6|Bt:(T7=63&Te[je++],h9=(252&h9)==248?(3&h9)<<24|M7<<18|Ti<<12|Bt<<6|T7:(1&h9)<<30|M7<<24|Ti<<18|Bt<<12|T7<<6|(Ni=63&Te[je++]))),h9<65536)Gi+=String.fromCharCode(h9);else{var Mn=h9-65536;Gi+=String.fromCharCode(55296|Mn>>10,56320|1023&Mn)}}}(S,C1)}function $p(x0){for(var j0="";;){var C1=f[x0++>>0];if(!C1)return j0;j0+=String.fromCharCode(C1)}}function Gs(x0,j0){return function(S2,W3,g9){for(var J9=0;J9>0]=S2.charCodeAt(J9);g9||(f[W3>>0]=0)}(x0,j0,!1)}var Mm=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function Rn(x0,j0,C1,S2){if(!(S2>0))return 0;for(var W3=C1,g9=C1+S2-1,J9=0;J9=55296&&h6<=57343&&(h6=65536+((1023&h6)<<10)|1023&x0.charCodeAt(++J9)),h6<=127){if(C1>=g9)break;j0[C1++]=h6}else if(h6<=2047){if(C1+1>=g9)break;j0[C1++]=192|h6>>6,j0[C1++]=128|63&h6}else if(h6<=65535){if(C1+2>=g9)break;j0[C1++]=224|h6>>12,j0[C1++]=128|h6>>6&63,j0[C1++]=128|63&h6}else if(h6<=2097151){if(C1+3>=g9)break;j0[C1++]=240|h6>>18,j0[C1++]=128|h6>>12&63,j0[C1++]=128|h6>>6&63,j0[C1++]=128|63&h6}else if(h6<=67108863){if(C1+4>=g9)break;j0[C1++]=248|h6>>24,j0[C1++]=128|h6>>18&63,j0[C1++]=128|h6>>12&63,j0[C1++]=128|h6>>6&63,j0[C1++]=128|63&h6}else{if(C1+5>=g9)break;j0[C1++]=252|h6>>30,j0[C1++]=128|h6>>24&63,j0[C1++]=128|h6>>18&63,j0[C1++]=128|h6>>12&63,j0[C1++]=128|h6>>6&63,j0[C1++]=128|63&h6}}return j0[C1]=0,C1-W3}function Tm(x0,j0,C1){return Rn(x0,S,j0,C1)}function Us(x0){for(var j0=0,C1=0;C1=55296&&S2<=57343&&(S2=65536+((1023&S2)<<10)|1023&x0.charCodeAt(++C1)),S2<=127?++j0:S2<=2047?j0+=2:S2<=65535?j0+=3:S2<=2097151?j0+=4:S2<=67108863?j0+=5:j0+=6}return j0}var Nm=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function lp(x0){for(var j0=x0,C1=j0>>1;n0[C1];)++C1;if((j0=C1<<1)-x0>32&&Nm)return Nm.decode(S.subarray(x0,j0));for(var S2=0,W3="";;){var g9=n0[x0+2*S2>>1];if(g9==0)return W3;++S2,W3+=String.fromCharCode(g9)}}function cp(x0,j0,C1){if(C1===void 0&&(C1=2147483647),C1<2)return 0;for(var S2=j0,W3=(C1-=2)<2*x0.length?C1/2:x0.length,g9=0;g9>1]=J9,j0+=2}return n0[j0>>1]=0,j0-S2}function gp(x0){return 2*x0.length}function hp(x0){for(var j0=0,C1="";;){var S2=m0[x0+4*j0>>2];if(S2==0)return C1;if(++j0,S2>=65536){var W3=S2-65536;C1+=String.fromCharCode(55296|W3>>10,56320|1023&W3)}else C1+=String.fromCharCode(S2)}}function up(x0,j0,C1){if(C1===void 0&&(C1=2147483647),C1<4)return 0;for(var S2=j0,W3=S2+C1-4,g9=0;g9=55296&&J9<=57343&&(J9=65536+((1023&J9)<<10)|1023&x0.charCodeAt(++g9)),m0[j0>>2]=J9,(j0+=4)+4>W3)break}return m0[j0>>2]=0,j0-S2}function fp(x0){for(var j0=0,C1=0;C1=55296&&S2<=57343&&++C1,j0+=4}return j0}function dp(x0){var j0=Us(x0)+1,C1=Hs(j0);return C1&&Rn(x0,f,C1,j0),C1}function Ip(x0){var j0=Us(x0)+1,C1=YA(j0);return Rn(x0,f,C1,j0),C1}function Gm(x0){return x0}function tB(){var x0,j0=function(){var S2=Error();if(!S2.stack){try{throw Error(0)}catch(W3){S2=W3}if(!S2.stack)return"(no stack trace available)"}return S2.stack.toString()}();return A0.extraStackTrace&&(j0+=` +`+A0.extraStackTrace()),(x0=j0).replace(/__Z[\w\d_]+/g,function(C1){var S2,W3=S2=C1;return C1===W3?C1:C1+" ["+W3+"]"})}function yh(x0,j0){return x0%j0>0&&(x0+=j0-x0%j0),x0}function Um(x0){A0.buffer=g=x0}function Y9(){A0.HEAP8=f=new Int8Array(g),A0.HEAP16=n0=new Int16Array(g),A0.HEAP32=m0=new Int32Array(g),A0.HEAPU8=S=new Uint8Array(g),A0.HEAPU16=E0=new Uint16Array(g),A0.HEAPU32=g0=new Uint32Array(g),A0.HEAPF32=f1=new Float32Array(g),A0.HEAPF64=x=new Float64Array(g)}function qr(){var x0=A0.usingWasm?65536:16777216,j0=2147483648-x0;if(m0[V2>>2]>j0)return!1;var C1=_9;for(_9=Math.max(_9,16777216);_9>2];)_9=_9<=536870912?yh(2*_9,x0):Math.min(yh((3*_9+2147483648)/4,x0),j0);var S2=A0.reallocBuffer(_9);return S2&&S2.byteLength==_9?(Um(S2),Y9(),!0):(_9=C1,!1)}X0=F0=l2=y1=Y2=T2=V2=0,b1=!1,A0.reallocBuffer||(A0.reallocBuffer=function(x0){try{if(ArrayBuffer.transfer)j0=ArrayBuffer.transfer(g,x0);else{var j0,C1=f;j0=new ArrayBuffer(x0),new Int8Array(j0).set(C1)}}catch{return!1}return!!nB(j0)&&j0});try{(i3=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get))(new ArrayBuffer(4))}catch{i3=function(j0){return j0.byteLength}}var F$=A0.TOTAL_STACK||5242880,_9=A0.TOTAL_MEMORY||16777216;function M$(){return _9}function Ps(x0){for(;x0.length>0;){var j0=x0.shift();if(typeof j0=="function"){j0();continue}var C1=j0.func;typeof C1=="number"?j0.arg===void 0?A0.dynCall_v(C1):A0.dynCall_vi(C1,j0.arg):C1(j0.arg===void 0?null:j0.arg)}}_9=0?x0:j0<=32?2*Math.abs(1<=S2&&(j0<=32||x0>S2)&&(x0=-2*S2+x0),x0}var kh=Math.abs,O$=Math.ceil,vh=Math.floor,Sh=Math.min,Fn=0,bh=null,qs=null;function Ep(x0){return x0}A0.preloadedImages={},A0.preloadedAudios={};var qm="data:application/octet-stream;base64,";function q$(x0){return String.prototype.startsWith?x0.startsWith(qm):x0.indexOf(qm)===0}(function(){var j0="main.wast",C1="main.wasm",S2="main.temp.asm.js";q$(j0)||(j0=V4(j0)),q$(C1)||(C1=V4(C1)),q$(S2)||(S2=V4(S2));var W3={global:null,env:null,asm2wasm:Rm,parent:A0},g9=null;function J9(Se){return Se}function h6(){try{if(A0.wasmBinary)return new Uint8Array(A0.wasmBinary);if(A0.readBinary)return A0.readBinary(C1);throw"both async and sync fetching of the wasm failed"}catch(Se){Ki(Se)}}A0.asmPreload=A0.asm;var Ct=A0.reallocBuffer,Te=function(Se){Se=yh(Se,A0.usingWasm?65536:16777216);var h9=A0.buffer.byteLength;if(A0.usingWasm)try{var M7=A0.wasmMemory.grow((Se-h9)/65536);return M7!==-1?A0.buffer=A0.wasmMemory.buffer:null}catch{return null}};A0.reallocBuffer=function(Se){return je==="asmjs"?Ct(Se):Te(Se)};var je="";A0.asm=function(Se,h9,M7){var Ti;if(!(h9=Ti=h9).table){var Bt,T7=A0.wasmTableSize;T7===void 0&&(T7=1024);var Ni=A0.wasmMaxTableSize;typeof WebAssembly=="object"&&typeof WebAssembly.Table=="function"?Ni!==void 0?h9.table=new WebAssembly.Table({initial:T7,maximum:Ni,element:"anyfunc"}):h9.table=new WebAssembly.Table({initial:T7,element:"anyfunc"}):h9.table=Array(T7),A0.wasmTable=h9.table}return h9.memoryBase||(h9.memoryBase=A0.STATIC_BASE),h9.tableBase||(h9.tableBase=0),Bt=function(Mn,fr,Ym){if(typeof WebAssembly!="object")return V6("no native wasm support detected"),!1;if(!(A0.wasmMemory instanceof WebAssembly.Memory))return V6("no native wasm Memory in use"),!1;function Dh(dr,zi){if((g9=dr.exports).memory){var JA,Ys,Js;JA=g9.memory,Ys=A0.buffer,JA.byteLength0?C1:Us(x0)+1,W3=Array(S2),g9=Rn(x0,W3,0,W3.length);return j0&&(W3.length=g9),W3}function rB(x0){for(var j0=[],C1=0;C1255&&(S2&=255),j0.push(String.fromCharCode(S2))}return j0.join("")}F0+=16,V2=We(4),Y2=(l2=y1=Vi(F0))+F$,T2=Vi(Y2),m0[V2>>2]=T2,b1=!0,A0.wasmTableSize=4,A0.wasmMaxTableSize=4,A0.asmGlobalArg={},A0.asmLibraryArg={abort:Ki,assert:ur,enlargeMemory:qr,getTotalMemory:M$,abortOnCannotGrowMemory:function(){Ki("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+_9+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")},invoke_iii:function(j0,C1,S2){var W3=Hm();try{return A0.dynCall_iii(j0,C1,S2)}catch(g9){if(H$(W3),typeof g9!="number"&&g9!=="longjmp")throw g9;A0.setThrew(1,0)}},___assert_fail:function(j0,C1,S2,W3){Ki("Assertion failed: "+R$(j0)+", at: "+[C1?R$(C1):"unknown filename",S2,W3?R$(W3):"unknown function"])},___setErrNo:function(j0){return A0.___errno_location&&(m0[A0.___errno_location()>>2]=j0),j0},_abort:function(){A0.abort()},_emscripten_memcpy_big:function(j0,C1,S2){return S.set(S.subarray(C1,C1+S2),j0),j0},_llvm_floor_f64:vh,DYNAMICTOP_PTR:V2,tempDoublePtr:F7,ABORT:qA,STACKTOP:y1,STACK_MAX:Y2};var Jr=A0.asm(A0.asmGlobalArg,A0.asmLibraryArg,g);A0.asm=Jr,A0.___errno_location=function(){return A0.asm.___errno_location.apply(null,arguments)};var nB=A0._emscripten_replace_memory=function(){return A0.asm._emscripten_replace_memory.apply(null,arguments)};A0._free=function(){return A0.asm._free.apply(null,arguments)};var Hs=A0._malloc=function(){return A0.asm._malloc.apply(null,arguments)};A0._memcpy=function(){return A0.asm._memcpy.apply(null,arguments)},A0._memset=function(){return A0.asm._memset.apply(null,arguments)},A0._sbrk=function(){return A0.asm._sbrk.apply(null,arguments)},A0._stb_vorbis_js_channels=function(){return A0.asm._stb_vorbis_js_channels.apply(null,arguments)},A0._stb_vorbis_js_close=function(){return A0.asm._stb_vorbis_js_close.apply(null,arguments)},A0._stb_vorbis_js_decode=function(){return A0.asm._stb_vorbis_js_decode.apply(null,arguments)},A0._stb_vorbis_js_open=function(){return A0.asm._stb_vorbis_js_open.apply(null,arguments)},A0._stb_vorbis_js_sample_rate=function(){return A0.asm._stb_vorbis_js_sample_rate.apply(null,arguments)},A0.establishStackSpace=function(){return A0.asm.establishStackSpace.apply(null,arguments)},A0.getTempRet0=function(){return A0.asm.getTempRet0.apply(null,arguments)},A0.runPostSets=function(){return A0.asm.runPostSets.apply(null,arguments)},A0.setTempRet0=function(){return A0.asm.setTempRet0.apply(null,arguments)},A0.setThrew=function(){return A0.asm.setThrew.apply(null,arguments)};var YA=A0.stackAlloc=function(){return A0.asm.stackAlloc.apply(null,arguments)},H$=A0.stackRestore=function(){return A0.asm.stackRestore.apply(null,arguments)},Hm=A0.stackSave=function(){return A0.asm.stackSave.apply(null,arguments)};function Y$(x0){this.name="ExitStatus",this.message="Program terminated with exit("+x0+")",this.status=x0}function J$(x0){x0=x0||A0.arguments,!(Fn>0)&&(function(){if(A0.preRun)for(typeof A0.preRun=="function"&&(A0.preRun=[A0.preRun]);A0.preRun.length;)iB(A0.preRun.shift());Ps(Hr)}(),!(Fn>0)&&(A0.calledRun||(A0.setStatus?(A0.setStatus("Running..."),setTimeout(function(){setTimeout(function(){A0.setStatus("")},1),j0()},1)):j0())));function j0(){!A0.calledRun&&(A0.calledRun=!0,qA||(G$||(G$=!0,Ps(T$)),Ps(wh),A0.onRuntimeInitialized&&A0.onRuntimeInitialized(),function(){if(A0.postRun)for(typeof A0.postRun=="function"&&(A0.postRun=[A0.postRun]);A0.postRun.length;)Mi(A0.postRun.shift());Ps(N$)}()))}}function sB(x0,j0){(!j0||!A0.noExitRuntime||x0!==0)&&(A0.noExitRuntime||(qA=!0,ph=x0,y1=r3,Ps(pi),Fi=!0,A0.onExit&&A0.onExit(x0)),A0.quit(x0,new Y$(x0)))}function Ki(x0){throw A0.onAbort&&A0.onAbort(x0),x0!==void 0?(r4(x0),V6(x0),x0=JSON.stringify(x0)):x0="",qA=!0,ph=1,"abort("+x0+"). Build with -s ASSERTIONS=1 for more info."}if(A0.dynCall_iii=function(){return A0.asm.dynCall_iii.apply(null,arguments)},A0.asm=Jr,A0.ccall=Qh,A0.cwrap=function(j0,C1,S2,W3){var g9=(S2=S2||[]).every(function(J9){return J9==="number"});return C1!=="string"&&g9&&!W3?HA(j0):function(){return Qh(j0,C1,S2,arguments,W3)}},Y$.prototype=Error(),Y$.prototype.constructor=Y$,qs=function x0(){A0.calledRun||J$(),A0.calledRun||(qs=x0)},A0.run=J$,A0.abort=Ki,A0.preInit)for(typeof A0.preInit=="function"&&(A0.preInit=[A0.preInit]);A0.preInit.length>0;)A0.preInit.pop()();A0.noExitRuntime=!0,J$(),A0.onRuntimeInitialized=()=>{wk=!0,kk()},UA.decode=function(x0){return function(C1){if(!wk)throw Error("Not initialized");var S2={};function W3(fr){return new Int32Array(A0.HEAPU8.buffer,fr,1)[0]}function g9(fr,Ym){var Dh=new ArrayBuffer(Ym*Float32Array.BYTES_PER_ELEMENT),y8=new Float32Array(Dh);return y8.set(new Float32Array(A0.HEAPU8.buffer,fr,Ym)),y8}S2.open=A0.cwrap("stb_vorbis_js_open","number",[]),S2.close=A0.cwrap("stb_vorbis_js_close","void",["number"]),S2.channels=A0.cwrap("stb_vorbis_js_channels","number",["number"]),S2.sampleRate=A0.cwrap("stb_vorbis_js_sample_rate","number",["number"]),S2.decode=A0.cwrap("stb_vorbis_js_decode","number",["number","number","number","number","number"]);var J9,h6,Ct,Te,je=S2.open(),Se=(J9=C1,h6=C1.byteLength,Ct=A0._malloc(h6),(Te=new Uint8Array(A0.HEAPU8.buffer,Ct,h6)).set(new Uint8Array(J9,0,h6)),Te),h9=A0._malloc(4),M7=A0._malloc(4),Ti=S2.decode(je,Se.byteOffset,Se.byteLength,h9,M7);if(A0._free(Se.byteOffset),Ti<0)throw S2.close(je),A0._free(h9),Error("stbvorbis decode failed: "+Ti);for(var Bt=S2.channels(je),T7=Array(Bt),Ni=new Int32Array(A0.HEAPU32.buffer,W3(h9),Bt),Gi=0;Gio.chunkData.currentIndex;){let S=gD(f,o.chunkData,r,l);g.push(S),f++}return g.length>1&&g.pop(),g}function gD(o,r,l,g){let f=Ee(r,20),S=o3(r,4)*2,n0=o3(r,4)*2,E0=o3(r,4),m0=o3(r,4),g0=o3(r,4),f1=r[r.currentIndex++];f1===255&&(f1=60);let x=Qy(r[r.currentIndex++]),X0=o3(r,2),F0=o3(r,2);return new ZB(f,S,n0,E0,m0,g0,f1,x,X0,F0,l,o,g)}var WB=class extends W6{constructor(r){super();let l=r.currentIndex;this.generatorType=r[l+1]<<8|r[l],this.generatorValue=LA(r[l+2],r[l+3]),r.currentIndex+=4}};function jB(o){let r=[];for(;o.chunkData.length>o.chunkData.currentIndex;)r.push(new WB(o.chunkData));return r.length>1&&r.pop(),r}var XB=class extends mh{constructor(r){super(),this.instrumentName=Ee(r.chunkData,20).trim(),this.instrumentZoneIndex=o3(r.chunkData,2),this.instrumentZonesAmount=0}getInstrumentZones(r,l){this.instrumentZonesAmount=r;for(let g=this.instrumentZoneIndex;go.chunkData.currentIndex;){let g=new XB(o);if(l.length>0){let f=g.instrumentZoneIndex-l[l.length-1].instrumentZoneIndex;l[l.length-1].getInstrumentZones(f,r)}l.push(g)}return l.length>1&&l.pop(),l}var ep=class extends GA{constructor(r){super(),this.generatorZoneStartIndex=o3(r,2),this.modulatorZoneStartIndex=o3(r,2),this.modulatorZoneSize=0,this.generatorZoneSize=0,this.isGlobal=!0}setZoneSize(r,l){this.modulatorZoneSize=r,this.generatorZoneSize=l}getGenerators(r){for(let l=this.generatorZoneStartIndex;lg.generatorType===v1.sampleID);l&&(this.sample=r[l.generatorValue],this.isGlobal=!1,this.sample.useCount++)}getKeyRange(){let r=this.generators.find(l=>l.generatorType===v1.keyRange);r&&(this.keyRange.min=r.generatorValue&127,this.keyRange.max=r.generatorValue>>8&127)}getVelRange(){let r=this.generators.find(l=>l.generatorType===v1.velRange);r&&(this.velRange.min=r.generatorValue&127,this.velRange.max=r.generatorValue>>8&127)}};function bk(o,r,l,g){let f=[];for(;o.chunkData.length>o.chunkData.currentIndex;){let S=new ep(o.chunkData);if(f.length>0){let n0=S.modulatorZoneStartIndex-f[f.length-1].modulatorZoneStartIndex,E0=S.generatorZoneStartIndex-f[f.length-1].generatorZoneStartIndex;f[f.length-1].setZoneSize(n0,E0),f[f.length-1].getGenerators(r),f[f.length-1].getModulators(l),f[f.length-1].getSample(g),f[f.length-1].getKeyRange(),f[f.length-1].getVelRange()}f.push(S)}return f.length>1&&f.pop(),f}var tp=class extends Eh{constructor(r){super(),this.generatorZoneStartIndex=o3(r,2),this.modulatorZoneStartIndex=o3(r,2),this.modulatorZoneSize=0,this.generatorZoneSize=0,this.isGlobal=!0}setZoneSize(r,l){this.modulatorZoneSize=r,this.generatorZoneSize=l}getGenerators(r){for(let l=this.generatorZoneStartIndex;lg.generatorType===v1.instrument);l&&(this.instrument=r[l.generatorValue],this.instrument.addUseCount(),this.isGlobal=!1)}getKeyRange(){let r=this.generators.find(l=>l.generatorType===v1.keyRange);r&&(this.keyRange.min=r.generatorValue&127,this.keyRange.max=r.generatorValue>>8&127)}getVelRange(){let r=this.generators.find(l=>l.generatorType===v1.velRange);r&&(this.velRange.min=r.generatorValue&127,this.velRange.max=r.generatorValue>>8&127)}};function Dk(o,r,l,g){let f=[];for(;o.chunkData.length>o.chunkData.currentIndex;){let S=new tp(o.chunkData);if(f.length>0){let n0=S.modulatorZoneStartIndex-f[f.length-1].modulatorZoneStartIndex,E0=S.generatorZoneStartIndex-f[f.length-1].generatorZoneStartIndex;f[f.length-1].setZoneSize(n0,E0),f[f.length-1].getGenerators(r),f[f.length-1].getModulators(l),f[f.length-1].getInstrument(g),f[f.length-1].getKeyRange(),f[f.length-1].getVelRange()}f.push(S)}return f.length>1&&f.pop(),f}var ip=class extends Ih{constructor(r,l){super(l),this.presetName=Ee(r.chunkData,20).trim().replace(/\d{3}:\d{3}/,""),this.program=o3(r.chunkData,2),this.bank=o3(r.chunkData,2),this.presetZoneStartIndex=o3(r.chunkData,2),this.library=o3(r.chunkData,4),this.genre=o3(r.chunkData,4),this.morphology=o3(r.chunkData,4),this.presetZonesAmount=0}getPresetZones(r,l){this.presetZonesAmount=r;for(let g=this.presetZoneStartIndex;go.chunkData.currentIndex;){let f=new ip(o,l);if(g.length>0){let S=f.presetZoneStartIndex-g[g.length-1].presetZoneStartIndex;g[g.length-1].getPresetZones(S,r)}g.push(f)}return g.length>1&&g.pop(),g}var rp=class extends oe{constructor(r){super({srcEnum:o3(r,2),dest:o3(r,2),amt:LA(r[r.currentIndex++],r[r.currentIndex++]),secSrcEnum:o3(r,2),transform:o3(r,2)})}};function KC(o){let r=[];for(;o.chunkData.length>o.chunkData.currentIndex;)r.push(new rp(o.chunkData));return r}var zC=class extends v${constructor(r,l=!0){if(super(),l&&console.warn("Using the constructor directly is deprecated. Use loadSoundFont instead."),this.dataArray=new V3(r),gr("%cParsing SoundFont...",_1.info),!this.dataArray)throw i4(),new TypeError("No data!");let g=d4(this.dataArray,!1);this.verifyHeader(g,"riff");let f=Ee(this.dataArray,4).toLowerCase();if(f!=="sfbk"&&f!=="sfpk")throw i4(),new SyntaxError(`Invalid soundFont! Expected "sfbk" or "sfpk" got "${f}"`);let S=f==="sfpk",n0=d4(this.dataArray);for(this.verifyHeader(n0,"list"),Ee(n0.chunkData,4);n0.chunkData.length>n0.chunkData.currentIndex;){let w6=d4(n0.chunkData),s6;switch(w6.header.toLowerCase()){case"ifil":case"iver":s6=`${o3(w6.chunkData,2)}.${o3(w6.chunkData,2)}`,this.soundFontInfo[w6.header]=s6;break;case"icmt":s6=Ee(w6.chunkData,w6.chunkData.length,void 0,!1),this.soundFontInfo[w6.header]=s6;break;case"dmod":let o9=KC(w6);o9.pop(),s6=`Modulators: ${o9.length}`;let V4=this.defaultModulators;this.defaultModulators=o9,this.defaultModulators.push(...V4.filter(r4=>!this.defaultModulators.find(V6=>oe.isIdentical(r4,V6)))),this.soundFontInfo[w6.header]=w6.chunkData;break;default:s6=Ee(w6.chunkData,w6.chunkData.length),this.soundFontInfo[w6.header]=s6}Y5(`%c"${w6.header}": %c"${s6}"`,_1.info,_1.recognized)}let E0=d4(this.dataArray,!1);this.verifyHeader(E0,"list"),this.verifyText(Ee(this.dataArray,4),"sdta"),Y5("%cVerifying smpl chunk...",_1.warn);let m0=d4(this.dataArray,!1);this.verifyHeader(m0,"smpl");let g0;if(S){Y5("%cSF2Pack detected, attempting to decode the smpl chunk...",_1.info);try{g0=UA.decode(this.dataArray.buffer.slice(this.dataArray.currentIndex,this.dataArray.currentIndex+E0.size-12)).data[0]}catch(w6){throw i4(),new Error(`SF2Pack Ogg Vorbis decode error: ${w6}`)}Y5(`%cDecoded the smpl chunk! Length: %c${g0.length}`,_1.info,_1.value)}else g0=this.dataArray,this.sampleDataStartIndex=this.dataArray.currentIndex;Y5(`%cSkipping sample chunk, length: %c${E0.size-12}`,_1.info,_1.value),this.dataArray.currentIndex+=E0.size-12,Y5("%cLoading preset data chunk...",_1.warn);let f1=d4(this.dataArray);this.verifyHeader(f1,"list"),Ee(f1.chunkData,4);let x=d4(f1.chunkData);this.verifyHeader(x,"phdr");let X0=d4(f1.chunkData);this.verifyHeader(X0,"pbag");let F0=d4(f1.chunkData);this.verifyHeader(F0,"pmod");let b1=d4(f1.chunkData);this.verifyHeader(b1,"pgen");let l2=d4(f1.chunkData);this.verifyHeader(l2,"inst");let y1=d4(f1.chunkData);this.verifyHeader(y1,"ibag");let Y2=d4(f1.chunkData);this.verifyHeader(Y2,"imod");let T2=d4(f1.chunkData);this.verifyHeader(T2,"igen");let V2=d4(f1.chunkData);this.verifyHeader(V2,"shdr"),this.dataArray.currentIndex=this.sampleDataStartIndex,this.samples.push(...vk(V2,g0,!S));let i3=jB(T2),r3=KC(Y2),A0=bk(y1,i3,r3,this.samples);this.instruments=Sk(l2,A0);let y5=jB(b1),T3=KC(F0),$3=Dk(X0,y5,T3,this.instruments);this.presets.push(..._k(x,$3,this.defaultModulators)),this.presets.sort((w6,s6)=>w6.program-s6.program+(w6.bank-s6.bank)),Y5(`%cParsing finished! %c"${this.soundFontInfo.INAM}"%c has %c${this.presets.length} %cpresets, + %c${this.instruments.length}%c instruments and %c${this.samples.length}%c samples.`,_1.info,_1.recognized,_1.info,_1.recognized,_1.info,_1.recognized,_1.info,_1.recognized,_1.info),i4(),S&&delete this.dataArray}verifyHeader(r,l){if(r.header.toLowerCase()!==l.toLowerCase())throw i4(),new SyntaxError(`Invalid chunk header! Expected "${l.toLowerCase()}" got "${r.header.toLowerCase()}"`)}verifyText(r,l){if(r.toLowerCase()!==l.toLowerCase())throw i4(),new SyntaxError(`Invalid soundFont! Expected "${l.toLowerCase()}" got "${r.toLowerCase()}"`)}};function Bh(o){let r=o.slice(8,12),l=new V3(r);return Ee(l,4,void 0,!1).toLowerCase()==="dls "?new Ms(o):new zC(o,!1)}async function xk(){let o="locale.exportAudio.formats.formats.soundfont.options.";mt(this.localeManager.getLocaleString(o+"title"),[{type:"toggle",translatePathTitle:o+"trim",attributes:{"trim-toggle":"1",checked:"checked"}},{type:"toggle",translatePathTitle:o+"compress",attributes:{"compress-toggle":"1"}},{type:"range",translatePathTitle:o+"quality",attributes:{min:"0",max:"10",value:"5"}},{type:"button",textContent:this.localeManager.getLocaleString(o+"confirm"),onClick:async r=>{let l=r.div.querySelector("input[trim-toggle='1']").checked,g=r.div.querySelector("input[compress-toggle='1']").checked,f=parseInt(r.div.querySelector("input[type='range']").value)/10;Ot(r.id),gr("%cExporting minified soundfont...",_1.info);let S=await this.seq.getMIDI(),n0=Bh(S.embeddedSoundFont||this.soundFont);hh(S,await this.synth.getSynthesizerSnapshot()),l&&HC(n0,S);let E0=n0.write({compress:g,compressionQuality:f,compressionFunction:this.compressionFunc}),m0=new Blob([E0.buffer],{type:"audio/soundfont"}),g0=n0.soundFontInfo.ifil.split(".")[0]==="3"?"sf3":"sf2";this.saveBlob(m0,`${n0.soundFontInfo.INAM||"unnamed"}.${g0}`),i4()}}],99999999,!0,this.localeManager)}async function Lk(){let o="locale.exportAudio.formats.";mt(this.localeManager.getLocaleString(o+"title"),[{type:"button",translatePathTitle:o+"formats.wav.button",onClick:r=>{Ot(r.id),this._exportAudioData()}},{type:"button",translatePathTitle:o+"formats.midi.button",onClick:r=>{Ot(r.id),this.exportMidi()}},{type:"button",translatePathTitle:o+"formats.soundfont.button",onClick:r=>{Ot(r.id);try{this._exportSoundfont()}catch{mt("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}},{type:"button",translatePathTitle:o+"formats.rmidi.button",onClick:r=>{Ot(r.id);try{this._exportRMIDI()}catch{mt("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}}],999999,!0,this.localeManager,{display:"flex",flexWrap:"wrap",justifyContent:"center"})}async function Rk(){let o=(x,X0,F0)=>this.seq.midiData.RMIDInfo?.[x]===void 0?X0:F0.decode(this.seq.midiData.RMIDInfo?.[x]).replace(/\0$/,""),r=o("IENC","ascii",new TextDecoder),l=new TextDecoder(r),g=o("IPRD","",l),f=o("IART","",l),S=o("IGNR","",l),n0=o("ICMT","Created using SpessaSynth: https://spessasus.github.io/SpessaSynth",l),E0="locale.exportAudio.formats.formats.rmidi.options.",m0="locale.exportAudio.formats.metadata.",f1=mt(this.localeManager.getLocaleString(E0+"title"),[{type:"toggle",translatePathTitle:E0+"compress",attributes:{"compress-toggle":"1",checked:"true"}},{type:"range",translatePathTitle:E0+"quality",attributes:{min:"0",max:"10",value:"5"}},{type:"input",translatePathTitle:m0+"songTitle",attributes:{name:"song_title",type:"text",value:this.seqUI.currentSongTitle}},{type:"input",translatePathTitle:m0+"album",attributes:{value:g,name:"album",type:"text"}},{type:"input",translatePathTitle:m0+"artist",attributes:{value:f,name:"artist",type:"text"}},{type:"input",translatePathTitle:m0+"genre",attributes:{value:S,name:"genre",type:"text"}},{type:"input",translatePathTitle:m0+"comment",attributes:{value:n0,name:"comment",type:"text"}},{type:"file",translatePathTitle:m0+"albumCover",attributes:{value:this.seq.midiData.RMIDInfo?.IPIC!==void 0?this.seq.midiData.RMIDInfo.IPIC:"",name:"cover",accept:"image/*"}},{type:"input",translatePathTitle:E0+"bankOffset",attributes:{value:this.seq.midiData.bankOffset,name:"bank_offset",type:"number"}},{type:"toggle",translatePathTitle:E0+"adjust",attributes:{name:"adjust",checked:"checked"}},{type:"button",textContent:this.localeManager.getLocaleString(E0+"confirm"),onClick:async x=>{let X0=x.div.querySelector("input[compress-toggle='1']").checked,F0=parseInt(x.div.querySelector("input[type='range']").value)/10,b1=x.div.querySelector("input[name='album']").value,l2=x.div.querySelector("input[name='artist']").value,y1=x.div.querySelector("input[name='song_title']").value,Y2=x.div.querySelector("input[name='comment']").value,T2=x.div.querySelector("input[name='genre']").value,V2=parseInt(x.div.querySelector("input[name='bank_offset']").value),i3=x.div.querySelector("input[name='adjust']").checked,r3=x.div.querySelector("input[type='file']")?.files[0];Ot(x.id),ri("%cExporting RMIDI...",_1.info);let A0="locale.exportAudio.formats.formats.rmidi.progress.",y5=mt(this.localeManager.getLocaleString(A0+"title"),[{type:"text",textContent:this.localeManager.getLocaleString(A0+"loading"),attributes:{class:"export_rmidi_message"}}],9999999,!1);await new Promise(V6=>setTimeout(V6,500));let T3=y5.div.getElementsByClassName("export_rmidi_message")[0],$3=await this.seq.getMIDI(),w6=Bh($3.embeddedSoundFont||this.soundFont);T3.textContent=this.localeManager.getLocaleString(A0+"modifyingMIDI"),await new Promise(V6=>setTimeout(V6,75)),hh($3,await this.synth.getSynthesizerSnapshot()),T3.textContent=this.localeManager.getLocaleString(A0+"modifyingSoundfont"),await new Promise(V6=>setTimeout(V6,75)),HC(w6,$3);let s6=w6.write({compress:X0,compressionQuality:F0,compressionFunction:this.compressionFunc});T3.textContent=this.localeManager.getLocaleString(A0+"saving"),await new Promise(V6=>setTimeout(V6,75));let o9;r3?.type.split("/")[0]==="image"?o9=await r3.arrayBuffer():$3.RMIDInfo?.IPIC!==void 0&&(o9=$3.RMIDInfo.IPIC.buffer);let V4=wy(s6,$3,w6,V2,this.seqUI.encoding,{name:y1,comment:Y2,engineer:w6.soundFontInfo.IENG,picture:o9,album:b1.length>0?b1:void 0,artist:l2.length>0?l2:void 0,genre:T2.length>0?T2:void 0,midiEncoding:this.seqUI.encoding},i3),r4=new Blob([V4.buffer],{type:"audio/rmid"});this.saveBlob(r4,`${y1||"unnamed_song"}.rmi`),T3.textContent=this.localeManager.getLocaleString(A0+"done"),Ot(y5.id),i4()}}],9999999,!0,this.localeManager).div.querySelector("input[type='file']");f1.oninput=()=>{f1.files[0]&&(f1.parentElement.firstChild.textContent=f1.files[0].name)}}var ZC={init:function(){var o;o||(o=(typeof o<"u"?o:null)||{});var r={};for(var l in o)o.hasOwnProperty(l)&&(r[l]=o[l]);var g=typeof window=="object",f=typeof process=="object"&&typeof EC=="function"&&!g,S=typeof importScripts=="function",n0=!g&&!f&&!S;if(f){o.print||(o.print=function($){process.stdout.write($+` `)}),o.printErr||(o.printErr=function($){process.stderr.write($+` -`)});var E0=void 0,m0=void 0;o.read=function($,h){$=m0.normalize($);var d=E0.readFileSync($);return!d&&$!=m0.resolve($)&&($=path.join(__dirname,"..","src",$),d=E0.readFileSync($)),d&&!h&&(d=d.toString()),d},o.readBinary=function($){return o.read($,!0)},o.load=function($){u1(read($))},o.thisProgram||(process.argv.length>1?o.thisProgram=process.argv[1].replace(/\\/g,"/"):o.thisProgram="unknown-program"),o.arguments=process.argv.slice(2),typeof module<"u"&&o!=null,process.on("uncaughtException",function(i){if(!(i instanceof VA))throw i}),o.inspect=function(){return"[Emscripten Module object]"}}else if(n0)o.print||(o.print=print),typeof printErr<"u"&&(o.printErr=printErr),typeof read<"u"?o.read=read:o.read=function(){throw"no read() available (jsc?)"},o.readBinary=function($){if(typeof readbuffer=="function")return new Uint8Array(readbuffer($));var h=read($,"binary");return K4(typeof h=="object"),h},typeof scriptArgs<"u"?o.arguments=scriptArgs:typeof arguments<"u"&&(o.arguments=arguments);else if(g||v){if(o.read=function($){var h=new XMLHttpRequest;return h.open("GET",$,!1),h.send(null),h.responseText},typeof arguments<"u"&&(o.arguments=arguments),typeof console<"u")o.print||(o.print=function($){console.log($)}),o.printErr||(o.printErr=function($){console.log($)});else{var c0=!1;o.print||(o.print=c0&&typeof dump<"u"?function(i){dump(i)}:function(i){})}v&&(o.load=importScripts),typeof o.setWindowTitle>"u"&&(o.setWindowTitle=function(i){document.title=i})}else throw"Unknown runtime environment. Where are we?";function u1(i){eval.call(null,i)}!o.load&&o.read&&(o.load=function($){u1(o.read($))}),o.print||(o.print=function(){}),o.printErr||(o.printErr=o.print),o.arguments||(o.arguments=[]),o.thisProgram||(o.thisProgram="./this.program"),o.print=o.print,o.printErr=o.printErr,o.preRun=[],o.postRun=[];for(var l in r)r.hasOwnProperty(l)&&(o[l]=r[l]);var F={setTempRet0:function(i){V6=i},getTempRet0:function(){return V6},stackSave:function(){return pi},stackRestore:function(i){pi=i},getNativeTypeSize:function(i){switch(i){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(i[i.length-1]==="*")return F.QUANTUM_SIZE;if(i[0]==="i"){var $=parseInt(i.substr(1));return K4($%8===0),$/8}else return 0}}},getNativeFieldSize:function(i){return Math.max(F.getNativeTypeSize(i),F.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(i,$){return $==="double"||$==="i64"?i&7&&(K4((i&7)===4),i+=4):K4((i&3)===0),i},getAlignSize:function(i,$,h){return!h&&(i=="i64"||i=="double")?8:i?Math.min($||(i?F.getNativeFieldSize(i):0),F.QUANTUM_SIZE):Math.min($,8)},dynCall:function(i,$,h){return h&&h.length?(h.splice||(h=Array.prototype.slice.call(h)),h.splice(0,0,$),o["dynCall_"+i].apply(null,h)):o["dynCall_"+i].call(null,$)},functionPointers:[],addFunction:function(i){for(var $=0;$=Os){var h=iB();if(!h)return Fi=$,0}return $},alignMemory:function(i,$){var h=i=Math.ceil(i/($||16))*($||16);return h},makeBigInt:function(i,$,h){var d=h?+(i>>>0)+ +($>>>0)*4294967296:+(i>>>0)+ +($|0)*4294967296;return d},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};o.Runtime=F;var q0=0,L0=!1,R1=0,t2=0,y1,Y2,T2,V2,i3,r3,A0,y5,T3,$3,w6,s6,o9,V4,r4,V6,We,Or,Vi,OA,Ts,Rm,_$,XC,Gk;function K4(i,$){i||Vs("Assertion failed: "+$)}var Uk=this;function eB(i){var $=o["_"+i];if(!$)try{$=void("_"+i)}catch{}return K4($,"Cannot call unknown function "+i+" (perhaps LLVM optimizations or closure removed it?)"),$}var x$,qA;(function(){var i={stackSave:function(){F.stackSave()},stackRestore:function(){F.stackRestore()},arrayToC:function(W0){var t1=F.stackAlloc(W0.length);return YA(W0,t1),t1},stringToC:function(W0){var t1=0;return W0!=null&&W0!==0&&(t1=F.stackAlloc((W0.length<<2)+1),Hs(W0,t1)),t1}},$={string:i.stringToC,array:i.arrayToC};qA=function(t1,b2,s,A1,C){var w5=eB(t1),p2=[],T5=0;if(A1)for(var x9=0;x9>0]=$;break;case"i8":Y9[i>>0]=$;break;case"i16":qr[i>>1]=$;break;case"i32":_9[i>>2]=$;break;case"i64":V4=[$>>>0,(s6=$,+J$(s6)>=1?s6>0?(M7(+Te(s6/4294967296),4294967295)|0)>>>0:~~+Ct((s6-+(~~s6>>>0))/4294967296)>>>0:0)],_9[i>>2]=V4[0],_9[i+4>>2]=V4[1];break;case"float":K$[i>>2]=$;break;case"double":M$[i>>3]=$;break;default:Vs("invalid type for setValue: "+h)}}o.setValue=ph;function ur(i,$,h){switch($=$||"i8",$.charAt($.length-1)==="*"&&($="i32"),$){case"i1":return Y9[i>>0];case"i8":return Y9[i>>0];case"i16":return qr[i>>1];case"i32":return _9[i>>2];case"i64":return _9[i>>2];case"float":return K$[i>>2];case"double":return M$[i>>3];default:Vs("invalid type for setValue: "+$)}return null}o.getValue=ur;var HA=0,Fm=1,Ns=2,Qh=3,N3=4;o.ALLOC_NORMAL=HA,o.ALLOC_STACK=Fm,o.ALLOC_STATIC=Ns,o.ALLOC_DYNAMIC=Qh,o.ALLOC_NONE=N3;function E3(i,$,h,d){var P,e;typeof i=="number"?(P=!0,e=i):(P=!1,e=i.length);var W0=typeof $=="string"?$:null,t1;if(h==N3?t1=d:t1=[_h,F.stackAlloc,F.staticAlloc,F.dynamicAlloc][h===void 0?Ns:h](Math.max(e,W0?1:$.length)),P){var d=t1,b2;for(K4((t1&3)==0),b2=t1+(e&-4);d>2]=0;for(b2=t1+e;d>0]=0;return t1}if(W0==="i8")return i.subarray||i.slice?Qi.set(i,t1):Qi.set(new Uint8Array(i),t1),t1;for(var s=0,A1,C,w5;s>0],h|=d,!(d==0&&!$||(P++,$&&P==$)););$||($=P);var e="";if(h<128){for(var W0=1024,t1;$>0;)t1=String.fromCharCode.apply(String,Qi.subarray(i,i+Math.min($,W0))),e=e?e+t1:t1,i+=W0,$-=W0;return e}return o.UTF8ToString(i)}o.Pointer_stringify=L$;function R$(i){for(var $="";;){var h=Y9[i++>>0];if(!h)return $;$+=String.fromCharCode(h)}}o.AsciiToString=R$;function $p(i,$){return H$(i,$,!1)}o.stringToAscii=$p;function Gs(i,$){for(var h,d,P,e,W0,t1,b2="";;){if(h=i[$++],!h)return b2;if(!(h&128)){b2+=String.fromCharCode(h);continue}if(d=i[$++]&63,(h&224)==192){b2+=String.fromCharCode((h&31)<<6|d);continue}if(P=i[$++]&63,(h&240)==224?h=(h&15)<<12|d<<6|P:(e=i[$++]&63,(h&248)==240?h=(h&7)<<18|d<<12|P<<6|e:(W0=i[$++]&63,(h&252)==248?h=(h&3)<<24|d<<18|P<<12|e<<6|W0:(t1=i[$++]&63,h=(h&1)<<30|d<<24|P<<18|e<<12|W0<<6|t1))),h<65536)b2+=String.fromCharCode(h);else{var s=h-65536;b2+=String.fromCharCode(55296|s>>10,56320|s&1023)}}}o.UTF8ArrayToString=Gs;function Mm(i){return Gs(Qi,i)}o.UTF8ToString=Mm;function Rn(i,$,h,d){if(!(d>0))return 0;for(var P=h,e=h+d-1,W0=0;W0=55296&&t1<=57343&&(t1=65536+((t1&1023)<<10)|i.charCodeAt(++W0)&1023),t1<=127){if(h>=e)break;$[h++]=t1}else if(t1<=2047){if(h+1>=e)break;$[h++]=192|t1>>6,$[h++]=128|t1&63}else if(t1<=65535){if(h+2>=e)break;$[h++]=224|t1>>12,$[h++]=128|t1>>6&63,$[h++]=128|t1&63}else if(t1<=2097151){if(h+3>=e)break;$[h++]=240|t1>>18,$[h++]=128|t1>>12&63,$[h++]=128|t1>>6&63,$[h++]=128|t1&63}else if(t1<=67108863){if(h+4>=e)break;$[h++]=248|t1>>24,$[h++]=128|t1>>18&63,$[h++]=128|t1>>12&63,$[h++]=128|t1>>6&63,$[h++]=128|t1&63}else{if(h+5>=e)break;$[h++]=252|t1>>30,$[h++]=128|t1>>24&63,$[h++]=128|t1>>18&63,$[h++]=128|t1>>12&63,$[h++]=128|t1>>6&63,$[h++]=128|t1&63}}return $[h]=0,h-P}o.stringToUTF8Array=Rn;function Tm(i,$,h){return Rn(i,Qi,$,h)}o.stringToUTF8=Tm;function Us(i){for(var $=0,h=0;h=55296&&d<=57343&&(d=65536+((d&1023)<<10)|i.charCodeAt(++h)&1023),d<=127?++$:d<=2047?$+=2:d<=65535?$+=3:d<=2097151?$+=4:d<=67108863?$+=5:$+=6}return $}o.lengthBytesUTF8=Us;function Nm(i){for(var $=0,h="";;){var d=qr[i+$*2>>1];if(d==0)return h;++$,h+=String.fromCharCode(d)}}o.UTF16ToString=Nm;function lp(i,$,h){if(h===void 0&&(h=2147483647),h<2)return 0;h-=2;for(var d=$,P=h>1]=W0,$+=2}return qr[$>>1]=0,$-d}o.stringToUTF16=lp;function cp(i){return i.length*2}o.lengthBytesUTF16=cp;function gp(i){for(var $=0,h="";;){var d=_9[i+$*4>>2];if(d==0)return h;if(++$,d>=65536){var P=d-65536;h+=String.fromCharCode(55296|P>>10,56320|P&1023)}else h+=String.fromCharCode(d)}}o.UTF32ToString=gp;function hp(i,$,h){if(h===void 0&&(h=2147483647),h<4)return 0;for(var d=$,P=d+h-4,e=0;e=55296&&W0<=57343){var t1=i.charCodeAt(++e);W0=65536+((W0&1023)<<10)|t1&1023}if(_9[$>>2]=W0,$+=4,$+4>P)break}return _9[$>>2]=0,$-d}o.stringToUTF32=hp;function up(i){for(var $=0,h=0;h=55296&&d<=57343&&++h,$+=4}return $}o.lengthBytesUTF32=up;function fp(i){var $=!!o.___cxa_demangle;if($)try{var h=_h(i.length);Hs(i.substr(1),h);var d=_h(4),P=o.___cxa_demangle(h,0,0,d);if(ur(d,"i32")===0&&P)return L$(P)}catch{}finally{h&&AB(h),d&&AB(d),P&&AB(P)}var e=3,W0={v:"void",b:"bool",c:"char",s:"short",i:"int",l:"long",f:"float",d:"double",w:"wchar_t",a:"signed char",h:"unsigned char",t:"unsigned short",j:"unsigned int",m:"unsigned long",x:"long long",y:"unsigned long long",z:"..."},t1=[],b2=!0;function s(p2){p2&&o.print(p2),o.print(i);for(var T5="",x9=0;x9"}else O9=K9;e:for(;e0;){var Ir=i[e++];if(Ir in W0)I4.push(W0[Ir]);else switch(Ir){case"P":I4.push(C(!0,1,!0)[0]+"*");break;case"R":I4.push(C(!0,1,!0)[0]+"&");break;case"L":{e++;var Z$=i.indexOf("E",e),h8=Z$-e;I4.push(i.substr(e,h8)),e+=h8+2;break}case"A":{var h8=parseInt(i.substr(e));if(e+=h8.toString().length,i[e]!=="_")throw"?";e++,I4.push(C(!0,1,!0)[0]+" ["+h8+"]");break}case"E":break e;default:O9+="?"+Ir;break e}}return!x9&&I4.length===1&&I4[0]==="void"&&(I4=[]),p2?(O9&&I4.push(O9+"?"),I4):O9+w8()}var w5=i;try{if(i=="Object._main"||i=="_main")return"main()";if(typeof i=="number"&&(i=L$(i)),i[0]!=="_"||i[1]!=="_"||i[2]!=="Z")return i;switch(i[3]){case"n":return"operator new()";case"d":return"operator delete()"}w5=C()}catch{w5+="?"}return w5.indexOf("?")>=0&&!$&&F.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),w5}function dp(i){return i.replace(/__Z[\w\d_]+/g,function($){var h=fp($);return $===h?$:$+" ["+h+"]"})}function Ip(){var i=new Error;if(!i.stack){try{throw new Error(0)}catch($){i=$}if(!i.stack)return"(no stack trace available)"}return i.stack.toString()}function Gm(){return dp(Ip())}o.stackTrace=Gm;var tB=4096;function yh(i){return i%4096>0&&(i+=4096-i%4096),i}var Um,Y9,Qi,qr,F$,_9,V$,K$,M$,Ps=0,Hr=0,T$=!1,wh=0,pi=0,N$=0,G$=0,Fi=0;function iB(){Vs("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+Os+", (2) compile with ALLOW_MEMORY_GROWTH which adjusts the size at runtime but prevents some optimizations, or (3) set Module.TOTAL_MEMORY before the program runs.")}for(var Pm=o.TOTAL_STACK||5242880,Os=o.TOTAL_MEMORY||16777216,Yr=64*1024;Yr0;){var $=i.shift();if(typeof $=="function"){$();continue}var h=$.func;typeof h=="number"?$.arg===void 0?F.dynCall("v",h):F.dynCall("vi",h,[$.arg]):h($.arg===void 0?null:$.arg)}}var Om=[],P$=[],kh=[],O$=[],vh=[],Sh=!1,Fn=!1;function bh(){if(o.preRun)for(typeof o.preRun=="function"&&(o.preRun=[o.preRun]);o.preRun.length;)F7(o.preRun.shift());U$(Om)}function qs(){Sh||(Sh=!0,U$(P$))}function Ep(){U$(kh)}function qm(){U$(O$),Fn=!0}function q$(){if(o.postRun)for(typeof o.postRun=="function"&&(o.postRun=[o.postRun]);o.postRun.length;)rB(o.postRun.shift());U$(vh)}function F7(i){Om.unshift(i)}o.addOnPreRun=o.addOnPreRun=F7;function mp(i){P$.unshift(i)}o.addOnInit=o.addOnInit=mp;function Cp(i){kh.unshift(i)}o.addOnPreMain=o.addOnPreMain=Cp;function Bp(i){O$.unshift(i)}o.addOnExit=o.addOnExit=Bp;function rB(i){vh.unshift(i)}o.addOnPostRun=o.addOnPostRun=rB;function Jr(i,$,h){var d=h>0?h:Us(i)+1,P=new Array(d),e=Rn(i,P,0,P.length);return $&&(P.length=e),P}o.intArrayFromString=Jr;function nB(i){for(var $=[],h=0;h255&&(d&=255),$.push(String.fromCharCode(d))}return $.join("")}o.intArrayToString=nB;function Hs(i,$,h){for(var d=Jr(i,h),P=0;P>0]=e,P=P+1}}o.writeStringToMemory=Hs;function YA(i,$){for(var h=0;h>0]=i[h]}o.writeArrayToMemory=YA;function H$(i,$,h){for(var d=0;d>0]=i.charCodeAt(d);h||(Y9[$>>0]=0)}o.writeAsciiToMemory=H$;function Hm(i,$,h){return i>=0?i:$<=32?2*Math.abs(1<<$-1)+i:Math.pow(2,$)+i}function Y$(i,$,h){if(i<=0)return i;var d=$<=32?Math.abs(1<<$-1):Math.pow(2,$-1);return i>=d&&($<=32||i>d)&&(i=-2*d+i),i}(!Math.imul||Math.imul(4294967295,5)!==-5)&&(Math.imul=function($,h){var d=$>>>16,P=$&65535,e=h>>>16,W0=h&65535;return P*W0+(d*W0+P*e<<16)|0}),Math.imul=Math.imul,Math.clz32||(Math.clz32=function(i){i=i>>>0;for(var $=0;$<32;$++)if(i&1<<31-$)return $;return 32}),Math.clz32=Math.clz32;var J$=Math.abs,sB=Math.cos,Ki=Math.sin,x0=Math.tan,X0=Math.acos,C1=Math.asin,S2=Math.atan,W3=Math.atan2,g9=Math.exp,J9=Math.log,h6=Math.sqrt,Ct=Math.ceil,Te=Math.floor,je=Math.pow,Se=Math.imul,h9=Math.fround,M7=Math.min,Ti=Math.clz32,Bt=0,T7=null,Ni=null;function Gi(i){return i}function Mn(i){Bt++,o.monitorRunDependencies&&o.monitorRunDependencies(Bt)}o.addRunDependency=Mn;function fr(i){if(Bt--,o.monitorRunDependencies&&o.monitorRunDependencies(Bt),Bt==0&&(T7!==null&&(clearInterval(T7),T7=null),Ni)){var $=Ni;Ni=null,$()}}o.removeRunDependency=fr,o.preloadedImages={},o.preloadedAudios={};var Ym=null,Dh=[];Ps=8,Hr=Ps+553552,P$.push(),E3([0,0,0,0,1,0,0,0,3,0,0,0,7,0,0,0,15,0,0,0,31,0,0,0,63,0,0,0,127,0,0,0,255,0,0,0,255,1,0,0,255,3,0,0,255,7,0,0,255,15,0,0,255,31,0,0,255,63,0,0,255,127,0,0,255,255,0,0,255,255,1,0,255,255,3,0,255,255,7,0,255,255,15,0,255,255,31,0,255,255,63,0,255,255,127,0,255,255,255,0,255,255,255,1,255,255,255,3,255,255,255,7,255,255,255,15,255,255,255,31,255,255,255,63,255,255,255,127,255,255,255,255,0,0,0,0,0,0,0,0,183,29,193,4,110,59,130,9,217,38,67,13,220,118,4,19,107,107,197,23,178,77,134,26,5,80,71,30,184,237,8,38,15,240,201,34,214,214,138,47,97,203,75,43,100,155,12,53,211,134,205,49,10,160,142,60,189,189,79,56,112,219,17,76,199,198,208,72,30,224,147,69,169,253,82,65,172,173,21,95,27,176,212,91,194,150,151,86,117,139,86,82,200,54,25,106,127,43,216,110,166,13,155,99,17,16,90,103,20,64,29,121,163,93,220,125,122,123,159,112,205,102,94,116,224,182,35,152,87,171,226,156,142,141,161,145,57,144,96,149,60,192,39,139,139,221,230,143,82,251,165,130,229,230,100,134,88,91,43,190,239,70,234,186,54,96,169,183,129,125,104,179,132,45,47,173,51,48,238,169,234,22,173,164,93,11,108,160,144,109,50,212,39,112,243,208,254,86,176,221,73,75,113,217,76,27,54,199,251,6,247,195,34,32,180,206,149,61,117,202,40,128,58,242,159,157,251,246,70,187,184,251,241,166,121,255,244,246,62,225,67,235,255,229,154,205,188,232,45,208,125,236,119,112,134,52,192,109,71,48,25,75,4,61,174,86,197,57,171,6,130,39,28,27,67,35,197,61,0,46,114,32,193,42,207,157,142,18,120,128,79,22,161,166,12,27,22,187,205,31,19,235,138,1,164,246,75,5,125,208,8,8,202,205,201,12,7,171,151,120,176,182,86,124,105,144,21,113,222,141,212,117,219,221,147,107,108,192,82,111,181,230,17,98,2,251,208,102,191,70,159,94,8,91,94,90,209,125,29,87,102,96,220,83,99,48,155,77,212,45,90,73,13,11,25,68,186,22,216,64,151,198,165,172,32,219,100,168,249,253,39,165,78,224,230,161,75,176,161,191,252,173,96,187,37,139,35,182,146,150,226,178,47,43,173,138,152,54,108,142,65,16,47,131,246,13,238,135,243,93,169,153,68,64,104,157,157,102,43,144,42,123,234,148,231,29,180,224,80,0,117,228,137,38,54,233,62,59,247,237,59,107,176,243,140,118,113,247,85,80,50,250,226,77,243,254,95,240,188,198,232,237,125,194,49,203,62,207,134,214,255,203,131,134,184,213,52,155,121,209,237,189,58,220,90,160,251,216,238,224,12,105,89,253,205,109,128,219,142,96,55,198,79,100,50,150,8,122,133,139,201,126,92,173,138,115,235,176,75,119,86,13,4,79,225,16,197,75,56,54,134,70,143,43,71,66,138,123,0,92,61,102,193,88,228,64,130,85,83,93,67,81,158,59,29,37,41,38,220,33,240,0,159,44,71,29,94,40,66,77,25,54,245,80,216,50,44,118,155,63,155,107,90,59,38,214,21,3,145,203,212,7,72,237,151,10,255,240,86,14,250,160,17,16,77,189,208,20,148,155,147,25,35,134,82,29,14,86,47,241,185,75,238,245,96,109,173,248,215,112,108,252,210,32,43,226,101,61,234,230,188,27,169,235,11,6,104,239,182,187,39,215,1,166,230,211,216,128,165,222,111,157,100,218,106,205,35,196,221,208,226,192,4,246,161,205,179,235,96,201,126,141,62,189,201,144,255,185,16,182,188,180,167,171,125,176,162,251,58,174,21,230,251,170,204,192,184,167,123,221,121,163,198,96,54,155,113,125,247,159,168,91,180,146,31,70,117,150,26,22,50,136,173,11,243,140,116,45,176,129,195,48,113,133,153,144,138,93,46,141,75,89,247,171,8,84,64,182,201,80,69,230,142,78,242,251,79,74,43,221,12,71,156,192,205,67,33,125,130,123,150,96,67,127,79,70,0,114,248,91,193,118,253,11,134,104,74,22,71,108,147,48,4,97,36,45,197,101,233,75,155,17,94,86,90,21,135,112,25,24,48,109,216,28,53,61,159,2,130,32,94,6,91,6,29,11,236,27,220,15,81,166,147,55,230,187,82,51,63,157,17,62,136,128,208,58,141,208,151,36,58,205,86,32,227,235,21,45,84,246,212,41,121,38,169,197,206,59,104,193,23,29,43,204,160,0,234,200,165,80,173,214,18,77,108,210,203,107,47,223,124,118,238,219,193,203,161,227,118,214,96,231,175,240,35,234,24,237,226,238,29,189,165,240,170,160,100,244,115,134,39,249,196,155,230,253,9,253,184,137,190,224,121,141,103,198,58,128,208,219,251,132,213,139,188,154,98,150,125,158,187,176,62,147,12,173,255,151,177,16,176,175,6,13,113,171,223,43,50,166,104,54,243,162,109,102,180,188,218,123,117,184,3,93,54,181,180,64,247,177,1,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,0,0,0,0,88,105,112,104,46,79,114,103,32,108,105,98,86,111,114,98,105,115,32,73,32,50,48,49,53,48,49,48,53,32,40,226,155,132,226,155,132,226,155,132,226,155,132,41,0,0,0,0,1,0,0,0,4,0,0,0,3,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,0,0,76,194,0,0,80,194,0,0,84,194,0,0,88,194,0,0,92,194,0,0,96,194,0,0,100,194,0,0,104,194,0,0,108,194,0,0,112,194,0,0,116,194,0,0,120,194,0,0,124,194,0,0,128,194,0,0,130,194,0,0,132,194,0,0,134,194,0,0,136,194,0,0,138,194,0,0,140,194,0,0,142,194,0,0,144,194,0,0,146,194,0,0,148,194,0,0,150,194,0,0,152,194,0,0,154,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,164,194,0,0,166,194,0,0,168,194,0,0,170,194,0,0,172,194,0,0,174,194,0,0,176,194,0,0,176,194,0,0,178,194,0,0,178,194,0,0,180,194,0,0,182,194,0,0,182,194,0,0,184,194,0,0,186,194,0,0,188,194,0,0,190,194,0,0,192,194,0,0,192,194,0,0,194,194,0,0,196,194,0,0,196,194,0,0,198,194,0,0,198,194,0,0,200,194,0,0,200,194,0,0,202,194,0,0,204,194,0,0,206,194,0,0,208,194,0,0,212,194,0,0,214,194,0,0,214,194,0,0,214,194,0,0,214,194,0,0,210,194,0,0,206,194,0,0,204,194,0,0,202,194,0,0,198,194,0,0,196,194,0,0,192,194,0,0,190,194,0,0,190,194,0,0,192,194,0,0,194,194,0,0,192,194,0,0,190,194,0,0,186,194,0,0,180,194,0,0,160,194,0,0,140,194,0,0,72,194,0,0,32,194,0,0,240,193,0,0,240,193,0,0,240,193,0,0,240,193,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,4,64,0,0,0,0,0,0,18,64,0,0,0,0,0,0,33,64,0,0,0,0,0,128,48,64,0,0,0,4,107,244,52,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,4,64,0,0,0,0,0,0,18,64,0,0,0,0,0,0,33,64,0,0,0,4,107,244,52,66,62,180,228,51,9,145,243,51,139,178,1,52,60,32,10,52,35,26,19,52,96,169,28,52,167,215,38,52,75,175,49,52,80,59,61,52,112,135,73,52,35,160,86,52,184,146,100,52,85,109,115,52,136,159,129,52,252,11,138,52,147,4,147,52,105,146,156,52,50,191,166,52,63,149,177,52,147,31,189,52,228,105,201,52,173,128,214,52,54,113,228,52,166,73,243,52,136,140,1,53,192,247,9,53,6,239,18,53,118,123,28,53,192,166,38,53,55,123,49,53,218,3,61,53,94,76,73,53,59,97,86,53,185,79,100,53,252,37,115,53,138,121,129,53,134,227,137,53,124,217,146,53,133,100,156,53,82,142,166,53,51,97,177,53,37,232,188,53,220,46,201,53,206,65,214,53,65,46,228,53,87,2,243,53,143,102,1,54,79,207,9,54,245,195,18,54,152,77,28,54,232,117,38,54,50,71,49,54,116,204,60,54,94,17,73,54,101,34,86,54,206,12,100,54,184,222,114,54,151,83,129,54,28,187,137,54,114,174,146,54,175,54,156,54,129,93,166,54,53,45,177,54,199,176,188,54,228,243,200,54,1,3,214,54,96,235,227,54,30,187,242,54,162,64,1,55,235,166,9,55,241,152,18,55,201,31,28,55,30,69,38,55,61,19,49,55,30,149,60,55,111,214,72,55,162,227,85,55,247,201,99,55,137,151,114,55,175,45,129,55,190,146,137,55,116,131,146,55,230,8,156,55,190,44,166,55,71,249,176,55,121,121,188,55,254,184,200,55,71,196,213,55,146,168,227,55,248,115,242,55,192,26,1,56,147,126,9,56,249,109,18,56,6,242,27,56,98,20,38,56,86,223,48,56,216,93,60,56,146,155,72,56,242,164,85,56,51,135,99,56,110,80,114,56,211,7,129,56,107,106,137,56,130,88,146,56,42,219,155,56,9,252,165,56,104,197,176,56,59,66,188,56,41,126,200,56,160,133,213,56,217,101,227,56,232,44,242,56,233,244,0,57,70,86,9,57,14,67,18,57,81,196,27,57,181,227,37,57,127,171,48,57,162,38,60,57,197,96,72,57,83,102,85,57,131,68,99,57,104,9,114,57,1,226,128,57,36,66,137,57,157,45,146,57,123,173,155,57,99,203,165,57,153,145,176,57,13,11,188,57,102,67,200,57,11,71,213,57,50,35,227,57,237,229,241,57,29,207,0,58,5,46,9,58,48,24,18,58,169,150,27,58,21,179,37,58,183,119,48,58,124,239,59,58,10,38,72,58,199,39,85,58,230,1,99,58,120,194,113,58,59,188,128,58,233,25,137,58,198,2,146,58,219,127,155,58,203,154,165,58,216,93,176,58,239,211,187,58,179,8,200,58,136,8,213,58,159,224,226,58,7,159,241,58,92,169,0,59,208,5,9,59,94,237,17,59,15,105,27,59,132,130,37,59,253,67,48,59,103,184,59,59,97,235,71,59,77,233,84,59,93,191,98,59,156,123,113,59,127,150,128,59,186,241,136,59,249,215,145,59,71,82,155,59,65,106,165,59,39,42,176,59,226,156,187,59,18,206,199,59,23,202,212,59,32,158,226,59,53,88,241,59,166,131,0,60,167,221,8,60,152,194,17,60,130,59,27,60,1,82,37,60,84,16,48,60,97,129,59,60,200,176,71,60,229,170,84,60,232,124,98,60,212,52,113,60,207,112,128,60,150,201,136,60,58,173,145,60,192,36,155,60,197,57,165,60,133,246,175,60,229,101,187,60,130,147,199,60,185,139,212,60,180,91,226,60,121,17,241,60,251,93,0,61,137,181,8,61,223,151,17,61,2,14,27,61,141,33,37,61,185,220,47,61,109,74,59,61,64,118,71,61,145,108,84,61,133,58,98,61,34,238,112,61,42,75,128,61,127,161,136,61,136,130,145,61,72,247,154,61,88,9,165,61,242,194,175,61,248,46,187,61,3,89,199,61,109,77,212,61,92,25,226,61,209,202,240,61,91,56,0,62,119,141,8,62,51,109,17,62,144,224,26,62,39,241,36,62,46,169,47,62,135,19,59,62,202,59,71,62,77,46,84,62,55,248,97,62,132,167,112,62,143,37,128,62,115,121,136,62,226,87,145,62,220,201,154,62,249,216,164,62,109,143,175,62,27,248,186,62,149,30,199,62,51,15,212,62,23,215,225,62,61,132,240,62,198,18,0,63,114,101,8,63,147,66,17,63,43,179,26,63,206,192,36,63,177,117,47,63,178,220,58,63,101,1,71,63,29,240,83,63,251,181,97,63,251,96,112,63,0,0,128,63,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,120,194,0,0,120,194,0,0,130,194,0,0,146,194,0,0,138,194,0,0,136,194,0,0,136,194,0,0,134,194,0,0,140,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,150,194,0,0,158,194,0,0,158,194,0,0,160,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,84,194,0,0,116,194,0,0,132,194,0,0,132,194,0,0,136,194,0,0,134,194,0,0,140,194,0,0,152,194,0,0,152,194,0,0,144,194,0,0,146,194,0,0,150,194,0,0,152,194,0,0,156,194,0,0,158,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,24,194,0,0,32,194,0,0,40,194,0,0,56,194,0,0,64,194,0,0,84,194,0,0,92,194,0,0,120,194,0,0,130,194,0,0,104,194,0,0,96,194,0,0,96,194,0,0,116,194,0,0,112,194,0,0,130,194,0,0,134,194,0,0,138,194,0,0,142,194,0,0,154,194,0,0,154,194,0,0,156,194,0,0,160,194,0,0,164,194,0,0,168,194,0,0,176,194,0,0,186,194,0,0,196,194,0,0,212,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,208,193,0,0,216,193,0,0,232,193,0,0,0,194,0,0,24,194,0,0,64,194,0,0,80,194,0,0,80,194,0,0,72,194,0,0,64,194,0,0,64,194,0,0,76,194,0,0,80,194,0,0,88,194,0,0,112,194,0,0,134,194,0,0,134,194,0,0,132,194,0,0,136,194,0,0,138,194,0,0,146,194,0,0,146,194,0,0,152,194,0,0,160,194,0,0,162,194,0,0,162,194,0,0,170,194,0,0,170,194,0,0,172,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,136,193,0,0,152,193,0,0,160,193,0,0,176,193,0,0,208,193,0,0,224,193,0,0,248,193,0,0,32,194,0,0,60,194,0,0,28,194,0,0,28,194,0,0,32,194,0,0,40,194,0,0,44,194,0,0,60,194,0,0,76,194,0,0,100,194,0,0,80,194,0,0,92,194,0,0,92,194,0,0,112,194,0,0,104,194,0,0,120,194,0,0,124,194,0,0,140,194,0,0,134,194,0,0,138,194,0,0,144,194,0,0,146,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,166,194,0,0,174,194,0,0,180,194,0,0,188,194,0,0,196,194,0,0,208,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,32,193,0,0,48,193,0,0,112,193,0,0,152,193,0,0,200,193,0,0,240,193,0,0,8,194,0,0,248,193,0,0,240,193,0,0,248,193,0,0,232,193,0,0,0,194,0,0,12,194,0,0,40,194,0,0,64,194,0,0,40,194,0,0,48,194,0,0,56,194,0,0,72,194,0,0,72,194,0,0,76,194,0,0,80,194,0,0,108,194,0,0,88,194,0,0,92,194,0,0,92,194,0,0,104,194,0,0,120,194,0,0,124,194,0,0,132,194,0,0,144,194,0,0,146,194,0,0,152,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,160,194,0,0,162,194,0,0,168,194,0,0,176,194,0,0,180,194,0,0,188,194,0,0,196,194,0,0,202,194,0,0,212,194,0,0,220,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,134,194,0,0,134,194,0,0,134,194,0,0,152,194,0,0,144,194,0,0,142,194,0,0,148,194,0,0,152,194,0,0,152,194,0,0,150,194,0,0,156,194,0,0,158,194,0,0,158,194,0,0,162,194,0,0,166,194,0,0,172,194,0,0,178,194,0,0,186,194,0,0,194,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,64,194,0,0,76,194,0,0,92,194,0,0,108,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,134,194,0,0,132,194,0,0,136,194,0,0,138,194,0,0,140,194,0,0,148,194,0,0,158,194,0,0,154,194,0,0,154,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,164,194,0,0,168,194,0,0,172,194,0,0,176,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,216,194,0,0,232,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,20,194,0,0,20,194,0,0,36,194,0,0,48,194,0,0,64,194,0,0,76,194,0,0,104,194,0,0,120,194,0,0,112,194,0,0,100,194,0,0,108,194,0,0,108,194,0,0,112,194,0,0,124,194,0,0,130,194,0,0,144,194,0,0,142,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,154,194,0,0,152,194,0,0,156,194,0,0,162,194,0,0,162,194,0,0,160,194,0,0,166,194,0,0,172,194,0,0,182,194,0,0,192,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,240,193,0,0,0,194,0,0,0,194,0,0,4,194,0,0,12,194,0,0,36,194,0,0,68,194,0,0,72,194,0,0,68,194,0,0,60,194,0,0,64,194,0,0,64,194,0,0,80,194,0,0,76,194,0,0,100,194,0,0,130,194,0,0,116,194,0,0,108,194,0,0,116,194,0,0,128,194,0,0,138,194,0,0,140,194,0,0,148,194,0,0,154,194,0,0,154,194,0,0,156,194,0,0,162,194,0,0,168,194,0,0,170,194,0,0,174,194,0,0,180,194,0,0,184,194,0,0,192,194,0,0,200,194,0,0,214,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,160,193,0,0,168,193,0,0,184,193,0,0,216,193,0,0,240,193,0,0,12,194,0,0,16,194,0,0,36,194,0,0,56,194,0,0,48,194,0,0,40,194,0,0,32,194,0,0,36,194,0,0,36,194,0,0,44,194,0,0,64,194,0,0,92,194,0,0,84,194,0,0,80,194,0,0,84,194,0,0,96,194,0,0,108,194,0,0,104,194,0,0,112,194,0,0,134,194,0,0,132,194,0,0,138,194,0,0,142,194,0,0,144,194,0,0,150,194,0,0,158,194,0,0,162,194,0,0,168,194,0,0,174,194,0,0,180,194,0,0,186,194,0,0,194,194,0,0,202,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,48,193,0,0,64,193,0,0,64,193,0,0,112,193,0,0,128,193,0,0,160,193,0,0,184,193,0,0,240,193,0,0,20,194,0,0,8,194,0,0,4,194,0,0,8,194,0,0,248,193,0,0,0,194,0,0,0,194,0,0,24,194,0,0,60,194,0,0,48,194,0,0,36,194,0,0,32,194,0,0,60,194,0,0,68,194,0,0,56,194,0,0,56,194,0,0,104,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,104,194,0,0,120,194,0,0,128,194,0,0,134,194,0,0,134,194,0,0,140,194,0,0,144,194,0,0,152,194,0,0,158,194,0,0,166,194,0,0,174,194,0,0,182,194,0,0,192,194,0,0,200,194,0,0,208,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,124,194,0,0,128,194,0,0,132,194,0,0,134,194,0,0,132,194,0,0,136,194,0,0,150,194,0,0,144,194,0,0,152,194,0,0,150,194,0,0,152,194,0,0,156,194,0,0,158,194,0,0,164,194,0,0,168,194,0,0,170,194,0,0,180,194,0,0,188,194,0,0,202,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,112,194,0,0,112,194,0,0,116,194,0,0,124,194,0,0,132,194,0,0,142,194,0,0,136,194,0,0,140,194,0,0,140,194,0,0,142,194,0,0,144,194,0,0,144,194,0,0,150,194,0,0,162,194,0,0,156,194,0,0,158,194,0,0,164,194,0,0,166,194,0,0,172,194,0,0,180,194,0,0,194,194,0,0,206,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,88,194,0,0,92,194,0,0,100,194,0,0,96,194,0,0,100,194,0,0,92,194,0,0,116,194,0,0,130,194,0,0,112,194,0,0,112,194,0,0,120,194,0,0,124,194,0,0,124,194,0,0,132,194,0,0,136,194,0,0,148,194,0,0,146,194,0,0,150,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,160,194,0,0,164,194,0,0,170,194,0,0,180,194,0,0,192,194,0,0,202,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,64,194,0,0,76,194,0,0,100,194,0,0,76,194,0,0,68,194,0,0,72,194,0,0,76,194,0,0,84,194,0,0,88,194,0,0,108,194,0,0,132,194,0,0,112,194,0,0,120,194,0,0,134,194,0,0,134,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,152,194,0,0,156,194,0,0,162,194,0,0,170,194,0,0,176,194,0,0,188,194,0,0,194,194,0,0,208,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,28,194,0,0,36,194,0,0,40,194,0,0,40,194,0,0,28,194,0,0,24,194,0,0,36,194,0,0,44,194,0,0,80,194,0,0,48,194,0,0,32,194,0,0,28,194,0,0,20,194,0,0,20,194,0,0,32,194,0,0,60,194,0,0,88,194,0,0,72,194,0,0,64,194,0,0,72,194,0,0,92,194,0,0,116,194,0,0,108,194,0,0,120,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,138,194,0,0,138,194,0,0,146,194,0,0,148,194,0,0,148,194,0,0,150,194,0,0,154,194,0,0,158,194,0,0,164,194,0,0,174,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,216,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,224,193,0,0,208,193,0,0,192,193,0,0,176,193,0,0,160,193,0,0,160,193,0,0,184,193,0,0,232,193,0,0,240,193,0,0,248,193,0,0,224,193,0,0,216,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,12,194,0,0,32,194,0,0,4,194,0,0,0,194,0,0,232,193,0,0,240,193,0,0,240,193,0,0,240,193,0,0,20,194,0,0,52,194,0,0,36,194,0,0,20,194,0,0,24,194,0,0,52,194,0,0,60,194,0,0,60,194,0,0,64,194,0,0,84,194,0,0,68,194,0,0,64,194,0,0,72,194,0,0,68,194,0,0,68,194,0,0,76,194,0,0,80,194,0,0,104,194,0,0,96,194,0,0,100,194,0,0,96,194,0,0,112,194,0,0,116,194,0,0,120,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,156,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,212,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,200,194,0,0,190,194,0,0,182,194,0,0,174,194,0,0,166,194,0,0,160,194,0,0,156,194,0,0,152,194,0,0,156,194,0,0,156,194,0,0,162,194,0,0,166,194,0,0,170,194,0,0,172,194,0,0,170,194,0,0,172,194,0,0,174,194,0,0,180,194,0,0,194,194,0,0,214,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,162,194,0,0,154,194,0,0,146,194,0,0,140,194,0,0,134,194,0,0,134,194,0,0,136,194,0,0,150,194,0,0,146,194,0,0,140,194,0,0,138,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,158,194,0,0,168,194,0,0,166,194,0,0,168,194,0,0,172,194,0,0,176,194,0,0,178,194,0,0,178,194,0,0,186,194,0,0,196,194,0,0,210,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,152,194,0,0,142,194,0,0,136,194,0,0,136,194,0,0,130,194,0,0,124,194,0,0,124,194,0,0,120,194,0,0,120,194,0,0,128,194,0,0,130,194,0,0,128,194,0,0,116,194,0,0,120,194,0,0,124,194,0,0,128,194,0,0,132,194,0,0,136,194,0,0,146,194,0,0,146,194,0,0,148,194,0,0,150,194,0,0,152,194,0,0,162,194,0,0,166,194,0,0,170,194,0,0,176,194,0,0,178,194,0,0,184,194,0,0,190,194,0,0,200,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,160,194,0,0,150,194,0,0,142,194,0,0,136,194,0,0,130,194,0,0,124,194,0,0,120,194,0,0,116,194,0,0,116,194,0,0,116,194,0,0,116,194,0,0,108,194,0,0,96,194,0,0,100,194,0,0,84,194,0,0,72,194,0,0,104,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,80,194,0,0,84,194,0,0,88,194,0,0,104,194,0,0,134,194,0,0,124,194,0,0,134,194,0,0,136,194,0,0,144,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,162,194,0,0,164,194,0,0,170,194,0,0,178,194,0,0,180,194,0,0,186,194,0,0,194,194,0,0,202,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,130,194,0,0,116,194,0,0,108,194,0,0,100,194,0,0,96,194,0,0,92,194,0,0,92,194,0,0,96,194,0,0,96,194,0,0,100,194,0,0,92,194,0,0,84,194,0,0,80,194,0,0,60,194,0,0,48,194,0,0,48,194,0,0,72,194,0,0,48,194,0,0,36,194,0,0,28,194,0,0,28,194,0,0,40,194,0,0,32,194,0,0,56,194,0,0,76,194,0,0,68,194,0,0,72,194,0,0,84,194,0,0,88,194,0,0,124,194,0,0,112,194,0,0,116,194,0,0,120,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,140,194,0,0,146,194,0,0,148,194,0,0,150,194,0,0,152,194,0,0,150,194,0,0,158,194,0,0,170,194,0,0,178,194,0,0,182,194,0,0,192,194,0,0,204,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,80,194,0,0,72,194,0,0,68,194,0,0,68,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,68,194,0,0,72,194,0,0,72,194,0,0,68,194,0,0,56,194,0,0,44,194,0,0,28,194,0,0,12,194,0,0,4,194,0,0,24,194,0,0,16,194,0,0,0,194,0,0,232,193,0,0,0,194,0,0,0,194,0,0,0,194,0,0,12,194,0,0,48,194,0,0,28,194,0,0,24,194,0,0,24,194,0,0,56,194,0,0,72,194,0,0,52,194,0,0,56,194,0,0,84,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,88,194,0,0,84,194,0,0,84,194,0,0,96,194,0,0,100,194,0,0,108,194,0,0,132,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,158,194,0,0,166,194,0,0,170,194,0,0,180,194,0,0,194,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,172,194,0,0,160,194,0,0,150,194,0,0,150,194,0,0,158,194,0,0,160,194,0,0,158,194,0,0,160,194,0,0,162,194,0,0,164,194,0,0,176,194,0,0,190,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,176,194,0,0,166,194,0,0,158,194,0,0,156,194,0,0,150,194,0,0,142,194,0,0,134,194,0,0,136,194,0,0,146,194,0,0,146,194,0,0,144,194,0,0,146,194,0,0,150,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,202,194,0,0,192,194,0,0,180,194,0,0,172,194,0,0,162,194,0,0,154,194,0,0,146,194,0,0,138,194,0,0,132,194,0,0,116,194,0,0,120,194,0,0,132,194,0,0,128,194,0,0,120,194,0,0,130,194,0,0,132,194,0,0,140,194,0,0,144,194,0,0,152,194,0,0,162,194,0,0,160,194,0,0,168,194,0,0,180,194,0,0,190,194,0,0,204,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,206,194,0,0,194,194,0,0,184,194,0,0,176,194,0,0,166,194,0,0,158,194,0,0,148,194,0,0,140,194,0,0,132,194,0,0,108,194,0,0,84,194,0,0,104,194,0,0,120,194,0,0,92,194,0,0,88,194,0,0,88,194,0,0,88,194,0,0,104,194,0,0,116,194,0,0,120,194,0,0,144,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,160,194,0,0,166,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,132,194,0,0,120,194,0,0,96,194,0,0,64,194,0,0,48,194,0,0,64,194,0,0,56,194,0,0,56,194,0,0,44,194,0,0,56,194,0,0,64,194,0,0,64,194,0,0,76,194,0,0,104,194,0,0,104,194,0,0,108,194,0,0,112,194,0,0,120,194,0,0,120,194,0,0,116,194,0,0,116,194,0,0,130,194,0,0,128,194,0,0,130,194,0,0,136,194,0,0,140,194,0,0,148,194,0,0,150,194,0,0,156,194,0,0,162,194,0,0,172,194,0,0,190,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,130,194,0,0,116,194,0,0,92,194,0,0,68,194,0,0,28,194,0,0,4,194,0,0,32,194,0,0,12,194,0,0,0,194,0,0,24,194,0,0,32,194,0,0,4,194,0,0,12,194,0,0,20,194,0,0,56,194,0,0,36,194,0,0,52,194,0,0,48,194,0,0,56,194,0,0,40,194,0,0,52,194,0,0,56,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,88,194,0,0,92,194,0,0,100,194,0,0,120,194,0,0,128,194,0,0,132,194,0,0,136,194,0,0,140,194,0,0,152,194,0,0,162,194,0,0,180,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,170,194,0,0,164,194,0,0,166,194,0,0,160,194,0,0,156,194,0,0,168,194,0,0,158,194,0,0,160,194,0,0,166,194,0,0,174,194,0,0,178,194,0,0,182,194,0,0,186,194,0,0,198,194,0,0,212,194,0,0,234,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,136,194,0,0,148,194,0,0,144,194,0,0,148,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,170,194,0,0,174,194,0,0,184,194,0,0,178,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,212,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,166,194,0,0,150,194,0,0,142,194,0,0,124,194,0,0,128,194,0,0,134,194,0,0,120,194,0,0,128,194,0,0,134,194,0,0,140,194,0,0,146,194,0,0,154,194,0,0,162,194,0,0,168,194,0,0,166,194,0,0,170,194,0,0,178,194,0,0,180,194,0,0,186,194,0,0,196,194,0,0,208,194,0,0,218,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,206,194,0,0,192,194,0,0,176,194,0,0,162,194,0,0,150,194,0,0,136,194,0,0,104,194,0,0,88,194],"i8",N3,F.GLOBAL_BASE),E3([0,0,96,194,0,0,88,194,0,0,96,194,0,0,96,194,0,0,104,194,0,0,112,194,0,0,124,194,0,0,132,194,0,0,148,194,0,0,138,194,0,0,144,194,0,0,144,194,0,0,150,194,0,0,148,194,0,0,154,194,0,0,162,194,0,0,162,194,0,0,164,194,0,0,168,194,0,0,174,194,0,0,186,194,0,0,192,194,0,0,198,194,0,0,208,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,204,194,0,0,192,194,0,0,182,194,0,0,170,194,0,0,160,194,0,0,148,194,0,0,136,194,0,0,112,194,0,0,76,194,0,0,56,194,0,0,64,194,0,0,56,194,0,0,44,194,0,0,52,194,0,0,60,194,0,0,60,194,0,0,68,194,0,0,64,194,0,0,96,194,0,0,84,194,0,0,92,194,0,0,104,194,0,0,100,194,0,0,124,194,0,0,104,194,0,0,112,194,0,0,132,194,0,0,128,194,0,0,134,194,0,0,140,194,0,0,140,194,0,0,148,194,0,0,154,194,0,0,168,194,0,0,172,194,0,0,178,194,0,0,182,194,0,0,186,194,0,0,188,194,0,0,202,194,0,0,218,194,0,0,236,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,176,194,0,0,166,194,0,0,156,194,0,0,146,194,0,0,136,194,0,0,112,194,0,0,84,194,0,0,48,194,0,0,12,194,0,0,24,194,0,0,24,194,0,0,8,194,0,0,8,194,0,0,16,194,0,0,32,194,0,0,36,194,0,0,48,194,0,0,76,194,0,0,52,194,0,0,56,194,0,0,60,194,0,0,56,194,0,0,88,194,0,0,72,194,0,0,68,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,76,194,0,0,88,194,0,0,100,194,0,0,104,194,0,0,112,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,128,194,0,0,130,194,0,0,136,194,0,0,154,194,0,0,164,194,0,0,174,194,0,0,190,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,204,194,0,0,194,194,0,0,184,194,0,0,174,194,0,0,166,194,0,0,156,194,0,0,150,194,0,0,164,194,0,0,158,194,0,0,166,194,0,0,170,194,0,0,178,194,0,0,184,194,0,0,190,194,0,0,196,194,0,0,202,194,0,0,210,194,0,0,218,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,172,194,0,0,162,194,0,0,156,194,0,0,148,194,0,0,138,194,0,0,148,194,0,0,148,194,0,0,152,194,0,0,158,194,0,0,166,194,0,0,168,194,0,0,172,194,0,0,178,194,0,0,184,194,0,0,194,194,0,0,186,194,0,0,200,194,0,0,206,194,0,0,214,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,174,194,0,0,166,194,0,0,160,194,0,0,150,194,0,0,138,194,0,0,112,194,0,0,132,194,0,0,132,194,0,0,136,194,0,0,140,194,0,0,148,194,0,0,156,194,0,0,158,194,0,0,162,194,0,0,162,194,0,0,166,194,0,0,168,194,0,0,174,194,0,0,186,194,0,0,192,194,0,0,198,194,0,0,206,194,0,0,214,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,178,194,0,0,170,194,0,0,164,194,0,0,156,194,0,0,142,194,0,0,120,194,0,0,92,194,0,0,104,194,0,0,104,194,0,0,88,194,0,0,88,194,0,0,92,194,0,0,108,194,0,0,116,194,0,0,120,194,0,0,140,194,0,0,132,194,0,0,132,194,0,0,134,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,156,194,0,0,168,194,0,0,168,194,0,0,168,194,0,0,176,194,0,0,182,194,0,0,180,194,0,0,190,194,0,0,196,194,0,0,204,194,0,0,206,194,0,0,212,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,188,194,0,0,180,194,0,0,174,194,0,0,164,194,0,0,158,194,0,0,146,194,0,0,134,194,0,0,104,194,0,0,60,194,0,0,72,194,0,0,52,194,0,0,36,194,0,0,52,194,0,0,64,194,0,0,48,194,0,0,48,194,0,0,68,194,0,0,88,194,0,0,76,194,0,0,64,194,0,0,60,194,0,0,68,194,0,0,72,194,0,0,76,194,0,0,100,194,0,0,104,194,0,0,112,194,0,0,124,194,0,0,138,194,0,0,140,194,0,0,138,194,0,0,142,194,0,0,148,194,0,0,156,194,0,0,164,194,0,0,180,194,0,0,190,194,0,0,202,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,202,194,0,0,194,194,0,0,186,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,154,194,0,0,144,194,0,0,130,194,0,0,96,194,0,0,64,194,0,0,20,194,0,0,32,194,0,0,16,194,0,0,8,194,0,0,32,194,0,0,72,194,0,0,60,194,0,0,24,194,0,0,36,194,0,0,60,194,0,0,24,194,0,0,12,194,0,0,28,194,0,0,24,194,0,0,44,194,0,0,32,194,0,0,52,194,0,0,72,194,0,0,52,194,0,0,48,194,0,0,60,194,0,0,72,194,0,0,92,194,0,0,64,194,0,0,64,194,0,0,80,194,0,0,132,194,0,0,140,194,0,0,152,194,0,0,164,194,0,0,180,194,0,0,194,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,172,194,0,0,158,194,0,0,152,194,0,0,166,194,0,0,162,194,0,0,170,194,0,0,174,194,0,0,178,194,0,0,186,194,0,0,196,194,0,0,204,194,0,0,214,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,172,194,0,0,158,194,0,0,142,194,0,0,154,194,0,0,148,194,0,0,154,194,0,0,158,194,0,0,162,194,0,0,168,194,0,0,170,194,0,0,180,194,0,0,184,194,0,0,186,194,0,0,184,194,0,0,196,194,0,0,202,194,0,0,216,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,174,194,0,0,156,194,0,0,136,194,0,0,130,194,0,0,132,194,0,0,120,194,0,0,130,194,0,0,134,194,0,0,140,194,0,0,146,194,0,0,150,194,0,0,156,194,0,0,164,194,0,0,164,194,0,0,166,194,0,0,168,194,0,0,182,194,0,0,186,194,0,0,196,194,0,0,204,194,0,0,212,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,164,194,0,0,148,194,0,0,120,194,0,0,100,194,0,0,104,194,0,0,96,194,0,0,76,194,0,0,80,194,0,0,80,194,0,0,88,194,0,0,88,194,0,0,104,194,0,0,132,194,0,0,108,194,0,0,112,194,0,0,124,194,0,0,132,194,0,0,138,194,0,0,146,194,0,0,158,194,0,0,166,194,0,0,168,194,0,0,160,194,0,0,162,194,0,0,162,194,0,0,164,194,0,0,176,194,0,0,184,194,0,0,196,194,0,0,210,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,204,194,0,0,194,194,0,0,184,194,0,0,168,194,0,0,158,194,0,0,138,194,0,0,100,194,0,0,60,194,0,0,80,194,0,0,60,194,0,0,48,194,0,0,52,194,0,0,72,194,0,0,80,194,0,0,40,194,0,0,40,194,0,0,84,194,0,0,44,194,0,0,44,194,0,0,64,194,0,0,76,194,0,0,96,194,0,0,92,194,0,0,80,194,0,0,100,194,0,0,108,194,0,0,116,194,0,0,120,194,0,0,134,194,0,0,142,194,0,0,156,194,0,0,166,194,0,0,172,194,0,0,188,194,0,0,196,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,168,194,0,0,156,194,0,0,140,194,0,0,116,194,0,0,76,194,0,0,36,194,0,0,32,194,0,0,24,194,0,0,32,194,0,0,56,194,0,0,80,194,0,0,76,194,0,0,36,194,0,0,32,194,0,0,56,194,0,0,32,194,0,0,24,194,0,0,24,194,0,0,36,194,0,0,56,194,0,0,36,194,0,0,56,194,0,0,60,194,0,0,44,194,0,0,44,194,0,0,52,194,0,0,36,194,0,0,52,194,0,0,96,194,0,0,134,194,0,0,136,194,0,0,166,194,0,0,174,194,0,0,180,194,0,0,190,194,0,0,204,194,0,0,214,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,218,194,0,0,210,194,0,0,202,194,0,0,192,194,0,0,182,194,0,0,168,194,0,0,154,194,0,0,164,194,0,0,164,194,0,0,170,194,0,0,178,194,0,0,188,194,0,0,200,194,0,0,212,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,206,194,0,0,196,194,0,0,184,194,0,0,170,194,0,0,160,194,0,0,142,194,0,0,150,194,0,0,144,194,0,0,152,194,0,0,160,194,0,0,168,194,0,0,172,194,0,0,178,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,208,194,0,0,202,194,0,0,194,194,0,0,184,194,0,0,176,194,0,0,168,194,0,0,160,194,0,0,128,194,0,0,132,194,0,0,124,194,0,0,128,194,0,0,132,194,0,0,138,194,0,0,146,194,0,0,154,194,0,0,166,194,0,0,166,194,0,0,172,194,0,0,182,194,0,0,196,194,0,0,208,194,0,0,222,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,208,194,0,0,202,194,0,0,194,194,0,0,184,194,0,0,180,194,0,0,168,194,0,0,148,194,0,0,100,194,0,0,104,194,0,0,80,194,0,0,92,194,0,0,88,194,0,0,72,194,0,0,80,194,0,0,72,194,0,0,80,194,0,0,124,194,0,0,120,194,0,0,138,194,0,0,152,194,0,0,154,194,0,0,156,194,0,0,156,194,0,0,158,194,0,0,164,194,0,0,176,194,0,0,188,194,0,0,200,194,0,0,212,194,0,0,222,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,204,194,0,0,196,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,166,194,0,0,156,194,0,0,140,194,0,0,72,194,0,0,72,194,0,0,36,194,0,0,48,194,0,0,68,194,0,0,60,194,0,0,72,194,0,0,72,194,0,0,48,194,0,0,92,194,0,0,56,194,0,0,60,194,0,0,64,194,0,0,64,194,0,0,88,194,0,0,68,194,0,0,68,194,0,0,104,194,0,0,120,194,0,0,142,194,0,0,162,194,0,0,174,194,0,0,184,194,0,0,194,194,0,0,204,194,0,0,216,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,204,194,0,0,196,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,166,194,0,0,156,194,0,0,140,194,0,0,52,194,0,0,44,194,0,0,36,194,0,0,60,194,0,0,72,194,0,0,76,194,0,0,72,194,0,0,68,194,0,0,52,194,0,0,60,194,0,0,36,194,0,0,48,194,0,0,36,194,0,0,28,194,0,0,44,194,0,0,24,194,0,0,20,194,0,0,32,194,0,0,36,194,0,0,48,194,0,0,72,194,0,0,104,194,0,0,130,194,0,0,146,194,0,0,158,194,0,0,170,194,0,0,184,194,0,0,194,194,0,0,202,194,0,0,210,194,0,0,218,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,200,194,0,0,190,194,0,0,174,194,0,0,162,194,0,0,170,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,202,194,0,0,190,194,0,0,176,194,0,0,166,194,0,0,152,194,0,0,146,194,0,0,144,194,0,0,158,194,0,0,168,194,0,0,180,194,0,0,190,194,0,0,200,194,0,0,210,194,0,0,220,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,208,194,0,0,196,194,0,0,184,194,0,0,174,194,0,0,162,194,0,0,140,194,0,0,130,194,0,0,120,194,0,0,134,194,0,0,142,194,0,0,148,194,0,0,160,194,0,0,170,194,0,0,182,194,0,0,190,194,0,0,198,194,0,0,206,194,0,0,216,194,0,0,222,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,206,194,0,0,194,194,0,0,180,194,0,0,170,194,0,0,152,194,0,0,112,194,0,0,96,194,0,0,88,194,0,0,112,194,0,0,120,194,0,0,116,194,0,0,96,194,0,0,124,194,0,0,130,194,0,0,146,194,0,0,148,194,0,0,154,194,0,0,150,194,0,0,156,194,0,0,162,194,0,0,172,194,0,0,174,194,0,0,176,194,0,0,182,194,0,0,188,194,0,0,196,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,194,194,0,0,184,194,0,0,172,194,0,0,162,194,0,0,158,194,0,0,140,194,0,0,100,194,0,0,76,194,0,0,60,194,0,0,76,194,0,0,104,194,0,0,112,194,0,0,96,194,0,0,84,194,0,0,72,194,0,0,104,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,84,194,0,0,92,194,0,0,128,194,0,0,138,194,0,0,142,194,0,0,170,194,0,0,164,194,0,0,156,194,0,0,162,194,0,0,170,194,0,0,190,194,0,0,204,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,194,194,0,0,184,194,0,0,170,194,0,0,166,194,0,0,158,194,0,0,144,194,0,0,68,194,0,0,32,194,0,0,44,194,0,0,44,194,0,0,88,194,0,0,96,194,0,0,76,194,0,0,72,194,0,0,32,194,0,0,44,194,0,0,24,194,0,0,16,194,0,0,12,194,0,0,20,194,0,0,24,194,0,0,20,194,0,0,48,194,0,0,88,194,0,0,112,194,0,0,100,194,0,0,112,194,0,0,140,194,0,0,150,194,0,0,168,194,0,0,184,194,0,0,206,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,204,194,0,0,190,194,0,0,178,194,0,0,164,194,0,0,166,194,0,0,168,194,0,0,180,194,0,0,184,194,0,0,198,194,0,0,214,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,202,194,0,0,190,194,0,0,178,194,0,0,166,194,0,0,144,194,0,0,148,194,0,0,156,194,0,0,170,194,0,0,176,194,0,0,176,194,0,0,180,194,0,0,184,194,0,0,196,194,0,0,210,194,0,0,222,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,218,194,0,0,206,194,0,0,194,194,0,0,186,194,0,0,174,194,0,0,162,194,0,0,140,194,0,0,140,194,0,0,134,194,0,0,150,194,0,0,146,194,0,0,152,194,0,0,158,194,0,0,162,194,0,0,166,194,0,0,176,194,0,0,178,194,0,0,194,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,200,194,0,0,188,194,0,0,176,194,0,0,166,194,0,0,150,194,0,0,124,194,0,0,108,194,0,0,108,194,0,0,124,194,0,0,132,194,0,0,112,194,0,0,120,194,0,0,134,194,0,0,134,194,0,0,154,194,0,0,152,194,0,0,162,194,0,0,176,194,0,0,172,194,0,0,184,194,0,0,192,194,0,0,204,194,0,0,218,194,0,0,232,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,184,194,0,0,172,194,0,0,162,194,0,0,146,194,0,0,96,194,0,0,80,194,0,0,60,194,0,0,92,194,0,0,112,194,0,0,104,194,0,0,80,194,0,0,76,194,0,0,52,194,0,0,68,194,0,0,72,194,0,0,84,194,0,0,88,194,0,0,116,194,0,0,142,194,0,0,140,194,0,0,138,194,0,0,156,194,0,0,158,194,0,0,174,194,0,0,180,194,0,0,192,194,0,0,208,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,206,194,0,0,192,194,0,0,180,194,0,0,172,194,0,0,156,194,0,0,140,194,0,0,76,194,0,0,40,194,0,0,60,194,0,0,64,194,0,0,92,194,0,0,88,194,0,0,88,194,0,0,84,194,0,0,40,194,0,0,12,194,0,0,224,193,0,0,4,194,0,0,24,194,0,0,20,194,0,0,48,194,0,0,60,194,0,0,68,194,0,0,88,194,0,0,124,194,0,0,136,194,0,0,156,194,0,0,164,194,0,0,178,194,0,0,188,194,0,0,198,194,0,0,208,194,0,0,218,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,180,194,0,0,158,194,0,0,170,194,0,0,162,194,0,0,164,194,0,0,164,194,0,0,178,194,0,0,188,194,0,0,198,194,0,0,206,194,0,0,218,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,194,194,0,0,170,194,0,0,144,194,0,0,148,194,0,0,140,194,0,0,140,194,0,0,140,194,0,0,152,194,0,0,170,194,0,0,182,194,0,0,186,194,0,0,194,194,0,0,206,194,0,0,218,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,224,194,0,0,186,194,0,0,162,194,0,0,136,194,0,0,120,194,0,0,112,194,0,0,112,194,0,0,100,194,0,0,124,194,0,0,140,194,0,0,154,194,0,0,164,194,0,0,180,194,0,0,186,194,0,0,196,194,0,0,208,194,0,0,218,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,226,194,0,0,200,194,0,0,186,194,0,0,168,194,0,0,124,194,0,0,104,194,0,0,64,194,0,0,84,194,0,0,88,194,0,0,80,194,0,0,80,194,0,0,100,194,0,0,128,194,0,0,132,194,0,0,152,194,0,0,166,194,0,0,162,194,0,0,170,194,0,0,170,194,0,0,180,194,0,0,190,194,0,0,196,194,0,0,202,194,0,0,206,194,0,0,212,194,0,0,216,194,0,0,222,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,190,194,0,0,172,194,0,0,148,194,0,0,84,194,0,0,72,194,0,0,24,194,0,0,44,194,0,0,68,194,0,0,44,194,0,0,40,194,0,0,28,194,0,0,28,194,0,0,56,194,0,0,80,194,0,0,100,194,0,0,96,194,0,0,144,194,0,0,138,194,0,0,148,194,0,0,162,194,0,0,174,194,0,0,184,194,0,0,188,194,0,0,194,194,0,0,198,194,0,0,204,194,0,0,210,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,198,194,0,0,180,194,0,0,152,194,0,0,132,194,0,0,52,194,0,0,44,194,0,0,36,194,0,0,48,194,0,0,60,194,0,0,44,194,0,0,60,194,0,0,32,194,0,0,240,193,0,0,248,193,0,0,248,193,0,0,28,194,0,0,4,194,0,0,32,194,0,0,36,194,0,0,44,194,0,0,84,194,0,0,108,194,0,0,140,194,0,0,146,194,0,0,154,194,0,0,158,194,0,0,164,194,0,0,168,194,0,0,174,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,182,194,0,0,152,194,0,0,150,194,0,0,170,194,0,0,186,194,0,0,196,194,0,0,208,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,182,194,0,0,140,194,0,0,140,194,0,0,150,194,0,0,172,194,0,0,178,194,0,0,188,194,0,0,196,194,0,0,202,194,0,0,212,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,190,194,0,0,160,194,0,0,112,194,0,0,130,194,0,0,128,194,0,0,148,194,0,0,166,194,0,0,176,194,0,0,182,194,0,0,190,194,0,0,198,194,0,0,206,194,0,0,214,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,190,194,0,0,160,194,0,0,104,194,0,0,92,194,0,0,68,194,0,0,132,194,0,0,136,194,0,0,142,194,0,0,156,194,0,0,156,194,0,0,160,194,0,0,176,194,0,0,170,194,0,0,178,194,0,0,194,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,190,194,0,0,160,194,0,0,84,194,0,0,80,194,0,0,36,194,0,0,108,194,0,0,108,194,0,0,68,194,0,0,104,194,0,0,96,194,0,0,124,194,0,0,172,194,0,0,158,194,0,0,180,194,0,0,186,194,0,0,196,194,0,0,206,194,0,0,214,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,194,194,0,0,182,194,0,0,146,194,0,0,52,194,0,0,32,194,0,0,4,194,0,0,84,194,0,0,116,194,0,0,68,194,0,0,88,194,0,0,72,194,0,0,72,194,0,0,112,194,0,0,80,194,0,0,134,194,0,0,148,194,0,0,162,194,0,0,184,194,0,0,192,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,226,194,0,0,212,194,0,0,198,194,0,0,184,194,0,0,154,194,0,0,160,194,0,0,176,194,0,0,194,194,0,0,212,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196],"i8",N3,F.GLOBAL_BASE+10240),E3([0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,232,194,0,0,218,194,0,0,204,194,0,0,190,194,0,0,178,194,0,0,148,194,0,0,144,194,0,0,176,194,0,0,174,194,0,0,190,194,0,0,204,194,0,0,218,194,0,0,232,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,232,194,0,0,218,194,0,0,204,194,0,0,190,194,0,0,178,194,0,0,150,194,0,0,132,194,0,0,148,194,0,0,154,194,0,0,156,194,0,0,172,194,0,0,174,194,0,0,180,194,0,0,192,194,0,0,210,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,230,194,0,0,216,194,0,0,202,194,0,0,188,194,0,0,176,194,0,0,132,194,0,0,96,194,0,0,116,194,0,0,140,194,0,0,130,194,0,0,156,194,0,0,144,194,0,0,166,194,0,0,168,194,0,0,186,194,0,0,196,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,190,194,0,0,178,194,0,0,164,194,0,0,100,194,0,0,80,194,0,0,80,194,0,0,108,194,0,0,96,194,0,0,108,194,0,0,104,194,0,0,138,194,0,0,134,194,0,0,176,194,0,0,164,194,0,0,164,194,0,0,178,194,0,0,188,194,0,0,200,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,202,194,0,0,192,194,0,0,180,194,0,0,166,194,0,0,154,194,0,0,88,194,0,0,44,194,0,0,24,194,0,0,72,194,0,0,64,194,0,0,80,194,0,0,64,194,0,0,40,194,0,0,40,194,0,0,76,194,0,0,80,194,0,0,84,194,0,0,108,194,0,0,130,194,0,0,142,194,0,0,156,194,0,0,170,194,0,0,190,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,240,194,0,0,210,194,0,0,172,194,0,0,136,194,0,0,156,194,0,0,158,194,0,0,180,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,240,194,0,0,210,194,0,0,172,194,0,0,132,194,0,0,146,194,0,0,154,194,0,0,176,194,0,0,192,194,0,0,210,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,240,194,0,0,210,194,0,0,184,194,0,0,160,194,0,0,116,194,0,0,128,194,0,0,136,194,0,0,160,194,0,0,174,194,0,0,184,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,240,194,0,0,208,194,0,0,182,194,0,0,158,194,0,0,80,194,0,0,112,194,0,0,88,194,0,0,128,194,0,0,138,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,168,194,0,0,170,194,0,0,174,194,0,0,176,194,0,0,180,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,236,194,0,0,200,194,0,0,174,194,0,0,154,194,0,0,68,194,0,0,72,194,0,0,48,194,0,0,104,194,0,0,116,194,0,0,116,194,0,0,134,194,0,0,130,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,130,194,0,0,136,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,230,194,0,0,196,194,0,0,168,194,0,0,120,194,0,0,68,194,0,0,48,194,0,0,24,194,0,0,56,194,0,0,68,194,0,0,68,194,0,0,56,194,0,0,28,194,0,0,20,194,0,0,28,194,0,0,32,194,0,0,40,194,0,0,44,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,176,194,0,0,148,194,0,0,154,194,0,0,164,194,0,0,164,194,0,0,170,194,0,0,180,194,0,0,188,194,0,0,198,194,0,0,208,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,176,194,0,0,132,194,0,0,140,194,0,0,162,194,0,0,160,194,0,0,162,194,0,0,168,194,0,0,176,194,0,0,182,194,0,0,186,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,176,194,0,0,116,194,0,0,124,194,0,0,140,194,0,0,142,194,0,0,148,194,0,0,154,194,0,0,160,194,0,0,166,194,0,0,170,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,172,194,0,0,120,194,0,0,124,194,0,0,120,194,0,0,120,194,0,0,104,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,80,194,0,0,88,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,236,194,0,0,216,194,0,0,168,194,0,0,84,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,92,194,0,0,60,194,0,0,52,194,0,0,32,194,0,0,32,194,0,0,32,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,236,194,0,0,200,194,0,0,146,194,0,0,44,194,0,0,20,194,0,0,40,194,0,0,44,194,0,0,84,194,0,0,24,194,0,0,20,194,0,0,12,194,0,0,12,194,0,0,24,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,182,194,0,0,168,194,0,0,148,194,0,0,160,194,0,0,160,194,0,0,160,194,0,0,160,194,0,0,160,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,182,194,0,0,168,194,0,0,148,194,0,0,136,194,0,0,136,194,0,0,136,194,0,0,136,194,0,0,136,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,172,194,0,0,156,194,0,0,140,194,0,0,112,194,0,0,52,194,0,0,240,193,0,0,168,193,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,174,194,0,0,156,194,0,0,134,194,0,0,64,194,0,0,24,194,0,0,232,193,0,0,168,193,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,172,194,0,0,138,194,0,0,96,194,0,0,52,194,0,0,12,194,0,0,4,194,0,0,232,193,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,166,194,0,0,142,194,0,0,64,194,0,0,216,193,0,0,24,194,0,0,20,194,0,0,8,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,0,0,144,4,0,0,72,100,0,0,104,100,0,0,136,100,0,0,0,0,0,0,224,4,0,0,0,0,0,0,0,0,0,0,6,0,0,0,7,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,6,0,0,0,7,0,0,0,4,0,0,0,5,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,2,0,0,0,6,0,0,0,7,0,0,0,4,0,0,0,5,0,0,0,4,0,0,0,2,0,0,0,5,0,0,0,4,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,0,12,195,0,0,12,195,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,194,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,128,0,0,0,63,0,0,0,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,66,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,40,103,0,0,200,103,0,0,104,104,0,0,8,105,0,0,168,105,0,0,72,106,0,0,232,106,0,0,136,107,0,0,40,108,0,0,200,108,0,0,104,109,0,0,8,110,0,0,168,110,0,0,72,111,0,0,232,111,0,0,136,112,0,0,40,113,0,0,0,0,0,0,11,0,0,0,48,240,7,0,64,164,1,0,2,0,0,0,64,156,0,0,80,195,0,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,200,160,2,0,0,0,0,0,11,0,0,0,160,87,5,0,64,164,1,0,6,0,0,0,64,156,0,0,112,17,1,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,3,0,0,0,120,217,1,0,0,88,5,0,0,0,0,0,11,0,0,0,64,87,5,0,64,164,1,0,255,255,255,255,64,156,0,0,80,195,0,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,136,217,1,0,0,0,0,0,11,0,0,0,224,86,5,0,64,164,1,0,2,0,0,0,144,101,0,0,64,156,0,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,128,86,5,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,200,160,2,0,0,0,0,0,11,0,0,0,32,86,5,0,64,164,1,0,255,255,255,255,144,101,0,0,64,156,0,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,128,86,5,0,24,120,0,0,24,217,1,0,0,0,0,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,136,217,1,0,0,0,0,0,3,0,0,0,0,86,5,0,16,172,4,0,2,0,0,0,56,74,0,0,144,101,0,0,48,172,4,0,64,172,4,0,80,172,4,0,136,114,0,0,184,114,0,0,160,172,4,0,160,172,4,0,160,172,4,0,176,173,4,0,224,173,4,0,16,177,4,0,16,177,4,0,64,180,4,0,56,118,0,0,104,118,0,0,112,183,4,0,112,183,4,0,144,183,4,0,144,183,4,0,160,183,4,0,160,183,4,0,176,183,4,0,208,183,4,0,224,183,4,0,224,85,5,0,24,120,0,0,16,184,4,0,48,184,4,0,160,132,0,0,208,132,0,0,2,0,0,0,240,187,4,0,8,240,4,0,0,0,0,0,3,0,0,0,192,85,5,0,16,172,4,0,255,255,255,255,56,74,0,0,144,101,0,0,48,172,4,0,64,172,4,0,80,172,4,0,136,114,0,0,184,114,0,0,160,172,4,0,160,172,4,0,160,172,4,0,176,173,4,0,224,173,4,0,16,177,4,0,16,177,4,0,64,180,4,0,56,118,0,0,104,118,0,0,112,183,4,0,112,183,4,0,144,183,4,0,144,183,4,0,160,183,4,0,160,183,4,0,176,183,4,0,208,183,4,0,224,183,4,0,224,85,5,0,24,120,0,0,16,184,4,0,48,184,4,0,160,132,0,0,208,132,0,0,2,0,0,0,240,187,4,0,248,187,4,0,0,0,0,0,3,0,0,0,232,239,4,0,16,172,4,0,2,0,0,0,152,58,0,0,56,74,0,0,48,172,4,0,64,172,4,0,80,172,4,0,136,114,0,0,184,114,0,0,160,172,4,0,160,172,4,0,160,172,4,0,176,173,4,0,224,173,4,0,16,177,4,0,16,177,4,0,64,180,4,0,56,118,0,0,104,118,0,0,112,183,4,0,112,183,4,0,144,183,4,0,144,183,4,0,160,183,4,0,160,183,4,0,176,183,4,0,208,183,4,0,224,183,4,0,240,183,4,0,24,120,0,0,16,184,4,0,48,184,4,0,160,132,0,0,208,132,0,0,2,0,0,0,240,187,4,0,8,240,4,0,0,0,0,0,3,0,0,0,240,171,4,0,16,172,4,0,255,255,255,255,152,58,0,0,56,74,0,0,48,172,4,0,64,172,4,0,80,172,4,0,136,114,0,0,184,114,0,0,160,172,4,0,160,172,4,0,160,172,4,0,176,173,4,0,224,173,4,0,16,177,4,0,16,177,4,0,64,180,4,0,56,118,0,0,104,118,0,0,112,183,4,0,112,183,4,0,144,183,4,0,144,183,4,0,160,183,4,0,160,183,4,0,176,183,4,0,208,183,4,0,224,183,4,0,240,183,4,0,24,120,0,0,16,184,4,0,48,184,4,0,160,132,0,0,208,132,0,0,2,0,0,0,240,187,4,0,248,187,4,0,0,0,0,0,2,0,0,0,216,171,4,0,0,168,4,0,2,0,0,0,40,35,0,0,152,58,0,0,24,168,4,0,24,168,4,0,32,168,4,0,136,114,0,0,184,114,0,0,96,168,4,0,0,0,0,0,96,168,4,0,184,115,0,0,48,169,4,0,48,169,4,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,152,171,4,0,224,119,0,0,240,119,0,0,176,171,4,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,200,171,4,0,184,47,1,0,0,0,0,0,2,0,0,0,232,167,4,0,0,168,4,0,255,255,255,255,40,35,0,0,152,58,0,0,24,168,4,0,24,168,4,0,32,168,4,0,136,114,0,0,184,114,0,0,96,168,4,0,0,0,0,0,96,168,4,0,184,115,0,0,48,169,4,0,48,169,4,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,152,171,4,0,224,119,0,0,240,119,0,0,176,171,4,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,200,171,4,0,248,180,0,0,0,0,0,0,2,0,0,0,208,167,4,0,40,114,0,0,2,0,0,0,64,31,0,0,40,35,0,0,64,114,0,0,64,114,0,0,72,114,0,0,136,114,0,0,184,114,0,0,232,114,0,0,0,0,0,0,232,114,0,0,184,115,0,0,208,115,0,0,208,115,0,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,208,119,0,0,224,119,0,0,240,119,0,0,0,120,0,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,240,180,0,0,184,47,1,0,0,0,0,0,2,0,0,0,184,167,4,0,40,114,0,0,255,255,255,255,64,31,0,0,40,35,0,0,64,114,0,0,64,114,0,0,72,114,0,0,136,114,0,0,184,114,0,0,232,114,0,0,0,0,0,0,232,114,0,0,184,115,0,0,208,115,0,0,208,115,0,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,208,119,0,0,224,119,0,0,240,119,0,0,0,120,0,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,240,180,0,0,248,180,0,0,0,0,0,0,11,0,0,0,200,113,0,0,64,164,1,0,2,0,0,0,80,195,0,0,64,13,3,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,200,160,2,0,0,0,0,0,11,0,0,0,200,113,0,0,64,164,1,0,255,255,255,255,80,195,0,0,64,13,3,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,0,0,0,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,136,217,1,0,0,0,0,0,2,0,0,0,200,113,0,0,40,114,0,0,2,0,0,0,0,0,0,0,64,31,0,0,64,114,0,0,64,114,0,0,72,114,0,0,136,114,0,0,184,114,0,0,232,114,0,0,0,0,0,0,232,114,0,0,184,115,0,0,208,115,0,0,208,115,0,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,208,119,0,0,224,119,0,0,240,119,0,0,0,120,0,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,240,180,0,0,184,47,1,0,0,0,0,0,2,0,0,0,200,113,0,0,40,114,0,0,255,255,255,255,0,0,0,0,64,31,0,0,64,114,0,0,64,114,0,0,72,114,0,0,136,114,0,0,184,114,0,0,232,114,0,0,0,0,0,0,232,114,0,0,184,115,0,0,208,115,0,0,208,115,0,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,208,119,0,0,224,119,0,0,240,119,0,0,0,120,0,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,240,180,0,0,248,180,0,0,0,0,0,0,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,154,153,153,153,153,153,185,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,2,0,0,0,2,0,0,32,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,30,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,242,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,90,0,0,0,90,0,0,0,95,0,0,0,95,0,0,0,95,0,0,0,95,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,232,255,255,255,226,255,255,255,216,255,255,255,216,255,255,255,211,255,255,255,211,255,255,255,211,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,0,0,0,0,10,0,0,0,10,0,0,0,255,255,255,255,10,0,0,0,10,0,0,0,255,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,226,255,255,255,216,255,255,255,216,255,255,255,211,255,255,255,211,255,255,255,211,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,14,0,0,0,14,0,0,0,15,0,0,0,15,0,0,0,16,0,0,0,16,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,18,0,0,0,18,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,64,0,0,0,64,0,0,0,8,0,0,0,8,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,156,255,255,255,156,255,255,255,151,255,255,255,0,0,0,0,126,255,255,255,126,255,255,255,116,255,255,255,0,0,0,0,0,0,0,0,0,0,8,64],"i8",N3,F.GLOBAL_BASE+20480),E3([0,0,0,0,0,0,16,64,0,0,0,0,0,0,16,64,8,0,0,0,0,0,160,65,0,0,96,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,112,194,0,0,240,193,0,0,32,194,0,0,32,194,0,0,32,194,0,0,32,194,0,0,32,194,0,0,0,64,0,0,150,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,96,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,194,0,0,240,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,0,64,0,0,160,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,64,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,160,193,0,0,160,193,0,0,112,193,0,0,112,193,0,0,112,193,0,0,112,193,0,0,112,193,0,0,0,0,0,0,160,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,32,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,160,193,0,0,112,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,0,0,0,0,160,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,32,65,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,112,193,0,0,112,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,0,0,0,0,170,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,8,64,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,3,1,0,24,3,1,0,48,3,1,0,80,3,1,0,112,3,1,0,160,3,1,0,208,3,1,0,232,3,1,0,40,4,1,0,104,4,1,0,152,4,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,128,0,0,0,33,0,0,0,8,0,0,0,16,0,0,0,70,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,128,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,1,0,0,66,0,0,0,16,0,0,0,32,0,0,0,140,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,0,1,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,128,0,0,0,14,0,0,0,4,0,0,0,58,0,0,0,2,0,0,0,8,0,0,0,28,0,0,0,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,128,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,1,0,0,28,0,0,0,8,0,0,0,116,0,0,0,4,0,0,0,16,0,0,0,56,0,0,0,180,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,0,1,0,0,4,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,6,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,128,0,0,0,8,0,0,0,33,0,0,0,4,0,0,0,16,0,0,0,70,0,0,0,2,0,0,0,6,0,0,0,12,0,0,0,23,0,0,0,46,0,0,0,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,128,0,0,0,6,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,6,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,128,0,0,0,12,0,0,0,46,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,23,0,0,0,33,0,0,0,70,0,0,0,2,0,0,0,6,0,0,0,10,0,0,0,14,0,0,0,19,0,0,0,28,0,0,0,39,0,0,0,58,0,0,0,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,128,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2],"i8",N3,F.GLOBAL_BASE+30720),E3([1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,1,0,0,66,0,0,0,16,0,0,0,32,0,0,0,140,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,0,1,0,0,8,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,12,0,0,0,13,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,4,0,0,93,0,0,0,23,0,0,0,116,1,0,0,6,0,0,0,46,0,0,0,186,0,0,0,238,2,0,0,14,0,0,0,33,0,0,0,65,0,0,0,130,0,0,0,4,1,0,0,44,2,0,0,3,0,0,0,10,0,0,0,18,0,0,0,28,0,0,0,39,0,0,0,55,0,0,0,79,0,0,0,111,0,0,0,158,0,0,0,220,0,0,0,56,1,0,0,208,1,0,0,138,2,0,0,82,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,64,64,0,0,144,65,0,4,0,0,8,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,12,0,0,0,13,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,8,0,0,186,0,0,0,46,0,0,0,232,2,0,0,12,0,0,0,92,0,0,0,116,1,0,0,220,5,0,0,28,0,0,0,66,0,0,0,130,0,0,0,4,1,0,0,8,2,0,0,88,4,0,0,6,0,0,0,20,0,0,0,36,0,0,0,56,0,0,0,78,0,0,0,110,0,0,0,158,0,0,0,222,0,0,0,60,1,0,0,184,1,0,0,112,2,0,0,160,3,0,0,20,5,0,0,164,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,64,64,0,0,144,65,0,8,0,0,6,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,6,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,2,0,0,46,0,0,0,186,0,0,0,16,0,0,0,33,0,0,0,65,0,0,0,93,0,0,0,130,0,0,0,22,1,0,0,7,0,0,0,23,0,0,0,39,0,0,0,55,0,0,0,79,0,0,0,110,0,0,0,156,0,0,0,232,0,0,0,104,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,10,0,0,0,248,2,1,0,0,0,0,0,8,181,0,0,24,206,0,0,8,181,0,0,56,206,0,0,1],"i8",N3,F.GLOBAL_BASE+41032),E3([1],"i8",N3,F.GLOBAL_BASE+49544),E3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],"i8",N3,F.GLOBAL_BASE+50572),E3([1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,8,245,0,0,8,245,0,0,48,245,0,0,48,245,0,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,112,217,0,0,112,217,0,0,152,217,0,0,152,217,0,0,0,0,0,0,255,255,255,255,255,255,255,255,10,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,F.GLOBAL_BASE+52752),E3([1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,16,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,30,0,0,0,255,255,255,255,50,0,0,0,255,255,255,255,80,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,136,233,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,219,0,0,0,0,0,0,72,219,0,0,112,219,0,0,0,0,0,0,0,0,0,0,152,219,0,0,192,219,0,0,0,0,0,0,0,0,0,0,232,219,0,0,16,220,0,0,56,220,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,81,0,0,0,32,233,0,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,120,233,0,0,0,0,0,0,4,0,0,0,81,0,0,0,184,232,0,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,16,233,0,0,0,0,0,0,4,0,0,0,113,2,0,0,40,230,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,232,0,0,0,0,0,0,4,0,0,0,113,2,0,0,152,227,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,230,0,0,0,0,0,0,2,0,0,0,81,0,0,0,24,227,0,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,112,227,0,0,0,0,0,0,2,0,0,0,81,0,0,0,152,226,0,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,240,226,0,0,0,0,0,0,4,0,0,0,81,0,0,0,48,226,0,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,136,226,0,0,0,0,0,0,2,0,0,0,121,0,0,0,128,225,0,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,0,226,0,0,0,0,0,0,2,0,0,0,121,0,0,0,208,224,0,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,80,225,0,0,0,0,0,0,2,0,0,0,121,0,0,0,32,224,0,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,160,224,0,0,0,0,0,0,2,0,0,0,225,0,0,0,248,222,0,0,1,0,0,0,0,228,91,225,0,224,255,96,4,0,0,0,0,0,0,0,224,223,0,0,0,0,0,0,2,0,0,0,225,0,0,0,208,221,0,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,184,222,0,0,0,0,0,0,2,0,0,0,33,1,0,0,96,220,0,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,136,221,0,0,0,0,0,0,2,5,4,6,6,8,8,8,8,8,9,9,9,9,9,9,9,5,6,6,7,7,8,8,9,8,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,8,9,9,9,9,9,9,9,9,9,7,7,7,8,8,9,9,9,9,9,9,9,9,9,10,10,9,7,7,7,8,8,9,9,9,9,9,9,9,9,9,9,10,10,8,8,8,9,9,9,9,10,10,10,9,10,10,10,10,10,10,8,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,7,7,9,9,7,7,8,8,10,10,11,11,4,7,7,9,9,10,10,8,8,10,10,10,11,10,11,4,7,7,9,9,10,10,8,8,10,9,11,11,11,11,7,9,9,12,12,11,12,10,10,11,10,12,11,11,11,7,9,9,11,11,13,12,9,9,11,10,11,11,12,11,9,10,10,12,12,14,14,10,10,11,12,12,11,11,11,9,10,11,11,13,14,13,10,11,11,11,12,11,12,12,7,8,8,10,9,11,10,11,12,12,11,12,14,12,13,7,8,8,9,10,10,11,12,12,12,11,12,12,12,13,9,9,9,11,11,13,12,12,12,12,11,12,12,13,12,8,10,10,11,10,11,12,12,12,12,12,12,14,12,12,9,11,11,11,12,12,12,12,13,13,12,12,13,13,12,10,11,11,12,11,12,12,12,11,12,13,12,12,12,13,11,11,12,12,12,13,12,12,11,12,13,13,12,12,13,12,11,12,12,13,13,12,13,12,13,13,13,13,14,13,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,4,4,11,11,11,11,11,11,11,11,11,11,11,11,3,11,8,11,11,11,11,11,11,11,11,11,11,11,11,3,9,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,5,5,6,6,7,7,7,7,8,8,5,6,6,7,7,7,7,8,8,8,8,5,6,6,7,7,7,7,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,7,8,8,8,8,8,8,9,8,9,9,8,8,8,8,8,8,8,9,9,9,9,8,8,8,8,8,8,8,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,10,11,11,4,6,6,7,7,9,9,11,11,13,12,4,6,6,7,7,9,9,11,11,12,12,6,7,7,9,9,11,11,12,12,13,13,6,7,7,9,9,11,11,12,12,13,13,8,9,9,11,11,12,12,13,13,14,14,8,9,9,11,11,12,12,13,13,14,14,9,11,11,12,12,13,13,14,14,15,15,9,11,11,12,12,13,13,14,14,15,14,11,12,12,13,13,14,14,15,15,16,16,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,4,5,5,7,7,8,8,9,9,9,9,4,5,5,7,7,8,8,9,9,9,9,6,7,7,8,8,8,8,9,9,9,9,6,7,7,8,8,8,8,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,9,9,8,10,10,8,10,10,5,9,9,7,10,10,8,10,10,4,10,10,9,12,12,9,11,11,7,12,11,10,11,13,10,13,13,7,12,12,10,13,12,10,13,13,4,10,10,9,12,12,9,12,12,7,12,12,10,13,13,10,12,13,7,11,12,10,13,13,10,13,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,6,6,7,7,9,9,4,4,5,6,6,7,7,9,9,4,4,4,6,6,7,7,9,9,6,6,6,7,7,8,8,9,9,6,6,6,7,7,8,8,9,9,7,7,7,8,8,8,9,10,10,7,7,7,8,8,9,8,10,10,9,9,9,9,9,10,10,10,10,9,9,9,9,9,10,10,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,5,8,7,8,8,10,10,4,6,6,8,8,8,8,10,10,7,8,8,9,9,9,9,11,11,7,8,8,9,9,9,9,11,11,8,8,8,9,9,10,10,12,11,8,8,8,9,9,10,10,11,11,9,10,10,11,11,11,11,13,12,9,10,10,11,11,12,12,12,13,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,9,9,6,7,7,9,9,6,7,7,9,9,9,9,9,11,11,9,9,9,11,11,6,7,7,9,9,7,7,8,9,10,7,7,8,9,10,9,9,10,10,11,9,9,10,10,12,6,7,7,9,9,7,8,7,10,9,7,8,7,10,9,9,10,9,12,11,10,10,9,12,10,9,10,10,12,11,9,10,10,12,11,9,10,10,12,12,11,11,12,12,13,11,11,12,12,13,9,9,10,12,11,9,10,10,12,12,10,10,10,12,12,11,12,11,13,12,11,12,11,13,12,6,7,7,9,9,7,8,8,10,10,7,8,7,10,9,10,10,10,12,12,10,10,10,12,11,7,8,7,10,10,7,7,9,10,11,8,9,9,11,10,10,10,11,10,12,10,10,11,12,12,7,8,8,10,10,7,9,8,11,10,8,8,9,11,11,10,11,10,12,11,10,11,11,12,12,9,10,10,12,12,9,10,10,12,12,10,11,11,13,12,11,10,12,10,14,12,12,12,13,14,9,10,10,12,12,9,11,10,12,12,10,11,11,12,12,11,12,11,14,12,12,12,12,14,14,5,7,7,9,9,7,7,7,9,10,7,8,8,10,10,10,10,10,11,11,10,10,10,12,12,7,8,8,10,10,8,9,8,11,10,7,8,9,10,11,10,10,10,11,12,10,10,11,11,13,6,7,8,10,10,8,9,9,10,10,7,9,7,11,10,10,11,10,12,12,10,11,10,12,10,9,10,10,12,12,10,11,11,13,12,9,10,10,12,12,12,12,12,14,13,11,11,12,11,14,9,10,10,11,12,10,11,11,12,13,9,10,10,12,12,12,12,12,14,13,11,12,10,14,11,9,9,10,11,12,9,10,10,12,12,9,10,10,12,12,12,12,12,14,14,11,12,12,13,12,9,10,9,12,12,9,10,11,12,13,10,11,10,13,11,12,12,13,13,14,12,12,12,13,13,9,10,10,12,12,10,11,10,13,12,10,10,11,12,13,12,13,12,14,13,12,12,12,13,14,11,12,11,14,13,10,10,11,13,13,12,12,12,14,13,12,10,14,10,15,13,14,14,14,14,11,11,12,13,14,10,12,11,13,13,12,12,12,13,15,12,13,11,15,12,13,13,14,14,14,9,10,9,12,12,9,10,10,12,12,10,10,10,12,12,11,11,12,12,13,12,12,12,14,14,9,10,10,12,12,10,11,10,13,12,10,10,11,12,13,12,12,12,14,13,12,12,13,13,14,9,10,10,12,13,10,10,11,11,12,9,11,10,13,12,12,12,12,13,14,12,13,12,14,13,11,12,11,13,13,12,13,12,14,13,10,11,12,13,13,13,13,13,14,15,12,11,14,12,14,11,11,12,12,13,12,12,12,13,14,10,12,10,14,13,13,13,13,14,15,12,14,11,15,10,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,7,7,6,7,7,9,9,6,7,7,9,9,8,10,9,11,11,9,9,9,11,11,6,8,8,10,10,8,10,10,11,11,8,9,10,11,11,10,11,11,12,12,10,11,11,12,13,6,8,8,10,10,8,10,9,11,11,8,10,9,11,11,10,11,11,12,12,10,11,11,12,12,9,11,11,14,13,10,12,11,14,14,10,12,11,14,13,12,13,13,15,14,12,13,13,15,14,8,11,11,13,14,10,11,12,13,15,10,11,12,14,14,12,13,13,14,15,12,13,13,14,15,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,13,11,12,12,13,14,8,10,10,12,12,9,11,12,13,14,10,12,12,13,13,12,12,13,14,14,11,13,13,15,15,7,10,10,12,12,9,12,11,14,12,10,11,12,13,14,12,13,12,14,14,12,13,13,15,16,10,12,12,15,14,11,12,13,15,15,11,13,13,15,16,14,14,15,15,16,13,14,15,17,15,9,12,12,14,15,11,13,12,15,15,11,13,13,15,15,13,14,13,15,14,13,14,14,17,0,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,14,7,10,10,12,12,10,12,12,13,13,9,11,12,12,13,11,12,13,15,15,11,12,13,14,15,8,10,10,12,12,10,12,11,13,13,10,12,11,13,13,11,13,13,15,14,12,13,12,15,13,9,12,12,14,14,11,13,13,16,15,11,12,13,16,15,13,14,15,16,16,13,13,15,15,16,10,12,12,15,14,11,13,13,14,16,11,13,13,15,16,13,15,15,16,17,13,15,14,16,15,8,11,11,14,15,10,12,12,15,15,10,12,12,15,16,14,15,15,16,17,13,14,14,16,16,9,12,12,15,15,11,13,14,15,17,11,13,13,15,16,14,15,16,19,17,13,15,15,0,17,9,12,12,15,15,11,14,13,16,15,11,13,13,15,16,15,15,15,18,17,13,15,15,17,17,11,15,14,18,16,12,14,15,17,17,12,15,15,18,18,15,15,16,15,19,14,16,16,0,0,11,14,14,16,17,12,15,14,18,17,12,15,15,18,18,15,17,15,18,16,14,16,16,18,18,7,11,11,14,14,10,12,12,15,15,10,12,13,15,15,13,14,15,16,16,14,15,15,18,18,9,12,12,15,15,11,13,13,16,15,11,12,13,16,16,14,15,15,17,16,15,16,16,17,17,9,12,12,15,15,11,13,13,15,17,11,14,13,16,15,13,15,15,17,17,15,15,15,18,17,11,14,14,17,15,12,14,15,17,18,13,13,15,17,17,14,16,16,19,18,16,15,17,17,0,11,14,14,17,17,12,15,15,18,0,12,15,14,18,16,14,17,17,19,0,16,18,15,0,16,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,5,5,6,6,5,6,6,5,7,6,6,7,8,6,7,8,5,6,6,6,8,7,6,8,7,5,6,6,7,8,8,6,7,7,6,8,7,7,7,9,8,9,9,6,7,8,7,9,7,8,9,9,5,6,6,6,7,7,7,8,8,6,8,7,8,9,9,7,7,9,6,7,8,8,9,9,7,9,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,7,9,10,7,9,9,5,8,8,7,10,9,7,9,9,5,8,8,8,10,10,8,10,10,7,10,10,9,10,12,10,12,12,7,10,10,9,12,11,10,12,12,5,8,8,8,10,10,8,10,10,7,10,10,10,12,12,9,11,12,7,10,10,10,12,12,9,12,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,13,9,15,9,16,8,10,13,7,5,8,6,9,7,10,7,10,11,11,6,7,8,8,9,9,9,12,16,8,5,8,6,8,6,9,7,10,12,11,7,7,7,6,7,7,7,11,15,7,5,8,6,7,5,7,6,9,13,13,9,9,8,6,6,5,5,9,14,8,6,8,6,6,4,5,3,5,13,9,9,11,8,10,7,8,4,5,12,11,16,17,15,17,12,13,8,8,15,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,8,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,F.GLOBAL_BASE+55148),E3([1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,25,0,0,0,255,255,255,255,45,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,184,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,245,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,246,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,246,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,246,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,246,0,0,0,0,0,0,184,246,0,0,224,246,0,0,0,0,0,0,0,0,0,0,8,247,0,0,48,247,0,0,88,247,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,81,0,0,0,80,2,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,2,1,0,0,0,0,0,4,0,0,0,81,0,0,0,232,1,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,64,2,1,0,0,0,0,0,4,0,0,0,113,2,0,0,88,255,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,1,1,0,0,0,0,0,4,0,0,0,113,2,0,0,200,252,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,255,0,0,0,0,0,0,2,0,0,0,81,0,0,0,72,252,0,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,160,252,0,0,0,0,0,0,2,0,0,0,169,0,0,0,96,251,0,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,16,252,0,0,0,0,0,0,2,0,0,0,25,0,0,0,40,251,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,251,0,0,0,0,0,0,4,0,0,0,81,0,0,0,192,250,0,0,1,0,0,0,0,176,19,225,0,176,19,97,2,0,0,0,0,0,0,0,24,251,0,0,0,0,0,0,2,0,0,0,225,0,0,0,152,249,0,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,128,250,0,0,0,0,0,0,2,0,0,0,185,1,0,0,128,247,0,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,64,249,0,0,0,0,0,0,1,6,5,7,7,9,9,9,9,10,12,12,10,11,11,10,11,11,11,10,11,6,8,8,9,9,10,10,9,10,11,11,10,11,11,11,11,10,11,11,11,11,6,7,8,9,9,9,10,11,10,11,12,11,10,11,11,11,11,11,11,12,10,8,9,9,10,9,10,10,9,10,10,10,10,10,9,10,10,10,10,9,10,10,9,9,9,9,10,10,9,9,10,10,11,10,9,12,10,11,10,9,10,10,10,8,9,9,10,9,10,9,9,10,10,9,10,9,11,10,10,10,10,10,9,10,8,8,9,9,10,9,11,9,8,9,9,10,11,10,10,10,11,12,9,9,11,8,9,8,11,10,11,10,10,9,11,10,10,10,10,10,10,10,11,11,11,11,8,9,9,9,10,10,10,11,11,12,11,12,11,10,10,10,12,11,11,11,10,8,10,9,11,10,10,11,12,10,11,12,11,11,12,11,12,12,10,11,11,10,9,9,10,11,12,10,10,10,11,10,11,11,10,12,12,10,11,10,11,12,10,9,10,10,11,10,11,11,11,11,11,12,11,11,11,9,11,10,11,10,11,10,9,9,10,11,11,11,10,10,11,12,12,11,12,11,11,11,12,12,12,12,11,9,11,11,12,10,11,11,11,11,11,11,12,11,11,12,11,11,11,10,11,11,9,11,10,11,11,11,10,10,10,11,11,11,12,10,11,10,11,11,11,11,12,9,11,10,11,11,10,10,11,11,9,11,11,12,10,10,10,10,10,11,11,10,9,10,11,11,12,11,10,10,12,11,11,12,11,12,11,11,10,10,11,11,10,12,11,10,11,10,11,10,10,10,11,11,10,10,11,11,11,11,10,10,10,12,11,11,11,11,10,9,10,11,11,11,12,11,11,11,12,10,11,11,11,9,10,11,11,11,11,11,11,10,10,11,11,12,11,10,11,12,11,10,10,11,9,10,11,11,11,11,11,10,11,11,10,12,11,11,11,12,11,11,11,10,10,11,11,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,5,5,5,5,10,10,11,11,11,11,11,11,11,11,5,7,6,8,8,9,10,11,11,11,11,11,11,11,11,6,6,7,9,7,11,10,11,11,11,11,11,11,11,11,5,6,6,11,8,11,11,11,11,11,11,11,11,11,11,5,6,6,9,10,11,10,11,11,11,11,11,11,11,11,7,10,10,11,11,11,11,11,11,11,11,11,11,11,11,7,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,4,6,5,7,7,4,5,6,7,7,6,7,7,7,7,6,7,7,7,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,9,9,11,11,12,12,16,16,3,6,6,9,9,11,11,12,12,13,14,18,16,3,6,7,9,9,11,11,13,12,14,14,17,16,7,9,9,11,11,12,12,14,14,14,14,17,16,7,9,9,11,11,13,12,13,13,14,14,17,0,9,11,11,12,13,14,14,14,13,15,14,17,17,9,11,11,12,12,14,14,13,14,14,15,0,0,11,12,12,15,14,15,14,15,14,15,16,17,0,11,12,13,13,13,14,14,15,14,15,15,0,0,12,14,14,15,15,14,16,15,15,17,16,0,18,13,14,14,15,14,15,14,15,16,17,16,0,0,17,17,18,0,16,18,16,0,0,0,17,0,0,16,0,0,16,16,0,15,0,17,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,7,8,8,10,10,4,6,6,8,8,8,8,10,10,6,8,8,9,9,9,9,11,11,7,8,8,9,9,9,9,11,11,7,8,8,9,9,10,10,12,11,7,8,8,9,9,10,10,11,11,9,10,10,11,11,11,12,12,12,9,10,10,11,11,12,12,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,5,6,7,9,9,6,7,6,9,9,9,9,9,10,11,9,9,9,11,10,6,7,7,10,10,7,7,8,10,10,7,8,8,10,10,10,10,10,10,11,9,10,10,11,12,6,7,7,10,10,7,8,8,10,10,7,8,7,10,10,9,10,10,12,11,10,10,10,11,10,9,10,10,12,11,10,10,10,13,11,9,10,10,12,12,11,11,12,12,13,11,11,11,12,13,9,10,10,12,12,10,10,11,12,12,10,10,11,12,12,11,11,11,13,13,11,12,12,13,13,5,7,7,10,10,7,8,8,10,10,7,8,8,10,10,10,11,11,12,12,10,11,10,12,12,7,8,8,11,11,7,8,9,10,11,8,9,9,11,11,11,10,11,10,12,10,11,11,12,13,7,8,8,10,11,8,9,8,12,10,8,9,9,11,12,10,11,10,13,11,10,11,11,13,12,9,11,10,13,12,10,10,11,12,12,10,11,11,13,13,12,10,13,11,14,11,12,12,15,13,9,11,11,13,13,10,11,11,13,12,10,11,11,12,14,12,13,11,14,12,12,12,12,14,14,5,7,7,10,10,7,8,8,10,10,7,8,8,11,10,10,11,11,12,12,10,11,10,12,12,7,8,8,10,11,8,9,9,12,11,8,8,9,10,11,10,11,11,12,13,11,10,11,11,13,6,8,8,10,11,8,9,9,11,11,7,9,7,11,10,10,11,11,12,12,10,11,10,13,10,9,11,10,13,12,10,12,11,13,13,10,10,11,12,13,11,12,13,15,14,11,11,13,12,13,9,10,11,12,13,10,11,11,12,13,10,11,10,13,12,12,13,13,13,14,12,12,11,14,11,8,10,10,12,13,10,11,11,13,13,10,11,10,13,13,12,13,14,15,14,12,12,12,14,13,9,10,10,13,12,10,10,12,13,13,10,11,11,15,12,12,12,13,15,14,12,13,13,15,13,9,10,11,12,13,10,12,10,13,12,10,11,11,12,13,12,14,12,15,13,12,12,12,15,14,11,12,11,14,13,11,11,12,14,14,12,13,13,14,13,13,11,15,11,15,14,14,14,16,15,11,12,12,13,14,11,13,11,14,14,12,12,13,14,15,12,14,12,15,12,13,15,14,16,15,8,10,10,12,12,10,10,10,12,13,10,11,11,13,13,12,12,12,13,14,13,13,13,15,15,9,10,10,12,12,10,11,11,13,12,10,10,11,13,13,12,12,12,14,14,12,12,13,15,14,9,10,10,13,12,10,10,12,12,13,10,11,10,13,13,12,13,13,14,14,12,13,12,14,13,11,12,12,14,13,12,13,12,14,14,10,12,12,14,14,14,14,14,16,14,13,12,14,12,15,10,12,12,14,15,12,13,13,14,16,11,12,11,15,14,13,14,14,14,15,13,14,11,14,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,7,7,6,7,7,9,9,6,7,7,9,9,8,10,9,11,11,8,9,9,11,11,6,8,8,10,10,8,10,10,11,11,8,10,10,11,11,10,11,11,12,12,10,11,11,12,13,6,8,8,10,10,8,10,10,11,11,8,10,10,11,11,9,10,11,12,12,10,11,11,12,12,8,11,11,14,13,10,12,11,15,13,10,12,11,14,14,12,13,12,16,14,12,14,12,16,15,8,11,11,13,14,10,11,12,13,15,10,11,12,13,15,11,12,13,14,15,12,12,14,14,16,5,8,8,11,11,9,11,11,12,12,8,10,11,12,12,11,12,12,15,14,11,12,12,14,14,7,11,10,13,12,10,11,12,13,14,10,12,12,14,13,12,13,13,14,15,12,13,13,15,15,7,10,11,12,13,10,12,11,14,13,10,12,13,13,15,12,13,12,14,14,11,13,13,15,16,9,12,12,15,14,11,13,13,15,16,11,13,13,16,16,13,14,15,15,15,12,14,15,17,16,9,12,12,14,15,11,13,13,15,16,11,13,13,16,18,13,14,14,17,16,13,15,15,17,18,5,8,9,11,11,8,11,11,12,12,8,10,11,12,12,11,12,12,14,14,11,12,12,14,15,7,11,10,12,13,10,12,12,14,13,10,11,12,13,14,11,13,13,15,14,12,13,13,14,15,7,10,11,13,13,10,12,12,13,14,10,12,12,13,13,11,13,13,16,16,12,13,13,15,14,9,12,12,16,15,10,13,13,15,15,11,13,13,17,15,12,15,15,18,17,13,14,14,15,16,9,12,12,15,15,11,13,13,15,16,11,13,13,15,15,12,15,15,16,16,13,15,14,17,15,7,11,11,15,15,10,13,13,16,15,10,13,13,15,16,14,15,15,17,19,13,15,14,15,18,9,12,12,16,16,11,13,14,17,16,11,13,13,17,16,15,15,16,17,19,13,15,16,0,18,9,12,12,16,15,11,14,13,17,17,11,13,14,16,16,15,16,16,19,18,13,15,15,17,19,11,14,14,19,16,12,14,15,0,18,12,16,15,18,17,15,15,18,16,19,14,15,17,19,19,11,14,14,18,19,13,15,14,19,19,12,16,15,18,17,15,17,15,0,16,14,17,16,19,0,7,11,11,14,14,10,12,12,15,15,10,13,13,16,15,13,15,15,17,0,14,15,15,16,19,9,12,12,16,16,11,14,14,16,16,11,13,13,16,16,14,17,16,19,0,14,18,17,17,19,9,12,12,15,16,11,13,13,15,17,12,14,13,19,16,13,15,15,17,19,15,17,16,17,19,11,14,14,19,16,12,15,15,19,17,13,14,15,17,19,14,16,17,19,19,16,15,16,17,19,11,15,14,16,16,12,15,15,19,0,12,14,15,19,19,14,16,16,0,18,15,19,14,18,16,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,6,7,8,6,7,8,5,7,7,6,8,8,7,9,7,5,7,7,7,9,9,7,8,8,6,9,8,7,7,10,8,10,10,6,8,8,8,10,8,8,10,10,5,7,7,7,8,8,7,8,9,6,8,8,8,10,10,8,8,10,6,8,9,8,10,10,7,10,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,8,10,10,7,10,10,5,8,8,7,10,10,8,10,10,4,9,8,8,11,11,8,11,11,7,11,11,10,11,13,10,13,13,7,11,11,10,13,12,10,13,13,5,9,8,8,11,11,8,11,11,7,11,11,9,13,13,10,12,13,7,11,11,10,13,13,10,13,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,11,9,12,8,7,10,6,4,5,5,7,5,6,16,9,5,5,6,7,7,9,16,7,4,6,5,7,5,7,17,10,7,7,8,7,7,8,18,7,5,6,4,5,4,5,15,7,6,7,5,6,4,5,15,12,13,18,12,17,11,9,17,6,0,0,0,6,0,0,0,120,45,1,0,160,45,1,0,200,45,1,0,240,45,1,0,24,46,1,0,0,0,0,0,56,43,1,0,96,43,1,0,136,43,1,0,176,43,1,0,216,43,1,0,0,0,0,0,216,39,1,0,0,40,1,0,40,40,1,0,80,40,1,0,120,40,1,0,160,40,1,0,200,40,1,0,240,40,1,0,120,36,1,0,160,36,1,0,200,36,1,0,240,36,1,0,24,37,1,0,64,37,1,0,104,37,1,0,144,37,1,0,80,31,1,0,120,31,1,0,160,31,1,0,200,31,1,0,240,31,1,0,24,32,1,0,64,32,1,0,104,32,1,0,144,32,1,0,184,32,1,0,224,32,1,0,8,33,1,0,40,26,1,0,80,26,1,0,120,26,1,0,160,26,1,0,200,26,1,0,240,26,1,0,24,27,1,0,64,27,1,0,104,27,1,0,144,27,1,0,184,27,1,0,224,27,1,0,232,23,1,0,16,24,1,0,56,24,1,0,96,24,1,0,136,24,1,0,0,0,0,0,216,16,1,0,0,17,1,0,40,17,1,0,80,17,1,0,120,17,1,0,160,17,1,0,200,17,1,0,240,17,1,0,24,18,1,0,64,18,1,0,104,18,1,0,144,18,1,0,184,18,1,0,224,18,1,0,8,19,1,0,0,0,0,0,200,9,1,0,240,9,1,0,24,10,1,0,64,10,1,0,104,10,1,0,144,10,1,0,184,10,1,0,224,10,1,0,8,11,1,0,48,11,1,0,88,11,1,0,128,11,1,0,168,11,1,0,208,11,1,0,248,11,1,0,0,0,0,0,160,4,1,0,200,4,1,0,240,4,1,0,24,5,1,0,64,5,1,0,104,5,1,0,144,5,1,0,184,5,1,0,224,5,1,0,8,6,1,0,48,6,1,0,88,6,1,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,192,9,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,128,9,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,64,9,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,192,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,160,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,32,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,8,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,208,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,80,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,56,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,0,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,128,6,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,8,4,8,4,8,4,8,5,8,5,8,6,8,4,8,4,8,5,8,5,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,3,4,3,5,4,6,4,6,5,7,6,7,6,8,6,8,7,9,8,10,8,12,9,13,10,15,10,15,11,14,0,0,0,0,0,0,0,4,4,4,4,4,4,3,4,4,4,4,4,5,4,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,4,3,4,4,5,5,6,6,7,7,7,8,8,11,8,9,9,9,10,11,11,11,9,10,10,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,4,3,4,4,5,4,5,4,6,4,6,5,6,5,7,5,7,6,8,6,8,6,8,7,8,7,9,7,9,8,0,0,0,0,0,0,0,4,5,4,4,4,5,4,4,4,5,4,5,4,5,3,5,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,5,3,5,4,5,4,5,4,5,5,5,5,6,5,6,5,7,5,8,6,8,6,8,6,8,6,8,7,9,7,9,7,11,9,11,11,12,11,14,12,14,16,14,16,13,16,14,16,12,15,13,16,14,16,13,14,12,15,13,15,13,13,13,15,12,14,14,15,13,15,12,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,2,4,5,4,5,4,5,4,5,5,5,5,5,5,6,5,6,5,6,6,7,6,7,6,8,7,8,7,8,7,8,7,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,5,6,6,6,6,5,6,6,7,6,7,6,7,6,7,6,8,7,8,7,8,7,8,7,8,7,9,7,9,7,9,7,9,8,9,8,10,8,10,8,10,7,10,6,10,8,10,8,11,7,10,7,11,8,11,11,12,12,11,11,12,11,13,11,13,11,13,12,15,12,13,13,14,14,14,14,14,15,15,15,16,14,17,19,19,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,2,4,6,17,4,5,7,17,8,7,10,17,17,17,17,17,3,4,6,15,3,3,6,15,7,6,9,17,17,17,17,17,6,8,10,17,6,6,8,16,9,8,10,17,17,15,16,17,17,17,17,17,12,15,15,16,12,15,15,16,16,16,16,16,3,3,3,14,5,4,4,11,8,6,6,10,17,12,11,17,6,5,5,15,5,3,4,11,8,5,5,8,16,9,10,14,10,8,9,17,8,6,6,13,10,7,7,10,16,11,13,14,17,17,17,17,17,16,16,16,16,15,16,16,16,16,16,16,1,2,3,6,5,4,7,7,1,0,0,0,16,0,0,0,200,16,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,192,16,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,192,15,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,128,15,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,0,15,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,224,14,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,96,14,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,64,14,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,192,13,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,168,13,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,112,13,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,240,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,216,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,160,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,32,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,6,5,7,5,7,7,7,7,7,5,7,5,7,5,7,5,7,7,7,7,7,4,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,4,3,4,4,4,5,5,6,5,6,5,7,6,6,6,7,7,7,8,9,9,9,12,10,11,10,10,12,10,10,0,0,0,0,0,0,0,3,4,4,4,4,4,4,4,4,5,4,5,4,5,4,4,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,6,3,7,3,7,5,7,7,7,7,7,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,4,4,4,4,4,4,5,5,5,5,6,6,7,6,7,6,8,6,9,7,9,7,9,9,11,9,12,10,12,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,3,4,3,4,4,5,4,5,5,5,6,6,6,7,6,8,6,8,6,9,7,10,7,10,7,10,7,12,7,12,7,12,9,12,11,12,10,12,10,12,11,12,12,12,10,12,10,12,10,12,9,12,11,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,10,10,12,12,12,12,12,10,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,2,4,5,4,5,4,5,4,5,5,5,5,5,5,6,5,6,5,6,6,6,6,7,7,7,7,7,7,8,8,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,5,7,5,7,4,7,4,8,4,8,4,8,4,8,3,8,4,9,4,9,4,9,4,9,4,9,5,9,5,9,6,9,7,9,8,9,9,9,10,9,11,9,14,9,15,10,15,10,15,10,15,10,15,11,15,10,14,12,14,11,14,13,14,13,15,15,15,12,15,15,15,13,15,13,15,13,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,14,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,7,6,7,6,7,6,7,6,5,5,5,5,5,5,6,5,6,5,6,5,6,5,6,5,6,5,7,5,7,5,7,5,8,5,8,5,8,5,9,5,9,6,10,6,10,6,11,6,11,6,11,6,11,6,11,6,11,6,11,6,12,7,11,7,11,7,11,7,11,7,10,7,11,7,11,7,12,7,11,8,11,8,11,8,11,8,13,8,12,9,11,9,11,9,11,10,12,10,12,9,12,10,12,11,14,12,16,12,12,11,14,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,16,16,16,16,2,4,7,13,4,5,7,15,8,7,10,16,16,14,16,16,2,4,7,16,3,4,7,14,8,8,10,16,16,16,15,16,6,8,11,16,7,7,9,16,11,9,13,16,16,16,15,16,16,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16,3,3,6,16,5,5,7,16,9,8,11,16,16,16,16,16,5,5,8,16,5,5,7,16,8,7,9,16,16,16,16,16,9,9,12,16,6,8,11,16,9,10,11,16,16,16,16,16,16,16,16,16,13,16,16,16,15,16,16,16,16,16,16,16,5,4,7,16,6,5,8,16,9,8,10,16,16,16,16,16,5,5,7,15,5,4,6,15,7,6,8,16,16,16,16,16,9,9,11,15,7,7,9,16,8,8,9,16,16,16,16,16,16,16,16,16,15,15,15,16,15,15,14,16,16,16,16,16,8,8,11,16,8,9,10,16,11,10,14,16,16,16,16,16,6,8,10,16,6,7,10,16,8,8,11,16,14,16,16,16,10,11,14,16,9,9,11,16,10,10,11,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,12,16,15,16,12,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,1,2,3,6,4,7,5,7,2,6,8,9,7,11,13,13,1,3,5,5,6,6,12,10,1,0,0,0,16,0,0,0,216,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,208,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,208,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,144,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,16,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,240,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,112,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,80,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,208,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,184,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,128,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,0,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,232,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,176,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,48,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,5,2,6,3,6,4,7,4,7,5,9,5,11,6,11,6,11,7,11,6,11,6,11,9,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,2,4,2,5,3,5,4,6,6,6,7,7,8,7,8,7,8,7,9,8,9,8,9,8,10,8,11,9,12,9,12,0,0,0,0,0,0,0,4,5,4,5,4,5,4,5,3,5,3,5,3,5,4,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,7,3,8,3,10,3,8,3,9,3,8,4,9,4,9,5,9,6,10,6,9,7,11,7,12,9,13,10,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,4,3,4,4,4,4,5,5,5,5,5,6,5,7,5,8,6,8,6,9,7,10,7,10,8,10,8,11,9,11,0,0,0,0,0,0,0,4,5,4,5,3,5,3,5,3,5,4,4,4,4,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,4,3,4,4,5,4,5,4,5,5,6,5,6,5,7,5,7,6,7,6,8,7,8,7,8,7,9,8,9,9,9,9,10,10,10,11,9,12,9,12,9,15,10,14,9,13,10,13,10,12,10,12,10,13,10,12,11,13,11,14,12,13,13,14,14,13,14,15,14,16,13,13,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,15,1,5,5,5,5,5,5,5,6,5,6,5,6,5,6,5,6,6,7,7,7,7,8,7,8,8,9,8,10,9,10,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,8,4,9,4,9,4,9,4,9,4,9,4,9,4,9,4,9,4,9,4,8,4,8,4,9,5,9,5,9,5,9,5,9,6,10,6,10,7,10,8,11,9,11,11,12,13,12,14,13,15,13,15,14,16,14,17,15,17,15,15,16,16,15,16,16,16,15,18,16,15,17,17,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,2,5,5,4,5,4,5,4,5,4,6,5,6,5,6,5,6,5,7,5,7,6,8,6,8,6,8,6,9,6,9,6,5,5,5,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,7,5,7,5,7,5,7,5,8,6,8,6,8,6,9,6,9,6,10,6,10,6,11,6,11,7,11,7,12,7,12,7,12,7,12,7,12,7,12,7,12,7,12,8,13,8,12,8,12,8,13,8,13,9,13,9,13,9,13,9,12,10,12,10,13,10,14,11,14,12,14,13,14,13,14,14,15,16,15,15,15,14,15,17,21,22,22,21,22,22,22,22,22,22,21,21,21,21,21,21,21,21,21,21,2,3,7,13,4,4,7,15,8,6,9,17,21,16,15,21,2,5,7,11,5,5,7,14,9,7,10,16,17,15,16,21,4,7,10,17,7,7,9,15,11,9,11,16,21,18,15,21,18,21,21,21,15,17,17,19,21,19,18,20,21,21,21,20,1,5,7,21,5,8,9,21,10,9,12,20,20,16,20,20,4,8,9,20,6,8,9,20,11,11,13,20,20,15,17,20,9,11,14,20,8,10,15,20,11,13,15,20,20,20,20,20,20,20,20,20,13,20,20,20,18,18,20,20,20,20,20,20,3,6,8,20,6,7,9,20,10,9,12,20,20,20,20,20,5,7,9,20,6,6,9,20,10,9,12,20,20,20,20,20,8,10,13,20,8,9,12,20,11,10,12,20,20,20,20,20,18,20,20,20,15,17,18,20,18,17,18,20,20,20,20,20,7,10,12,20,8,9,11,20,14,13,14,20,20,20,20,20,6,9,12,20,7,8,11,20,12,11,13,20,20,20,20,20,9,11,15,20,8,10,14,20,12,11,14,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,11,16,18,20,15,15,17,20,20,17,20,20,20,20,20,20,9,14,16,20,12,12,15,20,17,15,18,20,20,20,20,20,16,19,18,20,15,16,20,20,17,17,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,1,4,2,6,3,7,5,7,2,10,8,14,7,12,11,14,1,5,3,7,4,9,7,13,1,0,0,0,0,1,0,0,40,25,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,32,25,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,10,0,0,0,16,25,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,240,24,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,176,24,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,2,4,3,5,4,5,5,5,5,6,6,6,6,6,6,6,7,7,8,6,9,7,12,11,16,13,16,12,15,13,15,12,14,12,15,15,15,0,0,0,0,0,0,0,0,0,0,3,3,3,4,3,4,4,4,4,4,5,5,5,6,6,0,0,0,0,0,0,0,0,0,0,0,2,3,2,3,3,3,0,0,0,0,0,0,1,3,2,3,0,0,0,0,4,5,6,11,5,5,6,10,7,7,6,6,14,13,9,9,6,6,6,10,6,6,6,9,8,7,7,9,14,12,8,11,8,7,7,11,8,8,7,11,9,9,7,9,13,11,9,13,19,19,18,19,15,16,16,19,11,11,10,13,10,10,9,15,5,5,6,13,6,6,6,11,8,7,6,7,14,11,10,11,6,6,6,12,7,6,6,11,8,7,7,11,13,11,9,11,9,7,6,12,8,7,6,12,9,8,8,11,13,10,7,13,19,19,17,19,17,14,14,19,12,10,8,12,13,10,9,16,7,8,7,12,7,7,7,11,8,7,7,8,12,12,11,11,8,8,7,12,8,7,6,11,8,7,7,10,10,11,10,11,9,8,8,13,9,8,7,12,10,9,7,11,9,8,7,11,18,18,15,18,18,16,17,18,15,11,10,18,11,9,9,18,16,16,13,16,12,11,10,16,12,11,9,6,15,12,11,13,16,16,14,14,13,11,12,16,12,9,9,13,13,10,10,12,17,18,17,17,14,15,14,16,14,12,14,15,12,10,11,12,18,18,18,18,18,18,18,18,18,12,13,18,16,11,9,18,1,0,0,0,8,0,0,0,72,31,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,8,31,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,200,30,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,72,30,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,40,30,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,168,29,1],"i8",N3,F.GLOBAL_BASE+62212),E3([1,0,0,0,18,0,0,0,144,29,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,88,29,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,216,28,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,192,28,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,136,28,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,8,28,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,4,3,4,4,4,5,4,7,5,8,5,11,6,10,6,12,7,12,7,12,8,12,8,12,10,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,3,6,3,6,4,7,4,7,4,7,4,8,4,8,4,8,4,8,4,9,4,9,5,10,5,10,7,10,8,10,8,0,0,0,0,0,0,0,4,4,4,4,4,4,4,5,3,5,3,5,4,6,4,6,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,1,5,3,5,3,5,4,7,5,10,7,10,7,12,10,14,10,14,9,14,11,14,14,14,13,13,13,13,13,13,13,0,0,0,0,0,0,0,4,5,4,6,4,8,3,9,3,9,2,9,3,8,4,9,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,5,3,5,3,6,3,6,4,6,4,7,4,7,5,8,5,8,6,9,7,9,7,9,8,10,9,10,9,11,10,11,11,11,11,11,11,12,12,12,13,12,13,12,14,12,15,12,14,12,16,13,17,13,17,14,17,14,16,13,17,14,17,14,17,15,17,15,15,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,16,16,16,16,16,16,16,16,16,16,2,5,5,4,5,4,5,4,5,5,5,5,5,5,6,5,6,5,6,5,7,6,7,6,7,6,8,6,9,7,9,7,5,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,7,5,7,5,7,5,7,5,7,5,7,5,8,5,8,5,8,5,8,5,8,6,8,6,8,6,9,6,9,6,9,6,9,6,9,7,9,7,9,7,9,7,10,7,10,8,10,8,10,8,10,8,10,8,11,8,11,8,11,8,11,8,11,9,12,9,12,9,12,9,12,9,12,10,12,10,13,11,13,11,14,12,14,13,15,14,16,14,17,15,18,16,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,3,6,10,17,4,8,11,20,8,10,11,20,20,20,20,20,2,4,8,18,4,6,8,17,7,8,10,20,20,17,20,20,3,5,8,17,3,4,6,17,8,8,10,17,17,12,16,20,13,13,15,20,10,10,12,20,15,14,15,20,20,20,19,19,1,4,10,19,3,8,13,19,7,12,19,19,19,19,19,19,2,6,11,19,8,13,19,19,9,11,19,19,19,19,19,19,6,7,13,19,9,13,19,19,10,13,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,1,3,4,7,2,5,6,7,1,0,0,0,8,0,0,0,112,36,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,48,36,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,240,35,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,112,35,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,80,35,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,208,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,184,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,128,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,0,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,232,33,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,176,33,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,48,33,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,1,6,3,7,3,8,4,8,5,8,8,8,9,7,8,8,7,7,7,8,9,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,3,5,4,6,4,6,4,7,4,7,4,8,4,8,4,9,4,9,4,10,4,10,5,10,5,11,5,12,6,12,6,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,5,4,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,8,3,8,4,8,4,8,6,8,5,8,4,8,4,8,6,8,7,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,4,4,4,4,5,4,5,4,6,5,7,5,7,6,8,6,8,6,9,7,9,7,10,7,9,8,11,8,11,0,0,0,0,0,0,0,4,5,4,5,4,5,3,5,3,5,3,5,4,4,4,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,3,5,3,6,4,6,4,7,4,7,4,7,4,8,4,8,4,9,5,9,5,9,5,9,6,10,6,10,6,11,7,10,7,10,8,11,9,11,9,11,10,11,11,12,11,11,12,15,15,12,14,11,14,12,14,11,14,13,14,12,14,11,14,11,14,12,14,11,14,11,14,13,13,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,2,5,5,5,5,5,5,4,5,5,5,5,5,5,5,5,6,5,6,5,6,5,7,6,7,6,7,6,8,6,8,6,5,5,5,5,5,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,6,6,6,7,6,7,6,7,6,7,6,7,6,7,6,8,6,8,6,8,7,8,7,8,7,8,7,9,7,9,8,9,8,9,8,10,8,10,9,10,9,10,9,11,9,11,9,10,10,11,10,11,10,11,11,11,11,11,11,12,13,14,14,14,15,15,16,16,16,17,15,16,15,16,16,17,17,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,7,6,9,17,7,6,8,17,12,9,11,16,16,16,16,16,5,4,7,16,5,3,6,14,9,6,8,15,16,16,16,16,5,4,6,13,3,2,4,11,7,4,6,13,16,11,10,14,12,12,12,16,9,7,10,15,12,9,11,16,16,15,15,16,1,6,12,16,4,12,15,16,9,15,16,16,16,16,16,16,2,5,11,16,5,11,13,16,9,13,16,16,16,16,16,16,4,8,12,16,5,9,12,16,9,13,15,16,16,16,16,16,15,16,16,16,11,14,13,16,12,15,16,16,16,16,16,15,1,6,3,7,2,4,5,7,1,0,0,0,64,0,0,0,152,39,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,152,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,136,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,104,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,40,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,24,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,248,37,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,184,37,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,4,3,6,3,7,3,8,5,8,6,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,0,0,0,0,0,0,0,0,0,2,3,3,4,3,4,4,5,4,6,5,6,7,6,8,8,0,0,0,0,0,0,0,0,3,3,3,3,2,4,3,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,5,2,5,3,5,3,6,3,6,4,7,6,7,8,7,9,8,9,9,9,10,9,11,13,11,13,10,10,13,13,13,13,13,13,12,12,12,12,0,0,0,0,0,0,0,0,0,3,4,3,4,3,5,3,6,3,6,4,6,4,7,5,7,0,0,0,0,0,0,0,0,2,3,3,3,3,4,3,4,0,0,0,0,0,0,0,5,6,8,15,6,9,10,15,10,11,12,15,15,15,15,15,4,6,7,15,6,7,8,15,9,8,9,15,15,15,15,15,6,8,9,15,7,7,8,15,10,9,10,15,15,15,15,15,15,13,15,15,15,10,11,15,15,13,13,15,15,15,15,15,4,6,7,15,6,8,9,15,10,10,12,15,15,15,15,15,2,5,6,15,5,6,7,15,8,6,7,15,15,15,15,15,5,6,8,15,5,6,7,15,9,6,7,15,15,15,15,15,14,12,13,15,12,10,11,15,15,15,15,15,15,15,15,15,7,8,9,15,9,10,10,15,15,14,14,15,15,15,15,15,5,6,7,15,7,8,9,15,12,9,10,15,15,15,15,15,7,7,9,15,7,7,8,15,12,8,9,15,15,15,15,15,13,13,14,15,12,11,12,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,13,13,13,15,15,15,15,15,15,15,15,15,15,15,15,15,15,12,13,15,15,12,13,15,15,14,15,15,15,15,15,15,15,15,15,15,15,15,13,15,15,15,15,15,15,15,15,15,7,5,5,9,9,6,6,9,12,8,7,8,11,8,9,15,6,3,3,7,7,4,3,6,9,6,5,6,8,6,8,15,8,5,5,9,8,5,4,6,10,7,5,5,11,8,7,15,14,15,13,13,13,13,8,11,15,10,7,6,11,9,10,15,1,0,0,0,64,0,0,0,248,42,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,248,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,232,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,200,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,136,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,120,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,88,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,24,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,7,2,7,3,8,4,9,5,9,8,10,11,11,12,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,13,13,13,13,0,0,0,0,0,0,0,0,0,3,4,3,6,3,6,3,6,3,7,3,8,4,9,4,9,0,0,0,0,0,0,0,0,3,3,2,3,3,4,3,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,5,3,5,3,5,4,5,4,5,5,5,5,6,5,6,5,6,5,6,5,6,5,7,8,9,11,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,0,0,3,3,3,4,4,4,4,5,4,5,4,5,4,6,4,6,0,0,0,0,0,0,0,0,3,3,3,3,3,3,3,3,0,0,0,0,0,0,0,8,13,17,17,8,11,17,17,11,13,17,17,17,17,17,17,6,10,16,17,6,10,15,17,8,10,16,17,17,17,17,17,9,13,15,17,8,11,17,17,10,12,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,6,11,15,17,7,10,15,17,8,10,17,17,17,15,17,17,4,8,13,17,4,7,13,17,6,8,15,17,16,15,17,17,6,11,15,17,6,9,13,17,8,10,17,17,15,17,17,17,16,17,17,17,12,14,15,17,13,14,15,17,17,17,17,17,5,10,14,17,5,9,14,17,7,9,15,17,15,15,17,17,3,7,12,17,3,6,11,17,5,7,13,17,12,12,17,17,5,9,14,17,3,7,11,17,5,8,13,17,13,11,16,17,12,17,17,17,9,14,15,17,10,11,14,17,16,14,17,17,8,12,17,17,8,12,17,17,10,12,17,17,17,17,17,17,5,10,17,17,5,9,15,17,7,9,17,17,13,13,17,17,7,11,17,17,6,10,15,17,7,9,15,17,12,11,17,17,12,15,17,17,11,14,17,17,11,10,15,17,17,16,17,17,10,7,8,13,9,6,7,11,10,8,8,12,17,17,17,17,7,5,5,9,6,4,4,8,8,5,5,8,16,14,13,16,7,5,5,7,6,3,3,5,8,5,4,7,14,12,12,15,10,7,8,9,7,5,5,6,9,6,5,5,15,12,9,10,1,0,0,0,0,1,0,0,120,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,112,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,10,0,0,0,96,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,64,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,0,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,3,5,3,5,3,6,4,7,4,7,5,7,6,7,6,7,8,10,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,4,3,4,3,4,3,5,3,5,4,5,4,6,4,6,0,0,0,0,0,0,0,0,0,0,0,2,2,3,3,3,3,0,0,0,0,0,0,2,2,2,2,0,0,0,0,6,7,7,12,6,6,7,12,7,6,6,10,15,12,11,13,7,7,8,13,7,7,8,12,7,7,7,11,12,12,11,13,10,9,9,11,9,9,9,10,10,8,8,12,14,12,12,14,11,11,12,14,11,12,11,15,15,12,13,15,15,15,15,15,6,6,7,10,6,6,6,11,7,6,6,9,14,12,11,13,7,7,7,10,6,6,7,9,7,7,6,10,13,12,10,12,9,9,9,11,9,9,8,9,9,8,8,10,13,12,10,12,12,12,11,13,12,12,11,12,15,13,12,15,15,15,14,14,6,6,6,8,6,6,5,6,7,7,6,5,11,10,9,8,7,6,6,7,6,6,5,6,7,7,6,6,11,10,9,8,8,8,8,9,8,8,7,8,8,8,6,7,11,10,9,9,14,11,10,14,14,11,10,15,13,11,9,11,15,12,12,11,11,9,8,8,10,9,8,9,11,10,9,8,12,11,12,11,13,10,8,9,11,10,8,9,10,9,8,9,10,8,12,12,15,11,10,10,13,11,10,10,8,8,7,12,10,9,11,12,15,12,11,15,13,11,11,15,12,14,11,13,15,15,13,13,1,0,0,0,0,1,0,0,184,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,176,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,10,0,0,0,160,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,128,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,64,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,3,5,3,5,3,5,4,6,5,6,5,7,6,6,7,7,9,9,11,11,16,11,14,10,11,11,13,16,15,15,15,15,15,15,15,15,15,0,0,0,0,0,0,0,0,0,0,3,3,4,3,4,3,4,4,5,4,5,4,6,5,6,0,0,0,0,0,0,0,0,0,0,0,3,2,3,2,3,3,0,0,0,0,0,0,2,2,2,2,0,0,0,0,7,7,7,11,6,6,7,11,7,6,6,10,12,10,10,13,7,7,8,11,7,7,7,11,7,6,7,10,11,10,10,13,10,10,9,12,9,9,9,11,8,8,8,11,13,11,10,14,15,15,14,15,15,14,13,14,15,12,12,17,17,17,17,17,7,7,6,9,6,6,6,9,7,6,6,8,11,11,10,12,7,7,7,9,7,6,6,9,7,6,6,9,13,10,10,11,10,9,8,10,9,8,8,10,8,8,7,9,13,12,10,11,17,14,14,13,15,14,12,13,17,13,12,15,17,17,14,17,7,6,6,7,6,6,5,7,6,6,6,6,11,9,9,9,7,7,6,7,7,6,6,7,6,6,6,6,10,9,8,9,10,9,8,8,9,8,7,8,8,7,6,8,11,10,9,10,17,17,12,15,15,15,12,14,14,14,10,12,15,13,12,13,11,10,8,10,11,10,8,8,10,9,7,7,10,9,9,11,11,11,9,10,11,10,8,9,10,8,6,8,10,9,9,11,14,13,10,12,12,11,10,10,8,7,8,10,10,11,11,12,17,17,15,17,17,17,17,17,17,13,12,17,17,17,14,17,200,47,1,0,216,72,1,0,200,47,1,0,248,72,1,0,1],"i8",N3,F.GLOBAL_BASE+72464),E3([1],"i8",N3,F.GLOBAL_BASE+78916),E3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],"i8",N3,F.GLOBAL_BASE+79944),E3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],"i8",N3,F.GLOBAL_BASE+81996),E3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,120,124,1,0,120,124,1,0,160,124,1,0,160,124,1,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,48,84,1,0,48,84,1,0,88,84,1,0,88,84,1,0,0,0,0,0,255,255,255,255,255,255,255,255,10,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,F.GLOBAL_BASE+83152),E3([1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,231,3,0,0,0,0,0,0,231,3,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,16,124,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,85,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,85,1,0,0,0,0,0,0,0,0,0,0,0,0,0,104,85,1,0,0,0,0,0,0,0,0,0,0,0,0,0,144,85,1,0,0,0,0,0,0,0,0,0,0,0,0,0,184,85,1,0,0,0,0,0,224,85,1,0,8,86,1,0,0,0,0,0,0,0,0,0,48,86,1,0,88,86,1,0,0,0,0,0,0,0,0,0,128,86,1,0,168,86,1,0,208,86,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,88,98,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,0,124,1,0,0,0,0,0,4,0,0,0,113,2,0,0,200,95,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,98,1,0,0,0,0,0,2,0,0,0,81,0,0,0,72,95,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,160,95,1,0,0,0,0,0,2,0,0,0,81,0,0,0,200,94,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,32,95,1,0,0,0,0,0,2,0,0,0,33,1,0,0,88,93,1,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,128,94,1,0,0,0,0,0,4,0,0,0,81,0,0,0,240,92,1,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,72,93,1,0,0,0,0,0,2,0,0,0,121,0,0,0,64,92,1,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,192,92,1,0,0,0,0,0,2,0,0,0,169,0,0,0,88,91,1,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,8,92,1,0,0,0,0,0,2,0,0,0,25,0,0,0,32,91,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,91,1,0,0,0,0,0,2,0,0,0,169,0,0,0,56,90,1,0,1,0,0,0,0,136,93,225,0,176,19,97,4,0,0,0,0,0,0,0,232,90,1,0,0,0,0,0,2,0,0,0,225,0,0,0,16,89,1,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,248,89,1,0,0,0,0,0,2,0,0,0,185,1,0,0,248,86,1,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,184,88,1,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,9,8,9,9,9,9,9,9,9,9,11,11,12,7,7,7,7,8,8,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,7,7,7,7,8,8,9,8,9,9,9,9,9,9,10,10,10,10,11,11,12,8,8,8,8,8,8,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,7,7,8,8,8,8,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,12,11,9,9,8,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,8,8,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,12,11,12,11,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,12,11,12,11,11,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,12,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,12,11,11,12,11,10,10,10,10,10,10,10,10,10,10,10,10,11,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,12,11,12,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,12,11,12,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,12,11,11,12,11,11,12,10,10,11,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,12,12,11,12,11,11,12,12,12,11,11,10,10,10,10,10,10,10,10,10,11,12,12,11,12,12,11,12,11,11,11,11,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,5,5,7,7,9,9,11,11,12,12,13,13,6,5,5,6,6,9,9,10,10,12,12,12,13,15,14,6,5,5,7,7,9,9,10,10,12,12,12,13,14,13,17,7,7,8,8,10,10,11,11,12,13,13,13,13,13,17,7,7,8,8,10,10,11,11,13,13,13,13,14,14,17,11,11,9,9,11,11,12,12,12,13,13,14,15,13,17,12,12,9,9,11,11,12,12,13,13,13,13,14,16,17,17,17,11,12,12,12,13,13,13,14,15,14,15,15,17,17,17,12,12,11,11,13,13,14,14,15,14,15,15,17,17,17,15,15,13,13,14,14,15,14,15,15,16,15,17,17,17,15,15,13,13,13,14,14,15,15,15,15,16,17,17,17,17,16,14,15,14,14,15,14,14,15,15,15,17,17,17,17,17,14,14,16,14,15,15,15,15,15,15,17,17,17,17,17,17,16,16,15,17,15,15,14,17,15,17,16,17,17,17,17,16,15,14,15,15,15,15,15,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,3,10,10,10,10,10,10,10,10,10,10,5,6,6,10,10,10,10,10,10,10,10,10,10,6,7,8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,8,8,9,9,10,10,7,5,5,7,7,8,8,8,8,9,10,11,11,7,5,5,7,7,8,8,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,9,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,9,10,9,10,11,11,11,0,13,12,9,8,9,9,10,10,11,11,12,11,0,0,0,9,9,9,9,10,10,11,11,12,12,0,0,0,10,10,9,9,10,10,11,11,12,12,0,0,0,13,13,10,10,11,11,12,11,13,12,0,0,0,14,14,10,10,11,10,11,11,12,12,0,0,0,0,0,12,12,11,11,12,12,13,13,0,0,0,0,0,12,12,11,10,12,11,13,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,7,7,7,7,7,7,10,10,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,6,7,6,6,4,7,7,10,9,9,10,9,9,5,7,7,10,9,9,10,9,9,6,10,10,10,10,10,11,10,10,6,9,9,10,9,10,11,10,10,6,9,9,10,9,9,11,9,10,7,10,10,11,11,11,11,10,10,6,9,9,10,10,10,11,9,9,6,9,9,10,10,10,10,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,5,5,8,8,8,8,9,9,10,10,11,11,11,11,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,9,9,8,8,10,10,10,10,11,11,12,12,12,12,0,0,0,9,9,8,8,10,10,10,10,11,11,12,12,12,12,0,0,0,10,10,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,10,10,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,11,11,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,11,12,12,13,13,0,0,0,0,0,10,10,11,11,11,11,12,12,13,12,13,13,0,0,0,0,0,0,0,11,10,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,13,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,4,5,6,6,8,8,0,0,0,8,8,7,7,9,9,0,0,0,8,8,7,7,9,9,0,0,0,9,10,8,8,9,9,0,0,0,10,10,8,8,9,9,0,0,0,11,10,8,8,10,10,0,0,0,11,11,8,8,10,10,0,0,0,12,12,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,2,3,7,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,8,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,8,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,8,10,8],"i8",N3,F.GLOBAL_BASE+86572),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,18,8,11,8,8,9,9,10,4,4,18,5,9,5,6,7,8,10,18,18,18,18,17,17,17,17,17,17,7,5,17,6,11,6,7,8,9,12,12,9,17,12,8,8,9,10,10,13,7,5,17,6,8,4,5,6,8,10,6,5,17,6,8,5,4,5,7,9,7,7,17,8,9,6,5,5,6,8,8,8,17,9,11,8,6,6,6,7,9,10,17,12,12,10,9,7,7,8,0,0,0,0,2,0,0,0,100,0,0,0,216,163,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,125,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,125,1,0,0,0,0,0,0,0,0,0,0,0,0,0,176,125,1,0,0,0,0,0,0,0,0,0,0,0,0,0,216,125,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,126,1,0,0,0,0,0,40,126,1,0,80,126,1,0,0,0,0,0,0,0,0,0,120,126,1,0,160,126,1,0,0,0,0,0,0,0,0,0,200,126,1,0,240,126,1,0,24,127,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,32,138,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,200,163,1,0,0,0,0,0,4,0,0,0,113,2,0,0,144,135,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,8,138,1,0,0,0,0,0,2,0,0,0,81,0,0,0,16,135,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,104,135,1,0,0,0,0,0,2,0,0,0,81,0,0,0,144,134,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,232,134,1,0,0,0,0,0,2,0,0,0,33,1,0,0,32,133,1,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,72,134,1,0,0,0,0,0,4,0,0,0,81,0,0,0,184,132,1,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,16,133,1,0,0,0,0,0,2,0,0,0,121,0,0,0,8,132,1,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,136,132,1,0,0,0,0,0,2,0,0,0,169,0,0,0,32,131,1,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,208,131,1,0,0,0,0,0,2,0,0,0,25,0,0,0,232,130,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,8,131,1,0,0,0,0,0,4,0,0,0,81,0,0,0,128,130,1,0,1,0,0,0,0,176,19,225,0,176,19,97,2,0,0,0,0,0,0,0,216,130,1,0,0,0,0,0,2,0,0,0,225,0,0,0,88,129,1,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,64,130,1,0,0,0,0,0,2,0,0,0,185,1,0,0,64,127,1,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,0,129,1,0,0,0,0,0,1,5,5,7,7,8,7,8,8,10,10,9,9,10,10,10,11,11,10,12,11,12,12,12,9,8,8,8,8,8,9,10,10,10,10,11,11,11,10,11,11,12,12,11,12,8,8,7,7,8,9,10,10,10,9,10,10,9,10,10,11,11,11,11,11,11,9,9,9,9,8,9,10,10,11,10,10,11,11,12,10,10,12,12,11,11,10,9,9,10,8,9,10,10,10,9,10,10,11,11,10,11,10,10,10,12,12,12,9,10,9,10,9,9,10,10,11,11,11,11,10,10,10,11,12,11,12,11,12,10,11,10,11,9,10,9,10,9,10,10,9,10,10,11,10,11,11,11,11,12,11,9,10,10,10,10,11,11,11,11,11,10,11,11,11,11,10,12,10,12,12,11,12,10,10,11,10,9,11,10,11,9,10,11,10,10,10,11,11,11,11,12,12,10,9,9,11,10,9,12,11,10,12,12,11,11,11,11,10,11,11,12,11,10,12,9,11,10,11,10,10,11,10,11,9,10,10,10,11,12,11,11,12,11,10,10,11,11,9,10,10,12,10,11,10,10,10,9,10,10,10,10,9,10,10,11,11,11,11,12,11,10,10,10,10,11,11,10,11,11,9,11,10,12,10,12,11,10,11,10,10,10,11,10,10,11,11,10,11,10,10,10,10,11,11,12,10,10,10,11,10,11,12,11,10,11,10,10,11,11,10,12,10,9,10,10,11,11,11,10,12,10,10,11,11,11,10,10,11,10,10,10,11,10,11,10,12,11,11,10,10,10,12,10,10,11,9,10,11,11,11,10,10,11,10,10,9,11,11,12,12,11,12,11,11,11,11,11,11,9,10,11,10,12,10,10,10,10,11,10,10,11,10,10,12,10,10,10,10,10,9,12,10,10,10,10,12,9,11,10,10,11,10,12,12,10,12,12,12,10,10,10,10,9,10,11,10,10,12,10,10,12,11,10,11,10,10,12,11,10,12,10,10,11,9,11,10,9,10,9,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,5,5,10,8,11,11,11,11,11,11,11,11,6,6,6,7,6,11,10,11,11,11,11,11,11,11,11,7,5,6,6,6,8,7,11,11,11,11,11,11,11,11,11,7,8,8,8,9,9,11,11,11,11,11,11,11,11,11,9,8,7,8,9,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,4,5,5,7,6,6,6,5,7,7,7,6,6,7,7,7,6,6,7,7,7,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,6,7,7,7,7,8,8,9,9,7,6,6,7,7,8,8,7,7,8,9,10,10,7,6,6,7,7,8,7,7,7,9,9,10,12,0,8,8,8,8,8,9,8,8,9,9,10,10,0,8,8,8,8,8,9,8,9,9,9,11,10,0,0,13,9,8,9,9,9,9,10,10,11,11,0,13,0,9,9,9,9,9,9,11,10,11,11,0,0,0,8,9,10,9,10,10,13,11,12,12,0,0,0,8,9,9,9,10,10,13,12,12,13,0,0,0,12,0,10,10,12,11,10,11,12,12,0,0,0,13,13,10,10,10,11,12,0,13,0,0,0,0,0,0,13,11,0,12,12,12,13,12,0,0,0,0,0,0,13,13,11,13,13,11,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,6,6,8,8,9,9,9,9,10,10,10,7,7,8,8,9,9,9,9,10,10,9,7,7,8,8,9,9,9,9,10,10,10,8,8,9,9,9,9,9,9,10,10,10,8,8,9,9,9,9,8,9,10,10,10,8,8,9,9,9,10,10,10,10,10,10,9,9,9,9,9,9,10,10,11,10,11,9,9,9,9,10,10,10,10,11,11,11,10,10,9,9,10,10,10,9,11,10,10,10,10,10,10,9,9,10,10,11,11,10,10,10,9,9,9,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,11,9,10,12,9,10,4,7,7,10,10,10,11,9,9,6,11,10,11,11,12,11,11,11,6,10,10,11,11,12,11,10,10,6,9,10,11,11,11,11,10,10,7,10,11,12,11,11,12,11,12,6,9,9,10,9,9,11,10,10,6,9,9,10,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,6,6,8,8,9,9,8,8,10,9,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,11,0,0,0,8,8,9,9,10,10,9,9,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,9,9,11,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,11,12,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,10,10,10,10,11,11,10,10,11,11,12,12,13,13,0,0,0,0,0,10,9,10,11,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,9,10,11,12,12,13,13,14,13,0,0,0,0,0,9,9,9,10,10,10,11,11,13,12,13,13,0,0,0,0,0,10,10,10,10,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,10,10,11,11,12,12,13,13,13,14,0,0,0,0,0,0,0,11,11,11,11,12,12,13,14,14,14,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,14,13,0,0,0,0,0,0,0,11,11,12,12,13,13,14,14,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,5,5,7,6,8,8,0,0,0,7,7,7,7,8,8,0,0,0,7,7,7,7,8,9,0,0,0,8,8,8,8,9,9,0,0,0,8,8,8,8,9,9,0,0,0,9,9,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,10,10,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,2,3,7,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,8,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,6,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,4,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,9,0,0,0,0,0,0,8,9,11,0,0,0,0,0,0,9,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,9,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,11,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,9,11,11,0,0,0,0,0,0,8,11,9],"i8",N3,F.GLOBAL_BASE+97272),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,5,18,7,10,6,7,8,9,10,5,2,18,5,7,5,6,7,8,11,17,17,17,17,17,17,17,17,17,17,7,4,17,6,9,6,8,10,12,15,11,7,17,9,6,6,7,9,11,15,6,4,17,6,6,4,5,8,11,16,6,6,17,8,6,5,6,9,13,16,8,9,17,11,9,8,8,11,13,17,9,12,17,15,14,13,12,13,14,17,12,15,17,17,17,17,17,16,17,17,0,0,0,0,154,153,153,153,153,153,185,191,0,0,0,0,0,0,0,0,154,153,153,153,153,153,185,63,154,153,153,153,153,153,201,63,51,51,51,51,51,51,211,63,154,153,153,153,153,153,217,63,0,0,0,0,0,0,224,63,51,51,51,51,51,51,227,63,102,102,102,102,102,102,230,63,154,153,153,153,153,153,233,63,205,204,204,204,204,204,236,63,0,0,0,0,0,0,240,63,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,16,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,0,0,0,35,0,0,0,21,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,30,0,0,0,20,0,0,0,8,0,0,0,0,0,0,192,0,0,160,63,25,0,0,0,12,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,9,0,0,0,253,255,255,255,0,0,0,0,0,0,0,0,20,0,0,0,9,0,0,0,252,255,255,255,0,0,0,0,0,0,0,0,20,0,0,0,9,0,0,0,252,255,255,255,0,0,0,0,0,0,0,0,20,0,0,0,6,0,0,0,250,255,255,255,0,0,0,0,0,0,0,0,20,0,0,0,3,0,0,0,246,255,255,255,0,0,0,0,0,0,0,0,18,0,0,0,1,0,0,0,242,255,255,255,0,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,240,255,255,255,0,0,0,0,0,0,0,0,18,0,0,0,254,255,255,255,240,255,255,255,0,0,0,0,0,0,0,0,12,0,0,0,254,255,255,255,236,255,255,255,0,0,0,0,0,0,0,0,253,255,255,255,248,255,255,255,243,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,247,255,255,255,247,255,255,255,247,255,255,255,247,255,255,255,247,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,252,255,255,255,246,255,255,255,242,255,255,255,240,255,255,255,242,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,245,255,255,255,245,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,250,255,255,255,244,255,255,255,242,255,255,255,240,255,255,255,241,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,254,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,244,255,255,255,243,255,255,255,242,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,251,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,243,255,255,255,245,255,255,255,246,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,243,255,255,255,245,255,255,255,246,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,248,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,253,255,255,255,248,255,255,255,243,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,255,255,255,246,255,255,255,242,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,245,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,250,255,255,255,244,255,255,255,242,255,255,255,240,255,255,255,241,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,254,255,255,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,244,255,255,255,243,255,255,255,242,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,250,255,255,255,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,243,255,255,255,245,255,255,255,246,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,243,255,255,255,245,255,255,255,246,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,248,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,3,0,0,0,3,0,0,0,15,0,0,0,3,0,0,0,3,0,0,0,15,0,0,0,10,0,0,0,10,0,0,0,100,0,0,0,10,0,0,0,10,0,0,0,100,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,250,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,2,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,16,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,252,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,14,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,252,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,250,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,252,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,6,0,0,0,11,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,234,255,255,255,240,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,247,255,255,255,251,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,6,0,0,0,11,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,228,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,240,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,6,0,0,0,11,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,234,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,224,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,234,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,3,0,0,0,3,0,0,0,5,0,0,0,10,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,224,255,255,255,224,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,224,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,2,0,0,0,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,224,255,255,255,224,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,224,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,244,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,221,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,2,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,8,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,16,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,2,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,14,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,2,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,250,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,2,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,234,255,255,255,240,255,255,255,244,255,255,255,250,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,0,0,0,0,4,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,253,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,253,255,255,255,255,255,255,255,4,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,245,255,255,255,248,255,255,255,250,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,240,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,251,255,255,255,253,255,255,255,1,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,234,255,255,255,238,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,11,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,249,255,255,255,251,255,255,255,254,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,228,255,255,255,234,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,242,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,6,0,0,0,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,224,255,255,255,224,255,255,255,232,255,255,255,240,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,224,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,238,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,221,255,255,255,226,255,255,255,231,255,255,255,231,255,255,255,231,255,255,255,231,255,255,255,231,255,255,255,231,255,255,255,241,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,250,255,255,255,252,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,1,0,0,0,4,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,3,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,249,255,255,255,252,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,8,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,252,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,255,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,255,255,255,255,1,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,252,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,255,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,234,255,255,255,240,255,255,255,244,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,253,255,255,255,255,255,255,255,0,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,247,255,255,255,251,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,255,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,251,255,255,255,254,255,255,255,0,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,234,255,255,255,237,255,255,255,237,255,255,255,237,255,255,255,237,255,255,255,238,255,255,255,239,255,255,255,240,255,255,255,244,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,255,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,240,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,234,255,255,255,236,255,255,255,241,255,255,255,246,255,255,255,248,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,7,0,0,0,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,249,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,226,255,255,255,228,255,255,255,230,255,255,255,232,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,2,0,0,0,218,255,255,255,218,255,255,255,218,255,255,255,218,255,255,255,220,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,218,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,228,255,255,255,236,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,221,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,236,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,20,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,246,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,6,0,0,0,15,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,10,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,252,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,10,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,1,0,0,0,4,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4],"i8",N3,F.GLOBAL_BASE+107456),E3([4,0,0,0,5,0,0,0,6,0,0,0,10,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,3,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,252,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,8,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,251,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,255,255,255,255,1,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,249,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,240,255,255,255,244,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,253,255,255,255,255,255,255,255,0,0,0,0,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,247,255,255,255,248,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,251,255,255,255,254,255,255,255,0,0,0,0,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,238,255,255,255,240,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,243,255,255,255,243,255,255,255,244,255,255,255,246,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,0,0,0,0,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,237,255,255,255,237,255,255,255,237,255,255,255,237,255,255,255,238,255,255,255,239,255,255,255,240,255,255,255,244,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,7,0,0,0,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,240,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,2,0,0,0,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,234,255,255,255,238,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,249,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,236,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,18,0,0,0,18,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,13,0,0,0,14,0,0,0,14,0,0,0,14,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,16,0,0,0,16,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,18,0,0,0,18,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,7,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,205,204,204,204,204,204,244,63,154,153,153,153,153,153,249,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,12,64,0,0,0,0,0,0,16,64,0,0,0,0,0,0,16,64,51,51,51,51,51,51,17,64,102,102,102,102,102,102,18,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,32,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,32,0,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,0,0,0,0,0,1,0,0,128,0,0,0,128,0,0,0,0,1,0,0,0,2,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,0,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,0,0,0,0,154,153,153,153,153,153,201,63,154,153,153,153,153,153,201,63,154,153,153,153,153,153,201,63,154,153,153,153,153,153,217,63,51,51,51,51,51,51,227,63,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,156,255,255,255,156,255,255,255,156,255,255,255,156,255,255,255,156,255,255,255,156,255,255,255,151,255,255,255,151,255,255,255,151,255,255,255,151,255,255,255,146,255,255,255,136,255,255,255,126,255,255,255,126,255,255,255,126,255,255,255,126,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,106,255,255,255,205,204,204,204,204,204,43,64,51,51,51,51,51,51,46,64,154,153,153,153,153,153,47,64,0,0,0,0,0,128,48,64,51,51,51,51,51,51,49,64,102,102,102,102,102,230,50,64,154,153,153,153,153,25,52,64,0,0,0,0,0,0,72,64,0,0,0,0,0,56,143,64,0,0,0,0,0,56,143,64,0,0,0,0,0,56,143,64,0,0,0,0,0,56,143,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,4,64,154,153,153,153,153,153,5,64,0,0,0,0,0,0,8,64,154,153,153,153,153,153,13,64,0,0,0,0,0,0,16,64,0,0,0,0,0,0,16,64,248,148,2,0,40,149,2,0,88,149,2,0,0,0,0,0,8,181,0,0,224,217,1,0,8,181,0,0,32,218,1,0,8,181,0,0,96,218,1,0,8,181,0,0,160,218,1,0,8,181,0,0,224,218,1,0,8,181,0,0,32,219,1,0,8,181,0,0,96,219,1,0,8,181,0,0,160,219,1,0,8,181,0,0,224,219,1,0,8,181,0,0,32,220,1,0,8,181,0,0,96,220,1,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,232,133,2,0,232,133,2,0,16,134,2,0,16,134,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,208,134,2,0,208,134,2,0,16,134,2,0,16,134,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,216,118,2,0,216,118,2,0,0,119,2,0,0,119,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,192,119,2,0,192,119,2,0,0,119,2,0,0,119,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,0,106,2,0,0,106,2,0,40,106,2,0,40,106,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,232,106,2,0,232,106,2,0,40,106,2,0,40,106,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,0,93,2,0,0,93,2,0,40,93,2,0,40,93,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,232,93,2,0,232,93,2,0,40,93,2,0,40,93,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,56,79,2,0,56,79,2,0,96,79,2,0,96,79,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,32,80,2,0,32,80,2,0,96,79,2,0,96,79,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,8,65,2,0,8,65,2,0,48,65,2,0,48,65,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,240,65,2,0,240,65,2,0,48,65,2,0,48,65,2,0,1,0,0,0,0,0,0,0,16,0,0,0,88,206,0,0,56,48,2,0,56,48,2,0,96,48,2,0,96,48,2,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,32,49,2,0,32,49,2,0,96,48,2,0,96,48,2,0,1,0,0,0,0,0,0,0,16,0,0,0,88,206,0,0,40,31,2,0,40,31,2,0,80,31,2,0,80,31,2,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,16,32,2,0,16,32,2,0,80,31,2,0,80,31,2,0,1,0,0,0,0,0,0,0,16,0,0,0,88,206,0,0,64,15,2,0,64,15,2,0,104,15,2,0,104,15,2,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,40,16,2,0,40,16,2,0,104,15,2,0,104,15,2,0,1,0,0,0,0,0,0,0,16,0,0,0,160,220,1,0,208,251,1,0,208,251,1,0,248,251,1,0,248,251,1,0,1,0,0,0,0,0,0,0,32,0,0,0,160,220,1,0,184,252,1,0,184,252,1,0,248,251,1,0,248,251,1,0,1,0,0,0,0,0,0,0,16,0,0,0,160,220,1,0,184,231,1,0,184,231,1,0,224,231,1,0,224,231,1,0,1,0,0,0,0,0,0,0,32,0,0,0,160,220,1,0,160,232,1,0,160,232,1,0,224,231,1,0,224,231,1,0,0,0,0,0,255,255,255,255,255,255,255,255,10,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,F.GLOBAL_BASE+117696),E3([1,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,71,0,0,0,157,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,104,251,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,233,1,0,0,0,0,0,0,0,0,0,0,0,0,0,88,233,1,0,0,0,0,0,0,0,0,0,0,0,0,0,128,233,1,0,0,0,0,0,0,0,0,0,0,0,0,0,168,233,1,0,0,0,0,0,208,233,1,0,248,233,1,0,0,0,0,0,0,0,0,0,32,234,1,0,72,234,1,0,0,0,0,0,0,0,0,0,112,234,1,0,152,234,1,0,0,0,0,0,0,0,0,0,192,234,1,0,232,234,1,0,0,0,0,0,0,0,0,0,16,235,1,0,56,235,1,0,96,235,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,200,232,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,13,13,14,15,14,14,15,15,5,5,9,10,12,12,13,14,16,15,10,6,6,6,8,11,12,13,16,15,11,7,5,3,5,8,10,12,15,15,10,10,7,4,3,5,8,10,12,12,12,12,9,7,5,4,6,8,10,13,13,12,11,9,7,5,5,6,9,12,14,12,12,10,8,6,6,6,7,11,13,12,14,13,10,8,7,7,7,10,11,11,12,13,12,11,10,8,8,9,0,0,0,0,4,0,0,0,81,0,0,0,0,251,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,88,251,1,0,0,0,0,0,4,0,0,0,113,2,0,0,112,248,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,250,1,0,0,0,0,0,2,0,0,0,81,0,0,0,240,247,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,72,248,1,0,0,0,0,0,2,0,0,0,33,1,0,0,128,246,1,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,168,247,1,0,0,0,0,0,4,0,0,0,81,0,0,0,24,246,1,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,112,246,1,0,0,0,0,0,2,0,0,0,121,0,0,0,104,245,1,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,232,245,1,0,0,0,0,0,2,0,0,0,169,0,0,0,128,244,1,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,48,245,1,0,0,0,0,0,2,0,0,0,25,0,0,0,72,244,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,104,244,1,0,0,0,0,0,2,0,0,0,169,0,0,0,96,243,1,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,16,244,1,0,0,0,0,0,2,0,0,0,121,0,0,0,176,242,1,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,48,243,1,0,0,0,0,0,2,0,0,0,225,0,0,0,136,241,1,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,112,242,1,0,0,0,0,0,2,0,0,0,185,1,0,0,112,239,1,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,48,241,1,0,0,0,0,0,2,0,0,0,225,0,0,0,72,238,1,0,1,0,0,0,0,117,153,225,0,24,61,97,4,0,0,0,0,0,0,0,48,239,1,0,0,0,0,0,2,0,0,0,105,1,0,0,136,236,1,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,248,237,1,0,0,0,0,0,1,0,0,0,49,0,0,0,136,235,1,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,192,235,1,0,0,0,0,0,2,4,4,5,4,5,5,5,5,6,6,6,6,6,6,6,6,6,6,7,6,7,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,8,7,8,7,9,8,10,9,10,10,11,11,12,12,4,7,6,9,9,10,9,9,8,10,10,11,10,12,10,13,12,13,12,4,6,6,9,9,9,9,9,9,10,10,11,11,11,12,12,12,12,12,7,9,8,11,10,10,10,11,10,11,11,12,12,13,12,13,13,13,13,7,8,9,10,10,11,11,10,10,11,11,11,12,13,13,13,13,14,14,8,9,9,11,11,12,11,12,12,13,12,12,13,13,14,15,14,14,14,8,9,9,10,11,11,11,12,12,13,12,13,13,14,14,14,15,14,16,8,9,9,11,10,12,12,12,12,15,13,13,13,17,14,15,15,15,14,8,9,9,10,11,11,12,13,12,13,13,13,14,15,14,14,14,16,15,9,11,10,12,12,13,13,13,13,14,14,16,15,14,14,14,15,15,17,9,10,10,11,11,13,13,13,14,14,13,15,14,15,14,15,16,15,16,10,11,11,12,12,13,14,15,14,15,14,14,15,17,16,15,15,17,17,10,12,11,13,12,14,14,13,14,15,15,15,15,16,17,17,15,17,16,11,12,12,14,13,15,14,15,16,17,15,17,15,17,15,15,16,17,15,11,11,12,14,14,14,14,14,15,15,16,15,17,17,17,16,17,16,15,12,12,13,14,14,14,15,14,15,15,16,16,17,16,17,15,17,17,16,12,14,12,14,14,15,15,15,14,14,16,16,16,15,16,16,15,17,15,12,13,13,14,15,14,15,17,15,17,16,17,17,17,16,17,16,17,17,12,13,13,14,16,15,15,15,16,15,17,17,15,17,15,17,16,16,17,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,3,3,11,11,11,11,11,11,11,11,11,11,11,11,4,10,11,11,11,11,11,11,11,11,11,11,11,11,11,4,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,4,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,6,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,6,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,8,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,8,8,8,9,9,9,9,9,9,9,9,9,9,10,9,10,9,10,10,10,10,8,8,8,9,9,9,9,9,9,9,9,9,9,10,10,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,8,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,8,9,9,10,9,11,10,4,6,6,8,8,9,9,9,9,10,10,11,10,12,10,4,6,6,8,8,9,10,9,9,10,10,11,11,12,12,7,8,8,10,10,11,11,10,10,11,11,12,12,13,12,7,8,8,10,10,11,11,10,10,11,11,12,12,12,13,8,10,9,11,11,12,12,11,11,12,12,13,13,14,13,8,9,9,11,11,12,12,11,12,12,12,13,13,14,13,8,9,9,10,10,12,11,13,12,13,13,14,13,15,14,8,9,9,10,10,11,12,12,12,13,13,13,14,14,14,9,10,10,12,11,13,12,13,13,14,13,14,14,14,15,9,10,10,11,12,12,12,13,13,14,14,14,15,15,15,10,11,11,12,12,13,13,14,14,14,14,15,14,16,15,10,11,11,12,12,13,13,13,14,14,14,14,14,15,16,11,12,12,13,13,14,13,14,14,15,14,15,16,16,16,11,12,12,13,13,14,13,14,14,15,15,15,16,15,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,5,6,6,7,7,7,7,7,7,7,7,6,6,6,7,7,7,7,7,7,7,7,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,7,7,7,7,7,7,7,8,7,8,8,7,7,7,7,7,7,7,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,5,6,6,7,7,8,9,10,10,11,11,5,6,6,7,7,8,8,9,9,10,10,11,11,5,6,6,7,7,8,8,9,9,10,10,11,11,6,7,7,8,8,9,9,10,10,11,11,12,12,6,7,7,8,8,9,9,10,10,11,11,12,12,8,8,8,9,9,10,10,11,11,12,12,13,13,8,8,8,9,9,10,10,11,11,12,12,13,13,9,9,9,10,10,11,11,12,12,13,13,13,13,9,9,9,10,10,11,11,12,12,13,13,14,14,10,10,10,11,11,12,12,13,13,14,13,15,14,10,10,10,11,11,12,12,13,13,14,14,14,14,11,11,12,12,12,13,13,14,14,14,14,15,15,11,11,12,12,12,13,13,14,14,14,15,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,4,4,4,5,5,4,5,4,5,5,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,9,9,10,10,4,6,5,7,7,8,8,8,8,9,9,10,10,4,5,6,7,7,8,8,8,8,9,9,10,10,6,7,7,8,8,8,8,9,9,10,10,10,10,6,7,7,8,8,8,8,9,9,10,10,10,10,7,8,8,8,8,9,9,9,9,10,10,11,11,7,8,8,8,8,9,9,9,9,10,10,11,11,8,8,8,9,9,9,9,9,10,10,10,11,11,8,8,8,9,9,9,9,10,9,10,10,11,11,9,9,9,10,10,10,10,10,11,11,11,11,12,9,9,9,10,10,10,10,10,10,11,10,12,11,10,10,10,10,10,11,11,11,11,11,12,12,12,10,10,10,10,10,11,11,11,11,12,11,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,5,5,5,6,6,7,7,7,7,7,7,5,6,6,6,6,7,7,7,7,8,7,5,6,6,6,6,7,7,7,7,7,7,6,6,6,7,7,7,7,7,7,8,8,6,6,6,7,7,7,7,7,7,8,8,7,7,7,7,7,8,7,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,8,7,8,8,8,8,8,8,7,7,7,7,8,8,8,8,8,8,8,7,8,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,8,9,9,7,9,9,5,8,8,7,9,9,8,9,9,5,8,8,8,10,10,8,10,10,7,10,10,9,10,12,9,11,11,7,10,10,9,11,10,9,11,12,5,8,8,8,10,10,8,10,10,7,10,10,9,12,11,9,10,11,7,10,10,9,11,11,10,12,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,5,5,6,6,7,7,8,8,8,8,9,9,10,10,11,11,5,5,5,6,6,7,7,8,8,8,8,9,9,10,10,11,11,5,5,5,6,6,7,7,8,8,8,8,9,9,10,10,11,11,6,6,6,7,6,7,7,8,8,9,9,10,10,11,11,12,11,6,6,6,6,7,7,7,8,8,9,9,10,10,11,11,11,12,7,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,7,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,8,8,8,8,8,9,8,10,9,10,10,11,10,12,11,13,12,8,8,8,8,8,9,9,9,10,10,10,10,11,11,12,12,12,8,8,8,9,9,9,9,10,10,11,10,12,11,12,12,13,12,8,8,8,9,9,9,9,10,10,10,11,11,11,12,12,12,13,9,9,9,10,10,10,10,11,10,11,11,12,11,13,12,13,13,9,9,10,10,10,10,10,10,11,11,11,11,12,12,13,13,13,10,11,10,11,11,11,11,12,11,12,12,13,12,13,13,14,13,10,10,10,11,11,11,11,11,12,12,12,12,13,13,13,13,14,11,11,11,12,11,12,12,12,12,13,13,13,13,14,13,14,14,11,11,11,11,12,12,12,12,12,12,13,13,13,13,14,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,3,4,4,5,5,7,7,8,8,4,5,5,6,6,7,7,9,9,4,4,5,6,6,7,7,9,9,5,6,6,7,7,8,8,9,9,5,6,6,7,7,8,8,9,9,7,7,7,8,8,9,9,10,10,7,7,7,8,8,9,9,10,10,8,9,9,10,9,10,10,11,11,8,9,9,9,10,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,5,7,7,9,9,6,7,7,9,9,8,9,9,11,10,8,9,9,11,11,6,7,7,9,9,7,8,8,10,10,7,8,8,9,10,9,10,10,11,11,9,9,10,11,11,6,7,7,9,9,7,8,8,10,9,7,8,8,10,10,9,10,9,11,11,9,10,10,11,11,8,9,9,11,11,9,10,10,12,11,9,10,10,11,12,11,11,11,13,13,11,11,11,12,13,8,9,9,11,11,9,10,10,11,11,9,10,10,12,11,11,12,11,13,12,11,11,12,13,13,6,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,11,9,10,10,11,12,7,8,8,10,10,8,9,9,11,11,8,9,9,10,10,10,11,11,12,12,10,10,11,12,12,7,8,8,10,10,8,9,8,10,10,8,9,9,10,10,10,11,10,12,11,10,10,11,12,12,9,10,10,11,12,10,11,11,12,12,10,11,10,12,12,12,12,12,13,13,11,12,12,13,13,9,10,10,11,11,9,10,10,12,12,10,11,11,12,13,11,12,11,13,12,12,12,12,13,14,6,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,11,11,9,10,10,11,12,7,8,8,10,10,8,9,9,11,10,8,8,9,10,10,10,11,10,12,12,10,10,11,11,12,7,8,8,10,10,8,9,9,10,10,8,9,9,10,10,10,11,10,12,12,10,11,10,12,12,9,10,10,12,11,10,11,11,12,12,9,10,10,12,12,12,12,12,13,13,11,11,12,12,14,9,10,10,11,12,10,11,11,12,12,10,11,11,12,12,11,12,12,14,14,12,12,12,13,13,8,9,9,11,11,9,10,10,12,11,9,10,10,12,12,11,12,11,13,13,11,11,12,13,13,9,10,10,12,12,10,11,11,12,12,10,11,11,12,12,12,12,12,14,14,12,12,12,13,13,9,10,10,12,11,10,11,10,12,12,10,11,11,12,12,11,12,12,14,13,12,12,12,13,14,11,12,11,13,13,11,12,12,13,13,12,12,12,14,14,13,13,13,13,15,13,13,14,15,15,11,11,11,13,13,11,12,11,13,13,11,12,12,13,13,12,13,12,15,13,13,13,14,14,15,8,9,9,11,11,9,10,10,11,12,9,10,10,11,12,11,12,11,13,13,11,12,12,13,13,9,10,10,11,12,10,11,10,12,12,10,10,11,12,13,12,12,12,14,13,11,12,12,13,14,9,10,10,12,12,10,11,11,12,12,10,11,11,12,12,12,12,12,14,13,12,12,12,14,13,11,11,11,13,13,11,12,12,14,13,11,11,12,13,13,13,13,13,15,14,12,12,13,13,15,11,12,12,13,13,12,12,12,13,14,11,12,12,13,13,13,13,14,14,15,13,13,13,14,14,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,7,5,7,7,5,7,7,7,9,9,7,9,9,5,7,7,7,9,9,7,9,9,5,7,7,7,9,9,7,9,9,8,9,9,9,10,11,9,11,11,7,9,9,9,11,10,9,11,11,5,7,7,7,9,9,8,9,10,7,9,9,9,11,11,9,10,11,7,9,10,9,11,11,9,11,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,9,16,18,18,17,17,17,17,17,17,5,8,11,12,11,12,17,17,16,16,6,6,8,8,9,10,14,15,16,16,6,7,7,4,6,9,13,16,16,16,6,6,7,4,5,8,11,15,17,16,7,6,7,6,6,8,9,10,14,16,11,8,8,7,6,6,3,4,10,15,14,12,12,10,5,6,3,3,8,13,15,17,15,11,6,8,6,6,9,14,17,15,15,12,8,10,9,9,12,15,0,0,0,0,2,0,0,0,100,0,0,0,216,14,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,253,1,0,0,0,0,0,0,0,0,0,0,0,0,0,112,253,1,0,0,0,0,0,0,0,0,0,0,0,0,0,152,253,1,0,0,0,0,0,0,0,0,0,0,0,0,0,192,253,1,0,0,0,0,0,232,253,1,0,16,254,1,0,0,0,0,0,0,0,0,0,56,254,1,0,96,254,1,0,0,0,0,0,0,0,0,0,136,254,1,0,176,254,1,0,0,0,0,0,0,0,0,0,216,254,1,0,0,255,1,0,0,0,0,0,0,0,0,0,40,255,1,0,80,255,1,0,120,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,224,252,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,13,14,14,15,14,14,15,15,5,4,6,8,10,12,12,14,15,15,9,5,4,5,8,10,11,13,16,16,10,7,4,3,5,7,9,11,13,13,10,9,7,4,4,6,8,10,12,14,13,11,9,6,5,5,6,8,12,14,13,11,10,8,7,6,6,7,10,14,13,11,12,10,8,7,6,6,9,13,12,11,14,12,11,9,8,7,9,11,11,12,14,13,14,11,10,8,8,9,0,0,0,0,4,0,0,0,81,0,0,0,112,14,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,200,14,2,0,0,0,0,0,4,0,0,0,113,2,0,0,224,11,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,14,2,0,0,0,0,0,2,0,0,0,81,0,0,0,96,11,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,184,11,2,0,0,0,0,0,2,0,0,0,33,1,0,0,240,9,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,24,11,2,0,0,0,0,0,4,0,0,0,81,0,0,0,136,9,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,224,9,2,0,0,0,0,0,2,0,0,0,121,0,0,0,216,8,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,88,9,2,0,0,0,0,0,2,0,0,0,169,0,0,0,240,7,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,160,8,2,0,0,0,0,0,2,0,0,0,25,0,0,0,184,7,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,7,2,0,0,0,0,0,2,0,0,0,169,0,0,0,208,6,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,128,7,2,0,0,0,0,0,2,0,0,0,121,0,0,0,32,6,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,160,6,2,0,0,0,0,0,2,0,0,0,225,0,0,0,248,4,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,224,5,2,0,0,0,0,0,2,0,0,0,185,1,0,0,224,2,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,160,4,2,0,0,0,0,0,2,0,0,0,81,0,0,0,96,2,2,0,1,0,0,0,0,24,125,225,0,24,61,97,4,0,0,0,0,0,0,0,184,2,2,0,0,0,0,0,2,0,0,0,105,1,0,0,160,0,2,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,16,2,2,0,0,0,0,0,1,0,0,0,49,0,0,0,160,255,1,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,216,255,1,0,0,0,0,0,2,3,4,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,8,7,8,6,9,7,10,8,11,10,11,11,11,11,4,7,6,9,9,10,9,9,9,10,10,11,10,11,10,11,11,13,11,4,7,7,9,9,9,9,9,9,10,10,11,10,11,11,11,12,11,12,7,9,8,11,11,11,11,10,10,11,11,12,12,12,12,12,12,14,13,7,8,9,10,11,11,11,10,10,11,11,11,11,12,12,14,12,13,14,8,9,9,11,11,11,11,11,11,12,12,14,12,15,14,14,14,15,14,8,9,9,11,11,11,11,12,11,12,12,13,13,13,13,13,13,14,14,8,9,9,11,10,12,11,12,12,13,13,13,13,15,14,14,14,16,16,8,9,9,10,11,11,12,12,12,13,13,13,14,14,14,15,16,15,15,9,10,10,11,12,12,13,13,13,14,14,16,14,14,16,16,16,16,15,9,10,10,11,11,12,13,13,14,15,14,16,14,15,16,16,16,16,15,10,11,11,12,13,13,14,15,15,15,15,15,16,15,16,15,16,15,15,10,11,11,13,13,14,13,13,15,14,15,15,16,15,15,15,16,15,16,10,12,12,14,14,14,14,14,16,16,15,15,15,16,16,16,16,16,16,11,12,12,14,14,14,14,15,15,16,15,16,15,16,15,16,16,16,16,12,12,13,14,14,15,16,16,16,16,16,16,15,16,16,16,16,16,16,12,13,13,14,14,14,14,15,16,15,16,16,16,16,16,16,16,16,16,12,13,14,14,14,16,15,16,15,16,16,16,16,16,16,16,16,16,16,12,14,13,14,15,15,15,16,15,16,16,15,16,16,16,16,16,16,16,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,3,3,9,9,9,9,9,9,4,9,9,9,9,9,9,9,9,5,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,6,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,9,8,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,10,9,10,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,9,10,10,9,10,8,9,8,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,8,9,8,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,9,10,10,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,7,9,8,10,9,11,10,4,6,6,8,8,10,9,9,9,10,10,11,10,12,10,4,6,6,8,8,10,10,9,9,10,10,11,11,11,12,7,8,8,10,10,11,11,11,10,12,11,12,12,13,11,7,8,8,10,10,11,11,10,10,11,11,12,12,13,13,8,10,10,11,11,12,11,12,11,13,12,13,12,14,13,8,10,9,11,11,12,12,12,12,12,12,13,13,14,13,8,9,9,11,10,12,11,13,12,13,13,14,13,14,13,8,9,9,10,11,12,12,12,12,13,13,14,15,14,14,9,10,10,12,11,13,12,13,13,14,13,14,14,14,14,9,10,10,12,12,12,12,13,13,14,14,14,15,14,14,10,11,11,13,12,13,12,14,14,14,14,14,14,15,15,10,11,11,12,12,13,13,14,14,14,15,15,14,16,15,11,12,12,13,12,14,14,14,13,15,14,15,15,15,17,11,12,12,13,13,14,14,14,15,15,14,15,15,14,17,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,7,7,5,6,6,7,7,7,7,7,7,7,7,5,6,6,7,7,7,7,7,7,7,7,6,7,7,7,7,7,7,7,7,8,8,6,7,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,8,8,8,8,7,7,7,8,7,8,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,5,6,6,7,7,8,8,10,10,11,11,5,6,6,7,7,8,8,9,9,11,10,12,11,5,6,6,7,7,8,8,9,9,10,11,11,12,6,7,7,8,8,9,9,10,10,11,11,12,12,6,7,7,8,8,9,9,10,10,11,12,13,12,7,8,8,9,9,10,10,11,11,12,12,13,13,8,8,8,9,9,10,10,11,11,12,12,13,13,9,9,9,10,10,11,11,12,12,13,13,14,14,9,9,9,10,10,11,11,12,12,13,13,14,14,10,11,11,12,11,13,12,13,13,14,14,15,15,10,11,11,11,12,12,13,13,14,14,14,15,15,11,12,12,13,13,14,13,15,14,15,15,16,15,11,11,12,13,13,13,14,14,14,15,15,15,16,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,4,4,5,5,4,5,5,5,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,9,9,10,10,4,6,5,7,7,8,8,8,8,9,9,10,10,4,6,6,7,7,8,8,8,8,9,9,10,10,6,7,7,7,8,8,8,8,9,9,10,10,10,6,7,7,8,8,8,8,9,8,10,9,11,10,7,8,8,8,8,8,9,9,9,10,10,11,11,7,8,8,8,8,9,8,9,9,10,10,11,11,8,8,8,9,9,9,9,9,10,10,10,11,11,8,8,8,9,9,9,9,10,9,10,10,11,11,9,9,9,9,10,10,10,10,10,10,11,11,12,9,9,9,10,9,10,10,10,10,11,10,12,11,10,10,10,10,10,11,11,11,11,11,12,12,12,10,10,10,10,11,11,11,11,11,12,11,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,8,8,5,5,5,6,6,7,7,8,8,8,8,5,5,5,6,6,7,7,7,8,8,8,6,6,6,7,7,7,7,8,8,8,8,6,6,6,7,7,7,7,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,8,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,8,8,8,8,8,8,8,8,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,8,9,9,7,9,9,5,8,8,7,9,9,8,9,9,5,8,8,8,10,10,8,10,10,7,10,10,9,10,12,9,12,11,7,10,10,9,11,10,9,11,12,5,8,8,8,10,10,8,10,10,7,10,10,9,11,11,9,10,11,7,10,10,9,11,11,10,12,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,4,4,6,6,7,7,8,8,8,8,10,10,11,11,11,11,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,6,6,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,6,6,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,7,7,7,8,8,9,8,10,9,10,9,11,10,12,11,13,12,7,7,7,8,8,8,9,9,10,9,10,10,11,11,12,12,13,8,8,8,9,9,9,9,10,10,11,10,11,11,12,12,13,13,8,8,8,9,9,9,10,10,10,10,11,11,11,12,12,12,13,8,9,9,9,9,10,9,11,10,11,11,12,11,13,12,13,13,8,9,9,9,9,9,10,10,11,11,11,11,12,12,13,13,13,10,10,10,10,10,11,10,11,11,12,11,13,12,13,13,14,13,10,10,10,10,10,10,11,11,11,11,12,12,13,13,13,13,14,11,11,11,11,11,12,11,12,12,13,12,13,13,14,13,14,14,11,11,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,11,12,12,12,12,13,12,13,12,13,13,14,13,14,14,14,14,11,12,12,12,12,12,12,13,13,13,13,13,14,14,14,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,3,4,4,5,5,7,7,9,9,4,5,4,6,6,7,7,9,9,4,4,5,6,6,7,7,9,9,5,6,6,7,7,8,8,10,10,6,6,6,7,7,8,8,10,10,7,7,7,8,8,9,9,11,10,7,7,7,8,8,9,9,10,11,9,9,9,10,10,11,10,12,11,9,9,9,9,10,11,11,11,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,5,7,6,9,9,5,6,7,9,9,8,9,9,11,11,8,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,11,12,5,7,7,9,9,7,8,7,10,10,7,8,8,10,10,9,10,9,12,11,9,10,10,12,12,8,9,9,12,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,14,11,11,12,13,14,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,11,13,13,11,12,12,14,14,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,11,12,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,11,12,13,10,11,11,12,13,6,8,8,10,10,8,9,8,11,10,8,9,9,11,11,10,11,10,13,12,10,11,11,13,13,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,12,13,13,14,12,13,13,14,14,9,10,10,12,12,10,11,10,13,12,10,11,11,13,13,11,13,12,14,13,12,13,13,14,14,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,12,12,7,8,8,10,10,8,9,9,11,11,8,8,9,10,11,10,11,11,13,13,10,10,11,12,13,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,11,13,13,10,11,11,13,12,9,10,10,12,12,10,11,11,13,13,10,10,11,12,13,12,13,13,14,14,12,12,13,13,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,15,14,12,13,13,14,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,12,12,12,14,13,11,12,12,14,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,14,15,12,13,13,14,15,9,10,10,12,12,10,11,10,13,12,10,11,11,13,13,12,13,12,15,14,12,13,13,14,15,11,12,12,14,14,12,13,13,14,14,12,13,13,15,14,14,14,14,14,16,14,14,15,16,16,11],"i8",N3,F.GLOBAL_BASE+124340),E3([12,12,14,14,11,12,12,14,14,12,13,13,14,15,13,14,13,16,14,14,14,14,16,16,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,14,14,9,10,10,12,12,10,11,11,13,13,10,10,11,12,13,12,13,13,15,14,12,12,13,13,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,14,14,12,13,13,15,14,11,12,12,14,13,12,13,13,15,14,11,12,12,13,14,14,15,14,16,15,13,13,14,13,16,11,12,12,14,14,12,13,13,14,15,12,13,12,15,14,14,14,14,16,15,14,15,13,16,14,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,7,5,7,7,5,7,7,8,9,9,7,9,9,5,7,7,7,9,9,8,9,9,5,7,7,7,9,9,7,9,9,7,9,9,9,10,11,9,11,10,7,9,9,9,11,10,9,10,11,5,7,7,7,9,9,7,9,9,7,9,9,9,11,10,9,10,10,8,9,9,9,11,11,9,11,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,6,14,18,18,17,17,17,17,17,17,4,7,9,9,10,13,15,17,17,17,6,7,5,6,8,11,16,17,16,17,5,7,5,4,6,10,14,17,17,17,6,6,6,5,7,10,13,16,17,17,7,6,7,7,7,8,7,10,15,16,12,9,9,6,6,5,3,5,11,15,14,14,13,5,5,7,3,4,8,15,17,17,13,7,7,10,6,6,10,15,17,17,16,10,11,14,10,10,15,17,0,0,0,0,2,0,0,0,100,0,0,0,192,30,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,16,2,0,0,0,0,0,0,0,0,0,0,0,0,0,224,16,2,0,0,0,0,0,0,0,0,0,0,0,0,0,8,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0,48,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0,88,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0,128,17,2,0,0,0,0,0,168,17,2,0,208,17,2,0,0,0,0,0,0,0,0,0,248,17,2,0,32,18,2,0,0,0,0,0,0,0,0,0,72,18,2,0,112,18,2,0,152,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,80,16,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,14,13,15,14,16,13,13,14,5,5,7,7,8,9,11,10,12,15,10,6,5,6,6,9,10,10,13,16,10,6,6,6,6,8,9,9,12,15,14,7,6,6,5,6,6,8,12,15,10,8,7,7,6,7,7,7,11,13,14,10,9,8,5,6,4,5,9,12,10,9,9,8,6,6,5,3,6,11,12,11,12,12,10,9,8,5,5,8,10,11,15,13,13,13,12,8,6,7,0,0,0,0,4,0,0,0,81,0,0,0,88,30,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,176,30,2,0,0,0,0,0,4,0,0,0,81,0,0,0,240,29,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,72,30,2,0,0,0,0,0,4,0,0,0,113,2,0,0,96,27,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,29,2,0,0,0,0,0,4,0,0,0,113,2,0,0,208,24,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,27,2,0,0,0,0,0,2,0,0,0,81,0,0,0,80,24,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,168,24,2,0,0,0,0,0,2,0,0,0,81,0,0,0,208,23,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,40,24,2,0,0,0,0,0,4,0,0,0,81,0,0,0,104,23,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,192,23,2,0,0,0,0,0,2,0,0,0,121,0,0,0,184,22,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,56,23,2,0,0,0,0,0,2,0,0,0,121,0,0,0,8,22,2,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,136,22,2,0,0,0,0,0,2,0,0,0,121,0,0,0,88,21,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,216,21,2,0,0,0,0,0,2,0,0,0,121,0,0,0,168,20,2,0,1,0,0,0,0,226,120,225,0,232,51,97,4,0,0,0,0,0,0,0,40,21,2,0,0,0,0,0,2,0,0,0,169,0,0,0,192,19,2,0,1,0,0,0,0,96,18,225,0,128,184,96,4,0,0,0,0,0,0,0,112,20,2,0,0,0,0,0,1,0,0,0,49,0,0,0,192,18,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,248,18,2,0,0,0,0,0,2,4,4,4,4,5,5,5,5,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,6,5,8,6,9,8,10,9,11,10,4,6,6,8,8,9,9,11,10,11,11,11,11,4,6,6,8,8,10,9,11,11,11,11,11,12,6,8,8,10,10,11,11,12,12,13,12,13,13,6,8,8,10,10,11,11,12,12,12,13,14,13,8,10,10,11,11,12,13,14,14,14,14,15,15,8,10,10,11,12,12,13,13,14,14,14,14,15,9,11,11,13,13,14,14,15,14,16,15,17,15,9,11,11,12,13,14,14,15,14,15,15,15,16,10,12,12,13,14,15,15,15,15,16,17,16,17,10,13,12,13,14,14,16,16,16,16,15,16,17,11,13,13,14,15,14,17,15,16,17,17,17,17,11,13,13,14,15,15,15,15,17,17,16,17,16,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,10,10,10,10,10,10,10,10,4,10,10,10,10,10,10,10,10,10,10,4,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,7,7,5,6,6,7,7,7,7,7,7,7,7,5,6,6,6,7,7,7,7,7,7,7,6,7,7,7,7,7,7,7,7,8,8,6,7,7,7,7,7,7,7,7,8,8,7,7,7,7,7,8,7,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,10,11,11,4,6,6,7,7,9,9,11,10,12,12,5,6,5,7,7,9,9,10,11,12,12,6,7,7,8,8,10,10,11,11,13,13,6,7,7,8,8,10,10,11,12,13,13,8,9,9,10,10,11,11,12,12,14,14,8,9,9,10,10,11,11,12,12,14,14,10,10,10,11,11,13,12,14,14,15,15,10,10,10,12,12,13,13,14,14,15,15,11,12,12,13,13,14,14,15,14,16,15,11,12,12,13,13,14,14,15,15,15,16,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,3,4,4,6,6,7,7,8,8,8,8,4,5,5,6,6,8,7,8,8,8,8,4,5,5,6,6,7,8,8,8,8,8,6,7,6,7,7,8,8,9,9,9,9,6,6,7,7,7,8,8,9,9,9,9,7,8,7,8,8,9,9,9,9,9,9,7,7,8,8,8,9,9,9,9,9,9,8,8,8,9,9,9,9,10,9,9,9,8,8,8,9,9,9,9,9,9,9,10,8,8,8,9,9,9,9,10,9,10,10,8,8,8,9,9,9,9,9,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,9,8,8,9,9,7,10,10,5,8,9,7,9,10,8,9,9,4,9,9,9,11,10,8,10,10,7,11,10,10,10,12,10,12,12,7,10,10,10,12,11,10,12,12,5,9,9,8,10,10,9,11,11,7,11,10,10,12,12,10,11,12,7,10,11,10,12,12,10,12,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,9,9,4,5,4,6,6,8,7,9,9,4,4,5,6,6,7,7,9,9,5,6,6,7,7,8,8,10,10,5,6,6,7,7,8,8,10,10,7,8,7,8,8,10,9,11,11,7,7,8,8,8,9,10,11,11,9,9,9,10,10,11,10,12,11,9,9,9,10,10,11,11,11,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,7,8,10,10,4,5,5,8,7,8,8,11,11,3,5,5,7,7,8,9,11,11,6,8,7,9,9,10,10,12,12,6,7,8,9,10,10,10,12,12,8,8,8,10,10,12,11,13,13,8,8,9,10,10,11,11,13,13,10,11,11,12,12,13,13,14,14,10,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,6,7,6,9,9,6,6,7,9,9,8,9,9,11,11,8,9,9,10,11,6,7,7,9,9,7,8,8,10,10,6,7,8,9,10,9,10,10,12,12,9,9,10,11,12,6,7,7,9,9,6,8,7,10,9,7,8,8,10,10,9,10,9,12,11,9,10,10,12,11,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,13,14,11,11,12,13,13,8,9,9,11,11,9,10,10,12,11,9,10,10,12,12,11,12,11,13,13,11,12,12,13,13,6,7,7,9,9,7,8,7,10,10,7,7,8,10,10,9,10,10,12,11,9,10,10,12,12,7,8,8,10,10,8,8,9,11,11,8,9,9,11,11,10,11,11,12,12,10,10,11,12,13,6,7,7,10,10,7,9,8,11,10,8,8,9,10,11,10,11,10,13,11,10,11,11,12,12,9,10,10,12,12,10,10,11,13,13,10,11,11,13,12,12,12,13,13,14,12,12,13,14,14,9,10,10,12,12,9,10,10,12,12,10,11,11,13,13,11,12,11,14,12,12,13,13,14,14,6,7,7,9,9,7,8,7,10,10,7,7,8,10,10,9,10,10,12,11,9,10,10,11,12,6,7,7,10,10,8,9,8,11,10,7,8,9,10,11,10,11,11,13,12,10,10,11,11,13,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,10,13,12,10,11,11,12,12,9,10,10,12,12,10,11,11,13,12,9,10,10,12,13,12,13,12,14,14,11,11,12,12,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,12,14,14,12,13,12,14,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,13,13,9,10,10,12,12,10,11,11,13,13,10,11,11,13,12,12,13,13,14,14,12,12,13,14,14,9,10,10,12,12,9,11,10,13,12,10,10,11,12,13,11,13,12,14,13,12,12,13,14,14,11,12,12,13,13,11,12,13,14,14,12,13,13,14,14,13,13,14,14,16,13,14,14,16,16,11,11,11,13,13,11,12,11,14,13,12,12,13,14,15,13,14,12,16,13,14,14,14,15,16,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,13,14,9,10,10,12,12,10,11,10,13,12,9,10,11,12,13,12,13,12,14,14,12,12,13,13,14,9,10,10,12,12,10,11,11,12,13,10,11,11,13,13,12,13,12,14,14,12,13,13,14,14,11,12,12,13,13,12,13,12,14,14,11,11,12,13,14,13,15,14,16,15,13,12,14,13,16,11,12,12,13,13,12,13,13,14,14,12,12,12,14,14,13,14,14,15,15,13,14,13,16,14,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,4,8,8,5,7,6,9,9,5,6,7,9,9,8,9,9,13,12,8,9,10,12,13,5,7,7,10,9,7,9,9,11,11,6,8,9,11,11,10,11,11,14,14,9,10,11,13,14,5,7,7,9,9,7,9,8,11,11,7,9,9,11,11,9,11,10,14,13,10,11,11,14,14,8,10,10,14,13,10,11,12,15,14,9,11,11,15,14,13,14,14,16,16,12,13,14,17,16,8,10,10,13,13,9,11,11,14,15,10,11,12,14,15,12,14,13,16,16,13,14,15,15,17,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,12,11,15,14,10,11,12,14,14,7,9,9,12,12,9,11,11,13,13,9,11,11,13,13,11,13,13,14,17,11,13,13,15,16,6,9,9,11,11,8,11,10,13,12,9,11,11,13,13,11,13,12,16,14,11,13,13,16,16,10,12,12,15,15,11,13,13,16,16,11,13,13,16,15,14,16,17,17,19,14,16,16,18,0,9,11,11,14,15,10,13,12,16,15,11,13,13,16,16,14,15,14,0,16,14,16,16,18,0,5,7,7,10,10,7,9,9,12,11,7,9,9,11,12,10,11,11,15,14,10,11,12,14,14,6,9,9,11,11,9,11,11,13,13,8,10,11,12,13,11,13,13,17,15,11,12,13,14,15,7,9,9,11,12,9,11,11,13,13,9,11,11,13,13,11,13,12,16,16,11,13,13,15,14,9,11,11,14,15,11,13,13,16,15,10,12,13,16,16,15,16,16,0,0,14,13,15,16,18,10,11,11,15,15,11,13,14,16,18,11,13,13,16,15,15,16,16,19,0,14,15,15,16,16,8,10,10,13,13,10,12,11,16,15,10,11,11,16,15,13,15,16,18,0,13,14,15,17,17,9,11,11,15,15,11,13,13,16,18,11,13,13,16,17,15,16,16,0,0,15,18,16,0,17,9,11,11,15,15,11,13,12,17,15,11,13,14,16,17,15,18,15,0,17,15,16,16,18,19,13,15,14,0,18,14,16,16,19,18,14,16,15,19,19,16,18,19,0,0,16,17,0,0,0,12,14,14,17,17,13,16,14,0,18,14,16,15,18,0,16,18,16,19,17,18,19,17,0,0,8,10,10,14,14,9,12,11,15,15,10,11,12,15,17,13,15,15,18,16,14,16,15,18,17,9,11,11,16,15,11,13,13,0,16,11,12,13,16,15,15,16,16,0,17,15,15,16,18,17,9,12,11,15,17,11,13,13,16,16,11,14,13,16,16,15,15,16,18,19,16,18,16,0,0,12,14,14,0,16,14,16,16,0,18,13,14,15,16,0,17,16,18,0,0,16,16,17,19,0,13,14,14,17,0,14,17,16,0,19,14,15,15,18,19,17,16,18,0,0,15,19,16,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,5,6,6,5,6,6,5,6,6,6,8,8,6,7,8,5,6,6,6,8,7,6,8,8,5,6,6,6,8,7,6,8,8,6,8,8,8,9,9,8,9,9,6,8,7,7,9,8,8,9,9,5,6,6,6,8,7,6,8,8,6,8,8,8,9,9,7,8,9,6,8,8,8,9,9,8,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,4,7,7,5,7,7,5,8,8,8,10,10,7,10,10,5,8,8,7,10,10,8,10,10,5,8,8,8,11,10,8,10,10,8,10,10,10,12,13,10,13,13,7,10,10,10,13,12,10,13,13,5,8,8,8,11,10,8,10,11,7,10,10,10,13,13,10,12,13,8,11,11,10,13,13,10,13,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,12,17,16,16,17,17,17,17,17,4,7,11,11,12,9,17,10,17,17,7,7,8,9,7,9,11,10,15,17,7,9,10,11,10,12,14,12,16,17,7,8,5,7,4,7,7,8,16,16,6,10,9,10,7,10,11,11,16,17,6,8,8,9,5,7,5,8,16,17,5,5,8,7,6,7,7,6,6,14,12,10,12,11,7,11,4,4,2,7,17,15,15,15,8,15,6,8,5,9,0,0,0,0,2,0,0,0,100,0,0,0,208,47,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,200,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,240,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,24,33,2,0,0,0,0,0,0,0,0,0,0,0,0,0,64,33,2,0,0,0,0,0,0,0,0,0,0,0,0,0,104,33,2,0,0,0,0,0,144,33,2,0,184,33,2,0,0,0,0,0,0,0,0,0,224,33,2,0,8,34,2,0,0,0,0,0,0,0,0,0,48,34,2,0,88,34,2,0,128,34,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,56,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,14,13,14,13,16,12,13,14,5,4,6,6,8,9,11,10,12,15,10,5,5,6,6,8,10,10,13,16,10,6,6,6,6,8,9,9,12,14,13,7,6,6,4,6,6,7,11,14,10,7,7,7,6,6,6,7,10,13,15,10,9,8,5,6,5,6,10,14,10,9,8,8,6,6,5,4,6,11,11,11,12,11,10,9,9,5,5,9,10,12,15,13,13,13,13,8,7,7,0,0,0,0,4,0,0,0,81,0,0,0,104,47,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,192,47,2,0,0,0,0,0,4,0,0,0,81,0,0,0,0,47,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,88,47,2,0,0,0,0,0,4,0,0,0,113,2,0,0,112,44,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,46,2,0,0,0,0,0,4,0,0,0,113,2,0,0,224,41,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,44,2,0,0,0,0,0,2,0,0,0,81,0,0,0,96,41,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,184,41,2,0,0,0,0,0,2,0,0,0,81,0,0,0,224,40,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,56,41,2,0,0,0,0,0,4,0,0,0,81,0,0,0,120,40,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,208,40,2,0,0,0,0,0,2,0,0,0,121,0,0,0,200,39,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,72,40,2,0,0,0,0,0,2,0,0,0,121,0,0,0,24,39,2,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,152,39,2,0,0,0,0,0,2,0,0,0,121,0,0,0,104,38,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,232,38,2,0,0,0,0,0,2,0,0,0,225,0,0,0,64,37,2,0,1,0,0,0,0,228,91,225,0,224,255,96,4,0,0,0,0,0,0,0,40,38,2,0,0,0,0,0,2,0,0,0,225,0,0,0,24,36,2,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,0,37,2,0,0,0,0,0,2,0,0,0,33,1,0,0,168,34,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,208,35,2,0,0,0,0,0,3,5,5,7,7,8,8,8,8,8,8,9,8,8,9,9,9,5,6,6,7,7,8,8,8,8,8,8,9,9,9,9,9,9,5,6,6,7,7,8,8,8,8,8,8,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,9,9,9,9,9,9,9,9,9,9,9,10,9,9,9,10,9,9,9,9,9,9,9,9,9,9,10,9,9,9,10,9,9,10,9,9,9,9,9,9,9,9,9,10,10,10,9,10,9,10,10,9,9,9,9,9,9,9,9,9,10,10,9,10,10,9,9,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,7,7,8,9,8,8,9,8,9,8,9,9,4,7,6,8,8,9,9,9,9,9,9,9,9,9,9,4,7,6,9,9,10,10,9,9,10,10,10,10,11,11,7,9,8,10,10,11,11,10,10,11,11,11,11,11,11,7,8,9,10,10,11,11,10,10,11,11,11,11,11,12,8,10,10,11,11,12,12,11,11,12,12,12,12,13,12,8,10,10,11,11,12,11,11,11,11,12,12,12,12,13,8,9,9,11,10,11,11,12,12,12,12,13,12,13,12,8,9,9,11,11,11,11,12,12,12,12,12,13,13,13,9,10,10,11,12,12,12,12,12,13,13,13,13,13,13,9,10,10,11,11,12,12,12,12,13,13,13,13,14,13,10,10,10,12,11,12,12,13,13,13,13,13,13,13,13,10,10,11,11,11,12,12,13,13,13,13,13,13,13,13,10,11,11,12,12,13,12,12,13,13,13,13,13,13,14,10,11,11,12,12,13,12,13,13,13,14,13,13,14,13,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,2,9,8,15,15,15,15,15,15,15,15,15,15,4,8,9,13,14,14,14,14,14,14,14,14,14,14,14,5,8,9,14,14,14,14,14,14,14,14,14,14,14,14,11,14,14,14,14,14,14,14,14,14,14,14,14,14,14,11,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,3,5,5,6,6,7,7,7,7,7,7,5,6,5,7,7,7,7,8,7,8,8,5,5,6,6,7,7,7,7,7,8,8,6,7,7,7,7,8,7,8,8,8,8,6,6,7,7,7,7,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,7,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,10,10,4,6,6,7,7,9,9,10,10,11,11,4,6,6,7,7,9,9,10,10,11,11,6,8,8,9,9,10,10,11,11,12,12,6,8,8,9,9,10,10,11,11,12,12,8,9,9,10,10,11,11,12,12,13,13,8,9,9,10,10,11,11,12,12,13,13,10,10,10,11,11,13,13,13,13,15,14,9,10,10,12,11,12,13,13,13,14,15,11,12,12,13,13,13,13,15,14,15,15,11,11,12,13,13,14,14,14,15,15,15,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,3,4,4,6,6,7,7,8,8,8,8,4,5,5,7,6,8,8,8,8,8,8,4,5,5,6,7,8,8,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,7,8,8,8,8,8,8,9,9,9,9,7,8,8,8,8,8,8,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,9,8,7,10,10,8,10,10,5,8,9,7,10,10,7,10,9,4,8,8,9,11,11,8,11,11,7,11,11,10,10,13,10,13,13,7,11,11,10,13,12,10,13,13,5,9,8,8,11,11,9,11,11,7,11,11,10,13,13,10,12,13,7,11,11,10,13,13,9,13,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,9,9,4,5,4,6,6,7,7,9,9,4,4,5,6,6,7,8,9,9,5,6,6,7,7,8,8,10,10,5,6,6,7,7,8,8,10,10,7,8,7,8,8,10,9,11,11,7,7,8,8,8,9,10,10,11,9,9,9,10,10,11,11,12,11,9,9,9,10,10,11,11,11,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,8,8,10,10,4,5,5,8,7,8,8,11,11,3,5,5,7,8,8,8,11,11,6,8,7,9,9,10,9,12,11,6,7,8,9,9,9,10,11,12,8,8,8,10,9,12,11,13,13,8,8,9,9,10,11,12,13,13,10,11,11,12,12,13,13,14,14,10,10,11,11,12,13,13,14,14,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,6,7,6,9,9,6,6,7,9,9,8,9,9,11,11,8,9,9,11,11,6,7,7,9,9,7,8,8,10,10,7,7,8,9,10,9,10,10,11,11,9,9,10,11,12,6,7,7,9,9,7,8,7,10,9,7,8,8,10,10,9,10,9,12,11,9,10,10,12,11,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,11,12,13,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,11,13,12,11,12,12,13,13,5,7,7,9,9,7,8,7,10,10,7,7,8,10,10,9,10,10,12,11,9,10,10,11,12,7,8,8,10,10,8,8,9,11,11,8,9,9,11,11,10,10,11,12,13,10,10,11,12,12,6,7,7,10,10,7,9,8,11,10,8,8,9,10,11,10,11,10,13,11,10,11,11,12,12,9,10,10,12,12,10,10,11,13,13,10,11,11,12,13,12,12,12,13,14,12,12,13,14,14,9,10,10,12,12,9,10,10,13,12,10,11,11,13,13,11,12,11,14,12,12,13,13,14,14,6,7,7,9,9,7,8,7,10,10,7,8,8,10,10,9,10,10,12,11,9,10,10,11,12,6,7,7,10,10,8,9,8,11,10,7,8,9,10,11,10,11,11,12,12,10,10,11,11,13,7,8,8,10,10,8,9,9,11,11,8,9,8,11,11,10,11,10,13,12,10,11,11,13,12,9,10,10,12,12,10,11,11,13,12,9,10,10,12,13,12,13,12,14,14,11,11,12,12,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,12,12,14,14,12,13,12,14,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,13,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,12,13,14,15,12,12,13,14,14,9,10,10,12,12,9,11,10,13,12,10,10,11,12,13,12,13,12,14,13,12,12,13,14,15,11,12,12,14,13,11,12,12,14,14,12,13,13,14,14,13,13,14,14,16,13,14,14,15,15,11,12,11,13,13,11,12,11,14,13,12,12,13,14,15,12,14,12,15,12,13,14,15,15,16,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,13,13,9,10,10,12,12,10,11,10,13,12,9,10,11,12,13,12,13,12,14,14,12,12,13,13,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,12,14,14,12,13,13,14,14,11,11,11,13,13,12,13,12,14,14,11,11,12,13,14,14,14,14,16,15,12,12,14,12,15,11,12,12,13,14,12,13,13,14,15,11,12,12,14,14,13,14,14,16,16,13,14,13,16,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,4,8,8,5,7,6,9,9,5,6,7,9,9,8,9,9,13,12,8,9,10,12,13,5,7,7,10,9,7,9,9,11,11,7,8,9,11,11,10,11,11,14,14,9,10,11,13,14,5,7,7,9,10,6,9,8,11,11,7,9,9,11,11,9,11,10,14,13,10,11,11,14,13,8,10,10,13,13,10,11,11,15,15,9,11,11,14,14,13,14,14,17,16,12,13,14,16,16,8,10,10,13,14,9,11,11,14,15,10,11,12,14,15,12,14,13,16,15,13,14,14,15,17,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,12,11,14,14,10,11,11,14,14,7,9,9,12,11,9,11,11,13,13,9,11,11,13,13,11,13,13,14,15,11,12,13,15,16,6,9,9,11,12,8,11,10,13,12,9,11,11,13,14,11,13,12,16,14,11,13,13,15,16,10,12,11,14,15,11,13,13,15,17,11,13,13,17,16,15,15,16,17,16,14,15,16,18,0,9,11,11,14,15,10,12,12,16,15,11,13,13,16,16,13,15,14,18,15,14,16,16,0,0,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,11,11,14,14,10,11,12,14,14,6,9,9,11,11,9,11,11,13,13,8,10,11,12,13,11,13,13,16,15,11,12,13,14,16,7,9,9,11,12,9,11,11,13,13,9,11,11,13,13,11,13,13,16,15,11,13,12,15,15,9,11,11,15,14,11,13,13,17,16,10,12,13,15,16,14,16,16,0,18,14,14,15,15,17,10,11,12,15,15,11,13,13,16,16,11,13,13,16,16,14,16,16,19,17,14,15,15,17,17,8,10,10,14,14,10,12,11,15,15,10,11,12,16,15,14,15,15,18,20,13,14,16,17,18,9,11,11,15,16,11,13,13,17,17,11,13,13,17,16,15,16,16,0,0,15,16,16,0,0,9,11,11,15,15,10,13,12,17,15,11,13,13,17,16,15,17,15,20,19,15,16,16,19,0,13,15,14,0,17,14,15,16,0,20,15,16,16,0,19,17,18,0,0,0,16,17,18,0,0,12,14,14,19,18,13,15,14,0,17,14,15,16,19,19,16,18,16,0,19,19,20,17,20,0,8,10,10,13,14,10,11,11,15,15,10,12,12,15,16,14,15,14,19,16,14,15,15,0,18,9,11,11,16,15,11,13,13,0,16,11,12,13,16,17,14,16,17,0,19,15,16,16,18,0,9,11,11,15,16,11,13,13,16,16,11,14,13,18,17,15,16,16,18,20,15,17,19,0,0,12,14,14,17,17,14,16,15,0,0,13,14,15,19,0,16,18,20,0,0,16,16,18,18,0,12,14,14,17,20,14,16,16,19,0,14,16,14,0,20,16,20,17,0,0,17,0,15,0,19,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,5,6,6,5,6,6,5,6,6,6,8,8,6,7,8,5,6,6,6,8,7,6,8,8,5,6,6,6,8,8,6,8,8,6,8,8,8,9,9,8,9,9,6,7,7,7,9,8,8,9,9,5,6,6,6,8,7,6,8,8,6,8,8,8,9,9,7,8,9,6,8,8,8,9,9,8,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,4,8,7,5,7,7,5,8,8,8,10,10,7,9,10,5,8,8,7,10,9,8,10,10,5,8,8,8,10,10,8,10,10,8,10,10,10,12,13,10,13,13,7,10,10,10,13,11,10,13,13,5,8,8,8,11,10,8,10,10,7,10,10,10,13,13,10,11,13,8,10,11,10,13,13,10,13,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,11,16,13,17,13,17,16,17,17,4,7,9,9,13,10,16,12,16,17,7,6,5,7,8,9,12,12,16,17,6,9,7,9,10,10,15,15,17,17,6,7,5,7,5,7,7,10,16,17,7,9,8,9,8,10,11,11,15,17,7,7,7,8,5,8,8,9,15,17,8,7,9,9,7,8,7,2,7,15,14,13,13,15,5,10,4,3,6,17,17,15,13,17,7,11,7,6,9,16,0,0,0,0,2,0,0,0,100,0,0,0,160,64,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,49,2,0,0,0,0,0,0,0,0,0,0,0,0,0,216,49,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,2,0,0,0,0,0,0,0,0,0,0,0,0,0,40,50,2,0,0,0,0,0,0,0,0,0,0,0,0,0,80,50,2,0,0,0,0,0,0,0,0,0,0,0,0,0,120,50,2,0,0,0,0,0,160,50,2,0,200,50,2,0,0,0,0,0,0,0,0,0,240,50,2,0,24,51,2,0,0,0,0,0,0,0,0,0,64,51,2,0,104,51,2,0,144,51,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,72,49,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,13,12,14,12,16,11,13,14,5,4,5,6,7,8,10,9,12,15,10,5,5,5,6,8,9,9,13,15,10,5,5,6,6,7,8,8,11,13,12,7,5,6,4,6,7,7,11,14,11,7,7,6,6,6,7,6,10,14,14,9,8,8,6,7,7,7,11,16,11,8,8,7,6,6,7,4,7,12,10,10,12,10,10,9,10,5,6,9,10,12,15,13,14,14,14,8,7,8,0,0,0,0,4,0,0,0,81,0,0,0,56,64,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,144,64,2,0,0,0,0,0,4,0,0,0,81,0,0,0,208,63,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,40,64,2,0,0,0,0,0,4,0,0,0,113,2,0,0,64,61,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,184,63,2,0,0,0,0,0,4,0,0,0,113,2,0,0,176,58,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,40,61,2,0,0,0,0,0,2,0,0,0,81,0,0,0,48,58,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,136,58,2,0,0,0,0,0,2,0,0,0,81,0,0,0,176,57,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,8,58,2,0,0,0,0,0,4,0,0,0,81,0,0,0,72,57,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,160,57,2,0,0,0,0,0,2,0,0,0,121,0,0,0,152,56,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,24,57,2,0,0,0,0,0,2,0,0,0,121,0,0,0,232,55,2,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,104,56,2,0,0,0,0,0,2,0,0,0,121,0,0,0,56,55,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,184,55,2,0,0,0,0,0,2,0,0,0,169,0,0,0,80,54,2,0,1,0,0,0,0,232,87,225,0,224,255,96,4,0,0,0,0,0,0,0,0,55,2,0,0,0,0,0,2,0,0,0,225,0,0,0,40,53,2,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,16,54,2,0,0,0,0,0,2,0,0,0,33,1,0,0,184,51,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,52,2,0,0,0,0,0,2,5,5,7,7,8,8,8,8,8,8,9,9,9,9,9,9,5,6,6,7,7,8,8,9,8,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,9,8,9,9,9,9,9,9,9,9,7,7,7,8,8,9,8,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,9,8,9,9,9,9,9,9,9,9,9,9,8,8,8,8,9,9,9,9,9,9,9,9,10,9,10,10,10,8,8,8,9,8,9,9,9,9,9,9,9,10,9,10,9,10,8,9,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,8,9,9,9,9,9,9,10,9,10,9,10,10,10,10,10,10,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,9,10,9,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,10,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,7,8,7,9,8,9,9,4,7,6,9,8,10,10,9,8,9,9,9,9,9,8,5,6,6,8,9,10,10,9,9,9,10,10,10,10,11,7,8,8,10,10,11,11,10,10,11,11,11,12,11,11,7,8,8,10,10,11,11,10,10,11,11,12,11,11,11,8,9,9,11,11,12,12,11,11,12,11,12,12,12,12,8,9,10,11,11,12,12,11,11,12,12,12,12,12,12,8,9,9,10,10,12,11,12,12,12,12,12,12,12,13,8,9,9,11,11,11,11,12,12,12,12,13,12,13,13,9,10,10,11,11,12,12,12,13,12,13,13,13],"i8",N3,F.GLOBAL_BASE+134580),E3([14,13,9,10,10,11,11,12,12,12,13,13,12,13,13,14,13,9,11,10,12,11,13,12,12,13,13,13,13,13,13,14,9,10,10,12,12,12,12,12,13,13,13,13,13,14,14,10,11,11,12,12,12,13,13,13,14,14,13,14,14,14,10,11,11,12,12,12,12,13,12,13,14,13,14,14,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,2,12,10,13,13,13,13,13,13,13,13,4,9,9,13,13,13,13,13,13,13,13,13,13,5,10,9,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,6,6,7,7,7,7,7,7,5,6,5,7,6,7,7,8,8,8,8,5,5,5,6,6,7,7,8,8,8,8,6,7,6,7,7,8,8,8,8,8,8,6,6,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,10,10,4,6,6,7,7,9,9,10,10,11,11,4,6,6,7,7,9,9,10,10,11,11,6,8,7,9,9,10,10,11,11,13,12,6,8,8,9,9,10,10,11,11,12,13,8,9,9,10,10,12,12,13,12,14,13,8,9,9,10,10,12,12,13,13,14,14,9,11,11,12,12,13,13,14,14,15,14,9,11,11,12,12,13,13,14,14,15,14,11,12,12,13,13,14,14,15,14,15,14,11,11,12,13,13,14,14,14,14,15,15,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,4,5,5,7,7,8,8,9,8,8,9,4,5,5,7,7,8,8,9,9,8,9,6,7,7,8,8,9,8,9,9,9,9,6,7,7,8,8,9,9,9,9,9,9,7,8,8,9,9,9,9,9,9,9,9,7,8,8,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,9,9,8,11,10,7,11,10,5,9,9,7,10,10,8,10,11,4,9,9,9,12,12,9,12,12,8,12,12,11,12,12,10,12,13,7,12,12,11,12,12,10,12,13,4,9,9,9,12,12,9,12,12,7,12,11,10,13,13,11,12,12,7,12,12,10,13,13,11,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,9,9,4,5,4,6,6,7,7,9,9,4,4,5,6,6,7,7,9,9,5,6,6,7,7,8,8,10,10,6,6,6,7,7,8,8,10,10,7,7,7,8,8,9,9,11,10,7,7,7,8,8,9,9,10,11,9,9,9,10,10,11,10,11,11,9,9,9,10,10,11,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,8,8,10,10,4,5,5,8,7,8,8,11,10,3,5,5,7,8,8,8,10,11,6,8,7,10,9,10,10,11,11,6,7,8,9,9,9,10,11,12,8,8,8,10,10,11,11,13,12,8,8,9,9,10,11,11,12,13,10,11,10,12,11,13,12,14,14,10,10,11,11,12,12,13,14,14,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,6,7,6,9,9,6,6,7,9,9,8,9,9,11,11,8,9,9,11,11,6,7,7,9,9,7,8,8,10,10,6,7,8,9,10,9,10,10,11,12,9,9,10,11,12,6,7,7,9,9,6,8,7,10,9,7,8,8,10,10,9,10,9,12,11,9,10,10,12,11,8,9,9,12,11,9,10,10,12,12,9,10,10,12,12,11,12,12,13,14,11,11,12,13,14,8,9,9,11,12,9,10,10,12,12,9,10,10,12,12,11,12,11,14,13,11,12,12,13,13,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,12,12,7,8,8,10,10,8,8,9,10,11,8,9,9,11,11,10,10,11,11,13,10,11,11,12,13,6,7,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,13,11,10,11,11,12,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,11,13,12,15,12,13,13,14,15,9,10,10,12,12,9,11,10,13,12,10,11,11,13,13,11,13,11,14,12,12,13,13,14,15,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,12,12,6,8,7,10,10,8,9,9,11,11,7,8,9,10,11,10,11,11,12,12,10,10,11,11,13,7,8,8,10,10,8,9,9,11,11,8,9,8,11,10,10,11,11,13,12,10,11,10,13,11,9,10,10,12,12,10,11,11,13,12,9,10,10,12,13,12,13,13,14,15,11,11,13,12,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,13,13,14,14,12,13,11,14,12,8,9,9,12,12,9,10,10,12,12,9,10,10,12,12,12,12,12,14,14,11,12,12,14,13,9,10,10,12,12,10,11,11,13,13,10,11,11,13,12,12,12,13,14,15,12,13,13,15,14,9,10,10,12,12,10,11,10,13,12,10,11,11,12,13,12,13,12,15,13,12,13,13,14,15,11,12,12,14,13,11,12,12,14,15,12,13,13,15,14,13,12,14,12,16,13,14,14,15,15,11,11,12,14,14,11,12,11,14,13,12,13,13,14,15,13,14,12,16,12,14,14,15,16,16,8,9,9,11,12,9,10,10,12,12,9,10,10,12,13,11,12,12,13,13,12,12,13,14,14,9,10,10,12,12,10,11,10,13,12,10,10,11,12,13,12,13,13,15,14,12,12,13,13,15,9,10,10,12,13,10,11,11,12,13,10,11,11,13,13,12,13,13,14,15,12,13,12,15,14,11,12,11,14,13,12,13,13,15,14,11,11,12,13,14,14,15,14,16,15,13,12,14,13,16,11,12,12,13,14,12,13,13,14,15,11,12,11,14,14,14,14,14,15,16,13,15,12,16,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,5,8,8,5,7,6,9,9,5,6,7,9,9,8,10,9,13,12,8,9,10,12,12,5,7,7,10,10,7,9,9,11,11,6,8,9,11,11,10,11,11,14,14,9,10,11,13,14,5,7,7,9,10,7,9,8,11,11,7,9,9,11,11,9,11,10,14,13,10,11,11,14,14,8,10,10,13,13,10,11,11,15,14,9,11,11,14,14,13,14,14,17,16,12,13,13,15,16,8,10,10,13,13,9,11,11,14,15,10,11,11,14,15,12,14,13,16,16,13,15,14,15,17,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,11,11,14,14,10,11,12,14,14,7,9,9,12,11,9,11,11,13,13,9,11,11,13,13,12,13,13,15,16,11,12,13,15,16,6,9,9,11,11,8,11,10,13,12,9,11,11,13,14,11,13,12,16,14,11,13,13,16,17,10,12,11,15,15,11,13,13,16,16,11,13,13,17,16,14,15,15,17,17,14,16,16,17,18,9,11,11,14,15,10,12,12,15,15,11,13,13,16,17,13,15,13,17,15,14,15,16,18,0,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,11,11,14,14,10,11,12,14,15,6,9,9,12,11,9,11,11,13,13,8,10,11,12,13,11,13,13,16,15,11,12,13,14,15,7,9,9,11,12,9,11,11,13,13,9,11,11,13,13,11,13,13,15,16,11,13,13,15,14,9,11,11,15,14,11,13,13,17,15,10,12,12,15,15,14,16,16,17,17,13,13,15,15,17,10,11,12,15,15,11,13,13,16,16,11,13,13,15,15,14,15,15,18,18,14,15,15,17,17,8,10,10,13,13,10,12,11,15,15,10,11,12,15,15,14,15,15,18,18,13,14,14,18,18,9,11,11,15,16,11,13,13,17,17,11,13,13,16,16,15,15,16,17,0,14,15,17,0,0,9,11,11,15,15,10,13,12,18,16,11,13,13,15,16,14,16,15,20,20,14,15,16,17,0,13,14,14,20,16,14,15,16,19,18,14,15,15,19,0,18,16,0,20,20,16,18,18,0,0,12,14,14,18,18,13,15,14,18,16,14,15,16,18,20,16,19,16,0,17,17,18,18,19,0,8,10,10,14,14,10,11,11,14,15,10,11,12,15,15,13,15,14,19,17,13,15,15,17,0,9,11,11,16,15,11,13,13,16,16,10,12,13,15,17,14,16,16,18,18,14,15,15,18,0,9,11,11,15,15,11,13,13,16,17,11,13,13,18,17,14,18,16,18,18,15,17,17,18,0,12,14,14,18,18,14,15,15,20,0,13,14,15,17,0,16,18,17,0,0,16,16,0,17,20,12,14,14,18,18,14,16,15,0,18,14,16,15,18,0,16,19,17,0,0,17,18,16,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,5,6,6,5,6,6,5,6,6,6,8,8,6,7,8,5,6,6,6,8,7,6,8,8,5,6,6,6,8,8,6,8,8,6,8,8,8,9,9,8,9,9,6,8,7,7,9,8,8,9,9,5,6,6,6,8,7,6,8,8,6,8,7,8,9,9,7,8,9,6,8,8,8,9,9,8,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,7,5,8,8,8,10,10,7,9,10,5,8,8,7,10,9,8,10,10,5,8,8,8,10,10,8,10,10,8,10,10,10,12,13,10,13,13,7,10,10,10,13,11,10,13,13,4,8,8,8,11,10,8,10,10,7,10,10,10,13,13,10,11,13,8,10,11,10,13,13,10,13,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,10,17,13,17,13,17,17,17,17,3,6,8,9,11,9,15,12,16,17,6,5,5,7,7,8,10,11,17,17,7,8,7,9,9,10,13,13,17,17,8,6,5,7,4,7,5,8,14,17,9,9,8,9,7,9,8,10,16,17,12,10,7,8,4,7,4,7,16,17,12,11,9,10,6,9,5,7,14,17,14,13,10,15,4,8,3,5,14,17,17,14,11,15,6,10,6,8,15,17,0,0,0,0,2,0,0,0,64,0,0,0,248,78,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,128,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,168,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,208,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,248,66,2,0,0,0,0,0,32,67,2,0,72,67,2,0,0,0,0,0,0,0,0,0,112,67,2,0,152,67,2,0,192,67,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,24,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,12,12,13,12,11,13,5,4,6,7,8,8,9,13,9,5,4,5,5,7,9,13,9,6,5,6,6,7,8,12,12,7,5,6,4,5,8,13,11,7,6,6,5,5,6,12,10,8,8,7,7,5,3,8,10,12,13,12,12,9,6,7,4,0,0,0,81,0,0,0,144,78,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,232,78,2,0,0,0,0,0,4,0,0,0,81,0,0,0,40,78,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,128,78,2,0,0,0,0,0,4,0,0,0,113,2,0,0,152,75,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,78,2,0,0,0,0,0,4,0,0,0,113,2,0,0,8,73,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,128,75,2,0,0,0,0,0,2,0,0,0,81,0,0,0,136,72,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,224,72,2,0,0,0,0,0,2,0,0,0,169,0,0,0,160,71,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,80,72,2,0,0,0,0,0,2,0,0,0,25,0,0,0,104,71,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,71,2,0,0,0,0,0,2,0,0,0,169,0,0,0,128,70,2,0,1,0,0,0,0,232,87,225,0,224,255,96,4,0,0,0,0,0,0,0,48,71,2,0,0,0,0,0,2,0,0,0,225,0,0,0,88,69,2,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,64,70,2,0,0,0,0,0,2,0,0,0,33,1,0,0,232,67,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,16,69,2,0,0,0,0,0,2,5,5,7,7,7,7,8,8,8,8,9,9,9,9,9,9,5,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,7,7,7,8,8,8,8,9,9,9,9,10,9,10,9,10,10,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,8,9,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,8,8,8,9,9,9,9,9,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,10,10,10,10,10,10,10,10,11,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,10,10,10,10,10,10,10,10,10,10,11,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,9,8,10,8,10,9,11,11,4,7,6,8,7,9,9,10,10,11,10,11,10,12,10,4,6,7,8,8,9,9,10,10,11,11,11,11,12,12,6,8,8,10,9,11,10,12,11,12,12,12,12,13,13,6,8,8,10,10,10,11,11,11,12,12,13,12,13,13,8,9,9,11,11,12,11,12,12,13,13,13,13,13,13,8,9,9,11,11,11,12,12,12,13,13,13,13,13,13,9,10,10,12,11,13,13,13,13,14,13,13,14,14,14,9,10,11,11,12,12,13,13,13,13,13,14,15,14,14,10,11,11,12,12,13,13,14,14,14,14,14,15,16,16,10,11,11,12,13,13,13,13,15,14,14,15,16,15,16,10,12,12,13,13,14,14,14,15,15,15,15,15,15,16,11,12,12,13,13,14,14,14,15,15,15,16,15,17,16,11,12,12,13,13,13,15,15,14,16,16,16,16,16,17,11,12,12,13,13,14,14,15,14,15,15,17,17,16,16,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,3,12,12,12,12,12,12,12,12,12,12,3,12,11,12,12,12,12,12,12,12,12,12,12,4,11,10,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,6,5,4,5,5,5,6,5,6,5,6,6,5,5,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,11,10,13,13,4,6,5,8,8,9,9,10,10,11,11,14,14,4,6,6,8,8,9,9,10,10,11,11,14,14,6,8,8,9,9,10,10,11,11,12,12,15,15,6,8,8,9,9,10,11,11,11,12,12,15,15,8,9,9,11,10,11,11,12,12,13,13,16,16,8,9,9,10,10,11,11,12,12,13,13,16,16,10,10,10,12,11,12,12,13,13,14,14,16,16,10,10,10,11,12,12,12,13,13,13,14,16,17,11,12,11,12,12,13,13,14,14,15,14,18,17,11,11,12,12,12,13,13,14,14,14,15,19,18,14,15,14,15,15,17,16,17,17,17,17,21,0,14,15,15,16,16,16,16,17,17,18,17,20,21,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,7,7,9,9,4,5,5,7,7,8,8,10,9,4,5,5,7,7,8,8,10,10,6,7,7,8,8,9,9,11,10,6,7,7,8,8,9,9,10,11,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,10,10,11,10,11,11,12,12,9,10,10,10,11,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,5,7,6,9,9,5,6,7,9,9,9,9,9,11,11,8,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,7,8,10,10,9,10,10,11,12,9,10,10,11,12,5,7,7,9,9,7,8,7,10,10,7,8,8,10,10,9,10,10,12,11,9,10,10,12,11,9,10,9,12,12,9,10,10,13,12,9,10,10,12,12,12,12,12,14,14,11,12,12,13,14,9,9,10,12,12,9,10,10,13,13,9,10,10,12,13,11,12,12,14,13,11,12,12,14,14,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,9,10,10,12,12,7,8,8,11,10,8,8,9,11,11,8,9,9,11,11,11,11,11,12,13,10,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,13,11,10,11,11,13,13,9,11,10,13,12,10,11,11,13,14,10,11,11,14,13,12,12,13,12,15,12,13,13,15,15,9,10,10,12,13,10,11,10,13,12,10,11,11,13,14,12,13,11,15,13,13,13,13,15,15,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,10,10,11,12,13,6,8,8,10,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,7,8,8,10,11,8,9,9,11,11,8,9,8,11,11,10,11,11,13,13,11,12,11,13,12,9,10,10,13,12,10,11,11,14,13,10,10,11,12,13,12,13,13,15,15,12,11,13,13,14,9,10,11,12,13,10,11,11,13,14,10,11,11,13,13,12,13,13,15,15,12,13,12,15,12,8,9,9,12,12,9,11,10,13,13,9,10,10,13,13,12,13,13,15,15,12,12,12,14,14,9,10,10,13,13,10,11,11,13,14,10,11,11,14,13,13,13,14,14,16,13,13,13,15,15,9,10,10,13,13,10,11,10,14,13,10,11,11,13,14,12,14,13,16,14,12,13,13,14,15,11,12,12,15,14,11,12,13,14,15,12,13,13,16,15,14,12,15,12,16,14,15,15,16,16,11,12,12,14,14,11,13,12,15,14,12,13,13,15,16,13,15,13,17,13,14,15,15,16,17,8,9,9,12,12,9,10,10,12,13,9,10,10,13,13,12,12,12,14,14,12,13,13,15,15,9,10,10,13,12,10,11,11,14,13,10,10,11,13,14,13,13,13,15,15,12,13,14,14,16,9,10,10,13,13,10,11,11,13,14,10,11,11,14,14,13,13,13,15,15,13,14,13,16,14,11,12,12,15,14,12,13,13,16,15,11,12,13,14,15,14,15,15,17,16,13,13,15,13,16,11,12,13,14,15,13,13,13,15,16,11,13,12,15,14,14,15,15,16,16,14,15,12,17,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,8,8,5,7,7,9,9,5,7,7,9,9,8,10,9,12,12,8,9,10,12,12,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,12,11,14,14,9,10,11,13,14,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,9,11,10,14,13,10,11,11,14,14,8,10,10,14,13,10,12,12,15,14,9,11,11,15,14,13,14,14,17,17,12,14,14,16,16,8,10,10,14,14,9,11,11,14,15,10,12,12,14,15,12,14,13,16,16,13,14,15,15,18,4,7,7,10,10,7,9,9,12,11,7,9,9,11,12,10,12,11,15,14,10,11,12,14,15,7,9,9,12,12,9,11,12,13,13,9,11,12,13,13,12,13,13,15,16,11,13,13,15,16,7,9,9,12,12,9,11,10,13,12,9,11,12,13,14,11,13,12,16,14,12,13,13,15,16,10,12,12,16,15,11,13,13,17,16,11,13,13,17,16,14,15,15,17,17,14,16,16,18,20,9,11,11,15,16,11,13,12,16,16,11,13,13,16,17,14,15,14,18,16,14,16,16,17,20,5,7,7,10,10,7,9,9,12,11,7,9,10,11,12,10,12,11,15,15,10,12,12,14,14,7,9,9,12,12,9,12,11,14,13,9,10,11,12,13,12,13,14,16,16,11,12,13,14,16,7,9,9,12,12,9,12,11,13,13,9,12,11,13,13,11,13,13,16,16,12,13,13,16,15,9,11,11,16,14,11,13,13,16,16,11,12,13,16,16,14,16,16,17,17,13,14,15,16,17,10,12,12,15,15,11,13,13,16,17,11,13,13,16,16,14,16,15,19,19,14,15,15,17,18,8,10,10,14,14,10,12,12,15,15,10,12,12,16,16,14,16,15,20,19,13,15,15,17,16,9,12,12,16,16,11,13,13,16,18,11,14,13,16,17,16,17,16,20,0,15,16,18,18,20,9,11,11,15,15,11,14,12,17,16,11,13,13,17,17,15,17,15,20,20,14,16,16,17,0,13,15,14,18,16,14,15,16,0,18,14,16,16,0,0,18,16,0,0,20,16,18,18,0,0,12,14,14,17,18,13,15,14,20,18,14,16,15,19,19,16,20,16,0,18,16,19,17,19,0,8,10,10,14,14,10,12,12,16,15,10,12,12,16,16,13,15,15,18,17,14,16,16,19,0,9,11,11,16,15,11,14,13,18,17,11,12,13,17,18,14,17,16,18,18,15,16,17,18,18,9,12,12,16,16,11,13,13,16,18,11,14,13,17,17,15,16,16,18,20,16,17,17,20,20,12,14,14,18,17,14,16,16,0,19,13,14,15,18,0,16,0,0,0,0,16,16,0,19,20,13,15,14,0,0,14,16,16,18,19,14,16,15,0,20,16,20,18,0,20,17,20,17,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,6,6,5,6,6,5,6,6,7,8,8,6,8,8,5,6,6,6,8,8,7,8,8,5,7,6,6,8,8,6,8,8,6,8,8,8,9,10,8,10,10,6,8,8,8,10,8,8,10,10,5,6,6,6,8,8,6,8,8,6,8,8,8,10,10,8,8,10,6,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,10,11,8,10,11,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,11,11,11,13,14,11,15,14,8,11,11,10,13,12,11,14,14,4,8,8,8,11,11,8,11,11,7,11,11,11,15,14,10,12,14,8,11,11,11,14,14,11,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,14,17,15,17,16,14,13,16,10,7,7,10,13,10,15,16,9,4,4,6,5,7,9,16,12,8,7,8,8,8,11,16,14,7,4,6,3,5,8,15,13,8,5,7,4,5,7,16,12,9,6,8,3,3,5,16,14,13,7,10,5,5,7,15,2,0,0,0,64,0,0,0,192,92,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,80,2,0,0,0,0,0,0,0,0,0,0,0,0,0,176,80,2,0,0,0,0,0,0,0,0,0,0,0,0,0,216,80,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,81,2,0,0,0,0,0,0,0,0,0,0,0,0,0,40,81,2,0,0,0,0,0,80,81,2,0,120,81,2,0,0,0,0,0,0,0,0,0,160,81,2,0,200,81,2,0,240,81,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,72,80,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,9,13,12,14,11,10,13,8,4,5,7,8,7,8,12,11,4,3,5,5,7,9,14,11,6,5,6,6,6,7,13,13,7,5,6,4,5,7,14,11,7,6,6,5,5,6,13,9,7,8,6,7,5,3,9,9,12,13,12,14,10,6,7,4,0,0,0,81,0,0,0,88,92,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,176,92,2,0,0,0,0,0,4,0,0,0,81,0,0,0,240,91,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,72,92,2,0,0,0,0,0,4,0,0,0,113,2,0,0,96,89,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,91,2,0,0,0,0,0,4,0,0,0,113,2,0,0,208,86,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,89,2,0,0,0,0,0,2,0,0,0,81,0,0,0,80,86,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,168,86,2,0,0,0,0,0,2,0,0,0,169,0,0,0,104,85,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,24,86,2,0,0,0,0,0,2,0,0,0,25,0,0,0,48,85,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,80,85,2,0,0,0,0,0,2,0,0,0,81,0,0,0,176,84,2,0,1,0,0,0,0,224,63,225,0,224,255,96,4,0,0,0,0,0,0,0,8,85,2,0,0,0,0,0,2,0,0,0,225,0,0,0,136,83,2,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,112,84,2,0,0,0,0,0,2,0,0,0,33,1,0,0,24,82,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,64,83,2,0,0,0,0,0,2,5,5,7,6,7,7,8,8,8,8,9,9,9,9,9,9,5,6,6,7,7,8,8,8,8,9,9,9,9,9,9,10,10,5,6,6,7,7,8,8,8,8,9,8,9,9,9,9,10,9,7,7,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,7,7,7,8,8,8,8,9,9,9,9,10,9,10,10,10,10,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,7,8,8,9,8,9,9,9,9,10,9,10,10,10,10,10,10,8,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,8,9,8,9,9,9,9,10,9,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,11,11,11,10,11,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,6,8,7,9,8,10,9,11,11,4,7,7,8,7,9,9,10,10,11,11,11,11,12,12,4,7,7,7,7,9,9,10,10,11,11,12,12,12,11,6,8,8,9,9,10,10,11,11,12,12,13,12,13,13,6,8,8,9,9,10,11,11,11,12,12,13,14,13,13,8,9,9,11,11,12,12,12,13,14,13,14,14,14,15,8,9,9,11,11,11,12,13,14,13,14,15,17,14,15,9,10,10,12,12,13,13,13,14,15,15,15,16,16,16,9,11,11,12,12,13,13,14,14,14,15,16,16,16,16,10,12,12,13,13,14,14,15,15,15,16,17,17,17,17,10,12,11,13,13,15,14,15,14,16,17,16,16,16,16,11,13,12,14,14,14,14,15,16,17,16,17,17,17,17,11,13,12,14,14,14,15,17,16,17,17,17,17,17,17,12,13,13,15,16,15,16,17,17,16,16,17,17,17,17,12,13,13,15,15,15,16,17,17,17,16,17,16,17,17,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,3,10,10,10,10,10,10,4,10,10,10,10,10,10,10,10,4,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,6,5,4,5,5,5,6,5,6,5,6,6,5,5,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,10,11,13,14,4,6,5,8,8,9,9,10,10,11,11,14,14,4,6,6,8,8,9,9,10,10,11,11,14,14,6,8,8,9,9,10,10,11,11,12,12,15,15,6,8,8,9,9,10,11,11,11,12,12,15,15,8,9,9,11,10,11,11,12,12,13,13,15,16,8,9,9,10,11,11,11,12,12,13,13,16,16,10,10,11,11,11,12,12,13,13,13,14,17,16,9,10,11,12,11,12,12,13,13,13,13,16,18,11,12,11,12,12,13,13,13,14,15,14,17,17,11,11,12,12,12,13,13,13,14,14,15,18,17,14,15,15,15,15,16,16,17,17,19,18,0,20,14,15,14,15,15,16,16,16,17,18,16,20,18,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,7,7,9,9,4,5,5,7,7,8,8,10,10,4,5,5,7,7,8,8,10,10,6,7,7,8,8,9,9,11,10,6,7,7,8,8,9,9,10,10,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,10,10,11,10,11,11,12,12,9,10,10,10,10,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,5,7,6,9,9,5,6,7,9,9,9,9,9,11,11,9,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,7,8,10,10,9,10,10,11,12,9,10,10,11,12,5,7,7,9,9,7,8,7,10,10,7,8,8,10,10,9,10,9,12,11,9,10,10,12,11,9,10,9,12,12,9,10,10,13,12,9,10,10,12,13,12,12,12,14,14,11,12,12,13,14,9,9,10,12,12,9,10,10,12,12,9,10,10,12,13,11,12,11,14,13,12,12,12,14,13,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,9,10,10,12,12,7,8,8,11,10,8,8,9,11,11,8,9,9,11,11,11,11,11,12,13,10,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,13,11,10,11,11,13,13,9,11,10,13,12,10,11,11,13,13,10,11,11,13,13,12,12,13,12,15,12,13,13,15,15,9,10,10,12,13,10,11,10,13,12,10,11,11,13,14,12,13,11,15,13,12,13,13,15,15,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,10,10,11,12,12,6,8,8,10,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,11,13,13,11,11,11,13,12,9,10,10,13,12,10,11,11,14,13,10,10,11,12,13,12,13,13,15,15,12,11,13,13,14,9,10,11,12,13,10,11,11,13,13,10,11,11,13,13,12,13,13,15,15,12,13,12,15,12,8,9,9,12,12,9,11,10,13,13,9,10,10,13,13,12,13,13,15,14,12,12,12,14,13,9,10,10,13,12,10,11,11,13,13,10,11,11,14,12,13,13,14,14,16,12,13,13,15,15,9,10,10,13,13,10,11,10,14,13,10,11,11,13,14,12,14,13,15,14,13,13,13,15,15,11,13,12,15,14,11,12,13,14,15,12,13,13,16,14,14,12,15,12,16,14,15,15,17,15,11,12,12,14,14,11,13,11,15,14,12,13,13,15,15,13,15,12,17,13,14,15,15,16,16,8,9,9,12,12,9,10,10,12,13,9,10,10,13,13,12,12,12,14,14,12,13,13,15,15,9,10,10,13,12,10,11,11,14,13,10,10,11,13,14,12,13,13,15,15,12,12,13,14,16,9,10,10,13,13,10,11,11,13,14,10,11,11,14,13,12,13,13,14,15,13,14,13,16,14,11,12,12,14,14,12,13,13,15,14,11,12,13,14,15,14,15,15,16,16,13,13,15,13,16,11,12,12,14,15,12,13,13,14,15,11,13,12,15,14,14,15,15,16,16,14,15,12,16,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,7,7,5,7,7,9,9,5,7,7,9,9,8,9,9,12,12,8,9,9,11,12,5,7,7,10,10,7,9,9,11,11,7,9,9,10,11,10,11,11,13,13,9,10,11,13,13,5,7,7,10,10,7,9,9,11,10,7,9,9,11,11,9,11,10,13,13,10,11,11,14,13,8,10,10,14,13,10,11,11,15,14,9,11,11,14,14,13,14,13,16,16,12,13,13,15,15,8,10,10,13,14,9,11,11,14,14,10,11,11,14,15,12,13,13,15,15,13,14,14,15,16,5,7,7,10,10,7,9,9,11,11,7,9,9,11,12,10,11,11,14,14,10,11,11,14,14,7,9,9,12,12,9,11,11,13,13,9,11,11,13,13,12,12,13,15,15,11,12,13,15,16,7,9,9,11,11,8,11,10,13,12,9,11,11,13,13,11,13,12,15,13,11,13,13,15,16,9,12,11,15,14,11,12,13,16,15,11,13,13,15,16,14,14,15,17,16,13,15,16,0,17,9,11,11,15,15,10,13,12,15,15,11,13,13,15,16,13,15,13,16,15,14,16,15,0,19,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,12,11,14,14,10,11,12,14,14,7,9,9,12,12,9,11,11,14,13,9,10,11,12,13,11,13,13,16,16,11,12,13,13,16,7,9,9,12,12,9,11,11,13,13,9,11,11,13,13,11,13,13,15,15,12,13,12,15,14,9,11,11,15,14,11,13,12,16,16,10,12,12,15,15,13,15,15,17,19,13,14,15,16,17,10,12,12,15,15,11,13,13,16,16,11,13,13,15,16,13,15,15,0,0,14,15,15,16,16,8,10,10,14,14,10,12,12,15,15,10,12,11,15,16,14,15,15,19,20,13,14,14,18,16,9,11,11,15,15,11,13,13,17,16,11,13,13,16,16,15,17,17,20,20,14,15,16,17,20,9,11,11,15,15,10,13,12,16,15,11,13,13,15,17,14,16,15,18,0,14,16,15,18,20,12,14,14,0,0,14,14,16,0,0,13,16,15,0,0,17,17,18,0,0,16,17,19,19,0,12,14,14,18,0,12,16,14,0,17,13,15,15,18,0,16,18,17,0,17,16,18,17,0,0,7,10,10,14,14,10,12,11,15,15,10,12,12,16,15,13,15,15,18,0,14,15,15,17,0,9,11,11,15,15,11,13,13,16,16,11,12,13,16,16,14,15,16,17,17,14,16,16,16,18,9,11,12,16,16,11,13,13,17,17,11,14,13,20,17,15,16,16,19,0,15,16,17,0,19,11,13,14,17,16,14,15,15,20,18,13,14,15,17,19,16,18,18,0,20,16,16,19,17,0,12,15,14,17,0,14,15,15,18,19,13,16,15,19,20,15,18,18,0,20,17,0,16,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,4,5,6,6,5,6,6,5,6,6,7,8,8,6,8,8,5,6,6,6,8,8,7,8,8,5,7,6,7,8,8,6,8,8,7,8,8,8,9,10,8,10,10,6,8,8,8,10,8,8,10,10,5,6,6,6,8,8,7,8,8,6,8,8,8,10,10,8,8,10,7,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,10,11,8,10,11,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,11,11,11,13,14,11,14,14,8,11,11,10,14,12,11,14,14,4,8,8,8,11,11,8,11,11,7,11,11,11,14,14,10,12,14,8,11,11,11,14,14,11,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,14,14,14,15,13,15,12,16,10,8,7,9,9,8,12,16,10,5,4,6,5,6,9,16,14,8,6,8,7,8,10,16,14,7,4,6,3,5,8,16,15,9,5,7,4,4,7,16,13,10,6,7,4,3,4,13,13,12,7,9,5,5,6,12,2,0,0,0,64,0,0,0,192,105,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,120,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,160,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,200,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,240,94,2,0,0,0,0,0,24,95,2,0,64,95,2,0,0,0,0,0,0,0,0,0,104,95,2,0,144,95,2,0,184,95,2],"i8",N3,F.GLOBAL_BASE+144820),E3([2,0,0,0,64,0,0,0,16,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,9,14,12,15,13,10,13,7,4,5,6,8,7,8,12,13,4,3,5,5,6,9,15,12,6,5,6,6,6,7,14,14,7,4,6,4,6,8,15,12,6,6,5,5,5,6,14,9,7,8,6,7,5,4,10,10,13,14,14,15,10,6,8,4,0,0,0,81,0,0,0,88,105,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,176,105,2,0,0,0,0,0,4,0,0,0,81,0,0,0,240,104,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,72,105,2,0,0,0,0,0,4,0,0,0,113,2,0,0,96,102,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,104,2,0,0,0,0,0,4,0,0,0,113,2,0,0,208,99,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,102,2,0,0,0,0,0,2,0,0,0,81,0,0,0,80,99,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,168,99,2,0,0,0,0,0,2,0,0,0,169,0,0,0,104,98,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,24,99,2,0,0,0,0,0,2,0,0,0,25,0,0,0,48,98,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,80,98,2,0,0,0,0,0,2,0,0,0,81,0,0,0,176,97,2,0,1,0,0,0,0,32,53,225,0,32,245,96,4,0,0,0,0,0,0,0,8,98,2,0,0,0,0,0,2,0,0,0,169,0,0,0,200,96,2,0,1,0,0,0,0,128,211,224,0,0,122,96,4,0,0,0,0,0,0,0,120,97,2,0,0,0,0,0,2,0,0,0,169,0,0,0,224,95,2,0,1,0,0,0,0,0,88,224,0,0,16,96,4,0,0,0,0,0,0,0,144,96,2,0,0,0,0,0,2,5,5,6,6,7,7,8,7,8,8,8,8,5,6,6,7,7,8,8,8,8,8,8,8,8,5,6,6,7,7,8,7,8,8,8,8,8,8,6,7,7,7,8,8,8,8,8,9,9,9,9,6,7,7,8,7,8,8,9,9,9,9,9,9,7,8,8,8,8,8,8,9,9,9,9,9,9,7,8,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,9,9,9,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,9,9,9,9,8,8,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,6,7,6,8,7,9,7,9,8,4,7,6,8,8,9,8,10,9,10,10,11,11,4,7,7,8,8,8,8,9,10,11,11,11,11,6,8,8,10,10,10,10,11,11,12,12,12,12,7,8,8,10,10,10,10,11,11,12,12,13,13,7,9,9,11,10,12,12,13,13,14,13,14,14,7,9,9,10,11,11,12,13,13,13,13,16,14,9,10,10,12,12,13,13,14,14,15,16,15,16,9,10,10,12,12,12,13,14,14,14,15,16,15,10,12,12,13,13,15,13,16,16,15,17,17,17,10,11,11,12,14,14,14,15,15,17,17,15,17,11,12,12,14,14,14,15,15,15,17,16,17,17,10,12,12,13,14,14,14,17,15,17,17,17,17,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,12,12,12,12,12,12,4,12,12,12,12,12,12,12,12,5,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,6,5,4,5,5,5,6,5,6,5,6,6,5,5,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,10,11,11,14,13,4,6,5,8,8,9,9,11,10,12,11,15,14,4,5,6,8,8,9,9,11,11,11,11,14,14,6,8,8,10,9,11,11,11,11,12,12,15,15,6,8,8,9,9,11,11,11,12,12,12,15,15,8,10,10,11,11,11,11,12,12,13,13,15,16,8,10,10,11,11,11,11,12,12,13,13,16,16,10,11,11,12,12,12,12,13,13,13,13,17,16,10,11,11,12,12,12,12,13,13,13,14,16,17,11,12,12,13,13,13,13,14,14,15,14,18,17,11,12,12,13,13,13,13,14,14,14,15,19,18,14,15,15,15,15,16,16,18,19,18,18,0,0,14,15,15,16,15,17,17,16,18,17,18,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,8,8,9,9,4,6,5,8,8,8,8,10,10,4,5,6,8,8,8,8,10,10,7,8,8,9,9,9,9,11,11,7,8,8,9,9,9,9,11,11,8,8,8,9,9,10,11,12,12,8,8,8,9,9,10,10,12,12,10,10,10,11,11,12,12,13,13,10,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,5,7,6,9,9,5,6,7,9,9,9,9,9,11,11,9,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,7,8,10,10,10,10,10,11,12,9,10,10,11,12,5,7,7,9,9,6,8,7,10,10,7,8,8,10,10,9,10,10,12,11,9,10,10,12,11,9,10,10,12,12,10,10,10,13,12,9,10,10,12,13,12,12,12,14,14,11,12,12,13,14,9,10,10,12,12,9,10,10,12,13,10,10,10,12,13,11,12,12,14,13,12,12,12,14,13,5,7,7,10,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,10,10,10,12,12,7,8,8,11,10,8,8,9,11,11,8,9,9,11,11,10,11,11,12,13,10,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,13,11,10,11,11,13,13,9,10,10,13,13,10,11,11,13,13,10,11,11,14,13,12,11,13,12,15,12,13,13,15,15,9,10,10,12,13,10,11,10,13,13,10,11,11,13,13,12,13,11,15,13,12,13,13,15,15,5,7,7,9,10,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,10,10,11,12,12,6,8,8,10,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,7,8,8,10,11,8,9,9,11,11,8,9,8,11,11,10,11,11,13,13,10,11,11,13,12,9,10,10,13,12,10,11,11,14,13,10,10,11,13,13,12,13,13,15,15,12,11,13,12,14,9,10,10,12,13,10,11,11,13,14,10,11,11,13,13,12,13,13,15,15,12,13,12,15,12,8,9,9,12,12,9,11,10,13,13,9,10,10,13,13,12,13,13,15,15,12,12,12,14,14,9,10,10,13,13,10,11,11,13,14,10,11,11,14,12,13,13,14,14,16,12,13,13,15,14,9,10,10,13,13,10,11,10,14,13,10,11,11,13,14,12,14,13,16,14,13,13,13,14,15,11,13,12,15,14,11,12,13,14,15,12,13,13,16,15,14,12,15,12,16,14,15,15,17,16,11,12,12,14,15,11,13,11,15,14,12,13,13,15,16,13,15,12,17,13,14,15,15,16,16,8,9,9,12,12,9,10,10,13,13,9,10,10,13,13,12,13,12,14,14,12,13,13,15,15,9,10,10,13,13,10,11,11,14,13,10,10,11,13,14,12,13,13,15,14,12,12,14,14,16,9,10,10,13,13,10,11,11,13,14,10,11,11,14,13,13,13,13,15,15,13,14,13,16,14,11,12,12,14,14,12,13,13,16,15,11,12,13,14,15,14,15,15,16,16,14,13,15,13,17,11,12,12,14,15,12,13,13,15,16,11,13,12,15,15,14,15,14,16,16,14,15,12,17,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,7,8,5,7,7,9,9,5,7,7,9,9,8,9,9,12,11,8,9,9,11,12,5,7,7,10,10,7,9,9,11,11,7,9,9,10,11,10,11,11,13,13,9,10,11,12,13,5,7,7,10,10,7,9,9,11,10,7,9,9,11,11,9,11,10,13,13,10,11,11,13,13,8,10,10,14,13,10,11,11,15,14,9,11,11,15,14,13,14,13,16,14,12,13,13,15,16,8,10,10,13,14,9,11,11,14,15,10,11,11,14,15,12,13,13,15,15,12,13,14,15,16,5,7,7,10,10,7,9,9,11,11,7,9,9,11,12,10,11,11,14,13,10,11,11,14,14,7,9,9,12,12,9,11,11,13,13,9,11,11,13,13,12,13,12,14,14,11,12,13,15,15,7,9,9,12,12,8,11,10,13,12,9,11,11,13,13,11,13,12,15,13,11,13,13,15,16,9,12,11,15,15,11,12,12,16,15,11,12,13,16,16,13,14,15,16,15,13,15,15,17,17,9,11,11,14,15,10,12,12,15,15,11,13,12,15,16,13,15,14,16,16,13,15,15,17,19,5,7,7,10,10,7,9,9,12,11,7,9,9,11,11,10,11,11,14,14,10,11,11,13,14,7,9,9,12,12,9,11,11,13,13,9,10,11,12,13,11,13,12,16,15,11,12,12,14,15,7,9,9,12,12,9,11,11,13,13,9,11,11,13,12,11,13,12,15,16,12,13,13,15,14,9,11,11,15,14,11,13,12,16,15,10,11,12,15,15,13,14,14,18,17,13,14,14,15,17,10,11,11,14,15,11,13,12,15,17,11,13,12,15,16,13,15,14,18,17,14,15,15,16,18,7,10,10,14,14,10,12,12,15,15,10,12,12,15,15,14,15,15,18,17,13,15,15,16,16,9,11,11,16,15,11,13,13,16,18,11,13,13,16,16,15,16,16,0,0,14,15,16,18,17,9,11,11,15,15,10,13,12,17,16,11,12,13,16,17,14,15,16,19,19,14,15,15,0,20,12,14,14,0,0,13,14,16,19,18,13,15,16,20,17,16,18,0,0,0,15,16,17,18,19,11,14,14,0,19,12,15,14,17,17,13,15,15,0,0,16,17,15,20,19,15,17,16,19,0,8,10,10,14,15,10,12,11,15,15,10,11,12,16,15,13,14,14,19,17,14,15,15,0,0,9,11,11,16,15,11,13,13,17,16,10,12,13,16,17,14,15,15,18,18,14,15,16,20,19,9,12,12,0,15,11,13,13,16,17,11,13,13,19,17,14,16,16,18,17,15,16,16,17,19,11,14,14,18,18,13,14,15,0,0,12,14,15,19,18,15,16,19,0,19,15,16,19,19,17,12,14,14,16,19,13,15,15,0,17,13,15,14,18,18,15,16,15,0,18,16,17,17,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,6,6,5,6,6,5,6,6,7,8,8,6,8,8,5,6,6,6,8,7,7,8,8,5,6,6,7,8,8,6,8,8,6,8,8,8,9,10,8,10,10,6,8,8,7,10,8,8,10,10,5,6,6,6,8,8,7,8,8,6,8,8,8,10,10,8,8,10,6,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,11,11,8,10,11,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,11,11,11,13,14,11,13,13,7,11,11,10,13,12,11,14,14,4,8,8,8,11,11,8,11,11,8,11,11,11,14,13,10,12,13,8,11,11,11,13,13,11,13,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,13,15,17,17,15,15,12,17,11,9,7,10,10,9,12,17,10,6,3,6,5,7,10,17,15,10,6,9,8,9,11,17,15,8,4,7,3,5,9,16,16,10,5,8,4,5,8,16,13,11,5,8,3,3,5,14,13,12,7,10,5,5,7,14,2,0,0,0,64,0,0,0,152,118,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,120,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,160,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,200,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,240,107,2,0,0,0,0,0,24,108,2,0,64,108,2,0,0,0,0,0,0,0,0,0,104,108,2,0,144,108,2,0,184,108,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,16,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,13,10,17,11,11,15,7,2,4,5,8,7,9,16,13,4,3,5,6,8,11,20,10,4,5,5,7,6,8,18,15,7,6,7,8,10,14,20,10,6,7,6,9,7,8,17,9,8,10,8,10,5,4,11,12,17,19,14,16,10,7,12,4,0,0,0,81,0,0,0,48,118,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,136,118,2,0,0,0,0,0,4,0,0,0,81,0,0,0,200,117,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,32,118,2,0,0,0,0,0,4,0,0,0,113,2,0,0,56,115,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,176,117,2,0,0,0,0,0,4,0,0,0,113,2,0,0,168,112,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,32,115,2,0,0,0,0,0,2,0,0,0,81,0,0,0,40,112,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,112,2,0,0,0,0,0,2,0,0,0,169,0,0,0,64,111,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,240,111,2,0,0,0,0,0,2,0,0,0,25,0,0,0,8,111,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,40,111,2,0,0,0,0,0,2,0,0,0,49,0,0,0,176,110,2,0,1,0,0,0,0,176,31,225,0,32,245,96,3,0,0,0,0,0,0,0,232,110,2,0,0,0,0,0,2,0,0,0,169,0,0,0,200,109,2,0,1,0,0,0,0,128,211,224,0,0,122,96,4,0,0,0,0,0,0,0,120,110,2,0,0,0,0,0,2,0,0,0,169,0,0,0,224,108,2,0,1,0,0,0,0,0,88,224,0,0,16,96,4,0,0,0,0,0,0,0,144,109,2,0,0,0,0,0,2,5,4,6,6,7,7,8,8,8,8,9,8,5,5,6,7,7,8,8,8,8,9,9,9,9,5,6,5,7,7,8,8,8,8,9,9,9,9,6,7,7,8,8,8,8,9,8,9,9,9,9,6,7,7,8,7,8,8,9,9,9,9,9,9,7,8,8,8,8,9,9,9,9,9,9,9,9,7,8,8,9,8,9,8,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,9,9,10,10,8,8,9,9,9,9,9,9,9,9,10,9,10,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,10,9,9,10,10,9,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,6,6,6,6,7,7,8,8,9,9,5,7,7,8,7,7,7,9,8,10,9,10,11,5,7,7,8,8,7,7,8,9,10,10,11,11,6,8,8,9,9,9,9,11,10,12,12,15,12,6,8,8,9,9,9,9,11,11,12,11,14,12,7,8,8,10,10,12,12,13,13,13,15,13,13,7,8,8,10,10,11,11,13,12,14,15,15,15,9,10,10,11,12,13,13,14,15,14,15,14,15,8,10,10,12,12,14,14,15,14,14,15,15,14,10,12,12,14,14,15,14,15,15,15,14,15,15,10,12,12,13,14,15,14,15,15,14,15,15,15,12,15,13,15,14,15,15,15,15,15,15,15,15,13,13,15,15,15,15,15,15,15,15,15,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,5,5,4,5,5,5,5,5,6,6,6,6,5,6,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,9,11,10,14,13,4,6,5,8,8,9,9,11,10,11,11,14,14,4,5,6,8,8,9,9,10,10,11,11,14,14,6,8,8,9,9,10,10,11,11,12,12,16,15,7,8,8,9,9,10,10,11,11,12,12,15,15,9,10,10,10,10,11,11,12,12,12,12,15,15,9,10,9,10,11,11,11,12,12,12,13,15,15,10,10,11,11,11,12,12,13,12,13,13,16,15,10,11,11,11,11,12,12,13,12,13,13,16,17,11,11,12,12,12,13,13,13,14,14,15,17,17,11,11,12,12,12,13,13,13,14,14,14,16,18,14,15,15,15,15,16,16,16,16,17,18,0,0,14,15,15,15,15,17,16,17,18,17,17,18,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,8,8,8,9,9,4,6,6,8,8,8,8,9,9,7,8,8,9,9,9,9,11,10,7,8,8,9,9,9,9,10,10,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,9,9,10,10,11,11,12,12,9,9,9,10,11,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,9,9,5,6,6,9,9,5,6,6,9,9,9,10,9,12,12,9,9,10,12,12,5,7,7,10,10,7,7,8,10,10,6,7,8,10,10,10,10,10,11,13,10,9,10,12,13,5,7,7,10,10,6,8,7,10,10,7,8,7,10,10,9,10,10,12,12,10,10,10,13,11,9,10,10,13,13,10,11,10,13,13,10,10,10,13,13,12,12,13,14,14,12,12,13,14,14,9,10,10,13,13,10,10,10,13,13,10,10,10,13,13,12,13,12,15,14,12,13,12,15,15,5,7,6,10,10,7,8,8,10,10,7,8,8,10,10,10,11,10,13,13,10,10,10,12,12,7,8,8,11,10,8,8,9,10,11,8,9,9,11,11,11,10,11,11,14,11,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,14,11,10,11,11,13,13,10,11,11,14,13,10,10,11,14,13,10,11,11,14,14,12,11,13,12,16,13,14,14,15,15,10,10,11,13,14,10,11,10,14,13,10,11,11,14,14,12,13,12,15,13,13,13,14,15,16,5,7,7,10,10,7,8,8,10,10,7,8,8,10,10,10,10,10,13,13,10,10,11,12,13,6,8,8,11,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,6,8,8,10,11,8,9,9,11,11,8,9,8,12,10,10,11,11,13,13,10,11,10,14,11,10,10,10,14,13,10,11,11,14,13,10,10,11,13,13,12,14,14,16,16,12,12,13,13,15,10,11,11,13,14,10,11,11,14,15,10,11,10,13,13,13,14,13,16,16,12,13,11,15,12,9,10,10,13,13,10,11,11,14,13,10,10,11,13,14,13,14,13,16,16,13,13,13,15,16,9,10,10,13,13,10,10,11,13,14,10,11,11,15,13,13,13,14,14,18,13,13,14,16,15,9,10,10,13,14,10,11,10,14,13,10,11,11,13,14,13,14,13,16,15,13,13,14,15,16,12,13,12,16,14,11,11,13,15,15,13,14,13,16,15,15,12,16,12,17,14,15,15,17,17,12,13,13,14,16,11,13,11,16,15,12,13,14,15,16,14,15,13,0,14,14,16,16,0,0,9,10,10,13,13,10,11,10,14,14,10,11,11,13,13,12,13,13,14,16,13,14,14,16,16,9,10,10,14,14,11,11,11,14,13,10,10,11,14,14,13,13,13,16,16,13,13,14,14,17,9,10,10,13,14,10,11,11,13,15,10,11,10,14,14,13,13,13,14,17,13,14,13,17,14,12,13,13,16,14,13,14,13,16,15,12,12,13,15,16,15,15,16,18,16,15,13,15,14,0,12,12,13,14,16,13,13,14,15,16,11,12,11,16,14,15,16,16,17,17,14,15,12,17,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,8,8,5,8,7,9,9,5,7,8,9,9,9,10,9,12,12,9,9,10,12,12,6,8,8,11,10,8,10,10,11,11,8,9,10,11,11,10,11,11,14,13,10,11,11,13,13,5,8,8,10,10,8,10,10,11,11,8,10,10,11,11,10,11,11,13,13,10,11,11,13,13,9,11,11,15,14,10,12,12,15,14,10,12,11,15,14,13,14,14,16,16,12,14,13,17,15,9,11,11,14,15,10,11,12,14,16,10,11,12,14,16,12,13,14,16,16,13,13,15,15,18,5,8,8,11,11,8,10,10,12,12,8,10,10,12,13,11,12,12,14,14,11,12,12,15,15,8,10,10,13,13,10,12,12,13,13,10,12,12,14,14,12,13,13,15,15,12,13,13,16,16,7,10,10,12,12,10,12,11,13,13,10,12,12,13,14,12,13,12,15,14,12,13,13,16,16,10,12,12,17,16,12,13,13,16,15,11,13,13,17,17,15,15,15,16,17,14,15,15,19,19,10,12,12,15,16,11,13,12,15,18,11,13,13,16,16,14,15,15,17,17,14,15,15,17,19,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,16,15,11,12,12,14,15,7,10,10,13,13,10,12,12,14,13,10,11,12,13,13,12,13,13,16,16,12,12,13,15,15,8,10,10,13,13,10,12,12,14,14,10,12,12,13,13,12,13,13,16,16,12,13,13,15,15,10,12,12,16,15,11,13,13,17,16,11,12,13,16,15,13,15,15,19,17,14,15,14,17,16,10,12,12,16,16,11,13,13,16,17,12,13,13,15,17,14,15,15,17,19,14,15,15,17,17,8,11,11,16,16,10,13,12,17,17,10,12,13,16,16,15,17,16,20,19,14,15,17,18,19,9,12,12,16,17,11,13,14,17,18,11,13,13,19,18,16,17,18,19,19,15,16,16,19,19,9,12,12,16,17,11,14,13,18,17,11,13,13,17,17,16,17,16,20,19,14,16,16,18,18,12,15,15,19,17,14,15,16,0,20,13,15,16,20,17,18,16,20,0,0,15,16,19,20,0,12,15,14,18,19,13,16,15,20,19,13,16,15,20,18,17,18,17,0,20,16,17,16,0,0,8,11,11,16,15,10,12,12,17,17,10,13,13,17,16,14,16,15,18,20,15,16,16,19,19,9,12,12,16,16,11,13,13,17,16,11,13,14,17,18,15,15,16,20,20,16,16,17,19,19,9,13,12,16,17,11,14,13,17,17,11,14,14,18,17,14,16,15,18,19,16,17,18,18,19,12,14,15,19,18,13,15,16,18,0,13,14,15,0,0,16,16,17,20,0,17,17,20,20,0,12,15,15,19,20,13,15,15,0,0,14,16,15,0,0,15,18,16,0,0,17,18,16,0,19,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,7,8,8,6,8,8,5,7,7,6,8,8,7,8,8,4,7,7,7,8,8,7,8,8,7,8,8,8,9,10,8,10,10,6,8,8,8,10,8,8,10,10,5,7,7,7,8,8,7,8,8,6,8,8,8,10,10,8,8,10,6,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,11,11,8,10,10,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,12,11,11,13,13,11,13,14,7,11,11,10,13,12,11,13,14,4,8,8,8,11,11,8,11,12,8,11,11,11,13,13,10,12,13,8,11,11,11,14,13,11,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,12,13,14,13,17,12,15,17,5,5,6,10,10,11,15,16,4,3,3,7,5,7,10,16,7,7,7,10,9,11,12,16,6,5,5,9,5,6,10,16,8,7,7,9,6,7,9,16,11,7,3,6,4,5,8,16,12,9,4,8,5,7,9,16,2,0,0,0,64,0,0,0,168,133,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,120,2,0,0,0,0,0,0,0,0,0,0,0,0,0,80,120,2,0,0,0,0,0,0,0,0,0,0,0,0,0,120,120,2,0,0,0,0,0,0,0,0,0,0,0,0,0,160,120,2,0,0,0,0,0,0,0,0,0,0,0,0,0,200,120,2,0,0,0,0,0,240,120,2,0,24,121,2,0,0,0,0,0,0,0,0,0,64,121,2,0,104,121,2,0,144,121,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,232,119,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,13,10,17,11,11,15,7,2,4,5,8,7,9,16,13,4,3,5,6,8,11,20,10,4,5,5,7,6,8,18,15,7,6,7,8,10,14,20,10,6,7,6,9,7,8,17,9,8,10,8,10,5,4,11,12,17,19,14,16,10,7,12,4,0,0,0,81,0,0,0,64,133,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,152,133,2,0,0,0,0,0,4,0,0,0,81,0,0,0,216,132,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,48,133,2,0,0,0,0,0,4,0,0,0,113,2,0,0,72,130,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,132,2,0,0,0,0,0,4,0,0,0,113,2,0,0,184,127,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,48,130,2,0,0,0,0,0,2,0,0,0,81,0,0,0,56,127,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,144,127,2,0,0,0,0,0,2,0,0,0,169,0,0,0,80,126,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,0,127,2,0,0,0,0,0,2,0,0,0,25,0,0,0,24,126,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,126,2,0,0,0,0,0,4,0,0,0,113,2,0,0,136,123,2,0,1,0,0,0,0,32,21,225,0,32,245,96,3,0,0,0,0,0,0,0,0,126,2,0,0,0,0,0,2,0,0,0,169,0,0,0,160,122,2,0,1,0,0,0,0,128,211,224,0,0,122,96,4,0,0,0,0,0,0,0,80,123,2,0,0,0,0,0,2,0,0,0,169,0,0,0,184,121,2,0,1,0,0,0,0,0,88,224,0,0,16,96,4,0,0,0,0,0,0,0,104,122,2,0,0,0,0,0,2,5,4,6,6,7,7,8,8,8,8,9,8,5,5,6,7,7,8,8,8,8,9,9,9,9,5,6,5,7,7,8,8,8,8,9,9,9,9,6,7,7,8,8,8,8,9,8,9,9,9,9,6,7,7,8,7,8,8,9,9,9,9,9,9,7,8,8,8,8,9,9,9,9,9,9,9,9,7,8,8,9,8,9,8,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,9,9,10,10,8,8,9,9,9,9,9,9,9,9,10,9,10,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,10,9,9,10,10,9,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,6,6,6,6,7,7,8,8,9,9,5,7,7,8,7,7,7,9,8,10,9,10,11,5,7,7,8,8,7,7,8,9,10,10,11,11,6,8,8,9,9,9,9,11,10,12,12,15,12,6,8,8,9,9,9,9,11,11,12,11,14,12,7,8,8,10,10,12,12,13,13,13,15,13,13,7,8,8,10,10,11,11,13,12,14,15,15,15,9,10,10,11,12,13,13,14,15,14,15,14,15,8,10,10,12,12,14,14,15,14,14,15,15,14,10,12,12,14,14,15,14,15,15,15,14,15,15,10,12,12,13,14,15,14,15,15,14,15,15,15,12,15,13,15,14,15,15,15,15,15,15,15,15,13,13,15,15,15,15,15,15,15,15,15,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,11,11,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,5,5,4,5,5,5,5,5,6,6,6,6,5,6,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,9,11,10,14,13,4,6,5,8,8,9,9,11,10,11,11,14,14,4,5,6,8,8,9,9,10,10,11,11,14,14,6,8,8,9,9,10,10,11,11,12,12,16,15,7,8,8,9,9,10,10,11,11,12,12,15,15,9,10,10,10,10,11,11,12,12,12,12,15,15,9,10,9,10,11,11,11,12,12,12,13,15,15,10,10,11,11,11,12,12,13,12,13,13,16,15,10,11,11,11,11,12,12,13,12,13,13,16,17,11,11,12,12,12,13,13,13,14,14,15,17,17,11,11,12,12,12,13,13,13,14,14,14,16,18,14,15,15,15,15,16,16,16,16,17,18,0,0,14,15,15,15,15,17,16,17,18,17,17,18,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,8,8,8,9,9,4,6,6,8,8,8,8,9,9,7,8,8,9,9,9,9,11,10,7,8,8,9,9,9,9,10,10,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,9,9,10,10,11,11,12,12,9,9,9,10,11,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,9,9,5,6,6,9,9,5,6,6,9,9,9,10,9,12,12,9,9,10,12,12,5,7,7,10,10,7,7,8,10,10,6,7,8,10,10,10,10,10,11,13,10,9,10,12,13,5,7,7,10,10,6,8,7,10,10,7,8,7,10,10,9,10,10,12,12,10,10,10,13,11,9,10,10,13,13,10,11,10,13,13,10,10,10,13,13,12,12,13,14,14,12,12,13,14,14,9,10,10,13,13,10,10,10,13,13,10,10,10,13,13,12,13,12,15,14,12,13,12,15,15,5,7,6,10,10,7,8,8,10,10,7,8,8,10,10,10,11,10,13,13,10,10,10,12,12,7,8,8,11,10,8,8,9,10,11,8,9,9,11,11,11,10,11,11,14,11,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,14,11,10,11,11,13,13,10,11,11,14,13,10,10,11,14,13,10,11,11,14,14,12,11,13,12,16,13,14,14,15,15,10,10,11,13,14,10,11,10,14,13,10,11,11,14,14,12,13,12,15,13,13,13,14,15,16,5,7,7,10,10,7,8,8,10,10,7,8,8,10,10,10,10,10,13,13,10,10,11,12,13,6,8,8,11,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,6,8,8,10,11,8,9,9,11,11,8,9,8,12,10,10,11,11,13,13,10,11,10,14,11,10,10,10,14,13,10,11,11,14,13,10,10,11,13,13,12,14,14,16,16,12,12,13,13,15,10,11,11,13,14,10,11,11,14,15,10,11,10,13,13,13,14,13,16,16,12,13,11,15,12,9,10,10,13,13,10,11,11,14,13,10,10,11,13,14,13,14,13,16,16,13,13,13,15,16,9,10,10,13,13,10,10,11,13,14,10,11,11,15,13,13,13,14,14,18,13,13,14,16,15,9,10,10,13,14,10,11,10,14,13,10,11,11,13,14,13,14,13,16,15,13,13,14,15,16,12,13,12,16,14,11,11,13,15,15,13,14,13,16,15,15,12,16,12,17,14,15,15,17,17,12,13,13,14,16,11,13,11,16,15,12,13,14,15,16,14,15,13,0,14,14,16,16,0,0,9,10,10,13,13,10,11,10,14,14,10,11,11,13,13,12,13,13,14,16,13,14,14,16,16,9,10,10,14,14,11,11,11,14,13,10,10,11,14,14,13,13,13,16,16,13,13,14,14,17,9,10,10,13,14,10,11,11,13,15,10,11,10,14,14,13,13,13,14,17,13,14,13,17,14,12,13,13,16,14,13,14,13,16,15,12,12,13,15,16,15,15,16,18,16,15,13,15,14,0,12,12,13,14,16,13,13,14,15,16,11,12,11,16,14,15,16,16,17,17,14,15,12,17,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,8,8,5,8,7,9,9,5,7,8,9,9,9,10,9,12,12,9,9,10,12,12,6,8,8,11,10,8,10,10,11,11,8,9,10,11,11,10,11,11,14,13,10,11,11,13,13,5,8,8,10,10,8,10,10,11,11,8,10,10,11,11,10,11,11,13,13,10,11,11,13,13,9,11,11,15,14,10,12,12,15,14,10,12,11,15,14,13,14,14,16,16,12,14,13,17,15,9,11,11,14,15,10,11,12,14,16,10,11,12,14,16,12,13,14,16,16,13,13,15,15,18,5,8,8,11,11,8,10,10,12,12,8,10,10,12,13,11,12,12,14,14,11,12,12,15,15,8,10,10,13,13,10,12,12,13,13,10,12,12,14,14,12,13,13,15,15,12,13,13,16,16,7,10,10,12,12,10,12,11,13,13,10,12,12,13,14,12,13,12,15,14,12,13,13,16,16,10,12,12,17,16,12,13,13,16,15,11,13,13,17,17,15,15,15,16,17,14,15,15,19,19,10,12,12,15,16,11,13,12,15,18,11,13,13,16,16,14,15,15,17,17,14,15,15,17,19,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,16,15,11,12,12,14,15,7,10,10,13,13,10,12,12,14,13,10,11,12,13,13,12,13,13,16,16,12,12,13,15,15,8,10,10,13,13,10,12,12,14,14,10,12,12,13,13,12,13,13,16,16,12,13,13,15,15,10,12,12,16,15,11,13,13,17,16,11,12,13,16,15,13,15,15,19,17,14,15,14,17,16,10,12,12,16,16,11,13,13,16,17,12,13,13,15,17,14,15,15,17,19,14,15,15,17,17,8,11,11,16,16,10,13,12,17,17,10,12,13,16,16,15,17,16,20,19,14,15,17,18,19,9,12,12,16,17,11,13,14,17,18,11,13,13,19,18,16,17,18,19,19,15,16,16,19,19,9,12,12,16,17,11,14,13,18,17,11,13,13,17,17,16,17,16,20,19,14,16,16,18,18,12,15,15,19,17,14,15,16,0,20,13,15,16,20,17,18,16,20,0,0,15,16,19,20,0,12,15,14,18,19,13,16,15,20,19,13,16,15,20,18,17,18,17,0,20,16,17,16,0,0,8,11,11,16,15,10,12,12,17,17,10,13,13,17,16,14,16,15,18,20,15,16,16,19,19,9,12,12,16,16,11,13,13,17,16,11,13,14,17,18,15,15,16,20,20,16,16,17,19,19,9,13,12,16,17,11,14,13,17,17,11,14,14,18,17,14,16,15,18,19,16,17,18,18,19,12,14,15,19,18,13,15,16,18,0,13,14,15,0,0,16,16,17,20,0,17,17,20,20,0,12,15,15,19,20,13,15,15,0,0,14,16,15,0,0,15,18,16,0,0,17,18,16,0,19,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,7,8,8,6,8,8,5,7,7,6,8,8,7,8,8,4,7,7,7,8,8,7,8,8,7,8,8,8,9,10,8,10,10,6,8,8,8,10,8,8,10,10,5,7,7,7,8,8,7,8,8,6,8,8,8,10,10,8,8,10,6,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,11,11,8,10,10,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,12,11,11,13,13,11,13,14,7,11,11,10,13,12,11,13,14,4,8,8,8,11,11,8,11,12,8,11,11,11,13,13,10,12,13,8,11,11,11,14,13,11,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,12,13,14,13,17,12,15,17,5,5,6,10,10,11,15,16,4,3,3,7,5,7,10,16,7,7,7,10,9,11,12,16,6,5,5,9,5,6,10,16,8,7,7,9,6,7,9,16,11,7,3,6,4,5,8,16,12,9,4,8,5,7,9,16],"i8",N3,F.GLOBAL_BASE+155104),E3([2,0,0,0,64,0,0,0,184,148,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,135,2,0,0,0,0,0,0,0,0,0,0,0,0,0,96,135,2,0,0,0,0,0,0,0,0,0,0,0,0,0,136,135,2,0,0,0,0,0,0,0,0,0,0,0,0,0,176,135,2,0,0,0,0,0,0,0,0,0,0,0,0,0,216,135,2,0,0,0,0,0,0,136,2,0,40,136,2,0,0,0,0,0,0,0,0,0,80,136,2,0,120,136,2,0,160,136,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,248,134,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,6,12,9,14,9,9,19,6,1,5,5,8,7,9,19,12,4,4,7,7,9,11,18,9,5,6,6,8,7,8,17,14,8,7,8,8,10,12,18,9,6,8,6,8,6,8,18,9,8,11,8,11,7,5,15,16,18,18,18,17,15,11,18,4,0,0,0,81,0,0,0,80,148,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,148,2,0,0,0,0,0,4,0,0,0,81,0,0,0,232,147,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,64,148,2,0,0,0,0,0,4,0,0,0,113,2,0,0,88,145,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,147,2,0,0,0,0,0,4,0,0,0,113,2,0,0,200,142,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,145,2,0,0,0,0,0,2,0,0,0,81,0,0,0,72,142,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,160,142,2,0,0,0,0,0,2,0,0,0,169,0,0,0,96,141,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,16,142,2,0,0,0,0,0,2,0,0,0,25,0,0,0,40,141,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,141,2,0,0,0,0,0,4,0,0,0,113,2,0,0,152,138,2,0,1,0,0,0,0,32,21,225,0,32,245,96,3,0,0,0,0,0,0,0,16,141,2,0,0,0,0,0,2,0,0,0,169,0,0,0,176,137,2,0,1,0,0,0,0,128,211,224,0,0,122,96,4,0,0,0,0,0,0,0,96,138,2,0,0,0,0,0,2,0,0,0,169,0,0,0,200,136,2,0,1,0,0,0,0,0,88,224,0,0,16,96,4,0,0,0,0,0,0,0,120,137,2,0,0,0,0,0,3,4,4,6,6,7,7,8,8,9,9,9,8,4,5,5,6,6,8,8,9,8,9,9,9,9,4,5,5,7,6,8,8,8,8,9,8,9,8,6,7,7,7,8,8,8,9,9,9,9,9,9,6,7,7,7,7,8,8,9,9,9,9,9,9,7,8,8,8,8,9,8,9,9,10,9,9,10,7,8,8,8,8,9,9,9,9,9,9,10,10,8,9,9,9,9,9,9,9,9,10,10,9,10,8,9,9,9,9,9,9,9,9,9,9,10,10,9,9,9,10,9,9,10,9,9,10,10,10,10,9,9,9,9,9,9,9,10,9,10,10,10,10,9,9,9,10,9,9,10,10,9,10,10,10,10,9,9,9,10,9,9,9,10,10,10,10,10,10,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,6,6,6,6,9,8,9,8,8,8,5,7,7,7,7,8,8,8,10,8,10,8,9,5,7,7,8,7,7,8,10,10,11,10,12,11,7,8,8,9,9,9,10,11,11,11,11,11,11,7,8,8,8,9,9,9,10,10,10,11,11,12,7,8,8,9,9,10,11,11,12,11,12,11,11,7,8,8,9,9,10,10,11,11,11,12,12,11,8,10,10,10,10,11,11,14,11,12,12,12,13,9,10,10,10,10,12,11,14,11,14,11,12,13,10,11,11,11,11,13,11,14,14,13,13,13,14,11,11,11,12,11,12,12,12,13,14,14,13,14,12,11,12,12,12,12,13,13,13,14,13,14,14,11,12,12,14,12,13,13,12,13,13,14,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,5,3,11,11,11,11,11,11,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,5,5,4,5,5,6,5,5,6,5,6,6,5,6,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,10,11,11,15,15,4,5,5,8,8,9,9,11,11,12,12,16,16,4,5,6,8,8,9,9,11,11,12,12,14,14,7,8,8,9,9,10,10,11,12,13,13,16,17,7,8,8,9,9,10,10,12,12,12,13,15,15,9,10,10,10,10,11,11,12,12,13,13,15,16,9,9,9,10,10,11,11,13,12,13,13,17,17,10,11,11,11,12,12,12,13,13,14,15,0,18,10,11,11,12,12,12,13,14,13,14,14,17,16,11,12,12,13,13,14,14,14,14,15,16,17,16,11,12,12,13,13,14,14,14,14,15,15,17,17,14,15,15,16,16,16,17,17,16,0,17,0,18,14,15,15,16,16,0,15,18,18,0,16,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,8,8,9,9,4,6,5,8,7,8,8,10,9,4,6,6,8,8,8,8,10,10,7,8,7,9,9,9,9,11,10,7,8,8,9,9,9,9,10,11,8,8,8,9,9,10,10,11,11,8,8,8,9,9,10,10,11,11,9,10,10,11,10,11,11,12,12,9,10,10,10,11,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,9,9,5,6,6,10,9,5,6,6,9,10,10,10,10,12,11,9,10,10,12,12,5,7,7,10,10,7,7,8,10,11,7,7,8,10,11,10,10,11,11,13,10,10,11,11,13,6,7,7,10,10,7,8,7,11,10,7,8,7,10,10,10,11,9,13,11,10,11,10,13,11,10,10,10,14,13,10,11,11,14,13,10,10,11,13,14,12,12,13,15,15,12,12,13,13,14,10,10,10,12,13,10,11,10,13,13,10,11,11,13,13,12,13,12,14,13,12,13,13,14,13,5,7,7,10,10,7,8,8,11,10,7,8,8,10,10,11,11,11,13,13,10,11,11,12,12,7,8,8,11,11,7,8,9,10,12,8,9,9,11,11,11,10,12,11,14,11,11,12,13,13,6,8,8,10,11,7,9,7,12,10,8,9,10,11,12,10,12,10,14,11,11,12,11,13,13,10,11,11,14,14,10,10,11,13,14,11,12,12,15,13,12,11,14,12,16,12,13,14,15,16,10,10,11,13,14,10,11,10,14,12,11,12,12,13,14,12,13,11,15,12,14,14,14,15,15,5,7,7,10,10,7,8,8,10,10,7,8,8,10,11,10,11,10,12,12,10,11,11,12,13,6,8,8,11,11,8,9,9,12,11,7,7,9,10,12,11,11,11,12,13,11,10,12,11,15,7,8,8,11,11,8,9,9,11,11,7,9,8,12,10,11,12,11,13,12,11,12,10,15,11,10,11,10,14,12,11,12,11,14,13,10,10,11,13,14,13,13,13,17,15,12,11,14,12,15,10,10,11,13,14,11,12,12,14,14,10,11,10,14,13,13,14,13,16,17,12,14,11,16,12,9,10,10,14,13,10,11,10,14,14,10,11,11,13,13,13,14,14,16,15,12,13,13,14,14,9,11,10,14,13,10,10,12,13,14,11,12,11,14,13,13,14,14,14,15,13,14,14,15,15,9,10,11,13,14,10,11,10,15,13,11,11,12,12,15,13,14,12,15,14,13,13,14,14,15,12,13,12,16,14,11,11,12,15,14,13,15,13,16,14,13,12,15,12,17,15,16,15,16,16,12,12,13,13,15,11,13,11,15,14,13,13,14,15,17,13,14,12,0,13,14,15,14,15,0,9,10,10,13,13,10,11,11,13,13,10,11,11,13,13,12,13,12,14,14,13,14,14,15,17,9,10,10,13,13,11,12,11,15,12,10,10,11,13,16,13,14,13,15,14,13,13,14,15,16,10,10,11,13,14,11,11,12,13,14,10,12,11,14,14,13,13,13,14,15,13,15,13,16,15,12,13,12,15,13,12,15,13,15,15,11,11,13,14,15,15,15,15,15,17,13,12,14,13,17,12,12,14,14,15,13,13,14,14,16,11,13,11,16,15,14,16,16,17,0,14,13,11,16,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,8,8,5,8,7,9,9,5,7,8,9,9,9,10,9,12,12,9,9,10,11,12,6,8,8,10,10,8,10,10,11,11,8,9,10,11,11,10,11,11,13,13,10,11,11,12,13,6,8,8,10,10,8,10,9,11,11,8,10,10,11,11,10,11,11,13,12,10,11,11,13,12,9,11,11,15,13,10,12,11,15,13,10,11,11,15,14,12,14,13,16,15,12,13,13,17,16,9,11,11,13,15,10,11,12,14,15,10,11,12,14,15,12,13,13,15,16,12,13,13,16,16,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,14,8,11,10,13,12,10,11,12,12,13,10,12,12,13,13,12,12,13,13,15,11,12,13,15,14,7,10,10,12,12,9,12,11,13,12,10,12,12,13,14,12,13,12,15,13,11,13,12,14,15,10,12,12,16,14,11,12,12,16,15,11,13,12,17,16,13,13,15,15,17,13,15,15,20,17,10,12,12,14,16,11,12,12,15,15,11,13,13,15,18,13,14,13,15,15,13,15,14,16,16,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,15,7,10,10,13,12,10,12,12,14,13,9,10,12,12,13,11,13,13,15,15,11,12,13,13,15,8,10,10,12,13,10,12,12,13,13,10,12,11,13,13,11,13,12,15,15,12,13,12,15,13,10,12,12,16,14,11,12,12,16,15,10,12,12,16,14,14,15,14,18,16,13,13,14,15,16,10,12,12,14,16,11,13,13,16,16,11,13,12,14,16,13,15,15,18,18,13,15,13,16,14,8,11,11,16,16,10,13,13,17,16,10,12,12,16,15,14,16,15,20,17,13,14,14,17,17,9,12,12,16,16,11,13,14,16,17,11,13,13,16,16,15,15,19,18,0,14,15,15,18,18,9,12,12,17,16,11,13,12,17,16,11,12,13,15,17,15,16,15,0,19,14,15,14,19,18,12,14,14,0,16,13,14,14,19,18,13,15,16,17,16,15,15,17,18,0,14,16,16,19,0,12,14,14,16,18,13,15,13,17,18,13,15,14,17,18,15,18,14,18,18,16,17,16,0,17,8,11,11,15,15,10,12,12,16,16,10,13,13,16,16,13,15,14,17,17,14,15,17,17,18,9,12,12,16,15,11,13,13,16,16,11,12,13,17,17,14,14,15,17,17,14,15,16,0,18,9,12,12,16,17,11,13,13,16,17,11,14,13,18,17,14,16,14,17,17,15,17,17,18,18,12,14,14,0,16,13,15,15,19,0,12,13,15,0,0,14,17,16,19,0,16,15,18,18,0,12,14,14,17,0,13,14,14,17,0,13,15,14,0,18,15,16,16,0,18,15,18,15,0,17,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,7,8,8,6,7,9,5,7,7,6,8,7,7,9,8,4,7,7,7,9,8,7,8,8,7,9,8,8,8,10,9,10,10,6,8,8,7,10,8,9,10,10,5,7,7,7,8,8,7,8,9,6,8,8,9,10,10,7,8,10,6,8,9,9,10,10,8,10,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,10,11,8,10,11,5,8,8,8,11,10,8,11,10,4,9,9,8,11,11,8,11,11,8,12,11,10,12,14,11,13,13,7,11,11,10,13,11,11,13,14,4,8,9,8,11,11,8,11,12,7,11,11,11,14,13,10,11,13,8,11,12,11,13,13,10,14,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,12,12,14,12,14,14,14,14,12,6,6,8,9,9,11,14,12,4,2,6,6,7,11,14,13,6,5,7,8,9,11,14,13,8,5,8,6,8,12,14,12,7,7,8,8,8,10,14,12,6,3,4,4,4,7,14,11,7,4,6,6,6,8,14,1,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,0,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,0,0,128,63,0,0,0,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,224,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,64,65,0,0,72,65,0,0,80,65,0,0,88,65,0,0,96,65,0,0,104,65,0,0,112,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,0,0,128,63,0,0,0,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,64,65,0,0,72,65,0,0,80,65,0,0,88,65,0,0,96,65,0,0,104,65,0,0,112,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,0,0,128,63,0,0,0,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,64,64,0,0,128,64,0,0,128,64,0,0,160,64,0,0,160,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,128,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,2,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,2,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,64,0,0,224,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,32,65,0,0,32,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,200,47,1,0,32,161,2,0,200,47,1,0,96,161,2,0,200,47,1,0,160,161,2,0,200,47,1,0,224,161,2,0,200,47,1,0,32,162,2,0,200,47,1,0,96,162,2,0,200,47,1,0,160,162,2,0,200,47,1,0,224,162,2,0,200,47,1,0,32,163,2,0,200,47,1,0,96,163,2,0,200,47,1,0,160,163,2,0,2,0,0,0,0,0,0,0,32,0,0,0,64,171,3,0,216,86,4,0,0,87,4,0,40,87,4,0,232,87,4,0,2,0,0,0,0,0,0,0,32,0,0,0,64,171,3,0,168,88,4,0,208,88,4,0,40,87,4,0,232,87,4,0,2,0,0,0,0,0,0,0,16,0,0,0,64,171,3,0,248,5,4,0,32,6,4,0,72,6,4,0,8,7,4,0,2,0,0,0,0,0,0,0,32,0,0,0,64,171,3,0,200,7,4,0,240,7,4,0,72,6,4,0,8,7,4,0,2,0,0,0,0,0,0,0,16,0,0,0,64,171,3,0,88,182,3,0,128,182,3,0,168,182,3,0,104,183,3,0,2,0,0,0,0,0,0,0,32,0,0,0,64,171,3,0,40,184,3,0,80,184,3,0,168,182,3,0,104,183,3,0,2,0,0,0,0,0,0,0,16,0,0,0,24,73,1,0,152,128,3,0,152,128,3,0,192,128,3,0,192,128,3,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,128,129,3,0,128,129,3,0,192,128,3,0,192,128,3,0,2,0,0,0,0,0,0,0,16,0,0,0,24,73,1,0,176,85,3,0,176,85,3,0,216,85,3,0,216,85,3,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,152,86,3,0,152,86,3,0,216,85,3,0,216,85,3,0,2,0,0,0,0,0,0,0,16,0,0,0,24,73,1,0,32,42,3,0,32,42,3,0,72,42,3,0,72,42,3,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,8,43,3,0,8,43,3,0,72,42,3,0,72,42,3,0,2,0,0,0,0,0,0,0,16,0,0,0,24,73,1,0,8,254,2,0,8,254,2,0,48,254,2,0,48,254,2,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,240,254,2,0,240,254,2,0,48,254,2,0,48,254,2,0,2,0,0,0,0,0,0,0,16,0,0,0,224,163,2,0,8,235,2,0,8,235,2,0,48,235,2,0,48,235,2,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,240,235,2,0,240,235,2,0,48,235,2,0,48,235,2,0,2,0,0,0,0,0,0,0,16,0,0,0,224,163,2,0,8,216,2,0,8,216,2,0,48,216,2,0,48,216,2,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,240,216,2,0,240,216,2,0,48,216,2,0,48,216,2,0,2,0,0,0,0,0,0,0,16,0,0,0,224,163,2,0,168,195,2,0,168,195,2,0,208,195,2,0,208,195,2,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,144,196,2,0,144,196,2,0,208,195,2,0,208,195,2,0,2,0,0,0,0,0,0,0,16,0,0,0,224,163,2,0,248,174,2,0,248,174,2,0,32,175,2,0,32,175,2,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,224,175,2,0,224,175,2,0,32,175,2,0,32,175,2,0,0,0,0,0,255,255,255,255,255,255,255,255,10,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,F.GLOBAL_BASE+165344),E3([1,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,71,0,0,0,157,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,71,0,0,0,157,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,64,195,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,152,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,192,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,232,176,2,0,0,0,0,0,16,177,2,0,56,177,2,0,0,0,0,0,0,0,0,0,96,177,2,0,136,177,2,0,0,0,0,0,0,0,0,0,176,177,2,0,216,177,2,0,0,0,0,0,0,0,0,0,0,178,2,0,40,178,2,0,0,0,0,0,0,0,0,0,80,178,2,0,120,178,2,0,160,178,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,8,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,12,14,15,15,15,13,15,15,6,5,8,10,12,12,13,12,14,13,10,6,5,6,8,9,11,11,13,13,13,8,5,4,5,6,8,10,11,13,14,10,7,5,4,5,7,9,11,12,13,11,8,6,5,4,5,7,9,11,12,11,10,8,7,5,4,5,9,10,13,13,11,10,8,6,5,4,7,9,15,14,13,12,10,9,8,7,8,9,12,12,14,13,12,11,10,9,8,9,0,0,0,0,4,0,0,0,81,0,0,0,216,194,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,48,195,2,0,0,0,0,0,4,0,0,0,113,2,0,0,72,192,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,194,2,0,0,0,0,0,2,0,0,0,81,0,0,0,200,191,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,32,192,2,0,0,0,0,0,2,0,0,0,33,1,0,0,88,190,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,128,191,2,0,0,0,0,0,4,0,0,0,81,0,0,0,240,189,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,72,190,2,0,0,0,0,0,2,0,0,0,121,0,0,0,64,189,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,192,189,2,0,0,0,0,0,2,0,0,0,169,0,0,0,88,188,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,8,189,2,0,0,0,0,0,2,0,0,0,25,0,0,0,32,188,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,188,2,0,0,0,0,0,2,0,0,0,169,0,0,0,56,187,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,232,187,2,0,0,0,0,0,2,0,0,0,121,0,0,0,136,186,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,8,187,2,0,0,0,0,0,2,0,0,0,225,0,0,0,96,185,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,72,186,2,0,0,0,0,0,2,0,0,0,185,1,0,0,72,183,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,8,185,2,0,0,0,0,0,2,0,0,0,105,1,0,0,136,181,2,0,1,0,0,0,128,93,176,225,0,24,61,97,5,0,0,0,0,0,0,0,248,182,2,0,0,0,0,0,2,0,0,0,105,1,0,0,200,179,2,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,56,181,2,0,0,0,0,0,1,0,0,0,49,0,0,0,200,178,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,0,179,2,0,0,0,0,0,2,4,4,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,8,7,9,8,9,9,10,10,11,11,11,11,6,5,5,8,8,9,9,9,8,10,9,11,10,12,12,13,12,13,13,5,5,5,8,8,9,9,9,9,10,10,11,11,12,12,13,12,13,13,17,8,8,9,9,9,9,9,9,10,10,12,11,13,12,13,13,13,13,18,8,8,9,9,9,9,9,9,11,11,12,12,13,13,13,13,13,13,17,13,12,9,9,10,10,10,10,11,11,12,12,12,13,13,13,14,14,18,13,12,9,9,10,10,10,10,11,11,12,12,13,13,13,14,14,14,17,18,18,10,10,10,10,11,11,11,12,12,12,14,13,14,13,13,14,18,18,18,10,9,10,9,11,11,12,12,12,12,13,13,15,14,14,14,18,18,16,13,14,10,11,11,11,12,13,13,13,13,14,13,13,14,14,18,18,18,14,12,11,9,11,10,13,12,13,13,13,14,14,14,13,14,18,18,17,18,18,11,12,12,12,13,13,14,13,14,14,13,14,14,14,18,18,18,18,17,12,10,12,9,13,11,13,14,14,14,14,14,15,14,18,18,17,17,18,14,15,12,13,13,13,14,13,14,14,15,14,15,14,18,17,18,18,18,15,15,12,10,14,10,14,14,13,13,14,14,14,14,18,16,18,18,18,18,17,14,14,13,14,14,13,13,14,14,14,15,15,18,18,18,18,17,17,17,14,14,14,12,14,13,14,14,15,14,15,14,18,18,18,18,18,18,18,17,16,13,13,13,14,14,14,14,15,16,15,18,18,18,18,18,18,18,17,17,13,13,13,13,14,13,14,15,15,15,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,4,3,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,4,5,6,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,4,6,6,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,4,6,6,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,7,7,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,10,9,9,9,10,10,10,10,10,10,10,9,9,9,9,9,9,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,9,9,10,9,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,9,9,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,10,10,9,9,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,9,9,9,9,9,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,6,8,8,8,8,9,9,10,10,11,10,6,5,5,7,7,9,9,8,9,10,10,11,11,12,12,6,5,5,7,7,9,9,9,9,10,10,11,11,12,12,21,7,8,8,8,9,9,9,9,10,10,11,11,12,12,21,8,8,8,8,9,9,9,9,10,10,11,11,12,12,21,11,12,9,9,10,10,10,10,10,11,11,12,12,12,21,12,12,9,8,10,10,10,10,11,11,12,12,13,13,21,21,21,9,9,9,9,11,11,11,11,12,12,12,13,21,20,20,9,9,9,9,10,11,11,11,12,12,13,13,20,20,20,13,13,10,10,11,11,12,12,13,13,13,13,20,20,20,13,13,10,10,11,11,12,12,13,13,13,13,20,20,20,20,20,12,12,12,12,12,12,13,13,14,14,20,20,20,20,20,12,12,12,11,13,12,13,13,14,14,20,20,20,20,20,15,16,13,12,13,13,14,13,14,14,20,20,20,20,20,16,15,12,12,13,12,14,13,14,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,5,6,6,6,6,7,7,7,7,7,7,7,6,6,6,6,7,7,7,7,7,7,7,6,6,6,6,7,7,7,7,7,7,8,6,6,6,6,7,7,7,7,7,7,8,8,8,6,6,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,10,10,11,11,6,4,4,6,6,8,8,9,9,10,10,12,12,6,4,5,6,6,8,8,9,9,10,10,12,12,20,6,6,6,6,8,8,9,10,11,11,12,12,20,6,6,6,6,8,8,10,10,11,11,12,12,20,10,10,7,7,9,9,10,10,11,11,12,12,20,11,11,7,7,9,9,10,10,11,11,12,12,20,20,20,9,9,9,9,11,11,12,12,13,13,20,20,20,9,9,9,9,11,11,12,12,13,13,20,20,20,13,13,10,10,11,11,12,13,13,13,20,20,20,13,13,10,10,11,11,12,13,13,13,20,20,20,20,19,12,12,12,12,13,13,14,15,19,19,19,19,19,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,4,4,4,5,5,5,4,4,5,5,5,4,4,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,9,9,5,4,4,6,6,8,8,9,9,9,9,10,10,6,4,4,6,6,8,8,9,9,9,9,10,10,0,6,6,7,7,8,8,9,9,10,10,11,11,0,6,6,7,7,8,8,9,9,10,10,11,11,0,10,10,8,8,9,9,10,10,11,11,12,12,0,11,11,8,8,9,9,10,10,11,11,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,7,7,11,5,5,6,6,7,7,7,7,8,8,11,5,5,6,6,7,7,7,7,8,8,11,5,5,6,6,7,7,8,8,8,8,11,11,11,6,6,7,7,7,8,8,8,11,11,11,6,6,7,7,7,8,8,8,11,11,11,6,6,7,7,7,7,8,8,11,11,11,7,7,7,7,7,7,8,8,11,11,11,10,10,7,7,7,7,8,8,11,11,11,11,11,7,7,7,7,7,7,11,11,11,11,11,7,7,7,7,7,7,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,7,6,9,10,10,10,10,9,4,6,7,9,10,10,10,9,10,5,9,9,9,11,11,10,11,11,7,10,9,11,12,11,12,12,12,7,9,10,11,11,12,12,12,12,6,10,10,10,12,12,10,12,11,7,10,10,11,12,12,11,12,12,7,10,10,11,12,12,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,10,10,0,5,4,5,5,7,7,8,8,8,8,9,9,10,10,11,11,0,5,5,6,6,7,7,8,8,8,8,9,9,10,10,11,11,0,6,5,6,6,7,7,8,8,9,9,10,10,11,11,11,12,0,0,0,6,6,7,7,8,8,9,9,10,10,11,11,12,12,0,0,0,7,7,7,7,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,7,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,3,4,4,5,5,6,6,8,8,0,4,4,5,5,6,7,8,8,0,4,4,5,5,7,7,8,8,0,5,5,6,6,7,7,9,9,0,0,0,6,6,7,7,9,9,0,0,0,7,7,8,8,9,9,0,0,0,7,7,8,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,0,5,5,8,8,0,5,5,8,8,0,7,7,9,9,0,0,0,9,9,6,7,7,9,8,0,8,8,9,9,0,8,7,9,9,0,9,10,10,10,0,0,0,11,10,6,7,7,8,9,0,8,8,9,9,0,7,8,9,9,0,10,9,11,10,0,0,0,10,10,8,9,8,10,10,0,10,10,12,11,0,10,10,11,11,0,12,13,13,13,0,0,0,13,12,8,8,9,10,10,0,10,10,11,12,0,10,10,11,11,0,13,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,7,10,10,0,7,7,10,9,0,7,7,10,10,0,9,9,10,10,0,0,0,10,10,6,7,8,10,10,0,7,7,9,10,0,7,7,10,10,0,9,9,10,10,0,0,0,10,10,8,9,9,11,11,0,10,10,11,11,0,10,10,11,11,0,12,12,12,12,0,0,0,12,12,8,9,10,11,11,0,9,10,11,11,0,10,10,11,11,0,12,12,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,10,10,0,7,7,10,10,0,7,7,10,9,0,9,9,10,10,0,0,0,10,10,6,7,8,10,10,0,7,7,10,10,0,7,7,9,10,0,9,9,10,10,0,0,0,10,10,8,10,9,12,11,0,10,10,12,11,0,10,9,11,11,0,11,12,12,12,0,0,0,12,12,8,9,10,11,12,0,10,10,11,11,0,9,10,11,11,0,12,11,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,9,12,12,0,9,9,12,11,0,9,9,11,11,0,10,10,12,11,0,0,0,11,12,7,9,10,12,12,0,9,9,11,12,0,9,9,11,11,0,10,10,11,12,0,0,0,11,11,9,11,10,13,12,0,10,10,12,12,0,10,10,12,12,0,11,11,12,12,0,0,0,13,12,9,10,11,12,13,0,10,10,12,12,0,10,10,12,12,0,11,12,12,12,0,0,0,12,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,10,13,13,0,10,10,12,12,0,10,10,12,12,0,11,12,12,12,0,0,0,12,12,9,10,11,13,13,0,10,10,12,12,0,10,10,12,12,0,12,11,13,12,0,0,0,12,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,5,5,0,5,5,6,8,8,0,9,8,0,9,8,6,8,8,0,8,9,0,8,9,0,0,0,0,0,0,0,0,0,5,8,8,0,7,7,0,8,8,5,8,8,0,7,8,0,8,8,0,0,0,0,0,0,0,0,0,5,9,8,0,8,8,0,7,7,5,8,9,0,8,8,0,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,13,18,16,17,17,19,18,19,19,5,7,10,11,12,12,13,16,17,18,6,6,7,7,9,9,10,14,17,19,8,7,6,5,6,7,9,12,19,17,8,7,7,6,5,6,8,11,15,19,9,8,7,6,5,5,6,8,13,15,11,10,8,8,7,5,4,4,10,14,12,13,11,9,7,6,4,2,6,12,18,16,16,13,8,7,7,5,8,13,16,17,18,15,11,9,9,8,10,13,0,0,0,0,2,0,0,0,100,0,0,0,160,215,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,197,2,0,0,0,0,0,0,0,0,0,0,0,0,0,72,197,2,0,0,0,0,0,0,0,0,0,0,0,0,0,112,197,2,0,0,0,0,0,0,0,0,0,0,0,0,0,152,197,2,0,0,0,0,0,192,197,2,0,232,197,2,0,0,0,0,0,0,0,0,0,16,198,2,0,56,198,2,0,0,0,0,0,0,0,0,0,96,198,2,0,136,198,2,0,0,0,0,0,0,0,0,0,176,198,2,0,216,198,2,0,0,0,0,0,0,0,0,0,0,199,2,0,40,199,2,0,80,199,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,184,196,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,12,13,14,14,14,13,14,14,6,4,5,8,10,10,11,11,14,13,9,5,4,5,7,8,9,10,13,13,12,7,5,4,5,6,8,9,12,13,13,9,6,5,5,5,7,9,11,14,12,10,7,6,5,4,6,7,10,11,12,11,9,8,7,5,5,6,10,10,13,12,10,9,8,6,6,5,8,10,14,13,12,12,11,10,9,7,8,10,12,13,14,14,13,12,11,9,9,10,0,0,0,0,4,0,0,0,81,0,0,0,56,215,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,144,215,2,0,0,0,0,0,4,0,0,0,113,2,0,0,168,212,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,32,215,2,0,0,0,0,0,2,0,0,0,81,0,0,0,40,212,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,212,2,0,0,0,0,0,2,0,0,0,33,1,0,0,184,210,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,211,2,0,0,0,0,0,4,0,0,0,81,0,0,0,80,210,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,168,210,2,0,0,0,0,0,2,0,0,0,121,0,0,0,160,209,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,32,210,2,0,0,0,0,0,2,0,0,0,169,0,0,0,184,208,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,104,209,2,0,0,0,0,0,2,0,0,0,25,0,0,0,128,208,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,208,2,0,0,0,0,0,2,0,0,0,169,0,0,0,152,207,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,72,208,2,0,0,0,0,0,2,0,0,0,121,0,0,0,232,206,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,104,207,2,0,0,0,0,0,2,0,0,0,225,0,0,0,192,205,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,168,206,2,0,0,0,0,0,2,0,0,0,185,1,0,0,168,203,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,104,205,2,0,0,0,0,0,2,0,0,0,33,1,0,0,56,202,2,0,1,0,0,0,0,24,157,225,0,24,61,97,5,0,0,0,0,0,0,0,96,203,2,0,0,0,0,0,2,0,0,0,105,1,0,0,120,200,2,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,232,201,2,0,0,0,0,0,1,0,0,0,49,0,0,0,120,199,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,176,199,2,0,0,0,0,0,2,4,4,4,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,6,7,7,7,7,8,8,9,9,10,10,10,10,11,11,6,6,6,8,8,9,8,8,7,10,8,11,10,12,11,12,12,13,13,5,5,6,8,8,9,9,8,8,10,9,11,11,12,12,13,13,13,13,17,8,8,9,9,9,9,9,9,10,9,12,10,12,12,13,12,13,13,17,9,8,9,9,9,9,9,9,10,10,12,12,12,12,13,13,13,13,17,13,13,9,9,10,10,10,10,11,11,12,11,13,12,13,13,14,15,17,13,13,9,8,10,9,10,10,11,11,12,12,14,13,15,13,14,15,17,17,17,9,10,9,10,11,11,12,12,12,12,13,13,14,14,15,15,17,17,17,9,8,9,8,11,11,12,12,12,12,14,13,14,14,14,15,17,17,17,12,14,9,10,11,11,12,12,14,13,13,14,15,13,15,15,17,17,17,13,11,10,8,11,9,13,12,13,13,13,13,13,14,14,14,17,17,17,17,17,11,12,11,11,13,13,14,13,15,14,13,15,16,15,17,17,17,17,17,11,11,12,8,13,12,14,13,17,14,15,14,15,14,17,17,17,17,17,15,15,12,12,12,12,13,14,14,14,15,14,17,14,17,17,17,17,17,16,17,12,12,13,12,13,13,14,14,14,14,14,14,17,17,17,17,17,17,17,14,14,13,12,13,13,15,15,14,13,15,17,17,17,17,17,17,17,17,13,14,13,13,13,13,14,15,15,15,14,15,17,17,17,17,17,17,17,16,15,13,14,13,13,14,14,15,14,14,16,17,17,17,17,17,17,17,16,16,13,14,13,13,14,14,15,14,15,14,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,4,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,4,7,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,4,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,4,5,5,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,10,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,9,10,10,9,10,10,10,10,9,10,9,10,10,9,10,10,10,10,10,10,10,9,10,10,10,10,10,10,9,9,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,9,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,10,9,10,9,9,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,6,8,8,8,7,9,8,10,10,11,10,6,5,5,7,7,9,9,8,8,10,10,11,11,12,11,6,5,5,7,7,9,9,9,9,10,10,11,11,12,12,20,8,8,8,8,9,9,9,9,10,10,11,11,12,12,20,8,8,8,8,10,9,9,9,10,10,11,11,12,12,20,12,12,9,9,10,10,10,10,10,11,12,12,12,12,20,12,12,9,9,10,10,10,10,11,11,12,12,13,13,20,20,20,9,9,9,9,11,10,11,11,12,12,12,13,20,19,19,9,9,9,9,11,11,11,12,12,12,13,13,19,19,19,13,13,10,10,11,11,12,12,13,13,13,13,19,19,19,14,13,11,10,11,11,12,12,12,13,13,13,19,19,19,19,19,12,12,12,12,13,13,13,13,14,13,19,19,19,19,19,12,12,12,11,12,12,13,14,14,14,19,19,19,19,19,16,15,13,12,13,13,13,14,14,14,19,19,19,19,19,17,17,13,12,13,11,14,13,15,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,4,5,6,6,6,7,7,7,7,7,7,8,6,6,6,7,7,7,7,7,7,7,8,6,6,6,6,7,7,7,7,7,7,8,6,6,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,7,9,9,10,10,12,12,6,5,5,7,7,8,8,10,10,11,11,12,12,7,5,5,7,7,8,8,10,10,11,11,12,12,21,7,7,7,7,8,9,10,10,11,11,12,12,21,7,7,7,7,9,9,10,10,12,12,13,13,21,11,11,8,8,9,9,11,11,12,12,13,13,21,11,11,8,8,9,9,11,11,12,12,13,13,21,21,21,10,10,10,10,11,11,12,13,13,13,21,21,21,10,10,10,10,11,11,13,13,14,13,21,21,21,13,13,11,11,12,12,13,13,14,14,21,21,21,14,14,11,11,12,12,13,13,14,14,21,21,21,21,20,13,13,13,12,14,14,16,15,20,20,20,20,20,13,13,13,13,14,13,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,4,4,5,5,5,4,4,5,5,5,4,4,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,9,9,10,10,11,11,6,5,5,7,7,8,8,9,9,10,10,11,11,0,7,7,7,7,9,9,10,10,10,10,11,11,0,7,7,7,7,9,9,10,10,10,10,11,11,0,11,11,9,9,10,10,11,11,11,11,12,12,0,12,12,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,6,6,7,7,8,8,8,8,11,4,5,6,6,7,7,8,8,8,8,11,5,5,6,6,7,7,8,8,8,9,12,5,5,6,6,7,7,8,8,9,9,12,12,12,6,6,7,7,8,8,9,9,11,11,11,6,6,7,7,8,8,8,8,11,11,11,6,6,7,7,8,8,8,8,11,11,11,7,7,7,8,8,8,8,8,11,11,11,11,11,7,7,8,8,8,8,11,11,11,11,11,7,7,7,7,8,8,11,11,11,11,11,7,7,7,7,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,7,6,10,10,10,10,10,10,4,6,6,10,10,10,10,9,10,5,10,10,9,11,11,10,11,11,7,10,10,11,12,12,12,12,12,7,10,10,11,12,12,12,12,12,6,10,10,10,12,12,10,12,12,7,10,10,11,12,12,12,12,12,7,10,10,11,12,12,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,8,8,8,8,9,9,10,10,11,11,0,4,4,6,6,7,7,8,8,9,8,10,10,11,11,11,11,0,4,4,6,6,7,7,8,8,9,9,10,10,11,11,11,11,0,6,5,6,6,7,7,9,9,9,9,10,10,11,11,12,12,0,0,0,6,6,7,7,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,11,12,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,11,12,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,4,5,5,7,7,9,9,0,4,4,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,5,5,6,6,8,8,10,10,0,0,0,6,6,8,8,10,10,0,0,0,7,7,9,9,10,10,0,0,0,7,7,8,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,0,5,5,8,8,0,5,5,8,8,0,7,7,9,9,0,0,0,9,9,5,7,7,9,9,0,8,7,10,9,0,8,7,10,9,0,10,10,11,11,0,0,0,11,11,5,7,7,9,9,0,7,8,9,10,0,7,8,9,10,0,10,10,11,11,0,0,0,11,11,8,9,9,11,10,0,11,10,12],"i8",N3,F.GLOBAL_BASE+175348),E3([11,0,11,10,12,12,0,13,13,14,14,0,0,0,14,13,8,9,9,10,11,0,10,11,12,12,0,10,11,12,12,0,13,13,14,14,0,0,0,13,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,11,10,0,7,7,10,10,0,7,7,10,10,0,9,9,10,10,0,0,0,11,10,5,7,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,10,0,0,0,10,10,8,10,9,12,12,0,10,10,12,11,0,10,10,12,12,0,12,12,13,12,0,0,0,13,12,8,9,10,12,12,0,10,10,11,12,0,10,10,11,12,0,12,12,13,13,0,0,0,12,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,7,11,10,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,10,10,6,7,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,10,0,0,0,10,10,9,10,9,12,12,0,10,10,12,12,0,10,10,12,11,0,12,12,13,13,0,0,0,13,12,8,9,10,12,12,0,10,10,12,12,0,10,10,11,12,0,12,12,13,13,0,0,0,12,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,13,13,0,9,9,12,12,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,7,10,10,13,13,0,9,9,12,12,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,9,11,11,14,13,0,10,10,13,12,0,11,10,13,12,0,12,12,13,12,0,0,0,13,13,9,11,11,13,14,0,10,11,12,13,0,10,11,13,13,0,12,12,12,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,11,14,14,0,10,11,13,13,0,11,10,13,13,0,11,12,13,13,0,0,0,13,12,9,11,11,14,14,0,11,10,13,13,0,10,11,13,13,0,12,12,13,13,0,0,0,12,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,5,5,0,5,5,5,7,7,0,9,8,0,9,8,6,7,7,0,8,9,0,8,9,0,0,0,0,0,0,0,0,0,5,9,8,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,0,0,5,9,8,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,11,13,14,15,15,18,17,19,17,5,6,8,9,10,10,12,15,19,19,6,6,6,6,8,8,11,14,18,19,8,6,5,4,6,7,10,13,16,17,9,7,6,5,6,7,9,12,15,19,10,8,7,6,6,6,7,9,13,15,12,10,9,8,7,6,4,5,10,15,13,13,11,8,6,6,4,2,7,12,17,15,16,10,8,8,7,6,9,12,19,18,17,13,11,10,10,9,11,14,0,0,0,0,2,0,0,0,100,0,0,0,160,234,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,217,2,0,0,0,0,0,0,0,0,0,0,0,0,0,168,217,2,0,0,0,0,0,0,0,0,0,0,0,0,0,208,217,2,0,0,0,0,0,0,0,0,0,0,0,0,0,248,217,2,0,0,0,0,0,32,218,2,0,72,218,2,0,0,0,0,0,0,0,0,0,112,218,2,0,152,218,2,0,0,0,0,0,0,0,0,0,192,218,2,0,232,218,2,0,0,0,0,0,0,0,0,0,16,219,2,0,56,219,2,0,0,0,0,0,0,0,0,0,96,219,2,0,136,219,2,0,176,219,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,24,217,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,11,13,15,14,14,13,15,14,6,4,5,7,9,10,11,11,14,13,10,4,3,5,7,8,9,10,13,13,12,7,4,4,5,6,8,9,12,14,13,9,6,5,5,6,8,9,12,14,12,9,7,6,5,5,6,8,11,11,12,11,9,8,7,6,6,7,10,11,13,11,10,9,8,7,6,6,9,11,13,13,12,12,12,10,9,8,9,11,12,14,15,15,14,12,11,10,10,12,0,0,0,0,4,0,0,0,81,0,0,0,56,234,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,144,234,2,0,0,0,0,0,4,0,0,0,113,2,0,0,168,231,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,32,234,2,0,0,0,0,0,2,0,0,0,81,0,0,0,40,231,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,231,2,0,0,0,0,0,2,0,0,0,33,1,0,0,184,229,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,230,2,0,0,0,0,0,4,0,0,0,81,0,0,0,80,229,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,168,229,2,0,0,0,0,0,2,0,0,0,121,0,0,0,160,228,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,32,229,2,0,0,0,0,0,2,0,0,0,169,0,0,0,184,227,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,104,228,2,0,0,0,0,0,2,0,0,0,25,0,0,0,128,227,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,227,2,0,0,0,0,0,2,0,0,0,169,0,0,0,152,226,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,72,227,2,0,0,0,0,0,2,0,0,0,121,0,0,0,232,225,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,104,226,2,0,0,0,0,0,2,0,0,0,225,0,0,0,192,224,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,168,225,2,0,0,0,0,0,2,0,0,0,185,1,0,0,168,222,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,104,224,2,0,0,0,0,0,2,0,0,0,169,0,0,0,192,221,2,0,1,0,0,0,0,220,125,225,0,232,51,97,4,0,0,0,0,0,0,0,112,222,2,0,0,0,0,0,2,0,0,0,169,0,0,0,216,220,2,0,1,0,0,0,0,96,18,225,0,128,184,96,4,0,0,0,0,0,0,0,136,221,2,0,0,0,0,0,1,0,0,0,49,0,0,0,216,219,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,16,220,2,0,0,0,0,0,2,4,3,4,5,5,5,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,6,8,8,8,8,6,6,6,8,8,9,8,8,7,9,8,11,10,5,6,6,8,8,9,8,8,8,10,9,11,11,16,8,8,9,8,9,9,9,8,10,9,11,10,16,8,8,9,9,10,10,9,9,10,10,11,11,16,13,13,9,9,10,10,9,10,11,11,12,11,16,13,13,9,8,10,9,10,10,10,10,11,11,16,14,16,8,9,9,9,11,10,11,11,12,11,16,16,16,9,7,10,7,11,10,11,11,12,11,16,16,16,12,12,9,10,11,11,12,11,12,12,16,16,16,12,10,10,7,11,8,12,11,12,12,16,16,15,16,16,11,12,10,10,12,11,12,12,16,16,16,15,15,11,11,10,10,12,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,11,11,11,11,11,11,11,11,11,11,4,6,6,11,11,11,11,11,11,11,11,11,11,4,7,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,7,6,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,11,10,10,10,9,9,9,9,9,9,9,9,9,9,10,9,9,10,9,9,10,11,10,11,10,9,9,9,9,9,9,9,10,10,10,9,10,9,9,9,9,11,10,11,10,10,9,9,9,9,9,9,10,9,9,10,9,9,10,9,9,10,11,10,10,11,10,9,9,9,9,9,10,10,9,10,10,10,10,9,10,10,10,10,10,10,11,11,11,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,9,10,11,11,10,11,10,11,10,9,10,10,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,10,11,11,10,10,10,10,10,10,9,10,9,10,10,9,10,9,10,10,10,11,10,11,10,11,11,10,10,10,10,10,10,9,10,10,10,10,10,10,10,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,10,11,11,10,10,10,10,9,9,10,10,9,9,10,9,10,10,10,10,11,11,10,10,10,10,10,10,10,9,9,10,10,10,9,9,10,10,10,10,10,11,10,11,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,7,9,8,9,9,10,10,6,5,5,7,7,9,9,8,8,10,9,11,10,12,11,6,5,5,8,7,9,9,8,8,10,10,11,11,12,11,19,8,8,8,8,10,10,9,9,10,10,11,11,12,11,19,8,8,8,8,10,10,9,9,10,10,11,11,12,12,19,12,12,9,9,10,10,9,10,10,10,11,11,12,12,19,12,12,9,9,10,10,10,10,10,10,12,12,12,12,19,19,19,9,9,9,9,11,10,11,11,12,11,13,13,19,19,19,9,9,9,9,11,10,11,11,11,12,13,13,19,19,19,13,13,10,10,11,11,12,12,12,12,13,12,19,19,19,14,13,10,10,11,11,12,12,12,13,13,13,19,19,19,19,19,12,12,12,11,12,13,14,13,13,13,19,19,19,19,19,12,12,12,11,12,12,13,14,13,14,19,19,19,19,19,16,16,12,13,12,13,13,14,15,14,19,18,18,18,18,16,15,12,11,12,11,14,12,14,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,7,7,8,6,6,7,7,7,7,7,7,7,7,8,6,6,6,7,7,7,7,7,7,7,8,6,6,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,7,8,9,9,10,10,12,11,6,5,5,7,7,8,8,9,10,11,11,12,12,7,5,5,7,7,8,8,10,10,11,11,12,12,20,7,7,7,7,8,9,10,10,11,11,12,13,20,7,7,7,7,9,9,10,10,11,12,13,13,20,11,11,8,8,9,9,11,11,12,12,13,13,20,11,11,8,8,9,9,11,11,12,12,13,13,20,20,20,10,10,10,10,12,12,13,13,13,13,20,20,20,10,10,10,10,12,12,13,13,13,14,20,20,20,14,14,11,11,12,12,13,13,14,14,20,20,20,14,14,11,11,12,12,13,13,14,14,20,20,20,20,19,13,13,13,13,14,14,15,14,19,19,19,19,19,13,13,13,13,14,14,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,4,4,5,5,5,4,4,5,5,5,4,4,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,7,9,8,10,10,6,5,5,7,7,8,8,9,9,9,10,11,11,7,5,5,7,7,8,8,9,9,10,10,11,11,0,7,7,7,7,9,8,9,9,10,10,11,11,0,8,8,7,7,8,9,9,9,10,10,11,11,0,11,11,9,9,10,10,11,10,11,11,12,12,0,12,12,9,9,10,10,11,11,11,11,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,6,6,7,7,8,8,8,8,11,4,4,6,6,7,7,8,8,9,9,11,4,4,6,6,7,7,8,8,9,9,12,5,5,6,6,7,7,9,9,9,9,12,12,12,6,6,7,7,9,9,9,9,11,11,11,7,7,7,7,8,8,9,9,11,11,11,7,7,7,7,8,8,9,9,11,11,11,7,7,8,8,8,8,9,9,11,11,11,11,11,8,8,8,8,8,9,11,11,11,11,11,8,8,8,8,8,8,11,11,11,11,11,7,7,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,6,7,10,10,10,10,10,9,4,6,6,10,10,10,10,9,10,5,10,10,9,11,12,10,11,12,7,10,10,11,12,12,12,12,12,7,10,10,11,12,12,12,12,12,6,10,10,10,12,12,11,12,12,7,10,10,12,12,12,12,11,12,7,10,10,11,12,12,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,8,8,8,8,9,9,10,10,11,11,0,4,4,6,6,7,7,8,8,9,9,10,10,11,11,12,12,0,4,4,6,6,7,7,8,8,9,9,10,10,11,11,12,12,0,5,5,6,6,8,8,9,9,9,9,10,10,11,12,12,12,0,0,0,6,6,8,7,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,13,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,12,13,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,4,5,5,7,7,9,9,0,4,4,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,5,5,6,6,8,8,10,10,0,0,0,6,6,8,8,10,10,0,0,0,7,7,9,9,10,10,0,0,0,7,7,8,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,0,5,5,8,8,0,5,5,8,8,0,7,7,9,9,0,0,0,9,9,5,7,7,9,9,0,8,8,10,10,0,8,7,10,9,0,10,10,11,11,0,0,0,11,11,5,7,7,9,9,0,8,8,10,10,0,7,8,9,10,0,10,10,11,11,0,0,0,11,11,8,9,9,11,10,0,11,11,12,12,0,11,10,12,12,0,13,14,14,14,0,0,0,14,13,8,9,9,10,11,0,11,11,12,12,0,10,11,12,12,0,13,13,14,14,0,0,0,13,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,11,10,0,7,7,10,10,0,7,7,10,10,0,9,9,11,10,0,0,0,11,11,5,7,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,11,11,8,10,9,12,12,0,10,10,12,12,0,10,10,12,12,0,12,12,13,13,0,0,0,13,13,8,9,10,12,12,0,10,10,12,12,0,10,10,11,12,0,12,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,11,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,11,10,5,8,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,11,10,0,0,0,10,11,9,10,10,12,12,0,10,10,12,12,0,10,10,12,12,0,12,13,13,13,0,0,0,13,12,9,10,10,12,12,0,10,10,12,12,0,10,10,12,12,0,13,12,13,13,0,0,0,12,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,14,13,0,9,9,12,12,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,7,10,10,13,14,0,9,9,12,13,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,9,11,11,14,13,0,11,10,13,12,0,11,11,13,13,0,12,12,13,13,0,0,0,13,13,9,11,11,13,14,0,10,11,12,13,0,11,11,13,13,0,12,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,11,14,14,0,10,11,13,13,0,11,10,13,13,0,12,12,13,13,0,0,0,13,12,9,11,11,14,14,0,11,10,13,13,0,10,11,13,13,0,12,12,14,13,0,0,0,13,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,5,5,0,5,5,5,8,7,0,9,9,0,9,8,5,7,8,0,9,9,0,8,9,0,0,0,0,0,0,0,0,0,5,9,9,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,0,0,5,9,9,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,11,12,14,15,15,17,17,18,18,5,6,6,8,9,10,13,17,18,19,7,5,4,6,8,9,11,15,19,19,8,6,5,5,6,7,11,14,16,17,9,7,7,6,7,7,10,13,15,19,10,8,7,6,7,6,7,9,14,16,12,10,9,7,7,6,4,5,10,15,14,13,11,7,6,6,4,2,7,13,16,16,15,9,8,8,8,6,9,13,19,19,17,12,11,10,10,9,11,14,0,0,0,0,2,0,0,0,100,0,0,0,160,253,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,236,2,0,0,0,0,0,0,0,0,0,0,0,0,0,168,236,2,0,0,0,0,0,0,0,0,0,0,0,0,0,208,236,2,0,0,0,0,0,0,0,0,0,0,0,0,0,248,236,2,0,0,0,0,0,32,237,2,0,72,237,2,0,0,0,0,0,0,0,0,0,112,237,2,0,152,237,2,0,0,0,0,0,0,0,0,0,192,237,2,0,232,237,2,0,0,0,0,0,0,0,0,0,16,238,2,0,56,238,2,0,0,0,0,0,0,0,0,0,96,238,2,0,136,238,2,0,176,238,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,24,236,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,11,13,14,14,13,13,16,14,6,3,4,7,9,9,10,11,14,13,10,4,3,5,7,7,9,10,13,15,12,7,4,4,6,6,8,10,13,15,12,8,6,6,6,6,8,10,13,14,11,9,7,6,6,6,7,8,12,11,13,10,9,8,7,6,6,7,11,11,13,11,10,9,9,7,7,6,10,11,13,13,13,13,13,11,9,8,10,12,12,15,15,16,15,12,11,10,10,12,0,0,0,0,4,0,0,0,81,0,0,0,56,253,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,144,253,2,0,0,0,0,0,4,0,0,0,113,2,0,0,168,250,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,32,253,2,0,0,0,0,0,2,0,0,0,81,0,0,0,40,250,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,250,2,0,0,0,0,0,2,0,0,0,33,1,0,0,184,248,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,249,2,0,0,0,0,0,4,0,0,0,81,0,0,0,80,248,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,168,248,2,0,0,0,0,0,2,0,0,0,121,0,0,0,160,247,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,32,248,2,0,0,0,0,0,2,0,0,0,169,0,0,0,184,246,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,104,247,2,0,0,0,0,0,2,0,0,0,25,0,0,0,128,246,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,246,2,0,0,0,0,0,2,0,0,0,169,0,0,0,152,245,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,72,246,2,0,0,0,0,0,2,0,0,0,121,0,0,0,232,244,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,104,245,2,0,0,0,0,0,2,0,0,0,225,0,0,0,192,243,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,168,244,2,0,0,0,0,0,2,0,0,0,185,1,0,0,168,241,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,104,243,2,0,0,0,0,0,2,0,0,0,169,0,0,0,192,240,2,0,1,0,0,0,0,220,125,225,0,232,51,97,4,0,0,0,0,0,0,0,112,241,2,0,0,0,0,0,2,0,0,0,169,0,0,0,216,239,2,0,1,0,0,0,0,96,18,225,0,128,184,96,4,0,0,0,0,0,0,0,136,240,2,0,0,0,0,0,1,0,0,0,49,0,0,0,216,238,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,16,239,2,0,0,0,0,0,2,4,3,4,5,5,5,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,6,8,8,8,8,6,6,6,8,8,8,8,8,7,9,8,10,10,5,6,6,8,8,9,9,8,8,10,10,10,10,16,9,9,9,9,9,9,9,8,10,9,11,11,16,8,9,9,9,9,9,9,9,10,10,11,11,16,13,13,9,9,10,9,9,10,11,11,11,12,16,13,14,9,8,10,8,9,9,10,10,12,11,16,14,16,9,9,9,9,11,11,12,11,12,11,16,16,16,9,7,9,6,11,11,11,10,11,11,16,16,16,11,12,9,10,11,11,12,11,13,13,16,16,16,12,11,10,7,12,10,12,12,12,12,16,16,15,16,16,10,11,10,11,13,13,14,12,16,16,16,15,15,12,10,11,11,13,11,12,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,11,11,11,11,11,11,11,11,11,11,4,7,7,11,11,11,11,11,11,11,11,11,11,5,8,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,6,6,7,7,7,7,8,7,8,8,8,8,8,8,8,8,8,8,10,6,6,7,7,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,8,8,9,8,9,9,9,9,9,9,9,9,10,7,7,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,10,11,11,8,7,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,9,11,11,11,11,11,9,9,9,9,9,9,10,9,9,10,9,10,9,9,10,9,11,11,11,11,11,9,9,9,9,9,9,9,10,10,10,10,9,10,10,9,10,11,11,11,11,11,9,9,9,9,10,10,10,9,10,10,10,10,9,10,10,9,11,11,11,11,11,11,11,9,9,9,9,10,10,10,10,9,10,10,10,10,10,11,11,11,11,11,11,11,10,9,10,10,10,10,10,10,10,9,10,9,10,10,11,11,11,11,11,11,11,10,9,10,9,10,10,9,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,9,10,10,10,10,10,9,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,9,10,10,11,11,11,11,11,11,11,11,11,10,10,10,9,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,10,11,9,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,7,7,8,7,9,8,10,9,6,5,5,8,8,9,9,8,8,9,9,11,10,11,10,6,5,5,8,8,9,9,8,8,9,9,10,10,11,11,18,8,8,9,8,10,10,9,9,10,10,10,10,11,10,18,8,8,9,9,10,10,9,9,10,10,11,11,12,12,18,12,13,9,10,10,10,9,10,10,10,11,11,12,11,18,13,13,9,9,10,10,10,10,10,10,11,11,12,12,18,18,18,10,10,9,9,11,11,11,11,11,12,12,12,18,18,18,10,9,10,9,11,10,11,11,11,11,13,12,18,18,18,14,13,10,10,11,11,12,12,12,12,12,12,18,18,18,14,13,10,10,11,10,12,12,12,12,12,12,18,18,18,18,18,12,12,11,11,12,12,13,13,13,14,18,18,18,18,18,12,12,11,11,12,11,13,13,14,13,18,18,18,18,18,16,16,11,12,12,13,13,13,14,13,18,18,18,18,18,16,15,12,11,12,11,13,11,15,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,3,5,5,6,6,7,7,7,7,7,7,9,5,5,6,6,7,7,7,7,8,7,8,5,5,6,6,7,7,7,7,7,7,9,6,6,7,7,7,7,8,7,7,8,9,9,9,7,7,7,7,7,7,7,8,9,9,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,7,7,8,8,9,9,9,8,8,8,8,7,7,8,8,9,9,9,9,8,8,8,7,7,8,8,9,9,9,8,8,8,8,7,7,8,8,9,9,9,8,8,7,7,7,7,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,8,8,10,10,11,10,6,5,5,7,7,8,8,9,9,10,10,12,11,6,5,5,7,7,8,8,9,9,10,10,12,11,21,7,7,7,7,9,9,10,10,11,11,12,12,21,7,7,7,7,9,9,10,10,11,11,12,12,21,12,12,9,9,10,10,11,11,11,11,12,12,21,12,12,9,9,10,10,11,11,12,12,12,12,21,21,21,11,11,10,10,11,12,12,12,13,13,21,21,21,11,11,10,10,12,12,12,12,13,13,21,21,21,15,15,11,11,12,12,13,13,13,13,21,21,21,15,16,11,11,12,12,13,13,14,14,21,21,21,21,20,13,13,13,13,13,13,14,14,20,20,20,20,20,13,13,13,13,13,13,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,4,4,5,5,5,4,4,5,5,5,4,4,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,8,8,10,9,10,10,6,5,5,7,7,9,9,9,9,10,10,11,11,6,5,5,7,7,9,9,10,9,11,10,11,11,0,6,6,7,7,9,9,10,10,11,11,12,12,0,7,7,7,7,9,9,10,10,11,11,12,12,0,11,11,8,8,10,10,11,11,12,12,12,12,0,11,12,9,8,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,4,6,6,7,7,8,8,8,8,11,4,4,6,6,7,7,8,8,8,8,11,4,4,6,6,7,7,8,8,8,8,11,6,6,6,6,8,8,8,8,9,9,11,11,11,6,6,7,8,8,8,8,9,11,11,11,7,7,8,8,8,8,8,8,11,11,11,7,7,8,8,8,8,8,8,11,11,11,8,8,8,8,8,8,8,8,11,11,11,10,10,8,8,8,8,8,8,11,11,11,10,10,8,8,8,8,8,8,11,11,11,10,10,7,7,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,6,6,9,9,10,10,10,9,4,6,6,9,10,9,10,9,10,6,9,9,10,12,11,10,11,11,7,10,9,11,12,12,12,12,12,7,10,10,11,12,12,12,12,12,6,10,10,10,12,12,11,12,12,7,9,10,11,12,12,12,12,12,7,10,9,12,12,12,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,9,9,9,10,10,10,0,4,4,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,4,4,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,7,7,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,3,4,6,6,7,7,9,9,0,4,4,6,6,7,7,9,10,0,4,4,6,6,7,7,10,9,0,5,5,7,7,8,8,10,10,0,0,0,7,6,8,8,10,10,0,0,0,7,7,9,9,11,11,0,0,0,7,7,9,9,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,0,5,5,8,8,0,5,5,8,8,0,7,7,9,9,0,0,0,9,9,5,7,7,9,9,0,8,8,10,10,0,8,7,10,9,0,10,10,11,11,0,0,0,11,11,5,7,7,9,9,0,8,8,10,10,0,7,8,9,10,0,10,10,11,11,0,0,0,11,11,8,9,9,11,11,0,11,11,12,12,0,11,10,12,12,0,13,14,14,14,0,0,0,14,13,8,9,9,11,11,0,11,11,12,12,0,10,11,12,12,0,14,13,14,14,0,0,0,13,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,11,10,0,7,7,10,10,0,7,7,10,10,0,9,9,11,10,0,0,0,11,11,5,7,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,11,11,8,10,9,12,12,0,10,10,12,12,0,10,10,12,12,0,12,12,13,13,0,0,0,13,13,8,9,10,12,12,0,10,10,11,12,0,10,10,12,12,0,12,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,11,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,11,10,5,8,8,11,11,0,7,7,10,10,0,7,7,10,10,0,9,9,11,11,0,0,0,10,11,8,10,10,12,12,0,10,10,12,12,0,10,10,12,12,0,12,13,13,13,0,0,0,14,13,8,10,10,12,12,0,10,10,12,12,0,10,10,12,12,0,13,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,14,13,0,9,9,13,12,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,7,10,10,13,14,0,9,9,12,13,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,9,11,11,14,13,0,11,10,14,13,0,11,11,13,13,0,12,12,13,13,0,0,0,13,13,9,11,11,13,14,0,10,11,13,14,0,11,11,13,13,0,12,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,11,14,14,0,11,11,13,13,0,11,10,13,13,0,12,12,13,13],"i8",N3,F.GLOBAL_BASE+185588),E3([13,13,9,11,11,14,14,0,11,11,13,13,0,10,11,13,13,0,12,12,14,13,0,0,0,13,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,5,5,0,5,5,5,8,7,0,9,9,0,9,8,5,7,8,0,9,9,0,8,9,0,0,0,0,0,0,0,0,0,5,9,8,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,0,0,5,9,9,0,8,8,0,8,8,5,9,9,0,8,8,0,8,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,9,11,11,13,14,19,17,17,19,5,4,5,8,10,10,13,16,18,19,7,4,4,5,8,9,12,14,17,19,8,6,5,5,7,7,10,13,16,18,10,8,7,6,5,5,8,11,17,19,11,9,7,7,5,4,5,8,17,19,13,11,8,7,7,5,5,7,16,18,14,13,8,6,6,5,5,7,16,18,18,16,10,8,8,7,7,9,16,18,18,18,12,10,10,9,9,10,17,18,0,0,0,0,2,0,0,0,100,0,0,0,184,41,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,168,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,208,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,248,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,72,0,3,0,0,0,0,0,112,0,3,0,152,0,3,0,0,0,0,0,0,0,0,0,192,0,3,0,232,0,3,0,0,0,0,0,0,0,0,0,16,1,3,0,56,1,3,0,96,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,24,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,9,13,10,12,12,12,12,12,6,4,6,8,6,8,10,10,11,12,8,5,4,10,4,7,8,9,10,11,13,8,10,8,9,9,11,12,13,14,10,6,4,9,3,5,6,8,10,11,11,8,6,9,5,5,6,7,9,11,12,9,7,11,6,6,6,7,8,10,12,11,9,12,7,7,6,6,7,9,13,12,10,13,9,8,7,7,7,8,11,15,11,15,11,10,9,8,7,7,0,0,0,0,8,0,0,0,161,25,0,0,0,16,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,41,3,0,0,0,0,0,4,0,0,0,113,2,0,0,112,13,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,15,3,0,0,0,0,0,4,0,0,0,113,2,0,0,224,10,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,13,3,0,0,0,0,0,2,0,0,0,81,0,0,0,96,10,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,184,10,3,0,0,0,0,0,2,0,0,0,81,0,0,0,224,9,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,56,10,3,0,0,0,0,0,2,0,0,0,33,1,0,0,112,8,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,152,9,3,0,0,0,0,0,4,0,0,0,81,0,0,0,8,8,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,96,8,3,0,0,0,0,0,2,0,0,0,121,0,0,0,88,7,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,216,7,3,0,0,0,0,0,2,0,0,0,169,0,0,0,112,6,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,32,7,3,0,0,0,0,0,2,0,0,0,25,0,0,0,56,6,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,6,3,0,0,0,0,0,2,0,0,0,225,0,0,0,16,5,3,0,1,0,0,0,0,134,115,225,0,80,22,97,4,0,0,0,0,0,0,0,248,5,3,0,0,0,0,0,2,0,0,0,33,1,0,0,160,3,3,0,1,0,0,0,0,0,245,224,0,0,149,96,5,0,0,0,0,0,0,0,200,4,3,0,0,0,0,0,2,0,0,0,185,1,0,0,136,1,3,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,72,3,3,0,0,0,0,0,3,5,5,6,6,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,9,11,5,6,7,7,8,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,11,5,5,7,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,11,7,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,10,9,10,11,11,11,7,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,5,5,7,7,9,8,10,9,10,10,11,10,11,11,6,5,5,7,7,8,9,10,10,11,10,12,11,12,11,13,12,6,5,5,7,7,9,9,10,10,11,11,12,12,13,12,13,13,18,8,8,8,8,9,9,10,11,11,11,12,11,13,11,13,12,18,8,8,8,8,10,10,11,11,12,12,13,13,13,13,13,14,18,12,12,9,9,11,11,11,11,12,12,13,12,13,12,13,13,20,13,12,9,9,11,11,11,11,12,12,13,13,13,14,14,13,20,18,19,11,12,11,11,12,12,13,13,13,13,13,13,14,13,18,19,19,12,11,11,11,12,12,13,12,13,13,13,14,14,13,18,17,19,14,15,12,12,12,13,13,13,14,14,14,14,14,14,19,19,19,16,15,12,11,13,12,14,14,14,13,13,14,14,14,19,18,19,18,19,13,13,13,13,14,14,14,13,14,14,14,14,18,17,19,19,19,13,13,13,11,13,11,13,14,14,14,14,14,19,17,17,18,18,16,16,13,13,13,13,14,13,15,15,14,14,19,19,17,17,18,16,16,13,11,14,10,13,12,14,14,14,14,19,19,19,19,19,18,17,13,14,13,11,14,13,14,14,15,15,19,19,19,17,19,18,18,14,13,12,11,14,11,15,15,15,15,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,13,13,13,13,13,13,13,13,13,13,13,13,4,7,7,13,13,13,13,13,13,13,13,13,13,13,13,3,8,6,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,4,4,5,5,6,5,5,5,5,6,4,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,8,9,10,10,10,10,7,5,5,7,7,8,8,9,9,10,10,10,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,10,10,10,10,10,11,11,0,13,13,9,9,9,9,10,10,11,11,11,11,0,0,0,10,10,10,10,10,10,11,11,11,11,0,0,0,10,10,10,10,10,10,11,11,12,12,0,0,0,14,14,11,11,11,11,12,12,12,12,0,0,0,14,14,11,11,11,11,12,12,12,12,0,0,0,0,0,12,12,12,12,12,12,13,13,0,0,0,0,0,12,12,12,12,12,12,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,6,6,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,9,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,11,11,10,11,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,7,11,11,12,11,11,12,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,4,4,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,4,4,6,6,8,8,9,9,9,9,10,10,11,11,12,12,0,4,4,6,6,8,8,9,9,9,9,10,10,11,11,12,12,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,7,7,8,9,10,10,10,10,11,11,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,9,10,10,10,11,11,12,12,12,12,0,0,0,0,0,10,10,10,10,11,11,11,12,12,12,13,13,0,0,0,0,0,0,0,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,13,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,12,12,12,12,13,12,13,13,13,13,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,3,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,6,6,7,7,7,7,9,9,0,0,0,7,6,7,7,9,9,0,0,0,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,9,9,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,5,5,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,7,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,3,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,5,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,6,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,5,5,0,0,0,5,5,0,0,0,8,7,0,0,0,0,0,0,0,4,6,6,0,0,0,8,8,0,0,0,8,7,0,0,0,10,10,0,0,0,0,0,0,0,4,6,6,0,0,0,8,8,0,0,0,7,8,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,5,7,8,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,5,8,8,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,10,10,0,0,0,10,10,0,0,0,9,10,0,0,0,11,10,0,0,0,0,0,0,0,8,10,10,0,0,0,10,10,0,0,0,10,10,0,0,0,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,4,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,11,10],"i8",N3,F.GLOBAL_BASE+195830),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,8,10,14,11,11,12,16,15,17,5,5,7,9,7,8,10,13,17,17,7,5,5,10,5,7,8,11,13,15,10,8,10,8,8,8,11,15,18,18,8,5,5,8,3,4,6,10,14,16,9,7,6,7,4,3,5,9,14,18,10,9,8,10,6,5,6,9,14,18,12,12,11,12,8,7,8,11,14,18,14,13,12,10,7,5,6,9,14,18,14,14,13,10,6,5,6,8,11,16,0,0,0,0,2,0,0,0,100,0,0,0,72,85,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,192,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,232,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,16,44,3,0,0,0,0,0,0,0,0,0,0,0,0,0,56,44,3,0,0,0,0,0,0,0,0,0,0,0,0,0,96,44,3,0,0,0,0,0,136,44,3,0,176,44,3,0,0,0,0,0,0,0,0,0,216,44,3,0,0,45,3,0,0,0,0,0,0,0,0,0,40,45,3,0,80,45,3,0,120,45,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,48,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,11,11,11,11,10,11,12,11,5,2,11,5,6,6,7,9,11,12,11,9,6,10,6,7,8,9,10,11,11,5,11,7,8,8,9,11,13,14,11,6,5,8,4,5,7,8,10,11,10,6,7,7,5,5,6,8,9,11,10,7,8,9,6,6,6,7,8,9,11,9,9,11,7,7,6,6,7,9,12,12,10,13,9,8,7,7,7,8,11,13,11,14,11,10,9,8,7,7,0,0,0,0,8,0,0,0,161,25,0,0,144,59,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,56,85,3,0,0,0,0,0,4,0,0,0,113,2,0,0,0,57,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,59,3,0,0,0,0,0,4,0,0,0,113,2,0,0,112,54,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,56,3,0,0,0,0,0,2,0,0,0,81,0,0,0,240,53,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,72,54,3,0,0,0,0,0,2,0,0,0,81,0,0,0,112,53,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,200,53,3,0,0,0,0,0,2,0,0,0,33,1,0,0,0,52,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,40,53,3,0,0,0,0,0,4,0,0,0,81,0,0,0,152,51,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,240,51,3,0,0,0,0,0,2,0,0,0,121,0,0,0,232,50,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,104,51,3,0,0,0,0,0,2,0,0,0,169,0,0,0,0,50,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,176,50,3,0,0,0,0,0,2,0,0,0,25,0,0,0,200,49,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,49,3,0,0,0,0,0,2,0,0,0,169,0,0,0,224,48,3,0,1,0,0,0,0,136,93,225,0,176,19,97,4,0,0,0,0,0,0,0,144,49,3,0,0,0,0,0,2,0,0,0,225,0,0,0,184,47,3,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,160,48,3,0,0,0,0,0,2,0,0,0,185,1,0,0,160,45,3,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,96,47,3,0,0,0,0,0,2,5,5,6,6,7,7,7,7,8,8,8,8,8,8,8,8,9,9,9,9,11,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,10,11,6,6,7,7,8,8,8,8,9,9,9,9,9,9,10,9,10,10,10,10,11,7,7,7,7,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,12,11,11,7,7,8,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,12,11,12,8,8,8,8,9,9,9,9,9,10,10,10,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,12,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,12,11,11,11,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,12,12,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,12,11,12,11,11,11,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,12,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,12,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,12,11,11,12,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,12,12,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,12,12,12,11,11,11,12,11,11,11,10,10,10,10,10,10,10,10,10,10,10,12,11,12,12,12,12,12,11,12,11,11,10,10,10,10,10,10,10,10,10,10,12,12,12,12,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,5,5,7,7,9,8,10,9,10,10,10,10,6,5,5,7,7,9,8,10,9,11,10,12,12,13,13,6,5,5,7,7,9,9,10,10,11,11,12,12,12,13,19,8,8,8,8,9,9,10,10,12,11,12,12,13,13,19,8,8,8,8,9,9,11,11,12,12,13,13,13,13,19,12,12,9,9,11,11,11,11,12,11,13,12,13,13,18,12,12,9,9,11,10,11,11,12,12,12,13,13,14,19,18,18,11,11,11,11,12,12,13,12,13,13,14,14,16,18,18,11,11,11,10,12,11,13,13,13,13,13,14,17,18,18,14,15,11,12,12,13,13,13,13,14,14,14,18,18,18,15,15,12,10,13,10,13,13,13,13,13,14,18,17,18,17,18,12,13,12,13,13,13,14,14,16,14,18,17,18,18,17,13,12,13,10,12,12,14,14,14,14,17,18,18,18,18,14,15,12,12,13,12,14,14,15,15,18,18,18,17,18,15,14,12,11,12,12,14,14,14,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,3,12,12,12,12,12,12,12,12,12,12,4,7,7,12,12,12,12,12,12,12,12,12,12,3,8,8,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,5,6,5,5,5,5,6,5,4,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,8,8,9,10,11,11,7,5,5,7,7,8,8,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,9,10,10,10,10,11,11,0,13,13,9,9,10,9,10,10,11,11,11,12,0,0,0,10,10,10,10,10,10,11,11,12,12,0,0,0,10,10,10,10,10,10,11,11,12,12,0,0,0,14,14,11,11,11,11,12,12,12,12,0,0,0,14,14,11,11,11,11,12,12,12,13,0,0,0,0,0,12,12,12,12,12,12,13,13,0,0,0,0,0,13,12,12,12,12,12,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,6,6,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,9,8,10,10,10,10,10,8,8,8,8,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,11,11,10,11,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,7,11,11,12,11,11,12,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,4,4,6,6,8,8,9,9,8,8,9,9,10,10,11,11,0,4,4,6,6,8,8,9,9,9,9,10,10,11,11,11,11,0,4,4,7,6,8,8,9,9,9,9,10,10,11,11,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,9,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,9,9,10,10,11,11,11,12,12,12,0,0,0,0,0,10,10,10,10,11,11,11,11,12,12,13,12,0,0,0,0,0,0,0,10,10,11,11,11,11,12,12,12,12,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,12,12,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,0,0,12,12,12,12,12,13,13,13,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,3,3,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,4,5,6,6,7,7,9,9,0,6,6,7,7,8,8,10,10,0,0,0,7,7,8,8,10,9,0,0,0,9,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,10,10,9,9,11,11,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,5,5,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,8,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,0,0,0,5,5,0,0,0,5,5,0,0,0,7,7,0,0,0,0,0,0,0,5,6,6,0,0,0,7,7,0,0,0,7,7,0,0,0,10,10,0,0,0,0,0,0,0,5,6,6,0,0,0,7,7,0,0,0,7,7,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,5,7,8,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,9,9,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,8,10,10,0,0,0,9,9,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,5,6,6,0,0,0,0,0,0,5,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,6,8,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9],"i8",N3,F.GLOBAL_BASE+207264),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,14,10,15,10,12,15,16,15,4,2,11,5,10,6,8,11,14,14,14,10,7,11,6,8,10,11,13,15,9,4,11,5,9,6,9,12,14,15,14,9,6,9,4,5,7,10,12,13,9,5,7,6,5,5,7,10,13,13,10,8,9,8,7,6,8,10,14,14,13,11,10,10,7,7,8,11,14,15,13,12,9,9,6,5,7,10,14,17,15,13,11,10,6,6,7,9,12,17,0,0,0,0,2,0,0,0,100,0,0,0,48,128,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,80,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,120,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,160,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,200,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,240,87,3,0,0,0,0,0,24,88,3,0,64,88,3,0,0,0,0,0,0,0,0,0,104,88,3,0,144,88,3,0,0,0,0,0,0,0,0,0,184,88,3,0,224,88,3,0,8,89,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,192,86,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,6,11,11,11,11,10,10,12,11,5,2,11,5,6,6,7,9,11,13,13,10,7,11,6,7,8,9,10,12,11,5,11,6,8,7,9,11,14,15,11,6,6,8,4,5,7,8,10,13,10,5,7,7,5,5,6,8,10,11,10,7,7,8,6,5,5,7,9,9,11,8,8,11,8,7,6,6,7,9,12,11,10,13,9,9,7,7,7,9,11,13,12,15,12,11,9,8,8,8,0,0,0,0,8,0,0,0,161,25,0,0,120,102,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,32,128,3,0,0,0,0,0,4,0,0,0,113,2,0,0,232,99,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,96,102,3,0,0,0,0,0,4,0,0,0,113,2,0,0,88,97,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,99,3,0,0,0,0,0,2,0,0,0,81,0,0,0,216,96,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,48,97,3,0,0,0,0,0,2,0,0,0,81,0,0,0,88,96,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,176,96,3,0,0,0,0,0,2,0,0,0,33,1,0,0,232,94,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,16,96,3,0,0,0,0,0,4,0,0,0,81,0,0,0,128,94,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,216,94,3,0,0,0,0,0,2,0,0,0,121,0,0,0,208,93,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,80,94,3,0,0,0,0,0,2,0,0,0,169,0,0,0,232,92,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,152,93,3,0,0,0,0,0,2,0,0,0,25,0,0,0,176,92,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,92,3,0,0,0,0,0,2,0,0,0,169,0,0,0,200,91,3,0,1,0,0,0,0,232,87,225,0,224,255,96,4,0,0,0,0,0,0,0,120,92,3,0,0,0,0,0,2,0,0,0,225,0,0,0,160,90,3,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,136,91,3,0,0,0,0,0,2,0,0,0,33,1,0,0,48,89,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,88,90,3,0,0,0,0,0,2,5,5,6,6,7,7,7,7,7,7,8,8,8,8,8,8,10,6,6,7,7,8,7,8,8,8,8,8,9,9,9,9,9,10,6,6,7,7,7,7,8,8,8,8,9,9,9,9,9,9,10,7,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,8,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,8,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,10,11,11,11,9,9,9,9,9,9,10,10,9,9,10,9,11,10,11,11,11,9,9,9,9,9,9,9,9,10,10,10,9,11,11,11,11,11,9,9,9,9,10,10,9,9,9,9,10,9,11,11,11,11,11,11,11,9,9,9,9,9,9,10,10,10,10,11,11,11,11,11,11,11,10,9,10,10,9,10,9,9,10,9,11,10,10,11,11,11,11,9,10,9,9,9,9,10,10,10,10,11,11,11,11,11,11,10,10,10,9,9,10,9,10,9,10,10,10,10,11,11,11,11,11,11,11,9,9,9,9,9,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,7,9,9,10,10,10,10,6,5,5,7,7,8,8,10,8,11,10,12,12,13,13,6,5,5,7,7,8,8,10,9,11,11,12,12,13,12,18,8,8,8,8,9,9,10,9,11,10,12,12,13,13,18,8,8,8,8,9,9,10,10,11,11,13,12,14,13,18,11,11,9,9,10,10,11,11,11,12,13,12,13,14,18,11,11,9,8,11,10,11,11,11,11,12,12,14,13,18,18,18,10,11,10,11,12,12,12,12,13,12,14,13,18,18,18,10,11,11,9,12,11,12,12,12,13,13,13,18,18,17,14,14,11,11,12,12,13,12,14,12,14,13,18,18,18,14,14,11,10,12,9,12,13,13,13,13,13,18,18,17,16,18,13,13,12,12,13,11,14,12,14,14,17,18,18,17,18,13,12,13,10,12,11,14,14,14,14,17,18,18,18,18,15,16,12,12,13,10,14,12,14,15,18,18,18,16,17,16,14,12,11,13,10,13,13,14,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,4,4,12,12,12,12,12,12,12,12,12,12,4,9,8,12,12,12,12,12,12,12,12,12,12,2,9,7,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,5,6,5,5,5,5,6,4,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,8,8,9,9,10,10,7,5,5,7,7,8,8,8,8,9,9,11,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,12,0,13,13,9,9,10,10,10,10,11,11,12,12,0,0,0,10,10,10,10,11,11,12,12,12,12,0,0,0,10,10,10,10,11,11,12,12,12,12,0,0,0,14,14,11,11,11,11,12,12,13,13,0,0,0,14,14,11,11,11,11,12,12,13,13,0,0,0,0,0,12,12,12,12,13,13,14,13,0,0,0,0,0,13,13,12,12,13,12,14,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,6,6,7,7,8,8,8,8,8,8,10,10,10,7,7,8,7,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,7,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,9,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,11,11,10,12,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,7,11,11,11,11,11,12,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,6,6,7,7,8,8,8,8,9,9,10,10,11,10,0,5,5,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,5,5,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,10,11,11,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,8,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,8,8,9,9,10,10,11,11,12,11,12,12,0,0,0,0,0,9,10,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,0,0,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,4,6,6,7,7,9,9,0,5,5,7,7,7,8,9,9,0,5,5,7,7,8,8,9,9,0,7,7,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,9,9,9,9,10,10,0,0,0,9,9,9,9,10,10,0,0,0,10,10,10,10,11,11,0,0,0,0,0,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,5,5,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,8,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,3,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,0,0,0,5,5,0,0,0,5,5,0,0,0,7,8,0,0,0,0,0,0,0,5,6,6,0,0,0,7,7,0,0,0,7,7,0,0,0,10,10,0,0,0,0,0,0,0,5,6,6,0,0,0,7,7,0,0,0,7,7,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,10,10,0,0,0,9,9,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,8,10,10,0,0,0,9,9,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,5,6,6,0,0,0,0,0,0,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,6,7,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,6,8,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,8,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,8],"i8",N3,F.GLOBAL_BASE+218416),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,10,9,13,11,14,10,12,13,13,14,7,2,12,5,10,5,7,10,12,14,12,6,9,8,7,7,9,11,13,16,10,4,12,5,10,6,8,12,14,16,12,6,8,7,6,5,7,11,12,16,10,4,8,5,6,4,6,9,13,16,10,6,10,7,7,6,7,9,13,15,12,9,11,9,8,6,7,10,12,14,14,11,10,9,6,5,6,9,11,13,15,13,11,10,6,5,6,8,9,11,0,0,0,0,2,0,0,0,100,0,0,0,216,170,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,56,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,96,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,136,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,176,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,216,130,3,0,0,0,0,0,0,131,3,0,40,131,3,0,0,0,0,0,0,0,0,0,80,131,3,0,120,131,3,0,0,0,0,0,0,0,0,0,160,131,3,0,200,131,3,0,240,131,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,168,129,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,12,10,10,10,9,10,12,12,6,1,10,5,6,6,7,9,11,14,12,9,8,11,7,8,9,11,13,15,10,5,12,7,8,7,9,12,14,15,10,6,7,8,5,6,7,9,12,14,9,6,8,7,6,6,7,9,12,12,9,7,9,9,7,6,6,7,10,10,10,9,10,11,8,7,6,6,8,10,12,11,13,13,11,10,8,8,8,10,11,13,15,15,14,13,10,8,8,9,0,0,0,0,8,0,0,0,161,25,0,0,32,145,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,200,170,3,0,0,0,0,0,4,0,0,0,113,2,0,0,144,142,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,8,145,3,0,0,0,0,0,4,0,0,0,113,2,0,0,0,140,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,142,3,0,0,0,0,0,2,0,0,0,81,0,0,0,128,139,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,216,139,3,0,0,0,0,0,2,0,0,0,81,0,0,0,0,139,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,88,139,3,0,0,0,0,0,2,0,0,0,33,1,0,0,144,137,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,184,138,3,0,0,0,0,0,4,0,0,0,81,0,0,0,40,137,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,128,137,3,0,0,0,0,0,2,0,0,0,121,0,0,0,120,136,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,248,136,3,0,0,0,0,0,2,0,0,0,169,0,0,0,144,135,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,64,136,3,0,0,0,0,0,2,0,0,0,25,0,0,0,88,135,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,135,3,0,0,0,0,0,2,0,0,0,169,0,0,0,112,134,3,0,1,0,0,0,0,184,84,225,0,160,251,96,4,0,0,0,0,0,0,0,32,135,3,0,0,0,0,0,2,0,0,0,169,0,0,0,136,133,3,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,56,134,3,0,0,0,0,0,2,0,0,0,33,1,0,0,24,132,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,64,133,3,0,0,0,0,0,2,4,4,6,6,7,7,7,7,7,7,8,8,8,8,8,8,10,7,7,7,7,7,7,8,8,8,8,9,9,9,9,9,9,10,7,7,7,7,8,8,8,8,8,8,9,9,9,9,9,9,10,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,8,7,8,8,8,8,9,9,9,9,9,9,9,9,10,11,11,8,8,8,8,9,9,9,9,9,9,10,9,9,9,10,11,10,8,8,8,8,9,9,9,9,9,9,9,10,10,10,10,11,10,8,8,9,9,9,9,9,9,10,9,9,10,9,10,11,10,11,11,11,8,8,9,9,9,9,9,9,9,9,10,10,11,11,11,11,11,9,9,9,9,9,9,10,9,9,9,10,10,11,11,11,11,11,9,9,9,9,9,9,9,9,9,10,9,10,11,11,11,11,11,9,9,9,9,10,10,9,9,9,10,10,10,11,11,11,11,11,11,11,9,9,9,10,9,9,10,10,10,10,11,11,10,11,11,11,11,10,9,10,10,9,9,9,9,10,10,11,10,11,11,11,11,11,9,9,9,9,10,9,10,10,10,10,11,10,11,11,11,11,11,10,10,9,9,10,9,10,10,10,10,10,10,10,11,11,11,11,11,11,9,9,10,9,10,9,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,6,8,8,10,9,10,10,6,5,5,7,7,8,7,10,9,11,11,12,13,6,5,5,7,7,8,8,10,10,11,11,13,13,18,8,8,8,8,9,9,10,10,12,12,12,13,18,8,8,8,8,9,9,10,10,12,12,13,13,18,11,11,8,8,10,10,11,11,12,11,13,12,18,11,11,9,7,10,10,11,11,11,12,12,13,17,17,17,10,10,11,11,12,12,12,10,12,12,17,17,17,11,10,11,10,13,12,11,12,12,12,17,17,17,15,14,11,11,12,11,13,10,13,12,17,17,17,14,14,12,10,11,11,13,13,13,13,17,17,16,17,16,13,13,12,10,13,10,14,13,17,16,17,16,17,13,12,12,10,13,11,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,5,4,12,12,12,12,12,12,12,12,12,12,4,9,8,11,11,11,11,11,11,11,11,11,11,2,8,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,4,6,5,5,5,5,6,5,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,6,5,5,7,7,8,8,8,8,9,9,10,10,7,6,5,7,7,8,8,8,8,9,9,10,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,11,0,13,13,9,9,10,10,10,10,11,11,12,12,0,0,0,10,10,10,10,11,11,12,12,12,13,0,0,0,10,10,10,10,11,11,12,12,12,12,0,0,0,14,14,10,11,11,11,12,12,13,13,0,0,0,14,14,11,10,11,11,13,12,13,13,0,0,0,0,0,12,12,11,12,13,12,14,14,0,0,0,0,0,12,12,12,12,13,12,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,4,6,6,7,7,7,7,7,7,9,7,7,6,6,7,7,8,8,8,8,9,6,6,6,6,7,7,8,8,8,8,10,7,7,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,10,9,9,7,10,10,11,10,11,11,10,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,10,11,11,11,12,11,11,6,9,9,11,10,10,11,11,10,6,9,9,11,10,10,12,10,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,6,6,8,8,9,9,9,9,9,9,10,10,11,11,0,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,11,0,7,7,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,8,8,7,7,9,9,10,10,9,9,10,10,11,11,12,12,0,0,0,7,7,9,9,10,10,10,9,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,10,10,10,10,11,11,12,12,13,12,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,7,7,9,9,0,7,7,7,7,7,7,9,9,0,7,7,7,7,7,7,9,9,0,8,8,7,7,8,8,10,10,0,0,0,7,7,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,10,10,9,9,11,11,0,0,0,0,0,9,9,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,3,6,6,0,0,0,0,0,6,6,6,6,0,0,0,0,0,6,6,6,6,0,0,0,0,0,7,7,6,6,0,0,0,0,0,0,0,6,7,0,0,0,0,0,0,0,7,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,3,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,0,0,0,7,7,0,0,0,7,7,0,0,0,8,8,0,0,0,0,0,0,0,4,6,6,0,0,0,8,8,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,4,6,6,0,0,0,8,8,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,11,11,0,0,0,11,11,0,0,0,12,11,0,0,0,0,0,0,0,7,8,8,0,0,0,10,11,0,0,0,11,11,0,0,0,11,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,11,11,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,6,8,8,0,0,0,10,11,0,0,0,10,11,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,9,0,0,0,11,12,0,0,0,11,12,0,0,0,12,11,0,0,0,0,0,0,0,8,10,9,0,0,0,12,11,0,0,0,12,11,0,0,0,11,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,5,6,6,0,0,0,0,0,0,5,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,6,8,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9],"i8",N3,F.GLOBAL_BASE+229400),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,11,9,13,12,12,11,12,12,13,15,8,2,11,4,8,5,7,10,12,15,13,7,10,9,8,8,10,13,17,17,11,4,12,5,9,5,8,11,14,16,12,6,8,7,6,6,8,11,13,16,11,4,9,5,6,4,6,10,13,16,11,6,11,7,7,6,7,10,13,15,13,9,12,9,8,6,8,10,12,14,14,10,10,8,6,5,6,9,11,13,15,11,11,9,6,5,6,8,9,12,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,9,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,F.GLOBAL_BASE+240320),E3([1,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,231,3,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,160,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,72,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,223,3,0,0,0,0,0,0,0,0,0,0,0,0,0,96,223,3,0,0,0,0,0,0,0,0,0,0,0,0,0,136,223,3,0,0,0,0,0,0,0,0,0,0,0,0,0,176,223,3,0,0,0,0,0,0,0,0,0,0,0,0,0,216,223,3,0,0,0,0,0,0,224,3,0,40,224,3,0,0,0,0,0,0,0,0,0,80,224,3,0,120,224,3,0,0,0,0,0,0,0,0,0,160,224,3,0,200,224,3,0,240,224,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,185,3,0,0,0,0,0,0,0,0,0,0,0,0,0,80,185,3,0,0,0,0,0,0,0,0,0,0,0,0,0,120,185,3,0,0,0,0,0,0,0,0,0,0,0,0,0,160,185,3,0,0,0,0,0,0,0,0,0,0,0,0,0,200,185,3,0,0,0,0,0,240,185,3,0,24,186,3,0,0,0,0,0,0,0,0,0,64,186,3,0,104,186,3,0,0,0,0,0,0,0,0,0,144,186,3,0,184,186,3,0,224,186,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,208,184,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,120,184,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,4,8,10,9,9,10,11,12,4,2,5,6,6,8,10,11,13,8,4,6,8,7,9,12,12,14,10,6,8,4,5,6,9,11,12,9,5,6,5,5,6,9,11,11,9,7,9,6,5,5,7,10,10,10,9,11,8,7,6,7,9,11,11,12,13,10,10,9,8,9,11,11,15,15,12,13,11,9,10,11,0,0,0,0,0,0,0,5,5,9,10,9,9,10,11,12,5,1,5,6,6,7,10,12,14,9,5,6,8,8,10,12,14,14,10,5,8,5,6,8,11,13,14,9,5,7,6,6,8,10,12,11,9,7,9,7,6,6,7,10,10,10,9,12,9,8,7,7,10,12,11,11,13,12,10,9,8,9,11,11,14,15,15,13,11,9,9,11,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,128,197,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,40,223,3,0,0,0,0,0,4,0,0,0,113,2,0,0,240,194,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,104,197,3,0,0,0,0,0,2,0,0,0,81,0,0,0,112,194,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,200,194,3,0,0,0,0,0,2,0,0,0,81,0,0,0,240,193,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,72,194,3,0,0,0,0,0,2,0,0,0,33,1,0,0,128,192,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,168,193,3,0,0,0,0,0,4,0,0,0,81,0,0,0,24,192,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,112,192,3,0,0,0,0,0,2,0,0,0,121,0,0,0,104,191,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,232,191,3,0,0,0,0,0,2,0,0,0,169,0,0,0,128,190,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,48,191,3,0,0,0,0,0,2,0,0,0,25,0,0,0,72,190,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,104,190,3,0,0,0,0,0,2,0,0,0,169,0,0,0,96,189,3,0,1,0,0,0,0,184,84,225,0,160,251,96,4,0,0,0,0,0,0,0,16,190,3,0,0,0,0,0,2,0,0,0,169,0,0,0,120,188,3,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,40,189,3,0,0,0,0,0,2,0,0,0,33,1,0,0,8,187,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,48,188,3,0,0,0,0,0,2,5,5,6,6,7,6,7,7,8,8,8,8,8,8,8,8,10,6,6,7,7,7,7,8,8,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,7,7,7,7,8,8,8,9,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,9,9,9,9,9,9,9,9,9,9,10,11,11,8,8,8,8,9,9,9,9,9,9,10,10,9,10,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,10,10,11,10,10,8,8,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,11,11,8,8,9,9,9,9,9,9,9,9,9,9,11,11,11,11,11,9,9,9,9,9,9,9,9,10,9,10,9,11,11,11,11,11,9,8,9,9,9,9,9,9,9,10,10,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,10,10,9,11,11,11,11,11,11,11,9,9,10,9,9,9,9,10,9,10,10,11,10,11,11,11,11,9,10,10,10,9,9,9,9,9,9,10,11,11,11,11,11,11,9,9,9,9,9,9,9,9,10,9,11,11,10,11,11,11,11,10,10,9,9,9,9,9,9,10,9,10,11,10,11,11,11,11,11,11,9,9,10,9,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,9,9,10,11,12,12,6,5,5,7,7,8,7,10,10,11,11,12,12,6,5,5,7,7,8,8,10,10,11,11,12,12,16,7,7,8,8,9,9,11,11,12,12,13,13,17,7,7,8,7,9,9,11,10,12,12,13,13,19,11,10,8,8,10,10,11,11,12,12,13,13,19,11,11,9,7,11,10,11,11,12,12,13,12,19,19,19,10,10,10,10,11,12,12,12,13,14,18,19,19,11,9,11,9,13,12,12,12,13,13,19,20,19,13,15,11,11,12,12,13,13,14,13,18,19,20,15,13,12,10,13,10,13,13,13,14,20,20,20,20,20,13,14,12,12,13,12,13,13,20,20,20,20,20,13,12,12,12,14,12,14,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,13,13,13,13,13,13,13,13,13,13,3,6,6,13,13,13,13,13,13,13,13,13,13,4,8,7,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,4,5,6,5,5,5,5,6,5,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,7,5,5,7,7,8,8,8,8,9,9,10,10,7,5,6,7,7,8,8,8,8,9,9,11,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,11,0,13,13,9,9,9,9,10,10,11,11,12,12,0,0,0,9,10,9,10,11,11,12,11,13,12,0,0,0,10,10,9,9,11,11,12,12,13,12,0,0,0,13,13,10,10,11,11,12,12,13,13,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,11,12,11,11,12,13,14,13,0,0,0,0,0,12,12,11,11,13,12,14,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,7,7,7,7,8,8,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,9,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,10,11,11,11,10,10,6,9,9,11,11,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,11,11,11,11,11,11,11,6,9,9,11,10,10,11,11,10,6,9,9,10,10,10,11,10,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,6,6,7,7,8,8,8,8,9,9,10,10,11,11,0,5,5,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,5,5,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,10,10,10,11,11,11,12,12,0,0,0,8,8,8,8,9,9,10,10,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,7,7,9,9,0,6,6,7,7,8,8,9,9,0,6,6,7,7,8,8,9,9,0,7,7,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,8,8,9,9,11,11,0,0,0,9,9,9,9,11,11,0,0,0,10,10,10,10,11,11,0,0,0,0,0,9,9,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,3,7,7,0,0,0,0,0,5,5,6,6,0,0,0,0,0,5,5,7,7,0,0,0,0,0,7,7,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,9,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,9,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,10,9],"i8",N3,F.GLOBAL_BASE+242772),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,144,235,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,56,5,4,0,0,0,0,0,4,0,0,0,113,2,0,0,0,233,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,235,3,0,0,0,0,0,2,0,0,0,81,0,0,0,128,232,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,216,232,3,0,0,0,0,0,2,0,0,0,81,0,0,0,0,232,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,88,232,3,0,0,0,0,0,2,0,0,0,33,1,0,0,144,230,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,184,231,3,0,0,0,0,0,4,0,0,0,81,0,0,0,40,230,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,128,230,3,0,0,0,0,0,2,0,0,0,121,0,0,0,120,229,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,248,229,3,0,0,0,0,0,2,0,0,0,169,0,0,0,144,228,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,64,229,3,0,0,0,0,0,2,0,0,0,25,0,0,0,88,228,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,228,3,0,0,0,0,0,2,0,0,0,169,0,0,0,112,227,3,0,1,0,0,0,0,184,84,225,0,160,251,96,4,0,0,0,0,0,0,0,32,228,3,0,0,0,0,0,2,0,0,0,169,0,0,0,136,226,3,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,56,227,3,0,0,0,0,0,2,0,0,0,33,1,0,0,24,225,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,64,226,3,0,0,0,0,0,2,4,4,6,6,6,6,7,7,8,8,8,8,8,8,8,8,10,10,10,7,7,7,7,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,7,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,8,9,9,9,9,9,9,10,9,9,10,10,10,7,7,8,8,9,8,9,9,9,9,10,9,9,10,10,11,11,8,8,8,8,9,9,9,9,9,9,10,9,9,10,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,10,10,11,11,11,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,10,11,11,11,8,8,9,9,9,9,10,9,9,9,9,9,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,10,10,11,11,9,9,9,9,9,9,9,9,9,10,10,10,10,11,10,11,11,9,9,9,9,9,9,9,9,9,10,10,9,10,10,11,11,11,11,11,9,9,9,10,9,9,9,9,9,9,10,11,11,11,11,11,11,10,10,10,10,9,9,9,9,9,9,10,11,11,11,11,11,11,9,10,9,9,9,9,10,9,9,9,11,11,11,11,11,11,11,10,10,9,9,9,9,9,9,10,9,11,11,10,11,11,11,11,10,11,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,5,7,7,9,9,10,10,12,12,6,5,5,7,7,8,8,10,10,12,11,12,12,6,5,5,7,7,8,8,10,10,11,11,12,12,15,7,7,8,8,9,9,11,11,12,12,13,12,15,8,8,8,7,9,9,10,10,12,12,13,13,16,11,10,8,8,10,10,11,11,12,12,13,13,16,11,11,9,8,11,10,11,11,12,12,13,12,16,16,16,10,11,10,11,12,12,12,12,13,13,16,16,16,11,9,11,9,14,12,12,12,13,13,16,16,16,12,14,11,12,12,12,13,13,14,13,16,16,16,15,13,12,10,13,10,13,14,13,13,16,16,16,16,16,13,14,12,13,13,12,13,13,16,16,16,16,16,13,12,12,11,14,12,15,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,3,10,10,10,10,10,10,10,10,10,10,4,8,6,10,10,10,10,10,10,10,10,10,10,4,8,7,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,10,9,7,5,6,7,7,8,8,8,8,9,9,10,10,7,5,5,7,7,8,8,8,8,9,9,10,10,0,8,8,8,8,9,9,9,9,10,10,11,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,10,10,10,11,11,11,11,0,13,13,9,9,9,9,10,10,11,11,11,11,0,0,0,10,10,10,10,11,11,12,11,12,12,0,0,0,10,10,10,9,11,11,12,11,13,12,0,0,0,13,13,10,10,11,11,12,12,13,13,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,11,12,11,11,12,12,14,13,0,0,0,0,0,12,11,11,11,13,10,14,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,7,7,7,7,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,6,10,10,11,11,11,11,10,10,6,9,9,11,10,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,10,11,11,11,12,11,11,7,9,9,11,10,10,11,11,10,6,9,9,10,10,10,12,10,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,6,6,7,7,8,8,8,8,9,9,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,11,0,0,0,8,8,9,9,9,10,10,10,10,10,11,11,12,12,0,0,0,8,8,9,9,10,9,10,10,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,11,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,10,10,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,12,12,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,5,6,6,8,8,0,0,0,7,7,7,7,9,9,0,0,0,7,7,7,7,9,9,0,0,0,7,7,8,8,10,10,0,0,0,7,7,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,10,10,9,9,11,11,0,0,0,0,0,9,9,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,2,7,7,0,0,0,0,0,13,13,6,6,0,0,0,0,0,12,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,9,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,4,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,5,7,6,0,0,0,0,0,0,5,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,8,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9],"i8",N3,F.GLOBAL_BASE+253728),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,13,14,14,15,16,18,18,4,2,5,8,7,9,12,15,15,10,4,5,10,6,8,11,15,17,12,5,7,5,6,8,11,14,17,11,5,6,6,5,6,9,13,17,12,6,7,6,5,6,8,12,14,14,7,8,6,6,7,9,11,14,14,8,9,6,5,6,9,11,13,16,10,10,7,6,7,8,10,11,0,0,0,0,0,0,0,6,8,13,12,13,14,15,16,16,4,2,4,7,6,8,11,13,15,10,4,4,8,6,8,11,14,17,11,5,6,5,6,8,12,14,17,11,5,5,6,5,7,10,13,16,12,6,7,8,7,8,10,13,15,13,8,8,7,7,8,10,12,15,15,7,7,5,5,7,9,12,14,15,8,8,6,6,7,8,10,11,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,128,86,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,40,86,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,46,4,0,0,0,0,0,0,0,0,0,0,0,0,0,152,46,4,0,0,0,0,0,0,0,0,0,0,0,0,0,192,46,4,0,0,0,0,0,0,0,0,0,0,0,0,0,232,46,4,0,0,0,0,0,0,0,0,0,0,0,0,0,16,47,4,0,0,0,0,0,56,47,4,0,96,47,4,0,0,0,0,0,0,0,0,0,136,47,4,0,176,47,4,0,0,0,0,0,0,0,0,0,216,47,4,0,0,48,4,0,40,48,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,240,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,24,9,4,0,0,0,0,0,0,0,0,0,0,0,0,0,64,9,4,0,0,0,0,0,0,0,0,0,0,0,0,0,104,9,4,0,0,0,0,0,144,9,4,0,184,9,4,0,0,0,0,0,0,0,0,0,224,9,4,0,8,10,4,0,0,0,0,0,0,0,0,0,48,10,4,0,88,10,4,0,128,10,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,112,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,24,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,4,9,10,9,10,11,12,13,4,1,5,7,7,9,11,12,14,8,5,7,9,8,10,13,13,13,10,7,9,4,6,7,10,12,14,9,6,7,6,6,7,10,12,12,9,8,9,7,6,7,8,11,12,11,11,11,9,8,7,8,10,12,12,13,14,12,11,9,9,9,12,12,17,17,15,16,12,10,11,13,0,0,0,0,0,0,0,5,4,8,9,8,9,10,12,15,4,1,5,5,6,8,11,12,12,8,5,8,9,9,11,13,12,12,9,5,8,5,7,9,12,13,13,8,6,8,7,7,9,11,11,11,9,7,9,7,7,7,7,10,12,10,10,11,9,8,7,7,9,11,11,12,13,12,11,9,8,9,11,13,16,16,15,15,12,10,11,12,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,184,20,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,96,46,4,0,0,0,0,0,4,0,0,0,113,2,0,0,40,18,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,20,4,0,0,0,0,0,2,0,0,0,81,0,0,0,168,17,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,0,18,4,0,0,0,0,0,2,0,0,0,81,0,0,0,40,17,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,17,4,0,0,0,0,0,2,0,0,0,33,1,0,0,184,15,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,16,4,0,0,0,0,0,4,0,0,0,81,0,0,0,80,15,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,168,15,4,0,0,0,0,0,2,0,0,0,121,0,0,0,160,14,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,32,15,4,0,0,0,0,0,2,0,0,0,169,0,0,0,184,13,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,104,14,4,0,0,0,0,0,2,0,0,0,25,0,0,0,128,13,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,13,4,0,0,0,0,0,2,0,0,0,81,0,0,0,0,13,4,0,1,0,0,0,0,160,59,225,0,160,251,96,4,0,0,0,0,0,0,0,88,13,4,0,0,0,0,0,2,0,0,0,169,0,0,0,24,12,4,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,200,12,4,0,0,0,0,0,2,0,0,0,33,1,0,0,168,10,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,208,11,4,0,0,0,0,0,2,5,5,6,6,7,7,7,7,8,8,8,8,8,8,8,8,10,6,6,7,7,7,7,8,8,9,9,9,9,9,9,9,9,10,6,6,7,7,8,7,8,8,9,9,9,9,9,9,9,9,10,7,7,7,7,8,8,8,9,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,9,8,9,9,9,9,10,9,9,10,10,10,11,8,8,8,8,9,9,9,9,9,9,9,10,9,10,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,10,10,11,10,10,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,11,11,8,8,9,9,9,9,9,9,9,9,9,10,11,11,11,11,11,9,9,9,9,9,9,9,9,10,9,10,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,9,10,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,9,10,9,11,10,11,11,11,11,11,9,9,10,9,9,9,9,9,9,9,10,11,10,11,11,11,11,10,10,10,10,9,9,9,9,9,9,10,11,11,11,11,11,11,9,10,9,9,9,9,9,9,9,9,11,11,10,11,11,11,10,10,10,9,9,9,9,9,9,9,9,10,11,10,11,11,11,11,11,11,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,9,9,10,11,12,12,6,5,5,7,7,8,8,10,10,12,11,12,12,6,5,5,7,7,8,8,10,10,12,11,12,12,17,7,7,8,8,9,9,10,10,12,12,13,13,18,7,7,8,7,9,9,10,10,12,12,12,13,19,10,10,8,8,10,10,11,11,12,12,13,14,19,11,10,8,7,10,10,11,11,12,12,13,12,19,19,19,10,10,10,10,11,11,12,12,13,13,19,19,19,11,9,11,9,14,12,13,12,13,13,19,20,18,13,14,11,11,12,12,13,13,14,13,20,20,20,15,13,11,10,13,11,13,13,14,13,20,20,20,20,20,13,14,12,12,13,13,13,13,20,20,20,20,20,13,13,12,12,16,13,15,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,11,11,11,11,11,11,3,7,6,11,11,11,11,11,11,4,8,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,4,4,6,5,5,5,5,6,5,5,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,7,5,5,7,7,8,8,8,8,9,9,10,10,7,6,5,7,7,8,8,8,8,9,9,10,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,11,0,13,13,9,9,9,9,10,10,11,11,11,12,0,0,0,9,10,10,10,11,11,12,11,12,12,0,0,0,10,10,9,9,11,11,12,12,12,12,0,0,0,13,13,10,10,11,11,12,12,13,13,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,11,12,11,11,13,12,13,13,0,0,0,0,0,12,12,11,11,13,12,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,7,8,9,5,5,6,6,7,7,8,8,8,8,9,5,5,6,6,7,7,8,8,8,8,10,7,7,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,10,11,11,11,10,10,6,9,9,11,11,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,10,11,11,11,11,11,11,6,9,9,11,10,10,11,11,10,6,9,9,11,10,10,11,10,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,8,8,8,8,8,8,9,9,10,10,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,10,11,11,11,0,5,6,7,7,8,8,9,9,9,9,10,10,10,11,11,11,0,7,7,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,12,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,10,11,11,12,12,13,13,0,0,0,0,0,10,10,10,10,11,11,12,12,12,13,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,12,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,12,11,12,12,13,13,13,13,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,3,6,6,7,7,9,9,0,5,5,7,7,8,7,9,9,0,5,5,7,7,8,8,9,9,0,7,7,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,9,9,9,9,11,11,0,0,0,9,9,9,9,11,11,0,0,0,10,10,10,10,11,11,0,0,0,0,0,9,9,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,3,7,7,0,0,0,0,0,5,4,7,7,0,0,0,0,0,5,5,7,7,0,0,0,0,0,6,7,8,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,10,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,10,10],"i8",N3,F.GLOBAL_BASE+263472),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,112,60,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,24,86,4,0,0,0,0,0,4,0,0,0,113,2,0,0,224,57,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,60,4,0,0,0,0,0,2,0,0,0,81,0,0,0,96,57,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,184,57,4,0,0,0,0,0,2,0,0,0,81,0,0,0,224,56,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,56,57,4,0,0,0,0,0,2,0,0,0,33,1,0,0,112,55,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,152,56,4,0,0,0,0,0,4,0,0,0,81,0,0,0,8,55,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,96,55,4,0,0,0,0,0,2,0,0,0,121,0,0,0,88,54,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,216,54,4,0,0,0,0,0,2,0,0,0,169,0,0,0,112,53,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,32,54,4,0,0,0,0,0,2,0,0,0,25,0,0,0,56,53,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,53,4,0,0,0,0,0,4,0,0,0,113,2,0,0,168,50,4,0,1,0,0,0,0,160,27,225,0,160,251,96,3,0,0,0,0,0,0,0,32,53,4,0,0,0,0,0,2,0,0,0,169,0,0,0,192,49,4,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,112,50,4,0,0,0,0,0,2,0,0,0,33,1,0,0,80,48,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,120,49,4,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,8,8,8,8,8,8,10,10,10,7,7,7,8,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,7,7,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,8,8,9,9,9,9,9,10,9,9,10,10,10,7,7,8,8,9,8,9,9,9,9,10,9,9,10,10,10,10,8,8,8,8,9,8,9,9,9,9,9,10,9,10,10,10,10,7,7,8,8,9,9,9,9,9,9,10,9,10,10,10,10,10,8,8,8,9,9,9,9,9,9,9,10,10,10,9,11,10,10,10,10,8,8,9,9,9,9,9,10,9,9,9,10,10,10,10,11,11,9,9,9,9,9,9,9,9,10,9,9,10,11,10,10,11,11,9,9,9,9,9,9,9,9,9,9,10,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,9,10,9,11,10,10,11,11,11,11,9,9,9,9,9,9,9,9,9,9,10,10,10,11,11,11,11,9,10,9,10,9,9,9,9,10,9,10,11,10,11,10,10,10,10,10,9,9,9,10,9,9,9,10,11,11,10,11,11,10,11,10,10,10,9,9,9,9,10,9,9,10,11,10,11,11,11,11,10,11,10,10,9,10,9,9,9,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,9,9,11,12,13,12,6,5,5,7,7,8,8,10,9,12,12,12,12,6,5,5,7,7,8,8,10,9,12,11,11,13,16,7,7,8,8,9,9,10,10,12,12,13,12,16,7,7,8,7,9,9,10,10,11,12,12,13,16,10,10,8,8,10,10,11,12,12,12,13,13,16,11,10,8,7,11,10,11,11,12,11,13,13,16,16,16,10,10,10,10,11,11,13,12,13,13,16,16,16,11,9,11,9,15,13,12,13,13,13,16,16,16,15,13,11,11,12,13,12,12,14,13,16,16,16,14,13,11,11,13,12,14,13,13,13,16,16,16,16,16,13,13,13,12,14,13,14,14,16,16,16,16,16,13,13,12,12,14,14,15,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,5,5,10,10,6,9,8,10,10,6,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,7,5,5,7,7,8,8,8,8,9,9,10,10,7,5,6,7,7,8,8,8,8,9,9,10,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,11,0,13,13,9,9,9,9,10,10,11,11,11,12,0,0,0,10,10,10,10,11,11,11,11,12,12,0,0,0,10,10,9,9,11,11,11,12,12,12,0,0,0,13,13,10,10,11,11,12,12,13,13,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,11,11,11,11,13,12,13,13,0,0,0,0,0,12,12,11,11,12,12,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,7,7,7,7,7,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,8,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,10,9,9,4,6,7,10,9,9,11,9,9,7,10,10,11,11,11,12,10,11,6,9,9,11,10,11,11,10,10,6,9,9,11,10,11,11,10,10,7,11,10,12,11,11,11,11,11,7,9,9,10,10,10,11,11,10,6,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,6,6,8,7,8,8,8,8,9,9,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,9,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,8,8,9,9,9,9,10,10,10,10,11,11,12,12,0,0,0,8,8,9,9,9,9,10,10,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,11,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,10,10,11,11,11,11,11,12,12,12,13,13,0,0,0,0,0,0,0,11,10,11,11,11,11,12,12,13,13,0,0,0,0,0,0,0,11,11,12,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,11,12,12,12,12,13,13,13,0,0,0,0,0,0,0,12,12,12,12,12,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,6,6,8,8,0,0,0,7,7,7,7,9,9,0,0,0,7,7,7,7,9,9,0,0,0,7,7,7,8,9,9,0,0,0,7,7,7,7,9,9,0,0,0,9,9,8,8,10,10,0,0,0,8,9,8,8,10,10,0,0,0,10,10,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,2,8,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,6,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,9,9,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,9,11,10],"i8",N3,F.GLOBAL_BASE+274008),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,6,6,12,13,13,14,16,17,17,4,2,5,8,7,9,12,15,15,9,4,5,9,7,9,12,16,18,11,6,7,4,6,8,11,14,18,10,5,6,5,5,7,10,14,17,10,5,7,7,6,7,10,13,16,11,5,7,7,7,8,10,12,15,13,6,7,5,5,7,9,12,13,16,8,9,6,6,7,9,10,12,0,0,0,0,0,0,0,9,8,12,11,12,13,14,14,16,6,1,5,6,6,9,12,14,17,9,4,5,9,7,9,13,15,16,8,5,8,6,8,10,13,17,17,9,6,7,7,8,9,13,15,17,11,8,9,9,9,10,12,16,16,13,7,8,7,7,9,12,14,15,13,6,7,5,5,7,10,13,13,14,7,8,5,6,7,9,10,12,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,96,167,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,8,167,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,127,4,0,0,0,0,0,0,0,0,0,0,0,0,0,120,127,4,0,0,0,0,0,0,0,0,0,0,0,0,0,160,127,4,0,0,0,0,0,0,0,0,0,0,0,0,0,200,127,4,0,0,0,0,0,0,0,0,0,0,0,0,0,240,127,4,0,0,0,0,0,24,128,4,0,64,128,4,0,0,0,0,0,0,0,0,0,104,128,4,0,144,128,4,0,0,0,0,0,0,0,0,0,184,128,4,0,224,128,4,0,8,129,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,89,4,0,0,0,0,0,0,0,0,0,0,0,0,0,208,89,4,0,0,0,0,0,0,0,0,0,0,0,0,0,248,89,4,0,0,0,0,0,0,0,0,0,0,0,0,0,32,90,4,0,0,0,0,0,0,0,0,0,0,0,0,0,72,90,4,0,0,0,0,0,112,90,4,0,152,90,4,0,0,0,0,0,0,0,0,0,192,90,4,0,232,90,4,0,0,0,0,0,0,0,0,0,16,91,4,0,56,91,4,0,96,91,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,80,89,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,248,88,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,8,8,8,8,10,12,14,3,2,6,7,7,8,10,12,16,7,6,7,9,8,10,12,14,16,8,6,8,4,5,7,9,11,13,7,6,8,5,6,7,9,11,14,8,8,10,7,7,6,8,10,13,9,11,12,9,9,7,8,10,12,10,13,15,11,11,10,9,10,13,13,16,17,14,15,14,13,14,17,0,0,0,0,0,0,0,4,4,7,8,7,8,10,12,17,3,1,6,6,7,8,10,12,15,7,6,9,9,9,11,12,14,17,8,6,9,6,7,9,11,13,17,7,6,9,7,7,8,9,12,15,8,8,10,8,7,7,7,10,14,9,10,12,10,8,8,8,10,14,11,13,15,13,12,11,11,12,16,17,18,18,19,20,18,16,16,20,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,152,101,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,64,127,4,0,0,0,0,0,4,0,0,0,113,2,0,0,8,99,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,128,101,4,0,0,0,0,0,2,0,0,0,81,0,0,0,136,98,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,224,98,4,0,0,0,0,0,2,0,0,0,81,0,0,0,8,98,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,96,98,4,0,0,0,0,0,2,0,0,0,33,1,0,0,152,96,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,192,97,4,0,0,0,0,0,4,0,0,0,81,0,0,0,48,96,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,136,96,4,0,0,0,0,0,2,0,0,0,121,0,0,0,128,95,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,0,96,4,0,0,0,0,0,2,0,0,0,169,0,0,0,152,94,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,72,95,4,0,0,0,0,0,2,0,0,0,25,0,0,0,96,94,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,128,94,4,0,0,0,0,0,2,0,0,0,81,0,0,0,224,93,4,0,1,0,0,0,0,160,59,225,0,160,251,96,4,0,0,0,0,0,0,0,56,94,4,0,0,0,0,0,2,0,0,0,169,0,0,0,248,92,4,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,168,93,4,0,0,0,0,0,2,0,0,0,33,1,0,0,136,91,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,176,92,4,0,0,0,0,0,3,4,4,6,6,7,7,8,8,8,8,9,9,9,9,9,9,10,6,6,6,6,7,7,8,8,8,9,9,9,9,9,9,9,10,6,6,6,6,7,7,8,8,8,8,9,9,9,9,9,9,10,7,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,7,8,8,8,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,8,8,9,9,9,9,9,9,9,9,11,10,11,8,8,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,11,11,8,8,8,8,9,9,9,9,9,9,9,9,11,10,11,11,11,9,9,9,9,9,9,9,9,9,9,9,9,10,11,10,11,11,9,9,9,9,9,9,9,9,9,9,9,10,11,11,10,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,10,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,10,11,11,11,11,11,11,9,10,10,10,9,9,9,9,9,9,11,10,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,11,11,11,11,11,11,11,10,10,9,9,9,9,9,9,9,9,10,11,11,11,11,11,11,11,11,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,10,11,11,11,6,5,5,7,7,8,8,10,10,10,11,11,11,6,5,5,7,7,8,8,10,10,11,12,12,12,14,7,7,7,8,9,9,11,11,11,12,11,12,17,7,7,8,7,9,9,11,11,12,12,12,12,14,11,11,8,8,10,10,11,12,12,13,11,12,14,11,11,8,8,10,10,11,12,12,13,13,12,14,15,14,10,10,10,10,11,12,12,12,12,11,14,13,16,10,10,10,9,12,11,12,12,13,14,14,15,14,14,13,10,10,11,11,12,11,13,11,14,12,15,13,14,11,10,12,10,12,12,13,13,13,13,14,15,15,12,12,11,11,12,11,13,12,14,14,14,14,17,12,12,11,10,13,11,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,12,11,13,13,14,14,4,7,7,11,13,14,14,14,14,3,8,3,14,14,14,14,14,14,14,10,12,14,14,14,14,14,14,14,14,5,14,8,14,14,14,14,14,12,14,13,14,14,14,14,14,14,14,13,14,10,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,4,5,6,5,5,5,5,6,5,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,9,9,10,10,7,5,5,7,7,8,8,8,8,10,9,11,10,7,5,5,7,7,8,8,8,8,9,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,10,10,10,11,11,12,12,0,13,13,9,9,9,9,10,10,11,11,12,12,0,0,0,10,10,10,10,11,11,12,12,12,13,0,0,0,10,10,10,10,11,11,12,12,12,12,0,0,0,14,14,11,11,11,11,12,13,13,13,0,0,0,14,14,11,10,11,11,12,12,13,13,0,0,0,0,0,12,12,12,12,13,13,13,14,0,0,0,0,0,13,12,12,12,13,13,13,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,5,7,7,7,7,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,7,7,7,7,8,8,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,9,9,10,10,10,10,10,8,8,8,8,9,9,10,10,10,10,10,9,9,9,9,8,9,10,10,10,10,10,8,9,8,8,9,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,6,10,9,9,11,9,9,4,6,7,10,9,9,11,9,9,7,10,10,10,11,11,11,11,10,6,9,9,11,10,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,11,11,11,11,12,11,11,7,9,9,11,10,10,12,10,10,7,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,8,8,9,9,10,10,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,6,5,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,13,13,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,13,13,13,0,0,0,0,0,10,10,11,11,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,12,12,12,13,13,13,14,14,14,14,0,0,0,0,0,0,0,0,0,12,12,13,13,14,14,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,3,6,6,7,7,9,9,0,5,5,7,7,8,7,9,9,0,5,5,7,7,8,8,9,9,0,7,7,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,9,9,9,9,10,10,0,0,0,9,9,9,9,10,10,0,0,0,10,10,10,10,11,11,0,0,0,0,0,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,4,7,7,0,0,0,0,0,4,4,7,7,0,0,0,0,0,4,5,7,7,0,0,0,0,0,6,7,8,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,10,9,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,9,0,0,0,0,0,0,9,9,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,10,9],"i8",N3,F.GLOBAL_BASE+284176),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,80,141,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,248,166,4,0,0,0,0,0,4,0,0,0,113,2,0,0,192,138,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,141,4,0,0,0,0,0,2,0,0,0,81,0,0,0,64,138,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,152,138,4,0,0,0,0,0,2,0,0,0,81,0,0,0,192,137,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,24,138,4,0,0,0,0,0,2,0,0,0,33,1,0,0,80,136,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,120,137,4,0,0,0,0,0,4,0,0,0,81,0,0,0,232,135,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,64,136,4,0,0,0,0,0,2,0,0,0,121,0,0,0,56,135,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,184,135,4,0,0,0,0,0,2,0,0,0,169,0,0,0,80,134,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,0,135,4,0,0,0,0,0,2,0,0,0,25,0,0,0,24,134,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,134,4,0,0,0,0,0,4,0,0,0,113,2,0,0,136,131,4,0,1,0,0,0,0,160,27,225,0,160,251,96,3,0,0,0,0,0,0,0,0,134,4,0,0,0,0,0,2,0,0,0,169,0,0,0,160,130,4,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,80,131,4,0,0,0,0,0,2,0,0,0,33,1,0,0,48,129,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,88,130,4,0,0,0,0,0,3,4,3,6,6,7,7,8,8,9,9,9,9,9,9,9,9,10,11,11,6,6,7,7,8,8,9,9,9,9,9,9,9,9,10,10,10,6,6,7,7,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,7,8,8,8,9,9,9,9,9,9,10,9,10,11,10,7,6,7,7,8,8,9,9,9,9,9,9,9,10,10,10,11,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,8,8,9,9,9,9,9,9,9,10,11,11,11,8,8,8,8,8,8,9,9,9,9,9,9,9,9,11,10,10,11,11,8,8,8,9,9,9,9,9,9,10,9,10,10,10,10,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,10,10,10,10,11,10,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,10,10,11,11,11,11,9,9,9,9,9,9,9,9,10,10,10,11,11,10,11,11,11,9,10,10,9,9,9,9,9,9,9,10,11,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,11,11,11,11,11,11,11,10,10,9,9,9,9,9,9,9,9,11,11,11,10,11,11,11,11,11,9,9,9,10,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,10,10,11,11,11,6,5,5,7,7,8,8,9,10,9,11,11,12,5,5,5,7,7,8,9,10,10,12,12,14,13,15,7,7,8,8,9,10,11,11,10,12,10,11,15,7,8,8,8,9,9,11,11,13,12,12,13,15,10,10,8,8,10,10,12,12,11,14,10,10,15,11,11,8,8,10,10,12,13,13,14,15,13,15,15,15,10,10,10,10,12,12,13,12,13,10,15,15,15,10,10,11,10,13,11,13,13,15,13,15,15,15,13,13,10,11,11,11,12,10,14,11,15,15,14,14,13,10,10,12,11,13,13,14,14,15,15,15,15,15,11,11,11,11,12,11,15,12,15,15,15,15,15,12,12,11,11,14,12,13,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,7,7,11,11,8,11,11,11,11,4,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,8,8,9,9,11,11,7,5,5,7,7,8,8,8,8,9,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,10,10,10,11,11,11,12,0,13,13,9,9,9,9,10,10,11,11,11,12,0,0,0,10,10,10,10,11,11,12,12,12,13,0,0,0,10,10,10,10,11,11,12,12,13,12,0,0,0,14,14,11,10,11,12,12,13,13,14,0,0,0,15,15,11,11,12,11,12,12,14,13,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,13,13,12,12,13,13,13,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,8,8,10,10,10,7,6,8,8,8,8,8,8,10,10,10,7,6,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,6,6,10,9,9,11,9,9,4,6,6,10,9,9,10,9,9,7,10,10,11,11,11,12,11,11,7,9,9,11,11,10,11,10,10,7,9,9,11,10,11,11,10,10,7,10,10,11,11,11,12,11,11,7,9,9,11,10,10,11,10,10,7,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,6,6,7,7,8,8,8,8,9,9,10,10,10,10,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,8,8,9,9,9,9,10,10,10,10,11,11,12,12,0,0,0,8,8,9,9,9,9,10,10,10,11,11,11,12,12,0,0,0,9,9,10,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,11,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,10,10,11,10,11,11,11,12,13,12,13,13,0,0,0,0,0,0,0,11,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,12,12,12,13,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,13,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,6,6,8,8,0,0,0,6,6,7,7,9,9,0,0,0,6,6,7,7,9,9,0,0,0,7,7,8,8,10,10,0,0,0,7,7,8,8,10,10,0,0,0,9,9,9,9,10,10,0,0,0,9,9,9,9,10,10,0,0,0,10,10,10,10,11,11,0,0,0,0,0,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,2,3,7,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,9,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,7,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,10,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,9,9,11,0,0,0,0,0,0,10,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,9,11,9,0,0,0,0,0,0,10,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,10,11,11,0,0,0,0,0,0,9,9,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,10,11,11,0,0,0,0,0,0,9,11,9],"i8",N3,F.GLOBAL_BASE+294712),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,6,12,14,12,14,16,17,18,4,2,5,11,7,10,12,14,15,9,4,5,11,7,10,13,15,18,15,6,7,5,6,8,11,13,16,11,5,6,5,5,6,9,13,15,12,5,7,6,5,6,9,12,14,12,6,7,8,6,7,9,12,13,14,8,8,7,5,5,8,10,12,16,9,9,8,6,6,7,9,9,0,0,0,0,0,0,0,10,9,12,15,12,13,16,14,16,7,1,5,14,7,10,13,16,16,9,4,6,16,8,11,16,16,16,14,4,7,16,9,12,14,16,16,10,5,7,14,9,12,14,15,15,13,8,9,14,10,12,13,14,15,13,9,9,7,6,8,11,12,12,14,8,8,5,4,5,8,11,12,16,10,10,6,5,6,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,64,191,64,0,0,0,0,0,88,203,64,0,0,0,0,0,130,228,64,0,0,0,0,0,112,183,64,0,0,0,0,0,148,193,64,0,0,0,0,0,64,223,64,0,0,0,0,0,112,199,64,0,0,0,0,0,136,211,64,0,0,0,0,0,106,232,64,154,153,153,153,153,153,185,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,2,0,0,0,2,0,0,30,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,30,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,242,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,2,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,0,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,12,0,0,0,12,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,10,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,12,0,0,0,12,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,0,0,0,0,51,51,51,51,51,51,211,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,18,64,0,0,0,0,0,0,22,64,0,0,0,0,0,0,62,64,208,171,4,0,0,0,0,0,6,0,0,0,6,0,0,0,0,0,0,0,0,64,191,64,0,0,0,0,0,100,201,64,0,0,0,0,0,124,229,64,0,0,0,0,0,64,207,64,0,0,0,0,0,88,219,64,0,0,0,0,0,64,239,64,0,0,0,0,0,106,248,64,154,153,153,153,153,153,185,191,154,153,153,153,153,153,169,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,4,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,0,30,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,25,0,0,0,22,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,0,0,0,242,255,255,255,0,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,246,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,10,0,0,0,255,255,255,255,10,0,0,0,10,0,0,0,255,255,255,255,20,0,0,0,20,0,0,0,255,255,255,255,20,0,0,0,20,0,0,0,255,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,4,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,15,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,10,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,244,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,249,255,255,255,251,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,238,255,255,255,238,255,255,255,238,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,4,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,4,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,20,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,4,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,12,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,244,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,5,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,14,0,0,0,20,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,20,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,12,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,244,255,255,255,236,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,5,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,0,0,0,0,0,0,0,0,154,153,153,153,153,153,233,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,1,0,0,0,1,0,0,15,39,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,51,51,51,51,51,51,211,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,156,255,255,255,156,255,255,255,156,255,255,255,151,255,255,255,126,255,255,255,126,255,255,255,126,255,255,255,116,255,255,255,0,0,0,0,0,0,26,64,0,0,0,0,0,0,32,64,0,0,0,0,0,0,62,64,0,0,0,0,0,192,88,64,0,0,0,0,0,0,240,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,8,64,0,0,0,0,0,0,16,64,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,64,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,200,239,4,0,216,239,4,0,8,181,0,0,16,188,4,0,8,181,0,0,48,188,4,0,8,181,0,0,112,188,4,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,216,225,4,0,216,225,4,0,0,226,4,0,0,226,4,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,200,208,4,0,200,208,4,0,240,208,4,0,240,208,4,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,176,209,4,0,176,209,4,0,240,208,4,0,240,208,4,0,1,0,0,0,0,0,0,0,32,0,0,0,160,220,1,0,176,188,4,0,176,188,4,0,216,188,4,0,216,188,4,0,1,0,0,0,0,0,0,0,32,0,0,0,160,220,1,0,152,189,4,0,152,189,4,0,216,188,4,0,216,188,4,0,2,0,0,0,100,0,0,0,96,208,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,190,4,0,0,0,0,0,0,0,0,0,0,0,0,0,80,190,4,0,0,0,0,0,0,0,0,0,0,0,0,0,120,190,4,0,0,0,0,0,0,0,0,0,0,0,0,0,160,190,4,0,0,0,0,0,200,190,4,0,240,190,4,0,0,0,0,0,0,0,0,0,24,191,4,0,64,191,4,0,0,0,0,0,0,0,0,0,104,191,4,0,144,191,4,0,0,0,0,0,0,0,0,0,184,191,4,0,224,191,4,0,0,0,0,0,0,0,0,0,8,192,4,0,48,192,4,0,88,192,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,192,189,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,10,10,10,11,11,12,14,18,7,5,5,6,8,9,10,12,14,17,9,5,4,5,6,8,10,11,13,19,9,5,4,4,5,6,9,10,12,17,8,6,5,4,4,5,7,10,11,15,8,7,7,6,5,5,6,9,11,14,8,9,8,7,6,5,6,7,11,14,9,11,11,9,7,6,6,6,9,14,11,14,15,13,9,8,7,7,9,14,13,15,19,17,12,11,10,9,10,14,0,0,0,0,4,0,0,0,81,0,0,0,248,207,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,80,208,4,0,0,0,0,0,4,0,0,0,113,2,0,0,104,205,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,224,207,4,0,0,0,0,0,2,0,0,0,81,0,0,0,232,204,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,64,205,4,0,0,0,0,0,2,0,0,0,33,1,0,0,120,203,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,160,204,4,0,0,0,0,0,4,0,0,0,81,0,0,0,16,203,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,104,203,4,0,0,0,0,0,2,0,0,0,121,0,0,0,96,202,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,224,202,4,0,0,0,0,0,2,0,0,0,169,0,0,0,120,201,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,40,202,4,0,0,0,0,0,2,0,0,0,25,0,0,0,64,201,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,96,201,4,0,0,0,0,0,2,0,0,0,169,0,0,0,88,200,4,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,8,201,4,0,0,0,0,0,2,0,0,0,121,0,0,0,168,199,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,40,200,4,0,0,0,0,0,2,0,0,0,225,0,0,0,128,198,4,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,104,199,4,0,0,0,0,0,2,0,0,0,185,1,0,0,104,196,4,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,40,198,4,0,0,0,0,0,2,0,0,0,225,0,0,0,64,195,4,0,1,0,0,0,0,117,153,225,0,24,61,97,4,0,0,0,0,0,0,0,40,196,4,0,0,0,0,0,2,0,0,0,105,1,0,0,128,193,4,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,240,194,4,0,0,0,0,0,1,0,0,0,49,0,0,0,128,192,4,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,184,192,4,0,0,0,0,0,2,3,4,4,4,5,5,6,5,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,7,8,8,8,8,8,8,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,6,9,7,10,8,12,12,13,13,14,14,4,7,7,9,9,9,8,9,8,10,9,11,9,14,9,14,10,13,11,4,7,7,9,9,9,9,8,9,10,10,11,11,12,13,12,13,14,15,7,9,9,10,11,10,10,10,10,11,12,13,13,13,14,17,14,15,16,7,9,9,10,10,10,10,10,10,11,12,13,13,14,14,15,15,18,18,8,9,9,11,10,11,11,11,12,13,12,14,14,16,15,15,17,18,15,8,9,9,10,10,11,11,11,11,13,13,14,14,15,15,15,16,16,18,7,9,8,10,10,11,11,12,12,14,14,15,15,16,16,15,17,16,18,8,9,9,10,10,11,12,12,12,13,13,16,15,17,16,17,18,17,18,9,10,10,12,11,13,13,14,13,14,14,15,17,16,18,17,18,17,18,9,10,10,12,11,12,13,13,14,15,16,14,15,16,18,18,18,18,17,11,11,11,13,13,14,14,16,15,15,15,16,15,15,18,18,18,17,16,11,11,12,13,13,15,14,15,16,16,16,17,16,15,18,17,18,16,18,12,13,13,15,15,15,16,18,16,17,16,17,16,17,17,17,18,18,17,13,13,13,15,13,16,15,17,16,16,16,18,18,18,18,16,17,17,18,13,15,14,15,15,18,17,18,18,18,16,18,17,18,17,18,16,17,17,14,14,14,15,16,17,16,18,18,18,17,18,17,18,18,18,16,16,16,14,17,16,17,15,16,18,18,17,18,17,18,17,18,18,18,17,18,17,15,16,15,18,15,18,17,16,18,18,18,18,18,18,17,18,16,18,17,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,5,3,9,8,9,9,9,9,9,9,9,9,9,9,5,7,8,9,9,9,9,9,9,9,9,9,9,9,9,5,7,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,3,5,5,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,10,5,6,6,7,7,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,9,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,7,7,7,8,8,9,9,9,9,9,9,9,9,10,9,10,10,10,9,10,9,8,8,8,9,8,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,8,8,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,8,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,7,7,9,8,10,9,11,11,4,7,6,9,8,9,9,9,9,10,9,11,9,12,9,4,6,7,8,8,9,9,9,9,10,10,10,11,11,12,7,9,8,10,10,11,11,10,10,11,11,12,12,13,12,7,8,8,10,10,10,11,10,10,11,11,11,12,12,13,8,9,9,11,11,11,11,11,11,12,12,13,13,13,13,8,9,9,11,11,11,11,11,11,12,12,13,13,13,14,8,9,9,10,10,11,11,12,11,13,13,14,13,14,14,8,9,9,10,10,11,11,12,12,12,12,13,13,14,14,9,10,10,11,11,12,12,13,12,13,13,14,14,15,15,9,10,10,11,11,12,12,12,13,13,13,14,14,14,15,10,11,11,12,12,13,13,14,13,14,14,15,14,15,15,10,11,11,12,12,13,12,13,14,14,14,14,14,15,15,11,12,12,13,13,13,13,14,14,15,14,15,15,16,16,11,12,12,13,13,13,13,14,14,14,15,15,15,16,16,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,5,5,7,7,7,7,7,7,8,8,5,6,6,7,7,7,7,8,8,8,8,5,6,6,7,7,7,7,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,8,9,9,10,10,4,6,6,8,8,9,9,9,9,10,10,11,10,4,6,6,8,8,9,9,9,9,10,10,11,11,7,8,8,10,9,10,10,10,10,11,11,12,12,7,8,8,10,10,10,10,10,10,11,11,12,12,8,9,9,10,10,11,11,11,11,12,12,13,13,8,9,9,10,10,11,11,11,11,12,12,13,13,8,9,9,11,10,11,11,12,12,13,13,14,13,8,9,9,10,10,11,11,12,12,13,13,13,13,9,10,10,11,11,12,12,13,13,13,13,14,14,9,10,10,11,11,12,12,13,13,13,13,14,14,10,11,11,12,12,13,13,14,13,14,14,15,14,10,11,11,12,12,13,13,14,13,14,14,15,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,4,7,7,8,8,8,8,10,10,11,11,4,6,6,7,7,9,9,9,9,10,10,11,11,4,6,6,7,7,9,9,9,9,10,10,11,11,7,8,8,9,9,9,9,10,10,11,11,12,12,7,7,7,9,8,10,9,10,10,11,11,12,12,8,9,9,9,10,10,10,11,11,12,12,13,13,8,9,9,10,9,10,10,11,11,12,12,13,13,8,9,9,10,10,11,11,11,11,12,12,13,13,8,9,9,10,10,11,11,12,11,12,12,13,13,10,10,10,11,11,12,12,12,12,13,13,14,14,10,10,10,11,11,12,12,12,12,13,13,14,14,11,11,11,12,12,13,13,13,13,14,14,14,14,11,11,11,12,12,13,13,13,13,14,14,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,5,5,6,6,7,7,8,8,8,8,5,6,6,7,7,7,7,8,8,8,8,5,6,6,6,7,7,7,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,8,8,8,8,8,8,8,8,9,9,8,8,8,8,8,8,8,9,9,9,9,8,8,8,8,8,8,8,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,7,9,9,7,9,10,5,8,8,7,10,9,7,10,9,5,8,8,8,11,10,8,10,10,7,10,10,9,9,12,10,12,12,7,10,10,9,12,10,10,11,12,5,8,8,8,10,10,8,11,11,7,11,10,10,12,11,9,10,12,7,10,11,10,12,12,9,12,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,5,6,6,7,7,8,8,9,9,10,10,11,11,11,11,5,5,5,7,6,8,7,9,9,9,9,10,10,11,11,12,12,5,5,5,6,6,7,8,8,9,9,9,10,10,11,11,12,12,6,7,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,6,6,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,7,8,8,8,8,9,9,9,9,10,10,11,11,11,11,12,12,7,7,8,8,8,9,9,9,9,10,10,11,11,11,11,12,12,8,9,9,9,9,9,9,10,10,10,10,11,11,12,12,12,12,8,9,9,9,9,9,9,10,10,10,10,11,11,12,12,12,12,9,9,9,9,9,10,10,10,10,10,11,11,11,12,12,13,13,9,9,9,9,9,10,10,10,10,11,10,11,11,12,12,13,13,10,10,10,10,10,11,11,11,11,11,11,11,12,12,12,13,13,10,10,10,10,10,11,11,11,11,11,11,12,11,12,12,13,13,11,11,11,11,11,11,11,12,12,12,12,12,12,13,13,13,13,11,11,11,11,11,11,11,12,12,12,12,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,13,13,13,13,13,14,14,11,12,12,12,12,12,12,12,13,13,13,13,13,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,4,6,6,7,7,9,9,4,5,5,6,6,8,7,9,9,4,5,5,6,6,7,8,9,9,6,6,6,7,7,8,8,10,10,6,6,6,7,7,8,8,10,10,7,8,7,8,8,9,9,11,10,7,7,8,8,8,9,9,10,11,9,9,9,10,10,11,10,11,11,9,9,9,10,10,10,11,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,5,7,7,9,9,5,7,7,9,9,9,10,9,11,11,9,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,9,10,10,11,12,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,11,10,10,10,12,12,9,10,10,12,12,10,10,10,12,12,9,10,10,12,12,12,12,12,14,14,11,12,12,13,14,9,10,10,12,12,9,10,10,12,12,10,10,10,12,12,11,12,12,14,13,12,12,12,14,13,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,10,10,10,12,12,7,8,8,11,10,8,9,9,11,11,8,9,9,11,11,10,11,11,12,13,10,11,11,12,13,7,8,8,10,10,8,9,8,11,10,8,9,9,11,11,10,11,10,13,12,10,11,11,13,13,10,11,10,13,12,10,11,11,13,13,10,11,11,13,13,12,12,13,13,14,12,13,13,14,14,9,10,10,12,12,10,11,10,13,12,10,11,11,13,13,12,13,12,14,13,12,13,13,14,15,5,7,7,9,10,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,10,10,11,12,12,7,8,8,10,10,8,9,9,11,11,8,8,9,10,11,10,11,11,13,13,10,10,11,12,13,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,11,13,12,10,11,11,13,12,9,10,10,12,12,10,11,11,13,13,10,10,11,12,13,12,13,13,15,14,12,12,13,12,14,9,10,11,12,13,10,11,11,13,13,10,11,11,13,13,12,13,13,14,14,12,13,12,14,13,8,10,10,12,12,9,11,10,13,12,9,10,10,12,13,12,13,13,14,14,12,12,12,14,14],"i8",N3,F.GLOBAL_BASE+304880),E3([9,10,10,13,13,10,11,11,13,13,10,11,11,13,13,13,13,13,14,15,12,13,13,14,15,9,10,10,12,13,10,11,10,13,13,10,11,11,12,13,12,13,12,15,14,12,13,13,14,15,11,12,12,15,14,12,12,13,14,15,12,13,13,15,14,13,13,15,14,16,14,14,14,16,15,11,12,12,14,14,11,12,12,14,14,12,13,13,14,15,13,14,13,15,13,14,14,14,15,16,8,9,10,12,12,9,10,10,13,12,9,10,11,12,13,12,12,12,14,14,12,13,13,14,14,9,10,10,13,12,10,11,11,13,13,10,10,11,13,13,12,13,13,15,14,12,12,13,14,15,9,10,10,13,13,10,11,11,13,13,10,11,11,13,13,12,13,13,14,14,13,13,13,15,15,11,12,12,14,13,12,13,13,15,14,11,12,12,14,14,14,14,14,16,15,13,13,14,13,16,11,12,12,14,14,12,13,13,14,15,12,13,12,14,14,14,14,14,16,16,14,15,13,16,14,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,7,5,7,7,5,7,7,7,9,9,7,9,9,5,7,7,7,9,9,8,9,9,5,7,7,8,9,9,7,9,9,7,9,9,9,10,11,9,10,10,7,9,9,9,10,9,9,10,11,5,8,7,7,9,9,8,9,9,7,9,9,9,11,10,9,9,10,7,9,9,9,10,10,9,11,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,8,11,13,13,15,16,19,19,19,19,11,8,8,9,9,11,13,15,19,20,14,8,7,7,8,9,12,13,15,20,15,9,6,5,5,7,10,12,14,18,14,9,7,5,3,4,7,10,12,16,13,10,8,6,3,3,5,8,11,14,11,10,9,7,5,4,4,6,11,14,10,10,10,8,6,5,5,6,10,14,10,10,10,9,8,7,7,7,10,14,11,12,12,12,11,10,10,10,12,16,0,0,0,0,2,0,0,0,100,0,0,0,112,225,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,104,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,144,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,184,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,224,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,8,211,4,0,0,0,0,0,48,211,4,0,88,211,4,0,0,0,0,0,0,0,0,0,128,211,4,0,168,211,4,0,0,0,0,0,0,0,0,0,208,211,4,0,248,211,4,0,32,212,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,216,209,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,6,10,8,12,8,14,8,14,19,5,3,5,5,7,6,11,7,16,19,7,5,6,7,7,9,11,12,19,19,6,4,7,5,7,6,10,7,18,18,8,6,7,7,7,7,8,9,18,18,7,5,8,5,7,5,8,6,18,18,12,9,10,9,9,9,8,9,18,18,8,7,10,6,8,5,6,4,11,18,11,15,16,12,11,8,8,6,9,18,14,18,18,18,16,16,16,13,16,18,0,0,0,0,4,0,0,0,81,0,0,0,8,225,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,96,225,4,0,0,0,0,0,4,0,0,0,81,0,0,0,160,224,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,248,224,4,0,0,0,0,0,4,0,0,0,113,2,0,0,16,222,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,224,4,0,0,0,0,0,4,0,0,0,113,2,0,0,128,219,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,248,221,4,0,0,0,0,0,2,0,0,0,81,0,0,0,0,219,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,88,219,4,0,0,0,0,0,2,0,0,0,81,0,0,0,128,218,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,216,218,4,0,0,0,0,0,4,0,0,0,81,0,0,0,24,218,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,112,218,4,0,0,0,0,0,2,0,0,0,121,0,0,0,104,217,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,232,217,4,0,0,0,0,0,2,0,0,0,121,0,0,0,184,216,4,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,56,217,4,0,0,0,0,0,2,0,0,0,121,0,0,0,8,216,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,136,216,4,0,0,0,0,0,2,0,0,0,225,0,0,0,224,214,4,0,1,0,0,0,0,228,91,225,0,224,255,96,4,0,0,0,0,0,0,0,200,215,4,0,0,0,0,0,2,0,0,0,225,0,0,0,184,213,4,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,160,214,4,0,0,0,0,0,2,0,0,0,33,1,0,0,72,212,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,112,213,4,0,0,0,0,0,1,6,6,7,8,8,11,10,9,9,11,9,10,9,11,11,9,6,7,6,11,8,11,9,10,10,11,9,11,10,10,10,11,9,5,7,7,8,8,10,11,8,8,11,9,9,10,11,9,10,11,8,9,6,8,8,9,9,10,10,11,11,11,9,11,10,9,11,8,8,8,9,8,9,10,11,9,9,11,11,10,9,9,11,10,8,11,8,9,8,11,9,10,9,10,11,11,10,10,9,10,10,8,8,9,10,10,10,9,11,9,10,11,11,11,11,10,9,11,9,9,11,11,10,8,11,11,11,9,10,10,11,10,11,11,9,11,10,9,11,10,10,10,10,9,11,10,11,10,9,9,10,11,9,8,10,11,11,10,10,11,9,11,10,11,11,10,11,9,9,8,10,8,9,11,9,8,10,10,9,11,10,11,10,11,9,11,8,10,11,11,11,11,10,10,11,11,11,11,10,11,11,10,9,8,10,10,9,11,10,11,11,11,9,9,9,11,11,11,10,10,9,9,10,9,11,11,11,11,8,10,11,10,11,11,10,11,11,9,9,9,10,9,11,9,11,11,11,11,11,10,11,11,10,11,10,11,11,9,11,10,11,10,9,10,9,10,10,11,11,11,11,9,10,9,10,11,11,10,11,11,11,11,11,11,10,11,11,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,6,5,9,9,10,10,6,7,9,9,10,10,10,10,5,10,8,10,8,10,10,8,8,10,9,10,10,10,10,5,8,9,10,10,10,10,8,10,10,10,10,10,10,10,9,10,10,10,10,10,10,9,9,10,10,10,10,10,10,9,9,8,9,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,8,10,10,10,10,10,10,10,10,10,10,10,10,10,6,8,8,10,10,10,8,10,10,10,10,10,10,10,10,5,8,8,10,10,10,9,9,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,5,5,6,6,7,7,8,8,8,8,4,6,6,7,7,8,7,8,8,8,8,4,6,6,7,7,7,7,8,8,8,8,6,7,7,7,7,8,8,8,8,8,9,6,7,7,7,7,8,8,8,8,9,9,7,7,7,8,8,8,8,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,9,8,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,5,8,8,10,10,12,12,4,7,7,8,8,9,9,12,11,14,13,4,7,7,7,8,9,10,11,11,13,12,5,8,8,9,9,11,11,12,13,15,14,5,7,8,9,9,11,11,13,13,17,15,8,9,10,11,11,12,13,17,14,17,16,8,10,9,11,11,12,12,13,15,15,17,10,11,11,12,13,14,15,15,16,16,17,9,11,11,12,12,14,15,17,15,15,16,11,14,12,14,15,16,15,16,16,16,15,11,13,13,14,14,15,15,16,16,15,16,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,4,6,5,7,7,8,8,8,8,8,8,4,5,6,7,7,8,8,8,8,8,8,6,7,7,8,8,8,8,9,9,9,9,6,7,7,8,8,8,8,9,9,9,9,7,8,8,8,8,9,9,9,10,9,10,7,8,8,8,8,9,9,9,9,10,9,8,8,8,9,9,10,10,10,10,10,10,8,8,8,9,9,9,9,10,10,10,10,8,8,8,9,9,9,10,10,10,10,10,8,8,8,9,9,10,10,10,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,4,8,8,4,8,8,5,11,9,8,12,11,8,12,11,5,10,11,8,11,12,8,11,12,4,11,11,11,14,13,10,13,13,8,14,13,12,14,16,12,16,15,8,14,14,13,16,14,12,15,16,4,11,11,10,14,13,11,14,14,8,15,14,12,15,15,12,14,16,8,14,14,11,16,15,12,15,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,6,6,7,7,9,9,4,4,4,6,6,8,8,9,9,4,4,4,6,6,7,7,9,9,6,6,6,7,7,8,8,10,9,6,6,6,7,7,8,8,9,10,7,8,7,8,8,9,9,10,10,7,8,8,8,8,9,9,10,10,9,9,9,10,10,10,10,11,11,9,9,9,10,10,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,8,8,8,10,10,4,5,6,8,8,8,8,10,10,7,8,8,9,9,9,9,11,11,7,8,8,9,9,9,9,11,11,7,8,8,10,9,11,11,12,11,7,8,8,9,9,11,11,12,12,9,10,10,11,11,12,12,13,12,9,10,10,11,11,12,12,12,13,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,6,6,7,9,9,6,6,6,9,9,9,10,9,11,11,9,9,10,11,11,6,7,7,10,9,7,7,8,9,10,7,7,8,10,10,10,10,10,10,12,9,9,10,11,12,6,7,7,9,9,7,8,7,10,10,7,8,7,10,10,9,10,9,12,11,10,10,9,12,10,9,10,10,12,11,10,10,10,12,12,9,10,10,12,12,12,11,12,13,13,11,11,12,12,13,9,10,10,11,12,9,10,10,12,12,10,10,10,12,12,11,12,11,14,13,11,12,12,14,13,5,7,7,10,10,7,8,8,10,10,7,8,7,10,10,10,10,10,12,12,10,10,10,12,12,6,8,7,10,10,7,7,9,10,11,8,9,9,11,10,10,10,11,11,13,10,10,11,12,13,6,8,8,10,10,7,9,8,11,10,8,9,9,10,11,10,11,10,13,11,10,11,10,12,12,10,11,10,12,11,10,10,10,12,13,10,11,11,13,12,11,11,13,11,14,12,12,13,14,14,9,10,10,12,13,10,11,10,13,12,10,11,11,12,13,11,12,11,14,12,12,13,13,15,14,5,7,7,10,10,7,7,8,10,10,7,8,8,10,10,10,10,10,11,12,10,10,10,12,12,7,8,8,10,10,8,9,8,11,10,7,8,9,10,11,10,11,11,12,12,10,10,11,11,13,7,7,8,10,10,8,8,9,10,11,7,9,7,11,10,10,11,11,13,12,11,11,10,13,11,9,10,10,12,12,10,11,11,13,12,10,10,11,12,12,12,13,13,14,14,11,11,12,12,14,10,10,11,12,12,10,11,11,12,13,10,10,10,13,12,12,13,13,15,14,12,13,10,14,11,8,10,10,12,12,10,11,10,13,13,9,10,10,12,12,12,13,13,15,14,11,12,12,13,13,9,10,10,13,12,10,10,11,13,13,10,11,10,13,12,12,12,13,14,15,12,13,12,15,13,9,10,10,12,13,10,11,10,13,12,10,10,11,12,13,12,14,12,15,13,12,12,13,14,15,11,12,11,14,13,11,11,12,14,15,12,13,12,15,14,13,11,15,11,16,13,14,14,16,15,11,12,12,14,14,11,12,11,14,13,12,12,13,14,15,13,14,12,16,12,14,14,14,15,15,8,10,10,12,12,9,10,10,12,12,10,10,11,13,13,11,12,12,13,13,12,13,13,14,15,9,10,10,13,12,10,11,11,13,12,10,10,11,13,13,12,13,12,15,14,12,12,13,13,16,9,9,10,12,13,10,10,11,12,13,10,11,10,13,13,12,12,13,13,15,13,13,12,15,13,11,12,12,14,14,12,13,12,15,14,11,11,12,13,14,14,14,14,16,15,13,12,15,12,16,11,11,12,13,14,12,13,13,14,15,10,12,11,14,13,14,15,14,16,16,13,14,11,15,11,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,8,8,6,7,7,9,9,5,7,7,9,9,9,10,9,11,11,9,9,10,11,11,6,8,8,10,10,8,9,10,11,11,8,9,10,11,11,10,11,11,12,13,10,11,11,13,13,6,8,8,10,10,8,10,9,11,11,8,10,9,11,11,10,11,11,13,13,10,11,11,13,12,9,11,11,14,13,10,12,12,15,14,10,12,11,14,13,12,13,13,15,15,12,13,13,16,14,9,11,11,13,14,10,11,12,14,14,10,12,12,14,15,12,13,13,14,15,12,13,14,15,16,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,14,8,10,10,12,12,9,11,12,12,13,10,12,12,13,13,12,12,13,14,15,11,13,13,15,15,7,10,10,12,12,9,12,11,13,12,10,11,12,13,13,12,13,12,15,14,11,12,13,15,15,10,12,12,15,14,11,13,13,16,15,11,13,13,16,15,14,13,14,15,16,13,15,15,17,17,10,12,12,14,15,11,12,12,15,15,11,13,13,15,16,13,15,13,16,15,13,15,15,16,17,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,14,7,10,10,12,12,10,12,12,14,13,9,11,12,12,13,12,13,13,15,15,12,12,13,13,15,7,10,10,12,13,10,11,12,13,13,10,12,11,13,13,11,13,13,15,15,12,13,12,15,14,9,12,12,15,14,11,13,13,15,15,11,12,13,15,15,13,14,14,17,19,13,13,14,16,16,10,12,12,14,15,11,13,13,15,16,11,13,12,16,15,13,15,15,17,18,14,15,13,16,15,8,11,11,15,14,10,12,12,16,15,10,12,12,16,16,14,15,15,18,17,13,14,15,16,18,9,12,12,15,15,11,12,14,16,17,11,13,13,16,15,15,15,15,17,18,14,15,16,17,17,9,12,12,15,15,11,14,13,16,16,11,13,13,16,16,15,16,15,17,18,14,16,15,17,16,12,14,14,17,16,12,14,15,18,17,13,15,15,17,17,15,15,18,16,20,15,16,17,18,18,11,14,14,16,17,13,15,14,18,17,13,15,15,17,17,15,17,15,18,17,15,17,16,19,18,8,11,11,14,15,10,12,12,15,15,10,12,12,16,16,13,14,14,17,16,14,15,15,17,17,9,12,12,15,16,11,13,13,16,16,11,12,13,16,16,14,16,15,20,17,14,16,16,17,17,9,12,12,15,16,11,13,13,16,17,11,13,13,17,16,14,15,15,17,18,15,15,15,18,18,11,14,14,17,16,13,15,15,17,17,13,14,14,18,17,15,16,16,18,19,15,15,17,17,19,11,14,14,16,17,13,15,14,17,19,13,15,14,18,17,15,17,16,18,18,15,17,15,18,16,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,5,6,6,5,6,6,5,6,6,6,7,8,6,7,8,5,6,6,6,8,7,6,8,7,5,6,6,6,8,8,6,8,8,6,8,8,7,7,10,8,9,9,6,8,8,7,9,8,8,9,10,5,6,6,6,8,8,7,8,8,6,8,8,8,10,9,7,8,9,6,8,8,8,9,9,7,10,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,7,7,10,10,7,9,10,5,7,8,7,10,9,7,10,10,5,8,8,8,10,10,8,10,10,7,10,10,10,11,12,10,12,13,7,10,10,9,13,11,10,12,13,5,8,8,8,10,10,8,10,10,7,10,10,10,12,12,9,11,12,7,10,11,10,12,12,10,13,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,7,10,9,11,10,15,11,13,16,6,4,6,6,7,7,10,9,12,16,10,6,5,6,6,7,10,11,16,16,9,6,7,6,7,7,10,8,14,16,11,6,5,4,5,6,8,9,15,16,9,6,6,5,6,6,9,8,14,16,12,7,6,6,5,6,6,7,13,16,8,6,7,6,5,5,4,4,11,16,9,8,9,9,7,7,6,5,13,16,14,14,16,15,16,15,16,16,16,16,0,0,0,0,2,0,0,0,64,0,0,0,136,239,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,226,4,0,0,0,0,0,0,0,0,0,0,0,0,0,232,226,4,0,0,0,0,0,0,0,0,0,0,0,0,0,16,227,4,0,0,0,0,0,0,0,0,0,0,0,0,0,56,227,4,0,0,0,0,0,0,0,0,0,0,0,0,0,96,227,4,0,0,0,0,0,136,227,4,0,176,227,4,0,0,0,0,0,0,0,0,0,216,227,4,0,0,228,4,0,40,228,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,81,0,0,0,32,239,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,120,239,4,0,0,0,0,0,4,0,0,0,81,0,0,0,184,238,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,16,239,4,0,0,0,0,0,4,0,0,0,113,2,0,0,40,236,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,238,4,0,0,0,0,0,4,0,0,0,113,2,0,0,152,233,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,236,4,0,0,0,0,0,2,0,0,0,81,0,0,0,24,233,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,112,233,4,0,0,0,0,0,2,0,0,0,169,0,0,0,48,232,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,224,232,4,0,0,0,0,0,2,0,0,0,25,0,0,0,248,231,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,24,232,4,0,0,0,0,0,4,0,0,0,81,0,0,0,144,231,4,0,1,0,0,0,0,176,19,225,0,176,19,97,2,0,0,0,0,0,0,0,232,231,4,0,0,0,0,0,2,0,0,0,225,0,0,0,104,230,4,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,80,231,4,0,0,0,0,0,2,0,0,0,185,1,0,0,80,228,4,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,16,230,4,0,0,0,0,0,1,6,6,7,8,7,7,10,9,10,9,11,10,9,11,10,9,9,9,9,10,6,8,7,9,9,8,8,10,10,9,11,11,12,12,10,9,11,9,12,10,9,6,9,8,9,12,8,8,11,9,11,11,12,11,12,12,10,11,11,10,10,11,7,10,9,9,9,9,9,10,9,10,9,10,10,12,10,10,10,11,12,10,10,7,9,9,9,10,9,9,10,10,9,9,9,11,11,10,10,10,10,9,9,12,7,9,10,9,11,9,10,9,10,11,11,11,10,11,12,9,12,11,10,10,10,7,9,9,9,9,10,12,10,9,11,12,10,11,12,12,11,9,10,11,10,11,7,9,10,10,11,10,9,10,11,11,11,10,12,12,12,11,11,10,11,11,12,8,9,10,12,11,10,10,12,12,12,12,12,10,11,11,9,11,10,12,11,11,8,9,10,10,11,12,11,11,10,10,10,12,12,12,9,10,12,12,12,12,12,8,10,11,10,10,12,9,11,12,12,11,12,12,12,12,10,12,10,10,10,10,8,12,11,11,11,10,10,11,12,12,12,12,11,12,12,12,11,11,11,12,10,9,10,10,12,10,12,10,12,12,10,10,10,11,12,12,12,11,12,12,12,11,10,11,12,12,12,11,12,12,11,12,12,11,12,12,12,12,11,12,12,10,10,10,10,11,11,12,11,12,12,12,12,12,12,12,11,12,11,10,11,11,12,11,11,9,10,10,10,12,10,10,11,9,11,12,11,12,11,12,12,10,11,10,12,9,9,9,12,11,10,11,10,12,10,12,10,12,12,12,11,11,11,11,11,10,9,10,10,11,10,11,11,12,11,10,11,12,12,12,11,11,9,12,10,12,9,10,12,10,10,11,10,11,11,12,11,10,11,10,11,11,11,11,12,11,11,10,9,10,10,10,9,11,11,10,9,12,10,11,12,11,12,12,11,12,11,12,11,10,11,10,12,11,12,11,12,11,12,10,11,10,10,12,11,10,11,11,11,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,5,5,6,5,9,10,11,11,10,10,10,10,10,10,5,8,8,8,10,10,10,10,10,10,10,10,10,10,10,5,8,9,9,9,10,10,10,10,10,10,10,10,10,10,5,10,8,10,10,10,10,10,10,10,10,10,10,10,10,4,8,9,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,5,6,6,4,6,6,6,6,4,6,6,6,6,6,6,6,7,7,6,6,6,7,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,10,10,12,12,13,13,18,17,3,6,6,9,9,11,11,13,13,14,14,18,17,3,6,6,9,9,11,11,13,13,14,14,17,18,7,9,9,11,11,13,13,14,14,15,15,0,0,7,9,9,11,11,13,13,14,14,15,16,19,18,10,11,11,13,13,14,14,16,15,17,18,0,0,10,11,11,13,13,14,14,15,15,16,18,0,0,11,13,13,14,14,15,15,17,17,0,19,0,0,11,13,13,14,14,14,15,16,18,0,19,0,0,13,14,14,15,15,18,17,18,18,0,19,0,0,13,14,14,15,16,16,16,18,18,19,0,0,0,16,17,17,0,17,19,19,0,19,0,0,0,0,16,19,16,17,18,0,19,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,8,8,8,9,9,4,6,6,8,8,8,8,9,9,7,8,8,9,9,9,9,11,10,7,8,8,9,9,9,9,10,11,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,9,9,10,10,11,11,12,12,9,9,9,10,10,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,6,6,6,9,9,6,6,6,9,9,9,10,9,11,11,9,9,9,11,11,6,7,7,10,10,7,7,8,10,10,7,7,8,10,10,10,10,10,11,12,9,10,10,11,12,6,7,7,10,10,7,8,7,10,10,7,8,7,10,10,10,11,10,12,11,10,10,10,13,10,9,10,10,12,12,10,11,10,14,12,9,11,11,13,13,11,12,13,13,13,11,12,12,15,13,9,10,10,12,13,9,11,10,12,13,10,10,11,12,13,11,12,12,12,13,11,12,12,13,13,5,7,7,10,10,7,8,8,10,10,7,8,8,10,10,10,11,10,12,13,10,10,11,12,12,6,8,8,11,10,7,8,9,10,12,8,9,9,11,11,11,10,11,11,12,10,11,11,13,12,7,8,8,10,11,8,9,8,11,10,8,9,9,11,11,10,12,10,13,11,10,11,11,13,13,10,11,10,14,13,10,10,11,13,13,10,12,11,14,13,12,11,13,12,13,13,12,13,14,14,10,11,11,13,13,10,11,10,12,13,10,12,12,12,14,12,12,12,14,12,12,13,12,17,15,5,7,7,10,10,7,8,8,10,10,7,8,8,11,10,10,10,11,12,12,10,11,11,12,13,6,8,8,11,10,8,9,9,11,11,7,8,9,10,11,11,11,11,12,12,10,10,11,12,13,6,8,8,10,11,8,9,9,11,11,7,9,7,11,10,10,12,12,13,13,11,11,10,13,11,9,11,10,14,13,11,11,11,15,13,10,10,11,13,13,12,13,13,14,14,12,11,12,12,13,10,11,11,12,13,10,11,12,13,13,10,11,10,13,12,12,12,13,14,0,12,13,11,13,11,8,10,10,13,13,10,11,11,14,13,10,11,11,13,12,13,14,14,14,15,12,12,12,15,14,9,11,10,13,12,10,10,11,13,14,11,11,11,15,12,13,12,14,15,16,13,13,13,14,13,9,11,11,12,12,10,12,11,13,13,10,11,11,13,14,13,13,13,15,15,13,13,14,17,15,11,12,12,14,14,10,11,12,13,15,12,13,13,0,15,13,11,14,12,16,14,16,14,0,15,11,12,12,14,16,11,13,12,16,15,12,13,13,14,15,12,14,12,15,13,15,14,14,16,16,8,10,10,13,13,10,11,10,13,14,10,11,11,13,13,13,13,12,14,14,14,13,13,16,17,9,10,10,12,14,10,12,11,14,13,10,11,12,13,14,12,12,12,15,15,13,13,13,14,14,9,10,10,13,13,10,11,12,12,14,10,11,10,13,13,13,13,13,14,16,13,13,13,14,14,11,12,13,15,13,12,14,13,14,16,12,12,13,13,14,13,14,14,17,15,13,12,17,13,16,11,12,13,14,15,12,13,14,14,17,11,12,11,14,14,13,16,14,16,0,14,15,11,15,11,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,7,7,6,7,7,8,8,6,7,8,8,8,8,9,9,11,11,8,9,9,11,11,6,9,8,10,10,8,10,10,11,11,8,10,10,11,11,10,11,10,13,12,9,11,10,13,13,6,8,9,10,10,8,10,10,11,11,8,10,10,11,11,9,10,11,13,12,10,10,11,12,12,8,11,11,14,13,10,12,11,15,13,9,12,11,15,14,12,14,13,16,14,12,13,13,17,14,8,11,11,13,14,9,11,12,14,15,10,11,12,13,15,11,13,13,14,16,12,13,14,14,16,5,9,9,11,11,9,11,11,12,12,8,11,11,12,12,11,12,12,15,14,10,12,12,15,15,8,11,11,13,12,10,12,12,13,13,10,12,12,14,13,12,12,13,14,15,11,13,13,17,16,7,11,11,13,13,10,12,12,14,13,10,12,12,13,14,12,13,12,15,14,11,13,13,15,14,9,12,12,16,15,11,13,13,17,16,10,13,13,16,16,13,14,15,15,16,13,15,14,19,17,9,12,12,14,16,11,13,13,15,16,10,13,13,17,16,13,14,13,17,15,12,15,15,16,17,5,9,9,11,11,8,11,11,13,12,9,11,11,12,12,10,12,12,14,15,11,12,12,14,14,7,11,10,13,12,10,12,12,14,13,10,11,12,13,13,11,13,13,15,16,12,12,13,15,15,7,11,11,13,13,10,13,13,14,14,10,12,12,13,13,11,13,13,16,15,12,13,13,15,14,9,12,12,15,15,10,13,13,17,16,11,12,13,15,15,12,15,14,18,18,13,14,14,16,17,9,12,12,15,16,10,13,13,15,16,11,13,13,15,16,13,15,15,17,17,13,15,14,16,15,7,11,11,15,16,10,13,12,16,17,10,12,13,15,17,15,16,16,18,17,13,15,15,17,18,8,12,12,16,16,11,13,14,17,18,11,13,13,18,16,15,17,16,17,19,14,15,15,17,16,8,12,12,16,15,11,14,13,18,17,11,13,14,18,17,15,16,16,18,17,13,16,16,18,18,11,15,14,18,17,13,14,15,18,0,12,15,15,0,17,17,16,17,17,18,14,16,18,18,0,11,14,14,17,0,12,15,14,17,19,12,15,14,18,0,15,18,16,0,17,14,18,16,18,0,7,11,11,16,15,10,12,12,18,16,10,13,13,16,15,13,15,14,17,17,14,16,16,19,18,8,12,12,16,16,11,13,13,18,16,11,13,14,17,16,14,15,15,19,18,15,16,16,0,19,8,12,12,16,17,11,13,13,17,17,11,14,13,17,17,13,15,15,17,19,15,17,17,19,0,11,14,15,19,17,12,15,16,18,18,12,14,15,19,17,14,16,17,0,18,16,16,19,17,0,11,14,14,18,19,12,15,14,17,17,13,16,14,17,16,14,17,16,18,18,15,18,15,0,18,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,7,8,9,7,8,9,5,7,7,7,9,8,7,9,7,4,7,7,7,9,9,7,8,8,6,9,8,7,8,11,9,11,10,6,8,9,8,11,8,9,10,11,4,7,7,7,8,8,7,9,9,6,9,8,9,11,10,8,8,11,6,8,9,9,10,11,8,11,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,8,5,8,8,8,10,10,8,10,11,5,8,8,8,10,10,8,10,10,4,9,9,9,12,11,8,11,11,8,12,11,10,12,14,10,13,13,7,11,11,10,14,12,11,14,14,4,9,9,8,11,11,9,11,12,7,11,11,10,13,14,10,12,14,8,11,12,10,14,14,10,13,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,5,8,7,14,8,9,19,5,2,5,5,9,6,9,19,8,4,5,7,8,9,13,19,7,4,6,5,9,6,9,19,12,8,7,9,10,11,13,19,8,5,8,6,9,6,7,19,8,8,10,7,7,4,5,19,12,17,19,15,18,13,11,18,9,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,9,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,112,199,64,0,0,0,0,0,136,211,64,0,0,0,0,0,124,229,64,0,0,0,0,0,255,244,64,200,47,1,0,32,240,4,0,200,47,1,0,64,240,4,0,200,47,1,0,128,240,4,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,248,45,5,0,248,45,5,0,32,46,5,0,32,46,5,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,32,5,5,0,32,5,5,0,72,5,5,0,72,5,5,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,8,6,5,0,8,6,5,0,72,5,5,0,72,5,5,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,192,240,4,0,192,240,4,0,232,240,4,0,232,240,4,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,168,241,4,0,168,241,4,0,232,240,4,0,232,240,4,0,2,0,0,0,100,0,0,0,184,4,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,242,4,0,0,0,0,0,0,0,0,0,0,0,0,0,96,242,4,0,0,0,0,0,0,0,0,0,0,0,0,0,136,242,4,0,0,0,0,0,0,0,0,0,0,0,0,0,176,242,4,0,0,0,0,0,216,242,4,0,0,243,4,0,0,0,0,0,0,0,0,0,40,243,4,0,80,243,4,0,0,0,0,0,0,0,0,0,120,243,4,0,160,243,4,0,0,0,0,0,0,0,0,0,200,243,4,0,240,243,4,0,0,0,0,0,0,0,0,0,24,244,4,0,64,244,4,0,104,244,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,208,241,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,9,9,9,8,9,10,13,16,5,4,5,6,7,7,8,9,12,16,6,5,5,5,7,7,9,10,12,15,7,6,5,4,5,6,8,9,10,13,8,7,7,5,5,5,7,9,10,12,7,7,7,6,5,5,6,7,10,12,8,8,8,7,7,5,5,6,9,11,8,9,9,8,8,6,6,5,8,11,10,11,12,12,11,9,9,8,9,12,13,14,15,15,14,12,12,11,11,13,0,0,0,0,4,0,0,0,81,0,0,0,80,4,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,4,5,0,0,0,0,0,4,0,0,0,113,2,0,0,192,1,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,4,5,0,0,0,0,0,2,0,0,0,81,0,0,0,64,1,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,152,1,5,0,0,0,0,0,2,0,0,0,33,1,0,0,208,255,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,248,0,5,0,0,0,0,0,4,0,0,0,81,0,0,0,104,255,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,192,255,4,0,0,0,0,0,2,0,0,0,121,0,0,0,184,254,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,56,255,4,0,0,0,0,0,2,0,0,0,169,0,0,0,208,253,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,128,254,4,0,0,0,0,0,2,0,0,0,25,0,0,0,152,253,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,184,253,4,0,0,0,0,0,2,0,0,0,169,0,0,0,176,252,4,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,96,253,4,0,0,0,0,0,2,0,0,0,121,0,0,0,0,252,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,128,252,4,0,0,0,0,0,2,0,0,0,225,0,0,0,216,250,4,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,192,251,4,0,0,0,0,0,2,0,0,0,185,1,0,0,192,248,4,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,128,250,4,0,0,0,0,0,2,0,0,0,33,1,0,0,80,247,4,0,1,0,0,0,0,24,157,225,0,24,61,97,5,0,0,0,0,0,0,0,120,248,4,0,0,0,0,0,2,0,0,0,105,1,0,0,144,245,4,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,0,247,4,0,0,0,0,0,1,0,0,0,49,0,0,0,144,244,4,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,200,244,4,0,0,0,0,0,2,4,4,4,4,5,5,5,5,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,7,8,8,10,9,11,10,13,11,14,13,6,6,6,8,8,8,8,8,7,9,8,11,9,13,11,14,12,14,13,5,6,6,8,8,8,8,8,8,9,9,11,11,13,11,14,13,15,15,17,8,8,8,8,9,9,9,8,11,9,12,10,13,11,14,12,14,13,17,8,8,8,8,9,9,9,9,10,10,11,11,13,13,13,14,16,15,17,12,12,8,8,9,9,10,10,11,11,12,11,13,12,13,12,14,13,16,12,12,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,17,17,17,9,9,9,9,11,11,12,12,12,13,13,13,16,14,14,14,17,17,17,9,8,9,8,11,10,12,12,13,13,14,14,15,15,16,16,17,17,17,12,12,10,10,11,12,12,13,13,14,13,15,15,14,16,15,17,17,17,12,12,10,8,12,9,13,12,14,14,15,14,15,16,16,16,17,17,17,17,17,11,11,12,12,14,14,14,16,15,16,15,16,15,17,17,17,17,17,17,11,9,12,10,13,11,15,14,16,16,17,16,16,15,17,17,17,17,17,15,15,12,12,14,14,15,16,16,15,16,16,17,17,17,17,17,17,17,14,14,12,10,14,11,15,12,17,16,15,16,17,16,17,17,17,17,17,17,17,13,13,14,14,14,16,17,17,16,17,17,17,17,17,17,17,17,17,17,13,9,13,12,15,13,16,16,17,17,17,17,17,17,17,17,17,17,17,15,17,14,14,15,16,16,17,16,17,16,17,17,17,17,17,17,17,17,17,17,14,13,15,16,16,17,16,17,17],"i8",N3,F.GLOBAL_BASE+315120),E3([17,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,4,3,10,8,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,11,11,11,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,11,10,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,10,9,10,10,10,10,11,11,11,8,8,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,11,11,11,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,10,10,6,6,6,8,8,9,9,8,8,9,9,10,10,11,11,6,5,5,8,7,9,9,8,8,9,9,10,10,11,11,20,8,8,8,8,9,9,9,9,10,10,11,10,12,11,20,8,8,8,8,9,9,9,9,10,10,11,11,12,12,20,12,12,9,9,10,10,10,10,11,11,12,12,13,12,20,13,13,9,9,10,10,10,10,11,11,12,12,13,13,20,20,20,9,9,9,9,10,10,11,11,12,12,13,12,20,20,20,9,9,9,8,10,10,12,11,12,12,13,13,20,20,20,13,13,10,10,11,11,12,12,13,13,13,13,20,20,20,13,13,10,10,11,10,12,11,13,13,14,14,20,20,20,20,20,11,11,11,11,12,12,13,13,14,14,20,20,20,20,20,11,10,11,11,13,11,13,13,14,14,20,20,21,21,21,14,14,11,12,13,13,13,13,14,14,21,21,21,21,21,15,15,12,11,13,12,14,13,15,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,7,7,9,9,9,6,7,7,7,7,7,8,8,9,9,9,6,6,7,7,7,7,8,8,9,9,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,7,7,8,8,9,9,9,7,7,8,8,7,7,8,8,9,9,9,9,9,8,8,7,7,8,8,9,9,9,9,9,8,8,7,7,8,8,9,9,9,9,9,7,7,7,7,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,8,10,9,10,10,5,5,5,7,7,9,9,10,10,11,10,12,11,6,5,5,7,7,9,9,10,10,11,11,12,12,20,7,7,7,7,9,9,10,10,11,11,12,12,20,7,7,7,7,9,9,11,10,12,11,12,12,20,11,11,8,8,10,10,11,11,12,12,13,13,20,12,12,8,8,9,9,11,11,12,12,13,13,20,20,21,10,10,10,10,11,11,12,12,13,13,21,21,21,10,10,10,10,11,11,12,12,13,13,21,21,21,14,14,11,11,12,12,13,13,13,14,21,21,21,16,15,11,11,12,11,13,13,14,14,21,21,21,21,21,13,13,12,12,13,13,14,14,21,21,21,21,21,13,13,12,12,13,13,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,7,8,8,9,9,10,10,5,5,5,7,7,9,9,9,9,11,11,12,12,6,5,5,7,7,9,9,10,9,11,11,12,12,0,7,7,7,7,9,9,10,10,11,11,12,12,0,7,7,7,7,9,9,10,10,11,11,12,12,0,11,11,8,8,10,10,11,11,12,12,13,13,0,12,12,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,6,6,7,7,7,7,11,10,10,6,6,7,7,8,8,8,8,10,10,10,6,6,7,7,8,8,8,8,11,11,11,7,7,8,8,8,8,9,9,11,11,11,6,7,8,8,8,8,9,9,11,11,11,7,7,8,8,8,8,8,8,11,11,11,7,7,8,8,8,8,9,9,11,11,11,8,8,8,8,8,8,8,8,11,11,11,11,11,8,8,8,8,8,8,12,11,11,11,11,8,8,8,8,8,8,12,11,11,11,11,7,7,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,6,6,10,11,10,10,10,11,4,6,6,10,10,11,10,11,10,5,10,10,9,12,11,10,12,12,7,10,10,12,12,12,12,13,13,7,11,10,11,12,12,12,13,13,6,11,10,10,12,12,11,12,12,7,11,10,12,13,13,12,12,12,7,10,11,12,13,13,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,6,7,7,8,8,8,8,9,9,0,0,0,6,6,7,7,8,8,8,8,9,9,10,10,11,10,0,0,0,6,6,7,7,8,8,8,8,9,9,10,10,10,10,0,0,0,6,6,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,6,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,10,10,11,11,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,11,11,12,12,0,0,0,7,8,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,5,5,7,7,8,8,0,0,0,6,6,8,8,9,9,0,0,0,6,6,8,8,9,9,0,0,0,7,7,8,9,10,10,0,0,0,7,7,9,9,10,10,0,0,0,8,8,9,9,11,11,0,0,0,7,7,9,9,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,7,7,0,0,0,8,8,0,0,0,8,8,0,0,0,8,8,0,0,0,8,8,4,4,4,8,7,0,0,0,8,8,0,0,0,8,8,0,0,0,9,9,0,0,0,9,9,4,4,4,7,8,0,0,0,8,8,0,0,0,8,8,0,0,0,9,9,0,0,0,9,9,7,8,8,10,9,0,0,0,12,11,0,0,0,11,12,0,0,0,14,13,0,0,0,14,14,7,8,8,9,10,0,0,0,11,12,0,0,0,11,11,0,0,0,14,14,0,0,0,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,8,11,11,0,0,0,12,11,0,0,0,12,12,0,0,0,13,12,0,0,0,13,13,8,8,8,11,11,0,0,0,11,11,0,0,0,12,12,0,0,0,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,8,12,11,0,0,0,12,12,0,0,0,12,11,0,0,0,13,13,0,0,0,13,13,8,8,8,11,12,0,0,0,11,12,0,0,0,11,12,0,0,0,13,14,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,9,14,14,0,0,0,13,13,0,0,0,13,13,0,0,0,13,12,0,0,0,13,13,8,9,9,14,14,0,0,0,13,13,0,0,0,13,13,0,0,0,12,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,9,14,14,0,0,0,13,13,0,0,0,13,13,0,0,0,13,13,0,0,0,13,12,8,9,9,14,14,0,0,0,13,13,0,0,0,13,13,0,0,0,13,13,0,0,0,12,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,3,3,0,0,0,0,0,0,4,5,5,0,0,0,0,0,0,4,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,7,10,12,11,12,13,15,16,18,15,10,8,8,8,9,10,12,13,14,17,10,7,7,7,7,8,10,12,15,18,10,7,7,5,5,6,8,10,13,15,10,7,6,5,4,4,6,9,12,15,11,7,7,5,4,3,4,7,11,13,12,9,8,7,5,4,4,5,10,13,11,11,11,9,7,5,5,5,9,12,13,12,13,12,10,8,8,7,9,13,14,14,14,14,13,11,11,10,10,13,0,0,0,0,2,0,0,0,100,0,0,0,144,45,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,232,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,16,7,5,0,0,0,0,0,0,0,0,0,0,0,0,0,56,7,5,0,0,0,0,0,96,7,5,0,136,7,5,0,0,0,0,0,0,0,0,0,176,7,5,0,216,7,5,0,0,0,0,0,0,0,0,0,0,8,5,0,40,8,5,0,80,8,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,48,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,5,20,7,10,7,8,10,11,11,4,2,20,5,8,6,7,9,10,10,20,20,20,20,19,19,19,19,19,19,7,5,19,6,10,7,9,11,13,17,11,8,19,10,7,7,8,10,11,15,7,5,19,7,7,5,6,9,11,16,7,6,19,8,7,6,6,7,9,13,9,9,19,11,9,8,6,7,8,13,12,14,19,16,13,10,9,8,9,13,14,17,19,18,18,17,12,11,11,13,0,0,0,0,8,0,0,0,161,25,0,0,216,19,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,128,45,5,0,0,0,0,0,4,0,0,0,113,2,0,0,72,17,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,19,5,0,0,0,0,0,2,0,0,0,81,0,0,0,200,16,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,32,17,5,0,0,0,0,0,2,0,0,0,81,0,0,0,72,16,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,160,16,5,0,0,0,0,0,2,0,0,0,33,1,0,0,216,14,5,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,0,16,5,0,0,0,0,0,4,0,0,0,81,0,0,0,112,14,5,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,200,14,5,0,0,0,0,0,2,0,0,0,121,0,0,0,192,13,5,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,64,14,5,0,0,0,0,0,2,0,0,0,169,0,0,0,216,12,5,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,136,13,5,0,0,0,0,0,2,0,0,0,25,0,0,0,160,12,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,12,5,0,0,0,0,0,2,0,0,0,169,0,0,0,184,11,5,0,1,0,0,0,0,136,93,225,0,176,19,97,4,0,0,0,0,0,0,0,104,12,5,0,0,0,0,0,2,0,0,0,225,0,0,0,144,10,5,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,120,11,5,0,0,0,0,0,2,0,0,0,185,1,0,0,120,8,5,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,56,10,5,0,0,0,0,0,1,4,4,6,6,7,7,8,7,8,8,9,9,9,9,10,10,10,9,10,10,11,12,12,8,8,8,8,9,9,9,9,10,10,10,10,10,11,11,10,12,11,11,13,11,7,7,8,8,8,8,9,9,9,10,10,10,10,9,10,10,11,11,12,11,11,8,8,8,8,9,9,10,10,10,10,11,11,11,11,11,11,11,12,11,12,12,8,8,9,9,9,9,9,10,10,10,10,10,10,11,11,11,11,11,11,12,11,9,9,9,9,10,10,10,10,11,10,11,11,11,11,11,11,12,12,12,12,11,9,9,9,9,10,10,10,10,11,11,11,11,11,11,11,11,11,12,12,12,13,9,10,10,9,11,10,10,10,10,11,11,11,11,11,10,11,12,11,12,12,11,12,11,10,9,10,10,11,10,11,11,11,11,11,11,11,11,11,12,12,11,12,12,12,10,10,10,11,10,11,11,11,11,11,11,11,11,11,11,11,12,13,12,12,11,9,10,10,11,11,10,11,11,11,12,11,11,11,11,11,12,12,13,13,12,13,10,10,12,10,11,11,11,11,11,11,11,11,11,12,12,11,13,12,12,12,12,13,12,11,11,11,11,11,11,12,11,12,11,11,11,11,12,12,13,12,11,12,12,11,11,11,11,11,12,11,11,11,11,12,11,11,12,11,12,13,13,12,12,12,12,11,11,11,11,11,12,11,11,12,11,12,11,11,11,11,13,12,12,12,12,13,11,11,11,12,12,11,11,11,12,11,12,12,12,11,12,13,12,11,11,12,12,11,12,11,11,11,12,12,11,12,11,11,11,12,12,12,12,13,12,13,12,12,12,12,11,11,12,11,11,11,11,11,11,12,12,12,13,12,11,13,13,12,12,11,12,10,11,11,11,11,12,11,12,12,11,12,12,13,12,12,13,12,12,12,12,12,11,12,12,12,11,12,11,11,11,12,13,12,13,13,13,13,13,12,13,13,12,12,13,11,11,11,11,11,12,11,11,12,11,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,4,4,8,8,12,13,14,14,14,14,14,14,6,6,6,6,6,10,9,14,14,14,14,14,14,14,14,7,6,5,6,6,10,9,12,13,13,13,13,13,13,13,13,7,7,9,9,11,11,12,13,13,13,13,13,13,13,13,7,7,8,8,11,12,13,13,13,13,13,13,13,13,13,12,12,10,10,13,12,13,13,13,13,13,13,13,13,13,12,12,10,10,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,6,5,5,7,8,8,9,8,8,9,9,10,11,6,5,5,8,8,9,9,8,8,9,10,10,11,0,8,8,8,9,9,9,9,9,10,10,11,11,0,9,9,9,8,9,9,9,9,10,10,11,11,0,13,13,9,9,10,10,10,10,11,11,12,12,0,14,13,9,9,10,10,10,10,11,11,12,12,0,0,0,10,10,9,9,11,11,12,12,13,12,0,0,0,10,10,9,9,10,10,12,12,13,13,0,0,0,13,14,11,10,11,11,12,12,13,14,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,12,12,12,12,13,13,14,15,0,0,0,0,0,12,12,12,12,13,13,14,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,6,7,7,7,7,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,9,9,10,10,10,10,10,8,8,8,8,9,9,10,10,10,10,10,9,9,8,8,9,9,10,10,10,10,10,8,8,8,8,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,6,7,6,6,4,7,7,10,9,10,10,10,9,4,7,7,10,10,10,11,10,10,6,10,10,11,11,11,11,10,10,6,10,9,11,11,11,11,10,10,6,10,10,11,11,11,11,10,10,7,11,11,11,11,11,12,12,11,6,10,10,11,10,10,11,11,11,6,10,10,10,11,10,11,11,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,6,6,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,9,10,9,10,10,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,11,12,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,10,10,11,10,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,5,5,6,6,8,8,0,0,0,7,7,7,7,9,9,0,0,0,7,7,7,7,9,9,0,0,0,8,8,8,8,9,9,0,0,0,8,8,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,10,10,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,2,3,7,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,8,9,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,9,11,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,11,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,8,9,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,9,11,9],"i8",N3,F.GLOBAL_BASE+325360),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,6,17,8,12,9,10,10,12,13,5,2,17,4,9,5,7,8,11,13,16,16,16,16,16,16,16,16,16,16,6,4,16,5,10,5,7,10,14,16,13,9,16,11,8,7,8,9,13,16,7,4,16,5,7,4,6,8,11,13,8,6,16,7,8,5,5,7,9,13,9,8,16,9,8,6,6,7,9,13,11,11,16,10,10,7,7,7,9,13,13,13,16,13,13,9,9,9,10,13,0,0,0,0,2,0,0,0,100,0,0,0,88,85,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,46,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,47,5,0,0,0,0,0,0,0,0,0,0,0,0,0,48,47,5,0,0,0,0,0,0,0,0,0,0,0,0,0,88,47,5,0,0,0,0,0,0,0,0,0,0,0,0,0,128,47,5,0,0,0,0,0,168,47,5,0,208,47,5,0,0,0,0,0,0,0,0,0,248,47,5,0,32,48,5,0,0,0,0,0,0,0,0,0,72,48,5,0,112,48,5,0,152,48,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,160,59,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,72,85,5,0,0,0,0,0,4,0,0,0,113,2,0,0,16,57,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,59,5,0,0,0,0,0,2,0,0,0,81,0,0,0,144,56,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,232,56,5,0,0,0,0,0,2,0,0,0,81,0,0,0,16,56,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,104,56,5,0,0,0,0,0,2,0,0,0,33,1,0,0,160,54,5,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,200,55,5,0,0,0,0,0,4,0,0,0,81,0,0,0,56,54,5,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,144,54,5,0,0,0,0,0,2,0,0,0,121,0,0,0,136,53,5,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,8,54,5,0,0,0,0,0,2,0,0,0,169,0,0,0,160,52,5,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,80,53,5,0,0,0,0,0,2,0,0,0,25,0,0,0,104,52,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,52,5,0,0,0,0,0,4,0,0,0,81,0,0,0,0,52,5,0,1,0,0,0,0,176,19,225,0,176,19,97,2,0,0,0,0,0,0,0,88,52,5,0,0,0,0,0,2,0,0,0,225,0,0,0,216,50,5,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,192,51,5,0,0,0,0,0,2,0,0,0,185,1,0,0,192,48,5,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,128,50,5,0,0,0,0,0,1,5,5,7,8,8,7,9,9,9,12,12,11,12,12,10,10,11,12,12,12,11,12,12,8,9,8,7,9,10,10,11,11,10,11,12,10,12,10,12,12,12,11,12,11,9,8,8,9,10,9,8,9,10,12,12,11,11,12,11,10,11,12,11,12,12,8,9,9,9,10,11,12,11,12,11,11,11,11,12,12,11,11,12,12,11,11,9,9,8,9,9,11,9,9,10,9,11,11,11,11,12,11,11,10,12,12,12,9,12,11,10,11,11,11,11,12,12,12,11,11,11,12,10,12,12,12,10,10,9,10,9,10,10,9,9,9,10,10,12,10,11,11,9,11,11,10,11,11,11,10,10,10,9,9,10,10,9,9,10,11,11,10,11,10,11,10,11,11,10,11,11,11,10,9,10,10,9,10,9,9,11,9,9,11,10,10,11,11,10,10,11,10,11,8,9,11,11,10,9,10,11,11,10,11,11,10,10,10,11,10,9,10,10,11,9,10,10,9,11,10,10,10,10,11,10,11,11,9,11,10,11,10,10,11,11,10,10,10,9,10,10,11,11,11,9,10,10,10,10,10,11,10,10,10,9,10,10,11,10,10,10,10,10,9,10,11,10,10,10,10,11,11,11,10,10,10,10,10,11,10,11,10,11,10,10,10,9,11,11,10,10,10,11,11,10,10,10,10,10,10,10,10,11,11,9,10,10,10,11,10,11,10,10,10,11,9,10,11,10,11,10,10,9,10,10,10,11,10,11,10,10,10,10,10,11,11,10,11,11,10,10,11,11,10,9,9,10,10,10,10,10,9,11,9,10,10,10,11,11,10,10,10,10,11,11,11,10,9,9,10,10,11,10,10,10,10,10,11,11,11,10,10,10,11,11,11,9,10,10,10,10,9,10,9,10,11,10,11,10,10,11,11,10,11,11,11,11,11,10,11,10,10,10,9,11,11,10,11,11,11,11,11,11,11,11,11,10,11,10,10,10,10,11,10,10,11,9,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,5,5,5,5,9,11,11,10,10,10,10,10,10,10,7,6,6,6,6,10,10,10,10,10,10,10,10,10,10,7,6,6,6,6,10,9,10,10,10,10,10,10,10,10,10,7,7,8,9,10,10,10,10,10,10,10,10,10,10,10,8,7,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,5,5,7,7,7,6,6,7,7,7,5,5,7,7,7,6,6,7,7,7,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,6,8,8,10,10,6,5,6,8,8,8,8,8,8,8,9,10,10,7,6,6,8,8,8,8,8,8,8,8,10,10,0,8,8,8,8,9,8,9,9,9,10,10,10,0,9,8,8,8,9,9,8,8,9,9,10,10,0,12,11,8,8,9,9,9,9,10,10,11,10,0,12,13,8,8,9,10,9,9,11,11,11,12,0,0,0,8,8,8,8,10,9,12,13,12,14,0,0,0,8,8,8,9,10,10,12,12,13,14,0,0,0,13,13,9,9,11,11,0,0,14,0,0,0,0,14,14,10,10,12,11,12,14,14,14,0,0,0,0,0,11,11,13,13,14,13,14,14,0,0,0,0,0,12,13,13,12,13,14,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,4,6,6,7,7,8,8,8,8,10,10,10,7,7,8,8,8,9,9,9,10,10,10,6,7,8,8,8,8,9,8,10,10,10,7,7,8,8,9,9,9,9,10,10,10,7,7,8,8,9,9,8,9,10,10,10,8,8,9,9,9,9,9,9,11,11,11,8,8,9,9,9,9,9,10,10,11,11,9,9,9,9,9,9,9,10,11,11,11,10,11,9,9,9,9,10,9,11,11,11,10,11,10,10,9,9,10,10,11,11,11,11,11,9,9,9,9,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,6,7,6,6,4,7,7,11,10,10,11,11,10,4,7,7,10,10,10,11,10,10,6,10,10,11,11,11,11,11,10,6,9,9,11,12,12,11,9,9,6,9,10,11,12,12,11,9,10,7,11,11,11,11,11,12,13,12,6,9,10,11,10,10,12,13,13,6,10,9,11,10,10,11,12,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,4,6,6,7,7,8,8,8,8,9,9,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,11,11,11,0,0,0,6,6,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,13,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,10,10,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,13,13,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,13,13,13,14,0,0,0,0,0,10,10,10,11,11,11,12,12,13,13,13,14,0,0,0,0,0,0,0,10,10,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,12,13,13,14,15,14,0,0,0,0,0,0,0,12,12,12,12,13,13,13,14,14,15,0,0,0,0,0,0,0,0,0,12,12,13,13,14,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,6,6,8,8,0,0,0,7,7,7,7,8,8,0,0,0,7,7,7,7,8,8,0,0,0,7,7,8,8,9,9,0,0,0,7,7,8,8,9,9,0,0,0,8,9,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,10,10,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,2,7,8,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,6,6,7,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,6,6,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,9,9,12,0,0,0,0,0,0,10,12,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,9,12,10,0,0,0,0,0,0,10,11,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,10,12,11,0,0,0,0,0,0,9,10,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,10,11,12,0,0,0,0,0,0,9,12,9],"i8",N3,F.GLOBAL_BASE+339320),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,19,7,9,7,8,11,9,12,4,1,19,6,7,7,8,10,11,13,18,18,18,18,18,18,18,18,18,18,8,6,18,8,9,9,11,12,14,18,9,6,18,9,7,8,9,11,12,18,7,6,18,8,7,7,7,9,11,17,8,8,18,9,7,6,6,8,11,17,10,10,18,12,9,8,7,9,12,18,13,15,18,15,13,11,10,11,15,18,14,18,18,18,18,18,16,16,18,18,0,0,0,0,0,0,0,0,0,64,207,64,0,0,0,0,0,88,219,64,0,0,0,0,0,106,232,64,0,0,0,0,0,249,245,64,0,0,0,0,0,0,35,64,0,0,0,0,0,0,38,64,0,0,0,0,0,0,62,64,0,0,0,0,0,192,88,64,0,0,0,0,0,76,205,64,0,0,0,0,0,136,211,64,0,0,0,0,0,124,229,64,0,0,0,0,0,255,244,64,0,0,0,0,0,76,221,64,0,0,0,0,0,130,228,64,0,0,0,0,0,100,233,64,0,0,0,0,0,64,239,64,0,0,0,0,0,148,241,64,0,0,0,0,0,11,243,64,0,0,0,0,0,255,244,64,0,0,0,0,0,118,246,64,0,0,0,0,0,219,250,64,0,0,0,0,0,76,253,64,0,0,0,0,0,23,1,65,0,0,0,0,128,49,7,65,154,153,153,153,153,153,40,64,0,0,0,0,0,0,42,64,0,0,0,0,0,0,42,64,0,0,0,0,0,0,44,64,0,0,0,0,0,0,46,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,148,209,64,0,0,0,0,0,88,219,64,0,0,0,0,0,23,225,64,0,0,0,0,0,249,229,64,0,0,0,0,0,88,235,64,0,0,0,0,0,76,237,64,0,0,0,0,128,79,242,64,0,0,0,0,0,249,245,64,0,0,0,0,0,106,248,64,0,0,0,0,128,19,252,64,0,0,0,0,128,79,2,65,0,0,0,0,128,49,7,65,0,0,0,0,0,64,223,64,0,0,0,0,0,112,231,64,0,0,0,0,0,76,237,64,0,0,0,0,0,23,241,64,0,0,0,0,0,136,243,64,0,0,0,0,0,255,244,64,0,0,0,0,0,112,247,64,0,0,0,0,0,219,250,64,0,0,0,0,0,76,253,64,0,0,0,0,0,23,1,65,0,0,0,0,0,136,3,65,0,0,0,0,8,76,13,65,0,0,0,0,0,88,203,64,0,0,0,0,0,136,211,64,0,0,0,0,0,88,219,64,0,0,0,0,0,142,226,64,0,0,0,0,0,118,230,64,0,0,0,0,0,94,234,64,0,0,0,0,128,79,242,64,0,0,0,0,0,112,247,64,0,0,0,0,0,76,253,64,0,0,0,0,0,23,1,65,0,0,0,0,0,249,5,65,0,0,0,0,8,76,13,65,88,88,5,0,104,113,5,0,88,88,5,0,200,113,5,0,88,88,5,0,40,114,5,0,88,88,5,0,136,114,5,0,88,88,5,0,232,114,5,0,88,88,5,0,72,115,5,0,168,115,5,0,184,140,5,0,168,115,5,0,24,141,5,0,168,115,5,0,120,141,5,0,168,115,5,0,216,141,5,0,168,115,5,0,56,142,5,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,30,0,0,0,208,111,7,0,24,201,7,0,24,201,7,0,64,201,7,0,64,201,7,0,2,0,0,0,0,0,0,0,30,0,0,0,208,111,7,0,0,202,7,0,0,202,7,0,64,201,7,0,64,201,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,40,202,7,0,40,202,7,0,80,202,7,0,80,202,7,0,2,0,0,0,0,0,0,0,15,0,0,0,208,111,7,0,0,162,7,0,0,162,7,0,40,162,7,0,40,162,7,0,2,0,0,0,0,0,0,0,30,0,0,0,208,111,7,0,232,162,7,0,232,162,7,0,40,162,7,0,40,162,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,16,163,7,0,16,163,7,0,56,163,7,0,56,163,7,0,2,0,0,0,0,0,0,0,15,0,0,0,208,111,7,0,232,122,7,0,232,122,7,0,16,123,7,0,16,123,7,0,2,0,0,0,0,0,0,0,30,0,0,0,208,111,7,0,208,123,7,0,208,123,7,0,16,123,7,0,16,123,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,248,123,7,0,248,123,7,0,32,124,7,0,32,124,7,0,2,0,0,0,0,0,0,0,15,0,0,0,72,198,6,0,0,59,7,0,0,59,7,0,40,59,7,0,40,59,7,0,2,0,0,0,0,0,0,0,30,0,0,0,72,198,6,0,232,59,7,0,232,59,7,0,40,59,7,0,40,59,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,16,60,7,0,16,60,7,0,56,60,7,0,56,60,7,0,2,0,0,0,0,0,0,0,15,0,0,0,72,198,6,0,48,6,7,0,48,6,7,0,88,6,7,0,88,6,7,0,2,0,0,0,0,0,0,0,30,0,0,0,72,198,6,0,24,7,7,0,24,7,7,0,88,6,7,0,88,6,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,64,7,7,0,64,7,7,0,104,7,7,0,104,7,7,0,2,0,0,0,0,0,0,0,15,0,0,0,72,198,6,0,96,209,6,0,96,209,6,0,136,209,6,0,136,209,6,0,2,0,0,0,0,0,0,0,30,0,0,0,72,198,6,0,72,210,6,0,72,210,6,0,136,209,6,0,136,209,6,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,112,210,6,0,112,210,6,0,152,210,6,0,152,210,6,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2],"i8",N3,F.GLOBAL_BASE+349504),E3([2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2],"i8",N3,F.GLOBAL_BASE+360488),E3([2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,120,145,6,0,120,145,6,0,160,145,6,0,160,145,6,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,96,146,6,0,96,146,6,0,160,145,6,0,160,145,6,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,136,146,6,0,136,146,6,0,176,146,6,0,176,146,6,0,2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,176,96,6,0,176,96,6,0,216,96,6,0,216,96,6,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,152,97,6,0,152,97,6,0,216,96,6,0,216,96,6,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,216,165,5,0,216,165,5,0,0,166,5,0,0,166,5,0,2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,136,46,6,0,136,46,6,0,176,46,6,0,176,46,6,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,112,47,6,0,112,47,6,0,176,46,6,0,176,46,6,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,216,165,5,0,216,165,5,0,0,166,5,0,0,166,5,0,2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,24,241,5,0,24,241,5,0,64,241,5,0,64,241,5,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,0,242,5,0,0,242,5,0,64,241,5,0,64,241,5,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,216,165,5,0,216,165,5,0,0,166,5,0,0,166,5,0,2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,176,153,5,0,176,153,5,0,216,153,5,0,216,153,5,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,152,154,5,0,152,154,5,0,216,153,5,0,216,153,5,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,216,165,5,0,216,165,5,0,0,166,5,0,0,166,5,0,0,0,0,0,255,255,255,255,255,255,255,255,8,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,F.GLOBAL_BASE+363696),E3([1,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,16,241,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,169,5,0,0,0,0,0,0,0,0,0,16,170,5,0,0,0,0,0,0,0,0,0,56,170,5,0,96,170,5,0,0,0,0,0,0,0,0,0,136,170,5,0,176,170,5,0,0,0,0,0,0,0,0,0,216,170,5,0,0,171,5,0,0,0,0,0,0,0,0,0,40,171,5,0,80,171,5,0,0,171,5,0,0,0,0,0,120,171,5,0,160,171,5,0,200,171,5,0,240,171,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,224,169,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,2,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,F.GLOBAL_BASE+366508),E3([32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,216,169,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,166,5,0,232,166,5,0,0,0,0,0,0,0,0,0,16,167,5,0,56,167,5,0,96,167,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,240,168,5,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,160,169,5,0,0,0,0,0,2,0,0,0,25,0,0,0,184,168,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,168,5,0,0,0,0,0,2,0,0,0,9,0,0,0,152,168,5,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,168,168,5,0,0,0,0,0,1,0,0,0,25,0,0,0,16,168,5,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,48,168,5,0,0,0,0,0,1,0,0,0,25,0,0,0,136,167,5,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,168,167,5,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,2,3,4,5,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,5,6,6,6,6,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,4,4,5,5,4,5,5,5,5,4,5,5,5,5,5,5,5,4,5,5,5,5,5,4,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,10,10,12,12,12,12,13,12,5,5,5,8,6,11,9,12,12,13,12,12,12,4,5,5,6,8,9,11,12,12,13,12,12,12,7,7,8,9,9,11,8,12,9,12,12,12,12,7,8,8,9,9,8,11,9,12,12,12,11,12,10,10,10,11,11,11,11,11,10,11,11,12,11,10,10,10,11,11,11,11,10,11,11,11,11,12,11,11,11,12,11,12,11,12,11,13,11,13,11,11,11,11,11,12,11,12,10,13,11,12,11,13,12,12,12,13,12,13,13,13,12,14,12,14,13,12,12,12,12,13,13,13,12,14,12,14,13,14,13,14,14,14,14,14,14,14,14,15,14,15,14,13,14,13,14,14,14,14,14,15,14,14,14,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,1,3,0,0,0,0,3,3,3,3,3,3,3,3,5,0,0,0,243,0,0,0,8,240,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,0,241,5,0,0,0,0,0,5,0,0,0,53,12,0,0,184,227,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,240,239,5,0,0,0,0,0,5,0,0,0,243,0,0,0,176,226,5,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,168,227,5,0,0,0,0,0,5,0,0,0,243,0,0,0,168,225,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,160,226,5,0,0,0,0,0,5,0,0,0,243,0,0,0,160,224,5,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,152,225,5,0,0,0,0,0,5,0,0,0,53,12,0,0,80,212,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,224,5,0,0,0,0,0,5,0,0,0,53,12,0,0,0,200,5,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,56,212,5,0,0,0,0,0,1,0,0,0,7,0,0,0,216,199,5,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,224,199,5,0,0,0,0,0,5,0,0,0,243,0,0,0,208,198,5,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,200,199,5,0,0,0,0,0,5,0,0,0,243,0,0,0,200,197,5,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,192,198,5,0,0,0,0,0,5,0,0,0,53,12,0,0,120,185,5,0,1,0,0,0,0,106,152,225,0,106,120,97,3,0,0,0,0,0,0,0,176,197,5,0,0,0,0,0,5,0,0,0,53,12,0,0,40,173,5,0,1,0,0,0,0,136,83,225,0,136,51,97,3,0,0,0,0,0,0,0,96,185,5,0,0,0,0,0,1,0,0,0,25,0,0,0,160,172,5,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,192,172,5,0,0,0,0,0,1,0,0,0,25,0,0,0,24,172,5,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,56,172,5,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,10,10,10,11,11,11,12,12,12,13,13,13,13,13,13,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,16,16,4,9,11,15,16,4,12,8,16,16,12,16,16,16,16,13,16,16,16,16,5,8,10,16,16,9,9,14,15,16,12,14,14,16,16,16,16,16,16,16,16,16,16,16,16,5,11,8,16,15,12,14,16,16,16,9,15,9,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,6,11,11,16,16,12,13,16,16,16,12,16,14,16,16,16,16,16,16,16,16,16,16,16,16,11,15,15,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,15,16,16,16,16,16,16,16,16,14,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,5,11,11,16,16,12,15,16,16,16,12,16,14,16,16,16,16,16,16,16,16,16,16,16,16,12,15,15,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,11,15,15,16,16,16,16,16,16,16,15,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,6,11,12,16,16,11,15,16,16,16,13,16,14,16,16,16,16,16,16,16,16,16,16,16,16,11,16,14,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,14,14,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,8,13,15,16,16,15,15,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,7,12,12,16,16,13,12,16,16,16,14,16,14,16,16,16,16,16,16,16,16,16,16,16,16,13,16,16,16,16,14,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,14,16,16,16,16,16,16,16,16,14,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,6,11,11,16,16,13,15,16,16,16,11,15,14,16,16,16,16,16,16,16,14,16,16,16,16,11,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,11,16,14,16,16,14,16,16,16,16,13,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,7,11,11,16,16,13,13,16,16,16,13,16,13,16,16,16,16,16,16,16,16,16,16,16,16,12,16,15,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,14,16,16,16,16,16,16,16,16,14,16,13,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,8,13,14,16,16,15,16,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,15,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,6,7,7,7,7,7,7,7,7,7,7,8,7,8,8,7,8,8,7,8,7,7,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,8,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,5,5,7,7,5,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,5,7,8,8,9,10,8,9,10,8,9,10,10,10,12,10,11,11,8,10,10,10,11,12,10,11,10,5,8,7,8,10,10,8,10,9,8,10,10,10,10,11,10,12,11,8,10,9,10,11,11,10,12,10,5,8,8,7,9,10,8,10,9,7,9,10,9,10,11,9,11,11,8,10,9,10,11,11,9,11,10,7,9,9,9,10,11,9,11,11,9,9,11,10,10,13,11,12,12,9,11,11,11,12,13,11,13,11,7,9,9,9,10,11,9,11,10,9,11,10,10,10,12,11,13,12,9,11,11,11,12,12,10,12,10,5,8,8,8,9,10,7,10,9,8,9,10,9,10,11,10,11,11,7,10,9,9,11,11,9,11,10,7,9,9,9,10,11,9,11,10,9,11,11,10,10,12,11,12,12,9,10,11,11,12,13,10,12,10,7,9,9,9,11,11,9,11,10,9,11,11,11,11,13,11,13,12,9,11,9,11,12,12,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,4,6,6,9,9,6,7,8,10,11,6,8,7,10,10,8,10,10,12,12,8,10,10,12,12,6,7,8,10,10,7,8,9,10,11,8,9,9,11,11,10,10,11,12,13,10,11,11,13,13,6,8,7,10,10,8,9,9,11,11,7,9,8,11,10,10,11,11,13,13,10,11,10,13,12,9,10,10,11,12,10,10,11,12,13,10,11,11,12,13,12,12,13,12,14,12,13,13,14,14,9,10,10,12,11,10,11,11,13,12,10,11,10,13,12,12,13,13,14,14,12,13,12,14,12,7,8,8,10,11,8,9,10,11,12,8,9,9,11,12,10,11,12,13,14,10,11,11,13,13,8,9,10,11,12,9,10,11,12,13,10,10,11,12,12,11,12,12,13,14,11,12,12,14,14,8,9,9,11,12,10,10,11,12,13,9,10,10,12,12,11,12,12,14,14,11,12,12,14,13,11,11,12,12,13,11,12,12,13,14,12,12,13,14,14,13,13,14,14,16,13,14,14,15,15,11,12,11,13,13,12,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,15,14,7,8,8,11,10,8,10,9,12,11,8,10,9,12,11,10,11,11,13,13,10,12,11,14,13,8,9,9,12,11,9,10,10,12,12,10,11,10,13,12,11,12,12,13,14,11,12,12,14,14,8,10,9,12,11,10,11,10,12,12,9,11,10,13,11,11,12,12,14,14,11,12,12,14,13,11,11,12,13,13,11,12,12,13,14,12,12,12,14,14,13,13,14,14,15,13,14,14,15,15,11,12,11,13,12,12,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,15,14,10,11,11,12,13,11,12,12,13,14,11,12,12,13,14,13,13,14,14,16,13,14,14,15,15,11,12,12,12,14,12,12,13,13,15,12,13,13,13,15,14,14,15,15,16,14,14,15,15,16,11,12,12,13,14,12,13,13,14,15,12,13,13,14,14,14,14,15,15,16,14,14,14,15,15,13,14,14,14,15,14,14,15,15,16,14,15,15,15,16,15,15,16,16,18,16,16,16,17,17,13,14,14,15,15,14,14,15,16,16,14,14,14,16,15,16,16,16,17,17,15,16,16,17,16,10,11,11,13,12,11,12,12,14,13,11,12,12,14,13,13,14,14,15,15,13,14,13,16,14,11,12,12,14,13,12,13,13,14,14,12,13,13,15,14,14,14,14,15,15,14,15,14,16,15,11,12,12,14,12,12,13,13,15,14,12,13,12,15,13,14,15,14,16,15,14,15,14,16,15,13,14,14,15,15,14,14,14,15,16,14,15,14,16,16,15,16,16,16,17,16,16,16,17,17,13,14,14,15,14,14,15,15,16,15,14,15,14,16,15,16,16,16,17,17,15,16,15,18,16,6,8,8,11,11,8,9,10,11,12,8,10,9,12,12,10,11,11,13,13,10,12,11,14,13,8,9,9,11,12,9,10,10,12,12,9,10,10,12,12,11,11,12,13,14,11,12,12,14,14,8,10,9,12,11,10,11,11,12,12,9,11,10,13,12,11,12,12,14,14,11,12,12,14,13,10,11,11,13,13,11,12,12,13,14,11,12,12,14,14,13,13,14,13,15,13,14,14,15,15,11,12,11,13,13,12,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,15,14,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,13,14,11,12,12,14,14,9,9,10,11,12,10,10,11,12,13,10,10,11,12,13,12,12,13,13,15,12,12,13,14,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,14,15,12,13,12,14,14,11,11,12,12,14,12,12,13,13,14,12,12,13,13,14,13,13,14,14,16,14,14,14,15,15,11,12,12,14,13,12,13,13,14,14,12,13,13,15,14,14,14,14,16,16,13,14,14,16,14,7,9,9,12,11,9,10,10,12,12,9,11,10,13,12,11,12,12,13,14,11,13,12,14,13,9,10,10,12,12,10,10,11,12,13,10,12,11,13,13,12,12,13,13,14,12,13,13,15,14,9,10,10,12,12,11,11,11,13,13,10,12,10,13,12,12,13,13,14,15,12,13,12,15,13,11,12,12,14,13,12,12,13,13,14,12,13,13,15,14,13,13,14,13,16,14,15,14,16,15,12,12,12,14,14,13,13,13,14],"i8",N3,F.GLOBAL_BASE+369616),E3([14,12,13,12,14,13,14,15,15,16,16,13,14,13,16,13,10,11,12,13,14,11,12,13,13,15,12,12,13,14,14,13,14,14,15,16,13,14,14,16,15,12,12,13,12,14,12,12,13,13,15,13,13,13,13,15,14,14,15,14,16,14,15,15,15,16,12,13,12,14,14,13,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,15,16,16,13,14,14,13,16,14,14,15,14,16,14,14,15,14,16,15,15,16,15,18,16,16,16,16,17,14,14,14,16,15,14,15,15,16,16,14,15,15,16,16,16,16,16,17,17,15,16,16,17,16,10,12,11,14,13,12,13,13,14,14,12,13,12,15,14,14,14,14,15,15,14,15,14,16,15,12,13,12,14,13,12,13,13,15,14,13,14,13,15,14,14,15,15,16,16,14,15,15,17,15,12,13,12,14,14,13,14,14,15,15,13,14,13,15,14,15,15,15,16,16,14,15,15,17,15,14,14,14,16,15,14,15,15,16,16,14,15,15,16,15,16,16,16,16,17,16,17,16,18,17,14,14,14,16,15,15,15,15,16,16,14,15,14,16,15,16,16,17,17,17,15,16,15,17,16,6,8,8,11,11,8,9,10,12,12,8,10,9,12,11,10,11,12,13,13,10,11,11,13,13,8,9,10,11,12,9,10,11,12,13,10,11,11,12,12,11,12,12,13,14,11,12,12,14,14,8,9,9,12,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,14,11,12,11,14,13,11,11,12,13,13,11,12,12,13,14,12,12,12,14,14,13,13,14,14,15,13,14,14,15,15,10,11,11,13,13,11,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,15,13,7,9,9,11,12,9,10,11,12,13,9,10,10,12,12,11,12,13,13,14,11,12,12,14,14,9,10,10,12,12,10,10,11,12,13,11,12,11,13,13,12,12,13,13,15,12,13,13,15,14,9,10,10,12,12,10,11,12,13,13,10,11,10,13,12,12,13,13,14,15,12,13,12,14,13,12,12,12,14,14,12,12,13,13,14,13,13,13,15,14,14,13,14,13,16,14,15,15,16,16,11,12,12,13,14,12,13,13,14,15,12,13,12,14,13,14,14,15,15,16,13,14,13,15,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,14,11,12,11,14,13,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,12,13,14,15,12,13,13,15,14,9,10,9,12,11,10,11,10,13,12,10,11,10,13,12,12,13,12,14,14,12,13,12,15,13,11,12,12,13,14,12,13,13,14,14,12,13,13,14,14,14,14,14,14,16,14,14,14,16,15,11,12,11,14,12,12,13,12,15,13,12,13,12,15,13,14,14,14,16,15,13,14,13,16,14,10,11,12,13,14,12,12,13,13,15,12,13,13,14,14,14,14,15,15,16,14,14,14,15,16,12,12,13,14,14,12,13,14,14,15,13,14,14,15,15,14,15,15,15,17,15,15,15,16,16,12,12,13,13,14,13,13,14,14,15,12,13,13,14,15,15,15,15,15,17,14,15,15,15,15,14,14,14,16,16,14,15,15,15,16,15,15,15,16,16,16,15,16,16,18,16,16,17,17,17,14,14,14,15,16,15,15,15,16,17,14,15,14,16,16,16,16,17,17,18,16,16,15,17,16,10,12,11,14,13,12,12,12,14,14,11,13,12,14,13,13,14,14,15,15,13,14,13,16,15,12,12,13,14,14,12,13,13,15,15,13,13,13,15,15,14,15,15,16,16,14,15,15,17,16,12,13,12,14,12,13,13,13,15,13,12,13,12,15,13,14,15,15,16,15,14,15,14,16,14,14,14,14,16,16,14,15,15,16,16,14,15,15,16,16,15,16,16,16,17,16,17,16,18,17,13,14,14,16,13,14,15,15,16,14,14,15,14,16,14,16,16,16,17,16,15,16,15,18,15,9,11,11,13,13,11,12,12,14,14,11,12,12,14,14,13,14,14,15,15,13,14,14,15,15,11,12,12,14,14,11,12,13,14,15,12,13,13,15,14,13,14,14,15,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,14,14,14,14,16,16,14,15,14,16,15,12,13,13,14,15,12,13,14,15,16,13,14,14,16,16,14,14,15,16,17,15,15,15,17,17,13,14,14,15,15,14,15,14,16,16,14,15,14,16,15,15,16,16,17,17,15,16,15,17,16,10,12,12,13,14,11,12,13,14,14,12,13,12,14,14,13,14,14,15,16,13,14,14,16,15,11,12,12,14,14,12,12,13,14,15,12,13,13,15,15,13,13,15,15,17,14,14,15,16,16,12,13,12,14,14,12,13,13,15,15,12,13,13,15,14,14,15,15,16,16,14,15,14,16,16,13,12,14,13,16,13,13,15,14,16,14,13,15,15,16,14,14,16,15,17,15,15,16,16,17,13,14,14,16,15,14,15,15,16,16,14,15,14,16,15,16,16,16,17,17,15,16,16,18,16,10,12,12,14,14,12,12,13,14,14,12,13,12,15,14,13,14,14,15,16,14,15,14,16,15,11,12,12,14,14,12,13,13,14,15,13,14,13,15,15,14,14,15,15,16,14,15,15,17,16,12,13,13,14,14,13,13,14,15,15,12,14,13,15,15,14,15,15,16,16,14,15,15,17,15,13,14,13,15,15,13,14,14,15,16,14,15,14,17,16,15,15,15,15,17,16,16,16,18,17,14,14,14,16,16,15,15,15,16,16,14,15,14,16,16,16,16,17,17,17,16,16,16,17,16,11,12,13,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,15,17,16,12,13,13,14,15,13,13,14,14,16,13,14,14,15,16,15,14,16,15,17,15,15,16,16,17,12,13,13,15,15,13,14,14,16,16,13,14,14,16,15,15,15,16,17,17,15,16,15,17,16,14,14,15,13,16,15,14,16,14,17,15,15,16,14,17,16,15,17,15,18,16,16,17,16,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,16,17,17,18,18,16,17,15,18,16,11,12,12,14,14,13,13,14,14,15,13,14,13,16,14,15,15,15,16,16,15,16,15,17,16,12,13,13,15,14,13,13,14,15,15,14,15,14,16,15,15,15,16,15,16,16,16,16,18,16,12,13,13,15,15,14,14,15,15,16,13,14,13,16,15,16,16,16,17,17,15,16,15,17,15,14,15,14,16,15,14,15,15,16,16,15,16,15,17,16,16,15,16,15,17,17,18,17,18,17,15,15,15,16,16,16,16,16,17,17,14,15,15,17,16,17,17,18,18,18,16,17,15,18,15,9,11,11,13,13,11,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,15,15,11,12,12,14,14,12,13,13,14,15,12,13,13,14,14,14,14,15,15,16,14,14,14,16,16,11,12,12,14,14,12,13,13,14,15,11,13,12,14,14,13,14,14,16,16,13,14,14,16,15,13,14,14,15,15,14,14,15,15,16,14,15,14,16,16,15,15,16,16,17,15,16,16,17,17,12,13,13,15,15,13,14,14,16,15,12,14,13,16,15,15,16,15,17,17,14,15,15,17,15,10,12,12,14,14,12,12,13,14,15,12,13,12,14,14,14,14,15,15,16,13,14,14,16,16,12,13,13,14,14,13,13,14,14,15,13,14,13,15,15,14,15,15,15,17,14,15,15,16,16,11,12,12,14,14,13,13,14,15,15,12,13,13,15,14,14,15,15,16,17,14,15,14,16,15,14,14,14,16,16,14,15,15,16,16,15,15,15,16,16,15,16,16,16,18,16,17,16,18,17,13,13,14,15,15,14,14,15,16,16,13,14,14,16,15,16,16,17,17,17,15,15,15,17,15,10,12,12,14,13,12,12,13,14,14,11,13,12,14,14,13,14,14,16,16,13,14,14,16,15,12,12,13,14,14,12,13,13,14,15,13,13,13,15,15,14,14,15,16,16,14,15,15,16,16,11,12,12,14,14,12,13,13,15,15,12,13,12,15,14,14,15,14,16,16,13,15,13,16,15,13,14,14,15,16,14,15,15,15,17,14,15,15,16,16,16,15,16,16,17,16,16,16,17,17,13,14,12,16,13,14,15,13,16,15,13,15,13,16,14,15,16,15,17,16,15,16,14,17,15,11,12,12,14,15,13,13,14,14,16,13,14,13,15,14,15,15,16,16,17,15,15,15,16,16,12,13,13,15,15,13,13,14,15,16,14,15,14,16,15,15,15,16,15,17,16,16,16,17,17,12,13,13,14,15,14,14,15,15,16,13,14,13,15,15,16,16,16,17,17,15,16,15,16,15,15,15,15,16,16,14,15,15,16,17,16,16,16,17,17,16,15,17,15,18,17,18,17,18,18,14,14,15,15,17,15,15,16,16,17,14,15,15,16,16,17,17,17,17,18,16,16,15,17,15,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,14,17,16,13,13,13,15,15,13,14,14,15,16,13,14,14,16,16,15,15,16,16,17,15,16,16,17,17,12,13,13,15,14,13,14,14,16,15,13,14,13,16,14,15,16,16,17,16,15,16,14,17,15,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,15,17,16,18,16,17,17,18,18,14,15,14,16,13,15,16,15,17,14,15,16,14,17,14,16,17,16,18,16,16,17,15,18,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,6,8,8,10,9,8,9,9,10,10,8,9,9,10,10,8,10,10,10,10,8,10,10,10,10,9,9,9,10,10,9,10,10,10,11,9,10,10,11,11,10,10,10,11,11,10,10,10,11,11,9,9,9,10,10,9,10,10,11,11,9,10,10,11,10,10,10,10,11,11,10,10,10,11,11,10,10,10,10,11,10,10,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,11,10,10,11,11,11,11,10,11,10,11,11,11,11,11,11,11,10,11,11,11,11,9,10,10,10,11,10,10,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,10,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,12,12,12,11,11,11,12,12,10,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,9,10,10,11,10,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,12,12,12,11,11,11,12,12,10,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,11,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,7,10,10,11,11,10,10,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,10,10,11,11,10,11,11,11,11,11,11,11,11,12,11,11,11,12,12,11,11,11,12,12,10,11,11,11,11,11,11,11,12,11,11,11,11,12,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,11,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,12,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,10,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,11,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,7,10,10,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,12,12,12,11,11,11,12,12,10,10,10,11,11,11,11,11,12,11,10,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,11,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,10,10,10,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,11,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,13,12,13,12,12,13,13,13,13,12,13,13,13,13,8,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,8,11,11,11,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,13,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,13,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,4,7,7,4,7,6,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,6,7,8,8,9,10,8,10,10,8,9,10,10,11,12,10,11,12,8,10,10,10,11,12,10,12,11,6,8,7,8,10,10,8,10,9,8,10,10,10,11,12,10,12,12,8,10,9,10,12,11,10,12,11,5,8,8,8,10,10,8,10,10,7,9,10,9,10,11,10,11,11,8,10,10,10,12,12,10,12,11,7,9,9,9,11,11,9,11,11,9,10,11,11,11,12,11,12,12,9,11,11,11,12,12,11,12,12,7,9,9,10,11,12,10,12,11,9,11,10,11,11,12,12,13,13,9,11,11,12,13,13,11,13,11,5,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,12,7,9,9,9,11,11,9,11,10,7,9,9,10,11,12,10,12,11,9,11,11,11,11,13,12,13,13,9,10,11,12,13,13,11,12,11,7,9,9,9,11,11,9,11,11,9,11,11,11,12,12,11,12,12,9,11,10,11,12,12,10,12,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,6,7,7,6,7,7,6,7,7,7,7,8,7,7,8,6,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,5,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,8,8,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,7,8,8,8,9,9,8,9,9,8,9,8,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,6,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,7,8,8,8,9,9,8,9,9,8,8,9,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,8,8,8,8,9,9,8,9,9,8,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,4,4,7,7,4,7,6,5,6,7,7,8,9,7,9,9,5,7,6,7,9,9,7,9,8,6,8,8,8,10,10,8,10,10,8,9,10,10,11,12,10,12,12,8,10,10,10,12,12,10,12,11,6,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,12,8,10,9,10,12,11,10,12,11,5,8,8,8,10,10,8,10,10,8,9,10,10,11,11,10,11,11,8,10,10,10,11,12,10,12,11,8,10,10,10,11,11,10,11,11,10,11,11,11,12,13,11,12,13,10,11,11,11,13,13,11,13,13,7,9,9,10,11,12,10,12,11,9,11,11,11,12,13,12,14,13,9,11,11,12,13,14,11,13,12,5,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,12,8,10,9,10,12,11,9,11,11,7,9,9,10,11,12,10,12,11,9,11,11,11,12,13,12,14,13,9,11,11,12,13,14,11,13,12,8,10,10,10,11,11,10,11,11,10,11,11,11,13,13,11,13,13,10,11,10,11,13,12,11,13,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,8,8,5,7,7,9,9,5,7,7,9,9,6,8,8,11,11,6,8,8,11,11,6,7,7,9,9,7,8,9,10,11,7,9,9,11,10,8,9,10,12,12,8,10,10,12,12,6,7,7,9,9,7,9,9,10,10,7,9,8,11,10,8,10,10,12,12,8,10,9,12,12,8,9,9,11,11,9,10,10,12,12,9,11,11,12,13,11,12,12,13,14,11,12,12,14,14,8,9,9,11,11,9,11,10,13,12,9,10,10,13,12,11,12,12,14,14,11,12,12,14,13,7,8,9,10,10,8,10,10,11,11,8,10,10,11,11,10,11,11,13,13,10,11,11,13,13,8,9,10,10,11,10,11,11,12,13,10,11,11,12,12,11,11,12,13,14,11,12,12,14,14,8,10,10,11,11,10,11,11,12,13,10,11,11,12,12,11,12,12,14,14,11,12,12,14,14,10,11,11,12,13,11,12,12,13,14,12,13,13,14,14,13,13,14,14,16,13,14,14,15,16,10,11,11,13,13,12,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,16,15,7,8,8,10,10,8,10,10,11,11,8,10,10,12,11,10,11,11,13,13,10,11,11,13,13,8,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,14,14,11,12,12,14,14,8,10,9,11,10,10,11,11,13,12,10,11,10,13,12,11,12,12,14,14,11,12,11,14,13,10,11,11,13,13,11,12,12,14,14,12,12,12,14,14,13,14,14,15,16,13,14,14,15,15,10,11,11,13,12,12,12,12,14,14,11,12,12,14,13,13,14,14,16,15,13,14,13,16,14,10,11,11,13,13,12,12,13,14,15,12,13,13,14,15,13,14,15,15,16,13,14,14,16,16,11,12,13,14,14,13,13,14,15,16,13,14,14,15,16,14,15,15,16,17,14,15,16,17,17,11,12,12,14,14,13,14,14,15,16,13,14,14,15,15,14,15,15,16,18,14,15,15,17,16,13,14,15,15,16,15,15,16,16,18,15,15,15,17,17,16,16,17,17,18,16,16,16,18,18,14,14,14,16,16,15,15,15,16,17,15,15,15,16,17,16,17,17,18,18,16,16,17,18,17,10,11,11,14,13,12,13,13,15,14,11,13,13,15,14,13,15,15,16,16,13,14,14,16,16,11,12,12,14,14,13,13,13,15,15,13,14,13,15,15,15,15,15,17,16,14,15,15,17,16,11,13,12,14,14,13,14,13,15,15,13,14,13,15,15,14,15,15,17,17,14,15,15,17,16,14,14,14,16,16,14,15,15,17,17,15,15,16,17,16,17,16,17,18,18,16,17,17,18,18,13,14,14,16,15,15,15,15,17,17,14,16,15,16,16,17,17,17,18,18,16,17,16,20,19,6,8,8,10,10,8,10,10,11,11,8,10,10,12,11,10,11,11,13,13,10,11,11,13,13,8,9,10,11,11,10,11,11,12,12,10,11,11,13,12,11,12,12,14,14,11,12,12,14,14,9,10,10,11,11,10,11,11,12,12,10,11,11,13,12,11,12,12,14,14,11,12,12,14,14,10,10,11,12,13,11,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,15,16,10,11,11,13,13,12,12,12,14,14,12,13,12,14,14,13,14,14,16,16,13,14,14,15,15,9,10,10,11,12,10,11,11,12,13,10,11,11,13,12,11,12,12,14,14,11,12,12,14,14,10,10,11,12,13,11,12,12,13,14,11,12,12,13,14,12,13,14,14,15,12,13,13,15,15,10,11,11,13,13,11,12,12,13,14,11,12,12,14,13,12,13,13,15,15,12,13,13,15,15,12,11,13,12,14,13,13,14,14,15,13,13,14,14,15,14,15,15,16,17,14,15,15,16,17,12,13,12,14,14,13,14,14,15,15,13,14,14,15,15,14,15,15,16,17,14,15,15,16,17,8,9,9,11,11,10,11,11,12,13,10,11,11,13,12,12,13,13,14,15,11,13,12,15,14,9,11,10,12,12,11,12,12,13,14,11,12,12,14,13,13,13,14,15,15,13,14,13,15,15,9,11,11,12,12,11,12,12,14,14,11,12,12,14,13,13,14,14,15,16,13,14,13,15,14,11,12,12,14,13,12,13,13,14,15,13,14,14,16,15,15,15,15,15,16,15,16,15,17,17,11,12,12,14,14,13,14,14,15,15,12,13,13,15,14,15,15,15,17,17,14,15,15,17,15,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,16,16,12,13,13,14,15,13,14,14,16,16,14,14,14,15,16,15,16,16,17,17,15,16,16,17,17,12,13,13,15,15,14,14,14,16,16,14,14,15,16,16,15,16,16,17,17,15,16,16,17,17,14,15,15,15,16,15,15,16,16,18,15,16,16,17,17,17,17,17,18,18,16,17,17,19,18,14,15,15,16,17,15,16,16,17,17,15,16,16,18,17,16,17,17,19,18,17,17,17,19,18,10,12,12,14,14,13,13,14,15,15,12,14,13,16,15,15,15,15,17,17,14,15,15,17,16,12,13,13,15,14,13,14,14,16,16,14,14,15,17,16,15,16,16,17,17,15,16,16,18,17,12,13,13,15,14,14,15,15,16,16,13,15,14,16,15,16,17,16,19,17,15,16,16,17,17,14,15,15,17,15,15,16,15,17,17,16,17,16,18,17,17,17,18,18,18,17,17,18,19,18,14,15,15,16,16,15,16,16,17,18,15,16,16,18,16,17,18,18,19,19,17,18,17,18,19,6,8,8,10,10,8,10,10,11,11,8,10,10,12,11,10,11,11,13,13,9,11,11,13,13,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,14,14,11,12,12,14,14,8,10,9,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,14,14,11,12,12,14,14,10,11,11,13,13,11,12,13,14,14,12,12,12,14,14,13,14,14,15,16,13,14,14,16,16,10,11,10,13,12,11,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,16,15,8,9,9,11,11,10,11,11,12,13,10,11,11,13,12,12,13,13,14,15,12,13,13,15,14,10,11,11,12,12,11,11,12,13,14,11,12,12,14,14,13,13,14,15,16,13,14,14,15,15,9,10,11,12,12,11,12,12,13,14,11,12,12,14,13,13,14,14,15,16,12,14,13,15,15,11,12,12,14,14,12,13,13,14,15,13,14,14,16,15,14,15,15,15,17,15,15,16,16,17,11,12,12,13,14,13,14,14,15,15,12,13,13,15,14,15,16,15,16,17,14,16,15,17,15,9,10,10,12,11,10,11,11,13,13,10,11,11,13,12,11,12,12,14,14,11,12,12,14,14,10,11,11,12,13,11,12,12,13,14,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,10,11,10,13,12,11,12,12,13,13,11,12,12,14,13,12,13,13,15,15,12,13,13,15,14,12,13,12,14,14,13,14,14,15,15,13,14,14,15,15,14,15,15,16,16,14,15,15,16,16,11,13,11,14,12,13,13,13,15,14,12,14,13,15,14,15,15,15,17,16,14,15,14,17,15,10,12,12,14,14,13,13,14,15,16,12,14,13,15,15,14,15,16,17,17,14,15,16,17,17,12,13,13,14,15,13,14,14,16,16,14,14,15,16,16,16,16,16,17,17,16,16,16,18,18,12,13,13,14,15,14,14,15,16,16,13,14,14,16,15,16,16,16,17,18,15,16,16,17,17,14,15,15,16,16,15,15,16,17,17,15,16,16,17,18,17,18,18,18,19,17,18,18,19,19,14,15,15,16,16,15,16,16,17,17,15,16,16,17,17,17,17,18,20,18,17,18,17,18,18,11,12,12,14,14,12,13,14,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,17,12,13,13,15,15,14,14,14,16,16,14,14,14,16,16,15,16,16,17,17,15,16,16,17,17,12,13,13,15,14,13,14,14,16,15,14,15,14,16,15,15,16,16,17,17,15,16,16,17,16,14,15,15,16,16,15,16,16,17,17,16,16,16,17,17,17,17,17,19,18,17,17,17,18,19,14,15,14,17,15,15,16,16,17,17,15,16,15,17,17,16,17,17,18,18,16,17,17,18,17,6,11,11,13,13,11,12,12,14,14,11,12,12,14,14,13,14,14,16,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,17,18,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,16,16,13,14,14,15,16,14,15,15,16,17,14,15,15,17,16,15,16,17,18,17,16,16,16,18,17,14,14,15,16,16,14,15,15,18,16,14,15,15,17,16,16,17,17,18,18,16,17,16,18,17,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,16,16,12,13,13,15,15,13,14,14,15,16,13,14,14,16,16,15,16,16,17,17,15,15,16,17,17,12,13,13,15,15,14,14,14,16,16,13,14,14,16,16,15,16,16,17,17,15,16,16,17,17,14,14,15,15,16,15,15,16,16,17,15,15,16,16,17,16,17,17,17,18,16,17,17,18,18,14,15,15,16,16,15,16,16,17,17,15,16,16,17,17,17,17,17,18,19,17,17,17,18,18,10,12,12,14,14,12,13,14,15,16,13,14,13,15,15,14,15,15,17,17,14,15,16,17,17,12,13,13,15,15,13,14,14,15,15,14,15,14,16,16,15,16,16,17,18,15,17,16,18,17,12,13,13,15,15,14,14,14,16,16,13,14,14,16,15,15,16,16,17,18,15,16,16,17,17,14,14,14,16,16,15,15,16,17,17,15,16,16,17,17,17,17,17,18,20,17,17,17,19,19,14,15,15,16,16,15,17,16,18,18,15,16,15,17,16,17,18,19,19,19,17,17,17,18,17,13,14,14,16,16,14,15,15,17,17,14,15,15,16,17,15,17,17,18,18,16,16,17,18,17,14,15,15,16,17,15,16,16,17,17,15,16,16,17,17,16,17,17,18,18,17,17,17,18,19,14,15,15,16,17,15,16,16,17,17,15,16,16,17,17,16,17,17,18,18,17,17,17,19,19,16,16,16,16,18,16,17,17,17,18,17,17,17,17,19,18,18,18,19,19,18,18,18,19,20,16,16,17,18,18,16,18,17,18,18,17,17,17,20,19,18,18,19,21,20,18,20,18,18,19,10,12,12,14,14,14,14,15,15,17,14,15,14,17,15,16,16,17,18,18,16,18,17,19,18,12,14,13,16,15,14,14,15,15,17,15,16,16,18,17,16,17,18,17,19,17,19,18,20,19,12,13,13,15,15,15,16,17,17,18,14,16,14,17,16,17,18,18,19,19,17,17,17,18,18,15,15,15,17,16,15,16,16,17,17,17,19,17,18,18,18,18,18,18,21,19,20,19,20,19,15,15,16,16,17,17,17,18,20,20,15,16,16,18,17,18,19,19,19,20,18,19,18,19,17,6,11,11,13,13,11,12,12,14,14,11,12,12,14,14,13,14,14,16,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,17,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,15,16,16,13,14,14,16,16,15,15,15,16,16,14,15,15,17,16,16,17,17,19,18,16,17,17,18,18,13,14,14,15,15,14,15,15,17,16,14,15,15,17,16,16,17,16,17,18,15,16,16,18,18,10,12,12,14,14,12,13,14,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,17,16,12,13,13,15,15,14,14,14,15,16,14,15,15,16,16,15,16,16,17,18,16,16,16,18,18,12,13,13,14,14,14,14,15,16,16,13,14,14,16,16,15,16,16,18,18,15,16,16,19,17,14,15,15,16,17,15,15,16,17,17,16,17,16,17,18,17,17,18,17,19,17,17,18,18,19,14,14,14,16,16,15,16,16,17,17,15,16,15,17,17,17,17,17,19,20,16,17,17,18,18,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,14,16,16,12,13,13,15,15,14,14,14,16,16,13,14,14,16,16,15,16,16,18,17,15,16,16,17,17,12,13,13,15,15,13,14,14,16,16,13,14,14,16,16,15,16,15,18,18,15,16,15,17,16,14,15,15,16,16,15,16,16,17,17,15,16,16,18,17,16,17,17,18,18,16,17,17,18,18,14,15,14,16,15,15,16,15,17,17,15,16,15,17,16,16,17,17,18,18,17,17,16,19,17,10,12,12,14,15,14,14,15,15,17,14,15,14,17,15,16,17,17,17,18,16,17,17,18,18,12,14,13,16,15,14,14,16,15,17,15,17,16,18,17,17,17,18,17,19,18,18,18,19,18,12,13,14,15,15,15,16,16,16,17,14,15,14,18,16,18,17,18,19,19,17,18,17,20,18,15,15,15,17,17,15,16,16,17,18,18,18,18,19,18,18,18,19,18,20,18,19,19,21,21,15,15,16,16,17,17,18,18,18,18,15,16,16,17,17,17,19,20,19,20,17,18,18,19,17,13,14,14,16,16,14,15,15,16,17,14,15,15,17,17,16,16,17,17,18,15,17,16,17,17,14,15,15,16,16,15,16,16,17,17,16,16,16,17,17,17,17,18,17,18,17,17,17,18,20,14,15,15,17,16,15,16,16,17,17,15,16,16,17,17,17,17,17,18,18,16,17,17,19,18,16,16,17,17,17,17,18,17,19,18,17,17,17,18,19,17,20,18,19,21,17,19,18,19,20,15,17,15,17,16,16,17,17,18,18,17,17,17,18,17,18,19,18,19,21,18,18,17,19,19,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,4,8,8,4,8,8,5,7,8,8,9,10,8,10,10,5,8,7,8,10,10,8,10,9,7,9,9,9,11,11,9,11,11,9,11,11,11,12,13,11,13,13,9,11,11,11,13,13,11,13,13,7,9,9,9,11,11,9,11,11,9,11,11,11,13,13,11,13,13,9,11,11,11,13,13,11,13,12,5,9,9,9,11,11,9,11,11,9,11,11,11,12,13,11,13,13,9,11,11,11,13,13,11,13,13,9,11,12,11,13,13,12,13,13,11,12,13,13,14,15,13,14,14,12,13,13,13,15,15,13,15,14,8,10,10,11,13,13,12,14,13,11,12,12,13,14,15,13,15,15,11,12,12,13,15,15,13,15,14,5,9,9,9,11,11,9,11,11,9,11,11,11,13,13,11,13,13,9,11,10,11,13,13,11,13,12,8,10,10,11,13,13,12,13,13,11,12,12,13,14,15,14,15,15,10,12,12,13,14,15,13,15,14,9,12,11,12,13,13,11,13,13,12,13,13,13,15,15,13,14,15,11,13,12,13,15,14,13,15,14,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,3,3,3,3,3,3,3,2,0,0,0,64,0,0,0,72,46,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,242,5,0,0,0,0,0,0,0,0,0,144,242,5,0,0,0,0,0,0,0,0,0,184,242,5,0,224,242,5,0,0,0,0,0,0,0,0,0,8,243,5,0,48,243,5,0,0,0,0,0,0,0,0,0,88,243,5,0,128,243,5,0,0,0,0,0,0,0,0,0,168,243,5,0,208,243,5,0,128,243,5,0,0,0,0,0,248,243,5,0,32,244,5,0,72,244,5,0,112,244,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,40,242,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,14,16,17,18,20,21,7,4,6,8,11,12,14,16,13,5,4,4,8,9,11,13,15,8,4,3,5,7,9,10,17,11,8,4,4,6,9,9,17,11,9,7,6,5,7,8,19,13,11,9,9,7,8,8,21,15,13,11,10,8,8,7,5,0,0,0,243,0,0,0,64,45,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,56,46,6,0,0,0,0,0,5,0,0,0,53,12,0,0,240,32,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,40,45,6,0,0,0,0,0,5,0,0,0,243,0,0,0,232,31,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,224,32,6,0,0,0,0,0,5,0,0,0,243,0,0,0,224,30,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,216,31,6,0,0,0,0,0,5,0,0,0,243,0,0,0,216,29,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,208,30,6,0,0,0,0,0,5,0,0,0,53,12,0,0,136,17,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,29,6,0,0,0,0,0,5,0,0,0,53,12,0,0,56,5,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,112,17,6,0,0,0,0,0,1,0,0,0,7,0,0,0,16,5,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,24,5,6,0,0,0,0,0,5,0,0,0,243,0,0,0,8,4,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,0,5,6,0,0,0,0,0,5,0,0,0,243],"i8",N3,F.GLOBAL_BASE+379856),E3([3,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,248,3,6,0,0,0,0,0,5,0,0,0,243,0,0,0,248,1,6,0,1,0,0,0,0,106,120,225,0,106,120,97,2,0,0,0,0,0,0,0,240,2,6,0,0,0,0,0,5,0,0,0,53,12,0,0,168,245,5,0,1,0,0,0,0,136,83,225,0,136,51,97,3,0,0,0,0,0,0,0,224,1,6,0,0,0,0,0,1,0,0,0,25,0,0,0,32,245,5,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,64,245,5,0,0,0,0,0,1,0,0,0,25,0,0,0,152,244,5,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,184,244,5,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,4,5,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,7,7,12,12,5,11,12,12,12,5,12,11,12,12,12,12,12,12,12,12,13,13,13,13,7,11,11,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,7,13,10,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,7,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,7,7,7,8,7,8,7,7,7,8,7,8,8,8,8,8,7,8,7,8,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,9,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,9,9,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,8,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,8,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,5,7,7,5,7,7,5,7,7,7,7,9,7,9,9,6,7,7,8,9,9,7,9,7,6,8,8,8,9,10,8,9,9,8,9,10,9,9,10,10,10,10,8,9,9,10,10,11,9,10,10,6,8,8,8,9,9,8,10,9,8,9,9,9,10,10,10,11,10,8,10,9,10,11,10,9,11,9,6,8,8,7,9,9,7,9,9,7,9,9,8,9,10,9,10,10,8,9,9,9,10,10,9,10,9,7,9,9,9,9,10,9,10,10,9,9,10,10,9,11,10,11,11,9,10,10,10,11,11,10,11,10,6,9,8,9,9,10,9,10,9,8,10,10,9,9,10,10,11,11,9,10,10,10,11,11,9,11,9,6,8,8,7,9,9,7,9,9,8,9,9,9,9,10,9,10,10,7,9,9,9,10,10,8,10,9,6,8,9,9,9,10,9,10,9,9,10,10,9,9,11,10,11,11,8,9,10,10,11,11,9,10,9,7,9,9,9,10,10,9,10,9,9,10,10,10,10,11,10,11,11,9,10,9,10,11,11,10,11,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,9,9,5,7,8,10,11,5,8,7,11,10,8,10,11,12,13,8,11,10,13,12,6,7,8,10,11,7,8,10,10,12,8,9,9,12,12,10,10,12,12,14,10,12,12,14,13,6,8,7,11,10,8,9,9,12,12,7,10,8,12,11,10,12,12,13,14,10,12,10,14,12,9,10,11,11,13,10,10,11,11,13,11,12,12,13,14,12,12,13,11,15,13,14,14,15,14,9,11,10,13,11,11,12,12,13,13,10,11,10,13,11,13,14,14,15,15,12,13,12,15,11,6,8,9,11,12,8,9,11,12,13,8,10,10,13,13,11,12,13,14,15,11,12,13,14,14,9,9,10,12,13,10,10,12,12,14,10,11,11,13,14,12,12,14,14,15,13,13,14,15,15,9,10,10,13,13,10,11,11,13,14,10,11,10,14,13,13,13,14,15,15,12,14,13,15,14,12,12,13,13,14,12,13,14,13,15,13,14,14,15,15,14,14,15,14,16,15,15,15,16,16,12,13,13,14,14,13,14,14,15,15,12,14,13,15,14,14,15,15,16,16,14,15,14,16,14,6,9,8,12,11,8,10,10,13,13,8,11,9,13,12,11,12,12,14,14,11,13,12,15,14,9,10,10,13,13,10,10,11,13,14,10,12,11,14,13,12,13,14,14,15,13,13,13,15,14,9,10,9,13,12,10,11,11,14,13,10,12,10,14,12,13,14,13,15,15,12,14,12,15,14,12,13,13,14,14,13,13,13,14,15,13,14,14,15,15,14,14,15,14,16,14,15,15,16,16,12,13,12,14,13,13,14,14,15,15,12,14,13,15,13,15,15,15,16,16,14,15,14,16,14,11,12,12,13,14,12,13,14,14,16,12,13,13,15,15,14,14,16,15,17,14,15,15,16,16,12,13,14,14,15,13,13,15,15,16,14,14,14,15,16,15,15,16,16,17,15,15,16,16,17,13,13,13,15,15,14,14,15,15,16,13,14,14,15,16,15,15,16,16,17,15,16,15,17,16,14,15,15,16,16,15,15,16,16,17,15,16,16,17,17,16,16,17,16,18,16,17,17,17,17,15,15,15,16,16,15,16,16,17,17,15,16,16,17,16,16,17,17,18,18,16,17,16,17,16,11,12,12,15,13,13,13,13,15,15,12,14,13,16,14,14,15,15,16,16,14,15,14,17,15,13,13,13,15,14,13,14,14,16,15,14,14,14,16,15,15,15,16,16,17,15,16,15,17,16,12,14,13,15,14,14,14,14,16,15,13,14,13,16,15,15,16,16,17,16,15,16,15,17,16,15,15,15,16,16,15,15,16,16,17,15,16,16,17,17,16,16,17,17,17,17,17,17,18,17,14,15,15,16,16,15,16,16,17,16,15,16,15,17,16,17,17,17,18,17,16,17,16,18,16,6,9,9,12,12,8,10,10,12,13,8,10,10,13,12,10,12,12,14,15,11,13,12,15,14,8,9,10,12,13,9,10,11,13,14,10,11,11,14,13,12,12,13,14,15,12,13,13,15,15,8,10,10,13,13,10,11,11,13,14,10,12,10,14,13,12,13,13,15,15,12,14,13,15,14,11,12,12,13,14,12,12,13,13,15,12,13,13,15,15,14,13,15,14,16,14,15,15,16,16,12,13,13,14,14,13,13,14,15,14,12,14,13,15,14,14,15,15,16,15,14,15,14,16,14,7,9,10,12,12,9,10,11,13,14,9,11,10,13,13,11,12,13,14,15,12,13,13,15,14,9,10,11,12,13,10,10,12,13,14,11,11,12,14,14,12,12,14,14,15,13,13,14,15,15,9,11,11,13,13,11,12,12,14,14,10,12,10,14,13,13,14,14,15,15,13,14,13,16,14,12,12,13,14,15,13,13,14,14,16,13,14,14,15,15,14,14,15,14,17,14,15,15,16,16,12,13,13,15,14,13,14,14,15,15,13,14,13,16,14,15,15,15,16,16,14,15,14,16,14,7,10,9,13,12,10,11,12,12,14,10,12,11,14,12,12,13,13,14,15,12,14,13,15,14,9,11,10,13,13,10,11,12,13,14,12,13,12,15,13,13,13,14,13,15,13,14,14,16,15,10,11,11,13,13,12,12,13,14,14,11,12,11,14,13,14,14,14,15,16,13,14,13,16,13,12,13,13,14,14,12,13,13,14,15,14,14,14,15,15,14,13,15,13,16,15,15,15,17,16,13,13,13,14,14,14,14,14,15,15,12,13,13,15,14,15,16,16,16,16,14,15,14,16,13,11,12,13,14,15,12,13,14,15,16,13,14,14,15,15,14,14,15,15,17,14,15,15,16,16,13,13,14,14,15,13,13,15,14,16,14,14,15,15,16,15,14,16,15,17,15,16,16,16,17,13,14,14,15,15,14,14,15,16,16,13,15,14,16,16,15,16,16,17,17,15,16,15,17,16,14,15,15,15,17,15,15,16,15,17,15,16,16,16,17,16,16,17,16,18,17,17,17,17,18,15,15,15,17,16,15,16,16,17,17,15,16,16,17,16,16,17,17,18,18,16,17,16,18,17,11,13,12,15,14,13,13,14,15,15,13,14,13,16,14,15,15,15,16,16,15,16,15,17,16,13,14,13,15,14,13,13,14,15,15,14,15,14,16,15,15,15,16,16,16,15,16,15,18,16,13,14,14,15,15,14,15,15,15,16,13,15,13,16,15,15,16,16,17,17,15,16,15,17,16,15,15,15,16,16,15,15,15,16,17,16,16,16,17,16,16,16,17,16,17,17,17,17,18,17,15,15,15,16,16,16,16,16,17,17,15,16,15,17,16,17,17,17,18,18,16,17,16,17,15,6,9,9,12,12,8,10,10,12,13,8,10,10,13,12,11,12,13,14,15,10,12,12,14,14,9,10,10,13,13,10,10,12,13,14,10,11,11,14,13,12,13,14,14,15,12,13,13,15,15,8,10,9,13,12,10,11,11,13,14,9,11,10,14,13,12,13,13,15,15,12,13,12,15,14,12,13,13,14,14,12,13,13,14,15,13,14,14,14,15,14,14,15,14,16,14,15,15,16,16,11,12,12,14,13,13,13,13,15,15,12,13,12,15,13,14,15,15,16,16,14,15,14,16,14,7,9,10,12,13,10,10,12,12,14,10,12,11,14,13,12,13,14,14,15,12,13,13,15,14,10,11,11,13,13,11,11,12,13,14,12,13,12,14,14,13,13,14,13,16,14,14,14,15,15,9,10,11,13,14,12,12,13,13,15,10,12,10,14,13,13,14,14,15,16,13,14,13,15,13,13,14,13,14,15,12,13,13,14,15,14,14,14,15,15,14,13,15,13,16,15,16,16,16,16,12,13,13,14,14,14,14,14,15,15,12,13,13,15,14,15,15,16,16,16,14,15,13,16,13,7,10,9,12,12,9,10,11,13,13,9,11,10,14,13,12,13,13,14,15,11,13,12,15,14,9,11,11,13,13,10,10,12,13,14,11,12,12,14,14,13,13,14,14,16,13,14,14,16,15,9,11,10,13,12,11,12,11,14,14,10,12,10,14,13,13,14,13,15,15,12,14,12,16,14,12,13,13,14,15,13,13,14,14,16,13,14,14,15,15,14,14,15,14,16,15,15,15,16,16,12,13,12,15,14,13,14,14,15,15,12,14,13,16,14,14,15,15,16,16,14,15,14,17,14,11,12,13,14,15,13,13,14,14,16,13,14,13,15,15,15,15,16,16,17,15,15,15,16,16,13,14,13,15,15,13,13,15,15,16,14,15,15,16,16,15,15,16,15,17,16,16,16,17,17,13,13,14,14,15,14,14,15,15,16,13,14,13,15,15,15,16,16,16,17,15,16,15,16,16,15,15,15,16,16,15,15,16,16,17,16,16,16,17,17,16,16,17,16,18,17,17,17,18,18,15,15,15,16,16,16,16,16,17,17,15,15,15,16,16,17,17,17,17,18,16,16,16,17,15,11,13,12,15,14,13,13,14,15,15,12,14,13,16,14,14,15,15,16,16,14,15,14,16,15,13,14,14,15,15,13,14,14,16,16,14,15,14,16,16,15,15,16,17,17,15,16,16,17,17,13,14,13,15,14,14,14,14,16,15,13,15,13,16,14,15,16,15,17,16,15,16,14,17,15,14,16,15,16,17,15,16,16,16,17,15,16,16,17,17,16,16,17,17,18,16,17,17,18,17,14,15,15,17,15,15,16,16,17,16,15,16,15,17,15,16,17,17,18,17,16,17,16,18,15,10,12,12,14,14,12,13,13,15,15,12,13,13,15,15,13,14,14,15,16,14,15,14,16,16,12,13,13,15,15,12,13,14,15,15,13,14,14,15,15,14,14,15,16,17,14,15,15,17,16,12,13,13,15,15,13,14,14,15,16,13,14,14,16,15,14,15,15,16,17,14,15,15,17,16,13,14,14,15,16,14,14,15,15,16,14,15,15,16,16,15,15,16,16,17,15,16,16,17,17,14,15,15,16,16,15,15,15,16,16,15,15,15,16,16,16,17,16,17,17,16,16,16,18,16,11,12,12,14,14,12,13,14,15,15,12,13,13,15,15,13,14,15,16,16,14,15,15,16,16,12,13,13,15,15,13,13,14,15,16,13,14,14,15,16,14,14,15,16,17,15,15,15,16,17,12,13,13,15,15,13,14,14,15,16,13,14,14,16,15,15,15,15,16,17,15,16,15,17,16,14,14,15,15,16,14,14,15,15,17,15,15,16,16,17,15,15,16,15,18,16,16,16,17,17,14,15,15,16,16,15,16,16,17,17,15,15,15,17,16,16,17,16,17,17,16,16,16,18,16,11,12,12,14,14,13,13,14,15,15,13,14,13,15,15,14,15,15,16,16,14,15,15,16,16,12,13,13,15,15,13,13,14,15,15,14,14,14,16,15,15,15,15,15,16,15,16,15,17,16,12,13,13,15,15,14,14,15,15,16,13,14,13,16,15,15,15,16,16,17,15,16,15,17,15,14,15,14,16,16,14,15,15,16,16,15,16,15,17,16,15,15,16,15,17,16,17,16,17,17,14,15,15,16,16,15,16,16,16,17,14,15,15,16,16,16,17,17,17,18,16,16,16,17,16,12,13,13,15,15,13,13,14,15,16,13,14,14,16,15,14,15,15,16,17,14,15,15,17,16,13,14,14,15,16,14,14,15,15,17,14,15,15,16,16,15,14,16,15,17,15,16,16,17,17,13,14,14,16,16,14,15,15,16,16,14,15,14,16,16,15,16,16,17,17,15,16,15,17,16,15,15,16,15,17,15,15,16,15,17,15,16,16,16,17,16,15,17,15,18,17,17,17,17,17,15,15,15,17,17,16,16,16,17,17,15,16,15,17,17,16,17,17,18,18,16,17,15,18,15,11,12,12,15,15,13,13,15,14,16,13,14,13,16,14,15,15,16,16,17,15,16,15,17,15,12,14,13,16,14,13,13,14,14,16,14,15,14,16,15,15,15,16,15,17,16,16,16,17,16,12,13,14,15,16,15,15,15,15,16,13,15,13,16,14,16,16,16,17,17,15,16,15,17,15,15,16,15,16,15,14,14,15,16,16,16,16,16,17,16,15,15,16,15,17,17,17,17,18,17,15,15,15,16,16,16,16,16,16,17,14,15,15,17,16,17,17,17,17,18,15,16,15,18,14,10,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,14,15,15,16,13,15,14,16,16,12,13,13,15,15,13,14,14,15,16,13,14,14,15,15,14,15,15,16,17,14,15,15,17,16,12,13,13,15,15,13,14,14,15,15,12,14,13,15,15,14,15,15,16,17,14,15,14,17,15,14,15,15,16,16,14,15,15,16,17,15,15,15,17,16,16,16,16,16,17,16,16,16,17,17,13,14,14,16,15,14,15,15,16,16,14,15,14,16,16,15,16,16,17,17,15,16,15,17,16,11,12,12,14,15,13,13,14,14,15,13,14,13,15,15,14,15,15,16,16,14,15,15,16,16,12,14,13,15,15,13,13,14,15,16,14,15,14,16,15,15,15,16,15,17,15,16,16,17,16,12,13,13,15,15,14,14,15,15,16,13,14,13,16,15,15,15,16,16,17,15,15,15,16,16,14,15,15,16,16,14,15,15,16,16,15,16,16,17,17,16,16,16,16,17,16,17,17,18,17,14,14,15,15,16,15,15,16,16,17,14,15,15,16,16,16,16,16,17,17,15,16,15,17,15,11,12,12,14,14,12,13,14,15,15,12,13,13,15,15,14,15,15,16,16,13,15,14,16,16,12,13,13,15,15,13,14,14,15,16,13,14,14,16,16,15,15,15,16,17,15,15,15,17,16,12,13,13,15,15,13,14,14,16,15,13,14,13,16,15,15,16,15,17,17,14,15,14,17,16,14,15,15,16,16,15,15,16,16,17,15,16,16,17,17,16,16,16,16,18,16,17,16,18,17,14,15,14,16,15,15,15,15,17,16,14,15,14,17,15,16,17,16,17,17,15,16,15,17,15,11,12,12,15,15,13,13,15,14,16,13,15,13,16,14,15,15,16,15,17,15,16,15,17,16,12,14,13,15,15,13,13,15,15,16,15,15,15,16,15,15,15,16,15,17,16,16,16,17,16,12,13,14,15,16,14,14,15,15,16,13,14,13,16,14,16,16,16,16,17,15,16,15,17,15,15,16,15,16,16,14,15,15,16,16,16,16,16,17,16,15,15,16,15,17,17,17,17,18,17,15,15,15,15,16,16,16,16,16,17,14,15,14,16,15,17,17,17,17,18,15,16,15,17,15,12,13,13,15,15,13,14,14,15,16,13,14,14,16,15,14,15,15,16,17,14,15,15,17,16,13,14,14,16,15,13,14,15,16,16,14,15,15,16,16,15,15,16,16,17,15,16,16,17,17,13,14,13,16,15,14,15,15,16,16,13,15,14,16,15,15,16,16,17,17,15,16,14,17,15,15,15,16,17,17,15,15,16,16,17,16,16,16,17,17,16,15,17,16,18,17,17,17,18,18,15,15,15,17,14,16,16,16,17,16,15,16,15,17,15,16,17,17,18,17,16,17,15,18,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,7,9,9,10,10,9,10,10,10,11,9,10,10,11,10,9,10,10,11,11,9,10,10,11,11,9,10,10,11,11,10,10,10,11,11,10,10,10,11,11,10,11,11,11,11,10,11,11,11,11,9,10,10,11,11,10,10,10,11,11,9,10,10,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,10,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,9,10,10,11,11,10,10,11,11,11,10,10,11,11,11,10,11,11,11,12,10,11,11,12,12,10,10,11,11,11,10,11,11,11,12,11,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,11,11,11,11,11,11,11,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,10,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,11,10,11,11,11,11,10,11,11,11,12,11,11,11,12,12,11,11,12,12,12,11,11,11,12,12,10,11,10,11,11,11,11,11,12,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,10,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,13,12,13,12,9,10,10,11,11,10,10,11,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,11,11,11,10,11,11,11,12,10,11,11,12,12,11,11,12,12,12,11,11,11,12,12,10,11,10,11,11,11,11,11,12,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,10,11,11,11,10,11,11,12,12,10,11,11,12,12,11,11,11,12,12,11,11,12,12,12,10,11,11,11,12,11,11,12,12,12,11,11,12,12,12,11,11,12,12,12,11,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,11,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,10,11,11,12,11,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,9,10,10,11,11,10,10,11,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,10,11,11,11,11,10,11,11,12,12,11,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,11,10,11,11,10,11,11,12,12,10,11,11,12,11,11,12,11,12,12,11,11,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,11,12,10,11,11,12,11,11,11,12,12,12,11,11,12,12,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,12,12,12,12,12,12,12,13,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,12,10,11,11,12,12,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,12,13,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,13,12,13,12,12,12,12,13,12,12,13,12,13,12,13,13,12,13,12,12,12,12,12,12,13,13,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,13,12,12,12,12,12,12,12,13,12,13,12,12,12,12,13,12,12,13,13,13,12,12,13,12,13,12,10,11,11,12,12,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,11],"i8",N3,F.GLOBAL_BASE+390097),E3([12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,12,13,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,13,13,13,12,12,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,13,12,13,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,13,12,13,12,12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,13,12,13,12,12,13,12,13,12,12,13,12,13,12,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,4,7,8,4,8,7,5,7,8,7,7,10,8,9,9,5,7,7,8,9,9,7,10,7,5,7,8,8,9,11,8,10,10,8,9,10,10,10,12,11,12,12,8,10,10,10,12,12,10,12,11,5,8,7,8,10,10,8,11,9,8,10,10,10,11,12,10,12,12,8,10,9,11,12,12,10,12,10,5,8,8,7,10,10,8,11,10,7,9,10,9,10,12,10,12,12,8,10,10,10,12,12,10,12,11,7,9,10,9,11,12,10,12,11,9,9,12,10,10,13,12,12,13,10,12,11,12,13,13,11,13,11,7,10,9,10,11,12,10,13,11,9,11,11,11,11,13,12,14,13,10,11,11,12,14,14,11,14,11,5,8,8,8,10,11,7,10,10,8,10,10,10,11,12,10,12,12,7,10,9,10,12,12,9,12,10,7,9,10,10,11,13,10,12,11,10,11,11,11,11,14,12,14,14,9,11,11,12,13,14,11,13,11,7,10,9,10,11,12,9,12,10,10,11,12,11,11,13,12,13,13,9,12,9,12,13,12,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,6,7,7,7,7,8,7,8,7,7,7,8,7,8,8,8,8,8,7,8,7,7,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,8,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,5,5,7,7,5,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,5,7,8,7,9,10,8,9,9,8,9,10,9,10,12,10,11,11,8,10,9,10,11,12,9,11,10,5,8,7,8,10,9,7,10,9,8,9,10,9,10,11,10,12,11,8,10,9,10,11,11,9,12,10,5,8,8,7,9,10,8,10,9,7,9,10,9,10,11,9,11,11,8,10,9,10,11,11,10,12,10,7,9,10,9,10,12,9,11,11,9,9,12,11,10,13,11,11,13,10,12,11,11,13,13,11,13,12,7,9,9,9,11,11,9,12,11,9,11,10,10,11,12,11,13,12,9,11,11,12,13,13,11,13,11,5,8,8,8,9,10,7,10,9,8,9,10,10,10,12,10,11,11,7,10,9,9,11,11,9,11,10,7,9,9,9,11,12,9,11,11,9,11,11,11,11,13,12,13,13,9,10,11,11,12,13,10,12,11,7,10,9,9,11,11,9,12,10,10,11,12,11,12,13,12,13,13,9,12,9,11,13,11,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,9,9,6,8,8,10,10,6,8,8,10,10,8,9,10,12,12,8,10,9,12,12,6,8,8,10,10,8,8,9,10,11,8,9,9,11,11,9,10,11,12,13,10,11,11,13,13,6,8,8,10,10,8,9,9,11,11,8,9,8,11,10,10,11,11,13,13,9,11,10,13,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,12,15,12,13,13,15,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,13,13,14,15,12,13,12,15,12,7,8,8,10,11,8,9,10,11,12,8,9,9,11,11,10,11,11,13,14,10,11,11,13,13,8,9,9,11,12,9,10,11,11,13,9,10,10,12,12,11,11,12,13,15,11,12,12,14,14,8,9,9,11,11,9,10,11,12,13,9,10,10,12,12,11,12,12,14,15,11,12,12,14,14,10,11,12,13,13,11,12,12,13,14,12,12,12,14,14,13,13,14,14,16,14,14,14,16,15,10,11,11,13,13,12,12,12,14,14,11,12,12,14,13,14,14,14,15,16,13,14,13,16,14,7,8,8,11,10,8,9,9,11,11,8,10,9,12,11,10,11,11,13,13,10,11,11,14,13,8,9,9,12,11,9,10,10,12,12,9,11,10,13,12,11,12,12,13,14,11,12,12,15,14,8,9,9,12,11,9,10,10,12,12,9,11,10,13,11,11,12,12,14,14,11,12,12,14,13,10,11,11,13,13,11,12,12,13,14,12,13,12,14,14,13,13,14,14,16,13,14,14,16,15,10,11,11,13,13,12,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,16,14,9,10,11,12,13,11,11,12,12,14,11,11,12,13,14,13,13,14,14,16,13,13,14,15,15,11,11,12,12,14,12,12,13,13,15,12,12,13,13,15,14,14,15,15,16,14,14,14,15,16,11,12,12,13,14,12,12,13,14,15,12,13,12,14,14,14,14,15,15,16,14,14,14,16,16,13,13,14,15,16,14,14,15,15,16,14,15,15,16,16,15,15,16,16,18,16,16,16,17,17,13,14,14,15,15,14,14,15,16,16,14,15,14,16,16,16,16,16,17,18,15,16,16,17,16,9,11,10,13,12,11,12,11,14,13,11,12,11,14,12,13,14,13,15,14,13,14,13,16,14,11,12,12,14,13,12,12,13,14,14,12,13,12,15,14,14,14,14,16,16,14,15,14,17,15,11,12,11,14,12,12,13,12,15,13,12,13,12,15,13,14,14,14,16,15,14,15,14,16,15,13,14,14,15,15,14,14,15,16,16,14,15,14,16,16,15,15,16,16,17,16,16,16,17,17,13,14,14,16,15,14,15,15,16,16,14,15,14,17,15,16,16,16,17,17,15,16,15,18,16,7,8,8,10,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,11,11,14,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,13,14,11,12,12,14,14,8,9,9,12,11,9,10,11,12,13,9,11,10,13,12,11,12,12,14,14,11,12,12,14,13,10,11,11,13,13,11,12,12,13,14,11,12,12,14,14,13,13,14,14,16,13,14,14,16,15,10,12,11,13,13,12,12,12,14,14,11,12,12,14,13,14,14,14,15,16,13,14,14,16,14,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,11,12,13,14,11,12,12,14,14,9,9,10,11,12,10,10,11,12,13,10,10,11,12,13,12,12,13,14,15,12,12,13,14,15,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,15,15,12,13,13,15,14,11,11,12,13,14,12,12,13,13,15,12,12,13,14,15,14,14,15,14,16,14,14,15,15,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,14,14,15,15,16,16,14,15,14,17,15,8,9,9,11,11,9,10,10,12,12,9,11,10,13,12,11,12,12,14,14,11,13,12,15,13,9,10,10,12,12,10,10,11,12,13,10,12,11,13,13,12,12,13,13,15,12,13,13,15,14,9,10,10,12,12,11,11,12,13,13,10,12,10,13,12,12,13,13,15,15,12,13,13,15,13,11,12,12,14,14,12,12,13,14,14,12,13,13,15,14,13,13,14,13,16,14,15,14,16,16,11,12,12,14,14,13,13,13,15,15,12,13,12,15,14,14,15,15,16,17,14,15,13,16,13,10,11,11,13,14,11,12,12,13,15,11,12,12,14,14,13,14,14,15,16,13,14,14,16,16,11,11,12,12,14,12,12,13,13,15,12,13,13,13,15,14,14,15,14,17,14,14,15,15,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,16,13,14,14,14,16,14,14,15,14,17,14,15,15,14,17,16,16,17,15,18,16,16,17,16,18,13,14,14,16,16,14,15,15,17,16,14,15,15,17,16,16,17,17,18,18,16,17,16,18,17,10,11,11,14,13,11,12,12,14,14,11,13,12,15,14,14,14,14,16,15,14,15,14,16,15,11,12,12,14,13,12,13,13,15,14,13,14,13,15,14,14,15,15,16,16,14,15,15,17,15,11,12,12,14,14,13,13,13,15,15,12,13,13,15,14,15,15,15,17,17,14,15,15,17,15,13,14,14,16,15,14,15,15,16,16,15,15,15,17,16,16,16,16,16,17,16,17,16,18,17,14,14,14,16,16,15,15,15,16,16,14,15,14,17,16,16,17,17,17,18,16,17,16,18,16,7,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,11,10,13,12,11,12,12,13,14,11,12,12,14,14,8,9,9,11,11,9,10,10,12,12,9,10,10,13,12,11,12,12,14,14,11,12,11,14,13,10,11,12,13,13,11,12,12,13,14,12,13,12,14,14,13,13,14,14,16,13,14,14,16,15,10,11,11,13,13,11,12,12,14,14,11,12,12,14,13,13,14,14,15,16,13,14,13,16,14,8,9,9,11,11,9,10,11,12,13,9,10,10,12,12,11,12,13,13,14,11,12,12,14,14,9,10,10,12,12,10,10,11,12,13,11,12,11,13,13,12,12,13,13,15,12,13,13,15,15,9,10,10,12,12,10,11,12,13,14,10,11,10,13,12,12,13,13,14,15,12,13,12,15,13,12,12,12,14,14,12,12,13,14,15,13,13,13,15,15,14,14,15,13,16,14,15,15,16,16,11,12,12,14,14,12,13,13,14,15,12,13,12,14,14,14,14,15,16,16,13,14,13,16,14,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,14,11,12,11,14,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,14,15,12,13,13,15,14,9,10,9,12,11,10,11,10,13,12,10,11,10,13,12,12,13,12,15,14,12,13,12,15,14,11,12,12,14,14,12,13,13,14,15,12,13,13,15,15,14,14,15,15,17,14,15,15,16,16,11,12,11,14,13,12,13,12,15,14,12,13,12,15,13,14,15,14,16,15,13,15,14,17,14,10,11,11,13,14,11,12,13,13,15,11,12,12,14,14,14,14,15,15,17,13,14,14,15,16,11,12,12,14,14,12,12,13,14,15,13,13,13,15,15,14,15,15,15,17,15,15,15,16,16,11,12,12,13,14,13,13,14,14,15,12,13,13,14,15,14,15,15,16,17,14,15,15,16,16,14,14,14,16,16,14,14,15,15,17,15,15,15,17,16,16,16,17,16,18,16,17,17,18,17,13,14,14,15,16,14,15,15,16,17,14,15,15,16,16,16,17,17,17,18,16,16,16,17,16,10,11,11,14,13,11,12,12,14,14,11,12,12,15,13,13,14,14,16,15,13,14,14,16,15,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,17,16,11,12,11,14,12,12,13,13,15,13,12,13,12,15,13,14,15,15,16,15,14,15,14,17,14,13,14,14,16,16,14,15,15,16,17,14,15,15,16,17,16,16,17,17,18,16,17,17,18,18,13,14,14,16,13,14,15,15,17,14,14,15,14,17,14,16,17,16,17,16,16,17,16,18,15,8,11,11,13,13,10,12,12,14,14,11,12,12,14,14,13,13,14,15,16,13,14,14,16,15,10,11,11,14,14,11,12,12,14,15,11,12,12,15,14,13,14,14,15,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,12,15,14,14,14,15,16,16,14,15,14,16,16,12,13,13,15,15,12,13,14,15,16,13,14,14,16,16,14,15,15,16,17,15,15,16,17,17,13,14,14,16,15,14,15,15,16,16,14,15,14,16,16,16,16,16,17,17,15,16,16,18,16,10,11,11,13,14,11,12,12,14,15,11,12,12,15,14,13,14,14,16,16,13,14,14,16,16,11,11,12,14,14,12,12,13,14,15,12,13,13,15,15,14,14,15,15,17,14,14,15,16,16,11,12,12,15,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,17,16,13,12,14,14,16,13,13,15,14,17,14,13,15,15,17,15,14,16,15,18,16,15,16,16,18,13,14,14,16,16,14,15,15,17,17,14,15,15,17,16,16,17,17,18,18,16,17,16,18,17,10,11,11,14,13,11,12,12,14,14,11,13,12,15,14,13,14,14,15,16,13,14,14,16,16,11,12,12,14,14,12,13,13,14,15,12,13,13,15,15,14,14,15,15,16,14,15,15,17,16,11,12,12,14,14,13,13,13,15,15,12,13,13,15,14,14,15,15,16,17,14,15,14,17,15,13,14,13,16,15,14,14,14,15,16,14,15,14,16,16,15,15,16,16,17,16,16,16,18,17,14,14,14,16,16,15,15,15,17,16,14,15,14,17,16,16,16,17,17,18,16,17,16,18,16,11,13,13,15,15,12,13,14,15,16,12,14,14,15,15,14,15,15,16,17,14,15,15,17,17,12,13,14,14,16,13,14,14,14,16,14,14,14,15,16,15,15,16,15,18,15,16,16,17,17,13,14,14,16,16,14,14,15,16,16,14,15,14,16,16,15,16,16,17,18,15,16,16,18,17,14,14,16,13,17,15,15,16,14,18,15,15,16,14,18,16,16,18,15,19,17,17,18,16,18,15,16,15,17,17,15,16,17,18,18,16,16,16,18,17,17,18,18,19,19,17,18,17,19,18,11,12,12,15,14,13,13,14,15,16,13,14,13,16,14,15,15,15,16,17,15,16,15,17,16,12,13,13,15,14,13,13,14,15,15,14,15,14,16,15,15,15,16,16,17,16,16,16,18,17,12,13,13,15,15,14,14,15,16,16,13,14,13,16,15,16,16,16,17,18,15,16,15,17,16,14,15,14,17,15,14,15,15,16,16,15,16,15,17,16,16,15,16,15,17,17,18,17,18,17,15,15,15,16,17,16,16,16,17,17,15,16,15,17,16,17,18,18,18,18,16,17,16,18,15,8,11,11,13,13,11,12,12,14,14,10,12,12,14,14,13,14,14,15,16,13,14,13,16,15,11,12,12,14,14,12,12,13,14,15,12,13,13,15,15,14,14,15,15,16,14,14,14,16,16,10,11,11,14,14,11,12,12,14,15,11,12,12,15,14,13,14,14,16,16,13,14,14,16,15,13,14,14,15,16,14,14,15,16,16,14,15,15,16,16,15,16,16,16,18,16,16,16,17,17,12,13,13,15,15,13,14,14,16,16,12,14,13,16,15,15,16,15,17,17,14,16,15,17,16,10,11,11,13,14,11,12,13,14,15,11,13,12,14,14,14,14,15,16,16,13,14,14,16,16,11,12,12,14,14,12,13,13,14,15,13,14,13,15,15,14,15,15,16,17,14,15,15,17,16,11,12,12,14,14,12,13,13,15,15,12,13,12,15,14,14,15,15,16,17,14,15,15,16,16,14,14,14,16,16,14,14,15,16,16,15,15,15,16,16,16,16,17,16,18,16,17,17,18,18,13,13,14,15,16,14,14,15,16,17,13,14,14,16,16,16,16,17,17,18,15,16,15,17,16,10,11,11,14,13,11,12,12,14,14,11,12,12,15,14,13,14,14,16,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,17,16,11,12,11,14,14,12,13,13,15,15,12,13,12,15,14,14,15,14,16,16,14,15,14,17,16,14,14,14,16,16,14,15,15,16,17,14,15,15,17,17,16,16,17,17,18,16,17,17,18,18,13,14,12,16,14,14,15,13,17,15,13,15,13,17,14,16,16,15,18,16,15,17,14,18,15,11,12,12,14,15,13,13,14,14,16,13,14,13,15,14,15,15,16,16,17,15,16,15,17,16,12,13,13,15,15,13,13,14,15,16,14,15,14,16,16,15,15,16,15,18,16,16,16,18,17,12,13,13,15,15,14,14,15,15,16,13,14,13,15,15,16,16,16,16,18,15,16,15,17,16,15,15,15,17,16,15,15,16,16,17,16,16,16,18,17,16,16,17,15,18,17,18,17,19,18,14,14,15,15,17,15,15,16,16,17,14,15,15,16,16,17,17,18,17,19,16,17,15,17,15,11,13,12,15,15,12,14,14,15,15,12,14,13,16,15,15,15,15,17,17,14,15,15,17,16,12,14,14,16,16,14,14,15,16,16,14,14,14,16,16,15,16,17,17,18,15,16,16,18,17,12,14,13,16,14,13,14,14,16,15,13,15,14,16,14,15,16,16,17,17,15,16,15,18,15,15,15,16,17,17,15,16,16,17,18,16,16,16,18,18,17,17,18,18,19,17,17,18,19,19,14,15,14,17,13,15,16,15,18,14,15,16,15,18,14,17,18,17,18,16,16,18,16,19,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,4,7,7,4,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,6,7,8,8,9,10,8,9,10,8,9,10,10,10,12,10,11,12,8,10,10,10,11,12,10,11,11,6,8,7,8,10,9,8,10,9,8,10,10,10,11,11,10,12,11,8,10,9,10,12,11,10,12,10,5,8,8,8,10,10,8,10,10,7,9,10,9,10,11,9,11,11,8,10,10,10,12,12,10,12,11,7,9,9,9,10,11,9,11,11,9,9,11,10,11,12,10,11,12,9,11,11,11,12,12,11,12,12,7,9,9,10,11,11,10,12,11,9,11,10,11,11,12,11,13,12,10,11,11,12,13,13,11,13,11,5,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,11,7,10,9,9,11,11,9,11,10,7,9,9,10,11,12,10,11,11,10,11,11,11,11,13,12,13,13,9,10,11,12,12,13,11,12,11,7,9,9,9,11,11,9,11,10,9,11,11,11,12,12,11,12,12,9,11,9,10,12,11,10,12,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,9,15,17,20,21,22,23,5,5,7,9,11,13,17,20,9,5,5,6,8,10,15,18,11,7,5,4,6,9,13,17,14,9,7,5,6,7,10,14,17,10,8,6,6,4,5,8,20,14,13,10,8,4,3,4,23,17,16,14,12,6,4,4,2,0,0,0,64,0,0,0,112,96,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,216,47,6,0,0,0,0,0,0,0,0,0,0,48,6,0,0,0,0,0,0,0,0,0,40,48,6,0,80,48,6,0,0,0,0,0,0,0,0,0,120,48,6,0,160,48,6,0,0,0,0,0,0,0,0,0,200,48,6,0,240,48,6,0,0,0,0,0,0,0,0,0,24,49,6,0,64,49,6,0,240,48,6,0,0,0,0,0,104,49,6,0,144,49,6,0,184,49,6,0,224,49,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,152,47,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,14,16,17,17,18,20,6,3,5,8,10,11,13,15,13,5,3,5,8,9,11,12,15,7,4,3,5,7,9,11,16,10,7,5,6,7,9,10,17,11,8,7,7,6,8,8,19,13,11,9,9,8,8,9,20,14,13,11,10,8,9,9,5,0,0,0,243,0,0,0,104,95,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,96,96,6,0,0,0,0,0,5,0,0,0,53,12,0,0,24,83,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,80,95,6,0,0,0,0,0,5,0,0,0,243,0,0,0,16,82,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,8,83,6,0,0,0,0,0,5,0,0,0,243,0,0,0,8,81,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,0,82,6,0,0,0,0,0,5,0,0,0,243,0,0,0,0,80,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,248,80,6,0,0,0,0,0,5,0,0,0,53,12,0,0,176,67,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,79,6,0,0,0,0,0,5,0,0,0,53,12,0,0,96,55,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,152,67,6,0,0,0,0,0,1,0,0,0,7,0,0,0,56,55,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,64,55,6,0,0,0,0,0,5,0,0,0,243,0,0,0,48,54,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,40,55,6,0,0,0,0,0,5,0,0,0,243,0,0,0,40,53,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,32,54,6,0,0,0,0,0,5,0,0,0,243,0,0,0,32,52,6,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,24,53,6,0,0,0,0,0,5,0,0,0,243,0,0,0,24,51,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,16,52,6,0,0,0,0,0,1,0,0,0,25,0,0,0,144,50,6,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,176,50,6,0,0,0,0,0,1,0,0,0,25,0,0,0,8,50,6,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,40,50,6,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,4,5,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,5,5,4,10,10,5,10,10,5,10,10,10,10,10,10,10,10,5,10,10,10,10,10,9,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,7,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,7,6,7,8,6,8,7,7,7,8,7,7,8,8,8,8,7,7,7,8,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,9,8,9,8,8,8,8,8,8,9,8,9,9,8,8,8,9,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,9,9,9,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,6,5,7,8,5,8,7,5,7,7,7,7,9,8,9,9,5,7,7,8,9,9,7,9,7,6,8,8,8,9,10,8,9,9,8,9,10,9,9,11,10,10,11,8,10,9,10,10,11,9,10,10,6,8,8,8,9,9,8,10,9,8,9,10,9,10,10,10,11,10,8,10,9,10,11,10,9,11,9,6,8,8,7,9,9,8,9,9,7,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,10,9,7,9,9,9,10,10,9,10,10,9,9,10,10,9,11,10,11,11,9,10,10,10,11,11,10,11,10,6,9,8,9,10,10,9,10,9,8,10,10,9,9,10,10,11,11,9,10,10,10,11,11,9,11,9,6,8,8,8,9,9,7,9,9,8,9,9,9,9,10,9,10,10,7,9,9,9,10,10,9,10,9,6,8,9,9,9,10,9,10,10,9,10,10,9,9,11,10,11,11,8,10,10,10,11,11,9,10,9,7,9,9,9,10,10,9,10,10,9,10,10,10,10,11,10,11,11,9,10,9,10,11,11,10,11,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,9,9,5,7,8,10,11,5,8,7,11,10,8,10,11,12,13,8,11,10,13,12,6,7,8,10,11,7,8,10,10,12,8,9,9,12,11,10,10,12,11,14,10,11,12,14,13,6,8,7,11,10,8,9,9,11,12,7,10,8,12,10,10,12,12,13,14,10,12,10,14,11,9,10,11,11,12,10,10,11,11,13,11,12,12,13,13,12,11,13,11,15,13,14,13,14,14,9,11,10,12,11,11,12,12,13,13,10,11,10,13,11,13,13,14,14,14,12,13,11,14,11,7,8,9,11,12,9,9,11,12,13,9,10,10,13,12,11,12,13,13,15,11,12,12,14,14,9,10,10,12,13,10,10,12,12,14,11,11,11,13,13,12,12,13,13,15,12,13,13,15,14,9,10,10,12,13,10,11,11,13,14,10,12,11,14,13,12,13,13,14,15,12,13,13,15,14,12,12,13,13,14,12,13,13,13,15,13,14,14,14,15,14,14,15,14,16,14,15,15,16,16,12,13,13,14,14,13,13,14,15,14,12,13,13,15,14,14,15,15,15,16,14,15,14,16,14,7,9,8,12,11,9,10,10,12,13,9,11,9,13,12,11,12,12,14,14,11,13,12,15,13,9,10,10,13,12,10,11,12,13,14,10,12,11,14,13,12,13,13,14,15,13,13,13,15,14,9,10,10,13,12,11,11,11,13,13,10,12,10,14,12,13,13,13,14,15,12,13,12,15,13,12,13,13,14,14,12,13,13,14,15,13,14,13,15,15,14,14,15,14,16,14,15,15,16,15,12,13,12,14,13,13,13,13,15,14,12,13,13,15,13,14,15,15,16,15,14,15,14,16,14,11,12,12,13,14,12,13,14,14,15,12,13,13,14,15,14,14,15,15,16,14,15,15,16,16,12,13,13,14,15,13,13,14,14,16,13,14,14,15,15,15,15,16,15,17,15,15,15,16,16,12,13,13,14,15,13,14,14,15,16,13,14,14,15,15,15,15,16,16,17,15,15,15,17,16,14,15,15,16,16,15,15,16,15,16,15,16,16,16,17,16,16,17,16,18,16,16,17,18,17,14,15,15,16,16,15,16,16,16,17,15,16,15,17,16,16,17,17,17,18,16,16,16,17,16,11,12,12,14,13,12,13,13,15,14,12,14,13,15,14,14,15,15,16,16,14,15,14,16,15,12,13,13,15,14,13,14,14,15,15,13,14,14,16,15,15,15,15,16,16,15,16,15,17,16,12,13,13,15,14,13,14,14,15,15,13,14,13,16,14,15,15,15,16,16,15,15,15,17,15,14,15,15,16,16,15,15,15,16,16,15,16,16,17,17,16,16,17,17,17,16,17,17,18,17,14,15,15,16,15,15,15,16,16,16,15,15,15,17,15,17,17,17,18,17,16,17,16,18,16,6,9,9,12,12,8,10,10,12,13,9,11,10,13,12,10,12,12,14,14,11,13,12,14,14,8,10,10,12,12,9,10,11,12,14,10,11,11,13,13,12,12,13,13,15,12,13,13,15,14,9,10,10,13,13,10,11,11,13,13,10,12,10,14,13,12,13,13,14,15,12,13,13,15,14,11,12,12,13,14,12,12,13,13,15,12,13,13,14,14,13,13,14,13,16,14,15,15,16,15,11,12,12,14,14,13,13,13,15,14,12,13,13,15,14,14,15,15,16,15,14,14,14,16,14,7,9,10,12,12,9,10,11,13,13,9,11,10,13,13,11,12,13,14,15,12,13,13,15,14,9,10,11,12,13,10,10,12,13,14,11,11,12,14,14,12,12,14,14,15,13,13,13,15,15,9,11,11,13,13,11,12,12,14,14,10,12,10,14,13,13,14,13,15,15,12,14,13,15,14,12,12,13,13,15,12,12,14,13,15,13,14,14,15,15,14,14,15,14,17,14,15,15,16,16,12,13,13,15,14,13,14,14,15,15,12,14,13,15,14,14,15,15,16,16,14,15,14,16,14,7,10,10,12,12,10,11,11,12,13,10,12,10,14,12,12,13,13,14,15,12,13,13,15,14,9,11,10,13,12,10,10,12,12,14,11,13,12,14,13,13,13,14,13,15,13,14,14,15,14,10,11,11,13,13,12,12,12,13,14,10,12,10,14,12,13,14,14,15,15,13,14,13,15,13,12,13,13,14,14,12,12,13,14,15,13,14,14,15,15,13,13,14,13,15,14,15,15,16,16,12,13,13,14,14,13,14,14,15,15,12,13,13,15,13,15,15,15,16,16,13,14,13,16,13,11,12,13,14,14,12,13,14,14,15,12,13,13,15,15,14,14,15,15,17,14,15,15,16,16,12,13,14,14,15,13,13,14,14,16,13,14,14,15,16,14,14,16,15,17,15,15,16,16,16,12,13,13,15,15,13,14,14,15,16,13,14,14,15,16,15,15,16,17,17,15,16,15,17,16,14,15,15,15,16,15,15,16,15,17,15,15,16,16,17,16,16,16,16,18,16,16,17,17,17,14,15,15,16,16,15,16,16,16,17,15,16,15,17,16,16,17,17,17,17,16,17,16,18,17,11,12,12,14,14,13,13,14,14,15,13,14,13,15,14,14,15,15,15,16,14,15,15,17,15,12,13,13,15,14,13,13,14,15,15,14,15,14,16,15,15,15,15,15,16,15,16,15,17,16,12,13,13,15,15,14,14,14,15,16,13,14,13,16,15,15,15,16,16,17,15,16,15,17,15,14,15,15,16,16,14,15,15,16,16,15,16,16,17,16,15,15,16,15,17,16,17,17,18,17,14,15,15,16,16,15,16,16,16,17,14,15,15,17,16,17,17,17,17,18,15,16,16,18,15,6,9,9,12,12,9,10,11,12,13,8,10,10,13,12,11,12,13,14,14,10,12,12,14,13,9,10,10,12,13,10,10,12,13,14,10,11,11,13,13,12,13,13,14,15,12,13,13,15,14,8,10,10,12,12,10,11,11,13,13,9,11,10,13,13,12,13,13,14,15,12,13,12,15,13,11,12,12,14,14,12,13,13,13,15,13,13,13,14,15,14,14,15,14,16,14,15,15,15,15,11,12,12,14,13,12,13,13,15,14,12,13,12,15,13,14,14,15,16,16,13,14,13,16,13,7,10,10,12,12,10,10,12,12,14,10,11,11,13,12,12,13,13,13,15,12,13,13,15,14,10,11,11,13,13,10,10,12,12,14,12,12,12,14,13,13,13,14,13,15,13,14,14,15,14,9,10,11,13,13,11,12,12,13,14,10,12,10,14,12,13,13,14,14,15,13,13,12,15,13,12,13,13,14,14,12,13,13,14,15,13,14,14,15,15,13,13,15,13,16,15,15,15,16,16,12,13,13,14,14,13,14,14,15,15,12,13,12,15,14,15,15,15,16,16,13,14,13,15,13,7,10,9,12,12,9,10,11,13,13,9,11,10,13,13,11,13,13,14,15,11,13,12,15,14,9,11,11,13,13,10,10,12,13,14,11,12,12,14,14,12,13,14,14,15,13,13,13,15,15,9,11,10,13,12,11,12,11,14,14,10,12,10,14,13,13,14,13,15,15,12,14,12,15,14,12,13,13,14,15,13,13,14,14,15,13,14,14,15,15,14,14,15,14,17,14,15,15,16,16,12,13,12,15,13,13,14,14,15,15,12,14,13,15,13,14,15,15,16,16,14,15,14,16,14,11,12,12,14,14,13,13,14,14,15,13,14,13,15,15,14,15,15,16,17,14,15,15,16,15,12,13,13,15,15,13,13,14,15,16,14,14,14,16,15,15,15,16,15,17,15,16,15,17,16,12,13,13,14,15,14,14,15,15,16,13,14,13,15,15,15,15,16,16,17,15,15,15,16,15,14,15,15,16,16,14,15,15,16,17,15,16,16,17,17,16,15,16,15,17,16,17,17,17,17,14,15,15,15,16,15,15,16,16,17,14,15,15,16,16,16,16,17,17,18,15,16,15,17,15,11,13,12,14,14,12,13,13,15,15,12,14,13,15,14,14,15,15,16,16,14,15,14,16,15,12,13,13,15,15,13,14,14,15,16,13,14,14,16,16,15,15,16,16,17,15,16,15,17,16,12,13,13,15,14,13,14,14,16,15,13,14,13,16,14,15,16,15,17,16,15,15,14,18,15,14,15,15,16,16,15,15,16,16,17,15,16,15,17,16,16,16,17,17,18,16,17,17,18,17,14,15,15,16,15,15,16,15,17,16,15,15,15,17,15,16,17,17,18,17,16,17,16,18,15,10,12,12,14,14,12,13,13,14,14,12,13,13,14,14,13,14,14,15,15,13,14,14,16,15,11,12,13,14,14,12,13,13,15,15,12,13,13,15,15,13,14,15,15,16,14,15,15,16,16,12,13,13,14,14,13,13,14,15,15,13,14,13,15,15,14,15,15,16,16,14,15,14,16,15,13,14,14,15,15,13,14,14,15,16,14,14,15,16,16,14,15,15,15,17,15,16,16,17,17,13,14,14,15,15,14,15,15,16,16,14,15,15,16,16,15,16,16,16,17,15,16,15,17,16,11,12,12,14,14,12,13,13,14,15,12,13,13,15,14,13,14,14,15,16,13,14,14,16,15,12,13,13,14,15,13,13,14,15,15,13,14,14,15,15,14,14,15,15,17,14,15,15,16,16,12,13,13,15,15,13,14,14,15,15,13,14,13,15,15,14,15,15,16,17,14,15,15,16,16,13,13,14,15,16,14,14,15,15,16,14,15,15,16,16,15,15,16,15,18,15,16,16,17,17,14,15,15,16,16,15,15,15,16,16,14,15,15,17,16,16,16,16,17,17,15,16,16,17,16,10,12,12,14,14,12,13,13,14,15,12,13,13,15,14,14,14,15,15,16,14,15,14,16,15,12,13,13,15,14,13,13,14,15,15,13,14,14,15,15,14,14,15,15,16,14,15,15,16,16,12,13,13,15,15,13,14,14,15,16,13,14,13,15,14,15,15,15,16,16,14,15,15,16,15,13,14,14,16,15,14,14,14,15,16,14,15,15,16,16,15,15,16,15,17,16,17,16,17,17,14,14,15,15,16,15,15,16,16,16,14,15,14,16,15,16,16,16,17,17,15,16,15,17,15,11,13,13,14,15,13,13,14,15,15,13,14,13,15,15,14,15,15,15,16,14,15,15,17,15,13,13,14,15,15,13,14,15,15,16,14,14,14,16,16,15,14,16,15,17,15,16,16,17,16,13,14,14,15,15,14,14,14,16,16,13,15,14,16,15,15,15,16,17,17,15,16,15,17,16,14,15,15,15,16,15,15,16,15,17,15,16,16,16,17,16,16,17,15,18,16,17,17,17,17,14,15,15,16,16,15,16,16,17,17,15,16,15,17,16,16,17,17,18,18,16,17,15,18,16,10,12,12,14,14,13,13,14,14,15,13,14,13,15,14,14,15,15,15,16,15,15,15,16,15,12,13,13,15,14,12,12,14,14,15,14,15,14,16,15,15,14,15,14,17,15,16,16,17,16,12,13,13,14,15,14,14,15,15,16,13,14,12,16,14,15,16,16,16,17,15,16,14,17,15,14,15,14,16,15,14,14,15,15,15,15,16,15,17,16,15,14,16,14,16,16,17,17,18,17,14,14,15,15,16,15,16,16,16,17,14,15,14,16,15,16,16,17,17,17,15,16,14,17,14,10,12,12,14,13,12,13,13,14,14,11,13,12,14,14,13,14,14,15,16,13,14,14,16,15,12,13,13,14,14,13,13,14,15,15,13,14,13,15,15,14,14,15,15,16,14,15,15,16,16,11,13,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,13,14,14,16,15,13,14,14,15,15,14,15,15,15,16,14,15,15,16,16,15,16,16,16,17,16,16,16,17,17,13,14,14,15,15,14,15,15,16,16,13,14,14,16,15,15,16,16,17,17,15,15,15,17,15,11,12,12,14,14,12,13,13,14,15,12,13,13,15,14,14,14,15,15,16,14,14,14,16,15,12,13,13,15,14,13,13,14,15,15,13,14,14,16,15,14,15,15,15,16,15,15,15,16,16,12,13,13,14,15,13,13,14,15,15,13,14,13,15,15,15,15,15,16,16,14,15,14,16,15,14,14,15,16,16,14,15,15,15,16,15,16,15,16,16,15,15,16,15,17,16,16,16,17,17,13,14,14,15,16,14,15,15,16,16,14,14,14,16,16,16,16,16,17,17,15,15,15,17,15,11,12,12,14,14,12,13,13,14,15,12,13,13,15,14,14,14,14,15,16,13,14,14,16,15,12,13,13,15,15,13,13,14,15,16,13,14,14,15,15,14,15,15,16,17,14,15,15,17,16,12,13,13,15,14,13,14,14,15,15,13,14,13,15,15,14,15,15,16,16,14,15,14,17,15,14,15,15,16,16,14,15,15,16,17,15,15,15,17,17,15,16,16,16,17,16,17,16,17,17,13,15,14,16,15,14,15,15,16,16,14,15,14,16,15,16,16,16,17,17,15,16,15,17,15,10,12,12,14,14,13,13,14,14,15,13,14,13,15,14,14,15,15,15,17,14,15,15,16,15,12,13,13,15,14,12,12,14,14,15,14,15,14,16,15,15,14,16,15,17,15,16,16,17,16,12,13,13,14,15,14,14,15,15,16,12,14,12,15,14,15,16,16,16,17,15,16,14,17,14,14,15,14,16,16,14,14,15,15,16,15,16,16,17,16,15,14,16,14,17,16,17,17,18,17,14,14,15,15,16,15,15,16,16,17,14,15,14,16,15,16,17,17,17,18,15,16,14,17,14,11,13,13,15,14,13,13,14,15,15,12,14,13,15,15,14,15,15,15,17,14,15,14,16,15,13,14,14,15,15,13,14,15,15,16,14,15,14,16,16,15,15,16,16,17,15,16,16,17,17,13,14,13,15,15,14,14,14,16,16,13,15,14,16,15,15,16,16,17,17,15,16,14,17,15,15,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,15,17,16,17,17,17,17,18,18,14,15,15,17,15,15,16,16,17,16,15,16,15,17,15,16,17,17,17,17,16,17,15,18,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,7,8,8,10,10,8,9,9,10,11,8,9,9,10,10,9,10,10,11,11,9,10,10,11,11,8,9,9,10,10,9,9,10,11,11,9,10,10,11,11,10],"i8",N3,F.GLOBAL_BASE+400337),E3([10,11,11,11,10,11,11,11,11,8,9,9,10,10,9,10,10,11,11,9,10,9,11,11,10,11,11,11,11,10,11,10,11,11,10,10,10,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,11,12,11,11,11,11,12,10,10,10,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,12,11,11,11,11,12,11,8,9,10,11,11,9,10,11,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,10,11,11,10,10,11,11,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,10,10,11,11,10,11,11,12,12,10,11,11,12,11,11,12,12,12,12,11,12,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,8,10,9,11,11,9,10,10,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,10,10,11,11,10,11,11,12,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,11,12,11,11,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,13,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,10,11,11,12,11,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,12,12,13,13,13,13,13,13,13,13,13,8,10,10,11,11,9,10,10,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,11,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,10,10,11,11,10,11,11,12,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,11,12,10,11,11,12,12,11,11,11,12,12,11,11,11,12,12,10,10,11,11,12,11,11,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,10,11,11,12,12,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,12,12,12,13,12,12,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,11,12,12,12,12,12,12,12,13,12,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,11,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,10,10,11,11,9,10,10,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,10,11,11,10,11,11,11,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,11,12,12,11,12,11,12,12,10,11,11,12,12,11,11,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,10,12,11,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,11,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,11,11,12,12,11,12,12,12,12,11,12,11,13,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,12,13,13,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,11,12,12,12,11,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,12,13,12,13,12,12,13,13,13,12,12,13,13,13,12,13,13,13,13,12,12,12,12,13,12,12,13,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,11,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,13,13,13,13,12,13,13,12,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,13,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,11,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,12,13,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,11,12,12,12,12,12,13,13,11,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,13,13,13,13,13,12,13,12,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,13,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,13,13,13,13,13,13,13,13,13,12,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,8,5,8,7,5,7,8,7,8,10,8,10,10,5,8,7,8,10,10,7,10,8,6,8,9,9,10,12,9,11,11,9,10,11,11,11,13,11,13,13,9,11,11,11,12,13,11,13,11,6,9,8,9,11,11,9,12,10,9,11,11,11,11,13,11,13,13,9,11,10,11,13,13,11,13,11,6,9,9,8,10,11,9,12,11,8,10,11,10,11,13,11,13,13,9,11,11,11,13,12,11,13,11,8,10,10,9,11,12,10,12,12,10,10,12,11,11,14,12,13,14,10,12,12,12,13,13,11,14,11,8,11,10,11,12,13,11,14,12,10,12,11,11,12,14,13,15,14,10,12,12,13,14,15,12,14,12,5,9,9,9,11,12,8,11,10,9,11,11,11,11,13,11,12,13,8,11,10,11,13,13,10,13,11,8,10,11,11,12,14,11,13,12,10,12,12,12,12,14,14,15,14,10,11,12,13,14,15,11,14,12,8,10,10,10,12,12,9,12,11,10,12,12,11,11,14,12,13,13,10,12,10,12,14,13,11,13,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,6,7,7,7,7,7,7,7,7,7,7,8,7,8,8,7,8,8,7,8,7,7,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,8,8,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,8,8,8,8,8,9,8,8,9,8,7,8,8,7,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,7,8,8,8,8,9,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,9,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,7,8,8,7,8,8,8,8,8,8,8,9,8,8,9,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,9,8,8,8,8,8,9,9,9,9,9,8,8,8,8,9,9,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,5,4,7,7,4,7,7,5,7,8,7,8,10,8,9,9,5,7,7,8,9,9,7,10,8,5,7,8,8,9,10,8,10,10,8,9,10,10,10,12,10,12,12,8,10,10,10,12,12,10,12,11,5,8,7,8,10,10,8,10,9,8,10,10,10,11,12,10,12,12,8,10,9,10,12,12,10,12,10,5,8,8,7,10,10,8,10,10,7,9,10,9,10,12,10,12,12,8,10,10,10,12,12,10,12,11,7,9,10,9,11,12,10,12,11,9,9,12,11,10,14,12,12,13,10,12,11,12,13,13,11,14,12,7,10,9,10,11,11,10,12,11,9,11,11,11,11,13,12,14,13,10,12,12,12,14,14,11,14,12,5,8,8,8,10,10,7,10,10,8,10,10,10,11,12,10,12,12,7,10,9,10,12,12,9,12,10,7,9,10,10,11,12,10,11,11,10,12,12,11,12,14,12,14,14,9,11,11,12,13,14,11,13,11,7,10,9,10,11,12,9,12,11,10,11,12,11,12,14,12,13,13,9,12,9,12,13,12,11,14,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,9,9,6,8,8,10,10,6,8,8,10,10,8,10,10,12,13,8,10,10,13,12,6,8,8,10,10,8,8,9,10,11,8,9,9,11,11,10,10,11,12,13,10,11,11,13,13,6,8,8,10,10,8,9,9,11,11,8,9,8,11,10,10,11,11,13,13,10,11,10,13,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,12,15,13,13,13,15,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,13,13,14,15,12,13,12,15,12,6,8,8,10,11,8,9,10,11,12,8,9,9,11,11,10,11,12,13,14,10,11,11,13,13,8,9,9,11,12,9,10,11,12,13,9,10,10,12,13,11,12,13,13,15,11,12,12,14,14,8,9,9,11,12,9,10,11,12,13,9,10,10,13,12,11,12,13,14,15,11,12,12,14,13,10,11,12,13,14,11,12,13,13,15,12,13,13,14,14,13,13,14,14,16,14,15,14,16,15,10,12,11,14,13,12,12,13,14,14,11,12,12,14,14,14,14,15,15,16,13,14,14,16,14,6,8,8,11,10,8,9,9,11,11,8,10,9,12,11,10,11,11,13,13,10,12,11,14,13,8,9,9,12,11,9,10,10,12,13,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,8,9,9,12,11,9,10,10,13,12,9,11,10,13,12,11,12,12,14,14,11,13,12,15,13,10,11,12,13,14,11,12,13,13,14,12,13,12,14,14,13,13,14,14,16,14,15,14,16,16,10,12,11,14,13,12,13,13,14,14,11,13,12,15,13,14,14,15,16,16,13,14,13,16,14,9,10,11,12,13,11,11,12,13,14,11,11,12,13,14,13,13,14,14,16,13,14,14,15,15,11,11,12,13,14,12,12,13,13,15,12,13,13,14,15,14,14,15,15,17,14,14,15,16,16,11,12,12,13,14,12,12,13,14,15,12,13,12,14,15,14,14,15,15,17,14,15,14,16,16,13,14,14,15,16,14,14,15,15,17,14,15,15,16,16,15,16,17,16,18,16,17,16,17,17,13,14,14,16,15,14,15,15,16,16,14,15,14,16,15,16,16,17,17,18,16,16,16,17,16,9,11,10,13,12,11,12,11,14,13,11,12,11,14,13,13,14,14,16,15,13,14,13,16,14,11,12,12,14,13,12,12,13,14,14,12,13,13,15,14,14,14,15,16,16,14,15,14,17,15,11,12,11,14,13,12,13,13,15,14,12,13,12,15,13,14,15,14,16,16,14,15,14,17,15,13,14,14,15,16,14,14,15,16,16,14,15,15,16,16,15,16,16,16,17,16,16,16,17,17,13,14,14,16,15,14,15,15,17,16,14,15,14,17,15,16,17,17,17,17,16,16,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,11,11,14,13,8,9,9,11,12,9,10,10,12,13,9,10,10,13,12,11,11,12,13,15,11,12,12,15,14,8,9,9,12,11,9,10,11,12,13,9,11,10,13,12,11,12,12,14,15,11,13,12,15,14,10,11,11,13,14,11,12,12,13,14,11,12,12,14,14,13,13,14,14,16,13,14,14,16,15,11,12,11,14,13,12,13,13,14,14,11,13,12,14,13,14,14,15,16,16,13,14,14,16,14,8,9,9,11,12,9,10,10,12,13,9,10,10,13,12,11,12,12,14,15,11,12,12,14,14,9,9,10,11,13,10,10,12,12,14,10,10,11,13,13,12,12,13,14,16,12,12,13,15,15,9,10,10,13,12,10,11,11,13,14,10,12,11,14,13,12,13,13,15,15,12,13,13,15,15,11,11,12,13,15,12,12,13,13,15,12,13,13,14,15,14,14,15,15,17,14,15,15,16,16,11,13,12,15,14,13,13,13,15,15,12,14,13,15,14,15,15,15,16,16,14,15,15,17,15,7,9,9,12,11,9,10,10,12,12,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,9,10,10,12,12,10,10,11,12,13,10,11,11,14,13,12,12,13,14,15,12,13,13,15,14,9,10,10,12,12,10,11,11,13,13,10,11,10,14,12,12,13,13,15,15,12,13,12,15,13,11,12,12,14,14,12,12,13,14,15,12,13,13,15,15,14,13,14,13,16,14,15,15,16,16,11,12,12,14,14,13,13,14,15,15,12,13,12,15,14,15,15,15,16,16,14,15,14,17,14,10,11,12,13,14,11,12,13,14,15,11,12,12,14,15,13,14,15,15,17,14,14,14,16,16,11,12,13,12,15,12,12,14,13,16,13,13,14,13,16,14,14,15,14,17,15,15,15,15,17,11,13,12,15,15,13,13,14,15,16,12,14,13,16,15,15,15,15,17,17,15,15,15,17,16,14,14,15,14,16,14,14,16,14,17,15,15,15,14,17,16,16,17,15,18,17,17,17,16,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,17,17,17,18,18,16,17,16,18,17,10,11,11,14,13,11,12,12,14,14,11,13,12,15,14,14,14,14,16,16,14,15,14,16,15,11,12,12,15,13,12,13,13,15,14,13,14,13,16,14,14,15,15,16,16,15,16,15,17,16,11,13,12,15,14,13,13,14,15,15,12,14,13,16,14,15,15,15,17,17,14,16,15,17,16,14,14,14,16,15,14,15,15,16,16,15,16,15,17,16,16,16,16,16,17,16,17,17,18,17,14,15,15,16,16,15,15,16,17,16,14,15,15,17,16,17,17,17,18,18,16,17,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,12,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,11,10,13,12,11,12,13,14,15,11,12,12,15,14,8,9,9,12,11,9,10,10,12,13,9,10,10,13,12,11,12,12,14,15,11,12,12,14,13,11,11,12,13,14,11,12,13,13,15,12,13,13,14,14,13,14,14,14,16,14,15,14,16,16,10,11,11,14,13,11,12,12,14,14,11,12,12,14,13,13,14,14,15,16,13,14,13,16,14,7,9,9,11,11,9,10,11,12,13,9,10,10,12,12,11,12,13,14,15,11,12,12,14,14,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,13,15,12,13,13,15,15,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,13,13,14,15,12,13,12,15,13,11,12,12,14,14,12,12,13,14,15,13,14,13,15,15,14,13,15,13,16,15,15,15,16,16,11,12,12,14,14,12,13,13,14,15,12,13,12,15,14,14,15,15,16,17,13,14,13,16,13,8,9,9,12,11,9,10,10,12,13,9,10,10,13,12,11,12,12,14,15,11,12,12,15,14,9,10,10,12,13,10,11,12,13,14,10,11,11,14,13,12,13,13,15,15,12,13,13,15,15,9,10,9,13,11,10,11,10,13,13,10,12,10,14,12,12,13,12,15,15,12,13,12,15,14,11,12,13,14,15,12,13,14,14,15,13,13,13,15,15,14,15,15,15,17,15,15,15,16,16,11,12,11,15,13,12,13,13,15,14,12,13,12,16,13,14,15,15,16,16,14,15,14,17,14,10,11,11,13,14,11,12,13,14,15,11,12,12,14,14,14,14,15,15,17,14,14,14,15,16,11,12,13,14,15,12,13,14,14,16,13,14,13,15,15,14,15,16,15,17,15,15,15,17,17,11,12,12,13,15,13,13,14,14,16,12,13,13,14,15,15,15,15,16,17,14,15,15,16,16,14,15,15,16,16,14,15,15,16,17,15,15,16,16,17,16,16,17,16,18,17,17,17,18,18,14,14,15,15,16,15,15,15,16,17,14,15,15,16,16,16,17,17,17,18,16,16,16,17,16,10,11,11,14,13,11,13,12,15,14,11,13,12,15,14,14,15,14,16,16,13,15,14,17,15,11,12,13,15,15,12,13,14,15,16,13,14,13,16,15,15,15,15,16,17,15,15,15,17,16,11,13,11,15,12,13,14,13,16,13,12,14,12,16,13,15,15,15,17,15,14,16,14,17,14,14,15,15,16,17,15,15,16,16,17,15,16,15,17,17,16,16,17,17,18,16,17,17,18,18,14,15,14,17,13,15,16,15,17,15,15,16,15,17,14,16,17,16,18,16,16,17,16,18,15,9,11,11,13,13,10,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,16,16,10,11,12,14,14,11,12,13,14,15,11,13,13,15,15,13,14,14,15,16,14,15,15,16,16,11,12,12,14,14,12,13,13,15,15,12,13,12,15,14,14,15,15,16,16,14,15,14,17,16,12,13,13,15,16,13,13,14,15,16,13,14,14,16,16,14,15,16,16,17,15,16,16,17,17,13,14,14,16,15,14,15,15,17,16,14,15,14,17,15,16,16,17,17,17,16,16,16,18,16,10,11,12,14,14,11,12,13,14,15,11,13,12,15,15,13,14,15,16,16,14,15,15,17,16,11,11,13,14,15,12,12,14,14,16,12,13,14,15,15,14,14,15,16,17,15,15,15,17,17,12,13,12,15,15,13,14,14,16,15,13,14,13,16,15,15,16,15,17,17,15,16,15,17,16,13,12,15,14,16,14,13,15,14,17,14,13,15,15,17,15,14,17,15,18,16,15,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,16,17,17,18,18,16,17,16,18,17,10,11,11,14,14,11,12,12,14,15,11,13,12,15,14,13,14,14,16,16,14,15,14,16,16,11,12,12,14,14,12,12,13,15,15,12,13,13,15,15,14,14,15,16,16,14,15,15,17,16,11,12,12,15,15,13,13,13,15,15,12,13,13,15,15,15,15,15,17,17,14,15,15,17,16,13,14,13,16,15,14,14,14,16,16,14,15,14,17,16,15,15,16,16,17,16,17,16,18,17,14,15,15,16,16,15,15,15,17,17,14,15,15,17,16,16,17,17,18,18,16,17,16,18,16,12,13,13,15,15,13,14,14,16,16,13,14,14,16,16,14,15,16,16,18,15,16,16,17,17,13,13,14,14,16,14,14,15,15,17,14,14,15,15,17,15,15,17,15,18,16,16,17,17,18,13,14,14,16,16,14,15,15,16,17,14,15,15,17,16,16,17,16,17,18,16,17,16,18,17,15,14,16,13,18,16,15,17,14,18,16,15,17,14,18,17,16,18,15,19,17,17,18,16,19,15,16,16,17,17,16,17,17,18,18,16,17,16,18,17,18,18,18,19,18,17,18,17,19,17,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,15,15,16,17,15,16,15,17,16,12,13,13,15,15,13,13,14,15,16,14,15,14,16,15,15,15,16,16,17,16,16,16,18,17,12,13,13,15,15,14,14,15,16,16,13,14,13,16,15,16,16,16,17,17,15,16,15,18,16,15,15,15,17,15,14,15,15,16,16,16,17,16,17,16,16,16,17,16,17,17,18,17,19,18,15,15,16,17,17,16,16,16,17,17,15,16,15,17,16,17,18,18,18,18,16,17,16,18,16,9,11,11,13,13,11,12,12,14,14,10,12,12,14,14,13,14,14,15,16,13,14,14,16,15,11,12,12,14,14,12,12,13,14,15,12,13,13,15,15,14,14,15,16,17,14,15,15,16,16,10,12,11,14,14,11,13,13,15,15,11,13,12,15,14,14,14,15,16,16,13,14,14,16,15,13,14,14,15,16,14,14,15,15,17,14,15,15,16,17,16,16,16,16,18,16,16,17,17,17,12,13,13,16,15,13,14,14,16,16,12,14,13,16,15,15,16,16,17,17,14,16,15,17,16,10,11,11,14,14,11,12,13,14,15,11,12,12,15,14,14,14,15,16,16,13,14,14,16,16,11,12,12,14,15,12,13,14,15,15,13,13,13,15,15,14,15,15,16,17,15,15,15,16,17,11,12,12,14,14,12,13,13,15,15,12,13,12,15,15,14,15,15,16,17,14,15,14,16,16,14,14,15,16,16,14,15,15,16,17,15,16,15,17,17,16,16,17,16,18,16,17,17,18,18,13,13,14,15,16,14,14,15,16,17,14,14,14,16,15,16,16,17,17,18,15,16,15,17,16,10,12,11,14,14,11,13,13,15,15,11,13,12,15,15,14,15,15,16,16,13,15,14,16,16,12,12,13,15,15,13,13,14,15,16,13,14,14,16,15,15,15,16,16,17,15,15,15,17,17,11,13,11,15,14,12,14,13,16,15,12,14,12,16,14,15,15,15,17,17,14,15,14,17,15,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,17,18,16,17,17,18,18,13,14,12,16,14,14,15,13,17,15,14,15,13,17,14,16,17,15,18,17,15,17,14,18,15,11,12,12,14,15,13,13,14,15,16,13,14,13,16,15,15,15,16,16,17,15,15,15,16,16,12,13,13,15,15,13,13,14,15,16,14,15,14,16,16,15,15,16,16,18,16,16,16,18,17,12,13,13,15,15,14,14,15,15,16,13,14,13,15,15,16,16,16,17,18,15,16,15,17,16,15,16,15,17,16,15,15,16,16,17,16,17,16,17,17,16,16,17,16,18,17,18,18,18,18,14,15,15,15,17,16,15,17,16,17,14,15,15,16,16,17,17,18,18,19,16,16,16,17,16,12,13,13,15,15,13,14,14,16,16,13,14,14,16,16,15,16,16,17,17,15,16,15,18,16,13,14,14,16,16,14,15,15,16,17,14,15,15,17,16,16,16,17,17,18,16,17,16,18,18,13,14,13,16,14,14,15,14,17,15,14,15,14,17,14,16,17,16,18,17,15,17,15,18,15,15,16,16,17,18,16,16,17,17,18,16,17,17,17,18,17,17,18,18,19,17,18,18,19,18,15,16,14,17,13,16,17,15,18,14,16,17,15,18,14,18,18,17,19,16,17,18,16,19,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,4,7,7,4,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,6,7,8,8,9,10,8,9,10,8,9,10,10,10,12,10,11,11,8,10,10,10,11,12,10,11,11,6,8,7,8,10,9,8,10,9,8,10,10,10,11,11,10,12,11,8,10,9,10,11,11,10,12,10,5,8,8,8,10,10,8,10,10,7,9,10,9,10,11,9,11,11,8,10,10,10,11,12,10,12,11,7,9,9,9,10,11,9,11,11,9,9,11,10,11,12,11,11,12,9,11,11,11,12,12,11,12,12,7,9,9,10,11,11,10,12,11,9,11,10,11,11,12,11,13,12,10,11,11,12,13,13,11,13,11,5,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,11,7,10,9,9,11,11,9,11,10,7,9,9,10,11,12,10,11,11,10,11,11,11,11,13,12,13,13,9,10,11,11,12,13,11,12,11,7,9,9,9,11,11,9,11,10,9,11,11,11,12,12,11,12,12,9,11,9,11,12,11,10,12,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,9,14,16,17,19,22,22,5,4,6,9,11,13,17,20,9,5,5,6,9,11,15,19,11,7,5,5,7,9,13,17,14,9,7,6,6,7,11,14,16,11,9,7,6,4,4,8,19,15,13,11,9,4,3,4,21,16,16,15,12,6,4,4,2,0,0,0,64,0,0,0,56,145,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,6,0,0,0,0,0,0,0,0,0,40,98,6,0,0,0,0,0,0,0,0,0,80,98,6,0,120,98,6,0,0,0,0,0,0,0,0,0,160,98,6,0,200,98,6,0,0,0,0,0,0,0,0,0,240,98,6,0,24,99,6,0,0,0,0,0,0,0,0,0,64,99,6,0,104,99,6,0,24,99,6,0,0,0,0,0,144,99,6,0,184,99,6,0,56,167,5,0,96,167,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,192,97,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,13,15,16,17,19,20,6,3,4,7,9,10,12,15,13,4,3,4,7,8,11,13,14,7,4,4,6,7,10,11,16,9,7,6,7,8,9,10,16,9,8,7,7,6,8,8,18,12,10,10,9,8,8,9,20,14,13,12,11,8,9,9,5,0,0,0,243,0,0,0,48,144,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,40,145,6,0,0,0,0,0,5,0,0,0,53,12,0,0,224,131,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,24,144,6,0,0,0,0,0,5,0,0,0,243,0,0,0,216,130,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,208,131,6,0,0,0,0,0,5,0,0,0,243,0,0,0,208,129,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,200,130,6,0,0,0,0,0,5,0,0,0,243,0,0,0,200,128,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,192,129,6,0,0,0,0,0,5,0,0,0,53,12,0,0,120,116,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,176,128,6,0,0,0,0,0,5,0,0,0,53,12,0,0,40,104,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,96,116,6,0,0,0,0,0,1,0,0,0,7,0,0,0,0,104,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,8,104,6,0,0,0,0,0,5,0,0,0,243,0,0,0,248,102,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,240,103,6,0,0,0,0,0,5,0,0,0,243,0,0,0,240,101,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,232,102,6,0,0,0,0,0,5,0,0,0,243,0,0,0,232,100,6,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,224,101,6,0,0,0,0,0,5,0,0,0,243,0,0,0,224,99,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,216,100,6,0,0,0,0,0,1,4,5,5,10,10,5,10,10,5,10,10,10,10,10,10,10,10,5,10,10,10,10,10,10,10,10,7,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,6,7,8,6,8,7,6,7,7,7,7,8,7,8,8,6,7,7,7,8,8,7,8,7,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,10,9,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,9,9,10,9,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,9,10,8,9,9,9,10,9,9,10,9,7,8,8,8,9,9,8,9,9,8,8,9,9,9,9,9,9,9,8,9,9,9,10,9,9,9,9,7,9,9,9,9,10,9,10,9,9,9,9,9,9,10,10,10,10,9,9,9,10,10,10,9,10,9,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,9,9,10,9,7,9,9,9,9,10,9,10,9,9,9,9,9,9,10,10,10,10,9,9,9,10,10,10,9,10,9,7,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,9,10,8,9,8,9,9,9,9,10,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,5,7,9,5,9,7,5,7,8,7,7,10,9,10,10,5,8,7,9,10,10,7,10,7,6,9,9,9,10,12,9,11,11,9,10,11,11,11,13,12,13,13,9,11,11,12,13,13,11,13,11,6,9,9,9,11,11,9,12,10,9,11,11,11,11,13,12,13,13,9,11,10,12,13,13,11,13,11,6,9,9,9,11,12,9,12,11,9,10,11,10,10,13,12,13,13,9,11,11,12,13,12,11,13,11,7,9,10,9,10,12,10,12,11,10,10,12,10,10,12,12,12,13,10,11,11,12,12,13,10,12,10,7,10,10,11,11,14,11,14,11,10,12,11,11,11,14,14,14,14,10,11,12,14,14,14,11,14,11,6,9,9,9,11,12,9,12,11,9,11,11,11,11,13,12,12,13,9,11,10,12,13,13,10,13,10,7,10,10,11,11,14,11,14,11,10,12,11,11,11,14,14,15,14,10,11,12,13,14,15,11,14,11,7,10,9,10,11,12,9,12,10,10,11,11,10,10,12,12,13,12,9,12,10,12,13,12,10,12,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,10,10,5,7,8,11,12,5,8,7,12,11,9,11,11,13,15,9,11,11,15,13,6,7,8,11,11,7,7,9,11,13,8,9,9,13,12,11,11,12,12,15,11,12,12,15,14,6,8,7,11,11,8,9,9,12,13,7,9,7,13,11,11,12,12,14,15,11,12,11,15,12,10,11,11,12,14,10,11,12,12,15,12,13,13,14,15,13,12,14,12,16,15,15,15,16,16,10,11,11,14,12,12,13,13,15,14,10,12,11,15,12,15,15,15,16,17,13,14,12,17,12,6,8,8,12,12,8,9,10,13,13,8,9,9,13,13,12,12,13,15,16,12,13,13,16,15,8,9,10,12,13,9,9,11,13,14,10,11,11,14,14,13,13,14,15,16,13,14,14,16,16,8,10,9,13,13,10,11,11,14,14,9,10,10,14,13,13,14,14,16,17,13,13,13,16,15,12,13,13,14,16,13,13,14,14,16,14,14,14,16,16,15,15,16,15,18,16,17,17,18,18,12,13,13,15,15,14,14,14,16,16,13,14,13,16,15,16,16,17,18,18,15,16,15,18,15,6,8,8,12,12,8,9,9,13,13,8,10,9,13,13,12,13,13,15,16,12,13,12,16,15,8,9,10,13,13,9,10,10,13,14,10,11,11,14,14,13,13,13,15,16,13,14,14,17,16,8,10,9,13,13,10,11,11,14,14,9,11,9,14,13,13,14,14,16,16,13,14,13,16,14,12,13,13,15,16,13,13,14,15,16,14,14,14,16,16,15,15,16,15,18,17,17,17,18,18,12,13,13,16,14,14,14,14,16,16,13,14,13,16,14,16,17,17,18,18,15,16,15,18,15,11,12,13,14,16,13,13,14,15,17,13,14,14,16,17,16,16,17,17,19,16,17,17,18,19,13,13,14,16,16,14,14,15,16,17,14,15,15,17,17,17,16,17,17,19,17,17,18,19,19,13,14,14,16,16,14,14,15,17,18,14,15,14,17,17,17,17,18,18,19,17,17,17,18,19,16,16,16,17,18,17,17,17,18,19,17,17,17,18,19,18,18,19,18,20,19,20,19,21,20,16,17,17,18,18,17,17,18,19,19,17,17,17,19,18,19,19,19,19,20,19,19,19,20,19,11,13,12,16,14,13,14,14,17,16,13,14,13,17,15,16,17,17,18,18,16,17,16,19,17,13,14,14,16,16,14,14,14,17,17,14,15,15,17,16,17,17,17,19,19,17,18,17,19,18,13,14,13,17,16,14,15,15,17,17,14,15,14,18,16,17,17,17,19,19,17,17,16,19,17,16,17,17,18,19,17,17,17,18,18,17,18,17,19,18,18,19,18,19,19,19,20,19,20,20,16,17,16,18,17,17,17,17,18,18,17,18,17,19,17,19,19,19,19,20,18,19,19,20,18,6,8,8,12,12,8,9,9,13,13,8,10,9,13,13,11,13,13,15,16,12,13,13,16,15,8,9,9,13,13,9,9,10,13,14,10,11,11,14,14,12,12,13,14,16,13,14,14,17,16,8,10,9,13,13,10,11,11,14,14,9,11,10,14,13,13,14,14,16,16,13,14,13,16,15,12,13,13,14,16,12,13,14,14,16,13,14,14,16,16,15,14,16,15,18,16,17,17,18,17,12,13,13,16,15,14,14,14,16,16,13,14,13,16,15,16,16,17,17,17,15,16,15,18,15,7,9,9,13,13,9,9,11,13,14,9,10,10,14,13,12,13,14,15,16,12,14,13,17,15,9,9,10,13,14,10,9,11,13,15,11,11,11,14,14,13,12,14,14,17,14,14,14,17,16,9,10,10,14,13,11,11,11,14,14,10,11,10,15,13,14,14,14,16,17,13,14,13,17,14,13,13,14,14,16,13,13,14,14,17,14,14,14,16,16,15,14,16,15,18,17,17,17,18,18,13,14,13,16,15,14,14,15,17,16,13,14,13,17,15,17,16,17,17,17,15,16,14,18,14,7,9,9,13,13,9,10,10,13,14,9,11,10,14,13,13,14,14,16,16,13,14,14,17,15,9,10,10,14,13,9,10,11,13,14,11,12,11,15,14,13,13,14,14,16,14,15,15,17,17,9,10,10,14,14,11,12,12,14,15,10,11,10,15,13,14,15,15,17,17],"i8",N3,F.GLOBAL_BASE+410577),E3([14,15,13,17,14,13,14,13,16,16,13,13,14,15,16,14,15,15,17,17,15,14,16,15,18,17,18,17,20,18,13,14,14,16,16,15,15,15,17,17,13,14,13,17,15,17,17,18,18,18,15,16,14,19,14,12,13,13,15,16,13,13,15,16,17,13,14,14,16,16,15,15,17,17,19,16,17,17,19,18,13,13,14,15,17,14,13,15,15,17,14,15,15,16,17,16,15,18,16,19,17,17,17,18,19,13,14,14,17,16,14,15,15,17,17,14,15,14,17,16,17,17,17,18,19,16,17,16,19,17,16,16,17,16,18,16,16,17,16,19,17,17,18,18,19,18,17,18,17,21,19,19,19,20,19,16,17,17,18,18,17,17,18,18,19,16,17,16,18,18,19,19,19,19,20,18,18,17,20,18,11,13,13,16,15,13,14,14,16,17,13,15,14,17,16,16,17,17,18,18,17,17,17,19,18,13,14,13,17,16,14,13,14,16,17,15,16,15,18,16,17,16,17,17,19,18,18,18,20,18,13,14,14,16,17,15,15,15,17,18,14,15,14,18,16,18,18,18,19,20,17,18,16,20,17,16,17,16,18,18,16,16,17,18,18,17,18,18,19,18,18,17,19,17,20,19,20,19,22,20,16,16,17,18,18,18,17,17,19,19,16,17,16,18,17,19,20,19,22,21,18,19,18,21,17,6,8,8,12,12,8,9,10,13,13,8,9,9,13,13,12,13,13,15,16,11,13,13,16,15,8,9,10,13,13,9,10,11,13,14,10,11,11,14,14,13,13,14,15,16,13,14,14,16,16,8,9,9,13,13,10,11,11,14,14,9,10,9,14,13,13,14,14,16,17,12,14,12,16,14,12,13,13,15,16,13,13,14,15,16,13,14,14,15,17,15,15,16,15,18,16,16,17,17,17,12,13,13,16,14,13,14,14,16,16,12,14,13,16,14,16,17,17,18,18,15,15,14,18,14,7,9,9,13,13,9,10,11,13,14,9,10,10,14,13,13,14,14,15,17,13,14,14,16,15,9,10,10,14,14,10,10,11,13,15,11,12,12,15,14,14,13,15,14,17,14,15,15,17,17,9,10,10,13,14,11,11,12,14,15,9,11,10,14,13,14,15,15,16,18,13,14,13,16,14,13,14,14,16,16,13,13,14,15,17,15,15,15,16,17,15,14,16,15,18,17,17,18,19,18,13,14,14,16,16,14,15,15,17,17,13,14,13,16,15,17,17,18,18,18,15,16,14,18,15,7,9,9,13,13,9,10,10,13,14,9,11,10,14,13,12,13,14,15,16,12,14,13,16,15,9,10,10,13,14,10,10,11,13,14,11,11,11,15,14,13,13,14,14,16,14,14,14,17,16,9,10,9,14,13,11,11,11,14,14,10,11,9,15,13,14,14,14,16,16,13,14,12,17,14,13,13,14,15,16,13,13,14,15,16,14,15,14,16,17,15,14,16,14,18,16,17,17,18,18,13,14,13,16,14,14,14,14,16,16,13,14,13,17,14,17,17,17,18,18,15,16,14,18,15,11,13,13,16,16,13,14,15,16,17,13,14,14,17,16,16,17,17,18,19,17,17,17,19,18,13,14,14,17,17,13,13,15,16,18,15,15,15,17,17,17,16,18,17,20,18,17,18,19,19,13,14,14,16,17,15,15,16,16,18,14,15,14,16,16,17,17,18,18,20,17,18,16,18,17,16,17,16,19,18,16,16,17,18,19,18,18,18,19,19,18,17,18,17,21,20,19,19,21,21,16,16,17,18,18,17,17,18,19,19,16,17,16,19,18,20,20,20,19,21,18,18,17,20,18,12,13,13,16,15,13,14,14,16,16,13,14,13,17,16,16,17,17,18,18,15,17,15,19,17,13,14,14,16,17,14,14,15,16,17,14,15,15,17,17,16,16,17,17,18,17,17,17,19,19,13,14,13,17,15,14,15,15,17,16,14,15,13,17,15,17,18,17,19,18,16,17,15,20,16,16,17,17,18,18,16,16,17,18,18,17,18,17,19,18,17,17,18,18,20,19,20,19,20,19,16,16,16,19,16,17,17,17,19,18,16,17,16,19,16,19,19,19,19,19,18,19,17,19,17,11,13,13,16,16,13,14,14,17,17,13,14,14,17,17,15,17,17,19,19,16,18,17,20,19,12,14,14,17,17,13,14,15,17,18,14,15,15,17,18,16,16,17,18,20,17,18,18,20,18,13,14,14,17,17,14,15,15,17,18,14,15,15,17,17,17,18,17,19,19,17,18,17,19,19,15,16,16,18,18,15,16,17,18,19,16,17,17,19,19,17,17,18,18,21,18,19,19,21,19,16,17,17,18,18,17,17,18,19,19,17,18,17,19,19,19,19,19,20,20,18,19,18,21,19,12,13,13,16,16,13,14,14,16,17,13,15,14,17,16,15,16,17,17,19,16,17,17,19,18,13,13,14,16,17,14,13,15,16,17,14,15,15,17,17,15,15,17,17,20,17,17,18,19,18,13,14,14,17,16,15,15,15,17,18,14,15,14,17,16,17,17,17,18,18,16,17,16,19,17,16,15,17,17,19,16,15,17,16,19,17,16,17,18,19,17,16,19,16,20,19,18,19,19,19,16,17,17,18,18,17,17,17,18,19,16,17,16,19,18,20,19,19,20,19,18,18,17,20,17,11,13,13,16,16,13,14,15,16,17,14,15,14,18,16,17,17,17,18,21,17,18,17,20,19,13,14,14,17,16,13,14,15,16,18,15,16,15,18,17,17,16,17,17,19,17,18,18,20,19,13,14,14,16,17,15,15,16,17,18,14,15,14,18,17,17,18,18,19,20,17,18,16,19,17,16,17,15,19,18,16,16,16,18,18,17,18,17,20,19,18,17,18,17,20,20,20,19,22,20,16,17,17,18,19,18,18,18,19,20,16,17,16,19,18,20,19,19,20,20,18,19,17,20,17,13,14,14,16,17,14,14,16,16,18,14,16,15,17,16,16,16,17,17,18,17,17,16,19,18,14,14,15,16,17,14,14,16,16,18,16,16,16,17,17,16,15,17,16,19,18,18,18,19,19,14,15,15,17,17,15,16,16,17,18,14,16,14,18,16,17,17,18,18,19,16,17,16,19,17,16,16,17,16,18,16,16,17,16,19,18,18,18,17,18,17,16,18,16,20,19,19,19,19,19,16,17,17,18,18,17,17,18,19,19,16,17,16,19,17,18,19,19,19,20,17,18,16,20,16,11,14,13,17,17,14,14,16,16,18,14,16,14,19,16,18,18,19,18,19,18,19,18,21,18,13,15,14,18,16,14,14,16,16,18,16,17,16,19,17,18,16,19,17,20,19,19,19,21,19,13,14,15,17,18,17,16,17,17,19,14,16,14,18,16,20,19,19,20,21,18,19,16,21,17,17,18,16,19,17,16,16,17,18,18,19,19,18,21,18,17,17,18,17,20,20,20,20,22,20,17,17,18,18,20,19,19,19,18,20,16,17,17,19,19,21,21,21,20,21,17,19,17,23,17,11,13,13,16,16,13,14,14,17,17,13,14,14,17,17,16,17,17,19,20,15,16,16,19,19,13,14,14,16,17,14,15,15,17,18,14,15,15,17,17,17,17,18,19,19,17,17,18,19,19,13,14,14,17,16,14,15,15,17,17,13,15,14,18,17,17,18,18,19,20,16,17,16,19,18,16,16,17,18,18,17,17,17,18,19,17,18,17,19,19,19,19,19,19,20,19,20,19,20,20,15,16,16,18,17,16,17,17,20,18,15,16,16,19,17,19,19,19,20,20,17,18,17,21,17,11,13,13,16,16,13,14,15,16,17,13,15,14,17,16,17,17,18,18,20,17,17,17,19,19,13,14,14,17,17,14,14,15,17,18,15,15,15,18,17,17,17,18,17,20,18,18,17,20,18,13,14,14,16,17,15,15,16,17,18,14,15,13,17,17,17,18,18,19,20,17,17,16,19,17,16,17,17,18,18,16,16,17,18,18,18,18,18,19,19,18,17,19,18,21,19,20,20,20,20,16,15,17,18,18,17,17,18,18,20,16,16,16,18,17,20,19,20,21,22,17,18,17,20,17,12,13,13,16,16,13,14,15,16,17,13,14,14,17,16,16,17,18,18,19,15,16,16,19,18,13,14,14,16,17,14,14,15,16,17,14,15,15,17,17,16,16,17,17,19,17,17,17,19,18,13,14,13,17,16,14,15,15,17,17,13,15,13,17,16,17,17,17,19,19,15,17,15,19,17,16,17,17,18,18,16,16,17,17,19,17,18,17,19,19,18,17,19,17,19,19,19,19,20,19,15,17,15,19,16,17,17,16,19,18,16,17,15,18,16,19,19,19,20,19,17,19,16,19,16,11,14,14,17,17,15,14,16,16,18,15,16,14,18,16,18,18,19,18,21,18,19,18,20,18,13,15,14,18,17,14,14,16,16,18,16,17,16,19,17,17,17,19,17,22,19,19,19,21,19,13,14,15,17,18,17,16,17,17,19,14,16,14,18,16,19,19,19,20,21,18,18,16,20,17,17,18,16,19,18,15,17,17,19,19,19,19,18,21,19,18,17,20,17,21,22,21,20,21,21,17,16,19,18,20,19,18,19,18,20,16,17,16,19,18,21,20,21,19,23,18,19,16,20,17,13,14,14,17,16,14,14,15,16,18,14,16,14,17,16,16,16,17,17,19,16,17,16,19,17,14,15,15,17,17,14,14,16,16,17,15,16,16,18,17,16,16,17,17,19,17,18,17,19,18,14,15,14,17,16,16,16,16,17,17,14,16,14,17,16,18,18,18,18,19,16,17,15,19,16,17,17,17,18,18,16,15,17,17,18,18,18,18,19,19,17,16,18,16,19,19,19,19,19,19,16,17,16,19,16,18,18,17,19,18,16,17,16,19,16,19,19,20,19,19,17,18,16,20,16,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,6,8,8,10,10,8,9,9,10,11,8,10,9,11,10,9,10,10,11,11,9,10,10,11,11,8,9,9,10,10,9,9,10,11,11,10,10,10,11,11,10,11,11,11,11,10,11,11,11,11,8,9,9,11,10,10,10,10,11,11,9,10,9,11,11,10,11,11,11,11,10,11,10,11,11,10,10,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,10,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,9,10,11,11,10,10,11,11,11,10,10,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,11,11,11,10,10,11,11,12,11,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,10,10,11,11,11,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,8,10,9,11,11,10,10,10,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,10,11,11,10,11,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,10,11,11,11,11,11,12,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,11,12,11,11,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,12,12,12,13,12,10,11,11,12,11,11,11,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,12,13,12,8,10,10,11,11,10,10,11,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,11,11,11,10,10,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,10,11,11,11,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,11,11,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,11,11,12,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,12,13,13,12,13,13,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,13,12,13,12,12,13,13,13,13,12,13,13,13,13,8,10,10,11,11,10,10,11,11,11,9,11,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,11,11,11,10,11,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,9,11,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,12,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,12,13,12,12,13,12,13,12,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,12,13,13,13,12,12,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,12,13,12,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,13,13,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,12,13,12,13,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,12,12,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,13,12,13,12,12,13,13,13,13,12,13,12,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,7,8,5,8,7,5,7,7,7,7,9,7,9,9,5,7,7,8,9,9,7,9,7,6,8,8,8,9,10,8,9,9,8,9,10,9,9,11,10,11,11,8,9,9,10,11,11,9,11,10,6,8,8,8,9,9,8,10,9,8,9,9,9,10,11,10,11,10,8,10,9,10,11,11,9,11,9,6,8,8,7,9,9,8,10,9,7,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,11,10,7,9,9,8,10,10,9,10,10,9,9,10,10,10,11,10,11,11,9,10,10,10,11,11,10,11,10,7,9,9,9,9,10,9,10,9,8,10,9,9,9,11,10,11,11,9,10,10,10,11,11,9,11,9,6,8,8,8,9,10,7,9,9,8,9,9,9,10,10,9,10,10,7,9,9,9,10,10,9,10,9,7,9,9,9,9,10,9,10,9,9,10,10,9,9,11,10,11,11,8,9,10,10,11,11,9,11,9,7,9,9,9,10,10,8,10,10,9,10,10,10,10,11,10,11,11,9,10,9,10,11,11,10,11,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,7,7,6,7,7,6,7,7,6,7,7,7,8,8,7,8,8,6,7,7,7,8,8,7,8,8,7,7,8,7,8,8,7,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,7,7,8,8,7,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,6,8,8,7,8,8,7,8,8,7,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,9,8,9,9,8,8,9,8,9,9,9,9,9,8,9,9,9,9,9,9,9,9,7,8,8,8,9,9,8,9,8,8,8,8,8,9,9,9,9,9,8,9,8,9,9,9,9,9,9,6,8,8,7,8,8,7,8,8,8,8,8,8,8,9,8,9,9,7,8,8,8,9,9,8,9,8,7,8,8,8,8,9,8,9,8,8,8,9,9,9,9,9,9,9,8,8,8,9,9,9,8,9,9,7,8,8,8,9,9,8,9,8,8,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,5,7,8,5,8,7,5,7,8,8,8,10,8,10,10,5,8,7,8,10,10,8,10,8,6,8,9,8,10,12,9,11,11,9,10,11,11,11,13,12,13,13,9,11,11,11,13,13,11,13,12,6,9,8,9,11,11,8,12,10,9,11,11,11,12,13,11,13,13,9,11,10,11,13,13,11,13,11,5,9,9,8,11,11,9,12,11,8,10,11,10,11,13,11,13,13,9,11,11,11,13,13,11,13,12,8,10,11,10,12,13,10,13,12,10,10,13,11,11,14,12,13,14,11,13,12,13,14,14,12,14,12,8,11,10,11,12,13,11,14,12,10,13,12,12,12,13,13,15,14,11,12,13,13,14,15,12,14,12,5,9,9,9,11,12,8,11,11,9,11,11,11,12,13,11,13,13,8,11,10,11,13,13,10,13,11,8,10,11,11,12,14,11,13,12,11,13,12,12,12,14,13,15,14,10,12,13,13,14,15,12,13,12,8,11,10,10,12,13,10,13,12,11,12,13,12,12,14,13,14,14,10,13,10,12,14,13,11,14,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,9,9,6,7,8,10,10,6,8,7,10,10,8,10,10,12,13,8,10,10,13,12,6,8,8,10,10,7,8,9,10,11,8,9,9,11,11,10,10,11,12,13,10,11,11,14,13,6,8,8,10,10,8,9,9,11,11,7,9,8,11,10,10,11,11,13,14,10,11,10,13,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,12,15,13,14,13,15,14,9,10,10,13,12,10,11,11,13,13,10,11,10,13,12,13,13,14,14,15,12,13,12,15,12,6,8,8,10,11,8,9,10,11,12,8,9,9,11,11,10,11,12,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,10,11,12,13,11,11,13,13,15,11,12,12,14,14,8,9,9,12,12,9,10,11,12,13,9,10,10,13,12,11,12,13,14,15,11,12,12,14,14,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,13,13,14,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,14,14,11,13,12,14,13,14,15,15,16,16,13,14,14,16,14,6,8,8,11,10,8,9,9,12,11,8,10,9,12,11,10,11,11,13,13,10,12,11,14,13,8,9,9,12,12,9,10,10,12,13,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,8,9,9,12,11,9,10,10,13,12,9,11,10,13,12,12,12,12,14,14,11,13,12,15,13,11,11,12,13,14,11,12,13,13,14,12,13,13,14,15,13,13,14,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,15,13,14,15,15,16,16,13,15,13,16,14,9,10,11,12,13,11,11,12,13,14,11,12,12,13,14,13,13,14,14,16,13,14,14,15,16,11,11,12,13,14,12,12,13,14,15,12,13,13,14,15,14,14,15,15,17,14,15,15,16,17,11,12,12,14,14,12,13,13,14,15,12,13,12,15,15,14,15,15,16,17,14,15,15,16,16,13,14,14,15,16,14,14,15,15,17,15,15,15,16,17,16,16,17,16,18,16,17,17,18,18,13,14,14,16,15,14,15,15,17,16,14,15,15,16,16,16,17,17,18,18,16,16,16,17,16,9,11,10,13,12,11,12,12,14,13,11,12,11,15,13,13,14,14,16,15,13,14,13,17,14,11,12,12,14,14,12,12,13,15,15,12,13,13,15,14,14,14,15,16,16,14,15,15,17,16,11,12,11,14,13,12,13,13,15,14,12,13,12,15,13,14,15,15,16,16,14,15,14,17,15,13,14,14,15,16,14,15,15,16,17,14,15,15,16,17,16,16,16,17,17,16,17,17,18,18,13,15,14,16,15,15,15,15,17,16,14,15,14,17,15,16,17,17,18,18,16,17,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,12,11,14,13,7,9,9,11,12,9,10,10,12,13,9,10,10,13,12,11,11,12,13,15,11,12,12,15,14,8,9,9,12,11,9,10,10,13,13,9,11,10,13,12,12,12,12,14,15,11,13,12,15,13,10,11,11,13,14,11,12,12,13,15,11,12,12,14,14,13,13,14,14,16,14,15,14,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,15,13,14,15,15,16,16,13,14,14,16,14,8,9,9,11,12,9,10,11,12,13,9,10,10,13,12,11,12,13,14,15,11,12,12,15,14,9,9,11,11,13,10,10,12,12,14,10,10,11,13,14,12,12,13,14,16,12,13,13,15,15,9,11,10,13,12,10,11,11,13,14,10,12,11,14,13,12,13,13,15,16,12,13,13,15,15,11,11,13,13,15,12,12,14,13,15,13,13,14,14,15,14,14,15,14,17,15,15,15,16,16,12,13,12,15,14,13,14,14,15,15,12,14,13,15,14,15,15,15,17,17,14,15,14,17,15,7,9,9,12,11,9,10,10,12,12,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,9,10,10,12,12,10,10,11,12,13,10,11,11,14,13,12,12,13,14,15,12,13,13,16,15,9,10,10,13,12,10,11,11,13,13,10,11,10,14,12,13,13,13,15,15,12,13,12,15,14,11,12,12,14,14,12,12,13,14,15,13,14,13,15,15,14,13,15,14,16,15,16,15,17,16,12,12,12,14,14,13,13,14,15,15,12,13,12,15,14,15,15,16,16,17,14,15,14,17,14,10,11,12,13,14,11,12,13,14,15,11,12,13,14,15,13,14,15,15,17,14,15,15,16,16,11,12,13,12,15,12,12,14,13,16,13,13,14,13,16,14,14,16,14,18,15,15,16,16,17,12,13,12,15,15,13,14,14,15,16,13,14,13,16,15,15,15,16,17,18,15,15,15,17,16,14,14,15,14,17,15,14,16,14,17,15,15,16,15,18,16,16,17,16,19,17,17,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,18,16,17,17,18,18,18,16,17,16,18,17,10,11,11,14,13,11,12,12,15,14,11,13,12,15,14,14,15,15,16,16,14,15,15,17,16,11,12,12,15,14,12,13,13,15,14,13,14,13,16,14,14,15,15,16,16,15,16,15,18,16,11,13,12,15,15,13,14,14,15,15,12,14,13,16,15,15,16,16,17,17,15,16,15,17,16,14,15,14,16,16,14,15,15,16,16,15,16,15,17,16,16,16,17,16,17,17,18,17,19,18,14,15,15,17,16,15,16,16,17,17,15,15,15,18,16,17,18,18,18,18,16,17,16,19,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,12,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,10,10,13,13,11,12,13,13,15,11,12,12,15,14,7,9,9,12,11,9,10,10,12,13,9,10,10,13,12,11,12,12,14,15,11,12,11,14,13,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,13,14,14,14,16,14,15,15,16,16,10,11,11,14,13,11,12,12,14,14,11,12,12,15,13,14,14,14,16,16,13,14,13,16,14,7,9,9,11,12,9,10,10,12,13,9,10,10,12,12,11,12,13,14,15,11,12,12,14,14,9,10,10,12,13,10,10,11,12,14,10,11,11,13,13,12,12,13,14,15,13,13,13,15,15,9,10,10,12,12,10,11,11,13,14,10,11,10,13,12,12,13,13,15,16,12,13,12,15,14,11,12,13,14,14,12,12,13,14,15,13,14,13,15,15,14,14,15,14,17,15,16,15,17,16,11,12,12,14,14,13,13,13,15,15,12,13,12,15,14,15,15,15,16,17,14,15,14,16,14,8,9,9,12,11,9,10,10,12,13,9,11,10,13,12,11,12,12,14,15,11,12,12,15,14,9,10,11,13,13,10,11,12,13,14,10,11,11,14,13,12,13,13,15,15,12,13,13,16,15,9,11,9,13,11,10,11,10,14,13,10,12,10,14,12,12,13,13,15,15,12,13,12,16,14,12,12,13,14,15,12,13,14,14,16,13,14,14,15,15,14,14,15,15,17,15,16,15,17,16,11,13,11,15,13,13,14,13,15,14,12,14,12,16,13,15,15,15,16,16,14,15,14,17,14,10,11,11,13,14,11,12,13,14,15,11,12,12,14,15,14,14,15,16,17,14,15,15,16,16,11,12,13,14,15,12,13,14,15,16,13,14,14,15,16,15,15,16,16,18,15,16,16,17,17,11,12,12,14,15,13,13,14,14,16,12,13,13,15,15,15,15,16,16,18,14,15,15,16,16,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,16,19,17,18,17,18,18,14,14,15,16,16,15,15,16,16,17,14,15,15,16,16,17,17,18,18,19,16,17,16,17,16,10,12,11,14,13,11,13,12,15,14,11,13,12,15,14,14,15,15,16,16,13,15,14,17,15,12,13,13,15,15,13,13,14,15,16,13,14,14,16,16,14,15,15,17,17,15,16,16,17,17,11,13,12,15,12,13,14,13,16,13,12,14,12,16,13,15,16,15,17,16,14,16,14,18,14,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,17,18,17,18,17,18,18,14,15,14,17,14,15,16,15,18,15,15,16,15,18,14,17,17,17,18,17,16,17,16,19,16,9,11,11,13,13,10,12,12,14,14,11,12,12,15,14,13,14,14,16,16,13,14,14,16,16,10,11,12,14,14,11,12,13,14,15,12,13,13,15,15,13,14,15,16,16,14,15,15,17,16,11,12,12,15,14,12,13,13,15,15,12,13,12,15,15,14,15,15,16,17,14,15,14,17,16,12,13,14,15,16,13,13,14,15,16,13,14,15,16,16,14,15,16,16,18,15,16,16,18,18,13,14,14,16,15,14,15,15,17,16,14,15,15,17,16,16,17,17,18,18,16,17,16,18,17,10,12,12,14,14,11,12,13,15,15,12,13,13,15,15,13,14,15,16,17,14,15,15,17,16,11,11,13,14,15,12,12,14,15,16,13,13,14,15,16,14,14,15,16,17,15,15,16,17,17,12,13,12,15,15,13,14,14,16,16,13,14,13,16,15,15,16,15,17,17,15,16,15,18,16,13,12,15,14,17,14,13,16,14,17,14,14,16,15,18,15,14,17,16,18,16,16,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,18,16,17,17,17,18,18,16,17,16,19,17,10,11,11,14,14,11,12,12,15,15,11,13,12,15,15,14,15,14,16,16,14,15,15,17,16,11,12,12,15,14,12,12,13,15,15,13,14,13,16,15,14,15,15,16,16,15,16,15,18,17,11,13,12,15,15,13,14,13,15,15,12,14,13,16,15,15,16,15,17,17,15,16,15,18,16,13,14,13,16,16,14,15,14,16,16,14,15,15,17,16,16,16,16,16,18,16,18,17,19,18,14,15,15,17,16,15,16,16,17,17,15,15,15,17,16,17,17,18,18,19,16,17,16,18,16,12,13,13,15,16,13,14,14,16,17,13,14,14,16,16,15,15,16,17,18,15,16,16,18,17,13,13,14,14,17,14,14,15,15,17,14,14,15,16,17,15,15,17,16,18,16,17,17,18,18,13,14,14,17,16,14,15,15,17,17,14,15,14,17,16,16,17,17,18,18,16,17,16,18,17,15,14,16,13,18,16,15,17,14,19,16,16,17,15,18,17,16,18,15,19,18,18,18,17,19,15,16,16,18,17,16,17,17,18,18,16,17,16,19,17,18,19,18,19,19,17,18,17,20,18,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,16,16,17,17,15,16,16,18,17,12,14,13,16,15,13,13,14,15,16,14,15,14,17,16,16,16,16,16,17,16,17,17,19,17,12,13,14,16,16,14,15,15,16,17,13,15,13,17,15,16,17,17,18,18,16,17,16,18,16,15,16,15,17,16,15,15,15,17,17,16,17,16,18,17,17,16,17,16,18,18,19,18,20,18,15,16,16,17,17,16,17,17,18,18,15,16,15,18,17,18,18,19,19,19,17,18,16,19,16,9,11,11,13,13,11,12,12,14,15,10,12,12,14,14,13,14,14,16,16,13,14,14,16,16,11,12,12,14,14,12,12,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,16,10,12,11,14,14,12,13,13,15,15,11,13,12,15,14,14,15,15,16,17,13,15,14,17,16,13,14,14,15,16,14,15,15,16,17,14,15,15,16,17,16,16,17,17,18,16,17,17,18,18,12,14,13,16,15,13,15,14,17,16,13,14,13,17,15,15,16,16,18,18,15,16,15,18,16,10,11,11,14,14,11,12,13,14,15,11,12,12,15,15,14,15,15,16,17,14,15,15,16,16,11,12,13,15,15,12,13,14,15,16,13,14,14,15,16,15,15,16,16,18,15,15,16,17,17,11,12,12,14,15,13,13,14,15,16,12,13,13,15,15,15,15,16,17,18,14,15,15,17,16,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,16,19,17,17,18,19,18,13,13,14,16,16,14,15,16,17,17,14,14,15,16,16,16,16,17,18,18,16,16,16,18,16,10,12,12,14,14,12,13,13,15,15,11,13,12,15,15,14,15,15,16,17,13,15,14,17,16,12,13,13,15,15,13,13,14,15,16,13,14,14,16,16,15,15,16,17,18,15,15,16,17,17,11,13,12,15,14,13,14,13,16,15,12,14,12,16,14,15,16,15,17,17,14,16,14,17,16,14,15,15,16,17,15,15,16,16,18,15,16,16,17,17,16,17,17,17,19,17,17,17,18,18,13,15,12,17,14,14,16,14,17,15,14,15,13,17,14,16,17,16,18,17,15,17,14,19,15,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,16,16,17,18,15,16,16,17,17,12,14,13,16,16,13,13,15,15,17,14,15,15,17,16,16,16,17,16,19,16,17,17,18,18,12,13,14,15,16,14,14,15,16,17,13,14,13,16,15,16,17,17,18,19,15,16,16,17,16,15,16,16,18,17,15,15,16,17,18,16,17,17,18,18,16,16,18,16,19,18,19,19,20,19,15,15,16,16,17,16,16,17,17,18,15,15,15,17,16,18,18,19,18,20,17,17,16,18,16,12,13,13,16,15,13,14,14,16,16,13,14,14,16,16,15,16,16,17,18,15,16,15,18,17,13,14,14,16,16,14,15,15,16,17,14,15,15,17,17,16,17,17,18,18,16,17,17,18,18,13,14,13,17,14,14,15,14,17,16,14,15,14,17,15,16,17,17,18,18,15,17,15,19,15,16,16,16,17,18,16,16,17,17,19,16,17,17,18,19,17,17,18,18,20,18,18,18,19,19,15,16,14,18,13,16,17,16,19,15,16,17,15,19,14,18,18,18,19,17,17,18,16,20,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,7,7,5,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,5,7,8,8,9,10,8,9,9,8,9,10,9,10,12,10,11,11,8,9,10,10,11,11,9,11,11,5,8,7,8,9,9,8,10,9,8,10,9,9,11,11,10,11,11,8,10,9,10,11,11,9,12,10,5,8,8,7,9,10,8,10,9,7,9,9,9,10,11,9,11,11,8,10,10,10,11,11,10,12,11,7,9,9,9,10,11,9,11,11,9,9,11,10,10,13,11,11,12,9,11,11,11,12,13,11,13,12,7,9,9,9,11,11,9,12,10,9,11,10,10,11,12,11,13,12,9,11,11,11,13,13,11,13,11,5,8,8,8,9,10,7,10,9,8,10,10,10,11,11,10,11,11,7,9,9,9,11,11,9,11,10,7,9,9,9,10,12,9,11,11,9,11,11,11,11,13,11,13,13,9,10,11,11,12,13,10,12,11,7,9,9,9,11,11,9,11,10,9,11,11,11,12,13,11,13,12,9,11,9,11,12,11,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,8,13,15,16,18,21,22,5,4,6,8,10,12,17,21,9,5,5,6,8,11,15,19,11,6,5,5,6,7,12,14,14,8,7,5,4,4,9,11,16,11,9,7,4,3,7,10,22,15,14,12,8,7,9,11,21,16,15,12,9,5,6,8,2,0,0,0,64,0,0,0,8,198,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,150,6,0,0,0,0,0,0,0,0,0,248,150,6,0,0,0,0,0,0,0,0,0,32,151,6,0,72,151,6,0,0,0,0,0,0,0,0,0,112,151,6,0,152,151,6,0,0,0,0,0,0,0,0,0,192,151,6,0,232,151,6,0,0,0,0,0,0,0,0,0,16,152,6,0,56,152,6,0,232,151,6,0,0,0,0,0,96,152,6,0,136,152,6,0,232,147,6,0,16,148,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,144,150,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,136,150,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,147,6,0,152,147,6,0,0,0,0,0,0,0,0,0,192,147,6,0,232,147,6,0,16,148,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,160,149,6,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,80,150,6,0,0,0,0,0,2,0,0,0,25,0,0,0,104,149,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,149,6,0,0,0,0,0,2,0,0,0,9,0,0,0,72,149,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2],"i8",N3,F.GLOBAL_BASE+420817),E3([0,0,0,0,0,0,0,88,149,6,0,0,0,0,0,1,0,0,0,25,0,0,0,192,148,6,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,224,148,6,0,0,0,0,0,1,0,0,0,25,0,0,0,56,148,6,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,88,148,6,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,2,3,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,14,14,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,4,4,5,5,4,5,5,5,5,4,5,4,4,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,8,8,10,10,10,10,9,8,11,11,4,6,5,8,6,10,10,10,10,10,9,10,9,4,5,6,6,9,10,10,10,10,9,10,9,10,8,9,8,9,8,9,9,10,9,11,10,12,10,8,8,9,8,9,9,9,9,10,10,11,10,12,9,10,10,11,10,11,10,12,11,12,11,13,11,9,10,10,10,11,10,11,11,12,11,12,11,12,11,12,12,12,12,13,12,13,12,13,12,13,13,11,12,12,12,12,12,12,12,13,13,13,13,13,12,12,12,13,13,13,13,13,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,12,13,13,13,14,14,13,13,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,7,12,14,14,16,18,19,6,2,4,6,8,9,12,14,12,3,3,5,7,8,11,13,13,6,4,5,7,8,10,11,14,8,7,7,7,7,9,10,15,9,8,7,7,6,8,9,17,11,11,10,9,8,9,9,19,14,13,11,10,9,9,9,5,0,0,0,243,0,0,0,0,197,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,248,197,6,0,0,0,0,0,5,0,0,0,53,12,0,0,176,184,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,196,6,0,0,0,0,0,5,0,0,0,243,0,0,0,168,183,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,160,184,6,0,0,0,0,0,5,0,0,0,243,0,0,0,160,182,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,152,183,6,0,0,0,0,0,5,0,0,0,243,0,0,0,152,181,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,144,182,6,0,0,0,0,0,5,0,0,0,53,12,0,0,72,169,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,128,181,6,0,0,0,0,0,5,0,0,0,53,12,0,0,248,156,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,48,169,6,0,0,0,0,0,1,0,0,0,7,0,0,0,208,156,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,216,156,6,0,0,0,0,0,5,0,0,0,243,0,0,0,200,155,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,192,156,6,0,0,0,0,0,5,0,0,0,243,0,0,0,192,154,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,184,155,6,0,0,0,0,0,5,0,0,0,243,0,0,0,184,153,6,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,176,154,6,0,0,0,0,0,5,0,0,0,243,0,0,0,176,152,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,168,153,6,0,0,0,0,0,1,7,7,6,9,9,7,9,9,6,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,5,7,8,5,8,7,6,7,7,7,7,8,8,8,8,6,7,7,7,8,8,7,8,7,6,8,8,8,9,10,8,9,9,8,9,9,9,9,10,10,10,10,8,9,9,10,10,10,9,10,10,6,8,8,8,9,9,8,10,9,9,9,9,9,9,10,10,10,10,8,9,9,10,10,10,9,10,9,6,8,9,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,10,9,7,8,9,8,9,9,9,9,9,8,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,7,9,9,9,10,10,9,10,10,9,10,9,9,9,10,10,10,10,9,10,9,10,10,10,9,10,9,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,10,9,7,9,9,9,10,10,9,10,9,9,9,10,10,9,10,10,10,10,9,9,9,10,10,10,9,10,9,7,9,8,8,9,9,8,9,9,9,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,5,7,9,5,9,7,5,7,8,7,7,10,9,9,10,5,8,7,9,10,9,7,10,7,6,9,9,9,10,12,10,12,11,9,10,11,11,10,13,12,12,13,10,11,11,12,13,13,11,13,11,6,9,9,10,11,12,9,12,11,10,11,11,11,11,13,12,13,13,9,11,10,12,13,13,11,13,10,6,9,10,9,11,12,10,12,11,9,10,11,10,10,13,11,13,13,10,11,11,12,13,12,11,13,11,7,9,10,9,10,12,10,11,11,10,10,11,10,10,12,12,11,12,10,11,10,12,12,12,10,12,10,7,10,10,11,11,13,11,13,11,10,12,11,11,10,13,13,14,13,10,11,12,13,13,14,11,13,10,6,10,9,10,11,12,9,12,11,9,11,11,11,11,13,12,12,13,9,11,10,12,13,13,10,13,10,7,10,10,11,11,14,11,13,11,10,12,11,11,10,14,13,14,13,10,11,12,13,13,14,11,13,10,7,10,9,10,10,12,9,12,10,10,11,11,10,10,12,12,12,12,9,11,10,11,12,12,10,12,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,1,6,6,10,10,6,7,9,11,13,5,9,7,13,11,8,11,12,13,15,8,12,11,15,13,6,7,8,11,11,7,8,10,11,13,9,10,10,13,13,11,11,13,12,16,12,13,13,16,15,6,8,7,11,11,9,10,10,13,13,7,10,7,13,11,12,13,13,15,16,11,13,11,16,12,10,11,11,11,13,11,11,13,12,15,13,13,13,14,15,13,12,15,12,17,15,16,16,16,16,10,11,11,14,11,13,13,13,15,14,11,13,11,15,12,15,15,16,16,16,13,15,12,17,12,6,8,9,12,12,9,10,12,13,15,9,11,11,15,14,12,13,15,16,18,13,14,14,17,16,9,10,11,13,14,11,10,13,14,16,11,12,12,15,15,14,13,16,15,18,14,15,15,17,17,9,11,11,14,14,11,12,13,15,16,11,13,11,15,14,15,15,15,17,18,14,15,14,17,15,13,14,14,15,16,14,14,15,15,17,15,16,15,17,17,16,16,17,15,19,17,18,18,19,18,13,14,14,16,15,15,15,16,17,17,14,15,14,18,15,17,17,17,19,19,16,17,15,19,16,6,9,8,13,12,9,11,11,14,15,9,12,10,15,13,13,14,14,16,17,12,15,13,18,16,9,11,11,14,14,11,11,13,14,15,11,13,12,16,15,14,14,15,15,18,14,15,15,18,17,9,11,10,14,13,11,12,12,15,15,11,13,10,16,14,14,15,15,16,18,14,16,13,18,15,13,14,14,16,16,14,14,15,15,17,15,16,15,17,17,16,16,17,16,19,17,18,17,18,19,13,14,14,16,15,15,15,15,17,17,14,15,14,17,15,17,17,17,18,19,16,17,15,19,15,11,13,13,15,16,13,14,15,16,18,14,15,15,17,17,16,16,18,18,20,17,18,17,19,20,13,14,14,16,17,15,15,16,17,18,15,16,16,17,17,18,17,19,18,19,18,18,18,19,21,14,14,15,16,17,15,15,16,18,18,15,16,16,17,18,18,18,19,19,21,18,19,19,22,20,16,16,17,17,19,17,17,17,18,20,17,18,18,20,19,19,19,20,19,0,19,19,20,20,21,17,17,17,19,18,18,18,20,19,19,18,18,18,20,20,19,19,20,20,20,20,21,20,21,19,11,13,13,16,15,14,15,15,17,17,14,15,14,18,16,16,18,18,20,19,16,19,17,21,18,13,14,15,16,17,15,15,16,18,18,15,16,15,19,18,18,18,18,19,19,18,18,18,22,20,13,14,14,16,16,15,16,16,18,17,15,16,15,18,17,18,18,18,19,19,17,18,17,21,18,16,17,17,18,18,17,18,19,19,19,18,20,18,19,19,19,20,21,19,21,20,20,20,0,21,16,17,17,19,19,18,18,18,19,21,17,18,18,19,18,20,19,21,20,21,19,20,20,22,19,7,9,9,13,13,8,10,11,14,15,9,12,11,15,14,11,13,14,16,17,13,15,14,17,16,8,10,11,14,14,10,10,12,14,16,11,12,12,16,15,13,12,15,15,18,14,15,15,19,17,9,11,11,14,14,11,12,12,15,15,11,13,11,16,14,14,15,14,17,17,14,16,14,18,15,12,13,14,15,16,13,13,15,14,17,15,15,15,17,17,15,14,17,14,19,17,18,18,19,18,13,14,14,16,16,15,15,15,17,17,14,15,14,18,15,17,18,17,18,17,16,18,16,19,15,7,10,10,13,13,9,10,12,14,15,10,12,11,15,14,12,13,14,16,17,13,15,14,18,16,10,10,12,13,14,10,10,13,13,16,12,12,13,15,15,13,12,15,15,18,15,15,16,18,17,10,11,11,14,14,12,13,13,15,16,10,13,10,16,14,14,15,15,17,17,14,15,13,17,15,13,13,14,15,16,14,13,15,14,18,15,15,16,16,17,16,15,18,15,18,17,18,18,18,18,13,15,14,17,16,15,16,16,17,17,14,15,13,17,15,17,17,18,18,18,16,17,14,20,14,8,10,10,14,14,11,11,13,14,16,11,13,11,16,14,14,15,16,16,18,14,16,15,18,16,10,12,11,15,14,11,11,13,14,16,13,14,13,16,15,15,14,16,15,19,16,17,16,20,18,10,11,12,14,15,13,13,14,16,16,11,14,11,16,14,16,16,17,18,19,15,17,14,20,15,14,15,14,17,16,13,14,15,15,18,16,17,16,19,18,16,15,18,15,19,18,19,18,21,21,14,14,15,16,17,16,16,17,18,18,13,15,14,17,15,18,18,19,18,22,16,18,15,21,15,12,13,14,16,16,14,14,16,16,18,14,15,15,17,18,16,16,18,18,20,18,18,17,20,20,13,14,15,15,17,15,14,16,16,18,16,16,16,17,19,17,15,18,17,21,18,18,18,19,19,14,15,15,18,17,15,16,16,18,19,15,16,15,18,18,17,18,18,20,21,17,19,17,20,19,16,16,17,16,19,17,17,18,17,20,18,18,18,18,19,19,18,20,17,22,20,20,19,20,20,17,17,18,18,19,18,18,20,21,20,17,18,17,20,20,21,21,21,21,21,19,21,18,22,20,11,13,13,17,16,14,14,16,16,18,14,16,14,18,16,17,18,19,19,20,18,19,18,21,19,14,15,14,17,16,14,14,16,18,18,16,17,16,18,17,18,17,19,18,20,19,19,18,20,20,13,14,15,16,17,16,16,17,18,19,14,16,14,19,17,18,19,18,20,20,18,20,17,21,18,17,17,17,19,18,16,17,18,18,19,18,19,18,21,21,18,18,20,17,21,19,20,20,22,21,16,17,18,18,19,18,18,19,21,20,16,17,17,20,18,21,21,22,21,22,18,21,18,0,18,7,9,9,13,13,9,11,12,14,15,8,11,10,15,14,13,14,15,16,18,11,14,13,17,15,9,11,11,14,14,11,11,13,14,16,11,12,12,15,15,14,14,16,15,18,14,14,15,17,17,8,11,10,14,14,11,12,12,15,15,10,12,10,16,14,14,15,15,17,18,13,15,12,18,15,13,14,14,16,16,14,14,15,15,17,15,15,15,16,17,16,15,17,15,19,17,17,17,18,18,12,14,13,16,15,15,15,15,17,17,13,15,13,17,14,17,18,18,18,19,15,17,14,19,14,8,10,10,14,14,11,11,13,14,16,11,13,11,16,14,14,15,16,17,19,14,16,15,18,17,10,12,11,15,14,11,11,14,14,17,13,14,13,17,15,15,14,17,15,19,16,17,16,19,17,10,11,12,14,15,13,13,14,15,17,11,13,11,17,14,16,16,17,18,19,15,16,14,18,15,14,15,14,16,16,13,14,15,15,18,16,16,16,18,18,16,15,18,15,20,18,19,18,21,18,14,14,15,16,17,16,16,17,17,18,13,15,14,17,16,19,19,19,19,19,15,18,15,20,15,7,10,10,13,13,10,11,12,14,15,9,12,10,15,14,13,14,15,16,17,12,15,13,17,16,10,11,11,14,14,10,10,13,14,16,12,13,13,16,15,14,13,16,15,18,15,15,16,17,17,10,12,10,14,13,12,13,12,15,15,10,13,10,16,13,15,16,15,17,18,13,16,12,18,15,13,14,14,16,17,14,13,15,15,18,15,16,15,17,17,16,14,17,15,19,17,18,18,19,19,13,15,13,17,14,15,15,15,18,17,14,15,13,17,14,18,17,18,18,19,15,17,15,19,15,11,13,13,16,17,14,14,16,16,18,14,16,15,18,17,17,18,19,18,21,18,18,17,20,18,13,15,14,17,16,14,14,16,17,18,16,17,16,19,17,18,17,19,18,22,18,19,19,21,21,13,14,15,16,18,16,16,17,17,20,14,16,14,18,17,18,18,19,19,21,17,18,17,21,18,17,18,17,19,18,16,17,17,18,19,18,18,18,22,22,18,17,19,17,0,20,21,19,21,20,17,17,18,18,21,18,18,18,19,21,17,17,17,19,19,20,20,22,21,21,19,20,18,20,17,12,14,13,17,16,14,15,15,17,18,14,16,14,18,16,17,18,18,21,20,16,18,16,21,18,14,15,15,17,17,15,15,16,18,18,15,17,16,18,18,17,17,19,19,20,18,19,18,20,19,14,15,14,17,15,15,16,16,18,17,15,16,14,19,15,18,18,18,19,20,17,20,15,21,17,16,17,18,18,19,17,17,18,18,20,18,19,18,19,21,19,18,19,19,21,20,0,19,21,20,16,17,16,19,16,18,18,18,19,19,17,18,17,20,17,19,20,20,22,0,19,20,17,21,17,11,13,14,16,17,14,15,15,17,18,14,15,15,18,18,16,17,17,19,20,16,18,17,19,21,13,14,15,17,17,14,15,16,17,19,15,16,16,18,19,16,17,18,19,21,17,18,20,21,21,13,15,15,17,17,15,16,16,18,19,15,16,16,18,19,17,17,18,19,22,17,19,18,22,19,15,16,17,19,19,16,17,18,18,20,17,18,18,19,20,19,18,20,18,22,20,19,19,22,21,16,17,17,18,19,18,18,18,19,20,17,18,18,20,19,20,19,20,22,20,19,20,21,21,20,12,14,14,16,16,13,14,16,17,18,14,16,15,18,18,15,17,17,19,19,17,18,18,19,19,13,14,15,16,17,14,14,16,16,20,15,16,16,17,19,16,15,18,17,20,18,17,19,19,19,14,15,15,17,17,16,16,16,18,18,15,16,15,19,18,17,18,18,20,21,17,18,17,21,18,16,15,17,17,19,17,15,18,17,20,19,17,18,19,20,18,16,19,17,22,20,19,20,19,20,17,17,18,19,19,18,18,19,20,20,17,18,17,18,18,21,21,20,20,21,18,20,17,21,19,11,14,14,16,17,15,14,16,17,19,14,16,14,18,17,18,18,19,19,21,17,19,18,20,20,13,15,14,17,17,14,14,16,17,18,16,17,16,19,18,18,17,19,18,20,18,21,18,20,20,13,15,15,16,17,16,16,17,18,19,14,16,15,19,18,19,19,19,21,20,18,19,17,20,18,16,17,16,19,18,16,17,17,19,20,17,19,18,20,19,18,17,21,18,0,21,20,20,0,20,17,17,18,18,19,18,19,19,20,22,16,17,17,20,18,21,22,20,20,22,18,22,18,22,18,12,14,14,17,17,14,15,16,17,19,14,16,15,17,17,17,17,18,18,21,17,19,17,20,19,14,15,15,16,18,15,14,16,16,19,16,17,16,19,18,17,16,20,17,20,18,20,19,19,20,14,15,15,18,17,16,16,17,18,19,14,16,15,19,17,18,21,18,19,21,17,18,17,19,18,17,17,18,17,20,17,16,18,17,21,18,19,19,19,19,18,17,19,17,20,20,21,20,21,20,17,17,17,19,19,19,18,18,20,21,16,18,16,19,18,20,20,21,21,20,18,19,16,0,17,12,14,14,17,17,15,15,18,17,19,15,18,15,20,16,20,19,21,18,22,20,20,20,22,19,14,16,14,20,17,14,15,17,17,20,18,18,17,20,18,18,17,19,17,21,20,21,20,0,21,14,15,16,17,19,18,17,19,18,21,14,18,15,21,17,21,20,21,20,0,18,21,17,21,17,18,19,17,20,18,16,17,17,19,19,19,21,20,0,20,18,17,21,17,0,22,0,21,0,22,17,17,19,18,20,20,20,21,19,22,16,17,18,20,18,22,22,0,22,0,17,21,17,22,17,11,14,13,16,16,14,15,15,17,18,14,15,14,18,17,17,18,18,19,20,16,17,17,21,19,13,14,15,17,17,15,16,16,18,18,15,16,16,19,18,18,18,18,19,20,17,18,18,20,19,13,15,14,17,17,15,16,16,17,18,14,16,15,19,17,17,18,19,21,21,17,18,17,20,18,16,17,17,19,19,17,18,19,19,20,18,19,18,21,21,21,20,19,21,22,20,20,19,21,20,15,17,16,19,19,17,18,18,20,21,16,18,17,20,18,19,19,21,21,21,19,19,19,20,18,11,14,13,17,16,14,14,16,16,19,14,16,15,19,16,18,18,18,19,22,17,18,17,20,19,13,15,14,17,17,15,15,16,17,19,16,17,16,20,18,18,17,19,18,21,19,19,18,22,0,13,14,15,17,18,16,16,17,17,19,14,16,15,19,18,18,19,19,20,21,18,18,17,20,18,17,18,17,20,18,16,17,17,18,20,18,19,18,20,20,18,18,21,17,21,20,21,21,0,19,16,16,18,18,19,19,18,20,19,20,16,17,17,20,18,21,20,21,22,22,18,20,17,21,17,12,14,14,17,16,14,15,16,18,18,13,15,14,18,17,17,18,18,19,19,15,17,16,19,19,14,15,15,17,17,15,15,16,18,19,15,16,16,19,18,17,17,18,18,20,18,18,18,21,20,13,15,14,17,16,15,16,15,18,18,14,16,14,18,17,18,18,18,19,21,16,18,16,20,17,17,18,17,18,19,17,17,18,18,19,18,19,19,21,19,19,18,20,18,21,21,20,20,21,20,16,17,15,20,17,17,19,17,19,19,17,18,15,20,17,19,20,19,21,22,17,20,16,0,17,12,14,14,17,18,16,15,18,16,20,16,18,15,21,17,20,18,21,19,22,19,21,19,0,19,14,16,15,19,17,14,15,17,16,21,18,19,18,21,17,19,17,21,17,22,20,21,21,0,21,14,15,16,17,19,18,17,19,18,21,14,17,15,20,17,21,22,21,20,22,18,21,17,21,17,17,19,17,21,18,16,17,17,19,20,19,21,20,21,20,17,18,20,17,21,0,22,20,21,22,17,17,20,18,21,21,20,22,20,21,16,17,17,21,19,0,22,0,21,21,18,22,17,21,17,12,14,14,17,16,14,15,16,17,18,14,16,15,18,17,17,17,20,19,20,16,18,17,21,18,14,15,15,17,17,14,15,16,17,19,16,17,16,18,18,17,16,19,18,19,18,19,18,21,20,14,15,15,18,17,16,16,16,19,18,15,16,14,20,16,18,18,19,19,20,16,19,16,21,17,17,17,18,19,19,16,16,18,18,19,19,19,18,20,20,18,16,19,18,20,22,21,20,19,20,16,18,17,20,16,18,19,18,19,18,16,18,16,20,17,21,20,21,20,20,18,19,17,21,16,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,5,7,7,10,10,7,8,9,10,11,7,9,8,11,10,9,10,10,11,11,9,10,10,11,11,7,9,9,10,10,8,9,10,10,11,9,10,10,11,11,10,10,11,11,11,10,11,11,12,12,7,9,9,10,10,9,10,10,11,11,8,10,9,11,10,10,11,11,11,11,10,11,10,11,11,10,10,10,11,11,10,10,11,11,11,11,11,11,11,11,11,11,12,11,12,11,12,11,12,12,10,10,10,11,11,10,11,11,11,11,10,11,10,11,11,11,12,11,12,12,11,12,11,12,11,8,9,9,11,11,9,10,10,11,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,11,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,8,9,9,11,11,9,10,10,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,11,11,12,12,12,12,11,12,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,13,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,13,12,12,12,12,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,9,9,11,11,9,10,10,11,11,9,10,10,12,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,11,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,10,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,10,11,11,12,11,11,12,12,12,11,11,12,12,12,11,11,12,12,13,12,12,12,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,8,10,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,12,12,12,10,11,10,12,12,10,10,11,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,10,11,11,12,12,11,12,12,12,12,10,12,11,12,12,12,12,12,13,13,12,13,12,13,12,11,12,12,12,12,11,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,13,11,12,12,12,12,12,12,12,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,13,13,13,12,12,13,13,13,13,13,13,13,13,11,12,12,12,12,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,12,12,13,12,12,13,12,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,9,9,11,11,9,10,10,11,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,8,10,10,11,11,10,10,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,12,10,11,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,10,10,11,12,12,11,12,12,12,12,10,11,10,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,11,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,11,12,12,13,12,12,13,13,13,13,12,13,12,13,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,12,12,12,12,13,12,12,12,13,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,12,12,12,12,12,12,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,13,13,11,12,11,12,12,12,12,12,13,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,12,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,12,13,13,13,12,13,13,13,13,11,12,12,12,13,12,12,13,13,13,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,11,12,12,12,12,12,12,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,13,13,13,12,13,12,13,13,11,12,12,12,12,12,12,13,13,13,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,13,12,13,13,12,12,12,13,12,13,13,13,13,13,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,11,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,13,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,13,13,13,13,12,13,12,13,13,11,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,11,12,12,13,12,12,13,12,13,13,12,13,12,13,13,13,13,13,13,13,12,13,13,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,13,13,13,13,12,13,13,12,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,12,13,13,13,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,13,12,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,13,13,13,13,13,11,12,12,12,12,12,13,12,13,13,12,13,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,11,12,12,12,12,12,13,13,11,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,12,13,13,13,12,13,13,13,13,11,12,12,13,13,12,12,13,13,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,11,12,12,13,12,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,12,11,12,12,11,12,12,12,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,13,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,13,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,13,12,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,13,13,13,12,13,13,13,13,12,12,13,13,13,13,13,13,13,13,11,12,12,12,12,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,13,13,13,13,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,13,13,13,12,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,13,13,13,13,13,13,13,13,13,12,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,9,5,9,7,5,7,8,7,7,10,9,10,10,5,8,7,9,10,10,7,10,7,6,8,9,9,10,12,9,11,11,9,10,11,11,11,13,12,13,13,9,11,11,11,12,13,11,13,11,6,9,8,9,11,11,9,12,10,9,11,11,11,11,13,11,13,12,9,11,10,12,13,13,11,13,11,6,9,9,8,10,11,9,12,11,9,10,11,10,10,12,11,13,13,9,11,11,11,13,12,11,13,11,8,10,10,9,10,12,10,12,11,10,10,12,10,10,13,12,13,13,10,12,11,12,13,13,10,13,10,7,10,10,11,11,13,11,14,11,10,12,11,11,11,13,13,14,13,10,12,12,14,14,14,11,14,11,6,9,9,9,11,12,8,11,10,9,11,11,11,11,13,11,12,13,8,11,10,11,13,13,10,12,10,7,10,10,11,11,14,11,13,11,10,12,12,11,11,14,14,14,14,10,11,12,13,13,14,11,13,11,8,10,10,10,11,12,9,12,10,10,11,12,11,10,13,12,13,13,10,12,10,12,13,13,11,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,6,6,6,7,7,6,7,7,6,7,7,7,7,8,7,8,8,6,7,7,7,8,8,7,8,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,9,7,8,7,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,8,6,8,8,7,8,8,7,8,8,7,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,9,9,8,9,9,8,8,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,7,8,8,8,8,9,8,9,8,8,8,8,8,9,9,9,9,9,8,9,8,9,9,9,8,9,9,6,8,8,7,8,8,7,8,8,8,8,8,8,8,9,8,9,9,7,8,8,8,9,9,8,9,8,7,8,8,8,8,9,8,9,8,8,8,9,8,9,9,9,9,9,8,8,8,9,9,9,8,9,9,7,8,8,8,9,9,8,9,9,8,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,6,5,7,8,5,8,7,5,7,8,7,8,10,8,10,10,5,8,7,8,10,10,7,10,8,6,8,9,8,10,11,9,10,10,9,10,11,10,11,12,11,12,12,9,11,10,11,12,12,10,12,11,6,9,8,9,10,10,8,11,10,9,10,11,10,11,12,11,12,12,9,11,10,11,12,12,10,12,11,6,9,9,8,10,11,9,11,10,8,10,10,10,10,12,11,12,12,9,11,10,11,12,12,10,12,11,8,10,10,10,11,12,10,12,11,10,10,12,11,11,13,12,13,13,10,12,11,12,13,13,11,13,11,7,10,10,10,11,12,10,12,11,10,12,11,11,11,12,12,14,13,10,12,12,12,14,14,11,13,11,6,9,9,9,10,11,8,11,10,9,10,11,10,11,12,11,12,12,8,11,10,11,12,12,10,12,10,7,10,10,10,11,12,10,12,11,10,12,12,11,11,13,12,13,13,10,11,12,12,13,14,11,12,11,8,10,10,10,11,12,10,12,11,10,11,12,11,11,13,12,13,13,10,12,10,12,13,13,11,13,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,9,9,6,7,8,10,10,6,8,7,10,10,8,10,10,12,13,8,10,10,13,12,6,7,8,10,10,7,8,9,10,11,8,9,9,11,11,10,10,11,12,14,10,11,11,14,13,6,8,7,10,10,8,9,9,11,11,7,9,8,11,10,10,11,11,13,14,10,11,10,14,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,12,15,13,14,13,15,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,13,13,14,14,15,12,13,12,15,12,6,7,8,10,11,8,9,10,11,12,8,9,9,11,12,10,11,12,13,14,10,11,11,14,13,8,9,10,11,12,9,10,11,12,13,9,10,11,12,13,11,12,13,13,15,12,12,13,15,14,8,9,9,12,12,9,10,11,12,13,9,10,10,13,12,12,12,13,14,15,11,12,12,14,14,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,14,13,15,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,14,13,14,15,15,15,16,13,14,14,16,14,6,8,7,11,10,8,9,9,11,12,8,10,9,12,11,10,11,11,13,14,10,12,11,14,13,8,9,9,12,12,9,10,10,12,13,9,11,10,13,12,11,12,12,13,14,12,13,12,15,14,8,10,9,12,11,9,11,10,13,12,9,11,10,13,12,12,13,12,14,15,11,13,12,15,13,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,13,14,14,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,15,13,14,15,15,16,16,13,15,13,16,14,9,10,11,12,14,11,11,12,13,15,11,12,12,13,14,13,14,15,15,17,13,14,14,15,16,11,11,12,13,15,12,12,13,14,16,12,13,13,14,15,14,14,16,15,17,15,15,15,16,17,11,12,12,14,14,12,13,13,15,16,12,13,13,15,15,15,15,15,16,17,14,15,15,16,16,14,14,15,15,17,14,15,15,15,17,15,15,16,16,17,16,16,17,16,18,17,17,17,18,18,14,15,14,16,16,15,15,16,17,17,14,15,15,17,16,17,17,17,18,18,16,16,16,17,17,9,11,10,14,12,11,12,12,14,13,11,12,11,15,13,13,14,14,16,15,13,15,14,17,15,11,12,12,15,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,15,15,15,17,16,11,12,11,15,13,12,13,13,15,14,12,13,12,16,14,15,15,15,17,16,14,15,14,17,15,14,14,15,16,16,14,15,15,16,16,15,16,15,17,17,16,16,16,17,17,17,17,17,18,17,14,15,14,16,15,15,15,15,17,16,15,15,15,17,15,17,17,17,18,18,16,17,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,12,11,14,13,7,9,9,11,12,9,10,10,12,13,9,10,10,13,13,11,11,12,13,15,11,12,12,15,14,8,9,9,12,11,9,11,10,13,13,9,11,10,13,12,12,13,12,14,15,11,13,12,15,13,10,11,12,13,14,11,12,12,13,15,12,12,13,14,15,13,13,14,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,15,13,14,15,15,15,16,13,14,14,16,14,7,9,9,11,12,9,10,11,12,13,9,10,10,13,12,11,12,12,14,15,11,12,12,15,14,9,9,11,11,13,10,10,12,12,14,10,11,12,13,14,12,12,13,14,16,12,13,13,15,15,9,11,10,13,13,10,12,12,13],"i8",N3,F.GLOBAL_BASE+431057),E3([14,10,12,11,14,13,12,13,13,15,16,12,13,13,15,14,11,11,13,13,15,12,12,14,13,16,13,13,13,14,15,14,14,15,14,17,15,15,15,16,16,12,13,12,15,14,13,14,14,15,15,12,14,13,16,14,15,15,16,16,17,14,15,14,17,15,7,9,9,12,11,9,10,10,12,13,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,9,10,10,13,12,10,10,11,12,13,10,12,11,14,13,12,12,13,13,15,12,14,13,16,15,9,10,10,13,12,11,11,12,13,13,10,12,10,14,12,13,13,13,15,15,12,13,12,15,13,11,12,12,14,14,12,12,13,14,15,13,14,13,15,15,14,13,15,13,16,15,16,15,17,16,12,13,12,14,14,13,14,14,15,15,12,13,12,15,14,15,15,16,16,17,14,15,13,16,13,10,11,12,13,14,11,12,13,14,15,12,13,13,15,15,14,14,15,15,17,14,15,15,16,16,12,12,13,12,15,12,12,14,13,16,13,13,14,14,16,14,14,16,15,17,15,15,16,16,17,12,13,13,15,15,13,14,14,16,16,13,14,13,16,15,15,16,16,17,17,14,15,15,17,16,14,14,15,14,17,15,15,16,15,17,15,15,16,15,17,16,16,17,16,18,17,17,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,17,17,17,18,18,16,17,16,18,17,10,12,11,14,14,12,13,13,15,15,12,13,12,15,14,14,15,15,16,16,14,15,15,17,16,11,13,12,15,14,12,13,13,15,15,13,14,13,16,14,15,15,15,16,16,15,16,15,17,16,12,13,13,15,15,13,14,14,16,16,12,14,13,16,15,15,16,16,17,17,15,16,15,17,16,14,15,15,16,16,14,15,15,16,16,15,16,16,17,16,16,16,16,16,17,17,18,17,18,17,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,17,17,18,18,18,16,17,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,12,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,10,11,13,13,11,12,13,13,15,12,12,12,15,14,7,9,9,12,11,9,10,10,13,13,9,10,10,13,12,11,12,12,14,15,11,12,11,15,13,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,13,14,14,14,16,14,15,15,16,16,10,12,11,14,13,12,13,12,14,14,11,12,12,15,13,14,15,15,16,16,13,14,13,16,14,7,9,9,11,12,9,10,11,12,13,9,10,10,13,12,11,12,13,14,15,11,12,12,14,14,9,10,10,12,13,10,10,12,12,14,11,12,11,13,13,12,12,14,13,15,13,13,13,15,15,9,10,10,12,13,10,11,12,13,14,10,11,10,13,12,13,13,14,15,16,12,13,12,15,13,12,13,13,14,14,12,12,13,14,15,13,14,14,15,15,14,13,15,13,16,15,16,15,17,16,11,12,12,14,14,13,13,14,15,15,12,13,12,15,14,15,15,16,16,17,14,14,13,16,13,7,9,9,12,11,9,10,10,12,13,9,11,10,13,12,11,12,12,14,15,11,12,12,15,14,9,10,11,13,13,10,11,12,13,14,10,12,12,14,13,12,13,13,14,16,12,13,13,16,15,9,11,9,13,11,10,12,11,13,13,10,12,10,14,12,12,13,13,15,15,12,13,12,16,14,12,12,13,14,15,12,13,14,14,15,13,14,14,15,15,14,14,15,15,17,15,16,15,17,16,11,13,11,15,13,13,14,13,15,14,12,14,12,16,13,15,15,15,16,16,14,15,14,17,14,10,11,12,14,14,12,12,13,14,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,16,12,12,13,15,15,13,13,14,15,16,13,14,14,16,16,15,15,16,16,17,15,16,16,17,17,11,12,13,14,15,13,13,14,15,16,12,13,13,15,15,15,15,16,16,17,15,15,15,16,16,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,16,18,17,17,17,18,18,14,15,15,16,16,15,16,16,16,17,15,15,15,16,16,17,17,17,18,18,16,16,16,17,16,10,12,11,14,13,12,13,13,15,15,11,13,12,15,14,14,15,15,16,16,14,15,14,17,15,12,13,13,15,15,13,13,14,16,16,13,14,14,16,16,15,15,15,16,17,15,16,16,17,17,12,13,12,15,12,13,14,13,16,14,12,14,12,16,13,15,16,15,17,16,14,16,14,17,15,14,15,15,16,17,15,15,16,17,17,15,16,16,17,17,16,16,17,17,18,17,18,17,18,18,14,15,14,17,14,15,16,15,17,15,15,16,15,17,15,17,17,17,18,17,16,17,16,18,16,9,11,11,14,14,11,12,12,14,14,11,12,12,15,14,13,14,14,16,16,13,15,14,16,16,10,11,12,14,14,11,12,13,15,15,12,13,13,15,15,13,14,15,16,17,14,15,15,17,16,11,12,12,15,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,15,17,16,12,13,14,15,16,13,14,14,15,16,13,14,15,16,16,15,15,16,16,18,16,16,16,18,17,14,14,14,16,15,15,15,15,17,16,14,15,15,17,16,16,17,17,18,17,16,16,16,18,16,10,12,12,14,14,11,12,13,15,15,12,13,13,15,15,13,14,15,16,17,14,15,15,17,16,11,12,13,14,15,12,12,14,15,16,13,13,14,15,16,14,14,15,16,17,15,15,16,17,17,12,13,13,15,15,13,14,14,16,16,13,14,13,16,15,15,16,15,17,17,15,16,15,17,16,13,13,15,14,17,14,13,16,15,17,15,14,16,15,17,15,15,17,16,18,16,16,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,17,17,17,18,18,16,17,16,18,17,10,12,11,14,14,11,12,13,15,15,12,13,12,15,15,14,15,15,16,16,14,15,15,17,16,11,12,12,15,15,12,13,13,15,15,13,14,13,16,15,14,15,15,16,16,15,16,15,17,16,11,13,13,15,15,13,14,14,15,15,12,14,13,16,15,15,16,15,17,17,15,16,15,17,16,13,15,14,16,16,14,15,14,16,16,15,16,15,17,16,15,16,16,16,17,16,17,16,18,17,14,15,15,16,16,15,16,16,17,17,15,15,15,17,16,17,17,17,18,18,16,16,16,18,16,12,13,13,15,16,13,14,14,15,16,13,14,14,16,16,15,15,16,16,18,15,16,16,17,17,13,13,14,15,16,14,14,15,15,17,14,15,15,16,17,15,15,17,16,18,16,16,17,17,17,13,14,14,16,16,14,15,15,17,17,14,15,14,17,16,16,17,16,17,18,16,17,16,18,17,15,15,16,14,17,16,15,17,14,18,16,16,16,15,18,16,16,18,15,19,18,18,18,17,19,15,16,16,18,17,16,17,17,18,17,16,17,16,18,17,18,18,18,19,19,17,18,16,18,17,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,16,16,16,17,15,16,16,17,16,12,14,13,16,15,13,13,14,15,16,14,15,14,17,15,15,15,16,16,17,16,17,16,18,17,12,13,14,15,16,14,15,15,16,16,13,14,13,16,15,16,16,16,17,17,15,16,15,17,15,15,16,15,17,16,15,15,15,16,16,16,17,16,18,16,16,15,16,15,17,17,18,17,18,17,15,15,16,17,17,16,16,17,17,17,15,16,15,17,16,18,18,18,18,18,16,17,16,18,15,9,11,11,14,14,11,12,12,14,15,10,12,12,15,14,13,14,15,16,16,13,14,14,16,16,11,12,12,14,15,12,12,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,16,10,12,12,14,14,12,13,13,15,15,11,13,12,15,15,14,15,15,16,17,13,15,14,16,16,14,14,14,15,16,14,15,15,16,17,14,15,15,16,17,16,16,17,16,18,16,17,17,17,17,12,14,13,16,15,13,15,14,16,16,13,14,14,16,15,16,16,16,17,17,15,16,15,17,16,10,11,11,14,14,12,12,13,14,15,11,13,12,15,14,14,15,15,16,17,14,15,15,16,16,12,13,13,15,15,12,13,14,15,16,13,14,14,15,15,15,15,16,16,17,15,15,16,17,17,11,12,12,15,15,13,13,14,15,16,12,13,13,15,15,15,15,16,16,17,14,15,15,16,16,14,15,15,16,16,15,15,15,16,17,15,16,16,17,17,16,16,17,16,18,17,17,17,17,18,13,14,15,16,16,15,15,16,16,17,14,14,14,16,16,16,16,17,17,18,16,16,16,17,16,10,12,12,14,14,12,13,13,15,15,11,13,12,15,15,14,15,15,16,17,13,15,14,17,16,12,13,13,15,15,13,13,14,15,16,13,14,14,16,16,15,15,16,16,17,15,15,16,17,17,11,13,12,15,14,13,14,13,16,15,12,14,12,16,15,15,16,15,17,17,14,15,14,17,16,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,17,18,17,17,17,18,18,13,15,13,17,14,14,16,14,17,16,14,15,13,17,15,16,17,16,18,17,15,17,15,18,16,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,16,16,16,17,15,16,16,17,16,12,14,13,16,15,13,13,14,15,16,14,15,15,16,16,16,15,16,16,17,16,16,16,17,17,12,13,14,15,16,14,14,15,15,17,13,14,13,16,15,16,16,17,17,18,15,16,15,17,15,15,16,15,17,17,15,15,16,16,17,16,17,16,17,17,16,15,17,15,18,17,18,17,18,18,15,15,16,16,17,16,16,17,16,18,15,15,15,16,16,17,17,18,17,18,16,16,15,17,15,12,13,13,15,15,13,14,14,16,16,13,14,14,16,16,15,16,16,17,18,15,16,15,18,16,13,14,14,16,16,14,14,15,16,17,14,15,15,17,17,16,16,17,17,18,16,16,17,18,17,13,14,13,16,14,14,15,15,17,16,14,15,14,17,15,16,17,17,18,17,15,17,15,18,16,15,16,16,17,17,16,16,17,17,18,16,17,17,18,18,17,16,18,17,19,18,18,18,18,18,15,16,15,17,14,16,16,16,18,15,16,17,15,18,14,18,18,18,18,17,17,18,16,19,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,7,7,5,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,5,7,8,8,9,10,8,9,10,8,9,10,9,10,12,10,11,11,8,10,10,10,11,11,9,11,11,5,8,7,8,9,9,8,10,9,8,10,10,9,11,11,10,11,11,8,10,9,10,11,11,9,12,10,5,8,8,7,9,10,8,10,9,7,9,9,9,10,11,9,11,11,8,10,9,10,11,11,10,11,11,7,9,9,9,10,11,9,11,11,9,9,11,10,10,13,11,11,12,9,11,11,11,12,13,11,13,12,7,9,9,9,11,11,9,11,10,9,11,10,10,11,12,11,13,12,9,11,11,11,12,13,11,13,11,5,8,8,8,9,10,7,10,9,8,9,10,10,11,11,10,11,11,7,9,9,9,11,11,9,11,10,7,9,9,9,10,11,9,11,11,9,11,11,11,11,13,11,13,12,9,10,11,11,12,13,10,12,11,7,9,9,9,11,11,9,11,10,9,11,11,11,12,13,11,13,12,9,11,9,11,12,11,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,12,14,15,18,20,20,5,3,4,6,9,11,15,19,9,4,3,4,7,9,13,18,11,6,3,3,5,8,13,19,14,9,6,5,7,10,16,20,16,11,9,8,10,10,14,16,21,14,13,11,8,7,11,14,21,14,13,9,6,5,10,12,0,0,0,0,255,255,255,255,255,255,255,255,8,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,F.GLOBAL_BASE+441297),E3([1,0,0,0,1,0,0,0,2,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,240,5,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,214,6,0,0,0,0,0,0,0,0,0,224,214,6,0,0,0,0,0,0,0,0,0,8,215,6,0,48,215,6,0,0,0,0,0,0,0,0,0,88,215,6,0,128,215,6,0,0,0,0,0,0,0,0,0,168,215,6,0,208,215,6,0,0,0,0,0,0,0,0,0,248,215,6,0,32,216,6,0,208,215,6,0,0,0,0,0,72,216,6,0,112,216,6,0,208,211,6,0,248,211,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,120,214,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,112,214,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,211,6,0,128,211,6,0,0,0,0,0,0,0,0,0,168,211,6,0,208,211,6,0,248,211,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,136,213,6,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,56,214,6,0,0,0,0,0,2,0,0,0,25,0,0,0,80,213,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,112,213,6,0,0,0,0,0,2,0,0,0,9,0,0,0,48,213,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,64,213,6,0,0,0,0,0,1,0,0,0,25,0,0,0,168,212,6,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,200,212,6,0,0,0,0,0,1,0,0,0,25,0,0,0,32,212,6,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,64,212,6,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,4,4,5,5,5,4,5,4,5,5,5,5,6,5,6,5,6,5,6,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,8,8,9,8,9,9,10,10,10,10,4,6,5,8,7,9,9,9,9,10,9,10,10,4,5,6,7,8,9,9,9,9,9,10,9,10,8,9,8,9,8,10,9,11,9,12,10,11,10,8,8,9,8,9,9,10,9,11,10,11,10,12,9,10,10,11,10,11,11,12,11,12,12,12,12,9,10,10,11,11,11,11,11,12,12,12,12,12,10,11,11,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,13,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,11,13,12,12,12,13,12,12,12,12,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,5,13,9,9,12,16,18,4,2,20,6,7,10,15,20,10,7,5,5,6,8,10,13,8,5,5,3,5,7,10,11,9,7,6,5,5,7,9,9,11,10,8,7,6,6,8,8,15,15,10,10,9,7,8,9,17,19,13,12,10,8,9,9,5,0,0,0,243,0,0,0,232,4,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,224,5,7,0,0,0,0,0,5,0,0,0,53,12,0,0,152,248,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,4,7,0,0,0,0,0,5,0,0,0,243,0,0,0,144,247,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,136,248,6,0,0,0,0,0,5,0,0,0,243,0,0,0,136,246,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,128,247,6,0,0,0,0,0,5,0,0,0,243,0,0,0,128,245,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,120,246,6,0,0,0,0,0,5,0,0,0,53,12,0,0,48,233,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,104,245,6,0,0,0,0,0,5,0,0,0,53,12,0,0,224,220,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,24,233,6,0,0,0,0,0,1,0,0,0,7,0,0,0,184,220,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,192,220,6,0,0,0,0,0,5,0,0,0,243,0,0,0,176,219,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,168,220,6,0,0,0,0,0,5,0,0,0,243,0,0,0,168,218,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,160,219,6,0,0,0,0,0,5,0,0,0,243,0,0,0,160,217,6,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,152,218,6,0,0,0,0,0,5,0,0,0,243,0,0,0,152,216,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,144,217,6,0,0,0,0,0,1,9,9,7,9,9,8,8,9,9,9,9,9,9,9,8,9,9,7,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,6,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,5,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,5,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,6,7,7,7,7,7,7,8,8,9,9,9,9,7,7,8,8,8,9,9,9,9,8,8,6,7,7,8,8,8,8,8,8,9,8,8,9,8,9,9,8,8,10,8,8,10,9,9,10,8,8,6,6,6,8,6,6,8,7,7,8,7,7,10,8,8,9,7,7,9,7,7,10,8,8,9,7,7,7,7,7,10,8,8,11,9,9,10,9,9,11,9,9,11,8,8,11,9,9,12,9,9,12,8,8,7,7,7,10,9,9,10,9,9,10,9,9,11,10,10,10,9,9,11,9,10,11,10,11,10,9,9,9,8,8,10,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,9,9,11,10,10,11,9,9,8,8,8,11,9,9,11,9,9,11,9,9,12,9,9,12,8,8,11,9,9,12,9,9,12,8,8,8,7,7,10,9,9,10,9,9,10,9,9,11,11,11,11,9,9,11,10,10,11,11,11,11,9,9,10,9,9,11,9,9,11,9,10,11,10,10,11,10,10,11,9,9,11,10,10,11,10,10,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,7,7,7,8,8,7,8,8,7,9,9,11,11,11,9,8,8,8,9,9,12,11,12,9,8,8,6,7,7,10,11,11,10,10,10,11,11,11,14,14,14,12,11,12,11,11,11,15,15,14,13,12,12,5,6,6,8,5,5,8,7,7,8,7,7,12,10,10,10,7,6,9,8,8,12,10,10,10,6,6,7,8,8,12,10,10,12,10,10,11,10,10,16,14,14,13,10,10,12,10,10,15,14,14,14,10,10,7,7,7,13,11,11,13,11,11,12,11,11,16,14,14,14,12,12,12,11,11,18,15,15,14,12,12,10,9,10,14,11,11,13,11,11,12,11,11,17,14,14,14,11,11,13,11,11,16,15,15,14,11,11,7,8,8,13,11,11,12,10,10,12,10,10,16,14,13,13,10,10,12,10,10,17,14,14,14,10,10,8,7,7,12,11,11,13,11,11,12,11,11,16,15,14,14,12,12,12,11,11,16,15,15,14,12,12,11,10,10,14,11,11,13,11,11,13,11,11,17,14,14,14,11,11,13,11,11,18,14,15,15,11,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,1,7,6,15,15,7,8,8,15,15,8,8,8,15,15,0,13,13,16,16,0,14,14,16,16,7,9,9,16,16,10,11,11,17,17,10,8,8,15,16,0,14,14,18,18,0,14,14,16,16,9,9,9,16,16,12,11,11,17,17,10,9,9,15,15,0,14,14,19,19,0,14,14,16,16,0,15,15,18,17,0,0,0,20,20,0,13,13,16,16,0,17,17,22,20,0,15,15,17,17,0,15,15,18,18,0,22,21,20,21,0,13,13,16,16,0,18,18,0,22,0,15,15,17,17,6,7,7,13,13,9,10,10,15,15,11,10,10,15,15,0,21,22,18,18,0,0,0,18,18,10,10,10,15,15,12,13,13,17,17,12,11,11,15,15,0,22,22,18,18,0,0,21,18,18,12,11,11,15,15,15,14,14,18,18,13,11,11,15,15,0,0,21,18,19,0,21,22,18,19,0,22,0,18,19,0,0,0,0,0,0,21,21,18,18,0,22,0,0,21,0,0,0,19,18,0,0,0,18,19,0,0,0,0,0,0,20,20,18,17,0,0,22,0,21,0,0,0,19,19,6,6,6,13,13,8,6,6,11,11,9,7,7,13,13,0,10,10,11,11,0,12,12,14,14,9,8,8,14,14,12,10,10,13,13,10,7,7,13,13,0,11,11,15,15,0,11,11,13,13,9,8,8,14,14,13,10,10,13,14,11,7,7,13,13,0,11,11,15,15,0,11,11,13,13,0,12,12,15,15,0,21,21,17,17,0,10,10,13,13,0,14,14,20,20,0,12,12,13,13,0,12,12,15,15,0,21,22,17,18,0,10,10,13,13,0,16,16,20,21,0,12,12,13,13,0,11,11,13,13,0,12,12,16,16,0,12,12,16,16,0,16,16,0,21,0,17,18,0,0,0,12,12,15,15,0,15,15,18,18,0,12,12,16,16,0,16,16,21,22,0,17,17,22,21,0,12,12,16,16,0,15,15,19,19,0,12,12,16,16,0,16,16,22,22,0,17,16,22,0,0,17,18,0,0,0,0,0,0,0,0,15,15,21,20,0,19,20,0,22,0,18,18,0,0,0,18,17,0,0,0,0,0,0,0,0,16,16,22,21,0,20,20,0,22,0,20,19,0,0,0,11,11,12,12,0,10,10,11,11,0,11,11,12,12,0,12,12,10,10,0,13,13,12,12,0,11,11,13,13,0,13,13,12,12,0,10,10,12,12,0,13,13,14,13,0,12,12,12,12,0,12,12,13,13,0,14,14,13,13,0,10,10,12,12,0,13,13,14,14,0,13,12,12,12,0,14,14,14,14,0,21,21,16,16,0,12,12,12,12,0,16,16,20,21,0,13,13,11,11,0,14,14,14,14,0,20,20,16,15,0,12,12,12,12,0,17,17,20,20,0,13,13,11,11,7,8,8,16,16,11,10,10,15,15,12,10,10,17,17,0,14,14,16,15,0,15,15,17,17,11,9,9,16,16,14,12,12,17,17,13,9,9,16,15,0,14,14,19,18,0,14,14,16,16,12,10,10,17,18,16,13,13,17,18,14,10,10,16,16,0,14,14,19,19,0,14,15,17,17,0,15,15,18,19,0,0,0,20,20,0,13,13,17,17,0,17,18,0,22,0,15,15,16,17,0,15,15,18,18,0,0,0,20,21,0,14,14,17,17,0,19,18,0,0,0,16,16,17,17,8,7,7,14,14,12,11,11,15,15,13,11,11,15,15,0,0,0,18,19,0,21,20,18,18,12,10,11,15,16,14,13,13,18,18,14,11,11,15,15,0,20,20,19,18,0,20,0,18,18,13,11,11,16,16,17,15,15,19,19,14,12,12,15,15,0,21,0,18,20,0,22,22,18,19,0,22,22,19,19,0,0,0,0,0,0,21,22,19,18,0,0,0,0,21,0,0,0,19,19,0,0,22,20,20,0,0,0,0,0,0,22,0,18,18,0,0,0,0,22,0,0,0,19,20,11,10,10,14,14,14,11,11,13,13,14,11,11,15,15,0,14,13,12,12,0,15,15,16,16,13,11,11,15,15,16,13,13,15,15,15,10,10,14,15,0,14,14,16,16,0,14,14,15,15,13,11,11,15,15,18,14,14,15,15,15,10,10,15,14,0,14,14,16,16,0,14,14,15,15,0,15,15,17,16,0,21,22,18,18,0,13,13,14,14,0,18,17,20,21,0,15,15,14,14,0,15,16,16,17,0,0,0,19,18,0,13,13,15,14,0,19,19,0,0,0,15,15,14,14,0,12,12,14,13,0,13,13,16,16,0,12,12,16,16,0,16,16,22,0,0,17,18,0,22,0,13,13,16,16,0,15,15,18,18,0,12,12,16,16,0,16,16,22,22,0,17,17,0,0,0,13,13,17,17,0,16,16,19,20,0,12,12,17,17,0,17,17,22,0,0,17,17,22,21,0,18,18,0,0,0,0,0,0,0,0,16,16,21,21,0,19,19,0,0,0,18,18,0,22,0,18,18,0,22,0,0,0,0,0,0,16,16,22,0,0,20,20,0,0,0,19,18,0,0,0,12,12,15,15,0,12,12,15,14,0,13,13,15,15,0,14,14,14,14,0,15,15,16,16,0,13,13,15,16,0,15,15,16,16,0,12,12,15,15,0,14,14,16,16,0,14,14,15,15,0,13,13,15,16,0,15,15,16,16,0,12,12,15,15,0,15,15,17,17,0,14,14,15,15,0,15,15,17,17,0,21,21,19,19,0,13,13,14,14,0,17,17,22,0,0,14,14,15,15,0,15,15,17,17,0,22,0,18,20,0,13,13,15,15,0,18,18,0,22,0,15,15,14,15,8,8,8,17,16,12,10,10,16,16,13,10,10,17,16,0,15,15,17,17,0,15,15,17,17,12,11,11,18,18,15,12,12,18,18,15,10,10,16,17,0,14,14,18,18,0,14,14,17,17,13,10,10,16,16,17,14,14,17,17,15,10,10,16,15,0,15,15,19,20,0,14,14,15,16,0,16,16,19,19,0,0,0,21,22,0,13,13,17,17,0,18,17,0,21,0,15,15,17,17,0,15,15,18,19,0,0,22,0,21,0,13,13,16,17,0,19,19,0,22,0,16,15,16,16,9,8,8,14,14,12,11,11,15,15,13,11,11,15,15,0,21,20,19,18,0,0,0,19,18,12,11,11,16,15,15,13,13,17,18,14,11,11,15,15,0,22,22,19,18,0,22,21,18,18,14,11,11,15,15,17,14,14,18,18,15,12,12,15,15,0,22,22,20,19,0,0,21,18,18,0,0,22,20,20,0,0,0,0,0,0,20,21,18,18,0,0,0,21,21,0,0,0,20,19,0,22,21,19,19,0,0,0,0,0,0,0,22,17,18,0,0,22,0,22,0,22,0,19,19,0,11,11,15,15,0,11,11,14,14,0,12,12,15,15,0,15,15,14,14,0,16,16,16,16,0,12,12,16,16,0,14,14,16,16,0,11,11,15,15,0,15,15,17,17,0,15,15,15,15,0,12,12,16,16,0,14,14,15,15,0,11,11,15,15,0,15,15,17,17,0,15,15,14,15,0,16,16,17,17,0,0,0,19,19,0,14,14,15,15,0,18,18,21,0,0,15,15,14,15,0,16,16,17,17,0,21,0,19,19,0,14,14,15,15,0,20,20,22,0,0,16,15,14,14,0,12,12,13,13,0,12,12,16,16,0,12,12,16,16,0,16,16,22,21,0,18,17,21,0,0,13,13,16,16,0,15,15,18,19,0,12,12,16,16,0,16,17,22,0,0,17,17,0,22,0,13,13,17,16,0,15,15,19,19,0,12,12,16,16,0,16,16,21,20,0,17,16,22,0,0,18,18,22,21,0,0,0,0,0,0,15,16,21,21,0,19,19,0,0,0,18,17,0,0,0,18,18,21,0,0,0,0,0,0,0,16,16,22,22,0,20,21,0,0,0,18,19,0,22,0,13,13,16,16,0,12,12,15,15,0,13,13,16,16,0,14,14,15,15,0,15,15,17,17,0,13,13,17,16,0,15,15,17,17,0,12,12,16,16,0,15,15,17,17,0,14,14,16,16,0,13,13,16,17,0,15,15,17,17,0,12,12,16,16,0,14,14,17,17,0,14,14,16,16,0,16,16,17,17,0,21,0,21,19,0,13,13,16,16,0,17,17,0,0,0,15,15,16,16,0,16,15,18,18,0,22,0,20,20,0,13,13,15,15,0,18,18,0,0,0,15,15,15,15,0,12,12,17,17,0,14,14,17,17,0,14,14,17,17,0,17,17,18,17,0,17,17,19,18,0,13,13,17,17,0,16,16,18,18,0,13,13,16,16,0,17,17,19,19,0,16,16,17,17,0,13,13,18,18,0,17,17,18,18,0,13,13,17,17,0,17,17,19,19,0,16,17,17,17,0,17,17,19,19,0,21,0,21,19,0,14,14,16,16,0,20,19,0,21,0,16,16,16,16,0,17,18,19,19,0,0,0,0,21,0,15,15,16,17,0,21,20,0,0,0,17,18,16,17,0,9,9,14,14,0,14,14,15,16,0,14,14,15,15,0,0,0,18,18,0,21,0,18,19,0,12,12,15,15,0,16,16,17,17,0,14,14,14,14,0,22,0,19,18,0,22,0,17,18,0,14,14,16,15,0,18,18,19,18,0,14,15,15,15,0,0,21,20,20,0,0,0,18,18,0,21,21,19,19,0,0,0,0,0,0,21,21,18,18,0,22,0,20,20,0,22,0,19,19,0,22,0,19,20,0,0,0,0,0,0,0,21,17,18,0,0,0,22,22,0,0,0,19,18,0,18,20,16,16,0,21,20,17,17,0,0,21,18,18,0,22,21,18,18,0,0,22,19,19,0,20,20,17,17,0,0,0,18,18,0,19,20,17,17,0,22,0,19,21,0,22,21,18,18,0,20,19,17,18,0,0,0,19,19,0,20,20,17,17,0,22,22,21,21,0,20,0,18,18,0,22,22,18,18,0,0,0,20,22,0,20,20,16,16,0,0,0,21,0,0,21,20,16,17,0,22,0,19,20,0,0,0,21,20,0,19,21,17,17,0,0,0,0,0,0,21,21,17,17,0,12,12,13,13,0,14,14,16,16,0,14,14,16,16,0,18,18,0,0,0,19,18,22,0,0,13,13,16,16,0,16,16,18,18,0,13,13,16,16,0,17,18,21,0,0,18,18,21,0,0,13,13,16,16,0,17,17,19,20,0,13,13,16,17,0,18,18,21,0,0,18,18,21,0,0,18,19,0,21,0,0,0,0,0,0,16,16,21,20,0,20,20,0,0,0,18,19,0,0,0,18,18,0,0,0,0,0,0,0,0,16,16,0,21,0,22,22,0,0,0,19,19,0,0,0,16,16,19,20,0,17,16,22,21,0,17,17,21,20,0,19,18,0,22,0,19,19,22,22,0,16,15,22,22,0,19,19,0,21,0,15,15,20,20,0,18,19,0,21,0,18,18,22,22,0,16,16,21,20,0,20,19,21,22,0,16,15,20,20,0,19,19,0,22,0,18,18,21,0,0,19,18,21,22,0,0,0,0,0,0,16,16,19,21,0,20,22,0,22,0,18,18,20,21,0,19,18,0,22,0,0,0,22,0,0,16,16,20,20,0,21,21,0,0,0,18,18,21,0,0,12,12,17,17,0,15,14,17,17,0,14,14,18,18,0,17,17,17,18,0,18,18,18,18,0,13,13,18,18,0,16,17,19,18,0,13,13,16,17,0,17,17,18,19,0,17,17,17,17,0,13,13,17,17,0,17,18,18,18,0,13,13,16,16,0,18,18,19,20,0,16,17,17,16,0,17,18,19,18,0,0,0,22,21,0,15,15,16,16,0,20,20,21,22,0,17,17,16,16,0,16,17,18,18,0,0,0,21,21,0,15,15,16,16,0,21,20,0,0,0,17,17,16,16,0,10,10,14,14,0,14,14,15,15,0,14,14,15,15,0,22,0,18,18,0,0,0,19,19,0,13,13,15,16,0,17,16,18,18,0,14,14,15,15,0,21,21,19,18,0,22,21,18,17,0,14,14,15,15,0,18,18,19,18,0,15,15,14,14,0,22,21,19,19,0,22,21,17,18,0,0,0,19,19,0,0,0,0,0,0,20,22,17,17,0,0,22,22,20,0,0,0,19,18,0,21,22,19,18,0,0,0,0,0,0,22,22,17,18,0,0,0,21,22,0,0,0,19,18,0,20,20,17,17,0,21,21,17,18,0,21,22,18,18,0,21,0,18,18,0,22,0,19,19,0,19,21,18,18,0,0,22,18,18,0,22,21,17,17,0,22,0,20,20,0,0,0,18,18,0,22,21,18,18,0,21,0,19,19,0,20,21,17,17,0,0,22,22,20,0,21,22,17,17,0,0,21,19,18,0,0,0,21,21,0,21,20,16,17,0,0,0,0,0,0,21,0,17,17,0,21,0,19,20,0,0,0,20,22,0,20,20,17,17,0,0,0,0,0,0,21,21,17,17,0,12,12,13,13,0,14,14,16,16,0,14,14,16,16,0,18,18,21,0,0,19,19,22,0,0,13,13,16,16,0,16,16,18,18,0,13,13,16,16,0,18,18,21,22,0,18,18,0,22,0,13,13,16,16,0,17,17,20,18,0,13,13,16,16,0,19,18,0,22,0,18,18,22,21,0,18,19,0,0,0,0,0,0,0,0,16,16,21,21,0,21,21,0,0,0,18,19,0,0,0,19,19,21,0,0,0,0,0,0,0,16,16,0,21,0,20,20,0,0,0,20,20,0,0,0,16,16,21,20,0,18,17,21,22,0,17,18,0,21,0,18,19,22,22,0,19,19,0,22,0,16,17,21,22,0,20,19,0,0,0,16,16,20,21,0,19,19,0,0,0,19,19,0,22,0,17,17,21,21,0,19,20,0,0,0,16,16,0,20,0,19,20,0,21,0,18,18,0,22,0,19,20,22,22,0,0,0,0,22,0,17,17,0,21,0,21,21,0,0,0,18,19,23,21,0,20,19,0,0,0,0,0,0,0,0,17,17,0,20,0,0,0,0,0,0,19,19,23,22,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,4,5,5,9,9,12,9,9,12,12,12,10,10,13,13,13,11,11,12,12,13,13,13,12,12,13,10,10,13,13,13,13,13,13,13,13,10,10,13,12,13,11,11,13,13,13,14,14,13,12,13,10,10,13,13,12,13,13,13,13,13,10,10,12,12,13,11,11,13,13,13,14,14,12,12,13,12,12,13,13,13,13,13,13,13,13,11,11,12,12,13,11,11,13,13,13,14,14,12,12,13,14,14,13,13,14,13,13,14,14,14,14,14,12,12,13,14,14,13,13,14,14,14,12,12,12,8,8,12,12,13,12,12,11,11,13,11,11,11,11,14,12,12,11,11,14,12,12,10,11,14,12,12,12,12,14,12,12,12,12,13,13,13,11,11,14,12,12,11,11,14,12,12,12,12,14,12,12,12,12,14,12,12,12,12,14,13,13,11,11,14,12,12,11,11,14,12,12,12,12,14,13,13,12,12,14,12,12,12,12,14,13,13,11,11,14,12,12,11,11,14,13,13,11,11,15,13,13,12,12,14,12,12,12,12,15,13,13,12,12,14,12,12,11,11,15,13,13,11,11,12,9,9,11,11,13,7,7,11,11,13,8,8,12,12,14,10,10,10,10,14,14,14,11,11,14,8,8,12,12,14,14,14,12,12,14,7,7,11,11,14,9,9,12,12,14,14,14,11,11,14,8,8,12,12,14,14,14,12,12,14,7,7,11,11,14,9,9,12,12,14,14,14,11,11,14,10,10,12,12,14,14,14,13,13,14,9,9,11,11,14,10,10,12,11,15,14,14,11,11,14,15,15,12,12,15,14,14,14,14,15,14,14,11,11,15,14,14,12,12,15,14,14,11,11,14,11,11,10,10,15,10,10,10,10,15,10,10,10,10,15,11,11,9,9,15,12,13,9,9,15,11,11,11,11,15,13,13,11,11,15,10,10,10,10,15,11,11,10,10,15,13,13,11,11,15,11,11,11,11,15,13,13,11,11,15,10,10,10,10,15,11,11,10,10,15,13,13,10,11,15,12,12,11,11,15,13,13,11,10,15,11,11,10,10,15,11,12,10,9,15,13,13,10,10,15,14,14,11,11,15,13,13,11,11,15,14,14,10,10,15,13,13,10,10,15,14,14,10,10,14,13,13,10,10,15,13,13,10,10,15,13,13,10,10,14,14,14,8,9,15,14,14,9,9,15,14,14,11,11,15,14,14,10,10,15,14,14,10,10,15,14,14,11,11,15,14,14,10,10,15,14,14,11,11,15,14,14,10,10,15,14,14,10,10,15,14,14,10,10,15,14,14,9,9,15,14,14,11,11,15,14,14,11,11,15,14,14,10,10,15,14,14,10,10,14,14,14,9,9,15,15,15,11,11,15,14,14,12,12,15,15,15,10,10,15,14,15,10,10,15,15,15,9,9,15,10,10,13,13,17,8,8,12,12,17,10,9,13,13,18,11,11,12,12,18,14,14,12,12,17,9,9,13,13,17,13,13,12,12,18,8,8,12,12,18,10,10,12,12,18,14,14,12,12,18,10,10,13,13,18,13,13,13,13,18,9,9,12,12,18,10,10,13,13,18,14,14,12,12,18,11,11,13,13,18,14,14,13,13,18,10,10,12,12,17,11,11,12,12,18,14,14,12,12,18,14,14,13,13,18,14,14,13,13,19,14,15,12,12,18,14,14,12,12,18,15,15,12,12,13,7,7,11,11,14,15,15,11,11,14,16,15,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,11,12,14,15,15,12,12,13,15,15,11,11,14,15,15,11,11,15,15,15,12,12,14,15,15,12,12,14,16,16,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,15,15,15,12,12,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,14,15,12,12,15,15,15,12,12,15,16,16,12,12,15,15,15,12,12,14,15,15,12,12,15,15,15,12,12,13,13,13,11,11,14,14,15,11,11,14,14,14,12,12,14,15,15,10,10,15,15,15,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,15,15,12,12,15,15,15,11,11,14,15,15,12,12,14,14,15,11,11,14,15,15,11,11,14,15,15,12,12,15,15,15,11,11,15,15,15,12,12,14,15,15,12,12,14,15,15,10,10,14,15,15,11,11,15,15,15,10,10,15,15,15,12,12,15,15,15,14,14,15,15,15,11,11,15,15,15,11,11,15,15,15,11,11,14,10,10,10,10,15,9,9,12,11,15,10,10,12,12,15,11,11,11,11,15,13,13,12,12,16,10,10,12,12,15,13,13,12,12,15,9,9,11,11,15,10,10,13,12,15,13,13,11,11,15,10,10,12,12,15,13,13,12,12,15,9,9,11,11,15,10,10,12,12,15,13,13,11,11,15,11,11,12,12,15,13,13,13,13,15,10,10,11,11,15,11,11,12,12,15,13,14,11,11,15,14,14,13,13,16,14,14,20,19,15,14,14,11,11,15,13,14,12,12,15,14,14,11,11,14,13,13,10,10,14,14,13,11,11,15,13,14,12,12,15,14,14,12,12,15,14,14,11,11,15,14,14,12,12,15,15,14,13,13,15,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,13,13,15,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,15,14,14,11,11,15,15,15,12,12,15,15,15,13,13,16,14,14,12,12,15,15,15,13,13,15,15,15,12,12,15,15,15,12,12,14,10,10,13,13,17,9,9,12,12,17,9,9,13,13,17,11,11,12,12,18,14,14,12,12,18,10,10,13,13,18,14,13,12,12,18,9,9,12,12,18,10,10,12,13,18,14,14,12,12,17,9,9,12,12,17,13,14,12,12,17,9,9,12,12,17,10,10,12,12,17,14,14,11,11,18,11,11,12,12,18,14,14,12,13,18,10,10,12,12,18,11,11,12,12,18,14,14,11,11,18,15,15,12,12,18,14,14,13,13,18,14,15,12,12,17,14,14,12,12,17,15,15,12,12,13,7,7,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,14,15,15,11,11,14,15,15,12,12,14,15,15,11,11,15,15,15,11,11,15,15,15,12,12,14,15,15,12,12,14,15,16,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,15,15,15,12,12,15,16,16,12,12,15,15,15,12,12,15,15,15,12,12,15,15,15,12,12,13,13,13,12,12,14,14,14,11,11,14,14,14,12,12,14,14,14,10,10,15,15,15,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,14,14,12,12,15,15,14,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,14,14,11,11,15,14,14,10,10,14,15,15,12,12,14,14,14,12,12,14,15,15,10,10,14,15,15,11,11,15,15,15,10,10,15,15,15,12,12,15,14,14,13,13,15,15,15,10,10,15,14,14,11,11,15,15,15,10,10,14,10,10,10,10,14,9,9,12,12,15,10,10,12,12,14,11,11,11,11,15,13,14,12,12,15,10,10,13,13,15,13,13,12,12,15,9,9,12,12,15,10,10,13,13,15,13,14,11,11,15,10,10,12,12,15,13,13,12,12,15,9,9,11,11,15,10,10,12,12,15,13,13,11,11,15,11,11,12,12,15,13,13,13,13,15,10,10,11,11,15,11,11,12,12,15,14,14,11,11,15,14,14,13,13,15,14,14,20,19,15,14,14,11,11,15,14,14,12,12,15,14,14,11,11,14,13,13,11,11,15,13,13,11,11,15,14,13,12,12,15,14,14,11,12,15,14,14,11,11,15,14,14,12,12,14,14,14,13,13,15,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,13,13,14,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,15,14,14,11,11,14,14,14,12,12,15,15,15,13,13,16,14,14,12,12,15,15,15,13,13,15,14,14,12,12,15,15,15,12,12,15,11,11,13,13,18,10,10,12,12,17,11,11,12,12,18,12,12,11,11,18,14,14,12,12,18,10,10,13,13,18,14,14,12,12,18,10,10,12,12,18,11,11,12,12,18,14,14,12,12,18,11,11,12,13,18,14,14,12,12,18,10,10,12,12,18,11,11,12,12,18,14,14,11,11,18,11,11,12,12,18,14,14,12,12,17,10,10,11,11,17,12,12,11,11,17,14,14,11,11,18,15,15,12,12,18,14,14,13,13,18,15,15,11,11,18,15,14,12,12,18,15,15,11,11,14,8,8,11,11,14,15,15,10,10,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,15,15,15,11,11,15,15,15,12,12,14,15,15,10,10,15,15,15,11,11,15,15,15,12,12,15,15,15,11,11,15,15,15,13,13,14,15,15,10,10,15,15,15,11,11,15,15,15,12,12,15,15,15,12,12,15,16,16,12,12,15,14,14,11,11,15,15,15,11,11,15,15,15,12,12,16,15,15,13,13,15,16,16,13,13,16,15,15,12,12,15,15,15,12,12,15,15,15,12,12,14,13,13,11,11,14,14,14,11,11,14,14,14,12,12,15,14,14,11,11,15,15,14,11,11,15,14,14,12,12,15,14,14,12,12,14,15,15,11,11,15,14,14,12,12,15,14,14,11,11,15,14,15,12,12,15,14,14,12,12,14,15,15,11,11,15,14,14,11,11,15,14,14,11,11,15,15,14,12,12,15,14,14,12,12,15,15,15,10,11,15,14,14,11,11,15,15,15,10,10,15,15,15,12,12,16,14,14,13,13,15,15,15,11,11,15,14,14,11,11,15,15,15,11,11,14,11,11,9,9,14,10,10,12,12,15,11,11,12,12,15,12,12,12,12,15,14,14,13,13,15,11,11,12,12,15,14,14,13,13,14,10,10,12,12,15,11,11,13,13,15,14,14,12,12,15,10,10,12,12,14,14,14,13,13,14,10,10,11,11,15,11,11,12,12,15,14,14,12,12,15,12,12,13,13,15,14,14,14,14,15,11,11,11,11,15,12,11,12,12,15,14,14,11,11,15,15,15,13,14,15,14,14,20,19,15,14,14,12,12,15,14,14,13,13,15,14,14,12,12,14,13,13,10,10,14,13,13,11,11,14,13,13,11,11,15,14,14,12,12,15,14,14,12,12,15,14,14,12,11,14,14,14,13,13,15,14,14,11,11,15,14,14,11,11,15,14,14,14,14,15,14,14,11,12,15,14,14,13,13,14,14,14,11,11,15,14,14,11,11,15,14,14,14,14,15,14,14,12,12,15,14,14,13,13,15,14,14,11,11,14,14,14,12,12,15,14,14,13,13,15,15,15,13,13,15,14,14,13,13,15,15,15,13,13,15,14,14,13,13,15,15,15,13,13,15,14,14,13,13,18,15,15,12,12,18,15,15,12,12,18,16,16,11,11,18,17,17,12,12,18,15,15,13,13,18,17,17,12,12,18,15,15,12,12,18,15,16,12,12,18,17,17,12,12,18,15,15,13,12,17,16,17,12,12,17,15,15,11,12,18,15,15,12,12,18,17,17,11,11,18,16,16,12,12,18,17,16,12,12,18,15,15,11,11,18,15,15,12,12,18,17,17,11,11,18,17,17,12,12,18,16,16,13,13,18,17,17,11,11,17,16,16,11,11,18,17,17,11,11,15,15,15,11,11,16,15,15,11,11,16,15,15,11,11,16,15,15,12,12,17,15,15,14,14,16,15,15,11,11,17,15,15,14,14,16,15,15,11,11,16,15,15,12,12,18,15,15,13,13,16,15,15,11,11,17,15,15,14,14,16,15,15,11,11,16,15,15,12,12,17,15,15,13,13,16,15,15,12,12,17,16,15,14,14,16,15,15,11,11,16,15,15,12,12,18,15,15,13,13,17,15,15,14,14,17,16,16,15,15,18,14,15,13,13,18,15,15,14,14,18,15,15,13,13,15,13,13,12,12,15,14,14,12,12,16,14,14,12,12,16,14,14,12,12,17,14,15,12,12,16,14,14,12,12,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,17,14,14,12,12,16,14,14,12,12,17,14,14,13,13,15,15,15,11,11,16,14,14,12,12,17,14,14,12,12,16,15,15,12,12,17,14,14,13,12,16,15,15,11,11,16,14,14,12,12,17,15,15,11,11,17,15,15,13,13,17,14,14,13,13,18,15,15,12,12,17,14,14,12,12,17,15,15,12,12,14,15,15,9,9,14,15,15,12,12,15,16,15,13,13,15,15,15,14,14,15,15,15,21,19,15,15,15,13,13,15,15,15,19,19,15,15,15,12,12,15,16,16,14,14,15,15,15,19,19,15,16,15,13,13,15,16,16,19,20,15,15,15,12,13,15,16,16,14,14,15,15,15,20,19,15,15,15,14,14,15,16,16,19,19,15,15,15,14,13,15,15,15,14,14,15,15,15,19,19,15,16,16,20,19,15,17,16,21,20,15,15,15,20,19,15,16,16,20,20,15,15,15,19,20,14,13,13,10,10,14,14,14,11,11,14,14,14,12,12,15,14,14,13,13,15,15,14,20,20,15,14,14,12,12,14,14,14,19,19,15,14,14,11,11,15,14,14,12,12,15,14,14,20,19,15,14,14,12,12,14,14,14,20,20,14,14,14,11,11,15,14,14,12,12,15,14,14,20,21,15,14,14,13,13,15,14,14,20,20,15,14,14,12,12,15,14,14,13,13,14,15,15,20,20,15,15,15,20,19,15,14,14,20,19,15,15,15,20,20,15,14,14,21,20,15,15,15,20,20,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,6,7,7,7,8,8,7,8,8,10,11,11,9,8,8,8,8,8,11,11,12,9,8,8,5,7,7,9,11,11,10,11,11,10,11,11,12,14,14,11,12,12,10,12,12,13,14,14,12,12,12,5,6,6,7,6,6,8,7,7,8,7,7,11,10,10,10,7,7,9,8,8,12,11,11,10,7,7,7,7,7,11,10,10,12,10,10,11,10,10,15,13,13,13,10,10,12,11,11,15,13,13,14,11,11,7,7,7,11,11,11,12,11,11,12,11,11,14,14,14,13,12,12,12,12,12,16,15,15,14,12,12,0,10,10,0,11,11,0,12,12,0,11,11,0,14,14,0,11,11,0,12,12,0,15,15,0,11,11,7,8,8,12,11,10,12,10,10,12,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,12,11,11,12,11,11,15,14,14,14,12,12,13,12,12,15,14,14,15,13,13,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,13,13,0,15,14,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,5,5,0,8,8,0,8,8,0,9,9,0,10,10,0,8,8,0,8,8,0,10,10,0,8,8,0,7,7,0,8,8,0,7,7,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,7,7,0,6,6,0,7,7,0,7,7,0,10,10,0,6,6,0,7,7,0,10,10,0,5,5,0,8,8,0,7,7,0,8,8,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,7,7,0,6,6,0,9,10,0,10,10,0,10,10,0,11,11,0,9,9,0,10,10,0,11,11,0,9,9,0,8,8,0,8,8,0,8,8,0,9,9,0,9,9,0,7,7,0,8,8,0,9,9,0,7,7,0,8,8,0,7,7,0,7,7,0,8,8,0,9,9,0,7,7,0,7,7,0,8,8,0,6,6,0,6,6,0,10,10,0,10,10,0,10,10,0,12,12,0,9,9,0,10,10,0,12,12,0,9,9,0,8,8],"i8",N3,F.GLOBAL_BASE+446300),E3([7,7,0,7,7,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,6,6,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,6,6,5,7,8,0,8,8,6,9,9,7,10,10,0,8,8,0,9,9,0,12,12,0,8,8,4,7,7,6,10,10,0,12,12,7,11,11,8,12,12,0,12,12,0,13,12,0,15,15,0,12,12,0,7,7,0,7,7,0,7,7,0,8,8,0,10,10,0,7,7,0,8,8,0,11,11,0,7,7,5,7,7,8,9,9,0,10,10,8,9,9,11,11,11,0,10,9,0,11,11,0,13,13,0,10,10,6,7,7,8,10,10,0,12,12,9,10,10,10,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,10,10,0,11,11,0,11,11,0,11,11,0,13,13,0,11,11,0,11,11,0,15,15,0,10,10,0,8,8,0,10,10,0,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,11,11,0,7,7,0,10,10,0,12,12,0,10,10,0,12,12,0,12,12,0,13,13,0,14,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,9,9,0,0,0,8,8,0,0,0,9,9,0,0,0,12,12,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,5,5,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,5,5,0,0,0,7,7,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,5,5,0,0,0,7,7,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,11,0,0,0,9,9,0,0,0,10,10,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,7,7,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,8,8,0,0,0,10,11,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,7,7,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,7,8,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,9,9,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,9,9,0,0,0,10,10,0,0,0,12,12,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,5,16,9,9,13,18,21,4,2,21,6,6,10,15,21,16,19,6,5,7,10,13,16,8,6,5,4,4,8,13,16,8,5,6,4,4,7,12,15,13,10,9,7,7,9,13,16,18,15,13,12,9,7,10,14,21,18,13,13,7,5,8,12,2,0,0,0,64,0,0,0,192,58,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,11,7,0,0,0,0,0,0,0,0,0,176,11,7,0,0,0,0,0,0,0,0,0,216,11,7,0,0,12,7,0,0,0,0,0,0,0,0,0,40,12,7,0,80,12,7,0,0,0,0,0,0,0,0,0,120,12,7,0,160,12,7,0,0,0,0,0,0,0,0,0,200,12,7,0,240,12,7,0,160,12,7,0,0,0,0,0,24,13,7,0,64,13,7,0,160,8,7,0,200,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,72,11,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,64,11,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,8,7,0,80,8,7,0,0,0,0,0,0,0,0,0,120,8,7,0,160,8,7,0,200,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,88,10,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,8,11,7,0,0,0,0,0,2,0,0,0,25,0,0,0,32,10,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,10,7,0,0,0,0,0,2,0,0,0,9,0,0,0,0,10,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,16,10,7,0,0,0,0,0,1,0,0,0,25,0,0,0,120,9,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,152,9,7,0,0,0,0,0,1,0,0,0,25,0,0,0,240,8,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,16,9,7,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,4,4,5,5,5,4,5,4,5,5,5,5,6,5,6,5,6,5,6,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,8,8,8,8,9,9,10,10,10,10,4,6,5,8,7,9,9,9,9,10,9,11,9,4,5,6,7,8,9,9,9,9,9,10,9,10,8,9,8,9,8,10,9,11,9,12,10,12,10,8,8,9,8,9,9,10,9,11,10,12,10,12,9,10,10,11,10,12,11,12,11,12,12,12,12,9,10,10,11,11,11,11,11,12,12,12,12,12,10,11,11,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,13,12,13,12,13,12,12,11,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,12,13,12,12,12,13,12,13,12,13,12,13,12,13,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,4,13,9,9,12,15,17,4,2,18,5,7,10,14,18,11,8,6,5,6,8,11,14,8,5,5,3,5,8,11,13,9,6,7,5,5,7,9,10,11,10,9,8,6,6,8,10,14,14,11,11,9,8,9,10,17,17,14,13,10,9,10,10,5,0,0,0,243,0,0,0,184,57,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,176,58,7,0,0,0,0,0,5,0,0,0,53,12,0,0,104,45,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,57,7,0,0,0,0,0,5,0,0,0,243,0,0,0,96,44,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,88,45,7,0,0,0,0,0,5,0,0,0,243,0,0,0,88,43,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,80,44,7,0,0,0,0,0,5,0,0,0,243,0,0,0,80,42,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,72,43,7,0,0,0,0,0,5,0,0,0,53,12,0,0,0,30,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,42,7,0,0,0,0,0,5,0,0,0,53,12,0,0,176,17,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,232,29,7,0,0,0,0,0,1,0,0,0,7,0,0,0,136,17,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,144,17,7,0,0,0,0,0,5,0,0,0,243,0,0,0,128,16,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,120,17,7,0,0,0,0,0,5,0,0,0,243,0,0,0,120,15,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,112,16,7,0,0,0,0,0,5,0,0,0,243,0,0,0,112,14,7,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,104,15,7,0,0,0,0,0,5,0,0,0,243,0,0,0,104,13,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,96,14,7,0,0,0,0,0,1,9,9,6,9,9,5,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,7,7,7,7,7,7,7,8,8,9,9,9,9,7,7,8,8,8,9,9,9,9,7,8,6,7,7,8,8,8,8,8,8,9,8,8,10,9,9,10,8,8,10,8,8,10,9,9,10,8,8,6,6,6,8,6,6,8,7,7,8,7,7,10,8,8,9,7,7,9,7,7,10,8,9,9,7,7,7,7,7,10,8,8,11,8,8,10,8,8,12,9,9,12,8,8,11,9,9,12,9,9,11,8,8,7,7,7,10,9,9,10,9,9,10,9,9,11,10,10,10,9,9,11,9,9,11,10,10,11,9,9,9,8,8,10,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,9,9,11,10,10,11,9,9,8,8,8,11,9,9,11,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,9,9,12,8,8,8,7,7,10,9,9,10,9,9,11,9,9,11,11,11,11,9,9,11,10,10,11,11,11,11,9,9,10,9,9,11,9,9,11,9,10,11,10,9,11,10,10,11,9,9,11,9,10,11,10,10,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,6,6,7,7,7,7,8,8,7,9,9,11,11,11,9,8,8,8,9,9,12,11,11,9,8,8,6,7,7,10,11,10,10,10,10,11,11,10,14,13,14,12,11,11,11,11,11,15,14,14,13,12,12,5,6,6,8,5,5,8,7,7,8,8,8,12,10,10,9,7,7,9,7,8,12,10,10,10,7,7,7,8,8,12,10,10,12,10,10,11,10,10,15,13,13,13,10,10,11,10,10,16,13,14,14,10,10,7,7,7,12,11,11,12,11,11,11,11,11,16,15,15,14,12,12,12,11,11,16,15,16,14,12,12,10,9,9,14,11,11,13,11,11,12,11,11,16,14,14,14,11,11,12,11,11,17,15,15,14,11,11,7,8,8,12,11,11,12,10,10,12,10,10,16,14,13,14,10,10,12,10,10,17,14,14,14,10,10,8,7,7,13,11,11,12,11,11,12,11,11,16,15,14,14,12,12,12,11,11,16,15,14,15,12,12,11,10,10,13,11,11,13,12,11,13,11,11,17,14,14,14,11,11,13,11,11,17,14,15,14,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,14,14,6,7,7,14,14,7,7,7,15,15,0,12,12,15,15,0,13,13,15,15,7,8,8,15,15,10,10,10,16,16,9,8,8,15,15,0,13,13,18,17,0,13,13,16,16,8,8,8,15,15,12,11,11,16,16,9,8,8,15,15,0,13,13,18,18,0,13,13,16,16,0,14,14,17,17,0,20,0,19,20,0,12,12,16,16,0,16,16,20,22,0,14,14,16,16,0,14,14,17,17,0,20,22,20,19,0,13,13,15,16,0,17,18,0,21,0,15,15,16,16,5,7,7,13,13,8,9,9,14,14,10,10,10,14,14,0,20,22,18,18,0,22,21,18,17,9,10,10,14,14,12,12,12,17,17,12,10,10,14,14,0,0,20,17,17,0,22,21,17,18,11,10,10,14,14,14,13,13,18,18,12,11,11,14,14,0,22,21,18,19,0,20,0,17,17,0,22,0,18,18,0,0,0,0,0,0,20,20,17,17,0,22,0,22,21,0,21,0,19,18,0,22,22,18,18,0,0,0,0,0,0,21,0,17,17,0,22,0,20,20,0,0,0,19,18,6,6,6,12,12,8,6,6,10,10,8,6,6,13,12,0,10,10,11,11,0,11,11,13,13,8,7,7,13,13,11,9,9,13,13,10,6,6,12,12,0,10,10,14,14,0,10,10,13,13,9,7,7,13,13,12,10,10,13,13,10,6,6,12,12,0,11,11,15,15,0,10,10,13,13,0,12,12,15,14,0,19,20,16,17,0,9,9,13,13,0,14,14,20,21,0,12,11,13,12,0,12,12,15,14,0,20,19,17,17,0,10,10,12,13,0,15,15,22,21,0,12,12,12,13,0,10,10,12,12,0,11,11,15,15,0,11,11,15,15,0,15,15,22,22,0,16,17,0,0,0,11,11,15,15,0,14,14,18,18,0,11,11,16,16,0,16,15,0,21,0,16,16,0,0,0,12,12,15,15,0,14,14,19,19,0,11,11,15,15,0,15,15,22,0,0,16,16,22,0,0,16,16,0,21,0,0,0,0,0,0,15,15,19,20,0,18,18,0,0,0,17,17,0,0,0,17,17,0,0,0,0,0,0,0,0,16,15,22,21,0,20,20,0,0,0,18,18,0,0,0,10,10,12,12,0,10,10,11,11,0,11,11,12,12,0,11,11,9,9,0,13,12,12,12,0,11,11,13,13,0,13,13,12,12,0,10,10,12,12,0,13,12,13,13,0,12,12,12,12,0,11,11,13,13,0,13,13,12,12,0,10,10,12,12,0,13,13,14,13,0,12,12,12,12,0,14,13,13,14,0,20,21,15,15,0,11,11,12,12,0,15,16,20,20,0,12,13,10,10,0,13,13,14,13,0,20,20,15,15,0,11,11,12,12,0,16,17,21,21,0,13,13,11,11,6,7,7,16,15,11,9,9,14,15,12,9,9,16,16,0,13,13,15,15,0,14,14,17,17,10,9,9,16,16,14,12,12,16,16,12,9,9,15,15,0,13,13,17,18,0,13,13,15,15,12,10,10,17,17,15,12,12,17,17,13,9,9,16,16,0,13,13,18,19,0,14,14,16,16,0,15,15,18,18,0,0,0,20,19,0,12,12,17,16,0,16,17,0,21,0,14,15,16,16,0,15,15,18,18,0,0,22,19,21,0,13,13,16,16,0,18,17,22,22,0,15,15,16,16,7,7,7,13,13,11,10,10,15,15,12,10,10,14,14,0,21,0,18,17,0,21,22,18,18,11,10,10,15,15,14,12,12,17,17,14,11,11,14,14,0,21,20,18,18,0,22,21,18,17,12,11,10,16,16,16,14,14,17,19,14,11,11,15,15,0,0,22,19,19,0,21,22,18,18,0,21,0,18,19,0,0,0,22,0,0,22,21,17,17,0,0,0,20,22,0,0,21,18,18,0,0,0,19,20,0,0,0,0,0,0,0,21,17,17,0,0,0,22,21,0,0,0,19,19,10,9,9,14,13,13,10,10,12,12,13,10,10,14,14,0,13,13,12,12,0,15,14,16,15,13,10,10,14,14,15,12,12,14,14,15,10,10,14,14,0,14,14,15,15,0,14,13,14,14,13,10,10,15,15,17,13,13,15,15,14,10,10,14,14,0,14,14,15,16,0,14,14,15,15,0,15,15,16,16,0,21,22,17,18,0,12,12,14,14,0,17,17,20,21,0,14,14,14,14,0,15,15,16,16,0,21,22,18,18,0,13,13,14,14,0,18,18,22,0,0,15,15,14,14,0,11,11,13,13,0,12,12,16,15,0,12,12,16,16,0,16,16,0,0,0,16,17,0,22,0,12,12,16,16,0,14,14,17,18,0,11,11,16,16,0,15,15,0,21,0,16,16,21,22,0,12,12,16,16,0,15,15,19,19,0,12,12,17,16,0,16,16,21,22,0,16,16,0,0,0,17,17,0,22,0,0,0,0,0,0,15,15,19,20,0,17,19,0,0,0,17,17,22,0,0,17,17,0,22,0,0,0,0,0,0,15,15,21,0,0,19,20,0,0,0,19,18,22,0,0,11,12,14,14,0,11,11,14,14,0,12,12,15,15,0,13,13,13,13,0,14,14,16,16,0,12,12,15,15,0,14,14,16,15,0,11,11,15,15,0,13,13,16,16,0,13,13,15,15,0,12,12,15,15,0,15,14,16,16,0,11,11,15,15,0,14,14,17,17,0,13,13,15,15,0,15,15,16,16,0,0,0,18,18,0,12,12,14,14,0,16,16,22,0,0,14,14,15,15,0,15,15,16,17,0,21,22,18,18,0,13,13,15,14,0,18,17,22,0,0,14,14,15,15,8,8,8,16,15,12,10,10,16,15,12,10,10,16,16,0,14,14,16,17,0,14,14,17,16,12,10,10,17,18,14,12,12,18,18,14,10,10,16,16,0,14,14,18,18,0,14,14,16,16,12,9,9,16,16,17,13,13,16,17,14,9,9,15,15,0,14,14,18,19,0,13,13,15,15,0,15,15,18,19,0,0,0,22,21,0,13,13,16,16,0,16,16,22,0,0,15,15,16,16,0,14,14,18,17,0,0,0,20,0,0,13,13,16,16,0,18,18,0,0,0,15,15,16,16,8,7,7,13,13,12,10,10,15,15,12,10,10,14,14,0,22,22,19,18,0,0,0,18,18,12,10,10,15,15,14,13,13,17,17,14,11,11,15,15,0,19,20,18,18,0,22,21,17,18,13,11,11,15,15,16,13,13,18,18,14,11,11,14,15,0,22,21,20,19,0,22,21,17,17,0,0,22,19,18,0,0,0,0,0,0,22,20,17,17,0,0,0,21,20,0,0,0,19,17,0,0,22,19,19,0,0,0,0,0,0,22,20,18,17,0,0,0,0,0,0,0,0,18,18,0,10,10,14,14,0,11,11,14,14,0,11,11,15,15,0,14,14,14,14,0,15,15,16,16,0,11,11,16,16,0,13,13,16,16,0,11,11,15,15,0,14,14,16,16,0,14,14,15,15,0,11,11,15,15,0,13,13,15,15,0,10,10,15,15,0,15,15,17,17,0,14,14,14,14,0,16,16,16,16,0,0,22,19,19,0,13,13,14,14,0,17,17,0,0,0,15,15,14,14,0,16,16,17,17,0,0,22,18,18,0,13,13,14,14,0,21,18,0,0,0,15,15,14,14,0,11,11,13,13,0,12,12,15,15,0,12,12,16,15,0,16,16,0,0,0,17,17,22,22,0,12,12,16,16,0,14,14,18,18,0,11,12,16,16,0,15,16,0,21,0,16,16,22,21,0,12,12,16,16,0,15,15,19,20,0,11,12,16,16,0,15,15,20,22,0,16,16,0,22,0,17,17,22,0,0,0,0,0,0,0,15,15,21,22,0,19,18,0,0,0,17,17,0,0,0,17,17,0,22,0,0,0,0,0,0,16,15,22,0,0,19,19,0,0,0,17,18,0,0,0,12,12,15,15,0,12,12,15,15,0,12,12,15,15,0,13,13,14,14,0,15,15,16,17,0,12,12,16,16,0,14,14,16,16,0,12,11,15,16,0,14,14,16,17,0,14,14,16,16,0,13,12,16,16,0,15,15,16,16,0,11,11,15,15,0,14,14,16,16,0,14,14,15,15,0,15,15,18,17,0,0,22,0,20,0,13,13,15,15,0,16,17,22,22,0,14,14,15,15,0,15,15,17,18,0,20,0,19,19,0,13,13,15,15,0,18,18,22,0,0,14,14,15,15,0,11,11,16,16,0,14,14,17,16,0,13,13,17,17,0,16,16,17,17,0,17,17,18,19,0,12,12,16,17,0,15,15,18,18,0,12,12,16,16,0,16,16,19,18,0,16,16,17,16,0,12,13,17,17,0,17,16,18,17,0,13,12,16,16,0,16,16,18,19,0,16,16,16,17,0,16,16,18,18,0,22,0,22,22,0,13,13,16,16,0,19,18,22,20,0,16,15,16,16,0,16,17,18,18,0,0,0,22,20,0,14,14,16,16,0,19,19,0,0,0,16,16,16,16,0,9,9,13,13,0,13,13,15,15,0,14,14,15,15,0,0,22,17,18,0,22,0,18,19,0,12,12,15,15,0,15,16,17,17,0,14,14,14,14,0,22,0,18,18,0,21,22,17,17,0,13,13,15,15,0,17,17,17,18,0,14,14,15,15,0,22,21,21,19,0,20,21,17,17,0,21,21,19,18,0,0,0,0,0,0,21,21,17,17,0,0,0,22,22,0,0,22,19,18,0,0,21,19,18,0,0,0,0,22,0,19,20,17,17,0,0,0,0,22,0,0,0,19,18,0,19,19,15,16,0,21,19,16,17,0,0,21,17,17,0,0,22,17,17,0,22,22,18,19,0,20,20,16,16,0,0,22,18,18,0,20,19,16,17,0,22,21,20,19,0,0,21,17,17,0,21,20,17,17,0,0,0,18,18,0,19,19,17,16,0,22,0,19,19,0,21,22,17,18,0,0,22,19,18,0,0,0,19,20,0,19,19,16,16,0,22,22,22,0,0,20,22,16,16,0,22,20,18,19,0,0,0,20,19,0,20,20,16,16,0,0,0,0,0,0,22,20,17,16,0,11,11,13,13,0,14,13,15,15,0,13,13,16,15,0,18,17,21,0,0,18,18,21,0,0,12,12,15,15,0,15,16,17,18,0,12,12,15,15,0,17,17,22,20,0,17,18,22,0,0,12,12,17,16,0,16,17,19,19,0,13,13,16,16,0,17,17,0,22,0,17,17,0,21,0,18,18,20,22,0,0,0,0,0,0,15,15,21,20,0,20,19,0,0,0,18,18,22,0,0,17,17,22,0,0,0,0,0,0,0,15,16,20,22,0,20,21,0,0,0,19,18,0,0,0,15,15,19,19,0,17,16,20,20,0,16,17,20,21,0,18,17,0,0,0,19,19,0,0,0,15,15,21,19,0,19,19,0,0,0,15,15,22,22,0,18,18,0,22,0,17,18,22,21,0,15,15,20,19,0,19,19,0,0,0,15,15,20,22,0,18,19,20,0,0,18,17,21,21,0,18,18,19,22,0,0,0,0,0,0,15,15,20,19,0,19,19,0,0,0,18,18,21,22,0,18,18,22,0,0,0,0,0,0,0,15,15,19,20,0,21,21,0,0,0,17,17,20,20,0,12,12,17,17,0,14,14,16,17,0,13,14,17,17,0,16,16,17,17,0,17,17,17,19,0,13,13,17,17,0,16,16,18,18,0,13,13,16,16,0,16,16,18,18,0,16,16,17,17,0,13,13,17,17,0,17,17,18,17,0,12,12,15,16,0,17,18,19,20,0,16,16,16,16,0,17,16,18,19,0,0,22,21,22,0,14,14,16,16,0,19,19,0,0,0,16,16,16,16,0,16,16,18,17,0,0,22,21,21,0,14,14,16,16,0,22,20,22,0,0,16,16,15,15,0,9,9,13,13,0,14,14,15,15,0,14,14,14,14,0,22,22,18,18,0,0,22,18,18,0,12,12,15,15,0,16,16,18,17,0,14,14,14,14,0,20,21,18,18,0,22,21,17,17,0,13,13,15,15,0,17,17,18,18,0,14,14,14,14,0,0,21,18,19,0,0,22,17,17,0,22,22,19,18,0,0,0,0,0,0,19,21,17,17,0,0,0,22,20,0,0,21,18,19,0,0,22,18,18,0,0,0,0,22,0,20,22,17,17,0,0,0,20,22,0,0,0,18,18,0,19,21,16,16,0,20,22,16,17,0,20,0,17,17,0,22,0,18,17,0,21,0,18,19,0,20,20,17,17,0,22,0,18,18,0,21,20,17,17,0,0,20,20,19,0,0,21,18,17,0,21,21,17,17,0,22,0,18,17,0,19,19,17,17,0,0,22,20,21,0,0,21,17,17,0,22,0,18,18,0,0,0,20,22,0,20,19,16,16,0,0,0,0,0,0,22,22,17,17,0,22,0,18,19,0,0,0,21,20,0,19,21,16,17,0,0,0,0,0,0,22,22,17,16,0,11,11,13,13,0,13,13,15,15,0,13,13,15,15,0,17,17,22,21,0,18,18,22,0,0,12,13,16,15,0,15,16,18,18,0,13,13,16,16,0,17,17,0,22,0,17,17,22,22,0,13,13,16,16,0,16,16,19,18,0,13,13,16,16,0,18,17,0,20,0,18,17,20,0,0,17,17,21,0,0,0,0,0,0,0,15,15,21,22,0,19,20,0,0,0,18,18,0,0,0,18,17,0,0,0,0,0,0,0,0,16,16,22,22,0,20,20,0,0,0,21,19,0,0,0,15,15,20,19,0,16,16,22,20,0,17,17,0,22,0,18,18,0,22,0,19,17,0,0,0,15,16,22,20,0,18,19,0,0,0,16,16,22,20,0,18,18,0,22,0,18,18,22,0,0,16,16,21,20,0,19,20,0,22,0,16,16,0,22,0,18,18,0,22,0,18,18,0,21,0,19,18,0,22,0,0,0,0,0,0,16,16,21,20,0,20,0,0,0,0,18,18,21,0,0,18,18,0,0,0,0,0,0,0,0,16,16,21,19,0,0,0,0,0,0,18,18,0,21,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,5,8,8,12,10,10,12,12,12,10,10,12,12,13,11,11,12,12,13,12,12,12,12,13,10,10,13,13,13,13,13,13,13,13,10,10,13,13,13,11,11,13,13,14,13,13,12,12,13,10,10,13,13,13,13,13,13,13,13,10,10,12,12,13,11,11,13,13,13,13,13,12,12,13,12,12,13,13,13,13,13,13,13,14,11,11,12,12,14,12,12,13,12,14,14,14,12,12,13,14,14,13,13,14,13,13,13,13,14,14,14,12,12,14,13,13,13,13,14,14,14,12,12,12,8,8,11,11,12,12,12,11,11,12,11,11,10,10,13,12,12,10,10,13,12,12,10,10,13,12,12,12,12,14,12,12,12,12,13,13,13,11,11,14,12,12,11,11,14,12,12,12,12,14,12,12,12,12,13,12,12,12,12,13,13,13,11,11,14,12,12,11,11,14,12,12,12,12,14,13,13,12,12,14,12,12,12,11,14,13,13,11,11,14,13,12,11,11,14,13,13,11,11,14,13,13,12,12,14,12,12,12,12,15,13,13,12,12,14,12,12,11,11,14,13,13,11,11,12,9,9,10,10,12,7,7,11,11,12,9,9,12,12,13,10,10,10,10,14,14,14,11,11,13,9,9,12,12,14,14,14,12,12,13,8,8,11,11,14,9,9,12,12,14,14,14,11,11,13,9,9,12,12,14,14,14,12,12,14,8,8,11,11,14,9,9,12,12,14,14,14,11,11,14,10,10,12,12,14,14,14,13,13,14,9,9,11,11,14,10,10,12,12,14,14,14,11,11,14,14,15,12,12,15],"i8",N3,F.GLOBAL_BASE+456540),E3([14,14,14,14,15,14,14,11,11,14,14,14,12,12,14,14,14,11,11,14,11,11,10,10,14,10,10,10,10,14,10,10,10,10,15,11,11,9,9,14,12,12,9,9,15,11,11,11,11,15,13,13,11,11,15,10,10,10,10,15,11,11,10,10,15,13,13,11,11,15,11,11,11,11,15,13,13,11,11,15,10,10,10,10,15,11,11,10,10,15,13,13,11,11,15,12,12,11,11,15,13,13,11,11,15,11,11,10,10,15,12,12,10,10,15,13,13,10,10,15,14,14,11,11,15,13,13,11,11,15,14,14,10,11,15,13,13,10,10,15,13,14,10,10,14,13,13,10,10,14,13,13,10,10,14,13,13,10,10,14,13,13,9,9,14,14,14,9,9,15,14,14,11,11,15,14,14,10,10,15,14,14,10,10,15,14,14,11,11,15,14,14,10,10,15,14,14,11,11,15,14,14,10,10,14,14,14,10,10,15,14,14,10,10,14,14,14,10,10,15,14,14,11,11,15,14,14,11,11,14,14,14,10,10,15,14,14,10,10,14,14,14,9,9,15,15,15,11,11,15,14,14,12,12,15,15,14,10,10,15,14,14,10,10,14,15,15,9,9,14,10,10,12,12,17,9,9,12,12,17,10,10,13,13,17,11,11,12,12,18,14,14,12,12,17,10,10,13,13,17,14,14,12,12,17,9,9,12,12,17,11,11,12,12,17,14,14,12,12,18,10,10,13,13,18,14,14,13,13,18,9,9,12,12,18,10,10,13,13,18,14,14,12,12,18,11,11,13,13,18,14,14,13,13,18,10,10,12,12,17,11,11,12,12,17,14,14,12,12,18,15,15,13,13,18,14,14,14,14,18,15,15,12,12,18,14,14,12,12,18,15,15,12,12,13,7,7,11,11,14,15,15,11,11,14,15,15,12,12,14,15,15,11,11,15,15,15,11,11,14,15,15,12,12,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,14,15,15,12,12,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,15,15,15,12,12,14,15,15,12,12,14,15,14,12,12,14,15,15,11,11,15,14,14,12,12,15,15,15,12,12,15,16,16,12,12,15,15,15,12,12,15,15,15,12,12,15,15,15,12,12,13,13,13,11,10,14,14,15,11,11,14,14,14,12,12,15,14,14,10,10,15,15,15,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,15,15,12,12,15,15,15,11,11,14,15,15,12,12,14,14,14,12,12,14,15,15,11,11,14,15,15,12,12,15,15,15,11,11,15,15,15,12,12,15,14,14,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,10,10,15,15,16,12,12,15,15,15,14,14,15,15,15,11,11,15,15,15,12,12,15,15,15,11,11,14,11,11,10,10,15,9,9,12,12,15,10,10,12,12,15,11,11,11,11,15,14,14,12,12,15,10,10,13,13,15,14,14,12,12,15,9,9,12,12,15,10,10,13,13,15,13,13,12,11,15,10,10,12,12,15,14,14,12,12,15,9,9,11,11,15,11,11,12,12,15,13,13,11,11,15,11,11,13,13,15,13,14,13,14,15,11,11,11,11,15,11,11,12,12,15,14,14,11,11,15,14,14,13,13,15,14,14,20,20,15,14,14,12,12,15,14,14,12,12,15,14,14,11,11,14,13,13,10,10,14,13,13,12,12,14,14,13,12,12,15,14,14,12,12,15,14,14,11,11,15,14,14,12,12,15,14,14,13,13,15,14,14,12,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,13,13,15,14,14,12,11,15,14,14,12,12,15,14,14,13,13,15,14,14,13,13,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,15,15,15,13,13,15,15,15,13,13,15,14,14,13,13,15,15,15,13,13,15,14,15,12,12,15,15,15,13,13,14,10,10,12,13,17,9,9,12,12,17,10,10,13,13,17,11,11,12,12,18,14,14,12,12,18,10,10,13,13,18,14,14,12,12,17,9,9,12,12,18,10,11,13,13,18,14,14,12,12,17,10,10,12,12,17,14,14,12,12,17,9,9,12,12,17,11,11,12,12,17,14,14,12,12,18,11,11,12,12,18,14,14,13,13,18,11,11,12,12,18,11,11,12,12,18,14,14,12,12,18,15,15,12,12,18,14,14,13,13,18,15,15,12,12,17,14,14,12,12,17,15,15,12,12,13,7,7,11,11,14,15,15,11,11,14,15,15,11,11,14,15,14,12,12,15,15,15,12,11,14,15,15,12,12,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,13,13,14,15,15,11,11,14,15,15,13,12,14,15,15,11,11,14,15,15,11,11,15,15,15,13,13,14,15,15,12,12,15,15,15,12,12,15,15,15,11,11,15,15,15,11,11,15,15,15,12,12,15,15,15,13,13,15,16,16,12,12,15,15,15,12,13,15,15,15,12,12,15,15,15,12,12,13,13,13,11,11,14,14,14,11,11,14,14,14,12,12,14,14,14,10,10,15,14,14,11,11,14,15,15,12,12,14,14,14,12,12,14,15,15,11,11,14,15,14,12,12,15,14,14,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,14,14,12,12,15,15,14,11,11,15,15,15,12,12,15,14,14,12,12,14,15,15,11,11,14,15,14,11,11,15,15,15,10,10,15,15,15,12,12,15,14,14,14,13,15,15,15,11,11,15,15,15,11,11,15,15,15,10,10,14,11,11,10,10,15,9,9,12,12,15,10,10,12,12,15,11,11,11,11,15,14,14,12,12,15,10,10,13,13,15,13,13,12,12,15,9,9,12,12,15,11,11,13,13,15,14,14,12,12,15,10,10,13,13,15,13,14,12,12,15,9,9,12,12,15,10,10,13,13,15,13,13,11,11,15,11,11,13,13,15,14,14,13,13,15,10,10,11,11,15,11,11,12,12,15,14,14,11,11,15,14,14,13,13,15,14,14,21,20,15,14,14,11,11,15,14,14,12,12,15,14,14,11,11,14,13,13,10,10,14,13,13,11,11,15,14,14,12,12,15,14,14,12,12,14,14,14,12,12,15,14,14,12,12,15,14,14,13,13,14,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,13,13,14,14,14,11,11,15,14,14,11,11,14,14,14,13,13,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,14,14,14,13,13,15,15,15,13,13,16,14,14,12,13,15,15,15,13,13,15,14,14,12,12,15,15,15,13,13,15,11,11,13,12,18,10,10,12,12,17,11,11,12,12,18,12,12,11,11,18,14,14,12,12,18,11,11,13,13,17,14,14,12,12,18,10,10,12,12,18,12,12,12,12,18,14,15,12,12,18,11,11,13,13,18,14,14,12,12,17,10,10,12,12,18,11,11,12,12,18,15,14,12,12,17,12,12,12,12,17,14,14,12,12,17,11,11,11,11,17,12,12,12,11,17,15,15,11,11,18,15,15,12,12,18,14,15,13,13,18,15,15,11,11,17,15,15,12,12,18,15,15,11,11,14,9,9,11,11,14,15,15,11,11,15,15,15,11,11,15,15,15,12,11,15,15,15,12,12,15,15,15,11,11,15,15,15,13,13,14,15,15,11,11,15,15,15,11,11,15,15,15,13,13,15,15,15,11,11,15,15,15,13,13,15,15,15,11,11,15,15,15,11,11,15,15,15,13,13,15,15,15,12,12,15,15,15,13,13,15,15,14,11,11,15,15,15,12,12,15,15,15,12,12,16,15,15,13,13,15,16,16,13,13,16,15,15,12,12,15,15,15,13,12,15,15,15,12,12,13,12,12,11,11,14,14,14,11,11,14,14,14,12,12,15,14,14,11,11,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,14,15,15,11,11,15,14,14,12,12,15,14,14,11,11,15,14,14,12,12,15,14,14,12,12,14,15,15,11,11,15,14,14,12,12,15,14,14,11,11,15,15,15,12,12,15,14,14,12,12,15,15,15,11,11,15,14,14,11,11,15,14,15,11,11,15,15,15,12,12,15,14,14,13,13,16,15,15,11,11,15,14,14,12,12,15,15,15,11,11,14,11,11,9,9,15,10,10,12,12,14,11,11,12,12,15,12,12,12,12,15,14,14,13,13,15,11,11,13,13,15,14,14,13,13,15,10,10,12,12,15,12,12,13,13,15,14,14,13,13,15,11,11,12,12,15,14,14,13,13,14,10,10,12,12,15,12,12,13,13,15,14,14,12,12,15,12,12,13,13,15,14,14,15,15,15,11,11,12,12,15,12,12,12,13,15,14,14,12,12,15,15,15,14,14,15,14,14,20,20,15,14,14,12,12,15,14,14,13,13,15,14,14,12,12,14,13,13,10,10,14,13,13,11,11,14,13,13,12,12,14,14,14,12,12,15,14,14,13,13,15,14,14,12,12,14,14,14,14,14,14,14,14,11,11,15,14,14,12,12,15,14,14,14,14,15,14,14,12,12,14,14,14,14,14,14,14,14,11,11,15,14,14,12,12,14,14,14,14,14,15,14,14,12,12,15,14,14,13,13,15,14,14,12,12,15,14,14,12,12,14,14,14,14,13,15,15,15,14,14,15,14,14,13,13,15,15,15,14,14,15,14,14,13,13,15,15,15,13,13,14,13,13,13,13,18,15,15,12,12,18,15,15,13,12,18,15,16,11,11,18,16,17,12,12,18,15,15,13,13,18,17,17,12,12,18,15,15,12,12,17,15,15,12,12,18,17,17,12,12,18,15,15,13,13,18,16,17,12,12,17,15,15,12,12,18,15,15,12,12,18,16,17,11,12,18,16,16,12,12,17,16,17,12,12,18,15,15,11,11,18,15,15,12,12,18,17,17,11,11,17,17,17,12,12,18,16,16,13,13,18,17,17,11,11,18,16,16,12,12,18,17,17,11,11,15,14,14,11,11,16,15,15,11,11,16,15,15,12,12,16,15,15,12,12,17,15,15,14,13,16,15,15,12,12,17,15,15,14,14,16,15,15,11,11,16,15,15,12,12,18,15,15,13,13,16,15,15,11,11,17,15,15,14,14,16,15,15,11,11,16,15,15,12,12,17,15,15,13,13,16,15,15,12,12,17,16,15,14,14,16,14,15,12,12,16,15,15,12,12,18,15,15,13,13,17,15,15,14,14,17,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,15,12,13,11,11,15,14,14,12,12,16,14,14,12,12,16,14,14,12,12,16,14,14,12,12,16,14,14,13,12,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,17,14,14,12,12,16,14,14,12,12,17,14,14,13,13,15,15,15,12,12,16,14,14,12,12,17,14,14,12,12,17,15,15,12,12,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,17,15,15,12,12,18,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,17,15,15,12,12,14,15,15,9,9,15,15,15,12,12,15,15,15,13,13,15,15,15,14,14,15,15,15,19,19,15,15,16,13,13,15,15,16,19,20,15,15,15,13,12,15,16,16,14,14,15,15,15,19,19,15,15,15,13,13,15,16,15,20,19,14,15,15,13,13,15,15,15,14,14,15,15,15,19,19,15,15,15,14,14,15,16,16,19,20,15,15,15,14,14,15,15,15,14,14,15,15,15,19,19,15,15,15,20,19,15,16,16,20,19,15,15,15,19,19,15,16,16,20,20,15,15,15,19,20,14,13,13,10,10,14,14,14,11,11,14,14,14,12,12,15,14,14,13,13,15,14,14,19,20,15,14,14,12,12,14,14,14,20,19,14,14,14,11,11,15,14,14,12,12,15,14,14,20,20,15,14,14,12,12,14,14,14,20,19,14,14,14,11,11,15,14,14,12,12,15,14,14,19,20,15,14,14,13,13,15,14,14,22,19,15,15,14,12,12,15,14,14,13,13,14,15,15,22,20,15,15,15,20,20,15,14,14,21,20,15,15,15,20,21,15,14,14,20,20,14,15,15,20,20,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,7,7,7,7,7,7,7,8,8,10,11,11,9,8,8,8,8,8,11,11,11,10,8,8,5,7,7,9,11,11,10,11,11,10,11,11,12,13,14,11,12,12,10,11,11,13,14,14,12,12,12,5,6,6,8,6,6,8,7,7,8,7,7,11,10,10,10,7,7,9,7,7,12,11,11,11,7,7,7,7,7,11,10,10,12,10,10,11,10,10,15,13,13,13,10,10,12,11,11,15,13,13,14,11,11,7,7,7,11,11,11,12,11,11,12,11,11,14,14,14,14,12,12,12,12,12,16,15,15,14,12,12,0,10,10,0,11,11,0,11,12,0,11,11,0,14,14,0,11,11,0,12,12,0,15,15,0,11,11,8,8,8,12,10,10,12,10,10,13,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,13,11,11,12,11,11,15,14,14,14,12,12,13,12,12,15,14,14,15,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,13,13,0,14,15,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,0,8,8,0,8,8,0,9,9,0,10,10,0,8,8,0,9,9,0,10,10,0,8,8,0,7,7,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,7,7,0,6,6,0,7,7,0,7,7,0,10,10,0,6,6,0,7,7,0,10,10,0,6,5,0,8,8,0,7,7,0,8,8,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,7,7,0,6,6,0,9,10,0,10,10,0,10,10,0,11,11,0,9,9,0,10,10,0,11,11,0,9,9,0,8,8,0,8,8,0,8,8,0,9,9,0,9,9,0,8,8,0,8,8,0,9,9,0,7,7,0,8,8,0,7,7,0,7,7,0,8,8,0,9,9,0,7,7,0,7,7,0,9,9,0,6,6,0,6,6,0,10,10,0,10,10,0,10,10,0,12,12,0,9,9,0,10,10,0,12,12,0,9,9,0,8,8,0,7,7,0,8,8,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,7,7,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,5,8,8,0,8,8,6,9,9,8,10,10,0,8,8,0,9,9,0,12,12,0,8,8,4,7,7,6,10,10,0,12,12,7,11,11,9,12,12,0,12,12,0,13,13,0,15,15,0,12,12,0,7,7,0,7,7,0,8,8,0,8,8,0,10,10,0,7,7,0,8,8,0,11,11,0,7,7,5,7,7,9,9,9,0,11,10,9,9,9,11,12,12,0,10,10,0,11,11,0,13,13,0,11,11,6,7,7,9,10,10,0,12,12,10,11,11,11,12,12,0,12,12,0,13,13,0,15,15,0,12,12,0,10,10,0,11,11,0,11,11,0,12,12,0,13,13,0,11,11,0,12,12,0,15,15,0,11,11,0,8,8,0,10,10,0,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,11,11,0,7,7,0,10,10,0,12,12,0,10,10,0,12,13,0,12,12,0,13,13,0,14,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,7,7,0,0,0,8,8,0,0,0,8,8,0,0,0,11,11,0,0,0,0,0,0,0,0,10,9,0,0,0,0,0,0,0,0,9,9,0,0,0,10,11,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,5,5,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,5,5,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,5,6,0,0,0,7,7,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,11,0,0,0,9,9,0,0,0,10,10,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,11,12,0,0,0,0,0,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,7,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,9,9,0,0,0,10,10,0,0,0,11,12,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,8,8,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,9,9,0,0,0,10,10,0,0,0,12,12,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,5,16,9,9,12,17,18,4,2,18,6,5,9,13,15,10,7,7,6,7,9,13,13,8,5,6,5,5,7,11,12,8,4,7,4,3,6,10,12,11,8,9,7,6,8,11,12,15,13,13,11,9,7,10,12,16,12,16,12,6,5,8,11,2,0,0,0,64,0,0,0,144,111,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,64,7,0,0,0,0,0,0,0,0,0,128,64,7,0,0,0,0,0,0,0,0,0,168,64,7,0,208,64,7,0,0,0,0,0,0,0,0,0,248,64,7,0,32,65,7,0,0,0,0,0,0,0,0,0,72,65,7,0,112,65,7,0,0,0,0,0,0,0,0,0,152,65,7,0,192,65,7,0,112,65,7,0,0,0,0,0,232,65,7,0,16,66,7,0,112,61,7,0,152,61,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,24,64,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,16,64,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,60,7,0,32,61,7,0,0,0,0,0,0,0,0,0,72,61,7,0,112,61,7,0,152,61,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,40,63,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,216,63,7,0,0,0,0,0,2,0,0,0,25,0,0,0,240,62,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,63,7,0,0,0,0,0,2,0,0,0,9,0,0,0,208,62,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,224,62,7,0,0,0,0,0,1,0,0,0,25,0,0,0,72,62,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,104,62,7,0,0,0,0,0,1,0,0,0,25,0,0,0,192,61,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,224,61,7,0,0,0,0,0,3,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,6,5,4,5,5,5,6,5,5,6,6,6,5,6,5,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,8,8,9,9,10,10,11,11,4,6,5,8,7,9,8,10,9,11,10,11,11,4,5,6,7,8,8,9,9,10,10,10,10,11,8,9,8,10,8,10,9,11,10,11,11,11,11,8,8,9,8,10,9,10,10,11,11,11,11,11,9,10,10,11,11,11,11,11,11,12,11,12,11,9,10,10,10,11,11,11,11,11,11,12,11,12,10,11,11,12,11,12,12,12,12,12,12,12,12,10,11,11,11,11,12,12,12,13,12,12,12,12,11,12,12,12,12,13,13,12,12,12,12,12,12,11,12,12,12,12,13,13,12,13,12,12,12,12,12,13,13,13,13,13,13,12,13,12,13,12,12,12,13,13,13,13,13,13,13,12,13,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,4,9,8,8,10,13,16,4,2,9,5,7,10,14,18,9,7,6,5,7,9,12,16,7,5,5,3,5,8,11,13,8,7,7,5,5,7,9,11,10,10,9,8,6,6,8,10,13,14,13,11,9,8,9,10,17,18,16,14,11,10,10,10,5,0,0,0,243,0,0,0,136,110,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,128,111,7,0,0,0,0,0,5,0,0,0,53,12,0,0,56,98,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,112,110,7,0,0,0,0,0,5,0,0,0,243,0,0,0,48,97,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,40,98,7,0,0,0,0,0,5,0,0,0,243,0,0,0,40,96,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,32,97,7,0,0,0,0,0,5,0,0,0,243,0,0,0,32,95,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,24,96,7,0,0,0,0,0,5,0,0,0,53,12,0,0,208,82,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,8,95,7,0,0,0,0,0,5,0,0,0,53,12,0,0,128,70,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,184,82,7,0,0,0,0,0,1,0,0,0,7,0,0,0,88,70,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,96,70,7,0,0,0,0,0,5,0,0,0,243,0,0,0,80,69,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,72,70,7,0,0,0,0,0,5,0,0,0,243,0,0,0,72,68,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,64,69,7,0,0,0,0,0,5,0,0,0,243,0,0,0,64,67,7,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,56,68,7,0,0,0,0,0,5,0,0,0,243,0,0,0,56,66,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,48,67,7,0,0,0,0,0,1,9,9,6,9,9,5,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,7,7,7,7,7,7,7,8,8,9,9,9,8,7,7,8,8,8,9,9,9,9,8,8,6,7,7,9,8,8,9,7,7,9,8,8,10,8,8,10,8,8,10,8,8,10,8,9,10,8,8,7,6,6,8,6,6,9,6,6,9,7,7,10,8,8,9,6,6,9,7,7,10,9,8,9,7,7,7,7,7,11,8,8,11,9,9,10,9,9,12,9,9,12,8,8,11,9,9,12,9,9,12,8,8,8,7,7,10,9,9,10,9,9,10,9,9,11,10,11,11,9,9,11,9,9,11,11,11,11,9,9,10,8,8,11,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,9,9,12,10,10,11,9,9,8,8,8,11,9,9,12,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,9,10,12,8,8,9,7,7,11,9,9,11,10,10,11,9,9,11,11,11,11,9,9,11,10,10,12,11,11,11,9,10,10,9,9,11,9,9,11,10,10,11,10,10,11,11,11,11,9,9,11,9,10,11,11,11,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,7,7,7,8,8,7,8,8,7,9,9,10,11,11,9,8,8,7,8,9,11,11,11,9,8,8,6,7,7,10,10,10,10,10,10,10,10,10,14,14,14,12,11,11,10,11,11,15,14,14,13,11,11,6,6,6,8,5,5,8,7,7,8,7,7,11,10,10,9,7,7,9,7,7,12,10,10,10,7,7,6,8,7,12,10,10,12,10,10,11,10,10,15,14,13,13,10,10,11,10,10,16,14,14,14,10,10,7,7,7,12,11,11,12,11,11,11,11,11,16,14,14,13,12,12,11,11,11,17,15,15,14,12,12,10,9,9,13,11,11,13,11,11,12,11,11,16,14,13,14,11,11,12,11,11,17,15,14,14,11,11,7,8,8,12,11,11,12,10,10,12,10,10,16,13,14,13,10,10,11,10,10,17,14,14,14,10,10,7,7,7,12,11,11,12,11,11,12,11,11,15,14,15,14,12,12,12,11,11,17,15,15,14,12,12,10,10,9,13,11,11,13,11,11,13,11,11,16,14,14,14,11,11,13,11,11,16,15,15,15,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,14,14,6,7,7,14,14,7,7,7,15,15,0,13,13,16,16,0,13,13,15,15,7,8,8,15,15,9,10,10,17,16,9,8,8,15,15,0,13,13,18,17,0,13,13,16,16,8,8,8,15,15,12,11,11,16,17,9,8,8,14,14,0,13,13,18,17,0,13,13,16,15,0,14,14,18,17,0,20,22,18,20,0,12,12,16,16,0,16,16,22,20,0,14,14,16,16,0,14,14,17,17,0,22,22,22,19,0,12,13,16,16,0,17,17,0,0,0,15,15,16,16,5,7,7,13,13,9,9,9,15,14,10,10,10,14,14,0,21,21,18,17,0,21,22,18,17,9,10,10,14,14,12,12,12,17,17,12,10,10,14,14,0,19,21,18,17,0,20,22,18,18,11,10,10,14,14,14,13,13,18,17,12,11,11,14,14,0,22,19,17,18,0,20,0,18,17,0,22,21,17,17,0,0,0,0,0,0,20,22,17,17,0,22,0,21,19,0,22,0,18,18,0,0,22],"i8",N3,F.GLOBAL_BASE+466780),E3([18,19,0,0,0,0,0,0,19,21,17,17,0,0,0,20,20,0,0,0,18,18,6,6,6,13,12,8,6,6,11,11,8,6,6,13,13,0,9,9,11,11,0,11,11,14,14,9,7,7,13,13,11,9,9,13,13,10,6,6,13,13,0,10,10,14,14,0,10,10,13,13,9,7,7,13,14,13,9,9,13,13,10,6,6,13,12,0,11,11,15,15,0,10,10,13,13,0,12,12,15,15,0,19,0,17,17,0,9,9,13,13,0,13,14,19,20,0,11,11,13,13,0,11,11,14,14,0,19,20,17,18,0,10,10,13,13,0,15,15,21,19,0,12,12,13,13,0,10,10,12,13,0,11,11,15,15,0,11,11,15,15,0,15,15,22,0,0,16,17,22,0,0,11,11,15,15,0,14,14,18,17,0,11,11,15,16,0,15,15,22,21,0,16,16,0,20,0,12,12,16,15,0,15,14,19,19,0,11,11,16,16,0,15,15,21,0,0,16,15,0,0,0,16,16,22,21,0,0,0,0,0,0,15,15,20,20,0,18,18,0,0,0,16,17,0,0,0,17,17,0,22,0,0,0,0,0,0,15,15,21,22,0,20,18,0,0,0,18,17,22,0,0,10,10,12,11,0,10,10,10,10,0,11,11,12,12,0,11,11,9,9,0,13,13,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,13,12,13,13,0,12,12,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,13,13,13,14,0,12,12,12,12,0,13,14,14,14,0,20,21,15,15,0,12,11,12,12,0,15,16,20,22,0,13,12,11,11,0,13,13,14,13,0,20,0,16,15,0,12,12,12,12,0,16,16,22,21,0,13,13,12,12,6,7,7,16,16,11,9,9,15,15,12,9,9,16,16,0,13,13,14,14,0,14,14,16,17,10,9,9,16,16,14,12,12,16,16,12,9,9,15,15,0,13,13,18,18,0,13,13,15,16,12,10,10,17,18,15,12,12,17,17,13,9,9,16,16,0,13,13,17,18,0,14,14,16,16,0,15,15,18,18,0,22,0,20,20,0,12,12,16,16,0,16,16,20,22,0,14,14,16,16,0,15,14,18,18,0,0,22,19,21,0,13,13,16,17,0,17,17,22,22,0,15,15,16,16,7,7,7,14,14,11,10,10,15,15,12,10,10,15,14,0,22,0,18,18,0,0,21,17,18,11,10,10,15,15,14,12,12,17,17,14,11,11,15,15,0,22,20,18,18,0,0,20,18,17,12,10,10,16,16,17,14,14,19,18,14,11,11,15,15,0,21,22,19,19,0,21,22,18,18,0,22,0,19,21,0,0,0,0,0,0,22,22,18,17,0,0,0,21,20,0,22,22,20,19,0,0,22,20,20,0,0,0,0,0,0,20,21,17,17,0,0,22,21,21,0,0,0,18,18,10,9,9,14,14,13,10,10,13,13,13,10,11,14,14,0,13,13,12,12,0,15,15,16,16,13,10,10,15,15,15,12,12,14,14,15,10,10,14,15,0,14,14,16,15,0,14,14,15,15,13,10,10,15,15,18,13,13,15,15,15,10,10,14,15,0,14,14,16,16,0,14,14,15,15,0,15,15,16,16,0,22,0,18,18,0,12,13,14,14,0,17,17,22,0,0,14,14,14,14,0,15,15,16,16,0,22,0,18,17,0,13,13,14,14,0,19,18,21,22,0,15,15,14,14,0,11,11,13,13,0,12,12,16,16,0,12,12,16,16,0,15,16,21,0,0,16,17,0,22,0,12,12,16,16,0,14,14,17,18,0,11,11,16,16,0,15,15,21,22,0,16,16,0,0,0,12,12,16,16,0,15,15,0,19,0,12,12,16,17,0,16,16,22,0,0,16,16,0,22,0,17,17,0,22,0,0,0,0,0,0,15,15,20,19,0,18,18,0,0,0,17,18,0,0,0,17,17,0,0,0,0,0,0,0,0,15,15,0,22,0,20,18,0,0,0,18,18,22,22,0,11,11,14,14,0,12,12,14,14,0,12,12,15,15,0,13,13,14,14,0,14,14,17,16,0,12,12,16,16,0,14,14,16,16,0,11,11,15,15,0,13,13,16,16,0,13,13,15,15,0,12,12,15,15,0,15,14,16,16,0,11,11,15,15,0,14,14,17,17,0,13,13,15,15,0,15,15,17,17,0,0,0,19,18,0,13,12,15,15,0,16,16,0,0,0,14,14,15,15,0,14,14,16,17,0,22,0,18,18,0,13,13,15,15,0,17,17,0,0,0,14,14,15,15,8,8,8,16,16,12,10,10,16,16,13,9,9,16,16,0,14,14,17,17,0,14,14,17,16,12,10,10,18,17,14,11,11,18,18,14,9,10,16,16,0,13,13,18,19,0,14,13,16,16,12,9,9,16,16,17,13,13,17,17,14,9,9,15,15,0,14,14,19,20,0,13,13,15,15,0,15,15,18,19,0,0,22,22,22,0,13,13,17,17,0,16,16,19,21,0,14,14,16,16,0,14,14,18,18,0,0,0,0,0,0,13,13,16,16,0,18,18,0,0,0,15,15,16,16,8,7,7,14,14,12,10,10,15,15,13,10,10,15,14,0,22,0,18,18,0,22,0,18,18,12,10,10,16,15,15,12,12,17,17,14,11,11,15,15,0,20,21,19,18,0,0,0,17,18,13,11,11,15,15,16,13,13,18,18,15,11,11,14,14,0,22,21,19,19,0,21,22,18,18,0,22,22,20,18,0,0,0,0,0,0,22,19,17,17,0,0,0,22,21,0,0,22,19,17,0,0,22,19,19,0,0,0,0,0,0,22,21,18,17,0,0,0,22,0,0,0,0,19,19,0,10,10,14,14,0,11,11,15,14,0,11,11,15,15,0,14,14,15,14,0,15,15,16,16,0,11,11,16,16,0,13,13,16,16,0,11,11,15,15,0,14,14,17,16,0,14,14,15,15,0,11,11,16,16,0,14,13,15,15,0,11,11,15,15,0,15,15,17,17,0,14,14,15,14,0,16,16,17,17,0,0,22,18,18,0,13,13,15,15,0,17,17,22,0,0,15,15,15,14,0,15,16,16,17,0,0,22,18,19,0,13,13,15,15,0,20,18,21,0,0,15,15,14,14,0,11,11,13,13,0,12,12,16,16,0,12,12,16,15,0,15,16,22,22,0,17,17,0,0,0,12,12,16,16,0,14,14,18,18,0,11,11,16,16,0,15,16,22,20,0,16,16,0,22,0,12,12,16,16,0,15,15,18,20,0,11,11,16,16,0,15,15,0,0,0,16,16,0,0,0,17,17,22,0,0,0,0,0,0,0,15,15,0,21,0,18,18,0,0,0,17,16,0,0,0,17,17,22,22,0,0,0,0,0,0,15,15,21,0,0,20,22,0,0,0,18,18,0,0,0,12,12,15,15,0,12,12,15,15,0,12,12,16,16,0,13,13,15,15,0,15,15,17,17,0,13,12,16,16,0,14,14,16,16,0,12,11,16,16,0,14,14,17,17,0,14,14,16,16,0,12,12,16,16,0,15,15,17,16,0,11,11,15,16,0,14,14,17,17,0,14,14,16,16,0,15,15,18,18,0,0,0,22,19,0,13,13,15,16,0,16,17,0,0,0,14,14,16,16,0,15,15,18,17,0,0,0,20,20,0,13,13,16,15,0,17,17,22,22,0,14,14,15,15,0,11,11,16,16,0,13,13,16,17,0,13,13,17,18,0,16,16,17,17,0,17,17,18,18,0,12,12,17,17,0,16,15,18,18,0,12,12,16,16,0,16,16,18,18,0,15,15,17,17,0,12,12,17,17,0,16,16,19,18,0,12,12,16,17,0,16,16,19,19,0,15,16,16,17,0,16,16,19,17,0,0,0,20,22,0,13,13,16,16,0,19,18,21,0,0,15,15,16,16,0,16,16,18,18,0,0,0,22,21,0,14,14,16,16,0,21,19,21,22,0,16,16,16,16,0,9,9,14,14,0,13,13,15,15,0,14,14,15,15,0,0,20,18,19,0,0,22,18,18,0,12,12,15,15,0,15,15,17,18,0,14,13,14,14,0,20,0,18,18,0,21,0,18,17,0,13,13,15,16,0,17,17,18,18,0,14,14,15,15,0,22,22,20,19,0,20,21,18,18,0,20,22,19,19,0,0,0,0,0,0,20,20,17,17,0,0,22,22,21,0,22,0,18,18,0,20,22,19,19,0,0,0,0,0,0,21,21,17,18,0,0,0,21,20,0,0,22,19,18,0,18,18,15,15,0,22,21,17,16,0,0,22,17,17,0,20,22,18,18,0,0,22,20,20,0,21,19,16,16,0,21,21,18,18,0,19,19,17,17,0,0,22,19,19,0,22,20,17,17,0,21,19,16,16,0,22,22,19,18,0,19,20,16,16,0,22,21,19,21,0,21,22,17,18,0,21,20,18,18,0,0,0,19,20,0,20,19,16,16,0,22,22,0,0,0,21,21,17,16,0,22,20,19,18,0,0,0,20,20,0,20,19,16,16,0,0,0,0,0,0,21,22,17,17,0,11,11,13,13,0,13,13,15,16,0,13,13,16,16,0,17,18,21,0,0,17,18,0,0,0,12,12,15,16,0,15,15,19,18,0,12,12,16,16,0,17,17,22,0,0,17,17,0,22,0,12,12,17,16,0,16,16,19,20,0,12,12,16,16,0,17,17,0,0,0,17,17,0,21,0,17,16,22,0,0,0,0,0,0,0,15,15,20,22,0,20,18,0,0,0,18,18,0,0,0,17,17,21,0,0,0,0,0,0,0,15,15,21,22,0,19,20,22,0,0,19,18,0,0,0,14,14,18,18,0,16,16,22,20,0,16,16,22,19,0,17,17,20,22,0,19,19,0,0,0,15,15,20,0,0,18,21,0,20,0,15,15,21,20,0,18,17,0,0,0,17,17,0,22,0,15,15,19,19,0,19,18,0,0,0,15,15,20,0,0,18,18,22,22,0,17,17,0,20,0,18,18,0,0,0,0,22,0,0,0,15,15,19,20,0,20,19,0,0,0,17,17,20,21,0,17,18,20,22,0,0,0,0,22,0,15,15,20,20,0,22,20,0,0,0,17,18,20,0,0,12,12,17,16,0,14,14,17,17,0,13,13,17,17,0,16,16,18,18,0,17,16,17,17,0,13,13,17,17,0,15,16,18,18,0,13,13,16,16,0,16,16,18,18,0,16,16,17,16,0,13,13,16,16,0,17,17,18,17,0,12,12,15,16,0,17,17,19,19,0,16,16,16,16,0,16,17,19,18,0,0,0,21,22,0,14,14,16,16,0,18,18,0,22,0,16,16,16,16,0,16,16,18,17,0,0,0,21,20,0,14,14,16,16,0,21,22,22,0,0,16,16,16,16,0,9,9,14,13,0,13,14,15,16,0,14,13,15,14,0,22,0,18,18,0,21,0,17,18,0,13,13,15,15,0,15,16,18,17,0,14,14,15,14,0,20,22,18,18,0,22,21,17,17,0,13,13,15,15,0,17,17,19,19,0,14,14,14,14,0,0,22,18,18,0,0,22,17,17,0,0,22,19,20,0,0,0,0,0,0,21,20,17,16,0,0,0,21,22,0,0,0,18,19,0,0,0,18,18,0,0,0,0,0,0,22,0,17,17,0,0,0,20,22,0,0,0,18,19,0,18,19,16,16,0,22,20,17,17,0,22,22,17,18,0,22,22,18,17,0,0,22,18,19,0,20,20,17,18,0,0,22,19,18,0,22,22,17,17,0,22,0,19,19,0,0,22,18,18,0,20,22,17,17,0,0,22,18,18,0,19,20,17,17,0,22,0,20,19,0,22,21,17,17,0,0,0,18,18,0,0,0,22,19,0,20,0,17,17,0,22,0,0,22,0,0,20,17,18,0,22,0,19,19,0,0,0,0,19,0,19,21,17,17,0,0,0,0,0,0,20,21,17,16,0,11,11,13,13,0,13,13,16,16,0,13,13,15,16,0,17,17,21,22,0,17,18,0,0,0,12,12,16,16,0,15,15,18,18,0,13,13,16,16,0,17,16,21,21,0,17,17,0,0,0,13,13,16,16,0,16,16,19,18,0,13,13,16,16,0,17,17,0,22,0,17,18,20,22,0,17,18,0,0,0,0,0,0,0,0,15,15,20,0,0,18,19,0,0,0,17,17,0,0,0,18,17,22,0,0,0,0,0,0,0,15,16,21,20,0,20,20,0,0,0,18,19,0,0,0,15,15,22,22,0,17,16,20,22,0,17,17,20,22,0,18,18,0,21,0,19,18,0,0,0,16,16,20,20,0,19,19,22,0,0,15,16,21,22,0,18,19,22,0,0,17,18,0,0,0,16,16,22,0,0,19,19,0,21,0,15,16,20,0,0,18,18,0,22,0,18,17,0,0,0,18,18,0,0,0,0,0,0,0,0,16,16,22,21,0,20,21,0,0,0,17,18,22,0,0,18,18,0,0,0,0,0,0,0,0,16,16,20,19,0,22,21,0,0,0,18,18,22,22,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,8,8,11,9,9,12,12,11,10,10,12,12,12,10,10,11,11,12,12,12,12,12,12,11,11,13,13,12,12,12,13,13,12,10,10,12,12,12,11,11,13,13,12,13,13,13,13,12,11,11,13,13,12,12,12,13,13,12,10,10,12,12,12,11,11,13,13,12,13,13,12,12,12,11,11,13,13,12,13,13,13,13,12,11,11,12,12,12,11,11,12,12,12,13,13,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,12,12,12,13,13,13,13,12,13,13,12,12,11,8,8,10,10,12,11,11,11,11,12,10,10,10,10,13,11,11,10,10,13,11,11,10,10,13,12,12,12,12,13,11,11,11,11,13,12,12,11,11,13,12,12,11,11,13,12,12,12,11,13,12,12,12,12,13,11,11,11,11,13,12,12,11,11,13,11,12,11,11,13,12,12,11,11,14,12,12,11,11,13,11,11,11,11,14,12,12,11,11,13,11,12,10,10,14,12,12,11,11,14,12,12,11,11,14,11,11,11,11,14,12,12,11,11,13,12,12,11,11,14,12,12,11,11,11,8,8,10,10,12,7,7,10,10,12,9,9,11,11,13,9,9,9,9,13,13,13,10,10,13,9,9,12,12,13,13,13,12,12,13,9,8,11,11,13,10,10,12,12,14,13,13,11,11,13,9,9,11,11,13,13,13,12,12,13,9,9,10,10,13,10,10,11,11,13,13,13,10,10,14,10,10,11,11,14,14,14,12,12,13,9,9,10,10,13,10,10,11,11,14,13,14,10,10,14,14,14,11,12,14,14,14,14,14,14,13,13,10,10,13,14,14,11,11,14,14,14,10,10,14,9,9,9,9,14,9,9,9,9,14,10,10,9,9,14,10,10,8,8,14,11,11,8,8,15,11,11,10,10,15,12,12,10,10,15,10,10,10,10,15,11,11,10,10,15,13,13,10,10,15,11,11,10,10,15,12,12,10,10,15,10,10,10,10,15,11,11,10,10,15,13,13,10,10,15,11,11,10,10,15,12,12,10,10,15,11,11,9,9,15,11,11,9,9,15,13,13,9,9,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,13,12,9,9,15,13,13,9,9,14,12,12,9,9,14,13,13,9,9,14,13,13,9,9,14,13,13,7,7,14,13,13,8,8,15,14,14,10,10,15,14,14,10,10,15,14,14,10,10,15,14,14,10,10,15,14,14,9,9,15,14,14,10,10,15,14,14,10,10,14,14,14,9,9,15,14,14,10,10,14,14,14,9,9,15,14,14,10,10,15,14,14,10,10,14,14,14,9,9,14,14,14,9,9,14,14,14,8,8,15,14,14,10,10,15,14,14,11,11,15,14,14,9,9,15,14,14,9,9,14,14,14,8,8,13,9,9,12,12,17,11,11,12,12,17,12,12,12,12,17,12,12,11,11,18,15,15,12,12,17,12,12,12,12,17,14,15,13,13,17,12,12,12,12,17,13,13,12,13,17,15,15,12,12,18,13,13,13,13,18,15,15,13,13,18,12,12,12,12,18,13,13,13,13,18,15,15,12,12,18,13,13,12,12,18,15,15,13,13,18,13,13,12,12,17,13,13,12,12,17,15,15,12,12,18,15,15,13,13,18,15,15,13,14,18,15,16,12,12,18,15,15,12,12,18,16,16,12,12,13,8,8,10,10,14,15,14,11,11,14,15,15,12,12,15,14,14,12,11,15,15,15,12,12,15,15,15,12,12,15,15,15,13,13,15,15,15,12,12,15,15,15,13,13,15,15,15,13,13,15,15,15,13,13,15,15,16,13,13,15,15,15,12,12,15,15,15,13,13,15,15,15,13,13,15,15,15,13,13,15,15,15,13,13,15,15,14,12,12,15,15,15,12,12,16,15,14,12,12,16,15,15,13,13,16,16,16,13,13,16,15,15,12,12,15,15,15,13,13,15,15,15,12,12,13,12,12,10,10,14,14,14,11,11,15,14,14,12,12,15,14,14,11,11,15,14,14,11,11,15,15,15,13,13,15,14,14,13,13,15,15,15,12,12,15,14,15,13,13,16,15,15,12,12,15,15,15,13,13,16,14,14,13,13,15,15,15,12,12,15,15,15,13,13,16,15,15,12,12,16,15,15,12,12,16,14,14,13,13,15,15,15,11,11,15,15,15,12,12,16,15,15,11,11,16,15,15,13,13,16,14,15,14,14,16,15,15,12,12,16,15,14,12,12,16,15,15,12,12,14,10,10,9,9,14,11,11,12,12,14,12,12,13,13,14,12,12,12,12,15,14,14,13,13,15,13,13,14,14,15,14,14,15,15,15,12,12,13,13,15,13,13,14,14,15,14,14,13,13,15,13,13,13,14,15,14,14,15,15,15,12,12,13,13,15,13,13,14,14,15,14,14,13,13,15,13,13,14,14,15,14,14,15,15,15,13,13,12,12,15,13,13,13,13,15,14,14,13,12,15,15,15,14,15,15,15,14,20,20,15,14,14,13,13,15,14,14,13,13,15,14,14,13,13,14,12,12,9,9,14,14,14,12,12,14,13,13,12,13,14,14,14,12,12,15,14,14,12,12,15,14,14,14,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,15,15,15,14,14,15,14,14,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,15,15,15,15,14,15,15,15,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,14,15,15,14,14,15,15,15,14,14,15,14,14,14,14,15,15,15,14,14,15,14,14,13,14,15,15,15,14,14,13,10,10,12,12,17,11,11,12,12,17,12,12,12,12,17,12,12,11,11,17,15,15,12,11,18,13,13,13,13,18,15,15,13,13,17,12,12,12,12,18,13,13,13,13,17,15,15,12,12,17,12,12,12,12,17,15,15,13,13,17,12,12,12,12,17,13,13,12,12,17,15,15,12,12,18,14,13,12,12,18,15,15,13,13,18,13,13,12,12,18,13,13,12,12,18,16,16,12,12,18,16,16,12,12,18,15,15,13,13,18,16,16,12,12,17,15,15,12,12,17,16,16,12,12,13,8,8,10,10,14,14,15,12,12,14,15,15,12,12,15,14,14,12,12,15,15,14,12,12,15,15,15,13,13,15,15,15,13,13,15,15,15,12,12,16,15,15,13,13,16,15,15,13,13,15,15,15,12,12,15,15,15,14,14,15,15,15,12,12,15,15,15,13,13,16,15,15,13,13,15,15,15,13,13,16,15,15,13,13,15,15,14,12,12,15,15,15,12,12,16,14,15,13,13,16,15,15,13,13,15,16,15,13,13,16,15,14,13,13,16,15,15,13,13,16,15,15,13,13,13,12,12,11,11,14,14,14,11,11,14,14,14,12,12,15,14,14,11,11,16,14,14,11,11,15,15,15,12,13,16,14,14,13,13,15,15,15,12,12,15,14,14,13,13,16,15,15,12,12,15,15,15,12,12,15,14,14,13,13,15,15,15,12,12,15,14,14,12,12,16,15,15,12,12,16,15,15,12,12,16,14,14,13,13,15,15,15,11,11,15,15,14,12,12,16,15,15,11,11,16,15,15,12,12,16,14,14,13,13,16,15,15,11,11,16,14,14,12,12,16,15,15,11,11,14,10,10,9,9,14,11,11,12,12,14,12,12,13,14,14,12,12,12,12,14,14,14,13,13,15,13,13,14,14,15,14,14,15,15,15,12,12,13,13,15,13,13,14,14,15,15,15,14,14,15,13,13,14,14,15,15,15,15,15,15,12,12,13,13,15,13,13,14,14,15,14,14,13,13,15,13,13,14,14,15,14,14,15,15,15,12,12,13,13,15,13,13,13,13,14,14,14,13,13,15,15,15,14,15,15,15,15,21,19,15,14,14,13,13,15,14,14,14,14,14,14,14,13,13,14,12,12,9,9,14,14,14,12,12,14,14,13,13,13,14,14,14,12,12,14,14,14,12,12,15,14,14,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,15,15,15,15,15,15,14,14,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,14,15,15,15,15,15,14,15,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,14,15,15,14,14,15,15,15,14,14,15,14,14,14,14,15,15,15,15,15,15,14,14,14,13,14,15,15,14,14,13,10,10,12,12,18,12,12,12,12,17,12,12,12,12,18,13,13,11,11,18,15,14,11,11,17,13,13,13,13,18,15,15,12,12,18,12,12,12,12,17,13,13,12,12,18,15,15,12,12,18,13,13,13,12,18,15,15,13,13,18,13,13,12,12,18,13,13,12,12,18,15,15,12,12,17,13,13,12,12,17,15,15,12,12,17,12,12,11,11,17,13,13,11,11,17,15,15,11,11,18,16,16,12,12,18,15,15,13,13,18,15,15,11,11,17,15,15,12,12,18,15,15,11,11,13,8,8,10,10,14,14,14,11,11,15,15,15,12,12,15,14,14,11,11,16,14,14,12,12,15,15,15,12,12,15,15,15,13,13,15,15,15,12,12,15,15,15,12,12,16,15,15,13,13,15,15,15,12,12,15,15,15,13,13,16,15,15,12,12,15,15,15,12,12,16,15,15,13,13,16,15,15,12,12,15,15,15,13,13,15,14,14,12,12,15,15,15,12,12,16,15,14,12,12,16,15,15,13,13,16,16,16,13,13,16,14,15,13,13,15,15,15,13,13,16,15,15,12,12,13,12,12,10,10,14,14,14,11,11,15,14,14,12,12,15,14,14,11,11,16,14,14,11,11,15,14,15,12,12,15,14,14,13,13,15,15,15,12,12,15,14,14,12,12,15,14,15,12,12,15,15,15,12,12,16,14,14,13,13,15,15,15,11,12,16,14,14,12,12,16,15,15,12,12,15,15,15,12,12,16,14,14,12,12,15,15,15,11,11,15,14,14,11,12,15,15,14,11,11,16,15,15,12,12,16,14,14,13,13,16,15,15,11,11,16,14,14,12,12,16,15,15,11,11,13,10,10,8,8,14,12,12,12,12,14,12,12,13,13,14,12,12,12,12,14,14,14,13,13,15,13,13,14,14,15,15,14,15,15,15,13,13,13,13,15,13,13,14,14,15,14,15,14,14,15,13,13,13,13,15,15,15,15,15,15,12,12,13,12,15,13,13,14,14,15,14,14,13,13,15,13,13,14,13,15,15,15,16,16,15,13,13,12,12,15,13,13,13,13,14,14,14,12,12,15,15,15,14,14,15,15,15,20,20,15,14,14,13,13,15,15,14,14,14,15,14,14,13,13,13,12,12,9,9,14,13,13,12,12,14,13,13,12,12,14,14,14,12,12,14,14,14,13,13,15,14,14,13,13,15,14,14,14,14,15,15,14,12,12,15,14,14,13,13,15,14,15,14,15,15,14,14,13,13,15,14,14,14,14,15,14,14,12,12,15,14,14,13,13,14,15,14,15,14,15,14,14,13,13,15,14,14,14,14,15,14,14,12,12,15,14,14,13,13,15,15,15,14,14,15,15,15,14,14,16,14,14,14,14,15,15,15,14,14,15,14,14,14,14,14,15,15,14,14,13,13,13,12,13,17,15,15,12,12,17,15,15,12,12,18,15,15,11,11,17,16,16,11,11,18,16,16,13,13,18,17,16,13,13,18,16,16,12,12,18,16,16,12,12,18,17,17,12,12,17,16,16,12,13,17,16,16,12,13,17,16,16,12,12,17,16,16,12,12,18,17,16,12,12,18,16,16,12,12,17,16,17,12,12,18,15,15,11,11,18,15,15,12,12,17,17,17,11,11,17,17,17,12,12,17,16,16,13,13,18,16,16,11,11,18,16,16,12,12,18,17,16,11,11,14,14,14,10,10,16,15,14,11,11,16,15,15,12,12,16,14,14,12,12,17,14,14,13,13,17,15,15,13,13,17,15,15,14,14,16,15,15,12,12,16,15,15,13,13,18,15,15,14,14,16,15,15,12,12,16,15,15,14,14,16,15,15,12,12,16,15,15,13,13,17,15,15,13,13,17,15,15,13,13,17,15,15,14,14,16,14,14,12,12,17,15,15,12,12,18,15,15,13,13,17,15,15,14,14,17,16,16,15,15,17,15,14,13,13,17,15,15,14,14,17,15,15,13,13,14,12,12,11,11,15,14,14,12,12,16,14,14,12,12,16,14,14,11,11,17,14,14,12,12,16,15,14,13,13,16,14,14,13,13,16,15,15,12,12,16,14,14,13,13,17,15,15,13,13,16,15,15,13,13,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,16,15,15,12,12,17,15,15,12,12,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,16,15,15,12,12,17,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,17,15,15,12,12,14,14,14,8,8,14,14,14,13,13,14,15,15,14,14,14,14,14,14,14,15,15,15,19,19,15,15,15,14,14,15,15,16,20,19,15,15,15,14,14,15,16,16,15,15,15,15,15,19,19,15,15,15,14,14,15,16,16,19,20,15,15,15,14,14,15,15,15,15,15,15,15,15,19,19,15,15,15,15,15,15,15,16,19,20,15,14,15,14,14,15,15,15,15,15,15,15,15,20,19,15,15,15,21,19,15,16,16,20,20,15,15,14,19,19,15,15,16,20,21,15,15,15,20,19,13,12,12,9,9,14,14,14,12,12,14,13,13,13,13,14,14,14,13,13,15,14,14,20,19,15,14,14,14,13,15,14,14,19,19,15,15,14,13,13,15,14,14,14,14,15,15,15,19,20,15,14,14,13,13,15,14,14,20,19,14,15,14,13,13,15,14,14,14,13,15,15,15,19,20,15,15,14,14,14,15,14,14,21,19,15,15,15,13,13,15,14,14,14,14,14,15,15,20,20,15,15,15,21,20,15,14,14,19,20,15,15,15,20,20,15,14,14,19,20,15,15,15,21,19,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,6,7,7,7,8,8,7,8,8,10,11,11,9,8,8,7,8,8,11,11,11,9,8,8,6,7,7,9,11,11,9,11,11,10,11,11,12,13,13,11,12,12,10,11,11,13,14,14,12,12,12,6,6,6,8,6,6,8,7,7,9,7,7,11,10,10,10,6,6,9,7,7,12,10,10,11,6,7,7,7,7,11,10,10,12,10,10,11,10,10,14,13,13,13,10,10,12,11,11,15,13,13,14,10,10,8,7,7,12,11,11,12,11,11,11,11,11,14,14,14,13,12,12,12,11,11,15,15,15,13,12,12,0,10,10,0,11,11,0,11,11,0,11,11,0,14,14,0,11,11,0,11,11,0,15,15,0,11,11,7,8,8,12,10,10,12,10,10,12,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,12,11,11,12,11,11,16,14,14,14,12,12,13,12,12,15,14,14,15,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,12,12,0,14,14,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,0,8,8,0,8,8,0,9,9,0,9,9,0,9,9,0,9,9,0,9,9,0,8,8,0,6,6,0,7,7,0,7,7,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,6,6,0,6,6,0,6,6,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,6,6,0,8,8,0,9,9,0,9,9,0,10,10,0,10,10,0,10,10,0,10,10,0,11,11,0,9,9,0,7,7,0,10,10,0,10,10,0,12,11,0,12,12,0,11,11,0,11,11,0,12,12,0,10,10,0,7,7,0,10,10,0,10,10,0,12,12,0,11,12,0,11,11,0,11,11,0,11,11,0,10,10,0,8,8,0,9,9,0,9,9,0,10,10,0,10,10,0,10,9,0,10,10,0,10,10,0,9,9,0,6,6,0,10,10,0,10,10,0,11,11,0,12,12,0,11,11,0,11,11,0,12,12,0,11,11,0,7,7,0,9,9,0,9,9,0,11,11,0,11,11,0,10,10,0,10,10,0,11,11,0,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,6,7,7,0,8,8,6,9,9,8,11,11,0,8,8,0,9,9,0,12,12,0,8,8,5,7,7,7,10,10,0,12,12,8,11,11,9,12,12,0,11,12,0,12,12,0,15,15,0,12,12,0,6,6,0,6,6,0,7,7,0,7,7,0,10,10,0,7,7,0,8,8,0,11,11,0,7,7,6,7,7,10,9,9,0,11,10,10,9,9,12,12,12,0,10,10,0,11,11,0,13,13,0,11,11,7,6,6,10,10,10,0,11,11,11,11,11,12,12,12,0,11,11,0,12,12,0,15,15,0,11,11,0,11,11,0,11,11,0,12,12,0,12,12,0,14,14,0,12,12,0,12,12,0,15,15,0,11,11,0,8,8,0,10,10,0,11,11,0,11,11,0,12,12,0,12,12,0,11,11,0,15,15,0,11,11,0,6,6,0,10,10,0,12,12,0,10,10,0,13,13,0,12,12,0,13,13,0,14,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,0,0,0,8,8,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,6,6,0,0,0,7,7,0,0,0,8,8,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,10,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,0,0,10,10,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,11,0,0,0,12,12,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,0,0,10,10,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,13,13,0,0,0,0,0,0,0,0,14,13,0,0,0,0,0,0,0,0,13,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,14,14,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,12,13,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,12,12,0,0,0,14,14,0,0,0,0,0,0,0,0,14,14,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,2,2],"i8",N3,F.GLOBAL_BASE+477020),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,4,12,9,8,12,15,17,4,2,11,6,5,9,13,15,11,7,8,7,7,10,14,13,8,5,7,5,5,8,12,12,8,4,7,4,3,6,11,12,11,8,9,7,6,8,11,12,15,13,14,12,9,7,10,13,16,12,17,12,7,5,8,11,0,0,0,0,255,255,255,255,255,255,255,255,7,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,F.GLOBAL_BASE+487288),E3([1,0,0,0,2,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,200,161,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,128,7,0,0,0,0,0,0,0,0,0,96,128,7,0,136,128,7,0,0,0,0,0,0,0,0,0,176,128,7,0,216,128,7,0,0,0,0,0,0,0,0,0,0,129,7,0,40,129,7,0,0,0,0,0,0,0,0,0,80,129,7,0,120,129,7,0,40,129,7,0,0,0,0,0,160,129,7,0,88,125,7,0,128,125,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,0,128,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,248,127,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,124,7,0,8,125,7,0,0,0,0,0,0,0,0,0,48,125,7,0,88,125,7,0,128,125,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,16,127,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,192,127,7,0,0,0,0,0,2,0,0,0,25,0,0,0,216,126,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,248,126,7,0,0,0,0,0,2,0,0,0,9,0,0,0,184,126,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,200,126,7,0,0,0,0,0,1,0,0,0,25,0,0,0,48,126,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,80,126,7,0,0,0,0,0,1,0,0,0,25,0,0,0,168,125,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,200,125,7,0,0,0,0,0,3,4,4,5,4,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,13,14,16,16,16,16,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,5,5,5,6,6,5,6,5,6,6,6,6,7,7,7,6,7,6,7,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,8,8,9,9,10,10,11,11,4,6,5,8,6,9,8,10,9,10,10,11,10,5,5,6,6,8,8,9,9,10,10,10,10,11,7,8,8,9,8,10,9,10,9,11,10,11,10,7,8,8,8,10,9,10,10,10,10,11,10,11,9,10,10,11,11,11,11,12,11,12,11,12,11,9,10,10,11,11,11,11,11,11,11,12,11,12,11,11,11,12,12,12,12,12,12,12,12,12,11,11,12,11,12,12,12,12,12,12,12,12,11,12,12,12,12,12,13,12,13,12,12,12,12,12,12,12,12,12,13,13,13,13,12,13,12,12,12,12,12,13,13,12,13,12,13,12,13,12,12,12,12,13,13,13,13,13,13,12,12,12,12,12,11,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,3,7,7,9,13,16,3,2,4,6,10,13,17,7,4,4,6,9,12,14,7,6,6,5,7,9,12,10,10,9,6,6,9,12,14,14,13,9,8,10,11,18,18,15,13,11,10,11,0,0,0,0,0,0,0,5,0,0,0,243,0,0,0,192,160,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,184,161,7,0,0,0,0,0,5,0,0,0,243,0,0,0,184,159,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,176,160,7,0,0,0,0,0,5,0,0,0,243,0,0,0,176,158,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,159,7,0,0,0,0,0,5,0,0,0,243,0,0,0,168,157,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,160,158,7,0,0,0,0,0,5,0,0,0,53,12,0,0,88,145,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,144,157,7,0,0,0,0,0,5,0,0,0,53,12,0,0,8,133,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,64,145,7,0,0,0,0,0,1,0,0,0,7,0,0,0,224,132,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,232,132,7,0,0,0,0,0,5,0,0,0,243,0,0,0,216,131,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,208,132,7,0,0,0,0,0,5,0,0,0,243,0,0,0,208,130,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,200,131,7,0,0,0,0,0,5,0,0,0,243,0,0,0,200,129,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,192,130,7,0,0,0,0,0,1,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,7,7,7,7,7,7,7,7,7,8,8,9,8,8,8,7,7,8,8,8,9,8,8,9,7,7,6,6,6,9,8,7,9,7,7,9,8,8,10,8,8,10,8,8,10,8,8,10,8,8,10,8,8,7,6,6,9,6,6,9,7,7,9,7,7,10,8,8,9,6,6,9,7,7,10,8,8,9,7,7,7,8,8,11,9,9,11,9,9,11,8,9,12,9,9,12,8,8,11,9,9,12,9,9,12,8,8,8,7,7,10,9,9,10,10,9,10,9,9,11,10,10,11,9,9,11,9,9,11,10,11,11,9,9,10,8,8,11,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,9,9,11,10,10,11,9,9,9,8,8,11,9,9,12,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,9,9,12,8,8,9,7,7,11,9,9,11,10,10,11,9,9,11,11,11,11,9,9,11,10,10,11,11,11,11,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,10,10,11,9,9,11,9,10,11,10,10,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,6,6,7,8,8,7,8,8,7,9,8,10,11,11,9,8,8,7,8,8,11,11,11,9,8,8,6,7,7,10,10,10,10,10,10,10,10,10,14,13,13,12,11,11,10,10,10,14,14,13,12,11,11,6,6,6,8,5,5,8,7,7,9,7,7,11,10,10,9,7,7,9,7,7,12,10,10,10,7,7,7,8,8,12,11,10,12,10,10,11,10,10,15,13,13,13,10,10,11,10,10,17,14,13,13,10,10,7,7,7,12,11,12,12,11,11,12,11,11,16,14,14,13,12,12,12,11,11,17,15,14,14,12,12,10,9,9,13,11,11,13,11,11,13,11,11,17,14,13,14,11,11,12,11,11,16,15,14,14,11,11,7,8,8,12,11,11,12,10,10,12,10,10,15,13,13,14,11,10,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,12,11,11,12,11,11,17,14,14,14,12,12,12,11,11,16,15,15,14,12,12,10,10,10,13,11,11,13,11,11,13,11,12,16,14,14,14,11,11,13,12,11,16,15,15,14,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,14,14,6,7,7,14,14,7,7,7,14,14,0,13,13,16,16,0,13,13,15,14,7,8,8,15,15,9,10,10,16,16,9,8,8,15,15,0,13,13,17,16,0,13,13,15,16,8,8,8,15,15,12,11,11,16,16,9,8,8,14,14,0,13,13,17,18,0,13,13,15,15,0,14,14,16,16,0,0,0,19,18,0,12,12,16,15,0,15,16,0,20,0,14,14,16,16,0,14,14,17,17,0,0,0,19,18,0,12,12,15,15,0,17,17,0,20,0,14,14,16,16,5,6,7,12,12,9,9,9,14,14,10,10,10,14,14,0,21,21,18,17,0,20,20,18,17,9,10,10,14,14,12,12,12,16,16,12,10,10,14,14,0,20,19,18,17,0,0,20,17,18,11,10,10,14,14,14,13,13,18,18,13,11,11,14,14,0,20,20,17,18,0,21,21,17,17,0,21,0,18,18,0,0,0,0,0,0,20,19,16,17,0,0,0,19,19,0,0,0,18,18,0,21,21,18,18,0,0,0,0,0,0,20,20,16,17,0,0,0,21,21,0,0,0,18,19,6,6,6,13,12,8,6,6,11,11,8,6,6,13,13,0,9,9,11,11,0,11,10,14,14,9,7,7,13,13,11,9,9,13,13,10,6,6,13,13,0,10,10,14,15,0,10,10,13,13,9,7,7,13,13,13,10,9,13,13,10,6,6,13,13,0,10,10,15,14,0,10,10,13,13,0,11,11,15,15,0,19,20,17,17,0,9,9,13,13,0,13,13,20,20,0,11,11,13,13,0,11,11,15,15,0,19,19,17,17,0,10,10,13,13,0,15,15,20,20,0,12,12,13,13,0,10,10,12,12,0,11,11,15,15,0,11,11,15,15,0,15,15,20,0,0,16,16,0,21,0,11,11,15,15,0,14,14,18,17,0,11,11,15,15,0,15,16,19,20,0,16,16,21,21,0,12,12,15,15,0,15,14,18,18,0,11,11,16,16,0,15,15,21,21,0,16,15,0,0,0,16,16,21,0,0,0,0,0,0,0,14,14,20,20,0,18,18,0,0,0,16,17,21,0,0,16,16,21,21,0,0,0,0,0,0,15,15,21,21,0,20,19,0,21,0,17,17,0,0,0,10,10,12,11,0,10,10,10,11,0,11,11,12,12,0,11,11,9,9,0,13,13,11,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,12,12,13,13,0,12,12,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,13,13,14,14,0,12,12,12,12,0,14,14,14,13,0,19,20,15,15,0,12,11,12,12,0,15,15,21,20,0,13,13,11,11,0,13,13,13,13,0,19,0,15,15,0,12,12,12,12,0,17,16,19,0,0,13,13,12,12,7,7,7,16,16,11,9,9,15,15,12,9,9,16,16,0,13,13,15,14,0,14,14,17,16,10,9,9,16,16,14,11,11,17,16,12,9,8,15,15,0,13,13,18,18,0,13,13,15,15,12,10,10,18,17,15,12,12,17,17,14,9,9,16,16,0,13,13,18,19,0,14,13,17,16,0,14,14,18,18,0,0,0,20,21,0,12,12,16,16,0,16,16,20,21,0,14,14,17,16,0,14,14,18,19,0,0,0,19,21,0,13,13,17,17,0,17,17,0,21,0,15,15,16,16,8,7,7,14,14,11,10,10,15,15,12,10,10,15,15,0,20,20,18,18,0,0,0,17,17,11,10,10,16,16,14,12,12,18,17,14,11,11,15,15,0,20,21,18,18,0,0,19,18,17,12,10,10,16,16,17,14,14,19,19,14,11,11,15,15,0,21,21,19,19,0,21,20,19,18,0,21,0,18,19,0,0,0,0,0,0,20,20,18,17,0,21,0,0,0,0,0,0,19,18,0,0,0,18,19,0,0,0,0,0,0,0,21,17,18,0,0,0,0,21,0,0,21,18,19,11,9,9,14,14,13,10,10,13,13,13,11,11,15,15,0,13,13,12,12,0,15,15,16,16,13,10,10,15,15,16,12,12,15,15,15,10,10,15,15,0,14,13,16,15,0,14,13,15,15,13,10,10,15,15,18,14,14,15,15,15,10,10,14,15,0,14,14,16,16,0,14,14,16,15,0,15,15,17,16,0,21,0,18,18,0,12,13,15,15,0,16,16,0,0,0,14,14,15,15,0,15,15,16,16,0,21,20,18,18,0,13,13,15,15,0,19,18,0,0,0,15,15,15,15,0,11,11,13,13,0,12,12,16,16,0,12,12,16,16,0,15,16,20,0,0,16,17,0,0,0,12,12,16,16,0,14,14,18,18,0,11,11,16,17,0,15,15,20,0,0,16,16,0,0,0,12,12,16,16,0,15,15,19,19,0,11,11,17,17,0,16,16,21,0,0,16,16,0,0,0,17,17,20,20,0,0,0,0,0,0,15,15,20,0,0,17,18,0,0,0,17,17,0,0,0,16,16,0,21,0,0,0,0,0,0,15,15,21,0,0,19,18,0,0,0,18,17,0,0,0,11,11,14,14,0,11,11,15,15,0,12,12,16,16,0,13,13,14,14,0,14,14,17,17,0,12,12,16,16,0,14,14,16,16,0,11,11,16,15,0,13,13,16,17,0,13,13,16,16,0,12,12,15,16,0,15,14,16,16,0,11,11,15,15,0,14,14,17,17,0,13,13,16,16,0,15,14,18,18,0,21,0,19,19,0,13,13,15,15,0,16,16,20,20,0,14,14,16,15,0,14,14,17,17,0,21,0,20,18,0,13,13,15,15,0,17,17,0,0,0,14,14,16,15,8,8,8,16,16,12,9,9,16,16,13,9,9,16,16,0,14,14,18,17,0,14,14,16,17,12,10,10,18,17,14,11,11,18,18,14,9,9,16,16,0,13,13,18,18,0,13,13,17,16,12,9,9,16,17,17,13,13,16,16,14,9,9,15,15,0,14,14,20,20,0,13,13,15,15,0,15,14,18,18,0,0,0,20,21,0,12,13,16,17,0,16,16,20,21,0,14,14,16,17,0,14,14,18,17,0,0,0,20,21,0,13,13,16,16,0,19,17,0,21,0,14,15,16,16,8,7,7,14,13,12,10,10,15,15,13,10,10,15,15,0,21,21,18,19,0,20,21,18,18,12,10,10,16,15,15,12,12,17,17,14,11,11,15,15,0,21,21,19,18,0,0,21,17,18,13,11,11,15,15,16,13,13,18,19,15,11,11,15,14,0,21,0,19,19,0,0,21,18,18,0,0,21,19,19,0,0,0,0,0,0,20,19,17,17,0,0,0,21,0,0,21,0,18,19,0,0,20,20,19,0,0,0,0,0,0,21,20,18,17,0,0,0,0,20,0,0,0,18,19,0,10,10,15,14,0,11,11,14,14,0,11,11,15,16,0,14,14,15,15,0,15,15,16,16,0,11,11,16,16,0,14,13,16,16,0,11,11,15,15,0,14,14,16,16,0,14,14,15,15,0,11,11,15,15,0,13,13,15,15,0,11,11,15,15,0,15,15,18,17,0,14,14,15,15,0,15,16,18,18,0,0,0,20,20,0,14,13,16,15,0,17,17,21,0,0,15,15,15,15,0,16,15,17,17,0,0,0,19,19,0,13,13,15,15,0,20,19,0,0,0,15,15,15,15,0,11,11,13,13,0,12,12,16,16,0,12,12,16,16,0,15,15,21,21,0,17,16,0,0,0,12,12,16,16,0,14,14,17,17,0,11,11,16,16,0,15,15,0,0,0,16,16,21,0,0,12,12,17,16,0,14,15,20,20,0,11,11,16,16,0,15,15,0,20,0,16,16,0,21,0,16,17,21,0,0,0,0,0,0,0,15,15,0,21,0,18,18,0,0,0,17,16,0,0,0,17,17,21,0,0,0,0,0,0,0,15,15,0,20,0,19,20,21,0,0,17,18,0,0,0,12,12,15,15,0,12,12,15,15,0,12,12,16,16,0,13,13,15,15,0,15,15,17,17,0,13,12,17,16,0,14,14,17,16,0,11,11,16,16,0,14,14,17,17,0,14,14,17,17,0,12,12,16,16,0,15,15,17,17,0,11,11,16,16,0,14,14,17,17,0,14,14,16,16,0,15,15,18,17,0,0,0,19,0,0,13,13,16,16,0,16,16,0,21,0,14,14,16,16,0,15,15,18,17,0,0,0,19,19,0,13,13,16,16,0,18,17,0,21,0,14,15,16,16,0,11,11,16,16,0,13,13,17,17,0,13,13,17,17,0,16,16,16,17,0,16,16,18,18,0,12,12,17,17,0,16,15,18,17,0,12,12,16,16,0,16,15,19,19,0,16,15,17,17,0,12,12,17,18,0,16,16,18,18,0,12,12,16,16,0,16,16,19,19,0,15,16,17,17,0,15,16,18,18,0,0,0,20,20,0,13,13,16,16,0,18,18,21,20,0,15,15,16,16,0,16,16,19,18,0,0,0,19,20,0,14,14,17,17,0,19,19,0,21,0,15,16,16,16,0,9,9,14,14,0,13,13,15,15,0,14,14,15,15,0,0,21,19,19,0,0,21,18,18,0,12,12,15,15,0,15,15,18,18,0,14,13,15,15,0,21,21,18,19,0,21,20,18,18,0,13,13,16,16,0,17,17,18,19,0,14,14,15,15,0,0,21,19,19,0,21,20,18,19,0,20,20,19,19,0,0,0,0,0,0,19,20,17,17,0,0,0,21,21,0,21,0,18,20,0,21,0,18,21,0,0,0,0,0,0,21,21,19,18,0,0,0,0,0,0,0,0,19,19,0,18,18,15,15,0,18,20,17,16,0,20,0,17,17,0,21,0,17,17,0,21,20,19,20,0,19,19,16,16,0,21,21,17,18,0,19,19,17,17,0,20,21,21,21,0,20,20,18,18,0,19,19,16,16,0,0,21,18,19,0,18,19,16,17,0,21,21,19,20,0,21,19,18,18,0,21,20,19,21,0,0,0,20,21,0,19,19,17,16,0,0,0,0,0,0,21,20,17,17,0,20,21,19,18,0,0,0,0,21,0,19,18,16,17,0,0,0,0,0,0,20,20,17,17,0,11,11,14,14,0,13,13,16,16,0,13,13,16,16,0,17,17,21,0,0,17,18,0,0,0,12,12,16,16,0,15,15,17,18,0,12,12,16,16,0,16,16,0,20,0,17,17,0,21,0,12,12,17,17,0,16,16,19,20,0,12,12,17,17,0,17,17,0,20,0,17,17,0,0,0,17,17,21,0,0,0,0,0,0,0,15,15,0,20,0,19,19,0,0,0,18,18,0,0,0,17,17,0,0,0,0,0,0,0,0,15,15,0,0,0,20,19,0,0,0,19,18,0,0,0,14,14,21,19,0,16,16,20,21,0,16,16,20,20,0,17,17,20,0,0,17,17,20,20,0,15,15,20,20,0,19,18,20,0,0,15,15,20,20,0,17,18,21,20,0,17,17,20,21,0,15,15,19,19,0,19,18,21,21,0,15,15,19,20,0,17,18,0,0,0,17,17,20,20,0,17,18,20,21,0,0,0,0,0,0,15,15,20,20,0,19,19,0,0,0,17,17,19,21,0,17,17,0,21,0,0,0,0,21,0,15,15,20,19,0,0,20,0,0,0,17,17,21,20,0,12,12,16,16,0,14,14,17,17,0,13,13,17,17,0,16,16,17,18,0,17,16,18,18,0,13,13,18,17,0,15,16,19,18,0,13,13,16,16,0,16,16,19,19,0,16,16,17,17,0,13,12,17,17,0,16,16,18,17,0,12,12,16,16,0,17,17,19,18,0,16,15,16,16,0,16,17,18,19,0,0,0,20,20,0,14,14,17,16,0,18,18,21,0,0,16,16,16,16,0,16,16,18,17,0,0,21,21,21,0,14,14,16,16,0,21,20,21,0,0,16,16,16,16,0,10,10,14,14,0,14,14,15,16,0,14,14,15,15,0,0,21,18,18,0,0,21,18,19,0,13,13,16,16,0,16,16,18,17,0,14,14,15,15,0,20,0,18,18,0,21,0,18,17,0,13,13,16,15,0,17,17,19,19,0,14,14,15,15,0,20,20,18,19,0,0,0,18,17,0,0,21,18,18,0,0,0,0,0,0,20,21,18,17,0,0,0,0,0,0,0,0,19,19,0,0,21,18,18,0,0,0,0,0,0,21,0,18,17,0,0,0,0,21,0,0,0,19,20,0,19,19,16,16,0,0,21,18,17,0,21,0,18,18,0,20,0,19,18,0,21,20,19,19,0,21,19,17,18,0,0,21,19,19,0,21,19,18,18,0,21,0,20,18,0,0,21,18,18,0,20,21,17,17,0,21,0,18,18,0,21,19,17,17,0,21,0,0,20,0,0,20,17,18,0,0,0,19,20,0,0,0,20,19,0,19,21,17,18,0,21,0,0,0,0,21,21,18,17,0,0,21,18,18,0,0,0,0,21,0,20,19,16,17,0,0,0,0,0,0,21,20,17,17,0,11,11,13,13,0,13,13,16,16,0,13,13,16,16,0,17,17,0,21,0,18,19,21,0,0,12,12,16,16,0,15,15,19,18,0,13,13,16,16,0,16,17,21,19,0,17,17,21,21,0,13,13,16,16,0,16,16,20,18,0,13,13,16,16,0,17,17,0,0,0,18,18,0,0,0,18,17,0,20,0,0,0,0,0,0,15,15,21,21,0,19,18,0,0,0,17,17,21,21,0,17,17,0,0,0,0,0,0,0,0,15,15,20,21,0,20,20,0,0,0,19,19,0,0,0,14,15,21,19,0,16,16,0,21,0,17,16,21,21,0,17,18,21,20,0,18,18,0,21,0,16,16,0,20,0,19,19,0,0,0,16,15,0,20,0,18,18,0,0,0,17,17,0,21,0,16,16,20,20,0,20,19,0,0,0,15,16,21,22,0,18,18,0,0,0,18,17,0,0,0,18,18,0,0,0,0,0,0,0,0,16,16,21,20,0,19,20,0,0,0,18,17,21,0,0,17,18,0,0,0,0,0,0,0,0,16,16,0,20,0,0,20,0,0,0,18,18,22,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,3,4,7,7,10,12,12,12,12,10,11,11,13,13,11,12,12,11,11,12,12,12,12,12,11,13,13,13,13,12,12,12,13,14,12,13,13,13,13,12,13,13,13,13,12,13,13,13,13,11,13,13,13,13,12,12,12,14,14,12,13,13,12,12,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,14,14,12,13,13,12,12,12,13,13,13,13,12,13,13,12,12,12,13,13,13,13,12,12,12,14,14,12,13,13,12,12,12,13,13,13,13,12,13,13,12,12,10,10,11,10,10,11,11,11,11,11,11,9,9,10,10,12,11,11,10,10,12,10,10,10,10,13,12,12,12,12,13,11,11,11,11,13,12,12,12,12,13,11,11,11,11,13,12,12,12,12,13,12,12,12,12,13,11,11,11,11,13,12,12,12,12,13,11,11,11,11,13,12,12,11,11,13,12,12,11,11,13,11,11,11,11,13,12,12,11,11,13,11,11,11,11,13,12,12,11,11,13,12,12,11,11,13,11,11,11,11,13,12,12,11,11,13,11,11,11,11,13,12,12,11,11,11,11,11,10,10,11,11,11,9,9,11,12,12,11,11,12,12,12,9,9,13,13,13,10,10,13,13,13,11,11,13,13,13,14,14,13,13,13,11,10,13,13,14,12,12,13,13,13,11,11,13,13,13,11,11,13,13,13,14,14,13,13,13,10,10,13,13,13,11,11,13,13,13,10,10,13,14,13,11,11,13,14,14,14,14,13,13,13,10,10,13,14,14,11,11,13,13,13,10,10,13,14,14,11,11,13,13,13,14,14,14,13,13,10,10,13,14,14,11,11,13,13,13,10,10,14,12,12,9,9,14,12,12,9,9,14,11,11,9,9,14,12,12,8,8,14,11,11,7,7,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,9,9,15,12,12,9,9,14,13,13,9,9,15,13,13,10,10,15,12,12,10,10,15,13,13,9,9,15,12,12,9,9,15,13,13,9,9,13,12,12,9,9,13,13,13,8,8,13,13,13,9,9,13,13,13,7,7,14,13,13,8,8,14,14,14,10,10,15,14,14,11,11,14,14,14,9,9,15,14,14,10,10,15,14,14,9,9,14,14,14,10,10,15,14,14,11,11,15,14,14,9,9,14,14,14,10,10,14,14,14,9,9,15,14,15,10,10,15,14,14,11,11,14,14,14,9,9,14,14,14,9,9,14,14,14,8,8,15,14,14,10,10,15,14,14,11,11,14,14,14,9,9,15,14,14,9,9,14,14,14,8,8,12,12,12,13,13,16,16,16,11,11,17,16,16,12,12,17,16,16,11,11,17,16,16,11,11,17,17,16,13,13,17,16,16,13,13,18,17,16,12,12,17,16,16,13,13,17,16,17,12,12,18,17,17,13,13,17,16,16,14,14,18,17,17,12,12,18,16,16,13,13,17,17,17,13,12,17,17,17,13,13,17,16,16,13,13,18,17,17,12,12,17,16,16,13,12,17,17,17,12,12,18,17,17,13,13,18,16,16,14,14,18,17,17,12,12,17,17,17,13,13,18,17,18,12,12,13,14,14,10,10,16,14,14,13,13,17,15,15,14,14,17,14,14,12,13,16,14,14,13,13,17,15,15,14,14,16,16,16,15,15,17,15,15,14,14,17,16,16,14,15,17,15,15,14,14,17,15,16,14,14,17,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,14,17,15,15,14,14,16,16,16,15,15,17,15,15,13,13,17,15,15,14,14,17,15,15,13,13,17,15,15,14,14,16,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,13,11,11,10,10,16,14,14,13,12,16,14,14,13,13,16,15,14,12,12,16,14,14,12,12,16,15,15,14,14,16,14,14,14,14,17,15,15,13,13,16,15,15,14,14,17,15,15,13,14,17,15,15,14,14,17,15,14,14,14,17,15,15,13,13,17,15,15,14,14,17,15,15,13,13,17,15,15,14,14,17,14,14,14,14,17,15,15,13,13,17,15,15,13,13,17,15,15,13,13,17,15,15,14,14,17,15,15,14,14,17,15,15,13,13,17,15,15,13,13,17,15,15,13,13,14,14,15,8,8,14,14,14,19,19,14,15,15,18,19,14,14,14,19,18,14,14,14,19,19,15,15,15,19,18,15,16,16,19,19,15,15,15,19,19,15,16,16,20,19,15,15,15,19,19,15,15,15,19,19,16,16,16,20,19,15,15,15,19,18,15,16,16,20,19,15,15,15,18,18,15,15,15,19,20,15,16,16,19,19,15,15,15,20,19,15,15,15,20,19,15,15,15,19,18,15,15,15,19,19,15,16,16,19,20,15,15,15,19,19,15,15,15,19,20,15,15,15,19,19,14,12,12,9,9,14,14,14,19,19,14,14,14,19,19,14,14,15,20,19,15,14,14,18,19,15,15,15,19,19,15,15,14,20,19,15,15,15,20,19,15,15,14,20,19,15,15,15,20,19,15,15,15,19,20,15,14,14,19,20,15,15,15,20,20,15,14,14,20,19,15,15,15,19,19,15,15,15,19,19,15,14,14,19,19,15,15,15,19,20,15,15,15,20,20,15,15,15,19,19,15,15,15,20,19,16,14,14,19,19,15,15,15,20,19,15,14,15,20,19,14,15,15,20,19,12,12,12,13,13,16,16,16,11,11,16,16,16,12,12,17,16,16,11,11,17,15,16,11,11,17,17,17,13,13,18,16,17,13,13,18,17,17,13,12,17,16,17,13,13,17,17,17,13,13,16,16,16,12,12,17,16,16,13,13,17,16,16,12,12,17,16,16,12,13,17,17,17,12,12,17,17,17,13,13,18,16,16,13,13,18,17,17,12,12,18,17,17,12,12,17,17,17,12,12,17,17,17,12,12,17,16,16,13,13,17,17,17,12,12,17,16,16,12,12,17,17,17,12,12,13,14,14,9,9,16,14,14,13,13,16,15,15,14,14,17,14,14,13,13,16,14,14,13,13,17,15,15,15,15,16,16,16,15,15,17,15,15,14,14,17,15,15,15,15,17,15,15,14,14,17,15,15,14,14,16,16,16,15,15,17,15,15,14,14,17,15,15,14,14,17,15,15,14,14,17,15,15,14,14,16,16,16,15,15,18,15,15,14,13,17,15,15,14,14,17,15,15,13,13,17,15,15,14,14,16,16,16,15,15,17,15,15,14,13,17,15,15,14,14,17,15,15,13,13,13,11,11,11,11,16,14,14,12,12,16,14,14,13,13,16,15,14,12,12,17,14,14,12,12,17,15,15,13,13,17,14,14,14,14,17,15,15,13,13,17,14,15,14,13,17,15,15,13,13,16,15,15,13,13,16,14,14,14,14,17,15,15,13,13,16,14,14,13,13,16,15,15,13,13,17,15,15,13,13,17,14,14,14,14,17,15,15,12,12,17,15,15,13,13,17,15,15,12,12,16,15,15,13,13,17,14,14,13,14,17,15,15,12,12,17,14,14,13,13,17,15,15,12,12,14,14,14,8,8,14,14,14,18,18,14,15,15,19,19,14,14,14,19,19,14,15,14,18,19,15,15,15,18,19,15,16,16,20,20,15,15,15,19,20,15,16,16,19,20,15,15,15,19,20,15,15,16,19,19,15,16,16,20,20,15,15,15,20,19,15,16,16,20,19,15,15,15,19,20,15,15,15,19,19,15,16,16,20,19,15,15,15,19,19,15,16,15,20,19,15,15,15,19,19,15,15,15,19,20,15,16,16,20,20,15,15,15,19,19,15,15,15,20,20,15,15,15,19,19,14,12,12,9,9,14,14,14,18,18,14,14,14,19,20,14,14,14,18,18,14,14,14,18,19,15,15,15,19,20,15,14,14,19,19,15,15,15,19,19,15,14,15,19,19,15,15,15,18,20,15,15,15,19,19,15,14,14,19,19,15,15,15,20,19,15,15,14,20,20,15,15,15,19,19,15,15,15,19,19,15,14,14,19,19,15,15,15,19,19,15,14,14,19,20,14,15,15,19,19,15,15,15,19,19,15,14,14,20,19,15,15,15,19,19,15,14,14,20,19,15,15,15,19,19,13,12,12,13,13,17,17,16,11,11,16,16,16,12,12,17,17,16,11,11,17,16,16,11,11,17,17,17,13,13,17,16,16,13,13,18,17,17,12,12,17,16,16,13,13,18,17,17,12,12,18,17,17,13,13,18,16,17,13,13,17,17,17,12,12,18,17,17,13,13,18,17,17,12,12,17,16,17,12,12,17,16,16,13,13,17,16,16,11,11,17,16,16,12,12,17,17,17,11,11,17,17,17,12,12,18,16,16,13,13,18,17,17,12,11,17,16,16,12,12,18,17,17,11,11,13,14,14,9,9,16,14,14,13,13,16,15,15,14,14,17,14,14,12,12,16,14,14,13,13,17,15,15,14,14,17,16,16,15,16,18,15,15,14,14,17,15,15,14,14,17,15,15,14,14,18,15,15,14,14,16,16,16,15,16,18,15,15,14,14,17,16,15,14,14,18,15,15,14,14,17,15,15,14,14,17,16,16,15,15,18,14,15,13,13,17,15,15,14,14,18,15,15,13,13,17,15,15,14,14,17,16,15,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,13,11,11,10,10,16,14,14,12,12,16,14,14,12,12,17,14,15,11,11,17,14,14,11,11,17,15,15,13,13,17,14,14,14,13,17,15,15,13,13,16,15,15,13,13,17,15,15,13,13,17,15,15,13,13,17,14,14,14,14,17,15,15,13,13,17,14,15,13,13,16,15,15,13,13,17,15,15,13,13,17,14,14,13,13,17,15,15,12,12,16,14,14,12,12,17,15,15,12,12,17,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,17,15,15,12,12,13,15,14,8,8,14,14,14,19,19,14,15,15,18,19,14,14,14,18,19,14,15,14,19,19,15,16,15,19,19,15,16,16,19,20,15,15,15,19,19,15,16,16,19,19,15,16,16,19,19,15,15,15,19,19,15,16,16,20,20,15,15,15,19,19,15,15,15,19,19,15,15,15,19,19,15,15,15,19,19,15,16,16,20,19,15,15,15,19,19,15,15,15,19,19,15,15,15,19,19,15,16,15,19,19,15,16,16,21,19,15,15,15,20,20,15,15,15,20,21,15,15,15,19,20,14,12,12,8,8,14,14,14,19,19,14,13,13,19,19,14,14,14,19,19,14,13,14,19,19,15,15,15,20,20,15,14,14,20,19,15,15,15,19,20,15,14,14,19,20,15,15,15,20,19,15,15,15,19,20,15,14,14,20,20,15,15,15,20,19,15,14,14,19,19,15,15,15,19,19,15,15,15,20,19,15,14,14,21,19,15,15,15,20,21,15,14,14,21,19,15,15,15,19,19,15,15,15,20,20,15,14,14,19,21,15,15,15,19,19,15,14,14,19,20,15,15,15,19,19,13,12,12,13,13,17,16,16,11,11,17,16,15,12,12,18,16,16,11,11,17,16,16,11,11,18,17,17,13,13,18,16,16,13,13,17,17,17,12,13,18,17,16,13,13,18,17,17,13,13,17,17,17,13,13,17,16,16,13,13,18,16,17,12,12,17,16,16,13,12,17,17,17,12,12,18,17,17,13,12,18,16,16,13,13,18,17,17,12,12,17,16,16,12,12,17,17,17,11,11,17,16,16,12,12,17,16,16,13,13,17,16,16,11,11,17,16,16,12,12,17,17,17,11,11,13,14,14,9,9,16,14,14,13,13,16,15,15,14,14,17,14,14,12,12,16,14,14,13,13,17,15,15,14,14,17,15,16,15,15,17,15,15,14,14,17,15,16,14,15,18,15,15,14,14,17,15,15,14,14,16,16,16,15,15,18,15,15,13,14,17,15,15,14,14,18,15,15,14,14,17,15,15,14,14,17,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,17,15,15,14,14,17,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,13,11,11,10,10,16,14,14,12,12,16,14,14,13,13,17,14,14,11,11,17,14,14,12,12,17,15,15,14,14,17,14,14,14,14,17,15,15,13,13,17,15,14,13,13,16,15,15,13,13,16,15,15,13,13,17,14,14,14,14,17,15,15,13,13,17,14,14,13,13,16,15,15,13,13,16,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,16,15,15,12,12,17,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,16,15,15,12,12,14,14,14,8,8,14,14,14,18,18,14,15,15,19,18,14,14,14,18,18,14,14,14,18,19,15,16,15,19,19,15,17,16,20,20,15,15,15,19,19,15,16,16,19,19,15,15,15,19,19,15,16,15,18,19,15,16,16,20,20,15,15,15,19,19,15,16,16,19,20,15,15,15,19,19,15,15,16,19,19,15,16,16,20,20,15,15,15,19,19,15,15,15,19,20,15,15,15,19,19,15,15,15,19,19,15,16,16,20,20,15,15,15,19,20,15,16,16,20,20,15,15,15,19,19,13,12,12,8,8,14,14,14,19,20,14,14,14,19,19,14,14,14,18,19,14,14,14,19,20,15,15,15,19,20,15,14,14,21,20,15,15,15,20,20,15,15,14,19,19,15,15,15,19,19,15,15,15,19,19,15,14,14,19,20,15,15,15,19,20,15,14,14,19,19,15,15,15,19,19,15,15,15,19,19,16,14,14,19,19,15,15,15,20,20,15,14,14,21,19,15,15,15,19,19,15,15,15,19,20,16,14,14,19,20,15,15,15,19,19,15,14,14,19,19,15,15,15,20,19,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,6,7,7,7,8,8,7,8,8,10,11,11,9,8,8,7,9,9,11,12,12,9,8,8,6,7,7,9,11,11,10,11,11,10,11,11,13,13,13,11,12,12,10,11,11,13,14,14,12,12,12,6,6,6,8,6,6,8,6,6,9,7,7,12,10,10,10,6,6,9,7,7,12,10,10,11,7,6,7,8,8,12,10,10,12,10,10,11,10,10,15,13,13,13,10,10,12,11,11,15,13,13,14,11,11,8,7,7,12,11,11,12,11,11,11,11,11,14,14,14,13,12,12,12,11,11,16,15,15,14,12,12,0,10,10,0,11,11,0,12,12,0,11,11,0,14,14,0,11,11,0,11,11,0,15,15,0,11,11,7,8,8,13,10,10,12,10,10,12,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,13,11,11,12,11,11,15,14,14,14,12,12,13,12,12,15,14,14,15,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,12,12,0,15,14,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,0,8,8,0,8,8,0,10,10,0,9,9,0,10,10,0,10,10,0,9,9,0,10,10,0,7,7,0,7,7,0,7,7,0,8,8,0,8,8,0,8,8,0,9,9,0,8,8,0,8,8,0,7,7,0,8,8,0,8,8,0,10,10,0,9,9,0,9,9,0,10,10,0,9,9,0,10,10,0,8,8,0,11,11,0,11,11,0,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,12,12,0,8,8,0,11,11,0,11,11,0,13,12,0,12,12,0,13,12,0,13,13,0,12,12,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,11,11,0,11,11,0,13,12,0,12,12,0,12,12,0,12,12,0,11,11,0,12,12,0,8,8,0,12,12,0,12,12,0,13,13,0,12,12,0,13,13,0,13,13,0,12,13,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,0,7,7,0,8,8,0,9,9,0,12,12,0,8,8,0,9,9,0,12,12,0,8,8,0,6,6,0,11,11,0,11,11,0,12,12,0,14,14,0,11,11,0,12,12,0,14,14,0,11,11,0,6,6,0,6,5,0,7,6,0,7,7,0,10,10,0,6,6,0,7,7,0,10,10,0,7,7,0,7,7,0,10,10,0,11,11,0,11,11,0,14,14,0,10,10,0,12,12,0,14,14,0,12,12,0,6,6,0,11,11,0,11,11,0,12,12,0,14,14,0,11,11,0,12,12,0,15,15,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,11,11,0,11,11,0,12,12,0,15,15,0,12,12,0,11,11,0,15,15,0,11,11,0,6,6,0,11,11,0,12,12,0,12,12,0,15,15,0,11,11,0,12,12,0,14,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,2,2],"i8",N3,F.GLOBAL_BASE+489700),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,5,7,8,10,13,14,4,2,4,6,8,11,12,7,4,3,5,8,12,14,8,5,4,4,8,12,12,9,7,7,7,9,10,11,13,11,11,9,7,8,10,13,11,10,6,5,7,9,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,224,200,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,167,7,0,0,0,0,0,0,0,0,0,120,167,7,0,160,167,7,0,0,0,0,0,0,0,0,0,200,167,7,0,240,167,7,0,0,0,0,0,0,0,0,0,24,168,7,0,64,168,7,0,0,0,0,0,0,0,0,0,104,168,7,0,144,168,7,0,64,168,7,0,0,0,0,0,184,168,7,0,112,164,7,0,152,164,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,24,167,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,16,167,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,163,7,0,32,164,7,0,0,0,0,0,0,0,0,0,72,164,7,0,112,164,7,0,152,164,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,40,166,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,216,166,7,0,0,0,0,0,2,0,0,0,25,0,0,0,240,165,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,166,7,0,0,0,0,0,2,0,0,0,9,0,0,0,208,165,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,224,165,7,0,0,0,0,0,1,0,0,0,25,0,0,0,72,165,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,104,165,7,0,0,0,0,0,1,0,0,0,25,0,0,0,192,164,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,224,164,7,0,0,0,0,0,3,4,4,5,4,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,12,14,14,14,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,5,5,5,7,5,5,5,5,6,7,7,6,7,7,7,6,7,7,7,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,3,4,7,7,8,8,9,9,9,10,10,10,5,6,5,8,7,9,8,9,9,10,9,11,10,5,5,7,7,8,8,9,9,9,9,10,10,11,8,9,8,10,9,10,9,10,9,11,10,11,10,8,8,9,9,10,9,10,9,11,10,11,10,11,10,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,12,11,11,11,11,11,11,10,12,12,12,12,12,12,12,11,12,12,12,11,11,11,12,12,12,12,12,12,12,11,12,11,12,11,11,13,12,12,12,13,12,12,12,12,11,12,11,11,13,13,13,12,12,12,12,12,12,11,11,11,10,13,13,13,12,13,12,13,11,13,10,12,11,11,13,13,12,13,12,12,12,12,11,12,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,2,3,6,7,10,14,16,3,2,5,7,11,14,17,6,5,5,7,10,12,14,7,7,6,6,7,9,13,10,11,9,6,6,9,11,15,15,13,10,9,10,12,18,18,16,14,12,13,16,0,0,0,0,0,0,0,5,0,0,0,243,0,0,0,216,199,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,208,200,7,0,0,0,0,0,5,0,0,0,243,0,0,0,208,198,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,200,199,7,0,0,0,0,0,5,0,0,0,243,0,0,0,200,197,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,192,198,7,0,0,0,0,0,5,0,0,0,243,0,0,0,192,196,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,184,197,7,0,0,0,0,0,5,0,0,0,53,12,0,0,112,184,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,168,196,7,0,0,0,0,0,5,0,0,0,53,12,0,0,32,172,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,88,184,7,0,0,0,0,0,1,0,0,0,7,0,0,0,248,171,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,0,172,7,0,0,0,0,0,5,0,0,0,243,0,0,0,240,170,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,232,171,7,0,0,0,0,0,5,0,0,0,243,0,0,0,232,169,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,224,170,7,0,0,0,0,0,5,0,0,0,243,0,0,0,224,168,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,216,169,7,0,0,0,0,0,1,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,7,7,7,8,8,7,7,7,7,8,8,8,8,9,8,7,7,8,8,8,9,9,9,9,7,7,6,6,6,9,7,7,9,7,7,9,8,8,10,8,8,10,8,8,10,8,8,10,8,8,10,8,8,7,6,6,9,6,6,9,6,6,9,7,7,10,8,8,9,6,6,9,7,7,10,8,8,9,7,7,7,8,8,11,9,9,11,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,10,9,12,8,8,8,7,7,10,9,9,11,9,9,11,9,9,11,11,10,11,9,9,11,10,9,11,10,11,11,9,9,10,8,8,11,9,9,11,9,9,11,9,9,11,10,10,11,9,9,11,9,9,11,10,10,11,9,9,9,8,8,12,9,9,12,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,9,9,12,8,8,9,7,7,11,9,10,11,10,9,11,9,9,11,11,11,11,9,9,11,10,10,11,11,11,11,9,9,10,9,9,11,9,9,11,10,10,11,10,9,11,10,10,11,9,9,11,10,10,11,10,11,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,6,6,6,8,8,7,8,8,7,9,8,10,11,11,9,8,8,7,8,8,11,11,11,9,8,8,6,7,7,10,10,10,10,10,10,10,10,10,14,13,13,12,11,11,10,10,10,14,14,13,13,11,11,6,6,6,8,5,5,8,7,7,8,7,7,11,9,9,9,7,7,8,7,7,12,10,10,10,7,7,7,8,8,12,11,11,12,10,10,11,10,10,14,13,13,13,10,10,11,10,11,16,14,14,13,10,10,7,8,7,12,12,12,12,11,11,12,11,11,16,14,15,13,12,12,11,11,11,17,15,14,14,13,13,10,9,9,13,11,11,13,11,11,12,11,11,16,14,13,14,11,11,12,11,11,16,15,14,14,11,11,7,8,8,12,11,11,12,10,10,12,10,10,16,14,13,13,11,11,12,10,10,16,14,14,13,10,10,8,8,8,12,12,12,12,11,11,12,11,11,16,14,15,14,12,12,12,11,11,16,15,15,14,12,12,10,10,10,13,11,11,13,11,11,12,12,12,16,14,14,14,11,11,12,11,11,17,14,15,14,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,14,14,6,8,8,14,14,7,7,7,14,14,0,13,13,15,16,0,13,13,15,15,7,8,8,15,15,9,10,10,16,16,9,8,8,14,15,0,13,13,17,17,0,13,13,16,16,8,8,8,15,15,12,11,11,16,16,9,8,8,14,14,0,13,13,17,17,0,13,13,15,15,0,14,14,16,16,0,0,0,18,19,0,12,12,16,15,0,16,16,0,20,0,14,14,16,16,0,14,14,17,17,0,0,0,19,19,0,12,12,15,15,0,18,17,21,21,0,14,14,16,16,5,7,7,12,13,9,10,9,14,14,11,10,10,14,14,0,0,0,18,17,0,20,21,18,18,9,10,10,14,14,12,12,12,17,16,12,10,10,14,14,0,20,20,18,17,0,21,21,17,17,11,10,10,14,14,15,13,13,18,18,13,11,11,14,14,0,20,0,18,18,0,20,21,18,17,0,21,0,18,19,0,0,0,0,21,0,21,20,16,17,0,0,0,21,21,0,0,0,20,18,0,20,0,17,18,0,0,0,0,0,0,0,20,16,17,0,0,0,20,0,0,0,0,18,18,6,6,6,13,13,8,5,5,11,11,9,6,6,13,13,0,9,9,12,12,0,10,10,14,14,9,7,7,13,13,12,9,9,13,13,10,6,6,13,13,0,10,10,14,14,0,10,10,13,13,9,7,7,13,13,13,10,10,13,13,11,6,6,13,13,0,10,10,15,15,0,10,10,13,13,0,12,11,15,15,0,20,19,17,16,0,9,9,13,13,0,13,13,20,19,0,11,11,13,13,0,11,11,15,15,0,20,19,17,17,0,10,10,13,13,0,14,15,0,21,0,12,12,13,13,0,10,10,12,12,0,11,11,15,15,0,11,11,15,15,0,15,15,20,20,0,16,16,0,0,0,11,11,15,15,0,14,14,17,17,0,11,11,15,15,0,15,15,20,21,0,16,16,21,21,0,12,12,15,15,0,15,15,18,20,0,11,11,16,15,0,15,15,21,21,0,16,16,0,21,0,16,16,0,0,0,0,0,0,0,0,14,14,21,21,0,17,18,0,0,0,16,17,20,0,0,16,16,0,0,0,0,0,0,0,0,15,15,20,20,0,19,18,0,21,0,18,17,0,0,0,10,10,11,11,0,10,10,10,10,0,11,11,12,12,0,11,11,9,9,0,13,13,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,12,12,13,13,0,12,12,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,13,13,13,13,0,12,12,12,12,0,14,13,13,13,0,19,21,15,15,0,12,11,12,12,0,16,15,19,19,0,13,13,11,11,0,13,13,13,13,0,0,21,15,16,0,12,12,12,12,0,16,16,19,21,0,13,13,12,12,7,7,7,16,16,11,9,9,16,16,12,9,9,16,16,0,13,13,16,16,0,14,14,17,16,11,9,9,16,16,14,12,11,17,17,13,8,9,15,15,0,13,13,19,19,0,13,13,16,15,12,10,10,17,17,15,12,12,19,18,14,9,9,17,16,0,14,14,18,0,0,14,13,16,16,0,14,15,18,17,0,21,0,19,21,0,12,12,16,16,0,16,16,0,0,0,14,14,16,16,0,14,14,18,18,0,0,21,20,0,0,13,13,16,17,0,18,18,0,0,0,15,14,17,16,8,7,7,14,14,11,10,10,15,15,13,10,10,15,15,0,21,20,19,19,0,21,0,17,18,11,10,10,15,16,14,12,12,18,18,14,11,11,15,14,0,21,20,18,19,0,0,21,18,18,12,11,11,16,16,16,14,14,18,20,14,11,11,16,15,0,20,20,19,19,0,0,20,18,18,0,21,0,18,19,0,0,0,0,0,0,20,20,17,18,0,0,0,20,20,0,0,0,19,19,0,0,0,20,18,0,0,0,0,0,0,0,21,18,18,0,21,21,0,21,0,0,0,19,20,11,9,9,14,14,13,10,10,14,14,13,11,11,15,15,0,13,13,13,13,0,14,14,16,16,13,11,11,15,15,16,12,12,15,15,14,10,10,14,14,0,14,14,16,16,0,14,14,15,15,13,10,10,15,15,17,13,14,15,16,15,10,10,15,15,0,14,14,17,16,0,14,14,15,15,0,15,15,17,17,0,0,21,18,18,0,13,13,15,15,0,16,16,21,20,0,14,14,15,14,0,15,14,16,17,0,0,20,20,19,0,13,13,15,15,0,19,18,0,0,0,15,15,15,15,0,11,11,14,14,0,12,12,16,16,0,12,12,16,16,0,15,16,21,21,0,16,17,21,0,0,12,12,17,16,0,14,14,18,19,0,11,11,16,16,0,15,15,20,21,0,16,16,21,0,0,12,12,17,16,0,15,15,19,19,0,12,12,16,17,0,16,15,0,0,0,16,16,0,0,0,17,17,0,21,0,0,0,0,0,0,14,15,20,0,0,17,17,0,0,0,17,17,0,0,0,17,16,0,0,0,0,0,0,0,0,15,15,0,0,0,18,18,0,0,0,18,17,0,0,0,11,11,14,14,0,12,12,15,15,0,12,12,15,15,0,13,13,14,14,0,14,14,17,17,0,12,12,16,16,0,14,14,16,16,0,11,11,15,15,0,13,13,16,17,0,13,13,16,16,0,12,12,15,15,0,14,14,17,16,0,11,11,15,15,0,14,14,17,17,0,13,13,16,16,0,15,15,17,18,0,21,20,20,21,0,12,12,15,15,0,16,16,20,21,0,14,14,15,15,0,14,14,17,17,0,0,0,18,19,0,12,13,15,15,0,18,17,21,0,0,14,15,15,15,8,8,8,16,16,12,10,10,16,16,13,9,9,16,16,0,14,14,18,17,0,14,14,16,17,12,10,10,18,17,14,12,11,18,18,14,9,9,16,16,0,13,13,18,18,0,13,13,17,16,12,9,9,16,17,17,13,13,17,17,14,9,9,15,15,0,14,14,20,19,0,13,13,16,16,0,15,15,19,18,0,0,0,20,19,0,12,13,17,17,0,16,16,20,0,0,14,14,16,17,0,14,14,19,18,0,0,0,20,20,0,13,13,16,16,0,18,17,0,0,0,15,15,16,16,9,7,7,14,14,12,10,10,15,15,13,10,10,15,15,0,21,0,18,19,0,20,21,19,18,12,10,10,16,15,15,13,13,18,18,14,11,11,15,15,0,0,0,19,18,0,0,21,18,18,13,11,11,15,15,16,14,14,17,19,15,11,11,15,15,0,21,21,20,18,0,0,21,18,18,0,0,21,21,19,0,0,0,0,0,0,19,20,18,17,0,0,0,21,21,0,21,0,20,18,0,0,21,19,19,0,0,0,0,0,0,20,21,17,17,0,0,0,0,0,0,21,0,18,20,0,10,10,14,14,0,11,11,15,15,0,11,11,15,15,0,14,14,15,15,0,15,15,16,16,0,11,12,16,16,0,13,13,16,16,0,11,11,15,15,0,14,14,17,17,0,14,14,15,15,0,11,11,16,15,0,14,14,15,15,0,11,11,15,15,0,15,15,17,17,0,14,14,15,15,0,16,16,18,18,0,0,0,20,19,0,14,13,16,15,0,17,17,21,0,0,15,15,15,15,0,16,15,17,16,0,20,0,20,18,0,13,14,15,15,0,19,18,0,21,0,15,15,15,15,0,11,11,14,14,0,12,12,16,16,0,12,12,16,16,0,16,15,20,21,0,17,16,0,0,0,12,12,16,16,0,14,14,18,18,0,11,11,16,16,0,15,15,21,20,0,16,16,0,0,0,12,12,16,17,0,15,14,19,19,0,11,12,16,16,0,15,15,21,0,0,16,16,0,0,0,16,17,0,0,0,0,0,0,0,0,15,15,21,0,0,17,17,0,0,0,17,17,0,0,0,17,16,0,0,0,0,0,0,0,0,15,15,0,20,0,19,20,0,0,0,17,17,0,0,0,12,12,15,15,0,12,12,15,15,0,12,12,16,16,0,13,13,15,15,0,15,15,17,17,0,13,13,17,16,0,14,14,17,17,0,11,11,16,16,0,14,14,17,17,0,13,13,16,16,0,12,12,16,16,0,15,15,16,17,0,11,11,15,16,0,14,14,17,17,0,13,14,16,16,0,15,15,18,18,0,21,20,20,19,0,13,13,16,17,0,16,16,0,0,0,14,14,16,16,0,15,15,18,18,0,0,0,20,19,0,13,13,16,16,0,17,17,0,0,0,14,14,16,16,0,11,11,16,16,0,13,13,18,17,0,13,13,17,17,0,16,16,17,17,0,16,16,17,18,0,12,12,17,17,0,15,15,18,18,0,12,12,16,16,0,16,16,19,19,0,15,15,16,17,0,12,12,17,17,0,17,17,18,18,0,12,12,17,17,0,16,16,19,19,0,15,16,17,17,0,16,16,18,17,0,0,0,21,21,0,13,13,16,16,0,17,17,0,20,0,15,15,16,17,0,16,16,19,18,0,0,21,20,21,0,14,14,17,16,0,20,0,0,0,0,15,16,16,17,0,9,9,14,14,0,13,13,16,16,0,14,14,15,15,0,0,20,19,19,0,0,0,19,19,0,12,12,15,15,0,15,16,19,18,0,14,14,15,15,0,21,0,18,18,0,20,0,17,18,0,13,13,16,16,0,17,17,17,19,0,14,14,16,15,0,21,20,20,19,0,0,0,19,19,0,0,0,19,18,0,0,0,0,0,0,20,20,17,18,0,0,0,21,21,0,0,0,18,18,0,21,0,18,19,0,0,0,0,0,0,20,21,18,18,0,0,0,20,21,0,0,0,19,19,0,18,18,15,15,0,20,21,17,17,0,19,21,17,17,0,0,0,17,18,0,0,0,20,19,0,19,19,17,17,0,0,0,18,18,0,19,20,16,17,0,0,21,20,20,0,19,20,19,18,0,19,20,16,16,0,0,0,18,19,0,19,20,17,17,0,0,21,0,20,0,21,21,17,19,0,20,0,19,20,0,0,0,20,0,0,19,18,17,16,0,0,0,0,0,0,0,20,17,17,0,20,21,18,20,0,0,0,0,21,0,19,20,17,17,0,0,0,0,0,0,20,21,17,17,0,11,11,14,14,0,13,13,16,17,0,13,13,16,16,0,17,17,0,21,0,18,17,21,0,0,13,13,16,16,0,15,15,18,18,0,12,12,16,16,0,17,16,21,0,0,17,17,0,0,0,12,12,17,17,0,17,17,19,21,0,13,12,16,16,0,17,17,0,0,0,17,17,0,0,0,18,17,0,21,0,0,0,0,0,0,15,15,20,0,0,20,18,0,0,0,17,18,0,0,0,16,17,0,0,0,0,0,0,0,0,15,15,0,0,0,19,19,0,0,0,18,18,0,0,0,14,14,18,18,0,16,16,0,21,0,16,16,21,21,0,17,17,0,20,0,17,17,20,0,0,16,15,0,0,0,20,20,0,0,0,15,15,20,20,0,17,17,21,0,0,17,18,20,20,0,15,15,20,20,0,18,18,0,0,0,15,15,19,20,0,17,18,0,0,0,17,17,20,20,0,18,17,21,0,0,0,0,0,21,0,15,15,20,20,0,19,19,0,0,0,17,17,21,0,0,17,17,0,0,0,0,0,21,0,0,15,15,19,19,0,20,21,0,0,0,18,17,21,21,0,12,12,16,16,0,14,14,17,17,0,13,13,17,18,0,16,16,18,17,0,16,16,18,18,0,13,13,18,18,0,15,16,19,18,0,13,13,16,16,0,16,16,20,18,0,16,16,17,17,0,12,13,17,17,0,17,16,18,18,0,12,12,16,16,0,17,16,20,19,0,16,16,16,16,0,16,17,18,20,0,0,0,21,20,0,14,14,17,16,0,19,18,0,20,0,16,16,17,16,0,16,16,17,18,0,0,21,21,21,0,14,14,16,16,0,20,20,21,0,0,16,16,16,16,0,10,10,14,14,0,14,14,15,16,0,14,14,15,15,0,0,21,18,18,0,0,21,18,19,0,13,13,16,16,0,16,16,18,18,0,14,14,15,15,0,21,0,18,18,0,21,0,18,18,0,13,13,16,16,0,17,17,19,20,0,14,14,15,15,0,0,0,18,20,0,0,21,18,18,0,0,21,19,18,0,0,0,0,0,0,20,21,18,17,0,0,0,21,21,0,0,0,19,19,0,21,0,18,19,0,0,0,0,0,0,21,20,17,17,0,0,21,20,0,0,0,0,19,19,0,19,20,15,16,0,0,20,18,17,0,20,21,17,18,0,21,0,18,18,0,0,0,19,19,0,20,20,17,18,0,0,0,18,19,0,20,20,18,17,0,0,0,0,20,0,0,21,17,18,0,20,21,17,17,0,0,0,18,18,0,19,19,17,17,0,0,0,21,21,0,20,20,17,17,0,0,0,21,19,0,0,0,20,19,0,21,20,17,18,0,0,0,0,0,0,0,20,18,17,0,21,20,18,18,0,0,0,20,21,0,20,20,17,17,0,0,0,0,0,0,20,0,17,17,0,11,11,13,14,0,13,13,16,16,0,13,13,16,16,0,17,17,0,0,0,17,18,0,0,0,13,13,16,16,0,15,16,18,18,0,13,13,16,17,0,16,17,20,0,0,17,18,20,0,0,13,13,17,17,0,16,16,20,21,0,13,13,16,16,0,17,17,21,0,0,17,18,0,0,0,17,18,0,21,0,0,0,0,0,0,15,15,20,0,0,19,19,0,0,0,17,17,0,0,0,18,17,21,20,0,0,0,0,0,0,16,16,20,21,0,21,20,0,21,0,19,21,0,0,0,15,15,0,0,0,16,17,0,19,0,16,16,0,0,0,17,17,0,0,0,19,18,0,0,0,16,16,20,20,0,20,18,21,0,0,15,15,21,21,0,18,18,0,0,0,18,19,0,0,0,16,15,0,21,0,20,19,0,0,0,16,16,0,0,0,20,18,0,21,0,17,18,21,0,0,18,19,0,0,0,0,0,0,0,0,16,16,20,20,0,19,20,0,0,0,17,17,0,0,0,18,17,20,21,0,0,0,0,0,0,16,16,0,20,0,20,22,0,0,0,18,18,0,22,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,8,8,10,12,12,11,11,9,11,11,12,13,11,12,12,11,11,11,12,12,12,12,10,13,12,13,13,11,12,12,13,13,11,12,12,13,13,11,12,13,13,13,11,13,13,13,13,10,13,13,12,13,11,12,12,14,14,11,13,12,12,12,11,12,12,13,13,11,13,13,12,12,11,13,13,13,13,11,12,12,13,13,11,13,13,12,12,11,12,12,13,13,11,13,13,12,12,11,13,13,13,13,11,12,12,14,14,11,13,13,12,12,11,12,12,13,13,11,13,13,12,12,11,10,10,10,10,12,10,10,11,11,11,8,8,11,11,13,10,10,10,10,12,10,10,10,10,13,11,11,11,11,13,10,10,11,11,13,11,11,12,12,13,11,11,11,11,13,11,11,12,12,13,11,11,12,12,13,10,10,11,11,13,11,11,11,11,13,11,10,11,11,13,11,11,11,11,13,11,11,11,11,13,10,10,11,11,13,11,11,11,11,12,10,11,11,11,13,11,11,11,11,13,11,11,11,11,13,10,10,11,11,13,11,11,11,11,13,11,11,11,11,13,11,11,11,11,11,10,10,10,10,12,10,10,9,9,12,12,12,11,11,13,12,12,9,9,13,12,12,10,10,12,12,12,12,12,13,13,13,14,14,13,12,12,11,11,13,13,13,12,12,13,12,12,11,11,13,12,13,11,11,13,13,13,14,14,13,12,12,10,10,13,13,13,11,11,13,12,12,10,10,13,13,13,11,11,13,13,13,14,14,13,12,12,10,10,13,13,13,11,11,13,12,13,10,10,13,13,13,11,11,13,13,13,14,14,13,12,12,10,10,13,13,13,11,11,13,13,12,10,10,14,12,12,8,8,14,12,12,9,9,14,11,11,9,9,14,12,12,8,8,14,11,11,7,7,14,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,12,12,9,9,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,14,12,12,9,9,14,13,13,9,9,14,13,13,9,9,15,12,12,9,9,15,13,13,9,9,14,12,12,9,9,14,13,13,9,9,14,13,13,9,9,15,12,12,9,9,14,13,13,9,9,14,12,12,9,9,14,13,13,9,9,13,12,12,8,8,13,13,13,8,8,14,13,13,9,9,13,13,13,7,7,14,13,13,8,8,14,14,14,10,10,14,14,14,11,11,14,14,14,9,9,14,14,14,10,10,14,14,14,9,9,14,14,14,10,9,15,14,14,11,11,14,14,14,9,9,14,14,14,10,10,14,14,14,9,9,14,14,14,9,9,15,14,14,11,11,14,14,14,8,8,14,14,14,9,9,14,14,14,8,8,14,14,14,9,9,15,14,14,11,11,14,14,14,8,8,14,14,14,9,9,14,14,14,8,8,12,12,12,13,13,16,15,15,11,11,16,15,16,12,12,17,16,16,11,11,17,15,15,12,11,16,16,16,12,13,16,15,15,13,13,16,16,16,12,12,16,16,15,13,13,16,16,16,12,12,16,16,16,13,13,17,16,16,14,14,17,17,16,12,12,17,16,16,13,13,17,17,16,12,13,16,16,17,13,12,17,16,16,14,13,17,16,16,12,12,17,16,16,12,12,17,16,17,12,12,17,17,17,13,13,16,16,16,13,14,17,17,16,12,12,16,16,16,13,13,17,17,17,12,12,13,14,14,10,10,16,14,14,12,12,16,15,15,14,14,16,14,14,12,12,15,14,14,13,13,17,15,15,14,13,16,16,15,15,15,16,15,15,14,14,16,15,15,14,14,17,15,15,14,14,16,15,15,14,14,16,16,15,15,15,17,15,15,13,13,16,15,15,14,14,17,15,15,13,13,17,15,15,14,14,16,15,15,15,15,16,14,14,13,13,16,15,15,14,14,16,14,14,13,13,17,15,15,14,14,16,16,15,15,15,17,14,14,13,13,16,15,15,14,14,17,14,14,13,13,13,11,11,10,10,16,14,14,13,13,15,14,14,13,13,16,14,14,12,12,16,14,14,12,12,15,15,15,14,14,16,14,14,14,14,16,15,14,14,14,16,14,14,14,14,16,15,15,14,13,16,15,15,14,14,16,14,14,14,14,17,15,15,14,14,16,14,14,14,14,16,15,15,13,14,16,15,15,14,14,16,14,14,14,14,16,15,15,13,13,16,14,14,13,13,16,15,15,13,13,16,15,15,14,14,16,14,14,14,14,17,15,15,13,13,16,15,14,13,13,17,15,15,13,13,14,14,14,9,9,14,14,14,17,17,14,15,15,18,18,14,14,14,18,19,14,14,14,18,18,15,15,15,19,18,15,16,15,18,20,15,15,15,18,19,15,15,15,19,19,15,15,15,18,20,15,15,15,18,19,15,15,16,20,18,15,15,15,18,18,15,15,15,19,19,15,15,15,18,19,15,15,15,18,19,15,15,15,19,19,14,15,14,19,19,15,15,15,20,19,15,14,14,19,18,14,15,15,18,19,15,15,16,20,20,14,14,14,18,19,15,15,15,19,18,14,14,14,18,18,14,12,12,9,9,13,14,14,18,18,14,13,13,18,19,14,14,14,18,18,14,14,14,18,18,15,15,15,19,19,15,14,14,19,18,14,15,15,19,18,15,14,14,18,18,15,15,15,19,18,14,15,15,19,19,15,14,14,19,18,14,15,15,19,18,15,14,14,19,18,14,15,15,19,18,15,15,15,21,18,15,14,14,19,18,14,15,15,18,19,14,15,14,20,19,14,15,15,18,19,14,15,15,19,19,15,14,14,19,20,14,15,15,18,18,14,14,14,19,19,14,15,15,19,18,12,12,12,13,13,16,15,15,11,11,16,15,15,12,12,16,16,16,11,11,16,15,15,11,11,16,16,16,13,13,17,16,16,13,13,17,17,17,12,12,16,16,16,13,13,17,16,17,13,12,15,16,16,12,12,16,15,15,13,13,17,16,16,12,12,16,16,15,12,12,16,16,16,12,12,17,17,16,13,12,16,16,16,13,13,17,16,16,12,12,17,16,16,12,12,17,17,16,12,12,16,17,16,12,12,17,15,15,13,13,17,16,16,12,12,16,16,16,12,12,16,16,16,12,12,13,13,13,9,9,15,14,14,13,13,16,15,14,14,14,16,14,14,13,13,15,14,14,13,13,17,15,15,14,14,16,15,15,15,15,16,15,15,14,14,16,15,15,15,15,17,15,15,14,14,16,15,15,14,14,16,15,15,15,15,17,14,15,14,14,16,15,15,14,14,17,15,15,13,14,17,15,15,14,14,16,15,15,15,15,17,14,14,13,13,16,15,15,14,14,17,14,14,13,13,17,15,15,14,14,16,15,16,15,15,17,14,14,13,13,16,15,15,14,14,18,14,14,13,13,13,11,11,11,11,15,14,14,12,12,15,14,14,13,13,16,14,14,12,12,16,13,14,12,12,16,15,15,13,13,16,14,14,14,14,16,15,15,13,13,16,14,14,13,13,16,14,15,13,13,15,15,15,13,13,16,14,14,14,13,16,14,14,13,13,16,14,14,13,13,16,15,15,13,13,16,15,15,13,13,16,14,14,14,14,16,15,15,12,12,16,14,14,13,13,16,15,15,12,12,16,15,15,13,13,16,14,14,14,14,17,15,14,12,12,16,14,14,13,13,16,15,15,12,12,14,14,14,8,8,14,14,14,17,18,14,15,15,17,18,14,14,14,17,18,14,14,14,18,18,14,15,15,18,18,14,16,15,19,19,15,15,15,18,19,15,16,15,20,19,15,15,15,18,18,14,15,15,18,19,15,16,16,20,19,15,15,15,19,17,14,15,15,20,18,14,15,15,18,18,14,15,15,18,19,14,15,15,19,20,14,14,14,18,18,14,15,15,18,19,14,14,14,18,19,14,15,15,19,18,15,16,16,20,21,14,14,15,19,19,14,15,15,19,19,14,14,14,19,18,13,12,12,9,9,13,14,14,18,19,14,14,14,18,19,14,14,14,18,18,14,14,14,18,18,14,15,15,19,19,15,14,14,19,18,15,15,15,19,19,15,14,14,19,20,14,15,15,18,19,14,15,15,20,18,15,14,14,18,18,14,15,15,18,18,14,14,14,19,19,14,15,15,18,18,14,15,15,19,18,15,14,14,19,19,14,15,15,19,18,15,14,14,19,18,14,14,15,18,19,14,15,15,19,18,15,14,14,18,19,14,15,14,19,20,14,14,14,19,19,14,15,15,19,19,12,12,12,13,13,16,16,16,11,11,16,16,16,12,12,17,16,16,11,11,17,15,15,11,11,16,16,16,13,13,17,15,16,13,13,16,16,16,12,12,17,16,16,13,13,17,17,16,12,12,17,17,16,13,13,17,16,16,13,13,17,17,17,12,12,17,16,16,13,13,17,17,17,12,12,16,16,16,12,12,17,15,15,13,13,17,16,16,11,11,17,16,16,12,12,16,16,16,11,11,16,17,16,12,12,17,16,16,13,13,17,17,16,12,12,17,17,16,12,12,17,16,16,11,11,13,14,14,9,9,16,14,14,13,13,16,14,15,14,14,16,14,14,12,12,16,14,14,13,13,17,15,15,14,14,16,15,15,15,15,17,15,15,14,14,16,15,15,14,14,17,15,15,14,14,16,15,15,14,14,16,15,15,15,16,17,14,15,14,14,16,15,15,14,14,17,15,15,14,14,16,15,15,14,14,16,15,15,15,15,17,14,14,13,13,16,15,15,14,14,16,14,14,13,13,17,15,15,14,14,16,16,15,15,15,17,14,14,13,13,16,15,15,14,14,17,14,14,13,13,13,11,11,10,10,16,14,14,12,12,15,13,13,13,12,16,14,14,11,11,16,14,14,11,11,16,14,15,13,14,16,14,14,13,13,16,15,15,13,13,16,14,14,13,13,16,15,15,13,13,16,15,15,13,13,17,14,14,14,14,17,15,15,13,13,16,14,15,13,13,16,15,15,13,13,16,15,15,13,13,16,14,14,13,13,17,15,15,12,12,16,14,14,12,12,16,15,15,12,12,16,15,15,13,13,16,14,14,13,13,17,15,15,12,12,17,14,14,12,12,16,15,15,12,12,13,14,14,8,8,13,14,14,18,18,13,15,15,17,18,14,14,14,18,19,14,14,14,19,18,14,15,15,19,18,15,15,16,21,18,15,15,15,19,19,14,16,16,19,19,14,15,15,18,19,14,15,15,19,20,14,16,16,19,18,15,15,15,18,19,14,15,15,19,18,15,15,15,18,18,15,15,15,20,18,15,16,16,20,19,14,15,14,18,19,14,15,16,19,20,14,15,15,19,18,15,15,15,19,18,15,16,16,20,19,15,14,14,18,18,14,15,15,19,19,14,15,15,18,18,13,12,12,8,8,13,14,14,19,18,14,13,13,20,18,14,14,14,19,18,14,13,13,18,19,14,15,15,20,19,15,14,14,19,19,14,15,15,19,18,15,14,14,20,20,15,15,15,19,18,14,15,15,19,18,15,14,14,19,18,14,15,15,20,19,14,14,14,20,19,14,15,15,19,18,15,15,15,18,18,15,14,14,18,18,14,15,15,19,19,14,14,14,19,19,14,15,15,19,19,15,15,15,19,18,15,14,14,20,19,15,15,15,19,19,14,14,14,20,19,14,15,15,20,20,12,12,12,13,13,17,16,16,11,11,16,16,15,12,12,17,16,16,11,11,17,15,15,11,11,17,17,17,13,13,17,16,16,13,13,17,17,17,12,12,17,16,16,13,13,17,17,16,12,13,16,17,16,13,13,17,16,15,13,13,17,16,16,12,12,17,16,16,12,13,17,16,17,12,12,17,17,17,12,12,17,16,15,13,13,17,16,16,12,12,17,16,16,12,12,17,16,16,11,11,16,16,16,12,12,17,15,15,13,13,17,16,15,11,11,16,16,16,12,12,17,16,16,11,11,13,14,14,9,9,16,14,14,13,13,16,14,15,14,14,16,14,14,12,12,16,14,14,13,13,17,15,15,14,15,16,15,15,15,15,17,15,15,14,14,16,15,15,15,14,16,15,15,14,14,16,15,15,14,14,16,15,16,15,15,17,15,14,14,14,16,15,15,14,14,17,15,15,13,13,16,15,15,14,14,16,16,16,15,15,17,14,14,13,13,16,15,15,14,14,18,14,15,13,13,16,15,15,14,14,16,16,15,15,15,16,14,14,13,13,16,15,15,14,14,17,14,15,13,13,13,11,11,10,10,15,14,14,12,12,15,14,14,13,13,16,14,14,12,12,16,13,14,12,12,16,14,15,14,13,16,14,14,14,14,16,15,15,13,13,16,14,14,13,13,16,15,15,13,13,15,15,15,13,13,16,14,14,14,14,17,15,15,13,13,16,14,14,13,13,16,15,15,13,13,16,15,15,13,13,16,14,14,13,13,17,15,15,12,12,16,14,14,12,12,16,14,15,12,12,16,15,15,13,13,16,14,14,13,13,17,15,15,12,12,16,14,14,12,12,16,15,15,12,12,14,14,14,8,8,14,14,14,17,17,14,15,15,18,18,14,14,14,18,17,14,14,14,18,18,14,15,15,18,20,15,16,15,19,18,15,15,15,19,18,15,15,16,19,18,15,15,15,18,18,14,15,15,18,18,15,16,16,18,19,15,15,15,18,18,15,15,15,19,20,15,15,15,18,18,15,15,15,18,18,15,16,16,19,19,15,14,15,19,19,15,15,15,19,20,14,14,15,18,18,15,15,15,19,19,15,16,16,19,19,15,15,14,18,19,15,15,15,20,20,15,15,14,18,18,13,12,12,8,8,13,14,14,18,18,14,14,14,18,18,14,14,14,18,20,14,14,14,18,18,14,15,15,19,18,15,14,14,18,19,15,15,15,18,19,15,14,14,18,19,15,15,15,18,18,14,15,14,18,19,15,14,14,21,19,15,15,15,19,18,14,14,14,19,18,14,15,15,19,18,15,15,15,20,19,15,14,14,20,18,14,15,15,18,19,14,14,14,19,18,14,15,15,18,19,15,15,15,18,19,15,14,14,19,19,15,15,15,19,19,14,14,14,19,20,14,15,15,18,19,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,7,8,8,7,8,8,7,9,9,10,12,11,9,8,8,7,9,9,11,12,12,9,9,9,6,7,7,10,11,11,10,11,11,10,11,11,13,13,14,12,12,12,11,11,11,14,14,14,12,12,12,6,5,5,9,6,5,9,6,6,9,7,7,12,10,10,11,6,6,10,7,7,13,10,10,12,7,7,7,8,8,12,10,10,12,10,10,11,10,10,15,13,13,13,9,9,12,11,11,16,13,13,15,11,11,8,7,7,12,12,12,12,11,11,12,11,11,14,14,14,14,12,12,12,12,12,16,15,15,14,12,12,0,10,10,0,12,12,0,12,12,0,11,11,0,14,14,0,11,11,0,12,12,0,15,15,0,11,11,8,8,8,13,11,11,13,10,10,13,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,9,7,7,13,11,11,13,11,11,12,11,11,16,14,14,14,12,12,13,12,12,15,14,14,15,13,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,13,12,0,14,15,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,0,9,9,0,9,9,0,10,10,0,9,9,0,10,10,0,10,10,0,9,9,0,10,10,0,7,7,0,7,7,0,6,6,0,8,8,0,7,7,0,8,8,0,8,9,0,8,8,0,8,8,0,7,7,0,9,9,0,8,8,0,10,10,0,9,9,0,10,10,0,10,10,0,9,9,0,10,10,0,9,9,0,11,11,0,11,11,0,12,12,0,11,11,0,12,12,0,13,13,0,12,12,0,13,12,0,8,8,0,12,12,0,12,12,0,13,13,0,12,12,0,13,13,0,13,13,0,13,13,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,11,11,0,12,12,0,13,13,0,12,12,0,13,13,0,13,13,0,12,12,0,12,12,0,8,8,0,12,12,0,12,12,0,13,13,0,13,13,0,13,14,0,14,13,0,13,13,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,0,7,7,0,8,8,0,9,9,0,12,12,0,8,8,0,9,9,0,12,12,0,8,8,0,6,6,0,11,11,0,12,12,0,12,12,0,15,15,0,11,11,0,12,12,0,15,15,0,12,12,0,5,5,0,5,5,0,6,6,0,7,7,0,11,11,0,6,6,0,7,7,0,10,11,0,6,6,0,7,7,0,11,11,0,12,12,0,11,11,0,15,15,0,10,10,0,12,12,0,15,15,0,12,12,0,6,6,0,12,12,0,12,12,0,12,12,0,15,15,0,11,11,0,12,12,0,15,15,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,11,12,0,15,16,0,11,11,0,6,6,0,11,12,0,12,12,0,12,12,0,16,15,0,12,12,0,13,12,0,15,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,3,7,8,10,13,16,3,2,5,7,9,13,16,6,4,4,6,10,14,15,7,5,5,7,10,13,14,9,8,9,9,9,11,13,12,11,12,9,7,8,11,14,12,10,6,5,7,10,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,248,239,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,206,7,0,0,0,0,0,0,0,0,0,144,206,7,0,184,206,7,0,0,0,0,0,0,0,0,0,224,206,7,0,8,207,7,0,0,0,0,0,0,0,0,0,48,207,7,0,88,207,7,0,0,0,0,0,0,0,0,0,128,207,7,0,168,207,7,0,88,207,7,0,0,0,0,0,208,207,7,0,136,203,7,0,176,203,7],"i8",N3,F.GLOBAL_BASE+500144),E3([2,0,0,0,49,0,0,0,48,206,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,40,206,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,203,7,0,56,203,7,0,0,0,0,0,0,0,0,0,96,203,7,0,136,203,7,0,176,203,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,64,205,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,240,205,7,0,0,0,0,0,2,0,0,0,25,0,0,0,8,205,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,40,205,7,0,0,0,0,0,2,0,0,0,9,0,0,0,232,204,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,248,204,7,0,0,0,0,0,1,0,0,0,25,0,0,0,96,204,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,128,204,7,0,0,0,0,0,1,0,0,0,25,0,0,0,216,203,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,248,203,7,0,0,0,0,0,3,5,4,5,4,5,4,5,5,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,7,7,4,5,6,7,7,4,6,5,7,7,7,6,7,6,7,7,7,6,7,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,3,3,8,8,10,10,10,10,10,10,10,10,5,7,5,9,8,10,10,10,10,11,10,11,10,5,5,7,8,9,10,10,11,10,10,11,10,11,10,10,10,11,11,11,11,11,11,11,10,11,11,10,10,10,10,11,11,11,11,11,10,11,11,11,11,11,11,11,11,12,11,10,11,11,11,11,11,11,11,11,11,11,11,11,10,10,11,11,12,11,11,11,11,11,11,12,11,11,11,10,11,11,11,11,11,11,11,11,10,11,11,10,11,10,11,11,11,11,11,11,11,11,11,11,12,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,11,10,11,11,11,11,11,11,11,12,11,13,11,11,11,11,11,11,11,11,11,11,11,12,11,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,2,3,6,7,9,13,17,3,2,5,7,9,13,17,6,5,5,6,9,12,16,7,7,6,6,7,10,13,10,10,9,7,6,10,13,13,13,12,10,10,11,15,17,17,17,14,14,15,17,0,0,0,0,0,0,0,5,0,0,0,243,0,0,0,240,238,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,232,239,7,0,0,0,0,0,5,0,0,0,243,0,0,0,232,237,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,224,238,7,0,0,0,0,0,5,0,0,0,243,0,0,0,224,236,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,216,237,7,0,0,0,0,0,5,0,0,0,243,0,0,0,216,235,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,208,236,7,0,0,0,0,0,5,0,0,0,53,12,0,0,136,223,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,235,7,0,0,0,0,0,5,0,0,0,53,12,0,0,56,211,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,112,223,7,0,0,0,0,0,1,0,0,0,7,0,0,0,16,211,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,24,211,7,0,0,0,0,0,5,0,0,0,243,0,0,0,8,210,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,0,211,7,0,0,0,0,0,5,0,0,0,243,0,0,0,0,209,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,248,209,7,0,0,0,0,0,5,0,0,0,243,0,0,0,248,207,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,240,208,7,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,7,6,8,8,7,7,8,7,8,8,9,9,9,8,7,7,8,8,8,9,9,9,9,8,8,6,6,6,9,7,7,9,7,7,9,8,8,10,8,8,10,8,8,10,8,8,10,9,8,10,8,8,7,6,6,9,6,6,9,6,6,9,7,7,10,8,8,10,6,6,9,7,7,10,8,8,10,6,6,7,7,7,11,9,9,11,9,9,10,9,9,12,10,10,12,8,8,11,9,9,13,9,10,12,8,8,8,7,7,11,9,10,11,10,10,10,9,9,11,11,11,11,9,9,11,10,9,12,11,11,11,9,10,10,8,8,11,9,10,11,9,9,11,9,9,12,10,10,11,9,9,11,9,9,12,10,11,11,9,9,8,8,8,12,9,9,12,9,9,11,9,9,13,9,9,13,8,8,12,9,9,13,10,10,12,8,8,9,7,7,11,10,10,11,10,10,11,10,10,12,11,11,11,10,9,11,10,10,11,11,11,11,9,9,11,9,9,12,10,10,11,10,10,12,10,10,11,11,11,11,9,9,11,10,10,12,11,11,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,7,7,6,8,8,7,8,8,7,9,9,11,11,11,9,8,8,7,9,9,11,12,11,9,9,9,6,7,7,10,11,11,10,10,10,10,11,11,15,14,14,12,12,12,11,11,11,14,14,14,12,12,12,5,6,6,8,5,5,8,7,7,8,8,8,12,10,10,10,7,7,8,7,7,12,10,10,10,7,7,6,7,7,12,11,11,12,10,10,11,10,10,14,14,13,13,10,10,11,10,10,16,14,14,14,11,10,7,7,7,13,12,12,12,12,11,11,11,11,15,14,17,13,12,12,12,11,11,15,15,15,14,13,13,10,9,9,14,12,11,13,11,11,12,11,11,16,15,14,14,11,11,12,11,11,17,14,14,15,11,11,7,8,8,12,11,11,13,10,10,11,10,10,17,14,13,14,10,10,12,10,10,18,15,15,14,10,10,8,7,7,13,12,12,13,11,11,12,11,11,16,14,15,14,12,12,12,11,11,18,16,16,14,12,12,11,10,10,13,12,11,13,11,11,13,12,12,0,15,14,14,11,11,13,11,11,16,15,15,15,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,1,7,7,14,14,6,8,8,15,16,7,8,8,16,15,0,14,14,17,17,0,14,14,16,16,7,9,9,16,16,10,11,11,17,18,9,8,8,16,16,0,14,14,19,19,0,14,14,17,16,8,9,9,16,16,12,12,12,17,17,10,9,9,16,16,0,15,14,18,20,0,14,14,17,17,0,15,15,18,17,0,21,0,0,21,0,13,13,17,17,0,17,17,0,0,0,15,15,17,17,0,15,15,17,18,0,0,0,0,21,0,13,13,17,17,0,18,18,0,21,0,16,15,17,18,6,7,7,14,14,9,10,10,16,16,11,10,10,15,15,0,21,0,20,21,0,0,0,18,20,10,10,10,15,16,12,13,13,18,18,12,11,11,15,15,0,0,0,20,20,0,0,21,19,19,12,11,11,15,15,15,14,14,18,18,13,11,11,15,16,0,0,0,20,19,0,0,0,20,21,0,0,20,19,19,0,0,0,0,0,0,20,0,17,18,0,0,21,0,0,0,0,0,21,0,0,21,0,20,19,0,0,0,0,0,0,21,0,18,18,0,0,0,21,0,0,0,0,0,20,7,6,6,13,13,9,6,6,12,12,9,7,7,14,14,0,10,10,12,12,0,11,11,15,15,9,7,7,14,14,12,9,9,14,14,10,7,7,14,13,0,11,11,16,15,0,11,11,14,14,9,7,7,14,14,13,10,10,14,14,11,7,7,14,13,0,11,11,16,16,0,11,11,14,14,0,12,12,16,16,0,19,0,17,18,0,10,10,14,14,0,15,14,0,0,0,12,12,14,14,0,12,12,15,15,0,20,0,18,19,0,10,10,14,14,0,16,15,0,20,0,13,13,14,14,0,11,11,13,13,0,12,13,16,16,0,12,12,16,16,0,16,16,0,21,0,17,18,0,0,0,12,12,16,16,0,15,15,18,0,0,12,12,16,16,0,17,16,21,21,0,16,17,0,0,0,13,13,17,16,0,16,16,20,21,0,12,12,17,16,0,17,17,0,21,0,17,17,21,21,0,17,18,0,0,0,0,0,0,0,0,15,15,0,0,0,18,21,0,0,0,18,19,0,0,0,18,17,21,21,0,0,0,0,0,0,16,16,0,0,0,0,0,0,0,0,19,19,0,0,0,11,11,12,12,0,11,11,10,10,0,12,12,13,13,0,12,12,9,9,0,14,14,13,13,0,12,12,13,13,0,14,14,12,13,0,11,11,12,12,0,13,13,13,13,0,13,13,13,13,0,12,12,13,13,0,14,14,12,12,0,11,11,12,12,0,14,13,14,14,0,13,13,13,13,0,15,15,14,15,0,0,0,16,16,0,12,12,13,13,0,16,17,20,21,0,14,13,12,12,0,14,14,14,14,0,21,0,16,16,0,12,12,13,13,0,18,17,21,0,0,14,14,13,13,7,8,8,17,17,11,10,10,18,18,12,10,10,17,17,0,15,15,20,18,0,15,15,17,17,11,9,9,17,17,14,12,12,19,19,13,9,9,16,16,0,15,14,0,19,0,14,14,16,16,12,10,10,20,18,16,13,13,21,20,14,10,10,17,17,0,15,15,21,20,0,15,14,17,17,0,15,15,21,21,0,0,21,0,0,0,13,13,18,18,0,19,16,0,0,0,15,15,17,16,0,16,16,0,21,0,0,0,0,21,0,13,14,18,17,0,20,19,0,0,0,15,15,18,18,8,7,7,15,15,12,11,11,17,16,13,11,11,16,16,0,0,0,21,20,0,0,0,0,20,11,10,10,17,17,14,13,13,19,18,14,11,11,16,16,0,20,0,21,19,0,0,21,0,20,12,11,11,17,17,16,15,15,0,19,14,11,11,17,16,0,21,0,0,19,0,0,0,21,20,0,0,21,20,0,0,0,0,0,0,0,0,0,19,21,0,0,0,0,0,0,0,0,19,20,0,0,0,20,21,0,0,0,0,0,0,20,0,19,21,0,0,0,0,0,0,0,0,21,20,11,10,9,15,15,14,11,11,15,15,14,11,11,16,16,0,14,14,14,14,0,16,15,17,16,13,11,11,16,16,16,13,13,16,16,15,10,10,15,15,0,14,15,17,17,0,14,14,16,15,13,11,11,16,16,17,15,14,16,16,15,10,10,15,15,0,15,15,17,18,0,15,15,16,16,0,16,16,17,17,0,21,0,21,20,0,13,13,15,15,0,18,18,0,21,0,15,15,15,15,0,16,16,17,17,0,0,0,0,18,0,13,13,15,15,0,19,18,0,0,0,15,15,16,16,0,12,12,15,15,0,13,13,17,17,0,13,13,17,18,0,16,17,21,0,0,20,18,0,0,0,13,13,17,17,0,15,15,0,18,0,12,12,17,18,0,16,16,0,0,0,17,17,21,0,0,13,13,18,18,0,16,16,21,21,0,12,12,17,18,0,16,17,21,0,0,17,17,0,21,0,17,18,0,0,0,0,0,0,0,0,16,15,0,21,0,21,19,0,0,0,18,18,0,0,0,18,19,0,0,0,0,0,0,0,0,16,16,21,21,0,20,19,0,0,0,19,21,0,21,0,12,12,15,15,0,12,12,15,16,0,13,13,16,16,0,14,14,15,15,0,16,15,17,17,0,13,13,17,17,0,15,15,16,18,0,12,12,16,16,0,14,14,17,17,0,15,14,16,16,0,13,13,16,16,0,16,15,17,17,0,12,12,16,16,0,15,15,18,18,0,14,14,17,16,0,16,16,17,18,0,0,0,20,21,0,13,13,16,17,0,17,17,0,0,0,15,15,16,16,0,15,16,17,17,0,0,0,19,0,0,13,13,15,16,0,19,18,0,0,0,16,15,16,17,8,8,8,17,17,13,11,10,17,18,13,10,10,17,17,0,15,15,20,19,0,15,15,17,17,12,10,10,19,18,15,12,12,20,18,14,10,10,17,16,0,15,15,20,20,0,14,15,16,16,13,10,10,17,17,17,14,14,0,18,15,10,10,17,17,0,16,15,20,20,0,14,14,17,17,0,15,16,20,20,0,0,21,0,0,0,13,13,17,17,0,18,17,0,0,0,15,16,17,18,0,15,15,18,21,0,0,0,21,0,0,13,13,18,18,0,19,19,0,0,0,16,16,18,17,9,8,8,15,15,12,11,11,16,16,13,11,11,16,15,0,0,0,0,21,0,21,0,19,19,12,11,11,17,18,15,13,13,18,19,14,11,11,16,16,0,0,21,21,19,0,0,0,21,20,13,11,11,18,17,17,14,15,20,21,15,11,12,16,16,0,0,0,20,0,0,0,21,0,19,0,0,0,0,19,0,0,0,0,0,0,21,21,19,19,0,0,0,21,0,0,0,0,19,21,0,0,0,19,20,0,0,0,21,0,0,0,21,19,19,0,0,0,0,0,0,0,0,21,20,0,11,11,15,15,0,12,12,15,16,0,12,12,16,16,0,15,15,16,15,0,16,16,17,17,0,12,12,17,17,0,14,14,17,17,0,11,11,16,16,0,15,15,19,18,0,15,15,16,16,0,12,12,17,16,0,14,15,16,16,0,11,11,15,15,0,16,16,18,19,0,15,15,15,16,0,17,17,18,20,0,21,0,21,19,0,14,14,16,16,0,18,18,0,0,0,16,16,15,15,0,16,16,18,17,0,0,0,19,20,0,14,14,16,16,0,19,19,0,0,0,16,17,15,15,0,12,12,14,15,0,13,13,16,17,0,12,12,17,17,0,17,16,0,0,0,18,17,21,0,0,13,13,19,17,0,15,15,20,21,0,12,12,17,17,0,17,17,0,0,0,17,17,0,0,0,13,13,17,18,0,16,16,21,0,0,12,12,17,17,0,17,17,0,0,0,17,17,0,0,0,18,21,0,0,0,0,0,0,0,0,15,15,21,0,0,20,21,0,0,0,18,19,0,0,0,18,17,0,0,0,0,0,0,0,0,16,16,21,0,0,21,21,0,0,0,18,19,0,0,0,12,12,16,16,0,13,13,16,17,0,13,13,17,16,0,14,14,16,16,0,16,15,19,18,0,13,13,17,17,0,15,15,18,18,0,12,12,16,16,0,15,15,18,19,0,15,15,17,16,0,13,13,17,17,0,16,16,18,17,0,12,12,17,16,0,15,15,18,18,0,15,15,17,17,0,16,16,0,19,0,0,0,0,0,0,14,14,16,17,0,18,18,0,0,0,15,15,17,17,0,16,16,21,19,0,21,0,21,21,0,13,14,16,16,0,19,19,0,0,0,15,16,16,16,0,11,11,17,16,0,15,14,19,18,0,14,14,19,19,0,18,17,18,20,0,17,17,18,19,0,13,13,17,17,0,16,17,21,18,0,13,13,17,16,0,18,17,19,0,0,16,17,18,18,0,12,12,19,18,0,18,18,20,20,0,13,13,17,17,0,17,17,21,0,0,16,17,17,18,0,18,17,19,18,0,0,0,0,0,0,14,14,17,17,0,19,19,21,0,0,16,16,16,17,0,17,17,19,20,0,0,0,0,21,0,15,15,17,18,0,21,21,0,0,0,17,17,17,18,0,10,10,15,15,0,15,14,17,18,0,14,14,16,16,0,0,0,18,0,0,21,0,19,0,0,13,13,17,16,0,17,17,18,0,0,14,14,16,15,0,0,0,21,0,0,21,0,19,18,0,13,13,17,17,0,18,18,20,20,0,15,15,16,16,0,0,0,21,21,0,0,0,20,20,0,0,0,19,0,0,0,0,0,0,0,21,20,18,18,0,0,0,0,0,0,0,0,0,20,0,0,0,0,20,0,0,0,0,0,0,0,0,19,18,0,0,0,0,21,0,0,0,18,20,0,18,19,16,17,0,21,19,17,17,0,0,21,18,18,0,0,21,20,19,0,0,0,20,20,0,0,21,17,17,0,0,0,19,19,0,20,20,17,17,0,0,0,0,20,0,0,20,18,18,0,21,20,17,17,0,0,0,20,21,0,19,0,17,17,0,0,21,0,0,0,20,0,18,19,0,0,0,21,21,0,0,0,0,21,0,20,20,17,17,0,0,0,0,0,0,21,0,18,17,0,0,0,20,19,0,0,0,0,21,0,20,20,17,17,0,0,0,0,0,0,21,21,18,18,0,12,12,15,14,0,14,14,17,17,0,14,14,17,16,0,18,18,21,0,0,19,20,0,0,0,13,13,18,17,0,16,16,19,18,0,13,13,17,17,0,17,17,0,0,0,17,17,21,0,0,13,13,17,17,0,17,17,21,20,0,13,13,18,17,0,18,19,21,21,0,19,18,0,0,0,18,17,0,0,0,0,0,0,0,0,15,16,0,0,0,21,21,0,0,0,20,18,21,0,0,17,18,0,0,0,0,0,0,0,0,15,16,0,0,0,0,20,0,0,0,0,19,0,0,0,15,15,18,19,0,18,17,21,0,0,16,18,0,20,0,17,18,21,0,0,18,20,0,0,0,16,16,21,21,0,19,20,21,0,0,16,15,0,21,0,18,20,0,0,0,18,19,0,0,0,16,15,21,21,0,21,0,0,0,0,16,15,21,0,0,20,19,0,0,0,18,21,21,0,0,20,18,0,0,0,0,0,0,0,0,16,16,0,20,0,21,0,0,0,0,17,18,20,21,0,18,18,21,21,0,0,0,0,0,0,16,16,20,0,0,0,21,0,0,0,21,18,0,0,0,12,12,20,17,0,15,15,19,18,0,14,14,19,18,0,18,17,21,19,0,17,17,21,17,0,13,13,21,19,0,16,17,20,19,0,13,13,16,16,0,17,17,20,21,0,16,16,19,17,0,13,13,18,18,0,17,19,19,19,0,13,13,17,17,0,18,18,0,19,0,16,17,18,18,0,16,17,19,21,0,0,0,0,0,0,15,15,16,17,0,20,19,21,0,0,17,17,17,17,0,17,17,21,19,0,0,0,0,0,0,15,15,17,17,0,21,0,0,0,0,18,18,17,17,0,10,10,15,15,0,15,15,17,17,0,15,14,16,16,0,0,0,21,19,0,21,21,19,21,0,13,13,17,16,0,17,17,18,19,0,14,15,16,15,0,0,0,21,19,0,21,21,18,19,0,14,14,16,17,0,18,18,18,19,0,15,15,15,16,0,0,21,0,21,0,0,0,19,20,0,0,0,21,19,0,0,0,0,0,0,21,21,19,17,0,0,0,0,0,0,0,0,21,21,0,21,0,0,21,0,0,0,0,0,0,21,21,19,18,0,0,0,0,0,0,0,0,0,19,0,21,18,18,17,0,21,0,20,20,0,0,0,18,20,0,0,21,18,21,0,0,0,21,18,0,0,0,0,19,0,0,0,21,21,0,20,21,17,19,0,21,0,21,0,0,21,0,18,18,0,20,21,17,18,0,0,0,21,19,0,20,21,17,18,0,0,0,21,21,0,0,0,20,19,0,0,0,21,21,0,0,0,0,0,0,21,21,19,18,0,0,0,0,0,0,0,21,19,18,0,21,21,19,0,0,0,0,21,0,0,21,21,18,17,0,0,0,0,0,0,21,0,21,18,0,12,12,14,14,0,15,14,17,17,0,14,14,17,16,0,19,17,0,0,0,19,19,0,0,0,13,13,17,17,0,17,17,20,20,0,13,13,18,18,0,18,17,0,0,0,18,21,0,0,0,13,13,17,17,0,18,18,21,20,0,14,14,18,19,0,19,18,21,0,0,19,19,0,0,0,20,18,20,0,0,0,0,0,0,0,15,16,0,0,0,21,21,0,0,0,19,19,0,0,0,18,18,0,0,0,0,0,0,0,0,16,16,0,21,0,0,0,0,0,0,19,20,0,0,0,15,15,20,21,0,17,17,21,21,0,17,17,0,0,0,19,18,0,0,0,18,19,0,0,0,17,16,0,21,0,0,20,0,0,0,16,16,0,20,0,19,19,0,21,0,19,18,0,21,0,16,16,0,0,0,21,21,0,0,0,16,16,0,0,0,21,21,0,0,0,19,19,0,0,0,20,0,0,0,0,0,0,0,0,0,17,17,0,21,0,0,20,0,0,0,20,18,21,21,0,19,18,0,20,0,0,0,0,0,0,16,17,21,0,0,0,21,0,0,0,19,20,21,20,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,3,4,9,9,10,12,12,12,11,10,12,12,13,12,11,13,12,11,11,11,12,12,12,11,11,13,13,13,13,11,12,12,14,14,12,13,13,13,13,11,13,13,13,13,11,13,13,13,13,11,13,13,13,13,11,12,12,14,14,12,13,13,12,12,11,13,13,13,13,11,13,13,12,12,11,13,13,13,13,12,12,13,14,14,12,13,13,12,12,11,13,13,13,13,11,13,13,12,12,11,13,13,13,13,12,13,13,14,14,12,13,13,12,12,11,13,13,13,13,11,13,13,12,12,11,10,10,10,10,12,10,10,11,11,12,9,9,11,11,13,11,11,10,10,13,10,10,10,10,13,11,11,12,12,13,10,10,12,12,14,12,11,12,12,13,11,11,11,12,13,12,12,12,12,13,11,11,12,12,13,10,10,12,12,14,11,11,12,12,13,11,11,12,12,13,11,11,12,12,14,12,12,12,12,14,10,10,11,11,14,12,11,11,11,13,11,11,11,11,13,12,12,11,11,14,12,12,12,11,14,10,10,11,11,14,12,11,11,11,13,11,11,11,11,13,12,12,11,11,11,11,11,10,10,12,10,11,9,9,12,12,12,11,11,13,12,12,9,9,13,13,13,10,10,13,13,13,12,12,13,13,13,14,14,13,12,12,11,11,14,13,13,12,12,14,13,13,11,11,13,13,13,12,11,13,13,13,14,14,13,12,12,10,10,14,13,13,11,11,13,13,13,10,10,13,13,13,11,11,14,13,13,14,14,14,12,12,10,10,13,13,13,11,11,13,13,13,10,10,13,13,13,11,11,14,13,13,14,14,14,13,13,10,10,13,13,13,11,11,13,13,13,10,10,14,12,12,8,8,14,12,12,9,9,14,11,11,9,9,14,12,12,8,8,14,12,12,7,7,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,12,13,9,9,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,13,13,9,9,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,9,9,14,13,12,9,9,14,13,13,9,9,15,13,13,10,10,15,12,12,10,10,15,13,13,9,9,15,13,13,9,9,14,13,13,9,9,14,12,12,8,8,13,13,13,8,8,14,14,13,9,9,14,14,13,7,7,14,14,14,8,8,14,14,14,10,10,15,14,14,12,12,14,14,14,9,9,15,14,14,10,10,14,14,14,9,9,14,14,14,10,9,15,14,14,12,12,14,14,14,9,9,15,14,14,10,10,14,14,14,9,9,15,14,15,9,9,15,14,14,11,11,14,14,14,8,8,14,14,14,9,9,14,14,14,8,8,14,15,14,10,10,15,14,14,11,11,14,14,14,8,8,15,14,14,9,9,14,14,14,8,8,12,12,12,13,13,16,16,15,12,12,17,16,16,13,13,17,16,16,11,11,17,16,16,12,12,17,16,17,13,13,17,16,16,14,14,17,17,16,12,12,18,16,16,13,13,17,16,17,12,12,17,17,17,13,13,18,16,16,14,14,18,17,17,12,12,17,17,17,13,13,18,17,17,13,13,17,17,17,13,13,17,16,16,14,14,17,17,17,12,12,16,16,17,13,13,17,17,16,12,12,18,17,17,13,13,18,16,16,14,14,18,17,17,12,12,19,16,17,13,13,17,16,17,12,12,13,14,14,10,10,16,14,14,13,13,17,15,15,14,14,17,14,14,13,13,16,14,14,13,13,17,16,15,14,14,16,16,16,15,15,17,15,15,14,14,17,15,15,14,14,17,15,15,14,14,17,16,15,14,14,16,16,16,15,15,18,15,15,13,13,16,16,15,14,14,17,15,15,14,13,17,15,15,14,14,16,16,16,15,15,18,15,14,13,13,17,15,15,14,14,18,14,15,13,13,18,15,15,14,14,16,16,16,15,15,17,15,15,13,13,17,15,15,14,14,17,15,15,13,13,13,11,11,10,10,16,14,14,13,13,17,14,15,14,14,17,15,15,12,12,17,14,14,12,12,16,15,15,14,14,16,14,14,14,14,16,15,15,14,14,16,15,15,14,14,16,15,15,14,14,16,15,15,14,14,16,15,14,15,15,17,15,15,14,14,17,15,15,14,14,17,15,15,14,14,17,15,16,14,14,16,14,14,14,14,17,15,15,13,13,17,15,15,13,13,16,15,15,13,13,17,16,16,14,14,17,15,14,15,14,17,15,15,13,13,17,15,15,13,13,17,15,15,13,13,14,14,14,9,9,14,14,14,18,19,14,15,15,19,18,14,14,14,19,19,15,14,14,19,19,15,16,16,19,19,15,16,16,19,19,15,15,15,19,19,15,16,16,19,20,15,15,15,19,19,15,15,15,19,19,15,16,16,20,20,15,15,15,18,19,15,15,16,19,20,15,15,15,19,18,15,15,15,18,18,15,16,16,21,20,15,15,15,19,19,15,15,15,19,19,15,15,14,19,20,15,15,15,20,19,15,16,16,19,20,15,15,15,19,19,15,15,15,20,21,15,14,15,19,19,14,12,12,9,9,14,14,15,21,19,14,14,14,18,19,14,15,15,19,20,14,14,14,19,19,15,15,15,19,20,15,15,14,21,19,15,15,15,20,19,15,14,15,20,21,15,15,15,18,18,15,15,15,20,21,16,14,14,18,19,15,15,15,20,19,15,15,15,18,21,15,15,15,19,19,15,15,15,19,20,16,15,14,20,19,15,16,15,19,19,15,15,15,19,0,14,15,15,19,19,15,15,15,19,19,15,15,14,20,19,15,15,15,20,19,15,15,15,19,19,15,15,15,20,19,12,12,12,13,13,16,15,16,11,11,16,16,16,12,12,17,16,16,11,11,17,16,16,12,11,17,17,17,13,13,18,16,16,14,14,18,18,17,13,13,17,16,16,13,13,17,17,17,13,13,17,16,17,12,12,17,15,16,13,13,17,16,17,12,12,17,16,16,13,12,17,16,16,12,12,18,17,17,13,13,18,16,16,13,14,18,17,17,12,12,17,16,16,12,12,17,17,17,12,12,18,17,17,13,13,17,16,16,14,14,17,17,17,12,12,17,16,16,12,12,18,17,17,12,12,13,14,14,9,9,16,14,14,13,13,16,15,15,14,14,16,14,14,13,13,16,14,14,13,13,17,16,15,15,15,16,15,16,16,15,17,15,15,14,14,17,15,15,15,15,17,15,15,14,14,17,15,15,14,14,16,15,16,16,16,17,15,15,14,14,16,15,15,14,15,16,15,15,14,14,17,15,15,15,15,16,16,16,15,16,18,15,14,13,14,17,15,15,14,14,17,14,14,13,13,17,15,15,14,14,16,15,15,15,15,17,15,14,14,14,17,15,15,14,14,17,14,14,13,13,13,11,11,11,11,16,14,14,12,12,16,14,14,13,13,16,14,14,12,12,16,14,14,12,12,16,15,15,13,13,17,14,14,14,14,17,15,15,13,13,16,15,15,14,13,16,15,15,13,13,16,15,15,13,13,16,14,14,14,14,16,15,15,13,13,16,14,15,13,13,17,15,15,13,13,17,15,15,13,13,16,14,14,14,14,17,15,15,12,12,17,14,15,13,13,17,15,15,12,12,16,15,15,13,13,17,14,14,14,14,17,15,15,12,12,17,15,15,13,13,16,15,15,12,12,14,15,15,8,8,14,14,14,19,18,14,15,15,19,20,14,14,14,19,19,14,14,15,19,20,15,16,15,19,21,15,16,16,21,19,15,15,15,20,19,15,16,16,19,20,15,15,15,19,18,15,16,15,20,19,15,16,16,19,20,15,15,15,19,19,15,16,15,20,20,14,15,15,19,19,15,15,15,21,19,15,17,16,19,20,15,14,15,0,21,15,15,15,19,20,14,14,14,19,19,15,15,15,20,19,15,16,16,19,19,15,15,15,19,18,15,15,15,20,19,14,14,15,18,18,14,12,12,9,9,14,14,14,18,18,14,14,14,18,18,14,15,14,19,18,14,14,14,19,18,15,15,15,19,20,15,14,14,18,18,15,15,15,20,19,15,15,15,18,20,15,15,15,19,18,15,15,15,19,19,15,14,14,19,21,15,15,15,20,20,15,15,15,18,19,14,15,15,19,20,15,15,15,20,19,15,14,14,19,21,15,15,15,18,19,15,14,15,20,19,14,15,15,21,21,14,15,15,19,20,15,14,14,19,20,15,15,15,19,20,15,15,14,20,20,14,15,15,20,19,13,12,12,13,13,17,16,16,11,11,17,16,16,12,12,18,17,16,11,11,18,16,16,11,11,17,17,17,13,13,18,16,16,13,13,18,17,17,12,12,18,16,16,13,13,18,17,17,12,12,18,17,17,13,13,18,16,16,14,14,18,16,17,12,12,18,17,17,13,13,17,17,17,12,12,17,17,17,12,12,17,16,15,13,13,18,16,16,11,11,17,16,16,12,12,17,16,17,11,11,18,17,17,13,12,17,16,16,13,13,17,17,17,12,12,17,16,17,12,12,18,17,17,11,11,14,14,14,9,9,16,14,14,13,13,17,15,15,14,14,17,14,14,13,13,16,14,14,13,13,17,15,15,14,14,16,16,16,16,15,18,15,15,14,14,17,16,15,15,15,17,15,15,14,14,17,15,15,14,15,16,16,16,15,16,18,15,15,14,14,17,15,15,14,15,17,15,15,14,14,17,15,15,14,14,16,16,16,15,16,17,14,14,13,13,17,15,15,14,14,18,15,15,13,13,17,15,15,14,14,16,16,16,15,15,17,14,14,13,13,17,15,15,14,14,17,14,14,13,13,13,11,11,11,11,16,14,14,12,12,16,14,14,12,13,17,15,14,11,11,17,14,14,11,11,17,15,15,13,14,17,14,14,14,14,17,15,15,13,13,17,14,14,13,13,17,15,15,13,13,17,15,15,13,13,17,14,14,14,14,17,15,15,13,13,18,14,15,13,13,17,15,15,13,13,16,15,15,13,13,17,14,14,13,13,17,15,15,12,12,16,14,14,12,12,16,15,15,12,12,17,16,15,13,13,17,14,14,13,13,17,15,15,12,12,16,15,15,12,12,16,15,15,12,12,13,15,15,8,8,14,14,14,18,19,14,15,15,19,20,14,14,14,18,18,14,15,15,18,18,15,16,16,19,19,15,16,17,20,20,15,15,15,19,19,15,16,16,18,20,15,15,15,19,19,15,15,16,18,18,15,17,16,19,19,15,15,15,18,21,15,16,16,21,20,15,15,15,19,21,15,16,15,20,19,15,16,17,20,20,15,15,15,19,19,15,16,16,21,20,15,15,15,19,20,15,15,15,19,19,15,16,16,20,19,15,15,15,19,19,15,16,15,20,21,15,15,15,21,19,14,12,12,8,8,14,14,14,20,18,14,13,13,19,19,14,14,14,19,18,15,14,14,19,20,14,15,15,20,20,15,14,14,21,20,15,15,15,20,20,15,15,14,21,19,15,15,15,19,19,15,15,15,19,20,15,14,14,20,20,15,15,15,19,20,15,14,14,19,20,15,15,15,20,20,15,15,15,20,19,15,14,14,20,21,15,15,15,20,21,15,14,14,20,0,15,16,15,20,21,15,15,15,19,20,15,14,14,19,19,15,15,15,19,20,15,15,15,19,19,15,15,15,18,20,13,12,12,13,13,18,16,17,12,12,17,16,16,12,12,17,17,16,11,11,18,16,16,11,11,17,17,18,13,13,18,16,16,14,14,18,17,17,13,13,18,16,16,13,13,18,17,17,12,12,17,17,16,13,13,17,16,16,13,14,18,17,17,12,12,18,16,16,12,13,17,16,17,12,12,17,18,17,13,13,18,16,16,13,13,18,17,17,12,12,17,16,16,12,12,17,17,17,11,11,17,16,17,12,12,17,16,16,13,13,17,16,16,11,11,17,16,16,12,12,18,16,17,11,11,14,14,14,9,9,16,14,15,13,13,17,15,15,14,14,17,14,14,12,12,16,14,14,13,13,18,15,15,15,15,17,15,16,15,16,18,15,15,14,14,17,15,16,15,15,17,15,15,14,14,18,15,15,14,14,16,16,16,16,15,17,15,15,14,14,16,15,15,14,14,17,15,15,14,14,17,15,15,14,14,17,16,16,15,15,17,15,14,13,13,17,15,15,14,14,17,15,15,13,13,17,15,15,14,14,16,16,16,15,15,18,15,14,14,14,17,15,15,14,14,18,15,15,13,13,13,12,12,11,11,16,14,14,12,12,16,14,14,13,13,17,15,15,12,12,17,14,14,12,12,17,15,15,14,14,17,14,14,14,14,17,15,15,13,13,17,15,14,13,13,17,15,15,13,13,17,15,15,13,13,16,14,14,14,14,17,15,15,13,13,16,14,14,13,13,16,15,15,13,13,17,15,16,13,13,17,14,14,14,13,17,15,15,12,12,16,15,14,12,12,17,15,15,12,12,16,15,16,13,13,16,14,14,14,13,17,15,15,12,12,16,14,14,12,12,17,15,15,12,12,14,15,15,8,8,14,14,14,18,18,14,15,15,19,18,14,14,14,18,18,14,15,15,19,20,15,16,15,21,18,15,16,16,18,0,15,15,15,19,20,15,16,16,20,0,15,16,15,19,18,15,15,15,19,19,15,16,16,21,19,15,15,15,19,19,15,16,16,20,20,15,15,15,19,19,15,15,15,19,18,15,16,16,20,20,15,14,15,20,19,15,15,15,19,20,15,15,15,19,19,15,16,15,19,20,15,16,16,19,20,15,15,15,19,19,15,16,15,20,20,15,15,15,20,18,13,12,12,8,8,14,14,14,19,20,14,14,14,19,19,14,15,15,20,20,14,14,14,18,19,15,15,15,20,0,15,14,14,18,20,15,15,15,19,19,15,15,15,21,19,15,15,15,19,20,15,15,15,20,21,15,14,14,20,19,15,15,15,20,19,15,15,14,21,19,15,15,15,19,18,15,15,15,20,19,15,14,14,19,19,15,15,16,20,19,15,15,15,20,0,15,15,15,19,21,15,15,15,22,20,15,14,14,22,19,15,15,15,19,20,15,14,14,20,19,14,15,15,19,21,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,6,8,8,6,8,8,7,9,9,10,11,11,8,8,8,7,9,9,11,12,12,9,9,9,6,7,7,10,11,11,10,11,11,10,11,11,13,13,13,12,12,12,10,12,11,14,14,14,12,12,12,6,5,5,9,6,6,9,6,6,9,7,7,12,10,10,11,7,6,9,7,7,13,11,11,12,7,7,7,8,8,12,10,10,12,10,10,11,10,10,15,13,13,13,9,9,12,11,11,15,14,14,15,11,11,8,7,7,12,11,11,12,11,11,11,11,11,14,13,14,14,12,12,12,11,11,16,15,15,14,12,12,0,10,10,0,12,12,0,12,12,0,11,11,0,14,14,0,11,11,0,11,11,0,15,15,0,11,11,7,8,8,13,11,11,12,10,10,12,11,11,15,13,13,14,11,11,12,10,10,16,14,14,15,10,10,9,7,7,13,11,12,13,12,11,12,11,11,15,14,14,14,12,12,13,12,12,16,15,15,15,12,12,0,11,11,0,12,12,0,12,13,0,12,12,0,15,15,0,12,12,0,12,12,0,16,15,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,0,9,9,0,9,9,0,10,10,0,9,9,0,10,10,0,10,10,0,10,10,0,10,10,0,7,7,0,7,7,0,6,6,0,8,8,0,7,7,0,8,8,0,8,8,0,7,7,0,8,8,0,7,7,0,9,9,0,8,9,0,10,10,0,9,9,0,10,10,0,10,11,0,9,9,0,10,10,0,9,9,0,11,11,0,12,12,0,12,12,0,11,11,0,12,12,0,13,13,0,12,12,0,13,13,0,8,8,0,12,12,0,12,12,0,13,13,0,13,13,0,13,13,0,13,13,0,13,13,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,11,11,0,12,12,0,13,13,0,12,12,0,13,13,0,13,13,0,12,12,0,12,12,0,9,9,0,12,12,0,13,13,0,14,14,0,13,13,0,14,14,0,14,14,0,13,13,0,14,14,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,0,7,7,0,8,8,0,9,9,0,12,12,0,8,8,0,9,9,0,13,13,0,8,8,0,6,6,0,11,11,0,12,12,0,12,12,0,14,14,0,11,12,0,12,12,0,15,15,0,12,12,0,5,5,0,5,5,0,6,6,0,7,7,0,10,10,0,6,6,0,7,7,0,11,11,0,6,6,0,7,7,0,11,11,0,12,11,0,11,11,0,14,14,0,10,10,0,12,12,0,15,15,0,12,12,0,6,6,0,12,12,0,12,12,0,12,12,0,14,14,0,11,11,0,12,12,0,16,16,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,11,11,0,16,16,0,11,11,0,6,6,0,12,12,0,12,12,0,13,13,0,15,15,0,12,12,0,13,13,0,15,15,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,3,7,9,12,16,16,3,2,5,7,11,14,15,7,4,5,6,9,12,15,8,5,5,5,8,10,14,9,7,6,6,8,10,12,12,10,10,7,6,8,10,15,12,10,6,4,7,9,0,0,0,0,0,0,0,0,0,0,0,0,249,213,64,0,0,0,0,0,64,223,64,0,0,0,0,0,136,227,64,0,0,0,0,0,112,231,64,0,0,0,0,0,88,235,64,0,0,0,0,0,64,239,64,0,0,0,0,0,136,243,64,0,0,0,0,0,112,247,64,0,0,0,0,0,88,251,64,0,0,0,0,0,64,255,64,0,0,0,0,0,136,3,65,0,0,0,0,136,132,14,65,176,240,7,0,48,241,7,0,48,242,7,0,48,244,7,0,48,248,7,0,48,0,8,0,48,16,8,0,48,48,8,0,24,0,120,58,76,70,11,60,242,204,192,60,116,252,59,61,86,73,154,61,241,93,228,61,248,163,29,62,180,231,78,62,54,157,130,62,78,220,159,62,193,174,190,62,65,132,222,62,173,194,254,62,186,101,15,63,248,0,31,63,29,233,45,63,249,219,59,63,45,162,72,63,160,17,84,63,38,15,94,63,46,143,102,63,112,149,109,63,174,51,115,63,159,135,119,63,66,184,122,63,196,242,124,63,75,103,126,63,196,69,127,63,241,186,127,63,217,237,127,63,162,253,127,63,248,255,127,63,168,9,120,57,17,119,11,59,135,139,193,59,74,113,61,60,148,82,156,60,94,8,233,60,42,83,34,61,74,118,87,61,138,227,137,61,7,140,171,61,34,154,208,61,108,239,248,61,164,52,18,62,100,112,41,62,65,21,66,62,67,11,92,62,47,56,119,62,197,191,137,62,92,97,152,62,135,112,167,62,4,220,182,62,188,145,198,62,231,126,214,62,48,144,230,62,227,177,246,62,13,104,3,63,121,107,11,63,98,89,19,63,42,40,27,63,137,206,34,63,166,67,42,63,49,127,49,63,126,121,56,63,153,43,63,63,92,143,69,63,127,159,75,63,165,87,81,63,104,180,86,63,89,179,91,63,8,83,96,63,252,146,100,63,177,115,104,63,138,246,107,63,198,29,111,63,109,236,113,63,62,102,116,63,154,143,118,63,104,109,120,63,3,5,122,63,26,92,123,63,153,120,124,63,143,96,125,63],"i8",N3,F.GLOBAL_BASE+510456),E3([17,26,126,63,39,171,126,63,176,25,127,63,74,107,127,63,68,165,127,63,132,204,127,63,123,229,127,63,17,244,127,63,158,251,127,63,219,254,127,63,218,255,127,63,0,0,128,63,5,12,120,56,50,131,11,58,118,186,193,58,226,203,61,59,38,207,156,59,139,32,234,59,245,102,35,60,63,100,89,60,184,127,139,60,59,23,174,60,239,114,212,60,96,140,254,60,45,46,22,61,114,237,46,61,155,127,73,61,220,223,101,61,123,4,130,61,159,250,145,61,71,207,162,61,38,127,180,61,173,6,199,61,16,98,218,61,63,141,238,61,244,193,1,62,185,160,12,62,128,224,23,62,182,126,35,62,166,120,47,62,116,203,59,62,34,116,72,62,141,111,85,62,107,186,98,62,83,81,112,62,180,48,126,62,110,42,134,62,252,92,141,62,9,174,148,62,138,27,156,62,100,163,163,62,112,67,171,62,119,249,178,62,54,195,186,62,93,158,194,62,147,136,202,62,118,127,210,62,154,128,218,62,142,137,226,62,217,151,234,62,2,169,242,62,139,186,250,62,251,100,1,63,99,106,5,63,65,108,9,63,89,105,13,63,116,96,17,63,94,80,21,63,231,55,25,63,231,21,29,63,58,233,32,63,197,176,36,63,116,107,40,63,62,24,44,63,35,182,47,63,43,68,51,63,109,193,54,63,10,45,58,63,48,134,61,63,26,204,64,63,17,254,67,63,107,27,71,63,142,35,74,63,238,21,77,63,15,242,79,63,132,183,82,63,239,101,85,63,3,253,87,63,129,124,90,63,60,228,92,63,21,52,95,63,254,107,97,63,246,139,99,63,14,148,101,63,98,132,103,63,33,93,105,63,133,30,107,63,213,200,108,63,103,92,110,63,155,217,111,63,224,64,113,63,172,146,114,63,131,207,115,63,241,247,116,63,139,12,118,63,239,13,119,63,193,252,119,63,172,217,120,63,99,165,121,63,155,96,122,63,15,12,123,63,124,168,123,63,163,54,124,63,71,183,124,63,41,43,125,63,13,147,125,63,183,239,125,63,229,65,126,63,89,138,126,63,205,201,126,63,251,0,127,63,150,48,127,63,78,89,127,63,205,123,127,63,182,152,127,63,167,176,127,63,53,196,127,63,239,211,127,63,91,224,127,63,245,233,127,63,51,241,127,63,127,246,127,63,59,250,127,63,190,252,127,63,84,254,127,63,64,255,127,63,186,255,127,63,238,255,127,63,254,255,127,63,0,0,128,63,169,12,120,55,54,134,11,57,38,198,193,57,94,226,61,58,234,237,156,58,85,101,234,58,56,170,35,59,207,219,89,59,169,226,139,59,42,178,174,59,13,91,213,59,204,219,255,59,91,25,23,60,250,46,48,60,194,45,75,60,156,20,104,60,46,113,131,60,225,202,147,60,185,22,165,60,1,84,183,60,245,129,202,60,198,159,222,60,155,172,243,60,199,211,4,61,213,71,16,61,250,49,28,61,174,145,40,61,101,102,53,61,141,175,66,61,140,108,80,61,193,156,94,61,133,63,109,61,41,84,124,61,252,236,133,61,26,232,141,61,13,27,150,61,110,133,158,61,212,38,167,61,210,254,175,61,245,12,185,61,200,80,194,61,209,201,203,61,146,119,213,61,139,89,223,61,51,111,233,61,2,184,243,61,105,51,254,61,106,112,4,62,214,223,9,62,171,103,15,62,153,7,21,62,77,191,26,62,116,142,32,62,181,116,38,62,184,113,44,62,34,133,50,62,149,174,56,62,178,237,62,62,21,66,69,62,92,171,75,62,30,41,82,62,243,186,88,62,112,96,95,62,40,25,102,62,170,228,108,62,132,194,115,62,68,178,122,62,185,217,128,62,203,98,132,62,26,244,135,62,105,141,139,62,120,46,143,62,6,215,146,62,211,134,150,62,156,61,154,62,29,251,157,62,19,191,161,62,57,137,165,62,71,89,169,62,249,46,173,62,5,10,177,62,36,234,180,62,13,207,184,62,117,184,188,62,18,166,192,62,153,151,196,62,190,140,200,62,52,133,204,62,175,128,208,62,225,126,212,62,125,127,216,62,52,130,220,62,184,134,224,62,185,140,228,62,233,147,232,62,248,155,236,62,150,164,240,62,117,173,244,62,67,182,248,62,178,190,252,62,57,99,0,63,153,102,2,63,82,105,4,63,60,107,6,63,48,108,8,63,6,108,10,63,151,106,12,63,188,103,14,63,78,99,16,63,39,93,18,63,33,85,20,63,21,75,22,63,222,62,24,63,87,48,26,63,92,31,28,63,199,11,30,63,117,245,31,63,66,220,33,63,12,192,35,63,176,160,37,63,12,126,39,63,254,87,41,63,104,46,43,63,39,1,45,63,29,208,46,63,43,155,48,63,51,98,50,63,23,37,52,63,188,227,53,63,4,158,55,63,214,83,57,63,23,5,59,63,173,177,60,63,128,89,62,63,120,252,63,63,126,154,65,63,124,51,67,63,93,199,68,63,12,86,70,63,119,223,71,63,138,99,73,63,54,226,74,63,104,91,76,63,17,207,77,63,35,61,79,63,145,165,80,63,76,8,82,63,75,101,83,63,130,188,84,63,231,13,86,63,114,89,87,63,26,159,88,63,218,222,89,63,172,24,91,63,138,76,92,63,113,122,93,63,93,162,94,63,78,196,95,63,67,224,96,63,58,246,97,63,54,6,99,63,56,16,100,63,67,20,101,63,92,18,102,63,133,10,103,63,198,252,103,63,37,233,104,63,168,207,105,63,89,176,106,63,64,139,107,63,102,96,108,63,216,47,109,63,159,249,109,63,201,189,110,63,97,124,111,63,118,53,112,63,23,233,112,63,81,151,113,63,53,64,114,63,212,227,114,63,61,130,115,63,131,27,116,63,184,175,116,63,238,62,117,63,56,201,117,63,171,78,118,63,90,207,118,63,90,75,119,63,192,194,119,63,162,53,120,63,21,164,120,63,48,14,121,63,8,116,121,63,182,213,121,63,79,51,122,63,235,140,122,63,162,226,122,63,139,52,123,63,191,130,123,63,85,205,123,63,102,20,124,63,9,88,124,63,88,152,124,63,106,213,124,63,88,15,125,63,58,70,125,63,41,122,125,63,62,171,125,63,143,217,125,63,54,5,126,63,75,46,126,63,228,84,126,63,27,121,126,63,7,155,126,63,190,186,126,63,88,216,126,63,236,243,126,63,144,13,127,63,91,37,127,63,99,59,127,63,188,79,127,63,125,98,127,63,185,115,127,63,135,131,127,63,249,145,127,63,36,159,127,63,26,171,127,63,238,181,127,63,179,191,127,63,122,200,127,63,85,208,127,63,84,215,127,63,136,221,127,63,0,227,127,63,204,231,127,63,249,235,127,63,150,239,127,63,177,242,127,63,85,245,127,63,144,247,127,63,109,249,127,63,246,250,127,63,54,252,127,63,55,253,127,63,1,254,127,63,156,254,127,63,18,255,127,63,103,255,127,63,163,255,127,63,204,255,127,63,229,255,127,63,244,255,127,63,252,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,60,12,120,54,253,134,11,56,19,201,193,56,248,231,61,57,148,245,156,57,115,118,234,57,238,186,35,58,113,249,89,58,32,251,139,58,96,216,174,58,34,148,213,58,3,23,0,59,209,82,23,59,65,125,48,59,21,150,75,59,8,157,104,59,233,200,131,59,20,58,148,59,218,161,165,59,16,0,184,59,136,84,203,59,16,159,223,59,118,223,244,59,194,138,5,60,128,32,17,60,217,48,29,60,172,187,41,60,219,192,54,60,67,64,68,60,194,57,82,60,52,173,96,60,115,154,111,60,88,1,127,60,222,112,135,60,186,157,143,60,42,7,152,60,25,173,160,60,112,143,169,60,23,174,178,60,246,8,188,60,243,159,197,60,245,114,207,60,225,129,217,60,156,204,227,60,10,83,238,60,14,21,249,60,70,9,2,61,177,165,7,61,187,95,13,61,81,55,19,61,102,44,25,61,230,62,31,61,195,110,37,61,233,187,43,61,71,38,50,61,202,173,56,61,97,82,63,61,247,19,70,61,121,242,76,61,210,237,83,61,240,5,91,61,187,58,98,61,32,140,105,61,8,250,112,61,93,132,120,61,132,21,128,61,249,246,131,61,130,230,135,61,19,228,139,61,159,239,143,61,26,9,148,61,119,48,152,61,169,101,156,61,163,168,160,61,88,249,164,61,186,87,169,61,186,195,173,61,76,61,178,61,95,196,182,61,230,88,187,61,209,250,191,61,18,170,196,61,152,102,201,61,85,48,206,61,56,7,211,61,48,235,215,61,47,220,220,61,34,218,225,61,248,228,230,61,161,252,235,61,11,33,241,61,35,82,246,61,217,143,251,61,13,109,0,62,105,24,3,62,247,201,5,62,174,129,8,62,133,63,11,62,113,3,14,62,104,205,16,62,96,157,19,62,79,115,22,62,42,79,25,62,232,48,28,62,124,24,31,62,221,5,34,62,255,248,36,62,215,241,39,62,90,240,42,62,125,244,45,62,51,254,48,62,114,13,52,62,45,34,55,62,88,60,58,62,232,91,61,62,208,128,64,62,3,171,67,62,118,218,70,62,26,15,74,62,229,72,77,62,199,135,80,62,181,203,83,62,162,20,87,62,127,98,90,62,63,181,93,62,213,12,97,62,50,105,100,62,73,202,103,62,12,48,107,62,108,154,110,62,92,9,114,62,203,124,117,62,173,244,120,62,241,112,124,62,138,241,127,62,52,187,129,62,190,127,131,62,91,70,133,62,4,15,135,62,176,217,136,62,89,166,138,62,245,116,140,62,126,69,142,62,234,23,144,62,50,236,145,62,78,194,147,62,54,154,149,62,224,115,151,62,70,79,153,62,93,44,155,62,31,11,157,62,130,235,158,62,127,205,160,62,11,177,162,62,31,150,164,62,177,124,166,62,186,100,168,62,47,78,170,62,9,57,172,62,62,37,174,62,198,18,176,62,150,1,178,62,167,241,179,62,238,226,181,62,100,213,183,62,254,200,185,62,179,189,187,62,122,179,189,62,74,170,191,62,25,162,193,62,221,154,195,62,142,148,197,62,34,143,199,62,142,138,201,62,203,134,203,62,205,131,205,62,140,129,207,62,253,127,209,62,24,127,211,62,210,126,213,62,33,127,215,62,252,127,217,62,88,129,219,62,45,131,221,62,112,133,223,62,23,136,225,62,25,139,227,62,108,142,229,62,5,146,231,62,219,149,233,62,228,153,235,62,21,158,237,62,102,162,239,62,203,166,241,62,59,171,243,62,173,175,245,62,21,180,247,62,107,184,249,62,164,188,251,62,181,192,253,62,150,196,255,62,30,228,0,63,207,229,1,63,88,231,2,63,182,232,3,63,226,233,4,63,215,234,5,63,146,235,6,63,12,236,7,63,66,236,8,63,45,236,9,63,202,235,10,63,19,235,11,63,4,234,12,63,151,232,13,63,200,230,14,63,145,228,15,63,239,225,16,63,220,222,17,63,84,219,18,63,81,215,19,63,208,210,20,63,202,205,21,63,61,200,22,63,34,194,23,63,117,187,24,63,50,180,25,63,85,172,26,63,215,163,27,63,182,154,28,63,236,144,29,63,117,134,30,63,77,123,31,63,110,111,32,63,214,98,33,63,126,85,34,63,100,71,35,63,130,56,36,63,212,40,37,63,87,24,38,63,5,7,39,63,219,244,39,63,213,225,40,63,239,205,41,63,36,185,42,63,113,163,43,63,209,140,44,63,64,117,45,63,188,92,46,63,63,67,47,63,199,40,48,63,78,13,49,63,211,240,49,63,80,211,50,63,195,180,51,63,39,149,52,63,122,116,53,63,184,82,54,63,220,47,55,63,229,11,56,63,206,230,56,63,149,192,57,63,54,153,58,63,174,112,59,63,249,70,60,63,21,28,61,63,255,239,61,63,179,194,62,63,48,148,63,63,113,100,64,63,116,51,65,63,55,1,66,63,182,205,66,63,239,152,67,63,224,98,68,63,134,43,69,63,222,242,69,63,230,184,70,63,156,125,71,63,253,64,72,63,7,3,73,63,184,195,73,63,14,131,74,63,6,65,75,63,159,253,75,63,215,184,76,63,172,114,77,63,28,43,78,63,38,226,78,63,199,151,79,63,253,75,80,63,201,254,80,63,39,176,81,63,22,96,82,63,150,14,83,63,164,187,83,63,63,103,84,63,103,17,85,63,26,186,85,63,86,97,86,63,28,7,87,63,105,171,87,63,62,78,88,63,152,239,88,63,120,143,89,63,221,45,90,63,198,202,90,63,50,102,91,63,33,0,92,63,147,152,92,63,134,47,93,63,251,196,93,63,242,88,94,63,105,235,94,63,98,124,95,63,219,11,96,63,213,153,96,63,80,38,97,63,76,177,97,63,201,58,98,63,199,194,98,63,70,73,99,63,71,206,99,63,202,81,100,63,208,211,100,63,88,84,101,63,100,211,101,63,244,80,102,63,9,205,102,63,163,71,103,63,195,192,103,63,107,56,104,63,154,174,104,63,82,35,105,63,147,150,105,63,96,8,106,63,184,120,106,63,157,231,106,63,16,85,107,63,19,193,107,63,166,43,108,63,203,148,108,63,132,252,108,63,209,98,109,63,180,199,109,63,48,43,110,63,68,141,110,63,244,237,110,63,64,77,111,63,42,171,111,63,181,7,112,63,225,98,112,63,177,188,112,63,38,21,113,63,67,108,113,63,10,194,113,63,123,22,114,63,155,105,114,63,106,187,114,63,234,11,115,63,31,91,115,63,9,169,115,63,172,245,115,63,9,65,116,63,35,139,116,63,252,211,116,63,151,27,117,63,245,97,117,63,26,167,117,63,8,235,117,63,193,45,118,63,72,111,118,63,159,175,118,63,202,238,118,63,201,44,119,63,161,105,119,63,84,165,119,63,228,223,119,63,85,25,120,63,168,81,120,63,226,136,120,63,3,191,120,63,16,244,120,63,11,40,121,63,247,90,121,63,215,140,121,63,173,189,121,63,125,237,121,63,73,28,122,63,20,74,122,63,226,118,122,63,181,162,122,63,144,205,122,63,118,247,122,63,107,32,123,63,112,72,123,63,138,111,123,63,186,149,123,63,5,187,123,63,109,223,123,63,245,2,124,63,160,37,124,63,113,71,124,63,108,104,124,63,147,136,124,63,233,167,124,63,114,198,124,63,48,228,124,63,38,1,125,63,89,29,125,63,201,56,125,63,124,83,125,63,115,109,125,63,178,134,125,63,60,159,125,63,19,183,125,63,60,206,125,63,184,228,125,63,139,250,125,63,184,15,126,63,66,36,126,63,44,56,126,63,120,75,126,63,43,94,126,63,70,112,126,63,204,129,126,63,194,146,126,63,41,163,126,63,4,179,126,63,86,194,126,63,35,209,126,63,109,223,126,63,55,237,126,63,131,250,126,63,85,7,127,63,175,19,127,63,148,31,127,63,7,43,127,63,10,54,127,63,160,64,127,63,205,74,127,63,146,84,127,63,242,93,127,63,239,102,127,63,141,111,127,63,206,119,127,63,181,127,127,63,67,135,127,63,124,142,127,63,98,149,127,63,247,155,127,63,61,162,127,63,56,168,127,63,233,173,127,63,83,179,127,63,120,184,127,63,90,189,127,63,252,193,127,63,95,198,127,63,134,202,127,63,116,206,127,63,41,210,127,63,168,213,127,63,244,216,127,63,13,220,127,63,247,222,127,63,179,225,127,63,67,228,127,63,168,230,127,63,229,232,127,63,252,234,127,63,237,236,127,63,188,238,127,63,105,240,127,63,246,241,127,63,101,243,127,63,183,244,127,63,238,245,127,63,11,247,127,63,16,248,127,63,254,248,127,63,214,249,127,63,155,250,127,63,76,251,127,63,236,251,127,63,124,252,127,63,252,252,127,63,110,253,127,63,211,253,127,63,44,254,127,63,121,254,127,63,189,254,127,63,247,254,127,63,42,255,127,63,84,255,127,63,120,255,127,63,150,255,127,63,175,255,127,63,195,255,127,63,211,255,127,63,224,255,127,63,234,255,127,63,241,255,127,63,246,255,127,63,250,255,127,63,253,255,127,63,254,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,171,15,120,53,24,135,11,55,225,201,193,55,107,233,61,56,128,247,156,56,187,122,234,56,24,191,35,57,213,0,90,57,56,1,140,57,229,225,174,57,88,162,213,57,60,33,0,58,24,97,23,58,175,144,48,58,243,175,75,58,212,190,104,58,159,222,131,58,143,85,148,58,48,196,165,58,119,42,184,58,90,136,203,58,204,221,223,58,191,42,245,58,148,183,5,59,124,85,17,59,16,111,29,59,73,4,42,59,31,21,55,59,138,161,68,59,129,169,82,59,252,44,97,59,241,43,112,59,88,166,127,59,19,206,135,59,169,6,144,59,233,124,152,59,204,48,161,59,79,34,170,59,106,81,179,59,26,190,188,59,86,104,198,59,26,80,208,59,95,117,218,59,31,216,228,59,83,120,239,59,244,85,250,59,126,184,2,60,177,100,8,60,145,47,14,60,25,25,20,60,70,33,26,60,19,72,32,60,126,141,38,60,129,241,44,60,25,116,51,60,65,21,58,60,246,212,64,60,50,179,71,60,243,175,78,60,50,203,85,60,235,4,93,60,26,93,100,60,186,211,107,60,198,104,115,60,58,28,123,60,7,119,129,60,33,111,133,60,102,118,137,60,212,140,141,60,105,178,145,60,33,231,149,60,251,42,154,60,243,125,158,60,6,224,162,60,50,81,167,60,115,209,171,60,199,96,176,60,43,255,180,60,154,172,185,60,19,105,190,60,146,52,195,60,20,15,200,60,149,248,204,60,19,241,209,60,137,248,214,60,245,14,220,60,83,52,225,60,160,104,230,60,215,171,235,60,246,253,240,60,249,94,246,60,220,206,251,60,205,166,0,61,153,109,3,61,207,59,6,61,109,17,9,61,114,238,11,61,220,210,14,61,167,190,17,61,211,177,20,61,94,172,23,61,68,174,26,61,133,183,29,61,30,200,32,61,12,224,35,61,78,255,38,61,225,37,42,61,196,83,45,61,243,136,48,61,109,197,51,61,47,9,55,61,55,84,58,61,130,166,61,61,15,0,65,61,218,96,68,61,226,200,71,61,35,56,75,61,156,174,78,61,73,44,82,61,40,177,85,61,55,61,89,61,115,208,92,61,217,106,96,61,103,12,100,61,25,181,103,61,238,100,107,61,227,27,111,61,244,217,114,61,30,159,118,61,96,107,122,61,182,62,126,61,143,12,129,61,73,253,130,61,138,241,132,61,79,233,134,61,150,228,136,61,94,227,138,61,167,229,140,61,109,235,142,61,175,244,144,61,109,1,147,61,164,17,149,61,83,37,151,61,120,60,153,61,17,87,155,61,30,117,157,61,155,150,159,61,136,187,161,61,226,227,163,61,169,15,166,61,218,62,168,61,116,113,170,61,116,167,172,61,218,224,174,61,162,29,177,61,205,93,179,61,87,161,181,61,62,232,183,61,130,50,186,61,32,128,188,61,22,209,190,61,98,37,193,61,2,125,195,61,245,215,197,61,57,54,200,61,203,151,202,61,169,252,204,61,211,100,207,61,68,208,209,61,252,62,212,61,249,176,214,61,56,38,217,61,184,158,219,61,117,26,222,61,111,153,224,61,163,27,227,61,14,161,229,61,175,41,232,61,132,181,234,61,138,68,237,61,191,214,239,61,33,108,242,61,174,4,245,61,99,160,247,61,62,63,250,61,61,225,252,61,93,134,255,61,78,23,1,62,252,108,2,62,56,196,3,62,255,28,5,62,81,119,6,62,45,211,7,62,145,48,9,62,125,143,10,62,238,239,11,62,228,81,13,62,94,181,14,62,89,26,16,62,214,128,17,62,210,232,18,62,77,82,20,62,69,189,21,62,184,41,23,62,166,151,24,62,13,7,26,62,236,119,27,62,65,234,28,62,11,94,30,62,73,211,31,62,250,73,33,62,28,194,34,62,173,59,36,62,172,182,37,62,24,51,39,62,240,176,40,62,50,48,42,62,220,176,43,62,238,50,45,62,101,182,46,62,64,59,48,62,126,193,49,62,30,73,51,62,29,210,52,62,123,92,54,62,54,232,55,62,76,117,57,62,187,3,59,62,131,147,60,62,162,36,62,62,22,183,63,62,222,74,65,62,248,223,66,62,98,118,68,62,28,14,70,62,35,167,71,62,117,65,73,62,18,221,74,62,247,121,76,62,35,24,78,62,149,183,79,62,74,88,81,62,66,250,82,62,121,157,84,62,240,65,86,62,163,231,87,62,146,142,89,62,186,54,91,62,26,224,92,62,177,138,94,62,124,54,96,62,122,227,97,62,169,145,99,62,7,65,101,62,147,241,102,62,75,163,104,62,44,86,106,62,54,10,108,62,102,191,109,62,187,117,111,62,51,45,113,62,204,229,114,62,132,159,116,62,90,90,118,62,75,22,120,62,85,211,121,62,120,145,123,62,176,80,125,62,253,16,127,62,46,105,128,62,101,74,129,62,36,44,130,62,105,14,131,62,52,241,131,62,130,212,132,62,84,184,133,62,169,156,134,62,127,129,135,62,213,102,136,62,171,76,137,62,255,50,138,62,209,25,139,62,32,1,140,62,233,232,140,62,46,209,141,62,236,185,142,62,34,163,143,62,208,140,144,62,244,118,145,62,142,97,146,62,156,76,147,62,29,56,148,62,17,36,149,62,118,16,150,62,76,253,150,62,144,234,151,62,67,216,152,62,99,198,153,62,239,180,154,62,230,163,155,62,71,147,156,62,17,131,157,62,67,115,158,62,219,99,159,62,218,84,160,62,60,70,161,62,3,56,162,62,43,42,163,62,181,28,164,62,160,15,165,62,233,2,166,62,145,246,166,62,149,234,167,62,245,222,168,62,176,211,169,62,197,200,170,62,50,190,171,62,246,179,172,62,17,170,173,62,129,160,174,62,69,151,175,62,91,142,176,62,196,133,177,62,125,125,178,62,133,117,179,62,220,109,180,62,128,102,181,62,112,95,182,62,171,88,183,62,47,82,184,62,252,75,185,62,17,70,186,62,108,64,187,62,11,59,188,62,239,53,189,62,22,49,190,62,126,44,191,62,38,40,192,62,13,36,193,62,51,32,194,62,150,28,195,62,52,25,196,62,12,22,197,62,30,19,198,62,104,16,199,62,233,13,200,62,159,11,201,62,138,9,202,62,169,7,203,62,249,5,204,62,123,4,205,62,44,3,206,62,11,2,207,62,24,1,208,62,81,0,209,62,181,255,209,62,66,255,210,62,248,254,211,62,213,254,212,62,216,254,213,62,255,254,214,62,75,255,215,62,184,255,216,62,71,0,218,62,245,0,219,62,195,1,220,62,173,2,221,62,180,3,222,62,214,4,223,62,17,6,224,62,101,7,225,62,208,8,226,62,81,10,227,62,231,11,228,62,144,13,229,62,76,15,230,62,25,17,231,62,245,18,232,62,224,20,233,62,217,22,234,62,221,24,235,62,236,26,236,62,5,29,237,62,39,31,238,62,79,33,239,62,125,35,240,62,176,37,241,62,230,39,242,62,31,42,243,62,88,44,244,62,145,46,245,62,200,48,246,62,253,50,247,62,45,53,248,62,88,55,249,62,124,57,250,62,153,59,251,62,172,61,252,62,181,63,253,62,179,65,254,62,163,67,255,62,195,34,0,63,173,163,0,63,142,36,1,63,102,165,1,63,53,38,2,63,250,166,2,63,180,39,3,63,99,168,3,63,5,41,4,63,155,169,4,63,36,42,5,63,159,170,5,63,12,43,6,63,105,171,6,63,183,43,7,63,244,171,7,63,32,44,8,63,59,172,8,63,68,44,9,63,58,172,9,63,28,44,10,63,235,171,10,63,164,43,11,63,73,171,11,63,216,42,12,63,80,170,12,63,177,41,13,63,251,168,13,63,44,40,14,63,69,167,14,63,68,38,15,63,41,165,15,63,243,35,16,63,162,162,16,63,53,33,17,63,172,159,17,63,5,30,18,63,65,156,18,63,95,26,19,63,94,152,19,63,61,22,20,63,252,147,20,63,155,17,21,63,24,143,21,63,116,12,22,63,173,137,22,63,195,6,23,63,182,131,23,63,133,0,24,63,46,125,24,63,179,249,24,63,18,118,25,63,74,242,25,63,91,110,26,63,69,234,26,63,6,102,27,63,159,225,27,63,14,93,28,63,84,216,28,63,111,83,29,63,95,206,29,63,36,73,30,63,188,195,30,63,40,62,31,63,102,184,31,63,119,50,32,63,90,172,32,63,14,38,33,63,146,159,33,63,230,24,34,63,10,146,34,63,253,10,35,63,190,131,35,63,77,252,35,63,169,116,36,63,211,236,36,63,200,100,37,63,138,220,37,63,22,84,38,63,110,203,38,63,143,66,39,63,122,185,39,63,47,48,40,63,172,166,40,63,241,28,41,63,254,146,41,63,210,8,42,63,108,126,42,63,205,243,42,63,243,104,43,63,223,221,43,63,143,82,44,63,3,199,44,63,59,59,45,63,54,175,45,63,244,34,46,63,116,150,46,63,182,9,47,63,185,124,47,63,125,239,47,63,1,98,48,63,69,212,48,63,72,70,49,63,10,184,49,63,139,41,50,63,202,154,50,63,198,11,51,63,127,124,51,63,246,236,51,63,40,93,52,63,22,205,52,63,191,60,53,63,36,172,53,63,66,27,54,63,27,138,54,63,174,248,54,63,249,102,55,63,254,212,55,63,187,66,56,63,47,176,56,63,91,29,57,63,63,138,57,63,217,246,57,63,41,99,58,63,48,207,58,63,236,58,59,63,93,166,59,63,130,17,60,63,93,124,60,63,235,230,60,63,44,81,61,63,33,187,61,63,201,36,62,63,35,142,62,63,48,247,62,63,238,95,63,63,94,200,63,63,126,48,64,63,80,152,64,63,209,255,64,63,3,103,65,63,228,205,65,63,117,52,66,63,181,154,66,63,163,0,67,63,64,102,67,63,139,203,67,63,131,48,68,63,41,149,68,63,124,249,68,63,123,93,69,63,39,193,69,63,127,36,70,63,132,135,70,63,51,234,70,63,142,76,71,63,148,174,71,63,68,16,72,63,159,113,72,63,164,210,72,63,83,51,73,63,172,147,73,63,174,243,73,63,89,83,74,63,173,178,74,63,169,17,75,63,77,112,75,63,154,206,75,63,143,44,76,63,43,138,76,63,110,231,76,63,89,68,77,63,234,160,77,63,34,253,77,63,0,89,78,63,133,180,78,63,176,15,79,63,128,106,79,63,246,196,79,63,18,31,80,63,210,120,80,63,56,210,80,63,66,43,81,63,242,131,81,63,69,220,81,63,61,52,82,63,217,139,82,63,24,227,82,63,252,57,83,63,131,144,83,63,174,230,83,63,123,60,84,63,236,145,84,63,0,231,84,63,183,59,85,63,16,144,85,63,12,228,85,63,170,55,86,63,235,138,86,63,206,221,86,63,83,48,87,63,121,130,87,63,66,212,87,63,172,37,88,63,184,118,88,63,101,199,88,63,180,23,89,63,164,103,89,63,53,183,89,63,104,6,90,63,59,85,90,63,175,163,90,63,197,241,90,63,123,63,91,63,210,140,91,63,201,217,91,63,97,38,92,63,154,114,92,63,115,190,92,63,237,9,93,63,7,85,93,63,194,159,93,63,29,234,93,63,24,52,94,63,179,125,94,63,239,198,94,63,203,15,95,63,72,88,95,63,100,160,95,63,33,232,95,63,126,47,96,63,123,118,96,63,24,189,96,63,85,3,97,63,51,73,97,63,177,142,97,63,207,211,97,63,141,24,98,63,236,92,98,63,235,160,98,63,138,228,98,63,202,39,99,63,170,106,99,63,42,173,99,63,75,239,99,63,13,49,100,63,111,114,100,63,114,179,100,63,21,244,100,63,90,52,101,63,63,116,101,63,197,179,101,63,236,242,101,63,180,49,102,63,29,112,102,63,39,174,102,63,211,235,102,63,32,41,103,63,15,102,103,63,159,162,103,63,209,222,103,63,164,26,104,63,26,86,104,63,49,145,104,63,235,203,104,63,71,6,105,63,69,64,105,63,230,121,105,63,42,179,105,63,16,236,105,63,153,36,106,63,197,92,106,63,148,148,106,63,7,204,106,63,29,3,107,63,214,57,107,63,52,112,107,63,53,166,107,63,218,219,107,63,36,17,108,63,18,70,108,63,164,122,108,63,220,174,108,63,184,226,108,63,57,22,109,63,96,73,109,63,44,124,109,63,157,174,109,63,181,224,109,63,115,18,110,63,214,67,110,63,225,116,110,63,146,165,110,63,233,213,110,63,232,5,111,63,142,53,111,63,219,100,111,63,209,147,111,63,110,194,111,63,179,240,111,63,160,30,112,63,54,76,112,63,117,121,112,63,93,166,112,63,239,210,112,63,41,255,112,63,14,43,113,63,156,86,113,63,213,129,113,63,184,172,113,63,70,215,113,63,127,1,114,63,99,43,114,63,243,84,114,63,46,126,114,63,21,167,114,63,169,207,114,63,233,247,114,63,214,31,115,63,113,71,115,63,184,110,115,63,173,149,115,63,80,188,115,63,162,226,115,63,161,8,116,63,80,46,116,63,174,83,116,63,187,120,116,63,119,157,116,63,228,193,116,63,1,230,116,63,206,9,117,63,76,45,117,63,123,80,117,63,92,115,117,63,238,149,117,63,51,184,117,63,42,218,117,63,211,251,117,63,48,29,118,63,64,62,118,63,3,95,118,63,122,127,118,63,166,159,118,63,134,191,118,63,27,223,118,63,101,254,118,63,101,29,119,63,27,60,119,63,135,90,119,63,169,120,119,63,131,150,119,63,19,180,119,63,91,209,119,63,91,238,119,63,20,11,120,63,132,39,120,63,174,67,120,63,145,95,120,63,46,123,120,63,132,150,120,63,149,177,120,63,96,204,120,63,231,230,120,63,41,1,121,63,38,27,121,63,223,52,121,63,85,78,121,63,136,103,121,63,120,128,121,63,37,153,121,63,144,177,121,63,185,201,121,63,161,225,121,63,72,249,121,63,174,16,122,63,212,39,122,63,185,62,122,63,96,85,122,63,198,107,122,63,238,129,122,63,216,151,122,63,131,173,122,63,241,194,122,63,33,216,122,63,20,237,122,63,202,1,123,63,68,22,123,63,130,42,123,63,133,62,123,63,77,82,123,63,217,101,123,63,43,121,123,63,68,140,123,63,34,159,123,63,200,177,123,63,52,196,123,63,104,214,123,63,99,232,123,63,39,250,123,63,180,11,124,63,9,29,124,63,40,46,124,63,17,63,124,63,196,79,124,63,65,96,124,63,137,112,124,63,156,128,124,63,124,144,124,63,39,160,124,63,158,175,124,63,226,190,124,63,244,205,124,63,211,220,124,63,128,235,124,63,251,249,124,63,69,8,125,63,94,22,125,63,71,36,125,63,255,49,125,63,136,63,125,63,225,76,125,63,11,90,125,63,7,103,125,63,212,115,125,63,115,128,125,63,229,140,125,63,42,153,125,63,66,165,125,63,46,177,125,63,238,188,125,63,130,200,125,63,235,211,125,63,41,223,125,63,61,234,125,63,38,245,125,63,230,255,125,63,124,10,126,63,234,20,126,63,47,31,126,63,75,41,126,63,64,51,126,63,13,61,126,63,180,70,126,63,51,80,126,63,140,89,126,63,191,98,126,63,205,107,126,63,181,116,126,63,120,125,126,63,23,134,126,63,146,142,126,63,233,150,126,63,28,159,126,63,44,167,126,63,26,175,126,63,229,182,126,63,142,190,126,63,22,198,126,63,124,205,126,63,194,212,126,63,231,219,126,63,235,226,126,63,208,233,126,63,149,240,126,63,59,247,126,63,195,253,126,63,44,4,127,63,118,10,127,63,163,16,127,63,179,22,127,63,165,28,127,63,123,34,127,63,52,40,127,63,210,45,127,63,83,51,127,63,186,56,127,63,5,62,127,63,53,67,127,63,75,72,127,63,72,77,127,63,42,82,127,63,243,86,127,63,163,91,127,63,58,96,127,63,185,100,127,63,32,105,127,63,111,109,127,63,166,113,127,63,199,117,127,63,208,121,127,63,196,125,127,63,161,129,127,63,104,133,127,63,25,137,127,63,182,140,127,63,61,144,127,63,176,147,127,63,14,151,127,63,89,154,127,63,143,157,127,63,179,160,127,63,195,163,127,63,192,166,127,63,171,169,127,63,132,172,127,63,74,175,127,63,255,177,127,63,163,180,127,63,53,183,127,63,183,185,127,63,40,188,127,63,137,190,127,63,217,192,127,63,26,195,127,63,76,197,127,63,111,199,127,63,130,201,127,63,135,203,127,63,126,205,127,63,102,207,127,63,65,209,127,63,14,211,127,63,205,212,127,63,128,214,127,63,38,216,127,63,191,217,127,63,76,219,127,63,204,220,127,63,65,222,127,63,170,223,127,63,8,225,127,63,91,226,127,63,163,227,127,63,224,228,127,63,19,230,127,63,59,231,127,63,90,232,127,63,110,233,127,63,122,234,127,63,124,235,127,63,116,236,127,63,100,237,127,63,75,238,127,63,42,239,127,63,1,240,127,63,207,240,127,63,149,241,127,63,84,242,127,63,12,243,127,63,188,243,127,63,101,244,127,63,7,245,127,63,162,245,127,63,55,246,127,63,198,246,127,63,78,247,127,63,209,247,127,63,77,248,127,63,196,248,127,63,54,249,127,63,162,249,127,63,9,250,127,63,108,250,127,63,201,250,127,63,34,251,127,63,118,251,127,63,198,251,127,63,18,252,127,63,89,252,127,63,157,252,127,63,221,252,127,63,26,253,127,63,83,253,127,63,136,253,127,63,187,253,127,63,234,253,127,63,22,254,127,63,64,254,127,63,103,254,127,63,139,254,127,63,173,254,127,63,204,254,127,63,234,254,127,63,5,255,127,63,30,255,127,63,53,255,127,63,74,255,127,63,94,255,127,63,112,255,127,63,128,255,127,63,143,255,127,63,157,255,127,63,169,255,127,63,180,255,127,63,191,255,127,63,200,255,127,63,208,255,127,63,215,255,127,63,221,255,127,63,227,255,127,63,232,255,127,63,236,255,127,63,239,255,127,63,243,255,127,63,245,255,127,63,248,255,127,63,249,255,127,63,251,255,127,63,252,255,127,63,253,255,127,63,254,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,204,8,120,52,171,134,11,54,79,202,193,54,190,233,61,55,238,247,156,55,192,123,234,55,43,192,35,56,161,2,90,56,189,2,140,56,76,228,174,56,227,165,213,56,199,35,0,57,168,100,23,57,134,149,48,57,104,182,75,57,64,199,104,57,7,228,131,57,105,92,148,57,191,204,165,57,6,53,184,57,65,149,203,57,105,237,223,57,120,61,245,57,184,194,5,58,166,98,17,58,134,126,29,58,81,22,42,58,9,42,55,58,172,185,68,58,54,197,82,58,165,76,97,58,250,79,112,58,47,207,127,58,34,229,135,58,154,32,144,58,255,153,152,58,80,81,161,58,139,70,170,58,174,121,179,58,186,234,188,58,171,153,198,58,129,134,208,58,58,177,218,58,212,25,229,58,79,192,239,58,167,164,250,58,109,227,2,59,117,147,8,59,105,98,14,59,73,80,20,59,19,93,26,59,199,136,32,59,100,211,38,59,232,60,45,59,83,197,51,59,164,108,58,59,218,50,65,59,243,23,72,59,239,27,79,59,204,62,86,59,138,128,93,59,38,225,100,59,161,96,108,59,249,254,115,59,45,188,123,59,29,204,129,59,145,201,133,59,113,214,137,59,188,242,141,59,113,30,146,59,145,89,150,59,26,164,154,59,12,254,158,59,102,103,163,59,40,224,167,59,80,104,172,59,222,255,176,59,209,166,181,59,40,93,186,59,228,34,191,59,2,248,195,59,131,220,200,59,101,208,205,59,168,211,210,59,74,230,215,59,76,8,221,59,172,57,226,59,105,122,231,59,131,202,236,59,249,41,242,59,202,152,247,59,245,22,253,59,60,82,1,60,170,32,4,60,196,246,6,60,137,212,9,60,249,185,12,60,19,167,15,60,216,155,18,60,69,152,21,60,92,156,24,60,26,168,27,60,129,187,30,60,143,214,33,60,69,249,36,60,160,35,40,60,162,85,43,60,73,143,46,60,149,208,49,60,133,25,53,60,26,106,56,60,81,194,59,60,44,34,63,60,168,137,66,60,199,248,69,60,134,111,73,60,230,237,76,60,231,115,80,60,134,1,84,60,197,150,87,60,162,51,91,60,28,216,94,60,52,132,98,60,232,55,102,60,56,243,105,60,35,182,109,60,170,128,113,60,202,82,117,60,131,44,121,60,214,13,125,60,96,123,128,60,161,115,130,60,174,111,132,60,134,111,134,60,40,115,136,60,149,122,138,60,205,133,140,60,206,148,142,60,152,167,144,60,44,190,146,60,136,216,148,60,173,246,150,60,154,24,153,60,78,62,155,60,202,103,157,60,13,149,159,60,23,198,161,60,231,250,163,60,125,51,166,60,217,111,168,60,249,175,170,60,223,243,172,60,137,59,175,60,247,134,177,60,40,214,179,60,29,41,182,60,213,127,184,60,80,218,186,60,140,56,189,60,138,154,191,60,74,0,194,60,202,105,196,60,11,215,198,60,12,72,201,60,205,188,203,60,77,53,206,60,140,177,208,60,137,49,211,60,69,181,213,60,189,60,216,60,243,199,218,60,230,86,221,60,149,233,223,60,0,128,226,60,39,26,229,60,8,184,231,60,164,89,234,60,250,254,236,60,9,168,239,60,210,84,242,60,83,5,245,60,141,185,247,60,126,113,250,60,39,45,253,60,134,236,255,60,206,87,1,61,52,187,2,61,117,32,4,61,144,135,5,61,133,240,6,61,84,91,8,61,253,199,9,61,128,54,11,61,219,166,12,61,16,25,14,61,29,141,15,61,3,3,17,61,193,122,18,61,87,244,19,61,197,111,21,61,10,237,22,61,39,108,24,61,26,237,25,61,228,111,27,61,132,244,28,61,251,122,30,61,71,3,32,61,105,141,33,61,96,25,35,61,45,167,36,61,206,54,38,61,67,200,39,61,141,91,41,61,171,240,42,61,156,135,44,61,96,32,46,61,248,186,47,61,99,87,49,61,160,245,50,61,175,149,52,61,144,55,54,61,67,219,55,61,199,128,57,61,28,40,59,61,65,209,60,61,56,124,62,61,254,40,64,61,148,215,65,61,250,135,67,61,47,58,69,61,51,238,70,61,5,164,72,61,166,91,74,61,20,21,76,61,80,208,77,61,90,141,79,61,49,76,81,61,212,12,83,61,68,207,84,61,128,147,86,61,135,89,88,61,90,33,90,61,248,234,91,61,97,182,93,61,148,131,95,61,145,82,97,61,88,35,99,61,232,245,100,61,65,202,102,61,100,160,104,61,78,120,106,61,1,82,108,61,123,45,110,61,188,10,112,61,197,233,113,61,148,202,115,61,41,173,117,61,133,145,119,61,166,119,121,61,140,95,123,61,55,73,125,61,166,52,127,61,237,144,128,61,105,136,129,61,198,128,130,61,5,122,131,61,37,116,132,61,39,111,133,61,9,107,134,61,204,103,135,61,112,101,136,61,244,99,137,61,88,99,138,61,157,99,139,61,193,100,140,61,196,102,141,61,167,105,142,61,106,109,143,61,11,114,144,61,139,119,145,61,234,125,146,61,40,133,147,61,67,141,148,61,61,150,149,61,20,160,150,61,201,170,151,61,92,182,152,61,203,194,153,61,24,208,154,61,66,222,155,61,72,237,156,61,42,253,157,61,233,13,159,61,132,31,160,61,250,49,161,61,76,69,162,61,122,89,163,61,130,110,164,61,101,132,165,61,35,155,166,61,188,178,167,61,47,203,168,61,124,228,169,61,162,254,170,61,163,25,172,61,124,53,173,61,47,82,174,61,187,111,175,61,31,142,176,61,92,173,177,61,113,205,178,61,94,238,179,61,35,16,181,61,192,50,182,61,52,86,183,61,127,122,184,61,160,159,185,61,153,197,186,61,104,236,187,61,13,20,189,61,136,60,190,61,217,101,191,61,255,143,192,61,250,186,193,61,202,230,194,61,111,19,196,61,233,64,197,61,55,111,198,61,89,158,199,61,78,206,200,61,23,255,201,61,179,48,203,61,35,99,204,61,101,150,205,61,121,202,206,61,96,255,207,61,25,53,209,61,164,107,210,61,0,163,211,61,45,219,212,61,44,20,214,61,251,77,215,61,154,136,216,61,10,196,217,61,74,0,219,61,89,61,220,61,56,123,221,61,230,185,222,61,99,249,223,61,174,57,225,61,200,122,226,61,176,188,227,61,102,255,228,61,233,66,230,61,58,135,231,61,88,204,232,61,66,18,234,61,249,88,235,61,124,160,236,61,203,232,237,61,230,49,239,61,204,123,240,61,125,198,241,61,249,17,243,61,63,94,244,61,79,171,245,61,42,249,246,61,206,71,248,61,60,151,249,61,114,231,250,61,114,56,252,61,58,138,253,61,202,220,254,61,17,24,0,62,33,194,0,62,149,108,1,62,108,23,2,62,166,194,2,62,68,110,3,62,69,26,4,62,168,198,4,62,111,115,5,62,152,32,6,62,35,206,6,62,17,124,7,62,98,42,8,62,20,217,8,62,40,136,9,62,157,55,10,62,117,231,10,62,173,151,11,62,71,72,12,62,66,249,12,62,158,170,13,62,91,92,14,62,120,14,15,62,246,192,15,62,213,115,16,62,19,39,17,62,177,218,17,62,175,142,18,62,13,67,19,62,202,247,19,62,231,172,20,62,99,98,21,62,62,24,22,62,120,206,22,62,16,133,23,62,7,60,24,62,92,243,24,62,16,171,25,62,33,99,26,62,145,27,27,62,94,212,27,62,137,141,28,62,17,71,29,62,246,0,30,62,56,187,30,62,215,117,31,62,211,48,32,62,43,236,32,62,224,167,33,62,241,99,34,62,93,32,35,62,38,221,35,62,74,154,36,62,202,87,37,62,165,21,38,62,219,211,38,62,108,146,39,62,88,81,40,62,159,16,41,62,64,208,41,62,59,144,42,62,144,80,43,62,63,17,44,62,72,210,44,62,170,147,45,62,102,85,46,62,122,23,47,62,232,217,47,62,175,156,48,62,206,95,49,62,69,35,50,62,21,231,50,62,61,171,51,62,189,111,52,62,148,52,53,62,195,249,53,62,73,191,54,62,38,133,55,62,91,75,56,62,230,17,57,62,199,216,57,62,255,159,58,62,141,103,59,62,113,47,60,62,171,247,60,62,59,192,61,62,31,137,62,62,89,82,63,62,232,27,64,62,204,229,64,62,5,176,65,62,146,122,66,62,115,69,67,62,168,16,68,62,49,220,68,62,14,168,69,62,62,116,70,62,194,64,71,62,152,13,72,62,193,218,72,62,61,168,73,62,12,118,74,62,44,68,75,62,159,18,76,62,100,225,76,62,122,176,77,62,225,127,78,62,154,79,79,62,164,31,80,62,255,239,80,62,170,192,81,62,166,145,82,62,242,98,83,62,141,52,84,62,121,6,85,62,180,216,85,62,63,171,86,62,25,126,87,62,65,81,88,62,185,36,89,62,126,248,89,62,147,204,90,62,245,160,91,62,165,117,92,62,163,74,93,62,238,31,94,62,135,245,94,62,109,203,95,62,159,161,96,62,30,120,97,62,233,78,98,62,1,38,99,62,100,253,99,62,19,213,100,62,14,173,101,62,84,133,102,62,229,93,103,62,193,54,104,62,231,15,105,62,88,233,105,62,19,195,106,62,24,157,107,62,103,119,108,62,255,81,109,62,224,44,110,62,11,8,111,62,126,227,111,62,58,191,112,62,62,155,113,62,139,119,114,62,31,84,115,62,251,48,116,62,31,14,117,62,138,235,117,62,59,201,118,62,52,167,119,62,115,133,120,62,248,99,121,62,196,66,122,62,213,33,123,62,44,1,124,62,200,224,124,62,170,192,125,62,208,160,126,62,59,129,127,62,245,48,128,62,111,161,128,62,11,18,129,62,201,130,129,62,168,243,129,62,169,100,130,62,204,213,130,62,15,71,131,62,117,184,131,62,251,41,132,62,162,155,132,62,107,13,133,62,84,127,133,62,93,241,133,62,136,99,134,62,210,213,134,62,61,72,135,62,200,186,135,62,116,45,136,62,63,160,136,62,42,19,137,62,52,134,137,62,94,249,137,62,168,108,138,62,17,224,138,62,153,83,139,62,64,199,139,62,6,59,140,62,235,174,140,62,239,34,141,62,17,151,141,62,82,11,142,62,177,127,142,62,46,244,142,62,201,104,143,62,130,221,143,62,89,82,144,62,78,199,144,62,96,60,145,62,143,177,145,62,220,38,146,62,70,156,146,62,205,17,147,62,113,135,147,62,50,253,147,62,16,115,148,62,9,233,148,62,32,95,149,62,82,213,149,62,161,75,150,62,12,194,150,62,146,56,151,62,53,175,151,62,243,37,152,62,204,156,152,62,193,19,153,62,209,138,153,62,252,1,154,62,66,121,154,62,163,240,154,62,31,104,155,62,181,223,155,62,101,87,156,62,48,207,156,62,21,71,157,62,20,191,157,62,45,55,158,62,96,175,158,62,172,39,159,62,18,160,159,62,145,24,160,62,41,145,160,62,218,9,161,62,165,130,161,62,136,251,161,62,132,116,162,62,152,237,162,62,197,102,163,62,10,224,163,62,103,89,164,62,220,210,164,62,105,76,165,62,14,198,165,62,202,63,166,62,158,185,166,62,137,51,167,62,139,173,167,62,164,39,168,62,213,161,168,62,27,28,169,62],"i8",N3,F.GLOBAL_BASE+520696),E3([121,150,169,62,237,16,170,62,119,139,170,62,24,6,171,62,206,128,171,62,155,251,171,62,125,118,172,62,117,241,172,62,130,108,173,62,165,231,173,62,221,98,174,62,42,222,174,62,140,89,175,62,2,213,175,62,142,80,176,62,46,204,176,62,226,71,177,62,170,195,177,62,135,63,178,62,119,187,178,62,124,55,179,62,148,179,179,62,191,47,180,62,254,171,180,62,80,40,181,62,181,164,181,62,45,33,182,62,184,157,182,62,85,26,183,62,5,151,183,62,199,19,184,62,156,144,184,62,130,13,185,62,123,138,185,62,133,7,186,62,161,132,186,62,206,1,187,62,13,127,187,62,93,252,187,62,190,121,188,62,48,247,188,62,178,116,189,62,70,242,189,62,233,111,190,62,157,237,190,62,98,107,191,62,54,233,191,62,26,103,192,62,14,229,192,62,17,99,193,62,36,225,193,62,70,95,194,62,119,221,194,62,184,91,195,62,7,218,195,62,100,88,196,62,209,214,196,62,75,85,197,62,212,211,197,62,107,82,198,62,16,209,198,62,195,79,199,62,132,206,199,62,82,77,200,62,45,204,200,62,21,75,201,62,11,202,201,62,13,73,202,62,29,200,202,62,56,71,203,62,97,198,203,62,149,69,204,62,214,196,204,62,34,68,205,62,123,195,205,62,223,66,206,62,79,194,206,62,202,65,207,62,81,193,207,62,226,64,208,62,127,192,208,62,38,64,209,62,216,191,209,62,148,63,210,62,91,191,210,62,44,63,211,62,7,191,211,62,235,62,212,62,218,190,212,62,210,62,213,62,211,190,213,62,222,62,214,62,242,190,214,62,15,63,215,62,53,191,215,62,99,63,216,62,154,191,216,62,217,63,217,62,32,192,217,62,112,64,218,62,199,192,218,62,38,65,219,62,140,193,219,62,250,65,220,62,112,194,220,62,236,66,221,62,112,195,221,62,250,67,222,62,139,196,222,62,34,69,223,62,192,197,223,62,100,70,224,62,14,199,224,62,189,71,225,62,115,200,225,62,46,73,226,62,239,201,226,62,181,74,227,62,127,203,227,62,79,76,228,62,36,205,228,62,253,77,229,62,219,206,229,62,190,79,230,62,164,208,230,62,142,81,231,62,125,210,231,62,111,83,232,62,100,212,232,62,93,85,233,62,89,214,233,62,89,87,234,62,91,216,234,62,96,89,235,62,104,218,235,62,114,91,236,62,126,220,236,62,141,93,237,62,158,222,237,62,176,95,238,62,196,224,238,62,218,97,239,62,241,226,239,62,10,100,240,62,35,229,240,62,62,102,241,62,89,231,241,62,116,104,242,62,145,233,242,62,173,106,243,62,202,235,243,62,230,108,244,62,3,238,244,62,31,111,245,62,59,240,245,62,86,113,246,62,112,242,246,62,137,115,247,62,161,244,247,62,184,117,248,62,206,246,248,62,226,119,249,62,244,248,249,62,4,122,250,62,18,251,250,62,30,124,251,62,40,253,251,62,47,126,252,62,52,255,252,62,54,128,253,62,52,1,254,62,48,130,254,62,40,3,255,62,29,132,255,62,135,2,0,63,254,66,0,63,115,131,0,63,230,195,0,63,86,4,1,63,197,68,1,63,49,133,1,63,155,197,1,63,3,6,2,63,103,70,2,63,202,134,2,63,42,199,2,63,135,7,3,63,225,71,3,63,56,136,3,63,141,200,3,63,222,8,4,63,44,73,4,63,119,137,4,63,191,201,4,63,3,10,5,63,68,74,5,63,130,138,5,63,188,202,5,63,242,10,6,63,36,75,6,63,83,139,6,63,126,203,6,63,165,11,7,63,199,75,7,63,230,139,7,63,1,204,7,63,23,12,8,63,41,76,8,63,54,140,8,63,63,204,8,63,67,12,9,63,67,76,9,63,62,140,9,63,52,204,9,63,37,12,10,63,18,76,10,63,249,139,10,63,219,203,10,63,184,11,11,63,144,75,11,63,98,139,11,63,47,203,11,63,246,10,12,63,184,74,12,63,116,138,12,63,43,202,12,63,219,9,13,63,134,73,13,63,43,137,13,63,202,200,13,63,98,8,14,63,245,71,14,63,129,135,14,63,7,199,14,63,135,6,15,63,0,70,15,63,114,133,15,63,222,196,15,63,67,4,16,63,161,67,16,63,249,130,16,63,73,194,16,63,147,1,17,63,213,64,17,63,17,128,17,63,69,191,17,63,114,254,17,63,151,61,18,63,181,124,18,63,203,187,18,63,218,250,18,63,225,57,19,63,225,120,19,63,216,183,19,63,200,246,19,63,176,53,20,63,143,116,20,63,103,179,20,63,54,242,20,63,253,48,21,63,188,111,21,63,114,174,21,63,32,237,21,63,197,43,22,63,98,106,22,63,246,168,22,63,129,231,22,63,3,38,23,63,125,100,23,63,237,162,23,63,84,225,23,63,178,31,24,63,7,94,24,63,83,156,24,63,149,218,24,63,206,24,25,63,253,86,25,63,35,149,25,63,63,211,25,63,82,17,26,63,90,79,26,63,89,141,26,63,78,203,26,63,57,9,27,63,25,71,27,63,240,132,27,63,188,194,27,63,126,0,28,63,54,62,28,63,227,123,28,63,134,185,28,63,30,247,28,63,172,52,29,63,47,114,29,63,167,175,29,63,20,237,29,63,118,42,30,63,206,103,30,63,26,165,30,63,91,226,30,63,145,31,31,63,188,92,31,63,219,153,31,63,239,214,31,63,247,19,32,63,244,80,32,63,230,141,32,63,203,202,32,63,165,7,33,63,115,68,33,63,53,129,33,63,235,189,33,63,150,250,33,63,52,55,34,63,198,115,34,63,75,176,34,63,197,236,34,63,50,41,35,63,146,101,35,63,230,161,35,63,46,222,35,63,105,26,36,63,151,86,36,63,185,146,36,63,205,206,36,63,213,10,37,63,208,70,37,63,190,130,37,63,158,190,37,63,114,250,37,63,56,54,38,63,241,113,38,63,157,173,38,63,59,233,38,63,204,36,39,63,79,96,39,63,197,155,39,63,45,215,39,63,135,18,40,63,211,77,40,63,18,137,40,63,66,196,40,63,101,255,40,63,121,58,41,63,128,117,41,63,120,176,41,63,98,235,41,63,62,38,42,63,11,97,42,63,202,155,42,63,122,214,42,63,28,17,43,63,175,75,43,63,52,134,43,63,170,192,43,63,16,251,43,63,105,53,44,63,178,111,44,63,236,169,44,63,23,228,44,63,51,30,45,63,64,88,45,63,61,146,45,63,43,204,45,63,10,6,46,63,218,63,46,63,154,121,46,63,74,179,46,63,235,236,46,63,124,38,47,63,254,95,47,63,112,153,47,63,210,210,47,63,36,12,48,63,102,69,48,63,152,126,48,63,186,183,48,63,204,240,48,63,205,41,49,63,191,98,49,63,160,155,49,63,113,212,49,63,49,13,50,63,225,69,50,63,128,126,50,63,15,183,50,63,141,239,50,63,251,39,51,63,87,96,51,63,163,152,51,63,222,208,51,63,8,9,52,63,34,65,52,63,42,121,52,63,33,177,52,63,7,233,52,63,219,32,53,63,159,88,53,63,81,144,53,63,242,199,53,63,129,255,53,63,255,54,54,63,108,110,54,63,198,165,54,63,16,221,54,63,71,20,55,63,109,75,55,63,129,130,55,63,131,185,55,63,116,240,55,63,82,39,56,63,30,94,56,63,217,148,56,63,129,203,56,63,23,2,57,63,155,56,57,63,13,111,57,63,108,165,57,63,185,219,57,63,244,17,58,63,28,72,58,63,50,126,58,63,53,180,58,63,38,234,58,63,4,32,59,63,207,85,59,63,135,139,59,63,45,193,59,63,192,246,59,63,64,44,60,63,173,97,60,63,7,151,60,63,78,204,60,63,130,1,61,63,163,54,61,63,177,107,61,63,171,160,61,63,146,213,61,63,102,10,62,63,39,63,62,63,212,115,62,63,110,168,62,63,244,220,62,63,103,17,63,63,198,69,63,63,17,122,63,63,73,174,63,63,109,226,63,63,126,22,64,63,122,74,64,63,99,126,64,63,56,178,64,63,248,229,64,63,165,25,65,63,62,77,65,63,195,128,65,63,52,180,65,63,144,231,65,63,216,26,66,63,13,78,66,63,44,129,66,63,56,180,66,63,47,231,66,63,18,26,67,63,224,76,67,63,154,127,67,63,64,178,67,63,208,228,67,63,77,23,68,63,180,73,68,63,7,124,68,63,69,174,68,63,111,224,68,63,131,18,69,63,131,68,69,63,110,118,69,63,68,168,69,63,5,218,69,63,177,11,70,63,72,61,70,63,202,110,70,63,55,160,70,63,143,209,70,63,210,2,71,63,255,51,71,63,23,101,71,63,26,150,71,63,8,199,71,63,224,247,71,63,163,40,72,63,81,89,72,63,233,137,72,63,107,186,72,63,216,234,72,63,48,27,73,63,114,75,73,63,158,123,73,63,181,171,73,63,181,219,73,63,161,11,74,63,118,59,74,63,54,107,74,63,224,154,74,63,116,202,74,63,242,249,74,63,90,41,75,63,173,88,75,63,233,135,75,63,15,183,75,63,32,230,75,63,26,21,76,63,254,67,76,63,204,114,76,63,132,161,76,63,38,208,76,63,177,254,76,63,38,45,77,63,133,91,77,63,206,137,77,63,0,184,77,63,28,230,77,63,34,20,78,63,17,66,78,63,234,111,78,63,172,157,78,63,88,203,78,63,238,248,78,63,108,38,79,63,213,83,79,63,38,129,79,63,97,174,79,63,134,219,79,63,147,8,80,63,138,53,80,63,107,98,80,63,52,143,80,63,231,187,80,63,131,232,80,63,8,21,81,63,119,65,81,63,206,109,81,63,15,154,81,63,57,198,81,63,76,242,81,63,71,30,82,63,44,74,82,63,250,117,82,63,177,161,82,63,81,205,82,63,218,248,82,63,76,36,83,63,166,79,83,63,234,122,83,63,22,166,83,63,44,209,83,63,42,252,83,63,17,39,84,63,224,81,84,63,153,124,84,63,58,167,84,63,196,209,84,63,54,252,84,63,146,38,85,63,214,80,85,63,2,123,85,63,24,165,85,63,22,207,85,63,252,248,85,63,204,34,86,63,131,76,86,63,36,118,86,63,172,159,86,63,30,201,86,63,120,242,86,63,186,27,87,63,229,68,87,63,248,109,87,63,244,150,87,63,216,191,87,63,165,232,87,63,90,17,88,63,248,57,88,63,126,98,88,63,236,138,88,63,67,179,88,63,130,219,88,63,169,3,89,63,185,43,89,63,177,83,89,63,145,123,89,63,90,163,89,63,11,203,89,63,164,242,89,63,37,26,90,63,143,65,90,63,225,104,90,63,27,144,90,63,62,183,90,63,72,222,90,63,59,5,91,63,22,44,91,63,217,82,91,63,133,121,91,63,24,160,91,63,148,198,91,63,248,236,91,63,68,19,92,63,120,57,92,63,149,95,92,63,153,133,92,63,134,171,92,63,91,209,92,63,24,247,92,63,189,28,93,63,74,66,93,63,191,103,93,63,28,141,93,63,98,178,93,63,143,215,93,63,165,252,93,63,162,33,94,63,136,70,94,63,86,107,94,63,11,144,94,63,169,180,94,63,47,217,94,63,157,253,94,63,243,33,95,63,49,70,95,63,88,106,95,63,102,142,95,63,92,178,95,63,59,214,95,63,1,250,95,63,175,29,96,63,70,65,96,63,196,100,96,63,43,136,96,63,122,171,96,63,176,206,96,63,207,241,96,63,214,20,97,63,197,55,97,63,155,90,97,63,90,125,97,63,1,160,97,63,144,194,97,63,8,229,97,63,103,7,98,63,174,41,98,63,221,75,98,63,245,109,98,63,244,143,98,63,220,177,98,63,171,211,98,63,99,245,98,63,3,23,99,63,139,56,99,63,251,89,99,63,83,123,99,63,147,156,99,63,188,189,99,63,204,222,99,63,197,255,99,63,166,32,100,63,110,65,100,63,32,98,100,63,185,130,100,63,58,163,100,63,164,195,100,63,245,227,100,63,47,4,101,63,82,36,101,63,92,68,101,63,78,100,101,63,41,132,101,63,236,163,101,63,151,195,101,63,43,227,101,63,167,2,102,63,11,34,102,63,87,65,102,63,139,96,102,63,168,127,102,63,174,158,102,63,155,189,102,63,113,220,102,63,47,251,102,63,214,25,103,63,101,56,103,63,220,86,103,63,59,117,103,63,132,147,103,63,180,177,103,63,205,207,103,63,206,237,103,63,184,11,104,63,138,41,104,63,69,71,104,63,233,100,104,63,116,130,104,63,233,159,104,63,69,189,104,63,139,218,104,63,185,247,104,63,207,20,105,63,207,49,105,63,182,78,105,63,135,107,105,63,64,136,105,63,225,164,105,63,108,193,105,63,223,221,105,63,59,250,105,63,127,22,106,63,172,50,106,63,195,78,106,63,193,106,106,63,169,134,106,63,121,162,106,63,51,190,106,63,213,217,106,63,96,245,106,63,212,16,107,63,48,44,107,63,118,71,107,63,165,98,107,63,188,125,107,63,189,152,107,63,167,179,107,63,121,206,107,63,53,233,107,63,218,3,108,63,104,30,108,63,223,56,108,63,63,83,108,63,136,109,108,63,187,135,108,63,214,161,108,63,219,187,108,63,201,213,108,63,161,239,108,63,97,9,109,63,11,35,109,63,159,60,109,63,27,86,109,63,129,111,109,63,209,136,109,63,9,162,109,63,44,187,109,63,56,212,109,63,45,237,109,63,12,6,110,63,212,30,110,63,134,55,110,63,33,80,110,63,166,104,110,63,21,129,110,63,110,153,110,63,176,177,110,63,220,201,110,63,241,225,110,63,241,249,110,63,218,17,111,63,173,41,111,63,106,65,111,63,16,89,111,63,161,112,111,63,28,136,111,63,128,159,111,63,207,182,111,63,7,206,111,63,42,229,111,63,54,252,111,63,45,19,112,63,14,42,112,63,217,64,112,63,142,87,112,63,46,110,112,63,184,132,112,63,43,155,112,63,138,177,112,63,210,199,112,63,5,222,112,63,35,244,112,63,42,10,113,63,29,32,113,63,249,53,113,63,193,75,113,63,114,97,113,63,15,119,113,63,150,140,113,63,7,162,113,63,99,183,113,63,170,204,113,63,220,225,113,63,249,246,113,63,0,12,114,63,242,32,114,63,207,53,114,63,151,74,114,63,73,95,114,63,231,115,114,63,112,136,114,63,227,156,114,63,66,177,114,63,140,197,114,63,193,217,114,63,225,237,114,63,236,1,115,63,227,21,115,63,197,41,115,63,146,61,115,63,74,81,115,63,238,100,115,63,125,120,115,63,248,139,115,63,94,159,115,63,175,178,115,63,236,197,115,63,21,217,115,63,41,236,115,63,41,255,115,63,21,18,116,63,236,36,116,63,175,55,116,63,94,74,116,63,248,92,116,63,127,111,116,63,241,129,116,63,80,148,116,63,154,166,116,63,208,184,116,63,242,202,116,63,1,221,116,63,251,238,116,63,226,0,117,63,181,18,117,63,116,36,117,63,31,54,117,63,183,71,117,63,59,89,117,63,171,106,117,63,8,124,117,63,81,141,117,63,135,158,117,63,169,175,117,63,184,192,117,63,179,209,117,63,155,226,117,63,112,243,117,63,50,4,118,63,224,20,118,63,123,37,118,63,3,54,118,63,120,70,118,63,217,86,118,63,40,103,118,63,100,119,118,63,140,135,118,63,162,151,118,63,165,167,118,63,149,183,118,63,114,199,118,63,61,215,118,63,245,230,118,63,154,246,118,63,44,6,119,63,172,21,119,63,26,37,119,63,117,52,119,63,189,67,119,63,243,82,119,63,22,98,119,63,40,113,119,63,39,128,119,63,19,143,119,63,238,157,119,63,182,172,119,63,108,187,119,63,16,202,119,63,162,216,119,63,34,231,119,63,144,245,119,63,236,3,120,63,55,18,120,63,111,32,120,63,150,46,120,63,170,60,120,63,174,74,120,63,159,88,120,63,127,102,120,63,77,116,120,63,10,130,120,63,181,143,120,63,79,157,120,63,215,170,120,63,78,184,120,63,180,197,120,63,8,211,120,63,76,224,120,63,126,237,120,63,158,250,120,63,174,7,121,63,173,20,121,63,155,33,121,63,119,46,121,63,67,59,121,63,254,71,121,63,168,84,121,63,66,97,121,63,202,109,121,63,66,122,121,63,169,134,121,63,0,147,121,63,70,159,121,63,124,171,121,63,161,183,121,63,181,195,121,63,186,207,121,63,173,219,121,63,145,231,121,63,100,243,121,63,40,255,121,63,219,10,122,63,126,22,122,63,16,34,122,63,147,45,122,63,6,57,122,63,105,68,122,63,188,79,122,63,255,90,122,63,51,102,122,63,86,113,122,63,106,124,122,63,111,135,122,63,99,146,122,63,72,157,122,63,30,168,122,63,228,178,122,63,155,189,122,63,66,200,122,63,218,210,122,63,99,221,122,63,221,231,122,63,71,242,122,63,162,252,122,63,238,6,123,63,43,17,123,63,89,27,123,63,120,37,123,63,137,47,123,63,138,57,123,63,124,67,123,63,96,77,123,63,53,87,123,63,252,96,123,63,179,106,123,63,92,116,123,63,247,125,123,63,131,135,123,63,1,145,123,63,112,154,123,63,209,163,123,63,36,173,123,63,104,182,123,63,158,191,123,63,198,200,123,63,224,209,123,63,236,218,123,63,234,227,123,63,218,236,123,63,188,245,123,63,144,254,123,63,86,7,124,63,14,16,124,63,185,24,124,63,86,33,124,63,230,41,124,63,104,50,124,63,220,58,124,63,67,67,124,63,156,75,124,63,232,83,124,63,39,92,124,63,88,100,124,63,124,108,124,63,147,116,124,63,157,124,124,63,153,132,124,63,137,140,124,63,107,148,124,63,65,156,124,63,9,164,124,63,197,171,124,63,116,179,124,63,22,187,124,63,172,194,124,63,52,202,124,63,176,209,124,63,32,217,124,63,131,224,124,63,217,231,124,63,35,239,124,63,97,246,124,63,146,253,124,63,183,4,125,63,208,11,125,63,221,18,125,63,221,25,125,63,209,32,125,63,185,39,125,63,150,46,125,63,102,53,125,63,42,60,125,63,227,66,125,63,143,73,125,63,48,80,125,63,197,86,125,63,78,93,125,63,204,99,125,63,62,106,125,63,165,112,125,63,0,119,125,63,80,125,125,63,148,131,125,63,205,137,125,63,251,143,125,63,29,150,125,63,52,156,125,63,64,162,125,63,65,168,125,63,55,174,125,63,34,180,125,63,2,186,125,63,215,191,125,63,161,197,125,63,96,203,125,63,21,209,125,63,190,214,125,63,93,220,125,63,242,225,125,63,124,231,125,63,251,236,125,63,112,242,125,63,218,247,125,63,58,253,125,63,143,2,126,63,219,7,126,63,28,13,126,63,82,18,126,63,127,23,126,63,161,28,126,63,186,33,126,63,200,38,126,63,204,43,126,63,199,48,126,63,183,53,126,63,158,58,126,63,123,63,126,63,78,68,126,63,23,73,126,63,215,77,126,63,141,82,126,63,58,87,126,63,221,91,126,63,118,96,126,63,6,101,126,63,141,105,126,63,10,110,126,63,126,114,126,63,233,118,126,63,75,123,126,63,164,127,126,63,243,131,126,63,57,136,126,63,119,140,126,63,171,144,126,63,214,148,126,63,249,152,126,63,18,157,126,63,35,161,126,63,44,165,126,63,43,169,126,63,34,173,126,63,16,177,126,63,246,180,126,63,211,184,126,63,167,188,126,63,115,192,126,63,55,196,126,63,243,199,126,63,166,203,126,63,81,207,126,63,243,210,126,63,142,214,126,63,32,218,126,63,171,221,126,63,45,225,126,63,167,228,126,63,26,232,126,63,132,235,126,63,231,238,126,63,66,242,126,63,149,245,126,63,224,248,126,63,36,252,126,63,96,255,126,63,148,2,127,63,193,5,127,63,230,8,127,63,4,12,127,63,27,15,127,63,42,18,127,63,50,21,127,63,50,24,127,63,43,27,127,63,29,30,127,63,8,33,127,63,236,35,127,63,201,38,127,63,158,41,127,63,109,44,127,63,53,47,127,63,246,49,127,63,175,52,127,63,99,55,127,63,15,58,127,63,181,60,127,63,83,63,127,63,236,65,127,63,125,68,127,63,8,71,127,63,141,73,127,63,11,76,127,63,131,78,127,63,244,80,127,63,95,83,127,63,195,85,127,63,33,88,127,63,121,90,127,63,203,92,127,63,23,95,127,63,92,97,127,63,155,99,127,63,213,101,127,63,8,104,127,63,54,106,127,63,93,108,127,63,127,110,127,63,155,112,127,63,177,114,127,63,193,116,127,63,203,118,127,63,208,120,127,63,207,122,127,63,201,124,127,63,189,126,127,63,171,128,127,63,148,130,127,63,120,132,127,63,86,134,127,63,47,136,127,63,2,138,127,63,209,139,127,63,153,141,127,63,93,143,127,63,28,145,127,63,213,146,127,63,137,148,127,63,57,150,127,63,227,151,127,63,136,153,127,63,40,155,127,63,196,156,127,63,90,158,127,63,236,159,127,63,121,161,127,63,1,163,127,63,132,164,127,63,3,166,127,63,125,167,127,63,242,168,127,63,99,170,127,63,207,171,127,63,55,173,127,63,154,174,127,63,249,175,127,63,84,177,127,63,170,178,127,63,251,179,127,63,73,181,127,63,146,182,127,63,215,183,127,63,24,185,127,63,85,186,127,63,141,187,127,63,193,188,127,63,242,189,127,63,30,191,127,63,71,192,127,63,107,193,127,63,140,194,127,63,168,195,127,63,193,196,127,63,214,197,127,63,231,198,127,63,245,199,127,63,255,200,127,63,5,202,127,63,7,203,127,63,6,204,127,63,1,205,127,63,249,205,127,63,237,206,127,63,222,207,127,63,203,208,127,63,181,209,127,63,156,210,127,63,127,211,127,63,95,212,127,63,59,213,127,63,20,214,127,63,234,214,127,63,189,215,127,63,141,216,127,63,90,217,127,63,35,218,127,63,233,218,127,63,173,219,127,63,109,220,127,63,43,221,127,63,229,221,127,63,156,222,127,63,81,223,127,63,3,224,127,63,178,224,127,63,94,225,127,63,7,226,127,63,174,226,127,63,82,227,127,63,243,227,127,63,146,228,127,63,46,229,127,63,199,229,127,63,94,230,127,63,242,230,127,63,132,231,127,63,19,232,127,63,160,232,127,63,42,233,127,63,178,233,127,63,56,234,127,63,187,234,127,63,60,235,127,63,187,235,127,63,55,236,127,63,177,236,127,63,41,237,127,63,159,237,127,63,18,238,127,63,132,238,127,63,243,238,127,63,96,239,127,63,204,239,127,63,53,240,127,63,156,240,127,63,1,241,127,63,101,241,127,63,198,241,127,63,37,242,127,63,131,242,127,63,222,242,127,63,56,243,127,63,144,243,127,63,231,243,127,63,59,244,127,63,142,244,127,63,223,244,127,63,46,245,127,63,124,245,127,63,200,245,127,63,19,246,127,63,91,246,127,63,163,246,127,63,233,246,127,63,45,247,127,63,111,247,127,63,177,247,127,63,240,247,127,63,47,248,127,63,108,248,127,63,167,248,127,63,225,248,127,63,26,249,127,63,82,249,127,63,136,249,127,63,188,249,127,63,240,249,127,63,34,250,127,63,83,250,127,63,131,250,127,63,178,250,127,63,224,250,127,63,12,251,127,63,55,251,127,63,97,251,127,63,138,251,127,63,178,251,127,63,217,251,127,63,255,251,127,63,36,252,127,63,72,252,127,63,107,252,127,63,141,252,127,63,173,252,127,63,205,252,127,63,237,252,127,63,11,253,127,63,40,253,127,63,69,253,127,63,96,253,127,63,123,253,127,63,149,253,127,63,174,253,127,63,199,253,127,63,222,253,127,63,245,253,127,63,12,254,127,63,33,254,127,63,54,254,127,63,74,254,127,63,93,254,127,63,112,254,127,63,130,254,127,63,148,254,127,63,165,254,127,63,181,254,127,63,197,254,127,63,212,254,127,63,227,254,127,63,241,254,127,63,254,254,127,63,11,255,127,63,24,255,127,63,36,255,127,63,47,255,127,63,59,255,127,63,69,255,127,63,79,255,127,63,89,255,127,63,99,255,127,63,108,255,127,63,116,255,127,63,124,255,127,63,132,255,127,63,140,255,127,63,147,255,127,63,154,255,127,63,160,255,127,63,166,255,127,63,172,255,127,63,178,255,127,63,183,255,127,63,188,255,127,63,193,255,127,63,197,255,127,63,202,255,127,63,206,255,127,63,209,255,127,63,213,255,127,63,216,255,127,63,220,255,127,63,223,255,127,63,225,255,127,63,228,255,127,63,230,255,127,63,233,255,127,63,235,255,127,63,237,255,127,63,239,255,127,63,240,255,127,63,242,255,127,63,243,255,127,63,245,255,127,63,246,255,127,63,247,255,127,63,248,255,127,63,249,255,127,63,250,255,127,63,251,255,127,63,251,255,127,63,252,255,127,63,252,255,127,63,253,255,127,63,253,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,198,63,120,51,98,136,11,53,151,200,193,53,80,233,61,54,183,247,156,54,46,124,234,54,153,192,35,55,244,2,90,55,56,3,140,55,227,228,174,55,177,166,213,55,108,36,0,56,146,101,23,56,201,150,48,56,18,184,75,56,81,201,104,56,94,229,131,56,29,94,148,56,229,206,165,56,167,55,184,56,128,152,203,56,85,241,223,56,36,66,245,56,126,197,5,57,238,101,17,57,99,130,29,57,207,26,42,57,63,47,55,57,179,191,68,57,30,204,82,57,141,84,97,57,243,88,112,57,94,217,127,57,227,234,135,57,18,39,144,57,64,161,152,57,105,89,161,57,146,79,170,57,181,131,179,57,215,245,188,57,245,165,198,57,14,148,208,57,34,192,218,57,46,42,229,57,57,210,239,57,60,184,250,57,27,238,2,58,22,159,8,58,13,111,14,58,0,94,20,58,239,107,26,58,218,152,32,58,192,228,38,58,161,79,45,58,124,217,51,58,83,130,58,58,37,74,65,58,240,48,72,58,182,54,79,58,116,91,86,58,45,159,93,58,222,1,101,58,136,131,108,58,42,36,116,58,196,227,123,58,44,225,129,58,241,223,133,58,49,238,137,58,238,11,142,58,37,57,146,58,215,117,150,58,5,194,154,58,174,29,159,58,209,136,163,58,110,3,168,58,134,141,172,58,24,39,177,58,36,208,181,58,169,136,186,58,169,80,191,58,33,40,196,58,19,15,201,58,126,5,206,58,98,11,211,58,191,32,216,58,148,69,221,58,225,121,226,58,166,189,231,58,227,16,237,58,152,115,242,58,196,229,247,58,103,103,253,58,65,124,1,59,137,76,4,59,141,36,7,59,76,4,10,59,198,235,12,59,251,218,15,59,235,209,18,59,149,208,21,59,251,214,24,59,26,229,27,59,244,250,30,59,136,24,34,59,215,61,37,59,223,106,40,59,161,159,43,59,29,220,46,59,83,32,50,59,66,108,53,59,234,191,56,59,76,27,60,59,103,126,63,59,59,233,66,59,199,91,70,59,12,214,73,59,10,88,77,59,193,225,80,59,48,115,84,59,86,12,88,59,53,173,91,59,204,85,95,59,26,6,99,59,32,190,102,59,222,125,106,59,82,69,110,59,127,20,114,59,97,235,117,59,251,201,121,59,76,176,125,59,41,207,128,59,8,202,130,59,194,200,132,59,87,203,134,59,198,209,136,59,17,220,138,59,55,234,140,59,55,252,142,59,18,18,145,59,199,43,147,59,87,73,149,59,194,106,151,59,6,144,153,59,37,185,155,59,30,230,157,59,241,22,160,59,158,75,162,59,37,132,164,59,134,192,166,59,192,0,169,59,212,68,171,59,193,140,173,59,137,216,175,59,41,40,178,59,163,123,180,59,245,210,182,59,33,46,185,59,38,141,187,59,4,240,189,59,186,86,192,59,73,193,194,59,177,47,197,59,242,161,199,59,10,24,202,59,251,145,204,59,196,15,207,59,102,145,209,59,223,22,212,59,49,160,214,59,90,45,217,59,91,190,219,59,51,83,222,59,227,235,224,59,107,136,227,59,201,40,230,59,255,204,232,59,12,117,235,59,240,32,238,59,171,208,240,59,61,132,243,59,165,59,246,59,228,246,248,59,250,181,251,59,229,120,254,59,212,159,0,60,32,5,2,60,87,108,3,60,121,213,4,60,134,64,6,60,126,173,7,60,96,28,9,60,45,141,10,60,229,255,11,60,136,116,13,60,21,235,14,60,141,99,16,60,239,221,17,60,59,90,19,60,114,216,20,60,147,88,22,60,158,218,23,60,147,94,25,60,115,228,26,60,60,108,28,60,240,245,29,60,141,129,31,60,20,15,33,60,133,158,34,60,224,47,36,60,36,195,37,60,82,88,39,60,105,239,40,60,106,136,42,60,84,35,44,60,40,192,45,60,229,94,47,60,139,255,48,60,26,162,50,60,146,70,52,60,243,236,53,60,61,149,55,60,112,63,57,60,140,235,58,60,145,153,60,60,126,73,62,60,84,251,63,60,18,175,65,60,185,100,67,60,72,28,69,60,192,213,70,60,31,145,72,60,103,78,74,60,151,13,76,60,175,206,77,60,176,145,79,60,152,86,81,60,103,29,83,60,31,230,84,60,190,176,86,60,69,125,88,60,179,75,90,60,9,28,92,60,71,238,93,60,107,194,95,60,119,152,97,60,106,112,99,60,68,74,101,60,5,38,103,60,173,3,105,60,60,227,106,60,178,196,108,60,14,168,110,60,81,141,112,60,123,116,114,60,139,93,116,60,130,72,118,60,95,53,120,60,34,36,122,60,203,20,124,60,90,7,126,60,208,251,127,60,22,249,128,60,54,245,129,60,74,242,130,60,80,240,131,60,73,239,132,60,53,239,133,60,19,240,134,60,229,241,135,60,169,244,136,60,95,248,137,60,8,253,138,60,164,2,140,60,50,9,141,60,178,16,142,60,37,25,143,60,139,34,144,60,226,44,145,60,44,56,146,60,104,68,147,60,150,81,148,60,182,95,149,60,201,110,150,60,205,126,151,60,196,143,152,60,172,161,153,60,135,180,154,60,83,200,155,60,17,221,156,60,193,242,157,60,98,9,159,60,245,32,160,60,122,57,161,60,241,82,162,60,89,109,163,60,178,136,164,60,253,164,165,60,57,194,166,60,103,224,167,60,134,255,168,60,151,31,170,60,152,64,171,60,139,98,172,60,111,133,173,60,68,169,174,60,10,206,175,60,193,243,176,60,105,26,178,60,2,66,179,60,139,106,180,60,6,148,181,60,113,190,182,60,205,233,183,60,26,22,185,60,87,67,186,60,133,113,187,60,163,160,188,60,177,208,189,60,177,1,191,60,160,51,192,60,128,102,193,60,80,154,194,60,16,207,195,60,193,4,197,60,97,59,198,60,242,114,199,60,114,171,200,60,227,228,201,60,67,31,203,60,147,90,204,60,211,150,205,60,3,212,206,60,34,18,208,60,49,81,209,60,48,145,210,60,30,210,211,60,252,19,213,60,201,86,214,60,133,154,215,60,49,223,216,60,204,36,218,60,86,107,219,60,208,178,220,60,56,251,221,60,144,68,223,60,214,142,224,60,12,218,225,60,48,38,227,60,67,115,228,60,69,193,229,60,54,16,231,60,21,96,232,60,227,176,233,60,160,2,235,60,75,85,236,60,228,168,237,60,108,253,238,60,226,82,240,60,70,169,241,60,153,0,243,60,218,88,244,60,8,178,245,60,37,12,247,60,48,103,248,60,41,195,249,60,15,32,251,60,228,125,252,60,166,220,253,60,85,60,255,60,121,78,0,61,63,255,0,61,123,176,1,61,46,98,2,61,88,20,3,61,248,198,3,61,15,122,4,61,156,45,5,61,161,225,5,61,27,150,6,61,12,75,7,61,116,0,8,61,82,182,8,61,167,108,9,61,113,35,10,61,179,218,10,61,106,146,11,61,152,74,12,61,60,3,13,61,87,188,13,61,231,117,14,61,238,47,15,61,107,234,15,61,94,165,16,61,199,96,17,61,166,28,18,61,251,216,18,61,198,149,19,61,7,83,20,61,190,16,21,61,234,206,21,61,141,141,22,61,165,76,23,61,52,12,24,61,56,204,24,61,177,140,25,61,161,77,26,61,6,15,27,61,224,208,27,61,48,147,28,61,246,85,29,61,49,25,30,61,226,220,30,61,8,161,31,61,164,101,32,61,181,42,33,61,59,240,33,61,55,182,34,61,168,124,35,61,142,67,36,61,233,10,37,61,186,210,37,61,255,154,38,61,186,99,39,61,234,44,40,61,143,246,40,61,168,192,41,61,55,139,42,61,59,86,43,61,180,33,44,61,161,237,44,61,4,186,45,61,219,134,46,61,38,84,47,61,231,33,48,61,28,240,48,61,198,190,49,61,229,141,50,61,120,93,51,61,127,45,52,61,251,253,52,61,236,206,53,61,81,160,54,61,42,114,55,61,120,68,56,61,58,23,57,61,112,234,57,61,27,190,58,61,58,146,59,61,204,102,60,61,211,59,61,61,79,17,62,61,62,231,62,61,161,189,63,61,120,148,64,61,195,107,65,61,130,67,66,61,181,27,67,61,92,244,67,61,118,205,68,61,4,167,69,61,6,129,70,61,124,91,71,61,101,54,72,61,194,17,73,61,146,237,73,61,214,201,74,61,141,166,75,61,184,131,76,61,86,97,77,61,104,63,78,61,236,29,79,61,229,252,79,61,80,220,80,61,46,188,81,61,128,156,82,61,69,125,83,61,125,94,84,61,40,64,85,61,69,34,86,61,214,4,87,61,218,231,87,61,81,203,88,61,58,175,89,61,150,147,90,61,101,120,91,61,167,93,92,61,91,67,93,61,130,41,94,61,28,16,95,61,40,247,95,61,167,222,96,61,152,198,97,61,251,174,98,61,209,151,99,61,25,129,100,61,212,106,101,61,0,85,102,61,159,63,103,61,176,42,104,61,51,22,105,61,41,2,106,61,144,238,106,61,105,219,107,61,180,200,108,61,113,182,109,61,160,164,110,61,65,147,111,61,84,130,112,61,216,113,113,61,206,97,114,61,54,82,115,61,15,67,116,61,89,52,117,61,22,38,118,61,67,24,119,61,226,10,120,61,243,253,120,61,117,241,121,61,104,229,122,61,204,217,123,61,162,206,124,61,232,195,125,61,160,185,126,61,201,175,127,61,49,83,128,61,183,206,128,61,117,74,129,61,107,198,129,61,154,66,130,61,1,191,130,61,160,59,131,61,120,184,131,61,136,53,132,61,209,178,132,61,81,48,133,61,10,174,133,61,251,43,134,61,37,170,134,61,134,40,135,61,32,167,135,61,242,37,136,61,252,164,136,61,62,36,137,61,184,163,137,61,106,35,138,61,84,163,138,61,118,35,139,61,209,163,139,61,99,36,140,61,45,165,140,61,46,38,141,61,104,167,141,61,218,40,142,61,131,170,142,61,100,44,143,61,125,174,143,61,206,48,144,61,86,179,144,61,23,54,145,61,14,185,145,61,62,60,146,61,165,191,146,61,67,67,147,61,26,199,147,61,39,75,148,61,109,207,148,61,234,83,149,61,158,216,149,61,138,93,150,61,173,226,150,61,7,104,151,61,153,237,151,61,98,115,152,61,99,249,152,61,155,127,153,61,10,6,154,61,176,140,154,61,142,19,155,61,163,154,155,61,239,33,156,61,114,169,156,61,44,49,157,61,29,185,157,61,69,65,158,61,165,201,158,61,59,82,159,61,8,219,159,61,13,100,160,61,72,237,160,61,186,118,161,61,99,0,162,61,67,138,162,61,90,20,163,61,167,158,163,61,43,41,164,61,230,179,164,61,216,62,165,61,0,202,165,61,95,85,166,61,245,224,166,61,193,108,167,61,196,248,167,61,254,132,168,61,110,17,169,61,20,158,169,61,241,42,170,61,4,184,170,61,78,69,171,61,206,210,171,61,133,96,172,61,113,238,172,61,149,124,173,61,238,10,174,61,126,153,174,61,67,40,175,61,63,183,175,61,114,70,176,61,218,213,176,61,120,101,177,61,77,245,177,61,88,133,178,61,152,21,179,61,15,166,179,61,187,54,180,61,158,199,180,61,182,88,181,61,4,234,181,61,137,123,182,61,67,13,183,61,50,159,183,61,88,49,184,61,179,195,184,61,68,86,185,61,11,233,185,61,7,124,186,61,57,15,187,61,160,162,187,61,61,54,188,61,16,202,188,61,24,94,189,61,85,242,189,61,200,134,190,61,112,27,191,61,78,176,191,61,97,69,192,61,170,218,192,61,39,112,193,61,218,5,194,61,194,155,194,61,224,49,195,61,50,200,195,61,186,94,196,61,119,245,196,61,104,140,197,61,143,35,198,61,235,186,198,61,124,82,199,61,66,234,199,61,61,130,200,61,108,26,201,61,209,178,201,61,106,75,202,61,57,228,202,61,59,125,203,61,115,22,204,61,224,175,204,61,129,73,205,61,86,227,205,61,97,125,206,61,159,23,207,61,19,178,207,61,187,76,208,61,151,231,208,61,168,130,209,61,237,29,210,61,103,185,210,61,21,85,211,61,248,240,211,61,14,141,212,61,89,41,213,61,216,197,213,61,140,98,214,61,115,255,214,61,143,156,215,61,223,57,216,61,99,215,216,61,27,117,217,61,7,19,218,61,38,177,218,61,122,79,219,61,2,238,219,61,189,140,220,61,173,43,221,61,208,202,221,61,39,106,222,61,178,9,223,61,112,169,223,61,98,73,224,61,136,233,224,61,226,137,225,61,111,42,226,61,47,203,226,61,35,108,227,61,74,13,228,61,165,174,228,61,52,80,229,61,245,241,229,61,234,147,230,61,19,54,231,61,110,216,231,61,253,122,232,61,191,29,233,61,180,192,233,61,221,99,234,61,56,7,235,61,199,170,235,61,136,78,236,61,125,242,236,61,164,150,237,61,255,58,238,61,140,223,238,61,76,132,239,61,63,41,240,61,101,206,240,61,189,115,241,61,73,25,242,61,7,191,242,61,247,100,243,61,26,11,244,61,112,177,244,61,248,87,245,61,179,254,245,61,160,165,246,61,192,76,247,61,18,244,247,61,151,155,248,61,77,67,249,61,55,235,249,61,82,147,250,61,159,59,251,61,31,228,251,61,209,140,252,61,181,53,253,61,203,222,253,61,19,136,254,61,141,49,255,61,57,219,255,61,140,66,0,62,148,151,0,62,181,236,0,62,238,65,1,62,65,151,1,62,173,236,1,62,49,66,2,62,206,151,2,62,132,237,2,62,83,67,3,62,59,153,3,62,59,239,3,62,84,69,4,62,134,155,4,62,209,241,4,62,52,72,5,62,176,158,5,62,68,245,5,62,242,75,6,62,183,162,6,62,150,249,6,62,141,80,7,62,156,167,7,62,196,254,7,62,5,86,8,62,94,173,8,62,207,4,9,62,89,92,9,62,252,179,9,62,183,11,10,62,138,99,10,62,118,187,10,62,122,19,11,62,150,107,11,62,203,195,11,62,24,28,12,62,125,116,12,62,250,204,12,62,144,37,13,62,62,126,13,62,4,215,13,62,227,47,14,62,217,136,14,62,232,225,14,62,15,59,15,62,78,148,15,62,165,237,15,62,20,71,16,62,155,160,16,62,58,250,16,62,241,83,17,62,193,173,17,62,168,7,18,62,167,97,18,62,190,187,18,62,237,21,19,62,51,112,19,62,146,202,19,62,9,37,20,62,151,127,20,62,61,218,20,62,251,52,21,62,209,143,21,62,190,234,21,62,195,69,22,62,224,160,22,62,21,252,22,62,97,87,23,62,197,178,23,62,64,14,24,62,211,105,24,62,126,197,24,62,64,33,25,62,26,125,25,62,11,217,25,62,20,53,26,62,52,145,26,62,108,237,26,62,187,73,27,62,34,166,27,62,160,2,28,62,53,95,28,62,226,187,28,62,166,24,29,62,129,117,29,62,116,210,29,62,126,47,30,62,159,140,30,62,215,233,30,62,39,71,31,62,141,164,31,62,11,2,32,62,160,95,32,62,76,189,32,62,16,27,33,62,234,120,33,62,219,214,33,62,228,52,34,62,3,147,34,62,58,241,34,62,135,79,35,62,235,173,35,62,103,12,36,62,249,106,36,62,162,201,36,62,98,40,37,62,56,135,37,62,38,230,37,62,42,69,38,62,69,164,38,62,119,3,39,62,192,98,39,62,31,194,39,62,149,33,40,62,33,129,40,62,197,224,40,62,126,64,41,62,79,160,41,62,54,0,42,62,51,96,42,62,72,192,42,62,114,32,43,62,179,128,43,62,11,225,43,62,121,65,44,62,253,161,44,62,152,2,45,62,73,99,45,62,16,196,45,62,238,36,46,62,226,133,46,62,237,230,46,62,13,72,47,62,68,169,47,62,145,10,48,62,245,107,48,62,110,205,48,62,254,46,49,62,163,144,49,62,95,242,49,62,49,84,50,62,25,182,50,62,23,24,51,62,43,122,51,62,85,220,51,62,148,62,52,62,234,160,52,62,86,3,53,62,216,101,53,62,111,200,53,62,28,43,54,62,223,141,54,62,184,240,54,62,167,83,55,62,171,182,55,62,197,25,56,62,245,124,56,62,59,224,56,62,150,67,57,62,7,167,57,62,141,10,58,62,41,110,58,62,219,209,58,62,162,53,59,62,126,153,59,62,112,253,59,62,120,97,60,62,149,197,60,62,199,41,61,62,15,142,61,62,108,242,61,62,222,86,62,62,102,187,62,62,3,32,63,62,181,132,63,62,125,233,63,62,90,78,64,62,75,179,64,62,83,24,65,62,111,125,65,62,160,226,65,62,231,71,66,62,66,173,66,62,179,18,67,62,57,120,67,62,211,221,67,62,131,67,68,62,71,169,68,62,33,15,69,62,15,117,69,62,18,219,69,62,42,65,70,62,87,167,70,62,153,13,71,62,240,115,71,62,91,218,71,62,219,64,72,62,111,167,72,62,25,14,73,62,215,116,73,62,169,219,73,62,144,66,74,62,140,169,74,62,157,16,75,62,193,119,75,62,251,222,75,62,73,70,76,62,171,173,76,62,34,21,77,62,173,124,77,62,76,228,77,62,0,76,78,62,200,179,78,62,164,27,79,62,149,131,79,62,154,235,79,62,179,83,80,62,225,187,80,62,34,36,81,62,120,140,81,62,225,244,81,62,95,93,82,62,241,197,82,62,151,46,83,62,81,151,83,62,31,0,84,62,1,105,84,62,247,209,84,62,0,59,85,62,30,164,85,62,79,13,86,62,149,118,86,62,238,223,86,62,91,73,87,62,219,178,87,62,112,28,88,62,24,134,88,62,211,239,88,62,163,89,89,62,134,195,89,62,124,45,90,62,134,151,90,62,164,1,91,62,213,107,91,62,26,214,91,62,114,64,92,62,221,170,92,62,92,21,93,62,239,127,93,62,148,234,93,62,77,85,94,62,26,192,94,62,249,42,95,62,236,149,95,62,242,0,96,62,11,108,96,62,55,215,96,62,119,66,97,62,202,173,97,62,47,25,98,62,168,132,98,62,52,240,98,62,210,91,99,62,132,199,99,62,73,51,100,62,32,159,100,62,11,11,101,62,8,119,101,62,24,227,101,62,59,79,102,62,113,187,102,62,186,39,103,62,21,148,103,62,131,0,104,62,3,109,104,62,151,217,104,62,60,70,105,62,245,178,105,62,192,31,106,62,157,140,106,62,141,249,106,62,144,102,107,62,165,211,107,62,204,64,108,62,6,174,108,62,82,27,109,62,176,136,109,62,33,246,109,62,164,99,110,62,57,209,110,62,225,62,111,62,154,172,111,62,102,26,112,62,68,136,112,62,52,246,112,62,55,100,113,62,75,210,113,62,113,64,114,62,169,174,114,62,243,28,115,62,80,139,115,62,190,249,115,62,61,104,116,62,207,214,116,62,115,69,117,62,40,180,117,62,239,34,118,62,200,145,118,62,179,0,119,62,175,111,119,62,189,222,119,62,221,77,120,62,14,189,120,62,80,44,121,62,165,155,121,62,10,11,122,62,130,122,122,62,10,234,122,62,164,89,123,62,80,201,123,62,13,57,124,62,219,168,124,62,186,24,125,62,171,136,125,62,173,248,125,62,192,104,126,62,228,216,126,62,26,73,127,62,96,185,127,62,220,20,128,62,16,77,128,62,77,133,128,62,147,189,128,62,225,245,128,62,55,46,129,62,150,102,129,62,253,158,129,62,109,215,129,62,229,15,130,62,102,72,130,62,238,128,130,62,128,185,130,62,25,242,130,62,187,42,131,62,102,99,131,62,24,156,131,62,211,212,131,62,150,13,132,62,98,70,132,62,53,127,132,62,17,184,132,62,245,240,132,62,226,41,133,62,214,98,133,62,211,155,133,62,216,212,133,62,229,13,134,62,250,70,134,62,23,128,134,62,61,185,134,62,106,242,134,62,160,43,135,62,221,100,135,62,35,158,135,62,112,215,135,62,198,16,136,62,35,74,136,62,137,131,136,62,247,188,136,62,108,246,136,62,233,47,137,62,111,105,137,62,252,162,137,62,145,220,137,62,46,22,138,62,211,79,138,62,127,137,138,62,52,195,138,62,240,252,138,62,180,54,139,62,128,112,139,62,84,170,139,62,47,228,139,62,18,30,140,62,253,87,140,62,239,145,140,62,233,203,140,62,235,5,141,62,245,63,141,62,6,122,141,62,31,180,141,62,63,238,141,62,103,40,142,62],"i8",N3,F.GLOBAL_BASE+530936),E3([150,98,142,62,205,156,142,62,12,215,142,62,82,17,143,62,159,75,143,62,245,133,143,62,81,192,143,62,181,250,143,62,33,53,144,62,147,111,144,62,14,170,144,62,143,228,144,62,25,31,145,62,169,89,145,62,65,148,145,62,224,206,145,62,134,9,146,62,52,68,146,62,233,126,146,62,165,185,146,62,105,244,146,62,52,47,147,62,6,106,147,62,223,164,147,62,191,223,147,62,167,26,148,62,150,85,148,62,139,144,148,62,136,203,148,62,140,6,149,62,152,65,149,62,170,124,149,62,195,183,149,62,227,242,149,62,11,46,150,62,57,105,150,62,111,164,150,62,171,223,150,62,238,26,151,62,56,86,151,62,138,145,151,62,226,204,151,62,65,8,152,62,167,67,152,62,19,127,152,62,135,186,152,62,1,246,152,62,130,49,153,62,10,109,153,62,153,168,153,62,47,228,153,62,203,31,154,62,110,91,154,62,24,151,154,62,200,210,154,62,127,14,155,62,61,74,155,62,2,134,155,62,205,193,155,62,158,253,155,62,119,57,156,62,85,117,156,62,59,177,156,62,39,237,156,62,25,41,157,62,18,101,157,62,18,161,157,62,24,221,157,62,36,25,158,62,55,85,158,62,80,145,158,62,112,205,158,62,150,9,159,62,195,69,159,62,246,129,159,62,47,190,159,62,111,250,159,62,180,54,160,62,1,115,160,62,83,175,160,62,172,235,160,62,11,40,161,62,112,100,161,62,219,160,161,62,77,221,161,62,196,25,162,62,66,86,162,62,198,146,162,62,81,207,162,62,225,11,163,62,119,72,163,62,20,133,163,62,182,193,163,62,95,254,163,62,13,59,164,62,194,119,164,62,125,180,164,62,61,241,164,62,4,46,165,62,208,106,165,62,162,167,165,62,123,228,165,62,89,33,166,62,61,94,166,62,39,155,166,62,23,216,166,62,12,21,167,62,7,82,167,62,8,143,167,62,15,204,167,62,28,9,168,62,46,70,168,62,70,131,168,62,100,192,168,62,136,253,168,62,177,58,169,62,223,119,169,62,20,181,169,62,78,242,169,62,141,47,170,62,211,108,170,62,29,170,170,62,109,231,170,62,195,36,171,62,31,98,171,62,127,159,171,62,230,220,171,62,81,26,172,62,194,87,172,62,57,149,172,62,181,210,172,62,54,16,173,62,189,77,173,62,73,139,173,62,218,200,173,62,113,6,174,62,13,68,174,62,174,129,174,62,85,191,174,62,0,253,174,62,177,58,175,62,103,120,175,62,35,182,175,62,227,243,175,62,169,49,176,62,116,111,176,62,68,173,176,62,25,235,176,62,243,40,177,62,210,102,177,62,182,164,177,62,160,226,177,62,142,32,178,62,129,94,178,62,121,156,178,62,119,218,178,62,121,24,179,62,128,86,179,62,140,148,179,62,157,210,179,62,178,16,180,62,205,78,180,62,236,140,180,62,16,203,180,62,57,9,181,62,103,71,181,62,154,133,181,62,209,195,181,62,13,2,182,62,78,64,182,62,147,126,182,62,221,188,182,62,44,251,182,62,127,57,183,62,215,119,183,62,52,182,183,62,149,244,183,62,251,50,184,62,101,113,184,62,212,175,184,62,71,238,184,62,191,44,185,62,59,107,185,62,188,169,185,62,65,232,185,62,202,38,186,62,88,101,186,62,235,163,186,62,129,226,186,62,28,33,187,62,188,95,187,62,95,158,187,62,7,221,187,62,180,27,188,62,100,90,188,62,25,153,188,62,210,215,188,62,143,22,189,62,80,85,189,62,22,148,189,62,223,210,189,62,173,17,190,62,127,80,190,62,85,143,190,62,47,206,190,62,13,13,191,62,239,75,191,62,213,138,191,62,191,201,191,62,173,8,192,62,159,71,192,62,149,134,192,62,143,197,192,62,141,4,193,62,143,67,193,62,148,130,193,62,158,193,193,62,171,0,194,62,188,63,194,62,209,126,194,62,234,189,194,62,6,253,194,62,38,60,195,62,74,123,195,62,113,186,195,62,157,249,195,62,204,56,196,62,254,119,196,62,52,183,196,62,110,246,196,62,171,53,197,62,236,116,197,62,49,180,197,62,121,243,197,62,196,50,198,62,19,114,198,62,102,177,198,62,188,240,198,62,21,48,199,62,114,111,199,62,210,174,199,62,54,238,199,62,157,45,200,62,7,109,200,62,117,172,200,62,230,235,200,62,90,43,201,62,209,106,201,62,76,170,201,62,202,233,201,62,75,41,202,62,208,104,202,62,88,168,202,62,226,231,202,62,112,39,203,62,1,103,203,62,149,166,203,62,45,230,203,62,199,37,204,62,100,101,204,62,4,165,204,62,168,228,204,62,78,36,205,62,248,99,205,62,164,163,205,62,83,227,205,62,5,35,206,62,186,98,206,62,114,162,206,62,45,226,206,62,234,33,207,62,171,97,207,62,110,161,207,62,52,225,207,62,253,32,208,62,200,96,208,62,150,160,208,62,103,224,208,62,59,32,209,62,17,96,209,62,234,159,209,62,198,223,209,62,164,31,210,62,133,95,210,62,104,159,210,62,78,223,210,62,55,31,211,62,33,95,211,62,15,159,211,62,255,222,211,62,241,30,212,62,230,94,212,62,221,158,212,62,215,222,212,62,211,30,213,62,209,94,213,62,210,158,213,62,213,222,213,62,219,30,214,62,226,94,214,62,236,158,214,62,248,222,214,62,7,31,215,62,24,95,215,62,42,159,215,62,63,223,215,62,87,31,216,62,112,95,216,62,139,159,216,62,169,223,216,62,200,31,217,62,234,95,217,62,14,160,217,62,51,224,217,62,91,32,218,62,133,96,218,62,176,160,218,62,222,224,218,62,13,33,219,62,63,97,219,62,114,161,219,62,167,225,219,62,222,33,220,62,23,98,220,62,82,162,220,62,142,226,220,62,204,34,221,62,12,99,221,62,78,163,221,62,146,227,221,62,215,35,222,62,29,100,222,62,102,164,222,62,176,228,222,62,252,36,223,62,73,101,223,62,152,165,223,62,232,229,223,62,58,38,224,62,142,102,224,62,227,166,224,62,57,231,224,62,145,39,225,62,234,103,225,62,69,168,225,62,161,232,225,62,255,40,226,62,94,105,226,62,190,169,226,62,32,234,226,62,131,42,227,62,231,106,227,62,76,171,227,62,179,235,227,62,27,44,228,62,132,108,228,62,238,172,228,62,90,237,228,62,199,45,229,62,52,110,229,62,163,174,229,62,19,239,229,62,133,47,230,62,247,111,230,62,106,176,230,62,222,240,230,62,83,49,231,62,202,113,231,62,65,178,231,62,185,242,231,62,50,51,232,62,172,115,232,62,38,180,232,62,162,244,232,62,31,53,233,62,156,117,233,62,26,182,233,62,153,246,233,62,25,55,234,62,153,119,234,62,26,184,234,62,156,248,234,62,31,57,235,62,162,121,235,62,38,186,235,62,170,250,235,62,47,59,236,62,181,123,236,62,59,188,236,62,194,252,236,62,73,61,237,62,209,125,237,62,89,190,237,62,226,254,237,62,107,63,238,62,245,127,238,62,127,192,238,62,10,1,239,62,149,65,239,62,32,130,239,62,171,194,239,62,55,3,240,62,196,67,240,62,80,132,240,62,221,196,240,62,106,5,241,62,247,69,241,62,132,134,241,62,18,199,241,62,160,7,242,62,45,72,242,62,187,136,242,62,74,201,242,62,216,9,243,62,102,74,243,62,244,138,243,62,131,203,243,62,17,12,244,62,159,76,244,62,46,141,244,62,188,205,244,62,74,14,245,62,216,78,245,62,102,143,245,62,244,207,245,62,129,16,246,62,15,81,246,62,156,145,246,62,41,210,246,62,182,18,247,62,67,83,247,62,207,147,247,62,91,212,247,62,231,20,248,62,115,85,248,62,254,149,248,62,136,214,248,62,19,23,249,62,157,87,249,62,38,152,249,62,175,216,249,62,56,25,250,62,192,89,250,62,72,154,250,62,207,218,250,62,86,27,251,62,220,91,251,62,97,156,251,62,230,220,251,62,106,29,252,62,238,93,252,62,113,158,252,62,243,222,252,62,117,31,253,62,245,95,253,62,118,160,253,62,245,224,253,62,116,33,254,62,241,97,254,62,110,162,254,62,235,226,254,62,102,35,255,62,224,99,255,62,90,164,255,62,211,228,255,62,165,18,0,63,225,50,0,63,27,83,0,63,86,115,0,63,144,147,0,63,201,179,0,63,2,212,0,63,58,244,0,63,114,20,1,63,169,52,1,63,224,84,1,63,22,117,1,63,76,149,1,63,129,181,1,63,181,213,1,63,233,245,1,63,28,22,2,63,78,54,2,63,128,86,2,63,178,118,2,63,226,150,2,63,18,183,2,63,65,215,2,63,112,247,2,63,157,23,3,63,203,55,3,63,247,87,3,63,35,120,3,63,78,152,3,63,120,184,3,63,161,216,3,63,202,248,3,63,242,24,4,63,25,57,4,63,63,89,4,63,101,121,4,63,137,153,4,63,173,185,4,63,208,217,4,63,243,249,4,63,20,26,5,63,52,58,5,63,84,90,5,63,115,122,5,63,145,154,5,63,173,186,5,63,202,218,5,63,229,250,5,63,255,26,6,63,24,59,6,63,48,91,6,63,72,123,6,63,94,155,6,63,116,187,6,63,136,219,6,63,155,251,6,63,174,27,7,63,191,59,7,63,208,91,7,63,223,123,7,63,237,155,7,63,250,187,7,63,7,220,7,63,18,252,7,63,28,28,8,63,37,60,8,63,44,92,8,63,51,124,8,63,57,156,8,63,61,188,8,63,64,220,8,63,67,252,8,63,68,28,9,63,68,60,9,63,66,92,9,63,64,124,9,63,60,156,9,63,55,188,9,63,49,220,9,63,41,252,9,63,33,28,10,63,23,60,10,63,12,92,10,63,255,123,10,63,242,155,10,63,227,187,10,63,211,219,10,63,193,251,10,63,174,27,11,63,154,59,11,63,133,91,11,63,110,123,11,63,86,155,11,63,60,187,11,63,33,219,11,63,5,251,11,63,231,26,12,63,200,58,12,63,168,90,12,63,134,122,12,63,98,154,12,63,62,186,12,63,23,218,12,63,240,249,12,63,199,25,13,63,156,57,13,63,112,89,13,63,66,121,13,63,19,153,13,63,227,184,13,63,176,216,13,63,125,248,13,63,72,24,14,63,17,56,14,63,216,87,14,63,159,119,14,63,99,151,14,63,38,183,14,63,232,214,14,63,167,246,14,63,101,22,15,63,34,54,15,63,221,85,15,63,150,117,15,63,78,149,15,63,4,181,15,63,184,212,15,63,106,244,15,63,27,20,16,63,202,51,16,63,120,83,16,63,36,115,16,63,206,146,16,63,118,178,16,63,28,210,16,63,193,241,16,63,100,17,17,63,6,49,17,63,165,80,17,63,67,112,17,63,223,143,17,63,121,175,17,63,17,207,17,63,167,238,17,63,60,14,18,63,206,45,18,63,95,77,18,63,238,108,18,63,123,140,18,63,7,172,18,63,144,203,18,63,23,235,18,63,157,10,19,63,32,42,19,63,162,73,19,63,34,105,19,63,159,136,19,63,27,168,19,63,149,199,19,63,13,231,19,63,131,6,20,63,247,37,20,63,104,69,20,63,216,100,20,63,70,132,20,63,178,163,20,63,27,195,20,63,131,226,20,63,233,1,21,63,76,33,21,63,174,64,21,63,13,96,21,63,106,127,21,63,197,158,21,63,31,190,21,63,117,221,21,63,202,252,21,63,29,28,22,63,109,59,22,63,188,90,22,63,8,122,22,63,82,153,22,63,153,184,22,63,223,215,22,63,34,247,22,63,100,22,23,63,162,53,23,63,223,84,23,63,26,116,23,63,82,147,23,63,136,178,23,63,187,209,23,63,237,240,23,63,28,16,24,63,73,47,24,63,115,78,24,63,155,109,24,63,193,140,24,63,228,171,24,63,6,203,24,63,36,234,24,63,65,9,25,63,91,40,25,63,115,71,25,63,136,102,25,63,155,133,25,63,171,164,25,63,185,195,25,63,197,226,25,63,206,1,26,63,213,32,26,63,217,63,26,63,219,94,26,63,218,125,26,63,215,156,26,63,210,187,26,63,202,218,26,63,191,249,26,63,178,24,27,63,162,55,27,63,144,86,27,63,123,117,27,63,100,148,27,63,74,179,27,63,46,210,27,63,15,241,27,63,237,15,28,63,201,46,28,63,162,77,28,63,121,108,28,63,77,139,28,63,31,170,28,63,237,200,28,63,185,231,28,63,131,6,29,63,74,37,29,63,14,68,29,63,207,98,29,63,142,129,29,63,74,160,29,63,3,191,29,63,186,221,29,63,110,252,29,63,31,27,30,63,205,57,30,63,121,88,30,63,34,119,30,63,200,149,30,63,107,180,30,63,12,211,30,63,170,241,30,63,69,16,31,63,221,46,31,63,114,77,31,63,5,108,31,63,148,138,31,63,33,169,31,63,171,199,31,63,50,230,31,63,182,4,32,63,56,35,32,63,182,65,32,63,50,96,32,63,170,126,32,63,32,157,32,63,147,187,32,63,3,218,32,63,112,248,32,63,218,22,33,63,65,53,33,63,165,83,33,63,6,114,33,63,100,144,33,63,191,174,33,63,23,205,33,63,108,235,33,63,190,9,34,63,13,40,34,63,89,70,34,63,162,100,34,63,232,130,34,63,43,161,34,63,107,191,34,63,167,221,34,63,225,251,34,63,24,26,35,63,75,56,35,63,123,86,35,63,168,116,35,63,211,146,35,63,249,176,35,63,29,207,35,63,62,237,35,63,91,11,36,63,118,41,36,63,141,71,36,63,161,101,36,63,177,131,36,63,191,161,36,63,201,191,36,63,208,221,36,63,212,251,36,63,213,25,37,63,210,55,37,63,204,85,37,63,195,115,37,63,183,145,37,63,167,175,37,63,148,205,37,63,126,235,37,63,101,9,38,63,72,39,38,63,40,69,38,63,4,99,38,63,221,128,38,63,179,158,38,63,134,188,38,63,85,218,38,63,33,248,38,63,233,21,39,63,174,51,39,63,112,81,39,63,46,111,39,63,233,140,39,63,160,170,39,63,84,200,39,63,4,230,39,63,178,3,40,63,91,33,40,63,1,63,40,63,164,92,40,63,67,122,40,63,223,151,40,63,120,181,40,63,12,211,40,63,158,240,40,63,43,14,41,63,182,43,41,63,60,73,41,63,192,102,41,63,63,132,41,63,187,161,41,63,52,191,41,63,169,220,41,63,26,250,41,63,136,23,42,63,242,52,42,63,89,82,42,63,188,111,42,63,28,141,42,63,119,170,42,63,208,199,42,63,36,229,42,63,117,2,43,63,194,31,43,63,12,61,43,63,82,90,43,63,148,119,43,63,211,148,43,63,14,178,43,63,69,207,43,63,120,236,43,63,168,9,44,63,212,38,44,63,252,67,44,63,33,97,44,63,66,126,44,63,95,155,44,63,120,184,44,63,142,213,44,63,159,242,44,63,173,15,45,63,184,44,45,63,190,73,45,63,193,102,45,63,191,131,45,63,186,160,45,63,177,189,45,63,165,218,45,63,148,247,45,63,128,20,46,63,103,49,46,63,75,78,46,63,43,107,46,63,7,136,46,63,224,164,46,63,180,193,46,63,132,222,46,63,81,251,46,63,26,24,47,63,222,52,47,63,159,81,47,63,92,110,47,63,21,139,47,63,202,167,47,63,123,196,47,63,40,225,47,63,209,253,47,63,118,26,48,63,23,55,48,63,180,83,48,63,77,112,48,63,226,140,48,63,115,169,48,63,0,198,48,63,137,226,48,63,14,255,48,63,142,27,49,63,11,56,49,63,132,84,49,63,248,112,49,63,105,141,49,63,214,169,49,63,62,198,49,63,162,226,49,63,2,255,49,63,95,27,50,63,182,55,50,63,10,84,50,63,90,112,50,63,166,140,50,63,237,168,50,63,48,197,50,63,111,225,50,63,170,253,50,63,225,25,51,63,19,54,51,63,66,82,51,63,108,110,51,63,146,138,51,63,180,166,51,63,209,194,51,63,234,222,51,63,0,251,51,63,16,23,52,63,29,51,52,63,37,79,52,63,41,107,52,63,41,135,52,63,37,163,52,63,28,191,52,63,15,219,52,63,253,246,52,63,232,18,53,63,206,46,53,63,176,74,53,63,141,102,53,63,102,130,53,63,59,158,53,63,11,186,53,63,215,213,53,63,159,241,53,63,98,13,54,63,33,41,54,63,220,68,54,63,146,96,54,63,68,124,54,63,241,151,54,63,154,179,54,63,63,207,54,63,223,234,54,63,123,6,55,63,18,34,55,63,165,61,55,63,52,89,55,63,190,116,55,63,67,144,55,63,196,171,55,63,65,199,55,63,185,226,55,63,45,254,55,63,156,25,56,63,7,53,56,63,109,80,56,63,207,107,56,63,44,135,56,63,133,162,56,63,217,189,56,63,40,217,56,63,115,244,56,63,186,15,57,63,252,42,57,63,57,70,57,63,114,97,57,63,166,124,57,63,214,151,57,63,1,179,57,63,40,206,57,63,74,233,57,63,103,4,58,63,128,31,58,63,148,58,58,63,163,85,58,63,174,112,58,63,180,139,58,63,182,166,58,63,179,193,58,63,171,220,58,63,159,247,58,63,142,18,59,63,120,45,59,63,94,72,59,63,63,99,59,63,27,126,59,63,243,152,59,63,197,179,59,63,148,206,59,63,93,233,59,63,34,4,60,63,226,30,60,63,157,57,60,63,84,84,60,63,5,111,60,63,178,137,60,63,91,164,60,63,254,190,60,63,157,217,60,63,55,244,60,63,204,14,61,63,93,41,61,63,232,67,61,63,111,94,61,63,241,120,61,63,110,147,61,63,231,173,61,63,91,200,61,63,201,226,61,63,51,253,61,63,152,23,62,63,249,49,62,63,84,76,62,63,171,102,62,63,252,128,62,63,73,155,62,63,145,181,62,63,212,207,62,63,19,234,62,63,76,4,63,63,128,30,63,63,176,56,63,63,219,82,63,63,0,109,63,63,33,135,63,63,61,161,63,63,84,187,63,63,102,213,63,63,115,239,63,63,123,9,64,63,127,35,64,63,125,61,64,63,118,87,64,63,106,113,64,63,90,139,64,63,68,165,64,63,42,191,64,63,10,217,64,63,229,242,64,63,188,12,65,63,141,38,65,63,90,64,65,63,33,90,65,63,228,115,65,63,161,141,65,63,89,167,65,63,13,193,65,63,187,218,65,63,100,244,65,63,8,14,66,63,167,39,66,63,65,65,66,63,214,90,66,63,102,116,66,63,241,141,66,63,119,167,66,63,248,192,66,63,115,218,66,63,234,243,66,63,91,13,67,63,199,38,67,63,47,64,67,63,145,89,67,63,238,114,67,63,69,140,67,63,152,165,67,63,230,190,67,63,46,216,67,63,113,241,67,63,175,10,68,63,232,35,68,63,28,61,68,63,75,86,68,63,116,111,68,63,153,136,68,63,184,161,68,63,210,186,68,63,230,211,68,63,246,236,68,63,0,6,69,63,5,31,69,63,5,56,69,63,0,81,69,63,245,105,69,63,230,130,69,63,209,155,69,63,182,180,69,63,151,205,69,63,114,230,69,63,72,255,69,63,25,24,70,63,229,48,70,63,171,73,70,63,108,98,70,63,40,123,70,63,222,147,70,63,143,172,70,63,59,197,70,63,226,221,70,63,131,246,70,63,31,15,71,63,182,39,71,63,71,64,71,63,211,88,71,63,90,113,71,63,220,137,71,63,88,162,71,63,207,186,71,63,64,211,71,63,172,235,71,63,19,4,72,63,116,28,72,63,209,52,72,63,39,77,72,63,121,101,72,63,197,125,72,63,11,150,72,63,77,174,72,63,137,198,72,63,191,222,72,63,240,246,72,63,28,15,73,63,66,39,73,63,99,63,73,63,127,87,73,63,149,111,73,63,166,135,73,63,177,159,73,63,183,183,73,63,183,207,73,63,178,231,73,63,168,255,73,63,152,23,74,63,131,47,74,63,104,71,74,63,72,95,74,63,34,119,74,63,247,142,74,63,199,166,74,63,145,190,74,63,85,214,74,63,20,238,74,63,206,5,75,63,130,29,75,63,49,53,75,63,218,76,75,63,126,100,75,63,28,124,75,63,181,147,75,63,72,171,75,63,213,194,75,63,93,218,75,63,224,241,75,63,93,9,76,63,213,32,76,63,71,56,76,63,179,79,76,63,26,103,76,63,124,126,76,63,216,149,76,63,46,173,76,63,127,196,76,63,202,219,76,63,16,243,76,63,80,10,77,63,139,33,77,63,192,56,77,63,240,79,77,63,26,103,77,63,62,126,77,63,93,149,77,63,118,172,77,63,137,195,77,63,151,218,77,63,160,241,77,63,163,8,78,63,160,31,78,63,151,54,78,63,137,77,78,63,118,100,78,63,93,123,78,63,62,146,78,63,25,169,78,63,239,191,78,63,192,214,78,63,138,237,78,63,79,4,79,63,15,27,79,63,201,49,79,63,125,72,79,63,43,95,79,63,212,117,79,63,119,140,79,63,21,163,79,63,172,185,79,63,63,208,79,63,203,230,79,63,82,253,79,63,211,19,80,63,79,42,80,63,197,64,80,63,53,87,80,63,159,109,80,63,4,132,80,63,99,154,80,63,189,176,80,63,16,199,80,63,94,221,80,63,167,243,80,63,233,9,81,63,38,32,81,63,93,54,81,63,143,76,81,63,187,98,81,63,225,120,81,63,1,143,81,63,28,165,81,63,48,187,81,63,64,209,81,63,73,231,81,63,77,253,81,63,75,19,82,63,67,41,82,63,53,63,82,63,34,85,82,63,9,107,82,63,234,128,82,63,198,150,82,63,155,172,82,63,107,194,82,63,53,216,82,63,250,237,82,63,185,3,83,63,113,25,83,63,37,47,83,63,210,68,83,63,121,90,83,63,27,112,83,63,183,133,83,63,77,155,83,63,222,176,83,63,104,198,83,63,237,219,83,63,108,241,83,63,230,6,84,63,89,28,84,63,199,49,84,63,46,71,84,63,145,92,84,63,237,113,84,63,67,135,84,63,148,156,84,63,223,177,84,63,35,199,84,63,99,220,84,63,156,241,84,63,207,6,85,63,253,27,85,63,37,49,85,63,71,70,85,63,99,91,85,63,121,112,85,63,138,133,85,63,149,154,85,63,153,175,85,63,152,196,85,63,146,217,85,63,133,238,85,63,114,3,86,63,90,24,86,63,60,45,86,63,24,66,86,63,238,86,86,63,190,107,86,63,136,128,86,63,76,149,86,63,11,170,86,63,196,190,86,63,118,211,86,63,35,232,86,63,203,252,86,63,108,17,87,63,7,38,87,63,156,58,87,63,44,79,87,63,182,99,87,63,58,120,87,63,183,140,87,63,47,161,87,63,162,181,87,63,14,202,87,63,116,222,87,63,213,242,87,63,47,7,88,63,132,27,88,63,211,47,88,63,28,68,88,63,95,88,88,63,156,108,88,63,211,128,88,63,4,149,88,63,47,169,88,63,85,189,88,63,116,209,88,63,142,229,88,63,162,249,88,63,175,13,89,63,183,33,89,63,185,53,89,63,181,73,89,63,171,93,89,63,155,113,89,63,134,133,89,63,106,153,89,63,72,173,89,63,33,193,89,63,243,212,89,63,192,232,89,63,135,252,89,63,71,16,90,63,2,36,90,63,183,55,90,63,102,75,90,63,15,95,90,63,178,114,90,63,79,134,90,63,230,153,90,63,119,173,90,63,3,193,90,63,136,212,90,63,7,232,90,63,129,251,90,63,244,14,91,63,98,34,91,63,201,53,91,63,43,73,91,63,135,92,91,63,220,111,91,63,44,131,91,63,118,150,91,63,186,169,91,63,248,188,91,63,47,208,91,63,97,227,91,63,141,246,91,63,179,9,92,63,212,28,92,63,238,47,92,63,2,67,92,63,16,86,92,63,24,105,92,63,26,124,92,63,23,143,92,63,13,162,92,63,253,180,92,63,232,199,92,63,204,218,92,63,171,237,92,63,131,0,93,63,86,19,93,63,34,38,93,63,233,56,93,63,169,75,93,63,100,94,93,63,24,113,93,63,199,131,93,63,112,150,93,63,18,169,93,63,175,187,93,63,70,206,93,63,215,224,93,63,97,243,93,63,230,5,94,63,101,24,94,63,222,42,94,63,81,61,94,63,190,79,94,63,36,98,94,63,133,116,94,63,224,134,94,63,53,153,94,63,132,171,94,63,205,189,94,63,16,208,94,63,77,226,94,63,132,244,94,63,181,6,95,63,224,24,95,63,5,43,95,63,36,61,95,63,61,79,95,63,80,97,95,63,93,115,95,63,101,133,95,63,102,151,95,63,97,169,95,63,86,187,95,63,69,205,95,63,46,223,95,63,18,241,95,63,239,2,96,63,198,20,96,63,151,38,96,63,98,56,96,63,40,74,96,63,231,91,96,63,160,109,96,63,84,127,96,63,1,145,96,63,168,162,96,63,73,180,96,63,229,197,96,63,122,215,96,63,10,233,96,63,147,250,96,63,22,12,97,63,148,29,97,63,11,47,97,63,125,64,97,63,232,81,97,63,77,99,97,63,173,116,97,63,6,134,97,63,90,151,97,63,167,168,97,63,239,185,97,63,48,203,97,63,108,220,97,63,162,237,97,63,209,254,97,63,251,15,98,63,30,33,98,63,60,50,98,63,84,67,98,63,101,84,98,63,113,101,98,63,119,118,98,63,119,135,98,63,112,152,98,63,100,169,98,63,82,186,98,63,58,203,98,63,28,220,98,63,247,236,98,63,205,253,98,63,157,14,99,63,103,31,99,63,43,48,99,63,233,64,99,63,161,81,99,63,83,98,99,63,255,114,99,63,165,131,99,63,69,148,99,63,224,164,99,63,116,181,99,63,2,198,99,63,138,214,99,63,13,231,99,63,137,247,99,63,255,7,100,63,112,24,100,63,218,40,100,63,62,57,100,63,157,73,100,63,246,89,100,63,72,106,100,63,149,122,100,63,219,138,100,63,28,155,100,63,87,171,100,63,140,187,100,63,186,203,100,63,227,219,100,63,6,236,100,63,35,252,100,63,58,12,101,63,75,28,101,63,86,44,101,63,91,60,101,63,91,76,101,63,84,92,101,63,71,108,101,63,53,124,101,63,28,140,101,63,254,155,101,63,217,171,101,63,175,187,101,63,126,203,101,63,72,219,101,63,12,235,101,63,202,250,101,63,130,10,102,63,52,26,102,63,224,41,102,63,134,57,102,63,38,73,102,63,193,88,102,63,85,104,102,63,227,119,102,63,108,135,102,63,238,150,102,63,107,166,102,63,226,181,102,63,83,197,102,63,190,212,102,63,35,228,102,63,130,243,102,63,219,2,103,63,46,18,103,63,124,33,103,63,195,48,103,63,5,64,103,63,64,79,103,63,118,94,103,63,166,109,103,63,208,124,103,63,244,139,103,63,18,155,103,63,42,170,103,63,61,185,103,63,73,200,103,63,80,215,103,63,80,230,103,63,75,245,103,63,64,4,104,63,47,19,104,63,24,34,104,63,251,48,104,63,217,63,104,63,176,78,104,63,130,93,104,63,78,108,104,63,20,123,104,63,212,137,104,63,142,152,104,63,66,167,104,63,240,181,104,63,153,196,104,63,60,211,104,63,217,225,104,63,112,240,104,63,1,255,104,63,140,13,105,63,17,28,105,63,145,42,105,63,11,57,105,63,127,71,105,63,237,85,105,63,85,100,105,63,183,114,105,63,20,129,105,63,106,143,105,63,187,157,105,63,6,172,105,63,75,186,105,63,139,200,105,63,196,214,105,63,248,228,105,63,38,243,105,63,78,1,106,63,112,15,106,63,141,29,106,63,163,43,106,63,180,57,106,63,191,71,106,63,196,85,106,63,196,99,106,63,189,113,106,63,177,127,106,63,159,141,106,63,135,155,106,63,106,169,106,63,70,183,106,63,29,197,106,63,238,210,106,63,186,224,106,63,127,238,106,63,63,252,106,63,249,9,107,63,173,23,107,63,91,37,107,63,4,51,107,63,167,64,107,63,68,78,107,63,219,91,107,63,109,105,107,63,249,118,107,63,127,132,107,63,255,145,107,63,122,159,107,63,238,172,107,63,94,186,107,63,199,199,107,63,42,213,107,63,136,226,107,63,224,239,107,63,51,253,107,63,128,10,108,63,198,23,108,63,8,37,108,63,67,50,108,63,121,63,108,63,169,76,108,63,211,89,108,63,248,102,108,63,23,116,108,63,48,129,108,63,68,142,108,63,82,155,108,63,90,168,108,63,92,181,108,63,89,194,108,63,80,207,108,63,65,220,108,63,45,233,108,63,19,246,108,63,243,2,109,63,206,15,109,63,163,28,109,63,114,41,109,63,60,54,109,63,0,67,109,63,190,79,109,63,119,92,109,63,42,105,109,63,215,117,109,63,127,130,109,63,33,143,109,63,189,155,109,63,84,168,109,63,229,180,109,63,113,193,109,63,247,205,109,63,119,218,109,63,242,230,109,63,103,243,109,63,214,255,109,63,64,12,110,63,164,24,110,63,3,37,110,63,91,49,110,63,175,61,110,63,253,73,110,63,69,86,110,63,135,98,110,63,196,110,110,63,252,122,110,63,45,135,110,63,90,147,110,63,128,159,110,63,161,171,110,63,189,183,110,63,211,195,110,63,227,207,110,63,238,219,110,63,243,231,110,63,243,243,110,63,237,255,110,63,226,11,111,63,209,23,111,63,186,35,111,63,158,47,111,63,125,59,111,63,85,71,111,63,41,83,111,63,247,94,111,63,191,106,111,63,130,118,111,63,63,130,111,63,247,141,111,63,169,153,111,63,86,165,111,63,253,176,111,63,159,188,111,63,59,200,111,63,210,211,111,63,99,223,111,63,239,234,111,63,117,246,111,63,246,1,112,63,114,13,112,63,231,24,112,63,88,36,112,63,195,47,112,63,40,59,112,63,137,70,112,63,227,81,112,63,56,93,112,63,136,104,112,63,210,115,112,63,23,127,112,63,87,138,112,63,145,149,112,63,197,160,112,63,244,171,112,63,30,183,112,63,66,194,112,63,97,205,112,63,123,216,112,63,143,227,112,63,157,238,112,63,167,249,112,63,171,4,113,63,169,15,113,63,162,26,113,63,150,37,113,63,132,48,113,63,109,59,113,63,81,70,113,63,47,81,113,63,8,92,113,63,219,102,113,63,170,113,113,63,114,124,113,63,54,135,113,63,244,145,113,63,173,156,113,63,96,167,113,63,14,178,113,63,183,188,113,63,91,199,113,63,249,209,113,63,146,220,113,63,37,231,113,63,179,241,113,63,60,252,113,63,192,6,114,63,62,17,114,63,183,27,114,63,43,38,114,63,154,48,114,63,3,59,114,63,103,69,114,63,197,79,114,63,31,90,114,63,115,100,114,63,194,110,114,63,11,121,114,63,79,131,114,63,143,141,114,63,200,151,114,63,253,161,114,63,44,172,114,63,87,182,114,63,123,192,114,63,155,202,114,63,182,212,114,63,203,222,114,63,219,232,114,63,230,242,114,63,235,252,114,63,236,6,115,63,231,16,115,63,221,26,115,63,206,36,115,63,186,46,115,63,160,56,115,63,130,66,115,63,94,76,115,63,53,86,115,63,7,96,115,63,212,105,115,63,155,115,115,63,94,125,115,63,27,135,115,63,211,144,115,63,134,154,115,63,52,164,115,63,221,173,115,63,128,183,115,63,31,193,115,63,184,202,115,63,77,212,115,63,220,221,115,63,102,231,115,63,235,240,115,63,107,250,115,63,230,3,116,63,92,13,116,63,204,22,116,63,56,32,116,63,159,41,116,63,0,51,116,63,93,60,116,63,180,69,116,63,6,79,116,63,84,88,116,63,156,97,116,63,223,106,116,63,29,116,116,63,87,125,116,63,139,134,116,63,186,143,116,63,228,152,116,63,9,162,116,63,41,171,116,63,68,180,116,63,91,189,116,63,108,198,116,63,120,207,116,63,127,216,116,63,129,225,116,63,127,234,116,63,119,243,116,63,106,252,116,63,89,5,117,63,66,14,117,63,38,23,117,63,6,32,117,63,225,40,117,63,182,49,117,63,135,58,117,63,83,67,117,63,26,76,117,63,220,84,117,63,153,93,117,63,81,102,117,63,4,111,117,63,179,119,117,63,92,128,117,63,1,137,117,63,160,145,117,63,59,154,117,63,209,162,117,63,98,171,117,63,239,179,117,63,118,188,117,63,249,196,117,63,118,205,117,63,239,213,117,63,99,222,117,63,210,230,117,63,61,239,117,63,162,247,117,63,3,0,118,63,95,8,118,63,182,16,118,63,8,25,118,63,86,33,118,63,159,41,118,63,227,49,118,63,34,58,118,63,92,66,118,63,146,74,118,63,195,82,118,63,239,90,118,63,22,99,118,63,57,107,118,63,86,115,118,63,112,123,118,63,132,131,118,63,148,139,118,63,158,147,118,63,165,155,118,63,166,163,118,63,163,171,118,63,155,179,118,63,142,187,118,63,125,195,118,63,103,203,118,63,76,211,118,63,45,219,118,63,9,227,118,63,224,234,118,63,178,242,118,63,128,250,118,63,74,2,119,63,14,10,119,63,206,17,119,63,137,25,119,63,64,33,119,63,242,40,119,63,160,48,119,63,72,56,119,63,237,63,119,63,140,71,119,63,39,79,119,63,190,86,119,63,79,94,119,63,220,101,119,63,101,109,119,63,233,116,119,63,105,124,119,63,228,131,119,63,90,139,119,63,204,146,119,63,57,154,119,63,162,161,119,63,6,169,119,63,101,176,119,63,192,183,119,63,23,191,119,63,105,198,119,63,182,205,119,63,255,212,119,63,68,220,119,63,132,227,119,63,191,234,119,63,246,241,119,63,41,249,119,63,87,0,120,63,129,7,120,63,166,14,120,63,198,21,120,63,227,28,120,63,250,35,120,63,14,43,120,63,28,50,120,63,39,57,120,63,45,64,120,63,46,71,120,63,44,78,120,63,36,85,120,63,25,92,120,63,9,99,120,63,244,105,120,63,219,112,120,63,190,119,120,63,156,126,120,63,118,133,120,63,76,140,120,63,29,147,120,63,234,153,120,63,179,160,120,63,119,167,120,63,55,174,120,63,242,180,120,63,169,187,120,63,92,194,120,63,11,201,120,63,181,207,120,63,91,214,120,63,252,220,120,63,154,227,120,63,51,234,120,63,199,240,120,63,88,247,120,63,228,253,120,63,108,4,121,63,240,10,121,63,111,17,121,63,234,23,121,63,97,30,121,63,211,36,121,63,66,43,121,63,172,49,121,63,18,56,121,63,116,62,121,63,209,68,121,63,42,75,121,63,127,81,121,63,208,87,121,63,29,94,121,63,101,100,121,63,170,106,121,63,234,112,121,63,38,119,121,63,93,125,121,63,145,131,121,63,193,137,121,63,236,143,121,63,19,150,121,63,54,156,121,63,85,162,121,63,112,168,121,63,134,174,121,63,153,180,121,63,167,186,121,63,178,192,121,63,184,198,121,63,186,204,121,63,184,210,121,63,178,216,121,63,168,222,121,63,154,228,121,63,135,234,121,63,113,240,121,63,87,246,121,63,56,252,121,63,22,2,122,63,239,7,122,63,197,13,122,63,150,19,122,63,100,25,122,63,45,31,122,63,243,36,122,63,180,42,122,63,113,48,122,63,43,54,122,63,224,59,122,63,146,65,122,63,63,71,122,63,233,76,122,63,142,82,122,63,48,88,122,63,206,93,122,63,103,99,122,63,253,104,122,63,143,110,122,63,29,116,122,63,167,121,122,63,45,127,122,63,175,132,122,63,45,138,122,63,168,143,122,63,30,149,122,63,145,154,122,63,255,159,122,63,106,165,122,63,209,170,122,63,52,176,122,63,147,181,122,63,239,186,122,63,70,192,122,63,154,197,122,63,234,202,122,63,54,208,122,63,126,213,122,63,194,218,122,63,3,224,122,63,64,229,122,63,121,234,122,63,174,239,122,63,223,244,122,63,13,250,122,63,55,255,122,63,93,4,123,63,127,9,123,63,157,14,123,63,184,19,123,63,207,24,123,63,227,29,123,63,242,34,123,63,254,39,123,63,6,45,123,63,10,50,123,63,11,55,123,63,8,60,123,63,1,65,123,63,247,69,123,63,233,74,123,63,215,79,123,63,193,84,123,63,168,89,123,63,139,94,123,63,107,99,123,63,71,104,123,63,31,109,123,63,243,113,123,63,196,118,123,63,146,123,123,63,91,128,123,63,33,133,123,63,228,137,123,63,163,142,123,63,94,147,123,63,22,152,123,63,202,156,123,63,122,161,123,63,39,166,123,63,208,170,123,63,118,175,123,63,24,180,123,63,183,184,123,63,82,189,123,63,233,193,123,63,125,198,123,63,14,203,123,63,155,207,123,63,36,212,123,63,170,216,123,63,45,221,123,63,172,225,123,63,39,230,123,63,159,234,123,63,19,239,123,63,132,243,123,63,242,247,123,63,92,252,123,63,195,0,124,63,38,5,124,63,133,9,124,63,226,13,124,63,58,18,124,63,144,22,124,63,226,26,124,63,48,31,124,63,123,35,124,63,195,39,124,63,7,44,124,63,72,48,124,63,134,52,124,63,192,56,124,63,247,60,124,63,42,65,124,63,90,69,124,63,135,73,124,63,176,77,124,63,214,81,124,63,249,85,124,63,24,90,124,63,52,94,124,63,77,98,124,63,98,102,124,63,116,106,124,63,131,110,124,63,142,114,124,63,150,118,124,63,155,122,124,63,157,126,124,63,155,130,124,63,150,134,124,63,142,138,124,63,130,142,124,63,116,146,124,63,98,150,124,63,77,154,124,63,52,158,124,63,24,162,124,63,249,165,124,63,215,169,124,63,178,173,124,63,137,177,124,63,94,181,124,63,47,185,124,63,253,188,124,63,199,192,124,63,143,196,124,63,83,200,124,63,20,204,124,63,211,207,124,63,141,211,124,63,69,215,124,63,250,218,124,63,171,222,124,63,90,226,124,63,5,230,124,63,173,233,124,63,82,237,124,63,244,240,124,63,147,244,124,63,46,248,124,63,199,251,124,63,93,255,124,63,239,2,125,63,127,6,125,63,11,10,125,63,148,13,125,63,27,17,125,63,158,20,125,63,30,24,125,63,155,27,125,63,21,31,125,63,140,34,125,63,0,38,125,63,114,41,125,63,224,44,125,63,75,48,125,63,179,51,125,63,24,55,125,63,122,58,125,63,217,61,125,63,54,65,125,63,143,68,125,63,229,71,125,63,56,75,125,63,137,78,125,63,214,81,125,63,33,85,125,63,104,88,125,63,173,91,125,63,239,94,125,63,46,98,125,63,106,101,125,63,163,104,125,63,217,107,125,63,12,111,125,63,61,114,125,63,106,117,125,63,149,120,125,63,189,123,125,63,226,126,125,63,4,130,125,63,36,133,125,63,64,136,125,63,90,139,125,63,112,142,125,63,133,145,125,63,150,148,125,63,164,151,125,63,176,154,125,63,185,157,125,63,191,160,125,63,194,163,125,63,194,166,125,63,192,169,125,63,187,172,125,63,179,175,125,63,168,178,125,63,155,181,125,63,139,184,125,63,120,187,125,63,99,190,125,63,74,193,125,63,48,196,125,63,18,199,125,63,241,201,125,63,206,204,125,63,169,207,125,63,128,210,125,63,85,213,125,63,39,216,125,63,247,218,125,63,196,221,125,63,142,224,125,63,85,227,125,63,26,230,125,63,220,232,125,63,156,235,125,63,89,238,125,63,19,241,125,63,203,243,125,63,128,246,125,63,51,249,125,63,227,251,125,63,144,254,125,63,59,1,126,63,227,3,126,63,137,6,126,63,44,9,126,63,204,11,126,63,106,14,126,63,6,17,126,63,158,19,126,63,53,22,126,63,200,24,126,63,90,27,126,63,232,29,126,63,116,32,126,63,254,34,126,63,133,37,126,63,10,40,126,63,140,42,126,63,12,45,126,63,137,47,126,63,4,50,126,63,124,52,126,63,242,54,126,63,101,57,126,63,214,59,126,63,68,62,126,63,176,64,126,63,26,67,126,63,129,69,126,63,230,71,126,63,72,74,126,63,168,76,126,63,5,79,126,63,96,81,126,63,185,83,126,63,15,86,126,63,99,88,126,63,181,90,126,63,4,93,126,63,81,95,126,63,155,97,126,63,227,99,126,63,41,102,126,63,108,104,126,63,173,106,126,63,236,108,126,63,40,111,126,63,98,113,126,63,154,115,126,63,208,117,126,63,3,120,126,63,51,122,126,63,98,124,126,63,142,126,126,63,184,128,126,63,224,130,126,63,5,133,126,63,40,135,126,63,73,137,126,63,104,139,126,63,132,141,126,63,159,143,126,63,183,145,126,63,204,147,126,63,224,149,126,63,241,151,126,63,0,154,126,63,13,156,126,63,24,158,126,63,32,160,126,63,38,162,126,63,42,164,126,63,44,166,126,63,44,168,126,63,41,170,126,63,37,172,126,63,30,174,126,63,21,176,126,63,10,178,126,63,253,179,126,63,238,181,126,63,220,183,126,63,201,185,126,63,179,187,126,63,155,189,126,63,129,191,126,63,101,193,126,63,71,195,126,63,39,197,126,63,5,199,126,63,224,200,126,63,186,202,126,63,145,204,126,63,103,206,126,63,58,208,126,63,12,210,126,63,219,211,126,63,168,213,126,63,115,215,126,63,61,217,126,63,4,219,126,63,201,220,126,63,140,222,126,63,77,224,126,63,12,226,126,63,202,227,126,63,133,229,126,63,62,231,126,63,245,232,126,63,170,234,126,63,94,236,126,63,15,238,126,63,190,239,126,63,108,241,126,63,23,243,126,63,193,244,126,63,104,246,126,63,14,248,126,63,178,249,126,63,84,251,126,63,243,252,126,63,145,254,126,63,46,0,127,63,200,1,127,63,96,3,127,63,247,4,127,63,139,6,127,63,30,8,127,63,175,9,127,63,62,11,127,63,203,12,127,63,86,14,127,63,223,15,127,63,103,17,127,63,237,18,127,63,112,20,127,63,242,21,127,63,115,23,127,63,241,24,127,63,110,26,127,63,233,27,127,63,98,29,127,63,217,30,127,63,78,32,127,63,194,33,127,63,52,35,127,63,164,36,127,63,18,38,127,63,127,39,127,63,234,40,127,63,83,42,127,63,186,43,127,63,32,45,127,63,131,46,127,63,230,47,127,63,70,49,127,63,165,50,127,63,2,52,127,63,93,53,127,63,182,54,127,63,14,56,127,63,100,57,127,63,185,58,127,63,12,60,127,63,93,61,127,63,172,62,127,63,250,63,127,63,70,65,127,63,145,66,127,63,217,67,127,63,33,69,127,63,102,70,127,63,170,71,127,63,236,72,127,63,45,74,127,63,108,75,127,63,169,76,127,63,229,77,127,63,31,79,127,63,88,80,127,63,143,81,127,63,196,82,127,63,248,83,127,63,42,85,127,63,91,86,127,63,138,87,127,63,184,88,127,63,228,89,127,63,14,91,127,63,55,92,127,63,94,93,127,63,132,94,127,63,169,95,127,63,203,96,127,63,237,97,127,63,12,99,127,63,42,100,127,63,71,101,127,63,98,102,127,63,124,103,127,63,148,104,127,63,171,105,127,63,192,106,127,63,212,107,127,63,230,108,127,63,247,109,127,63,6,111,127,63,20,112,127,63,33,113,127,63,44,114,127,63,53,115,127,63,61,116,127,63,68,117,127,63,73,118,127,63,77,119,127,63,79,120,127,63,80,121,127,63,80,122,127,63,78,123,127,63,75,124,127,63,70,125,127,63,64,126,127,63,57,127,127,63,48,128,127,63,38,129,127,63,27,130,127,63,14,131,127,63,0,132,127,63,240,132,127,63,223,133,127,63,205,134,127,63,185,135,127,63,164,136,127,63,142,137,127,63,118,138,127,63,93,139,127,63,67,140,127,63,40,141,127,63,11,142,127,63,237,142,127,63,205,143,127,63,173,144,127,63,139,145,127,63,103,146,127,63,67,147,127,63,29,148,127,63,246,148,127,63,205,149,127,63,164,150,127,63,121,151,127,63,77,152,127,63,31,153,127,63,241,153,127,63,193,154,127,63,144,155,127,63,93,156,127,63,42,157,127,63,245,157,127,63,191,158,127,63,136,159,127,63,79,160,127,63,22,161,127,63,219,161,127,63,159,162,127,63,98,163,127,63,36,164,127,63,228,164,127,63,163,165,127,63,98,166,127,63,31,167,127,63,219,167,127,63,149,168,127,63,79,169,127,63,7,170,127,63,190,170,127,63,117,171,127,63,42,172,127,63,221,172,127,63,144,173,127,63,66,174,127,63,242,174,127,63,162,175,127,63,80,176,127,63,253,176,127,63,169,177,127,63,85,178,127,63,254,178,127,63,167,179,127,63,79,180,127,63,246,180,127,63,156,181,127,63,64,182,127,63,228,182,127,63,134,183,127,63,40,184,127,63,200,184,127,63,103,185,127,63,6,186,127,63,163,186,127,63,63,187,127,63,219,187,127,63,117,188,127,63,14,189,127,63,166,189,127,63,61,190,127,63,212,190,127,63,105,191,127,63,253,191,127,63,144,192,127,63,34,193,127,63,180,193,127,63,68,194,127,63,211,194,127,63,98,195,127,63,239,195,127,63,123,196,127,63,7,197,127,63,145,197,127,63,27,198,127,63,163,198,127,63,43,199,127,63,178,199,127,63,56,200,127,63,189,200,127,63,65,201,127,63,196,201,127,63,70,202,127,63,199,202,127,63,71,203,127,63,199,203,127,63,69,204,127,63,195,204,127,63,64,205,127,63,187,205,127,63,54,206,127,63,177,206,127,63,42,207,127,63,162,207,127,63,26,208,127,63,144,208,127,63,6,209,127,63,123,209,127,63,239,209,127,63,98,210,127,63,213,210,127,63,70,211,127,63,183,211,127,63,39,212,127,63,150,212,127,63,4,213,127,63,114,213,127,63],"i8",N3,F.GLOBAL_BASE+541176),E3([222,213,127,63,74,214,127,63,181,214,127,63,32,215,127,63,137,215,127,63,242,215,127,63,89,216,127,63,192,216,127,63,39,217,127,63,140,217,127,63,241,217,127,63,85,218,127,63,184,218,127,63,27,219,127,63,124,219,127,63,221,219,127,63,61,220,127,63,157,220,127,63,251,220,127,63,89,221,127,63,183,221,127,63,19,222,127,63,111,222,127,63,202,222,127,63,36,223,127,63,126,223,127,63,215,223,127,63,47,224,127,63,134,224,127,63,221,224,127,63,51,225,127,63,137,225,127,63,221,225,127,63,49,226,127,63,133,226,127,63,215,226,127,63,41,227,127,63,122,227,127,63,203,227,127,63,27,228,127,63,106,228,127,63,185,228,127,63,7,229,127,63,84,229,127,63,161,229,127,63,237,229,127,63,56,230,127,63,131,230,127,63,205,230,127,63,23,231,127,63,96,231,127,63,168,231,127,63,239,231,127,63,54,232,127,63,125,232,127,63,195,232,127,63,8,233,127,63,76,233,127,63,144,233,127,63,212,233,127,63,23,234,127,63,89,234,127,63,154,234,127,63,219,234,127,63,28,235,127,63,92,235,127,63,155,235,127,63,218,235,127,63,24,236,127,63,86,236,127,63,147,236,127,63,207,236,127,63,11,237,127,63,71,237,127,63,130,237,127,63,188,237,127,63,246,237,127,63,47,238,127,63,104,238,127,63,160,238,127,63,216,238,127,63,15,239,127,63,69,239,127,63,123,239,127,63,177,239,127,63,230,239,127,63,27,240,127,63,79,240,127,63,130,240,127,63,182,240,127,63,232,240,127,63,26,241,127,63,76,241,127,63,125,241,127,63,174,241,127,63,222,241,127,63,14,242,127,63,61,242,127,63,108,242,127,63,154,242,127,63,200,242,127,63,245,242,127,63,34,243,127,63,79,243,127,63,123,243,127,63,166,243,127,63,209,243,127,63,252,243,127,63,38,244,127,63,80,244,127,63,121,244,127,63,162,244,127,63,203,244,127,63,243,244,127,63,27,245,127,63,66,245,127,63,105,245,127,63,143,245,127,63,181,245,127,63,219,245,127,63,0,246,127,63,37,246,127,63,73,246,127,63,109,246,127,63,145,246,127,63,180,246,127,63,215,246,127,63,250,246,127,63,28,247,127,63,62,247,127,63,95,247,127,63,128,247,127,63,160,247,127,63,193,247,127,63,225,247,127,63,0,248,127,63,31,248,127,63,62,248,127,63,93,248,127,63,123,248,127,63,152,248,127,63,182,248,127,63,211,248,127,63,240,248,127,63,12,249,127,63,40,249,127,63,68,249,127,63,95,249,127,63,122,249,127,63,149,249,127,63,175,249,127,63,202,249,127,63,227,249,127,63,253,249,127,63,22,250,127,63,47,250,127,63,71,250,127,63,96,250,127,63,120,250,127,63,143,250,127,63,166,250,127,63,190,250,127,63,212,250,127,63,235,250,127,63,1,251,127,63,23,251,127,63,44,251,127,63,66,251,127,63,87,251,127,63,108,251,127,63,128,251,127,63,148,251,127,63,168,251,127,63,188,251,127,63,208,251,127,63,227,251,127,63,246,251,127,63,8,252,127,63,27,252,127,63,45,252,127,63,63,252,127,63,81,252,127,63,98,252,127,63,115,252,127,63,132,252,127,63,149,252,127,63,165,252,127,63,182,252,127,63,198,252,127,63,213,252,127,63,229,252,127,63,244,252,127,63,3,253,127,63,18,253,127,63,33,253,127,63,47,253,127,63,62,253,127,63,76,253,127,63,89,253,127,63,103,253,127,63,116,253,127,63,130,253,127,63,143,253,127,63,155,253,127,63,168,253,127,63,181,253,127,63,193,253,127,63,205,253,127,63,217,253,127,63,228,253,127,63,240,253,127,63,251,253,127,63,6,254,127,63,17,254,127,63,28,254,127,63,38,254,127,63,49,254,127,63,59,254,127,63,69,254,127,63,79,254,127,63,89,254,127,63,98,254,127,63,108,254,127,63,117,254,127,63,126,254,127,63,135,254,127,63,144,254,127,63,152,254,127,63,161,254,127,63,169,254,127,63,177,254,127,63,185,254,127,63,193,254,127,63,201,254,127,63,208,254,127,63,216,254,127,63,223,254,127,63,230,254,127,63,237,254,127,63,244,254,127,63,251,254,127,63,2,255,127,63,8,255,127,63,14,255,127,63,21,255,127,63,27,255,127,63,33,255,127,63,39,255,127,63,45,255,127,63,50,255,127,63,56,255,127,63,61,255,127,63,67,255,127,63,72,255,127,63,77,255,127,63,82,255,127,63,87,255,127,63,92,255,127,63,96,255,127,63,101,255,127,63,105,255,127,63,110,255,127,63,114,255,127,63,118,255,127,63,122,255,127,63,126,255,127,63,130,255,127,63,134,255,127,63,138,255,127,63,142,255,127,63,145,255,127,63,149,255,127,63,152,255,127,63,155,255,127,63,159,255,127,63,162,255,127,63,165,255,127,63,168,255,127,63,171,255,127,63,174,255,127,63,176,255,127,63,179,255,127,63,182,255,127,63,184,255,127,63,187,255,127,63,189,255,127,63,192,255,127,63,194,255,127,63,196,255,127,63,198,255,127,63,201,255,127,63,203,255,127,63,205,255,127,63,207,255,127,63,209,255,127,63,210,255,127,63,212,255,127,63,214,255,127,63,216,255,127,63,217,255,127,63,219,255,127,63,220,255,127,63,222,255,127,63,223,255,127,63,225,255,127,63,226,255,127,63,227,255,127,63,229,255,127,63,230,255,127,63,231,255,127,63,232,255,127,63,233,255,127,63,234,255,127,63,235,255,127,63,236,255,127,63,237,255,127,63,238,255,127,63,239,255,127,63,240,255,127,63,241,255,127,63,241,255,127,63,242,255,127,63,243,255,127,63,244,255,127,63,244,255,127,63,245,255,127,63,246,255,127,63,246,255,127,63,247,255,127,63,247,255,127,63,248,255,127,63,248,255,127,63,249,255,127,63,249,255,127,63,250,255,127,63,250,255,127,63,250,255,127,63,251,255,127,63,251,255,127,63,251,255,127,63,252,255,127,63,252,255,127,63,252,255,127,63,253,255,127,63,253,255,127,63,253,255,127,63,253,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,69,78,67,79,68,69,82,0,79,103,103,86,111,114,98,105,115,69,110,99,111,100,101,114,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"i8",N3,F.GLOBAL_BASE+551416);var y8=F.alignMemory(E3(12,"i8",Ns),8);K4(y8%8==0);function oB(i){Y9[y8]=Y9[i],Y9[y8+1]=Y9[i+1],Y9[y8+2]=Y9[i+2],Y9[y8+3]=Y9[i+3]}function dr(i){Y9[y8]=Y9[i],Y9[y8+1]=Y9[i+1],Y9[y8+2]=Y9[i+2],Y9[y8+3]=Y9[i+3],Y9[y8+4]=Y9[i+4],Y9[y8+5]=Y9[i+5],Y9[y8+6]=Y9[i+6],Y9[y8+7]=Y9[i+7]}var zi=sB,JA=J$,Ys=0;function Js(i){return _9[Ys>>2]=i,i}var R2={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function pp(i){switch(i){case 30:return tB;case 85:return Yr/tB;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:return typeof navigator=="object"&&navigator.hardwareConcurrency||1}return Js(R2.EINVAL),-1}o._memset=Bv;var Qp=!0;o._strlen=Iv,o._strcat=Ev,o._bitshift64Shl=wv;function Pk(){o.abort()}o._i64Add=mv;var Ok=Te,qk={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"},Tn={ttys:[],init:function(){},shutdown:function(){},register:function(i,$){Tn.ttys[i]={input:[],output:[],ops:$},k.registerDevice(i,Tn.stream_ops)},stream_ops:{open:function(i){var $=Tn.ttys[i.node.rdev];if(!$)throw new k.ErrnoError(R2.ENODEV);i.tty=$,i.seekable=!1},close:function(i){i.tty.ops.flush(i.tty)},flush:function(i){i.tty.ops.flush(i.tty)},read:function(i,$,h,d,P){if(!i.tty||!i.tty.ops.get_char)throw new k.ErrnoError(R2.ENXIO);for(var e=0,W0=0;W00?$=d.slice(0,P).toString("utf-8"):$=null}else typeof window<"u"&&typeof window.prompt=="function"?($=window.prompt("Input: "),$!==null&&($+=` +`)});var E0=void 0,m0=void 0;o.read=function($,h){$=m0.normalize($);var d=E0.readFileSync($);return!d&&$!=m0.resolve($)&&($=path.join(__dirname,"..","src",$),d=E0.readFileSync($)),d&&!h&&(d=d.toString()),d},o.readBinary=function($){return o.read($,!0)},o.load=function($){f1(read($))},o.thisProgram||(process.argv.length>1?o.thisProgram=process.argv[1].replace(/\\/g,"/"):o.thisProgram="unknown-program"),o.arguments=process.argv.slice(2),typeof module<"u"&&o!=null,process.on("uncaughtException",function(i){if(!(i instanceof VA))throw i}),o.inspect=function(){return"[Emscripten Module object]"}}else if(n0)o.print||(o.print=print),typeof printErr<"u"&&(o.printErr=printErr),typeof read<"u"?o.read=read:o.read=function(){throw"no read() available (jsc?)"},o.readBinary=function($){if(typeof readbuffer=="function")return new Uint8Array(readbuffer($));var h=read($,"binary");return K4(typeof h=="object"),h},typeof scriptArgs<"u"?o.arguments=scriptArgs:typeof arguments<"u"&&(o.arguments=arguments);else if(g||S){if(o.read=function($){var h=new XMLHttpRequest;return h.open("GET",$,!1),h.send(null),h.responseText},typeof arguments<"u"&&(o.arguments=arguments),typeof console<"u")o.print||(o.print=function($){console.log($)}),o.printErr||(o.printErr=function($){console.log($)});else{var g0=!1;o.print||(o.print=g0&&typeof dump<"u"?function(i){dump(i)}:function(i){})}S&&(o.load=importScripts),typeof o.setWindowTitle>"u"&&(o.setWindowTitle=function(i){document.title=i})}else throw"Unknown runtime environment. Where are we?";function f1(i){eval.call(null,i)}!o.load&&o.read&&(o.load=function($){f1(o.read($))}),o.print||(o.print=function(){}),o.printErr||(o.printErr=o.print),o.arguments||(o.arguments=[]),o.thisProgram||(o.thisProgram="./this.program"),o.print=o.print,o.printErr=o.printErr,o.preRun=[],o.postRun=[];for(var l in r)r.hasOwnProperty(l)&&(o[l]=r[l]);var x={setTempRet0:function(i){V6=i},getTempRet0:function(){return V6},stackSave:function(){return pi},stackRestore:function(i){pi=i},getNativeTypeSize:function(i){switch(i){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(i[i.length-1]==="*")return x.QUANTUM_SIZE;if(i[0]==="i"){var $=parseInt(i.substr(1));return K4($%8===0),$/8}else return 0}}},getNativeFieldSize:function(i){return Math.max(x.getNativeTypeSize(i),x.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(i,$){return $==="double"||$==="i64"?i&7&&(K4((i&7)===4),i+=4):K4((i&3)===0),i},getAlignSize:function(i,$,h){return!h&&(i=="i64"||i=="double")?8:i?Math.min($||(i?x.getNativeFieldSize(i):0),x.QUANTUM_SIZE):Math.min($,8)},dynCall:function(i,$,h){return h&&h.length?(h.splice||(h=Array.prototype.slice.call(h)),h.splice(0,0,$),o["dynCall_"+i].apply(null,h)):o["dynCall_"+i].call(null,$)},functionPointers:[],addFunction:function(i){for(var $=0;$=Os){var h=iB();if(!h)return Fi=$,0}return $},alignMemory:function(i,$){var h=i=Math.ceil(i/($||16))*($||16);return h},makeBigInt:function(i,$,h){var d=h?+(i>>>0)+ +($>>>0)*4294967296:+(i>>>0)+ +($|0)*4294967296;return d},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};o.Runtime=x;var X0=0,F0=!1,b1=0,l2=0,y1,Y2,T2,V2,i3,r3,A0,y5,T3,$3,w6,s6,o9,V4,r4,V6,We,Or,Vi,OA,Ts,Rm,_$,XC,Gk;function K4(i,$){i||Vs("Assertion failed: "+$)}var Uk=this;function eB(i){var $=o["_"+i];if(!$)try{$=void("_"+i)}catch{}return K4($,"Cannot call unknown function "+i+" (perhaps LLVM optimizations or closure removed it?)"),$}var x$,qA;(function(){var i={stackSave:function(){x.stackSave()},stackRestore:function(){x.stackRestore()},arrayToC:function(Z0){var t1=x.stackAlloc(Z0.length);return YA(Z0,t1),t1},stringToC:function(Z0){var t1=0;return Z0!=null&&Z0!==0&&(t1=x.stackAlloc((Z0.length<<2)+1),Hs(Z0,t1)),t1}},$={string:i.stringToC,array:i.arrayToC};qA=function(t1,b2,s,A1,C){var w5=eB(t1),p2=[],T5=0;if(A1)for(var x9=0;x9>0]=$;break;case"i8":Y9[i>>0]=$;break;case"i16":qr[i>>1]=$;break;case"i32":_9[i>>2]=$;break;case"i64":V4=[$>>>0,(s6=$,+J$(s6)>=1?s6>0?(M7(+Te(s6/4294967296),4294967295)|0)>>>0:~~+Ct((s6-+(~~s6>>>0))/4294967296)>>>0:0)],_9[i>>2]=V4[0],_9[i+4>>2]=V4[1];break;case"float":K$[i>>2]=$;break;case"double":M$[i>>3]=$;break;default:Vs("invalid type for setValue: "+h)}}o.setValue=ph;function ur(i,$,h){switch($=$||"i8",$.charAt($.length-1)==="*"&&($="i32"),$){case"i1":return Y9[i>>0];case"i8":return Y9[i>>0];case"i16":return qr[i>>1];case"i32":return _9[i>>2];case"i64":return _9[i>>2];case"float":return K$[i>>2];case"double":return M$[i>>3];default:Vs("invalid type for setValue: "+$)}return null}o.getValue=ur;var HA=0,Fm=1,Ns=2,Qh=3,N3=4;o.ALLOC_NORMAL=HA,o.ALLOC_STACK=Fm,o.ALLOC_STATIC=Ns,o.ALLOC_DYNAMIC=Qh,o.ALLOC_NONE=N3;function E3(i,$,h,d){var P,e;typeof i=="number"?(P=!0,e=i):(P=!1,e=i.length);var Z0=typeof $=="string"?$:null,t1;if(h==N3?t1=d:t1=[_h,x.stackAlloc,x.staticAlloc,x.dynamicAlloc][h===void 0?Ns:h](Math.max(e,Z0?1:$.length)),P){var d=t1,b2;for(K4((t1&3)==0),b2=t1+(e&-4);d>2]=0;for(b2=t1+e;d>0]=0;return t1}if(Z0==="i8")return i.subarray||i.slice?Qi.set(i,t1):Qi.set(new Uint8Array(i),t1),t1;for(var s=0,A1,C,w5;s>0],h|=d,!(d==0&&!$||(P++,$&&P==$)););$||($=P);var e="";if(h<128){for(var Z0=1024,t1;$>0;)t1=String.fromCharCode.apply(String,Qi.subarray(i,i+Math.min($,Z0))),e=e?e+t1:t1,i+=Z0,$-=Z0;return e}return o.UTF8ToString(i)}o.Pointer_stringify=L$;function R$(i){for(var $="";;){var h=Y9[i++>>0];if(!h)return $;$+=String.fromCharCode(h)}}o.AsciiToString=R$;function $p(i,$){return H$(i,$,!1)}o.stringToAscii=$p;function Gs(i,$){for(var h,d,P,e,Z0,t1,b2="";;){if(h=i[$++],!h)return b2;if(!(h&128)){b2+=String.fromCharCode(h);continue}if(d=i[$++]&63,(h&224)==192){b2+=String.fromCharCode((h&31)<<6|d);continue}if(P=i[$++]&63,(h&240)==224?h=(h&15)<<12|d<<6|P:(e=i[$++]&63,(h&248)==240?h=(h&7)<<18|d<<12|P<<6|e:(Z0=i[$++]&63,(h&252)==248?h=(h&3)<<24|d<<18|P<<12|e<<6|Z0:(t1=i[$++]&63,h=(h&1)<<30|d<<24|P<<18|e<<12|Z0<<6|t1))),h<65536)b2+=String.fromCharCode(h);else{var s=h-65536;b2+=String.fromCharCode(55296|s>>10,56320|s&1023)}}}o.UTF8ArrayToString=Gs;function Mm(i){return Gs(Qi,i)}o.UTF8ToString=Mm;function Rn(i,$,h,d){if(!(d>0))return 0;for(var P=h,e=h+d-1,Z0=0;Z0=55296&&t1<=57343&&(t1=65536+((t1&1023)<<10)|i.charCodeAt(++Z0)&1023),t1<=127){if(h>=e)break;$[h++]=t1}else if(t1<=2047){if(h+1>=e)break;$[h++]=192|t1>>6,$[h++]=128|t1&63}else if(t1<=65535){if(h+2>=e)break;$[h++]=224|t1>>12,$[h++]=128|t1>>6&63,$[h++]=128|t1&63}else if(t1<=2097151){if(h+3>=e)break;$[h++]=240|t1>>18,$[h++]=128|t1>>12&63,$[h++]=128|t1>>6&63,$[h++]=128|t1&63}else if(t1<=67108863){if(h+4>=e)break;$[h++]=248|t1>>24,$[h++]=128|t1>>18&63,$[h++]=128|t1>>12&63,$[h++]=128|t1>>6&63,$[h++]=128|t1&63}else{if(h+5>=e)break;$[h++]=252|t1>>30,$[h++]=128|t1>>24&63,$[h++]=128|t1>>18&63,$[h++]=128|t1>>12&63,$[h++]=128|t1>>6&63,$[h++]=128|t1&63}}return $[h]=0,h-P}o.stringToUTF8Array=Rn;function Tm(i,$,h){return Rn(i,Qi,$,h)}o.stringToUTF8=Tm;function Us(i){for(var $=0,h=0;h=55296&&d<=57343&&(d=65536+((d&1023)<<10)|i.charCodeAt(++h)&1023),d<=127?++$:d<=2047?$+=2:d<=65535?$+=3:d<=2097151?$+=4:d<=67108863?$+=5:$+=6}return $}o.lengthBytesUTF8=Us;function Nm(i){for(var $=0,h="";;){var d=qr[i+$*2>>1];if(d==0)return h;++$,h+=String.fromCharCode(d)}}o.UTF16ToString=Nm;function lp(i,$,h){if(h===void 0&&(h=2147483647),h<2)return 0;h-=2;for(var d=$,P=h>1]=Z0,$+=2}return qr[$>>1]=0,$-d}o.stringToUTF16=lp;function cp(i){return i.length*2}o.lengthBytesUTF16=cp;function gp(i){for(var $=0,h="";;){var d=_9[i+$*4>>2];if(d==0)return h;if(++$,d>=65536){var P=d-65536;h+=String.fromCharCode(55296|P>>10,56320|P&1023)}else h+=String.fromCharCode(d)}}o.UTF32ToString=gp;function hp(i,$,h){if(h===void 0&&(h=2147483647),h<4)return 0;for(var d=$,P=d+h-4,e=0;e=55296&&Z0<=57343){var t1=i.charCodeAt(++e);Z0=65536+((Z0&1023)<<10)|t1&1023}if(_9[$>>2]=Z0,$+=4,$+4>P)break}return _9[$>>2]=0,$-d}o.stringToUTF32=hp;function up(i){for(var $=0,h=0;h=55296&&d<=57343&&++h,$+=4}return $}o.lengthBytesUTF32=up;function fp(i){var $=!!o.___cxa_demangle;if($)try{var h=_h(i.length);Hs(i.substr(1),h);var d=_h(4),P=o.___cxa_demangle(h,0,0,d);if(ur(d,"i32")===0&&P)return L$(P)}catch{}finally{h&&AB(h),d&&AB(d),P&&AB(P)}var e=3,Z0={v:"void",b:"bool",c:"char",s:"short",i:"int",l:"long",f:"float",d:"double",w:"wchar_t",a:"signed char",h:"unsigned char",t:"unsigned short",j:"unsigned int",m:"unsigned long",x:"long long",y:"unsigned long long",z:"..."},t1=[],b2=!0;function s(p2){p2&&o.print(p2),o.print(i);for(var T5="",x9=0;x9"}else O9=K9;e:for(;e0;){var Ir=i[e++];if(Ir in Z0)I4.push(Z0[Ir]);else switch(Ir){case"P":I4.push(C(!0,1,!0)[0]+"*");break;case"R":I4.push(C(!0,1,!0)[0]+"&");break;case"L":{e++;var Z$=i.indexOf("E",e),h8=Z$-e;I4.push(i.substr(e,h8)),e+=h8+2;break}case"A":{var h8=parseInt(i.substr(e));if(e+=h8.toString().length,i[e]!=="_")throw"?";e++,I4.push(C(!0,1,!0)[0]+" ["+h8+"]");break}case"E":break e;default:O9+="?"+Ir;break e}}return!x9&&I4.length===1&&I4[0]==="void"&&(I4=[]),p2?(O9&&I4.push(O9+"?"),I4):O9+w8()}var w5=i;try{if(i=="Object._main"||i=="_main")return"main()";if(typeof i=="number"&&(i=L$(i)),i[0]!=="_"||i[1]!=="_"||i[2]!=="Z")return i;switch(i[3]){case"n":return"operator new()";case"d":return"operator delete()"}w5=C()}catch{w5+="?"}return w5.indexOf("?")>=0&&!$&&x.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),w5}function dp(i){return i.replace(/__Z[\w\d_]+/g,function($){var h=fp($);return $===h?$:$+" ["+h+"]"})}function Ip(){var i=new Error;if(!i.stack){try{throw new Error(0)}catch($){i=$}if(!i.stack)return"(no stack trace available)"}return i.stack.toString()}function Gm(){return dp(Ip())}o.stackTrace=Gm;var tB=4096;function yh(i){return i%4096>0&&(i+=4096-i%4096),i}var Um,Y9,Qi,qr,F$,_9,V$,K$,M$,Ps=0,Hr=0,T$=!1,wh=0,pi=0,N$=0,G$=0,Fi=0;function iB(){Vs("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+Os+", (2) compile with ALLOW_MEMORY_GROWTH which adjusts the size at runtime but prevents some optimizations, or (3) set Module.TOTAL_MEMORY before the program runs.")}for(var Pm=o.TOTAL_STACK||5242880,Os=o.TOTAL_MEMORY||16777216,Yr=64*1024;Yr0;){var $=i.shift();if(typeof $=="function"){$();continue}var h=$.func;typeof h=="number"?$.arg===void 0?x.dynCall("v",h):x.dynCall("vi",h,[$.arg]):h($.arg===void 0?null:$.arg)}}var Om=[],P$=[],kh=[],O$=[],vh=[],Sh=!1,Fn=!1;function bh(){if(o.preRun)for(typeof o.preRun=="function"&&(o.preRun=[o.preRun]);o.preRun.length;)F7(o.preRun.shift());U$(Om)}function qs(){Sh||(Sh=!0,U$(P$))}function Ep(){U$(kh)}function qm(){U$(O$),Fn=!0}function q$(){if(o.postRun)for(typeof o.postRun=="function"&&(o.postRun=[o.postRun]);o.postRun.length;)rB(o.postRun.shift());U$(vh)}function F7(i){Om.unshift(i)}o.addOnPreRun=o.addOnPreRun=F7;function mp(i){P$.unshift(i)}o.addOnInit=o.addOnInit=mp;function Cp(i){kh.unshift(i)}o.addOnPreMain=o.addOnPreMain=Cp;function Bp(i){O$.unshift(i)}o.addOnExit=o.addOnExit=Bp;function rB(i){vh.unshift(i)}o.addOnPostRun=o.addOnPostRun=rB;function Jr(i,$,h){var d=h>0?h:Us(i)+1,P=new Array(d),e=Rn(i,P,0,P.length);return $&&(P.length=e),P}o.intArrayFromString=Jr;function nB(i){for(var $=[],h=0;h255&&(d&=255),$.push(String.fromCharCode(d))}return $.join("")}o.intArrayToString=nB;function Hs(i,$,h){for(var d=Jr(i,h),P=0;P>0]=e,P=P+1}}o.writeStringToMemory=Hs;function YA(i,$){for(var h=0;h>0]=i[h]}o.writeArrayToMemory=YA;function H$(i,$,h){for(var d=0;d>0]=i.charCodeAt(d);h||(Y9[$>>0]=0)}o.writeAsciiToMemory=H$;function Hm(i,$,h){return i>=0?i:$<=32?2*Math.abs(1<<$-1)+i:Math.pow(2,$)+i}function Y$(i,$,h){if(i<=0)return i;var d=$<=32?Math.abs(1<<$-1):Math.pow(2,$-1);return i>=d&&($<=32||i>d)&&(i=-2*d+i),i}(!Math.imul||Math.imul(4294967295,5)!==-5)&&(Math.imul=function($,h){var d=$>>>16,P=$&65535,e=h>>>16,Z0=h&65535;return P*Z0+(d*Z0+P*e<<16)|0}),Math.imul=Math.imul,Math.clz32||(Math.clz32=function(i){i=i>>>0;for(var $=0;$<32;$++)if(i&1<<31-$)return $;return 32}),Math.clz32=Math.clz32;var J$=Math.abs,sB=Math.cos,Ki=Math.sin,x0=Math.tan,j0=Math.acos,C1=Math.asin,S2=Math.atan,W3=Math.atan2,g9=Math.exp,J9=Math.log,h6=Math.sqrt,Ct=Math.ceil,Te=Math.floor,je=Math.pow,Se=Math.imul,h9=Math.fround,M7=Math.min,Ti=Math.clz32,Bt=0,T7=null,Ni=null;function Gi(i){return i}function Mn(i){Bt++,o.monitorRunDependencies&&o.monitorRunDependencies(Bt)}o.addRunDependency=Mn;function fr(i){if(Bt--,o.monitorRunDependencies&&o.monitorRunDependencies(Bt),Bt==0&&(T7!==null&&(clearInterval(T7),T7=null),Ni)){var $=Ni;Ni=null,$()}}o.removeRunDependency=fr,o.preloadedImages={},o.preloadedAudios={};var Ym=null,Dh=[];Ps=8,Hr=Ps+553552,P$.push(),E3([0,0,0,0,1,0,0,0,3,0,0,0,7,0,0,0,15,0,0,0,31,0,0,0,63,0,0,0,127,0,0,0,255,0,0,0,255,1,0,0,255,3,0,0,255,7,0,0,255,15,0,0,255,31,0,0,255,63,0,0,255,127,0,0,255,255,0,0,255,255,1,0,255,255,3,0,255,255,7,0,255,255,15,0,255,255,31,0,255,255,63,0,255,255,127,0,255,255,255,0,255,255,255,1,255,255,255,3,255,255,255,7,255,255,255,15,255,255,255,31,255,255,255,63,255,255,255,127,255,255,255,255,0,0,0,0,0,0,0,0,183,29,193,4,110,59,130,9,217,38,67,13,220,118,4,19,107,107,197,23,178,77,134,26,5,80,71,30,184,237,8,38,15,240,201,34,214,214,138,47,97,203,75,43,100,155,12,53,211,134,205,49,10,160,142,60,189,189,79,56,112,219,17,76,199,198,208,72,30,224,147,69,169,253,82,65,172,173,21,95,27,176,212,91,194,150,151,86,117,139,86,82,200,54,25,106,127,43,216,110,166,13,155,99,17,16,90,103,20,64,29,121,163,93,220,125,122,123,159,112,205,102,94,116,224,182,35,152,87,171,226,156,142,141,161,145,57,144,96,149,60,192,39,139,139,221,230,143,82,251,165,130,229,230,100,134,88,91,43,190,239,70,234,186,54,96,169,183,129,125,104,179,132,45,47,173,51,48,238,169,234,22,173,164,93,11,108,160,144,109,50,212,39,112,243,208,254,86,176,221,73,75,113,217,76,27,54,199,251,6,247,195,34,32,180,206,149,61,117,202,40,128,58,242,159,157,251,246,70,187,184,251,241,166,121,255,244,246,62,225,67,235,255,229,154,205,188,232,45,208,125,236,119,112,134,52,192,109,71,48,25,75,4,61,174,86,197,57,171,6,130,39,28,27,67,35,197,61,0,46,114,32,193,42,207,157,142,18,120,128,79,22,161,166,12,27,22,187,205,31,19,235,138,1,164,246,75,5,125,208,8,8,202,205,201,12,7,171,151,120,176,182,86,124,105,144,21,113,222,141,212,117,219,221,147,107,108,192,82,111,181,230,17,98,2,251,208,102,191,70,159,94,8,91,94,90,209,125,29,87,102,96,220,83,99,48,155,77,212,45,90,73,13,11,25,68,186,22,216,64,151,198,165,172,32,219,100,168,249,253,39,165,78,224,230,161,75,176,161,191,252,173,96,187,37,139,35,182,146,150,226,178,47,43,173,138,152,54,108,142,65,16,47,131,246,13,238,135,243,93,169,153,68,64,104,157,157,102,43,144,42,123,234,148,231,29,180,224,80,0,117,228,137,38,54,233,62,59,247,237,59,107,176,243,140,118,113,247,85,80,50,250,226,77,243,254,95,240,188,198,232,237,125,194,49,203,62,207,134,214,255,203,131,134,184,213,52,155,121,209,237,189,58,220,90,160,251,216,238,224,12,105,89,253,205,109,128,219,142,96,55,198,79,100,50,150,8,122,133,139,201,126,92,173,138,115,235,176,75,119,86,13,4,79,225,16,197,75,56,54,134,70,143,43,71,66,138,123,0,92,61,102,193,88,228,64,130,85,83,93,67,81,158,59,29,37,41,38,220,33,240,0,159,44,71,29,94,40,66,77,25,54,245,80,216,50,44,118,155,63,155,107,90,59,38,214,21,3,145,203,212,7,72,237,151,10,255,240,86,14,250,160,17,16,77,189,208,20,148,155,147,25,35,134,82,29,14,86,47,241,185,75,238,245,96,109,173,248,215,112,108,252,210,32,43,226,101,61,234,230,188,27,169,235,11,6,104,239,182,187,39,215,1,166,230,211,216,128,165,222,111,157,100,218,106,205,35,196,221,208,226,192,4,246,161,205,179,235,96,201,126,141,62,189,201,144,255,185,16,182,188,180,167,171,125,176,162,251,58,174,21,230,251,170,204,192,184,167,123,221,121,163,198,96,54,155,113,125,247,159,168,91,180,146,31,70,117,150,26,22,50,136,173,11,243,140,116,45,176,129,195,48,113,133,153,144,138,93,46,141,75,89,247,171,8,84,64,182,201,80,69,230,142,78,242,251,79,74,43,221,12,71,156,192,205,67,33,125,130,123,150,96,67,127,79,70,0,114,248,91,193,118,253,11,134,104,74,22,71,108,147,48,4,97,36,45,197,101,233,75,155,17,94,86,90,21,135,112,25,24,48,109,216,28,53,61,159,2,130,32,94,6,91,6,29,11,236,27,220,15,81,166,147,55,230,187,82,51,63,157,17,62,136,128,208,58,141,208,151,36,58,205,86,32,227,235,21,45,84,246,212,41,121,38,169,197,206,59,104,193,23,29,43,204,160,0,234,200,165,80,173,214,18,77,108,210,203,107,47,223,124,118,238,219,193,203,161,227,118,214,96,231,175,240,35,234,24,237,226,238,29,189,165,240,170,160,100,244,115,134,39,249,196,155,230,253,9,253,184,137,190,224,121,141,103,198,58,128,208,219,251,132,213,139,188,154,98,150,125,158,187,176,62,147,12,173,255,151,177,16,176,175,6,13,113,171,223,43,50,166,104,54,243,162,109,102,180,188,218,123,117,184,3,93,54,181,180,64,247,177,1,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,0,0,0,0,88,105,112,104,46,79,114,103,32,108,105,98,86,111,114,98,105,115,32,73,32,50,48,49,53,48,49,48,53,32,40,226,155,132,226,155,132,226,155,132,226,155,132,41,0,0,0,0,1,0,0,0,4,0,0,0,3,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,0,0,76,194,0,0,80,194,0,0,84,194,0,0,88,194,0,0,92,194,0,0,96,194,0,0,100,194,0,0,104,194,0,0,108,194,0,0,112,194,0,0,116,194,0,0,120,194,0,0,124,194,0,0,128,194,0,0,130,194,0,0,132,194,0,0,134,194,0,0,136,194,0,0,138,194,0,0,140,194,0,0,142,194,0,0,144,194,0,0,146,194,0,0,148,194,0,0,150,194,0,0,152,194,0,0,154,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,164,194,0,0,166,194,0,0,168,194,0,0,170,194,0,0,172,194,0,0,174,194,0,0,176,194,0,0,176,194,0,0,178,194,0,0,178,194,0,0,180,194,0,0,182,194,0,0,182,194,0,0,184,194,0,0,186,194,0,0,188,194,0,0,190,194,0,0,192,194,0,0,192,194,0,0,194,194,0,0,196,194,0,0,196,194,0,0,198,194,0,0,198,194,0,0,200,194,0,0,200,194,0,0,202,194,0,0,204,194,0,0,206,194,0,0,208,194,0,0,212,194,0,0,214,194,0,0,214,194,0,0,214,194,0,0,214,194,0,0,210,194,0,0,206,194,0,0,204,194,0,0,202,194,0,0,198,194,0,0,196,194,0,0,192,194,0,0,190,194,0,0,190,194,0,0,192,194,0,0,194,194,0,0,192,194,0,0,190,194,0,0,186,194,0,0,180,194,0,0,160,194,0,0,140,194,0,0,72,194,0,0,32,194,0,0,240,193,0,0,240,193,0,0,240,193,0,0,240,193,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,4,64,0,0,0,0,0,0,18,64,0,0,0,0,0,0,33,64,0,0,0,0,0,128,48,64,0,0,0,4,107,244,52,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,4,64,0,0,0,0,0,0,18,64,0,0,0,0,0,0,33,64,0,0,0,4,107,244,52,66,62,180,228,51,9,145,243,51,139,178,1,52,60,32,10,52,35,26,19,52,96,169,28,52,167,215,38,52,75,175,49,52,80,59,61,52,112,135,73,52,35,160,86,52,184,146,100,52,85,109,115,52,136,159,129,52,252,11,138,52,147,4,147,52,105,146,156,52,50,191,166,52,63,149,177,52,147,31,189,52,228,105,201,52,173,128,214,52,54,113,228,52,166,73,243,52,136,140,1,53,192,247,9,53,6,239,18,53,118,123,28,53,192,166,38,53,55,123,49,53,218,3,61,53,94,76,73,53,59,97,86,53,185,79,100,53,252,37,115,53,138,121,129,53,134,227,137,53,124,217,146,53,133,100,156,53,82,142,166,53,51,97,177,53,37,232,188,53,220,46,201,53,206,65,214,53,65,46,228,53,87,2,243,53,143,102,1,54,79,207,9,54,245,195,18,54,152,77,28,54,232,117,38,54,50,71,49,54,116,204,60,54,94,17,73,54,101,34,86,54,206,12,100,54,184,222,114,54,151,83,129,54,28,187,137,54,114,174,146,54,175,54,156,54,129,93,166,54,53,45,177,54,199,176,188,54,228,243,200,54,1,3,214,54,96,235,227,54,30,187,242,54,162,64,1,55,235,166,9,55,241,152,18,55,201,31,28,55,30,69,38,55,61,19,49,55,30,149,60,55,111,214,72,55,162,227,85,55,247,201,99,55,137,151,114,55,175,45,129,55,190,146,137,55,116,131,146,55,230,8,156,55,190,44,166,55,71,249,176,55,121,121,188,55,254,184,200,55,71,196,213,55,146,168,227,55,248,115,242,55,192,26,1,56,147,126,9,56,249,109,18,56,6,242,27,56,98,20,38,56,86,223,48,56,216,93,60,56,146,155,72,56,242,164,85,56,51,135,99,56,110,80,114,56,211,7,129,56,107,106,137,56,130,88,146,56,42,219,155,56,9,252,165,56,104,197,176,56,59,66,188,56,41,126,200,56,160,133,213,56,217,101,227,56,232,44,242,56,233,244,0,57,70,86,9,57,14,67,18,57,81,196,27,57,181,227,37,57,127,171,48,57,162,38,60,57,197,96,72,57,83,102,85,57,131,68,99,57,104,9,114,57,1,226,128,57,36,66,137,57,157,45,146,57,123,173,155,57,99,203,165,57,153,145,176,57,13,11,188,57,102,67,200,57,11,71,213,57,50,35,227,57,237,229,241,57,29,207,0,58,5,46,9,58,48,24,18,58,169,150,27,58,21,179,37,58,183,119,48,58,124,239,59,58,10,38,72,58,199,39,85,58,230,1,99,58,120,194,113,58,59,188,128,58,233,25,137,58,198,2,146,58,219,127,155,58,203,154,165,58,216,93,176,58,239,211,187,58,179,8,200,58,136,8,213,58,159,224,226,58,7,159,241,58,92,169,0,59,208,5,9,59,94,237,17,59,15,105,27,59,132,130,37,59,253,67,48,59,103,184,59,59,97,235,71,59,77,233,84,59,93,191,98,59,156,123,113,59,127,150,128,59,186,241,136,59,249,215,145,59,71,82,155,59,65,106,165,59,39,42,176,59,226,156,187,59,18,206,199,59,23,202,212,59,32,158,226,59,53,88,241,59,166,131,0,60,167,221,8,60,152,194,17,60,130,59,27,60,1,82,37,60,84,16,48,60,97,129,59,60,200,176,71,60,229,170,84,60,232,124,98,60,212,52,113,60,207,112,128,60,150,201,136,60,58,173,145,60,192,36,155,60,197,57,165,60,133,246,175,60,229,101,187,60,130,147,199,60,185,139,212,60,180,91,226,60,121,17,241,60,251,93,0,61,137,181,8,61,223,151,17,61,2,14,27,61,141,33,37,61,185,220,47,61,109,74,59,61,64,118,71,61,145,108,84,61,133,58,98,61,34,238,112,61,42,75,128,61,127,161,136,61,136,130,145,61,72,247,154,61,88,9,165,61,242,194,175,61,248,46,187,61,3,89,199,61,109,77,212,61,92,25,226,61,209,202,240,61,91,56,0,62,119,141,8,62,51,109,17,62,144,224,26,62,39,241,36,62,46,169,47,62,135,19,59,62,202,59,71,62,77,46,84,62,55,248,97,62,132,167,112,62,143,37,128,62,115,121,136,62,226,87,145,62,220,201,154,62,249,216,164,62,109,143,175,62,27,248,186,62,149,30,199,62,51,15,212,62,23,215,225,62,61,132,240,62,198,18,0,63,114,101,8,63,147,66,17,63,43,179,26,63,206,192,36,63,177,117,47,63,178,220,58,63,101,1,71,63,29,240,83,63,251,181,97,63,251,96,112,63,0,0,128,63,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,120,194,0,0,120,194,0,0,130,194,0,0,146,194,0,0,138,194,0,0,136,194,0,0,136,194,0,0,134,194,0,0,140,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,150,194,0,0,158,194,0,0,158,194,0,0,160,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,84,194,0,0,116,194,0,0,132,194,0,0,132,194,0,0,136,194,0,0,134,194,0,0,140,194,0,0,152,194,0,0,152,194,0,0,144,194,0,0,146,194,0,0,150,194,0,0,152,194,0,0,156,194,0,0,158,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,24,194,0,0,32,194,0,0,40,194,0,0,56,194,0,0,64,194,0,0,84,194,0,0,92,194,0,0,120,194,0,0,130,194,0,0,104,194,0,0,96,194,0,0,96,194,0,0,116,194,0,0,112,194,0,0,130,194,0,0,134,194,0,0,138,194,0,0,142,194,0,0,154,194,0,0,154,194,0,0,156,194,0,0,160,194,0,0,164,194,0,0,168,194,0,0,176,194,0,0,186,194,0,0,196,194,0,0,212,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,208,193,0,0,216,193,0,0,232,193,0,0,0,194,0,0,24,194,0,0,64,194,0,0,80,194,0,0,80,194,0,0,72,194,0,0,64,194,0,0,64,194,0,0,76,194,0,0,80,194,0,0,88,194,0,0,112,194,0,0,134,194,0,0,134,194,0,0,132,194,0,0,136,194,0,0,138,194,0,0,146,194,0,0,146,194,0,0,152,194,0,0,160,194,0,0,162,194,0,0,162,194,0,0,170,194,0,0,170,194,0,0,172,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,136,193,0,0,152,193,0,0,160,193,0,0,176,193,0,0,208,193,0,0,224,193,0,0,248,193,0,0,32,194,0,0,60,194,0,0,28,194,0,0,28,194,0,0,32,194,0,0,40,194,0,0,44,194,0,0,60,194,0,0,76,194,0,0,100,194,0,0,80,194,0,0,92,194,0,0,92,194,0,0,112,194,0,0,104,194,0,0,120,194,0,0,124,194,0,0,140,194,0,0,134,194,0,0,138,194,0,0,144,194,0,0,146,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,166,194,0,0,174,194,0,0,180,194,0,0,188,194,0,0,196,194,0,0,208,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,32,193,0,0,48,193,0,0,112,193,0,0,152,193,0,0,200,193,0,0,240,193,0,0,8,194,0,0,248,193,0,0,240,193,0,0,248,193,0,0,232,193,0,0,0,194,0,0,12,194,0,0,40,194,0,0,64,194,0,0,40,194,0,0,48,194,0,0,56,194,0,0,72,194,0,0,72,194,0,0,76,194,0,0,80,194,0,0,108,194,0,0,88,194,0,0,92,194,0,0,92,194,0,0,104,194,0,0,120,194,0,0,124,194,0,0,132,194,0,0,144,194,0,0,146,194,0,0,152,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,160,194,0,0,162,194,0,0,168,194,0,0,176,194,0,0,180,194,0,0,188,194,0,0,196,194,0,0,202,194,0,0,212,194,0,0,220,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,134,194,0,0,134,194,0,0,134,194,0,0,152,194,0,0,144,194,0,0,142,194,0,0,148,194,0,0,152,194,0,0,152,194,0,0,150,194,0,0,156,194,0,0,158,194,0,0,158,194,0,0,162,194,0,0,166,194,0,0,172,194,0,0,178,194,0,0,186,194,0,0,194,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,64,194,0,0,76,194,0,0,92,194,0,0,108,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,134,194,0,0,132,194,0,0,136,194,0,0,138,194,0,0,140,194,0,0,148,194,0,0,158,194,0,0,154,194,0,0,154,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,164,194,0,0,168,194,0,0,172,194,0,0,176,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,216,194,0,0,232,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,20,194,0,0,20,194,0,0,36,194,0,0,48,194,0,0,64,194,0,0,76,194,0,0,104,194,0,0,120,194,0,0,112,194,0,0,100,194,0,0,108,194,0,0,108,194,0,0,112,194,0,0,124,194,0,0,130,194,0,0,144,194,0,0,142,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,154,194,0,0,152,194,0,0,156,194,0,0,162,194,0,0,162,194,0,0,160,194,0,0,166,194,0,0,172,194,0,0,182,194,0,0,192,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,240,193,0,0,0,194,0,0,0,194,0,0,4,194,0,0,12,194,0,0,36,194,0,0,68,194,0,0,72,194,0,0,68,194,0,0,60,194,0,0,64,194,0,0,64,194,0,0,80,194,0,0,76,194,0,0,100,194,0,0,130,194,0,0,116,194,0,0,108,194,0,0,116,194,0,0,128,194,0,0,138,194,0,0,140,194,0,0,148,194,0,0,154,194,0,0,154,194,0,0,156,194,0,0,162,194,0,0,168,194,0,0,170,194,0,0,174,194,0,0,180,194,0,0,184,194,0,0,192,194,0,0,200,194,0,0,214,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,160,193,0,0,168,193,0,0,184,193,0,0,216,193,0,0,240,193,0,0,12,194,0,0,16,194,0,0,36,194,0,0,56,194,0,0,48,194,0,0,40,194,0,0,32,194,0,0,36,194,0,0,36,194,0,0,44,194,0,0,64,194,0,0,92,194,0,0,84,194,0,0,80,194,0,0,84,194,0,0,96,194,0,0,108,194,0,0,104,194,0,0,112,194,0,0,134,194,0,0,132,194,0,0,138,194,0,0,142,194,0,0,144,194,0,0,150,194,0,0,158,194,0,0,162,194,0,0,168,194,0,0,174,194,0,0,180,194,0,0,186,194,0,0,194,194,0,0,202,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,48,193,0,0,64,193,0,0,64,193,0,0,112,193,0,0,128,193,0,0,160,193,0,0,184,193,0,0,240,193,0,0,20,194,0,0,8,194,0,0,4,194,0,0,8,194,0,0,248,193,0,0,0,194,0,0,0,194,0,0,24,194,0,0,60,194,0,0,48,194,0,0,36,194,0,0,32,194,0,0,60,194,0,0,68,194,0,0,56,194,0,0,56,194,0,0,104,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,104,194,0,0,120,194,0,0,128,194,0,0,134,194,0,0,134,194,0,0,140,194,0,0,144,194,0,0,152,194,0,0,158,194,0,0,166,194,0,0,174,194,0,0,182,194,0,0,192,194,0,0,200,194,0,0,208,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,124,194,0,0,128,194,0,0,132,194,0,0,134,194,0,0,132,194,0,0,136,194,0,0,150,194,0,0,144,194,0,0,152,194,0,0,150,194,0,0,152,194,0,0,156,194,0,0,158,194,0,0,164,194,0,0,168,194,0,0,170,194,0,0,180,194,0,0,188,194,0,0,202,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,112,194,0,0,112,194,0,0,116,194,0,0,124,194,0,0,132,194,0,0,142,194,0,0,136,194,0,0,140,194,0,0,140,194,0,0,142,194,0,0,144,194,0,0,144,194,0,0,150,194,0,0,162,194,0,0,156,194,0,0,158,194,0,0,164,194,0,0,166,194,0,0,172,194,0,0,180,194,0,0,194,194,0,0,206,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,88,194,0,0,92,194,0,0,100,194,0,0,96,194,0,0,100,194,0,0,92,194,0,0,116,194,0,0,130,194,0,0,112,194,0,0,112,194,0,0,120,194,0,0,124,194,0,0,124,194,0,0,132,194,0,0,136,194,0,0,148,194,0,0,146,194,0,0,150,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,160,194,0,0,164,194,0,0,170,194,0,0,180,194,0,0,192,194,0,0,202,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,64,194,0,0,76,194,0,0,100,194,0,0,76,194,0,0,68,194,0,0,72,194,0,0,76,194,0,0,84,194,0,0,88,194,0,0,108,194,0,0,132,194,0,0,112,194,0,0,120,194,0,0,134,194,0,0,134,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,152,194,0,0,156,194,0,0,162,194,0,0,170,194,0,0,176,194,0,0,188,194,0,0,194,194,0,0,208,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,28,194,0,0,36,194,0,0,40,194,0,0,40,194,0,0,28,194,0,0,24,194,0,0,36,194,0,0,44,194,0,0,80,194,0,0,48,194,0,0,32,194,0,0,28,194,0,0,20,194,0,0,20,194,0,0,32,194,0,0,60,194,0,0,88,194,0,0,72,194,0,0,64,194,0,0,72,194,0,0,92,194,0,0,116,194,0,0,108,194,0,0,120,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,138,194,0,0,138,194,0,0,146,194,0,0,148,194,0,0,148,194,0,0,150,194,0,0,154,194,0,0,158,194,0,0,164,194,0,0,174,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,216,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,224,193,0,0,208,193,0,0,192,193,0,0,176,193,0,0,160,193,0,0,160,193,0,0,184,193,0,0,232,193,0,0,240,193,0,0,248,193,0,0,224,193,0,0,216,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,12,194,0,0,32,194,0,0,4,194,0,0,0,194,0,0,232,193,0,0,240,193,0,0,240,193,0,0,240,193,0,0,20,194,0,0,52,194,0,0,36,194,0,0,20,194,0,0,24,194,0,0,52,194,0,0,60,194,0,0,60,194,0,0,64,194,0,0,84,194,0,0,68,194,0,0,64,194,0,0,72,194,0,0,68,194,0,0,68,194,0,0,76,194,0,0,80,194,0,0,104,194,0,0,96,194,0,0,100,194,0,0,96,194,0,0,112,194,0,0,116,194,0,0,120,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,156,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,212,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,200,194,0,0,190,194,0,0,182,194,0,0,174,194,0,0,166,194,0,0,160,194,0,0,156,194,0,0,152,194,0,0,156,194,0,0,156,194,0,0,162,194,0,0,166,194,0,0,170,194,0,0,172,194,0,0,170,194,0,0,172,194,0,0,174,194,0,0,180,194,0,0,194,194,0,0,214,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,162,194,0,0,154,194,0,0,146,194,0,0,140,194,0,0,134,194,0,0,134,194,0,0,136,194,0,0,150,194,0,0,146,194,0,0,140,194,0,0,138,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,158,194,0,0,168,194,0,0,166,194,0,0,168,194,0,0,172,194,0,0,176,194,0,0,178,194,0,0,178,194,0,0,186,194,0,0,196,194,0,0,210,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,152,194,0,0,142,194,0,0,136,194,0,0,136,194,0,0,130,194,0,0,124,194,0,0,124,194,0,0,120,194,0,0,120,194,0,0,128,194,0,0,130,194,0,0,128,194,0,0,116,194,0,0,120,194,0,0,124,194,0,0,128,194,0,0,132,194,0,0,136,194,0,0,146,194,0,0,146,194,0,0,148,194,0,0,150,194,0,0,152,194,0,0,162,194,0,0,166,194,0,0,170,194,0,0,176,194,0,0,178,194,0,0,184,194,0,0,190,194,0,0,200,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,160,194,0,0,150,194,0,0,142,194,0,0,136,194,0,0,130,194,0,0,124,194,0,0,120,194,0,0,116,194,0,0,116,194,0,0,116,194,0,0,116,194,0,0,108,194,0,0,96,194,0,0,100,194,0,0,84,194,0,0,72,194,0,0,104,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,80,194,0,0,84,194,0,0,88,194,0,0,104,194,0,0,134,194,0,0,124,194,0,0,134,194,0,0,136,194,0,0,144,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,162,194,0,0,164,194,0,0,170,194,0,0,178,194,0,0,180,194,0,0,186,194,0,0,194,194,0,0,202,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,130,194,0,0,116,194,0,0,108,194,0,0,100,194,0,0,96,194,0,0,92,194,0,0,92,194,0,0,96,194,0,0,96,194,0,0,100,194,0,0,92,194,0,0,84,194,0,0,80,194,0,0,60,194,0,0,48,194,0,0,48,194,0,0,72,194,0,0,48,194,0,0,36,194,0,0,28,194,0,0,28,194,0,0,40,194,0,0,32,194,0,0,56,194,0,0,76,194,0,0,68,194,0,0,72,194,0,0,84,194,0,0,88,194,0,0,124,194,0,0,112,194,0,0,116,194,0,0,120,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,140,194,0,0,146,194,0,0,148,194,0,0,150,194,0,0,152,194,0,0,150,194,0,0,158,194,0,0,170,194,0,0,178,194,0,0,182,194,0,0,192,194,0,0,204,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,80,194,0,0,72,194,0,0,68,194,0,0,68,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,68,194,0,0,72,194,0,0,72,194,0,0,68,194,0,0,56,194,0,0,44,194,0,0,28,194,0,0,12,194,0,0,4,194,0,0,24,194,0,0,16,194,0,0,0,194,0,0,232,193,0,0,0,194,0,0,0,194,0,0,0,194,0,0,12,194,0,0,48,194,0,0,28,194,0,0,24,194,0,0,24,194,0,0,56,194,0,0,72,194,0,0,52,194,0,0,56,194,0,0,84,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,88,194,0,0,84,194,0,0,84,194,0,0,96,194,0,0,100,194,0,0,108,194,0,0,132,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,158,194,0,0,166,194,0,0,170,194,0,0,180,194,0,0,194,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,172,194,0,0,160,194,0,0,150,194,0,0,150,194,0,0,158,194,0,0,160,194,0,0,158,194,0,0,160,194,0,0,162,194,0,0,164,194,0,0,176,194,0,0,190,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,176,194,0,0,166,194,0,0,158,194,0,0,156,194,0,0,150,194,0,0,142,194,0,0,134,194,0,0,136,194,0,0,146,194,0,0,146,194,0,0,144,194,0,0,146,194,0,0,150,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,202,194,0,0,192,194,0,0,180,194,0,0,172,194,0,0,162,194,0,0,154,194,0,0,146,194,0,0,138,194,0,0,132,194,0,0,116,194,0,0,120,194,0,0,132,194,0,0,128,194,0,0,120,194,0,0,130,194,0,0,132,194,0,0,140,194,0,0,144,194,0,0,152,194,0,0,162,194,0,0,160,194,0,0,168,194,0,0,180,194,0,0,190,194,0,0,204,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,206,194,0,0,194,194,0,0,184,194,0,0,176,194,0,0,166,194,0,0,158,194,0,0,148,194,0,0,140,194,0,0,132,194,0,0,108,194,0,0,84,194,0,0,104,194,0,0,120,194,0,0,92,194,0,0,88,194,0,0,88,194,0,0,88,194,0,0,104,194,0,0,116,194,0,0,120,194,0,0,144,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,160,194,0,0,166,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,132,194,0,0,120,194,0,0,96,194,0,0,64,194,0,0,48,194,0,0,64,194,0,0,56,194,0,0,56,194,0,0,44,194,0,0,56,194,0,0,64,194,0,0,64,194,0,0,76,194,0,0,104,194,0,0,104,194,0,0,108,194,0,0,112,194,0,0,120,194,0,0,120,194,0,0,116,194,0,0,116,194,0,0,130,194,0,0,128,194,0,0,130,194,0,0,136,194,0,0,140,194,0,0,148,194,0,0,150,194,0,0,156,194,0,0,162,194,0,0,172,194,0,0,190,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,130,194,0,0,116,194,0,0,92,194,0,0,68,194,0,0,28,194,0,0,4,194,0,0,32,194,0,0,12,194,0,0,0,194,0,0,24,194,0,0,32,194,0,0,4,194,0,0,12,194,0,0,20,194,0,0,56,194,0,0,36,194,0,0,52,194,0,0,48,194,0,0,56,194,0,0,40,194,0,0,52,194,0,0,56,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,88,194,0,0,92,194,0,0,100,194,0,0,120,194,0,0,128,194,0,0,132,194,0,0,136,194,0,0,140,194,0,0,152,194,0,0,162,194,0,0,180,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,170,194,0,0,164,194,0,0,166,194,0,0,160,194,0,0,156,194,0,0,168,194,0,0,158,194,0,0,160,194,0,0,166,194,0,0,174,194,0,0,178,194,0,0,182,194,0,0,186,194,0,0,198,194,0,0,212,194,0,0,234,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,136,194,0,0,148,194,0,0,144,194,0,0,148,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,170,194,0,0,174,194,0,0,184,194,0,0,178,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,212,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,166,194,0,0,150,194,0,0,142,194,0,0,124,194,0,0,128,194,0,0,134,194,0,0,120,194,0,0,128,194,0,0,134,194,0,0,140,194,0,0,146,194,0,0,154,194,0,0,162,194,0,0,168,194,0,0,166,194,0,0,170,194,0,0,178,194,0,0,180,194,0,0,186,194,0,0,196,194,0,0,208,194,0,0,218,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,206,194,0,0,192,194,0,0,176,194,0,0,162,194,0,0,150,194,0,0,136,194,0,0,104,194,0,0,88,194],"i8",N3,x.GLOBAL_BASE),E3([0,0,96,194,0,0,88,194,0,0,96,194,0,0,96,194,0,0,104,194,0,0,112,194,0,0,124,194,0,0,132,194,0,0,148,194,0,0,138,194,0,0,144,194,0,0,144,194,0,0,150,194,0,0,148,194,0,0,154,194,0,0,162,194,0,0,162,194,0,0,164,194,0,0,168,194,0,0,174,194,0,0,186,194,0,0,192,194,0,0,198,194,0,0,208,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,204,194,0,0,192,194,0,0,182,194,0,0,170,194,0,0,160,194,0,0,148,194,0,0,136,194,0,0,112,194,0,0,76,194,0,0,56,194,0,0,64,194,0,0,56,194,0,0,44,194,0,0,52,194,0,0,60,194,0,0,60,194,0,0,68,194,0,0,64,194,0,0,96,194,0,0,84,194,0,0,92,194,0,0,104,194,0,0,100,194,0,0,124,194,0,0,104,194,0,0,112,194,0,0,132,194,0,0,128,194,0,0,134,194,0,0,140,194,0,0,140,194,0,0,148,194,0,0,154,194,0,0,168,194,0,0,172,194,0,0,178,194,0,0,182,194,0,0,186,194,0,0,188,194,0,0,202,194,0,0,218,194,0,0,236,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,176,194,0,0,166,194,0,0,156,194,0,0,146,194,0,0,136,194,0,0,112,194,0,0,84,194,0,0,48,194,0,0,12,194,0,0,24,194,0,0,24,194,0,0,8,194,0,0,8,194,0,0,16,194,0,0,32,194,0,0,36,194,0,0,48,194,0,0,76,194,0,0,52,194,0,0,56,194,0,0,60,194,0,0,56,194,0,0,88,194,0,0,72,194,0,0,68,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,76,194,0,0,88,194,0,0,100,194,0,0,104,194,0,0,112,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,128,194,0,0,130,194,0,0,136,194,0,0,154,194,0,0,164,194,0,0,174,194,0,0,190,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,204,194,0,0,194,194,0,0,184,194,0,0,174,194,0,0,166,194,0,0,156,194,0,0,150,194,0,0,164,194,0,0,158,194,0,0,166,194,0,0,170,194,0,0,178,194,0,0,184,194,0,0,190,194,0,0,196,194,0,0,202,194,0,0,210,194,0,0,218,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,172,194,0,0,162,194,0,0,156,194,0,0,148,194,0,0,138,194,0,0,148,194,0,0,148,194,0,0,152,194,0,0,158,194,0,0,166,194,0,0,168,194,0,0,172,194,0,0,178,194,0,0,184,194,0,0,194,194,0,0,186,194,0,0,200,194,0,0,206,194,0,0,214,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,174,194,0,0,166,194,0,0,160,194,0,0,150,194,0,0,138,194,0,0,112,194,0,0,132,194,0,0,132,194,0,0,136,194,0,0,140,194,0,0,148,194,0,0,156,194,0,0,158,194,0,0,162,194,0,0,162,194,0,0,166,194,0,0,168,194,0,0,174,194,0,0,186,194,0,0,192,194,0,0,198,194,0,0,206,194,0,0,214,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,178,194,0,0,170,194,0,0,164,194,0,0,156,194,0,0,142,194,0,0,120,194,0,0,92,194,0,0,104,194,0,0,104,194,0,0,88,194,0,0,88,194,0,0,92,194,0,0,108,194,0,0,116,194,0,0,120,194,0,0,140,194,0,0,132,194,0,0,132,194,0,0,134,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,156,194,0,0,168,194,0,0,168,194,0,0,168,194,0,0,176,194,0,0,182,194,0,0,180,194,0,0,190,194,0,0,196,194,0,0,204,194,0,0,206,194,0,0,212,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,188,194,0,0,180,194,0,0,174,194,0,0,164,194,0,0,158,194,0,0,146,194,0,0,134,194,0,0,104,194,0,0,60,194,0,0,72,194,0,0,52,194,0,0,36,194,0,0,52,194,0,0,64,194,0,0,48,194,0,0,48,194,0,0,68,194,0,0,88,194,0,0,76,194,0,0,64,194,0,0,60,194,0,0,68,194,0,0,72,194,0,0,76,194,0,0,100,194,0,0,104,194,0,0,112,194,0,0,124,194,0,0,138,194,0,0,140,194,0,0,138,194,0,0,142,194,0,0,148,194,0,0,156,194,0,0,164,194,0,0,180,194,0,0,190,194,0,0,202,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,202,194,0,0,194,194,0,0,186,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,154,194,0,0,144,194,0,0,130,194,0,0,96,194,0,0,64,194,0,0,20,194,0,0,32,194,0,0,16,194,0,0,8,194,0,0,32,194,0,0,72,194,0,0,60,194,0,0,24,194,0,0,36,194,0,0,60,194,0,0,24,194,0,0,12,194,0,0,28,194,0,0,24,194,0,0,44,194,0,0,32,194,0,0,52,194,0,0,72,194,0,0,52,194,0,0,48,194,0,0,60,194,0,0,72,194,0,0,92,194,0,0,64,194,0,0,64,194,0,0,80,194,0,0,132,194,0,0,140,194,0,0,152,194,0,0,164,194,0,0,180,194,0,0,194,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,172,194,0,0,158,194,0,0,152,194,0,0,166,194,0,0,162,194,0,0,170,194,0,0,174,194,0,0,178,194,0,0,186,194,0,0,196,194,0,0,204,194,0,0,214,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,172,194,0,0,158,194,0,0,142,194,0,0,154,194,0,0,148,194,0,0,154,194,0,0,158,194,0,0,162,194,0,0,168,194,0,0,170,194,0,0,180,194,0,0,184,194,0,0,186,194,0,0,184,194,0,0,196,194,0,0,202,194,0,0,216,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,174,194,0,0,156,194,0,0,136,194,0,0,130,194,0,0,132,194,0,0,120,194,0,0,130,194,0,0,134,194,0,0,140,194,0,0,146,194,0,0,150,194,0,0,156,194,0,0,164,194,0,0,164,194,0,0,166,194,0,0,168,194,0,0,182,194,0,0,186,194,0,0,196,194,0,0,204,194,0,0,212,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,164,194,0,0,148,194,0,0,120,194,0,0,100,194,0,0,104,194,0,0,96,194,0,0,76,194,0,0,80,194,0,0,80,194,0,0,88,194,0,0,88,194,0,0,104,194,0,0,132,194,0,0,108,194,0,0,112,194,0,0,124,194,0,0,132,194,0,0,138,194,0,0,146,194,0,0,158,194,0,0,166,194,0,0,168,194,0,0,160,194,0,0,162,194,0,0,162,194,0,0,164,194,0,0,176,194,0,0,184,194,0,0,196,194,0,0,210,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,204,194,0,0,194,194,0,0,184,194,0,0,168,194,0,0,158,194,0,0,138,194,0,0,100,194,0,0,60,194,0,0,80,194,0,0,60,194,0,0,48,194,0,0,52,194,0,0,72,194,0,0,80,194,0,0,40,194,0,0,40,194,0,0,84,194,0,0,44,194,0,0,44,194,0,0,64,194,0,0,76,194,0,0,96,194,0,0,92,194,0,0,80,194,0,0,100,194,0,0,108,194,0,0,116,194,0,0,120,194,0,0,134,194,0,0,142,194,0,0,156,194,0,0,166,194,0,0,172,194,0,0,188,194,0,0,196,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,168,194,0,0,156,194,0,0,140,194,0,0,116,194,0,0,76,194,0,0,36,194,0,0,32,194,0,0,24,194,0,0,32,194,0,0,56,194,0,0,80,194,0,0,76,194,0,0,36,194,0,0,32,194,0,0,56,194,0,0,32,194,0,0,24,194,0,0,24,194,0,0,36,194,0,0,56,194,0,0,36,194,0,0,56,194,0,0,60,194,0,0,44,194,0,0,44,194,0,0,52,194,0,0,36,194,0,0,52,194,0,0,96,194,0,0,134,194,0,0,136,194,0,0,166,194,0,0,174,194,0,0,180,194,0,0,190,194,0,0,204,194,0,0,214,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,218,194,0,0,210,194,0,0,202,194,0,0,192,194,0,0,182,194,0,0,168,194,0,0,154,194,0,0,164,194,0,0,164,194,0,0,170,194,0,0,178,194,0,0,188,194,0,0,200,194,0,0,212,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,206,194,0,0,196,194,0,0,184,194,0,0,170,194,0,0,160,194,0,0,142,194,0,0,150,194,0,0,144,194,0,0,152,194,0,0,160,194,0,0,168,194,0,0,172,194,0,0,178,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,208,194,0,0,202,194,0,0,194,194,0,0,184,194,0,0,176,194,0,0,168,194,0,0,160,194,0,0,128,194,0,0,132,194,0,0,124,194,0,0,128,194,0,0,132,194,0,0,138,194,0,0,146,194,0,0,154,194,0,0,166,194,0,0,166,194,0,0,172,194,0,0,182,194,0,0,196,194,0,0,208,194,0,0,222,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,208,194,0,0,202,194,0,0,194,194,0,0,184,194,0,0,180,194,0,0,168,194,0,0,148,194,0,0,100,194,0,0,104,194,0,0,80,194,0,0,92,194,0,0,88,194,0,0,72,194,0,0,80,194,0,0,72,194,0,0,80,194,0,0,124,194,0,0,120,194,0,0,138,194,0,0,152,194,0,0,154,194,0,0,156,194,0,0,156,194,0,0,158,194,0,0,164,194,0,0,176,194,0,0,188,194,0,0,200,194,0,0,212,194,0,0,222,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,204,194,0,0,196,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,166,194,0,0,156,194,0,0,140,194,0,0,72,194,0,0,72,194,0,0,36,194,0,0,48,194,0,0,68,194,0,0,60,194,0,0,72,194,0,0,72,194,0,0,48,194,0,0,92,194,0,0,56,194,0,0,60,194,0,0,64,194,0,0,64,194,0,0,88,194,0,0,68,194,0,0,68,194,0,0,104,194,0,0,120,194,0,0,142,194,0,0,162,194,0,0,174,194,0,0,184,194,0,0,194,194,0,0,204,194,0,0,216,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,204,194,0,0,196,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,166,194,0,0,156,194,0,0,140,194,0,0,52,194,0,0,44,194,0,0,36,194,0,0,60,194,0,0,72,194,0,0,76,194,0,0,72,194,0,0,68,194,0,0,52,194,0,0,60,194,0,0,36,194,0,0,48,194,0,0,36,194,0,0,28,194,0,0,44,194,0,0,24,194,0,0,20,194,0,0,32,194,0,0,36,194,0,0,48,194,0,0,72,194,0,0,104,194,0,0,130,194,0,0,146,194,0,0,158,194,0,0,170,194,0,0,184,194,0,0,194,194,0,0,202,194,0,0,210,194,0,0,218,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,200,194,0,0,190,194,0,0,174,194,0,0,162,194,0,0,170,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,202,194,0,0,190,194,0,0,176,194,0,0,166,194,0,0,152,194,0,0,146,194,0,0,144,194,0,0,158,194,0,0,168,194,0,0,180,194,0,0,190,194,0,0,200,194,0,0,210,194,0,0,220,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,208,194,0,0,196,194,0,0,184,194,0,0,174,194,0,0,162,194,0,0,140,194,0,0,130,194,0,0,120,194,0,0,134,194,0,0,142,194,0,0,148,194,0,0,160,194,0,0,170,194,0,0,182,194,0,0,190,194,0,0,198,194,0,0,206,194,0,0,216,194,0,0,222,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,206,194,0,0,194,194,0,0,180,194,0,0,170,194,0,0,152,194,0,0,112,194,0,0,96,194,0,0,88,194,0,0,112,194,0,0,120,194,0,0,116,194,0,0,96,194,0,0,124,194,0,0,130,194,0,0,146,194,0,0,148,194,0,0,154,194,0,0,150,194,0,0,156,194,0,0,162,194,0,0,172,194,0,0,174,194,0,0,176,194,0,0,182,194,0,0,188,194,0,0,196,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,194,194,0,0,184,194,0,0,172,194,0,0,162,194,0,0,158,194,0,0,140,194,0,0,100,194,0,0,76,194,0,0,60,194,0,0,76,194,0,0,104,194,0,0,112,194,0,0,96,194,0,0,84,194,0,0,72,194,0,0,104,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,84,194,0,0,92,194,0,0,128,194,0,0,138,194,0,0,142,194,0,0,170,194,0,0,164,194,0,0,156,194,0,0,162,194,0,0,170,194,0,0,190,194,0,0,204,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,194,194,0,0,184,194,0,0,170,194,0,0,166,194,0,0,158,194,0,0,144,194,0,0,68,194,0,0,32,194,0,0,44,194,0,0,44,194,0,0,88,194,0,0,96,194,0,0,76,194,0,0,72,194,0,0,32,194,0,0,44,194,0,0,24,194,0,0,16,194,0,0,12,194,0,0,20,194,0,0,24,194,0,0,20,194,0,0,48,194,0,0,88,194,0,0,112,194,0,0,100,194,0,0,112,194,0,0,140,194,0,0,150,194,0,0,168,194,0,0,184,194,0,0,206,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,204,194,0,0,190,194,0,0,178,194,0,0,164,194,0,0,166,194,0,0,168,194,0,0,180,194,0,0,184,194,0,0,198,194,0,0,214,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,202,194,0,0,190,194,0,0,178,194,0,0,166,194,0,0,144,194,0,0,148,194,0,0,156,194,0,0,170,194,0,0,176,194,0,0,176,194,0,0,180,194,0,0,184,194,0,0,196,194,0,0,210,194,0,0,222,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,218,194,0,0,206,194,0,0,194,194,0,0,186,194,0,0,174,194,0,0,162,194,0,0,140,194,0,0,140,194,0,0,134,194,0,0,150,194,0,0,146,194,0,0,152,194,0,0,158,194,0,0,162,194,0,0,166,194,0,0,176,194,0,0,178,194,0,0,194,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,200,194,0,0,188,194,0,0,176,194,0,0,166,194,0,0,150,194,0,0,124,194,0,0,108,194,0,0,108,194,0,0,124,194,0,0,132,194,0,0,112,194,0,0,120,194,0,0,134,194,0,0,134,194,0,0,154,194,0,0,152,194,0,0,162,194,0,0,176,194,0,0,172,194,0,0,184,194,0,0,192,194,0,0,204,194,0,0,218,194,0,0,232,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,184,194,0,0,172,194,0,0,162,194,0,0,146,194,0,0,96,194,0,0,80,194,0,0,60,194,0,0,92,194,0,0,112,194,0,0,104,194,0,0,80,194,0,0,76,194,0,0,52,194,0,0,68,194,0,0,72,194,0,0,84,194,0,0,88,194,0,0,116,194,0,0,142,194,0,0,140,194,0,0,138,194,0,0,156,194,0,0,158,194,0,0,174,194,0,0,180,194,0,0,192,194,0,0,208,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,206,194,0,0,192,194,0,0,180,194,0,0,172,194,0,0,156,194,0,0,140,194,0,0,76,194,0,0,40,194,0,0,60,194,0,0,64,194,0,0,92,194,0,0,88,194,0,0,88,194,0,0,84,194,0,0,40,194,0,0,12,194,0,0,224,193,0,0,4,194,0,0,24,194,0,0,20,194,0,0,48,194,0,0,60,194,0,0,68,194,0,0,88,194,0,0,124,194,0,0,136,194,0,0,156,194,0,0,164,194,0,0,178,194,0,0,188,194,0,0,198,194,0,0,208,194,0,0,218,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,180,194,0,0,158,194,0,0,170,194,0,0,162,194,0,0,164,194,0,0,164,194,0,0,178,194,0,0,188,194,0,0,198,194,0,0,206,194,0,0,218,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,194,194,0,0,170,194,0,0,144,194,0,0,148,194,0,0,140,194,0,0,140,194,0,0,140,194,0,0,152,194,0,0,170,194,0,0,182,194,0,0,186,194,0,0,194,194,0,0,206,194,0,0,218,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,224,194,0,0,186,194,0,0,162,194,0,0,136,194,0,0,120,194,0,0,112,194,0,0,112,194,0,0,100,194,0,0,124,194,0,0,140,194,0,0,154,194,0,0,164,194,0,0,180,194,0,0,186,194,0,0,196,194,0,0,208,194,0,0,218,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,226,194,0,0,200,194,0,0,186,194,0,0,168,194,0,0,124,194,0,0,104,194,0,0,64,194,0,0,84,194,0,0,88,194,0,0,80,194,0,0,80,194,0,0,100,194,0,0,128,194,0,0,132,194,0,0,152,194,0,0,166,194,0,0,162,194,0,0,170,194,0,0,170,194,0,0,180,194,0,0,190,194,0,0,196,194,0,0,202,194,0,0,206,194,0,0,212,194,0,0,216,194,0,0,222,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,190,194,0,0,172,194,0,0,148,194,0,0,84,194,0,0,72,194,0,0,24,194,0,0,44,194,0,0,68,194,0,0,44,194,0,0,40,194,0,0,28,194,0,0,28,194,0,0,56,194,0,0,80,194,0,0,100,194,0,0,96,194,0,0,144,194,0,0,138,194,0,0,148,194,0,0,162,194,0,0,174,194,0,0,184,194,0,0,188,194,0,0,194,194,0,0,198,194,0,0,204,194,0,0,210,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,198,194,0,0,180,194,0,0,152,194,0,0,132,194,0,0,52,194,0,0,44,194,0,0,36,194,0,0,48,194,0,0,60,194,0,0,44,194,0,0,60,194,0,0,32,194,0,0,240,193,0,0,248,193,0,0,248,193,0,0,28,194,0,0,4,194,0,0,32,194,0,0,36,194,0,0,44,194,0,0,84,194,0,0,108,194,0,0,140,194,0,0,146,194,0,0,154,194,0,0,158,194,0,0,164,194,0,0,168,194,0,0,174,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,182,194,0,0,152,194,0,0,150,194,0,0,170,194,0,0,186,194,0,0,196,194,0,0,208,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,182,194,0,0,140,194,0,0,140,194,0,0,150,194,0,0,172,194,0,0,178,194,0,0,188,194,0,0,196,194,0,0,202,194,0,0,212,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,190,194,0,0,160,194,0,0,112,194,0,0,130,194,0,0,128,194,0,0,148,194,0,0,166,194,0,0,176,194,0,0,182,194,0,0,190,194,0,0,198,194,0,0,206,194,0,0,214,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,190,194,0,0,160,194,0,0,104,194,0,0,92,194,0,0,68,194,0,0,132,194,0,0,136,194,0,0,142,194,0,0,156,194,0,0,156,194,0,0,160,194,0,0,176,194,0,0,170,194,0,0,178,194,0,0,194,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,190,194,0,0,160,194,0,0,84,194,0,0,80,194,0,0,36,194,0,0,108,194,0,0,108,194,0,0,68,194,0,0,104,194,0,0,96,194,0,0,124,194,0,0,172,194,0,0,158,194,0,0,180,194,0,0,186,194,0,0,196,194,0,0,206,194,0,0,214,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,194,194,0,0,182,194,0,0,146,194,0,0,52,194,0,0,32,194,0,0,4,194,0,0,84,194,0,0,116,194,0,0,68,194,0,0,88,194,0,0,72,194,0,0,72,194,0,0,112,194,0,0,80,194,0,0,134,194,0,0,148,194,0,0,162,194,0,0,184,194,0,0,192,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,226,194,0,0,212,194,0,0,198,194,0,0,184,194,0,0,154,194,0,0,160,194,0,0,176,194,0,0,194,194,0,0,212,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196],"i8",N3,x.GLOBAL_BASE+10240),E3([0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,232,194,0,0,218,194,0,0,204,194,0,0,190,194,0,0,178,194,0,0,148,194,0,0,144,194,0,0,176,194,0,0,174,194,0,0,190,194,0,0,204,194,0,0,218,194,0,0,232,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,232,194,0,0,218,194,0,0,204,194,0,0,190,194,0,0,178,194,0,0,150,194,0,0,132,194,0,0,148,194,0,0,154,194,0,0,156,194,0,0,172,194,0,0,174,194,0,0,180,194,0,0,192,194,0,0,210,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,230,194,0,0,216,194,0,0,202,194,0,0,188,194,0,0,176,194,0,0,132,194,0,0,96,194,0,0,116,194,0,0,140,194,0,0,130,194,0,0,156,194,0,0,144,194,0,0,166,194,0,0,168,194,0,0,186,194,0,0,196,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,190,194,0,0,178,194,0,0,164,194,0,0,100,194,0,0,80,194,0,0,80,194,0,0,108,194,0,0,96,194,0,0,108,194,0,0,104,194,0,0,138,194,0,0,134,194,0,0,176,194,0,0,164,194,0,0,164,194,0,0,178,194,0,0,188,194,0,0,200,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,202,194,0,0,192,194,0,0,180,194,0,0,166,194,0,0,154,194,0,0,88,194,0,0,44,194,0,0,24,194,0,0,72,194,0,0,64,194,0,0,80,194,0,0,64,194,0,0,40,194,0,0,40,194,0,0,76,194,0,0,80,194,0,0,84,194,0,0,108,194,0,0,130,194,0,0,142,194,0,0,156,194,0,0,170,194,0,0,190,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,240,194,0,0,210,194,0,0,172,194,0,0,136,194,0,0,156,194,0,0,158,194,0,0,180,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,240,194,0,0,210,194,0,0,172,194,0,0,132,194,0,0,146,194,0,0,154,194,0,0,176,194,0,0,192,194,0,0,210,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,240,194,0,0,210,194,0,0,184,194,0,0,160,194,0,0,116,194,0,0,128,194,0,0,136,194,0,0,160,194,0,0,174,194,0,0,184,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,240,194,0,0,208,194,0,0,182,194,0,0,158,194,0,0,80,194,0,0,112,194,0,0,88,194,0,0,128,194,0,0,138,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,168,194,0,0,170,194,0,0,174,194,0,0,176,194,0,0,180,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,236,194,0,0,200,194,0,0,174,194,0,0,154,194,0,0,68,194,0,0,72,194,0,0,48,194,0,0,104,194,0,0,116,194,0,0,116,194,0,0,134,194,0,0,130,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,130,194,0,0,136,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,230,194,0,0,196,194,0,0,168,194,0,0,120,194,0,0,68,194,0,0,48,194,0,0,24,194,0,0,56,194,0,0,68,194,0,0,68,194,0,0,56,194,0,0,28,194,0,0,20,194,0,0,28,194,0,0,32,194,0,0,40,194,0,0,44,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,176,194,0,0,148,194,0,0,154,194,0,0,164,194,0,0,164,194,0,0,170,194,0,0,180,194,0,0,188,194,0,0,198,194,0,0,208,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,176,194,0,0,132,194,0,0,140,194,0,0,162,194,0,0,160,194,0,0,162,194,0,0,168,194,0,0,176,194,0,0,182,194,0,0,186,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,176,194,0,0,116,194,0,0,124,194,0,0,140,194,0,0,142,194,0,0,148,194,0,0,154,194,0,0,160,194,0,0,166,194,0,0,170,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,172,194,0,0,120,194,0,0,124,194,0,0,120,194,0,0,120,194,0,0,104,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,80,194,0,0,88,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,236,194,0,0,216,194,0,0,168,194,0,0,84,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,92,194,0,0,60,194,0,0,52,194,0,0,32,194,0,0,32,194,0,0,32,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,236,194,0,0,200,194,0,0,146,194,0,0,44,194,0,0,20,194,0,0,40,194,0,0,44,194,0,0,84,194,0,0,24,194,0,0,20,194,0,0,12,194,0,0,12,194,0,0,24,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,182,194,0,0,168,194,0,0,148,194,0,0,160,194,0,0,160,194,0,0,160,194,0,0,160,194,0,0,160,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,182,194,0,0,168,194,0,0,148,194,0,0,136,194,0,0,136,194,0,0,136,194,0,0,136,194,0,0,136,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,172,194,0,0,156,194,0,0,140,194,0,0,112,194,0,0,52,194,0,0,240,193,0,0,168,193,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,174,194,0,0,156,194,0,0,134,194,0,0,64,194,0,0,24,194,0,0,232,193,0,0,168,193,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,172,194,0,0,138,194,0,0,96,194,0,0,52,194,0,0,12,194,0,0,4,194,0,0,232,193,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,166,194,0,0,142,194,0,0,64,194,0,0,216,193,0,0,24,194,0,0,20,194,0,0,8,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,0,0,144,4,0,0,72,100,0,0,104,100,0,0,136,100,0,0,0,0,0,0,224,4,0,0,0,0,0,0,0,0,0,0,6,0,0,0,7,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,6,0,0,0,7,0,0,0,4,0,0,0,5,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,2,0,0,0,6,0,0,0,7,0,0,0,4,0,0,0,5,0,0,0,4,0,0,0,2,0,0,0,5,0,0,0,4,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,0,12,195,0,0,12,195,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,194,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,128,0,0,0,63,0,0,0,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,66,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,40,103,0,0,200,103,0,0,104,104,0,0,8,105,0,0,168,105,0,0,72,106,0,0,232,106,0,0,136,107,0,0,40,108,0,0,200,108,0,0,104,109,0,0,8,110,0,0,168,110,0,0,72,111,0,0,232,111,0,0,136,112,0,0,40,113,0,0,0,0,0,0,11,0,0,0,48,240,7,0,64,164,1,0,2,0,0,0,64,156,0,0,80,195,0,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,200,160,2,0,0,0,0,0,11,0,0,0,160,87,5,0,64,164,1,0,6,0,0,0,64,156,0,0,112,17,1,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,3,0,0,0,120,217,1,0,0,88,5,0,0,0,0,0,11,0,0,0,64,87,5,0,64,164,1,0,255,255,255,255,64,156,0,0,80,195,0,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,136,217,1,0,0,0,0,0,11,0,0,0,224,86,5,0,64,164,1,0,2,0,0,0,144,101,0,0,64,156,0,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,128,86,5,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,200,160,2,0,0,0,0,0,11,0,0,0,32,86,5,0,64,164,1,0,255,255,255,255,144,101,0,0,64,156,0,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,128,86,5,0,24,120,0,0,24,217,1,0,0,0,0,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,136,217,1,0,0,0,0,0,3,0,0,0,0,86,5,0,16,172,4,0,2,0,0,0,56,74,0,0,144,101,0,0,48,172,4,0,64,172,4,0,80,172,4,0,136,114,0,0,184,114,0,0,160,172,4,0,160,172,4,0,160,172,4,0,176,173,4,0,224,173,4,0,16,177,4,0,16,177,4,0,64,180,4,0,56,118,0,0,104,118,0,0,112,183,4,0,112,183,4,0,144,183,4,0,144,183,4,0,160,183,4,0,160,183,4,0,176,183,4,0,208,183,4,0,224,183,4,0,224,85,5,0,24,120,0,0,16,184,4,0,48,184,4,0,160,132,0,0,208,132,0,0,2,0,0,0,240,187,4,0,8,240,4,0,0,0,0,0,3,0,0,0,192,85,5,0,16,172,4,0,255,255,255,255,56,74,0,0,144,101,0,0,48,172,4,0,64,172,4,0,80,172,4,0,136,114,0,0,184,114,0,0,160,172,4,0,160,172,4,0,160,172,4,0,176,173,4,0,224,173,4,0,16,177,4,0,16,177,4,0,64,180,4,0,56,118,0,0,104,118,0,0,112,183,4,0,112,183,4,0,144,183,4,0,144,183,4,0,160,183,4,0,160,183,4,0,176,183,4,0,208,183,4,0,224,183,4,0,224,85,5,0,24,120,0,0,16,184,4,0,48,184,4,0,160,132,0,0,208,132,0,0,2,0,0,0,240,187,4,0,248,187,4,0,0,0,0,0,3,0,0,0,232,239,4,0,16,172,4,0,2,0,0,0,152,58,0,0,56,74,0,0,48,172,4,0,64,172,4,0,80,172,4,0,136,114,0,0,184,114,0,0,160,172,4,0,160,172,4,0,160,172,4,0,176,173,4,0,224,173,4,0,16,177,4,0,16,177,4,0,64,180,4,0,56,118,0,0,104,118,0,0,112,183,4,0,112,183,4,0,144,183,4,0,144,183,4,0,160,183,4,0,160,183,4,0,176,183,4,0,208,183,4,0,224,183,4,0,240,183,4,0,24,120,0,0,16,184,4,0,48,184,4,0,160,132,0,0,208,132,0,0,2,0,0,0,240,187,4,0,8,240,4,0,0,0,0,0,3,0,0,0,240,171,4,0,16,172,4,0,255,255,255,255,152,58,0,0,56,74,0,0,48,172,4,0,64,172,4,0,80,172,4,0,136,114,0,0,184,114,0,0,160,172,4,0,160,172,4,0,160,172,4,0,176,173,4,0,224,173,4,0,16,177,4,0,16,177,4,0,64,180,4,0,56,118,0,0,104,118,0,0,112,183,4,0,112,183,4,0,144,183,4,0,144,183,4,0,160,183,4,0,160,183,4,0,176,183,4,0,208,183,4,0,224,183,4,0,240,183,4,0,24,120,0,0,16,184,4,0,48,184,4,0,160,132,0,0,208,132,0,0,2,0,0,0,240,187,4,0,248,187,4,0,0,0,0,0,2,0,0,0,216,171,4,0,0,168,4,0,2,0,0,0,40,35,0,0,152,58,0,0,24,168,4,0,24,168,4,0,32,168,4,0,136,114,0,0,184,114,0,0,96,168,4,0,0,0,0,0,96,168,4,0,184,115,0,0,48,169,4,0,48,169,4,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,152,171,4,0,224,119,0,0,240,119,0,0,176,171,4,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,200,171,4,0,184,47,1,0,0,0,0,0,2,0,0,0,232,167,4,0,0,168,4,0,255,255,255,255,40,35,0,0,152,58,0,0,24,168,4,0,24,168,4,0,32,168,4,0,136,114,0,0,184,114,0,0,96,168,4,0,0,0,0,0,96,168,4,0,184,115,0,0,48,169,4,0,48,169,4,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,152,171,4,0,224,119,0,0,240,119,0,0,176,171,4,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,200,171,4,0,248,180,0,0,0,0,0,0,2,0,0,0,208,167,4,0,40,114,0,0,2,0,0,0,64,31,0,0,40,35,0,0,64,114,0,0,64,114,0,0,72,114,0,0,136,114,0,0,184,114,0,0,232,114,0,0,0,0,0,0,232,114,0,0,184,115,0,0,208,115,0,0,208,115,0,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,208,119,0,0,224,119,0,0,240,119,0,0,0,120,0,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,240,180,0,0,184,47,1,0,0,0,0,0,2,0,0,0,184,167,4,0,40,114,0,0,255,255,255,255,64,31,0,0,40,35,0,0,64,114,0,0,64,114,0,0,72,114,0,0,136,114,0,0,184,114,0,0,232,114,0,0,0,0,0,0,232,114,0,0,184,115,0,0,208,115,0,0,208,115,0,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,208,119,0,0,224,119,0,0,240,119,0,0,0,120,0,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,240,180,0,0,248,180,0,0,0,0,0,0,11,0,0,0,200,113,0,0,64,164,1,0,2,0,0,0,80,195,0,0,64,13,3,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,200,160,2,0,0,0,0,0,11,0,0,0,200,113,0,0,64,164,1,0,255,255,255,255,80,195,0,0,64,13,3,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,0,0,0,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,136,217,1,0,0,0,0,0,2,0,0,0,200,113,0,0,40,114,0,0,2,0,0,0,0,0,0,0,64,31,0,0,64,114,0,0,64,114,0,0,72,114,0,0,136,114,0,0,184,114,0,0,232,114,0,0,0,0,0,0,232,114,0,0,184,115,0,0,208,115,0,0,208,115,0,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,208,119,0,0,224,119,0,0,240,119,0,0,0,120,0,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,240,180,0,0,184,47,1,0,0,0,0,0,2,0,0,0,200,113,0,0,40,114,0,0,255,255,255,255,0,0,0,0,64,31,0,0,64,114,0,0,64,114,0,0,72,114,0,0,136,114,0,0,184,114,0,0,232,114,0,0,0,0,0,0,232,114,0,0,184,115,0,0,208,115,0,0,208,115,0,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,208,119,0,0,224,119,0,0,240,119,0,0,0,120,0,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,240,180,0,0,248,180,0,0,0,0,0,0,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,154,153,153,153,153,153,185,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,2,0,0,0,2,0,0,32,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,30,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,242,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,90,0,0,0,90,0,0,0,95,0,0,0,95,0,0,0,95,0,0,0,95,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,232,255,255,255,226,255,255,255,216,255,255,255,216,255,255,255,211,255,255,255,211,255,255,255,211,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,0,0,0,0,10,0,0,0,10,0,0,0,255,255,255,255,10,0,0,0,10,0,0,0,255,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,226,255,255,255,216,255,255,255,216,255,255,255,211,255,255,255,211,255,255,255,211,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,14,0,0,0,14,0,0,0,15,0,0,0,15,0,0,0,16,0,0,0,16,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,18,0,0,0,18,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,64,0,0,0,64,0,0,0,8,0,0,0,8,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,156,255,255,255,156,255,255,255,151,255,255,255,0,0,0,0,126,255,255,255,126,255,255,255,116,255,255,255,0,0,0,0,0,0,0,0,0,0,8,64],"i8",N3,x.GLOBAL_BASE+20480),E3([0,0,0,0,0,0,16,64,0,0,0,0,0,0,16,64,8,0,0,0,0,0,160,65,0,0,96,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,112,194,0,0,240,193,0,0,32,194,0,0,32,194,0,0,32,194,0,0,32,194,0,0,32,194,0,0,0,64,0,0,150,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,96,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,194,0,0,240,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,0,64,0,0,160,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,64,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,160,193,0,0,160,193,0,0,112,193,0,0,112,193,0,0,112,193,0,0,112,193,0,0,112,193,0,0,0,0,0,0,160,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,32,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,160,193,0,0,112,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,0,0,0,0,160,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,32,65,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,112,193,0,0,112,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,0,0,0,0,170,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,8,64,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,3,1,0,24,3,1,0,48,3,1,0,80,3,1,0,112,3,1,0,160,3,1,0,208,3,1,0,232,3,1,0,40,4,1,0,104,4,1,0,152,4,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,128,0,0,0,33,0,0,0,8,0,0,0,16,0,0,0,70,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,128,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,1,0,0,66,0,0,0,16,0,0,0,32,0,0,0,140,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,0,1,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,128,0,0,0,14,0,0,0,4,0,0,0,58,0,0,0,2,0,0,0,8,0,0,0,28,0,0,0,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,128,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,1,0,0,28,0,0,0,8,0,0,0,116,0,0,0,4,0,0,0,16,0,0,0,56,0,0,0,180,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,0,1,0,0,4,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,6,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,128,0,0,0,8,0,0,0,33,0,0,0,4,0,0,0,16,0,0,0,70,0,0,0,2,0,0,0,6,0,0,0,12,0,0,0,23,0,0,0,46,0,0,0,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,128,0,0,0,6,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,6,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,128,0,0,0,12,0,0,0,46,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,23,0,0,0,33,0,0,0,70,0,0,0,2,0,0,0,6,0,0,0,10,0,0,0,14,0,0,0,19,0,0,0,28,0,0,0,39,0,0,0,58,0,0,0,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,128,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2],"i8",N3,x.GLOBAL_BASE+30720),E3([1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,1,0,0,66,0,0,0,16,0,0,0,32,0,0,0,140,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,0,1,0,0,8,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,12,0,0,0,13,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,4,0,0,93,0,0,0,23,0,0,0,116,1,0,0,6,0,0,0,46,0,0,0,186,0,0,0,238,2,0,0,14,0,0,0,33,0,0,0,65,0,0,0,130,0,0,0,4,1,0,0,44,2,0,0,3,0,0,0,10,0,0,0,18,0,0,0,28,0,0,0,39,0,0,0,55,0,0,0,79,0,0,0,111,0,0,0,158,0,0,0,220,0,0,0,56,1,0,0,208,1,0,0,138,2,0,0,82,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,64,64,0,0,144,65,0,4,0,0,8,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,12,0,0,0,13,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,8,0,0,186,0,0,0,46,0,0,0,232,2,0,0,12,0,0,0,92,0,0,0,116,1,0,0,220,5,0,0,28,0,0,0,66,0,0,0,130,0,0,0,4,1,0,0,8,2,0,0,88,4,0,0,6,0,0,0,20,0,0,0,36,0,0,0,56,0,0,0,78,0,0,0,110,0,0,0,158,0,0,0,222,0,0,0,60,1,0,0,184,1,0,0,112,2,0,0,160,3,0,0,20,5,0,0,164,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,64,64,0,0,144,65,0,8,0,0,6,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,6,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,2,0,0,46,0,0,0,186,0,0,0,16,0,0,0,33,0,0,0,65,0,0,0,93,0,0,0,130,0,0,0,22,1,0,0,7,0,0,0,23,0,0,0,39,0,0,0,55,0,0,0,79,0,0,0,110,0,0,0,156,0,0,0,232,0,0,0,104,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,10,0,0,0,248,2,1,0,0,0,0,0,8,181,0,0,24,206,0,0,8,181,0,0,56,206,0,0,1],"i8",N3,x.GLOBAL_BASE+41032),E3([1],"i8",N3,x.GLOBAL_BASE+49544),E3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],"i8",N3,x.GLOBAL_BASE+50572),E3([1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,8,245,0,0,8,245,0,0,48,245,0,0,48,245,0,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,112,217,0,0,112,217,0,0,152,217,0,0,152,217,0,0,0,0,0,0,255,255,255,255,255,255,255,255,10,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,x.GLOBAL_BASE+52752),E3([1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,16,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,30,0,0,0,255,255,255,255,50,0,0,0,255,255,255,255,80,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,136,233,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,219,0,0,0,0,0,0,72,219,0,0,112,219,0,0,0,0,0,0,0,0,0,0,152,219,0,0,192,219,0,0,0,0,0,0,0,0,0,0,232,219,0,0,16,220,0,0,56,220,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,81,0,0,0,32,233,0,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,120,233,0,0,0,0,0,0,4,0,0,0,81,0,0,0,184,232,0,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,16,233,0,0,0,0,0,0,4,0,0,0,113,2,0,0,40,230,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,232,0,0,0,0,0,0,4,0,0,0,113,2,0,0,152,227,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,230,0,0,0,0,0,0,2,0,0,0,81,0,0,0,24,227,0,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,112,227,0,0,0,0,0,0,2,0,0,0,81,0,0,0,152,226,0,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,240,226,0,0,0,0,0,0,4,0,0,0,81,0,0,0,48,226,0,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,136,226,0,0,0,0,0,0,2,0,0,0,121,0,0,0,128,225,0,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,0,226,0,0,0,0,0,0,2,0,0,0,121,0,0,0,208,224,0,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,80,225,0,0,0,0,0,0,2,0,0,0,121,0,0,0,32,224,0,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,160,224,0,0,0,0,0,0,2,0,0,0,225,0,0,0,248,222,0,0,1,0,0,0,0,228,91,225,0,224,255,96,4,0,0,0,0,0,0,0,224,223,0,0,0,0,0,0,2,0,0,0,225,0,0,0,208,221,0,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,184,222,0,0,0,0,0,0,2,0,0,0,33,1,0,0,96,220,0,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,136,221,0,0,0,0,0,0,2,5,4,6,6,8,8,8,8,8,9,9,9,9,9,9,9,5,6,6,7,7,8,8,9,8,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,8,9,9,9,9,9,9,9,9,9,7,7,7,8,8,9,9,9,9,9,9,9,9,9,10,10,9,7,7,7,8,8,9,9,9,9,9,9,9,9,9,9,10,10,8,8,8,9,9,9,9,10,10,10,9,10,10,10,10,10,10,8,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,7,7,9,9,7,7,8,8,10,10,11,11,4,7,7,9,9,10,10,8,8,10,10,10,11,10,11,4,7,7,9,9,10,10,8,8,10,9,11,11,11,11,7,9,9,12,12,11,12,10,10,11,10,12,11,11,11,7,9,9,11,11,13,12,9,9,11,10,11,11,12,11,9,10,10,12,12,14,14,10,10,11,12,12,11,11,11,9,10,11,11,13,14,13,10,11,11,11,12,11,12,12,7,8,8,10,9,11,10,11,12,12,11,12,14,12,13,7,8,8,9,10,10,11,12,12,12,11,12,12,12,13,9,9,9,11,11,13,12,12,12,12,11,12,12,13,12,8,10,10,11,10,11,12,12,12,12,12,12,14,12,12,9,11,11,11,12,12,12,12,13,13,12,12,13,13,12,10,11,11,12,11,12,12,12,11,12,13,12,12,12,13,11,11,12,12,12,13,12,12,11,12,13,13,12,12,13,12,11,12,12,13,13,12,13,12,13,13,13,13,14,13,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,4,4,11,11,11,11,11,11,11,11,11,11,11,11,3,11,8,11,11,11,11,11,11,11,11,11,11,11,11,3,9,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,5,5,6,6,7,7,7,7,8,8,5,6,6,7,7,7,7,8,8,8,8,5,6,6,7,7,7,7,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,7,8,8,8,8,8,8,9,8,9,9,8,8,8,8,8,8,8,9,9,9,9,8,8,8,8,8,8,8,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,10,11,11,4,6,6,7,7,9,9,11,11,13,12,4,6,6,7,7,9,9,11,11,12,12,6,7,7,9,9,11,11,12,12,13,13,6,7,7,9,9,11,11,12,12,13,13,8,9,9,11,11,12,12,13,13,14,14,8,9,9,11,11,12,12,13,13,14,14,9,11,11,12,12,13,13,14,14,15,15,9,11,11,12,12,13,13,14,14,15,14,11,12,12,13,13,14,14,15,15,16,16,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,4,5,5,7,7,8,8,9,9,9,9,4,5,5,7,7,8,8,9,9,9,9,6,7,7,8,8,8,8,9,9,9,9,6,7,7,8,8,8,8,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,9,9,8,10,10,8,10,10,5,9,9,7,10,10,8,10,10,4,10,10,9,12,12,9,11,11,7,12,11,10,11,13,10,13,13,7,12,12,10,13,12,10,13,13,4,10,10,9,12,12,9,12,12,7,12,12,10,13,13,10,12,13,7,11,12,10,13,13,10,13,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,6,6,7,7,9,9,4,4,5,6,6,7,7,9,9,4,4,4,6,6,7,7,9,9,6,6,6,7,7,8,8,9,9,6,6,6,7,7,8,8,9,9,7,7,7,8,8,8,9,10,10,7,7,7,8,8,9,8,10,10,9,9,9,9,9,10,10,10,10,9,9,9,9,9,10,10,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,5,8,7,8,8,10,10,4,6,6,8,8,8,8,10,10,7,8,8,9,9,9,9,11,11,7,8,8,9,9,9,9,11,11,8,8,8,9,9,10,10,12,11,8,8,8,9,9,10,10,11,11,9,10,10,11,11,11,11,13,12,9,10,10,11,11,12,12,12,13,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,9,9,6,7,7,9,9,6,7,7,9,9,9,9,9,11,11,9,9,9,11,11,6,7,7,9,9,7,7,8,9,10,7,7,8,9,10,9,9,10,10,11,9,9,10,10,12,6,7,7,9,9,7,8,7,10,9,7,8,7,10,9,9,10,9,12,11,10,10,9,12,10,9,10,10,12,11,9,10,10,12,11,9,10,10,12,12,11,11,12,12,13,11,11,12,12,13,9,9,10,12,11,9,10,10,12,12,10,10,10,12,12,11,12,11,13,12,11,12,11,13,12,6,7,7,9,9,7,8,8,10,10,7,8,7,10,9,10,10,10,12,12,10,10,10,12,11,7,8,7,10,10,7,7,9,10,11,8,9,9,11,10,10,10,11,10,12,10,10,11,12,12,7,8,8,10,10,7,9,8,11,10,8,8,9,11,11,10,11,10,12,11,10,11,11,12,12,9,10,10,12,12,9,10,10,12,12,10,11,11,13,12,11,10,12,10,14,12,12,12,13,14,9,10,10,12,12,9,11,10,12,12,10,11,11,12,12,11,12,11,14,12,12,12,12,14,14,5,7,7,9,9,7,7,7,9,10,7,8,8,10,10,10,10,10,11,11,10,10,10,12,12,7,8,8,10,10,8,9,8,11,10,7,8,9,10,11,10,10,10,11,12,10,10,11,11,13,6,7,8,10,10,8,9,9,10,10,7,9,7,11,10,10,11,10,12,12,10,11,10,12,10,9,10,10,12,12,10,11,11,13,12,9,10,10,12,12,12,12,12,14,13,11,11,12,11,14,9,10,10,11,12,10,11,11,12,13,9,10,10,12,12,12,12,12,14,13,11,12,10,14,11,9,9,10,11,12,9,10,10,12,12,9,10,10,12,12,12,12,12,14,14,11,12,12,13,12,9,10,9,12,12,9,10,11,12,13,10,11,10,13,11,12,12,13,13,14,12,12,12,13,13,9,10,10,12,12,10,11,10,13,12,10,10,11,12,13,12,13,12,14,13,12,12,12,13,14,11,12,11,14,13,10,10,11,13,13,12,12,12,14,13,12,10,14,10,15,13,14,14,14,14,11,11,12,13,14,10,12,11,13,13,12,12,12,13,15,12,13,11,15,12,13,13,14,14,14,9,10,9,12,12,9,10,10,12,12,10,10,10,12,12,11,11,12,12,13,12,12,12,14,14,9,10,10,12,12,10,11,10,13,12,10,10,11,12,13,12,12,12,14,13,12,12,13,13,14,9,10,10,12,13,10,10,11,11,12,9,11,10,13,12,12,12,12,13,14,12,13,12,14,13,11,12,11,13,13,12,13,12,14,13,10,11,12,13,13,13,13,13,14,15,12,11,14,12,14,11,11,12,12,13,12,12,12,13,14,10,12,10,14,13,13,13,13,14,15,12,14,11,15,10,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,7,7,6,7,7,9,9,6,7,7,9,9,8,10,9,11,11,9,9,9,11,11,6,8,8,10,10,8,10,10,11,11,8,9,10,11,11,10,11,11,12,12,10,11,11,12,13,6,8,8,10,10,8,10,9,11,11,8,10,9,11,11,10,11,11,12,12,10,11,11,12,12,9,11,11,14,13,10,12,11,14,14,10,12,11,14,13,12,13,13,15,14,12,13,13,15,14,8,11,11,13,14,10,11,12,13,15,10,11,12,14,14,12,13,13,14,15,12,13,13,14,15,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,13,11,12,12,13,14,8,10,10,12,12,9,11,12,13,14,10,12,12,13,13,12,12,13,14,14,11,13,13,15,15,7,10,10,12,12,9,12,11,14,12,10,11,12,13,14,12,13,12,14,14,12,13,13,15,16,10,12,12,15,14,11,12,13,15,15,11,13,13,15,16,14,14,15,15,16,13,14,15,17,15,9,12,12,14,15,11,13,12,15,15,11,13,13,15,15,13,14,13,15,14,13,14,14,17,0,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,14,7,10,10,12,12,10,12,12,13,13,9,11,12,12,13,11,12,13,15,15,11,12,13,14,15,8,10,10,12,12,10,12,11,13,13,10,12,11,13,13,11,13,13,15,14,12,13,12,15,13,9,12,12,14,14,11,13,13,16,15,11,12,13,16,15,13,14,15,16,16,13,13,15,15,16,10,12,12,15,14,11,13,13,14,16,11,13,13,15,16,13,15,15,16,17,13,15,14,16,15,8,11,11,14,15,10,12,12,15,15,10,12,12,15,16,14,15,15,16,17,13,14,14,16,16,9,12,12,15,15,11,13,14,15,17,11,13,13,15,16,14,15,16,19,17,13,15,15,0,17,9,12,12,15,15,11,14,13,16,15,11,13,13,15,16,15,15,15,18,17,13,15,15,17,17,11,15,14,18,16,12,14,15,17,17,12,15,15,18,18,15,15,16,15,19,14,16,16,0,0,11,14,14,16,17,12,15,14,18,17,12,15,15,18,18,15,17,15,18,16,14,16,16,18,18,7,11,11,14,14,10,12,12,15,15,10,12,13,15,15,13,14,15,16,16,14,15,15,18,18,9,12,12,15,15,11,13,13,16,15,11,12,13,16,16,14,15,15,17,16,15,16,16,17,17,9,12,12,15,15,11,13,13,15,17,11,14,13,16,15,13,15,15,17,17,15,15,15,18,17,11,14,14,17,15,12,14,15,17,18,13,13,15,17,17,14,16,16,19,18,16,15,17,17,0,11,14,14,17,17,12,15,15,18,0,12,15,14,18,16,14,17,17,19,0,16,18,15,0,16,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,5,5,6,6,5,6,6,5,7,6,6,7,8,6,7,8,5,6,6,6,8,7,6,8,7,5,6,6,7,8,8,6,7,7,6,8,7,7,7,9,8,9,9,6,7,8,7,9,7,8,9,9,5,6,6,6,7,7,7,8,8,6,8,7,8,9,9,7,7,9,6,7,8,8,9,9,7,9,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,7,9,10,7,9,9,5,8,8,7,10,9,7,9,9,5,8,8,8,10,10,8,10,10,7,10,10,9,10,12,10,12,12,7,10,10,9,12,11,10,12,12,5,8,8,8,10,10,8,10,10,7,10,10,10,12,12,9,11,12,7,10,10,10,12,12,9,12,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,13,9,15,9,16,8,10,13,7,5,8,6,9,7,10,7,10,11,11,6,7,8,8,9,9,9,12,16,8,5,8,6,8,6,9,7,10,12,11,7,7,7,6,7,7,7,11,15,7,5,8,6,7,5,7,6,9,13,13,9,9,8,6,6,5,5,9,14,8,6,8,6,6,4,5,3,5,13,9,9,11,8,10,7,8,4,5,12,11,16,17,15,17,12,13,8,8,15,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,8,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,x.GLOBAL_BASE+55148),E3([1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,25,0,0,0,255,255,255,255,45,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,184,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,245,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,246,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,246,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,246,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,246,0,0,0,0,0,0,184,246,0,0,224,246,0,0,0,0,0,0,0,0,0,0,8,247,0,0,48,247,0,0,88,247,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,81,0,0,0,80,2,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,2,1,0,0,0,0,0,4,0,0,0,81,0,0,0,232,1,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,64,2,1,0,0,0,0,0,4,0,0,0,113,2,0,0,88,255,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,1,1,0,0,0,0,0,4,0,0,0,113,2,0,0,200,252,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,255,0,0,0,0,0,0,2,0,0,0,81,0,0,0,72,252,0,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,160,252,0,0,0,0,0,0,2,0,0,0,169,0,0,0,96,251,0,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,16,252,0,0,0,0,0,0,2,0,0,0,25,0,0,0,40,251,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,251,0,0,0,0,0,0,4,0,0,0,81,0,0,0,192,250,0,0,1,0,0,0,0,176,19,225,0,176,19,97,2,0,0,0,0,0,0,0,24,251,0,0,0,0,0,0,2,0,0,0,225,0,0,0,152,249,0,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,128,250,0,0,0,0,0,0,2,0,0,0,185,1,0,0,128,247,0,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,64,249,0,0,0,0,0,0,1,6,5,7,7,9,9,9,9,10,12,12,10,11,11,10,11,11,11,10,11,6,8,8,9,9,10,10,9,10,11,11,10,11,11,11,11,10,11,11,11,11,6,7,8,9,9,9,10,11,10,11,12,11,10,11,11,11,11,11,11,12,10,8,9,9,10,9,10,10,9,10,10,10,10,10,9,10,10,10,10,9,10,10,9,9,9,9,10,10,9,9,10,10,11,10,9,12,10,11,10,9,10,10,10,8,9,9,10,9,10,9,9,10,10,9,10,9,11,10,10,10,10,10,9,10,8,8,9,9,10,9,11,9,8,9,9,10,11,10,10,10,11,12,9,9,11,8,9,8,11,10,11,10,10,9,11,10,10,10,10,10,10,10,11,11,11,11,8,9,9,9,10,10,10,11,11,12,11,12,11,10,10,10,12,11,11,11,10,8,10,9,11,10,10,11,12,10,11,12,11,11,12,11,12,12,10,11,11,10,9,9,10,11,12,10,10,10,11,10,11,11,10,12,12,10,11,10,11,12,10,9,10,10,11,10,11,11,11,11,11,12,11,11,11,9,11,10,11,10,11,10,9,9,10,11,11,11,10,10,11,12,12,11,12,11,11,11,12,12,12,12,11,9,11,11,12,10,11,11,11,11,11,11,12,11,11,12,11,11,11,10,11,11,9,11,10,11,11,11,10,10,10,11,11,11,12,10,11,10,11,11,11,11,12,9,11,10,11,11,10,10,11,11,9,11,11,12,10,10,10,10,10,11,11,10,9,10,11,11,12,11,10,10,12,11,11,12,11,12,11,11,10,10,11,11,10,12,11,10,11,10,11,10,10,10,11,11,10,10,11,11,11,11,10,10,10,12,11,11,11,11,10,9,10,11,11,11,12,11,11,11,12,10,11,11,11,9,10,11,11,11,11,11,11,10,10,11,11,12,11,10,11,12,11,10,10,11,9,10,11,11,11,11,11,10,11,11,10,12,11,11,11,12,11,11,11,10,10,11,11,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,5,5,5,5,10,10,11,11,11,11,11,11,11,11,5,7,6,8,8,9,10,11,11,11,11,11,11,11,11,6,6,7,9,7,11,10,11,11,11,11,11,11,11,11,5,6,6,11,8,11,11,11,11,11,11,11,11,11,11,5,6,6,9,10,11,10,11,11,11,11,11,11,11,11,7,10,10,11,11,11,11,11,11,11,11,11,11,11,11,7,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,4,6,5,7,7,4,5,6,7,7,6,7,7,7,7,6,7,7,7,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,9,9,11,11,12,12,16,16,3,6,6,9,9,11,11,12,12,13,14,18,16,3,6,7,9,9,11,11,13,12,14,14,17,16,7,9,9,11,11,12,12,14,14,14,14,17,16,7,9,9,11,11,13,12,13,13,14,14,17,0,9,11,11,12,13,14,14,14,13,15,14,17,17,9,11,11,12,12,14,14,13,14,14,15,0,0,11,12,12,15,14,15,14,15,14,15,16,17,0,11,12,13,13,13,14,14,15,14,15,15,0,0,12,14,14,15,15,14,16,15,15,17,16,0,18,13,14,14,15,14,15,14,15,16,17,16,0,0,17,17,18,0,16,18,16,0,0,0,17,0,0,16,0,0,16,16,0,15,0,17,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,7,8,8,10,10,4,6,6,8,8,8,8,10,10,6,8,8,9,9,9,9,11,11,7,8,8,9,9,9,9,11,11,7,8,8,9,9,10,10,12,11,7,8,8,9,9,10,10,11,11,9,10,10,11,11,11,12,12,12,9,10,10,11,11,12,12,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,5,6,7,9,9,6,7,6,9,9,9,9,9,10,11,9,9,9,11,10,6,7,7,10,10,7,7,8,10,10,7,8,8,10,10,10,10,10,10,11,9,10,10,11,12,6,7,7,10,10,7,8,8,10,10,7,8,7,10,10,9,10,10,12,11,10,10,10,11,10,9,10,10,12,11,10,10,10,13,11,9,10,10,12,12,11,11,12,12,13,11,11,11,12,13,9,10,10,12,12,10,10,11,12,12,10,10,11,12,12,11,11,11,13,13,11,12,12,13,13,5,7,7,10,10,7,8,8,10,10,7,8,8,10,10,10,11,11,12,12,10,11,10,12,12,7,8,8,11,11,7,8,9,10,11,8,9,9,11,11,11,10,11,10,12,10,11,11,12,13,7,8,8,10,11,8,9,8,12,10,8,9,9,11,12,10,11,10,13,11,10,11,11,13,12,9,11,10,13,12,10,10,11,12,12,10,11,11,13,13,12,10,13,11,14,11,12,12,15,13,9,11,11,13,13,10,11,11,13,12,10,11,11,12,14,12,13,11,14,12,12,12,12,14,14,5,7,7,10,10,7,8,8,10,10,7,8,8,11,10,10,11,11,12,12,10,11,10,12,12,7,8,8,10,11,8,9,9,12,11,8,8,9,10,11,10,11,11,12,13,11,10,11,11,13,6,8,8,10,11,8,9,9,11,11,7,9,7,11,10,10,11,11,12,12,10,11,10,13,10,9,11,10,13,12,10,12,11,13,13,10,10,11,12,13,11,12,13,15,14,11,11,13,12,13,9,10,11,12,13,10,11,11,12,13,10,11,10,13,12,12,13,13,13,14,12,12,11,14,11,8,10,10,12,13,10,11,11,13,13,10,11,10,13,13,12,13,14,15,14,12,12,12,14,13,9,10,10,13,12,10,10,12,13,13,10,11,11,15,12,12,12,13,15,14,12,13,13,15,13,9,10,11,12,13,10,12,10,13,12,10,11,11,12,13,12,14,12,15,13,12,12,12,15,14,11,12,11,14,13,11,11,12,14,14,12,13,13,14,13,13,11,15,11,15,14,14,14,16,15,11,12,12,13,14,11,13,11,14,14,12,12,13,14,15,12,14,12,15,12,13,15,14,16,15,8,10,10,12,12,10,10,10,12,13,10,11,11,13,13,12,12,12,13,14,13,13,13,15,15,9,10,10,12,12,10,11,11,13,12,10,10,11,13,13,12,12,12,14,14,12,12,13,15,14,9,10,10,13,12,10,10,12,12,13,10,11,10,13,13,12,13,13,14,14,12,13,12,14,13,11,12,12,14,13,12,13,12,14,14,10,12,12,14,14,14,14,14,16,14,13,12,14,12,15,10,12,12,14,15,12,13,13,14,16,11,12,11,15,14,13,14,14,14,15,13,14,11,14,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,7,7,6,7,7,9,9,6,7,7,9,9,8,10,9,11,11,8,9,9,11,11,6,8,8,10,10,8,10,10,11,11,8,10,10,11,11,10,11,11,12,12,10,11,11,12,13,6,8,8,10,10,8,10,10,11,11,8,10,10,11,11,9,10,11,12,12,10,11,11,12,12,8,11,11,14,13,10,12,11,15,13,10,12,11,14,14,12,13,12,16,14,12,14,12,16,15,8,11,11,13,14,10,11,12,13,15,10,11,12,13,15,11,12,13,14,15,12,12,14,14,16,5,8,8,11,11,9,11,11,12,12,8,10,11,12,12,11,12,12,15,14,11,12,12,14,14,7,11,10,13,12,10,11,12,13,14,10,12,12,14,13,12,13,13,14,15,12,13,13,15,15,7,10,11,12,13,10,12,11,14,13,10,12,13,13,15,12,13,12,14,14,11,13,13,15,16,9,12,12,15,14,11,13,13,15,16,11,13,13,16,16,13,14,15,15,15,12,14,15,17,16,9,12,12,14,15,11,13,13,15,16,11,13,13,16,18,13,14,14,17,16,13,15,15,17,18,5,8,9,11,11,8,11,11,12,12,8,10,11,12,12,11,12,12,14,14,11,12,12,14,15,7,11,10,12,13,10,12,12,14,13,10,11,12,13,14,11,13,13,15,14,12,13,13,14,15,7,10,11,13,13,10,12,12,13,14,10,12,12,13,13,11,13,13,16,16,12,13,13,15,14,9,12,12,16,15,10,13,13,15,15,11,13,13,17,15,12,15,15,18,17,13,14,14,15,16,9,12,12,15,15,11,13,13,15,16,11,13,13,15,15,12,15,15,16,16,13,15,14,17,15,7,11,11,15,15,10,13,13,16,15,10,13,13,15,16,14,15,15,17,19,13,15,14,15,18,9,12,12,16,16,11,13,14,17,16,11,13,13,17,16,15,15,16,17,19,13,15,16,0,18,9,12,12,16,15,11,14,13,17,17,11,13,14,16,16,15,16,16,19,18,13,15,15,17,19,11,14,14,19,16,12,14,15,0,18,12,16,15,18,17,15,15,18,16,19,14,15,17,19,19,11,14,14,18,19,13,15,14,19,19,12,16,15,18,17,15,17,15,0,16,14,17,16,19,0,7,11,11,14,14,10,12,12,15,15,10,13,13,16,15,13,15,15,17,0,14,15,15,16,19,9,12,12,16,16,11,14,14,16,16,11,13,13,16,16,14,17,16,19,0,14,18,17,17,19,9,12,12,15,16,11,13,13,15,17,12,14,13,19,16,13,15,15,17,19,15,17,16,17,19,11,14,14,19,16,12,15,15,19,17,13,14,15,17,19,14,16,17,19,19,16,15,16,17,19,11,15,14,16,16,12,15,15,19,0,12,14,15,19,19,14,16,16,0,18,15,19,14,18,16,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,6,7,8,6,7,8,5,7,7,6,8,8,7,9,7,5,7,7,7,9,9,7,8,8,6,9,8,7,7,10,8,10,10,6,8,8,8,10,8,8,10,10,5,7,7,7,8,8,7,8,9,6,8,8,8,10,10,8,8,10,6,8,9,8,10,10,7,10,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,8,10,10,7,10,10,5,8,8,7,10,10,8,10,10,4,9,8,8,11,11,8,11,11,7,11,11,10,11,13,10,13,13,7,11,11,10,13,12,10,13,13,5,9,8,8,11,11,8,11,11,7,11,11,9,13,13,10,12,13,7,11,11,10,13,13,10,13,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,11,9,12,8,7,10,6,4,5,5,7,5,6,16,9,5,5,6,7,7,9,16,7,4,6,5,7,5,7,17,10,7,7,8,7,7,8,18,7,5,6,4,5,4,5,15,7,6,7,5,6,4,5,15,12,13,18,12,17,11,9,17,6,0,0,0,6,0,0,0,120,45,1,0,160,45,1,0,200,45,1,0,240,45,1,0,24,46,1,0,0,0,0,0,56,43,1,0,96,43,1,0,136,43,1,0,176,43,1,0,216,43,1,0,0,0,0,0,216,39,1,0,0,40,1,0,40,40,1,0,80,40,1,0,120,40,1,0,160,40,1,0,200,40,1,0,240,40,1,0,120,36,1,0,160,36,1,0,200,36,1,0,240,36,1,0,24,37,1,0,64,37,1,0,104,37,1,0,144,37,1,0,80,31,1,0,120,31,1,0,160,31,1,0,200,31,1,0,240,31,1,0,24,32,1,0,64,32,1,0,104,32,1,0,144,32,1,0,184,32,1,0,224,32,1,0,8,33,1,0,40,26,1,0,80,26,1,0,120,26,1,0,160,26,1,0,200,26,1,0,240,26,1,0,24,27,1,0,64,27,1,0,104,27,1,0,144,27,1,0,184,27,1,0,224,27,1,0,232,23,1,0,16,24,1,0,56,24,1,0,96,24,1,0,136,24,1,0,0,0,0,0,216,16,1,0,0,17,1,0,40,17,1,0,80,17,1,0,120,17,1,0,160,17,1,0,200,17,1,0,240,17,1,0,24,18,1,0,64,18,1,0,104,18,1,0,144,18,1,0,184,18,1,0,224,18,1,0,8,19,1,0,0,0,0,0,200,9,1,0,240,9,1,0,24,10,1,0,64,10,1,0,104,10,1,0,144,10,1,0,184,10,1,0,224,10,1,0,8,11,1,0,48,11,1,0,88,11,1,0,128,11,1,0,168,11,1,0,208,11,1,0,248,11,1,0,0,0,0,0,160,4,1,0,200,4,1,0,240,4,1,0,24,5,1,0,64,5,1,0,104,5,1,0,144,5,1,0,184,5,1,0,224,5,1,0,8,6,1,0,48,6,1,0,88,6,1,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,192,9,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,128,9,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,64,9,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,192,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,160,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,32,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,8,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,208,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,80,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,56,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,0,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,128,6,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,8,4,8,4,8,4,8,5,8,5,8,6,8,4,8,4,8,5,8,5,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,3,4,3,5,4,6,4,6,5,7,6,7,6,8,6,8,7,9,8,10,8,12,9,13,10,15,10,15,11,14,0,0,0,0,0,0,0,4,4,4,4,4,4,3,4,4,4,4,4,5,4,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,4,3,4,4,5,5,6,6,7,7,7,8,8,11,8,9,9,9,10,11,11,11,9,10,10,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,4,3,4,4,5,4,5,4,6,4,6,5,6,5,7,5,7,6,8,6,8,6,8,7,8,7,9,7,9,8,0,0,0,0,0,0,0,4,5,4,4,4,5,4,4,4,5,4,5,4,5,3,5,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,5,3,5,4,5,4,5,4,5,5,5,5,6,5,6,5,7,5,8,6,8,6,8,6,8,6,8,7,9,7,9,7,11,9,11,11,12,11,14,12,14,16,14,16,13,16,14,16,12,15,13,16,14,16,13,14,12,15,13,15,13,13,13,15,12,14,14,15,13,15,12,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,2,4,5,4,5,4,5,4,5,5,5,5,5,5,6,5,6,5,6,6,7,6,7,6,8,7,8,7,8,7,8,7,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,5,6,6,6,6,5,6,6,7,6,7,6,7,6,7,6,8,7,8,7,8,7,8,7,8,7,9,7,9,7,9,7,9,8,9,8,10,8,10,8,10,7,10,6,10,8,10,8,11,7,10,7,11,8,11,11,12,12,11,11,12,11,13,11,13,11,13,12,15,12,13,13,14,14,14,14,14,15,15,15,16,14,17,19,19,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,2,4,6,17,4,5,7,17,8,7,10,17,17,17,17,17,3,4,6,15,3,3,6,15,7,6,9,17,17,17,17,17,6,8,10,17,6,6,8,16,9,8,10,17,17,15,16,17,17,17,17,17,12,15,15,16,12,15,15,16,16,16,16,16,3,3,3,14,5,4,4,11,8,6,6,10,17,12,11,17,6,5,5,15,5,3,4,11,8,5,5,8,16,9,10,14,10,8,9,17,8,6,6,13,10,7,7,10,16,11,13,14,17,17,17,17,17,16,16,16,16,15,16,16,16,16,16,16,1,2,3,6,5,4,7,7,1,0,0,0,16,0,0,0,200,16,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,192,16,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,192,15,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,128,15,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,0,15,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,224,14,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,96,14,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,64,14,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,192,13,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,168,13,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,112,13,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,240,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,216,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,160,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,32,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,6,5,7,5,7,7,7,7,7,5,7,5,7,5,7,5,7,7,7,7,7,4,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,4,3,4,4,4,5,5,6,5,6,5,7,6,6,6,7,7,7,8,9,9,9,12,10,11,10,10,12,10,10,0,0,0,0,0,0,0,3,4,4,4,4,4,4,4,4,5,4,5,4,5,4,4,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,6,3,7,3,7,5,7,7,7,7,7,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,4,4,4,4,4,4,5,5,5,5,6,6,7,6,7,6,8,6,9,7,9,7,9,9,11,9,12,10,12,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,3,4,3,4,4,5,4,5,5,5,6,6,6,7,6,8,6,8,6,9,7,10,7,10,7,10,7,12,7,12,7,12,9,12,11,12,10,12,10,12,11,12,12,12,10,12,10,12,10,12,9,12,11,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,10,10,12,12,12,12,12,10,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,2,4,5,4,5,4,5,4,5,5,5,5,5,5,6,5,6,5,6,6,6,6,7,7,7,7,7,7,8,8,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,5,7,5,7,4,7,4,8,4,8,4,8,4,8,3,8,4,9,4,9,4,9,4,9,4,9,5,9,5,9,6,9,7,9,8,9,9,9,10,9,11,9,14,9,15,10,15,10,15,10,15,10,15,11,15,10,14,12,14,11,14,13,14,13,15,15,15,12,15,15,15,13,15,13,15,13,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,14,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,7,6,7,6,7,6,7,6,5,5,5,5,5,5,6,5,6,5,6,5,6,5,6,5,6,5,7,5,7,5,7,5,8,5,8,5,8,5,9,5,9,6,10,6,10,6,11,6,11,6,11,6,11,6,11,6,11,6,11,6,12,7,11,7,11,7,11,7,11,7,10,7,11,7,11,7,12,7,11,8,11,8,11,8,11,8,13,8,12,9,11,9,11,9,11,10,12,10,12,9,12,10,12,11,14,12,16,12,12,11,14,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,16,16,16,16,2,4,7,13,4,5,7,15,8,7,10,16,16,14,16,16,2,4,7,16,3,4,7,14,8,8,10,16,16,16,15,16,6,8,11,16,7,7,9,16,11,9,13,16,16,16,15,16,16,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16,3,3,6,16,5,5,7,16,9,8,11,16,16,16,16,16,5,5,8,16,5,5,7,16,8,7,9,16,16,16,16,16,9,9,12,16,6,8,11,16,9,10,11,16,16,16,16,16,16,16,16,16,13,16,16,16,15,16,16,16,16,16,16,16,5,4,7,16,6,5,8,16,9,8,10,16,16,16,16,16,5,5,7,15,5,4,6,15,7,6,8,16,16,16,16,16,9,9,11,15,7,7,9,16,8,8,9,16,16,16,16,16,16,16,16,16,15,15,15,16,15,15,14,16,16,16,16,16,8,8,11,16,8,9,10,16,11,10,14,16,16,16,16,16,6,8,10,16,6,7,10,16,8,8,11,16,14,16,16,16,10,11,14,16,9,9,11,16,10,10,11,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,12,16,15,16,12,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,1,2,3,6,4,7,5,7,2,6,8,9,7,11,13,13,1,3,5,5,6,6,12,10,1,0,0,0,16,0,0,0,216,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,208,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,208,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,144,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,16,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,240,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,112,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,80,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,208,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,184,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,128,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,0,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,232,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,176,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,48,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,5,2,6,3,6,4,7,4,7,5,9,5,11,6,11,6,11,7,11,6,11,6,11,9,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,2,4,2,5,3,5,4,6,6,6,7,7,8,7,8,7,8,7,9,8,9,8,9,8,10,8,11,9,12,9,12,0,0,0,0,0,0,0,4,5,4,5,4,5,4,5,3,5,3,5,3,5,4,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,7,3,8,3,10,3,8,3,9,3,8,4,9,4,9,5,9,6,10,6,9,7,11,7,12,9,13,10,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,4,3,4,4,4,4,5,5,5,5,5,6,5,7,5,8,6,8,6,9,7,10,7,10,8,10,8,11,9,11,0,0,0,0,0,0,0,4,5,4,5,3,5,3,5,3,5,4,4,4,4,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,4,3,4,4,5,4,5,4,5,5,6,5,6,5,7,5,7,6,7,6,8,7,8,7,8,7,9,8,9,9,9,9,10,10,10,11,9,12,9,12,9,15,10,14,9,13,10,13,10,12,10,12,10,13,10,12,11,13,11,14,12,13,13,14,14,13,14,15,14,16,13,13,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,15,1,5,5,5,5,5,5,5,6,5,6,5,6,5,6,5,6,6,7,7,7,7,8,7,8,8,9,8,10,9,10,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,8,4,9,4,9,4,9,4,9,4,9,4,9,4,9,4,9,4,9,4,8,4,8,4,9,5,9,5,9,5,9,5,9,6,10,6,10,7,10,8,11,9,11,11,12,13,12,14,13,15,13,15,14,16,14,17,15,17,15,15,16,16,15,16,16,16,15,18,16,15,17,17,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,2,5,5,4,5,4,5,4,5,4,6,5,6,5,6,5,6,5,7,5,7,6,8,6,8,6,8,6,9,6,9,6,5,5,5,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,7,5,7,5,7,5,7,5,8,6,8,6,8,6,9,6,9,6,10,6,10,6,11,6,11,7,11,7,12,7,12,7,12,7,12,7,12,7,12,7,12,7,12,8,13,8,12,8,12,8,13,8,13,9,13,9,13,9,13,9,12,10,12,10,13,10,14,11,14,12,14,13,14,13,14,14,15,16,15,15,15,14,15,17,21,22,22,21,22,22,22,22,22,22,21,21,21,21,21,21,21,21,21,21,2,3,7,13,4,4,7,15,8,6,9,17,21,16,15,21,2,5,7,11,5,5,7,14,9,7,10,16,17,15,16,21,4,7,10,17,7,7,9,15,11,9,11,16,21,18,15,21,18,21,21,21,15,17,17,19,21,19,18,20,21,21,21,20,1,5,7,21,5,8,9,21,10,9,12,20,20,16,20,20,4,8,9,20,6,8,9,20,11,11,13,20,20,15,17,20,9,11,14,20,8,10,15,20,11,13,15,20,20,20,20,20,20,20,20,20,13,20,20,20,18,18,20,20,20,20,20,20,3,6,8,20,6,7,9,20,10,9,12,20,20,20,20,20,5,7,9,20,6,6,9,20,10,9,12,20,20,20,20,20,8,10,13,20,8,9,12,20,11,10,12,20,20,20,20,20,18,20,20,20,15,17,18,20,18,17,18,20,20,20,20,20,7,10,12,20,8,9,11,20,14,13,14,20,20,20,20,20,6,9,12,20,7,8,11,20,12,11,13,20,20,20,20,20,9,11,15,20,8,10,14,20,12,11,14,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,11,16,18,20,15,15,17,20,20,17,20,20,20,20,20,20,9,14,16,20,12,12,15,20,17,15,18,20,20,20,20,20,16,19,18,20,15,16,20,20,17,17,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,1,4,2,6,3,7,5,7,2,10,8,14,7,12,11,14,1,5,3,7,4,9,7,13,1,0,0,0,0,1,0,0,40,25,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,32,25,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,10,0,0,0,16,25,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,240,24,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,176,24,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,2,4,3,5,4,5,5,5,5,6,6,6,6,6,6,6,7,7,8,6,9,7,12,11,16,13,16,12,15,13,15,12,14,12,15,15,15,0,0,0,0,0,0,0,0,0,0,3,3,3,4,3,4,4,4,4,4,5,5,5,6,6,0,0,0,0,0,0,0,0,0,0,0,2,3,2,3,3,3,0,0,0,0,0,0,1,3,2,3,0,0,0,0,4,5,6,11,5,5,6,10,7,7,6,6,14,13,9,9,6,6,6,10,6,6,6,9,8,7,7,9,14,12,8,11,8,7,7,11,8,8,7,11,9,9,7,9,13,11,9,13,19,19,18,19,15,16,16,19,11,11,10,13,10,10,9,15,5,5,6,13,6,6,6,11,8,7,6,7,14,11,10,11,6,6,6,12,7,6,6,11,8,7,7,11,13,11,9,11,9,7,6,12,8,7,6,12,9,8,8,11,13,10,7,13,19,19,17,19,17,14,14,19,12,10,8,12,13,10,9,16,7,8,7,12,7,7,7,11,8,7,7,8,12,12,11,11,8,8,7,12,8,7,6,11,8,7,7,10,10,11,10,11,9,8,8,13,9,8,7,12,10,9,7,11,9,8,7,11,18,18,15,18,18,16,17,18,15,11,10,18,11,9,9,18,16,16,13,16,12,11,10,16,12,11,9,6,15,12,11,13,16,16,14,14,13,11,12,16,12,9,9,13,13,10,10,12,17,18,17,17,14,15,14,16,14,12,14,15,12,10,11,12,18,18,18,18,18,18,18,18,18,12,13,18,16,11,9,18,1,0,0,0,8,0,0,0,72,31,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,8,31,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,200,30,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,72,30,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,40,30,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,168,29,1],"i8",N3,x.GLOBAL_BASE+62212),E3([1,0,0,0,18,0,0,0,144,29,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,88,29,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,216,28,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,192,28,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,136,28,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,8,28,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,4,3,4,4,4,5,4,7,5,8,5,11,6,10,6,12,7,12,7,12,8,12,8,12,10,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,3,6,3,6,4,7,4,7,4,7,4,8,4,8,4,8,4,8,4,9,4,9,5,10,5,10,7,10,8,10,8,0,0,0,0,0,0,0,4,4,4,4,4,4,4,5,3,5,3,5,4,6,4,6,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,1,5,3,5,3,5,4,7,5,10,7,10,7,12,10,14,10,14,9,14,11,14,14,14,13,13,13,13,13,13,13,0,0,0,0,0,0,0,4,5,4,6,4,8,3,9,3,9,2,9,3,8,4,9,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,5,3,5,3,6,3,6,4,6,4,7,4,7,5,8,5,8,6,9,7,9,7,9,8,10,9,10,9,11,10,11,11,11,11,11,11,12,12,12,13,12,13,12,14,12,15,12,14,12,16,13,17,13,17,14,17,14,16,13,17,14,17,14,17,15,17,15,15,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,16,16,16,16,16,16,16,16,16,16,2,5,5,4,5,4,5,4,5,5,5,5,5,5,6,5,6,5,6,5,7,6,7,6,7,6,8,6,9,7,9,7,5,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,7,5,7,5,7,5,7,5,7,5,7,5,8,5,8,5,8,5,8,5,8,6,8,6,8,6,9,6,9,6,9,6,9,6,9,7,9,7,9,7,9,7,10,7,10,8,10,8,10,8,10,8,10,8,11,8,11,8,11,8,11,8,11,9,12,9,12,9,12,9,12,9,12,10,12,10,13,11,13,11,14,12,14,13,15,14,16,14,17,15,18,16,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,3,6,10,17,4,8,11,20,8,10,11,20,20,20,20,20,2,4,8,18,4,6,8,17,7,8,10,20,20,17,20,20,3,5,8,17,3,4,6,17,8,8,10,17,17,12,16,20,13,13,15,20,10,10,12,20,15,14,15,20,20,20,19,19,1,4,10,19,3,8,13,19,7,12,19,19,19,19,19,19,2,6,11,19,8,13,19,19,9,11,19,19,19,19,19,19,6,7,13,19,9,13,19,19,10,13,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,1,3,4,7,2,5,6,7,1,0,0,0,8,0,0,0,112,36,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,48,36,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,240,35,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,112,35,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,80,35,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,208,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,184,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,128,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,0,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,232,33,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,176,33,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,48,33,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,1,6,3,7,3,8,4,8,5,8,8,8,9,7,8,8,7,7,7,8,9,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,3,5,4,6,4,6,4,7,4,7,4,8,4,8,4,9,4,9,4,10,4,10,5,10,5,11,5,12,6,12,6,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,5,4,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,8,3,8,4,8,4,8,6,8,5,8,4,8,4,8,6,8,7,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,4,4,4,4,5,4,5,4,6,5,7,5,7,6,8,6,8,6,9,7,9,7,10,7,9,8,11,8,11,0,0,0,0,0,0,0,4,5,4,5,4,5,3,5,3,5,3,5,4,4,4,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,3,5,3,6,4,6,4,7,4,7,4,7,4,8,4,8,4,9,5,9,5,9,5,9,6,10,6,10,6,11,7,10,7,10,8,11,9,11,9,11,10,11,11,12,11,11,12,15,15,12,14,11,14,12,14,11,14,13,14,12,14,11,14,11,14,12,14,11,14,11,14,13,13,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,2,5,5,5,5,5,5,4,5,5,5,5,5,5,5,5,6,5,6,5,6,5,7,6,7,6,7,6,8,6,8,6,5,5,5,5,5,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,6,6,6,7,6,7,6,7,6,7,6,7,6,7,6,8,6,8,6,8,7,8,7,8,7,8,7,9,7,9,8,9,8,9,8,10,8,10,9,10,9,10,9,11,9,11,9,10,10,11,10,11,10,11,11,11,11,11,11,12,13,14,14,14,15,15,16,16,16,17,15,16,15,16,16,17,17,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,7,6,9,17,7,6,8,17,12,9,11,16,16,16,16,16,5,4,7,16,5,3,6,14,9,6,8,15,16,16,16,16,5,4,6,13,3,2,4,11,7,4,6,13,16,11,10,14,12,12,12,16,9,7,10,15,12,9,11,16,16,15,15,16,1,6,12,16,4,12,15,16,9,15,16,16,16,16,16,16,2,5,11,16,5,11,13,16,9,13,16,16,16,16,16,16,4,8,12,16,5,9,12,16,9,13,15,16,16,16,16,16,15,16,16,16,11,14,13,16,12,15,16,16,16,16,16,15,1,6,3,7,2,4,5,7,1,0,0,0,64,0,0,0,152,39,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,152,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,136,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,104,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,40,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,24,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,248,37,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,184,37,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,4,3,6,3,7,3,8,5,8,6,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,0,0,0,0,0,0,0,0,0,2,3,3,4,3,4,4,5,4,6,5,6,7,6,8,8,0,0,0,0,0,0,0,0,3,3,3,3,2,4,3,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,5,2,5,3,5,3,6,3,6,4,7,6,7,8,7,9,8,9,9,9,10,9,11,13,11,13,10,10,13,13,13,13,13,13,12,12,12,12,0,0,0,0,0,0,0,0,0,3,4,3,4,3,5,3,6,3,6,4,6,4,7,5,7,0,0,0,0,0,0,0,0,2,3,3,3,3,4,3,4,0,0,0,0,0,0,0,5,6,8,15,6,9,10,15,10,11,12,15,15,15,15,15,4,6,7,15,6,7,8,15,9,8,9,15,15,15,15,15,6,8,9,15,7,7,8,15,10,9,10,15,15,15,15,15,15,13,15,15,15,10,11,15,15,13,13,15,15,15,15,15,4,6,7,15,6,8,9,15,10,10,12,15,15,15,15,15,2,5,6,15,5,6,7,15,8,6,7,15,15,15,15,15,5,6,8,15,5,6,7,15,9,6,7,15,15,15,15,15,14,12,13,15,12,10,11,15,15,15,15,15,15,15,15,15,7,8,9,15,9,10,10,15,15,14,14,15,15,15,15,15,5,6,7,15,7,8,9,15,12,9,10,15,15,15,15,15,7,7,9,15,7,7,8,15,12,8,9,15,15,15,15,15,13,13,14,15,12,11,12,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,13,13,13,15,15,15,15,15,15,15,15,15,15,15,15,15,15,12,13,15,15,12,13,15,15,14,15,15,15,15,15,15,15,15,15,15,15,15,13,15,15,15,15,15,15,15,15,15,7,5,5,9,9,6,6,9,12,8,7,8,11,8,9,15,6,3,3,7,7,4,3,6,9,6,5,6,8,6,8,15,8,5,5,9,8,5,4,6,10,7,5,5,11,8,7,15,14,15,13,13,13,13,8,11,15,10,7,6,11,9,10,15,1,0,0,0,64,0,0,0,248,42,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,248,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,232,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,200,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,136,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,120,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,88,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,24,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,7,2,7,3,8,4,9,5,9,8,10,11,11,12,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,13,13,13,13,0,0,0,0,0,0,0,0,0,3,4,3,6,3,6,3,6,3,7,3,8,4,9,4,9,0,0,0,0,0,0,0,0,3,3,2,3,3,4,3,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,5,3,5,3,5,4,5,4,5,5,5,5,6,5,6,5,6,5,6,5,6,5,7,8,9,11,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,0,0,3,3,3,4,4,4,4,5,4,5,4,5,4,6,4,6,0,0,0,0,0,0,0,0,3,3,3,3,3,3,3,3,0,0,0,0,0,0,0,8,13,17,17,8,11,17,17,11,13,17,17,17,17,17,17,6,10,16,17,6,10,15,17,8,10,16,17,17,17,17,17,9,13,15,17,8,11,17,17,10,12,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,6,11,15,17,7,10,15,17,8,10,17,17,17,15,17,17,4,8,13,17,4,7,13,17,6,8,15,17,16,15,17,17,6,11,15,17,6,9,13,17,8,10,17,17,15,17,17,17,16,17,17,17,12,14,15,17,13,14,15,17,17,17,17,17,5,10,14,17,5,9,14,17,7,9,15,17,15,15,17,17,3,7,12,17,3,6,11,17,5,7,13,17,12,12,17,17,5,9,14,17,3,7,11,17,5,8,13,17,13,11,16,17,12,17,17,17,9,14,15,17,10,11,14,17,16,14,17,17,8,12,17,17,8,12,17,17,10,12,17,17,17,17,17,17,5,10,17,17,5,9,15,17,7,9,17,17,13,13,17,17,7,11,17,17,6,10,15,17,7,9,15,17,12,11,17,17,12,15,17,17,11,14,17,17,11,10,15,17,17,16,17,17,10,7,8,13,9,6,7,11,10,8,8,12,17,17,17,17,7,5,5,9,6,4,4,8,8,5,5,8,16,14,13,16,7,5,5,7,6,3,3,5,8,5,4,7,14,12,12,15,10,7,8,9,7,5,5,6,9,6,5,5,15,12,9,10,1,0,0,0,0,1,0,0,120,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,112,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,10,0,0,0,96,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,64,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,0,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,3,5,3,5,3,6,4,7,4,7,5,7,6,7,6,7,8,10,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,4,3,4,3,4,3,5,3,5,4,5,4,6,4,6,0,0,0,0,0,0,0,0,0,0,0,2,2,3,3,3,3,0,0,0,0,0,0,2,2,2,2,0,0,0,0,6,7,7,12,6,6,7,12,7,6,6,10,15,12,11,13,7,7,8,13,7,7,8,12,7,7,7,11,12,12,11,13,10,9,9,11,9,9,9,10,10,8,8,12,14,12,12,14,11,11,12,14,11,12,11,15,15,12,13,15,15,15,15,15,6,6,7,10,6,6,6,11,7,6,6,9,14,12,11,13,7,7,7,10,6,6,7,9,7,7,6,10,13,12,10,12,9,9,9,11,9,9,8,9,9,8,8,10,13,12,10,12,12,12,11,13,12,12,11,12,15,13,12,15,15,15,14,14,6,6,6,8,6,6,5,6,7,7,6,5,11,10,9,8,7,6,6,7,6,6,5,6,7,7,6,6,11,10,9,8,8,8,8,9,8,8,7,8,8,8,6,7,11,10,9,9,14,11,10,14,14,11,10,15,13,11,9,11,15,12,12,11,11,9,8,8,10,9,8,9,11,10,9,8,12,11,12,11,13,10,8,9,11,10,8,9,10,9,8,9,10,8,12,12,15,11,10,10,13,11,10,10,8,8,7,12,10,9,11,12,15,12,11,15,13,11,11,15,12,14,11,13,15,15,13,13,1,0,0,0,0,1,0,0,184,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,176,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,10,0,0,0,160,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,128,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,64,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,3,5,3,5,3,5,4,6,5,6,5,7,6,6,7,7,9,9,11,11,16,11,14,10,11,11,13,16,15,15,15,15,15,15,15,15,15,0,0,0,0,0,0,0,0,0,0,3,3,4,3,4,3,4,4,5,4,5,4,6,5,6,0,0,0,0,0,0,0,0,0,0,0,3,2,3,2,3,3,0,0,0,0,0,0,2,2,2,2,0,0,0,0,7,7,7,11,6,6,7,11,7,6,6,10,12,10,10,13,7,7,8,11,7,7,7,11,7,6,7,10,11,10,10,13,10,10,9,12,9,9,9,11,8,8,8,11,13,11,10,14,15,15,14,15,15,14,13,14,15,12,12,17,17,17,17,17,7,7,6,9,6,6,6,9,7,6,6,8,11,11,10,12,7,7,7,9,7,6,6,9,7,6,6,9,13,10,10,11,10,9,8,10,9,8,8,10,8,8,7,9,13,12,10,11,17,14,14,13,15,14,12,13,17,13,12,15,17,17,14,17,7,6,6,7,6,6,5,7,6,6,6,6,11,9,9,9,7,7,6,7,7,6,6,7,6,6,6,6,10,9,8,9,10,9,8,8,9,8,7,8,8,7,6,8,11,10,9,10,17,17,12,15,15,15,12,14,14,14,10,12,15,13,12,13,11,10,8,10,11,10,8,8,10,9,7,7,10,9,9,11,11,11,9,10,11,10,8,9,10,8,6,8,10,9,9,11,14,13,10,12,12,11,10,10,8,7,8,10,10,11,11,12,17,17,15,17,17,17,17,17,17,13,12,17,17,17,14,17,200,47,1,0,216,72,1,0,200,47,1,0,248,72,1,0,1],"i8",N3,x.GLOBAL_BASE+72464),E3([1],"i8",N3,x.GLOBAL_BASE+78916),E3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],"i8",N3,x.GLOBAL_BASE+79944),E3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],"i8",N3,x.GLOBAL_BASE+81996),E3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,120,124,1,0,120,124,1,0,160,124,1,0,160,124,1,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,48,84,1,0,48,84,1,0,88,84,1,0,88,84,1,0,0,0,0,0,255,255,255,255,255,255,255,255,10,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,x.GLOBAL_BASE+83152),E3([1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,231,3,0,0,0,0,0,0,231,3,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,16,124,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,85,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,85,1,0,0,0,0,0,0,0,0,0,0,0,0,0,104,85,1,0,0,0,0,0,0,0,0,0,0,0,0,0,144,85,1,0,0,0,0,0,0,0,0,0,0,0,0,0,184,85,1,0,0,0,0,0,224,85,1,0,8,86,1,0,0,0,0,0,0,0,0,0,48,86,1,0,88,86,1,0,0,0,0,0,0,0,0,0,128,86,1,0,168,86,1,0,208,86,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,88,98,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,0,124,1,0,0,0,0,0,4,0,0,0,113,2,0,0,200,95,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,98,1,0,0,0,0,0,2,0,0,0,81,0,0,0,72,95,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,160,95,1,0,0,0,0,0,2,0,0,0,81,0,0,0,200,94,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,32,95,1,0,0,0,0,0,2,0,0,0,33,1,0,0,88,93,1,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,128,94,1,0,0,0,0,0,4,0,0,0,81,0,0,0,240,92,1,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,72,93,1,0,0,0,0,0,2,0,0,0,121,0,0,0,64,92,1,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,192,92,1,0,0,0,0,0,2,0,0,0,169,0,0,0,88,91,1,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,8,92,1,0,0,0,0,0,2,0,0,0,25,0,0,0,32,91,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,91,1,0,0,0,0,0,2,0,0,0,169,0,0,0,56,90,1,0,1,0,0,0,0,136,93,225,0,176,19,97,4,0,0,0,0,0,0,0,232,90,1,0,0,0,0,0,2,0,0,0,225,0,0,0,16,89,1,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,248,89,1,0,0,0,0,0,2,0,0,0,185,1,0,0,248,86,1,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,184,88,1,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,9,8,9,9,9,9,9,9,9,9,11,11,12,7,7,7,7,8,8,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,7,7,7,7,8,8,9,8,9,9,9,9,9,9,10,10,10,10,11,11,12,8,8,8,8,8,8,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,7,7,8,8,8,8,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,12,11,9,9,8,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,8,8,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,12,11,12,11,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,12,11,12,11,11,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,12,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,12,11,11,12,11,10,10,10,10,10,10,10,10,10,10,10,10,11,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,12,11,12,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,12,11,12,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,12,11,11,12,11,11,12,10,10,11,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,12,12,11,12,11,11,12,12,12,11,11,10,10,10,10,10,10,10,10,10,11,12,12,11,12,12,11,12,11,11,11,11,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,5,5,7,7,9,9,11,11,12,12,13,13,6,5,5,6,6,9,9,10,10,12,12,12,13,15,14,6,5,5,7,7,9,9,10,10,12,12,12,13,14,13,17,7,7,8,8,10,10,11,11,12,13,13,13,13,13,17,7,7,8,8,10,10,11,11,13,13,13,13,14,14,17,11,11,9,9,11,11,12,12,12,13,13,14,15,13,17,12,12,9,9,11,11,12,12,13,13,13,13,14,16,17,17,17,11,12,12,12,13,13,13,14,15,14,15,15,17,17,17,12,12,11,11,13,13,14,14,15,14,15,15,17,17,17,15,15,13,13,14,14,15,14,15,15,16,15,17,17,17,15,15,13,13,13,14,14,15,15,15,15,16,17,17,17,17,16,14,15,14,14,15,14,14,15,15,15,17,17,17,17,17,14,14,16,14,15,15,15,15,15,15,17,17,17,17,17,17,16,16,15,17,15,15,14,17,15,17,16,17,17,17,17,16,15,14,15,15,15,15,15,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,3,10,10,10,10,10,10,10,10,10,10,5,6,6,10,10,10,10,10,10,10,10,10,10,6,7,8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,8,8,9,9,10,10,7,5,5,7,7,8,8,8,8,9,10,11,11,7,5,5,7,7,8,8,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,9,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,9,10,9,10,11,11,11,0,13,12,9,8,9,9,10,10,11,11,12,11,0,0,0,9,9,9,9,10,10,11,11,12,12,0,0,0,10,10,9,9,10,10,11,11,12,12,0,0,0,13,13,10,10,11,11,12,11,13,12,0,0,0,14,14,10,10,11,10,11,11,12,12,0,0,0,0,0,12,12,11,11,12,12,13,13,0,0,0,0,0,12,12,11,10,12,11,13,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,7,7,7,7,7,7,10,10,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,6,7,6,6,4,7,7,10,9,9,10,9,9,5,7,7,10,9,9,10,9,9,6,10,10,10,10,10,11,10,10,6,9,9,10,9,10,11,10,10,6,9,9,10,9,9,11,9,10,7,10,10,11,11,11,11,10,10,6,9,9,10,10,10,11,9,9,6,9,9,10,10,10,10,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,5,5,8,8,8,8,9,9,10,10,11,11,11,11,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,9,9,8,8,10,10,10,10,11,11,12,12,12,12,0,0,0,9,9,8,8,10,10,10,10,11,11,12,12,12,12,0,0,0,10,10,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,10,10,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,11,11,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,11,12,12,13,13,0,0,0,0,0,10,10,11,11,11,11,12,12,13,12,13,13,0,0,0,0,0,0,0,11,10,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,13,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,4,5,6,6,8,8,0,0,0,8,8,7,7,9,9,0,0,0,8,8,7,7,9,9,0,0,0,9,10,8,8,9,9,0,0,0,10,10,8,8,9,9,0,0,0,11,10,8,8,10,10,0,0,0,11,11,8,8,10,10,0,0,0,12,12,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,2,3,7,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,8,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,8,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,8,10,8],"i8",N3,x.GLOBAL_BASE+86572),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,18,8,11,8,8,9,9,10,4,4,18,5,9,5,6,7,8,10,18,18,18,18,17,17,17,17,17,17,7,5,17,6,11,6,7,8,9,12,12,9,17,12,8,8,9,10,10,13,7,5,17,6,8,4,5,6,8,10,6,5,17,6,8,5,4,5,7,9,7,7,17,8,9,6,5,5,6,8,8,8,17,9,11,8,6,6,6,7,9,10,17,12,12,10,9,7,7,8,0,0,0,0,2,0,0,0,100,0,0,0,216,163,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,125,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,125,1,0,0,0,0,0,0,0,0,0,0,0,0,0,176,125,1,0,0,0,0,0,0,0,0,0,0,0,0,0,216,125,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,126,1,0,0,0,0,0,40,126,1,0,80,126,1,0,0,0,0,0,0,0,0,0,120,126,1,0,160,126,1,0,0,0,0,0,0,0,0,0,200,126,1,0,240,126,1,0,24,127,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,32,138,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,200,163,1,0,0,0,0,0,4,0,0,0,113,2,0,0,144,135,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,8,138,1,0,0,0,0,0,2,0,0,0,81,0,0,0,16,135,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,104,135,1,0,0,0,0,0,2,0,0,0,81,0,0,0,144,134,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,232,134,1,0,0,0,0,0,2,0,0,0,33,1,0,0,32,133,1,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,72,134,1,0,0,0,0,0,4,0,0,0,81,0,0,0,184,132,1,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,16,133,1,0,0,0,0,0,2,0,0,0,121,0,0,0,8,132,1,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,136,132,1,0,0,0,0,0,2,0,0,0,169,0,0,0,32,131,1,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,208,131,1,0,0,0,0,0,2,0,0,0,25,0,0,0,232,130,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,8,131,1,0,0,0,0,0,4,0,0,0,81,0,0,0,128,130,1,0,1,0,0,0,0,176,19,225,0,176,19,97,2,0,0,0,0,0,0,0,216,130,1,0,0,0,0,0,2,0,0,0,225,0,0,0,88,129,1,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,64,130,1,0,0,0,0,0,2,0,0,0,185,1,0,0,64,127,1,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,0,129,1,0,0,0,0,0,1,5,5,7,7,8,7,8,8,10,10,9,9,10,10,10,11,11,10,12,11,12,12,12,9,8,8,8,8,8,9,10,10,10,10,11,11,11,10,11,11,12,12,11,12,8,8,7,7,8,9,10,10,10,9,10,10,9,10,10,11,11,11,11,11,11,9,9,9,9,8,9,10,10,11,10,10,11,11,12,10,10,12,12,11,11,10,9,9,10,8,9,10,10,10,9,10,10,11,11,10,11,10,10,10,12,12,12,9,10,9,10,9,9,10,10,11,11,11,11,10,10,10,11,12,11,12,11,12,10,11,10,11,9,10,9,10,9,10,10,9,10,10,11,10,11,11,11,11,12,11,9,10,10,10,10,11,11,11,11,11,10,11,11,11,11,10,12,10,12,12,11,12,10,10,11,10,9,11,10,11,9,10,11,10,10,10,11,11,11,11,12,12,10,9,9,11,10,9,12,11,10,12,12,11,11,11,11,10,11,11,12,11,10,12,9,11,10,11,10,10,11,10,11,9,10,10,10,11,12,11,11,12,11,10,10,11,11,9,10,10,12,10,11,10,10,10,9,10,10,10,10,9,10,10,11,11,11,11,12,11,10,10,10,10,11,11,10,11,11,9,11,10,12,10,12,11,10,11,10,10,10,11,10,10,11,11,10,11,10,10,10,10,11,11,12,10,10,10,11,10,11,12,11,10,11,10,10,11,11,10,12,10,9,10,10,11,11,11,10,12,10,10,11,11,11,10,10,11,10,10,10,11,10,11,10,12,11,11,10,10,10,12,10,10,11,9,10,11,11,11,10,10,11,10,10,9,11,11,12,12,11,12,11,11,11,11,11,11,9,10,11,10,12,10,10,10,10,11,10,10,11,10,10,12,10,10,10,10,10,9,12,10,10,10,10,12,9,11,10,10,11,10,12,12,10,12,12,12,10,10,10,10,9,10,11,10,10,12,10,10,12,11,10,11,10,10,12,11,10,12,10,10,11,9,11,10,9,10,9,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,5,5,10,8,11,11,11,11,11,11,11,11,6,6,6,7,6,11,10,11,11,11,11,11,11,11,11,7,5,6,6,6,8,7,11,11,11,11,11,11,11,11,11,7,8,8,8,9,9,11,11,11,11,11,11,11,11,11,9,8,7,8,9,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,4,5,5,7,6,6,6,5,7,7,7,6,6,7,7,7,6,6,7,7,7,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,6,7,7,7,7,8,8,9,9,7,6,6,7,7,8,8,7,7,8,9,10,10,7,6,6,7,7,8,7,7,7,9,9,10,12,0,8,8,8,8,8,9,8,8,9,9,10,10,0,8,8,8,8,8,9,8,9,9,9,11,10,0,0,13,9,8,9,9,9,9,10,10,11,11,0,13,0,9,9,9,9,9,9,11,10,11,11,0,0,0,8,9,10,9,10,10,13,11,12,12,0,0,0,8,9,9,9,10,10,13,12,12,13,0,0,0,12,0,10,10,12,11,10,11,12,12,0,0,0,13,13,10,10,10,11,12,0,13,0,0,0,0,0,0,13,11,0,12,12,12,13,12,0,0,0,0,0,0,13,13,11,13,13,11,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,6,6,8,8,9,9,9,9,10,10,10,7,7,8,8,9,9,9,9,10,10,9,7,7,8,8,9,9,9,9,10,10,10,8,8,9,9,9,9,9,9,10,10,10,8,8,9,9,9,9,8,9,10,10,10,8,8,9,9,9,10,10,10,10,10,10,9,9,9,9,9,9,10,10,11,10,11,9,9,9,9,10,10,10,10,11,11,11,10,10,9,9,10,10,10,9,11,10,10,10,10,10,10,9,9,10,10,11,11,10,10,10,9,9,9,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,11,9,10,12,9,10,4,7,7,10,10,10,11,9,9,6,11,10,11,11,12,11,11,11,6,10,10,11,11,12,11,10,10,6,9,10,11,11,11,11,10,10,7,10,11,12,11,11,12,11,12,6,9,9,10,9,9,11,10,10,6,9,9,10,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,6,6,8,8,9,9,8,8,10,9,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,11,0,0,0,8,8,9,9,10,10,9,9,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,9,9,11,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,11,12,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,10,10,10,10,11,11,10,10,11,11,12,12,13,13,0,0,0,0,0,10,9,10,11,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,9,10,11,12,12,13,13,14,13,0,0,0,0,0,9,9,9,10,10,10,11,11,13,12,13,13,0,0,0,0,0,10,10,10,10,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,10,10,11,11,12,12,13,13,13,14,0,0,0,0,0,0,0,11,11,11,11,12,12,13,14,14,14,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,14,13,0,0,0,0,0,0,0,11,11,12,12,13,13,14,14,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,5,5,7,6,8,8,0,0,0,7,7,7,7,8,8,0,0,0,7,7,7,7,8,9,0,0,0,8,8,8,8,9,9,0,0,0,8,8,8,8,9,9,0,0,0,9,9,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,10,10,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,2,3,7,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,8,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,6,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,4,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,9,0,0,0,0,0,0,8,9,11,0,0,0,0,0,0,9,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,9,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,11,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,9,11,11,0,0,0,0,0,0,8,11,9],"i8",N3,x.GLOBAL_BASE+97272),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,5,18,7,10,6,7,8,9,10,5,2,18,5,7,5,6,7,8,11,17,17,17,17,17,17,17,17,17,17,7,4,17,6,9,6,8,10,12,15,11,7,17,9,6,6,7,9,11,15,6,4,17,6,6,4,5,8,11,16,6,6,17,8,6,5,6,9,13,16,8,9,17,11,9,8,8,11,13,17,9,12,17,15,14,13,12,13,14,17,12,15,17,17,17,17,17,16,17,17,0,0,0,0,154,153,153,153,153,153,185,191,0,0,0,0,0,0,0,0,154,153,153,153,153,153,185,63,154,153,153,153,153,153,201,63,51,51,51,51,51,51,211,63,154,153,153,153,153,153,217,63,0,0,0,0,0,0,224,63,51,51,51,51,51,51,227,63,102,102,102,102,102,102,230,63,154,153,153,153,153,153,233,63,205,204,204,204,204,204,236,63,0,0,0,0,0,0,240,63,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,16,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,0,0,0,35,0,0,0,21,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,30,0,0,0,20,0,0,0,8,0,0,0,0,0,0,192,0,0,160,63,25,0,0,0,12,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,9,0,0,0,253,255,255,255,0,0,0,0,0,0,0,0,20,0,0,0,9,0,0,0,252,255,255,255,0,0,0,0,0,0,0,0,20,0,0,0,9,0,0,0,252,255,255,255,0,0,0,0,0,0,0,0,20,0,0,0,6,0,0,0,250,255,255,255,0,0,0,0,0,0,0,0,20,0,0,0,3,0,0,0,246,255,255,255,0,0,0,0,0,0,0,0,18,0,0,0,1,0,0,0,242,255,255,255,0,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,240,255,255,255,0,0,0,0,0,0,0,0,18,0,0,0,254,255,255,255,240,255,255,255,0,0,0,0,0,0,0,0,12,0,0,0,254,255,255,255,236,255,255,255,0,0,0,0,0,0,0,0,253,255,255,255,248,255,255,255,243,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,247,255,255,255,247,255,255,255,247,255,255,255,247,255,255,255,247,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,252,255,255,255,246,255,255,255,242,255,255,255,240,255,255,255,242,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,245,255,255,255,245,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,250,255,255,255,244,255,255,255,242,255,255,255,240,255,255,255,241,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,254,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,244,255,255,255,243,255,255,255,242,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,251,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,243,255,255,255,245,255,255,255,246,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,243,255,255,255,245,255,255,255,246,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,248,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,253,255,255,255,248,255,255,255,243,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,255,255,255,246,255,255,255,242,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,245,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,250,255,255,255,244,255,255,255,242,255,255,255,240,255,255,255,241,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,254,255,255,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,244,255,255,255,243,255,255,255,242,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,250,255,255,255,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,243,255,255,255,245,255,255,255,246,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,243,255,255,255,245,255,255,255,246,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,248,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,3,0,0,0,3,0,0,0,15,0,0,0,3,0,0,0,3,0,0,0,15,0,0,0,10,0,0,0,10,0,0,0,100,0,0,0,10,0,0,0,10,0,0,0,100,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,250,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,2,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,16,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,252,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,14,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,252,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,250,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,252,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,6,0,0,0,11,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,234,255,255,255,240,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,247,255,255,255,251,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,6,0,0,0,11,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,228,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,240,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,6,0,0,0,11,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,234,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,224,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,234,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,3,0,0,0,3,0,0,0,5,0,0,0,10,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,224,255,255,255,224,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,224,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,2,0,0,0,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,224,255,255,255,224,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,224,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,244,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,221,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,2,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,8,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,16,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,2,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,14,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,2,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,250,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,2,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,234,255,255,255,240,255,255,255,244,255,255,255,250,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,0,0,0,0,4,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,253,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,253,255,255,255,255,255,255,255,4,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,245,255,255,255,248,255,255,255,250,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,240,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,251,255,255,255,253,255,255,255,1,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,234,255,255,255,238,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,11,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,249,255,255,255,251,255,255,255,254,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,228,255,255,255,234,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,242,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,6,0,0,0,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,224,255,255,255,224,255,255,255,232,255,255,255,240,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,224,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,238,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,221,255,255,255,226,255,255,255,231,255,255,255,231,255,255,255,231,255,255,255,231,255,255,255,231,255,255,255,231,255,255,255,241,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,250,255,255,255,252,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,1,0,0,0,4,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,3,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,249,255,255,255,252,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,8,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,252,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,255,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,255,255,255,255,1,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,252,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,255,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,234,255,255,255,240,255,255,255,244,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,253,255,255,255,255,255,255,255,0,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,247,255,255,255,251,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,255,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,251,255,255,255,254,255,255,255,0,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,234,255,255,255,237,255,255,255,237,255,255,255,237,255,255,255,237,255,255,255,238,255,255,255,239,255,255,255,240,255,255,255,244,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,255,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,240,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,234,255,255,255,236,255,255,255,241,255,255,255,246,255,255,255,248,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,7,0,0,0,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,249,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,226,255,255,255,228,255,255,255,230,255,255,255,232,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,2,0,0,0,218,255,255,255,218,255,255,255,218,255,255,255,218,255,255,255,220,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,218,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,228,255,255,255,236,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,221,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,236,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,20,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,246,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,6,0,0,0,15,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,10,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,252,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,10,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,1,0,0,0,4,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4],"i8",N3,x.GLOBAL_BASE+107456),E3([4,0,0,0,5,0,0,0,6,0,0,0,10,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,3,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,252,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,8,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,251,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,255,255,255,255,1,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,249,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,240,255,255,255,244,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,253,255,255,255,255,255,255,255,0,0,0,0,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,247,255,255,255,248,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,251,255,255,255,254,255,255,255,0,0,0,0,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,238,255,255,255,240,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,243,255,255,255,243,255,255,255,244,255,255,255,246,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,0,0,0,0,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,237,255,255,255,237,255,255,255,237,255,255,255,237,255,255,255,238,255,255,255,239,255,255,255,240,255,255,255,244,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,7,0,0,0,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,240,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,2,0,0,0,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,234,255,255,255,238,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,249,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,236,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,18,0,0,0,18,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,13,0,0,0,14,0,0,0,14,0,0,0,14,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,16,0,0,0,16,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,18,0,0,0,18,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,7,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,205,204,204,204,204,204,244,63,154,153,153,153,153,153,249,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,12,64,0,0,0,0,0,0,16,64,0,0,0,0,0,0,16,64,51,51,51,51,51,51,17,64,102,102,102,102,102,102,18,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,32,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,32,0,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,0,0,0,0,0,1,0,0,128,0,0,0,128,0,0,0,0,1,0,0,0,2,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,0,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,0,0,0,0,154,153,153,153,153,153,201,63,154,153,153,153,153,153,201,63,154,153,153,153,153,153,201,63,154,153,153,153,153,153,217,63,51,51,51,51,51,51,227,63,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,156,255,255,255,156,255,255,255,156,255,255,255,156,255,255,255,156,255,255,255,156,255,255,255,151,255,255,255,151,255,255,255,151,255,255,255,151,255,255,255,146,255,255,255,136,255,255,255,126,255,255,255,126,255,255,255,126,255,255,255,126,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,106,255,255,255,205,204,204,204,204,204,43,64,51,51,51,51,51,51,46,64,154,153,153,153,153,153,47,64,0,0,0,0,0,128,48,64,51,51,51,51,51,51,49,64,102,102,102,102,102,230,50,64,154,153,153,153,153,25,52,64,0,0,0,0,0,0,72,64,0,0,0,0,0,56,143,64,0,0,0,0,0,56,143,64,0,0,0,0,0,56,143,64,0,0,0,0,0,56,143,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,4,64,154,153,153,153,153,153,5,64,0,0,0,0,0,0,8,64,154,153,153,153,153,153,13,64,0,0,0,0,0,0,16,64,0,0,0,0,0,0,16,64,248,148,2,0,40,149,2,0,88,149,2,0,0,0,0,0,8,181,0,0,224,217,1,0,8,181,0,0,32,218,1,0,8,181,0,0,96,218,1,0,8,181,0,0,160,218,1,0,8,181,0,0,224,218,1,0,8,181,0,0,32,219,1,0,8,181,0,0,96,219,1,0,8,181,0,0,160,219,1,0,8,181,0,0,224,219,1,0,8,181,0,0,32,220,1,0,8,181,0,0,96,220,1,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,232,133,2,0,232,133,2,0,16,134,2,0,16,134,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,208,134,2,0,208,134,2,0,16,134,2,0,16,134,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,216,118,2,0,216,118,2,0,0,119,2,0,0,119,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,192,119,2,0,192,119,2,0,0,119,2,0,0,119,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,0,106,2,0,0,106,2,0,40,106,2,0,40,106,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,232,106,2,0,232,106,2,0,40,106,2,0,40,106,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,0,93,2,0,0,93,2,0,40,93,2,0,40,93,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,232,93,2,0,232,93,2,0,40,93,2,0,40,93,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,56,79,2,0,56,79,2,0,96,79,2,0,96,79,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,32,80,2,0,32,80,2,0,96,79,2,0,96,79,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,8,65,2,0,8,65,2,0,48,65,2,0,48,65,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,240,65,2,0,240,65,2,0,48,65,2,0,48,65,2,0,1,0,0,0,0,0,0,0,16,0,0,0,88,206,0,0,56,48,2,0,56,48,2,0,96,48,2,0,96,48,2,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,32,49,2,0,32,49,2,0,96,48,2,0,96,48,2,0,1,0,0,0,0,0,0,0,16,0,0,0,88,206,0,0,40,31,2,0,40,31,2,0,80,31,2,0,80,31,2,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,16,32,2,0,16,32,2,0,80,31,2,0,80,31,2,0,1,0,0,0,0,0,0,0,16,0,0,0,88,206,0,0,64,15,2,0,64,15,2,0,104,15,2,0,104,15,2,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,40,16,2,0,40,16,2,0,104,15,2,0,104,15,2,0,1,0,0,0,0,0,0,0,16,0,0,0,160,220,1,0,208,251,1,0,208,251,1,0,248,251,1,0,248,251,1,0,1,0,0,0,0,0,0,0,32,0,0,0,160,220,1,0,184,252,1,0,184,252,1,0,248,251,1,0,248,251,1,0,1,0,0,0,0,0,0,0,16,0,0,0,160,220,1,0,184,231,1,0,184,231,1,0,224,231,1,0,224,231,1,0,1,0,0,0,0,0,0,0,32,0,0,0,160,220,1,0,160,232,1,0,160,232,1,0,224,231,1,0,224,231,1,0,0,0,0,0,255,255,255,255,255,255,255,255,10,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,x.GLOBAL_BASE+117696),E3([1,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,71,0,0,0,157,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,104,251,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,233,1,0,0,0,0,0,0,0,0,0,0,0,0,0,88,233,1,0,0,0,0,0,0,0,0,0,0,0,0,0,128,233,1,0,0,0,0,0,0,0,0,0,0,0,0,0,168,233,1,0,0,0,0,0,208,233,1,0,248,233,1,0,0,0,0,0,0,0,0,0,32,234,1,0,72,234,1,0,0,0,0,0,0,0,0,0,112,234,1,0,152,234,1,0,0,0,0,0,0,0,0,0,192,234,1,0,232,234,1,0,0,0,0,0,0,0,0,0,16,235,1,0,56,235,1,0,96,235,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,200,232,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,13,13,14,15,14,14,15,15,5,5,9,10,12,12,13,14,16,15,10,6,6,6,8,11,12,13,16,15,11,7,5,3,5,8,10,12,15,15,10,10,7,4,3,5,8,10,12,12,12,12,9,7,5,4,6,8,10,13,13,12,11,9,7,5,5,6,9,12,14,12,12,10,8,6,6,6,7,11,13,12,14,13,10,8,7,7,7,10,11,11,12,13,12,11,10,8,8,9,0,0,0,0,4,0,0,0,81,0,0,0,0,251,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,88,251,1,0,0,0,0,0,4,0,0,0,113,2,0,0,112,248,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,250,1,0,0,0,0,0,2,0,0,0,81,0,0,0,240,247,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,72,248,1,0,0,0,0,0,2,0,0,0,33,1,0,0,128,246,1,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,168,247,1,0,0,0,0,0,4,0,0,0,81,0,0,0,24,246,1,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,112,246,1,0,0,0,0,0,2,0,0,0,121,0,0,0,104,245,1,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,232,245,1,0,0,0,0,0,2,0,0,0,169,0,0,0,128,244,1,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,48,245,1,0,0,0,0,0,2,0,0,0,25,0,0,0,72,244,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,104,244,1,0,0,0,0,0,2,0,0,0,169,0,0,0,96,243,1,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,16,244,1,0,0,0,0,0,2,0,0,0,121,0,0,0,176,242,1,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,48,243,1,0,0,0,0,0,2,0,0,0,225,0,0,0,136,241,1,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,112,242,1,0,0,0,0,0,2,0,0,0,185,1,0,0,112,239,1,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,48,241,1,0,0,0,0,0,2,0,0,0,225,0,0,0,72,238,1,0,1,0,0,0,0,117,153,225,0,24,61,97,4,0,0,0,0,0,0,0,48,239,1,0,0,0,0,0,2,0,0,0,105,1,0,0,136,236,1,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,248,237,1,0,0,0,0,0,1,0,0,0,49,0,0,0,136,235,1,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,192,235,1,0,0,0,0,0,2,4,4,5,4,5,5,5,5,6,6,6,6,6,6,6,6,6,6,7,6,7,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,8,7,8,7,9,8,10,9,10,10,11,11,12,12,4,7,6,9,9,10,9,9,8,10,10,11,10,12,10,13,12,13,12,4,6,6,9,9,9,9,9,9,10,10,11,11,11,12,12,12,12,12,7,9,8,11,10,10,10,11,10,11,11,12,12,13,12,13,13,13,13,7,8,9,10,10,11,11,10,10,11,11,11,12,13,13,13,13,14,14,8,9,9,11,11,12,11,12,12,13,12,12,13,13,14,15,14,14,14,8,9,9,10,11,11,11,12,12,13,12,13,13,14,14,14,15,14,16,8,9,9,11,10,12,12,12,12,15,13,13,13,17,14,15,15,15,14,8,9,9,10,11,11,12,13,12,13,13,13,14,15,14,14,14,16,15,9,11,10,12,12,13,13,13,13,14,14,16,15,14,14,14,15,15,17,9,10,10,11,11,13,13,13,14,14,13,15,14,15,14,15,16,15,16,10,11,11,12,12,13,14,15,14,15,14,14,15,17,16,15,15,17,17,10,12,11,13,12,14,14,13,14,15,15,15,15,16,17,17,15,17,16,11,12,12,14,13,15,14,15,16,17,15,17,15,17,15,15,16,17,15,11,11,12,14,14,14,14,14,15,15,16,15,17,17,17,16,17,16,15,12,12,13,14,14,14,15,14,15,15,16,16,17,16,17,15,17,17,16,12,14,12,14,14,15,15,15,14,14,16,16,16,15,16,16,15,17,15,12,13,13,14,15,14,15,17,15,17,16,17,17,17,16,17,16,17,17,12,13,13,14,16,15,15,15,16,15,17,17,15,17,15,17,16,16,17,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,3,3,11,11,11,11,11,11,11,11,11,11,11,11,4,10,11,11,11,11,11,11,11,11,11,11,11,11,11,4,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,4,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,6,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,6,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,8,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,8,8,8,9,9,9,9,9,9,9,9,9,9,10,9,10,9,10,10,10,10,8,8,8,9,9,9,9,9,9,9,9,9,9,10,10,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,8,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,8,9,9,10,9,11,10,4,6,6,8,8,9,9,9,9,10,10,11,10,12,10,4,6,6,8,8,9,10,9,9,10,10,11,11,12,12,7,8,8,10,10,11,11,10,10,11,11,12,12,13,12,7,8,8,10,10,11,11,10,10,11,11,12,12,12,13,8,10,9,11,11,12,12,11,11,12,12,13,13,14,13,8,9,9,11,11,12,12,11,12,12,12,13,13,14,13,8,9,9,10,10,12,11,13,12,13,13,14,13,15,14,8,9,9,10,10,11,12,12,12,13,13,13,14,14,14,9,10,10,12,11,13,12,13,13,14,13,14,14,14,15,9,10,10,11,12,12,12,13,13,14,14,14,15,15,15,10,11,11,12,12,13,13,14,14,14,14,15,14,16,15,10,11,11,12,12,13,13,13,14,14,14,14,14,15,16,11,12,12,13,13,14,13,14,14,15,14,15,16,16,16,11,12,12,13,13,14,13,14,14,15,15,15,16,15,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,5,6,6,7,7,7,7,7,7,7,7,6,6,6,7,7,7,7,7,7,7,7,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,7,7,7,7,7,7,7,8,7,8,8,7,7,7,7,7,7,7,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,5,6,6,7,7,8,9,10,10,11,11,5,6,6,7,7,8,8,9,9,10,10,11,11,5,6,6,7,7,8,8,9,9,10,10,11,11,6,7,7,8,8,9,9,10,10,11,11,12,12,6,7,7,8,8,9,9,10,10,11,11,12,12,8,8,8,9,9,10,10,11,11,12,12,13,13,8,8,8,9,9,10,10,11,11,12,12,13,13,9,9,9,10,10,11,11,12,12,13,13,13,13,9,9,9,10,10,11,11,12,12,13,13,14,14,10,10,10,11,11,12,12,13,13,14,13,15,14,10,10,10,11,11,12,12,13,13,14,14,14,14,11,11,12,12,12,13,13,14,14,14,14,15,15,11,11,12,12,12,13,13,14,14,14,15,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,4,4,4,5,5,4,5,4,5,5,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,9,9,10,10,4,6,5,7,7,8,8,8,8,9,9,10,10,4,5,6,7,7,8,8,8,8,9,9,10,10,6,7,7,8,8,8,8,9,9,10,10,10,10,6,7,7,8,8,8,8,9,9,10,10,10,10,7,8,8,8,8,9,9,9,9,10,10,11,11,7,8,8,8,8,9,9,9,9,10,10,11,11,8,8,8,9,9,9,9,9,10,10,10,11,11,8,8,8,9,9,9,9,10,9,10,10,11,11,9,9,9,10,10,10,10,10,11,11,11,11,12,9,9,9,10,10,10,10,10,10,11,10,12,11,10,10,10,10,10,11,11,11,11,11,12,12,12,10,10,10,10,10,11,11,11,11,12,11,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,5,5,5,6,6,7,7,7,7,7,7,5,6,6,6,6,7,7,7,7,8,7,5,6,6,6,6,7,7,7,7,7,7,6,6,6,7,7,7,7,7,7,8,8,6,6,6,7,7,7,7,7,7,8,8,7,7,7,7,7,8,7,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,8,7,8,8,8,8,8,8,7,7,7,7,8,8,8,8,8,8,8,7,8,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,8,9,9,7,9,9,5,8,8,7,9,9,8,9,9,5,8,8,8,10,10,8,10,10,7,10,10,9,10,12,9,11,11,7,10,10,9,11,10,9,11,12,5,8,8,8,10,10,8,10,10,7,10,10,9,12,11,9,10,11,7,10,10,9,11,11,10,12,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,5,5,6,6,7,7,8,8,8,8,9,9,10,10,11,11,5,5,5,6,6,7,7,8,8,8,8,9,9,10,10,11,11,5,5,5,6,6,7,7,8,8,8,8,9,9,10,10,11,11,6,6,6,7,6,7,7,8,8,9,9,10,10,11,11,12,11,6,6,6,6,7,7,7,8,8,9,9,10,10,11,11,11,12,7,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,7,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,8,8,8,8,8,9,8,10,9,10,10,11,10,12,11,13,12,8,8,8,8,8,9,9,9,10,10,10,10,11,11,12,12,12,8,8,8,9,9,9,9,10,10,11,10,12,11,12,12,13,12,8,8,8,9,9,9,9,10,10,10,11,11,11,12,12,12,13,9,9,9,10,10,10,10,11,10,11,11,12,11,13,12,13,13,9,9,10,10,10,10,10,10,11,11,11,11,12,12,13,13,13,10,11,10,11,11,11,11,12,11,12,12,13,12,13,13,14,13,10,10,10,11,11,11,11,11,12,12,12,12,13,13,13,13,14,11,11,11,12,11,12,12,12,12,13,13,13,13,14,13,14,14,11,11,11,11,12,12,12,12,12,12,13,13,13,13,14,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,3,4,4,5,5,7,7,8,8,4,5,5,6,6,7,7,9,9,4,4,5,6,6,7,7,9,9,5,6,6,7,7,8,8,9,9,5,6,6,7,7,8,8,9,9,7,7,7,8,8,9,9,10,10,7,7,7,8,8,9,9,10,10,8,9,9,10,9,10,10,11,11,8,9,9,9,10,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,5,7,7,9,9,6,7,7,9,9,8,9,9,11,10,8,9,9,11,11,6,7,7,9,9,7,8,8,10,10,7,8,8,9,10,9,10,10,11,11,9,9,10,11,11,6,7,7,9,9,7,8,8,10,9,7,8,8,10,10,9,10,9,11,11,9,10,10,11,11,8,9,9,11,11,9,10,10,12,11,9,10,10,11,12,11,11,11,13,13,11,11,11,12,13,8,9,9,11,11,9,10,10,11,11,9,10,10,12,11,11,12,11,13,12,11,11,12,13,13,6,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,11,9,10,10,11,12,7,8,8,10,10,8,9,9,11,11,8,9,9,10,10,10,11,11,12,12,10,10,11,12,12,7,8,8,10,10,8,9,8,10,10,8,9,9,10,10,10,11,10,12,11,10,10,11,12,12,9,10,10,11,12,10,11,11,12,12,10,11,10,12,12,12,12,12,13,13,11,12,12,13,13,9,10,10,11,11,9,10,10,12,12,10,11,11,12,13,11,12,11,13,12,12,12,12,13,14,6,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,11,11,9,10,10,11,12,7,8,8,10,10,8,9,9,11,10,8,8,9,10,10,10,11,10,12,12,10,10,11,11,12,7,8,8,10,10,8,9,9,10,10,8,9,9,10,10,10,11,10,12,12,10,11,10,12,12,9,10,10,12,11,10,11,11,12,12,9,10,10,12,12,12,12,12,13,13,11,11,12,12,14,9,10,10,11,12,10,11,11,12,12,10,11,11,12,12,11,12,12,14,14,12,12,12,13,13,8,9,9,11,11,9,10,10,12,11,9,10,10,12,12,11,12,11,13,13,11,11,12,13,13,9,10,10,12,12,10,11,11,12,12,10,11,11,12,12,12,12,12,14,14,12,12,12,13,13,9,10,10,12,11,10,11,10,12,12,10,11,11,12,12,11,12,12,14,13,12,12,12,13,14,11,12,11,13,13,11,12,12,13,13,12,12,12,14,14,13,13,13,13,15,13,13,14,15,15,11,11,11,13,13,11,12,11,13,13,11,12,12,13,13,12,13,12,15,13,13,13,14,14,15,8,9,9,11,11,9,10,10,11,12,9,10,10,11,12,11,12,11,13,13,11,12,12,13,13,9,10,10,11,12,10,11,10,12,12,10,10,11,12,13,12,12,12,14,13,11,12,12,13,14,9,10,10,12,12,10,11,11,12,12,10,11,11,12,12,12,12,12,14,13,12,12,12,14,13,11,11,11,13,13,11,12,12,14,13,11,11,12,13,13,13,13,13,15,14,12,12,13,13,15,11,12,12,13,13,12,12,12,13,14,11,12,12,13,13,13,13,14,14,15,13,13,13,14,14,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,7,5,7,7,5,7,7,7,9,9,7,9,9,5,7,7,7,9,9,7,9,9,5,7,7,7,9,9,7,9,9,8,9,9,9,10,11,9,11,11,7,9,9,9,11,10,9,11,11,5,7,7,7,9,9,8,9,10,7,9,9,9,11,11,9,10,11,7,9,10,9,11,11,9,11,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,9,16,18,18,17,17,17,17,17,17,5,8,11,12,11,12,17,17,16,16,6,6,8,8,9,10,14,15,16,16,6,7,7,4,6,9,13,16,16,16,6,6,7,4,5,8,11,15,17,16,7,6,7,6,6,8,9,10,14,16,11,8,8,7,6,6,3,4,10,15,14,12,12,10,5,6,3,3,8,13,15,17,15,11,6,8,6,6,9,14,17,15,15,12,8,10,9,9,12,15,0,0,0,0,2,0,0,0,100,0,0,0,216,14,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,253,1,0,0,0,0,0,0,0,0,0,0,0,0,0,112,253,1,0,0,0,0,0,0,0,0,0,0,0,0,0,152,253,1,0,0,0,0,0,0,0,0,0,0,0,0,0,192,253,1,0,0,0,0,0,232,253,1,0,16,254,1,0,0,0,0,0,0,0,0,0,56,254,1,0,96,254,1,0,0,0,0,0,0,0,0,0,136,254,1,0,176,254,1,0,0,0,0,0,0,0,0,0,216,254,1,0,0,255,1,0,0,0,0,0,0,0,0,0,40,255,1,0,80,255,1,0,120,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,224,252,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,13,14,14,15,14,14,15,15,5,4,6,8,10,12,12,14,15,15,9,5,4,5,8,10,11,13,16,16,10,7,4,3,5,7,9,11,13,13,10,9,7,4,4,6,8,10,12,14,13,11,9,6,5,5,6,8,12,14,13,11,10,8,7,6,6,7,10,14,13,11,12,10,8,7,6,6,9,13,12,11,14,12,11,9,8,7,9,11,11,12,14,13,14,11,10,8,8,9,0,0,0,0,4,0,0,0,81,0,0,0,112,14,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,200,14,2,0,0,0,0,0,4,0,0,0,113,2,0,0,224,11,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,14,2,0,0,0,0,0,2,0,0,0,81,0,0,0,96,11,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,184,11,2,0,0,0,0,0,2,0,0,0,33,1,0,0,240,9,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,24,11,2,0,0,0,0,0,4,0,0,0,81,0,0,0,136,9,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,224,9,2,0,0,0,0,0,2,0,0,0,121,0,0,0,216,8,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,88,9,2,0,0,0,0,0,2,0,0,0,169,0,0,0,240,7,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,160,8,2,0,0,0,0,0,2,0,0,0,25,0,0,0,184,7,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,7,2,0,0,0,0,0,2,0,0,0,169,0,0,0,208,6,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,128,7,2,0,0,0,0,0,2,0,0,0,121,0,0,0,32,6,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,160,6,2,0,0,0,0,0,2,0,0,0,225,0,0,0,248,4,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,224,5,2,0,0,0,0,0,2,0,0,0,185,1,0,0,224,2,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,160,4,2,0,0,0,0,0,2,0,0,0,81,0,0,0,96,2,2,0,1,0,0,0,0,24,125,225,0,24,61,97,4,0,0,0,0,0,0,0,184,2,2,0,0,0,0,0,2,0,0,0,105,1,0,0,160,0,2,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,16,2,2,0,0,0,0,0,1,0,0,0,49,0,0,0,160,255,1,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,216,255,1,0,0,0,0,0,2,3,4,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,8,7,8,6,9,7,10,8,11,10,11,11,11,11,4,7,6,9,9,10,9,9,9,10,10,11,10,11,10,11,11,13,11,4,7,7,9,9,9,9,9,9,10,10,11,10,11,11,11,12,11,12,7,9,8,11,11,11,11,10,10,11,11,12,12,12,12,12,12,14,13,7,8,9,10,11,11,11,10,10,11,11,11,11,12,12,14,12,13,14,8,9,9,11,11,11,11,11,11,12,12,14,12,15,14,14,14,15,14,8,9,9,11,11,11,11,12,11,12,12,13,13,13,13,13,13,14,14,8,9,9,11,10,12,11,12,12,13,13,13,13,15,14,14,14,16,16,8,9,9,10,11,11,12,12,12,13,13,13,14,14,14,15,16,15,15,9,10,10,11,12,12,13,13,13,14,14,16,14,14,16,16,16,16,15,9,10,10,11,11,12,13,13,14,15,14,16,14,15,16,16,16,16,15,10,11,11,12,13,13,14,15,15,15,15,15,16,15,16,15,16,15,15,10,11,11,13,13,14,13,13,15,14,15,15,16,15,15,15,16,15,16,10,12,12,14,14,14,14,14,16,16,15,15,15,16,16,16,16,16,16,11,12,12,14,14,14,14,15,15,16,15,16,15,16,15,16,16,16,16,12,12,13,14,14,15,16,16,16,16,16,16,15,16,16,16,16,16,16,12,13,13,14,14,14,14,15,16,15,16,16,16,16,16,16,16,16,16,12,13,14,14,14,16,15,16,15,16,16,16,16,16,16,16,16,16,16,12,14,13,14,15,15,15,16,15,16,16,15,16,16,16,16,16,16,16,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,3,3,9,9,9,9,9,9,4,9,9,9,9,9,9,9,9,5,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,6,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,9,8,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,10,9,10,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,9,10,10,9,10,8,9,8,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,8,9,8,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,9,10,10,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,7,9,8,10,9,11,10,4,6,6,8,8,10,9,9,9,10,10,11,10,12,10,4,6,6,8,8,10,10,9,9,10,10,11,11,11,12,7,8,8,10,10,11,11,11,10,12,11,12,12,13,11,7,8,8,10,10,11,11,10,10,11,11,12,12,13,13,8,10,10,11,11,12,11,12,11,13,12,13,12,14,13,8,10,9,11,11,12,12,12,12,12,12,13,13,14,13,8,9,9,11,10,12,11,13,12,13,13,14,13,14,13,8,9,9,10,11,12,12,12,12,13,13,14,15,14,14,9,10,10,12,11,13,12,13,13,14,13,14,14,14,14,9,10,10,12,12,12,12,13,13,14,14,14,15,14,14,10,11,11,13,12,13,12,14,14,14,14,14,14,15,15,10,11,11,12,12,13,13,14,14,14,15,15,14,16,15,11,12,12,13,12,14,14,14,13,15,14,15,15,15,17,11,12,12,13,13,14,14,14,15,15,14,15,15,14,17,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,7,7,5,6,6,7,7,7,7,7,7,7,7,5,6,6,7,7,7,7,7,7,7,7,6,7,7,7,7,7,7,7,7,8,8,6,7,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,8,8,8,8,7,7,7,8,7,8,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,5,6,6,7,7,8,8,10,10,11,11,5,6,6,7,7,8,8,9,9,11,10,12,11,5,6,6,7,7,8,8,9,9,10,11,11,12,6,7,7,8,8,9,9,10,10,11,11,12,12,6,7,7,8,8,9,9,10,10,11,12,13,12,7,8,8,9,9,10,10,11,11,12,12,13,13,8,8,8,9,9,10,10,11,11,12,12,13,13,9,9,9,10,10,11,11,12,12,13,13,14,14,9,9,9,10,10,11,11,12,12,13,13,14,14,10,11,11,12,11,13,12,13,13,14,14,15,15,10,11,11,11,12,12,13,13,14,14,14,15,15,11,12,12,13,13,14,13,15,14,15,15,16,15,11,11,12,13,13,13,14,14,14,15,15,15,16,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,4,4,5,5,4,5,5,5,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,9,9,10,10,4,6,5,7,7,8,8,8,8,9,9,10,10,4,6,6,7,7,8,8,8,8,9,9,10,10,6,7,7,7,8,8,8,8,9,9,10,10,10,6,7,7,8,8,8,8,9,8,10,9,11,10,7,8,8,8,8,8,9,9,9,10,10,11,11,7,8,8,8,8,9,8,9,9,10,10,11,11,8,8,8,9,9,9,9,9,10,10,10,11,11,8,8,8,9,9,9,9,10,9,10,10,11,11,9,9,9,9,10,10,10,10,10,10,11,11,12,9,9,9,10,9,10,10,10,10,11,10,12,11,10,10,10,10,10,11,11,11,11,11,12,12,12,10,10,10,10,11,11,11,11,11,12,11,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,8,8,5,5,5,6,6,7,7,8,8,8,8,5,5,5,6,6,7,7,7,8,8,8,6,6,6,7,7,7,7,8,8,8,8,6,6,6,7,7,7,7,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,8,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,8,8,8,8,8,8,8,8,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,8,9,9,7,9,9,5,8,8,7,9,9,8,9,9,5,8,8,8,10,10,8,10,10,7,10,10,9,10,12,9,12,11,7,10,10,9,11,10,9,11,12,5,8,8,8,10,10,8,10,10,7,10,10,9,11,11,9,10,11,7,10,10,9,11,11,10,12,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,4,4,6,6,7,7,8,8,8,8,10,10,11,11,11,11,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,6,6,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,6,6,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,7,7,7,8,8,9,8,10,9,10,9,11,10,12,11,13,12,7,7,7,8,8,8,9,9,10,9,10,10,11,11,12,12,13,8,8,8,9,9,9,9,10,10,11,10,11,11,12,12,13,13,8,8,8,9,9,9,10,10,10,10,11,11,11,12,12,12,13,8,9,9,9,9,10,9,11,10,11,11,12,11,13,12,13,13,8,9,9,9,9,9,10,10,11,11,11,11,12,12,13,13,13,10,10,10,10,10,11,10,11,11,12,11,13,12,13,13,14,13,10,10,10,10,10,10,11,11,11,11,12,12,13,13,13,13,14,11,11,11,11,11,12,11,12,12,13,12,13,13,14,13,14,14,11,11,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,11,12,12,12,12,13,12,13,12,13,13,14,13,14,14,14,14,11,12,12,12,12,12,12,13,13,13,13,13,14,14,14,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,3,4,4,5,5,7,7,9,9,4,5,4,6,6,7,7,9,9,4,4,5,6,6,7,7,9,9,5,6,6,7,7,8,8,10,10,6,6,6,7,7,8,8,10,10,7,7,7,8,8,9,9,11,10,7,7,7,8,8,9,9,10,11,9,9,9,10,10,11,10,12,11,9,9,9,9,10,11,11,11,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,5,7,6,9,9,5,6,7,9,9,8,9,9,11,11,8,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,11,12,5,7,7,9,9,7,8,7,10,10,7,8,8,10,10,9,10,9,12,11,9,10,10,12,12,8,9,9,12,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,14,11,11,12,13,14,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,11,13,13,11,12,12,14,14,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,11,12,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,11,12,13,10,11,11,12,13,6,8,8,10,10,8,9,8,11,10,8,9,9,11,11,10,11,10,13,12,10,11,11,13,13,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,12,13,13,14,12,13,13,14,14,9,10,10,12,12,10,11,10,13,12,10,11,11,13,13,11,13,12,14,13,12,13,13,14,14,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,12,12,7,8,8,10,10,8,9,9,11,11,8,8,9,10,11,10,11,11,13,13,10,10,11,12,13,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,11,13,13,10,11,11,13,12,9,10,10,12,12,10,11,11,13,13,10,10,11,12,13,12,13,13,14,14,12,12,13,13,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,15,14,12,13,13,14,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,12,12,12,14,13,11,12,12,14,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,14,15,12,13,13,14,15,9,10,10,12,12,10,11,10,13,12,10,11,11,13,13,12,13,12,15,14,12,13,13,14,15,11,12,12,14,14,12,13,13,14,14,12,13,13,15,14,14,14,14,14,16,14,14,15,16,16,11],"i8",N3,x.GLOBAL_BASE+124340),E3([12,12,14,14,11,12,12,14,14,12,13,13,14,15,13,14,13,16,14,14,14,14,16,16,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,14,14,9,10,10,12,12,10,11,11,13,13,10,10,11,12,13,12,13,13,15,14,12,12,13,13,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,14,14,12,13,13,15,14,11,12,12,14,13,12,13,13,15,14,11,12,12,13,14,14,15,14,16,15,13,13,14,13,16,11,12,12,14,14,12,13,13,14,15,12,13,12,15,14,14,14,14,16,15,14,15,13,16,14,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,7,5,7,7,5,7,7,8,9,9,7,9,9,5,7,7,7,9,9,8,9,9,5,7,7,7,9,9,7,9,9,7,9,9,9,10,11,9,11,10,7,9,9,9,11,10,9,10,11,5,7,7,7,9,9,7,9,9,7,9,9,9,11,10,9,10,10,8,9,9,9,11,11,9,11,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,6,14,18,18,17,17,17,17,17,17,4,7,9,9,10,13,15,17,17,17,6,7,5,6,8,11,16,17,16,17,5,7,5,4,6,10,14,17,17,17,6,6,6,5,7,10,13,16,17,17,7,6,7,7,7,8,7,10,15,16,12,9,9,6,6,5,3,5,11,15,14,14,13,5,5,7,3,4,8,15,17,17,13,7,7,10,6,6,10,15,17,17,16,10,11,14,10,10,15,17,0,0,0,0,2,0,0,0,100,0,0,0,192,30,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,16,2,0,0,0,0,0,0,0,0,0,0,0,0,0,224,16,2,0,0,0,0,0,0,0,0,0,0,0,0,0,8,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0,48,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0,88,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0,128,17,2,0,0,0,0,0,168,17,2,0,208,17,2,0,0,0,0,0,0,0,0,0,248,17,2,0,32,18,2,0,0,0,0,0,0,0,0,0,72,18,2,0,112,18,2,0,152,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,80,16,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,14,13,15,14,16,13,13,14,5,5,7,7,8,9,11,10,12,15,10,6,5,6,6,9,10,10,13,16,10,6,6,6,6,8,9,9,12,15,14,7,6,6,5,6,6,8,12,15,10,8,7,7,6,7,7,7,11,13,14,10,9,8,5,6,4,5,9,12,10,9,9,8,6,6,5,3,6,11,12,11,12,12,10,9,8,5,5,8,10,11,15,13,13,13,12,8,6,7,0,0,0,0,4,0,0,0,81,0,0,0,88,30,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,176,30,2,0,0,0,0,0,4,0,0,0,81,0,0,0,240,29,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,72,30,2,0,0,0,0,0,4,0,0,0,113,2,0,0,96,27,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,29,2,0,0,0,0,0,4,0,0,0,113,2,0,0,208,24,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,27,2,0,0,0,0,0,2,0,0,0,81,0,0,0,80,24,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,168,24,2,0,0,0,0,0,2,0,0,0,81,0,0,0,208,23,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,40,24,2,0,0,0,0,0,4,0,0,0,81,0,0,0,104,23,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,192,23,2,0,0,0,0,0,2,0,0,0,121,0,0,0,184,22,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,56,23,2,0,0,0,0,0,2,0,0,0,121,0,0,0,8,22,2,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,136,22,2,0,0,0,0,0,2,0,0,0,121,0,0,0,88,21,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,216,21,2,0,0,0,0,0,2,0,0,0,121,0,0,0,168,20,2,0,1,0,0,0,0,226,120,225,0,232,51,97,4,0,0,0,0,0,0,0,40,21,2,0,0,0,0,0,2,0,0,0,169,0,0,0,192,19,2,0,1,0,0,0,0,96,18,225,0,128,184,96,4,0,0,0,0,0,0,0,112,20,2,0,0,0,0,0,1,0,0,0,49,0,0,0,192,18,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,248,18,2,0,0,0,0,0,2,4,4,4,4,5,5,5,5,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,6,5,8,6,9,8,10,9,11,10,4,6,6,8,8,9,9,11,10,11,11,11,11,4,6,6,8,8,10,9,11,11,11,11,11,12,6,8,8,10,10,11,11,12,12,13,12,13,13,6,8,8,10,10,11,11,12,12,12,13,14,13,8,10,10,11,11,12,13,14,14,14,14,15,15,8,10,10,11,12,12,13,13,14,14,14,14,15,9,11,11,13,13,14,14,15,14,16,15,17,15,9,11,11,12,13,14,14,15,14,15,15,15,16,10,12,12,13,14,15,15,15,15,16,17,16,17,10,13,12,13,14,14,16,16,16,16,15,16,17,11,13,13,14,15,14,17,15,16,17,17,17,17,11,13,13,14,15,15,15,15,17,17,16,17,16,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,10,10,10,10,10,10,10,10,4,10,10,10,10,10,10,10,10,10,10,4,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,7,7,5,6,6,7,7,7,7,7,7,7,7,5,6,6,6,7,7,7,7,7,7,7,6,7,7,7,7,7,7,7,7,8,8,6,7,7,7,7,7,7,7,7,8,8,7,7,7,7,7,8,7,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,10,11,11,4,6,6,7,7,9,9,11,10,12,12,5,6,5,7,7,9,9,10,11,12,12,6,7,7,8,8,10,10,11,11,13,13,6,7,7,8,8,10,10,11,12,13,13,8,9,9,10,10,11,11,12,12,14,14,8,9,9,10,10,11,11,12,12,14,14,10,10,10,11,11,13,12,14,14,15,15,10,10,10,12,12,13,13,14,14,15,15,11,12,12,13,13,14,14,15,14,16,15,11,12,12,13,13,14,14,15,15,15,16,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,3,4,4,6,6,7,7,8,8,8,8,4,5,5,6,6,8,7,8,8,8,8,4,5,5,6,6,7,8,8,8,8,8,6,7,6,7,7,8,8,9,9,9,9,6,6,7,7,7,8,8,9,9,9,9,7,8,7,8,8,9,9,9,9,9,9,7,7,8,8,8,9,9,9,9,9,9,8,8,8,9,9,9,9,10,9,9,9,8,8,8,9,9,9,9,9,9,9,10,8,8,8,9,9,9,9,10,9,10,10,8,8,8,9,9,9,9,9,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,9,8,8,9,9,7,10,10,5,8,9,7,9,10,8,9,9,4,9,9,9,11,10,8,10,10,7,11,10,10,10,12,10,12,12,7,10,10,10,12,11,10,12,12,5,9,9,8,10,10,9,11,11,7,11,10,10,12,12,10,11,12,7,10,11,10,12,12,10,12,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,9,9,4,5,4,6,6,8,7,9,9,4,4,5,6,6,7,7,9,9,5,6,6,7,7,8,8,10,10,5,6,6,7,7,8,8,10,10,7,8,7,8,8,10,9,11,11,7,7,8,8,8,9,10,11,11,9,9,9,10,10,11,10,12,11,9,9,9,10,10,11,11,11,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,7,8,10,10,4,5,5,8,7,8,8,11,11,3,5,5,7,7,8,9,11,11,6,8,7,9,9,10,10,12,12,6,7,8,9,10,10,10,12,12,8,8,8,10,10,12,11,13,13,8,8,9,10,10,11,11,13,13,10,11,11,12,12,13,13,14,14,10,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,6,7,6,9,9,6,6,7,9,9,8,9,9,11,11,8,9,9,10,11,6,7,7,9,9,7,8,8,10,10,6,7,8,9,10,9,10,10,12,12,9,9,10,11,12,6,7,7,9,9,6,8,7,10,9,7,8,8,10,10,9,10,9,12,11,9,10,10,12,11,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,13,14,11,11,12,13,13,8,9,9,11,11,9,10,10,12,11,9,10,10,12,12,11,12,11,13,13,11,12,12,13,13,6,7,7,9,9,7,8,7,10,10,7,7,8,10,10,9,10,10,12,11,9,10,10,12,12,7,8,8,10,10,8,8,9,11,11,8,9,9,11,11,10,11,11,12,12,10,10,11,12,13,6,7,7,10,10,7,9,8,11,10,8,8,9,10,11,10,11,10,13,11,10,11,11,12,12,9,10,10,12,12,10,10,11,13,13,10,11,11,13,12,12,12,13,13,14,12,12,13,14,14,9,10,10,12,12,9,10,10,12,12,10,11,11,13,13,11,12,11,14,12,12,13,13,14,14,6,7,7,9,9,7,8,7,10,10,7,7,8,10,10,9,10,10,12,11,9,10,10,11,12,6,7,7,10,10,8,9,8,11,10,7,8,9,10,11,10,11,11,13,12,10,10,11,11,13,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,10,13,12,10,11,11,12,12,9,10,10,12,12,10,11,11,13,12,9,10,10,12,13,12,13,12,14,14,11,11,12,12,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,12,14,14,12,13,12,14,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,13,13,9,10,10,12,12,10,11,11,13,13,10,11,11,13,12,12,13,13,14,14,12,12,13,14,14,9,10,10,12,12,9,11,10,13,12,10,10,11,12,13,11,13,12,14,13,12,12,13,14,14,11,12,12,13,13,11,12,13,14,14,12,13,13,14,14,13,13,14,14,16,13,14,14,16,16,11,11,11,13,13,11,12,11,14,13,12,12,13,14,15,13,14,12,16,13,14,14,14,15,16,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,13,14,9,10,10,12,12,10,11,10,13,12,9,10,11,12,13,12,13,12,14,14,12,12,13,13,14,9,10,10,12,12,10,11,11,12,13,10,11,11,13,13,12,13,12,14,14,12,13,13,14,14,11,12,12,13,13,12,13,12,14,14,11,11,12,13,14,13,15,14,16,15,13,12,14,13,16,11,12,12,13,13,12,13,13,14,14,12,12,12,14,14,13,14,14,15,15,13,14,13,16,14,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,4,8,8,5,7,6,9,9,5,6,7,9,9,8,9,9,13,12,8,9,10,12,13,5,7,7,10,9,7,9,9,11,11,6,8,9,11,11,10,11,11,14,14,9,10,11,13,14,5,7,7,9,9,7,9,8,11,11,7,9,9,11,11,9,11,10,14,13,10,11,11,14,14,8,10,10,14,13,10,11,12,15,14,9,11,11,15,14,13,14,14,16,16,12,13,14,17,16,8,10,10,13,13,9,11,11,14,15,10,11,12,14,15,12,14,13,16,16,13,14,15,15,17,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,12,11,15,14,10,11,12,14,14,7,9,9,12,12,9,11,11,13,13,9,11,11,13,13,11,13,13,14,17,11,13,13,15,16,6,9,9,11,11,8,11,10,13,12,9,11,11,13,13,11,13,12,16,14,11,13,13,16,16,10,12,12,15,15,11,13,13,16,16,11,13,13,16,15,14,16,17,17,19,14,16,16,18,0,9,11,11,14,15,10,13,12,16,15,11,13,13,16,16,14,15,14,0,16,14,16,16,18,0,5,7,7,10,10,7,9,9,12,11,7,9,9,11,12,10,11,11,15,14,10,11,12,14,14,6,9,9,11,11,9,11,11,13,13,8,10,11,12,13,11,13,13,17,15,11,12,13,14,15,7,9,9,11,12,9,11,11,13,13,9,11,11,13,13,11,13,12,16,16,11,13,13,15,14,9,11,11,14,15,11,13,13,16,15,10,12,13,16,16,15,16,16,0,0,14,13,15,16,18,10,11,11,15,15,11,13,14,16,18,11,13,13,16,15,15,16,16,19,0,14,15,15,16,16,8,10,10,13,13,10,12,11,16,15,10,11,11,16,15,13,15,16,18,0,13,14,15,17,17,9,11,11,15,15,11,13,13,16,18,11,13,13,16,17,15,16,16,0,0,15,18,16,0,17,9,11,11,15,15,11,13,12,17,15,11,13,14,16,17,15,18,15,0,17,15,16,16,18,19,13,15,14,0,18,14,16,16,19,18,14,16,15,19,19,16,18,19,0,0,16,17,0,0,0,12,14,14,17,17,13,16,14,0,18,14,16,15,18,0,16,18,16,19,17,18,19,17,0,0,8,10,10,14,14,9,12,11,15,15,10,11,12,15,17,13,15,15,18,16,14,16,15,18,17,9,11,11,16,15,11,13,13,0,16,11,12,13,16,15,15,16,16,0,17,15,15,16,18,17,9,12,11,15,17,11,13,13,16,16,11,14,13,16,16,15,15,16,18,19,16,18,16,0,0,12,14,14,0,16,14,16,16,0,18,13,14,15,16,0,17,16,18,0,0,16,16,17,19,0,13,14,14,17,0,14,17,16,0,19,14,15,15,18,19,17,16,18,0,0,15,19,16,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,5,6,6,5,6,6,5,6,6,6,8,8,6,7,8,5,6,6,6,8,7,6,8,8,5,6,6,6,8,7,6,8,8,6,8,8,8,9,9,8,9,9,6,8,7,7,9,8,8,9,9,5,6,6,6,8,7,6,8,8,6,8,8,8,9,9,7,8,9,6,8,8,8,9,9,8,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,4,7,7,5,7,7,5,8,8,8,10,10,7,10,10,5,8,8,7,10,10,8,10,10,5,8,8,8,11,10,8,10,10,8,10,10,10,12,13,10,13,13,7,10,10,10,13,12,10,13,13,5,8,8,8,11,10,8,10,11,7,10,10,10,13,13,10,12,13,8,11,11,10,13,13,10,13,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,12,17,16,16,17,17,17,17,17,4,7,11,11,12,9,17,10,17,17,7,7,8,9,7,9,11,10,15,17,7,9,10,11,10,12,14,12,16,17,7,8,5,7,4,7,7,8,16,16,6,10,9,10,7,10,11,11,16,17,6,8,8,9,5,7,5,8,16,17,5,5,8,7,6,7,7,6,6,14,12,10,12,11,7,11,4,4,2,7,17,15,15,15,8,15,6,8,5,9,0,0,0,0,2,0,0,0,100,0,0,0,208,47,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,200,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,240,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,24,33,2,0,0,0,0,0,0,0,0,0,0,0,0,0,64,33,2,0,0,0,0,0,0,0,0,0,0,0,0,0,104,33,2,0,0,0,0,0,144,33,2,0,184,33,2,0,0,0,0,0,0,0,0,0,224,33,2,0,8,34,2,0,0,0,0,0,0,0,0,0,48,34,2,0,88,34,2,0,128,34,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,56,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,14,13,14,13,16,12,13,14,5,4,6,6,8,9,11,10,12,15,10,5,5,6,6,8,10,10,13,16,10,6,6,6,6,8,9,9,12,14,13,7,6,6,4,6,6,7,11,14,10,7,7,7,6,6,6,7,10,13,15,10,9,8,5,6,5,6,10,14,10,9,8,8,6,6,5,4,6,11,11,11,12,11,10,9,9,5,5,9,10,12,15,13,13,13,13,8,7,7,0,0,0,0,4,0,0,0,81,0,0,0,104,47,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,192,47,2,0,0,0,0,0,4,0,0,0,81,0,0,0,0,47,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,88,47,2,0,0,0,0,0,4,0,0,0,113,2,0,0,112,44,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,46,2,0,0,0,0,0,4,0,0,0,113,2,0,0,224,41,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,44,2,0,0,0,0,0,2,0,0,0,81,0,0,0,96,41,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,184,41,2,0,0,0,0,0,2,0,0,0,81,0,0,0,224,40,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,56,41,2,0,0,0,0,0,4,0,0,0,81,0,0,0,120,40,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,208,40,2,0,0,0,0,0,2,0,0,0,121,0,0,0,200,39,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,72,40,2,0,0,0,0,0,2,0,0,0,121,0,0,0,24,39,2,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,152,39,2,0,0,0,0,0,2,0,0,0,121,0,0,0,104,38,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,232,38,2,0,0,0,0,0,2,0,0,0,225,0,0,0,64,37,2,0,1,0,0,0,0,228,91,225,0,224,255,96,4,0,0,0,0,0,0,0,40,38,2,0,0,0,0,0,2,0,0,0,225,0,0,0,24,36,2,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,0,37,2,0,0,0,0,0,2,0,0,0,33,1,0,0,168,34,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,208,35,2,0,0,0,0,0,3,5,5,7,7,8,8,8,8,8,8,9,8,8,9,9,9,5,6,6,7,7,8,8,8,8,8,8,9,9,9,9,9,9,5,6,6,7,7,8,8,8,8,8,8,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,9,9,9,9,9,9,9,9,9,9,9,10,9,9,9,10,9,9,9,9,9,9,9,9,9,9,10,9,9,9,10,9,9,10,9,9,9,9,9,9,9,9,9,10,10,10,9,10,9,10,10,9,9,9,9,9,9,9,9,9,10,10,9,10,10,9,9,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,7,7,8,9,8,8,9,8,9,8,9,9,4,7,6,8,8,9,9,9,9,9,9,9,9,9,9,4,7,6,9,9,10,10,9,9,10,10,10,10,11,11,7,9,8,10,10,11,11,10,10,11,11,11,11,11,11,7,8,9,10,10,11,11,10,10,11,11,11,11,11,12,8,10,10,11,11,12,12,11,11,12,12,12,12,13,12,8,10,10,11,11,12,11,11,11,11,12,12,12,12,13,8,9,9,11,10,11,11,12,12,12,12,13,12,13,12,8,9,9,11,11,11,11,12,12,12,12,12,13,13,13,9,10,10,11,12,12,12,12,12,13,13,13,13,13,13,9,10,10,11,11,12,12,12,12,13,13,13,13,14,13,10,10,10,12,11,12,12,13,13,13,13,13,13,13,13,10,10,11,11,11,12,12,13,13,13,13,13,13,13,13,10,11,11,12,12,13,12,12,13,13,13,13,13,13,14,10,11,11,12,12,13,12,13,13,13,14,13,13,14,13,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,2,9,8,15,15,15,15,15,15,15,15,15,15,4,8,9,13,14,14,14,14,14,14,14,14,14,14,14,5,8,9,14,14,14,14,14,14,14,14,14,14,14,14,11,14,14,14,14,14,14,14,14,14,14,14,14,14,14,11,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,3,5,5,6,6,7,7,7,7,7,7,5,6,5,7,7,7,7,8,7,8,8,5,5,6,6,7,7,7,7,7,8,8,6,7,7,7,7,8,7,8,8,8,8,6,6,7,7,7,7,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,7,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,10,10,4,6,6,7,7,9,9,10,10,11,11,4,6,6,7,7,9,9,10,10,11,11,6,8,8,9,9,10,10,11,11,12,12,6,8,8,9,9,10,10,11,11,12,12,8,9,9,10,10,11,11,12,12,13,13,8,9,9,10,10,11,11,12,12,13,13,10,10,10,11,11,13,13,13,13,15,14,9,10,10,12,11,12,13,13,13,14,15,11,12,12,13,13,13,13,15,14,15,15,11,11,12,13,13,14,14,14,15,15,15,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,3,4,4,6,6,7,7,8,8,8,8,4,5,5,7,6,8,8,8,8,8,8,4,5,5,6,7,8,8,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,7,8,8,8,8,8,8,9,9,9,9,7,8,8,8,8,8,8,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,9,8,7,10,10,8,10,10,5,8,9,7,10,10,7,10,9,4,8,8,9,11,11,8,11,11,7,11,11,10,10,13,10,13,13,7,11,11,10,13,12,10,13,13,5,9,8,8,11,11,9,11,11,7,11,11,10,13,13,10,12,13,7,11,11,10,13,13,9,13,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,9,9,4,5,4,6,6,7,7,9,9,4,4,5,6,6,7,8,9,9,5,6,6,7,7,8,8,10,10,5,6,6,7,7,8,8,10,10,7,8,7,8,8,10,9,11,11,7,7,8,8,8,9,10,10,11,9,9,9,10,10,11,11,12,11,9,9,9,10,10,11,11,11,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,8,8,10,10,4,5,5,8,7,8,8,11,11,3,5,5,7,8,8,8,11,11,6,8,7,9,9,10,9,12,11,6,7,8,9,9,9,10,11,12,8,8,8,10,9,12,11,13,13,8,8,9,9,10,11,12,13,13,10,11,11,12,12,13,13,14,14,10,10,11,11,12,13,13,14,14,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,6,7,6,9,9,6,6,7,9,9,8,9,9,11,11,8,9,9,11,11,6,7,7,9,9,7,8,8,10,10,7,7,8,9,10,9,10,10,11,11,9,9,10,11,12,6,7,7,9,9,7,8,7,10,9,7,8,8,10,10,9,10,9,12,11,9,10,10,12,11,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,11,12,13,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,11,13,12,11,12,12,13,13,5,7,7,9,9,7,8,7,10,10,7,7,8,10,10,9,10,10,12,11,9,10,10,11,12,7,8,8,10,10,8,8,9,11,11,8,9,9,11,11,10,10,11,12,13,10,10,11,12,12,6,7,7,10,10,7,9,8,11,10,8,8,9,10,11,10,11,10,13,11,10,11,11,12,12,9,10,10,12,12,10,10,11,13,13,10,11,11,12,13,12,12,12,13,14,12,12,13,14,14,9,10,10,12,12,9,10,10,13,12,10,11,11,13,13,11,12,11,14,12,12,13,13,14,14,6,7,7,9,9,7,8,7,10,10,7,8,8,10,10,9,10,10,12,11,9,10,10,11,12,6,7,7,10,10,8,9,8,11,10,7,8,9,10,11,10,11,11,12,12,10,10,11,11,13,7,8,8,10,10,8,9,9,11,11,8,9,8,11,11,10,11,10,13,12,10,11,11,13,12,9,10,10,12,12,10,11,11,13,12,9,10,10,12,13,12,13,12,14,14,11,11,12,12,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,12,12,14,14,12,13,12,14,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,13,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,12,13,14,15,12,12,13,14,14,9,10,10,12,12,9,11,10,13,12,10,10,11,12,13,12,13,12,14,13,12,12,13,14,15,11,12,12,14,13,11,12,12,14,14,12,13,13,14,14,13,13,14,14,16,13,14,14,15,15,11,12,11,13,13,11,12,11,14,13,12,12,13,14,15,12,14,12,15,12,13,14,15,15,16,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,13,13,9,10,10,12,12,10,11,10,13,12,9,10,11,12,13,12,13,12,14,14,12,12,13,13,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,12,14,14,12,13,13,14,14,11,11,11,13,13,12,13,12,14,14,11,11,12,13,14,14,14,14,16,15,12,12,14,12,15,11,12,12,13,14,12,13,13,14,15,11,12,12,14,14,13,14,14,16,16,13,14,13,16,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,4,8,8,5,7,6,9,9,5,6,7,9,9,8,9,9,13,12,8,9,10,12,13,5,7,7,10,9,7,9,9,11,11,7,8,9,11,11,10,11,11,14,14,9,10,11,13,14,5,7,7,9,10,6,9,8,11,11,7,9,9,11,11,9,11,10,14,13,10,11,11,14,13,8,10,10,13,13,10,11,11,15,15,9,11,11,14,14,13,14,14,17,16,12,13,14,16,16,8,10,10,13,14,9,11,11,14,15,10,11,12,14,15,12,14,13,16,15,13,14,14,15,17,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,12,11,14,14,10,11,11,14,14,7,9,9,12,11,9,11,11,13,13,9,11,11,13,13,11,13,13,14,15,11,12,13,15,16,6,9,9,11,12,8,11,10,13,12,9,11,11,13,14,11,13,12,16,14,11,13,13,15,16,10,12,11,14,15,11,13,13,15,17,11,13,13,17,16,15,15,16,17,16,14,15,16,18,0,9,11,11,14,15,10,12,12,16,15,11,13,13,16,16,13,15,14,18,15,14,16,16,0,0,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,11,11,14,14,10,11,12,14,14,6,9,9,11,11,9,11,11,13,13,8,10,11,12,13,11,13,13,16,15,11,12,13,14,16,7,9,9,11,12,9,11,11,13,13,9,11,11,13,13,11,13,13,16,15,11,13,12,15,15,9,11,11,15,14,11,13,13,17,16,10,12,13,15,16,14,16,16,0,18,14,14,15,15,17,10,11,12,15,15,11,13,13,16,16,11,13,13,16,16,14,16,16,19,17,14,15,15,17,17,8,10,10,14,14,10,12,11,15,15,10,11,12,16,15,14,15,15,18,20,13,14,16,17,18,9,11,11,15,16,11,13,13,17,17,11,13,13,17,16,15,16,16,0,0,15,16,16,0,0,9,11,11,15,15,10,13,12,17,15,11,13,13,17,16,15,17,15,20,19,15,16,16,19,0,13,15,14,0,17,14,15,16,0,20,15,16,16,0,19,17,18,0,0,0,16,17,18,0,0,12,14,14,19,18,13,15,14,0,17,14,15,16,19,19,16,18,16,0,19,19,20,17,20,0,8,10,10,13,14,10,11,11,15,15,10,12,12,15,16,14,15,14,19,16,14,15,15,0,18,9,11,11,16,15,11,13,13,0,16,11,12,13,16,17,14,16,17,0,19,15,16,16,18,0,9,11,11,15,16,11,13,13,16,16,11,14,13,18,17,15,16,16,18,20,15,17,19,0,0,12,14,14,17,17,14,16,15,0,0,13,14,15,19,0,16,18,20,0,0,16,16,18,18,0,12,14,14,17,20,14,16,16,19,0,14,16,14,0,20,16,20,17,0,0,17,0,15,0,19,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,5,6,6,5,6,6,5,6,6,6,8,8,6,7,8,5,6,6,6,8,7,6,8,8,5,6,6,6,8,8,6,8,8,6,8,8,8,9,9,8,9,9,6,7,7,7,9,8,8,9,9,5,6,6,6,8,7,6,8,8,6,8,8,8,9,9,7,8,9,6,8,8,8,9,9,8,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,4,8,7,5,7,7,5,8,8,8,10,10,7,9,10,5,8,8,7,10,9,8,10,10,5,8,8,8,10,10,8,10,10,8,10,10,10,12,13,10,13,13,7,10,10,10,13,11,10,13,13,5,8,8,8,11,10,8,10,10,7,10,10,10,13,13,10,11,13,8,10,11,10,13,13,10,13,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,11,16,13,17,13,17,16,17,17,4,7,9,9,13,10,16,12,16,17,7,6,5,7,8,9,12,12,16,17,6,9,7,9,10,10,15,15,17,17,6,7,5,7,5,7,7,10,16,17,7,9,8,9,8,10,11,11,15,17,7,7,7,8,5,8,8,9,15,17,8,7,9,9,7,8,7,2,7,15,14,13,13,15,5,10,4,3,6,17,17,15,13,17,7,11,7,6,9,16,0,0,0,0,2,0,0,0,100,0,0,0,160,64,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,49,2,0,0,0,0,0,0,0,0,0,0,0,0,0,216,49,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,2,0,0,0,0,0,0,0,0,0,0,0,0,0,40,50,2,0,0,0,0,0,0,0,0,0,0,0,0,0,80,50,2,0,0,0,0,0,0,0,0,0,0,0,0,0,120,50,2,0,0,0,0,0,160,50,2,0,200,50,2,0,0,0,0,0,0,0,0,0,240,50,2,0,24,51,2,0,0,0,0,0,0,0,0,0,64,51,2,0,104,51,2,0,144,51,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,72,49,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,13,12,14,12,16,11,13,14,5,4,5,6,7,8,10,9,12,15,10,5,5,5,6,8,9,9,13,15,10,5,5,6,6,7,8,8,11,13,12,7,5,6,4,6,7,7,11,14,11,7,7,6,6,6,7,6,10,14,14,9,8,8,6,7,7,7,11,16,11,8,8,7,6,6,7,4,7,12,10,10,12,10,10,9,10,5,6,9,10,12,15,13,14,14,14,8,7,8,0,0,0,0,4,0,0,0,81,0,0,0,56,64,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,144,64,2,0,0,0,0,0,4,0,0,0,81,0,0,0,208,63,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,40,64,2,0,0,0,0,0,4,0,0,0,113,2,0,0,64,61,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,184,63,2,0,0,0,0,0,4,0,0,0,113,2,0,0,176,58,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,40,61,2,0,0,0,0,0,2,0,0,0,81,0,0,0,48,58,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,136,58,2,0,0,0,0,0,2,0,0,0,81,0,0,0,176,57,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,8,58,2,0,0,0,0,0,4,0,0,0,81,0,0,0,72,57,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,160,57,2,0,0,0,0,0,2,0,0,0,121,0,0,0,152,56,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,24,57,2,0,0,0,0,0,2,0,0,0,121,0,0,0,232,55,2,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,104,56,2,0,0,0,0,0,2,0,0,0,121,0,0,0,56,55,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,184,55,2,0,0,0,0,0,2,0,0,0,169,0,0,0,80,54,2,0,1,0,0,0,0,232,87,225,0,224,255,96,4,0,0,0,0,0,0,0,0,55,2,0,0,0,0,0,2,0,0,0,225,0,0,0,40,53,2,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,16,54,2,0,0,0,0,0,2,0,0,0,33,1,0,0,184,51,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,52,2,0,0,0,0,0,2,5,5,7,7,8,8,8,8,8,8,9,9,9,9,9,9,5,6,6,7,7,8,8,9,8,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,9,8,9,9,9,9,9,9,9,9,7,7,7,8,8,9,8,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,9,8,9,9,9,9,9,9,9,9,9,9,8,8,8,8,9,9,9,9,9,9,9,9,10,9,10,10,10,8,8,8,9,8,9,9,9,9,9,9,9,10,9,10,9,10,8,9,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,8,9,9,9,9,9,9,10,9,10,9,10,10,10,10,10,10,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,9,10,9,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,10,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,7,8,7,9,8,9,9,4,7,6,9,8,10,10,9,8,9,9,9,9,9,8,5,6,6,8,9,10,10,9,9,9,10,10,10,10,11,7,8,8,10,10,11,11,10,10,11,11,11,12,11,11,7,8,8,10,10,11,11,10,10,11,11,12,11,11,11,8,9,9,11,11,12,12,11,11,12,11,12,12,12,12,8,9,10,11,11,12,12,11,11,12,12,12,12,12,12,8,9,9,10,10,12,11,12,12,12,12,12,12,12,13,8,9,9,11,11,11,11,12,12,12,12,13,12,13,13,9,10,10,11,11,12,12,12,13,12,13,13,13],"i8",N3,x.GLOBAL_BASE+134580),E3([14,13,9,10,10,11,11,12,12,12,13,13,12,13,13,14,13,9,11,10,12,11,13,12,12,13,13,13,13,13,13,14,9,10,10,12,12,12,12,12,13,13,13,13,13,14,14,10,11,11,12,12,12,13,13,13,14,14,13,14,14,14,10,11,11,12,12,12,12,13,12,13,14,13,14,14,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,2,12,10,13,13,13,13,13,13,13,13,4,9,9,13,13,13,13,13,13,13,13,13,13,5,10,9,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,6,6,7,7,7,7,7,7,5,6,5,7,6,7,7,8,8,8,8,5,5,5,6,6,7,7,8,8,8,8,6,7,6,7,7,8,8,8,8,8,8,6,6,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,10,10,4,6,6,7,7,9,9,10,10,11,11,4,6,6,7,7,9,9,10,10,11,11,6,8,7,9,9,10,10,11,11,13,12,6,8,8,9,9,10,10,11,11,12,13,8,9,9,10,10,12,12,13,12,14,13,8,9,9,10,10,12,12,13,13,14,14,9,11,11,12,12,13,13,14,14,15,14,9,11,11,12,12,13,13,14,14,15,14,11,12,12,13,13,14,14,15,14,15,14,11,11,12,13,13,14,14,14,14,15,15,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,4,5,5,7,7,8,8,9,8,8,9,4,5,5,7,7,8,8,9,9,8,9,6,7,7,8,8,9,8,9,9,9,9,6,7,7,8,8,9,9,9,9,9,9,7,8,8,9,9,9,9,9,9,9,9,7,8,8,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,9,9,8,11,10,7,11,10,5,9,9,7,10,10,8,10,11,4,9,9,9,12,12,9,12,12,8,12,12,11,12,12,10,12,13,7,12,12,11,12,12,10,12,13,4,9,9,9,12,12,9,12,12,7,12,11,10,13,13,11,12,12,7,12,12,10,13,13,11,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,9,9,4,5,4,6,6,7,7,9,9,4,4,5,6,6,7,7,9,9,5,6,6,7,7,8,8,10,10,6,6,6,7,7,8,8,10,10,7,7,7,8,8,9,9,11,10,7,7,7,8,8,9,9,10,11,9,9,9,10,10,11,10,11,11,9,9,9,10,10,11,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,8,8,10,10,4,5,5,8,7,8,8,11,10,3,5,5,7,8,8,8,10,11,6,8,7,10,9,10,10,11,11,6,7,8,9,9,9,10,11,12,8,8,8,10,10,11,11,13,12,8,8,9,9,10,11,11,12,13,10,11,10,12,11,13,12,14,14,10,10,11,11,12,12,13,14,14,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,6,7,6,9,9,6,6,7,9,9,8,9,9,11,11,8,9,9,11,11,6,7,7,9,9,7,8,8,10,10,6,7,8,9,10,9,10,10,11,12,9,9,10,11,12,6,7,7,9,9,6,8,7,10,9,7,8,8,10,10,9,10,9,12,11,9,10,10,12,11,8,9,9,12,11,9,10,10,12,12,9,10,10,12,12,11,12,12,13,14,11,11,12,13,14,8,9,9,11,12,9,10,10,12,12,9,10,10,12,12,11,12,11,14,13,11,12,12,13,13,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,12,12,7,8,8,10,10,8,8,9,10,11,8,9,9,11,11,10,10,11,11,13,10,11,11,12,13,6,7,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,13,11,10,11,11,12,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,11,13,12,15,12,13,13,14,15,9,10,10,12,12,9,11,10,13,12,10,11,11,13,13,11,13,11,14,12,12,13,13,14,15,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,12,12,6,8,7,10,10,8,9,9,11,11,7,8,9,10,11,10,11,11,12,12,10,10,11,11,13,7,8,8,10,10,8,9,9,11,11,8,9,8,11,10,10,11,11,13,12,10,11,10,13,11,9,10,10,12,12,10,11,11,13,12,9,10,10,12,13,12,13,13,14,15,11,11,13,12,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,13,13,14,14,12,13,11,14,12,8,9,9,12,12,9,10,10,12,12,9,10,10,12,12,12,12,12,14,14,11,12,12,14,13,9,10,10,12,12,10,11,11,13,13,10,11,11,13,12,12,12,13,14,15,12,13,13,15,14,9,10,10,12,12,10,11,10,13,12,10,11,11,12,13,12,13,12,15,13,12,13,13,14,15,11,12,12,14,13,11,12,12,14,15,12,13,13,15,14,13,12,14,12,16,13,14,14,15,15,11,11,12,14,14,11,12,11,14,13,12,13,13,14,15,13,14,12,16,12,14,14,15,16,16,8,9,9,11,12,9,10,10,12,12,9,10,10,12,13,11,12,12,13,13,12,12,13,14,14,9,10,10,12,12,10,11,10,13,12,10,10,11,12,13,12,13,13,15,14,12,12,13,13,15,9,10,10,12,13,10,11,11,12,13,10,11,11,13,13,12,13,13,14,15,12,13,12,15,14,11,12,11,14,13,12,13,13,15,14,11,11,12,13,14,14,15,14,16,15,13,12,14,13,16,11,12,12,13,14,12,13,13,14,15,11,12,11,14,14,14,14,14,15,16,13,15,12,16,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,5,8,8,5,7,6,9,9,5,6,7,9,9,8,10,9,13,12,8,9,10,12,12,5,7,7,10,10,7,9,9,11,11,6,8,9,11,11,10,11,11,14,14,9,10,11,13,14,5,7,7,9,10,7,9,8,11,11,7,9,9,11,11,9,11,10,14,13,10,11,11,14,14,8,10,10,13,13,10,11,11,15,14,9,11,11,14,14,13,14,14,17,16,12,13,13,15,16,8,10,10,13,13,9,11,11,14,15,10,11,11,14,15,12,14,13,16,16,13,15,14,15,17,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,11,11,14,14,10,11,12,14,14,7,9,9,12,11,9,11,11,13,13,9,11,11,13,13,12,13,13,15,16,11,12,13,15,16,6,9,9,11,11,8,11,10,13,12,9,11,11,13,14,11,13,12,16,14,11,13,13,16,17,10,12,11,15,15,11,13,13,16,16,11,13,13,17,16,14,15,15,17,17,14,16,16,17,18,9,11,11,14,15,10,12,12,15,15,11,13,13,16,17,13,15,13,17,15,14,15,16,18,0,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,11,11,14,14,10,11,12,14,15,6,9,9,12,11,9,11,11,13,13,8,10,11,12,13,11,13,13,16,15,11,12,13,14,15,7,9,9,11,12,9,11,11,13,13,9,11,11,13,13,11,13,13,15,16,11,13,13,15,14,9,11,11,15,14,11,13,13,17,15,10,12,12,15,15,14,16,16,17,17,13,13,15,15,17,10,11,12,15,15,11,13,13,16,16,11,13,13,15,15,14,15,15,18,18,14,15,15,17,17,8,10,10,13,13,10,12,11,15,15,10,11,12,15,15,14,15,15,18,18,13,14,14,18,18,9,11,11,15,16,11,13,13,17,17,11,13,13,16,16,15,15,16,17,0,14,15,17,0,0,9,11,11,15,15,10,13,12,18,16,11,13,13,15,16,14,16,15,20,20,14,15,16,17,0,13,14,14,20,16,14,15,16,19,18,14,15,15,19,0,18,16,0,20,20,16,18,18,0,0,12,14,14,18,18,13,15,14,18,16,14,15,16,18,20,16,19,16,0,17,17,18,18,19,0,8,10,10,14,14,10,11,11,14,15,10,11,12,15,15,13,15,14,19,17,13,15,15,17,0,9,11,11,16,15,11,13,13,16,16,10,12,13,15,17,14,16,16,18,18,14,15,15,18,0,9,11,11,15,15,11,13,13,16,17,11,13,13,18,17,14,18,16,18,18,15,17,17,18,0,12,14,14,18,18,14,15,15,20,0,13,14,15,17,0,16,18,17,0,0,16,16,0,17,20,12,14,14,18,18,14,16,15,0,18,14,16,15,18,0,16,19,17,0,0,17,18,16,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,5,6,6,5,6,6,5,6,6,6,8,8,6,7,8,5,6,6,6,8,7,6,8,8,5,6,6,6,8,8,6,8,8,6,8,8,8,9,9,8,9,9,6,8,7,7,9,8,8,9,9,5,6,6,6,8,7,6,8,8,6,8,7,8,9,9,7,8,9,6,8,8,8,9,9,8,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,7,5,8,8,8,10,10,7,9,10,5,8,8,7,10,9,8,10,10,5,8,8,8,10,10,8,10,10,8,10,10,10,12,13,10,13,13,7,10,10,10,13,11,10,13,13,4,8,8,8,11,10,8,10,10,7,10,10,10,13,13,10,11,13,8,10,11,10,13,13,10,13,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,10,17,13,17,13,17,17,17,17,3,6,8,9,11,9,15,12,16,17,6,5,5,7,7,8,10,11,17,17,7,8,7,9,9,10,13,13,17,17,8,6,5,7,4,7,5,8,14,17,9,9,8,9,7,9,8,10,16,17,12,10,7,8,4,7,4,7,16,17,12,11,9,10,6,9,5,7,14,17,14,13,10,15,4,8,3,5,14,17,17,14,11,15,6,10,6,8,15,17,0,0,0,0,2,0,0,0,64,0,0,0,248,78,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,128,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,168,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,208,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,248,66,2,0,0,0,0,0,32,67,2,0,72,67,2,0,0,0,0,0,0,0,0,0,112,67,2,0,152,67,2,0,192,67,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,24,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,12,12,13,12,11,13,5,4,6,7,8,8,9,13,9,5,4,5,5,7,9,13,9,6,5,6,6,7,8,12,12,7,5,6,4,5,8,13,11,7,6,6,5,5,6,12,10,8,8,7,7,5,3,8,10,12,13,12,12,9,6,7,4,0,0,0,81,0,0,0,144,78,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,232,78,2,0,0,0,0,0,4,0,0,0,81,0,0,0,40,78,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,128,78,2,0,0,0,0,0,4,0,0,0,113,2,0,0,152,75,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,78,2,0,0,0,0,0,4,0,0,0,113,2,0,0,8,73,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,128,75,2,0,0,0,0,0,2,0,0,0,81,0,0,0,136,72,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,224,72,2,0,0,0,0,0,2,0,0,0,169,0,0,0,160,71,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,80,72,2,0,0,0,0,0,2,0,0,0,25,0,0,0,104,71,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,71,2,0,0,0,0,0,2,0,0,0,169,0,0,0,128,70,2,0,1,0,0,0,0,232,87,225,0,224,255,96,4,0,0,0,0,0,0,0,48,71,2,0,0,0,0,0,2,0,0,0,225,0,0,0,88,69,2,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,64,70,2,0,0,0,0,0,2,0,0,0,33,1,0,0,232,67,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,16,69,2,0,0,0,0,0,2,5,5,7,7,7,7,8,8,8,8,9,9,9,9,9,9,5,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,7,7,7,8,8,8,8,9,9,9,9,10,9,10,9,10,10,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,8,9,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,8,8,8,9,9,9,9,9,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,10,10,10,10,10,10,10,10,11,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,10,10,10,10,10,10,10,10,10,10,11,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,9,8,10,8,10,9,11,11,4,7,6,8,7,9,9,10,10,11,10,11,10,12,10,4,6,7,8,8,9,9,10,10,11,11,11,11,12,12,6,8,8,10,9,11,10,12,11,12,12,12,12,13,13,6,8,8,10,10,10,11,11,11,12,12,13,12,13,13,8,9,9,11,11,12,11,12,12,13,13,13,13,13,13,8,9,9,11,11,11,12,12,12,13,13,13,13,13,13,9,10,10,12,11,13,13,13,13,14,13,13,14,14,14,9,10,11,11,12,12,13,13,13,13,13,14,15,14,14,10,11,11,12,12,13,13,14,14,14,14,14,15,16,16,10,11,11,12,13,13,13,13,15,14,14,15,16,15,16,10,12,12,13,13,14,14,14,15,15,15,15,15,15,16,11,12,12,13,13,14,14,14,15,15,15,16,15,17,16,11,12,12,13,13,13,15,15,14,16,16,16,16,16,17,11,12,12,13,13,14,14,15,14,15,15,17,17,16,16,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,3,12,12,12,12,12,12,12,12,12,12,3,12,11,12,12,12,12,12,12,12,12,12,12,4,11,10,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,6,5,4,5,5,5,6,5,6,5,6,6,5,5,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,11,10,13,13,4,6,5,8,8,9,9,10,10,11,11,14,14,4,6,6,8,8,9,9,10,10,11,11,14,14,6,8,8,9,9,10,10,11,11,12,12,15,15,6,8,8,9,9,10,11,11,11,12,12,15,15,8,9,9,11,10,11,11,12,12,13,13,16,16,8,9,9,10,10,11,11,12,12,13,13,16,16,10,10,10,12,11,12,12,13,13,14,14,16,16,10,10,10,11,12,12,12,13,13,13,14,16,17,11,12,11,12,12,13,13,14,14,15,14,18,17,11,11,12,12,12,13,13,14,14,14,15,19,18,14,15,14,15,15,17,16,17,17,17,17,21,0,14,15,15,16,16,16,16,17,17,18,17,20,21,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,7,7,9,9,4,5,5,7,7,8,8,10,9,4,5,5,7,7,8,8,10,10,6,7,7,8,8,9,9,11,10,6,7,7,8,8,9,9,10,11,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,10,10,11,10,11,11,12,12,9,10,10,10,11,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,5,7,6,9,9,5,6,7,9,9,9,9,9,11,11,8,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,7,8,10,10,9,10,10,11,12,9,10,10,11,12,5,7,7,9,9,7,8,7,10,10,7,8,8,10,10,9,10,10,12,11,9,10,10,12,11,9,10,9,12,12,9,10,10,13,12,9,10,10,12,12,12,12,12,14,14,11,12,12,13,14,9,9,10,12,12,9,10,10,13,13,9,10,10,12,13,11,12,12,14,13,11,12,12,14,14,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,9,10,10,12,12,7,8,8,11,10,8,8,9,11,11,8,9,9,11,11,11,11,11,12,13,10,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,13,11,10,11,11,13,13,9,11,10,13,12,10,11,11,13,14,10,11,11,14,13,12,12,13,12,15,12,13,13,15,15,9,10,10,12,13,10,11,10,13,12,10,11,11,13,14,12,13,11,15,13,13,13,13,15,15,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,10,10,11,12,13,6,8,8,10,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,7,8,8,10,11,8,9,9,11,11,8,9,8,11,11,10,11,11,13,13,11,12,11,13,12,9,10,10,13,12,10,11,11,14,13,10,10,11,12,13,12,13,13,15,15,12,11,13,13,14,9,10,11,12,13,10,11,11,13,14,10,11,11,13,13,12,13,13,15,15,12,13,12,15,12,8,9,9,12,12,9,11,10,13,13,9,10,10,13,13,12,13,13,15,15,12,12,12,14,14,9,10,10,13,13,10,11,11,13,14,10,11,11,14,13,13,13,14,14,16,13,13,13,15,15,9,10,10,13,13,10,11,10,14,13,10,11,11,13,14,12,14,13,16,14,12,13,13,14,15,11,12,12,15,14,11,12,13,14,15,12,13,13,16,15,14,12,15,12,16,14,15,15,16,16,11,12,12,14,14,11,13,12,15,14,12,13,13,15,16,13,15,13,17,13,14,15,15,16,17,8,9,9,12,12,9,10,10,12,13,9,10,10,13,13,12,12,12,14,14,12,13,13,15,15,9,10,10,13,12,10,11,11,14,13,10,10,11,13,14,13,13,13,15,15,12,13,14,14,16,9,10,10,13,13,10,11,11,13,14,10,11,11,14,14,13,13,13,15,15,13,14,13,16,14,11,12,12,15,14,12,13,13,16,15,11,12,13,14,15,14,15,15,17,16,13,13,15,13,16,11,12,13,14,15,13,13,13,15,16,11,13,12,15,14,14,15,15,16,16,14,15,12,17,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,8,8,5,7,7,9,9,5,7,7,9,9,8,10,9,12,12,8,9,10,12,12,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,12,11,14,14,9,10,11,13,14,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,9,11,10,14,13,10,11,11,14,14,8,10,10,14,13,10,12,12,15,14,9,11,11,15,14,13,14,14,17,17,12,14,14,16,16,8,10,10,14,14,9,11,11,14,15,10,12,12,14,15,12,14,13,16,16,13,14,15,15,18,4,7,7,10,10,7,9,9,12,11,7,9,9,11,12,10,12,11,15,14,10,11,12,14,15,7,9,9,12,12,9,11,12,13,13,9,11,12,13,13,12,13,13,15,16,11,13,13,15,16,7,9,9,12,12,9,11,10,13,12,9,11,12,13,14,11,13,12,16,14,12,13,13,15,16,10,12,12,16,15,11,13,13,17,16,11,13,13,17,16,14,15,15,17,17,14,16,16,18,20,9,11,11,15,16,11,13,12,16,16,11,13,13,16,17,14,15,14,18,16,14,16,16,17,20,5,7,7,10,10,7,9,9,12,11,7,9,10,11,12,10,12,11,15,15,10,12,12,14,14,7,9,9,12,12,9,12,11,14,13,9,10,11,12,13,12,13,14,16,16,11,12,13,14,16,7,9,9,12,12,9,12,11,13,13,9,12,11,13,13,11,13,13,16,16,12,13,13,16,15,9,11,11,16,14,11,13,13,16,16,11,12,13,16,16,14,16,16,17,17,13,14,15,16,17,10,12,12,15,15,11,13,13,16,17,11,13,13,16,16,14,16,15,19,19,14,15,15,17,18,8,10,10,14,14,10,12,12,15,15,10,12,12,16,16,14,16,15,20,19,13,15,15,17,16,9,12,12,16,16,11,13,13,16,18,11,14,13,16,17,16,17,16,20,0,15,16,18,18,20,9,11,11,15,15,11,14,12,17,16,11,13,13,17,17,15,17,15,20,20,14,16,16,17,0,13,15,14,18,16,14,15,16,0,18,14,16,16,0,0,18,16,0,0,20,16,18,18,0,0,12,14,14,17,18,13,15,14,20,18,14,16,15,19,19,16,20,16,0,18,16,19,17,19,0,8,10,10,14,14,10,12,12,16,15,10,12,12,16,16,13,15,15,18,17,14,16,16,19,0,9,11,11,16,15,11,14,13,18,17,11,12,13,17,18,14,17,16,18,18,15,16,17,18,18,9,12,12,16,16,11,13,13,16,18,11,14,13,17,17,15,16,16,18,20,16,17,17,20,20,12,14,14,18,17,14,16,16,0,19,13,14,15,18,0,16,0,0,0,0,16,16,0,19,20,13,15,14,0,0,14,16,16,18,19,14,16,15,0,20,16,20,18,0,20,17,20,17,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,6,6,5,6,6,5,6,6,7,8,8,6,8,8,5,6,6,6,8,8,7,8,8,5,7,6,6,8,8,6,8,8,6,8,8,8,9,10,8,10,10,6,8,8,8,10,8,8,10,10,5,6,6,6,8,8,6,8,8,6,8,8,8,10,10,8,8,10,6,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,10,11,8,10,11,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,11,11,11,13,14,11,15,14,8,11,11,10,13,12,11,14,14,4,8,8,8,11,11,8,11,11,7,11,11,11,15,14,10,12,14,8,11,11,11,14,14,11,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,14,17,15,17,16,14,13,16,10,7,7,10,13,10,15,16,9,4,4,6,5,7,9,16,12,8,7,8,8,8,11,16,14,7,4,6,3,5,8,15,13,8,5,7,4,5,7,16,12,9,6,8,3,3,5,16,14,13,7,10,5,5,7,15,2,0,0,0,64,0,0,0,192,92,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,80,2,0,0,0,0,0,0,0,0,0,0,0,0,0,176,80,2,0,0,0,0,0,0,0,0,0,0,0,0,0,216,80,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,81,2,0,0,0,0,0,0,0,0,0,0,0,0,0,40,81,2,0,0,0,0,0,80,81,2,0,120,81,2,0,0,0,0,0,0,0,0,0,160,81,2,0,200,81,2,0,240,81,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,72,80,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,9,13,12,14,11,10,13,8,4,5,7,8,7,8,12,11,4,3,5,5,7,9,14,11,6,5,6,6,6,7,13,13,7,5,6,4,5,7,14,11,7,6,6,5,5,6,13,9,7,8,6,7,5,3,9,9,12,13,12,14,10,6,7,4,0,0,0,81,0,0,0,88,92,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,176,92,2,0,0,0,0,0,4,0,0,0,81,0,0,0,240,91,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,72,92,2,0,0,0,0,0,4,0,0,0,113,2,0,0,96,89,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,91,2,0,0,0,0,0,4,0,0,0,113,2,0,0,208,86,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,89,2,0,0,0,0,0,2,0,0,0,81,0,0,0,80,86,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,168,86,2,0,0,0,0,0,2,0,0,0,169,0,0,0,104,85,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,24,86,2,0,0,0,0,0,2,0,0,0,25,0,0,0,48,85,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,80,85,2,0,0,0,0,0,2,0,0,0,81,0,0,0,176,84,2,0,1,0,0,0,0,224,63,225,0,224,255,96,4,0,0,0,0,0,0,0,8,85,2,0,0,0,0,0,2,0,0,0,225,0,0,0,136,83,2,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,112,84,2,0,0,0,0,0,2,0,0,0,33,1,0,0,24,82,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,64,83,2,0,0,0,0,0,2,5,5,7,6,7,7,8,8,8,8,9,9,9,9,9,9,5,6,6,7,7,8,8,8,8,9,9,9,9,9,9,10,10,5,6,6,7,7,8,8,8,8,9,8,9,9,9,9,10,9,7,7,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,7,7,7,8,8,8,8,9,9,9,9,10,9,10,10,10,10,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,7,8,8,9,8,9,9,9,9,10,9,10,10,10,10,10,10,8,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,8,9,8,9,9,9,9,10,9,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,11,11,11,10,11,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,6,8,7,9,8,10,9,11,11,4,7,7,8,7,9,9,10,10,11,11,11,11,12,12,4,7,7,7,7,9,9,10,10,11,11,12,12,12,11,6,8,8,9,9,10,10,11,11,12,12,13,12,13,13,6,8,8,9,9,10,11,11,11,12,12,13,14,13,13,8,9,9,11,11,12,12,12,13,14,13,14,14,14,15,8,9,9,11,11,11,12,13,14,13,14,15,17,14,15,9,10,10,12,12,13,13,13,14,15,15,15,16,16,16,9,11,11,12,12,13,13,14,14,14,15,16,16,16,16,10,12,12,13,13,14,14,15,15,15,16,17,17,17,17,10,12,11,13,13,15,14,15,14,16,17,16,16,16,16,11,13,12,14,14,14,14,15,16,17,16,17,17,17,17,11,13,12,14,14,14,15,17,16,17,17,17,17,17,17,12,13,13,15,16,15,16,17,17,16,16,17,17,17,17,12,13,13,15,15,15,16,17,17,17,16,17,16,17,17,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,3,10,10,10,10,10,10,4,10,10,10,10,10,10,10,10,4,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,6,5,4,5,5,5,6,5,6,5,6,6,5,5,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,10,11,13,14,4,6,5,8,8,9,9,10,10,11,11,14,14,4,6,6,8,8,9,9,10,10,11,11,14,14,6,8,8,9,9,10,10,11,11,12,12,15,15,6,8,8,9,9,10,11,11,11,12,12,15,15,8,9,9,11,10,11,11,12,12,13,13,15,16,8,9,9,10,11,11,11,12,12,13,13,16,16,10,10,11,11,11,12,12,13,13,13,14,17,16,9,10,11,12,11,12,12,13,13,13,13,16,18,11,12,11,12,12,13,13,13,14,15,14,17,17,11,11,12,12,12,13,13,13,14,14,15,18,17,14,15,15,15,15,16,16,17,17,19,18,0,20,14,15,14,15,15,16,16,16,17,18,16,20,18,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,7,7,9,9,4,5,5,7,7,8,8,10,10,4,5,5,7,7,8,8,10,10,6,7,7,8,8,9,9,11,10,6,7,7,8,8,9,9,10,10,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,10,10,11,10,11,11,12,12,9,10,10,10,10,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,5,7,6,9,9,5,6,7,9,9,9,9,9,11,11,9,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,7,8,10,10,9,10,10,11,12,9,10,10,11,12,5,7,7,9,9,7,8,7,10,10,7,8,8,10,10,9,10,9,12,11,9,10,10,12,11,9,10,9,12,12,9,10,10,13,12,9,10,10,12,13,12,12,12,14,14,11,12,12,13,14,9,9,10,12,12,9,10,10,12,12,9,10,10,12,13,11,12,11,14,13,12,12,12,14,13,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,9,10,10,12,12,7,8,8,11,10,8,8,9,11,11,8,9,9,11,11,11,11,11,12,13,10,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,13,11,10,11,11,13,13,9,11,10,13,12,10,11,11,13,13,10,11,11,13,13,12,12,13,12,15,12,13,13,15,15,9,10,10,12,13,10,11,10,13,12,10,11,11,13,14,12,13,11,15,13,12,13,13,15,15,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,10,10,11,12,12,6,8,8,10,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,11,13,13,11,11,11,13,12,9,10,10,13,12,10,11,11,14,13,10,10,11,12,13,12,13,13,15,15,12,11,13,13,14,9,10,11,12,13,10,11,11,13,13,10,11,11,13,13,12,13,13,15,15,12,13,12,15,12,8,9,9,12,12,9,11,10,13,13,9,10,10,13,13,12,13,13,15,14,12,12,12,14,13,9,10,10,13,12,10,11,11,13,13,10,11,11,14,12,13,13,14,14,16,12,13,13,15,15,9,10,10,13,13,10,11,10,14,13,10,11,11,13,14,12,14,13,15,14,13,13,13,15,15,11,13,12,15,14,11,12,13,14,15,12,13,13,16,14,14,12,15,12,16,14,15,15,17,15,11,12,12,14,14,11,13,11,15,14,12,13,13,15,15,13,15,12,17,13,14,15,15,16,16,8,9,9,12,12,9,10,10,12,13,9,10,10,13,13,12,12,12,14,14,12,13,13,15,15,9,10,10,13,12,10,11,11,14,13,10,10,11,13,14,12,13,13,15,15,12,12,13,14,16,9,10,10,13,13,10,11,11,13,14,10,11,11,14,13,12,13,13,14,15,13,14,13,16,14,11,12,12,14,14,12,13,13,15,14,11,12,13,14,15,14,15,15,16,16,13,13,15,13,16,11,12,12,14,15,12,13,13,14,15,11,13,12,15,14,14,15,15,16,16,14,15,12,16,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,7,7,5,7,7,9,9,5,7,7,9,9,8,9,9,12,12,8,9,9,11,12,5,7,7,10,10,7,9,9,11,11,7,9,9,10,11,10,11,11,13,13,9,10,11,13,13,5,7,7,10,10,7,9,9,11,10,7,9,9,11,11,9,11,10,13,13,10,11,11,14,13,8,10,10,14,13,10,11,11,15,14,9,11,11,14,14,13,14,13,16,16,12,13,13,15,15,8,10,10,13,14,9,11,11,14,14,10,11,11,14,15,12,13,13,15,15,13,14,14,15,16,5,7,7,10,10,7,9,9,11,11,7,9,9,11,12,10,11,11,14,14,10,11,11,14,14,7,9,9,12,12,9,11,11,13,13,9,11,11,13,13,12,12,13,15,15,11,12,13,15,16,7,9,9,11,11,8,11,10,13,12,9,11,11,13,13,11,13,12,15,13,11,13,13,15,16,9,12,11,15,14,11,12,13,16,15,11,13,13,15,16,14,14,15,17,16,13,15,16,0,17,9,11,11,15,15,10,13,12,15,15,11,13,13,15,16,13,15,13,16,15,14,16,15,0,19,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,12,11,14,14,10,11,12,14,14,7,9,9,12,12,9,11,11,14,13,9,10,11,12,13,11,13,13,16,16,11,12,13,13,16,7,9,9,12,12,9,11,11,13,13,9,11,11,13,13,11,13,13,15,15,12,13,12,15,14,9,11,11,15,14,11,13,12,16,16,10,12,12,15,15,13,15,15,17,19,13,14,15,16,17,10,12,12,15,15,11,13,13,16,16,11,13,13,15,16,13,15,15,0,0,14,15,15,16,16,8,10,10,14,14,10,12,12,15,15,10,12,11,15,16,14,15,15,19,20,13,14,14,18,16,9,11,11,15,15,11,13,13,17,16,11,13,13,16,16,15,17,17,20,20,14,15,16,17,20,9,11,11,15,15,10,13,12,16,15,11,13,13,15,17,14,16,15,18,0,14,16,15,18,20,12,14,14,0,0,14,14,16,0,0,13,16,15,0,0,17,17,18,0,0,16,17,19,19,0,12,14,14,18,0,12,16,14,0,17,13,15,15,18,0,16,18,17,0,17,16,18,17,0,0,7,10,10,14,14,10,12,11,15,15,10,12,12,16,15,13,15,15,18,0,14,15,15,17,0,9,11,11,15,15,11,13,13,16,16,11,12,13,16,16,14,15,16,17,17,14,16,16,16,18,9,11,12,16,16,11,13,13,17,17,11,14,13,20,17,15,16,16,19,0,15,16,17,0,19,11,13,14,17,16,14,15,15,20,18,13,14,15,17,19,16,18,18,0,20,16,16,19,17,0,12,15,14,17,0,14,15,15,18,19,13,16,15,19,20,15,18,18,0,20,17,0,16,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,4,5,6,6,5,6,6,5,6,6,7,8,8,6,8,8,5,6,6,6,8,8,7,8,8,5,7,6,7,8,8,6,8,8,7,8,8,8,9,10,8,10,10,6,8,8,8,10,8,8,10,10,5,6,6,6,8,8,7,8,8,6,8,8,8,10,10,8,8,10,7,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,10,11,8,10,11,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,11,11,11,13,14,11,14,14,8,11,11,10,14,12,11,14,14,4,8,8,8,11,11,8,11,11,7,11,11,11,14,14,10,12,14,8,11,11,11,14,14,11,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,14,14,14,15,13,15,12,16,10,8,7,9,9,8,12,16,10,5,4,6,5,6,9,16,14,8,6,8,7,8,10,16,14,7,4,6,3,5,8,16,15,9,5,7,4,4,7,16,13,10,6,7,4,3,4,13,13,12,7,9,5,5,6,12,2,0,0,0,64,0,0,0,192,105,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,120,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,160,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,200,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,240,94,2,0,0,0,0,0,24,95,2,0,64,95,2,0,0,0,0,0,0,0,0,0,104,95,2,0,144,95,2,0,184,95,2],"i8",N3,x.GLOBAL_BASE+144820),E3([2,0,0,0,64,0,0,0,16,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,9,14,12,15,13,10,13,7,4,5,6,8,7,8,12,13,4,3,5,5,6,9,15,12,6,5,6,6,6,7,14,14,7,4,6,4,6,8,15,12,6,6,5,5,5,6,14,9,7,8,6,7,5,4,10,10,13,14,14,15,10,6,8,4,0,0,0,81,0,0,0,88,105,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,176,105,2,0,0,0,0,0,4,0,0,0,81,0,0,0,240,104,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,72,105,2,0,0,0,0,0,4,0,0,0,113,2,0,0,96,102,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,104,2,0,0,0,0,0,4,0,0,0,113,2,0,0,208,99,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,102,2,0,0,0,0,0,2,0,0,0,81,0,0,0,80,99,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,168,99,2,0,0,0,0,0,2,0,0,0,169,0,0,0,104,98,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,24,99,2,0,0,0,0,0,2,0,0,0,25,0,0,0,48,98,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,80,98,2,0,0,0,0,0,2,0,0,0,81,0,0,0,176,97,2,0,1,0,0,0,0,32,53,225,0,32,245,96,4,0,0,0,0,0,0,0,8,98,2,0,0,0,0,0,2,0,0,0,169,0,0,0,200,96,2,0,1,0,0,0,0,128,211,224,0,0,122,96,4,0,0,0,0,0,0,0,120,97,2,0,0,0,0,0,2,0,0,0,169,0,0,0,224,95,2,0,1,0,0,0,0,0,88,224,0,0,16,96,4,0,0,0,0,0,0,0,144,96,2,0,0,0,0,0,2,5,5,6,6,7,7,8,7,8,8,8,8,5,6,6,7,7,8,8,8,8,8,8,8,8,5,6,6,7,7,8,7,8,8,8,8,8,8,6,7,7,7,8,8,8,8,8,9,9,9,9,6,7,7,8,7,8,8,9,9,9,9,9,9,7,8,8,8,8,8,8,9,9,9,9,9,9,7,8,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,9,9,9,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,9,9,9,9,8,8,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,6,7,6,8,7,9,7,9,8,4,7,6,8,8,9,8,10,9,10,10,11,11,4,7,7,8,8,8,8,9,10,11,11,11,11,6,8,8,10,10,10,10,11,11,12,12,12,12,7,8,8,10,10,10,10,11,11,12,12,13,13,7,9,9,11,10,12,12,13,13,14,13,14,14,7,9,9,10,11,11,12,13,13,13,13,16,14,9,10,10,12,12,13,13,14,14,15,16,15,16,9,10,10,12,12,12,13,14,14,14,15,16,15,10,12,12,13,13,15,13,16,16,15,17,17,17,10,11,11,12,14,14,14,15,15,17,17,15,17,11,12,12,14,14,14,15,15,15,17,16,17,17,10,12,12,13,14,14,14,17,15,17,17,17,17,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,12,12,12,12,12,12,4,12,12,12,12,12,12,12,12,5,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,6,5,4,5,5,5,6,5,6,5,6,6,5,5,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,10,11,11,14,13,4,6,5,8,8,9,9,11,10,12,11,15,14,4,5,6,8,8,9,9,11,11,11,11,14,14,6,8,8,10,9,11,11,11,11,12,12,15,15,6,8,8,9,9,11,11,11,12,12,12,15,15,8,10,10,11,11,11,11,12,12,13,13,15,16,8,10,10,11,11,11,11,12,12,13,13,16,16,10,11,11,12,12,12,12,13,13,13,13,17,16,10,11,11,12,12,12,12,13,13,13,14,16,17,11,12,12,13,13,13,13,14,14,15,14,18,17,11,12,12,13,13,13,13,14,14,14,15,19,18,14,15,15,15,15,16,16,18,19,18,18,0,0,14,15,15,16,15,17,17,16,18,17,18,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,8,8,9,9,4,6,5,8,8,8,8,10,10,4,5,6,8,8,8,8,10,10,7,8,8,9,9,9,9,11,11,7,8,8,9,9,9,9,11,11,8,8,8,9,9,10,11,12,12,8,8,8,9,9,10,10,12,12,10,10,10,11,11,12,12,13,13,10,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,5,7,6,9,9,5,6,7,9,9,9,9,9,11,11,9,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,7,8,10,10,10,10,10,11,12,9,10,10,11,12,5,7,7,9,9,6,8,7,10,10,7,8,8,10,10,9,10,10,12,11,9,10,10,12,11,9,10,10,12,12,10,10,10,13,12,9,10,10,12,13,12,12,12,14,14,11,12,12,13,14,9,10,10,12,12,9,10,10,12,13,10,10,10,12,13,11,12,12,14,13,12,12,12,14,13,5,7,7,10,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,10,10,10,12,12,7,8,8,11,10,8,8,9,11,11,8,9,9,11,11,10,11,11,12,13,10,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,13,11,10,11,11,13,13,9,10,10,13,13,10,11,11,13,13,10,11,11,14,13,12,11,13,12,15,12,13,13,15,15,9,10,10,12,13,10,11,10,13,13,10,11,11,13,13,12,13,11,15,13,12,13,13,15,15,5,7,7,9,10,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,10,10,11,12,12,6,8,8,10,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,7,8,8,10,11,8,9,9,11,11,8,9,8,11,11,10,11,11,13,13,10,11,11,13,12,9,10,10,13,12,10,11,11,14,13,10,10,11,13,13,12,13,13,15,15,12,11,13,12,14,9,10,10,12,13,10,11,11,13,14,10,11,11,13,13,12,13,13,15,15,12,13,12,15,12,8,9,9,12,12,9,11,10,13,13,9,10,10,13,13,12,13,13,15,15,12,12,12,14,14,9,10,10,13,13,10,11,11,13,14,10,11,11,14,12,13,13,14,14,16,12,13,13,15,14,9,10,10,13,13,10,11,10,14,13,10,11,11,13,14,12,14,13,16,14,13,13,13,14,15,11,13,12,15,14,11,12,13,14,15,12,13,13,16,15,14,12,15,12,16,14,15,15,17,16,11,12,12,14,15,11,13,11,15,14,12,13,13,15,16,13,15,12,17,13,14,15,15,16,16,8,9,9,12,12,9,10,10,13,13,9,10,10,13,13,12,13,12,14,14,12,13,13,15,15,9,10,10,13,13,10,11,11,14,13,10,10,11,13,14,12,13,13,15,14,12,12,14,14,16,9,10,10,13,13,10,11,11,13,14,10,11,11,14,13,13,13,13,15,15,13,14,13,16,14,11,12,12,14,14,12,13,13,16,15,11,12,13,14,15,14,15,15,16,16,14,13,15,13,17,11,12,12,14,15,12,13,13,15,16,11,13,12,15,15,14,15,14,16,16,14,15,12,17,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,7,8,5,7,7,9,9,5,7,7,9,9,8,9,9,12,11,8,9,9,11,12,5,7,7,10,10,7,9,9,11,11,7,9,9,10,11,10,11,11,13,13,9,10,11,12,13,5,7,7,10,10,7,9,9,11,10,7,9,9,11,11,9,11,10,13,13,10,11,11,13,13,8,10,10,14,13,10,11,11,15,14,9,11,11,15,14,13,14,13,16,14,12,13,13,15,16,8,10,10,13,14,9,11,11,14,15,10,11,11,14,15,12,13,13,15,15,12,13,14,15,16,5,7,7,10,10,7,9,9,11,11,7,9,9,11,12,10,11,11,14,13,10,11,11,14,14,7,9,9,12,12,9,11,11,13,13,9,11,11,13,13,12,13,12,14,14,11,12,13,15,15,7,9,9,12,12,8,11,10,13,12,9,11,11,13,13,11,13,12,15,13,11,13,13,15,16,9,12,11,15,15,11,12,12,16,15,11,12,13,16,16,13,14,15,16,15,13,15,15,17,17,9,11,11,14,15,10,12,12,15,15,11,13,12,15,16,13,15,14,16,16,13,15,15,17,19,5,7,7,10,10,7,9,9,12,11,7,9,9,11,11,10,11,11,14,14,10,11,11,13,14,7,9,9,12,12,9,11,11,13,13,9,10,11,12,13,11,13,12,16,15,11,12,12,14,15,7,9,9,12,12,9,11,11,13,13,9,11,11,13,12,11,13,12,15,16,12,13,13,15,14,9,11,11,15,14,11,13,12,16,15,10,11,12,15,15,13,14,14,18,17,13,14,14,15,17,10,11,11,14,15,11,13,12,15,17,11,13,12,15,16,13,15,14,18,17,14,15,15,16,18,7,10,10,14,14,10,12,12,15,15,10,12,12,15,15,14,15,15,18,17,13,15,15,16,16,9,11,11,16,15,11,13,13,16,18,11,13,13,16,16,15,16,16,0,0,14,15,16,18,17,9,11,11,15,15,10,13,12,17,16,11,12,13,16,17,14,15,16,19,19,14,15,15,0,20,12,14,14,0,0,13,14,16,19,18,13,15,16,20,17,16,18,0,0,0,15,16,17,18,19,11,14,14,0,19,12,15,14,17,17,13,15,15,0,0,16,17,15,20,19,15,17,16,19,0,8,10,10,14,15,10,12,11,15,15,10,11,12,16,15,13,14,14,19,17,14,15,15,0,0,9,11,11,16,15,11,13,13,17,16,10,12,13,16,17,14,15,15,18,18,14,15,16,20,19,9,12,12,0,15,11,13,13,16,17,11,13,13,19,17,14,16,16,18,17,15,16,16,17,19,11,14,14,18,18,13,14,15,0,0,12,14,15,19,18,15,16,19,0,19,15,16,19,19,17,12,14,14,16,19,13,15,15,0,17,13,15,14,18,18,15,16,15,0,18,16,17,17,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,6,6,5,6,6,5,6,6,7,8,8,6,8,8,5,6,6,6,8,7,7,8,8,5,6,6,7,8,8,6,8,8,6,8,8,8,9,10,8,10,10,6,8,8,7,10,8,8,10,10,5,6,6,6,8,8,7,8,8,6,8,8,8,10,10,8,8,10,6,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,11,11,8,10,11,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,11,11,11,13,14,11,13,13,7,11,11,10,13,12,11,14,14,4,8,8,8,11,11,8,11,11,8,11,11,11,14,13,10,12,13,8,11,11,11,13,13,11,13,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,13,15,17,17,15,15,12,17,11,9,7,10,10,9,12,17,10,6,3,6,5,7,10,17,15,10,6,9,8,9,11,17,15,8,4,7,3,5,9,16,16,10,5,8,4,5,8,16,13,11,5,8,3,3,5,14,13,12,7,10,5,5,7,14,2,0,0,0,64,0,0,0,152,118,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,120,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,160,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,200,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,240,107,2,0,0,0,0,0,24,108,2,0,64,108,2,0,0,0,0,0,0,0,0,0,104,108,2,0,144,108,2,0,184,108,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,16,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,13,10,17,11,11,15,7,2,4,5,8,7,9,16,13,4,3,5,6,8,11,20,10,4,5,5,7,6,8,18,15,7,6,7,8,10,14,20,10,6,7,6,9,7,8,17,9,8,10,8,10,5,4,11,12,17,19,14,16,10,7,12,4,0,0,0,81,0,0,0,48,118,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,136,118,2,0,0,0,0,0,4,0,0,0,81,0,0,0,200,117,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,32,118,2,0,0,0,0,0,4,0,0,0,113,2,0,0,56,115,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,176,117,2,0,0,0,0,0,4,0,0,0,113,2,0,0,168,112,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,32,115,2,0,0,0,0,0,2,0,0,0,81,0,0,0,40,112,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,112,2,0,0,0,0,0,2,0,0,0,169,0,0,0,64,111,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,240,111,2,0,0,0,0,0,2,0,0,0,25,0,0,0,8,111,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,40,111,2,0,0,0,0,0,2,0,0,0,49,0,0,0,176,110,2,0,1,0,0,0,0,176,31,225,0,32,245,96,3,0,0,0,0,0,0,0,232,110,2,0,0,0,0,0,2,0,0,0,169,0,0,0,200,109,2,0,1,0,0,0,0,128,211,224,0,0,122,96,4,0,0,0,0,0,0,0,120,110,2,0,0,0,0,0,2,0,0,0,169,0,0,0,224,108,2,0,1,0,0,0,0,0,88,224,0,0,16,96,4,0,0,0,0,0,0,0,144,109,2,0,0,0,0,0,2,5,4,6,6,7,7,8,8,8,8,9,8,5,5,6,7,7,8,8,8,8,9,9,9,9,5,6,5,7,7,8,8,8,8,9,9,9,9,6,7,7,8,8,8,8,9,8,9,9,9,9,6,7,7,8,7,8,8,9,9,9,9,9,9,7,8,8,8,8,9,9,9,9,9,9,9,9,7,8,8,9,8,9,8,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,9,9,10,10,8,8,9,9,9,9,9,9,9,9,10,9,10,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,10,9,9,10,10,9,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,6,6,6,6,7,7,8,8,9,9,5,7,7,8,7,7,7,9,8,10,9,10,11,5,7,7,8,8,7,7,8,9,10,10,11,11,6,8,8,9,9,9,9,11,10,12,12,15,12,6,8,8,9,9,9,9,11,11,12,11,14,12,7,8,8,10,10,12,12,13,13,13,15,13,13,7,8,8,10,10,11,11,13,12,14,15,15,15,9,10,10,11,12,13,13,14,15,14,15,14,15,8,10,10,12,12,14,14,15,14,14,15,15,14,10,12,12,14,14,15,14,15,15,15,14,15,15,10,12,12,13,14,15,14,15,15,14,15,15,15,12,15,13,15,14,15,15,15,15,15,15,15,15,13,13,15,15,15,15,15,15,15,15,15,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,5,5,4,5,5,5,5,5,6,6,6,6,5,6,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,9,11,10,14,13,4,6,5,8,8,9,9,11,10,11,11,14,14,4,5,6,8,8,9,9,10,10,11,11,14,14,6,8,8,9,9,10,10,11,11,12,12,16,15,7,8,8,9,9,10,10,11,11,12,12,15,15,9,10,10,10,10,11,11,12,12,12,12,15,15,9,10,9,10,11,11,11,12,12,12,13,15,15,10,10,11,11,11,12,12,13,12,13,13,16,15,10,11,11,11,11,12,12,13,12,13,13,16,17,11,11,12,12,12,13,13,13,14,14,15,17,17,11,11,12,12,12,13,13,13,14,14,14,16,18,14,15,15,15,15,16,16,16,16,17,18,0,0,14,15,15,15,15,17,16,17,18,17,17,18,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,8,8,8,9,9,4,6,6,8,8,8,8,9,9,7,8,8,9,9,9,9,11,10,7,8,8,9,9,9,9,10,10,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,9,9,10,10,11,11,12,12,9,9,9,10,11,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,9,9,5,6,6,9,9,5,6,6,9,9,9,10,9,12,12,9,9,10,12,12,5,7,7,10,10,7,7,8,10,10,6,7,8,10,10,10,10,10,11,13,10,9,10,12,13,5,7,7,10,10,6,8,7,10,10,7,8,7,10,10,9,10,10,12,12,10,10,10,13,11,9,10,10,13,13,10,11,10,13,13,10,10,10,13,13,12,12,13,14,14,12,12,13,14,14,9,10,10,13,13,10,10,10,13,13,10,10,10,13,13,12,13,12,15,14,12,13,12,15,15,5,7,6,10,10,7,8,8,10,10,7,8,8,10,10,10,11,10,13,13,10,10,10,12,12,7,8,8,11,10,8,8,9,10,11,8,9,9,11,11,11,10,11,11,14,11,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,14,11,10,11,11,13,13,10,11,11,14,13,10,10,11,14,13,10,11,11,14,14,12,11,13,12,16,13,14,14,15,15,10,10,11,13,14,10,11,10,14,13,10,11,11,14,14,12,13,12,15,13,13,13,14,15,16,5,7,7,10,10,7,8,8,10,10,7,8,8,10,10,10,10,10,13,13,10,10,11,12,13,6,8,8,11,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,6,8,8,10,11,8,9,9,11,11,8,9,8,12,10,10,11,11,13,13,10,11,10,14,11,10,10,10,14,13,10,11,11,14,13,10,10,11,13,13,12,14,14,16,16,12,12,13,13,15,10,11,11,13,14,10,11,11,14,15,10,11,10,13,13,13,14,13,16,16,12,13,11,15,12,9,10,10,13,13,10,11,11,14,13,10,10,11,13,14,13,14,13,16,16,13,13,13,15,16,9,10,10,13,13,10,10,11,13,14,10,11,11,15,13,13,13,14,14,18,13,13,14,16,15,9,10,10,13,14,10,11,10,14,13,10,11,11,13,14,13,14,13,16,15,13,13,14,15,16,12,13,12,16,14,11,11,13,15,15,13,14,13,16,15,15,12,16,12,17,14,15,15,17,17,12,13,13,14,16,11,13,11,16,15,12,13,14,15,16,14,15,13,0,14,14,16,16,0,0,9,10,10,13,13,10,11,10,14,14,10,11,11,13,13,12,13,13,14,16,13,14,14,16,16,9,10,10,14,14,11,11,11,14,13,10,10,11,14,14,13,13,13,16,16,13,13,14,14,17,9,10,10,13,14,10,11,11,13,15,10,11,10,14,14,13,13,13,14,17,13,14,13,17,14,12,13,13,16,14,13,14,13,16,15,12,12,13,15,16,15,15,16,18,16,15,13,15,14,0,12,12,13,14,16,13,13,14,15,16,11,12,11,16,14,15,16,16,17,17,14,15,12,17,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,8,8,5,8,7,9,9,5,7,8,9,9,9,10,9,12,12,9,9,10,12,12,6,8,8,11,10,8,10,10,11,11,8,9,10,11,11,10,11,11,14,13,10,11,11,13,13,5,8,8,10,10,8,10,10,11,11,8,10,10,11,11,10,11,11,13,13,10,11,11,13,13,9,11,11,15,14,10,12,12,15,14,10,12,11,15,14,13,14,14,16,16,12,14,13,17,15,9,11,11,14,15,10,11,12,14,16,10,11,12,14,16,12,13,14,16,16,13,13,15,15,18,5,8,8,11,11,8,10,10,12,12,8,10,10,12,13,11,12,12,14,14,11,12,12,15,15,8,10,10,13,13,10,12,12,13,13,10,12,12,14,14,12,13,13,15,15,12,13,13,16,16,7,10,10,12,12,10,12,11,13,13,10,12,12,13,14,12,13,12,15,14,12,13,13,16,16,10,12,12,17,16,12,13,13,16,15,11,13,13,17,17,15,15,15,16,17,14,15,15,19,19,10,12,12,15,16,11,13,12,15,18,11,13,13,16,16,14,15,15,17,17,14,15,15,17,19,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,16,15,11,12,12,14,15,7,10,10,13,13,10,12,12,14,13,10,11,12,13,13,12,13,13,16,16,12,12,13,15,15,8,10,10,13,13,10,12,12,14,14,10,12,12,13,13,12,13,13,16,16,12,13,13,15,15,10,12,12,16,15,11,13,13,17,16,11,12,13,16,15,13,15,15,19,17,14,15,14,17,16,10,12,12,16,16,11,13,13,16,17,12,13,13,15,17,14,15,15,17,19,14,15,15,17,17,8,11,11,16,16,10,13,12,17,17,10,12,13,16,16,15,17,16,20,19,14,15,17,18,19,9,12,12,16,17,11,13,14,17,18,11,13,13,19,18,16,17,18,19,19,15,16,16,19,19,9,12,12,16,17,11,14,13,18,17,11,13,13,17,17,16,17,16,20,19,14,16,16,18,18,12,15,15,19,17,14,15,16,0,20,13,15,16,20,17,18,16,20,0,0,15,16,19,20,0,12,15,14,18,19,13,16,15,20,19,13,16,15,20,18,17,18,17,0,20,16,17,16,0,0,8,11,11,16,15,10,12,12,17,17,10,13,13,17,16,14,16,15,18,20,15,16,16,19,19,9,12,12,16,16,11,13,13,17,16,11,13,14,17,18,15,15,16,20,20,16,16,17,19,19,9,13,12,16,17,11,14,13,17,17,11,14,14,18,17,14,16,15,18,19,16,17,18,18,19,12,14,15,19,18,13,15,16,18,0,13,14,15,0,0,16,16,17,20,0,17,17,20,20,0,12,15,15,19,20,13,15,15,0,0,14,16,15,0,0,15,18,16,0,0,17,18,16,0,19,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,7,8,8,6,8,8,5,7,7,6,8,8,7,8,8,4,7,7,7,8,8,7,8,8,7,8,8,8,9,10,8,10,10,6,8,8,8,10,8,8,10,10,5,7,7,7,8,8,7,8,8,6,8,8,8,10,10,8,8,10,6,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,11,11,8,10,10,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,12,11,11,13,13,11,13,14,7,11,11,10,13,12,11,13,14,4,8,8,8,11,11,8,11,12,8,11,11,11,13,13,10,12,13,8,11,11,11,14,13,11,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,12,13,14,13,17,12,15,17,5,5,6,10,10,11,15,16,4,3,3,7,5,7,10,16,7,7,7,10,9,11,12,16,6,5,5,9,5,6,10,16,8,7,7,9,6,7,9,16,11,7,3,6,4,5,8,16,12,9,4,8,5,7,9,16,2,0,0,0,64,0,0,0,168,133,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,120,2,0,0,0,0,0,0,0,0,0,0,0,0,0,80,120,2,0,0,0,0,0,0,0,0,0,0,0,0,0,120,120,2,0,0,0,0,0,0,0,0,0,0,0,0,0,160,120,2,0,0,0,0,0,0,0,0,0,0,0,0,0,200,120,2,0,0,0,0,0,240,120,2,0,24,121,2,0,0,0,0,0,0,0,0,0,64,121,2,0,104,121,2,0,144,121,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,232,119,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,13,10,17,11,11,15,7,2,4,5,8,7,9,16,13,4,3,5,6,8,11,20,10,4,5,5,7,6,8,18,15,7,6,7,8,10,14,20,10,6,7,6,9,7,8,17,9,8,10,8,10,5,4,11,12,17,19,14,16,10,7,12,4,0,0,0,81,0,0,0,64,133,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,152,133,2,0,0,0,0,0,4,0,0,0,81,0,0,0,216,132,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,48,133,2,0,0,0,0,0,4,0,0,0,113,2,0,0,72,130,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,132,2,0,0,0,0,0,4,0,0,0,113,2,0,0,184,127,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,48,130,2,0,0,0,0,0,2,0,0,0,81,0,0,0,56,127,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,144,127,2,0,0,0,0,0,2,0,0,0,169,0,0,0,80,126,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,0,127,2,0,0,0,0,0,2,0,0,0,25,0,0,0,24,126,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,126,2,0,0,0,0,0,4,0,0,0,113,2,0,0,136,123,2,0,1,0,0,0,0,32,21,225,0,32,245,96,3,0,0,0,0,0,0,0,0,126,2,0,0,0,0,0,2,0,0,0,169,0,0,0,160,122,2,0,1,0,0,0,0,128,211,224,0,0,122,96,4,0,0,0,0,0,0,0,80,123,2,0,0,0,0,0,2,0,0,0,169,0,0,0,184,121,2,0,1,0,0,0,0,0,88,224,0,0,16,96,4,0,0,0,0,0,0,0,104,122,2,0,0,0,0,0,2,5,4,6,6,7,7,8,8,8,8,9,8,5,5,6,7,7,8,8,8,8,9,9,9,9,5,6,5,7,7,8,8,8,8,9,9,9,9,6,7,7,8,8,8,8,9,8,9,9,9,9,6,7,7,8,7,8,8,9,9,9,9,9,9,7,8,8,8,8,9,9,9,9,9,9,9,9,7,8,8,9,8,9,8,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,9,9,10,10,8,8,9,9,9,9,9,9,9,9,10,9,10,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,10,9,9,10,10,9,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,6,6,6,6,7,7,8,8,9,9,5,7,7,8,7,7,7,9,8,10,9,10,11,5,7,7,8,8,7,7,8,9,10,10,11,11,6,8,8,9,9,9,9,11,10,12,12,15,12,6,8,8,9,9,9,9,11,11,12,11,14,12,7,8,8,10,10,12,12,13,13,13,15,13,13,7,8,8,10,10,11,11,13,12,14,15,15,15,9,10,10,11,12,13,13,14,15,14,15,14,15,8,10,10,12,12,14,14,15,14,14,15,15,14,10,12,12,14,14,15,14,15,15,15,14,15,15,10,12,12,13,14,15,14,15,15,14,15,15,15,12,15,13,15,14,15,15,15,15,15,15,15,15,13,13,15,15,15,15,15,15,15,15,15,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,11,11,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,5,5,4,5,5,5,5,5,6,6,6,6,5,6,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,9,11,10,14,13,4,6,5,8,8,9,9,11,10,11,11,14,14,4,5,6,8,8,9,9,10,10,11,11,14,14,6,8,8,9,9,10,10,11,11,12,12,16,15,7,8,8,9,9,10,10,11,11,12,12,15,15,9,10,10,10,10,11,11,12,12,12,12,15,15,9,10,9,10,11,11,11,12,12,12,13,15,15,10,10,11,11,11,12,12,13,12,13,13,16,15,10,11,11,11,11,12,12,13,12,13,13,16,17,11,11,12,12,12,13,13,13,14,14,15,17,17,11,11,12,12,12,13,13,13,14,14,14,16,18,14,15,15,15,15,16,16,16,16,17,18,0,0,14,15,15,15,15,17,16,17,18,17,17,18,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,8,8,8,9,9,4,6,6,8,8,8,8,9,9,7,8,8,9,9,9,9,11,10,7,8,8,9,9,9,9,10,10,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,9,9,10,10,11,11,12,12,9,9,9,10,11,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,9,9,5,6,6,9,9,5,6,6,9,9,9,10,9,12,12,9,9,10,12,12,5,7,7,10,10,7,7,8,10,10,6,7,8,10,10,10,10,10,11,13,10,9,10,12,13,5,7,7,10,10,6,8,7,10,10,7,8,7,10,10,9,10,10,12,12,10,10,10,13,11,9,10,10,13,13,10,11,10,13,13,10,10,10,13,13,12,12,13,14,14,12,12,13,14,14,9,10,10,13,13,10,10,10,13,13,10,10,10,13,13,12,13,12,15,14,12,13,12,15,15,5,7,6,10,10,7,8,8,10,10,7,8,8,10,10,10,11,10,13,13,10,10,10,12,12,7,8,8,11,10,8,8,9,10,11,8,9,9,11,11,11,10,11,11,14,11,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,14,11,10,11,11,13,13,10,11,11,14,13,10,10,11,14,13,10,11,11,14,14,12,11,13,12,16,13,14,14,15,15,10,10,11,13,14,10,11,10,14,13,10,11,11,14,14,12,13,12,15,13,13,13,14,15,16,5,7,7,10,10,7,8,8,10,10,7,8,8,10,10,10,10,10,13,13,10,10,11,12,13,6,8,8,11,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,6,8,8,10,11,8,9,9,11,11,8,9,8,12,10,10,11,11,13,13,10,11,10,14,11,10,10,10,14,13,10,11,11,14,13,10,10,11,13,13,12,14,14,16,16,12,12,13,13,15,10,11,11,13,14,10,11,11,14,15,10,11,10,13,13,13,14,13,16,16,12,13,11,15,12,9,10,10,13,13,10,11,11,14,13,10,10,11,13,14,13,14,13,16,16,13,13,13,15,16,9,10,10,13,13,10,10,11,13,14,10,11,11,15,13,13,13,14,14,18,13,13,14,16,15,9,10,10,13,14,10,11,10,14,13,10,11,11,13,14,13,14,13,16,15,13,13,14,15,16,12,13,12,16,14,11,11,13,15,15,13,14,13,16,15,15,12,16,12,17,14,15,15,17,17,12,13,13,14,16,11,13,11,16,15,12,13,14,15,16,14,15,13,0,14,14,16,16,0,0,9,10,10,13,13,10,11,10,14,14,10,11,11,13,13,12,13,13,14,16,13,14,14,16,16,9,10,10,14,14,11,11,11,14,13,10,10,11,14,14,13,13,13,16,16,13,13,14,14,17,9,10,10,13,14,10,11,11,13,15,10,11,10,14,14,13,13,13,14,17,13,14,13,17,14,12,13,13,16,14,13,14,13,16,15,12,12,13,15,16,15,15,16,18,16,15,13,15,14,0,12,12,13,14,16,13,13,14,15,16,11,12,11,16,14,15,16,16,17,17,14,15,12,17,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,8,8,5,8,7,9,9,5,7,8,9,9,9,10,9,12,12,9,9,10,12,12,6,8,8,11,10,8,10,10,11,11,8,9,10,11,11,10,11,11,14,13,10,11,11,13,13,5,8,8,10,10,8,10,10,11,11,8,10,10,11,11,10,11,11,13,13,10,11,11,13,13,9,11,11,15,14,10,12,12,15,14,10,12,11,15,14,13,14,14,16,16,12,14,13,17,15,9,11,11,14,15,10,11,12,14,16,10,11,12,14,16,12,13,14,16,16,13,13,15,15,18,5,8,8,11,11,8,10,10,12,12,8,10,10,12,13,11,12,12,14,14,11,12,12,15,15,8,10,10,13,13,10,12,12,13,13,10,12,12,14,14,12,13,13,15,15,12,13,13,16,16,7,10,10,12,12,10,12,11,13,13,10,12,12,13,14,12,13,12,15,14,12,13,13,16,16,10,12,12,17,16,12,13,13,16,15,11,13,13,17,17,15,15,15,16,17,14,15,15,19,19,10,12,12,15,16,11,13,12,15,18,11,13,13,16,16,14,15,15,17,17,14,15,15,17,19,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,16,15,11,12,12,14,15,7,10,10,13,13,10,12,12,14,13,10,11,12,13,13,12,13,13,16,16,12,12,13,15,15,8,10,10,13,13,10,12,12,14,14,10,12,12,13,13,12,13,13,16,16,12,13,13,15,15,10,12,12,16,15,11,13,13,17,16,11,12,13,16,15,13,15,15,19,17,14,15,14,17,16,10,12,12,16,16,11,13,13,16,17,12,13,13,15,17,14,15,15,17,19,14,15,15,17,17,8,11,11,16,16,10,13,12,17,17,10,12,13,16,16,15,17,16,20,19,14,15,17,18,19,9,12,12,16,17,11,13,14,17,18,11,13,13,19,18,16,17,18,19,19,15,16,16,19,19,9,12,12,16,17,11,14,13,18,17,11,13,13,17,17,16,17,16,20,19,14,16,16,18,18,12,15,15,19,17,14,15,16,0,20,13,15,16,20,17,18,16,20,0,0,15,16,19,20,0,12,15,14,18,19,13,16,15,20,19,13,16,15,20,18,17,18,17,0,20,16,17,16,0,0,8,11,11,16,15,10,12,12,17,17,10,13,13,17,16,14,16,15,18,20,15,16,16,19,19,9,12,12,16,16,11,13,13,17,16,11,13,14,17,18,15,15,16,20,20,16,16,17,19,19,9,13,12,16,17,11,14,13,17,17,11,14,14,18,17,14,16,15,18,19,16,17,18,18,19,12,14,15,19,18,13,15,16,18,0,13,14,15,0,0,16,16,17,20,0,17,17,20,20,0,12,15,15,19,20,13,15,15,0,0,14,16,15,0,0,15,18,16,0,0,17,18,16,0,19,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,7,8,8,6,8,8,5,7,7,6,8,8,7,8,8,4,7,7,7,8,8,7,8,8,7,8,8,8,9,10,8,10,10,6,8,8,8,10,8,8,10,10,5,7,7,7,8,8,7,8,8,6,8,8,8,10,10,8,8,10,6,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,11,11,8,10,10,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,12,11,11,13,13,11,13,14,7,11,11,10,13,12,11,13,14,4,8,8,8,11,11,8,11,12,8,11,11,11,13,13,10,12,13,8,11,11,11,14,13,11,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,12,13,14,13,17,12,15,17,5,5,6,10,10,11,15,16,4,3,3,7,5,7,10,16,7,7,7,10,9,11,12,16,6,5,5,9,5,6,10,16,8,7,7,9,6,7,9,16,11,7,3,6,4,5,8,16,12,9,4,8,5,7,9,16],"i8",N3,x.GLOBAL_BASE+155104),E3([2,0,0,0,64,0,0,0,184,148,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,135,2,0,0,0,0,0,0,0,0,0,0,0,0,0,96,135,2,0,0,0,0,0,0,0,0,0,0,0,0,0,136,135,2,0,0,0,0,0,0,0,0,0,0,0,0,0,176,135,2,0,0,0,0,0,0,0,0,0,0,0,0,0,216,135,2,0,0,0,0,0,0,136,2,0,40,136,2,0,0,0,0,0,0,0,0,0,80,136,2,0,120,136,2,0,160,136,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,248,134,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,6,12,9,14,9,9,19,6,1,5,5,8,7,9,19,12,4,4,7,7,9,11,18,9,5,6,6,8,7,8,17,14,8,7,8,8,10,12,18,9,6,8,6,8,6,8,18,9,8,11,8,11,7,5,15,16,18,18,18,17,15,11,18,4,0,0,0,81,0,0,0,80,148,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,148,2,0,0,0,0,0,4,0,0,0,81,0,0,0,232,147,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,64,148,2,0,0,0,0,0,4,0,0,0,113,2,0,0,88,145,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,147,2,0,0,0,0,0,4,0,0,0,113,2,0,0,200,142,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,145,2,0,0,0,0,0,2,0,0,0,81,0,0,0,72,142,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,160,142,2,0,0,0,0,0,2,0,0,0,169,0,0,0,96,141,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,16,142,2,0,0,0,0,0,2,0,0,0,25,0,0,0,40,141,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,141,2,0,0,0,0,0,4,0,0,0,113,2,0,0,152,138,2,0,1,0,0,0,0,32,21,225,0,32,245,96,3,0,0,0,0,0,0,0,16,141,2,0,0,0,0,0,2,0,0,0,169,0,0,0,176,137,2,0,1,0,0,0,0,128,211,224,0,0,122,96,4,0,0,0,0,0,0,0,96,138,2,0,0,0,0,0,2,0,0,0,169,0,0,0,200,136,2,0,1,0,0,0,0,0,88,224,0,0,16,96,4,0,0,0,0,0,0,0,120,137,2,0,0,0,0,0,3,4,4,6,6,7,7,8,8,9,9,9,8,4,5,5,6,6,8,8,9,8,9,9,9,9,4,5,5,7,6,8,8,8,8,9,8,9,8,6,7,7,7,8,8,8,9,9,9,9,9,9,6,7,7,7,7,8,8,9,9,9,9,9,9,7,8,8,8,8,9,8,9,9,10,9,9,10,7,8,8,8,8,9,9,9,9,9,9,10,10,8,9,9,9,9,9,9,9,9,10,10,9,10,8,9,9,9,9,9,9,9,9,9,9,10,10,9,9,9,10,9,9,10,9,9,10,10,10,10,9,9,9,9,9,9,9,10,9,10,10,10,10,9,9,9,10,9,9,10,10,9,10,10,10,10,9,9,9,10,9,9,9,10,10,10,10,10,10,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,6,6,6,6,9,8,9,8,8,8,5,7,7,7,7,8,8,8,10,8,10,8,9,5,7,7,8,7,7,8,10,10,11,10,12,11,7,8,8,9,9,9,10,11,11,11,11,11,11,7,8,8,8,9,9,9,10,10,10,11,11,12,7,8,8,9,9,10,11,11,12,11,12,11,11,7,8,8,9,9,10,10,11,11,11,12,12,11,8,10,10,10,10,11,11,14,11,12,12,12,13,9,10,10,10,10,12,11,14,11,14,11,12,13,10,11,11,11,11,13,11,14,14,13,13,13,14,11,11,11,12,11,12,12,12,13,14,14,13,14,12,11,12,12,12,12,13,13,13,14,13,14,14,11,12,12,14,12,13,13,12,13,13,14,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,5,3,11,11,11,11,11,11,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,5,5,4,5,5,6,5,5,6,5,6,6,5,6,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,10,11,11,15,15,4,5,5,8,8,9,9,11,11,12,12,16,16,4,5,6,8,8,9,9,11,11,12,12,14,14,7,8,8,9,9,10,10,11,12,13,13,16,17,7,8,8,9,9,10,10,12,12,12,13,15,15,9,10,10,10,10,11,11,12,12,13,13,15,16,9,9,9,10,10,11,11,13,12,13,13,17,17,10,11,11,11,12,12,12,13,13,14,15,0,18,10,11,11,12,12,12,13,14,13,14,14,17,16,11,12,12,13,13,14,14,14,14,15,16,17,16,11,12,12,13,13,14,14,14,14,15,15,17,17,14,15,15,16,16,16,17,17,16,0,17,0,18,14,15,15,16,16,0,15,18,18,0,16,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,8,8,9,9,4,6,5,8,7,8,8,10,9,4,6,6,8,8,8,8,10,10,7,8,7,9,9,9,9,11,10,7,8,8,9,9,9,9,10,11,8,8,8,9,9,10,10,11,11,8,8,8,9,9,10,10,11,11,9,10,10,11,10,11,11,12,12,9,10,10,10,11,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,9,9,5,6,6,10,9,5,6,6,9,10,10,10,10,12,11,9,10,10,12,12,5,7,7,10,10,7,7,8,10,11,7,7,8,10,11,10,10,11,11,13,10,10,11,11,13,6,7,7,10,10,7,8,7,11,10,7,8,7,10,10,10,11,9,13,11,10,11,10,13,11,10,10,10,14,13,10,11,11,14,13,10,10,11,13,14,12,12,13,15,15,12,12,13,13,14,10,10,10,12,13,10,11,10,13,13,10,11,11,13,13,12,13,12,14,13,12,13,13,14,13,5,7,7,10,10,7,8,8,11,10,7,8,8,10,10,11,11,11,13,13,10,11,11,12,12,7,8,8,11,11,7,8,9,10,12,8,9,9,11,11,11,10,12,11,14,11,11,12,13,13,6,8,8,10,11,7,9,7,12,10,8,9,10,11,12,10,12,10,14,11,11,12,11,13,13,10,11,11,14,14,10,10,11,13,14,11,12,12,15,13,12,11,14,12,16,12,13,14,15,16,10,10,11,13,14,10,11,10,14,12,11,12,12,13,14,12,13,11,15,12,14,14,14,15,15,5,7,7,10,10,7,8,8,10,10,7,8,8,10,11,10,11,10,12,12,10,11,11,12,13,6,8,8,11,11,8,9,9,12,11,7,7,9,10,12,11,11,11,12,13,11,10,12,11,15,7,8,8,11,11,8,9,9,11,11,7,9,8,12,10,11,12,11,13,12,11,12,10,15,11,10,11,10,14,12,11,12,11,14,13,10,10,11,13,14,13,13,13,17,15,12,11,14,12,15,10,10,11,13,14,11,12,12,14,14,10,11,10,14,13,13,14,13,16,17,12,14,11,16,12,9,10,10,14,13,10,11,10,14,14,10,11,11,13,13,13,14,14,16,15,12,13,13,14,14,9,11,10,14,13,10,10,12,13,14,11,12,11,14,13,13,14,14,14,15,13,14,14,15,15,9,10,11,13,14,10,11,10,15,13,11,11,12,12,15,13,14,12,15,14,13,13,14,14,15,12,13,12,16,14,11,11,12,15,14,13,15,13,16,14,13,12,15,12,17,15,16,15,16,16,12,12,13,13,15,11,13,11,15,14,13,13,14,15,17,13,14,12,0,13,14,15,14,15,0,9,10,10,13,13,10,11,11,13,13,10,11,11,13,13,12,13,12,14,14,13,14,14,15,17,9,10,10,13,13,11,12,11,15,12,10,10,11,13,16,13,14,13,15,14,13,13,14,15,16,10,10,11,13,14,11,11,12,13,14,10,12,11,14,14,13,13,13,14,15,13,15,13,16,15,12,13,12,15,13,12,15,13,15,15,11,11,13,14,15,15,15,15,15,17,13,12,14,13,17,12,12,14,14,15,13,13,14,14,16,11,13,11,16,15,14,16,16,17,0,14,13,11,16,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,8,8,5,8,7,9,9,5,7,8,9,9,9,10,9,12,12,9,9,10,11,12,6,8,8,10,10,8,10,10,11,11,8,9,10,11,11,10,11,11,13,13,10,11,11,12,13,6,8,8,10,10,8,10,9,11,11,8,10,10,11,11,10,11,11,13,12,10,11,11,13,12,9,11,11,15,13,10,12,11,15,13,10,11,11,15,14,12,14,13,16,15,12,13,13,17,16,9,11,11,13,15,10,11,12,14,15,10,11,12,14,15,12,13,13,15,16,12,13,13,16,16,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,14,8,11,10,13,12,10,11,12,12,13,10,12,12,13,13,12,12,13,13,15,11,12,13,15,14,7,10,10,12,12,9,12,11,13,12,10,12,12,13,14,12,13,12,15,13,11,13,12,14,15,10,12,12,16,14,11,12,12,16,15,11,13,12,17,16,13,13,15,15,17,13,15,15,20,17,10,12,12,14,16,11,12,12,15,15,11,13,13,15,18,13,14,13,15,15,13,15,14,16,16,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,15,7,10,10,13,12,10,12,12,14,13,9,10,12,12,13,11,13,13,15,15,11,12,13,13,15,8,10,10,12,13,10,12,12,13,13,10,12,11,13,13,11,13,12,15,15,12,13,12,15,13,10,12,12,16,14,11,12,12,16,15,10,12,12,16,14,14,15,14,18,16,13,13,14,15,16,10,12,12,14,16,11,13,13,16,16,11,13,12,14,16,13,15,15,18,18,13,15,13,16,14,8,11,11,16,16,10,13,13,17,16,10,12,12,16,15,14,16,15,20,17,13,14,14,17,17,9,12,12,16,16,11,13,14,16,17,11,13,13,16,16,15,15,19,18,0,14,15,15,18,18,9,12,12,17,16,11,13,12,17,16,11,12,13,15,17,15,16,15,0,19,14,15,14,19,18,12,14,14,0,16,13,14,14,19,18,13,15,16,17,16,15,15,17,18,0,14,16,16,19,0,12,14,14,16,18,13,15,13,17,18,13,15,14,17,18,15,18,14,18,18,16,17,16,0,17,8,11,11,15,15,10,12,12,16,16,10,13,13,16,16,13,15,14,17,17,14,15,17,17,18,9,12,12,16,15,11,13,13,16,16,11,12,13,17,17,14,14,15,17,17,14,15,16,0,18,9,12,12,16,17,11,13,13,16,17,11,14,13,18,17,14,16,14,17,17,15,17,17,18,18,12,14,14,0,16,13,15,15,19,0,12,13,15,0,0,14,17,16,19,0,16,15,18,18,0,12,14,14,17,0,13,14,14,17,0,13,15,14,0,18,15,16,16,0,18,15,18,15,0,17,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,7,8,8,6,7,9,5,7,7,6,8,7,7,9,8,4,7,7,7,9,8,7,8,8,7,9,8,8,8,10,9,10,10,6,8,8,7,10,8,9,10,10,5,7,7,7,8,8,7,8,9,6,8,8,9,10,10,7,8,10,6,8,9,9,10,10,8,10,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,10,11,8,10,11,5,8,8,8,11,10,8,11,10,4,9,9,8,11,11,8,11,11,8,12,11,10,12,14,11,13,13,7,11,11,10,13,11,11,13,14,4,8,9,8,11,11,8,11,12,7,11,11,11,14,13,10,11,13,8,11,12,11,13,13,10,14,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,12,12,14,12,14,14,14,14,12,6,6,8,9,9,11,14,12,4,2,6,6,7,11,14,13,6,5,7,8,9,11,14,13,8,5,8,6,8,12,14,12,7,7,8,8,8,10,14,12,6,3,4,4,4,7,14,11,7,4,6,6,6,8,14,1,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,0,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,0,0,128,63,0,0,0,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,224,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,64,65,0,0,72,65,0,0,80,65,0,0,88,65,0,0,96,65,0,0,104,65,0,0,112,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,0,0,128,63,0,0,0,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,64,65,0,0,72,65,0,0,80,65,0,0,88,65,0,0,96,65,0,0,104,65,0,0,112,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,0,0,128,63,0,0,0,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,64,64,0,0,128,64,0,0,128,64,0,0,160,64,0,0,160,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,128,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,2,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,2,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,64,0,0,224,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,32,65,0,0,32,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,200,47,1,0,32,161,2,0,200,47,1,0,96,161,2,0,200,47,1,0,160,161,2,0,200,47,1,0,224,161,2,0,200,47,1,0,32,162,2,0,200,47,1,0,96,162,2,0,200,47,1,0,160,162,2,0,200,47,1,0,224,162,2,0,200,47,1,0,32,163,2,0,200,47,1,0,96,163,2,0,200,47,1,0,160,163,2,0,2,0,0,0,0,0,0,0,32,0,0,0,64,171,3,0,216,86,4,0,0,87,4,0,40,87,4,0,232,87,4,0,2,0,0,0,0,0,0,0,32,0,0,0,64,171,3,0,168,88,4,0,208,88,4,0,40,87,4,0,232,87,4,0,2,0,0,0,0,0,0,0,16,0,0,0,64,171,3,0,248,5,4,0,32,6,4,0,72,6,4,0,8,7,4,0,2,0,0,0,0,0,0,0,32,0,0,0,64,171,3,0,200,7,4,0,240,7,4,0,72,6,4,0,8,7,4,0,2,0,0,0,0,0,0,0,16,0,0,0,64,171,3,0,88,182,3,0,128,182,3,0,168,182,3,0,104,183,3,0,2,0,0,0,0,0,0,0,32,0,0,0,64,171,3,0,40,184,3,0,80,184,3,0,168,182,3,0,104,183,3,0,2,0,0,0,0,0,0,0,16,0,0,0,24,73,1,0,152,128,3,0,152,128,3,0,192,128,3,0,192,128,3,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,128,129,3,0,128,129,3,0,192,128,3,0,192,128,3,0,2,0,0,0,0,0,0,0,16,0,0,0,24,73,1,0,176,85,3,0,176,85,3,0,216,85,3,0,216,85,3,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,152,86,3,0,152,86,3,0,216,85,3,0,216,85,3,0,2,0,0,0,0,0,0,0,16,0,0,0,24,73,1,0,32,42,3,0,32,42,3,0,72,42,3,0,72,42,3,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,8,43,3,0,8,43,3,0,72,42,3,0,72,42,3,0,2,0,0,0,0,0,0,0,16,0,0,0,24,73,1,0,8,254,2,0,8,254,2,0,48,254,2,0,48,254,2,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,240,254,2,0,240,254,2,0,48,254,2,0,48,254,2,0,2,0,0,0,0,0,0,0,16,0,0,0,224,163,2,0,8,235,2,0,8,235,2,0,48,235,2,0,48,235,2,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,240,235,2,0,240,235,2,0,48,235,2,0,48,235,2,0,2,0,0,0,0,0,0,0,16,0,0,0,224,163,2,0,8,216,2,0,8,216,2,0,48,216,2,0,48,216,2,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,240,216,2,0,240,216,2,0,48,216,2,0,48,216,2,0,2,0,0,0,0,0,0,0,16,0,0,0,224,163,2,0,168,195,2,0,168,195,2,0,208,195,2,0,208,195,2,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,144,196,2,0,144,196,2,0,208,195,2,0,208,195,2,0,2,0,0,0,0,0,0,0,16,0,0,0,224,163,2,0,248,174,2,0,248,174,2,0,32,175,2,0,32,175,2,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,224,175,2,0,224,175,2,0,32,175,2,0,32,175,2,0,0,0,0,0,255,255,255,255,255,255,255,255,10,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,x.GLOBAL_BASE+165344),E3([1,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,71,0,0,0,157,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,71,0,0,0,157,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,64,195,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,152,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,192,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,232,176,2,0,0,0,0,0,16,177,2,0,56,177,2,0,0,0,0,0,0,0,0,0,96,177,2,0,136,177,2,0,0,0,0,0,0,0,0,0,176,177,2,0,216,177,2,0,0,0,0,0,0,0,0,0,0,178,2,0,40,178,2,0,0,0,0,0,0,0,0,0,80,178,2,0,120,178,2,0,160,178,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,8,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,12,14,15,15,15,13,15,15,6,5,8,10,12,12,13,12,14,13,10,6,5,6,8,9,11,11,13,13,13,8,5,4,5,6,8,10,11,13,14,10,7,5,4,5,7,9,11,12,13,11,8,6,5,4,5,7,9,11,12,11,10,8,7,5,4,5,9,10,13,13,11,10,8,6,5,4,7,9,15,14,13,12,10,9,8,7,8,9,12,12,14,13,12,11,10,9,8,9,0,0,0,0,4,0,0,0,81,0,0,0,216,194,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,48,195,2,0,0,0,0,0,4,0,0,0,113,2,0,0,72,192,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,194,2,0,0,0,0,0,2,0,0,0,81,0,0,0,200,191,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,32,192,2,0,0,0,0,0,2,0,0,0,33,1,0,0,88,190,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,128,191,2,0,0,0,0,0,4,0,0,0,81,0,0,0,240,189,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,72,190,2,0,0,0,0,0,2,0,0,0,121,0,0,0,64,189,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,192,189,2,0,0,0,0,0,2,0,0,0,169,0,0,0,88,188,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,8,189,2,0,0,0,0,0,2,0,0,0,25,0,0,0,32,188,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,188,2,0,0,0,0,0,2,0,0,0,169,0,0,0,56,187,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,232,187,2,0,0,0,0,0,2,0,0,0,121,0,0,0,136,186,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,8,187,2,0,0,0,0,0,2,0,0,0,225,0,0,0,96,185,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,72,186,2,0,0,0,0,0,2,0,0,0,185,1,0,0,72,183,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,8,185,2,0,0,0,0,0,2,0,0,0,105,1,0,0,136,181,2,0,1,0,0,0,128,93,176,225,0,24,61,97,5,0,0,0,0,0,0,0,248,182,2,0,0,0,0,0,2,0,0,0,105,1,0,0,200,179,2,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,56,181,2,0,0,0,0,0,1,0,0,0,49,0,0,0,200,178,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,0,179,2,0,0,0,0,0,2,4,4,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,8,7,9,8,9,9,10,10,11,11,11,11,6,5,5,8,8,9,9,9,8,10,9,11,10,12,12,13,12,13,13,5,5,5,8,8,9,9,9,9,10,10,11,11,12,12,13,12,13,13,17,8,8,9,9,9,9,9,9,10,10,12,11,13,12,13,13,13,13,18,8,8,9,9,9,9,9,9,11,11,12,12,13,13,13,13,13,13,17,13,12,9,9,10,10,10,10,11,11,12,12,12,13,13,13,14,14,18,13,12,9,9,10,10,10,10,11,11,12,12,13,13,13,14,14,14,17,18,18,10,10,10,10,11,11,11,12,12,12,14,13,14,13,13,14,18,18,18,10,9,10,9,11,11,12,12,12,12,13,13,15,14,14,14,18,18,16,13,14,10,11,11,11,12,13,13,13,13,14,13,13,14,14,18,18,18,14,12,11,9,11,10,13,12,13,13,13,14,14,14,13,14,18,18,17,18,18,11,12,12,12,13,13,14,13,14,14,13,14,14,14,18,18,18,18,17,12,10,12,9,13,11,13,14,14,14,14,14,15,14,18,18,17,17,18,14,15,12,13,13,13,14,13,14,14,15,14,15,14,18,17,18,18,18,15,15,12,10,14,10,14,14,13,13,14,14,14,14,18,16,18,18,18,18,17,14,14,13,14,14,13,13,14,14,14,15,15,18,18,18,18,17,17,17,14,14,14,12,14,13,14,14,15,14,15,14,18,18,18,18,18,18,18,17,16,13,13,13,14,14,14,14,15,16,15,18,18,18,18,18,18,18,17,17,13,13,13,13,14,13,14,15,15,15,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,4,3,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,4,5,6,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,4,6,6,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,4,6,6,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,7,7,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,10,9,9,9,10,10,10,10,10,10,10,9,9,9,9,9,9,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,9,9,10,9,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,9,9,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,10,10,9,9,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,9,9,9,9,9,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,6,8,8,8,8,9,9,10,10,11,10,6,5,5,7,7,9,9,8,9,10,10,11,11,12,12,6,5,5,7,7,9,9,9,9,10,10,11,11,12,12,21,7,8,8,8,9,9,9,9,10,10,11,11,12,12,21,8,8,8,8,9,9,9,9,10,10,11,11,12,12,21,11,12,9,9,10,10,10,10,10,11,11,12,12,12,21,12,12,9,8,10,10,10,10,11,11,12,12,13,13,21,21,21,9,9,9,9,11,11,11,11,12,12,12,13,21,20,20,9,9,9,9,10,11,11,11,12,12,13,13,20,20,20,13,13,10,10,11,11,12,12,13,13,13,13,20,20,20,13,13,10,10,11,11,12,12,13,13,13,13,20,20,20,20,20,12,12,12,12,12,12,13,13,14,14,20,20,20,20,20,12,12,12,11,13,12,13,13,14,14,20,20,20,20,20,15,16,13,12,13,13,14,13,14,14,20,20,20,20,20,16,15,12,12,13,12,14,13,14,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,5,6,6,6,6,7,7,7,7,7,7,7,6,6,6,6,7,7,7,7,7,7,7,6,6,6,6,7,7,7,7,7,7,8,6,6,6,6,7,7,7,7,7,7,8,8,8,6,6,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,10,10,11,11,6,4,4,6,6,8,8,9,9,10,10,12,12,6,4,5,6,6,8,8,9,9,10,10,12,12,20,6,6,6,6,8,8,9,10,11,11,12,12,20,6,6,6,6,8,8,10,10,11,11,12,12,20,10,10,7,7,9,9,10,10,11,11,12,12,20,11,11,7,7,9,9,10,10,11,11,12,12,20,20,20,9,9,9,9,11,11,12,12,13,13,20,20,20,9,9,9,9,11,11,12,12,13,13,20,20,20,13,13,10,10,11,11,12,13,13,13,20,20,20,13,13,10,10,11,11,12,13,13,13,20,20,20,20,19,12,12,12,12,13,13,14,15,19,19,19,19,19,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,4,4,4,5,5,5,4,4,5,5,5,4,4,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,9,9,5,4,4,6,6,8,8,9,9,9,9,10,10,6,4,4,6,6,8,8,9,9,9,9,10,10,0,6,6,7,7,8,8,9,9,10,10,11,11,0,6,6,7,7,8,8,9,9,10,10,11,11,0,10,10,8,8,9,9,10,10,11,11,12,12,0,11,11,8,8,9,9,10,10,11,11,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,7,7,11,5,5,6,6,7,7,7,7,8,8,11,5,5,6,6,7,7,7,7,8,8,11,5,5,6,6,7,7,8,8,8,8,11,11,11,6,6,7,7,7,8,8,8,11,11,11,6,6,7,7,7,8,8,8,11,11,11,6,6,7,7,7,7,8,8,11,11,11,7,7,7,7,7,7,8,8,11,11,11,10,10,7,7,7,7,8,8,11,11,11,11,11,7,7,7,7,7,7,11,11,11,11,11,7,7,7,7,7,7,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,7,6,9,10,10,10,10,9,4,6,7,9,10,10,10,9,10,5,9,9,9,11,11,10,11,11,7,10,9,11,12,11,12,12,12,7,9,10,11,11,12,12,12,12,6,10,10,10,12,12,10,12,11,7,10,10,11,12,12,11,12,12,7,10,10,11,12,12,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,10,10,0,5,4,5,5,7,7,8,8,8,8,9,9,10,10,11,11,0,5,5,6,6,7,7,8,8,8,8,9,9,10,10,11,11,0,6,5,6,6,7,7,8,8,9,9,10,10,11,11,11,12,0,0,0,6,6,7,7,8,8,9,9,10,10,11,11,12,12,0,0,0,7,7,7,7,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,7,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,3,4,4,5,5,6,6,8,8,0,4,4,5,5,6,7,8,8,0,4,4,5,5,7,7,8,8,0,5,5,6,6,7,7,9,9,0,0,0,6,6,7,7,9,9,0,0,0,7,7,8,8,9,9,0,0,0,7,7,8,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,0,5,5,8,8,0,5,5,8,8,0,7,7,9,9,0,0,0,9,9,6,7,7,9,8,0,8,8,9,9,0,8,7,9,9,0,9,10,10,10,0,0,0,11,10,6,7,7,8,9,0,8,8,9,9,0,7,8,9,9,0,10,9,11,10,0,0,0,10,10,8,9,8,10,10,0,10,10,12,11,0,10,10,11,11,0,12,13,13,13,0,0,0,13,12,8,8,9,10,10,0,10,10,11,12,0,10,10,11,11,0,13,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,7,10,10,0,7,7,10,9,0,7,7,10,10,0,9,9,10,10,0,0,0,10,10,6,7,8,10,10,0,7,7,9,10,0,7,7,10,10,0,9,9,10,10,0,0,0,10,10,8,9,9,11,11,0,10,10,11,11,0,10,10,11,11,0,12,12,12,12,0,0,0,12,12,8,9,10,11,11,0,9,10,11,11,0,10,10,11,11,0,12,12,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,10,10,0,7,7,10,10,0,7,7,10,9,0,9,9,10,10,0,0,0,10,10,6,7,8,10,10,0,7,7,10,10,0,7,7,9,10,0,9,9,10,10,0,0,0,10,10,8,10,9,12,11,0,10,10,12,11,0,10,9,11,11,0,11,12,12,12,0,0,0,12,12,8,9,10,11,12,0,10,10,11,11,0,9,10,11,11,0,12,11,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,9,12,12,0,9,9,12,11,0,9,9,11,11,0,10,10,12,11,0,0,0,11,12,7,9,10,12,12,0,9,9,11,12,0,9,9,11,11,0,10,10,11,12,0,0,0,11,11,9,11,10,13,12,0,10,10,12,12,0,10,10,12,12,0,11,11,12,12,0,0,0,13,12,9,10,11,12,13,0,10,10,12,12,0,10,10,12,12,0,11,12,12,12,0,0,0,12,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,10,13,13,0,10,10,12,12,0,10,10,12,12,0,11,12,12,12,0,0,0,12,12,9,10,11,13,13,0,10,10,12,12,0,10,10,12,12,0,12,11,13,12,0,0,0,12,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,5,5,0,5,5,6,8,8,0,9,8,0,9,8,6,8,8,0,8,9,0,8,9,0,0,0,0,0,0,0,0,0,5,8,8,0,7,7,0,8,8,5,8,8,0,7,8,0,8,8,0,0,0,0,0,0,0,0,0,5,9,8,0,8,8,0,7,7,5,8,9,0,8,8,0,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,13,18,16,17,17,19,18,19,19,5,7,10,11,12,12,13,16,17,18,6,6,7,7,9,9,10,14,17,19,8,7,6,5,6,7,9,12,19,17,8,7,7,6,5,6,8,11,15,19,9,8,7,6,5,5,6,8,13,15,11,10,8,8,7,5,4,4,10,14,12,13,11,9,7,6,4,2,6,12,18,16,16,13,8,7,7,5,8,13,16,17,18,15,11,9,9,8,10,13,0,0,0,0,2,0,0,0,100,0,0,0,160,215,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,197,2,0,0,0,0,0,0,0,0,0,0,0,0,0,72,197,2,0,0,0,0,0,0,0,0,0,0,0,0,0,112,197,2,0,0,0,0,0,0,0,0,0,0,0,0,0,152,197,2,0,0,0,0,0,192,197,2,0,232,197,2,0,0,0,0,0,0,0,0,0,16,198,2,0,56,198,2,0,0,0,0,0,0,0,0,0,96,198,2,0,136,198,2,0,0,0,0,0,0,0,0,0,176,198,2,0,216,198,2,0,0,0,0,0,0,0,0,0,0,199,2,0,40,199,2,0,80,199,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,184,196,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,12,13,14,14,14,13,14,14,6,4,5,8,10,10,11,11,14,13,9,5,4,5,7,8,9,10,13,13,12,7,5,4,5,6,8,9,12,13,13,9,6,5,5,5,7,9,11,14,12,10,7,6,5,4,6,7,10,11,12,11,9,8,7,5,5,6,10,10,13,12,10,9,8,6,6,5,8,10,14,13,12,12,11,10,9,7,8,10,12,13,14,14,13,12,11,9,9,10,0,0,0,0,4,0,0,0,81,0,0,0,56,215,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,144,215,2,0,0,0,0,0,4,0,0,0,113,2,0,0,168,212,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,32,215,2,0,0,0,0,0,2,0,0,0,81,0,0,0,40,212,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,212,2,0,0,0,0,0,2,0,0,0,33,1,0,0,184,210,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,211,2,0,0,0,0,0,4,0,0,0,81,0,0,0,80,210,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,168,210,2,0,0,0,0,0,2,0,0,0,121,0,0,0,160,209,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,32,210,2,0,0,0,0,0,2,0,0,0,169,0,0,0,184,208,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,104,209,2,0,0,0,0,0,2,0,0,0,25,0,0,0,128,208,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,208,2,0,0,0,0,0,2,0,0,0,169,0,0,0,152,207,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,72,208,2,0,0,0,0,0,2,0,0,0,121,0,0,0,232,206,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,104,207,2,0,0,0,0,0,2,0,0,0,225,0,0,0,192,205,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,168,206,2,0,0,0,0,0,2,0,0,0,185,1,0,0,168,203,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,104,205,2,0,0,0,0,0,2,0,0,0,33,1,0,0,56,202,2,0,1,0,0,0,0,24,157,225,0,24,61,97,5,0,0,0,0,0,0,0,96,203,2,0,0,0,0,0,2,0,0,0,105,1,0,0,120,200,2,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,232,201,2,0,0,0,0,0,1,0,0,0,49,0,0,0,120,199,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,176,199,2,0,0,0,0,0,2,4,4,4,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,6,7,7,7,7,8,8,9,9,10,10,10,10,11,11,6,6,6,8,8,9,8,8,7,10,8,11,10,12,11,12,12,13,13,5,5,6,8,8,9,9,8,8,10,9,11,11,12,12,13,13,13,13,17,8,8,9,9,9,9,9,9,10,9,12,10,12,12,13,12,13,13,17,9,8,9,9,9,9,9,9,10,10,12,12,12,12,13,13,13,13,17,13,13,9,9,10,10,10,10,11,11,12,11,13,12,13,13,14,15,17,13,13,9,8,10,9,10,10,11,11,12,12,14,13,15,13,14,15,17,17,17,9,10,9,10,11,11,12,12,12,12,13,13,14,14,15,15,17,17,17,9,8,9,8,11,11,12,12,12,12,14,13,14,14,14,15,17,17,17,12,14,9,10,11,11,12,12,14,13,13,14,15,13,15,15,17,17,17,13,11,10,8,11,9,13,12,13,13,13,13,13,14,14,14,17,17,17,17,17,11,12,11,11,13,13,14,13,15,14,13,15,16,15,17,17,17,17,17,11,11,12,8,13,12,14,13,17,14,15,14,15,14,17,17,17,17,17,15,15,12,12,12,12,13,14,14,14,15,14,17,14,17,17,17,17,17,16,17,12,12,13,12,13,13,14,14,14,14,14,14,17,17,17,17,17,17,17,14,14,13,12,13,13,15,15,14,13,15,17,17,17,17,17,17,17,17,13,14,13,13,13,13,14,15,15,15,14,15,17,17,17,17,17,17,17,16,15,13,14,13,13,14,14,15,14,14,16,17,17,17,17,17,17,17,16,16,13,14,13,13,14,14,15,14,15,14,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,4,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,4,7,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,4,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,4,5,5,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,10,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,9,10,10,9,10,10,10,10,9,10,9,10,10,9,10,10,10,10,10,10,10,9,10,10,10,10,10,10,9,9,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,9,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,10,9,10,9,9,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,6,8,8,8,7,9,8,10,10,11,10,6,5,5,7,7,9,9,8,8,10,10,11,11,12,11,6,5,5,7,7,9,9,9,9,10,10,11,11,12,12,20,8,8,8,8,9,9,9,9,10,10,11,11,12,12,20,8,8,8,8,10,9,9,9,10,10,11,11,12,12,20,12,12,9,9,10,10,10,10,10,11,12,12,12,12,20,12,12,9,9,10,10,10,10,11,11,12,12,13,13,20,20,20,9,9,9,9,11,10,11,11,12,12,12,13,20,19,19,9,9,9,9,11,11,11,12,12,12,13,13,19,19,19,13,13,10,10,11,11,12,12,13,13,13,13,19,19,19,14,13,11,10,11,11,12,12,12,13,13,13,19,19,19,19,19,12,12,12,12,13,13,13,13,14,13,19,19,19,19,19,12,12,12,11,12,12,13,14,14,14,19,19,19,19,19,16,15,13,12,13,13,13,14,14,14,19,19,19,19,19,17,17,13,12,13,11,14,13,15,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,4,5,6,6,6,7,7,7,7,7,7,8,6,6,6,7,7,7,7,7,7,7,8,6,6,6,6,7,7,7,7,7,7,8,6,6,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,7,9,9,10,10,12,12,6,5,5,7,7,8,8,10,10,11,11,12,12,7,5,5,7,7,8,8,10,10,11,11,12,12,21,7,7,7,7,8,9,10,10,11,11,12,12,21,7,7,7,7,9,9,10,10,12,12,13,13,21,11,11,8,8,9,9,11,11,12,12,13,13,21,11,11,8,8,9,9,11,11,12,12,13,13,21,21,21,10,10,10,10,11,11,12,13,13,13,21,21,21,10,10,10,10,11,11,13,13,14,13,21,21,21,13,13,11,11,12,12,13,13,14,14,21,21,21,14,14,11,11,12,12,13,13,14,14,21,21,21,21,20,13,13,13,12,14,14,16,15,20,20,20,20,20,13,13,13,13,14,13,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,4,4,5,5,5,4,4,5,5,5,4,4,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,9,9,10,10,11,11,6,5,5,7,7,8,8,9,9,10,10,11,11,0,7,7,7,7,9,9,10,10,10,10,11,11,0,7,7,7,7,9,9,10,10,10,10,11,11,0,11,11,9,9,10,10,11,11,11,11,12,12,0,12,12,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,6,6,7,7,8,8,8,8,11,4,5,6,6,7,7,8,8,8,8,11,5,5,6,6,7,7,8,8,8,9,12,5,5,6,6,7,7,8,8,9,9,12,12,12,6,6,7,7,8,8,9,9,11,11,11,6,6,7,7,8,8,8,8,11,11,11,6,6,7,7,8,8,8,8,11,11,11,7,7,7,8,8,8,8,8,11,11,11,11,11,7,7,8,8,8,8,11,11,11,11,11,7,7,7,7,8,8,11,11,11,11,11,7,7,7,7,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,7,6,10,10,10,10,10,10,4,6,6,10,10,10,10,9,10,5,10,10,9,11,11,10,11,11,7,10,10,11,12,12,12,12,12,7,10,10,11,12,12,12,12,12,6,10,10,10,12,12,10,12,12,7,10,10,11,12,12,12,12,12,7,10,10,11,12,12,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,8,8,8,8,9,9,10,10,11,11,0,4,4,6,6,7,7,8,8,9,8,10,10,11,11,11,11,0,4,4,6,6,7,7,8,8,9,9,10,10,11,11,11,11,0,6,5,6,6,7,7,9,9,9,9,10,10,11,11,12,12,0,0,0,6,6,7,7,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,11,12,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,11,12,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,4,5,5,7,7,9,9,0,4,4,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,5,5,6,6,8,8,10,10,0,0,0,6,6,8,8,10,10,0,0,0,7,7,9,9,10,10,0,0,0,7,7,8,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,0,5,5,8,8,0,5,5,8,8,0,7,7,9,9,0,0,0,9,9,5,7,7,9,9,0,8,7,10,9,0,8,7,10,9,0,10,10,11,11,0,0,0,11,11,5,7,7,9,9,0,7,8,9,10,0,7,8,9,10,0,10,10,11,11,0,0,0,11,11,8,9,9,11,10,0,11,10,12],"i8",N3,x.GLOBAL_BASE+175348),E3([11,0,11,10,12,12,0,13,13,14,14,0,0,0,14,13,8,9,9,10,11,0,10,11,12,12,0,10,11,12,12,0,13,13,14,14,0,0,0,13,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,11,10,0,7,7,10,10,0,7,7,10,10,0,9,9,10,10,0,0,0,11,10,5,7,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,10,0,0,0,10,10,8,10,9,12,12,0,10,10,12,11,0,10,10,12,12,0,12,12,13,12,0,0,0,13,12,8,9,10,12,12,0,10,10,11,12,0,10,10,11,12,0,12,12,13,13,0,0,0,12,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,7,11,10,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,10,10,6,7,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,10,0,0,0,10,10,9,10,9,12,12,0,10,10,12,12,0,10,10,12,11,0,12,12,13,13,0,0,0,13,12,8,9,10,12,12,0,10,10,12,12,0,10,10,11,12,0,12,12,13,13,0,0,0,12,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,13,13,0,9,9,12,12,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,7,10,10,13,13,0,9,9,12,12,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,9,11,11,14,13,0,10,10,13,12,0,11,10,13,12,0,12,12,13,12,0,0,0,13,13,9,11,11,13,14,0,10,11,12,13,0,10,11,13,13,0,12,12,12,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,11,14,14,0,10,11,13,13,0,11,10,13,13,0,11,12,13,13,0,0,0,13,12,9,11,11,14,14,0,11,10,13,13,0,10,11,13,13,0,12,12,13,13,0,0,0,12,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,5,5,0,5,5,5,7,7,0,9,8,0,9,8,6,7,7,0,8,9,0,8,9,0,0,0,0,0,0,0,0,0,5,9,8,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,0,0,5,9,8,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,11,13,14,15,15,18,17,19,17,5,6,8,9,10,10,12,15,19,19,6,6,6,6,8,8,11,14,18,19,8,6,5,4,6,7,10,13,16,17,9,7,6,5,6,7,9,12,15,19,10,8,7,6,6,6,7,9,13,15,12,10,9,8,7,6,4,5,10,15,13,13,11,8,6,6,4,2,7,12,17,15,16,10,8,8,7,6,9,12,19,18,17,13,11,10,10,9,11,14,0,0,0,0,2,0,0,0,100,0,0,0,160,234,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,217,2,0,0,0,0,0,0,0,0,0,0,0,0,0,168,217,2,0,0,0,0,0,0,0,0,0,0,0,0,0,208,217,2,0,0,0,0,0,0,0,0,0,0,0,0,0,248,217,2,0,0,0,0,0,32,218,2,0,72,218,2,0,0,0,0,0,0,0,0,0,112,218,2,0,152,218,2,0,0,0,0,0,0,0,0,0,192,218,2,0,232,218,2,0,0,0,0,0,0,0,0,0,16,219,2,0,56,219,2,0,0,0,0,0,0,0,0,0,96,219,2,0,136,219,2,0,176,219,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,24,217,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,11,13,15,14,14,13,15,14,6,4,5,7,9,10,11,11,14,13,10,4,3,5,7,8,9,10,13,13,12,7,4,4,5,6,8,9,12,14,13,9,6,5,5,6,8,9,12,14,12,9,7,6,5,5,6,8,11,11,12,11,9,8,7,6,6,7,10,11,13,11,10,9,8,7,6,6,9,11,13,13,12,12,12,10,9,8,9,11,12,14,15,15,14,12,11,10,10,12,0,0,0,0,4,0,0,0,81,0,0,0,56,234,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,144,234,2,0,0,0,0,0,4,0,0,0,113,2,0,0,168,231,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,32,234,2,0,0,0,0,0,2,0,0,0,81,0,0,0,40,231,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,231,2,0,0,0,0,0,2,0,0,0,33,1,0,0,184,229,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,230,2,0,0,0,0,0,4,0,0,0,81,0,0,0,80,229,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,168,229,2,0,0,0,0,0,2,0,0,0,121,0,0,0,160,228,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,32,229,2,0,0,0,0,0,2,0,0,0,169,0,0,0,184,227,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,104,228,2,0,0,0,0,0,2,0,0,0,25,0,0,0,128,227,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,227,2,0,0,0,0,0,2,0,0,0,169,0,0,0,152,226,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,72,227,2,0,0,0,0,0,2,0,0,0,121,0,0,0,232,225,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,104,226,2,0,0,0,0,0,2,0,0,0,225,0,0,0,192,224,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,168,225,2,0,0,0,0,0,2,0,0,0,185,1,0,0,168,222,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,104,224,2,0,0,0,0,0,2,0,0,0,169,0,0,0,192,221,2,0,1,0,0,0,0,220,125,225,0,232,51,97,4,0,0,0,0,0,0,0,112,222,2,0,0,0,0,0,2,0,0,0,169,0,0,0,216,220,2,0,1,0,0,0,0,96,18,225,0,128,184,96,4,0,0,0,0,0,0,0,136,221,2,0,0,0,0,0,1,0,0,0,49,0,0,0,216,219,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,16,220,2,0,0,0,0,0,2,4,3,4,5,5,5,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,6,8,8,8,8,6,6,6,8,8,9,8,8,7,9,8,11,10,5,6,6,8,8,9,8,8,8,10,9,11,11,16,8,8,9,8,9,9,9,8,10,9,11,10,16,8,8,9,9,10,10,9,9,10,10,11,11,16,13,13,9,9,10,10,9,10,11,11,12,11,16,13,13,9,8,10,9,10,10,10,10,11,11,16,14,16,8,9,9,9,11,10,11,11,12,11,16,16,16,9,7,10,7,11,10,11,11,12,11,16,16,16,12,12,9,10,11,11,12,11,12,12,16,16,16,12,10,10,7,11,8,12,11,12,12,16,16,15,16,16,11,12,10,10,12,11,12,12,16,16,16,15,15,11,11,10,10,12,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,11,11,11,11,11,11,11,11,11,11,4,6,6,11,11,11,11,11,11,11,11,11,11,4,7,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,7,6,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,11,10,10,10,9,9,9,9,9,9,9,9,9,9,10,9,9,10,9,9,10,11,10,11,10,9,9,9,9,9,9,9,10,10,10,9,10,9,9,9,9,11,10,11,10,10,9,9,9,9,9,9,10,9,9,10,9,9,10,9,9,10,11,10,10,11,10,9,9,9,9,9,10,10,9,10,10,10,10,9,10,10,10,10,10,10,11,11,11,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,9,10,11,11,10,11,10,11,10,9,10,10,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,10,11,11,10,10,10,10,10,10,9,10,9,10,10,9,10,9,10,10,10,11,10,11,10,11,11,10,10,10,10,10,10,9,10,10,10,10,10,10,10,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,10,11,11,10,10,10,10,9,9,10,10,9,9,10,9,10,10,10,10,11,11,10,10,10,10,10,10,10,9,9,10,10,10,9,9,10,10,10,10,10,11,10,11,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,7,9,8,9,9,10,10,6,5,5,7,7,9,9,8,8,10,9,11,10,12,11,6,5,5,8,7,9,9,8,8,10,10,11,11,12,11,19,8,8,8,8,10,10,9,9,10,10,11,11,12,11,19,8,8,8,8,10,10,9,9,10,10,11,11,12,12,19,12,12,9,9,10,10,9,10,10,10,11,11,12,12,19,12,12,9,9,10,10,10,10,10,10,12,12,12,12,19,19,19,9,9,9,9,11,10,11,11,12,11,13,13,19,19,19,9,9,9,9,11,10,11,11,11,12,13,13,19,19,19,13,13,10,10,11,11,12,12,12,12,13,12,19,19,19,14,13,10,10,11,11,12,12,12,13,13,13,19,19,19,19,19,12,12,12,11,12,13,14,13,13,13,19,19,19,19,19,12,12,12,11,12,12,13,14,13,14,19,19,19,19,19,16,16,12,13,12,13,13,14,15,14,19,18,18,18,18,16,15,12,11,12,11,14,12,14,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,7,7,8,6,6,7,7,7,7,7,7,7,7,8,6,6,6,7,7,7,7,7,7,7,8,6,6,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,7,8,9,9,10,10,12,11,6,5,5,7,7,8,8,9,10,11,11,12,12,7,5,5,7,7,8,8,10,10,11,11,12,12,20,7,7,7,7,8,9,10,10,11,11,12,13,20,7,7,7,7,9,9,10,10,11,12,13,13,20,11,11,8,8,9,9,11,11,12,12,13,13,20,11,11,8,8,9,9,11,11,12,12,13,13,20,20,20,10,10,10,10,12,12,13,13,13,13,20,20,20,10,10,10,10,12,12,13,13,13,14,20,20,20,14,14,11,11,12,12,13,13,14,14,20,20,20,14,14,11,11,12,12,13,13,14,14,20,20,20,20,19,13,13,13,13,14,14,15,14,19,19,19,19,19,13,13,13,13,14,14,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,4,4,5,5,5,4,4,5,5,5,4,4,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,7,9,8,10,10,6,5,5,7,7,8,8,9,9,9,10,11,11,7,5,5,7,7,8,8,9,9,10,10,11,11,0,7,7,7,7,9,8,9,9,10,10,11,11,0,8,8,7,7,8,9,9,9,10,10,11,11,0,11,11,9,9,10,10,11,10,11,11,12,12,0,12,12,9,9,10,10,11,11,11,11,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,6,6,7,7,8,8,8,8,11,4,4,6,6,7,7,8,8,9,9,11,4,4,6,6,7,7,8,8,9,9,12,5,5,6,6,7,7,9,9,9,9,12,12,12,6,6,7,7,9,9,9,9,11,11,11,7,7,7,7,8,8,9,9,11,11,11,7,7,7,7,8,8,9,9,11,11,11,7,7,8,8,8,8,9,9,11,11,11,11,11,8,8,8,8,8,9,11,11,11,11,11,8,8,8,8,8,8,11,11,11,11,11,7,7,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,6,7,10,10,10,10,10,9,4,6,6,10,10,10,10,9,10,5,10,10,9,11,12,10,11,12,7,10,10,11,12,12,12,12,12,7,10,10,11,12,12,12,12,12,6,10,10,10,12,12,11,12,12,7,10,10,12,12,12,12,11,12,7,10,10,11,12,12,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,8,8,8,8,9,9,10,10,11,11,0,4,4,6,6,7,7,8,8,9,9,10,10,11,11,12,12,0,4,4,6,6,7,7,8,8,9,9,10,10,11,11,12,12,0,5,5,6,6,8,8,9,9,9,9,10,10,11,12,12,12,0,0,0,6,6,8,7,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,13,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,12,13,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,4,5,5,7,7,9,9,0,4,4,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,5,5,6,6,8,8,10,10,0,0,0,6,6,8,8,10,10,0,0,0,7,7,9,9,10,10,0,0,0,7,7,8,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,0,5,5,8,8,0,5,5,8,8,0,7,7,9,9,0,0,0,9,9,5,7,7,9,9,0,8,8,10,10,0,8,7,10,9,0,10,10,11,11,0,0,0,11,11,5,7,7,9,9,0,8,8,10,10,0,7,8,9,10,0,10,10,11,11,0,0,0,11,11,8,9,9,11,10,0,11,11,12,12,0,11,10,12,12,0,13,14,14,14,0,0,0,14,13,8,9,9,10,11,0,11,11,12,12,0,10,11,12,12,0,13,13,14,14,0,0,0,13,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,11,10,0,7,7,10,10,0,7,7,10,10,0,9,9,11,10,0,0,0,11,11,5,7,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,11,11,8,10,9,12,12,0,10,10,12,12,0,10,10,12,12,0,12,12,13,13,0,0,0,13,13,8,9,10,12,12,0,10,10,12,12,0,10,10,11,12,0,12,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,11,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,11,10,5,8,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,11,10,0,0,0,10,11,9,10,10,12,12,0,10,10,12,12,0,10,10,12,12,0,12,13,13,13,0,0,0,13,12,9,10,10,12,12,0,10,10,12,12,0,10,10,12,12,0,13,12,13,13,0,0,0,12,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,14,13,0,9,9,12,12,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,7,10,10,13,14,0,9,9,12,13,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,9,11,11,14,13,0,11,10,13,12,0,11,11,13,13,0,12,12,13,13,0,0,0,13,13,9,11,11,13,14,0,10,11,12,13,0,11,11,13,13,0,12,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,11,14,14,0,10,11,13,13,0,11,10,13,13,0,12,12,13,13,0,0,0,13,12,9,11,11,14,14,0,11,10,13,13,0,10,11,13,13,0,12,12,14,13,0,0,0,13,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,5,5,0,5,5,5,8,7,0,9,9,0,9,8,5,7,8,0,9,9,0,8,9,0,0,0,0,0,0,0,0,0,5,9,9,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,0,0,5,9,9,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,11,12,14,15,15,17,17,18,18,5,6,6,8,9,10,13,17,18,19,7,5,4,6,8,9,11,15,19,19,8,6,5,5,6,7,11,14,16,17,9,7,7,6,7,7,10,13,15,19,10,8,7,6,7,6,7,9,14,16,12,10,9,7,7,6,4,5,10,15,14,13,11,7,6,6,4,2,7,13,16,16,15,9,8,8,8,6,9,13,19,19,17,12,11,10,10,9,11,14,0,0,0,0,2,0,0,0,100,0,0,0,160,253,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,236,2,0,0,0,0,0,0,0,0,0,0,0,0,0,168,236,2,0,0,0,0,0,0,0,0,0,0,0,0,0,208,236,2,0,0,0,0,0,0,0,0,0,0,0,0,0,248,236,2,0,0,0,0,0,32,237,2,0,72,237,2,0,0,0,0,0,0,0,0,0,112,237,2,0,152,237,2,0,0,0,0,0,0,0,0,0,192,237,2,0,232,237,2,0,0,0,0,0,0,0,0,0,16,238,2,0,56,238,2,0,0,0,0,0,0,0,0,0,96,238,2,0,136,238,2,0,176,238,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,24,236,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,11,13,14,14,13,13,16,14,6,3,4,7,9,9,10,11,14,13,10,4,3,5,7,7,9,10,13,15,12,7,4,4,6,6,8,10,13,15,12,8,6,6,6,6,8,10,13,14,11,9,7,6,6,6,7,8,12,11,13,10,9,8,7,6,6,7,11,11,13,11,10,9,9,7,7,6,10,11,13,13,13,13,13,11,9,8,10,12,12,15,15,16,15,12,11,10,10,12,0,0,0,0,4,0,0,0,81,0,0,0,56,253,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,144,253,2,0,0,0,0,0,4,0,0,0,113,2,0,0,168,250,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,32,253,2,0,0,0,0,0,2,0,0,0,81,0,0,0,40,250,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,250,2,0,0,0,0,0,2,0,0,0,33,1,0,0,184,248,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,249,2,0,0,0,0,0,4,0,0,0,81,0,0,0,80,248,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,168,248,2,0,0,0,0,0,2,0,0,0,121,0,0,0,160,247,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,32,248,2,0,0,0,0,0,2,0,0,0,169,0,0,0,184,246,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,104,247,2,0,0,0,0,0,2,0,0,0,25,0,0,0,128,246,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,246,2,0,0,0,0,0,2,0,0,0,169,0,0,0,152,245,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,72,246,2,0,0,0,0,0,2,0,0,0,121,0,0,0,232,244,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,104,245,2,0,0,0,0,0,2,0,0,0,225,0,0,0,192,243,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,168,244,2,0,0,0,0,0,2,0,0,0,185,1,0,0,168,241,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,104,243,2,0,0,0,0,0,2,0,0,0,169,0,0,0,192,240,2,0,1,0,0,0,0,220,125,225,0,232,51,97,4,0,0,0,0,0,0,0,112,241,2,0,0,0,0,0,2,0,0,0,169,0,0,0,216,239,2,0,1,0,0,0,0,96,18,225,0,128,184,96,4,0,0,0,0,0,0,0,136,240,2,0,0,0,0,0,1,0,0,0,49,0,0,0,216,238,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,16,239,2,0,0,0,0,0,2,4,3,4,5,5,5,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,6,8,8,8,8,6,6,6,8,8,8,8,8,7,9,8,10,10,5,6,6,8,8,9,9,8,8,10,10,10,10,16,9,9,9,9,9,9,9,8,10,9,11,11,16,8,9,9,9,9,9,9,9,10,10,11,11,16,13,13,9,9,10,9,9,10,11,11,11,12,16,13,14,9,8,10,8,9,9,10,10,12,11,16,14,16,9,9,9,9,11,11,12,11,12,11,16,16,16,9,7,9,6,11,11,11,10,11,11,16,16,16,11,12,9,10,11,11,12,11,13,13,16,16,16,12,11,10,7,12,10,12,12,12,12,16,16,15,16,16,10,11,10,11,13,13,14,12,16,16,16,15,15,12,10,11,11,13,11,12,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,11,11,11,11,11,11,11,11,11,11,4,7,7,11,11,11,11,11,11,11,11,11,11,5,8,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,6,6,7,7,7,7,8,7,8,8,8,8,8,8,8,8,8,8,10,6,6,7,7,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,8,8,9,8,9,9,9,9,9,9,9,9,10,7,7,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,10,11,11,8,7,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,9,11,11,11,11,11,9,9,9,9,9,9,10,9,9,10,9,10,9,9,10,9,11,11,11,11,11,9,9,9,9,9,9,9,10,10,10,10,9,10,10,9,10,11,11,11,11,11,9,9,9,9,10,10,10,9,10,10,10,10,9,10,10,9,11,11,11,11,11,11,11,9,9,9,9,10,10,10,10,9,10,10,10,10,10,11,11,11,11,11,11,11,10,9,10,10,10,10,10,10,10,9,10,9,10,10,11,11,11,11,11,11,11,10,9,10,9,10,10,9,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,9,10,10,10,10,10,9,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,9,10,10,11,11,11,11,11,11,11,11,11,10,10,10,9,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,10,11,9,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,7,7,8,7,9,8,10,9,6,5,5,8,8,9,9,8,8,9,9,11,10,11,10,6,5,5,8,8,9,9,8,8,9,9,10,10,11,11,18,8,8,9,8,10,10,9,9,10,10,10,10,11,10,18,8,8,9,9,10,10,9,9,10,10,11,11,12,12,18,12,13,9,10,10,10,9,10,10,10,11,11,12,11,18,13,13,9,9,10,10,10,10,10,10,11,11,12,12,18,18,18,10,10,9,9,11,11,11,11,11,12,12,12,18,18,18,10,9,10,9,11,10,11,11,11,11,13,12,18,18,18,14,13,10,10,11,11,12,12,12,12,12,12,18,18,18,14,13,10,10,11,10,12,12,12,12,12,12,18,18,18,18,18,12,12,11,11,12,12,13,13,13,14,18,18,18,18,18,12,12,11,11,12,11,13,13,14,13,18,18,18,18,18,16,16,11,12,12,13,13,13,14,13,18,18,18,18,18,16,15,12,11,12,11,13,11,15,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,3,5,5,6,6,7,7,7,7,7,7,9,5,5,6,6,7,7,7,7,8,7,8,5,5,6,6,7,7,7,7,7,7,9,6,6,7,7,7,7,8,7,7,8,9,9,9,7,7,7,7,7,7,7,8,9,9,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,7,7,8,8,9,9,9,8,8,8,8,7,7,8,8,9,9,9,9,8,8,8,7,7,8,8,9,9,9,8,8,8,8,7,7,8,8,9,9,9,8,8,7,7,7,7,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,8,8,10,10,11,10,6,5,5,7,7,8,8,9,9,10,10,12,11,6,5,5,7,7,8,8,9,9,10,10,12,11,21,7,7,7,7,9,9,10,10,11,11,12,12,21,7,7,7,7,9,9,10,10,11,11,12,12,21,12,12,9,9,10,10,11,11,11,11,12,12,21,12,12,9,9,10,10,11,11,12,12,12,12,21,21,21,11,11,10,10,11,12,12,12,13,13,21,21,21,11,11,10,10,12,12,12,12,13,13,21,21,21,15,15,11,11,12,12,13,13,13,13,21,21,21,15,16,11,11,12,12,13,13,14,14,21,21,21,21,20,13,13,13,13,13,13,14,14,20,20,20,20,20,13,13,13,13,13,13,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,4,4,5,5,5,4,4,5,5,5,4,4,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,8,8,10,9,10,10,6,5,5,7,7,9,9,9,9,10,10,11,11,6,5,5,7,7,9,9,10,9,11,10,11,11,0,6,6,7,7,9,9,10,10,11,11,12,12,0,7,7,7,7,9,9,10,10,11,11,12,12,0,11,11,8,8,10,10,11,11,12,12,12,12,0,11,12,9,8,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,4,6,6,7,7,8,8,8,8,11,4,4,6,6,7,7,8,8,8,8,11,4,4,6,6,7,7,8,8,8,8,11,6,6,6,6,8,8,8,8,9,9,11,11,11,6,6,7,8,8,8,8,9,11,11,11,7,7,8,8,8,8,8,8,11,11,11,7,7,8,8,8,8,8,8,11,11,11,8,8,8,8,8,8,8,8,11,11,11,10,10,8,8,8,8,8,8,11,11,11,10,10,8,8,8,8,8,8,11,11,11,10,10,7,7,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,6,6,9,9,10,10,10,9,4,6,6,9,10,9,10,9,10,6,9,9,10,12,11,10,11,11,7,10,9,11,12,12,12,12,12,7,10,10,11,12,12,12,12,12,6,10,10,10,12,12,11,12,12,7,9,10,11,12,12,12,12,12,7,10,9,12,12,12,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,9,9,9,10,10,10,0,4,4,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,4,4,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,7,7,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,3,4,6,6,7,7,9,9,0,4,4,6,6,7,7,9,10,0,4,4,6,6,7,7,10,9,0,5,5,7,7,8,8,10,10,0,0,0,7,6,8,8,10,10,0,0,0,7,7,9,9,11,11,0,0,0,7,7,9,9,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,0,5,5,8,8,0,5,5,8,8,0,7,7,9,9,0,0,0,9,9,5,7,7,9,9,0,8,8,10,10,0,8,7,10,9,0,10,10,11,11,0,0,0,11,11,5,7,7,9,9,0,8,8,10,10,0,7,8,9,10,0,10,10,11,11,0,0,0,11,11,8,9,9,11,11,0,11,11,12,12,0,11,10,12,12,0,13,14,14,14,0,0,0,14,13,8,9,9,11,11,0,11,11,12,12,0,10,11,12,12,0,14,13,14,14,0,0,0,13,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,11,10,0,7,7,10,10,0,7,7,10,10,0,9,9,11,10,0,0,0,11,11,5,7,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,11,11,8,10,9,12,12,0,10,10,12,12,0,10,10,12,12,0,12,12,13,13,0,0,0,13,13,8,9,10,12,12,0,10,10,11,12,0,10,10,12,12,0,12,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,11,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,11,10,5,8,8,11,11,0,7,7,10,10,0,7,7,10,10,0,9,9,11,11,0,0,0,10,11,8,10,10,12,12,0,10,10,12,12,0,10,10,12,12,0,12,13,13,13,0,0,0,14,13,8,10,10,12,12,0,10,10,12,12,0,10,10,12,12,0,13,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,14,13,0,9,9,13,12,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,7,10,10,13,14,0,9,9,12,13,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,9,11,11,14,13,0,11,10,14,13,0,11,11,13,13,0,12,12,13,13,0,0,0,13,13,9,11,11,13,14,0,10,11,13,14,0,11,11,13,13,0,12,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,11,14,14,0,11,11,13,13,0,11,10,13,13,0,12,12,13,13],"i8",N3,x.GLOBAL_BASE+185588),E3([13,13,9,11,11,14,14,0,11,11,13,13,0,10,11,13,13,0,12,12,14,13,0,0,0,13,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,5,5,0,5,5,5,8,7,0,9,9,0,9,8,5,7,8,0,9,9,0,8,9,0,0,0,0,0,0,0,0,0,5,9,8,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,0,0,5,9,9,0,8,8,0,8,8,5,9,9,0,8,8,0,8,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,9,11,11,13,14,19,17,17,19,5,4,5,8,10,10,13,16,18,19,7,4,4,5,8,9,12,14,17,19,8,6,5,5,7,7,10,13,16,18,10,8,7,6,5,5,8,11,17,19,11,9,7,7,5,4,5,8,17,19,13,11,8,7,7,5,5,7,16,18,14,13,8,6,6,5,5,7,16,18,18,16,10,8,8,7,7,9,16,18,18,18,12,10,10,9,9,10,17,18,0,0,0,0,2,0,0,0,100,0,0,0,184,41,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,168,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,208,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,248,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,72,0,3,0,0,0,0,0,112,0,3,0,152,0,3,0,0,0,0,0,0,0,0,0,192,0,3,0,232,0,3,0,0,0,0,0,0,0,0,0,16,1,3,0,56,1,3,0,96,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,24,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,9,13,10,12,12,12,12,12,6,4,6,8,6,8,10,10,11,12,8,5,4,10,4,7,8,9,10,11,13,8,10,8,9,9,11,12,13,14,10,6,4,9,3,5,6,8,10,11,11,8,6,9,5,5,6,7,9,11,12,9,7,11,6,6,6,7,8,10,12,11,9,12,7,7,6,6,7,9,13,12,10,13,9,8,7,7,7,8,11,15,11,15,11,10,9,8,7,7,0,0,0,0,8,0,0,0,161,25,0,0,0,16,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,41,3,0,0,0,0,0,4,0,0,0,113,2,0,0,112,13,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,15,3,0,0,0,0,0,4,0,0,0,113,2,0,0,224,10,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,13,3,0,0,0,0,0,2,0,0,0,81,0,0,0,96,10,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,184,10,3,0,0,0,0,0,2,0,0,0,81,0,0,0,224,9,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,56,10,3,0,0,0,0,0,2,0,0,0,33,1,0,0,112,8,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,152,9,3,0,0,0,0,0,4,0,0,0,81,0,0,0,8,8,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,96,8,3,0,0,0,0,0,2,0,0,0,121,0,0,0,88,7,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,216,7,3,0,0,0,0,0,2,0,0,0,169,0,0,0,112,6,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,32,7,3,0,0,0,0,0,2,0,0,0,25,0,0,0,56,6,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,6,3,0,0,0,0,0,2,0,0,0,225,0,0,0,16,5,3,0,1,0,0,0,0,134,115,225,0,80,22,97,4,0,0,0,0,0,0,0,248,5,3,0,0,0,0,0,2,0,0,0,33,1,0,0,160,3,3,0,1,0,0,0,0,0,245,224,0,0,149,96,5,0,0,0,0,0,0,0,200,4,3,0,0,0,0,0,2,0,0,0,185,1,0,0,136,1,3,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,72,3,3,0,0,0,0,0,3,5,5,6,6,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,9,11,5,6,7,7,8,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,11,5,5,7,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,11,7,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,10,9,10,11,11,11,7,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,5,5,7,7,9,8,10,9,10,10,11,10,11,11,6,5,5,7,7,8,9,10,10,11,10,12,11,12,11,13,12,6,5,5,7,7,9,9,10,10,11,11,12,12,13,12,13,13,18,8,8,8,8,9,9,10,11,11,11,12,11,13,11,13,12,18,8,8,8,8,10,10,11,11,12,12,13,13,13,13,13,14,18,12,12,9,9,11,11,11,11,12,12,13,12,13,12,13,13,20,13,12,9,9,11,11,11,11,12,12,13,13,13,14,14,13,20,18,19,11,12,11,11,12,12,13,13,13,13,13,13,14,13,18,19,19,12,11,11,11,12,12,13,12,13,13,13,14,14,13,18,17,19,14,15,12,12,12,13,13,13,14,14,14,14,14,14,19,19,19,16,15,12,11,13,12,14,14,14,13,13,14,14,14,19,18,19,18,19,13,13,13,13,14,14,14,13,14,14,14,14,18,17,19,19,19,13,13,13,11,13,11,13,14,14,14,14,14,19,17,17,18,18,16,16,13,13,13,13,14,13,15,15,14,14,19,19,17,17,18,16,16,13,11,14,10,13,12,14,14,14,14,19,19,19,19,19,18,17,13,14,13,11,14,13,14,14,15,15,19,19,19,17,19,18,18,14,13,12,11,14,11,15,15,15,15,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,13,13,13,13,13,13,13,13,13,13,13,13,4,7,7,13,13,13,13,13,13,13,13,13,13,13,13,3,8,6,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,4,4,5,5,6,5,5,5,5,6,4,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,8,9,10,10,10,10,7,5,5,7,7,8,8,9,9,10,10,10,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,10,10,10,10,10,11,11,0,13,13,9,9,9,9,10,10,11,11,11,11,0,0,0,10,10,10,10,10,10,11,11,11,11,0,0,0,10,10,10,10,10,10,11,11,12,12,0,0,0,14,14,11,11,11,11,12,12,12,12,0,0,0,14,14,11,11,11,11,12,12,12,12,0,0,0,0,0,12,12,12,12,12,12,13,13,0,0,0,0,0,12,12,12,12,12,12,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,6,6,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,9,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,11,11,10,11,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,7,11,11,12,11,11,12,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,4,4,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,4,4,6,6,8,8,9,9,9,9,10,10,11,11,12,12,0,4,4,6,6,8,8,9,9,9,9,10,10,11,11,12,12,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,7,7,8,9,10,10,10,10,11,11,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,9,10,10,10,11,11,12,12,12,12,0,0,0,0,0,10,10,10,10,11,11,11,12,12,12,13,13,0,0,0,0,0,0,0,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,13,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,12,12,12,12,13,12,13,13,13,13,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,3,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,6,6,7,7,7,7,9,9,0,0,0,7,6,7,7,9,9,0,0,0,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,9,9,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,5,5,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,7,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,3,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,5,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,6,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,5,5,0,0,0,5,5,0,0,0,8,7,0,0,0,0,0,0,0,4,6,6,0,0,0,8,8,0,0,0,8,7,0,0,0,10,10,0,0,0,0,0,0,0,4,6,6,0,0,0,8,8,0,0,0,7,8,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,5,7,8,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,5,8,8,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,10,10,0,0,0,10,10,0,0,0,9,10,0,0,0,11,10,0,0,0,0,0,0,0,8,10,10,0,0,0,10,10,0,0,0,10,10,0,0,0,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,4,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,11,10],"i8",N3,x.GLOBAL_BASE+195830),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,8,10,14,11,11,12,16,15,17,5,5,7,9,7,8,10,13,17,17,7,5,5,10,5,7,8,11,13,15,10,8,10,8,8,8,11,15,18,18,8,5,5,8,3,4,6,10,14,16,9,7,6,7,4,3,5,9,14,18,10,9,8,10,6,5,6,9,14,18,12,12,11,12,8,7,8,11,14,18,14,13,12,10,7,5,6,9,14,18,14,14,13,10,6,5,6,8,11,16,0,0,0,0,2,0,0,0,100,0,0,0,72,85,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,192,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,232,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,16,44,3,0,0,0,0,0,0,0,0,0,0,0,0,0,56,44,3,0,0,0,0,0,0,0,0,0,0,0,0,0,96,44,3,0,0,0,0,0,136,44,3,0,176,44,3,0,0,0,0,0,0,0,0,0,216,44,3,0,0,45,3,0,0,0,0,0,0,0,0,0,40,45,3,0,80,45,3,0,120,45,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,48,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,11,11,11,11,10,11,12,11,5,2,11,5,6,6,7,9,11,12,11,9,6,10,6,7,8,9,10,11,11,5,11,7,8,8,9,11,13,14,11,6,5,8,4,5,7,8,10,11,10,6,7,7,5,5,6,8,9,11,10,7,8,9,6,6,6,7,8,9,11,9,9,11,7,7,6,6,7,9,12,12,10,13,9,8,7,7,7,8,11,13,11,14,11,10,9,8,7,7,0,0,0,0,8,0,0,0,161,25,0,0,144,59,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,56,85,3,0,0,0,0,0,4,0,0,0,113,2,0,0,0,57,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,59,3,0,0,0,0,0,4,0,0,0,113,2,0,0,112,54,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,56,3,0,0,0,0,0,2,0,0,0,81,0,0,0,240,53,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,72,54,3,0,0,0,0,0,2,0,0,0,81,0,0,0,112,53,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,200,53,3,0,0,0,0,0,2,0,0,0,33,1,0,0,0,52,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,40,53,3,0,0,0,0,0,4,0,0,0,81,0,0,0,152,51,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,240,51,3,0,0,0,0,0,2,0,0,0,121,0,0,0,232,50,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,104,51,3,0,0,0,0,0,2,0,0,0,169,0,0,0,0,50,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,176,50,3,0,0,0,0,0,2,0,0,0,25,0,0,0,200,49,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,49,3,0,0,0,0,0,2,0,0,0,169,0,0,0,224,48,3,0,1,0,0,0,0,136,93,225,0,176,19,97,4,0,0,0,0,0,0,0,144,49,3,0,0,0,0,0,2,0,0,0,225,0,0,0,184,47,3,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,160,48,3,0,0,0,0,0,2,0,0,0,185,1,0,0,160,45,3,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,96,47,3,0,0,0,0,0,2,5,5,6,6,7,7,7,7,8,8,8,8,8,8,8,8,9,9,9,9,11,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,10,11,6,6,7,7,8,8,8,8,9,9,9,9,9,9,10,9,10,10,10,10,11,7,7,7,7,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,12,11,11,7,7,8,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,12,11,12,8,8,8,8,9,9,9,9,9,10,10,10,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,12,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,12,11,11,11,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,12,12,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,12,11,12,11,11,11,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,12,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,12,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,12,11,11,12,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,12,12,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,12,12,12,11,11,11,12,11,11,11,10,10,10,10,10,10,10,10,10,10,10,12,11,12,12,12,12,12,11,12,11,11,10,10,10,10,10,10,10,10,10,10,12,12,12,12,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,5,5,7,7,9,8,10,9,10,10,10,10,6,5,5,7,7,9,8,10,9,11,10,12,12,13,13,6,5,5,7,7,9,9,10,10,11,11,12,12,12,13,19,8,8,8,8,9,9,10,10,12,11,12,12,13,13,19,8,8,8,8,9,9,11,11,12,12,13,13,13,13,19,12,12,9,9,11,11,11,11,12,11,13,12,13,13,18,12,12,9,9,11,10,11,11,12,12,12,13,13,14,19,18,18,11,11,11,11,12,12,13,12,13,13,14,14,16,18,18,11,11,11,10,12,11,13,13,13,13,13,14,17,18,18,14,15,11,12,12,13,13,13,13,14,14,14,18,18,18,15,15,12,10,13,10,13,13,13,13,13,14,18,17,18,17,18,12,13,12,13,13,13,14,14,16,14,18,17,18,18,17,13,12,13,10,12,12,14,14,14,14,17,18,18,18,18,14,15,12,12,13,12,14,14,15,15,18,18,18,17,18,15,14,12,11,12,12,14,14,14,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,3,12,12,12,12,12,12,12,12,12,12,4,7,7,12,12,12,12,12,12,12,12,12,12,3,8,8,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,5,6,5,5,5,5,6,5,4,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,8,8,9,10,11,11,7,5,5,7,7,8,8,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,9,10,10,10,10,11,11,0,13,13,9,9,10,9,10,10,11,11,11,12,0,0,0,10,10,10,10,10,10,11,11,12,12,0,0,0,10,10,10,10,10,10,11,11,12,12,0,0,0,14,14,11,11,11,11,12,12,12,12,0,0,0,14,14,11,11,11,11,12,12,12,13,0,0,0,0,0,12,12,12,12,12,12,13,13,0,0,0,0,0,13,12,12,12,12,12,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,6,6,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,9,8,10,10,10,10,10,8,8,8,8,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,11,11,10,11,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,7,11,11,12,11,11,12,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,4,4,6,6,8,8,9,9,8,8,9,9,10,10,11,11,0,4,4,6,6,8,8,9,9,9,9,10,10,11,11,11,11,0,4,4,7,6,8,8,9,9,9,9,10,10,11,11,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,9,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,9,9,10,10,11,11,11,12,12,12,0,0,0,0,0,10,10,10,10,11,11,11,11,12,12,13,12,0,0,0,0,0,0,0,10,10,11,11,11,11,12,12,12,12,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,12,12,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,0,0,12,12,12,12,12,13,13,13,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,3,3,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,4,5,6,6,7,7,9,9,0,6,6,7,7,8,8,10,10,0,0,0,7,7,8,8,10,9,0,0,0,9,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,10,10,9,9,11,11,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,5,5,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,8,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,0,0,0,5,5,0,0,0,5,5,0,0,0,7,7,0,0,0,0,0,0,0,5,6,6,0,0,0,7,7,0,0,0,7,7,0,0,0,10,10,0,0,0,0,0,0,0,5,6,6,0,0,0,7,7,0,0,0,7,7,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,5,7,8,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,9,9,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,8,10,10,0,0,0,9,9,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,5,6,6,0,0,0,0,0,0,5,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,6,8,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9],"i8",N3,x.GLOBAL_BASE+207264),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,14,10,15,10,12,15,16,15,4,2,11,5,10,6,8,11,14,14,14,10,7,11,6,8,10,11,13,15,9,4,11,5,9,6,9,12,14,15,14,9,6,9,4,5,7,10,12,13,9,5,7,6,5,5,7,10,13,13,10,8,9,8,7,6,8,10,14,14,13,11,10,10,7,7,8,11,14,15,13,12,9,9,6,5,7,10,14,17,15,13,11,10,6,6,7,9,12,17,0,0,0,0,2,0,0,0,100,0,0,0,48,128,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,80,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,120,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,160,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,200,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,240,87,3,0,0,0,0,0,24,88,3,0,64,88,3,0,0,0,0,0,0,0,0,0,104,88,3,0,144,88,3,0,0,0,0,0,0,0,0,0,184,88,3,0,224,88,3,0,8,89,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,192,86,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,6,11,11,11,11,10,10,12,11,5,2,11,5,6,6,7,9,11,13,13,10,7,11,6,7,8,9,10,12,11,5,11,6,8,7,9,11,14,15,11,6,6,8,4,5,7,8,10,13,10,5,7,7,5,5,6,8,10,11,10,7,7,8,6,5,5,7,9,9,11,8,8,11,8,7,6,6,7,9,12,11,10,13,9,9,7,7,7,9,11,13,12,15,12,11,9,8,8,8,0,0,0,0,8,0,0,0,161,25,0,0,120,102,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,32,128,3,0,0,0,0,0,4,0,0,0,113,2,0,0,232,99,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,96,102,3,0,0,0,0,0,4,0,0,0,113,2,0,0,88,97,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,99,3,0,0,0,0,0,2,0,0,0,81,0,0,0,216,96,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,48,97,3,0,0,0,0,0,2,0,0,0,81,0,0,0,88,96,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,176,96,3,0,0,0,0,0,2,0,0,0,33,1,0,0,232,94,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,16,96,3,0,0,0,0,0,4,0,0,0,81,0,0,0,128,94,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,216,94,3,0,0,0,0,0,2,0,0,0,121,0,0,0,208,93,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,80,94,3,0,0,0,0,0,2,0,0,0,169,0,0,0,232,92,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,152,93,3,0,0,0,0,0,2,0,0,0,25,0,0,0,176,92,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,92,3,0,0,0,0,0,2,0,0,0,169,0,0,0,200,91,3,0,1,0,0,0,0,232,87,225,0,224,255,96,4,0,0,0,0,0,0,0,120,92,3,0,0,0,0,0,2,0,0,0,225,0,0,0,160,90,3,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,136,91,3,0,0,0,0,0,2,0,0,0,33,1,0,0,48,89,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,88,90,3,0,0,0,0,0,2,5,5,6,6,7,7,7,7,7,7,8,8,8,8,8,8,10,6,6,7,7,8,7,8,8,8,8,8,9,9,9,9,9,10,6,6,7,7,7,7,8,8,8,8,9,9,9,9,9,9,10,7,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,8,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,8,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,10,11,11,11,9,9,9,9,9,9,10,10,9,9,10,9,11,10,11,11,11,9,9,9,9,9,9,9,9,10,10,10,9,11,11,11,11,11,9,9,9,9,10,10,9,9,9,9,10,9,11,11,11,11,11,11,11,9,9,9,9,9,9,10,10,10,10,11,11,11,11,11,11,11,10,9,10,10,9,10,9,9,10,9,11,10,10,11,11,11,11,9,10,9,9,9,9,10,10,10,10,11,11,11,11,11,11,10,10,10,9,9,10,9,10,9,10,10,10,10,11,11,11,11,11,11,11,9,9,9,9,9,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,7,9,9,10,10,10,10,6,5,5,7,7,8,8,10,8,11,10,12,12,13,13,6,5,5,7,7,8,8,10,9,11,11,12,12,13,12,18,8,8,8,8,9,9,10,9,11,10,12,12,13,13,18,8,8,8,8,9,9,10,10,11,11,13,12,14,13,18,11,11,9,9,10,10,11,11,11,12,13,12,13,14,18,11,11,9,8,11,10,11,11,11,11,12,12,14,13,18,18,18,10,11,10,11,12,12,12,12,13,12,14,13,18,18,18,10,11,11,9,12,11,12,12,12,13,13,13,18,18,17,14,14,11,11,12,12,13,12,14,12,14,13,18,18,18,14,14,11,10,12,9,12,13,13,13,13,13,18,18,17,16,18,13,13,12,12,13,11,14,12,14,14,17,18,18,17,18,13,12,13,10,12,11,14,14,14,14,17,18,18,18,18,15,16,12,12,13,10,14,12,14,15,18,18,18,16,17,16,14,12,11,13,10,13,13,14,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,4,4,12,12,12,12,12,12,12,12,12,12,4,9,8,12,12,12,12,12,12,12,12,12,12,2,9,7,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,5,6,5,5,5,5,6,4,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,8,8,9,9,10,10,7,5,5,7,7,8,8,8,8,9,9,11,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,12,0,13,13,9,9,10,10,10,10,11,11,12,12,0,0,0,10,10,10,10,11,11,12,12,12,12,0,0,0,10,10,10,10,11,11,12,12,12,12,0,0,0,14,14,11,11,11,11,12,12,13,13,0,0,0,14,14,11,11,11,11,12,12,13,13,0,0,0,0,0,12,12,12,12,13,13,14,13,0,0,0,0,0,13,13,12,12,13,12,14,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,6,6,7,7,8,8,8,8,8,8,10,10,10,7,7,8,7,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,7,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,9,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,11,11,10,12,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,7,11,11,11,11,11,12,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,6,6,7,7,8,8,8,8,9,9,10,10,11,10,0,5,5,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,5,5,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,10,11,11,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,8,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,8,8,9,9,10,10,11,11,12,11,12,12,0,0,0,0,0,9,10,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,0,0,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,4,6,6,7,7,9,9,0,5,5,7,7,7,8,9,9,0,5,5,7,7,8,8,9,9,0,7,7,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,9,9,9,9,10,10,0,0,0,9,9,9,9,10,10,0,0,0,10,10,10,10,11,11,0,0,0,0,0,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,5,5,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,8,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,3,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,0,0,0,5,5,0,0,0,5,5,0,0,0,7,8,0,0,0,0,0,0,0,5,6,6,0,0,0,7,7,0,0,0,7,7,0,0,0,10,10,0,0,0,0,0,0,0,5,6,6,0,0,0,7,7,0,0,0,7,7,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,10,10,0,0,0,9,9,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,8,10,10,0,0,0,9,9,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,5,6,6,0,0,0,0,0,0,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,6,7,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,6,8,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,8,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,8],"i8",N3,x.GLOBAL_BASE+218416),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,10,9,13,11,14,10,12,13,13,14,7,2,12,5,10,5,7,10,12,14,12,6,9,8,7,7,9,11,13,16,10,4,12,5,10,6,8,12,14,16,12,6,8,7,6,5,7,11,12,16,10,4,8,5,6,4,6,9,13,16,10,6,10,7,7,6,7,9,13,15,12,9,11,9,8,6,7,10,12,14,14,11,10,9,6,5,6,9,11,13,15,13,11,10,6,5,6,8,9,11,0,0,0,0,2,0,0,0,100,0,0,0,216,170,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,56,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,96,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,136,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,176,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,216,130,3,0,0,0,0,0,0,131,3,0,40,131,3,0,0,0,0,0,0,0,0,0,80,131,3,0,120,131,3,0,0,0,0,0,0,0,0,0,160,131,3,0,200,131,3,0,240,131,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,168,129,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,12,10,10,10,9,10,12,12,6,1,10,5,6,6,7,9,11,14,12,9,8,11,7,8,9,11,13,15,10,5,12,7,8,7,9,12,14,15,10,6,7,8,5,6,7,9,12,14,9,6,8,7,6,6,7,9,12,12,9,7,9,9,7,6,6,7,10,10,10,9,10,11,8,7,6,6,8,10,12,11,13,13,11,10,8,8,8,10,11,13,15,15,14,13,10,8,8,9,0,0,0,0,8,0,0,0,161,25,0,0,32,145,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,200,170,3,0,0,0,0,0,4,0,0,0,113,2,0,0,144,142,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,8,145,3,0,0,0,0,0,4,0,0,0,113,2,0,0,0,140,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,142,3,0,0,0,0,0,2,0,0,0,81,0,0,0,128,139,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,216,139,3,0,0,0,0,0,2,0,0,0,81,0,0,0,0,139,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,88,139,3,0,0,0,0,0,2,0,0,0,33,1,0,0,144,137,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,184,138,3,0,0,0,0,0,4,0,0,0,81,0,0,0,40,137,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,128,137,3,0,0,0,0,0,2,0,0,0,121,0,0,0,120,136,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,248,136,3,0,0,0,0,0,2,0,0,0,169,0,0,0,144,135,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,64,136,3,0,0,0,0,0,2,0,0,0,25,0,0,0,88,135,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,135,3,0,0,0,0,0,2,0,0,0,169,0,0,0,112,134,3,0,1,0,0,0,0,184,84,225,0,160,251,96,4,0,0,0,0,0,0,0,32,135,3,0,0,0,0,0,2,0,0,0,169,0,0,0,136,133,3,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,56,134,3,0,0,0,0,0,2,0,0,0,33,1,0,0,24,132,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,64,133,3,0,0,0,0,0,2,4,4,6,6,7,7,7,7,7,7,8,8,8,8,8,8,10,7,7,7,7,7,7,8,8,8,8,9,9,9,9,9,9,10,7,7,7,7,8,8,8,8,8,8,9,9,9,9,9,9,10,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,8,7,8,8,8,8,9,9,9,9,9,9,9,9,10,11,11,8,8,8,8,9,9,9,9,9,9,10,9,9,9,10,11,10,8,8,8,8,9,9,9,9,9,9,9,10,10,10,10,11,10,8,8,9,9,9,9,9,9,10,9,9,10,9,10,11,10,11,11,11,8,8,9,9,9,9,9,9,9,9,10,10,11,11,11,11,11,9,9,9,9,9,9,10,9,9,9,10,10,11,11,11,11,11,9,9,9,9,9,9,9,9,9,10,9,10,11,11,11,11,11,9,9,9,9,10,10,9,9,9,10,10,10,11,11,11,11,11,11,11,9,9,9,10,9,9,10,10,10,10,11,11,10,11,11,11,11,10,9,10,10,9,9,9,9,10,10,11,10,11,11,11,11,11,9,9,9,9,10,9,10,10,10,10,11,10,11,11,11,11,11,10,10,9,9,10,9,10,10,10,10,10,10,10,11,11,11,11,11,11,9,9,10,9,10,9,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,6,8,8,10,9,10,10,6,5,5,7,7,8,7,10,9,11,11,12,13,6,5,5,7,7,8,8,10,10,11,11,13,13,18,8,8,8,8,9,9,10,10,12,12,12,13,18,8,8,8,8,9,9,10,10,12,12,13,13,18,11,11,8,8,10,10,11,11,12,11,13,12,18,11,11,9,7,10,10,11,11,11,12,12,13,17,17,17,10,10,11,11,12,12,12,10,12,12,17,17,17,11,10,11,10,13,12,11,12,12,12,17,17,17,15,14,11,11,12,11,13,10,13,12,17,17,17,14,14,12,10,11,11,13,13,13,13,17,17,16,17,16,13,13,12,10,13,10,14,13,17,16,17,16,17,13,12,12,10,13,11,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,5,4,12,12,12,12,12,12,12,12,12,12,4,9,8,11,11,11,11,11,11,11,11,11,11,2,8,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,4,6,5,5,5,5,6,5,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,6,5,5,7,7,8,8,8,8,9,9,10,10,7,6,5,7,7,8,8,8,8,9,9,10,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,11,0,13,13,9,9,10,10,10,10,11,11,12,12,0,0,0,10,10,10,10,11,11,12,12,12,13,0,0,0,10,10,10,10,11,11,12,12,12,12,0,0,0,14,14,10,11,11,11,12,12,13,13,0,0,0,14,14,11,10,11,11,13,12,13,13,0,0,0,0,0,12,12,11,12,13,12,14,14,0,0,0,0,0,12,12,12,12,13,12,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,4,6,6,7,7,7,7,7,7,9,7,7,6,6,7,7,8,8,8,8,9,6,6,6,6,7,7,8,8,8,8,10,7,7,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,10,9,9,7,10,10,11,10,11,11,10,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,10,11,11,11,12,11,11,6,9,9,11,10,10,11,11,10,6,9,9,11,10,10,12,10,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,6,6,8,8,9,9,9,9,9,9,10,10,11,11,0,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,11,0,7,7,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,8,8,7,7,9,9,10,10,9,9,10,10,11,11,12,12,0,0,0,7,7,9,9,10,10,10,9,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,10,10,10,10,11,11,12,12,13,12,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,7,7,9,9,0,7,7,7,7,7,7,9,9,0,7,7,7,7,7,7,9,9,0,8,8,7,7,8,8,10,10,0,0,0,7,7,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,10,10,9,9,11,11,0,0,0,0,0,9,9,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,3,6,6,0,0,0,0,0,6,6,6,6,0,0,0,0,0,6,6,6,6,0,0,0,0,0,7,7,6,6,0,0,0,0,0,0,0,6,7,0,0,0,0,0,0,0,7,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,3,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,0,0,0,7,7,0,0,0,7,7,0,0,0,8,8,0,0,0,0,0,0,0,4,6,6,0,0,0,8,8,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,4,6,6,0,0,0,8,8,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,11,11,0,0,0,11,11,0,0,0,12,11,0,0,0,0,0,0,0,7,8,8,0,0,0,10,11,0,0,0,11,11,0,0,0,11,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,11,11,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,6,8,8,0,0,0,10,11,0,0,0,10,11,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,9,0,0,0,11,12,0,0,0,11,12,0,0,0,12,11,0,0,0,0,0,0,0,8,10,9,0,0,0,12,11,0,0,0,12,11,0,0,0,11,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,5,6,6,0,0,0,0,0,0,5,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,6,8,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9],"i8",N3,x.GLOBAL_BASE+229400),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,11,9,13,12,12,11,12,12,13,15,8,2,11,4,8,5,7,10,12,15,13,7,10,9,8,8,10,13,17,17,11,4,12,5,9,5,8,11,14,16,12,6,8,7,6,6,8,11,13,16,11,4,9,5,6,4,6,10,13,16,11,6,11,7,7,6,7,10,13,15,13,9,12,9,8,6,8,10,12,14,14,10,10,8,6,5,6,9,11,13,15,11,11,9,6,5,6,8,9,12,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,9,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,x.GLOBAL_BASE+240320),E3([1,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,231,3,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,160,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,72,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,223,3,0,0,0,0,0,0,0,0,0,0,0,0,0,96,223,3,0,0,0,0,0,0,0,0,0,0,0,0,0,136,223,3,0,0,0,0,0,0,0,0,0,0,0,0,0,176,223,3,0,0,0,0,0,0,0,0,0,0,0,0,0,216,223,3,0,0,0,0,0,0,224,3,0,40,224,3,0,0,0,0,0,0,0,0,0,80,224,3,0,120,224,3,0,0,0,0,0,0,0,0,0,160,224,3,0,200,224,3,0,240,224,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,185,3,0,0,0,0,0,0,0,0,0,0,0,0,0,80,185,3,0,0,0,0,0,0,0,0,0,0,0,0,0,120,185,3,0,0,0,0,0,0,0,0,0,0,0,0,0,160,185,3,0,0,0,0,0,0,0,0,0,0,0,0,0,200,185,3,0,0,0,0,0,240,185,3,0,24,186,3,0,0,0,0,0,0,0,0,0,64,186,3,0,104,186,3,0,0,0,0,0,0,0,0,0,144,186,3,0,184,186,3,0,224,186,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,208,184,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,120,184,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,4,8,10,9,9,10,11,12,4,2,5,6,6,8,10,11,13,8,4,6,8,7,9,12,12,14,10,6,8,4,5,6,9,11,12,9,5,6,5,5,6,9,11,11,9,7,9,6,5,5,7,10,10,10,9,11,8,7,6,7,9,11,11,12,13,10,10,9,8,9,11,11,15,15,12,13,11,9,10,11,0,0,0,0,0,0,0,5,5,9,10,9,9,10,11,12,5,1,5,6,6,7,10,12,14,9,5,6,8,8,10,12,14,14,10,5,8,5,6,8,11,13,14,9,5,7,6,6,8,10,12,11,9,7,9,7,6,6,7,10,10,10,9,12,9,8,7,7,10,12,11,11,13,12,10,9,8,9,11,11,14,15,15,13,11,9,9,11,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,128,197,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,40,223,3,0,0,0,0,0,4,0,0,0,113,2,0,0,240,194,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,104,197,3,0,0,0,0,0,2,0,0,0,81,0,0,0,112,194,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,200,194,3,0,0,0,0,0,2,0,0,0,81,0,0,0,240,193,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,72,194,3,0,0,0,0,0,2,0,0,0,33,1,0,0,128,192,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,168,193,3,0,0,0,0,0,4,0,0,0,81,0,0,0,24,192,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,112,192,3,0,0,0,0,0,2,0,0,0,121,0,0,0,104,191,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,232,191,3,0,0,0,0,0,2,0,0,0,169,0,0,0,128,190,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,48,191,3,0,0,0,0,0,2,0,0,0,25,0,0,0,72,190,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,104,190,3,0,0,0,0,0,2,0,0,0,169,0,0,0,96,189,3,0,1,0,0,0,0,184,84,225,0,160,251,96,4,0,0,0,0,0,0,0,16,190,3,0,0,0,0,0,2,0,0,0,169,0,0,0,120,188,3,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,40,189,3,0,0,0,0,0,2,0,0,0,33,1,0,0,8,187,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,48,188,3,0,0,0,0,0,2,5,5,6,6,7,6,7,7,8,8,8,8,8,8,8,8,10,6,6,7,7,7,7,8,8,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,7,7,7,7,8,8,8,9,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,9,9,9,9,9,9,9,9,9,9,10,11,11,8,8,8,8,9,9,9,9,9,9,10,10,9,10,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,10,10,11,10,10,8,8,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,11,11,8,8,9,9,9,9,9,9,9,9,9,9,11,11,11,11,11,9,9,9,9,9,9,9,9,10,9,10,9,11,11,11,11,11,9,8,9,9,9,9,9,9,9,10,10,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,10,10,9,11,11,11,11,11,11,11,9,9,10,9,9,9,9,10,9,10,10,11,10,11,11,11,11,9,10,10,10,9,9,9,9,9,9,10,11,11,11,11,11,11,9,9,9,9,9,9,9,9,10,9,11,11,10,11,11,11,11,10,10,9,9,9,9,9,9,10,9,10,11,10,11,11,11,11,11,11,9,9,10,9,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,9,9,10,11,12,12,6,5,5,7,7,8,7,10,10,11,11,12,12,6,5,5,7,7,8,8,10,10,11,11,12,12,16,7,7,8,8,9,9,11,11,12,12,13,13,17,7,7,8,7,9,9,11,10,12,12,13,13,19,11,10,8,8,10,10,11,11,12,12,13,13,19,11,11,9,7,11,10,11,11,12,12,13,12,19,19,19,10,10,10,10,11,12,12,12,13,14,18,19,19,11,9,11,9,13,12,12,12,13,13,19,20,19,13,15,11,11,12,12,13,13,14,13,18,19,20,15,13,12,10,13,10,13,13,13,14,20,20,20,20,20,13,14,12,12,13,12,13,13,20,20,20,20,20,13,12,12,12,14,12,14,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,13,13,13,13,13,13,13,13,13,13,3,6,6,13,13,13,13,13,13,13,13,13,13,4,8,7,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,4,5,6,5,5,5,5,6,5,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,7,5,5,7,7,8,8,8,8,9,9,10,10,7,5,6,7,7,8,8,8,8,9,9,11,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,11,0,13,13,9,9,9,9,10,10,11,11,12,12,0,0,0,9,10,9,10,11,11,12,11,13,12,0,0,0,10,10,9,9,11,11,12,12,13,12,0,0,0,13,13,10,10,11,11,12,12,13,13,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,11,12,11,11,12,13,14,13,0,0,0,0,0,12,12,11,11,13,12,14,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,7,7,7,7,8,8,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,9,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,10,11,11,11,10,10,6,9,9,11,11,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,11,11,11,11,11,11,11,6,9,9,11,10,10,11,11,10,6,9,9,10,10,10,11,10,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,6,6,7,7,8,8,8,8,9,9,10,10,11,11,0,5,5,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,5,5,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,10,10,10,11,11,11,12,12,0,0,0,8,8,8,8,9,9,10,10,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,7,7,9,9,0,6,6,7,7,8,8,9,9,0,6,6,7,7,8,8,9,9,0,7,7,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,8,8,9,9,11,11,0,0,0,9,9,9,9,11,11,0,0,0,10,10,10,10,11,11,0,0,0,0,0,9,9,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,3,7,7,0,0,0,0,0,5,5,6,6,0,0,0,0,0,5,5,7,7,0,0,0,0,0,7,7,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,9,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,9,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,10,9],"i8",N3,x.GLOBAL_BASE+242772),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,144,235,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,56,5,4,0,0,0,0,0,4,0,0,0,113,2,0,0,0,233,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,235,3,0,0,0,0,0,2,0,0,0,81,0,0,0,128,232,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,216,232,3,0,0,0,0,0,2,0,0,0,81,0,0,0,0,232,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,88,232,3,0,0,0,0,0,2,0,0,0,33,1,0,0,144,230,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,184,231,3,0,0,0,0,0,4,0,0,0,81,0,0,0,40,230,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,128,230,3,0,0,0,0,0,2,0,0,0,121,0,0,0,120,229,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,248,229,3,0,0,0,0,0,2,0,0,0,169,0,0,0,144,228,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,64,229,3,0,0,0,0,0,2,0,0,0,25,0,0,0,88,228,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,228,3,0,0,0,0,0,2,0,0,0,169,0,0,0,112,227,3,0,1,0,0,0,0,184,84,225,0,160,251,96,4,0,0,0,0,0,0,0,32,228,3,0,0,0,0,0,2,0,0,0,169,0,0,0,136,226,3,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,56,227,3,0,0,0,0,0,2,0,0,0,33,1,0,0,24,225,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,64,226,3,0,0,0,0,0,2,4,4,6,6,6,6,7,7,8,8,8,8,8,8,8,8,10,10,10,7,7,7,7,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,7,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,8,9,9,9,9,9,9,10,9,9,10,10,10,7,7,8,8,9,8,9,9,9,9,10,9,9,10,10,11,11,8,8,8,8,9,9,9,9,9,9,10,9,9,10,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,10,10,11,11,11,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,10,11,11,11,8,8,9,9,9,9,10,9,9,9,9,9,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,10,10,11,11,9,9,9,9,9,9,9,9,9,10,10,10,10,11,10,11,11,9,9,9,9,9,9,9,9,9,10,10,9,10,10,11,11,11,11,11,9,9,9,10,9,9,9,9,9,9,10,11,11,11,11,11,11,10,10,10,10,9,9,9,9,9,9,10,11,11,11,11,11,11,9,10,9,9,9,9,10,9,9,9,11,11,11,11,11,11,11,10,10,9,9,9,9,9,9,10,9,11,11,10,11,11,11,11,10,11,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,5,7,7,9,9,10,10,12,12,6,5,5,7,7,8,8,10,10,12,11,12,12,6,5,5,7,7,8,8,10,10,11,11,12,12,15,7,7,8,8,9,9,11,11,12,12,13,12,15,8,8,8,7,9,9,10,10,12,12,13,13,16,11,10,8,8,10,10,11,11,12,12,13,13,16,11,11,9,8,11,10,11,11,12,12,13,12,16,16,16,10,11,10,11,12,12,12,12,13,13,16,16,16,11,9,11,9,14,12,12,12,13,13,16,16,16,12,14,11,12,12,12,13,13,14,13,16,16,16,15,13,12,10,13,10,13,14,13,13,16,16,16,16,16,13,14,12,13,13,12,13,13,16,16,16,16,16,13,12,12,11,14,12,15,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,3,10,10,10,10,10,10,10,10,10,10,4,8,6,10,10,10,10,10,10,10,10,10,10,4,8,7,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,10,9,7,5,6,7,7,8,8,8,8,9,9,10,10,7,5,5,7,7,8,8,8,8,9,9,10,10,0,8,8,8,8,9,9,9,9,10,10,11,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,10,10,10,11,11,11,11,0,13,13,9,9,9,9,10,10,11,11,11,11,0,0,0,10,10,10,10,11,11,12,11,12,12,0,0,0,10,10,10,9,11,11,12,11,13,12,0,0,0,13,13,10,10,11,11,12,12,13,13,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,11,12,11,11,12,12,14,13,0,0,0,0,0,12,11,11,11,13,10,14,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,7,7,7,7,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,6,10,10,11,11,11,11,10,10,6,9,9,11,10,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,10,11,11,11,12,11,11,7,9,9,11,10,10,11,11,10,6,9,9,10,10,10,12,10,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,6,6,7,7,8,8,8,8,9,9,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,11,0,0,0,8,8,9,9,9,10,10,10,10,10,11,11,12,12,0,0,0,8,8,9,9,10,9,10,10,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,11,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,10,10,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,12,12,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,5,6,6,8,8,0,0,0,7,7,7,7,9,9,0,0,0,7,7,7,7,9,9,0,0,0,7,7,8,8,10,10,0,0,0,7,7,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,10,10,9,9,11,11,0,0,0,0,0,9,9,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,2,7,7,0,0,0,0,0,13,13,6,6,0,0,0,0,0,12,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,9,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,4,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,5,7,6,0,0,0,0,0,0,5,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,8,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9],"i8",N3,x.GLOBAL_BASE+253728),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,13,14,14,15,16,18,18,4,2,5,8,7,9,12,15,15,10,4,5,10,6,8,11,15,17,12,5,7,5,6,8,11,14,17,11,5,6,6,5,6,9,13,17,12,6,7,6,5,6,8,12,14,14,7,8,6,6,7,9,11,14,14,8,9,6,5,6,9,11,13,16,10,10,7,6,7,8,10,11,0,0,0,0,0,0,0,6,8,13,12,13,14,15,16,16,4,2,4,7,6,8,11,13,15,10,4,4,8,6,8,11,14,17,11,5,6,5,6,8,12,14,17,11,5,5,6,5,7,10,13,16,12,6,7,8,7,8,10,13,15,13,8,8,7,7,8,10,12,15,15,7,7,5,5,7,9,12,14,15,8,8,6,6,7,8,10,11,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,128,86,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,40,86,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,46,4,0,0,0,0,0,0,0,0,0,0,0,0,0,152,46,4,0,0,0,0,0,0,0,0,0,0,0,0,0,192,46,4,0,0,0,0,0,0,0,0,0,0,0,0,0,232,46,4,0,0,0,0,0,0,0,0,0,0,0,0,0,16,47,4,0,0,0,0,0,56,47,4,0,96,47,4,0,0,0,0,0,0,0,0,0,136,47,4,0,176,47,4,0,0,0,0,0,0,0,0,0,216,47,4,0,0,48,4,0,40,48,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,240,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,24,9,4,0,0,0,0,0,0,0,0,0,0,0,0,0,64,9,4,0,0,0,0,0,0,0,0,0,0,0,0,0,104,9,4,0,0,0,0,0,144,9,4,0,184,9,4,0,0,0,0,0,0,0,0,0,224,9,4,0,8,10,4,0,0,0,0,0,0,0,0,0,48,10,4,0,88,10,4,0,128,10,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,112,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,24,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,4,9,10,9,10,11,12,13,4,1,5,7,7,9,11,12,14,8,5,7,9,8,10,13,13,13,10,7,9,4,6,7,10,12,14,9,6,7,6,6,7,10,12,12,9,8,9,7,6,7,8,11,12,11,11,11,9,8,7,8,10,12,12,13,14,12,11,9,9,9,12,12,17,17,15,16,12,10,11,13,0,0,0,0,0,0,0,5,4,8,9,8,9,10,12,15,4,1,5,5,6,8,11,12,12,8,5,8,9,9,11,13,12,12,9,5,8,5,7,9,12,13,13,8,6,8,7,7,9,11,11,11,9,7,9,7,7,7,7,10,12,10,10,11,9,8,7,7,9,11,11,12,13,12,11,9,8,9,11,13,16,16,15,15,12,10,11,12,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,184,20,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,96,46,4,0,0,0,0,0,4,0,0,0,113,2,0,0,40,18,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,20,4,0,0,0,0,0,2,0,0,0,81,0,0,0,168,17,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,0,18,4,0,0,0,0,0,2,0,0,0,81,0,0,0,40,17,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,17,4,0,0,0,0,0,2,0,0,0,33,1,0,0,184,15,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,16,4,0,0,0,0,0,4,0,0,0,81,0,0,0,80,15,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,168,15,4,0,0,0,0,0,2,0,0,0,121,0,0,0,160,14,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,32,15,4,0,0,0,0,0,2,0,0,0,169,0,0,0,184,13,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,104,14,4,0,0,0,0,0,2,0,0,0,25,0,0,0,128,13,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,13,4,0,0,0,0,0,2,0,0,0,81,0,0,0,0,13,4,0,1,0,0,0,0,160,59,225,0,160,251,96,4,0,0,0,0,0,0,0,88,13,4,0,0,0,0,0,2,0,0,0,169,0,0,0,24,12,4,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,200,12,4,0,0,0,0,0,2,0,0,0,33,1,0,0,168,10,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,208,11,4,0,0,0,0,0,2,5,5,6,6,7,7,7,7,8,8,8,8,8,8,8,8,10,6,6,7,7,7,7,8,8,9,9,9,9,9,9,9,9,10,6,6,7,7,8,7,8,8,9,9,9,9,9,9,9,9,10,7,7,7,7,8,8,8,9,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,9,8,9,9,9,9,10,9,9,10,10,10,11,8,8,8,8,9,9,9,9,9,9,9,10,9,10,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,10,10,11,10,10,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,11,11,8,8,9,9,9,9,9,9,9,9,9,10,11,11,11,11,11,9,9,9,9,9,9,9,9,10,9,10,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,9,10,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,9,10,9,11,10,11,11,11,11,11,9,9,10,9,9,9,9,9,9,9,10,11,10,11,11,11,11,10,10,10,10,9,9,9,9,9,9,10,11,11,11,11,11,11,9,10,9,9,9,9,9,9,9,9,11,11,10,11,11,11,10,10,10,9,9,9,9,9,9,9,9,10,11,10,11,11,11,11,11,11,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,9,9,10,11,12,12,6,5,5,7,7,8,8,10,10,12,11,12,12,6,5,5,7,7,8,8,10,10,12,11,12,12,17,7,7,8,8,9,9,10,10,12,12,13,13,18,7,7,8,7,9,9,10,10,12,12,12,13,19,10,10,8,8,10,10,11,11,12,12,13,14,19,11,10,8,7,10,10,11,11,12,12,13,12,19,19,19,10,10,10,10,11,11,12,12,13,13,19,19,19,11,9,11,9,14,12,13,12,13,13,19,20,18,13,14,11,11,12,12,13,13,14,13,20,20,20,15,13,11,10,13,11,13,13,14,13,20,20,20,20,20,13,14,12,12,13,13,13,13,20,20,20,20,20,13,13,12,12,16,13,15,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,11,11,11,11,11,11,3,7,6,11,11,11,11,11,11,4,8,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,4,4,6,5,5,5,5,6,5,5,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,7,5,5,7,7,8,8,8,8,9,9,10,10,7,6,5,7,7,8,8,8,8,9,9,10,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,11,0,13,13,9,9,9,9,10,10,11,11,11,12,0,0,0,9,10,10,10,11,11,12,11,12,12,0,0,0,10,10,9,9,11,11,12,12,12,12,0,0,0,13,13,10,10,11,11,12,12,13,13,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,11,12,11,11,13,12,13,13,0,0,0,0,0,12,12,11,11,13,12,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,7,8,9,5,5,6,6,7,7,8,8,8,8,9,5,5,6,6,7,7,8,8,8,8,10,7,7,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,10,11,11,11,10,10,6,9,9,11,11,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,10,11,11,11,11,11,11,6,9,9,11,10,10,11,11,10,6,9,9,11,10,10,11,10,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,8,8,8,8,8,8,9,9,10,10,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,10,11,11,11,0,5,6,7,7,8,8,9,9,9,9,10,10,10,11,11,11,0,7,7,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,12,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,10,11,11,12,12,13,13,0,0,0,0,0,10,10,10,10,11,11,12,12,12,13,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,12,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,12,11,12,12,13,13,13,13,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,3,6,6,7,7,9,9,0,5,5,7,7,8,7,9,9,0,5,5,7,7,8,8,9,9,0,7,7,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,9,9,9,9,11,11,0,0,0,9,9,9,9,11,11,0,0,0,10,10,10,10,11,11,0,0,0,0,0,9,9,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,3,7,7,0,0,0,0,0,5,4,7,7,0,0,0,0,0,5,5,7,7,0,0,0,0,0,6,7,8,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,10,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,10,10],"i8",N3,x.GLOBAL_BASE+263472),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,112,60,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,24,86,4,0,0,0,0,0,4,0,0,0,113,2,0,0,224,57,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,60,4,0,0,0,0,0,2,0,0,0,81,0,0,0,96,57,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,184,57,4,0,0,0,0,0,2,0,0,0,81,0,0,0,224,56,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,56,57,4,0,0,0,0,0,2,0,0,0,33,1,0,0,112,55,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,152,56,4,0,0,0,0,0,4,0,0,0,81,0,0,0,8,55,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,96,55,4,0,0,0,0,0,2,0,0,0,121,0,0,0,88,54,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,216,54,4,0,0,0,0,0,2,0,0,0,169,0,0,0,112,53,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,32,54,4,0,0,0,0,0,2,0,0,0,25,0,0,0,56,53,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,53,4,0,0,0,0,0,4,0,0,0,113,2,0,0,168,50,4,0,1,0,0,0,0,160,27,225,0,160,251,96,3,0,0,0,0,0,0,0,32,53,4,0,0,0,0,0,2,0,0,0,169,0,0,0,192,49,4,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,112,50,4,0,0,0,0,0,2,0,0,0,33,1,0,0,80,48,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,120,49,4,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,8,8,8,8,8,8,10,10,10,7,7,7,8,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,7,7,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,8,8,9,9,9,9,9,10,9,9,10,10,10,7,7,8,8,9,8,9,9,9,9,10,9,9,10,10,10,10,8,8,8,8,9,8,9,9,9,9,9,10,9,10,10,10,10,7,7,8,8,9,9,9,9,9,9,10,9,10,10,10,10,10,8,8,8,9,9,9,9,9,9,9,10,10,10,9,11,10,10,10,10,8,8,9,9,9,9,9,10,9,9,9,10,10,10,10,11,11,9,9,9,9,9,9,9,9,10,9,9,10,11,10,10,11,11,9,9,9,9,9,9,9,9,9,9,10,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,9,10,9,11,10,10,11,11,11,11,9,9,9,9,9,9,9,9,9,9,10,10,10,11,11,11,11,9,10,9,10,9,9,9,9,10,9,10,11,10,11,10,10,10,10,10,9,9,9,10,9,9,9,10,11,11,10,11,11,10,11,10,10,10,9,9,9,9,10,9,9,10,11,10,11,11,11,11,10,11,10,10,9,10,9,9,9,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,9,9,11,12,13,12,6,5,5,7,7,8,8,10,9,12,12,12,12,6,5,5,7,7,8,8,10,9,12,11,11,13,16,7,7,8,8,9,9,10,10,12,12,13,12,16,7,7,8,7,9,9,10,10,11,12,12,13,16,10,10,8,8,10,10,11,12,12,12,13,13,16,11,10,8,7,11,10,11,11,12,11,13,13,16,16,16,10,10,10,10,11,11,13,12,13,13,16,16,16,11,9,11,9,15,13,12,13,13,13,16,16,16,15,13,11,11,12,13,12,12,14,13,16,16,16,14,13,11,11,13,12,14,13,13,13,16,16,16,16,16,13,13,13,12,14,13,14,14,16,16,16,16,16,13,13,12,12,14,14,15,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,5,5,10,10,6,9,8,10,10,6,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,7,5,5,7,7,8,8,8,8,9,9,10,10,7,5,6,7,7,8,8,8,8,9,9,10,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,11,0,13,13,9,9,9,9,10,10,11,11,11,12,0,0,0,10,10,10,10,11,11,11,11,12,12,0,0,0,10,10,9,9,11,11,11,12,12,12,0,0,0,13,13,10,10,11,11,12,12,13,13,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,11,11,11,11,13,12,13,13,0,0,0,0,0,12,12,11,11,12,12,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,7,7,7,7,7,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,8,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,10,9,9,4,6,7,10,9,9,11,9,9,7,10,10,11,11,11,12,10,11,6,9,9,11,10,11,11,10,10,6,9,9,11,10,11,11,10,10,7,11,10,12,11,11,11,11,11,7,9,9,10,10,10,11,11,10,6,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,6,6,8,7,8,8,8,8,9,9,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,9,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,8,8,9,9,9,9,10,10,10,10,11,11,12,12,0,0,0,8,8,9,9,9,9,10,10,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,11,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,10,10,11,11,11,11,11,12,12,12,13,13,0,0,0,0,0,0,0,11,10,11,11,11,11,12,12,13,13,0,0,0,0,0,0,0,11,11,12,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,11,12,12,12,12,13,13,13,0,0,0,0,0,0,0,12,12,12,12,12,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,6,6,8,8,0,0,0,7,7,7,7,9,9,0,0,0,7,7,7,7,9,9,0,0,0,7,7,7,8,9,9,0,0,0,7,7,7,7,9,9,0,0,0,9,9,8,8,10,10,0,0,0,8,9,8,8,10,10,0,0,0,10,10,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,2,8,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,6,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,9,9,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,9,11,10],"i8",N3,x.GLOBAL_BASE+274008),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,6,6,12,13,13,14,16,17,17,4,2,5,8,7,9,12,15,15,9,4,5,9,7,9,12,16,18,11,6,7,4,6,8,11,14,18,10,5,6,5,5,7,10,14,17,10,5,7,7,6,7,10,13,16,11,5,7,7,7,8,10,12,15,13,6,7,5,5,7,9,12,13,16,8,9,6,6,7,9,10,12,0,0,0,0,0,0,0,9,8,12,11,12,13,14,14,16,6,1,5,6,6,9,12,14,17,9,4,5,9,7,9,13,15,16,8,5,8,6,8,10,13,17,17,9,6,7,7,8,9,13,15,17,11,8,9,9,9,10,12,16,16,13,7,8,7,7,9,12,14,15,13,6,7,5,5,7,10,13,13,14,7,8,5,6,7,9,10,12,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,96,167,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,8,167,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,127,4,0,0,0,0,0,0,0,0,0,0,0,0,0,120,127,4,0,0,0,0,0,0,0,0,0,0,0,0,0,160,127,4,0,0,0,0,0,0,0,0,0,0,0,0,0,200,127,4,0,0,0,0,0,0,0,0,0,0,0,0,0,240,127,4,0,0,0,0,0,24,128,4,0,64,128,4,0,0,0,0,0,0,0,0,0,104,128,4,0,144,128,4,0,0,0,0,0,0,0,0,0,184,128,4,0,224,128,4,0,8,129,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,89,4,0,0,0,0,0,0,0,0,0,0,0,0,0,208,89,4,0,0,0,0,0,0,0,0,0,0,0,0,0,248,89,4,0,0,0,0,0,0,0,0,0,0,0,0,0,32,90,4,0,0,0,0,0,0,0,0,0,0,0,0,0,72,90,4,0,0,0,0,0,112,90,4,0,152,90,4,0,0,0,0,0,0,0,0,0,192,90,4,0,232,90,4,0,0,0,0,0,0,0,0,0,16,91,4,0,56,91,4,0,96,91,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,80,89,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,248,88,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,8,8,8,8,10,12,14,3,2,6,7,7,8,10,12,16,7,6,7,9,8,10,12,14,16,8,6,8,4,5,7,9,11,13,7,6,8,5,6,7,9,11,14,8,8,10,7,7,6,8,10,13,9,11,12,9,9,7,8,10,12,10,13,15,11,11,10,9,10,13,13,16,17,14,15,14,13,14,17,0,0,0,0,0,0,0,4,4,7,8,7,8,10,12,17,3,1,6,6,7,8,10,12,15,7,6,9,9,9,11,12,14,17,8,6,9,6,7,9,11,13,17,7,6,9,7,7,8,9,12,15,8,8,10,8,7,7,7,10,14,9,10,12,10,8,8,8,10,14,11,13,15,13,12,11,11,12,16,17,18,18,19,20,18,16,16,20,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,152,101,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,64,127,4,0,0,0,0,0,4,0,0,0,113,2,0,0,8,99,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,128,101,4,0,0,0,0,0,2,0,0,0,81,0,0,0,136,98,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,224,98,4,0,0,0,0,0,2,0,0,0,81,0,0,0,8,98,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,96,98,4,0,0,0,0,0,2,0,0,0,33,1,0,0,152,96,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,192,97,4,0,0,0,0,0,4,0,0,0,81,0,0,0,48,96,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,136,96,4,0,0,0,0,0,2,0,0,0,121,0,0,0,128,95,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,0,96,4,0,0,0,0,0,2,0,0,0,169,0,0,0,152,94,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,72,95,4,0,0,0,0,0,2,0,0,0,25,0,0,0,96,94,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,128,94,4,0,0,0,0,0,2,0,0,0,81,0,0,0,224,93,4,0,1,0,0,0,0,160,59,225,0,160,251,96,4,0,0,0,0,0,0,0,56,94,4,0,0,0,0,0,2,0,0,0,169,0,0,0,248,92,4,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,168,93,4,0,0,0,0,0,2,0,0,0,33,1,0,0,136,91,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,176,92,4,0,0,0,0,0,3,4,4,6,6,7,7,8,8,8,8,9,9,9,9,9,9,10,6,6,6,6,7,7,8,8,8,9,9,9,9,9,9,9,10,6,6,6,6,7,7,8,8,8,8,9,9,9,9,9,9,10,7,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,7,8,8,8,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,8,8,9,9,9,9,9,9,9,9,11,10,11,8,8,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,11,11,8,8,8,8,9,9,9,9,9,9,9,9,11,10,11,11,11,9,9,9,9,9,9,9,9,9,9,9,9,10,11,10,11,11,9,9,9,9,9,9,9,9,9,9,9,10,11,11,10,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,10,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,10,11,11,11,11,11,11,9,10,10,10,9,9,9,9,9,9,11,10,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,11,11,11,11,11,11,11,10,10,9,9,9,9,9,9,9,9,10,11,11,11,11,11,11,11,11,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,10,11,11,11,6,5,5,7,7,8,8,10,10,10,11,11,11,6,5,5,7,7,8,8,10,10,11,12,12,12,14,7,7,7,8,9,9,11,11,11,12,11,12,17,7,7,8,7,9,9,11,11,12,12,12,12,14,11,11,8,8,10,10,11,12,12,13,11,12,14,11,11,8,8,10,10,11,12,12,13,13,12,14,15,14,10,10,10,10,11,12,12,12,12,11,14,13,16,10,10,10,9,12,11,12,12,13,14,14,15,14,14,13,10,10,11,11,12,11,13,11,14,12,15,13,14,11,10,12,10,12,12,13,13,13,13,14,15,15,12,12,11,11,12,11,13,12,14,14,14,14,17,12,12,11,10,13,11,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,12,11,13,13,14,14,4,7,7,11,13,14,14,14,14,3,8,3,14,14,14,14,14,14,14,10,12,14,14,14,14,14,14,14,14,5,14,8,14,14,14,14,14,12,14,13,14,14,14,14,14,14,14,13,14,10,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,4,5,6,5,5,5,5,6,5,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,9,9,10,10,7,5,5,7,7,8,8,8,8,10,9,11,10,7,5,5,7,7,8,8,8,8,9,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,10,10,10,11,11,12,12,0,13,13,9,9,9,9,10,10,11,11,12,12,0,0,0,10,10,10,10,11,11,12,12,12,13,0,0,0,10,10,10,10,11,11,12,12,12,12,0,0,0,14,14,11,11,11,11,12,13,13,13,0,0,0,14,14,11,10,11,11,12,12,13,13,0,0,0,0,0,12,12,12,12,13,13,13,14,0,0,0,0,0,13,12,12,12,13,13,13,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,5,7,7,7,7,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,7,7,7,7,8,8,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,9,9,10,10,10,10,10,8,8,8,8,9,9,10,10,10,10,10,9,9,9,9,8,9,10,10,10,10,10,8,9,8,8,9,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,6,10,9,9,11,9,9,4,6,7,10,9,9,11,9,9,7,10,10,10,11,11,11,11,10,6,9,9,11,10,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,11,11,11,11,12,11,11,7,9,9,11,10,10,12,10,10,7,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,8,8,9,9,10,10,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,6,5,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,13,13,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,13,13,13,0,0,0,0,0,10,10,11,11,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,12,12,12,13,13,13,14,14,14,14,0,0,0,0,0,0,0,0,0,12,12,13,13,14,14,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,3,6,6,7,7,9,9,0,5,5,7,7,8,7,9,9,0,5,5,7,7,8,8,9,9,0,7,7,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,9,9,9,9,10,10,0,0,0,9,9,9,9,10,10,0,0,0,10,10,10,10,11,11,0,0,0,0,0,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,4,7,7,0,0,0,0,0,4,4,7,7,0,0,0,0,0,4,5,7,7,0,0,0,0,0,6,7,8,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,10,9,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,9,0,0,0,0,0,0,9,9,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,10,9],"i8",N3,x.GLOBAL_BASE+284176),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,80,141,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,248,166,4,0,0,0,0,0,4,0,0,0,113,2,0,0,192,138,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,141,4,0,0,0,0,0,2,0,0,0,81,0,0,0,64,138,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,152,138,4,0,0,0,0,0,2,0,0,0,81,0,0,0,192,137,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,24,138,4,0,0,0,0,0,2,0,0,0,33,1,0,0,80,136,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,120,137,4,0,0,0,0,0,4,0,0,0,81,0,0,0,232,135,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,64,136,4,0,0,0,0,0,2,0,0,0,121,0,0,0,56,135,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,184,135,4,0,0,0,0,0,2,0,0,0,169,0,0,0,80,134,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,0,135,4,0,0,0,0,0,2,0,0,0,25,0,0,0,24,134,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,134,4,0,0,0,0,0,4,0,0,0,113,2,0,0,136,131,4,0,1,0,0,0,0,160,27,225,0,160,251,96,3,0,0,0,0,0,0,0,0,134,4,0,0,0,0,0,2,0,0,0,169,0,0,0,160,130,4,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,80,131,4,0,0,0,0,0,2,0,0,0,33,1,0,0,48,129,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,88,130,4,0,0,0,0,0,3,4,3,6,6,7,7,8,8,9,9,9,9,9,9,9,9,10,11,11,6,6,7,7,8,8,9,9,9,9,9,9,9,9,10,10,10,6,6,7,7,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,7,8,8,8,9,9,9,9,9,9,10,9,10,11,10,7,6,7,7,8,8,9,9,9,9,9,9,9,10,10,10,11,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,8,8,9,9,9,9,9,9,9,10,11,11,11,8,8,8,8,8,8,9,9,9,9,9,9,9,9,11,10,10,11,11,8,8,8,9,9,9,9,9,9,10,9,10,10,10,10,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,10,10,10,10,11,10,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,10,10,11,11,11,11,9,9,9,9,9,9,9,9,10,10,10,11,11,10,11,11,11,9,10,10,9,9,9,9,9,9,9,10,11,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,11,11,11,11,11,11,11,10,10,9,9,9,9,9,9,9,9,11,11,11,10,11,11,11,11,11,9,9,9,10,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,10,10,11,11,11,6,5,5,7,7,8,8,9,10,9,11,11,12,5,5,5,7,7,8,9,10,10,12,12,14,13,15,7,7,8,8,9,10,11,11,10,12,10,11,15,7,8,8,8,9,9,11,11,13,12,12,13,15,10,10,8,8,10,10,12,12,11,14,10,10,15,11,11,8,8,10,10,12,13,13,14,15,13,15,15,15,10,10,10,10,12,12,13,12,13,10,15,15,15,10,10,11,10,13,11,13,13,15,13,15,15,15,13,13,10,11,11,11,12,10,14,11,15,15,14,14,13,10,10,12,11,13,13,14,14,15,15,15,15,15,11,11,11,11,12,11,15,12,15,15,15,15,15,12,12,11,11,14,12,13,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,7,7,11,11,8,11,11,11,11,4,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,8,8,9,9,11,11,7,5,5,7,7,8,8,8,8,9,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,10,10,10,11,11,11,12,0,13,13,9,9,9,9,10,10,11,11,11,12,0,0,0,10,10,10,10,11,11,12,12,12,13,0,0,0,10,10,10,10,11,11,12,12,13,12,0,0,0,14,14,11,10,11,12,12,13,13,14,0,0,0,15,15,11,11,12,11,12,12,14,13,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,13,13,12,12,13,13,13,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,8,8,10,10,10,7,6,8,8,8,8,8,8,10,10,10,7,6,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,6,6,10,9,9,11,9,9,4,6,6,10,9,9,10,9,9,7,10,10,11,11,11,12,11,11,7,9,9,11,11,10,11,10,10,7,9,9,11,10,11,11,10,10,7,10,10,11,11,11,12,11,11,7,9,9,11,10,10,11,10,10,7,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,6,6,7,7,8,8,8,8,9,9,10,10,10,10,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,8,8,9,9,9,9,10,10,10,10,11,11,12,12,0,0,0,8,8,9,9,9,9,10,10,10,11,11,11,12,12,0,0,0,9,9,10,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,11,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,10,10,11,10,11,11,11,12,13,12,13,13,0,0,0,0,0,0,0,11,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,12,12,12,13,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,13,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,6,6,8,8,0,0,0,6,6,7,7,9,9,0,0,0,6,6,7,7,9,9,0,0,0,7,7,8,8,10,10,0,0,0,7,7,8,8,10,10,0,0,0,9,9,9,9,10,10,0,0,0,9,9,9,9,10,10,0,0,0,10,10,10,10,11,11,0,0,0,0,0,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,2,3,7,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,9,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,7,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,10,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,9,9,11,0,0,0,0,0,0,10,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,9,11,9,0,0,0,0,0,0,10,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,10,11,11,0,0,0,0,0,0,9,9,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,10,11,11,0,0,0,0,0,0,9,11,9],"i8",N3,x.GLOBAL_BASE+294712),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,6,12,14,12,14,16,17,18,4,2,5,11,7,10,12,14,15,9,4,5,11,7,10,13,15,18,15,6,7,5,6,8,11,13,16,11,5,6,5,5,6,9,13,15,12,5,7,6,5,6,9,12,14,12,6,7,8,6,7,9,12,13,14,8,8,7,5,5,8,10,12,16,9,9,8,6,6,7,9,9,0,0,0,0,0,0,0,10,9,12,15,12,13,16,14,16,7,1,5,14,7,10,13,16,16,9,4,6,16,8,11,16,16,16,14,4,7,16,9,12,14,16,16,10,5,7,14,9,12,14,15,15,13,8,9,14,10,12,13,14,15,13,9,9,7,6,8,11,12,12,14,8,8,5,4,5,8,11,12,16,10,10,6,5,6,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,64,191,64,0,0,0,0,0,88,203,64,0,0,0,0,0,130,228,64,0,0,0,0,0,112,183,64,0,0,0,0,0,148,193,64,0,0,0,0,0,64,223,64,0,0,0,0,0,112,199,64,0,0,0,0,0,136,211,64,0,0,0,0,0,106,232,64,154,153,153,153,153,153,185,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,2,0,0,0,2,0,0,30,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,30,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,242,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,2,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,0,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,12,0,0,0,12,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,10,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,12,0,0,0,12,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,0,0,0,0,51,51,51,51,51,51,211,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,18,64,0,0,0,0,0,0,22,64,0,0,0,0,0,0,62,64,208,171,4,0,0,0,0,0,6,0,0,0,6,0,0,0,0,0,0,0,0,64,191,64,0,0,0,0,0,100,201,64,0,0,0,0,0,124,229,64,0,0,0,0,0,64,207,64,0,0,0,0,0,88,219,64,0,0,0,0,0,64,239,64,0,0,0,0,0,106,248,64,154,153,153,153,153,153,185,191,154,153,153,153,153,153,169,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,4,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,0,30,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,25,0,0,0,22,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,0,0,0,242,255,255,255,0,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,246,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,10,0,0,0,255,255,255,255,10,0,0,0,10,0,0,0,255,255,255,255,20,0,0,0,20,0,0,0,255,255,255,255,20,0,0,0,20,0,0,0,255,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,4,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,15,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,10,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,244,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,249,255,255,255,251,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,238,255,255,255,238,255,255,255,238,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,4,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,4,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,20,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,4,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,12,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,244,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,5,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,14,0,0,0,20,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,20,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,12,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,244,255,255,255,236,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,5,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,0,0,0,0,0,0,0,0,154,153,153,153,153,153,233,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,1,0,0,0,1,0,0,15,39,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,51,51,51,51,51,51,211,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,156,255,255,255,156,255,255,255,156,255,255,255,151,255,255,255,126,255,255,255,126,255,255,255,126,255,255,255,116,255,255,255,0,0,0,0,0,0,26,64,0,0,0,0,0,0,32,64,0,0,0,0,0,0,62,64,0,0,0,0,0,192,88,64,0,0,0,0,0,0,240,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,8,64,0,0,0,0,0,0,16,64,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,64,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,200,239,4,0,216,239,4,0,8,181,0,0,16,188,4,0,8,181,0,0,48,188,4,0,8,181,0,0,112,188,4,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,216,225,4,0,216,225,4,0,0,226,4,0,0,226,4,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,200,208,4,0,200,208,4,0,240,208,4,0,240,208,4,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,176,209,4,0,176,209,4,0,240,208,4,0,240,208,4,0,1,0,0,0,0,0,0,0,32,0,0,0,160,220,1,0,176,188,4,0,176,188,4,0,216,188,4,0,216,188,4,0,1,0,0,0,0,0,0,0,32,0,0,0,160,220,1,0,152,189,4,0,152,189,4,0,216,188,4,0,216,188,4,0,2,0,0,0,100,0,0,0,96,208,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,190,4,0,0,0,0,0,0,0,0,0,0,0,0,0,80,190,4,0,0,0,0,0,0,0,0,0,0,0,0,0,120,190,4,0,0,0,0,0,0,0,0,0,0,0,0,0,160,190,4,0,0,0,0,0,200,190,4,0,240,190,4,0,0,0,0,0,0,0,0,0,24,191,4,0,64,191,4,0,0,0,0,0,0,0,0,0,104,191,4,0,144,191,4,0,0,0,0,0,0,0,0,0,184,191,4,0,224,191,4,0,0,0,0,0,0,0,0,0,8,192,4,0,48,192,4,0,88,192,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,192,189,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,10,10,10,11,11,12,14,18,7,5,5,6,8,9,10,12,14,17,9,5,4,5,6,8,10,11,13,19,9,5,4,4,5,6,9,10,12,17,8,6,5,4,4,5,7,10,11,15,8,7,7,6,5,5,6,9,11,14,8,9,8,7,6,5,6,7,11,14,9,11,11,9,7,6,6,6,9,14,11,14,15,13,9,8,7,7,9,14,13,15,19,17,12,11,10,9,10,14,0,0,0,0,4,0,0,0,81,0,0,0,248,207,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,80,208,4,0,0,0,0,0,4,0,0,0,113,2,0,0,104,205,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,224,207,4,0,0,0,0,0,2,0,0,0,81,0,0,0,232,204,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,64,205,4,0,0,0,0,0,2,0,0,0,33,1,0,0,120,203,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,160,204,4,0,0,0,0,0,4,0,0,0,81,0,0,0,16,203,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,104,203,4,0,0,0,0,0,2,0,0,0,121,0,0,0,96,202,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,224,202,4,0,0,0,0,0,2,0,0,0,169,0,0,0,120,201,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,40,202,4,0,0,0,0,0,2,0,0,0,25,0,0,0,64,201,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,96,201,4,0,0,0,0,0,2,0,0,0,169,0,0,0,88,200,4,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,8,201,4,0,0,0,0,0,2,0,0,0,121,0,0,0,168,199,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,40,200,4,0,0,0,0,0,2,0,0,0,225,0,0,0,128,198,4,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,104,199,4,0,0,0,0,0,2,0,0,0,185,1,0,0,104,196,4,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,40,198,4,0,0,0,0,0,2,0,0,0,225,0,0,0,64,195,4,0,1,0,0,0,0,117,153,225,0,24,61,97,4,0,0,0,0,0,0,0,40,196,4,0,0,0,0,0,2,0,0,0,105,1,0,0,128,193,4,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,240,194,4,0,0,0,0,0,1,0,0,0,49,0,0,0,128,192,4,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,184,192,4,0,0,0,0,0,2,3,4,4,4,5,5,6,5,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,7,8,8,8,8,8,8,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,6,9,7,10,8,12,12,13,13,14,14,4,7,7,9,9,9,8,9,8,10,9,11,9,14,9,14,10,13,11,4,7,7,9,9,9,9,8,9,10,10,11,11,12,13,12,13,14,15,7,9,9,10,11,10,10,10,10,11,12,13,13,13,14,17,14,15,16,7,9,9,10,10,10,10,10,10,11,12,13,13,14,14,15,15,18,18,8,9,9,11,10,11,11,11,12,13,12,14,14,16,15,15,17,18,15,8,9,9,10,10,11,11,11,11,13,13,14,14,15,15,15,16,16,18,7,9,8,10,10,11,11,12,12,14,14,15,15,16,16,15,17,16,18,8,9,9,10,10,11,12,12,12,13,13,16,15,17,16,17,18,17,18,9,10,10,12,11,13,13,14,13,14,14,15,17,16,18,17,18,17,18,9,10,10,12,11,12,13,13,14,15,16,14,15,16,18,18,18,18,17,11,11,11,13,13,14,14,16,15,15,15,16,15,15,18,18,18,17,16,11,11,12,13,13,15,14,15,16,16,16,17,16,15,18,17,18,16,18,12,13,13,15,15,15,16,18,16,17,16,17,16,17,17,17,18,18,17,13,13,13,15,13,16,15,17,16,16,16,18,18,18,18,16,17,17,18,13,15,14,15,15,18,17,18,18,18,16,18,17,18,17,18,16,17,17,14,14,14,15,16,17,16,18,18,18,17,18,17,18,18,18,16,16,16,14,17,16,17,15,16,18,18,17,18,17,18,17,18,18,18,17,18,17,15,16,15,18,15,18,17,16,18,18,18,18,18,18,17,18,16,18,17,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,5,3,9,8,9,9,9,9,9,9,9,9,9,9,5,7,8,9,9,9,9,9,9,9,9,9,9,9,9,5,7,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,3,5,5,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,10,5,6,6,7,7,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,9,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,7,7,7,8,8,9,9,9,9,9,9,9,9,10,9,10,10,10,9,10,9,8,8,8,9,8,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,8,8,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,8,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,7,7,9,8,10,9,11,11,4,7,6,9,8,9,9,9,9,10,9,11,9,12,9,4,6,7,8,8,9,9,9,9,10,10,10,11,11,12,7,9,8,10,10,11,11,10,10,11,11,12,12,13,12,7,8,8,10,10,10,11,10,10,11,11,11,12,12,13,8,9,9,11,11,11,11,11,11,12,12,13,13,13,13,8,9,9,11,11,11,11,11,11,12,12,13,13,13,14,8,9,9,10,10,11,11,12,11,13,13,14,13,14,14,8,9,9,10,10,11,11,12,12,12,12,13,13,14,14,9,10,10,11,11,12,12,13,12,13,13,14,14,15,15,9,10,10,11,11,12,12,12,13,13,13,14,14,14,15,10,11,11,12,12,13,13,14,13,14,14,15,14,15,15,10,11,11,12,12,13,12,13,14,14,14,14,14,15,15,11,12,12,13,13,13,13,14,14,15,14,15,15,16,16,11,12,12,13,13,13,13,14,14,14,15,15,15,16,16,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,5,5,7,7,7,7,7,7,8,8,5,6,6,7,7,7,7,8,8,8,8,5,6,6,7,7,7,7,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,8,9,9,10,10,4,6,6,8,8,9,9,9,9,10,10,11,10,4,6,6,8,8,9,9,9,9,10,10,11,11,7,8,8,10,9,10,10,10,10,11,11,12,12,7,8,8,10,10,10,10,10,10,11,11,12,12,8,9,9,10,10,11,11,11,11,12,12,13,13,8,9,9,10,10,11,11,11,11,12,12,13,13,8,9,9,11,10,11,11,12,12,13,13,14,13,8,9,9,10,10,11,11,12,12,13,13,13,13,9,10,10,11,11,12,12,13,13,13,13,14,14,9,10,10,11,11,12,12,13,13,13,13,14,14,10,11,11,12,12,13,13,14,13,14,14,15,14,10,11,11,12,12,13,13,14,13,14,14,15,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,4,7,7,8,8,8,8,10,10,11,11,4,6,6,7,7,9,9,9,9,10,10,11,11,4,6,6,7,7,9,9,9,9,10,10,11,11,7,8,8,9,9,9,9,10,10,11,11,12,12,7,7,7,9,8,10,9,10,10,11,11,12,12,8,9,9,9,10,10,10,11,11,12,12,13,13,8,9,9,10,9,10,10,11,11,12,12,13,13,8,9,9,10,10,11,11,11,11,12,12,13,13,8,9,9,10,10,11,11,12,11,12,12,13,13,10,10,10,11,11,12,12,12,12,13,13,14,14,10,10,10,11,11,12,12,12,12,13,13,14,14,11,11,11,12,12,13,13,13,13,14,14,14,14,11,11,11,12,12,13,13,13,13,14,14,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,5,5,6,6,7,7,8,8,8,8,5,6,6,7,7,7,7,8,8,8,8,5,6,6,6,7,7,7,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,8,8,8,8,8,8,8,8,9,9,8,8,8,8,8,8,8,9,9,9,9,8,8,8,8,8,8,8,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,7,9,9,7,9,10,5,8,8,7,10,9,7,10,9,5,8,8,8,11,10,8,10,10,7,10,10,9,9,12,10,12,12,7,10,10,9,12,10,10,11,12,5,8,8,8,10,10,8,11,11,7,11,10,10,12,11,9,10,12,7,10,11,10,12,12,9,12,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,5,6,6,7,7,8,8,9,9,10,10,11,11,11,11,5,5,5,7,6,8,7,9,9,9,9,10,10,11,11,12,12,5,5,5,6,6,7,8,8,9,9,9,10,10,11,11,12,12,6,7,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,6,6,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,7,8,8,8,8,9,9,9,9,10,10,11,11,11,11,12,12,7,7,8,8,8,9,9,9,9,10,10,11,11,11,11,12,12,8,9,9,9,9,9,9,10,10,10,10,11,11,12,12,12,12,8,9,9,9,9,9,9,10,10,10,10,11,11,12,12,12,12,9,9,9,9,9,10,10,10,10,10,11,11,11,12,12,13,13,9,9,9,9,9,10,10,10,10,11,10,11,11,12,12,13,13,10,10,10,10,10,11,11,11,11,11,11,11,12,12,12,13,13,10,10,10,10,10,11,11,11,11,11,11,12,11,12,12,13,13,11,11,11,11,11,11,11,12,12,12,12,12,12,13,13,13,13,11,11,11,11,11,11,11,12,12,12,12,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,13,13,13,13,13,14,14,11,12,12,12,12,12,12,12,13,13,13,13,13,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,4,6,6,7,7,9,9,4,5,5,6,6,8,7,9,9,4,5,5,6,6,7,8,9,9,6,6,6,7,7,8,8,10,10,6,6,6,7,7,8,8,10,10,7,8,7,8,8,9,9,11,10,7,7,8,8,8,9,9,10,11,9,9,9,10,10,11,10,11,11,9,9,9,10,10,10,11,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,5,7,7,9,9,5,7,7,9,9,9,10,9,11,11,9,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,9,10,10,11,12,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,11,10,10,10,12,12,9,10,10,12,12,10,10,10,12,12,9,10,10,12,12,12,12,12,14,14,11,12,12,13,14,9,10,10,12,12,9,10,10,12,12,10,10,10,12,12,11,12,12,14,13,12,12,12,14,13,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,10,10,10,12,12,7,8,8,11,10,8,9,9,11,11,8,9,9,11,11,10,11,11,12,13,10,11,11,12,13,7,8,8,10,10,8,9,8,11,10,8,9,9,11,11,10,11,10,13,12,10,11,11,13,13,10,11,10,13,12,10,11,11,13,13,10,11,11,13,13,12,12,13,13,14,12,13,13,14,14,9,10,10,12,12,10,11,10,13,12,10,11,11,13,13,12,13,12,14,13,12,13,13,14,15,5,7,7,9,10,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,10,10,11,12,12,7,8,8,10,10,8,9,9,11,11,8,8,9,10,11,10,11,11,13,13,10,10,11,12,13,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,11,13,12,10,11,11,13,12,9,10,10,12,12,10,11,11,13,13,10,10,11,12,13,12,13,13,15,14,12,12,13,12,14,9,10,11,12,13,10,11,11,13,13,10,11,11,13,13,12,13,13,14,14,12,13,12,14,13,8,10,10,12,12,9,11,10,13,12,9,10,10,12,13,12,13,13,14,14,12,12,12,14,14],"i8",N3,x.GLOBAL_BASE+304880),E3([9,10,10,13,13,10,11,11,13,13,10,11,11,13,13,13,13,13,14,15,12,13,13,14,15,9,10,10,12,13,10,11,10,13,13,10,11,11,12,13,12,13,12,15,14,12,13,13,14,15,11,12,12,15,14,12,12,13,14,15,12,13,13,15,14,13,13,15,14,16,14,14,14,16,15,11,12,12,14,14,11,12,12,14,14,12,13,13,14,15,13,14,13,15,13,14,14,14,15,16,8,9,10,12,12,9,10,10,13,12,9,10,11,12,13,12,12,12,14,14,12,13,13,14,14,9,10,10,13,12,10,11,11,13,13,10,10,11,13,13,12,13,13,15,14,12,12,13,14,15,9,10,10,13,13,10,11,11,13,13,10,11,11,13,13,12,13,13,14,14,13,13,13,15,15,11,12,12,14,13,12,13,13,15,14,11,12,12,14,14,14,14,14,16,15,13,13,14,13,16,11,12,12,14,14,12,13,13,14,15,12,13,12,14,14,14,14,14,16,16,14,15,13,16,14,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,7,5,7,7,5,7,7,7,9,9,7,9,9,5,7,7,7,9,9,8,9,9,5,7,7,8,9,9,7,9,9,7,9,9,9,10,11,9,10,10,7,9,9,9,10,9,9,10,11,5,8,7,7,9,9,8,9,9,7,9,9,9,11,10,9,9,10,7,9,9,9,10,10,9,11,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,8,11,13,13,15,16,19,19,19,19,11,8,8,9,9,11,13,15,19,20,14,8,7,7,8,9,12,13,15,20,15,9,6,5,5,7,10,12,14,18,14,9,7,5,3,4,7,10,12,16,13,10,8,6,3,3,5,8,11,14,11,10,9,7,5,4,4,6,11,14,10,10,10,8,6,5,5,6,10,14,10,10,10,9,8,7,7,7,10,14,11,12,12,12,11,10,10,10,12,16,0,0,0,0,2,0,0,0,100,0,0,0,112,225,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,104,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,144,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,184,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,224,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,8,211,4,0,0,0,0,0,48,211,4,0,88,211,4,0,0,0,0,0,0,0,0,0,128,211,4,0,168,211,4,0,0,0,0,0,0,0,0,0,208,211,4,0,248,211,4,0,32,212,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,216,209,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,6,10,8,12,8,14,8,14,19,5,3,5,5,7,6,11,7,16,19,7,5,6,7,7,9,11,12,19,19,6,4,7,5,7,6,10,7,18,18,8,6,7,7,7,7,8,9,18,18,7,5,8,5,7,5,8,6,18,18,12,9,10,9,9,9,8,9,18,18,8,7,10,6,8,5,6,4,11,18,11,15,16,12,11,8,8,6,9,18,14,18,18,18,16,16,16,13,16,18,0,0,0,0,4,0,0,0,81,0,0,0,8,225,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,96,225,4,0,0,0,0,0,4,0,0,0,81,0,0,0,160,224,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,248,224,4,0,0,0,0,0,4,0,0,0,113,2,0,0,16,222,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,224,4,0,0,0,0,0,4,0,0,0,113,2,0,0,128,219,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,248,221,4,0,0,0,0,0,2,0,0,0,81,0,0,0,0,219,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,88,219,4,0,0,0,0,0,2,0,0,0,81,0,0,0,128,218,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,216,218,4,0,0,0,0,0,4,0,0,0,81,0,0,0,24,218,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,112,218,4,0,0,0,0,0,2,0,0,0,121,0,0,0,104,217,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,232,217,4,0,0,0,0,0,2,0,0,0,121,0,0,0,184,216,4,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,56,217,4,0,0,0,0,0,2,0,0,0,121,0,0,0,8,216,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,136,216,4,0,0,0,0,0,2,0,0,0,225,0,0,0,224,214,4,0,1,0,0,0,0,228,91,225,0,224,255,96,4,0,0,0,0,0,0,0,200,215,4,0,0,0,0,0,2,0,0,0,225,0,0,0,184,213,4,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,160,214,4,0,0,0,0,0,2,0,0,0,33,1,0,0,72,212,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,112,213,4,0,0,0,0,0,1,6,6,7,8,8,11,10,9,9,11,9,10,9,11,11,9,6,7,6,11,8,11,9,10,10,11,9,11,10,10,10,11,9,5,7,7,8,8,10,11,8,8,11,9,9,10,11,9,10,11,8,9,6,8,8,9,9,10,10,11,11,11,9,11,10,9,11,8,8,8,9,8,9,10,11,9,9,11,11,10,9,9,11,10,8,11,8,9,8,11,9,10,9,10,11,11,10,10,9,10,10,8,8,9,10,10,10,9,11,9,10,11,11,11,11,10,9,11,9,9,11,11,10,8,11,11,11,9,10,10,11,10,11,11,9,11,10,9,11,10,10,10,10,9,11,10,11,10,9,9,10,11,9,8,10,11,11,10,10,11,9,11,10,11,11,10,11,9,9,8,10,8,9,11,9,8,10,10,9,11,10,11,10,11,9,11,8,10,11,11,11,11,10,10,11,11,11,11,10,11,11,10,9,8,10,10,9,11,10,11,11,11,9,9,9,11,11,11,10,10,9,9,10,9,11,11,11,11,8,10,11,10,11,11,10,11,11,9,9,9,10,9,11,9,11,11,11,11,11,10,11,11,10,11,10,11,11,9,11,10,11,10,9,10,9,10,10,11,11,11,11,9,10,9,10,11,11,10,11,11,11,11,11,11,10,11,11,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,6,5,9,9,10,10,6,7,9,9,10,10,10,10,5,10,8,10,8,10,10,8,8,10,9,10,10,10,10,5,8,9,10,10,10,10,8,10,10,10,10,10,10,10,9,10,10,10,10,10,10,9,9,10,10,10,10,10,10,9,9,8,9,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,8,10,10,10,10,10,10,10,10,10,10,10,10,10,6,8,8,10,10,10,8,10,10,10,10,10,10,10,10,5,8,8,10,10,10,9,9,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,5,5,6,6,7,7,8,8,8,8,4,6,6,7,7,8,7,8,8,8,8,4,6,6,7,7,7,7,8,8,8,8,6,7,7,7,7,8,8,8,8,8,9,6,7,7,7,7,8,8,8,8,9,9,7,7,7,8,8,8,8,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,9,8,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,5,8,8,10,10,12,12,4,7,7,8,8,9,9,12,11,14,13,4,7,7,7,8,9,10,11,11,13,12,5,8,8,9,9,11,11,12,13,15,14,5,7,8,9,9,11,11,13,13,17,15,8,9,10,11,11,12,13,17,14,17,16,8,10,9,11,11,12,12,13,15,15,17,10,11,11,12,13,14,15,15,16,16,17,9,11,11,12,12,14,15,17,15,15,16,11,14,12,14,15,16,15,16,16,16,15,11,13,13,14,14,15,15,16,16,15,16,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,4,6,5,7,7,8,8,8,8,8,8,4,5,6,7,7,8,8,8,8,8,8,6,7,7,8,8,8,8,9,9,9,9,6,7,7,8,8,8,8,9,9,9,9,7,8,8,8,8,9,9,9,10,9,10,7,8,8,8,8,9,9,9,9,10,9,8,8,8,9,9,10,10,10,10,10,10,8,8,8,9,9,9,9,10,10,10,10,8,8,8,9,9,9,10,10,10,10,10,8,8,8,9,9,10,10,10,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,4,8,8,4,8,8,5,11,9,8,12,11,8,12,11,5,10,11,8,11,12,8,11,12,4,11,11,11,14,13,10,13,13,8,14,13,12,14,16,12,16,15,8,14,14,13,16,14,12,15,16,4,11,11,10,14,13,11,14,14,8,15,14,12,15,15,12,14,16,8,14,14,11,16,15,12,15,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,6,6,7,7,9,9,4,4,4,6,6,8,8,9,9,4,4,4,6,6,7,7,9,9,6,6,6,7,7,8,8,10,9,6,6,6,7,7,8,8,9,10,7,8,7,8,8,9,9,10,10,7,8,8,8,8,9,9,10,10,9,9,9,10,10,10,10,11,11,9,9,9,10,10,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,8,8,8,10,10,4,5,6,8,8,8,8,10,10,7,8,8,9,9,9,9,11,11,7,8,8,9,9,9,9,11,11,7,8,8,10,9,11,11,12,11,7,8,8,9,9,11,11,12,12,9,10,10,11,11,12,12,13,12,9,10,10,11,11,12,12,12,13,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,6,6,7,9,9,6,6,6,9,9,9,10,9,11,11,9,9,10,11,11,6,7,7,10,9,7,7,8,9,10,7,7,8,10,10,10,10,10,10,12,9,9,10,11,12,6,7,7,9,9,7,8,7,10,10,7,8,7,10,10,9,10,9,12,11,10,10,9,12,10,9,10,10,12,11,10,10,10,12,12,9,10,10,12,12,12,11,12,13,13,11,11,12,12,13,9,10,10,11,12,9,10,10,12,12,10,10,10,12,12,11,12,11,14,13,11,12,12,14,13,5,7,7,10,10,7,8,8,10,10,7,8,7,10,10,10,10,10,12,12,10,10,10,12,12,6,8,7,10,10,7,7,9,10,11,8,9,9,11,10,10,10,11,11,13,10,10,11,12,13,6,8,8,10,10,7,9,8,11,10,8,9,9,10,11,10,11,10,13,11,10,11,10,12,12,10,11,10,12,11,10,10,10,12,13,10,11,11,13,12,11,11,13,11,14,12,12,13,14,14,9,10,10,12,13,10,11,10,13,12,10,11,11,12,13,11,12,11,14,12,12,13,13,15,14,5,7,7,10,10,7,7,8,10,10,7,8,8,10,10,10,10,10,11,12,10,10,10,12,12,7,8,8,10,10,8,9,8,11,10,7,8,9,10,11,10,11,11,12,12,10,10,11,11,13,7,7,8,10,10,8,8,9,10,11,7,9,7,11,10,10,11,11,13,12,11,11,10,13,11,9,10,10,12,12,10,11,11,13,12,10,10,11,12,12,12,13,13,14,14,11,11,12,12,14,10,10,11,12,12,10,11,11,12,13,10,10,10,13,12,12,13,13,15,14,12,13,10,14,11,8,10,10,12,12,10,11,10,13,13,9,10,10,12,12,12,13,13,15,14,11,12,12,13,13,9,10,10,13,12,10,10,11,13,13,10,11,10,13,12,12,12,13,14,15,12,13,12,15,13,9,10,10,12,13,10,11,10,13,12,10,10,11,12,13,12,14,12,15,13,12,12,13,14,15,11,12,11,14,13,11,11,12,14,15,12,13,12,15,14,13,11,15,11,16,13,14,14,16,15,11,12,12,14,14,11,12,11,14,13,12,12,13,14,15,13,14,12,16,12,14,14,14,15,15,8,10,10,12,12,9,10,10,12,12,10,10,11,13,13,11,12,12,13,13,12,13,13,14,15,9,10,10,13,12,10,11,11,13,12,10,10,11,13,13,12,13,12,15,14,12,12,13,13,16,9,9,10,12,13,10,10,11,12,13,10,11,10,13,13,12,12,13,13,15,13,13,12,15,13,11,12,12,14,14,12,13,12,15,14,11,11,12,13,14,14,14,14,16,15,13,12,15,12,16,11,11,12,13,14,12,13,13,14,15,10,12,11,14,13,14,15,14,16,16,13,14,11,15,11,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,8,8,6,7,7,9,9,5,7,7,9,9,9,10,9,11,11,9,9,10,11,11,6,8,8,10,10,8,9,10,11,11,8,9,10,11,11,10,11,11,12,13,10,11,11,13,13,6,8,8,10,10,8,10,9,11,11,8,10,9,11,11,10,11,11,13,13,10,11,11,13,12,9,11,11,14,13,10,12,12,15,14,10,12,11,14,13,12,13,13,15,15,12,13,13,16,14,9,11,11,13,14,10,11,12,14,14,10,12,12,14,15,12,13,13,14,15,12,13,14,15,16,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,14,8,10,10,12,12,9,11,12,12,13,10,12,12,13,13,12,12,13,14,15,11,13,13,15,15,7,10,10,12,12,9,12,11,13,12,10,11,12,13,13,12,13,12,15,14,11,12,13,15,15,10,12,12,15,14,11,13,13,16,15,11,13,13,16,15,14,13,14,15,16,13,15,15,17,17,10,12,12,14,15,11,12,12,15,15,11,13,13,15,16,13,15,13,16,15,13,15,15,16,17,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,14,7,10,10,12,12,10,12,12,14,13,9,11,12,12,13,12,13,13,15,15,12,12,13,13,15,7,10,10,12,13,10,11,12,13,13,10,12,11,13,13,11,13,13,15,15,12,13,12,15,14,9,12,12,15,14,11,13,13,15,15,11,12,13,15,15,13,14,14,17,19,13,13,14,16,16,10,12,12,14,15,11,13,13,15,16,11,13,12,16,15,13,15,15,17,18,14,15,13,16,15,8,11,11,15,14,10,12,12,16,15,10,12,12,16,16,14,15,15,18,17,13,14,15,16,18,9,12,12,15,15,11,12,14,16,17,11,13,13,16,15,15,15,15,17,18,14,15,16,17,17,9,12,12,15,15,11,14,13,16,16,11,13,13,16,16,15,16,15,17,18,14,16,15,17,16,12,14,14,17,16,12,14,15,18,17,13,15,15,17,17,15,15,18,16,20,15,16,17,18,18,11,14,14,16,17,13,15,14,18,17,13,15,15,17,17,15,17,15,18,17,15,17,16,19,18,8,11,11,14,15,10,12,12,15,15,10,12,12,16,16,13,14,14,17,16,14,15,15,17,17,9,12,12,15,16,11,13,13,16,16,11,12,13,16,16,14,16,15,20,17,14,16,16,17,17,9,12,12,15,16,11,13,13,16,17,11,13,13,17,16,14,15,15,17,18,15,15,15,18,18,11,14,14,17,16,13,15,15,17,17,13,14,14,18,17,15,16,16,18,19,15,15,17,17,19,11,14,14,16,17,13,15,14,17,19,13,15,14,18,17,15,17,16,18,18,15,17,15,18,16,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,5,6,6,5,6,6,5,6,6,6,7,8,6,7,8,5,6,6,6,8,7,6,8,7,5,6,6,6,8,8,6,8,8,6,8,8,7,7,10,8,9,9,6,8,8,7,9,8,8,9,10,5,6,6,6,8,8,7,8,8,6,8,8,8,10,9,7,8,9,6,8,8,8,9,9,7,10,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,7,7,10,10,7,9,10,5,7,8,7,10,9,7,10,10,5,8,8,8,10,10,8,10,10,7,10,10,10,11,12,10,12,13,7,10,10,9,13,11,10,12,13,5,8,8,8,10,10,8,10,10,7,10,10,10,12,12,9,11,12,7,10,11,10,12,12,10,13,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,7,10,9,11,10,15,11,13,16,6,4,6,6,7,7,10,9,12,16,10,6,5,6,6,7,10,11,16,16,9,6,7,6,7,7,10,8,14,16,11,6,5,4,5,6,8,9,15,16,9,6,6,5,6,6,9,8,14,16,12,7,6,6,5,6,6,7,13,16,8,6,7,6,5,5,4,4,11,16,9,8,9,9,7,7,6,5,13,16,14,14,16,15,16,15,16,16,16,16,0,0,0,0,2,0,0,0,64,0,0,0,136,239,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,226,4,0,0,0,0,0,0,0,0,0,0,0,0,0,232,226,4,0,0,0,0,0,0,0,0,0,0,0,0,0,16,227,4,0,0,0,0,0,0,0,0,0,0,0,0,0,56,227,4,0,0,0,0,0,0,0,0,0,0,0,0,0,96,227,4,0,0,0,0,0,136,227,4,0,176,227,4,0,0,0,0,0,0,0,0,0,216,227,4,0,0,228,4,0,40,228,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,81,0,0,0,32,239,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,120,239,4,0,0,0,0,0,4,0,0,0,81,0,0,0,184,238,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,16,239,4,0,0,0,0,0,4,0,0,0,113,2,0,0,40,236,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,238,4,0,0,0,0,0,4,0,0,0,113,2,0,0,152,233,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,236,4,0,0,0,0,0,2,0,0,0,81,0,0,0,24,233,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,112,233,4,0,0,0,0,0,2,0,0,0,169,0,0,0,48,232,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,224,232,4,0,0,0,0,0,2,0,0,0,25,0,0,0,248,231,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,24,232,4,0,0,0,0,0,4,0,0,0,81,0,0,0,144,231,4,0,1,0,0,0,0,176,19,225,0,176,19,97,2,0,0,0,0,0,0,0,232,231,4,0,0,0,0,0,2,0,0,0,225,0,0,0,104,230,4,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,80,231,4,0,0,0,0,0,2,0,0,0,185,1,0,0,80,228,4,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,16,230,4,0,0,0,0,0,1,6,6,7,8,7,7,10,9,10,9,11,10,9,11,10,9,9,9,9,10,6,8,7,9,9,8,8,10,10,9,11,11,12,12,10,9,11,9,12,10,9,6,9,8,9,12,8,8,11,9,11,11,12,11,12,12,10,11,11,10,10,11,7,10,9,9,9,9,9,10,9,10,9,10,10,12,10,10,10,11,12,10,10,7,9,9,9,10,9,9,10,10,9,9,9,11,11,10,10,10,10,9,9,12,7,9,10,9,11,9,10,9,10,11,11,11,10,11,12,9,12,11,10,10,10,7,9,9,9,9,10,12,10,9,11,12,10,11,12,12,11,9,10,11,10,11,7,9,10,10,11,10,9,10,11,11,11,10,12,12,12,11,11,10,11,11,12,8,9,10,12,11,10,10,12,12,12,12,12,10,11,11,9,11,10,12,11,11,8,9,10,10,11,12,11,11,10,10,10,12,12,12,9,10,12,12,12,12,12,8,10,11,10,10,12,9,11,12,12,11,12,12,12,12,10,12,10,10,10,10,8,12,11,11,11,10,10,11,12,12,12,12,11,12,12,12,11,11,11,12,10,9,10,10,12,10,12,10,12,12,10,10,10,11,12,12,12,11,12,12,12,11,10,11,12,12,12,11,12,12,11,12,12,11,12,12,12,12,11,12,12,10,10,10,10,11,11,12,11,12,12,12,12,12,12,12,11,12,11,10,11,11,12,11,11,9,10,10,10,12,10,10,11,9,11,12,11,12,11,12,12,10,11,10,12,9,9,9,12,11,10,11,10,12,10,12,10,12,12,12,11,11,11,11,11,10,9,10,10,11,10,11,11,12,11,10,11,12,12,12,11,11,9,12,10,12,9,10,12,10,10,11,10,11,11,12,11,10,11,10,11,11,11,11,12,11,11,10,9,10,10,10,9,11,11,10,9,12,10,11,12,11,12,12,11,12,11,12,11,10,11,10,12,11,12,11,12,11,12,10,11,10,10,12,11,10,11,11,11,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,5,5,6,5,9,10,11,11,10,10,10,10,10,10,5,8,8,8,10,10,10,10,10,10,10,10,10,10,10,5,8,9,9,9,10,10,10,10,10,10,10,10,10,10,5,10,8,10,10,10,10,10,10,10,10,10,10,10,10,4,8,9,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,5,6,6,4,6,6,6,6,4,6,6,6,6,6,6,6,7,7,6,6,6,7,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,10,10,12,12,13,13,18,17,3,6,6,9,9,11,11,13,13,14,14,18,17,3,6,6,9,9,11,11,13,13,14,14,17,18,7,9,9,11,11,13,13,14,14,15,15,0,0,7,9,9,11,11,13,13,14,14,15,16,19,18,10,11,11,13,13,14,14,16,15,17,18,0,0,10,11,11,13,13,14,14,15,15,16,18,0,0,11,13,13,14,14,15,15,17,17,0,19,0,0,11,13,13,14,14,14,15,16,18,0,19,0,0,13,14,14,15,15,18,17,18,18,0,19,0,0,13,14,14,15,16,16,16,18,18,19,0,0,0,16,17,17,0,17,19,19,0,19,0,0,0,0,16,19,16,17,18,0,19,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,8,8,8,9,9,4,6,6,8,8,8,8,9,9,7,8,8,9,9,9,9,11,10,7,8,8,9,9,9,9,10,11,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,9,9,10,10,11,11,12,12,9,9,9,10,10,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,6,6,6,9,9,6,6,6,9,9,9,10,9,11,11,9,9,9,11,11,6,7,7,10,10,7,7,8,10,10,7,7,8,10,10,10,10,10,11,12,9,10,10,11,12,6,7,7,10,10,7,8,7,10,10,7,8,7,10,10,10,11,10,12,11,10,10,10,13,10,9,10,10,12,12,10,11,10,14,12,9,11,11,13,13,11,12,13,13,13,11,12,12,15,13,9,10,10,12,13,9,11,10,12,13,10,10,11,12,13,11,12,12,12,13,11,12,12,13,13,5,7,7,10,10,7,8,8,10,10,7,8,8,10,10,10,11,10,12,13,10,10,11,12,12,6,8,8,11,10,7,8,9,10,12,8,9,9,11,11,11,10,11,11,12,10,11,11,13,12,7,8,8,10,11,8,9,8,11,10,8,9,9,11,11,10,12,10,13,11,10,11,11,13,13,10,11,10,14,13,10,10,11,13,13,10,12,11,14,13,12,11,13,12,13,13,12,13,14,14,10,11,11,13,13,10,11,10,12,13,10,12,12,12,14,12,12,12,14,12,12,13,12,17,15,5,7,7,10,10,7,8,8,10,10,7,8,8,11,10,10,10,11,12,12,10,11,11,12,13,6,8,8,11,10,8,9,9,11,11,7,8,9,10,11,11,11,11,12,12,10,10,11,12,13,6,8,8,10,11,8,9,9,11,11,7,9,7,11,10,10,12,12,13,13,11,11,10,13,11,9,11,10,14,13,11,11,11,15,13,10,10,11,13,13,12,13,13,14,14,12,11,12,12,13,10,11,11,12,13,10,11,12,13,13,10,11,10,13,12,12,12,13,14,0,12,13,11,13,11,8,10,10,13,13,10,11,11,14,13,10,11,11,13,12,13,14,14,14,15,12,12,12,15,14,9,11,10,13,12,10,10,11,13,14,11,11,11,15,12,13,12,14,15,16,13,13,13,14,13,9,11,11,12,12,10,12,11,13,13,10,11,11,13,14,13,13,13,15,15,13,13,14,17,15,11,12,12,14,14,10,11,12,13,15,12,13,13,0,15,13,11,14,12,16,14,16,14,0,15,11,12,12,14,16,11,13,12,16,15,12,13,13,14,15,12,14,12,15,13,15,14,14,16,16,8,10,10,13,13,10,11,10,13,14,10,11,11,13,13,13,13,12,14,14,14,13,13,16,17,9,10,10,12,14,10,12,11,14,13,10,11,12,13,14,12,12,12,15,15,13,13,13,14,14,9,10,10,13,13,10,11,12,12,14,10,11,10,13,13,13,13,13,14,16,13,13,13,14,14,11,12,13,15,13,12,14,13,14,16,12,12,13,13,14,13,14,14,17,15,13,12,17,13,16,11,12,13,14,15,12,13,14,14,17,11,12,11,14,14,13,16,14,16,0,14,15,11,15,11,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,7,7,6,7,7,8,8,6,7,8,8,8,8,9,9,11,11,8,9,9,11,11,6,9,8,10,10,8,10,10,11,11,8,10,10,11,11,10,11,10,13,12,9,11,10,13,13,6,8,9,10,10,8,10,10,11,11,8,10,10,11,11,9,10,11,13,12,10,10,11,12,12,8,11,11,14,13,10,12,11,15,13,9,12,11,15,14,12,14,13,16,14,12,13,13,17,14,8,11,11,13,14,9,11,12,14,15,10,11,12,13,15,11,13,13,14,16,12,13,14,14,16,5,9,9,11,11,9,11,11,12,12,8,11,11,12,12,11,12,12,15,14,10,12,12,15,15,8,11,11,13,12,10,12,12,13,13,10,12,12,14,13,12,12,13,14,15,11,13,13,17,16,7,11,11,13,13,10,12,12,14,13,10,12,12,13,14,12,13,12,15,14,11,13,13,15,14,9,12,12,16,15,11,13,13,17,16,10,13,13,16,16,13,14,15,15,16,13,15,14,19,17,9,12,12,14,16,11,13,13,15,16,10,13,13,17,16,13,14,13,17,15,12,15,15,16,17,5,9,9,11,11,8,11,11,13,12,9,11,11,12,12,10,12,12,14,15,11,12,12,14,14,7,11,10,13,12,10,12,12,14,13,10,11,12,13,13,11,13,13,15,16,12,12,13,15,15,7,11,11,13,13,10,13,13,14,14,10,12,12,13,13,11,13,13,16,15,12,13,13,15,14,9,12,12,15,15,10,13,13,17,16,11,12,13,15,15,12,15,14,18,18,13,14,14,16,17,9,12,12,15,16,10,13,13,15,16,11,13,13,15,16,13,15,15,17,17,13,15,14,16,15,7,11,11,15,16,10,13,12,16,17,10,12,13,15,17,15,16,16,18,17,13,15,15,17,18,8,12,12,16,16,11,13,14,17,18,11,13,13,18,16,15,17,16,17,19,14,15,15,17,16,8,12,12,16,15,11,14,13,18,17,11,13,14,18,17,15,16,16,18,17,13,16,16,18,18,11,15,14,18,17,13,14,15,18,0,12,15,15,0,17,17,16,17,17,18,14,16,18,18,0,11,14,14,17,0,12,15,14,17,19,12,15,14,18,0,15,18,16,0,17,14,18,16,18,0,7,11,11,16,15,10,12,12,18,16,10,13,13,16,15,13,15,14,17,17,14,16,16,19,18,8,12,12,16,16,11,13,13,18,16,11,13,14,17,16,14,15,15,19,18,15,16,16,0,19,8,12,12,16,17,11,13,13,17,17,11,14,13,17,17,13,15,15,17,19,15,17,17,19,0,11,14,15,19,17,12,15,16,18,18,12,14,15,19,17,14,16,17,0,18,16,16,19,17,0,11,14,14,18,19,12,15,14,17,17,13,16,14,17,16,14,17,16,18,18,15,18,15,0,18,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,7,8,9,7,8,9,5,7,7,7,9,8,7,9,7,4,7,7,7,9,9,7,8,8,6,9,8,7,8,11,9,11,10,6,8,9,8,11,8,9,10,11,4,7,7,7,8,8,7,9,9,6,9,8,9,11,10,8,8,11,6,8,9,9,10,11,8,11,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,8,5,8,8,8,10,10,8,10,11,5,8,8,8,10,10,8,10,10,4,9,9,9,12,11,8,11,11,8,12,11,10,12,14,10,13,13,7,11,11,10,14,12,11,14,14,4,9,9,8,11,11,9,11,12,7,11,11,10,13,14,10,12,14,8,11,12,10,14,14,10,13,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,5,8,7,14,8,9,19,5,2,5,5,9,6,9,19,8,4,5,7,8,9,13,19,7,4,6,5,9,6,9,19,12,8,7,9,10,11,13,19,8,5,8,6,9,6,7,19,8,8,10,7,7,4,5,19,12,17,19,15,18,13,11,18,9,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,9,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,112,199,64,0,0,0,0,0,136,211,64,0,0,0,0,0,124,229,64,0,0,0,0,0,255,244,64,200,47,1,0,32,240,4,0,200,47,1,0,64,240,4,0,200,47,1,0,128,240,4,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,248,45,5,0,248,45,5,0,32,46,5,0,32,46,5,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,32,5,5,0,32,5,5,0,72,5,5,0,72,5,5,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,8,6,5,0,8,6,5,0,72,5,5,0,72,5,5,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,192,240,4,0,192,240,4,0,232,240,4,0,232,240,4,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,168,241,4,0,168,241,4,0,232,240,4,0,232,240,4,0,2,0,0,0,100,0,0,0,184,4,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,242,4,0,0,0,0,0,0,0,0,0,0,0,0,0,96,242,4,0,0,0,0,0,0,0,0,0,0,0,0,0,136,242,4,0,0,0,0,0,0,0,0,0,0,0,0,0,176,242,4,0,0,0,0,0,216,242,4,0,0,243,4,0,0,0,0,0,0,0,0,0,40,243,4,0,80,243,4,0,0,0,0,0,0,0,0,0,120,243,4,0,160,243,4,0,0,0,0,0,0,0,0,0,200,243,4,0,240,243,4,0,0,0,0,0,0,0,0,0,24,244,4,0,64,244,4,0,104,244,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,208,241,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,9,9,9,8,9,10,13,16,5,4,5,6,7,7,8,9,12,16,6,5,5,5,7,7,9,10,12,15,7,6,5,4,5,6,8,9,10,13,8,7,7,5,5,5,7,9,10,12,7,7,7,6,5,5,6,7,10,12,8,8,8,7,7,5,5,6,9,11,8,9,9,8,8,6,6,5,8,11,10,11,12,12,11,9,9,8,9,12,13,14,15,15,14,12,12,11,11,13,0,0,0,0,4,0,0,0,81,0,0,0,80,4,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,4,5,0,0,0,0,0,4,0,0,0,113,2,0,0,192,1,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,4,5,0,0,0,0,0,2,0,0,0,81,0,0,0,64,1,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,152,1,5,0,0,0,0,0,2,0,0,0,33,1,0,0,208,255,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,248,0,5,0,0,0,0,0,4,0,0,0,81,0,0,0,104,255,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,192,255,4,0,0,0,0,0,2,0,0,0,121,0,0,0,184,254,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,56,255,4,0,0,0,0,0,2,0,0,0,169,0,0,0,208,253,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,128,254,4,0,0,0,0,0,2,0,0,0,25,0,0,0,152,253,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,184,253,4,0,0,0,0,0,2,0,0,0,169,0,0,0,176,252,4,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,96,253,4,0,0,0,0,0,2,0,0,0,121,0,0,0,0,252,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,128,252,4,0,0,0,0,0,2,0,0,0,225,0,0,0,216,250,4,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,192,251,4,0,0,0,0,0,2,0,0,0,185,1,0,0,192,248,4,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,128,250,4,0,0,0,0,0,2,0,0,0,33,1,0,0,80,247,4,0,1,0,0,0,0,24,157,225,0,24,61,97,5,0,0,0,0,0,0,0,120,248,4,0,0,0,0,0,2,0,0,0,105,1,0,0,144,245,4,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,0,247,4,0,0,0,0,0,1,0,0,0,49,0,0,0,144,244,4,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,200,244,4,0,0,0,0,0,2,4,4,4,4,5,5,5,5,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,7,8,8,10,9,11,10,13,11,14,13,6,6,6,8,8,8,8,8,7,9,8,11,9,13,11,14,12,14,13,5,6,6,8,8,8,8,8,8,9,9,11,11,13,11,14,13,15,15,17,8,8,8,8,9,9,9,8,11,9,12,10,13,11,14,12,14,13,17,8,8,8,8,9,9,9,9,10,10,11,11,13,13,13,14,16,15,17,12,12,8,8,9,9,10,10,11,11,12,11,13,12,13,12,14,13,16,12,12,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,17,17,17,9,9,9,9,11,11,12,12,12,13,13,13,16,14,14,14,17,17,17,9,8,9,8,11,10,12,12,13,13,14,14,15,15,16,16,17,17,17,12,12,10,10,11,12,12,13,13,14,13,15,15,14,16,15,17,17,17,12,12,10,8,12,9,13,12,14,14,15,14,15,16,16,16,17,17,17,17,17,11,11,12,12,14,14,14,16,15,16,15,16,15,17,17,17,17,17,17,11,9,12,10,13,11,15,14,16,16,17,16,16,15,17,17,17,17,17,15,15,12,12,14,14,15,16,16,15,16,16,17,17,17,17,17,17,17,14,14,12,10,14,11,15,12,17,16,15,16,17,16,17,17,17,17,17,17,17,13,13,14,14,14,16,17,17,16,17,17,17,17,17,17,17,17,17,17,13,9,13,12,15,13,16,16,17,17,17,17,17,17,17,17,17,17,17,15,17,14,14,15,16,16,17,16,17,16,17,17,17,17,17,17,17,17,17,17,14,13,15,16,16,17,16,17,17],"i8",N3,x.GLOBAL_BASE+315120),E3([17,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,4,3,10,8,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,11,11,11,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,11,10,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,10,9,10,10,10,10,11,11,11,8,8,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,11,11,11,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,10,10,6,6,6,8,8,9,9,8,8,9,9,10,10,11,11,6,5,5,8,7,9,9,8,8,9,9,10,10,11,11,20,8,8,8,8,9,9,9,9,10,10,11,10,12,11,20,8,8,8,8,9,9,9,9,10,10,11,11,12,12,20,12,12,9,9,10,10,10,10,11,11,12,12,13,12,20,13,13,9,9,10,10,10,10,11,11,12,12,13,13,20,20,20,9,9,9,9,10,10,11,11,12,12,13,12,20,20,20,9,9,9,8,10,10,12,11,12,12,13,13,20,20,20,13,13,10,10,11,11,12,12,13,13,13,13,20,20,20,13,13,10,10,11,10,12,11,13,13,14,14,20,20,20,20,20,11,11,11,11,12,12,13,13,14,14,20,20,20,20,20,11,10,11,11,13,11,13,13,14,14,20,20,21,21,21,14,14,11,12,13,13,13,13,14,14,21,21,21,21,21,15,15,12,11,13,12,14,13,15,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,7,7,9,9,9,6,7,7,7,7,7,8,8,9,9,9,6,6,7,7,7,7,8,8,9,9,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,7,7,8,8,9,9,9,7,7,8,8,7,7,8,8,9,9,9,9,9,8,8,7,7,8,8,9,9,9,9,9,8,8,7,7,8,8,9,9,9,9,9,7,7,7,7,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,8,10,9,10,10,5,5,5,7,7,9,9,10,10,11,10,12,11,6,5,5,7,7,9,9,10,10,11,11,12,12,20,7,7,7,7,9,9,10,10,11,11,12,12,20,7,7,7,7,9,9,11,10,12,11,12,12,20,11,11,8,8,10,10,11,11,12,12,13,13,20,12,12,8,8,9,9,11,11,12,12,13,13,20,20,21,10,10,10,10,11,11,12,12,13,13,21,21,21,10,10,10,10,11,11,12,12,13,13,21,21,21,14,14,11,11,12,12,13,13,13,14,21,21,21,16,15,11,11,12,11,13,13,14,14,21,21,21,21,21,13,13,12,12,13,13,14,14,21,21,21,21,21,13,13,12,12,13,13,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,7,8,8,9,9,10,10,5,5,5,7,7,9,9,9,9,11,11,12,12,6,5,5,7,7,9,9,10,9,11,11,12,12,0,7,7,7,7,9,9,10,10,11,11,12,12,0,7,7,7,7,9,9,10,10,11,11,12,12,0,11,11,8,8,10,10,11,11,12,12,13,13,0,12,12,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,6,6,7,7,7,7,11,10,10,6,6,7,7,8,8,8,8,10,10,10,6,6,7,7,8,8,8,8,11,11,11,7,7,8,8,8,8,9,9,11,11,11,6,7,8,8,8,8,9,9,11,11,11,7,7,8,8,8,8,8,8,11,11,11,7,7,8,8,8,8,9,9,11,11,11,8,8,8,8,8,8,8,8,11,11,11,11,11,8,8,8,8,8,8,12,11,11,11,11,8,8,8,8,8,8,12,11,11,11,11,7,7,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,6,6,10,11,10,10,10,11,4,6,6,10,10,11,10,11,10,5,10,10,9,12,11,10,12,12,7,10,10,12,12,12,12,13,13,7,11,10,11,12,12,12,13,13,6,11,10,10,12,12,11,12,12,7,11,10,12,13,13,12,12,12,7,10,11,12,13,13,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,6,7,7,8,8,8,8,9,9,0,0,0,6,6,7,7,8,8,8,8,9,9,10,10,11,10,0,0,0,6,6,7,7,8,8,8,8,9,9,10,10,10,10,0,0,0,6,6,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,6,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,10,10,11,11,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,11,11,12,12,0,0,0,7,8,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,5,5,7,7,8,8,0,0,0,6,6,8,8,9,9,0,0,0,6,6,8,8,9,9,0,0,0,7,7,8,9,10,10,0,0,0,7,7,9,9,10,10,0,0,0,8,8,9,9,11,11,0,0,0,7,7,9,9,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,7,7,0,0,0,8,8,0,0,0,8,8,0,0,0,8,8,0,0,0,8,8,4,4,4,8,7,0,0,0,8,8,0,0,0,8,8,0,0,0,9,9,0,0,0,9,9,4,4,4,7,8,0,0,0,8,8,0,0,0,8,8,0,0,0,9,9,0,0,0,9,9,7,8,8,10,9,0,0,0,12,11,0,0,0,11,12,0,0,0,14,13,0,0,0,14,14,7,8,8,9,10,0,0,0,11,12,0,0,0,11,11,0,0,0,14,14,0,0,0,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,8,11,11,0,0,0,12,11,0,0,0,12,12,0,0,0,13,12,0,0,0,13,13,8,8,8,11,11,0,0,0,11,11,0,0,0,12,12,0,0,0,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,8,12,11,0,0,0,12,12,0,0,0,12,11,0,0,0,13,13,0,0,0,13,13,8,8,8,11,12,0,0,0,11,12,0,0,0,11,12,0,0,0,13,14,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,9,14,14,0,0,0,13,13,0,0,0,13,13,0,0,0,13,12,0,0,0,13,13,8,9,9,14,14,0,0,0,13,13,0,0,0,13,13,0,0,0,12,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,9,14,14,0,0,0,13,13,0,0,0,13,13,0,0,0,13,13,0,0,0,13,12,8,9,9,14,14,0,0,0,13,13,0,0,0,13,13,0,0,0,13,13,0,0,0,12,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,3,3,0,0,0,0,0,0,4,5,5,0,0,0,0,0,0,4,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,7,10,12,11,12,13,15,16,18,15,10,8,8,8,9,10,12,13,14,17,10,7,7,7,7,8,10,12,15,18,10,7,7,5,5,6,8,10,13,15,10,7,6,5,4,4,6,9,12,15,11,7,7,5,4,3,4,7,11,13,12,9,8,7,5,4,4,5,10,13,11,11,11,9,7,5,5,5,9,12,13,12,13,12,10,8,8,7,9,13,14,14,14,14,13,11,11,10,10,13,0,0,0,0,2,0,0,0,100,0,0,0,144,45,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,232,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,16,7,5,0,0,0,0,0,0,0,0,0,0,0,0,0,56,7,5,0,0,0,0,0,96,7,5,0,136,7,5,0,0,0,0,0,0,0,0,0,176,7,5,0,216,7,5,0,0,0,0,0,0,0,0,0,0,8,5,0,40,8,5,0,80,8,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,48,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,5,20,7,10,7,8,10,11,11,4,2,20,5,8,6,7,9,10,10,20,20,20,20,19,19,19,19,19,19,7,5,19,6,10,7,9,11,13,17,11,8,19,10,7,7,8,10,11,15,7,5,19,7,7,5,6,9,11,16,7,6,19,8,7,6,6,7,9,13,9,9,19,11,9,8,6,7,8,13,12,14,19,16,13,10,9,8,9,13,14,17,19,18,18,17,12,11,11,13,0,0,0,0,8,0,0,0,161,25,0,0,216,19,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,128,45,5,0,0,0,0,0,4,0,0,0,113,2,0,0,72,17,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,19,5,0,0,0,0,0,2,0,0,0,81,0,0,0,200,16,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,32,17,5,0,0,0,0,0,2,0,0,0,81,0,0,0,72,16,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,160,16,5,0,0,0,0,0,2,0,0,0,33,1,0,0,216,14,5,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,0,16,5,0,0,0,0,0,4,0,0,0,81,0,0,0,112,14,5,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,200,14,5,0,0,0,0,0,2,0,0,0,121,0,0,0,192,13,5,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,64,14,5,0,0,0,0,0,2,0,0,0,169,0,0,0,216,12,5,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,136,13,5,0,0,0,0,0,2,0,0,0,25,0,0,0,160,12,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,12,5,0,0,0,0,0,2,0,0,0,169,0,0,0,184,11,5,0,1,0,0,0,0,136,93,225,0,176,19,97,4,0,0,0,0,0,0,0,104,12,5,0,0,0,0,0,2,0,0,0,225,0,0,0,144,10,5,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,120,11,5,0,0,0,0,0,2,0,0,0,185,1,0,0,120,8,5,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,56,10,5,0,0,0,0,0,1,4,4,6,6,7,7,8,7,8,8,9,9,9,9,10,10,10,9,10,10,11,12,12,8,8,8,8,9,9,9,9,10,10,10,10,10,11,11,10,12,11,11,13,11,7,7,8,8,8,8,9,9,9,10,10,10,10,9,10,10,11,11,12,11,11,8,8,8,8,9,9,10,10,10,10,11,11,11,11,11,11,11,12,11,12,12,8,8,9,9,9,9,9,10,10,10,10,10,10,11,11,11,11,11,11,12,11,9,9,9,9,10,10,10,10,11,10,11,11,11,11,11,11,12,12,12,12,11,9,9,9,9,10,10,10,10,11,11,11,11,11,11,11,11,11,12,12,12,13,9,10,10,9,11,10,10,10,10,11,11,11,11,11,10,11,12,11,12,12,11,12,11,10,9,10,10,11,10,11,11,11,11,11,11,11,11,11,12,12,11,12,12,12,10,10,10,11,10,11,11,11,11,11,11,11,11,11,11,11,12,13,12,12,11,9,10,10,11,11,10,11,11,11,12,11,11,11,11,11,12,12,13,13,12,13,10,10,12,10,11,11,11,11,11,11,11,11,11,12,12,11,13,12,12,12,12,13,12,11,11,11,11,11,11,12,11,12,11,11,11,11,12,12,13,12,11,12,12,11,11,11,11,11,12,11,11,11,11,12,11,11,12,11,12,13,13,12,12,12,12,11,11,11,11,11,12,11,11,12,11,12,11,11,11,11,13,12,12,12,12,13,11,11,11,12,12,11,11,11,12,11,12,12,12,11,12,13,12,11,11,12,12,11,12,11,11,11,12,12,11,12,11,11,11,12,12,12,12,13,12,13,12,12,12,12,11,11,12,11,11,11,11,11,11,12,12,12,13,12,11,13,13,12,12,11,12,10,11,11,11,11,12,11,12,12,11,12,12,13,12,12,13,12,12,12,12,12,11,12,12,12,11,12,11,11,11,12,13,12,13,13,13,13,13,12,13,13,12,12,13,11,11,11,11,11,12,11,11,12,11,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,4,4,8,8,12,13,14,14,14,14,14,14,6,6,6,6,6,10,9,14,14,14,14,14,14,14,14,7,6,5,6,6,10,9,12,13,13,13,13,13,13,13,13,7,7,9,9,11,11,12,13,13,13,13,13,13,13,13,7,7,8,8,11,12,13,13,13,13,13,13,13,13,13,12,12,10,10,13,12,13,13,13,13,13,13,13,13,13,12,12,10,10,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,6,5,5,7,8,8,9,8,8,9,9,10,11,6,5,5,8,8,9,9,8,8,9,10,10,11,0,8,8,8,9,9,9,9,9,10,10,11,11,0,9,9,9,8,9,9,9,9,10,10,11,11,0,13,13,9,9,10,10,10,10,11,11,12,12,0,14,13,9,9,10,10,10,10,11,11,12,12,0,0,0,10,10,9,9,11,11,12,12,13,12,0,0,0,10,10,9,9,10,10,12,12,13,13,0,0,0,13,14,11,10,11,11,12,12,13,14,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,12,12,12,12,13,13,14,15,0,0,0,0,0,12,12,12,12,13,13,14,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,6,7,7,7,7,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,9,9,10,10,10,10,10,8,8,8,8,9,9,10,10,10,10,10,9,9,8,8,9,9,10,10,10,10,10,8,8,8,8,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,6,7,6,6,4,7,7,10,9,10,10,10,9,4,7,7,10,10,10,11,10,10,6,10,10,11,11,11,11,10,10,6,10,9,11,11,11,11,10,10,6,10,10,11,11,11,11,10,10,7,11,11,11,11,11,12,12,11,6,10,10,11,10,10,11,11,11,6,10,10,10,11,10,11,11,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,6,6,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,9,10,9,10,10,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,11,12,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,10,10,11,10,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,5,5,6,6,8,8,0,0,0,7,7,7,7,9,9,0,0,0,7,7,7,7,9,9,0,0,0,8,8,8,8,9,9,0,0,0,8,8,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,10,10,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,2,3,7,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,8,9,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,9,11,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,11,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,8,9,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,9,11,9],"i8",N3,x.GLOBAL_BASE+325360),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,6,17,8,12,9,10,10,12,13,5,2,17,4,9,5,7,8,11,13,16,16,16,16,16,16,16,16,16,16,6,4,16,5,10,5,7,10,14,16,13,9,16,11,8,7,8,9,13,16,7,4,16,5,7,4,6,8,11,13,8,6,16,7,8,5,5,7,9,13,9,8,16,9,8,6,6,7,9,13,11,11,16,10,10,7,7,7,9,13,13,13,16,13,13,9,9,9,10,13,0,0,0,0,2,0,0,0,100,0,0,0,88,85,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,46,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,47,5,0,0,0,0,0,0,0,0,0,0,0,0,0,48,47,5,0,0,0,0,0,0,0,0,0,0,0,0,0,88,47,5,0,0,0,0,0,0,0,0,0,0,0,0,0,128,47,5,0,0,0,0,0,168,47,5,0,208,47,5,0,0,0,0,0,0,0,0,0,248,47,5,0,32,48,5,0,0,0,0,0,0,0,0,0,72,48,5,0,112,48,5,0,152,48,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,160,59,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,72,85,5,0,0,0,0,0,4,0,0,0,113,2,0,0,16,57,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,59,5,0,0,0,0,0,2,0,0,0,81,0,0,0,144,56,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,232,56,5,0,0,0,0,0,2,0,0,0,81,0,0,0,16,56,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,104,56,5,0,0,0,0,0,2,0,0,0,33,1,0,0,160,54,5,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,200,55,5,0,0,0,0,0,4,0,0,0,81,0,0,0,56,54,5,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,144,54,5,0,0,0,0,0,2,0,0,0,121,0,0,0,136,53,5,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,8,54,5,0,0,0,0,0,2,0,0,0,169,0,0,0,160,52,5,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,80,53,5,0,0,0,0,0,2,0,0,0,25,0,0,0,104,52,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,52,5,0,0,0,0,0,4,0,0,0,81,0,0,0,0,52,5,0,1,0,0,0,0,176,19,225,0,176,19,97,2,0,0,0,0,0,0,0,88,52,5,0,0,0,0,0,2,0,0,0,225,0,0,0,216,50,5,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,192,51,5,0,0,0,0,0,2,0,0,0,185,1,0,0,192,48,5,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,128,50,5,0,0,0,0,0,1,5,5,7,8,8,7,9,9,9,12,12,11,12,12,10,10,11,12,12,12,11,12,12,8,9,8,7,9,10,10,11,11,10,11,12,10,12,10,12,12,12,11,12,11,9,8,8,9,10,9,8,9,10,12,12,11,11,12,11,10,11,12,11,12,12,8,9,9,9,10,11,12,11,12,11,11,11,11,12,12,11,11,12,12,11,11,9,9,8,9,9,11,9,9,10,9,11,11,11,11,12,11,11,10,12,12,12,9,12,11,10,11,11,11,11,12,12,12,11,11,11,12,10,12,12,12,10,10,9,10,9,10,10,9,9,9,10,10,12,10,11,11,9,11,11,10,11,11,11,10,10,10,9,9,10,10,9,9,10,11,11,10,11,10,11,10,11,11,10,11,11,11,10,9,10,10,9,10,9,9,11,9,9,11,10,10,11,11,10,10,11,10,11,8,9,11,11,10,9,10,11,11,10,11,11,10,10,10,11,10,9,10,10,11,9,10,10,9,11,10,10,10,10,11,10,11,11,9,11,10,11,10,10,11,11,10,10,10,9,10,10,11,11,11,9,10,10,10,10,10,11,10,10,10,9,10,10,11,10,10,10,10,10,9,10,11,10,10,10,10,11,11,11,10,10,10,10,10,11,10,11,10,11,10,10,10,9,11,11,10,10,10,11,11,10,10,10,10,10,10,10,10,11,11,9,10,10,10,11,10,11,10,10,10,11,9,10,11,10,11,10,10,9,10,10,10,11,10,11,10,10,10,10,10,11,11,10,11,11,10,10,11,11,10,9,9,10,10,10,10,10,9,11,9,10,10,10,11,11,10,10,10,10,11,11,11,10,9,9,10,10,11,10,10,10,10,10,11,11,11,10,10,10,11,11,11,9,10,10,10,10,9,10,9,10,11,10,11,10,10,11,11,10,11,11,11,11,11,10,11,10,10,10,9,11,11,10,11,11,11,11,11,11,11,11,11,10,11,10,10,10,10,11,10,10,11,9,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,5,5,5,5,9,11,11,10,10,10,10,10,10,10,7,6,6,6,6,10,10,10,10,10,10,10,10,10,10,7,6,6,6,6,10,9,10,10,10,10,10,10,10,10,10,7,7,8,9,10,10,10,10,10,10,10,10,10,10,10,8,7,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,5,5,7,7,7,6,6,7,7,7,5,5,7,7,7,6,6,7,7,7,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,6,8,8,10,10,6,5,6,8,8,8,8,8,8,8,9,10,10,7,6,6,8,8,8,8,8,8,8,8,10,10,0,8,8,8,8,9,8,9,9,9,10,10,10,0,9,8,8,8,9,9,8,8,9,9,10,10,0,12,11,8,8,9,9,9,9,10,10,11,10,0,12,13,8,8,9,10,9,9,11,11,11,12,0,0,0,8,8,8,8,10,9,12,13,12,14,0,0,0,8,8,8,9,10,10,12,12,13,14,0,0,0,13,13,9,9,11,11,0,0,14,0,0,0,0,14,14,10,10,12,11,12,14,14,14,0,0,0,0,0,11,11,13,13,14,13,14,14,0,0,0,0,0,12,13,13,12,13,14,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,4,6,6,7,7,8,8,8,8,10,10,10,7,7,8,8,8,9,9,9,10,10,10,6,7,8,8,8,8,9,8,10,10,10,7,7,8,8,9,9,9,9,10,10,10,7,7,8,8,9,9,8,9,10,10,10,8,8,9,9,9,9,9,9,11,11,11,8,8,9,9,9,9,9,10,10,11,11,9,9,9,9,9,9,9,10,11,11,11,10,11,9,9,9,9,10,9,11,11,11,10,11,10,10,9,9,10,10,11,11,11,11,11,9,9,9,9,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,6,7,6,6,4,7,7,11,10,10,11,11,10,4,7,7,10,10,10,11,10,10,6,10,10,11,11,11,11,11,10,6,9,9,11,12,12,11,9,9,6,9,10,11,12,12,11,9,10,7,11,11,11,11,11,12,13,12,6,9,10,11,10,10,12,13,13,6,10,9,11,10,10,11,12,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,4,6,6,7,7,8,8,8,8,9,9,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,11,11,11,0,0,0,6,6,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,13,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,10,10,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,13,13,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,13,13,13,14,0,0,0,0,0,10,10,10,11,11,11,12,12,13,13,13,14,0,0,0,0,0,0,0,10,10,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,12,13,13,14,15,14,0,0,0,0,0,0,0,12,12,12,12,13,13,13,14,14,15,0,0,0,0,0,0,0,0,0,12,12,13,13,14,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,6,6,8,8,0,0,0,7,7,7,7,8,8,0,0,0,7,7,7,7,8,8,0,0,0,7,7,8,8,9,9,0,0,0,7,7,8,8,9,9,0,0,0,8,9,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,10,10,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,2,7,8,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,6,6,7,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,6,6,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,9,9,12,0,0,0,0,0,0,10,12,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,9,12,10,0,0,0,0,0,0,10,11,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,10,12,11,0,0,0,0,0,0,9,10,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,10,11,12,0,0,0,0,0,0,9,12,9],"i8",N3,x.GLOBAL_BASE+339320),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,19,7,9,7,8,11,9,12,4,1,19,6,7,7,8,10,11,13,18,18,18,18,18,18,18,18,18,18,8,6,18,8,9,9,11,12,14,18,9,6,18,9,7,8,9,11,12,18,7,6,18,8,7,7,7,9,11,17,8,8,18,9,7,6,6,8,11,17,10,10,18,12,9,8,7,9,12,18,13,15,18,15,13,11,10,11,15,18,14,18,18,18,18,18,16,16,18,18,0,0,0,0,0,0,0,0,0,64,207,64,0,0,0,0,0,88,219,64,0,0,0,0,0,106,232,64,0,0,0,0,0,249,245,64,0,0,0,0,0,0,35,64,0,0,0,0,0,0,38,64,0,0,0,0,0,0,62,64,0,0,0,0,0,192,88,64,0,0,0,0,0,76,205,64,0,0,0,0,0,136,211,64,0,0,0,0,0,124,229,64,0,0,0,0,0,255,244,64,0,0,0,0,0,76,221,64,0,0,0,0,0,130,228,64,0,0,0,0,0,100,233,64,0,0,0,0,0,64,239,64,0,0,0,0,0,148,241,64,0,0,0,0,0,11,243,64,0,0,0,0,0,255,244,64,0,0,0,0,0,118,246,64,0,0,0,0,0,219,250,64,0,0,0,0,0,76,253,64,0,0,0,0,0,23,1,65,0,0,0,0,128,49,7,65,154,153,153,153,153,153,40,64,0,0,0,0,0,0,42,64,0,0,0,0,0,0,42,64,0,0,0,0,0,0,44,64,0,0,0,0,0,0,46,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,148,209,64,0,0,0,0,0,88,219,64,0,0,0,0,0,23,225,64,0,0,0,0,0,249,229,64,0,0,0,0,0,88,235,64,0,0,0,0,0,76,237,64,0,0,0,0,128,79,242,64,0,0,0,0,0,249,245,64,0,0,0,0,0,106,248,64,0,0,0,0,128,19,252,64,0,0,0,0,128,79,2,65,0,0,0,0,128,49,7,65,0,0,0,0,0,64,223,64,0,0,0,0,0,112,231,64,0,0,0,0,0,76,237,64,0,0,0,0,0,23,241,64,0,0,0,0,0,136,243,64,0,0,0,0,0,255,244,64,0,0,0,0,0,112,247,64,0,0,0,0,0,219,250,64,0,0,0,0,0,76,253,64,0,0,0,0,0,23,1,65,0,0,0,0,0,136,3,65,0,0,0,0,8,76,13,65,0,0,0,0,0,88,203,64,0,0,0,0,0,136,211,64,0,0,0,0,0,88,219,64,0,0,0,0,0,142,226,64,0,0,0,0,0,118,230,64,0,0,0,0,0,94,234,64,0,0,0,0,128,79,242,64,0,0,0,0,0,112,247,64,0,0,0,0,0,76,253,64,0,0,0,0,0,23,1,65,0,0,0,0,0,249,5,65,0,0,0,0,8,76,13,65,88,88,5,0,104,113,5,0,88,88,5,0,200,113,5,0,88,88,5,0,40,114,5,0,88,88,5,0,136,114,5,0,88,88,5,0,232,114,5,0,88,88,5,0,72,115,5,0,168,115,5,0,184,140,5,0,168,115,5,0,24,141,5,0,168,115,5,0,120,141,5,0,168,115,5,0,216,141,5,0,168,115,5,0,56,142,5,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,30,0,0,0,208,111,7,0,24,201,7,0,24,201,7,0,64,201,7,0,64,201,7,0,2,0,0,0,0,0,0,0,30,0,0,0,208,111,7,0,0,202,7,0,0,202,7,0,64,201,7,0,64,201,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,40,202,7,0,40,202,7,0,80,202,7,0,80,202,7,0,2,0,0,0,0,0,0,0,15,0,0,0,208,111,7,0,0,162,7,0,0,162,7,0,40,162,7,0,40,162,7,0,2,0,0,0,0,0,0,0,30,0,0,0,208,111,7,0,232,162,7,0,232,162,7,0,40,162,7,0,40,162,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,16,163,7,0,16,163,7,0,56,163,7,0,56,163,7,0,2,0,0,0,0,0,0,0,15,0,0,0,208,111,7,0,232,122,7,0,232,122,7,0,16,123,7,0,16,123,7,0,2,0,0,0,0,0,0,0,30,0,0,0,208,111,7,0,208,123,7,0,208,123,7,0,16,123,7,0,16,123,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,248,123,7,0,248,123,7,0,32,124,7,0,32,124,7,0,2,0,0,0,0,0,0,0,15,0,0,0,72,198,6,0,0,59,7,0,0,59,7,0,40,59,7,0,40,59,7,0,2,0,0,0,0,0,0,0,30,0,0,0,72,198,6,0,232,59,7,0,232,59,7,0,40,59,7,0,40,59,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,16,60,7,0,16,60,7,0,56,60,7,0,56,60,7,0,2,0,0,0,0,0,0,0,15,0,0,0,72,198,6,0,48,6,7,0,48,6,7,0,88,6,7,0,88,6,7,0,2,0,0,0,0,0,0,0,30,0,0,0,72,198,6,0,24,7,7,0,24,7,7,0,88,6,7,0,88,6,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,64,7,7,0,64,7,7,0,104,7,7,0,104,7,7,0,2,0,0,0,0,0,0,0,15,0,0,0,72,198,6,0,96,209,6,0,96,209,6,0,136,209,6,0,136,209,6,0,2,0,0,0,0,0,0,0,30,0,0,0,72,198,6,0,72,210,6,0,72,210,6,0,136,209,6,0,136,209,6,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,112,210,6,0,112,210,6,0,152,210,6,0,152,210,6,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2],"i8",N3,x.GLOBAL_BASE+349504),E3([2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2],"i8",N3,x.GLOBAL_BASE+360488),E3([2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,120,145,6,0,120,145,6,0,160,145,6,0,160,145,6,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,96,146,6,0,96,146,6,0,160,145,6,0,160,145,6,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,136,146,6,0,136,146,6,0,176,146,6,0,176,146,6,0,2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,176,96,6,0,176,96,6,0,216,96,6,0,216,96,6,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,152,97,6,0,152,97,6,0,216,96,6,0,216,96,6,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,216,165,5,0,216,165,5,0,0,166,5,0,0,166,5,0,2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,136,46,6,0,136,46,6,0,176,46,6,0,176,46,6,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,112,47,6,0,112,47,6,0,176,46,6,0,176,46,6,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,216,165,5,0,216,165,5,0,0,166,5,0,0,166,5,0,2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,24,241,5,0,24,241,5,0,64,241,5,0,64,241,5,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,0,242,5,0,0,242,5,0,64,241,5,0,64,241,5,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,216,165,5,0,216,165,5,0,0,166,5,0,0,166,5,0,2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,176,153,5,0,176,153,5,0,216,153,5,0,216,153,5,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,152,154,5,0,152,154,5,0,216,153,5,0,216,153,5,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,216,165,5,0,216,165,5,0,0,166,5,0,0,166,5,0,0,0,0,0,255,255,255,255,255,255,255,255,8,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,x.GLOBAL_BASE+363696),E3([1,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,16,241,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,169,5,0,0,0,0,0,0,0,0,0,16,170,5,0,0,0,0,0,0,0,0,0,56,170,5,0,96,170,5,0,0,0,0,0,0,0,0,0,136,170,5,0,176,170,5,0,0,0,0,0,0,0,0,0,216,170,5,0,0,171,5,0,0,0,0,0,0,0,0,0,40,171,5,0,80,171,5,0,0,171,5,0,0,0,0,0,120,171,5,0,160,171,5,0,200,171,5,0,240,171,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,224,169,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,2,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,x.GLOBAL_BASE+366508),E3([32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,216,169,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,166,5,0,232,166,5,0,0,0,0,0,0,0,0,0,16,167,5,0,56,167,5,0,96,167,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,240,168,5,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,160,169,5,0,0,0,0,0,2,0,0,0,25,0,0,0,184,168,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,168,5,0,0,0,0,0,2,0,0,0,9,0,0,0,152,168,5,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,168,168,5,0,0,0,0,0,1,0,0,0,25,0,0,0,16,168,5,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,48,168,5,0,0,0,0,0,1,0,0,0,25,0,0,0,136,167,5,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,168,167,5,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,2,3,4,5,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,5,6,6,6,6,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,4,4,5,5,4,5,5,5,5,4,5,5,5,5,5,5,5,4,5,5,5,5,5,4,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,10,10,12,12,12,12,13,12,5,5,5,8,6,11,9,12,12,13,12,12,12,4,5,5,6,8,9,11,12,12,13,12,12,12,7,7,8,9,9,11,8,12,9,12,12,12,12,7,8,8,9,9,8,11,9,12,12,12,11,12,10,10,10,11,11,11,11,11,10,11,11,12,11,10,10,10,11,11,11,11,10,11,11,11,11,12,11,11,11,12,11,12,11,12,11,13,11,13,11,11,11,11,11,12,11,12,10,13,11,12,11,13,12,12,12,13,12,13,13,13,12,14,12,14,13,12,12,12,12,13,13,13,12,14,12,14,13,14,13,14,14,14,14,14,14,14,14,15,14,15,14,13,14,13,14,14,14,14,14,15,14,14,14,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,1,3,0,0,0,0,3,3,3,3,3,3,3,3,5,0,0,0,243,0,0,0,8,240,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,0,241,5,0,0,0,0,0,5,0,0,0,53,12,0,0,184,227,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,240,239,5,0,0,0,0,0,5,0,0,0,243,0,0,0,176,226,5,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,168,227,5,0,0,0,0,0,5,0,0,0,243,0,0,0,168,225,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,160,226,5,0,0,0,0,0,5,0,0,0,243,0,0,0,160,224,5,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,152,225,5,0,0,0,0,0,5,0,0,0,53,12,0,0,80,212,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,224,5,0,0,0,0,0,5,0,0,0,53,12,0,0,0,200,5,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,56,212,5,0,0,0,0,0,1,0,0,0,7,0,0,0,216,199,5,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,224,199,5,0,0,0,0,0,5,0,0,0,243,0,0,0,208,198,5,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,200,199,5,0,0,0,0,0,5,0,0,0,243,0,0,0,200,197,5,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,192,198,5,0,0,0,0,0,5,0,0,0,53,12,0,0,120,185,5,0,1,0,0,0,0,106,152,225,0,106,120,97,3,0,0,0,0,0,0,0,176,197,5,0,0,0,0,0,5,0,0,0,53,12,0,0,40,173,5,0,1,0,0,0,0,136,83,225,0,136,51,97,3,0,0,0,0,0,0,0,96,185,5,0,0,0,0,0,1,0,0,0,25,0,0,0,160,172,5,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,192,172,5,0,0,0,0,0,1,0,0,0,25,0,0,0,24,172,5,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,56,172,5,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,10,10,10,11,11,11,12,12,12,13,13,13,13,13,13,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,16,16,4,9,11,15,16,4,12,8,16,16,12,16,16,16,16,13,16,16,16,16,5,8,10,16,16,9,9,14,15,16,12,14,14,16,16,16,16,16,16,16,16,16,16,16,16,5,11,8,16,15,12,14,16,16,16,9,15,9,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,6,11,11,16,16,12,13,16,16,16,12,16,14,16,16,16,16,16,16,16,16,16,16,16,16,11,15,15,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,15,16,16,16,16,16,16,16,16,14,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,5,11,11,16,16,12,15,16,16,16,12,16,14,16,16,16,16,16,16,16,16,16,16,16,16,12,15,15,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,11,15,15,16,16,16,16,16,16,16,15,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,6,11,12,16,16,11,15,16,16,16,13,16,14,16,16,16,16,16,16,16,16,16,16,16,16,11,16,14,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,14,14,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,8,13,15,16,16,15,15,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,7,12,12,16,16,13,12,16,16,16,14,16,14,16,16,16,16,16,16,16,16,16,16,16,16,13,16,16,16,16,14,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,14,16,16,16,16,16,16,16,16,14,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,6,11,11,16,16,13,15,16,16,16,11,15,14,16,16,16,16,16,16,16,14,16,16,16,16,11,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,11,16,14,16,16,14,16,16,16,16,13,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,7,11,11,16,16,13,13,16,16,16,13,16,13,16,16,16,16,16,16,16,16,16,16,16,16,12,16,15,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,14,16,16,16,16,16,16,16,16,14,16,13,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,8,13,14,16,16,15,16,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,15,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,6,7,7,7,7,7,7,7,7,7,7,8,7,8,8,7,8,8,7,8,7,7,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,8,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,5,5,7,7,5,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,5,7,8,8,9,10,8,9,10,8,9,10,10,10,12,10,11,11,8,10,10,10,11,12,10,11,10,5,8,7,8,10,10,8,10,9,8,10,10,10,10,11,10,12,11,8,10,9,10,11,11,10,12,10,5,8,8,7,9,10,8,10,9,7,9,10,9,10,11,9,11,11,8,10,9,10,11,11,9,11,10,7,9,9,9,10,11,9,11,11,9,9,11,10,10,13,11,12,12,9,11,11,11,12,13,11,13,11,7,9,9,9,10,11,9,11,10,9,11,10,10,10,12,11,13,12,9,11,11,11,12,12,10,12,10,5,8,8,8,9,10,7,10,9,8,9,10,9,10,11,10,11,11,7,10,9,9,11,11,9,11,10,7,9,9,9,10,11,9,11,10,9,11,11,10,10,12,11,12,12,9,10,11,11,12,13,10,12,10,7,9,9,9,11,11,9,11,10,9,11,11,11,11,13,11,13,12,9,11,9,11,12,12,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,4,6,6,9,9,6,7,8,10,11,6,8,7,10,10,8,10,10,12,12,8,10,10,12,12,6,7,8,10,10,7,8,9,10,11,8,9,9,11,11,10,10,11,12,13,10,11,11,13,13,6,8,7,10,10,8,9,9,11,11,7,9,8,11,10,10,11,11,13,13,10,11,10,13,12,9,10,10,11,12,10,10,11,12,13,10,11,11,12,13,12,12,13,12,14,12,13,13,14,14,9,10,10,12,11,10,11,11,13,12,10,11,10,13,12,12,13,13,14,14,12,13,12,14,12,7,8,8,10,11,8,9,10,11,12,8,9,9,11,12,10,11,12,13,14,10,11,11,13,13,8,9,10,11,12,9,10,11,12,13,10,10,11,12,12,11,12,12,13,14,11,12,12,14,14,8,9,9,11,12,10,10,11,12,13,9,10,10,12,12,11,12,12,14,14,11,12,12,14,13,11,11,12,12,13,11,12,12,13,14,12,12,13,14,14,13,13,14,14,16,13,14,14,15,15,11,12,11,13,13,12,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,15,14,7,8,8,11,10,8,10,9,12,11,8,10,9,12,11,10,11,11,13,13,10,12,11,14,13,8,9,9,12,11,9,10,10,12,12,10,11,10,13,12,11,12,12,13,14,11,12,12,14,14,8,10,9,12,11,10,11,10,12,12,9,11,10,13,11,11,12,12,14,14,11,12,12,14,13,11,11,12,13,13,11,12,12,13,14,12,12,12,14,14,13,13,14,14,15,13,14,14,15,15,11,12,11,13,12,12,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,15,14,10,11,11,12,13,11,12,12,13,14,11,12,12,13,14,13,13,14,14,16,13,14,14,15,15,11,12,12,12,14,12,12,13,13,15,12,13,13,13,15,14,14,15,15,16,14,14,15,15,16,11,12,12,13,14,12,13,13,14,15,12,13,13,14,14,14,14,15,15,16,14,14,14,15,15,13,14,14,14,15,14,14,15,15,16,14,15,15,15,16,15,15,16,16,18,16,16,16,17,17,13,14,14,15,15,14,14,15,16,16,14,14,14,16,15,16,16,16,17,17,15,16,16,17,16,10,11,11,13,12,11,12,12,14,13,11,12,12,14,13,13,14,14,15,15,13,14,13,16,14,11,12,12,14,13,12,13,13,14,14,12,13,13,15,14,14,14,14,15,15,14,15,14,16,15,11,12,12,14,12,12,13,13,15,14,12,13,12,15,13,14,15,14,16,15,14,15,14,16,15,13,14,14,15,15,14,14,14,15,16,14,15,14,16,16,15,16,16,16,17,16,16,16,17,17,13,14,14,15,14,14,15,15,16,15,14,15,14,16,15,16,16,16,17,17,15,16,15,18,16,6,8,8,11,11,8,9,10,11,12,8,10,9,12,12,10,11,11,13,13,10,12,11,14,13,8,9,9,11,12,9,10,10,12,12,9,10,10,12,12,11,11,12,13,14,11,12,12,14,14,8,10,9,12,11,10,11,11,12,12,9,11,10,13,12,11,12,12,14,14,11,12,12,14,13,10,11,11,13,13,11,12,12,13,14,11,12,12,14,14,13,13,14,13,15,13,14,14,15,15,11,12,11,13,13,12,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,15,14,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,13,14,11,12,12,14,14,9,9,10,11,12,10,10,11,12,13,10,10,11,12,13,12,12,13,13,15,12,12,13,14,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,14,15,12,13,12,14,14,11,11,12,12,14,12,12,13,13,14,12,12,13,13,14,13,13,14,14,16,14,14,14,15,15,11,12,12,14,13,12,13,13,14,14,12,13,13,15,14,14,14,14,16,16,13,14,14,16,14,7,9,9,12,11,9,10,10,12,12,9,11,10,13,12,11,12,12,13,14,11,13,12,14,13,9,10,10,12,12,10,10,11,12,13,10,12,11,13,13,12,12,13,13,14,12,13,13,15,14,9,10,10,12,12,11,11,11,13,13,10,12,10,13,12,12,13,13,14,15,12,13,12,15,13,11,12,12,14,13,12,12,13,13,14,12,13,13,15,14,13,13,14,13,16,14,15,14,16,15,12,12,12,14,14,13,13,13,14],"i8",N3,x.GLOBAL_BASE+369616),E3([14,12,13,12,14,13,14,15,15,16,16,13,14,13,16,13,10,11,12,13,14,11,12,13,13,15,12,12,13,14,14,13,14,14,15,16,13,14,14,16,15,12,12,13,12,14,12,12,13,13,15,13,13,13,13,15,14,14,15,14,16,14,15,15,15,16,12,13,12,14,14,13,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,15,16,16,13,14,14,13,16,14,14,15,14,16,14,14,15,14,16,15,15,16,15,18,16,16,16,16,17,14,14,14,16,15,14,15,15,16,16,14,15,15,16,16,16,16,16,17,17,15,16,16,17,16,10,12,11,14,13,12,13,13,14,14,12,13,12,15,14,14,14,14,15,15,14,15,14,16,15,12,13,12,14,13,12,13,13,15,14,13,14,13,15,14,14,15,15,16,16,14,15,15,17,15,12,13,12,14,14,13,14,14,15,15,13,14,13,15,14,15,15,15,16,16,14,15,15,17,15,14,14,14,16,15,14,15,15,16,16,14,15,15,16,15,16,16,16,16,17,16,17,16,18,17,14,14,14,16,15,15,15,15,16,16,14,15,14,16,15,16,16,17,17,17,15,16,15,17,16,6,8,8,11,11,8,9,10,12,12,8,10,9,12,11,10,11,12,13,13,10,11,11,13,13,8,9,10,11,12,9,10,11,12,13,10,11,11,12,12,11,12,12,13,14,11,12,12,14,14,8,9,9,12,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,14,11,12,11,14,13,11,11,12,13,13,11,12,12,13,14,12,12,12,14,14,13,13,14,14,15,13,14,14,15,15,10,11,11,13,13,11,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,15,13,7,9,9,11,12,9,10,11,12,13,9,10,10,12,12,11,12,13,13,14,11,12,12,14,14,9,10,10,12,12,10,10,11,12,13,11,12,11,13,13,12,12,13,13,15,12,13,13,15,14,9,10,10,12,12,10,11,12,13,13,10,11,10,13,12,12,13,13,14,15,12,13,12,14,13,12,12,12,14,14,12,12,13,13,14,13,13,13,15,14,14,13,14,13,16,14,15,15,16,16,11,12,12,13,14,12,13,13,14,15,12,13,12,14,13,14,14,15,15,16,13,14,13,15,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,14,11,12,11,14,13,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,12,13,14,15,12,13,13,15,14,9,10,9,12,11,10,11,10,13,12,10,11,10,13,12,12,13,12,14,14,12,13,12,15,13,11,12,12,13,14,12,13,13,14,14,12,13,13,14,14,14,14,14,14,16,14,14,14,16,15,11,12,11,14,12,12,13,12,15,13,12,13,12,15,13,14,14,14,16,15,13,14,13,16,14,10,11,12,13,14,12,12,13,13,15,12,13,13,14,14,14,14,15,15,16,14,14,14,15,16,12,12,13,14,14,12,13,14,14,15,13,14,14,15,15,14,15,15,15,17,15,15,15,16,16,12,12,13,13,14,13,13,14,14,15,12,13,13,14,15,15,15,15,15,17,14,15,15,15,15,14,14,14,16,16,14,15,15,15,16,15,15,15,16,16,16,15,16,16,18,16,16,17,17,17,14,14,14,15,16,15,15,15,16,17,14,15,14,16,16,16,16,17,17,18,16,16,15,17,16,10,12,11,14,13,12,12,12,14,14,11,13,12,14,13,13,14,14,15,15,13,14,13,16,15,12,12,13,14,14,12,13,13,15,15,13,13,13,15,15,14,15,15,16,16,14,15,15,17,16,12,13,12,14,12,13,13,13,15,13,12,13,12,15,13,14,15,15,16,15,14,15,14,16,14,14,14,14,16,16,14,15,15,16,16,14,15,15,16,16,15,16,16,16,17,16,17,16,18,17,13,14,14,16,13,14,15,15,16,14,14,15,14,16,14,16,16,16,17,16,15,16,15,18,15,9,11,11,13,13,11,12,12,14,14,11,12,12,14,14,13,14,14,15,15,13,14,14,15,15,11,12,12,14,14,11,12,13,14,15,12,13,13,15,14,13,14,14,15,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,14,14,14,14,16,16,14,15,14,16,15,12,13,13,14,15,12,13,14,15,16,13,14,14,16,16,14,14,15,16,17,15,15,15,17,17,13,14,14,15,15,14,15,14,16,16,14,15,14,16,15,15,16,16,17,17,15,16,15,17,16,10,12,12,13,14,11,12,13,14,14,12,13,12,14,14,13,14,14,15,16,13,14,14,16,15,11,12,12,14,14,12,12,13,14,15,12,13,13,15,15,13,13,15,15,17,14,14,15,16,16,12,13,12,14,14,12,13,13,15,15,12,13,13,15,14,14,15,15,16,16,14,15,14,16,16,13,12,14,13,16,13,13,15,14,16,14,13,15,15,16,14,14,16,15,17,15,15,16,16,17,13,14,14,16,15,14,15,15,16,16,14,15,14,16,15,16,16,16,17,17,15,16,16,18,16,10,12,12,14,14,12,12,13,14,14,12,13,12,15,14,13,14,14,15,16,14,15,14,16,15,11,12,12,14,14,12,13,13,14,15,13,14,13,15,15,14,14,15,15,16,14,15,15,17,16,12,13,13,14,14,13,13,14,15,15,12,14,13,15,15,14,15,15,16,16,14,15,15,17,15,13,14,13,15,15,13,14,14,15,16,14,15,14,17,16,15,15,15,15,17,16,16,16,18,17,14,14,14,16,16,15,15,15,16,16,14,15,14,16,16,16,16,17,17,17,16,16,16,17,16,11,12,13,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,15,17,16,12,13,13,14,15,13,13,14,14,16,13,14,14,15,16,15,14,16,15,17,15,15,16,16,17,12,13,13,15,15,13,14,14,16,16,13,14,14,16,15,15,15,16,17,17,15,16,15,17,16,14,14,15,13,16,15,14,16,14,17,15,15,16,14,17,16,15,17,15,18,16,16,17,16,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,16,17,17,18,18,16,17,15,18,16,11,12,12,14,14,13,13,14,14,15,13,14,13,16,14,15,15,15,16,16,15,16,15,17,16,12,13,13,15,14,13,13,14,15,15,14,15,14,16,15,15,15,16,15,16,16,16,16,18,16,12,13,13,15,15,14,14,15,15,16,13,14,13,16,15,16,16,16,17,17,15,16,15,17,15,14,15,14,16,15,14,15,15,16,16,15,16,15,17,16,16,15,16,15,17,17,18,17,18,17,15,15,15,16,16,16,16,16,17,17,14,15,15,17,16,17,17,18,18,18,16,17,15,18,15,9,11,11,13,13,11,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,15,15,11,12,12,14,14,12,13,13,14,15,12,13,13,14,14,14,14,15,15,16,14,14,14,16,16,11,12,12,14,14,12,13,13,14,15,11,13,12,14,14,13,14,14,16,16,13,14,14,16,15,13,14,14,15,15,14,14,15,15,16,14,15,14,16,16,15,15,16,16,17,15,16,16,17,17,12,13,13,15,15,13,14,14,16,15,12,14,13,16,15,15,16,15,17,17,14,15,15,17,15,10,12,12,14,14,12,12,13,14,15,12,13,12,14,14,14,14,15,15,16,13,14,14,16,16,12,13,13,14,14,13,13,14,14,15,13,14,13,15,15,14,15,15,15,17,14,15,15,16,16,11,12,12,14,14,13,13,14,15,15,12,13,13,15,14,14,15,15,16,17,14,15,14,16,15,14,14,14,16,16,14,15,15,16,16,15,15,15,16,16,15,16,16,16,18,16,17,16,18,17,13,13,14,15,15,14,14,15,16,16,13,14,14,16,15,16,16,17,17,17,15,15,15,17,15,10,12,12,14,13,12,12,13,14,14,11,13,12,14,14,13,14,14,16,16,13,14,14,16,15,12,12,13,14,14,12,13,13,14,15,13,13,13,15,15,14,14,15,16,16,14,15,15,16,16,11,12,12,14,14,12,13,13,15,15,12,13,12,15,14,14,15,14,16,16,13,15,13,16,15,13,14,14,15,16,14,15,15,15,17,14,15,15,16,16,16,15,16,16,17,16,16,16,17,17,13,14,12,16,13,14,15,13,16,15,13,15,13,16,14,15,16,15,17,16,15,16,14,17,15,11,12,12,14,15,13,13,14,14,16,13,14,13,15,14,15,15,16,16,17,15,15,15,16,16,12,13,13,15,15,13,13,14,15,16,14,15,14,16,15,15,15,16,15,17,16,16,16,17,17,12,13,13,14,15,14,14,15,15,16,13,14,13,15,15,16,16,16,17,17,15,16,15,16,15,15,15,15,16,16,14,15,15,16,17,16,16,16,17,17,16,15,17,15,18,17,18,17,18,18,14,14,15,15,17,15,15,16,16,17,14,15,15,16,16,17,17,17,17,18,16,16,15,17,15,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,14,17,16,13,13,13,15,15,13,14,14,15,16,13,14,14,16,16,15,15,16,16,17,15,16,16,17,17,12,13,13,15,14,13,14,14,16,15,13,14,13,16,14,15,16,16,17,16,15,16,14,17,15,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,15,17,16,18,16,17,17,18,18,14,15,14,16,13,15,16,15,17,14,15,16,14,17,14,16,17,16,18,16,16,17,15,18,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,6,8,8,10,9,8,9,9,10,10,8,9,9,10,10,8,10,10,10,10,8,10,10,10,10,9,9,9,10,10,9,10,10,10,11,9,10,10,11,11,10,10,10,11,11,10,10,10,11,11,9,9,9,10,10,9,10,10,11,11,9,10,10,11,10,10,10,10,11,11,10,10,10,11,11,10,10,10,10,11,10,10,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,11,10,10,11,11,11,11,10,11,10,11,11,11,11,11,11,11,10,11,11,11,11,9,10,10,10,11,10,10,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,10,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,12,12,12,11,11,11,12,12,10,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,9,10,10,11,10,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,12,12,12,11,11,11,12,12,10,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,11,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,7,10,10,11,11,10,10,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,10,10,11,11,10,11,11,11,11,11,11,11,11,12,11,11,11,12,12,11,11,11,12,12,10,11,11,11,11,11,11,11,12,11,11,11,11,12,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,11,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,12,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,10,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,11,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,7,10,10,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,12,12,12,11,11,11,12,12,10,10,10,11,11,11,11,11,12,11,10,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,11,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,10,10,10,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,11,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,13,12,13,12,12,13,13,13,13,12,13,13,13,13,8,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,8,11,11,11,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,13,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,13,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,4,7,7,4,7,6,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,6,7,8,8,9,10,8,10,10,8,9,10,10,11,12,10,11,12,8,10,10,10,11,12,10,12,11,6,8,7,8,10,10,8,10,9,8,10,10,10,11,12,10,12,12,8,10,9,10,12,11,10,12,11,5,8,8,8,10,10,8,10,10,7,9,10,9,10,11,10,11,11,8,10,10,10,12,12,10,12,11,7,9,9,9,11,11,9,11,11,9,10,11,11,11,12,11,12,12,9,11,11,11,12,12,11,12,12,7,9,9,10,11,12,10,12,11,9,11,10,11,11,12,12,13,13,9,11,11,12,13,13,11,13,11,5,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,12,7,9,9,9,11,11,9,11,10,7,9,9,10,11,12,10,12,11,9,11,11,11,11,13,12,13,13,9,10,11,12,13,13,11,12,11,7,9,9,9,11,11,9,11,11,9,11,11,11,12,12,11,12,12,9,11,10,11,12,12,10,12,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,6,7,7,6,7,7,6,7,7,7,7,8,7,7,8,6,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,5,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,8,8,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,7,8,8,8,9,9,8,9,9,8,9,8,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,6,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,7,8,8,8,9,9,8,9,9,8,8,9,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,8,8,8,8,9,9,8,9,9,8,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,4,4,7,7,4,7,6,5,6,7,7,8,9,7,9,9,5,7,6,7,9,9,7,9,8,6,8,8,8,10,10,8,10,10,8,9,10,10,11,12,10,12,12,8,10,10,10,12,12,10,12,11,6,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,12,8,10,9,10,12,11,10,12,11,5,8,8,8,10,10,8,10,10,8,9,10,10,11,11,10,11,11,8,10,10,10,11,12,10,12,11,8,10,10,10,11,11,10,11,11,10,11,11,11,12,13,11,12,13,10,11,11,11,13,13,11,13,13,7,9,9,10,11,12,10,12,11,9,11,11,11,12,13,12,14,13,9,11,11,12,13,14,11,13,12,5,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,12,8,10,9,10,12,11,9,11,11,7,9,9,10,11,12,10,12,11,9,11,11,11,12,13,12,14,13,9,11,11,12,13,14,11,13,12,8,10,10,10,11,11,10,11,11,10,11,11,11,13,13,11,13,13,10,11,10,11,13,12,11,13,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,8,8,5,7,7,9,9,5,7,7,9,9,6,8,8,11,11,6,8,8,11,11,6,7,7,9,9,7,8,9,10,11,7,9,9,11,10,8,9,10,12,12,8,10,10,12,12,6,7,7,9,9,7,9,9,10,10,7,9,8,11,10,8,10,10,12,12,8,10,9,12,12,8,9,9,11,11,9,10,10,12,12,9,11,11,12,13,11,12,12,13,14,11,12,12,14,14,8,9,9,11,11,9,11,10,13,12,9,10,10,13,12,11,12,12,14,14,11,12,12,14,13,7,8,9,10,10,8,10,10,11,11,8,10,10,11,11,10,11,11,13,13,10,11,11,13,13,8,9,10,10,11,10,11,11,12,13,10,11,11,12,12,11,11,12,13,14,11,12,12,14,14,8,10,10,11,11,10,11,11,12,13,10,11,11,12,12,11,12,12,14,14,11,12,12,14,14,10,11,11,12,13,11,12,12,13,14,12,13,13,14,14,13,13,14,14,16,13,14,14,15,16,10,11,11,13,13,12,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,16,15,7,8,8,10,10,8,10,10,11,11,8,10,10,12,11,10,11,11,13,13,10,11,11,13,13,8,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,14,14,11,12,12,14,14,8,10,9,11,10,10,11,11,13,12,10,11,10,13,12,11,12,12,14,14,11,12,11,14,13,10,11,11,13,13,11,12,12,14,14,12,12,12,14,14,13,14,14,15,16,13,14,14,15,15,10,11,11,13,12,12,12,12,14,14,11,12,12,14,13,13,14,14,16,15,13,14,13,16,14,10,11,11,13,13,12,12,13,14,15,12,13,13,14,15,13,14,15,15,16,13,14,14,16,16,11,12,13,14,14,13,13,14,15,16,13,14,14,15,16,14,15,15,16,17,14,15,16,17,17,11,12,12,14,14,13,14,14,15,16,13,14,14,15,15,14,15,15,16,18,14,15,15,17,16,13,14,15,15,16,15,15,16,16,18,15,15,15,17,17,16,16,17,17,18,16,16,16,18,18,14,14,14,16,16,15,15,15,16,17,15,15,15,16,17,16,17,17,18,18,16,16,17,18,17,10,11,11,14,13,12,13,13,15,14,11,13,13,15,14,13,15,15,16,16,13,14,14,16,16,11,12,12,14,14,13,13,13,15,15,13,14,13,15,15,15,15,15,17,16,14,15,15,17,16,11,13,12,14,14,13,14,13,15,15,13,14,13,15,15,14,15,15,17,17,14,15,15,17,16,14,14,14,16,16,14,15,15,17,17,15,15,16,17,16,17,16,17,18,18,16,17,17,18,18,13,14,14,16,15,15,15,15,17,17,14,16,15,16,16,17,17,17,18,18,16,17,16,20,19,6,8,8,10,10,8,10,10,11,11,8,10,10,12,11,10,11,11,13,13,10,11,11,13,13,8,9,10,11,11,10,11,11,12,12,10,11,11,13,12,11,12,12,14,14,11,12,12,14,14,9,10,10,11,11,10,11,11,12,12,10,11,11,13,12,11,12,12,14,14,11,12,12,14,14,10,10,11,12,13,11,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,15,16,10,11,11,13,13,12,12,12,14,14,12,13,12,14,14,13,14,14,16,16,13,14,14,15,15,9,10,10,11,12,10,11,11,12,13,10,11,11,13,12,11,12,12,14,14,11,12,12,14,14,10,10,11,12,13,11,12,12,13,14,11,12,12,13,14,12,13,14,14,15,12,13,13,15,15,10,11,11,13,13,11,12,12,13,14,11,12,12,14,13,12,13,13,15,15,12,13,13,15,15,12,11,13,12,14,13,13,14,14,15,13,13,14,14,15,14,15,15,16,17,14,15,15,16,17,12,13,12,14,14,13,14,14,15,15,13,14,14,15,15,14,15,15,16,17,14,15,15,16,17,8,9,9,11,11,10,11,11,12,13,10,11,11,13,12,12,13,13,14,15,11,13,12,15,14,9,11,10,12,12,11,12,12,13,14,11,12,12,14,13,13,13,14,15,15,13,14,13,15,15,9,11,11,12,12,11,12,12,14,14,11,12,12,14,13,13,14,14,15,16,13,14,13,15,14,11,12,12,14,13,12,13,13,14,15,13,14,14,16,15,15,15,15,15,16,15,16,15,17,17,11,12,12,14,14,13,14,14,15,15,12,13,13,15,14,15,15,15,17,17,14,15,15,17,15,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,16,16,12,13,13,14,15,13,14,14,16,16,14,14,14,15,16,15,16,16,17,17,15,16,16,17,17,12,13,13,15,15,14,14,14,16,16,14,14,15,16,16,15,16,16,17,17,15,16,16,17,17,14,15,15,15,16,15,15,16,16,18,15,16,16,17,17,17,17,17,18,18,16,17,17,19,18,14,15,15,16,17,15,16,16,17,17,15,16,16,18,17,16,17,17,19,18,17,17,17,19,18,10,12,12,14,14,13,13,14,15,15,12,14,13,16,15,15,15,15,17,17,14,15,15,17,16,12,13,13,15,14,13,14,14,16,16,14,14,15,17,16,15,16,16,17,17,15,16,16,18,17,12,13,13,15,14,14,15,15,16,16,13,15,14,16,15,16,17,16,19,17,15,16,16,17,17,14,15,15,17,15,15,16,15,17,17,16,17,16,18,17,17,17,18,18,18,17,17,18,19,18,14,15,15,16,16,15,16,16,17,18,15,16,16,18,16,17,18,18,19,19,17,18,17,18,19,6,8,8,10,10,8,10,10,11,11,8,10,10,12,11,10,11,11,13,13,9,11,11,13,13,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,14,14,11,12,12,14,14,8,10,9,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,14,14,11,12,12,14,14,10,11,11,13,13,11,12,13,14,14,12,12,12,14,14,13,14,14,15,16,13,14,14,16,16,10,11,10,13,12,11,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,16,15,8,9,9,11,11,10,11,11,12,13,10,11,11,13,12,12,13,13,14,15,12,13,13,15,14,10,11,11,12,12,11,11,12,13,14,11,12,12,14,14,13,13,14,15,16,13,14,14,15,15,9,10,11,12,12,11,12,12,13,14,11,12,12,14,13,13,14,14,15,16,12,14,13,15,15,11,12,12,14,14,12,13,13,14,15,13,14,14,16,15,14,15,15,15,17,15,15,16,16,17,11,12,12,13,14,13,14,14,15,15,12,13,13,15,14,15,16,15,16,17,14,16,15,17,15,9,10,10,12,11,10,11,11,13,13,10,11,11,13,12,11,12,12,14,14,11,12,12,14,14,10,11,11,12,13,11,12,12,13,14,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,10,11,10,13,12,11,12,12,13,13,11,12,12,14,13,12,13,13,15,15,12,13,13,15,14,12,13,12,14,14,13,14,14,15,15,13,14,14,15,15,14,15,15,16,16,14,15,15,16,16,11,13,11,14,12,13,13,13,15,14,12,14,13,15,14,15,15,15,17,16,14,15,14,17,15,10,12,12,14,14,13,13,14,15,16,12,14,13,15,15,14,15,16,17,17,14,15,16,17,17,12,13,13,14,15,13,14,14,16,16,14,14,15,16,16,16,16,16,17,17,16,16,16,18,18,12,13,13,14,15,14,14,15,16,16,13,14,14,16,15,16,16,16,17,18,15,16,16,17,17,14,15,15,16,16,15,15,16,17,17,15,16,16,17,18,17,18,18,18,19,17,18,18,19,19,14,15,15,16,16,15,16,16,17,17,15,16,16,17,17,17,17,18,20,18,17,18,17,18,18,11,12,12,14,14,12,13,14,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,17,12,13,13,15,15,14,14,14,16,16,14,14,14,16,16,15,16,16,17,17,15,16,16,17,17,12,13,13,15,14,13,14,14,16,15,14,15,14,16,15,15,16,16,17,17,15,16,16,17,16,14,15,15,16,16,15,16,16,17,17,16,16,16,17,17,17,17,17,19,18,17,17,17,18,19,14,15,14,17,15,15,16,16,17,17,15,16,15,17,17,16,17,17,18,18,16,17,17,18,17,6,11,11,13,13,11,12,12,14,14,11,12,12,14,14,13,14,14,16,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,17,18,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,16,16,13,14,14,15,16,14,15,15,16,17,14,15,15,17,16,15,16,17,18,17,16,16,16,18,17,14,14,15,16,16,14,15,15,18,16,14,15,15,17,16,16,17,17,18,18,16,17,16,18,17,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,16,16,12,13,13,15,15,13,14,14,15,16,13,14,14,16,16,15,16,16,17,17,15,15,16,17,17,12,13,13,15,15,14,14,14,16,16,13,14,14,16,16,15,16,16,17,17,15,16,16,17,17,14,14,15,15,16,15,15,16,16,17,15,15,16,16,17,16,17,17,17,18,16,17,17,18,18,14,15,15,16,16,15,16,16,17,17,15,16,16,17,17,17,17,17,18,19,17,17,17,18,18,10,12,12,14,14,12,13,14,15,16,13,14,13,15,15,14,15,15,17,17,14,15,16,17,17,12,13,13,15,15,13,14,14,15,15,14,15,14,16,16,15,16,16,17,18,15,17,16,18,17,12,13,13,15,15,14,14,14,16,16,13,14,14,16,15,15,16,16,17,18,15,16,16,17,17,14,14,14,16,16,15,15,16,17,17,15,16,16,17,17,17,17,17,18,20,17,17,17,19,19,14,15,15,16,16,15,17,16,18,18,15,16,15,17,16,17,18,19,19,19,17,17,17,18,17,13,14,14,16,16,14,15,15,17,17,14,15,15,16,17,15,17,17,18,18,16,16,17,18,17,14,15,15,16,17,15,16,16,17,17,15,16,16,17,17,16,17,17,18,18,17,17,17,18,19,14,15,15,16,17,15,16,16,17,17,15,16,16,17,17,16,17,17,18,18,17,17,17,19,19,16,16,16,16,18,16,17,17,17,18,17,17,17,17,19,18,18,18,19,19,18,18,18,19,20,16,16,17,18,18,16,18,17,18,18,17,17,17,20,19,18,18,19,21,20,18,20,18,18,19,10,12,12,14,14,14,14,15,15,17,14,15,14,17,15,16,16,17,18,18,16,18,17,19,18,12,14,13,16,15,14,14,15,15,17,15,16,16,18,17,16,17,18,17,19,17,19,18,20,19,12,13,13,15,15,15,16,17,17,18,14,16,14,17,16,17,18,18,19,19,17,17,17,18,18,15,15,15,17,16,15,16,16,17,17,17,19,17,18,18,18,18,18,18,21,19,20,19,20,19,15,15,16,16,17,17,17,18,20,20,15,16,16,18,17,18,19,19,19,20,18,19,18,19,17,6,11,11,13,13,11,12,12,14,14,11,12,12,14,14,13,14,14,16,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,17,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,15,16,16,13,14,14,16,16,15,15,15,16,16,14,15,15,17,16,16,17,17,19,18,16,17,17,18,18,13,14,14,15,15,14,15,15,17,16,14,15,15,17,16,16,17,16,17,18,15,16,16,18,18,10,12,12,14,14,12,13,14,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,17,16,12,13,13,15,15,14,14,14,15,16,14,15,15,16,16,15,16,16,17,18,16,16,16,18,18,12,13,13,14,14,14,14,15,16,16,13,14,14,16,16,15,16,16,18,18,15,16,16,19,17,14,15,15,16,17,15,15,16,17,17,16,17,16,17,18,17,17,18,17,19,17,17,18,18,19,14,14,14,16,16,15,16,16,17,17,15,16,15,17,17,17,17,17,19,20,16,17,17,18,18,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,14,16,16,12,13,13,15,15,14,14,14,16,16,13,14,14,16,16,15,16,16,18,17,15,16,16,17,17,12,13,13,15,15,13,14,14,16,16,13,14,14,16,16,15,16,15,18,18,15,16,15,17,16,14,15,15,16,16,15,16,16,17,17,15,16,16,18,17,16,17,17,18,18,16,17,17,18,18,14,15,14,16,15,15,16,15,17,17,15,16,15,17,16,16,17,17,18,18,17,17,16,19,17,10,12,12,14,15,14,14,15,15,17,14,15,14,17,15,16,17,17,17,18,16,17,17,18,18,12,14,13,16,15,14,14,16,15,17,15,17,16,18,17,17,17,18,17,19,18,18,18,19,18,12,13,14,15,15,15,16,16,16,17,14,15,14,18,16,18,17,18,19,19,17,18,17,20,18,15,15,15,17,17,15,16,16,17,18,18,18,18,19,18,18,18,19,18,20,18,19,19,21,21,15,15,16,16,17,17,18,18,18,18,15,16,16,17,17,17,19,20,19,20,17,18,18,19,17,13,14,14,16,16,14,15,15,16,17,14,15,15,17,17,16,16,17,17,18,15,17,16,17,17,14,15,15,16,16,15,16,16,17,17,16,16,16,17,17,17,17,18,17,18,17,17,17,18,20,14,15,15,17,16,15,16,16,17,17,15,16,16,17,17,17,17,17,18,18,16,17,17,19,18,16,16,17,17,17,17,18,17,19,18,17,17,17,18,19,17,20,18,19,21,17,19,18,19,20,15,17,15,17,16,16,17,17,18,18,17,17,17,18,17,18,19,18,19,21,18,18,17,19,19,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,4,8,8,4,8,8,5,7,8,8,9,10,8,10,10,5,8,7,8,10,10,8,10,9,7,9,9,9,11,11,9,11,11,9,11,11,11,12,13,11,13,13,9,11,11,11,13,13,11,13,13,7,9,9,9,11,11,9,11,11,9,11,11,11,13,13,11,13,13,9,11,11,11,13,13,11,13,12,5,9,9,9,11,11,9,11,11,9,11,11,11,12,13,11,13,13,9,11,11,11,13,13,11,13,13,9,11,12,11,13,13,12,13,13,11,12,13,13,14,15,13,14,14,12,13,13,13,15,15,13,15,14,8,10,10,11,13,13,12,14,13,11,12,12,13,14,15,13,15,15,11,12,12,13,15,15,13,15,14,5,9,9,9,11,11,9,11,11,9,11,11,11,13,13,11,13,13,9,11,10,11,13,13,11,13,12,8,10,10,11,13,13,12,13,13,11,12,12,13,14,15,14,15,15,10,12,12,13,14,15,13,15,14,9,12,11,12,13,13,11,13,13,12,13,13,13,15,15,13,14,15,11,13,12,13,15,14,13,15,14,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,3,3,3,3,3,3,3,2,0,0,0,64,0,0,0,72,46,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,242,5,0,0,0,0,0,0,0,0,0,144,242,5,0,0,0,0,0,0,0,0,0,184,242,5,0,224,242,5,0,0,0,0,0,0,0,0,0,8,243,5,0,48,243,5,0,0,0,0,0,0,0,0,0,88,243,5,0,128,243,5,0,0,0,0,0,0,0,0,0,168,243,5,0,208,243,5,0,128,243,5,0,0,0,0,0,248,243,5,0,32,244,5,0,72,244,5,0,112,244,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,40,242,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,14,16,17,18,20,21,7,4,6,8,11,12,14,16,13,5,4,4,8,9,11,13,15,8,4,3,5,7,9,10,17,11,8,4,4,6,9,9,17,11,9,7,6,5,7,8,19,13,11,9,9,7,8,8,21,15,13,11,10,8,8,7,5,0,0,0,243,0,0,0,64,45,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,56,46,6,0,0,0,0,0,5,0,0,0,53,12,0,0,240,32,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,40,45,6,0,0,0,0,0,5,0,0,0,243,0,0,0,232,31,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,224,32,6,0,0,0,0,0,5,0,0,0,243,0,0,0,224,30,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,216,31,6,0,0,0,0,0,5,0,0,0,243,0,0,0,216,29,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,208,30,6,0,0,0,0,0,5,0,0,0,53,12,0,0,136,17,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,29,6,0,0,0,0,0,5,0,0,0,53,12,0,0,56,5,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,112,17,6,0,0,0,0,0,1,0,0,0,7,0,0,0,16,5,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,24,5,6,0,0,0,0,0,5,0,0,0,243,0,0,0,8,4,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,0,5,6,0,0,0,0,0,5,0,0,0,243],"i8",N3,x.GLOBAL_BASE+379856),E3([3,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,248,3,6,0,0,0,0,0,5,0,0,0,243,0,0,0,248,1,6,0,1,0,0,0,0,106,120,225,0,106,120,97,2,0,0,0,0,0,0,0,240,2,6,0,0,0,0,0,5,0,0,0,53,12,0,0,168,245,5,0,1,0,0,0,0,136,83,225,0,136,51,97,3,0,0,0,0,0,0,0,224,1,6,0,0,0,0,0,1,0,0,0,25,0,0,0,32,245,5,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,64,245,5,0,0,0,0,0,1,0,0,0,25,0,0,0,152,244,5,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,184,244,5,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,4,5,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,7,7,12,12,5,11,12,12,12,5,12,11,12,12,12,12,12,12,12,12,13,13,13,13,7,11,11,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,7,13,10,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,7,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,7,7,7,8,7,8,7,7,7,8,7,8,8,8,8,8,7,8,7,8,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,9,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,9,9,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,8,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,8,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,5,7,7,5,7,7,5,7,7,7,7,9,7,9,9,6,7,7,8,9,9,7,9,7,6,8,8,8,9,10,8,9,9,8,9,10,9,9,10,10,10,10,8,9,9,10,10,11,9,10,10,6,8,8,8,9,9,8,10,9,8,9,9,9,10,10,10,11,10,8,10,9,10,11,10,9,11,9,6,8,8,7,9,9,7,9,9,7,9,9,8,9,10,9,10,10,8,9,9,9,10,10,9,10,9,7,9,9,9,9,10,9,10,10,9,9,10,10,9,11,10,11,11,9,10,10,10,11,11,10,11,10,6,9,8,9,9,10,9,10,9,8,10,10,9,9,10,10,11,11,9,10,10,10,11,11,9,11,9,6,8,8,7,9,9,7,9,9,8,9,9,9,9,10,9,10,10,7,9,9,9,10,10,8,10,9,6,8,9,9,9,10,9,10,9,9,10,10,9,9,11,10,11,11,8,9,10,10,11,11,9,10,9,7,9,9,9,10,10,9,10,9,9,10,10,10,10,11,10,11,11,9,10,9,10,11,11,10,11,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,9,9,5,7,8,10,11,5,8,7,11,10,8,10,11,12,13,8,11,10,13,12,6,7,8,10,11,7,8,10,10,12,8,9,9,12,12,10,10,12,12,14,10,12,12,14,13,6,8,7,11,10,8,9,9,12,12,7,10,8,12,11,10,12,12,13,14,10,12,10,14,12,9,10,11,11,13,10,10,11,11,13,11,12,12,13,14,12,12,13,11,15,13,14,14,15,14,9,11,10,13,11,11,12,12,13,13,10,11,10,13,11,13,14,14,15,15,12,13,12,15,11,6,8,9,11,12,8,9,11,12,13,8,10,10,13,13,11,12,13,14,15,11,12,13,14,14,9,9,10,12,13,10,10,12,12,14,10,11,11,13,14,12,12,14,14,15,13,13,14,15,15,9,10,10,13,13,10,11,11,13,14,10,11,10,14,13,13,13,14,15,15,12,14,13,15,14,12,12,13,13,14,12,13,14,13,15,13,14,14,15,15,14,14,15,14,16,15,15,15,16,16,12,13,13,14,14,13,14,14,15,15,12,14,13,15,14,14,15,15,16,16,14,15,14,16,14,6,9,8,12,11,8,10,10,13,13,8,11,9,13,12,11,12,12,14,14,11,13,12,15,14,9,10,10,13,13,10,10,11,13,14,10,12,11,14,13,12,13,14,14,15,13,13,13,15,14,9,10,9,13,12,10,11,11,14,13,10,12,10,14,12,13,14,13,15,15,12,14,12,15,14,12,13,13,14,14,13,13,13,14,15,13,14,14,15,15,14,14,15,14,16,14,15,15,16,16,12,13,12,14,13,13,14,14,15,15,12,14,13,15,13,15,15,15,16,16,14,15,14,16,14,11,12,12,13,14,12,13,14,14,16,12,13,13,15,15,14,14,16,15,17,14,15,15,16,16,12,13,14,14,15,13,13,15,15,16,14,14,14,15,16,15,15,16,16,17,15,15,16,16,17,13,13,13,15,15,14,14,15,15,16,13,14,14,15,16,15,15,16,16,17,15,16,15,17,16,14,15,15,16,16,15,15,16,16,17,15,16,16,17,17,16,16,17,16,18,16,17,17,17,17,15,15,15,16,16,15,16,16,17,17,15,16,16,17,16,16,17,17,18,18,16,17,16,17,16,11,12,12,15,13,13,13,13,15,15,12,14,13,16,14,14,15,15,16,16,14,15,14,17,15,13,13,13,15,14,13,14,14,16,15,14,14,14,16,15,15,15,16,16,17,15,16,15,17,16,12,14,13,15,14,14,14,14,16,15,13,14,13,16,15,15,16,16,17,16,15,16,15,17,16,15,15,15,16,16,15,15,16,16,17,15,16,16,17,17,16,16,17,17,17,17,17,17,18,17,14,15,15,16,16,15,16,16,17,16,15,16,15,17,16,17,17,17,18,17,16,17,16,18,16,6,9,9,12,12,8,10,10,12,13,8,10,10,13,12,10,12,12,14,15,11,13,12,15,14,8,9,10,12,13,9,10,11,13,14,10,11,11,14,13,12,12,13,14,15,12,13,13,15,15,8,10,10,13,13,10,11,11,13,14,10,12,10,14,13,12,13,13,15,15,12,14,13,15,14,11,12,12,13,14,12,12,13,13,15,12,13,13,15,15,14,13,15,14,16,14,15,15,16,16,12,13,13,14,14,13,13,14,15,14,12,14,13,15,14,14,15,15,16,15,14,15,14,16,14,7,9,10,12,12,9,10,11,13,14,9,11,10,13,13,11,12,13,14,15,12,13,13,15,14,9,10,11,12,13,10,10,12,13,14,11,11,12,14,14,12,12,14,14,15,13,13,14,15,15,9,11,11,13,13,11,12,12,14,14,10,12,10,14,13,13,14,14,15,15,13,14,13,16,14,12,12,13,14,15,13,13,14,14,16,13,14,14,15,15,14,14,15,14,17,14,15,15,16,16,12,13,13,15,14,13,14,14,15,15,13,14,13,16,14,15,15,15,16,16,14,15,14,16,14,7,10,9,13,12,10,11,12,12,14,10,12,11,14,12,12,13,13,14,15,12,14,13,15,14,9,11,10,13,13,10,11,12,13,14,12,13,12,15,13,13,13,14,13,15,13,14,14,16,15,10,11,11,13,13,12,12,13,14,14,11,12,11,14,13,14,14,14,15,16,13,14,13,16,13,12,13,13,14,14,12,13,13,14,15,14,14,14,15,15,14,13,15,13,16,15,15,15,17,16,13,13,13,14,14,14,14,14,15,15,12,13,13,15,14,15,16,16,16,16,14,15,14,16,13,11,12,13,14,15,12,13,14,15,16,13,14,14,15,15,14,14,15,15,17,14,15,15,16,16,13,13,14,14,15,13,13,15,14,16,14,14,15,15,16,15,14,16,15,17,15,16,16,16,17,13,14,14,15,15,14,14,15,16,16,13,15,14,16,16,15,16,16,17,17,15,16,15,17,16,14,15,15,15,17,15,15,16,15,17,15,16,16,16,17,16,16,17,16,18,17,17,17,17,18,15,15,15,17,16,15,16,16,17,17,15,16,16,17,16,16,17,17,18,18,16,17,16,18,17,11,13,12,15,14,13,13,14,15,15,13,14,13,16,14,15,15,15,16,16,15,16,15,17,16,13,14,13,15,14,13,13,14,15,15,14,15,14,16,15,15,15,16,16,16,15,16,15,18,16,13,14,14,15,15,14,15,15,15,16,13,15,13,16,15,15,16,16,17,17,15,16,15,17,16,15,15,15,16,16,15,15,15,16,17,16,16,16,17,16,16,16,17,16,17,17,17,17,18,17,15,15,15,16,16,16,16,16,17,17,15,16,15,17,16,17,17,17,18,18,16,17,16,17,15,6,9,9,12,12,8,10,10,12,13,8,10,10,13,12,11,12,13,14,15,10,12,12,14,14,9,10,10,13,13,10,10,12,13,14,10,11,11,14,13,12,13,14,14,15,12,13,13,15,15,8,10,9,13,12,10,11,11,13,14,9,11,10,14,13,12,13,13,15,15,12,13,12,15,14,12,13,13,14,14,12,13,13,14,15,13,14,14,14,15,14,14,15,14,16,14,15,15,16,16,11,12,12,14,13,13,13,13,15,15,12,13,12,15,13,14,15,15,16,16,14,15,14,16,14,7,9,10,12,13,10,10,12,12,14,10,12,11,14,13,12,13,14,14,15,12,13,13,15,14,10,11,11,13,13,11,11,12,13,14,12,13,12,14,14,13,13,14,13,16,14,14,14,15,15,9,10,11,13,14,12,12,13,13,15,10,12,10,14,13,13,14,14,15,16,13,14,13,15,13,13,14,13,14,15,12,13,13,14,15,14,14,14,15,15,14,13,15,13,16,15,16,16,16,16,12,13,13,14,14,14,14,14,15,15,12,13,13,15,14,15,15,16,16,16,14,15,13,16,13,7,10,9,12,12,9,10,11,13,13,9,11,10,14,13,12,13,13,14,15,11,13,12,15,14,9,11,11,13,13,10,10,12,13,14,11,12,12,14,14,13,13,14,14,16,13,14,14,16,15,9,11,10,13,12,11,12,11,14,14,10,12,10,14,13,13,14,13,15,15,12,14,12,16,14,12,13,13,14,15,13,13,14,14,16,13,14,14,15,15,14,14,15,14,16,15,15,15,16,16,12,13,12,15,14,13,14,14,15,15,12,14,13,16,14,14,15,15,16,16,14,15,14,17,14,11,12,13,14,15,13,13,14,14,16,13,14,13,15,15,15,15,16,16,17,15,15,15,16,16,13,14,13,15,15,13,13,15,15,16,14,15,15,16,16,15,15,16,15,17,16,16,16,17,17,13,13,14,14,15,14,14,15,15,16,13,14,13,15,15,15,16,16,16,17,15,16,15,16,16,15,15,15,16,16,15,15,16,16,17,16,16,16,17,17,16,16,17,16,18,17,17,17,18,18,15,15,15,16,16,16,16,16,17,17,15,15,15,16,16,17,17,17,17,18,16,16,16,17,15,11,13,12,15,14,13,13,14,15,15,12,14,13,16,14,14,15,15,16,16,14,15,14,16,15,13,14,14,15,15,13,14,14,16,16,14,15,14,16,16,15,15,16,17,17,15,16,16,17,17,13,14,13,15,14,14,14,14,16,15,13,15,13,16,14,15,16,15,17,16,15,16,14,17,15,14,16,15,16,17,15,16,16,16,17,15,16,16,17,17,16,16,17,17,18,16,17,17,18,17,14,15,15,17,15,15,16,16,17,16,15,16,15,17,15,16,17,17,18,17,16,17,16,18,15,10,12,12,14,14,12,13,13,15,15,12,13,13,15,15,13,14,14,15,16,14,15,14,16,16,12,13,13,15,15,12,13,14,15,15,13,14,14,15,15,14,14,15,16,17,14,15,15,17,16,12,13,13,15,15,13,14,14,15,16,13,14,14,16,15,14,15,15,16,17,14,15,15,17,16,13,14,14,15,16,14,14,15,15,16,14,15,15,16,16,15,15,16,16,17,15,16,16,17,17,14,15,15,16,16,15,15,15,16,16,15,15,15,16,16,16,17,16,17,17,16,16,16,18,16,11,12,12,14,14,12,13,14,15,15,12,13,13,15,15,13,14,15,16,16,14,15,15,16,16,12,13,13,15,15,13,13,14,15,16,13,14,14,15,16,14,14,15,16,17,15,15,15,16,17,12,13,13,15,15,13,14,14,15,16,13,14,14,16,15,15,15,15,16,17,15,16,15,17,16,14,14,15,15,16,14,14,15,15,17,15,15,16,16,17,15,15,16,15,18,16,16,16,17,17,14,15,15,16,16,15,16,16,17,17,15,15,15,17,16,16,17,16,17,17,16,16,16,18,16,11,12,12,14,14,13,13,14,15,15,13,14,13,15,15,14,15,15,16,16,14,15,15,16,16,12,13,13,15,15,13,13,14,15,15,14,14,14,16,15,15,15,15,15,16,15,16,15,17,16,12,13,13,15,15,14,14,15,15,16,13,14,13,16,15,15,15,16,16,17,15,16,15,17,15,14,15,14,16,16,14,15,15,16,16,15,16,15,17,16,15,15,16,15,17,16,17,16,17,17,14,15,15,16,16,15,16,16,16,17,14,15,15,16,16,16,17,17,17,18,16,16,16,17,16,12,13,13,15,15,13,13,14,15,16,13,14,14,16,15,14,15,15,16,17,14,15,15,17,16,13,14,14,15,16,14,14,15,15,17,14,15,15,16,16,15,14,16,15,17,15,16,16,17,17,13,14,14,16,16,14,15,15,16,16,14,15,14,16,16,15,16,16,17,17,15,16,15,17,16,15,15,16,15,17,15,15,16,15,17,15,16,16,16,17,16,15,17,15,18,17,17,17,17,17,15,15,15,17,17,16,16,16,17,17,15,16,15,17,17,16,17,17,18,18,16,17,15,18,15,11,12,12,15,15,13,13,15,14,16,13,14,13,16,14,15,15,16,16,17,15,16,15,17,15,12,14,13,16,14,13,13,14,14,16,14,15,14,16,15,15,15,16,15,17,16,16,16,17,16,12,13,14,15,16,15,15,15,15,16,13,15,13,16,14,16,16,16,17,17,15,16,15,17,15,15,16,15,16,15,14,14,15,16,16,16,16,16,17,16,15,15,16,15,17,17,17,17,18,17,15,15,15,16,16,16,16,16,16,17,14,15,15,17,16,17,17,17,17,18,15,16,15,18,14,10,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,14,15,15,16,13,15,14,16,16,12,13,13,15,15,13,14,14,15,16,13,14,14,15,15,14,15,15,16,17,14,15,15,17,16,12,13,13,15,15,13,14,14,15,15,12,14,13,15,15,14,15,15,16,17,14,15,14,17,15,14,15,15,16,16,14,15,15,16,17,15,15,15,17,16,16,16,16,16,17,16,16,16,17,17,13,14,14,16,15,14,15,15,16,16,14,15,14,16,16,15,16,16,17,17,15,16,15,17,16,11,12,12,14,15,13,13,14,14,15,13,14,13,15,15,14,15,15,16,16,14,15,15,16,16,12,14,13,15,15,13,13,14,15,16,14,15,14,16,15,15,15,16,15,17,15,16,16,17,16,12,13,13,15,15,14,14,15,15,16,13,14,13,16,15,15,15,16,16,17,15,15,15,16,16,14,15,15,16,16,14,15,15,16,16,15,16,16,17,17,16,16,16,16,17,16,17,17,18,17,14,14,15,15,16,15,15,16,16,17,14,15,15,16,16,16,16,16,17,17,15,16,15,17,15,11,12,12,14,14,12,13,14,15,15,12,13,13,15,15,14,15,15,16,16,13,15,14,16,16,12,13,13,15,15,13,14,14,15,16,13,14,14,16,16,15,15,15,16,17,15,15,15,17,16,12,13,13,15,15,13,14,14,16,15,13,14,13,16,15,15,16,15,17,17,14,15,14,17,16,14,15,15,16,16,15,15,16,16,17,15,16,16,17,17,16,16,16,16,18,16,17,16,18,17,14,15,14,16,15,15,15,15,17,16,14,15,14,17,15,16,17,16,17,17,15,16,15,17,15,11,12,12,15,15,13,13,15,14,16,13,15,13,16,14,15,15,16,15,17,15,16,15,17,16,12,14,13,15,15,13,13,15,15,16,15,15,15,16,15,15,15,16,15,17,16,16,16,17,16,12,13,14,15,16,14,14,15,15,16,13,14,13,16,14,16,16,16,16,17,15,16,15,17,15,15,16,15,16,16,14,15,15,16,16,16,16,16,17,16,15,15,16,15,17,17,17,17,18,17,15,15,15,15,16,16,16,16,16,17,14,15,14,16,15,17,17,17,17,18,15,16,15,17,15,12,13,13,15,15,13,14,14,15,16,13,14,14,16,15,14,15,15,16,17,14,15,15,17,16,13,14,14,16,15,13,14,15,16,16,14,15,15,16,16,15,15,16,16,17,15,16,16,17,17,13,14,13,16,15,14,15,15,16,16,13,15,14,16,15,15,16,16,17,17,15,16,14,17,15,15,15,16,17,17,15,15,16,16,17,16,16,16,17,17,16,15,17,16,18,17,17,17,18,18,15,15,15,17,14,16,16,16,17,16,15,16,15,17,15,16,17,17,18,17,16,17,15,18,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,7,9,9,10,10,9,10,10,10,11,9,10,10,11,10,9,10,10,11,11,9,10,10,11,11,9,10,10,11,11,10,10,10,11,11,10,10,10,11,11,10,11,11,11,11,10,11,11,11,11,9,10,10,11,11,10,10,10,11,11,9,10,10,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,10,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,9,10,10,11,11,10,10,11,11,11,10,10,11,11,11,10,11,11,11,12,10,11,11,12,12,10,10,11,11,11,10,11,11,11,12,11,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,11,11,11,11,11,11,11,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,10,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,11,10,11,11,11,11,10,11,11,11,12,11,11,11,12,12,11,11,12,12,12,11,11,11,12,12,10,11,10,11,11,11,11,11,12,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,10,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,13,12,13,12,9,10,10,11,11,10,10,11,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,11,11,11,10,11,11,11,12,10,11,11,12,12,11,11,12,12,12,11,11,11,12,12,10,11,10,11,11,11,11,11,12,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,10,11,11,11,10,11,11,12,12,10,11,11,12,12,11,11,11,12,12,11,11,12,12,12,10,11,11,11,12,11,11,12,12,12,11,11,12,12,12,11,11,12,12,12,11,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,11,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,10,11,11,12,11,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,9,10,10,11,11,10,10,11,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,10,11,11,11,11,10,11,11,12,12,11,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,11,10,11,11,10,11,11,12,12,10,11,11,12,11,11,12,11,12,12,11,11,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,11,12,10,11,11,12,11,11,11,12,12,12,11,11,12,12,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,12,12,12,12,12,12,12,13,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,12,10,11,11,12,12,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,12,13,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,13,12,13,12,12,12,12,13,12,12,13,12,13,12,13,13,12,13,12,12,12,12,12,12,13,13,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,13,12,12,12,12,12,12,12,13,12,13,12,12,12,12,13,12,12,13,13,13,12,12,13,12,13,12,10,11,11,12,12,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,11],"i8",N3,x.GLOBAL_BASE+390097),E3([12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,12,13,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,13,13,13,12,12,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,13,12,13,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,13,12,13,12,12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,13,12,13,12,12,13,12,13,12,12,13,12,13,12,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,4,7,8,4,8,7,5,7,8,7,7,10,8,9,9,5,7,7,8,9,9,7,10,7,5,7,8,8,9,11,8,10,10,8,9,10,10,10,12,11,12,12,8,10,10,10,12,12,10,12,11,5,8,7,8,10,10,8,11,9,8,10,10,10,11,12,10,12,12,8,10,9,11,12,12,10,12,10,5,8,8,7,10,10,8,11,10,7,9,10,9,10,12,10,12,12,8,10,10,10,12,12,10,12,11,7,9,10,9,11,12,10,12,11,9,9,12,10,10,13,12,12,13,10,12,11,12,13,13,11,13,11,7,10,9,10,11,12,10,13,11,9,11,11,11,11,13,12,14,13,10,11,11,12,14,14,11,14,11,5,8,8,8,10,11,7,10,10,8,10,10,10,11,12,10,12,12,7,10,9,10,12,12,9,12,10,7,9,10,10,11,13,10,12,11,10,11,11,11,11,14,12,14,14,9,11,11,12,13,14,11,13,11,7,10,9,10,11,12,9,12,10,10,11,12,11,11,13,12,13,13,9,12,9,12,13,12,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,6,7,7,7,7,8,7,8,7,7,7,8,7,8,8,8,8,8,7,8,7,7,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,8,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,5,5,7,7,5,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,5,7,8,7,9,10,8,9,9,8,9,10,9,10,12,10,11,11,8,10,9,10,11,12,9,11,10,5,8,7,8,10,9,7,10,9,8,9,10,9,10,11,10,12,11,8,10,9,10,11,11,9,12,10,5,8,8,7,9,10,8,10,9,7,9,10,9,10,11,9,11,11,8,10,9,10,11,11,10,12,10,7,9,10,9,10,12,9,11,11,9,9,12,11,10,13,11,11,13,10,12,11,11,13,13,11,13,12,7,9,9,9,11,11,9,12,11,9,11,10,10,11,12,11,13,12,9,11,11,12,13,13,11,13,11,5,8,8,8,9,10,7,10,9,8,9,10,10,10,12,10,11,11,7,10,9,9,11,11,9,11,10,7,9,9,9,11,12,9,11,11,9,11,11,11,11,13,12,13,13,9,10,11,11,12,13,10,12,11,7,10,9,9,11,11,9,12,10,10,11,12,11,12,13,12,13,13,9,12,9,11,13,11,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,9,9,6,8,8,10,10,6,8,8,10,10,8,9,10,12,12,8,10,9,12,12,6,8,8,10,10,8,8,9,10,11,8,9,9,11,11,9,10,11,12,13,10,11,11,13,13,6,8,8,10,10,8,9,9,11,11,8,9,8,11,10,10,11,11,13,13,9,11,10,13,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,12,15,12,13,13,15,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,13,13,14,15,12,13,12,15,12,7,8,8,10,11,8,9,10,11,12,8,9,9,11,11,10,11,11,13,14,10,11,11,13,13,8,9,9,11,12,9,10,11,11,13,9,10,10,12,12,11,11,12,13,15,11,12,12,14,14,8,9,9,11,11,9,10,11,12,13,9,10,10,12,12,11,12,12,14,15,11,12,12,14,14,10,11,12,13,13,11,12,12,13,14,12,12,12,14,14,13,13,14,14,16,14,14,14,16,15,10,11,11,13,13,12,12,12,14,14,11,12,12,14,13,14,14,14,15,16,13,14,13,16,14,7,8,8,11,10,8,9,9,11,11,8,10,9,12,11,10,11,11,13,13,10,11,11,14,13,8,9,9,12,11,9,10,10,12,12,9,11,10,13,12,11,12,12,13,14,11,12,12,15,14,8,9,9,12,11,9,10,10,12,12,9,11,10,13,11,11,12,12,14,14,11,12,12,14,13,10,11,11,13,13,11,12,12,13,14,12,13,12,14,14,13,13,14,14,16,13,14,14,16,15,10,11,11,13,13,12,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,16,14,9,10,11,12,13,11,11,12,12,14,11,11,12,13,14,13,13,14,14,16,13,13,14,15,15,11,11,12,12,14,12,12,13,13,15,12,12,13,13,15,14,14,15,15,16,14,14,14,15,16,11,12,12,13,14,12,12,13,14,15,12,13,12,14,14,14,14,15,15,16,14,14,14,16,16,13,13,14,15,16,14,14,15,15,16,14,15,15,16,16,15,15,16,16,18,16,16,16,17,17,13,14,14,15,15,14,14,15,16,16,14,15,14,16,16,16,16,16,17,18,15,16,16,17,16,9,11,10,13,12,11,12,11,14,13,11,12,11,14,12,13,14,13,15,14,13,14,13,16,14,11,12,12,14,13,12,12,13,14,14,12,13,12,15,14,14,14,14,16,16,14,15,14,17,15,11,12,11,14,12,12,13,12,15,13,12,13,12,15,13,14,14,14,16,15,14,15,14,16,15,13,14,14,15,15,14,14,15,16,16,14,15,14,16,16,15,15,16,16,17,16,16,16,17,17,13,14,14,16,15,14,15,15,16,16,14,15,14,17,15,16,16,16,17,17,15,16,15,18,16,7,8,8,10,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,11,11,14,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,13,14,11,12,12,14,14,8,9,9,12,11,9,10,11,12,13,9,11,10,13,12,11,12,12,14,14,11,12,12,14,13,10,11,11,13,13,11,12,12,13,14,11,12,12,14,14,13,13,14,14,16,13,14,14,16,15,10,12,11,13,13,12,12,12,14,14,11,12,12,14,13,14,14,14,15,16,13,14,14,16,14,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,11,12,13,14,11,12,12,14,14,9,9,10,11,12,10,10,11,12,13,10,10,11,12,13,12,12,13,14,15,12,12,13,14,15,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,15,15,12,13,13,15,14,11,11,12,13,14,12,12,13,13,15,12,12,13,14,15,14,14,15,14,16,14,14,15,15,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,14,14,15,15,16,16,14,15,14,17,15,8,9,9,11,11,9,10,10,12,12,9,11,10,13,12,11,12,12,14,14,11,13,12,15,13,9,10,10,12,12,10,10,11,12,13,10,12,11,13,13,12,12,13,13,15,12,13,13,15,14,9,10,10,12,12,11,11,12,13,13,10,12,10,13,12,12,13,13,15,15,12,13,13,15,13,11,12,12,14,14,12,12,13,14,14,12,13,13,15,14,13,13,14,13,16,14,15,14,16,16,11,12,12,14,14,13,13,13,15,15,12,13,12,15,14,14,15,15,16,17,14,15,13,16,13,10,11,11,13,14,11,12,12,13,15,11,12,12,14,14,13,14,14,15,16,13,14,14,16,16,11,11,12,12,14,12,12,13,13,15,12,13,13,13,15,14,14,15,14,17,14,14,15,15,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,16,13,14,14,14,16,14,14,15,14,17,14,15,15,14,17,16,16,17,15,18,16,16,17,16,18,13,14,14,16,16,14,15,15,17,16,14,15,15,17,16,16,17,17,18,18,16,17,16,18,17,10,11,11,14,13,11,12,12,14,14,11,13,12,15,14,14,14,14,16,15,14,15,14,16,15,11,12,12,14,13,12,13,13,15,14,13,14,13,15,14,14,15,15,16,16,14,15,15,17,15,11,12,12,14,14,13,13,13,15,15,12,13,13,15,14,15,15,15,17,17,14,15,15,17,15,13,14,14,16,15,14,15,15,16,16,15,15,15,17,16,16,16,16,16,17,16,17,16,18,17,14,14,14,16,16,15,15,15,16,16,14,15,14,17,16,16,17,17,17,18,16,17,16,18,16,7,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,11,10,13,12,11,12,12,13,14,11,12,12,14,14,8,9,9,11,11,9,10,10,12,12,9,10,10,13,12,11,12,12,14,14,11,12,11,14,13,10,11,12,13,13,11,12,12,13,14,12,13,12,14,14,13,13,14,14,16,13,14,14,16,15,10,11,11,13,13,11,12,12,14,14,11,12,12,14,13,13,14,14,15,16,13,14,13,16,14,8,9,9,11,11,9,10,11,12,13,9,10,10,12,12,11,12,13,13,14,11,12,12,14,14,9,10,10,12,12,10,10,11,12,13,11,12,11,13,13,12,12,13,13,15,12,13,13,15,15,9,10,10,12,12,10,11,12,13,14,10,11,10,13,12,12,13,13,14,15,12,13,12,15,13,12,12,12,14,14,12,12,13,14,15,13,13,13,15,15,14,14,15,13,16,14,15,15,16,16,11,12,12,14,14,12,13,13,14,15,12,13,12,14,14,14,14,15,16,16,13,14,13,16,14,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,14,11,12,11,14,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,14,15,12,13,13,15,14,9,10,9,12,11,10,11,10,13,12,10,11,10,13,12,12,13,12,15,14,12,13,12,15,14,11,12,12,14,14,12,13,13,14,15,12,13,13,15,15,14,14,15,15,17,14,15,15,16,16,11,12,11,14,13,12,13,12,15,14,12,13,12,15,13,14,15,14,16,15,13,15,14,17,14,10,11,11,13,14,11,12,13,13,15,11,12,12,14,14,14,14,15,15,17,13,14,14,15,16,11,12,12,14,14,12,12,13,14,15,13,13,13,15,15,14,15,15,15,17,15,15,15,16,16,11,12,12,13,14,13,13,14,14,15,12,13,13,14,15,14,15,15,16,17,14,15,15,16,16,14,14,14,16,16,14,14,15,15,17,15,15,15,17,16,16,16,17,16,18,16,17,17,18,17,13,14,14,15,16,14,15,15,16,17,14,15,15,16,16,16,17,17,17,18,16,16,16,17,16,10,11,11,14,13,11,12,12,14,14,11,12,12,15,13,13,14,14,16,15,13,14,14,16,15,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,17,16,11,12,11,14,12,12,13,13,15,13,12,13,12,15,13,14,15,15,16,15,14,15,14,17,14,13,14,14,16,16,14,15,15,16,17,14,15,15,16,17,16,16,17,17,18,16,17,17,18,18,13,14,14,16,13,14,15,15,17,14,14,15,14,17,14,16,17,16,17,16,16,17,16,18,15,8,11,11,13,13,10,12,12,14,14,11,12,12,14,14,13,13,14,15,16,13,14,14,16,15,10,11,11,14,14,11,12,12,14,15,11,12,12,15,14,13,14,14,15,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,12,15,14,14,14,15,16,16,14,15,14,16,16,12,13,13,15,15,12,13,14,15,16,13,14,14,16,16,14,15,15,16,17,15,15,16,17,17,13,14,14,16,15,14,15,15,16,16,14,15,14,16,16,16,16,16,17,17,15,16,16,18,16,10,11,11,13,14,11,12,12,14,15,11,12,12,15,14,13,14,14,16,16,13,14,14,16,16,11,11,12,14,14,12,12,13,14,15,12,13,13,15,15,14,14,15,15,17,14,14,15,16,16,11,12,12,15,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,17,16,13,12,14,14,16,13,13,15,14,17,14,13,15,15,17,15,14,16,15,18,16,15,16,16,18,13,14,14,16,16,14,15,15,17,17,14,15,15,17,16,16,17,17,18,18,16,17,16,18,17,10,11,11,14,13,11,12,12,14,14,11,13,12,15,14,13,14,14,15,16,13,14,14,16,16,11,12,12,14,14,12,13,13,14,15,12,13,13,15,15,14,14,15,15,16,14,15,15,17,16,11,12,12,14,14,13,13,13,15,15,12,13,13,15,14,14,15,15,16,17,14,15,14,17,15,13,14,13,16,15,14,14,14,15,16,14,15,14,16,16,15,15,16,16,17,16,16,16,18,17,14,14,14,16,16,15,15,15,17,16,14,15,14,17,16,16,16,17,17,18,16,17,16,18,16,11,13,13,15,15,12,13,14,15,16,12,14,14,15,15,14,15,15,16,17,14,15,15,17,17,12,13,14,14,16,13,14,14,14,16,14,14,14,15,16,15,15,16,15,18,15,16,16,17,17,13,14,14,16,16,14,14,15,16,16,14,15,14,16,16,15,16,16,17,18,15,16,16,18,17,14,14,16,13,17,15,15,16,14,18,15,15,16,14,18,16,16,18,15,19,17,17,18,16,18,15,16,15,17,17,15,16,17,18,18,16,16,16,18,17,17,18,18,19,19,17,18,17,19,18,11,12,12,15,14,13,13,14,15,16,13,14,13,16,14,15,15,15,16,17,15,16,15,17,16,12,13,13,15,14,13,13,14,15,15,14,15,14,16,15,15,15,16,16,17,16,16,16,18,17,12,13,13,15,15,14,14,15,16,16,13,14,13,16,15,16,16,16,17,18,15,16,15,17,16,14,15,14,17,15,14,15,15,16,16,15,16,15,17,16,16,15,16,15,17,17,18,17,18,17,15,15,15,16,17,16,16,16,17,17,15,16,15,17,16,17,18,18,18,18,16,17,16,18,15,8,11,11,13,13,11,12,12,14,14,10,12,12,14,14,13,14,14,15,16,13,14,13,16,15,11,12,12,14,14,12,12,13,14,15,12,13,13,15,15,14,14,15,15,16,14,14,14,16,16,10,11,11,14,14,11,12,12,14,15,11,12,12,15,14,13,14,14,16,16,13,14,14,16,15,13,14,14,15,16,14,14,15,16,16,14,15,15,16,16,15,16,16,16,18,16,16,16,17,17,12,13,13,15,15,13,14,14,16,16,12,14,13,16,15,15,16,15,17,17,14,16,15,17,16,10,11,11,13,14,11,12,13,14,15,11,13,12,14,14,14,14,15,16,16,13,14,14,16,16,11,12,12,14,14,12,13,13,14,15,13,14,13,15,15,14,15,15,16,17,14,15,15,17,16,11,12,12,14,14,12,13,13,15,15,12,13,12,15,14,14,15,15,16,17,14,15,15,16,16,14,14,14,16,16,14,14,15,16,16,15,15,15,16,16,16,16,17,16,18,16,17,17,18,18,13,13,14,15,16,14,14,15,16,17,13,14,14,16,16,16,16,17,17,18,15,16,15,17,16,10,11,11,14,13,11,12,12,14,14,11,12,12,15,14,13,14,14,16,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,17,16,11,12,11,14,14,12,13,13,15,15,12,13,12,15,14,14,15,14,16,16,14,15,14,17,16,14,14,14,16,16,14,15,15,16,17,14,15,15,17,17,16,16,17,17,18,16,17,17,18,18,13,14,12,16,14,14,15,13,17,15,13,15,13,17,14,16,16,15,18,16,15,17,14,18,15,11,12,12,14,15,13,13,14,14,16,13,14,13,15,14,15,15,16,16,17,15,16,15,17,16,12,13,13,15,15,13,13,14,15,16,14,15,14,16,16,15,15,16,15,18,16,16,16,18,17,12,13,13,15,15,14,14,15,15,16,13,14,13,15,15,16,16,16,16,18,15,16,15,17,16,15,15,15,17,16,15,15,16,16,17,16,16,16,18,17,16,16,17,15,18,17,18,17,19,18,14,14,15,15,17,15,15,16,16,17,14,15,15,16,16,17,17,18,17,19,16,17,15,17,15,11,13,12,15,15,12,14,14,15,15,12,14,13,16,15,15,15,15,17,17,14,15,15,17,16,12,14,14,16,16,14,14,15,16,16,14,14,14,16,16,15,16,17,17,18,15,16,16,18,17,12,14,13,16,14,13,14,14,16,15,13,15,14,16,14,15,16,16,17,17,15,16,15,18,15,15,15,16,17,17,15,16,16,17,18,16,16,16,18,18,17,17,18,18,19,17,17,18,19,19,14,15,14,17,13,15,16,15,18,14,15,16,15,18,14,17,18,17,18,16,16,18,16,19,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,4,7,7,4,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,6,7,8,8,9,10,8,9,10,8,9,10,10,10,12,10,11,12,8,10,10,10,11,12,10,11,11,6,8,7,8,10,9,8,10,9,8,10,10,10,11,11,10,12,11,8,10,9,10,12,11,10,12,10,5,8,8,8,10,10,8,10,10,7,9,10,9,10,11,9,11,11,8,10,10,10,12,12,10,12,11,7,9,9,9,10,11,9,11,11,9,9,11,10,11,12,10,11,12,9,11,11,11,12,12,11,12,12,7,9,9,10,11,11,10,12,11,9,11,10,11,11,12,11,13,12,10,11,11,12,13,13,11,13,11,5,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,11,7,10,9,9,11,11,9,11,10,7,9,9,10,11,12,10,11,11,10,11,11,11,11,13,12,13,13,9,10,11,12,12,13,11,12,11,7,9,9,9,11,11,9,11,10,9,11,11,11,12,12,11,12,12,9,11,9,10,12,11,10,12,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,9,15,17,20,21,22,23,5,5,7,9,11,13,17,20,9,5,5,6,8,10,15,18,11,7,5,4,6,9,13,17,14,9,7,5,6,7,10,14,17,10,8,6,6,4,5,8,20,14,13,10,8,4,3,4,23,17,16,14,12,6,4,4,2,0,0,0,64,0,0,0,112,96,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,216,47,6,0,0,0,0,0,0,0,0,0,0,48,6,0,0,0,0,0,0,0,0,0,40,48,6,0,80,48,6,0,0,0,0,0,0,0,0,0,120,48,6,0,160,48,6,0,0,0,0,0,0,0,0,0,200,48,6,0,240,48,6,0,0,0,0,0,0,0,0,0,24,49,6,0,64,49,6,0,240,48,6,0,0,0,0,0,104,49,6,0,144,49,6,0,184,49,6,0,224,49,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,152,47,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,14,16,17,17,18,20,6,3,5,8,10,11,13,15,13,5,3,5,8,9,11,12,15,7,4,3,5,7,9,11,16,10,7,5,6,7,9,10,17,11,8,7,7,6,8,8,19,13,11,9,9,8,8,9,20,14,13,11,10,8,9,9,5,0,0,0,243,0,0,0,104,95,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,96,96,6,0,0,0,0,0,5,0,0,0,53,12,0,0,24,83,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,80,95,6,0,0,0,0,0,5,0,0,0,243,0,0,0,16,82,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,8,83,6,0,0,0,0,0,5,0,0,0,243,0,0,0,8,81,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,0,82,6,0,0,0,0,0,5,0,0,0,243,0,0,0,0,80,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,248,80,6,0,0,0,0,0,5,0,0,0,53,12,0,0,176,67,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,79,6,0,0,0,0,0,5,0,0,0,53,12,0,0,96,55,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,152,67,6,0,0,0,0,0,1,0,0,0,7,0,0,0,56,55,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,64,55,6,0,0,0,0,0,5,0,0,0,243,0,0,0,48,54,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,40,55,6,0,0,0,0,0,5,0,0,0,243,0,0,0,40,53,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,32,54,6,0,0,0,0,0,5,0,0,0,243,0,0,0,32,52,6,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,24,53,6,0,0,0,0,0,5,0,0,0,243,0,0,0,24,51,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,16,52,6,0,0,0,0,0,1,0,0,0,25,0,0,0,144,50,6,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,176,50,6,0,0,0,0,0,1,0,0,0,25,0,0,0,8,50,6,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,40,50,6,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,4,5,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,5,5,4,10,10,5,10,10,5,10,10,10,10,10,10,10,10,5,10,10,10,10,10,9,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,7,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,7,6,7,8,6,8,7,7,7,8,7,7,8,8,8,8,7,7,7,8,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,9,8,9,8,8,8,8,8,8,9,8,9,9,8,8,8,9,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,9,9,9,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,6,5,7,8,5,8,7,5,7,7,7,7,9,8,9,9,5,7,7,8,9,9,7,9,7,6,8,8,8,9,10,8,9,9,8,9,10,9,9,11,10,10,11,8,10,9,10,10,11,9,10,10,6,8,8,8,9,9,8,10,9,8,9,10,9,10,10,10,11,10,8,10,9,10,11,10,9,11,9,6,8,8,7,9,9,8,9,9,7,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,10,9,7,9,9,9,10,10,9,10,10,9,9,10,10,9,11,10,11,11,9,10,10,10,11,11,10,11,10,6,9,8,9,10,10,9,10,9,8,10,10,9,9,10,10,11,11,9,10,10,10,11,11,9,11,9,6,8,8,8,9,9,7,9,9,8,9,9,9,9,10,9,10,10,7,9,9,9,10,10,9,10,9,6,8,9,9,9,10,9,10,10,9,10,10,9,9,11,10,11,11,8,10,10,10,11,11,9,10,9,7,9,9,9,10,10,9,10,10,9,10,10,10,10,11,10,11,11,9,10,9,10,11,11,10,11,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,9,9,5,7,8,10,11,5,8,7,11,10,8,10,11,12,13,8,11,10,13,12,6,7,8,10,11,7,8,10,10,12,8,9,9,12,11,10,10,12,11,14,10,11,12,14,13,6,8,7,11,10,8,9,9,11,12,7,10,8,12,10,10,12,12,13,14,10,12,10,14,11,9,10,11,11,12,10,10,11,11,13,11,12,12,13,13,12,11,13,11,15,13,14,13,14,14,9,11,10,12,11,11,12,12,13,13,10,11,10,13,11,13,13,14,14,14,12,13,11,14,11,7,8,9,11,12,9,9,11,12,13,9,10,10,13,12,11,12,13,13,15,11,12,12,14,14,9,10,10,12,13,10,10,12,12,14,11,11,11,13,13,12,12,13,13,15,12,13,13,15,14,9,10,10,12,13,10,11,11,13,14,10,12,11,14,13,12,13,13,14,15,12,13,13,15,14,12,12,13,13,14,12,13,13,13,15,13,14,14,14,15,14,14,15,14,16,14,15,15,16,16,12,13,13,14,14,13,13,14,15,14,12,13,13,15,14,14,15,15,15,16,14,15,14,16,14,7,9,8,12,11,9,10,10,12,13,9,11,9,13,12,11,12,12,14,14,11,13,12,15,13,9,10,10,13,12,10,11,12,13,14,10,12,11,14,13,12,13,13,14,15,13,13,13,15,14,9,10,10,13,12,11,11,11,13,13,10,12,10,14,12,13,13,13,14,15,12,13,12,15,13,12,13,13,14,14,12,13,13,14,15,13,14,13,15,15,14,14,15,14,16,14,15,15,16,15,12,13,12,14,13,13,13,13,15,14,12,13,13,15,13,14,15,15,16,15,14,15,14,16,14,11,12,12,13,14,12,13,14,14,15,12,13,13,14,15,14,14,15,15,16,14,15,15,16,16,12,13,13,14,15,13,13,14,14,16,13,14,14,15,15,15,15,16,15,17,15,15,15,16,16,12,13,13,14,15,13,14,14,15,16,13,14,14,15,15,15,15,16,16,17,15,15,15,17,16,14,15,15,16,16,15,15,16,15,16,15,16,16,16,17,16,16,17,16,18,16,16,17,18,17,14,15,15,16,16,15,16,16,16,17,15,16,15,17,16,16,17,17,17,18,16,16,16,17,16,11,12,12,14,13,12,13,13,15,14,12,14,13,15,14,14,15,15,16,16,14,15,14,16,15,12,13,13,15,14,13,14,14,15,15,13,14,14,16,15,15,15,15,16,16,15,16,15,17,16,12,13,13,15,14,13,14,14,15,15,13,14,13,16,14,15,15,15,16,16,15,15,15,17,15,14,15,15,16,16,15,15,15,16,16,15,16,16,17,17,16,16,17,17,17,16,17,17,18,17,14,15,15,16,15,15,15,16,16,16,15,15,15,17,15,17,17,17,18,17,16,17,16,18,16,6,9,9,12,12,8,10,10,12,13,9,11,10,13,12,10,12,12,14,14,11,13,12,14,14,8,10,10,12,12,9,10,11,12,14,10,11,11,13,13,12,12,13,13,15,12,13,13,15,14,9,10,10,13,13,10,11,11,13,13,10,12,10,14,13,12,13,13,14,15,12,13,13,15,14,11,12,12,13,14,12,12,13,13,15,12,13,13,14,14,13,13,14,13,16,14,15,15,16,15,11,12,12,14,14,13,13,13,15,14,12,13,13,15,14,14,15,15,16,15,14,14,14,16,14,7,9,10,12,12,9,10,11,13,13,9,11,10,13,13,11,12,13,14,15,12,13,13,15,14,9,10,11,12,13,10,10,12,13,14,11,11,12,14,14,12,12,14,14,15,13,13,13,15,15,9,11,11,13,13,11,12,12,14,14,10,12,10,14,13,13,14,13,15,15,12,14,13,15,14,12,12,13,13,15,12,12,14,13,15,13,14,14,15,15,14,14,15,14,17,14,15,15,16,16,12,13,13,15,14,13,14,14,15,15,12,14,13,15,14,14,15,15,16,16,14,15,14,16,14,7,10,10,12,12,10,11,11,12,13,10,12,10,14,12,12,13,13,14,15,12,13,13,15,14,9,11,10,13,12,10,10,12,12,14,11,13,12,14,13,13,13,14,13,15,13,14,14,15,14,10,11,11,13,13,12,12,12,13,14,10,12,10,14,12,13,14,14,15,15,13,14,13,15,13,12,13,13,14,14,12,12,13,14,15,13,14,14,15,15,13,13,14,13,15,14,15,15,16,16,12,13,13,14,14,13,14,14,15,15,12,13,13,15,13,15,15,15,16,16,13,14,13,16,13,11,12,13,14,14,12,13,14,14,15,12,13,13,15,15,14,14,15,15,17,14,15,15,16,16,12,13,14,14,15,13,13,14,14,16,13,14,14,15,16,14,14,16,15,17,15,15,16,16,16,12,13,13,15,15,13,14,14,15,16,13,14,14,15,16,15,15,16,17,17,15,16,15,17,16,14,15,15,15,16,15,15,16,15,17,15,15,16,16,17,16,16,16,16,18,16,16,17,17,17,14,15,15,16,16,15,16,16,16,17,15,16,15,17,16,16,17,17,17,17,16,17,16,18,17,11,12,12,14,14,13,13,14,14,15,13,14,13,15,14,14,15,15,15,16,14,15,15,17,15,12,13,13,15,14,13,13,14,15,15,14,15,14,16,15,15,15,15,15,16,15,16,15,17,16,12,13,13,15,15,14,14,14,15,16,13,14,13,16,15,15,15,16,16,17,15,16,15,17,15,14,15,15,16,16,14,15,15,16,16,15,16,16,17,16,15,15,16,15,17,16,17,17,18,17,14,15,15,16,16,15,16,16,16,17,14,15,15,17,16,17,17,17,17,18,15,16,16,18,15,6,9,9,12,12,9,10,11,12,13,8,10,10,13,12,11,12,13,14,14,10,12,12,14,13,9,10,10,12,13,10,10,12,13,14,10,11,11,13,13,12,13,13,14,15,12,13,13,15,14,8,10,10,12,12,10,11,11,13,13,9,11,10,13,13,12,13,13,14,15,12,13,12,15,13,11,12,12,14,14,12,13,13,13,15,13,13,13,14,15,14,14,15,14,16,14,15,15,15,15,11,12,12,14,13,12,13,13,15,14,12,13,12,15,13,14,14,15,16,16,13,14,13,16,13,7,10,10,12,12,10,10,12,12,14,10,11,11,13,12,12,13,13,13,15,12,13,13,15,14,10,11,11,13,13,10,10,12,12,14,12,12,12,14,13,13,13,14,13,15,13,14,14,15,14,9,10,11,13,13,11,12,12,13,14,10,12,10,14,12,13,13,14,14,15,13,13,12,15,13,12,13,13,14,14,12,13,13,14,15,13,14,14,15,15,13,13,15,13,16,15,15,15,16,16,12,13,13,14,14,13,14,14,15,15,12,13,12,15,14,15,15,15,16,16,13,14,13,15,13,7,10,9,12,12,9,10,11,13,13,9,11,10,13,13,11,13,13,14,15,11,13,12,15,14,9,11,11,13,13,10,10,12,13,14,11,12,12,14,14,12,13,14,14,15,13,13,13,15,15,9,11,10,13,12,11,12,11,14,14,10,12,10,14,13,13,14,13,15,15,12,14,12,15,14,12,13,13,14,15,13,13,14,14,15,13,14,14,15,15,14,14,15,14,17,14,15,15,16,16,12,13,12,15,13,13,14,14,15,15,12,14,13,15,13,14,15,15,16,16,14,15,14,16,14,11,12,12,14,14,13,13,14,14,15,13,14,13,15,15,14,15,15,16,17,14,15,15,16,15,12,13,13,15,15,13,13,14,15,16,14,14,14,16,15,15,15,16,15,17,15,16,15,17,16,12,13,13,14,15,14,14,15,15,16,13,14,13,15,15,15,15,16,16,17,15,15,15,16,15,14,15,15,16,16,14,15,15,16,17,15,16,16,17,17,16,15,16,15,17,16,17,17,17,17,14,15,15,15,16,15,15,16,16,17,14,15,15,16,16,16,16,17,17,18,15,16,15,17,15,11,13,12,14,14,12,13,13,15,15,12,14,13,15,14,14,15,15,16,16,14,15,14,16,15,12,13,13,15,15,13,14,14,15,16,13,14,14,16,16,15,15,16,16,17,15,16,15,17,16,12,13,13,15,14,13,14,14,16,15,13,14,13,16,14,15,16,15,17,16,15,15,14,18,15,14,15,15,16,16,15,15,16,16,17,15,16,15,17,16,16,16,17,17,18,16,17,17,18,17,14,15,15,16,15,15,16,15,17,16,15,15,15,17,15,16,17,17,18,17,16,17,16,18,15,10,12,12,14,14,12,13,13,14,14,12,13,13,14,14,13,14,14,15,15,13,14,14,16,15,11,12,13,14,14,12,13,13,15,15,12,13,13,15,15,13,14,15,15,16,14,15,15,16,16,12,13,13,14,14,13,13,14,15,15,13,14,13,15,15,14,15,15,16,16,14,15,14,16,15,13,14,14,15,15,13,14,14,15,16,14,14,15,16,16,14,15,15,15,17,15,16,16,17,17,13,14,14,15,15,14,15,15,16,16,14,15,15,16,16,15,16,16,16,17,15,16,15,17,16,11,12,12,14,14,12,13,13,14,15,12,13,13,15,14,13,14,14,15,16,13,14,14,16,15,12,13,13,14,15,13,13,14,15,15,13,14,14,15,15,14,14,15,15,17,14,15,15,16,16,12,13,13,15,15,13,14,14,15,15,13,14,13,15,15,14,15,15,16,17,14,15,15,16,16,13,13,14,15,16,14,14,15,15,16,14,15,15,16,16,15,15,16,15,18,15,16,16,17,17,14,15,15,16,16,15,15,15,16,16,14,15,15,17,16,16,16,16,17,17,15,16,16,17,16,10,12,12,14,14,12,13,13,14,15,12,13,13,15,14,14,14,15,15,16,14,15,14,16,15,12,13,13,15,14,13,13,14,15,15,13,14,14,15,15,14,14,15,15,16,14,15,15,16,16,12,13,13,15,15,13,14,14,15,16,13,14,13,15,14,15,15,15,16,16,14,15,15,16,15,13,14,14,16,15,14,14,14,15,16,14,15,15,16,16,15,15,16,15,17,16,17,16,17,17,14,14,15,15,16,15,15,16,16,16,14,15,14,16,15,16,16,16,17,17,15,16,15,17,15,11,13,13,14,15,13,13,14,15,15,13,14,13,15,15,14,15,15,15,16,14,15,15,17,15,13,13,14,15,15,13,14,15,15,16,14,14,14,16,16,15,14,16,15,17,15,16,16,17,16,13,14,14,15,15,14,14,14,16,16,13,15,14,16,15,15,15,16,17,17,15,16,15,17,16,14,15,15,15,16,15,15,16,15,17,15,16,16,16,17,16,16,17,15,18,16,17,17,17,17,14,15,15,16,16,15,16,16,17,17,15,16,15,17,16,16,17,17,18,18,16,17,15,18,16,10,12,12,14,14,13,13,14,14,15,13,14,13,15,14,14,15,15,15,16,15,15,15,16,15,12,13,13,15,14,12,12,14,14,15,14,15,14,16,15,15,14,15,14,17,15,16,16,17,16,12,13,13,14,15,14,14,15,15,16,13,14,12,16,14,15,16,16,16,17,15,16,14,17,15,14,15,14,16,15,14,14,15,15,15,15,16,15,17,16,15,14,16,14,16,16,17,17,18,17,14,14,15,15,16,15,16,16,16,17,14,15,14,16,15,16,16,17,17,17,15,16,14,17,14,10,12,12,14,13,12,13,13,14,14,11,13,12,14,14,13,14,14,15,16,13,14,14,16,15,12,13,13,14,14,13,13,14,15,15,13,14,13,15,15,14,14,15,15,16,14,15,15,16,16,11,13,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,13,14,14,16,15,13,14,14,15,15,14,15,15,15,16,14,15,15,16,16,15,16,16,16,17,16,16,16,17,17,13,14,14,15,15,14,15,15,16,16,13,14,14,16,15,15,16,16,17,17,15,15,15,17,15,11,12,12,14,14,12,13,13,14,15,12,13,13,15,14,14,14,15,15,16,14,14,14,16,15,12,13,13,15,14,13,13,14,15,15,13,14,14,16,15,14,15,15,15,16,15,15,15,16,16,12,13,13,14,15,13,13,14,15,15,13,14,13,15,15,15,15,15,16,16,14,15,14,16,15,14,14,15,16,16,14,15,15,15,16,15,16,15,16,16,15,15,16,15,17,16,16,16,17,17,13,14,14,15,16,14,15,15,16,16,14,14,14,16,16,16,16,16,17,17,15,15,15,17,15,11,12,12,14,14,12,13,13,14,15,12,13,13,15,14,14,14,14,15,16,13,14,14,16,15,12,13,13,15,15,13,13,14,15,16,13,14,14,15,15,14,15,15,16,17,14,15,15,17,16,12,13,13,15,14,13,14,14,15,15,13,14,13,15,15,14,15,15,16,16,14,15,14,17,15,14,15,15,16,16,14,15,15,16,17,15,15,15,17,17,15,16,16,16,17,16,17,16,17,17,13,15,14,16,15,14,15,15,16,16,14,15,14,16,15,16,16,16,17,17,15,16,15,17,15,10,12,12,14,14,13,13,14,14,15,13,14,13,15,14,14,15,15,15,17,14,15,15,16,15,12,13,13,15,14,12,12,14,14,15,14,15,14,16,15,15,14,16,15,17,15,16,16,17,16,12,13,13,14,15,14,14,15,15,16,12,14,12,15,14,15,16,16,16,17,15,16,14,17,14,14,15,14,16,16,14,14,15,15,16,15,16,16,17,16,15,14,16,14,17,16,17,17,18,17,14,14,15,15,16,15,15,16,16,17,14,15,14,16,15,16,17,17,17,18,15,16,14,17,14,11,13,13,15,14,13,13,14,15,15,12,14,13,15,15,14,15,15,15,17,14,15,14,16,15,13,14,14,15,15,13,14,15,15,16,14,15,14,16,16,15,15,16,16,17,15,16,16,17,17,13,14,13,15,15,14,14,14,16,16,13,15,14,16,15,15,16,16,17,17,15,16,14,17,15,15,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,15,17,16,17,17,17,17,18,18,14,15,15,17,15,15,16,16,17,16,15,16,15,17,15,16,17,17,17,17,16,17,15,18,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,7,8,8,10,10,8,9,9,10,11,8,9,9,10,10,9,10,10,11,11,9,10,10,11,11,8,9,9,10,10,9,9,10,11,11,9,10,10,11,11,10],"i8",N3,x.GLOBAL_BASE+400337),E3([10,11,11,11,10,11,11,11,11,8,9,9,10,10,9,10,10,11,11,9,10,9,11,11,10,11,11,11,11,10,11,10,11,11,10,10,10,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,11,12,11,11,11,11,12,10,10,10,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,12,11,11,11,11,12,11,8,9,10,11,11,9,10,11,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,10,11,11,10,10,11,11,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,10,10,11,11,10,11,11,12,12,10,11,11,12,11,11,12,12,12,12,11,12,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,8,10,9,11,11,9,10,10,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,10,10,11,11,10,11,11,12,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,11,12,11,11,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,13,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,10,11,11,12,11,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,12,12,13,13,13,13,13,13,13,13,13,8,10,10,11,11,9,10,10,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,11,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,10,10,11,11,10,11,11,12,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,11,12,10,11,11,12,12,11,11,11,12,12,11,11,11,12,12,10,10,11,11,12,11,11,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,10,11,11,12,12,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,12,12,12,13,12,12,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,11,12,12,12,12,12,12,12,13,12,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,11,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,10,10,11,11,9,10,10,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,10,11,11,10,11,11,11,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,11,12,12,11,12,11,12,12,10,11,11,12,12,11,11,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,10,12,11,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,11,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,11,11,12,12,11,12,12,12,12,11,12,11,13,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,12,13,13,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,11,12,12,12,11,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,12,13,12,13,12,12,13,13,13,12,12,13,13,13,12,13,13,13,13,12,12,12,12,13,12,12,13,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,11,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,13,13,13,13,12,13,13,12,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,13,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,11,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,12,13,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,11,12,12,12,12,12,13,13,11,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,13,13,13,13,13,12,13,12,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,13,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,13,13,13,13,13,13,13,13,13,12,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,8,5,8,7,5,7,8,7,8,10,8,10,10,5,8,7,8,10,10,7,10,8,6,8,9,9,10,12,9,11,11,9,10,11,11,11,13,11,13,13,9,11,11,11,12,13,11,13,11,6,9,8,9,11,11,9,12,10,9,11,11,11,11,13,11,13,13,9,11,10,11,13,13,11,13,11,6,9,9,8,10,11,9,12,11,8,10,11,10,11,13,11,13,13,9,11,11,11,13,12,11,13,11,8,10,10,9,11,12,10,12,12,10,10,12,11,11,14,12,13,14,10,12,12,12,13,13,11,14,11,8,11,10,11,12,13,11,14,12,10,12,11,11,12,14,13,15,14,10,12,12,13,14,15,12,14,12,5,9,9,9,11,12,8,11,10,9,11,11,11,11,13,11,12,13,8,11,10,11,13,13,10,13,11,8,10,11,11,12,14,11,13,12,10,12,12,12,12,14,14,15,14,10,11,12,13,14,15,11,14,12,8,10,10,10,12,12,9,12,11,10,12,12,11,11,14,12,13,13,10,12,10,12,14,13,11,13,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,6,7,7,7,7,7,7,7,7,7,7,8,7,8,8,7,8,8,7,8,7,7,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,8,8,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,8,8,8,8,8,9,8,8,9,8,7,8,8,7,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,7,8,8,8,8,9,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,9,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,7,8,8,7,8,8,8,8,8,8,8,9,8,8,9,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,9,8,8,8,8,8,9,9,9,9,9,8,8,8,8,9,9,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,5,4,7,7,4,7,7,5,7,8,7,8,10,8,9,9,5,7,7,8,9,9,7,10,8,5,7,8,8,9,10,8,10,10,8,9,10,10,10,12,10,12,12,8,10,10,10,12,12,10,12,11,5,8,7,8,10,10,8,10,9,8,10,10,10,11,12,10,12,12,8,10,9,10,12,12,10,12,10,5,8,8,7,10,10,8,10,10,7,9,10,9,10,12,10,12,12,8,10,10,10,12,12,10,12,11,7,9,10,9,11,12,10,12,11,9,9,12,11,10,14,12,12,13,10,12,11,12,13,13,11,14,12,7,10,9,10,11,11,10,12,11,9,11,11,11,11,13,12,14,13,10,12,12,12,14,14,11,14,12,5,8,8,8,10,10,7,10,10,8,10,10,10,11,12,10,12,12,7,10,9,10,12,12,9,12,10,7,9,10,10,11,12,10,11,11,10,12,12,11,12,14,12,14,14,9,11,11,12,13,14,11,13,11,7,10,9,10,11,12,9,12,11,10,11,12,11,12,14,12,13,13,9,12,9,12,13,12,11,14,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,9,9,6,8,8,10,10,6,8,8,10,10,8,10,10,12,13,8,10,10,13,12,6,8,8,10,10,8,8,9,10,11,8,9,9,11,11,10,10,11,12,13,10,11,11,13,13,6,8,8,10,10,8,9,9,11,11,8,9,8,11,10,10,11,11,13,13,10,11,10,13,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,12,15,13,13,13,15,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,13,13,14,15,12,13,12,15,12,6,8,8,10,11,8,9,10,11,12,8,9,9,11,11,10,11,12,13,14,10,11,11,13,13,8,9,9,11,12,9,10,11,12,13,9,10,10,12,13,11,12,13,13,15,11,12,12,14,14,8,9,9,11,12,9,10,11,12,13,9,10,10,13,12,11,12,13,14,15,11,12,12,14,13,10,11,12,13,14,11,12,13,13,15,12,13,13,14,14,13,13,14,14,16,14,15,14,16,15,10,12,11,14,13,12,12,13,14,14,11,12,12,14,14,14,14,15,15,16,13,14,14,16,14,6,8,8,11,10,8,9,9,11,11,8,10,9,12,11,10,11,11,13,13,10,12,11,14,13,8,9,9,12,11,9,10,10,12,13,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,8,9,9,12,11,9,10,10,13,12,9,11,10,13,12,11,12,12,14,14,11,13,12,15,13,10,11,12,13,14,11,12,13,13,14,12,13,12,14,14,13,13,14,14,16,14,15,14,16,16,10,12,11,14,13,12,13,13,14,14,11,13,12,15,13,14,14,15,16,16,13,14,13,16,14,9,10,11,12,13,11,11,12,13,14,11,11,12,13,14,13,13,14,14,16,13,14,14,15,15,11,11,12,13,14,12,12,13,13,15,12,13,13,14,15,14,14,15,15,17,14,14,15,16,16,11,12,12,13,14,12,12,13,14,15,12,13,12,14,15,14,14,15,15,17,14,15,14,16,16,13,14,14,15,16,14,14,15,15,17,14,15,15,16,16,15,16,17,16,18,16,17,16,17,17,13,14,14,16,15,14,15,15,16,16,14,15,14,16,15,16,16,17,17,18,16,16,16,17,16,9,11,10,13,12,11,12,11,14,13,11,12,11,14,13,13,14,14,16,15,13,14,13,16,14,11,12,12,14,13,12,12,13,14,14,12,13,13,15,14,14,14,15,16,16,14,15,14,17,15,11,12,11,14,13,12,13,13,15,14,12,13,12,15,13,14,15,14,16,16,14,15,14,17,15,13,14,14,15,16,14,14,15,16,16,14,15,15,16,16,15,16,16,16,17,16,16,16,17,17,13,14,14,16,15,14,15,15,17,16,14,15,14,17,15,16,17,17,17,17,16,16,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,11,11,14,13,8,9,9,11,12,9,10,10,12,13,9,10,10,13,12,11,11,12,13,15,11,12,12,15,14,8,9,9,12,11,9,10,11,12,13,9,11,10,13,12,11,12,12,14,15,11,13,12,15,14,10,11,11,13,14,11,12,12,13,14,11,12,12,14,14,13,13,14,14,16,13,14,14,16,15,11,12,11,14,13,12,13,13,14,14,11,13,12,14,13,14,14,15,16,16,13,14,14,16,14,8,9,9,11,12,9,10,10,12,13,9,10,10,13,12,11,12,12,14,15,11,12,12,14,14,9,9,10,11,13,10,10,12,12,14,10,10,11,13,13,12,12,13,14,16,12,12,13,15,15,9,10,10,13,12,10,11,11,13,14,10,12,11,14,13,12,13,13,15,15,12,13,13,15,15,11,11,12,13,15,12,12,13,13,15,12,13,13,14,15,14,14,15,15,17,14,15,15,16,16,11,13,12,15,14,13,13,13,15,15,12,14,13,15,14,15,15,15,16,16,14,15,15,17,15,7,9,9,12,11,9,10,10,12,12,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,9,10,10,12,12,10,10,11,12,13,10,11,11,14,13,12,12,13,14,15,12,13,13,15,14,9,10,10,12,12,10,11,11,13,13,10,11,10,14,12,12,13,13,15,15,12,13,12,15,13,11,12,12,14,14,12,12,13,14,15,12,13,13,15,15,14,13,14,13,16,14,15,15,16,16,11,12,12,14,14,13,13,14,15,15,12,13,12,15,14,15,15,15,16,16,14,15,14,17,14,10,11,12,13,14,11,12,13,14,15,11,12,12,14,15,13,14,15,15,17,14,14,14,16,16,11,12,13,12,15,12,12,14,13,16,13,13,14,13,16,14,14,15,14,17,15,15,15,15,17,11,13,12,15,15,13,13,14,15,16,12,14,13,16,15,15,15,15,17,17,15,15,15,17,16,14,14,15,14,16,14,14,16,14,17,15,15,15,14,17,16,16,17,15,18,17,17,17,16,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,17,17,17,18,18,16,17,16,18,17,10,11,11,14,13,11,12,12,14,14,11,13,12,15,14,14,14,14,16,16,14,15,14,16,15,11,12,12,15,13,12,13,13,15,14,13,14,13,16,14,14,15,15,16,16,15,16,15,17,16,11,13,12,15,14,13,13,14,15,15,12,14,13,16,14,15,15,15,17,17,14,16,15,17,16,14,14,14,16,15,14,15,15,16,16,15,16,15,17,16,16,16,16,16,17,16,17,17,18,17,14,15,15,16,16,15,15,16,17,16,14,15,15,17,16,17,17,17,18,18,16,17,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,12,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,11,10,13,12,11,12,13,14,15,11,12,12,15,14,8,9,9,12,11,9,10,10,12,13,9,10,10,13,12,11,12,12,14,15,11,12,12,14,13,11,11,12,13,14,11,12,13,13,15,12,13,13,14,14,13,14,14,14,16,14,15,14,16,16,10,11,11,14,13,11,12,12,14,14,11,12,12,14,13,13,14,14,15,16,13,14,13,16,14,7,9,9,11,11,9,10,11,12,13,9,10,10,12,12,11,12,13,14,15,11,12,12,14,14,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,13,15,12,13,13,15,15,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,13,13,14,15,12,13,12,15,13,11,12,12,14,14,12,12,13,14,15,13,14,13,15,15,14,13,15,13,16,15,15,15,16,16,11,12,12,14,14,12,13,13,14,15,12,13,12,15,14,14,15,15,16,17,13,14,13,16,13,8,9,9,12,11,9,10,10,12,13,9,10,10,13,12,11,12,12,14,15,11,12,12,15,14,9,10,10,12,13,10,11,12,13,14,10,11,11,14,13,12,13,13,15,15,12,13,13,15,15,9,10,9,13,11,10,11,10,13,13,10,12,10,14,12,12,13,12,15,15,12,13,12,15,14,11,12,13,14,15,12,13,14,14,15,13,13,13,15,15,14,15,15,15,17,15,15,15,16,16,11,12,11,15,13,12,13,13,15,14,12,13,12,16,13,14,15,15,16,16,14,15,14,17,14,10,11,11,13,14,11,12,13,14,15,11,12,12,14,14,14,14,15,15,17,14,14,14,15,16,11,12,13,14,15,12,13,14,14,16,13,14,13,15,15,14,15,16,15,17,15,15,15,17,17,11,12,12,13,15,13,13,14,14,16,12,13,13,14,15,15,15,15,16,17,14,15,15,16,16,14,15,15,16,16,14,15,15,16,17,15,15,16,16,17,16,16,17,16,18,17,17,17,18,18,14,14,15,15,16,15,15,15,16,17,14,15,15,16,16,16,17,17,17,18,16,16,16,17,16,10,11,11,14,13,11,13,12,15,14,11,13,12,15,14,14,15,14,16,16,13,15,14,17,15,11,12,13,15,15,12,13,14,15,16,13,14,13,16,15,15,15,15,16,17,15,15,15,17,16,11,13,11,15,12,13,14,13,16,13,12,14,12,16,13,15,15,15,17,15,14,16,14,17,14,14,15,15,16,17,15,15,16,16,17,15,16,15,17,17,16,16,17,17,18,16,17,17,18,18,14,15,14,17,13,15,16,15,17,15,15,16,15,17,14,16,17,16,18,16,16,17,16,18,15,9,11,11,13,13,10,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,16,16,10,11,12,14,14,11,12,13,14,15,11,13,13,15,15,13,14,14,15,16,14,15,15,16,16,11,12,12,14,14,12,13,13,15,15,12,13,12,15,14,14,15,15,16,16,14,15,14,17,16,12,13,13,15,16,13,13,14,15,16,13,14,14,16,16,14,15,16,16,17,15,16,16,17,17,13,14,14,16,15,14,15,15,17,16,14,15,14,17,15,16,16,17,17,17,16,16,16,18,16,10,11,12,14,14,11,12,13,14,15,11,13,12,15,15,13,14,15,16,16,14,15,15,17,16,11,11,13,14,15,12,12,14,14,16,12,13,14,15,15,14,14,15,16,17,15,15,15,17,17,12,13,12,15,15,13,14,14,16,15,13,14,13,16,15,15,16,15,17,17,15,16,15,17,16,13,12,15,14,16,14,13,15,14,17,14,13,15,15,17,15,14,17,15,18,16,15,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,16,17,17,18,18,16,17,16,18,17,10,11,11,14,14,11,12,12,14,15,11,13,12,15,14,13,14,14,16,16,14,15,14,16,16,11,12,12,14,14,12,12,13,15,15,12,13,13,15,15,14,14,15,16,16,14,15,15,17,16,11,12,12,15,15,13,13,13,15,15,12,13,13,15,15,15,15,15,17,17,14,15,15,17,16,13,14,13,16,15,14,14,14,16,16,14,15,14,17,16,15,15,16,16,17,16,17,16,18,17,14,15,15,16,16,15,15,15,17,17,14,15,15,17,16,16,17,17,18,18,16,17,16,18,16,12,13,13,15,15,13,14,14,16,16,13,14,14,16,16,14,15,16,16,18,15,16,16,17,17,13,13,14,14,16,14,14,15,15,17,14,14,15,15,17,15,15,17,15,18,16,16,17,17,18,13,14,14,16,16,14,15,15,16,17,14,15,15,17,16,16,17,16,17,18,16,17,16,18,17,15,14,16,13,18,16,15,17,14,18,16,15,17,14,18,17,16,18,15,19,17,17,18,16,19,15,16,16,17,17,16,17,17,18,18,16,17,16,18,17,18,18,18,19,18,17,18,17,19,17,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,15,15,16,17,15,16,15,17,16,12,13,13,15,15,13,13,14,15,16,14,15,14,16,15,15,15,16,16,17,16,16,16,18,17,12,13,13,15,15,14,14,15,16,16,13,14,13,16,15,16,16,16,17,17,15,16,15,18,16,15,15,15,17,15,14,15,15,16,16,16,17,16,17,16,16,16,17,16,17,17,18,17,19,18,15,15,16,17,17,16,16,16,17,17,15,16,15,17,16,17,18,18,18,18,16,17,16,18,16,9,11,11,13,13,11,12,12,14,14,10,12,12,14,14,13,14,14,15,16,13,14,14,16,15,11,12,12,14,14,12,12,13,14,15,12,13,13,15,15,14,14,15,16,17,14,15,15,16,16,10,12,11,14,14,11,13,13,15,15,11,13,12,15,14,14,14,15,16,16,13,14,14,16,15,13,14,14,15,16,14,14,15,15,17,14,15,15,16,17,16,16,16,16,18,16,16,17,17,17,12,13,13,16,15,13,14,14,16,16,12,14,13,16,15,15,16,16,17,17,14,16,15,17,16,10,11,11,14,14,11,12,13,14,15,11,12,12,15,14,14,14,15,16,16,13,14,14,16,16,11,12,12,14,15,12,13,14,15,15,13,13,13,15,15,14,15,15,16,17,15,15,15,16,17,11,12,12,14,14,12,13,13,15,15,12,13,12,15,15,14,15,15,16,17,14,15,14,16,16,14,14,15,16,16,14,15,15,16,17,15,16,15,17,17,16,16,17,16,18,16,17,17,18,18,13,13,14,15,16,14,14,15,16,17,14,14,14,16,15,16,16,17,17,18,15,16,15,17,16,10,12,11,14,14,11,13,13,15,15,11,13,12,15,15,14,15,15,16,16,13,15,14,16,16,12,12,13,15,15,13,13,14,15,16,13,14,14,16,15,15,15,16,16,17,15,15,15,17,17,11,13,11,15,14,12,14,13,16,15,12,14,12,16,14,15,15,15,17,17,14,15,14,17,15,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,17,18,16,17,17,18,18,13,14,12,16,14,14,15,13,17,15,14,15,13,17,14,16,17,15,18,17,15,17,14,18,15,11,12,12,14,15,13,13,14,15,16,13,14,13,16,15,15,15,16,16,17,15,15,15,16,16,12,13,13,15,15,13,13,14,15,16,14,15,14,16,16,15,15,16,16,18,16,16,16,18,17,12,13,13,15,15,14,14,15,15,16,13,14,13,15,15,16,16,16,17,18,15,16,15,17,16,15,16,15,17,16,15,15,16,16,17,16,17,16,17,17,16,16,17,16,18,17,18,18,18,18,14,15,15,15,17,16,15,17,16,17,14,15,15,16,16,17,17,18,18,19,16,16,16,17,16,12,13,13,15,15,13,14,14,16,16,13,14,14,16,16,15,16,16,17,17,15,16,15,18,16,13,14,14,16,16,14,15,15,16,17,14,15,15,17,16,16,16,17,17,18,16,17,16,18,18,13,14,13,16,14,14,15,14,17,15,14,15,14,17,14,16,17,16,18,17,15,17,15,18,15,15,16,16,17,18,16,16,17,17,18,16,17,17,17,18,17,17,18,18,19,17,18,18,19,18,15,16,14,17,13,16,17,15,18,14,16,17,15,18,14,18,18,17,19,16,17,18,16,19,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,4,7,7,4,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,6,7,8,8,9,10,8,9,10,8,9,10,10,10,12,10,11,11,8,10,10,10,11,12,10,11,11,6,8,7,8,10,9,8,10,9,8,10,10,10,11,11,10,12,11,8,10,9,10,11,11,10,12,10,5,8,8,8,10,10,8,10,10,7,9,10,9,10,11,9,11,11,8,10,10,10,11,12,10,12,11,7,9,9,9,10,11,9,11,11,9,9,11,10,11,12,11,11,12,9,11,11,11,12,12,11,12,12,7,9,9,10,11,11,10,12,11,9,11,10,11,11,12,11,13,12,10,11,11,12,13,13,11,13,11,5,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,11,7,10,9,9,11,11,9,11,10,7,9,9,10,11,12,10,11,11,10,11,11,11,11,13,12,13,13,9,10,11,11,12,13,11,12,11,7,9,9,9,11,11,9,11,10,9,11,11,11,12,12,11,12,12,9,11,9,11,12,11,10,12,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,9,14,16,17,19,22,22,5,4,6,9,11,13,17,20,9,5,5,6,9,11,15,19,11,7,5,5,7,9,13,17,14,9,7,6,6,7,11,14,16,11,9,7,6,4,4,8,19,15,13,11,9,4,3,4,21,16,16,15,12,6,4,4,2,0,0,0,64,0,0,0,56,145,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,6,0,0,0,0,0,0,0,0,0,40,98,6,0,0,0,0,0,0,0,0,0,80,98,6,0,120,98,6,0,0,0,0,0,0,0,0,0,160,98,6,0,200,98,6,0,0,0,0,0,0,0,0,0,240,98,6,0,24,99,6,0,0,0,0,0,0,0,0,0,64,99,6,0,104,99,6,0,24,99,6,0,0,0,0,0,144,99,6,0,184,99,6,0,56,167,5,0,96,167,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,192,97,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,13,15,16,17,19,20,6,3,4,7,9,10,12,15,13,4,3,4,7,8,11,13,14,7,4,4,6,7,10,11,16,9,7,6,7,8,9,10,16,9,8,7,7,6,8,8,18,12,10,10,9,8,8,9,20,14,13,12,11,8,9,9,5,0,0,0,243,0,0,0,48,144,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,40,145,6,0,0,0,0,0,5,0,0,0,53,12,0,0,224,131,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,24,144,6,0,0,0,0,0,5,0,0,0,243,0,0,0,216,130,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,208,131,6,0,0,0,0,0,5,0,0,0,243,0,0,0,208,129,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,200,130,6,0,0,0,0,0,5,0,0,0,243,0,0,0,200,128,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,192,129,6,0,0,0,0,0,5,0,0,0,53,12,0,0,120,116,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,176,128,6,0,0,0,0,0,5,0,0,0,53,12,0,0,40,104,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,96,116,6,0,0,0,0,0,1,0,0,0,7,0,0,0,0,104,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,8,104,6,0,0,0,0,0,5,0,0,0,243,0,0,0,248,102,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,240,103,6,0,0,0,0,0,5,0,0,0,243,0,0,0,240,101,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,232,102,6,0,0,0,0,0,5,0,0,0,243,0,0,0,232,100,6,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,224,101,6,0,0,0,0,0,5,0,0,0,243,0,0,0,224,99,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,216,100,6,0,0,0,0,0,1,4,5,5,10,10,5,10,10,5,10,10,10,10,10,10,10,10,5,10,10,10,10,10,10,10,10,7,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,6,7,8,6,8,7,6,7,7,7,7,8,7,8,8,6,7,7,7,8,8,7,8,7,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,10,9,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,9,9,10,9,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,9,10,8,9,9,9,10,9,9,10,9,7,8,8,8,9,9,8,9,9,8,8,9,9,9,9,9,9,9,8,9,9,9,10,9,9,9,9,7,9,9,9,9,10,9,10,9,9,9,9,9,9,10,10,10,10,9,9,9,10,10,10,9,10,9,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,9,9,10,9,7,9,9,9,9,10,9,10,9,9,9,9,9,9,10,10,10,10,9,9,9,10,10,10,9,10,9,7,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,9,10,8,9,8,9,9,9,9,10,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,5,7,9,5,9,7,5,7,8,7,7,10,9,10,10,5,8,7,9,10,10,7,10,7,6,9,9,9,10,12,9,11,11,9,10,11,11,11,13,12,13,13,9,11,11,12,13,13,11,13,11,6,9,9,9,11,11,9,12,10,9,11,11,11,11,13,12,13,13,9,11,10,12,13,13,11,13,11,6,9,9,9,11,12,9,12,11,9,10,11,10,10,13,12,13,13,9,11,11,12,13,12,11,13,11,7,9,10,9,10,12,10,12,11,10,10,12,10,10,12,12,12,13,10,11,11,12,12,13,10,12,10,7,10,10,11,11,14,11,14,11,10,12,11,11,11,14,14,14,14,10,11,12,14,14,14,11,14,11,6,9,9,9,11,12,9,12,11,9,11,11,11,11,13,12,12,13,9,11,10,12,13,13,10,13,10,7,10,10,11,11,14,11,14,11,10,12,11,11,11,14,14,15,14,10,11,12,13,14,15,11,14,11,7,10,9,10,11,12,9,12,10,10,11,11,10,10,12,12,13,12,9,12,10,12,13,12,10,12,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,10,10,5,7,8,11,12,5,8,7,12,11,9,11,11,13,15,9,11,11,15,13,6,7,8,11,11,7,7,9,11,13,8,9,9,13,12,11,11,12,12,15,11,12,12,15,14,6,8,7,11,11,8,9,9,12,13,7,9,7,13,11,11,12,12,14,15,11,12,11,15,12,10,11,11,12,14,10,11,12,12,15,12,13,13,14,15,13,12,14,12,16,15,15,15,16,16,10,11,11,14,12,12,13,13,15,14,10,12,11,15,12,15,15,15,16,17,13,14,12,17,12,6,8,8,12,12,8,9,10,13,13,8,9,9,13,13,12,12,13,15,16,12,13,13,16,15,8,9,10,12,13,9,9,11,13,14,10,11,11,14,14,13,13,14,15,16,13,14,14,16,16,8,10,9,13,13,10,11,11,14,14,9,10,10,14,13,13,14,14,16,17,13,13,13,16,15,12,13,13,14,16,13,13,14,14,16,14,14,14,16,16,15,15,16,15,18,16,17,17,18,18,12,13,13,15,15,14,14,14,16,16,13,14,13,16,15,16,16,17,18,18,15,16,15,18,15,6,8,8,12,12,8,9,9,13,13,8,10,9,13,13,12,13,13,15,16,12,13,12,16,15,8,9,10,13,13,9,10,10,13,14,10,11,11,14,14,13,13,13,15,16,13,14,14,17,16,8,10,9,13,13,10,11,11,14,14,9,11,9,14,13,13,14,14,16,16,13,14,13,16,14,12,13,13,15,16,13,13,14,15,16,14,14,14,16,16,15,15,16,15,18,17,17,17,18,18,12,13,13,16,14,14,14,14,16,16,13,14,13,16,14,16,17,17,18,18,15,16,15,18,15,11,12,13,14,16,13,13,14,15,17,13,14,14,16,17,16,16,17,17,19,16,17,17,18,19,13,13,14,16,16,14,14,15,16,17,14,15,15,17,17,17,16,17,17,19,17,17,18,19,19,13,14,14,16,16,14,14,15,17,18,14,15,14,17,17,17,17,18,18,19,17,17,17,18,19,16,16,16,17,18,17,17,17,18,19,17,17,17,18,19,18,18,19,18,20,19,20,19,21,20,16,17,17,18,18,17,17,18,19,19,17,17,17,19,18,19,19,19,19,20,19,19,19,20,19,11,13,12,16,14,13,14,14,17,16,13,14,13,17,15,16,17,17,18,18,16,17,16,19,17,13,14,14,16,16,14,14,14,17,17,14,15,15,17,16,17,17,17,19,19,17,18,17,19,18,13,14,13,17,16,14,15,15,17,17,14,15,14,18,16,17,17,17,19,19,17,17,16,19,17,16,17,17,18,19,17,17,17,18,18,17,18,17,19,18,18,19,18,19,19,19,20,19,20,20,16,17,16,18,17,17,17,17,18,18,17,18,17,19,17,19,19,19,19,20,18,19,19,20,18,6,8,8,12,12,8,9,9,13,13,8,10,9,13,13,11,13,13,15,16,12,13,13,16,15,8,9,9,13,13,9,9,10,13,14,10,11,11,14,14,12,12,13,14,16,13,14,14,17,16,8,10,9,13,13,10,11,11,14,14,9,11,10,14,13,13,14,14,16,16,13,14,13,16,15,12,13,13,14,16,12,13,14,14,16,13,14,14,16,16,15,14,16,15,18,16,17,17,18,17,12,13,13,16,15,14,14,14,16,16,13,14,13,16,15,16,16,17,17,17,15,16,15,18,15,7,9,9,13,13,9,9,11,13,14,9,10,10,14,13,12,13,14,15,16,12,14,13,17,15,9,9,10,13,14,10,9,11,13,15,11,11,11,14,14,13,12,14,14,17,14,14,14,17,16,9,10,10,14,13,11,11,11,14,14,10,11,10,15,13,14,14,14,16,17,13,14,13,17,14,13,13,14,14,16,13,13,14,14,17,14,14,14,16,16,15,14,16,15,18,17,17,17,18,18,13,14,13,16,15,14,14,15,17,16,13,14,13,17,15,17,16,17,17,17,15,16,14,18,14,7,9,9,13,13,9,10,10,13,14,9,11,10,14,13,13,14,14,16,16,13,14,14,17,15,9,10,10,14,13,9,10,11,13,14,11,12,11,15,14,13,13,14,14,16,14,15,15,17,17,9,10,10,14,14,11,12,12,14,15,10,11,10,15,13,14,15,15,17,17],"i8",N3,x.GLOBAL_BASE+410577),E3([14,15,13,17,14,13,14,13,16,16,13,13,14,15,16,14,15,15,17,17,15,14,16,15,18,17,18,17,20,18,13,14,14,16,16,15,15,15,17,17,13,14,13,17,15,17,17,18,18,18,15,16,14,19,14,12,13,13,15,16,13,13,15,16,17,13,14,14,16,16,15,15,17,17,19,16,17,17,19,18,13,13,14,15,17,14,13,15,15,17,14,15,15,16,17,16,15,18,16,19,17,17,17,18,19,13,14,14,17,16,14,15,15,17,17,14,15,14,17,16,17,17,17,18,19,16,17,16,19,17,16,16,17,16,18,16,16,17,16,19,17,17,18,18,19,18,17,18,17,21,19,19,19,20,19,16,17,17,18,18,17,17,18,18,19,16,17,16,18,18,19,19,19,19,20,18,18,17,20,18,11,13,13,16,15,13,14,14,16,17,13,15,14,17,16,16,17,17,18,18,17,17,17,19,18,13,14,13,17,16,14,13,14,16,17,15,16,15,18,16,17,16,17,17,19,18,18,18,20,18,13,14,14,16,17,15,15,15,17,18,14,15,14,18,16,18,18,18,19,20,17,18,16,20,17,16,17,16,18,18,16,16,17,18,18,17,18,18,19,18,18,17,19,17,20,19,20,19,22,20,16,16,17,18,18,18,17,17,19,19,16,17,16,18,17,19,20,19,22,21,18,19,18,21,17,6,8,8,12,12,8,9,10,13,13,8,9,9,13,13,12,13,13,15,16,11,13,13,16,15,8,9,10,13,13,9,10,11,13,14,10,11,11,14,14,13,13,14,15,16,13,14,14,16,16,8,9,9,13,13,10,11,11,14,14,9,10,9,14,13,13,14,14,16,17,12,14,12,16,14,12,13,13,15,16,13,13,14,15,16,13,14,14,15,17,15,15,16,15,18,16,16,17,17,17,12,13,13,16,14,13,14,14,16,16,12,14,13,16,14,16,17,17,18,18,15,15,14,18,14,7,9,9,13,13,9,10,11,13,14,9,10,10,14,13,13,14,14,15,17,13,14,14,16,15,9,10,10,14,14,10,10,11,13,15,11,12,12,15,14,14,13,15,14,17,14,15,15,17,17,9,10,10,13,14,11,11,12,14,15,9,11,10,14,13,14,15,15,16,18,13,14,13,16,14,13,14,14,16,16,13,13,14,15,17,15,15,15,16,17,15,14,16,15,18,17,17,18,19,18,13,14,14,16,16,14,15,15,17,17,13,14,13,16,15,17,17,18,18,18,15,16,14,18,15,7,9,9,13,13,9,10,10,13,14,9,11,10,14,13,12,13,14,15,16,12,14,13,16,15,9,10,10,13,14,10,10,11,13,14,11,11,11,15,14,13,13,14,14,16,14,14,14,17,16,9,10,9,14,13,11,11,11,14,14,10,11,9,15,13,14,14,14,16,16,13,14,12,17,14,13,13,14,15,16,13,13,14,15,16,14,15,14,16,17,15,14,16,14,18,16,17,17,18,18,13,14,13,16,14,14,14,14,16,16,13,14,13,17,14,17,17,17,18,18,15,16,14,18,15,11,13,13,16,16,13,14,15,16,17,13,14,14,17,16,16,17,17,18,19,17,17,17,19,18,13,14,14,17,17,13,13,15,16,18,15,15,15,17,17,17,16,18,17,20,18,17,18,19,19,13,14,14,16,17,15,15,16,16,18,14,15,14,16,16,17,17,18,18,20,17,18,16,18,17,16,17,16,19,18,16,16,17,18,19,18,18,18,19,19,18,17,18,17,21,20,19,19,21,21,16,16,17,18,18,17,17,18,19,19,16,17,16,19,18,20,20,20,19,21,18,18,17,20,18,12,13,13,16,15,13,14,14,16,16,13,14,13,17,16,16,17,17,18,18,15,17,15,19,17,13,14,14,16,17,14,14,15,16,17,14,15,15,17,17,16,16,17,17,18,17,17,17,19,19,13,14,13,17,15,14,15,15,17,16,14,15,13,17,15,17,18,17,19,18,16,17,15,20,16,16,17,17,18,18,16,16,17,18,18,17,18,17,19,18,17,17,18,18,20,19,20,19,20,19,16,16,16,19,16,17,17,17,19,18,16,17,16,19,16,19,19,19,19,19,18,19,17,19,17,11,13,13,16,16,13,14,14,17,17,13,14,14,17,17,15,17,17,19,19,16,18,17,20,19,12,14,14,17,17,13,14,15,17,18,14,15,15,17,18,16,16,17,18,20,17,18,18,20,18,13,14,14,17,17,14,15,15,17,18,14,15,15,17,17,17,18,17,19,19,17,18,17,19,19,15,16,16,18,18,15,16,17,18,19,16,17,17,19,19,17,17,18,18,21,18,19,19,21,19,16,17,17,18,18,17,17,18,19,19,17,18,17,19,19,19,19,19,20,20,18,19,18,21,19,12,13,13,16,16,13,14,14,16,17,13,15,14,17,16,15,16,17,17,19,16,17,17,19,18,13,13,14,16,17,14,13,15,16,17,14,15,15,17,17,15,15,17,17,20,17,17,18,19,18,13,14,14,17,16,15,15,15,17,18,14,15,14,17,16,17,17,17,18,18,16,17,16,19,17,16,15,17,17,19,16,15,17,16,19,17,16,17,18,19,17,16,19,16,20,19,18,19,19,19,16,17,17,18,18,17,17,17,18,19,16,17,16,19,18,20,19,19,20,19,18,18,17,20,17,11,13,13,16,16,13,14,15,16,17,14,15,14,18,16,17,17,17,18,21,17,18,17,20,19,13,14,14,17,16,13,14,15,16,18,15,16,15,18,17,17,16,17,17,19,17,18,18,20,19,13,14,14,16,17,15,15,16,17,18,14,15,14,18,17,17,18,18,19,20,17,18,16,19,17,16,17,15,19,18,16,16,16,18,18,17,18,17,20,19,18,17,18,17,20,20,20,19,22,20,16,17,17,18,19,18,18,18,19,20,16,17,16,19,18,20,19,19,20,20,18,19,17,20,17,13,14,14,16,17,14,14,16,16,18,14,16,15,17,16,16,16,17,17,18,17,17,16,19,18,14,14,15,16,17,14,14,16,16,18,16,16,16,17,17,16,15,17,16,19,18,18,18,19,19,14,15,15,17,17,15,16,16,17,18,14,16,14,18,16,17,17,18,18,19,16,17,16,19,17,16,16,17,16,18,16,16,17,16,19,18,18,18,17,18,17,16,18,16,20,19,19,19,19,19,16,17,17,18,18,17,17,18,19,19,16,17,16,19,17,18,19,19,19,20,17,18,16,20,16,11,14,13,17,17,14,14,16,16,18,14,16,14,19,16,18,18,19,18,19,18,19,18,21,18,13,15,14,18,16,14,14,16,16,18,16,17,16,19,17,18,16,19,17,20,19,19,19,21,19,13,14,15,17,18,17,16,17,17,19,14,16,14,18,16,20,19,19,20,21,18,19,16,21,17,17,18,16,19,17,16,16,17,18,18,19,19,18,21,18,17,17,18,17,20,20,20,20,22,20,17,17,18,18,20,19,19,19,18,20,16,17,17,19,19,21,21,21,20,21,17,19,17,23,17,11,13,13,16,16,13,14,14,17,17,13,14,14,17,17,16,17,17,19,20,15,16,16,19,19,13,14,14,16,17,14,15,15,17,18,14,15,15,17,17,17,17,18,19,19,17,17,18,19,19,13,14,14,17,16,14,15,15,17,17,13,15,14,18,17,17,18,18,19,20,16,17,16,19,18,16,16,17,18,18,17,17,17,18,19,17,18,17,19,19,19,19,19,19,20,19,20,19,20,20,15,16,16,18,17,16,17,17,20,18,15,16,16,19,17,19,19,19,20,20,17,18,17,21,17,11,13,13,16,16,13,14,15,16,17,13,15,14,17,16,17,17,18,18,20,17,17,17,19,19,13,14,14,17,17,14,14,15,17,18,15,15,15,18,17,17,17,18,17,20,18,18,17,20,18,13,14,14,16,17,15,15,16,17,18,14,15,13,17,17,17,18,18,19,20,17,17,16,19,17,16,17,17,18,18,16,16,17,18,18,18,18,18,19,19,18,17,19,18,21,19,20,20,20,20,16,15,17,18,18,17,17,18,18,20,16,16,16,18,17,20,19,20,21,22,17,18,17,20,17,12,13,13,16,16,13,14,15,16,17,13,14,14,17,16,16,17,18,18,19,15,16,16,19,18,13,14,14,16,17,14,14,15,16,17,14,15,15,17,17,16,16,17,17,19,17,17,17,19,18,13,14,13,17,16,14,15,15,17,17,13,15,13,17,16,17,17,17,19,19,15,17,15,19,17,16,17,17,18,18,16,16,17,17,19,17,18,17,19,19,18,17,19,17,19,19,19,19,20,19,15,17,15,19,16,17,17,16,19,18,16,17,15,18,16,19,19,19,20,19,17,19,16,19,16,11,14,14,17,17,15,14,16,16,18,15,16,14,18,16,18,18,19,18,21,18,19,18,20,18,13,15,14,18,17,14,14,16,16,18,16,17,16,19,17,17,17,19,17,22,19,19,19,21,19,13,14,15,17,18,17,16,17,17,19,14,16,14,18,16,19,19,19,20,21,18,18,16,20,17,17,18,16,19,18,15,17,17,19,19,19,19,18,21,19,18,17,20,17,21,22,21,20,21,21,17,16,19,18,20,19,18,19,18,20,16,17,16,19,18,21,20,21,19,23,18,19,16,20,17,13,14,14,17,16,14,14,15,16,18,14,16,14,17,16,16,16,17,17,19,16,17,16,19,17,14,15,15,17,17,14,14,16,16,17,15,16,16,18,17,16,16,17,17,19,17,18,17,19,18,14,15,14,17,16,16,16,16,17,17,14,16,14,17,16,18,18,18,18,19,16,17,15,19,16,17,17,17,18,18,16,15,17,17,18,18,18,18,19,19,17,16,18,16,19,19,19,19,19,19,16,17,16,19,16,18,18,17,19,18,16,17,16,19,16,19,19,20,19,19,17,18,16,20,16,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,6,8,8,10,10,8,9,9,10,11,8,10,9,11,10,9,10,10,11,11,9,10,10,11,11,8,9,9,10,10,9,9,10,11,11,10,10,10,11,11,10,11,11,11,11,10,11,11,11,11,8,9,9,11,10,10,10,10,11,11,9,10,9,11,11,10,11,11,11,11,10,11,10,11,11,10,10,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,10,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,9,10,11,11,10,10,11,11,11,10,10,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,11,11,11,10,10,11,11,12,11,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,10,10,11,11,11,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,8,10,9,11,11,10,10,10,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,10,11,11,10,11,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,10,11,11,11,11,11,12,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,11,12,11,11,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,12,12,12,13,12,10,11,11,12,11,11,11,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,12,13,12,8,10,10,11,11,10,10,11,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,11,11,11,10,10,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,10,11,11,11,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,11,11,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,11,11,12,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,12,13,13,12,13,13,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,13,12,13,12,12,13,13,13,13,12,13,13,13,13,8,10,10,11,11,10,10,11,11,11,9,11,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,11,11,11,10,11,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,9,11,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,12,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,12,13,12,12,13,12,13,12,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,12,13,13,13,12,12,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,12,13,12,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,13,13,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,12,13,12,13,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,12,12,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,13,12,13,12,12,13,13,13,13,12,13,12,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,7,8,5,8,7,5,7,7,7,7,9,7,9,9,5,7,7,8,9,9,7,9,7,6,8,8,8,9,10,8,9,9,8,9,10,9,9,11,10,11,11,8,9,9,10,11,11,9,11,10,6,8,8,8,9,9,8,10,9,8,9,9,9,10,11,10,11,10,8,10,9,10,11,11,9,11,9,6,8,8,7,9,9,8,10,9,7,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,11,10,7,9,9,8,10,10,9,10,10,9,9,10,10,10,11,10,11,11,9,10,10,10,11,11,10,11,10,7,9,9,9,9,10,9,10,9,8,10,9,9,9,11,10,11,11,9,10,10,10,11,11,9,11,9,6,8,8,8,9,10,7,9,9,8,9,9,9,10,10,9,10,10,7,9,9,9,10,10,9,10,9,7,9,9,9,9,10,9,10,9,9,10,10,9,9,11,10,11,11,8,9,10,10,11,11,9,11,9,7,9,9,9,10,10,8,10,10,9,10,10,10,10,11,10,11,11,9,10,9,10,11,11,10,11,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,7,7,6,7,7,6,7,7,6,7,7,7,8,8,7,8,8,6,7,7,7,8,8,7,8,8,7,7,8,7,8,8,7,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,7,7,8,8,7,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,6,8,8,7,8,8,7,8,8,7,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,9,8,9,9,8,8,9,8,9,9,9,9,9,8,9,9,9,9,9,9,9,9,7,8,8,8,9,9,8,9,8,8,8,8,8,9,9,9,9,9,8,9,8,9,9,9,9,9,9,6,8,8,7,8,8,7,8,8,8,8,8,8,8,9,8,9,9,7,8,8,8,9,9,8,9,8,7,8,8,8,8,9,8,9,8,8,8,9,9,9,9,9,9,9,8,8,8,9,9,9,8,9,9,7,8,8,8,9,9,8,9,8,8,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,5,7,8,5,8,7,5,7,8,8,8,10,8,10,10,5,8,7,8,10,10,8,10,8,6,8,9,8,10,12,9,11,11,9,10,11,11,11,13,12,13,13,9,11,11,11,13,13,11,13,12,6,9,8,9,11,11,8,12,10,9,11,11,11,12,13,11,13,13,9,11,10,11,13,13,11,13,11,5,9,9,8,11,11,9,12,11,8,10,11,10,11,13,11,13,13,9,11,11,11,13,13,11,13,12,8,10,11,10,12,13,10,13,12,10,10,13,11,11,14,12,13,14,11,13,12,13,14,14,12,14,12,8,11,10,11,12,13,11,14,12,10,13,12,12,12,13,13,15,14,11,12,13,13,14,15,12,14,12,5,9,9,9,11,12,8,11,11,9,11,11,11,12,13,11,13,13,8,11,10,11,13,13,10,13,11,8,10,11,11,12,14,11,13,12,11,13,12,12,12,14,13,15,14,10,12,13,13,14,15,12,13,12,8,11,10,10,12,13,10,13,12,11,12,13,12,12,14,13,14,14,10,13,10,12,14,13,11,14,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,9,9,6,7,8,10,10,6,8,7,10,10,8,10,10,12,13,8,10,10,13,12,6,8,8,10,10,7,8,9,10,11,8,9,9,11,11,10,10,11,12,13,10,11,11,14,13,6,8,8,10,10,8,9,9,11,11,7,9,8,11,10,10,11,11,13,14,10,11,10,13,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,12,15,13,14,13,15,14,9,10,10,13,12,10,11,11,13,13,10,11,10,13,12,13,13,14,14,15,12,13,12,15,12,6,8,8,10,11,8,9,10,11,12,8,9,9,11,11,10,11,12,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,10,11,12,13,11,11,13,13,15,11,12,12,14,14,8,9,9,12,12,9,10,11,12,13,9,10,10,13,12,11,12,13,14,15,11,12,12,14,14,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,13,13,14,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,14,14,11,13,12,14,13,14,15,15,16,16,13,14,14,16,14,6,8,8,11,10,8,9,9,12,11,8,10,9,12,11,10,11,11,13,13,10,12,11,14,13,8,9,9,12,12,9,10,10,12,13,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,8,9,9,12,11,9,10,10,13,12,9,11,10,13,12,12,12,12,14,14,11,13,12,15,13,11,11,12,13,14,11,12,13,13,14,12,13,13,14,15,13,13,14,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,15,13,14,15,15,16,16,13,15,13,16,14,9,10,11,12,13,11,11,12,13,14,11,12,12,13,14,13,13,14,14,16,13,14,14,15,16,11,11,12,13,14,12,12,13,14,15,12,13,13,14,15,14,14,15,15,17,14,15,15,16,17,11,12,12,14,14,12,13,13,14,15,12,13,12,15,15,14,15,15,16,17,14,15,15,16,16,13,14,14,15,16,14,14,15,15,17,15,15,15,16,17,16,16,17,16,18,16,17,17,18,18,13,14,14,16,15,14,15,15,17,16,14,15,15,16,16,16,17,17,18,18,16,16,16,17,16,9,11,10,13,12,11,12,12,14,13,11,12,11,15,13,13,14,14,16,15,13,14,13,17,14,11,12,12,14,14,12,12,13,15,15,12,13,13,15,14,14,14,15,16,16,14,15,15,17,16,11,12,11,14,13,12,13,13,15,14,12,13,12,15,13,14,15,15,16,16,14,15,14,17,15,13,14,14,15,16,14,15,15,16,17,14,15,15,16,17,16,16,16,17,17,16,17,17,18,18,13,15,14,16,15,15,15,15,17,16,14,15,14,17,15,16,17,17,18,18,16,17,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,12,11,14,13,7,9,9,11,12,9,10,10,12,13,9,10,10,13,12,11,11,12,13,15,11,12,12,15,14,8,9,9,12,11,9,10,10,13,13,9,11,10,13,12,12,12,12,14,15,11,13,12,15,13,10,11,11,13,14,11,12,12,13,15,11,12,12,14,14,13,13,14,14,16,14,15,14,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,15,13,14,15,15,16,16,13,14,14,16,14,8,9,9,11,12,9,10,11,12,13,9,10,10,13,12,11,12,13,14,15,11,12,12,15,14,9,9,11,11,13,10,10,12,12,14,10,10,11,13,14,12,12,13,14,16,12,13,13,15,15,9,11,10,13,12,10,11,11,13,14,10,12,11,14,13,12,13,13,15,16,12,13,13,15,15,11,11,13,13,15,12,12,14,13,15,13,13,14,14,15,14,14,15,14,17,15,15,15,16,16,12,13,12,15,14,13,14,14,15,15,12,14,13,15,14,15,15,15,17,17,14,15,14,17,15,7,9,9,12,11,9,10,10,12,12,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,9,10,10,12,12,10,10,11,12,13,10,11,11,14,13,12,12,13,14,15,12,13,13,16,15,9,10,10,13,12,10,11,11,13,13,10,11,10,14,12,13,13,13,15,15,12,13,12,15,14,11,12,12,14,14,12,12,13,14,15,13,14,13,15,15,14,13,15,14,16,15,16,15,17,16,12,12,12,14,14,13,13,14,15,15,12,13,12,15,14,15,15,16,16,17,14,15,14,17,14,10,11,12,13,14,11,12,13,14,15,11,12,13,14,15,13,14,15,15,17,14,15,15,16,16,11,12,13,12,15,12,12,14,13,16,13,13,14,13,16,14,14,16,14,18,15,15,16,16,17,12,13,12,15,15,13,14,14,15,16,13,14,13,16,15,15,15,16,17,18,15,15,15,17,16,14,14,15,14,17,15,14,16,14,17,15,15,16,15,18,16,16,17,16,19,17,17,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,18,16,17,17,18,18,18,16,17,16,18,17,10,11,11,14,13,11,12,12,15,14,11,13,12,15,14,14,15,15,16,16,14,15,15,17,16,11,12,12,15,14,12,13,13,15,14,13,14,13,16,14,14,15,15,16,16,15,16,15,18,16,11,13,12,15,15,13,14,14,15,15,12,14,13,16,15,15,16,16,17,17,15,16,15,17,16,14,15,14,16,16,14,15,15,16,16,15,16,15,17,16,16,16,17,16,17,17,18,17,19,18,14,15,15,17,16,15,16,16,17,17,15,15,15,18,16,17,18,18,18,18,16,17,16,19,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,12,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,10,10,13,13,11,12,13,13,15,11,12,12,15,14,7,9,9,12,11,9,10,10,12,13,9,10,10,13,12,11,12,12,14,15,11,12,11,14,13,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,13,14,14,14,16,14,15,15,16,16,10,11,11,14,13,11,12,12,14,14,11,12,12,15,13,14,14,14,16,16,13,14,13,16,14,7,9,9,11,12,9,10,10,12,13,9,10,10,12,12,11,12,13,14,15,11,12,12,14,14,9,10,10,12,13,10,10,11,12,14,10,11,11,13,13,12,12,13,14,15,13,13,13,15,15,9,10,10,12,12,10,11,11,13,14,10,11,10,13,12,12,13,13,15,16,12,13,12,15,14,11,12,13,14,14,12,12,13,14,15,13,14,13,15,15,14,14,15,14,17,15,16,15,17,16,11,12,12,14,14,13,13,13,15,15,12,13,12,15,14,15,15,15,16,17,14,15,14,16,14,8,9,9,12,11,9,10,10,12,13,9,11,10,13,12,11,12,12,14,15,11,12,12,15,14,9,10,11,13,13,10,11,12,13,14,10,11,11,14,13,12,13,13,15,15,12,13,13,16,15,9,11,9,13,11,10,11,10,14,13,10,12,10,14,12,12,13,13,15,15,12,13,12,16,14,12,12,13,14,15,12,13,14,14,16,13,14,14,15,15,14,14,15,15,17,15,16,15,17,16,11,13,11,15,13,13,14,13,15,14,12,14,12,16,13,15,15,15,16,16,14,15,14,17,14,10,11,11,13,14,11,12,13,14,15,11,12,12,14,15,14,14,15,16,17,14,15,15,16,16,11,12,13,14,15,12,13,14,15,16,13,14,14,15,16,15,15,16,16,18,15,16,16,17,17,11,12,12,14,15,13,13,14,14,16,12,13,13,15,15,15,15,16,16,18,14,15,15,16,16,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,16,19,17,18,17,18,18,14,14,15,16,16,15,15,16,16,17,14,15,15,16,16,17,17,18,18,19,16,17,16,17,16,10,12,11,14,13,11,13,12,15,14,11,13,12,15,14,14,15,15,16,16,13,15,14,17,15,12,13,13,15,15,13,13,14,15,16,13,14,14,16,16,14,15,15,17,17,15,16,16,17,17,11,13,12,15,12,13,14,13,16,13,12,14,12,16,13,15,16,15,17,16,14,16,14,18,14,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,17,18,17,18,17,18,18,14,15,14,17,14,15,16,15,18,15,15,16,15,18,14,17,17,17,18,17,16,17,16,19,16,9,11,11,13,13,10,12,12,14,14,11,12,12,15,14,13,14,14,16,16,13,14,14,16,16,10,11,12,14,14,11,12,13,14,15,12,13,13,15,15,13,14,15,16,16,14,15,15,17,16,11,12,12,15,14,12,13,13,15,15,12,13,12,15,15,14,15,15,16,17,14,15,14,17,16,12,13,14,15,16,13,13,14,15,16,13,14,15,16,16,14,15,16,16,18,15,16,16,18,18,13,14,14,16,15,14,15,15,17,16,14,15,15,17,16,16,17,17,18,18,16,17,16,18,17,10,12,12,14,14,11,12,13,15,15,12,13,13,15,15,13,14,15,16,17,14,15,15,17,16,11,11,13,14,15,12,12,14,15,16,13,13,14,15,16,14,14,15,16,17,15,15,16,17,17,12,13,12,15,15,13,14,14,16,16,13,14,13,16,15,15,16,15,17,17,15,16,15,18,16,13,12,15,14,17,14,13,16,14,17,14,14,16,15,18,15,14,17,16,18,16,16,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,18,16,17,17,17,18,18,16,17,16,19,17,10,11,11,14,14,11,12,12,15,15,11,13,12,15,15,14,15,14,16,16,14,15,15,17,16,11,12,12,15,14,12,12,13,15,15,13,14,13,16,15,14,15,15,16,16,15,16,15,18,17,11,13,12,15,15,13,14,13,15,15,12,14,13,16,15,15,16,15,17,17,15,16,15,18,16,13,14,13,16,16,14,15,14,16,16,14,15,15,17,16,16,16,16,16,18,16,18,17,19,18,14,15,15,17,16,15,16,16,17,17,15,15,15,17,16,17,17,18,18,19,16,17,16,18,16,12,13,13,15,16,13,14,14,16,17,13,14,14,16,16,15,15,16,17,18,15,16,16,18,17,13,13,14,14,17,14,14,15,15,17,14,14,15,16,17,15,15,17,16,18,16,17,17,18,18,13,14,14,17,16,14,15,15,17,17,14,15,14,17,16,16,17,17,18,18,16,17,16,18,17,15,14,16,13,18,16,15,17,14,19,16,16,17,15,18,17,16,18,15,19,18,18,18,17,19,15,16,16,18,17,16,17,17,18,18,16,17,16,19,17,18,19,18,19,19,17,18,17,20,18,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,16,16,17,17,15,16,16,18,17,12,14,13,16,15,13,13,14,15,16,14,15,14,17,16,16,16,16,16,17,16,17,17,19,17,12,13,14,16,16,14,15,15,16,17,13,15,13,17,15,16,17,17,18,18,16,17,16,18,16,15,16,15,17,16,15,15,15,17,17,16,17,16,18,17,17,16,17,16,18,18,19,18,20,18,15,16,16,17,17,16,17,17,18,18,15,16,15,18,17,18,18,19,19,19,17,18,16,19,16,9,11,11,13,13,11,12,12,14,15,10,12,12,14,14,13,14,14,16,16,13,14,14,16,16,11,12,12,14,14,12,12,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,16,10,12,11,14,14,12,13,13,15,15,11,13,12,15,14,14,15,15,16,17,13,15,14,17,16,13,14,14,15,16,14,15,15,16,17,14,15,15,16,17,16,16,17,17,18,16,17,17,18,18,12,14,13,16,15,13,15,14,17,16,13,14,13,17,15,15,16,16,18,18,15,16,15,18,16,10,11,11,14,14,11,12,13,14,15,11,12,12,15,15,14,15,15,16,17,14,15,15,16,16,11,12,13,15,15,12,13,14,15,16,13,14,14,15,16,15,15,16,16,18,15,15,16,17,17,11,12,12,14,15,13,13,14,15,16,12,13,13,15,15,15,15,16,17,18,14,15,15,17,16,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,16,19,17,17,18,19,18,13,13,14,16,16,14,15,16,17,17,14,14,15,16,16,16,16,17,18,18,16,16,16,18,16,10,12,12,14,14,12,13,13,15,15,11,13,12,15,15,14,15,15,16,17,13,15,14,17,16,12,13,13,15,15,13,13,14,15,16,13,14,14,16,16,15,15,16,17,18,15,15,16,17,17,11,13,12,15,14,13,14,13,16,15,12,14,12,16,14,15,16,15,17,17,14,16,14,17,16,14,15,15,16,17,15,15,16,16,18,15,16,16,17,17,16,17,17,17,19,17,17,17,18,18,13,15,12,17,14,14,16,14,17,15,14,15,13,17,14,16,17,16,18,17,15,17,14,19,15,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,16,16,17,18,15,16,16,17,17,12,14,13,16,16,13,13,15,15,17,14,15,15,17,16,16,16,17,16,19,16,17,17,18,18,12,13,14,15,16,14,14,15,16,17,13,14,13,16,15,16,17,17,18,19,15,16,16,17,16,15,16,16,18,17,15,15,16,17,18,16,17,17,18,18,16,16,18,16,19,18,19,19,20,19,15,15,16,16,17,16,16,17,17,18,15,15,15,17,16,18,18,19,18,20,17,17,16,18,16,12,13,13,16,15,13,14,14,16,16,13,14,14,16,16,15,16,16,17,18,15,16,15,18,17,13,14,14,16,16,14,15,15,16,17,14,15,15,17,17,16,17,17,18,18,16,17,17,18,18,13,14,13,17,14,14,15,14,17,16,14,15,14,17,15,16,17,17,18,18,15,17,15,19,15,16,16,16,17,18,16,16,17,17,19,16,17,17,18,19,17,17,18,18,20,18,18,18,19,19,15,16,14,18,13,16,17,16,19,15,16,17,15,19,14,18,18,18,19,17,17,18,16,20,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,7,7,5,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,5,7,8,8,9,10,8,9,9,8,9,10,9,10,12,10,11,11,8,9,10,10,11,11,9,11,11,5,8,7,8,9,9,8,10,9,8,10,9,9,11,11,10,11,11,8,10,9,10,11,11,9,12,10,5,8,8,7,9,10,8,10,9,7,9,9,9,10,11,9,11,11,8,10,10,10,11,11,10,12,11,7,9,9,9,10,11,9,11,11,9,9,11,10,10,13,11,11,12,9,11,11,11,12,13,11,13,12,7,9,9,9,11,11,9,12,10,9,11,10,10,11,12,11,13,12,9,11,11,11,13,13,11,13,11,5,8,8,8,9,10,7,10,9,8,10,10,10,11,11,10,11,11,7,9,9,9,11,11,9,11,10,7,9,9,9,10,12,9,11,11,9,11,11,11,11,13,11,13,13,9,10,11,11,12,13,10,12,11,7,9,9,9,11,11,9,11,10,9,11,11,11,12,13,11,13,12,9,11,9,11,12,11,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,8,13,15,16,18,21,22,5,4,6,8,10,12,17,21,9,5,5,6,8,11,15,19,11,6,5,5,6,7,12,14,14,8,7,5,4,4,9,11,16,11,9,7,4,3,7,10,22,15,14,12,8,7,9,11,21,16,15,12,9,5,6,8,2,0,0,0,64,0,0,0,8,198,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,150,6,0,0,0,0,0,0,0,0,0,248,150,6,0,0,0,0,0,0,0,0,0,32,151,6,0,72,151,6,0,0,0,0,0,0,0,0,0,112,151,6,0,152,151,6,0,0,0,0,0,0,0,0,0,192,151,6,0,232,151,6,0,0,0,0,0,0,0,0,0,16,152,6,0,56,152,6,0,232,151,6,0,0,0,0,0,96,152,6,0,136,152,6,0,232,147,6,0,16,148,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,144,150,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,136,150,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,147,6,0,152,147,6,0,0,0,0,0,0,0,0,0,192,147,6,0,232,147,6,0,16,148,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,160,149,6,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,80,150,6,0,0,0,0,0,2,0,0,0,25,0,0,0,104,149,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,149,6,0,0,0,0,0,2,0,0,0,9,0,0,0,72,149,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2],"i8",N3,x.GLOBAL_BASE+420817),E3([0,0,0,0,0,0,0,88,149,6,0,0,0,0,0,1,0,0,0,25,0,0,0,192,148,6,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,224,148,6,0,0,0,0,0,1,0,0,0,25,0,0,0,56,148,6,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,88,148,6,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,2,3,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,14,14,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,4,4,5,5,4,5,5,5,5,4,5,4,4,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,8,8,10,10,10,10,9,8,11,11,4,6,5,8,6,10,10,10,10,10,9,10,9,4,5,6,6,9,10,10,10,10,9,10,9,10,8,9,8,9,8,9,9,10,9,11,10,12,10,8,8,9,8,9,9,9,9,10,10,11,10,12,9,10,10,11,10,11,10,12,11,12,11,13,11,9,10,10,10,11,10,11,11,12,11,12,11,12,11,12,12,12,12,13,12,13,12,13,12,13,13,11,12,12,12,12,12,12,12,13,13,13,13,13,12,12,12,13,13,13,13,13,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,12,13,13,13,14,14,13,13,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,7,12,14,14,16,18,19,6,2,4,6,8,9,12,14,12,3,3,5,7,8,11,13,13,6,4,5,7,8,10,11,14,8,7,7,7,7,9,10,15,9,8,7,7,6,8,9,17,11,11,10,9,8,9,9,19,14,13,11,10,9,9,9,5,0,0,0,243,0,0,0,0,197,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,248,197,6,0,0,0,0,0,5,0,0,0,53,12,0,0,176,184,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,196,6,0,0,0,0,0,5,0,0,0,243,0,0,0,168,183,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,160,184,6,0,0,0,0,0,5,0,0,0,243,0,0,0,160,182,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,152,183,6,0,0,0,0,0,5,0,0,0,243,0,0,0,152,181,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,144,182,6,0,0,0,0,0,5,0,0,0,53,12,0,0,72,169,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,128,181,6,0,0,0,0,0,5,0,0,0,53,12,0,0,248,156,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,48,169,6,0,0,0,0,0,1,0,0,0,7,0,0,0,208,156,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,216,156,6,0,0,0,0,0,5,0,0,0,243,0,0,0,200,155,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,192,156,6,0,0,0,0,0,5,0,0,0,243,0,0,0,192,154,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,184,155,6,0,0,0,0,0,5,0,0,0,243,0,0,0,184,153,6,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,176,154,6,0,0,0,0,0,5,0,0,0,243,0,0,0,176,152,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,168,153,6,0,0,0,0,0,1,7,7,6,9,9,7,9,9,6,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,5,7,8,5,8,7,6,7,7,7,7,8,8,8,8,6,7,7,7,8,8,7,8,7,6,8,8,8,9,10,8,9,9,8,9,9,9,9,10,10,10,10,8,9,9,10,10,10,9,10,10,6,8,8,8,9,9,8,10,9,9,9,9,9,9,10,10,10,10,8,9,9,10,10,10,9,10,9,6,8,9,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,10,9,7,8,9,8,9,9,9,9,9,8,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,7,9,9,9,10,10,9,10,10,9,10,9,9,9,10,10,10,10,9,10,9,10,10,10,9,10,9,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,10,9,7,9,9,9,10,10,9,10,9,9,9,10,10,9,10,10,10,10,9,9,9,10,10,10,9,10,9,7,9,8,8,9,9,8,9,9,9,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,5,7,9,5,9,7,5,7,8,7,7,10,9,9,10,5,8,7,9,10,9,7,10,7,6,9,9,9,10,12,10,12,11,9,10,11,11,10,13,12,12,13,10,11,11,12,13,13,11,13,11,6,9,9,10,11,12,9,12,11,10,11,11,11,11,13,12,13,13,9,11,10,12,13,13,11,13,10,6,9,10,9,11,12,10,12,11,9,10,11,10,10,13,11,13,13,10,11,11,12,13,12,11,13,11,7,9,10,9,10,12,10,11,11,10,10,11,10,10,12,12,11,12,10,11,10,12,12,12,10,12,10,7,10,10,11,11,13,11,13,11,10,12,11,11,10,13,13,14,13,10,11,12,13,13,14,11,13,10,6,10,9,10,11,12,9,12,11,9,11,11,11,11,13,12,12,13,9,11,10,12,13,13,10,13,10,7,10,10,11,11,14,11,13,11,10,12,11,11,10,14,13,14,13,10,11,12,13,13,14,11,13,10,7,10,9,10,10,12,9,12,10,10,11,11,10,10,12,12,12,12,9,11,10,11,12,12,10,12,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,1,6,6,10,10,6,7,9,11,13,5,9,7,13,11,8,11,12,13,15,8,12,11,15,13,6,7,8,11,11,7,8,10,11,13,9,10,10,13,13,11,11,13,12,16,12,13,13,16,15,6,8,7,11,11,9,10,10,13,13,7,10,7,13,11,12,13,13,15,16,11,13,11,16,12,10,11,11,11,13,11,11,13,12,15,13,13,13,14,15,13,12,15,12,17,15,16,16,16,16,10,11,11,14,11,13,13,13,15,14,11,13,11,15,12,15,15,16,16,16,13,15,12,17,12,6,8,9,12,12,9,10,12,13,15,9,11,11,15,14,12,13,15,16,18,13,14,14,17,16,9,10,11,13,14,11,10,13,14,16,11,12,12,15,15,14,13,16,15,18,14,15,15,17,17,9,11,11,14,14,11,12,13,15,16,11,13,11,15,14,15,15,15,17,18,14,15,14,17,15,13,14,14,15,16,14,14,15,15,17,15,16,15,17,17,16,16,17,15,19,17,18,18,19,18,13,14,14,16,15,15,15,16,17,17,14,15,14,18,15,17,17,17,19,19,16,17,15,19,16,6,9,8,13,12,9,11,11,14,15,9,12,10,15,13,13,14,14,16,17,12,15,13,18,16,9,11,11,14,14,11,11,13,14,15,11,13,12,16,15,14,14,15,15,18,14,15,15,18,17,9,11,10,14,13,11,12,12,15,15,11,13,10,16,14,14,15,15,16,18,14,16,13,18,15,13,14,14,16,16,14,14,15,15,17,15,16,15,17,17,16,16,17,16,19,17,18,17,18,19,13,14,14,16,15,15,15,15,17,17,14,15,14,17,15,17,17,17,18,19,16,17,15,19,15,11,13,13,15,16,13,14,15,16,18,14,15,15,17,17,16,16,18,18,20,17,18,17,19,20,13,14,14,16,17,15,15,16,17,18,15,16,16,17,17,18,17,19,18,19,18,18,18,19,21,14,14,15,16,17,15,15,16,18,18,15,16,16,17,18,18,18,19,19,21,18,19,19,22,20,16,16,17,17,19,17,17,17,18,20,17,18,18,20,19,19,19,20,19,0,19,19,20,20,21,17,17,17,19,18,18,18,20,19,19,18,18,18,20,20,19,19,20,20,20,20,21,20,21,19,11,13,13,16,15,14,15,15,17,17,14,15,14,18,16,16,18,18,20,19,16,19,17,21,18,13,14,15,16,17,15,15,16,18,18,15,16,15,19,18,18,18,18,19,19,18,18,18,22,20,13,14,14,16,16,15,16,16,18,17,15,16,15,18,17,18,18,18,19,19,17,18,17,21,18,16,17,17,18,18,17,18,19,19,19,18,20,18,19,19,19,20,21,19,21,20,20,20,0,21,16,17,17,19,19,18,18,18,19,21,17,18,18,19,18,20,19,21,20,21,19,20,20,22,19,7,9,9,13,13,8,10,11,14,15,9,12,11,15,14,11,13,14,16,17,13,15,14,17,16,8,10,11,14,14,10,10,12,14,16,11,12,12,16,15,13,12,15,15,18,14,15,15,19,17,9,11,11,14,14,11,12,12,15,15,11,13,11,16,14,14,15,14,17,17,14,16,14,18,15,12,13,14,15,16,13,13,15,14,17,15,15,15,17,17,15,14,17,14,19,17,18,18,19,18,13,14,14,16,16,15,15,15,17,17,14,15,14,18,15,17,18,17,18,17,16,18,16,19,15,7,10,10,13,13,9,10,12,14,15,10,12,11,15,14,12,13,14,16,17,13,15,14,18,16,10,10,12,13,14,10,10,13,13,16,12,12,13,15,15,13,12,15,15,18,15,15,16,18,17,10,11,11,14,14,12,13,13,15,16,10,13,10,16,14,14,15,15,17,17,14,15,13,17,15,13,13,14,15,16,14,13,15,14,18,15,15,16,16,17,16,15,18,15,18,17,18,18,18,18,13,15,14,17,16,15,16,16,17,17,14,15,13,17,15,17,17,18,18,18,16,17,14,20,14,8,10,10,14,14,11,11,13,14,16,11,13,11,16,14,14,15,16,16,18,14,16,15,18,16,10,12,11,15,14,11,11,13,14,16,13,14,13,16,15,15,14,16,15,19,16,17,16,20,18,10,11,12,14,15,13,13,14,16,16,11,14,11,16,14,16,16,17,18,19,15,17,14,20,15,14,15,14,17,16,13,14,15,15,18,16,17,16,19,18,16,15,18,15,19,18,19,18,21,21,14,14,15,16,17,16,16,17,18,18,13,15,14,17,15,18,18,19,18,22,16,18,15,21,15,12,13,14,16,16,14,14,16,16,18,14,15,15,17,18,16,16,18,18,20,18,18,17,20,20,13,14,15,15,17,15,14,16,16,18,16,16,16,17,19,17,15,18,17,21,18,18,18,19,19,14,15,15,18,17,15,16,16,18,19,15,16,15,18,18,17,18,18,20,21,17,19,17,20,19,16,16,17,16,19,17,17,18,17,20,18,18,18,18,19,19,18,20,17,22,20,20,19,20,20,17,17,18,18,19,18,18,20,21,20,17,18,17,20,20,21,21,21,21,21,19,21,18,22,20,11,13,13,17,16,14,14,16,16,18,14,16,14,18,16,17,18,19,19,20,18,19,18,21,19,14,15,14,17,16,14,14,16,18,18,16,17,16,18,17,18,17,19,18,20,19,19,18,20,20,13,14,15,16,17,16,16,17,18,19,14,16,14,19,17,18,19,18,20,20,18,20,17,21,18,17,17,17,19,18,16,17,18,18,19,18,19,18,21,21,18,18,20,17,21,19,20,20,22,21,16,17,18,18,19,18,18,19,21,20,16,17,17,20,18,21,21,22,21,22,18,21,18,0,18,7,9,9,13,13,9,11,12,14,15,8,11,10,15,14,13,14,15,16,18,11,14,13,17,15,9,11,11,14,14,11,11,13,14,16,11,12,12,15,15,14,14,16,15,18,14,14,15,17,17,8,11,10,14,14,11,12,12,15,15,10,12,10,16,14,14,15,15,17,18,13,15,12,18,15,13,14,14,16,16,14,14,15,15,17,15,15,15,16,17,16,15,17,15,19,17,17,17,18,18,12,14,13,16,15,15,15,15,17,17,13,15,13,17,14,17,18,18,18,19,15,17,14,19,14,8,10,10,14,14,11,11,13,14,16,11,13,11,16,14,14,15,16,17,19,14,16,15,18,17,10,12,11,15,14,11,11,14,14,17,13,14,13,17,15,15,14,17,15,19,16,17,16,19,17,10,11,12,14,15,13,13,14,15,17,11,13,11,17,14,16,16,17,18,19,15,16,14,18,15,14,15,14,16,16,13,14,15,15,18,16,16,16,18,18,16,15,18,15,20,18,19,18,21,18,14,14,15,16,17,16,16,17,17,18,13,15,14,17,16,19,19,19,19,19,15,18,15,20,15,7,10,10,13,13,10,11,12,14,15,9,12,10,15,14,13,14,15,16,17,12,15,13,17,16,10,11,11,14,14,10,10,13,14,16,12,13,13,16,15,14,13,16,15,18,15,15,16,17,17,10,12,10,14,13,12,13,12,15,15,10,13,10,16,13,15,16,15,17,18,13,16,12,18,15,13,14,14,16,17,14,13,15,15,18,15,16,15,17,17,16,14,17,15,19,17,18,18,19,19,13,15,13,17,14,15,15,15,18,17,14,15,13,17,14,18,17,18,18,19,15,17,15,19,15,11,13,13,16,17,14,14,16,16,18,14,16,15,18,17,17,18,19,18,21,18,18,17,20,18,13,15,14,17,16,14,14,16,17,18,16,17,16,19,17,18,17,19,18,22,18,19,19,21,21,13,14,15,16,18,16,16,17,17,20,14,16,14,18,17,18,18,19,19,21,17,18,17,21,18,17,18,17,19,18,16,17,17,18,19,18,18,18,22,22,18,17,19,17,0,20,21,19,21,20,17,17,18,18,21,18,18,18,19,21,17,17,17,19,19,20,20,22,21,21,19,20,18,20,17,12,14,13,17,16,14,15,15,17,18,14,16,14,18,16,17,18,18,21,20,16,18,16,21,18,14,15,15,17,17,15,15,16,18,18,15,17,16,18,18,17,17,19,19,20,18,19,18,20,19,14,15,14,17,15,15,16,16,18,17,15,16,14,19,15,18,18,18,19,20,17,20,15,21,17,16,17,18,18,19,17,17,18,18,20,18,19,18,19,21,19,18,19,19,21,20,0,19,21,20,16,17,16,19,16,18,18,18,19,19,17,18,17,20,17,19,20,20,22,0,19,20,17,21,17,11,13,14,16,17,14,15,15,17,18,14,15,15,18,18,16,17,17,19,20,16,18,17,19,21,13,14,15,17,17,14,15,16,17,19,15,16,16,18,19,16,17,18,19,21,17,18,20,21,21,13,15,15,17,17,15,16,16,18,19,15,16,16,18,19,17,17,18,19,22,17,19,18,22,19,15,16,17,19,19,16,17,18,18,20,17,18,18,19,20,19,18,20,18,22,20,19,19,22,21,16,17,17,18,19,18,18,18,19,20,17,18,18,20,19,20,19,20,22,20,19,20,21,21,20,12,14,14,16,16,13,14,16,17,18,14,16,15,18,18,15,17,17,19,19,17,18,18,19,19,13,14,15,16,17,14,14,16,16,20,15,16,16,17,19,16,15,18,17,20,18,17,19,19,19,14,15,15,17,17,16,16,16,18,18,15,16,15,19,18,17,18,18,20,21,17,18,17,21,18,16,15,17,17,19,17,15,18,17,20,19,17,18,19,20,18,16,19,17,22,20,19,20,19,20,17,17,18,19,19,18,18,19,20,20,17,18,17,18,18,21,21,20,20,21,18,20,17,21,19,11,14,14,16,17,15,14,16,17,19,14,16,14,18,17,18,18,19,19,21,17,19,18,20,20,13,15,14,17,17,14,14,16,17,18,16,17,16,19,18,18,17,19,18,20,18,21,18,20,20,13,15,15,16,17,16,16,17,18,19,14,16,15,19,18,19,19,19,21,20,18,19,17,20,18,16,17,16,19,18,16,17,17,19,20,17,19,18,20,19,18,17,21,18,0,21,20,20,0,20,17,17,18,18,19,18,19,19,20,22,16,17,17,20,18,21,22,20,20,22,18,22,18,22,18,12,14,14,17,17,14,15,16,17,19,14,16,15,17,17,17,17,18,18,21,17,19,17,20,19,14,15,15,16,18,15,14,16,16,19,16,17,16,19,18,17,16,20,17,20,18,20,19,19,20,14,15,15,18,17,16,16,17,18,19,14,16,15,19,17,18,21,18,19,21,17,18,17,19,18,17,17,18,17,20,17,16,18,17,21,18,19,19,19,19,18,17,19,17,20,20,21,20,21,20,17,17,17,19,19,19,18,18,20,21,16,18,16,19,18,20,20,21,21,20,18,19,16,0,17,12,14,14,17,17,15,15,18,17,19,15,18,15,20,16,20,19,21,18,22,20,20,20,22,19,14,16,14,20,17,14,15,17,17,20,18,18,17,20,18,18,17,19,17,21,20,21,20,0,21,14,15,16,17,19,18,17,19,18,21,14,18,15,21,17,21,20,21,20,0,18,21,17,21,17,18,19,17,20,18,16,17,17,19,19,19,21,20,0,20,18,17,21,17,0,22,0,21,0,22,17,17,19,18,20,20,20,21,19,22,16,17,18,20,18,22,22,0,22,0,17,21,17,22,17,11,14,13,16,16,14,15,15,17,18,14,15,14,18,17,17,18,18,19,20,16,17,17,21,19,13,14,15,17,17,15,16,16,18,18,15,16,16,19,18,18,18,18,19,20,17,18,18,20,19,13,15,14,17,17,15,16,16,17,18,14,16,15,19,17,17,18,19,21,21,17,18,17,20,18,16,17,17,19,19,17,18,19,19,20,18,19,18,21,21,21,20,19,21,22,20,20,19,21,20,15,17,16,19,19,17,18,18,20,21,16,18,17,20,18,19,19,21,21,21,19,19,19,20,18,11,14,13,17,16,14,14,16,16,19,14,16,15,19,16,18,18,18,19,22,17,18,17,20,19,13,15,14,17,17,15,15,16,17,19,16,17,16,20,18,18,17,19,18,21,19,19,18,22,0,13,14,15,17,18,16,16,17,17,19,14,16,15,19,18,18,19,19,20,21,18,18,17,20,18,17,18,17,20,18,16,17,17,18,20,18,19,18,20,20,18,18,21,17,21,20,21,21,0,19,16,16,18,18,19,19,18,20,19,20,16,17,17,20,18,21,20,21,22,22,18,20,17,21,17,12,14,14,17,16,14,15,16,18,18,13,15,14,18,17,17,18,18,19,19,15,17,16,19,19,14,15,15,17,17,15,15,16,18,19,15,16,16,19,18,17,17,18,18,20,18,18,18,21,20,13,15,14,17,16,15,16,15,18,18,14,16,14,18,17,18,18,18,19,21,16,18,16,20,17,17,18,17,18,19,17,17,18,18,19,18,19,19,21,19,19,18,20,18,21,21,20,20,21,20,16,17,15,20,17,17,19,17,19,19,17,18,15,20,17,19,20,19,21,22,17,20,16,0,17,12,14,14,17,18,16,15,18,16,20,16,18,15,21,17,20,18,21,19,22,19,21,19,0,19,14,16,15,19,17,14,15,17,16,21,18,19,18,21,17,19,17,21,17,22,20,21,21,0,21,14,15,16,17,19,18,17,19,18,21,14,17,15,20,17,21,22,21,20,22,18,21,17,21,17,17,19,17,21,18,16,17,17,19,20,19,21,20,21,20,17,18,20,17,21,0,22,20,21,22,17,17,20,18,21,21,20,22,20,21,16,17,17,21,19,0,22,0,21,21,18,22,17,21,17,12,14,14,17,16,14,15,16,17,18,14,16,15,18,17,17,17,20,19,20,16,18,17,21,18,14,15,15,17,17,14,15,16,17,19,16,17,16,18,18,17,16,19,18,19,18,19,18,21,20,14,15,15,18,17,16,16,16,19,18,15,16,14,20,16,18,18,19,19,20,16,19,16,21,17,17,17,18,19,19,16,16,18,18,19,19,19,18,20,20,18,16,19,18,20,22,21,20,19,20,16,18,17,20,16,18,19,18,19,18,16,18,16,20,17,21,20,21,20,20,18,19,17,21,16,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,5,7,7,10,10,7,8,9,10,11,7,9,8,11,10,9,10,10,11,11,9,10,10,11,11,7,9,9,10,10,8,9,10,10,11,9,10,10,11,11,10,10,11,11,11,10,11,11,12,12,7,9,9,10,10,9,10,10,11,11,8,10,9,11,10,10,11,11,11,11,10,11,10,11,11,10,10,10,11,11,10,10,11,11,11,11,11,11,11,11,11,11,12,11,12,11,12,11,12,12,10,10,10,11,11,10,11,11,11,11,10,11,10,11,11,11,12,11,12,12,11,12,11,12,11,8,9,9,11,11,9,10,10,11,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,11,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,8,9,9,11,11,9,10,10,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,11,11,12,12,12,12,11,12,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,13,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,13,12,12,12,12,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,9,9,11,11,9,10,10,11,11,9,10,10,12,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,11,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,10,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,10,11,11,12,11,11,12,12,12,11,11,12,12,12,11,11,12,12,13,12,12,12,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,8,10,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,12,12,12,10,11,10,12,12,10,10,11,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,10,11,11,12,12,11,12,12,12,12,10,12,11,12,12,12,12,12,13,13,12,13,12,13,12,11,12,12,12,12,11,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,13,11,12,12,12,12,12,12,12,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,13,13,13,12,12,13,13,13,13,13,13,13,13,11,12,12,12,12,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,12,12,13,12,12,13,12,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,9,9,11,11,9,10,10,11,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,8,10,10,11,11,10,10,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,12,10,11,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,10,10,11,12,12,11,12,12,12,12,10,11,10,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,11,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,11,12,12,13,12,12,13,13,13,13,12,13,12,13,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,12,12,12,12,13,12,12,12,13,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,12,12,12,12,12,12,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,13,13,11,12,11,12,12,12,12,12,13,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,12,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,12,13,13,13,12,13,13,13,13,11,12,12,12,13,12,12,13,13,13,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,11,12,12,12,12,12,12,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,13,13,13,12,13,12,13,13,11,12,12,12,12,12,12,13,13,13,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,13,12,13,13,12,12,12,13,12,13,13,13,13,13,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,11,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,13,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,13,13,13,13,12,13,12,13,13,11,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,11,12,12,13,12,12,13,12,13,13,12,13,12,13,13,13,13,13,13,13,12,13,13,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,13,13,13,13,12,13,13,12,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,12,13,13,13,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,13,12,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,13,13,13,13,13,11,12,12,12,12,12,13,12,13,13,12,13,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,11,12,12,12,12,12,13,13,11,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,12,13,13,13,12,13,13,13,13,11,12,12,13,13,12,12,13,13,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,11,12,12,13,12,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,12,11,12,12,11,12,12,12,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,13,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,13,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,13,12,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,13,13,13,12,13,13,13,13,12,12,13,13,13,13,13,13,13,13,11,12,12,12,12,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,13,13,13,13,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,13,13,13,12,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,13,13,13,13,13,13,13,13,13,12,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,9,5,9,7,5,7,8,7,7,10,9,10,10,5,8,7,9,10,10,7,10,7,6,8,9,9,10,12,9,11,11,9,10,11,11,11,13,12,13,13,9,11,11,11,12,13,11,13,11,6,9,8,9,11,11,9,12,10,9,11,11,11,11,13,11,13,12,9,11,10,12,13,13,11,13,11,6,9,9,8,10,11,9,12,11,9,10,11,10,10,12,11,13,13,9,11,11,11,13,12,11,13,11,8,10,10,9,10,12,10,12,11,10,10,12,10,10,13,12,13,13,10,12,11,12,13,13,10,13,10,7,10,10,11,11,13,11,14,11,10,12,11,11,11,13,13,14,13,10,12,12,14,14,14,11,14,11,6,9,9,9,11,12,8,11,10,9,11,11,11,11,13,11,12,13,8,11,10,11,13,13,10,12,10,7,10,10,11,11,14,11,13,11,10,12,12,11,11,14,14,14,14,10,11,12,13,13,14,11,13,11,8,10,10,10,11,12,9,12,10,10,11,12,11,10,13,12,13,13,10,12,10,12,13,13,11,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,6,6,6,7,7,6,7,7,6,7,7,7,7,8,7,8,8,6,7,7,7,8,8,7,8,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,9,7,8,7,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,8,6,8,8,7,8,8,7,8,8,7,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,9,9,8,9,9,8,8,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,7,8,8,8,8,9,8,9,8,8,8,8,8,9,9,9,9,9,8,9,8,9,9,9,8,9,9,6,8,8,7,8,8,7,8,8,8,8,8,8,8,9,8,9,9,7,8,8,8,9,9,8,9,8,7,8,8,8,8,9,8,9,8,8,8,9,8,9,9,9,9,9,8,8,8,9,9,9,8,9,9,7,8,8,8,9,9,8,9,9,8,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,6,5,7,8,5,8,7,5,7,8,7,8,10,8,10,10,5,8,7,8,10,10,7,10,8,6,8,9,8,10,11,9,10,10,9,10,11,10,11,12,11,12,12,9,11,10,11,12,12,10,12,11,6,9,8,9,10,10,8,11,10,9,10,11,10,11,12,11,12,12,9,11,10,11,12,12,10,12,11,6,9,9,8,10,11,9,11,10,8,10,10,10,10,12,11,12,12,9,11,10,11,12,12,10,12,11,8,10,10,10,11,12,10,12,11,10,10,12,11,11,13,12,13,13,10,12,11,12,13,13,11,13,11,7,10,10,10,11,12,10,12,11,10,12,11,11,11,12,12,14,13,10,12,12,12,14,14,11,13,11,6,9,9,9,10,11,8,11,10,9,10,11,10,11,12,11,12,12,8,11,10,11,12,12,10,12,10,7,10,10,10,11,12,10,12,11,10,12,12,11,11,13,12,13,13,10,11,12,12,13,14,11,12,11,8,10,10,10,11,12,10,12,11,10,11,12,11,11,13,12,13,13,10,12,10,12,13,13,11,13,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,9,9,6,7,8,10,10,6,8,7,10,10,8,10,10,12,13,8,10,10,13,12,6,7,8,10,10,7,8,9,10,11,8,9,9,11,11,10,10,11,12,14,10,11,11,14,13,6,8,7,10,10,8,9,9,11,11,7,9,8,11,10,10,11,11,13,14,10,11,10,14,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,12,15,13,14,13,15,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,13,13,14,14,15,12,13,12,15,12,6,7,8,10,11,8,9,10,11,12,8,9,9,11,12,10,11,12,13,14,10,11,11,14,13,8,9,10,11,12,9,10,11,12,13,9,10,11,12,13,11,12,13,13,15,12,12,13,15,14,8,9,9,12,12,9,10,11,12,13,9,10,10,13,12,12,12,13,14,15,11,12,12,14,14,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,14,13,15,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,14,13,14,15,15,15,16,13,14,14,16,14,6,8,7,11,10,8,9,9,11,12,8,10,9,12,11,10,11,11,13,14,10,12,11,14,13,8,9,9,12,12,9,10,10,12,13,9,11,10,13,12,11,12,12,13,14,12,13,12,15,14,8,10,9,12,11,9,11,10,13,12,9,11,10,13,12,12,13,12,14,15,11,13,12,15,13,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,13,14,14,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,15,13,14,15,15,16,16,13,15,13,16,14,9,10,11,12,14,11,11,12,13,15,11,12,12,13,14,13,14,15,15,17,13,14,14,15,16,11,11,12,13,15,12,12,13,14,16,12,13,13,14,15,14,14,16,15,17,15,15,15,16,17,11,12,12,14,14,12,13,13,15,16,12,13,13,15,15,15,15,15,16,17,14,15,15,16,16,14,14,15,15,17,14,15,15,15,17,15,15,16,16,17,16,16,17,16,18,17,17,17,18,18,14,15,14,16,16,15,15,16,17,17,14,15,15,17,16,17,17,17,18,18,16,16,16,17,17,9,11,10,14,12,11,12,12,14,13,11,12,11,15,13,13,14,14,16,15,13,15,14,17,15,11,12,12,15,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,15,15,15,17,16,11,12,11,15,13,12,13,13,15,14,12,13,12,16,14,15,15,15,17,16,14,15,14,17,15,14,14,15,16,16,14,15,15,16,16,15,16,15,17,17,16,16,16,17,17,17,17,17,18,17,14,15,14,16,15,15,15,15,17,16,15,15,15,17,15,17,17,17,18,18,16,17,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,12,11,14,13,7,9,9,11,12,9,10,10,12,13,9,10,10,13,13,11,11,12,13,15,11,12,12,15,14,8,9,9,12,11,9,11,10,13,13,9,11,10,13,12,12,13,12,14,15,11,13,12,15,13,10,11,12,13,14,11,12,12,13,15,12,12,13,14,15,13,13,14,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,15,13,14,15,15,15,16,13,14,14,16,14,7,9,9,11,12,9,10,11,12,13,9,10,10,13,12,11,12,12,14,15,11,12,12,15,14,9,9,11,11,13,10,10,12,12,14,10,11,12,13,14,12,12,13,14,16,12,13,13,15,15,9,11,10,13,13,10,12,12,13],"i8",N3,x.GLOBAL_BASE+431057),E3([14,10,12,11,14,13,12,13,13,15,16,12,13,13,15,14,11,11,13,13,15,12,12,14,13,16,13,13,13,14,15,14,14,15,14,17,15,15,15,16,16,12,13,12,15,14,13,14,14,15,15,12,14,13,16,14,15,15,16,16,17,14,15,14,17,15,7,9,9,12,11,9,10,10,12,13,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,9,10,10,13,12,10,10,11,12,13,10,12,11,14,13,12,12,13,13,15,12,14,13,16,15,9,10,10,13,12,11,11,12,13,13,10,12,10,14,12,13,13,13,15,15,12,13,12,15,13,11,12,12,14,14,12,12,13,14,15,13,14,13,15,15,14,13,15,13,16,15,16,15,17,16,12,13,12,14,14,13,14,14,15,15,12,13,12,15,14,15,15,16,16,17,14,15,13,16,13,10,11,12,13,14,11,12,13,14,15,12,13,13,15,15,14,14,15,15,17,14,15,15,16,16,12,12,13,12,15,12,12,14,13,16,13,13,14,14,16,14,14,16,15,17,15,15,16,16,17,12,13,13,15,15,13,14,14,16,16,13,14,13,16,15,15,16,16,17,17,14,15,15,17,16,14,14,15,14,17,15,15,16,15,17,15,15,16,15,17,16,16,17,16,18,17,17,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,17,17,17,18,18,16,17,16,18,17,10,12,11,14,14,12,13,13,15,15,12,13,12,15,14,14,15,15,16,16,14,15,15,17,16,11,13,12,15,14,12,13,13,15,15,13,14,13,16,14,15,15,15,16,16,15,16,15,17,16,12,13,13,15,15,13,14,14,16,16,12,14,13,16,15,15,16,16,17,17,15,16,15,17,16,14,15,15,16,16,14,15,15,16,16,15,16,16,17,16,16,16,16,16,17,17,18,17,18,17,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,17,17,18,18,18,16,17,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,12,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,10,11,13,13,11,12,13,13,15,12,12,12,15,14,7,9,9,12,11,9,10,10,13,13,9,10,10,13,12,11,12,12,14,15,11,12,11,15,13,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,13,14,14,14,16,14,15,15,16,16,10,12,11,14,13,12,13,12,14,14,11,12,12,15,13,14,15,15,16,16,13,14,13,16,14,7,9,9,11,12,9,10,11,12,13,9,10,10,13,12,11,12,13,14,15,11,12,12,14,14,9,10,10,12,13,10,10,12,12,14,11,12,11,13,13,12,12,14,13,15,13,13,13,15,15,9,10,10,12,13,10,11,12,13,14,10,11,10,13,12,13,13,14,15,16,12,13,12,15,13,12,13,13,14,14,12,12,13,14,15,13,14,14,15,15,14,13,15,13,16,15,16,15,17,16,11,12,12,14,14,13,13,14,15,15,12,13,12,15,14,15,15,16,16,17,14,14,13,16,13,7,9,9,12,11,9,10,10,12,13,9,11,10,13,12,11,12,12,14,15,11,12,12,15,14,9,10,11,13,13,10,11,12,13,14,10,12,12,14,13,12,13,13,14,16,12,13,13,16,15,9,11,9,13,11,10,12,11,13,13,10,12,10,14,12,12,13,13,15,15,12,13,12,16,14,12,12,13,14,15,12,13,14,14,15,13,14,14,15,15,14,14,15,15,17,15,16,15,17,16,11,13,11,15,13,13,14,13,15,14,12,14,12,16,13,15,15,15,16,16,14,15,14,17,14,10,11,12,14,14,12,12,13,14,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,16,12,12,13,15,15,13,13,14,15,16,13,14,14,16,16,15,15,16,16,17,15,16,16,17,17,11,12,13,14,15,13,13,14,15,16,12,13,13,15,15,15,15,16,16,17,15,15,15,16,16,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,16,18,17,17,17,18,18,14,15,15,16,16,15,16,16,16,17,15,15,15,16,16,17,17,17,18,18,16,16,16,17,16,10,12,11,14,13,12,13,13,15,15,11,13,12,15,14,14,15,15,16,16,14,15,14,17,15,12,13,13,15,15,13,13,14,16,16,13,14,14,16,16,15,15,15,16,17,15,16,16,17,17,12,13,12,15,12,13,14,13,16,14,12,14,12,16,13,15,16,15,17,16,14,16,14,17,15,14,15,15,16,17,15,15,16,17,17,15,16,16,17,17,16,16,17,17,18,17,18,17,18,18,14,15,14,17,14,15,16,15,17,15,15,16,15,17,15,17,17,17,18,17,16,17,16,18,16,9,11,11,14,14,11,12,12,14,14,11,12,12,15,14,13,14,14,16,16,13,15,14,16,16,10,11,12,14,14,11,12,13,15,15,12,13,13,15,15,13,14,15,16,17,14,15,15,17,16,11,12,12,15,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,15,17,16,12,13,14,15,16,13,14,14,15,16,13,14,15,16,16,15,15,16,16,18,16,16,16,18,17,14,14,14,16,15,15,15,15,17,16,14,15,15,17,16,16,17,17,18,17,16,16,16,18,16,10,12,12,14,14,11,12,13,15,15,12,13,13,15,15,13,14,15,16,17,14,15,15,17,16,11,12,13,14,15,12,12,14,15,16,13,13,14,15,16,14,14,15,16,17,15,15,16,17,17,12,13,13,15,15,13,14,14,16,16,13,14,13,16,15,15,16,15,17,17,15,16,15,17,16,13,13,15,14,17,14,13,16,15,17,15,14,16,15,17,15,15,17,16,18,16,16,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,17,17,17,18,18,16,17,16,18,17,10,12,11,14,14,11,12,13,15,15,12,13,12,15,15,14,15,15,16,16,14,15,15,17,16,11,12,12,15,15,12,13,13,15,15,13,14,13,16,15,14,15,15,16,16,15,16,15,17,16,11,13,13,15,15,13,14,14,15,15,12,14,13,16,15,15,16,15,17,17,15,16,15,17,16,13,15,14,16,16,14,15,14,16,16,15,16,15,17,16,15,16,16,16,17,16,17,16,18,17,14,15,15,16,16,15,16,16,17,17,15,15,15,17,16,17,17,17,18,18,16,16,16,18,16,12,13,13,15,16,13,14,14,15,16,13,14,14,16,16,15,15,16,16,18,15,16,16,17,17,13,13,14,15,16,14,14,15,15,17,14,15,15,16,17,15,15,17,16,18,16,16,17,17,17,13,14,14,16,16,14,15,15,17,17,14,15,14,17,16,16,17,16,17,18,16,17,16,18,17,15,15,16,14,17,16,15,17,14,18,16,16,16,15,18,16,16,18,15,19,18,18,18,17,19,15,16,16,18,17,16,17,17,18,17,16,17,16,18,17,18,18,18,19,19,17,18,16,18,17,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,16,16,16,17,15,16,16,17,16,12,14,13,16,15,13,13,14,15,16,14,15,14,17,15,15,15,16,16,17,16,17,16,18,17,12,13,14,15,16,14,15,15,16,16,13,14,13,16,15,16,16,16,17,17,15,16,15,17,15,15,16,15,17,16,15,15,15,16,16,16,17,16,18,16,16,15,16,15,17,17,18,17,18,17,15,15,16,17,17,16,16,17,17,17,15,16,15,17,16,18,18,18,18,18,16,17,16,18,15,9,11,11,14,14,11,12,12,14,15,10,12,12,15,14,13,14,15,16,16,13,14,14,16,16,11,12,12,14,15,12,12,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,16,10,12,12,14,14,12,13,13,15,15,11,13,12,15,15,14,15,15,16,17,13,15,14,16,16,14,14,14,15,16,14,15,15,16,17,14,15,15,16,17,16,16,17,16,18,16,17,17,17,17,12,14,13,16,15,13,15,14,16,16,13,14,14,16,15,16,16,16,17,17,15,16,15,17,16,10,11,11,14,14,12,12,13,14,15,11,13,12,15,14,14,15,15,16,17,14,15,15,16,16,12,13,13,15,15,12,13,14,15,16,13,14,14,15,15,15,15,16,16,17,15,15,16,17,17,11,12,12,15,15,13,13,14,15,16,12,13,13,15,15,15,15,16,16,17,14,15,15,16,16,14,15,15,16,16,15,15,15,16,17,15,16,16,17,17,16,16,17,16,18,17,17,17,17,18,13,14,15,16,16,15,15,16,16,17,14,14,14,16,16,16,16,17,17,18,16,16,16,17,16,10,12,12,14,14,12,13,13,15,15,11,13,12,15,15,14,15,15,16,17,13,15,14,17,16,12,13,13,15,15,13,13,14,15,16,13,14,14,16,16,15,15,16,16,17,15,15,16,17,17,11,13,12,15,14,13,14,13,16,15,12,14,12,16,15,15,16,15,17,17,14,15,14,17,16,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,17,18,17,17,17,18,18,13,15,13,17,14,14,16,14,17,16,14,15,13,17,15,16,17,16,18,17,15,17,15,18,16,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,16,16,16,17,15,16,16,17,16,12,14,13,16,15,13,13,14,15,16,14,15,15,16,16,16,15,16,16,17,16,16,16,17,17,12,13,14,15,16,14,14,15,15,17,13,14,13,16,15,16,16,17,17,18,15,16,15,17,15,15,16,15,17,17,15,15,16,16,17,16,17,16,17,17,16,15,17,15,18,17,18,17,18,18,15,15,16,16,17,16,16,17,16,18,15,15,15,16,16,17,17,18,17,18,16,16,15,17,15,12,13,13,15,15,13,14,14,16,16,13,14,14,16,16,15,16,16,17,18,15,16,15,18,16,13,14,14,16,16,14,14,15,16,17,14,15,15,17,17,16,16,17,17,18,16,16,17,18,17,13,14,13,16,14,14,15,15,17,16,14,15,14,17,15,16,17,17,18,17,15,17,15,18,16,15,16,16,17,17,16,16,17,17,18,16,17,17,18,18,17,16,18,17,19,18,18,18,18,18,15,16,15,17,14,16,16,16,18,15,16,17,15,18,14,18,18,18,18,17,17,18,16,19,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,7,7,5,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,5,7,8,8,9,10,8,9,10,8,9,10,9,10,12,10,11,11,8,10,10,10,11,11,9,11,11,5,8,7,8,9,9,8,10,9,8,10,10,9,11,11,10,11,11,8,10,9,10,11,11,9,12,10,5,8,8,7,9,10,8,10,9,7,9,9,9,10,11,9,11,11,8,10,9,10,11,11,10,11,11,7,9,9,9,10,11,9,11,11,9,9,11,10,10,13,11,11,12,9,11,11,11,12,13,11,13,12,7,9,9,9,11,11,9,11,10,9,11,10,10,11,12,11,13,12,9,11,11,11,12,13,11,13,11,5,8,8,8,9,10,7,10,9,8,9,10,10,11,11,10,11,11,7,9,9,9,11,11,9,11,10,7,9,9,9,10,11,9,11,11,9,11,11,11,11,13,11,13,12,9,10,11,11,12,13,10,12,11,7,9,9,9,11,11,9,11,10,9,11,11,11,12,13,11,13,12,9,11,9,11,12,11,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,12,14,15,18,20,20,5,3,4,6,9,11,15,19,9,4,3,4,7,9,13,18,11,6,3,3,5,8,13,19,14,9,6,5,7,10,16,20,16,11,9,8,10,10,14,16,21,14,13,11,8,7,11,14,21,14,13,9,6,5,10,12,0,0,0,0,255,255,255,255,255,255,255,255,8,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,x.GLOBAL_BASE+441297),E3([1,0,0,0,1,0,0,0,2,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,240,5,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,214,6,0,0,0,0,0,0,0,0,0,224,214,6,0,0,0,0,0,0,0,0,0,8,215,6,0,48,215,6,0,0,0,0,0,0,0,0,0,88,215,6,0,128,215,6,0,0,0,0,0,0,0,0,0,168,215,6,0,208,215,6,0,0,0,0,0,0,0,0,0,248,215,6,0,32,216,6,0,208,215,6,0,0,0,0,0,72,216,6,0,112,216,6,0,208,211,6,0,248,211,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,120,214,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,112,214,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,211,6,0,128,211,6,0,0,0,0,0,0,0,0,0,168,211,6,0,208,211,6,0,248,211,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,136,213,6,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,56,214,6,0,0,0,0,0,2,0,0,0,25,0,0,0,80,213,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,112,213,6,0,0,0,0,0,2,0,0,0,9,0,0,0,48,213,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,64,213,6,0,0,0,0,0,1,0,0,0,25,0,0,0,168,212,6,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,200,212,6,0,0,0,0,0,1,0,0,0,25,0,0,0,32,212,6,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,64,212,6,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,4,4,5,5,5,4,5,4,5,5,5,5,6,5,6,5,6,5,6,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,8,8,9,8,9,9,10,10,10,10,4,6,5,8,7,9,9,9,9,10,9,10,10,4,5,6,7,8,9,9,9,9,9,10,9,10,8,9,8,9,8,10,9,11,9,12,10,11,10,8,8,9,8,9,9,10,9,11,10,11,10,12,9,10,10,11,10,11,11,12,11,12,12,12,12,9,10,10,11,11,11,11,11,12,12,12,12,12,10,11,11,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,13,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,11,13,12,12,12,13,12,12,12,12,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,5,13,9,9,12,16,18,4,2,20,6,7,10,15,20,10,7,5,5,6,8,10,13,8,5,5,3,5,7,10,11,9,7,6,5,5,7,9,9,11,10,8,7,6,6,8,8,15,15,10,10,9,7,8,9,17,19,13,12,10,8,9,9,5,0,0,0,243,0,0,0,232,4,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,224,5,7,0,0,0,0,0,5,0,0,0,53,12,0,0,152,248,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,4,7,0,0,0,0,0,5,0,0,0,243,0,0,0,144,247,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,136,248,6,0,0,0,0,0,5,0,0,0,243,0,0,0,136,246,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,128,247,6,0,0,0,0,0,5,0,0,0,243,0,0,0,128,245,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,120,246,6,0,0,0,0,0,5,0,0,0,53,12,0,0,48,233,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,104,245,6,0,0,0,0,0,5,0,0,0,53,12,0,0,224,220,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,24,233,6,0,0,0,0,0,1,0,0,0,7,0,0,0,184,220,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,192,220,6,0,0,0,0,0,5,0,0,0,243,0,0,0,176,219,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,168,220,6,0,0,0,0,0,5,0,0,0,243,0,0,0,168,218,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,160,219,6,0,0,0,0,0,5,0,0,0,243,0,0,0,160,217,6,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,152,218,6,0,0,0,0,0,5,0,0,0,243,0,0,0,152,216,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,144,217,6,0,0,0,0,0,1,9,9,7,9,9,8,8,9,9,9,9,9,9,9,8,9,9,7,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,6,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,5,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,5,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,6,7,7,7,7,7,7,8,8,9,9,9,9,7,7,8,8,8,9,9,9,9,8,8,6,7,7,8,8,8,8,8,8,9,8,8,9,8,9,9,8,8,10,8,8,10,9,9,10,8,8,6,6,6,8,6,6,8,7,7,8,7,7,10,8,8,9,7,7,9,7,7,10,8,8,9,7,7,7,7,7,10,8,8,11,9,9,10,9,9,11,9,9,11,8,8,11,9,9,12,9,9,12,8,8,7,7,7,10,9,9,10,9,9,10,9,9,11,10,10,10,9,9,11,9,10,11,10,11,10,9,9,9,8,8,10,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,9,9,11,10,10,11,9,9,8,8,8,11,9,9,11,9,9,11,9,9,12,9,9,12,8,8,11,9,9,12,9,9,12,8,8,8,7,7,10,9,9,10,9,9,10,9,9,11,11,11,11,9,9,11,10,10,11,11,11,11,9,9,10,9,9,11,9,9,11,9,10,11,10,10,11,10,10,11,9,9,11,10,10,11,10,10,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,7,7,7,8,8,7,8,8,7,9,9,11,11,11,9,8,8,8,9,9,12,11,12,9,8,8,6,7,7,10,11,11,10,10,10,11,11,11,14,14,14,12,11,12,11,11,11,15,15,14,13,12,12,5,6,6,8,5,5,8,7,7,8,7,7,12,10,10,10,7,6,9,8,8,12,10,10,10,6,6,7,8,8,12,10,10,12,10,10,11,10,10,16,14,14,13,10,10,12,10,10,15,14,14,14,10,10,7,7,7,13,11,11,13,11,11,12,11,11,16,14,14,14,12,12,12,11,11,18,15,15,14,12,12,10,9,10,14,11,11,13,11,11,12,11,11,17,14,14,14,11,11,13,11,11,16,15,15,14,11,11,7,8,8,13,11,11,12,10,10,12,10,10,16,14,13,13,10,10,12,10,10,17,14,14,14,10,10,8,7,7,12,11,11,13,11,11,12,11,11,16,15,14,14,12,12,12,11,11,16,15,15,14,12,12,11,10,10,14,11,11,13,11,11,13,11,11,17,14,14,14,11,11,13,11,11,18,14,15,15,11,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,1,7,6,15,15,7,8,8,15,15,8,8,8,15,15,0,13,13,16,16,0,14,14,16,16,7,9,9,16,16,10,11,11,17,17,10,8,8,15,16,0,14,14,18,18,0,14,14,16,16,9,9,9,16,16,12,11,11,17,17,10,9,9,15,15,0,14,14,19,19,0,14,14,16,16,0,15,15,18,17,0,0,0,20,20,0,13,13,16,16,0,17,17,22,20,0,15,15,17,17,0,15,15,18,18,0,22,21,20,21,0,13,13,16,16,0,18,18,0,22,0,15,15,17,17,6,7,7,13,13,9,10,10,15,15,11,10,10,15,15,0,21,22,18,18,0,0,0,18,18,10,10,10,15,15,12,13,13,17,17,12,11,11,15,15,0,22,22,18,18,0,0,21,18,18,12,11,11,15,15,15,14,14,18,18,13,11,11,15,15,0,0,21,18,19,0,21,22,18,19,0,22,0,18,19,0,0,0,0,0,0,21,21,18,18,0,22,0,0,21,0,0,0,19,18,0,0,0,18,19,0,0,0,0,0,0,20,20,18,17,0,0,22,0,21,0,0,0,19,19,6,6,6,13,13,8,6,6,11,11,9,7,7,13,13,0,10,10,11,11,0,12,12,14,14,9,8,8,14,14,12,10,10,13,13,10,7,7,13,13,0,11,11,15,15,0,11,11,13,13,9,8,8,14,14,13,10,10,13,14,11,7,7,13,13,0,11,11,15,15,0,11,11,13,13,0,12,12,15,15,0,21,21,17,17,0,10,10,13,13,0,14,14,20,20,0,12,12,13,13,0,12,12,15,15,0,21,22,17,18,0,10,10,13,13,0,16,16,20,21,0,12,12,13,13,0,11,11,13,13,0,12,12,16,16,0,12,12,16,16,0,16,16,0,21,0,17,18,0,0,0,12,12,15,15,0,15,15,18,18,0,12,12,16,16,0,16,16,21,22,0,17,17,22,21,0,12,12,16,16,0,15,15,19,19,0,12,12,16,16,0,16,16,22,22,0,17,16,22,0,0,17,18,0,0,0,0,0,0,0,0,15,15,21,20,0,19,20,0,22,0,18,18,0,0,0,18,17,0,0,0,0,0,0,0,0,16,16,22,21,0,20,20,0,22,0,20,19,0,0,0,11,11,12,12,0,10,10,11,11,0,11,11,12,12,0,12,12,10,10,0,13,13,12,12,0,11,11,13,13,0,13,13,12,12,0,10,10,12,12,0,13,13,14,13,0,12,12,12,12,0,12,12,13,13,0,14,14,13,13,0,10,10,12,12,0,13,13,14,14,0,13,12,12,12,0,14,14,14,14,0,21,21,16,16,0,12,12,12,12,0,16,16,20,21,0,13,13,11,11,0,14,14,14,14,0,20,20,16,15,0,12,12,12,12,0,17,17,20,20,0,13,13,11,11,7,8,8,16,16,11,10,10,15,15,12,10,10,17,17,0,14,14,16,15,0,15,15,17,17,11,9,9,16,16,14,12,12,17,17,13,9,9,16,15,0,14,14,19,18,0,14,14,16,16,12,10,10,17,18,16,13,13,17,18,14,10,10,16,16,0,14,14,19,19,0,14,15,17,17,0,15,15,18,19,0,0,0,20,20,0,13,13,17,17,0,17,18,0,22,0,15,15,16,17,0,15,15,18,18,0,0,0,20,21,0,14,14,17,17,0,19,18,0,0,0,16,16,17,17,8,7,7,14,14,12,11,11,15,15,13,11,11,15,15,0,0,0,18,19,0,21,20,18,18,12,10,11,15,16,14,13,13,18,18,14,11,11,15,15,0,20,20,19,18,0,20,0,18,18,13,11,11,16,16,17,15,15,19,19,14,12,12,15,15,0,21,0,18,20,0,22,22,18,19,0,22,22,19,19,0,0,0,0,0,0,21,22,19,18,0,0,0,0,21,0,0,0,19,19,0,0,22,20,20,0,0,0,0,0,0,22,0,18,18,0,0,0,0,22,0,0,0,19,20,11,10,10,14,14,14,11,11,13,13,14,11,11,15,15,0,14,13,12,12,0,15,15,16,16,13,11,11,15,15,16,13,13,15,15,15,10,10,14,15,0,14,14,16,16,0,14,14,15,15,13,11,11,15,15,18,14,14,15,15,15,10,10,15,14,0,14,14,16,16,0,14,14,15,15,0,15,15,17,16,0,21,22,18,18,0,13,13,14,14,0,18,17,20,21,0,15,15,14,14,0,15,16,16,17,0,0,0,19,18,0,13,13,15,14,0,19,19,0,0,0,15,15,14,14,0,12,12,14,13,0,13,13,16,16,0,12,12,16,16,0,16,16,22,0,0,17,18,0,22,0,13,13,16,16,0,15,15,18,18,0,12,12,16,16,0,16,16,22,22,0,17,17,0,0,0,13,13,17,17,0,16,16,19,20,0,12,12,17,17,0,17,17,22,0,0,17,17,22,21,0,18,18,0,0,0,0,0,0,0,0,16,16,21,21,0,19,19,0,0,0,18,18,0,22,0,18,18,0,22,0,0,0,0,0,0,16,16,22,0,0,20,20,0,0,0,19,18,0,0,0,12,12,15,15,0,12,12,15,14,0,13,13,15,15,0,14,14,14,14,0,15,15,16,16,0,13,13,15,16,0,15,15,16,16,0,12,12,15,15,0,14,14,16,16,0,14,14,15,15,0,13,13,15,16,0,15,15,16,16,0,12,12,15,15,0,15,15,17,17,0,14,14,15,15,0,15,15,17,17,0,21,21,19,19,0,13,13,14,14,0,17,17,22,0,0,14,14,15,15,0,15,15,17,17,0,22,0,18,20,0,13,13,15,15,0,18,18,0,22,0,15,15,14,15,8,8,8,17,16,12,10,10,16,16,13,10,10,17,16,0,15,15,17,17,0,15,15,17,17,12,11,11,18,18,15,12,12,18,18,15,10,10,16,17,0,14,14,18,18,0,14,14,17,17,13,10,10,16,16,17,14,14,17,17,15,10,10,16,15,0,15,15,19,20,0,14,14,15,16,0,16,16,19,19,0,0,0,21,22,0,13,13,17,17,0,18,17,0,21,0,15,15,17,17,0,15,15,18,19,0,0,22,0,21,0,13,13,16,17,0,19,19,0,22,0,16,15,16,16,9,8,8,14,14,12,11,11,15,15,13,11,11,15,15,0,21,20,19,18,0,0,0,19,18,12,11,11,16,15,15,13,13,17,18,14,11,11,15,15,0,22,22,19,18,0,22,21,18,18,14,11,11,15,15,17,14,14,18,18,15,12,12,15,15,0,22,22,20,19,0,0,21,18,18,0,0,22,20,20,0,0,0,0,0,0,20,21,18,18,0,0,0,21,21,0,0,0,20,19,0,22,21,19,19,0,0,0,0,0,0,0,22,17,18,0,0,22,0,22,0,22,0,19,19,0,11,11,15,15,0,11,11,14,14,0,12,12,15,15,0,15,15,14,14,0,16,16,16,16,0,12,12,16,16,0,14,14,16,16,0,11,11,15,15,0,15,15,17,17,0,15,15,15,15,0,12,12,16,16,0,14,14,15,15,0,11,11,15,15,0,15,15,17,17,0,15,15,14,15,0,16,16,17,17,0,0,0,19,19,0,14,14,15,15,0,18,18,21,0,0,15,15,14,15,0,16,16,17,17,0,21,0,19,19,0,14,14,15,15,0,20,20,22,0,0,16,15,14,14,0,12,12,13,13,0,12,12,16,16,0,12,12,16,16,0,16,16,22,21,0,18,17,21,0,0,13,13,16,16,0,15,15,18,19,0,12,12,16,16,0,16,17,22,0,0,17,17,0,22,0,13,13,17,16,0,15,15,19,19,0,12,12,16,16,0,16,16,21,20,0,17,16,22,0,0,18,18,22,21,0,0,0,0,0,0,15,16,21,21,0,19,19,0,0,0,18,17,0,0,0,18,18,21,0,0,0,0,0,0,0,16,16,22,22,0,20,21,0,0,0,18,19,0,22,0,13,13,16,16,0,12,12,15,15,0,13,13,16,16,0,14,14,15,15,0,15,15,17,17,0,13,13,17,16,0,15,15,17,17,0,12,12,16,16,0,15,15,17,17,0,14,14,16,16,0,13,13,16,17,0,15,15,17,17,0,12,12,16,16,0,14,14,17,17,0,14,14,16,16,0,16,16,17,17,0,21,0,21,19,0,13,13,16,16,0,17,17,0,0,0,15,15,16,16,0,16,15,18,18,0,22,0,20,20,0,13,13,15,15,0,18,18,0,0,0,15,15,15,15,0,12,12,17,17,0,14,14,17,17,0,14,14,17,17,0,17,17,18,17,0,17,17,19,18,0,13,13,17,17,0,16,16,18,18,0,13,13,16,16,0,17,17,19,19,0,16,16,17,17,0,13,13,18,18,0,17,17,18,18,0,13,13,17,17,0,17,17,19,19,0,16,17,17,17,0,17,17,19,19,0,21,0,21,19,0,14,14,16,16,0,20,19,0,21,0,16,16,16,16,0,17,18,19,19,0,0,0,0,21,0,15,15,16,17,0,21,20,0,0,0,17,18,16,17,0,9,9,14,14,0,14,14,15,16,0,14,14,15,15,0,0,0,18,18,0,21,0,18,19,0,12,12,15,15,0,16,16,17,17,0,14,14,14,14,0,22,0,19,18,0,22,0,17,18,0,14,14,16,15,0,18,18,19,18,0,14,15,15,15,0,0,21,20,20,0,0,0,18,18,0,21,21,19,19,0,0,0,0,0,0,21,21,18,18,0,22,0,20,20,0,22,0,19,19,0,22,0,19,20,0,0,0,0,0,0,0,21,17,18,0,0,0,22,22,0,0,0,19,18,0,18,20,16,16,0,21,20,17,17,0,0,21,18,18,0,22,21,18,18,0,0,22,19,19,0,20,20,17,17,0,0,0,18,18,0,19,20,17,17,0,22,0,19,21,0,22,21,18,18,0,20,19,17,18,0,0,0,19,19,0,20,20,17,17,0,22,22,21,21,0,20,0,18,18,0,22,22,18,18,0,0,0,20,22,0,20,20,16,16,0,0,0,21,0,0,21,20,16,17,0,22,0,19,20,0,0,0,21,20,0,19,21,17,17,0,0,0,0,0,0,21,21,17,17,0,12,12,13,13,0,14,14,16,16,0,14,14,16,16,0,18,18,0,0,0,19,18,22,0,0,13,13,16,16,0,16,16,18,18,0,13,13,16,16,0,17,18,21,0,0,18,18,21,0,0,13,13,16,16,0,17,17,19,20,0,13,13,16,17,0,18,18,21,0,0,18,18,21,0,0,18,19,0,21,0,0,0,0,0,0,16,16,21,20,0,20,20,0,0,0,18,19,0,0,0,18,18,0,0,0,0,0,0,0,0,16,16,0,21,0,22,22,0,0,0,19,19,0,0,0,16,16,19,20,0,17,16,22,21,0,17,17,21,20,0,19,18,0,22,0,19,19,22,22,0,16,15,22,22,0,19,19,0,21,0,15,15,20,20,0,18,19,0,21,0,18,18,22,22,0,16,16,21,20,0,20,19,21,22,0,16,15,20,20,0,19,19,0,22,0,18,18,21,0,0,19,18,21,22,0,0,0,0,0,0,16,16,19,21,0,20,22,0,22,0,18,18,20,21,0,19,18,0,22,0,0,0,22,0,0,16,16,20,20,0,21,21,0,0,0,18,18,21,0,0,12,12,17,17,0,15,14,17,17,0,14,14,18,18,0,17,17,17,18,0,18,18,18,18,0,13,13,18,18,0,16,17,19,18,0,13,13,16,17,0,17,17,18,19,0,17,17,17,17,0,13,13,17,17,0,17,18,18,18,0,13,13,16,16,0,18,18,19,20,0,16,17,17,16,0,17,18,19,18,0,0,0,22,21,0,15,15,16,16,0,20,20,21,22,0,17,17,16,16,0,16,17,18,18,0,0,0,21,21,0,15,15,16,16,0,21,20,0,0,0,17,17,16,16,0,10,10,14,14,0,14,14,15,15,0,14,14,15,15,0,22,0,18,18,0,0,0,19,19,0,13,13,15,16,0,17,16,18,18,0,14,14,15,15,0,21,21,19,18,0,22,21,18,17,0,14,14,15,15,0,18,18,19,18,0,15,15,14,14,0,22,21,19,19,0,22,21,17,18,0,0,0,19,19,0,0,0,0,0,0,20,22,17,17,0,0,22,22,20,0,0,0,19,18,0,21,22,19,18,0,0,0,0,0,0,22,22,17,18,0,0,0,21,22,0,0,0,19,18,0,20,20,17,17,0,21,21,17,18,0,21,22,18,18,0,21,0,18,18,0,22,0,19,19,0,19,21,18,18,0,0,22,18,18,0,22,21,17,17,0,22,0,20,20,0,0,0,18,18,0,22,21,18,18,0,21,0,19,19,0,20,21,17,17,0,0,22,22,20,0,21,22,17,17,0,0,21,19,18,0,0,0,21,21,0,21,20,16,17,0,0,0,0,0,0,21,0,17,17,0,21,0,19,20,0,0,0,20,22,0,20,20,17,17,0,0,0,0,0,0,21,21,17,17,0,12,12,13,13,0,14,14,16,16,0,14,14,16,16,0,18,18,21,0,0,19,19,22,0,0,13,13,16,16,0,16,16,18,18,0,13,13,16,16,0,18,18,21,22,0,18,18,0,22,0,13,13,16,16,0,17,17,20,18,0,13,13,16,16,0,19,18,0,22,0,18,18,22,21,0,18,19,0,0,0,0,0,0,0,0,16,16,21,21,0,21,21,0,0,0,18,19,0,0,0,19,19,21,0,0,0,0,0,0,0,16,16,0,21,0,20,20,0,0,0,20,20,0,0,0,16,16,21,20,0,18,17,21,22,0,17,18,0,21,0,18,19,22,22,0,19,19,0,22,0,16,17,21,22,0,20,19,0,0,0,16,16,20,21,0,19,19,0,0,0,19,19,0,22,0,17,17,21,21,0,19,20,0,0,0,16,16,0,20,0,19,20,0,21,0,18,18,0,22,0,19,20,22,22,0,0,0,0,22,0,17,17,0,21,0,21,21,0,0,0,18,19,23,21,0,20,19,0,0,0,0,0,0,0,0,17,17,0,20,0,0,0,0,0,0,19,19,23,22,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,4,5,5,9,9,12,9,9,12,12,12,10,10,13,13,13,11,11,12,12,13,13,13,12,12,13,10,10,13,13,13,13,13,13,13,13,10,10,13,12,13,11,11,13,13,13,14,14,13,12,13,10,10,13,13,12,13,13,13,13,13,10,10,12,12,13,11,11,13,13,13,14,14,12,12,13,12,12,13,13,13,13,13,13,13,13,11,11,12,12,13,11,11,13,13,13,14,14,12,12,13,14,14,13,13,14,13,13,14,14,14,14,14,12,12,13,14,14,13,13,14,14,14,12,12,12,8,8,12,12,13,12,12,11,11,13,11,11,11,11,14,12,12,11,11,14,12,12,10,11,14,12,12,12,12,14,12,12,12,12,13,13,13,11,11,14,12,12,11,11,14,12,12,12,12,14,12,12,12,12,14,12,12,12,12,14,13,13,11,11,14,12,12,11,11,14,12,12,12,12,14,13,13,12,12,14,12,12,12,12,14,13,13,11,11,14,12,12,11,11,14,13,13,11,11,15,13,13,12,12,14,12,12,12,12,15,13,13,12,12,14,12,12,11,11,15,13,13,11,11,12,9,9,11,11,13,7,7,11,11,13,8,8,12,12,14,10,10,10,10,14,14,14,11,11,14,8,8,12,12,14,14,14,12,12,14,7,7,11,11,14,9,9,12,12,14,14,14,11,11,14,8,8,12,12,14,14,14,12,12,14,7,7,11,11,14,9,9,12,12,14,14,14,11,11,14,10,10,12,12,14,14,14,13,13,14,9,9,11,11,14,10,10,12,11,15,14,14,11,11,14,15,15,12,12,15,14,14,14,14,15,14,14,11,11,15,14,14,12,12,15,14,14,11,11,14,11,11,10,10,15,10,10,10,10,15,10,10,10,10,15,11,11,9,9,15,12,13,9,9,15,11,11,11,11,15,13,13,11,11,15,10,10,10,10,15,11,11,10,10,15,13,13,11,11,15,11,11,11,11,15,13,13,11,11,15,10,10,10,10,15,11,11,10,10,15,13,13,10,11,15,12,12,11,11,15,13,13,11,10,15,11,11,10,10,15,11,12,10,9,15,13,13,10,10,15,14,14,11,11,15,13,13,11,11,15,14,14,10,10,15,13,13,10,10,15,14,14,10,10,14,13,13,10,10,15,13,13,10,10,15,13,13,10,10,14,14,14,8,9,15,14,14,9,9,15,14,14,11,11,15,14,14,10,10,15,14,14,10,10,15,14,14,11,11,15,14,14,10,10,15,14,14,11,11,15,14,14,10,10,15,14,14,10,10,15,14,14,10,10,15,14,14,9,9,15,14,14,11,11,15,14,14,11,11,15,14,14,10,10,15,14,14,10,10,14,14,14,9,9,15,15,15,11,11,15,14,14,12,12,15,15,15,10,10,15,14,15,10,10,15,15,15,9,9,15,10,10,13,13,17,8,8,12,12,17,10,9,13,13,18,11,11,12,12,18,14,14,12,12,17,9,9,13,13,17,13,13,12,12,18,8,8,12,12,18,10,10,12,12,18,14,14,12,12,18,10,10,13,13,18,13,13,13,13,18,9,9,12,12,18,10,10,13,13,18,14,14,12,12,18,11,11,13,13,18,14,14,13,13,18,10,10,12,12,17,11,11,12,12,18,14,14,12,12,18,14,14,13,13,18,14,14,13,13,19,14,15,12,12,18,14,14,12,12,18,15,15,12,12,13,7,7,11,11,14,15,15,11,11,14,16,15,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,11,12,14,15,15,12,12,13,15,15,11,11,14,15,15,11,11,15,15,15,12,12,14,15,15,12,12,14,16,16,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,15,15,15,12,12,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,14,15,12,12,15,15,15,12,12,15,16,16,12,12,15,15,15,12,12,14,15,15,12,12,15,15,15,12,12,13,13,13,11,11,14,14,15,11,11,14,14,14,12,12,14,15,15,10,10,15,15,15,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,15,15,12,12,15,15,15,11,11,14,15,15,12,12,14,14,15,11,11,14,15,15,11,11,14,15,15,12,12,15,15,15,11,11,15,15,15,12,12,14,15,15,12,12,14,15,15,10,10,14,15,15,11,11,15,15,15,10,10,15,15,15,12,12,15,15,15,14,14,15,15,15,11,11,15,15,15,11,11,15,15,15,11,11,14,10,10,10,10,15,9,9,12,11,15,10,10,12,12,15,11,11,11,11,15,13,13,12,12,16,10,10,12,12,15,13,13,12,12,15,9,9,11,11,15,10,10,13,12,15,13,13,11,11,15,10,10,12,12,15,13,13,12,12,15,9,9,11,11,15,10,10,12,12,15,13,13,11,11,15,11,11,12,12,15,13,13,13,13,15,10,10,11,11,15,11,11,12,12,15,13,14,11,11,15,14,14,13,13,16,14,14,20,19,15,14,14,11,11,15,13,14,12,12,15,14,14,11,11,14,13,13,10,10,14,14,13,11,11,15,13,14,12,12,15,14,14,12,12,15,14,14,11,11,15,14,14,12,12,15,15,14,13,13,15,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,13,13,15,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,15,14,14,11,11,15,15,15,12,12,15,15,15,13,13,16,14,14,12,12,15,15,15,13,13,15,15,15,12,12,15,15,15,12,12,14,10,10,13,13,17,9,9,12,12,17,9,9,13,13,17,11,11,12,12,18,14,14,12,12,18,10,10,13,13,18,14,13,12,12,18,9,9,12,12,18,10,10,12,13,18,14,14,12,12,17,9,9,12,12,17,13,14,12,12,17,9,9,12,12,17,10,10,12,12,17,14,14,11,11,18,11,11,12,12,18,14,14,12,13,18,10,10,12,12,18,11,11,12,12,18,14,14,11,11,18,15,15,12,12,18,14,14,13,13,18,14,15,12,12,17,14,14,12,12,17,15,15,12,12,13,7,7,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,14,15,15,11,11,14,15,15,12,12,14,15,15,11,11,15,15,15,11,11,15,15,15,12,12,14,15,15,12,12,14,15,16,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,15,15,15,12,12,15,16,16,12,12,15,15,15,12,12,15,15,15,12,12,15,15,15,12,12,13,13,13,12,12,14,14,14,11,11,14,14,14,12,12,14,14,14,10,10,15,15,15,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,14,14,12,12,15,15,14,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,14,14,11,11,15,14,14,10,10,14,15,15,12,12,14,14,14,12,12,14,15,15,10,10,14,15,15,11,11,15,15,15,10,10,15,15,15,12,12,15,14,14,13,13,15,15,15,10,10,15,14,14,11,11,15,15,15,10,10,14,10,10,10,10,14,9,9,12,12,15,10,10,12,12,14,11,11,11,11,15,13,14,12,12,15,10,10,13,13,15,13,13,12,12,15,9,9,12,12,15,10,10,13,13,15,13,14,11,11,15,10,10,12,12,15,13,13,12,12,15,9,9,11,11,15,10,10,12,12,15,13,13,11,11,15,11,11,12,12,15,13,13,13,13,15,10,10,11,11,15,11,11,12,12,15,14,14,11,11,15,14,14,13,13,15,14,14,20,19,15,14,14,11,11,15,14,14,12,12,15,14,14,11,11,14,13,13,11,11,15,13,13,11,11,15,14,13,12,12,15,14,14,11,12,15,14,14,11,11,15,14,14,12,12,14,14,14,13,13,15,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,13,13,14,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,15,14,14,11,11,14,14,14,12,12,15,15,15,13,13,16,14,14,12,12,15,15,15,13,13,15,14,14,12,12,15,15,15,12,12,15,11,11,13,13,18,10,10,12,12,17,11,11,12,12,18,12,12,11,11,18,14,14,12,12,18,10,10,13,13,18,14,14,12,12,18,10,10,12,12,18,11,11,12,12,18,14,14,12,12,18,11,11,12,13,18,14,14,12,12,18,10,10,12,12,18,11,11,12,12,18,14,14,11,11,18,11,11,12,12,18,14,14,12,12,17,10,10,11,11,17,12,12,11,11,17,14,14,11,11,18,15,15,12,12,18,14,14,13,13,18,15,15,11,11,18,15,14,12,12,18,15,15,11,11,14,8,8,11,11,14,15,15,10,10,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,15,15,15,11,11,15,15,15,12,12,14,15,15,10,10,15,15,15,11,11,15,15,15,12,12,15,15,15,11,11,15,15,15,13,13,14,15,15,10,10,15,15,15,11,11,15,15,15,12,12,15,15,15,12,12,15,16,16,12,12,15,14,14,11,11,15,15,15,11,11,15,15,15,12,12,16,15,15,13,13,15,16,16,13,13,16,15,15,12,12,15,15,15,12,12,15,15,15,12,12,14,13,13,11,11,14,14,14,11,11,14,14,14,12,12,15,14,14,11,11,15,15,14,11,11,15,14,14,12,12,15,14,14,12,12,14,15,15,11,11,15,14,14,12,12,15,14,14,11,11,15,14,15,12,12,15,14,14,12,12,14,15,15,11,11,15,14,14,11,11,15,14,14,11,11,15,15,14,12,12,15,14,14,12,12,15,15,15,10,11,15,14,14,11,11,15,15,15,10,10,15,15,15,12,12,16,14,14,13,13,15,15,15,11,11,15,14,14,11,11,15,15,15,11,11,14,11,11,9,9,14,10,10,12,12,15,11,11,12,12,15,12,12,12,12,15,14,14,13,13,15,11,11,12,12,15,14,14,13,13,14,10,10,12,12,15,11,11,13,13,15,14,14,12,12,15,10,10,12,12,14,14,14,13,13,14,10,10,11,11,15,11,11,12,12,15,14,14,12,12,15,12,12,13,13,15,14,14,14,14,15,11,11,11,11,15,12,11,12,12,15,14,14,11,11,15,15,15,13,14,15,14,14,20,19,15,14,14,12,12,15,14,14,13,13,15,14,14,12,12,14,13,13,10,10,14,13,13,11,11,14,13,13,11,11,15,14,14,12,12,15,14,14,12,12,15,14,14,12,11,14,14,14,13,13,15,14,14,11,11,15,14,14,11,11,15,14,14,14,14,15,14,14,11,12,15,14,14,13,13,14,14,14,11,11,15,14,14,11,11,15,14,14,14,14,15,14,14,12,12,15,14,14,13,13,15,14,14,11,11,14,14,14,12,12,15,14,14,13,13,15,15,15,13,13,15,14,14,13,13,15,15,15,13,13,15,14,14,13,13,15,15,15,13,13,15,14,14,13,13,18,15,15,12,12,18,15,15,12,12,18,16,16,11,11,18,17,17,12,12,18,15,15,13,13,18,17,17,12,12,18,15,15,12,12,18,15,16,12,12,18,17,17,12,12,18,15,15,13,12,17,16,17,12,12,17,15,15,11,12,18,15,15,12,12,18,17,17,11,11,18,16,16,12,12,18,17,16,12,12,18,15,15,11,11,18,15,15,12,12,18,17,17,11,11,18,17,17,12,12,18,16,16,13,13,18,17,17,11,11,17,16,16,11,11,18,17,17,11,11,15,15,15,11,11,16,15,15,11,11,16,15,15,11,11,16,15,15,12,12,17,15,15,14,14,16,15,15,11,11,17,15,15,14,14,16,15,15,11,11,16,15,15,12,12,18,15,15,13,13,16,15,15,11,11,17,15,15,14,14,16,15,15,11,11,16,15,15,12,12,17,15,15,13,13,16,15,15,12,12,17,16,15,14,14,16,15,15,11,11,16,15,15,12,12,18,15,15,13,13,17,15,15,14,14,17,16,16,15,15,18,14,15,13,13,18,15,15,14,14,18,15,15,13,13,15,13,13,12,12,15,14,14,12,12,16,14,14,12,12,16,14,14,12,12,17,14,15,12,12,16,14,14,12,12,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,17,14,14,12,12,16,14,14,12,12,17,14,14,13,13,15,15,15,11,11,16,14,14,12,12,17,14,14,12,12,16,15,15,12,12,17,14,14,13,12,16,15,15,11,11,16,14,14,12,12,17,15,15,11,11,17,15,15,13,13,17,14,14,13,13,18,15,15,12,12,17,14,14,12,12,17,15,15,12,12,14,15,15,9,9,14,15,15,12,12,15,16,15,13,13,15,15,15,14,14,15,15,15,21,19,15,15,15,13,13,15,15,15,19,19,15,15,15,12,12,15,16,16,14,14,15,15,15,19,19,15,16,15,13,13,15,16,16,19,20,15,15,15,12,13,15,16,16,14,14,15,15,15,20,19,15,15,15,14,14,15,16,16,19,19,15,15,15,14,13,15,15,15,14,14,15,15,15,19,19,15,16,16,20,19,15,17,16,21,20,15,15,15,20,19,15,16,16,20,20,15,15,15,19,20,14,13,13,10,10,14,14,14,11,11,14,14,14,12,12,15,14,14,13,13,15,15,14,20,20,15,14,14,12,12,14,14,14,19,19,15,14,14,11,11,15,14,14,12,12,15,14,14,20,19,15,14,14,12,12,14,14,14,20,20,14,14,14,11,11,15,14,14,12,12,15,14,14,20,21,15,14,14,13,13,15,14,14,20,20,15,14,14,12,12,15,14,14,13,13,14,15,15,20,20,15,15,15,20,19,15,14,14,20,19,15,15,15,20,20,15,14,14,21,20,15,15,15,20,20,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,6,7,7,7,8,8,7,8,8,10,11,11,9,8,8,8,8,8,11,11,12,9,8,8,5,7,7,9,11,11,10,11,11,10,11,11,12,14,14,11,12,12,10,12,12,13,14,14,12,12,12,5,6,6,7,6,6,8,7,7,8,7,7,11,10,10,10,7,7,9,8,8,12,11,11,10,7,7,7,7,7,11,10,10,12,10,10,11,10,10,15,13,13,13,10,10,12,11,11,15,13,13,14,11,11,7,7,7,11,11,11,12,11,11,12,11,11,14,14,14,13,12,12,12,12,12,16,15,15,14,12,12,0,10,10,0,11,11,0,12,12,0,11,11,0,14,14,0,11,11,0,12,12,0,15,15,0,11,11,7,8,8,12,11,10,12,10,10,12,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,12,11,11,12,11,11,15,14,14,14,12,12,13,12,12,15,14,14,15,13,13,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,13,13,0,15,14,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,5,5,0,8,8,0,8,8,0,9,9,0,10,10,0,8,8,0,8,8,0,10,10,0,8,8,0,7,7,0,8,8,0,7,7,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,7,7,0,6,6,0,7,7,0,7,7,0,10,10,0,6,6,0,7,7,0,10,10,0,5,5,0,8,8,0,7,7,0,8,8,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,7,7,0,6,6,0,9,10,0,10,10,0,10,10,0,11,11,0,9,9,0,10,10,0,11,11,0,9,9,0,8,8,0,8,8,0,8,8,0,9,9,0,9,9,0,7,7,0,8,8,0,9,9,0,7,7,0,8,8,0,7,7,0,7,7,0,8,8,0,9,9,0,7,7,0,7,7,0,8,8,0,6,6,0,6,6,0,10,10,0,10,10,0,10,10,0,12,12,0,9,9,0,10,10,0,12,12,0,9,9,0,8,8],"i8",N3,x.GLOBAL_BASE+446300),E3([7,7,0,7,7,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,6,6,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,6,6,5,7,8,0,8,8,6,9,9,7,10,10,0,8,8,0,9,9,0,12,12,0,8,8,4,7,7,6,10,10,0,12,12,7,11,11,8,12,12,0,12,12,0,13,12,0,15,15,0,12,12,0,7,7,0,7,7,0,7,7,0,8,8,0,10,10,0,7,7,0,8,8,0,11,11,0,7,7,5,7,7,8,9,9,0,10,10,8,9,9,11,11,11,0,10,9,0,11,11,0,13,13,0,10,10,6,7,7,8,10,10,0,12,12,9,10,10,10,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,10,10,0,11,11,0,11,11,0,11,11,0,13,13,0,11,11,0,11,11,0,15,15,0,10,10,0,8,8,0,10,10,0,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,11,11,0,7,7,0,10,10,0,12,12,0,10,10,0,12,12,0,12,12,0,13,13,0,14,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,9,9,0,0,0,8,8,0,0,0,9,9,0,0,0,12,12,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,5,5,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,5,5,0,0,0,7,7,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,5,5,0,0,0,7,7,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,11,0,0,0,9,9,0,0,0,10,10,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,7,7,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,8,8,0,0,0,10,11,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,7,7,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,7,8,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,9,9,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,9,9,0,0,0,10,10,0,0,0,12,12,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,5,16,9,9,13,18,21,4,2,21,6,6,10,15,21,16,19,6,5,7,10,13,16,8,6,5,4,4,8,13,16,8,5,6,4,4,7,12,15,13,10,9,7,7,9,13,16,18,15,13,12,9,7,10,14,21,18,13,13,7,5,8,12,2,0,0,0,64,0,0,0,192,58,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,11,7,0,0,0,0,0,0,0,0,0,176,11,7,0,0,0,0,0,0,0,0,0,216,11,7,0,0,12,7,0,0,0,0,0,0,0,0,0,40,12,7,0,80,12,7,0,0,0,0,0,0,0,0,0,120,12,7,0,160,12,7,0,0,0,0,0,0,0,0,0,200,12,7,0,240,12,7,0,160,12,7,0,0,0,0,0,24,13,7,0,64,13,7,0,160,8,7,0,200,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,72,11,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,64,11,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,8,7,0,80,8,7,0,0,0,0,0,0,0,0,0,120,8,7,0,160,8,7,0,200,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,88,10,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,8,11,7,0,0,0,0,0,2,0,0,0,25,0,0,0,32,10,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,10,7,0,0,0,0,0,2,0,0,0,9,0,0,0,0,10,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,16,10,7,0,0,0,0,0,1,0,0,0,25,0,0,0,120,9,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,152,9,7,0,0,0,0,0,1,0,0,0,25,0,0,0,240,8,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,16,9,7,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,4,4,5,5,5,4,5,4,5,5,5,5,6,5,6,5,6,5,6,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,8,8,8,8,9,9,10,10,10,10,4,6,5,8,7,9,9,9,9,10,9,11,9,4,5,6,7,8,9,9,9,9,9,10,9,10,8,9,8,9,8,10,9,11,9,12,10,12,10,8,8,9,8,9,9,10,9,11,10,12,10,12,9,10,10,11,10,12,11,12,11,12,12,12,12,9,10,10,11,11,11,11,11,12,12,12,12,12,10,11,11,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,13,12,13,12,13,12,12,11,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,12,13,12,12,12,13,12,13,12,13,12,13,12,13,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,4,13,9,9,12,15,17,4,2,18,5,7,10,14,18,11,8,6,5,6,8,11,14,8,5,5,3,5,8,11,13,9,6,7,5,5,7,9,10,11,10,9,8,6,6,8,10,14,14,11,11,9,8,9,10,17,17,14,13,10,9,10,10,5,0,0,0,243,0,0,0,184,57,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,176,58,7,0,0,0,0,0,5,0,0,0,53,12,0,0,104,45,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,57,7,0,0,0,0,0,5,0,0,0,243,0,0,0,96,44,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,88,45,7,0,0,0,0,0,5,0,0,0,243,0,0,0,88,43,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,80,44,7,0,0,0,0,0,5,0,0,0,243,0,0,0,80,42,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,72,43,7,0,0,0,0,0,5,0,0,0,53,12,0,0,0,30,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,42,7,0,0,0,0,0,5,0,0,0,53,12,0,0,176,17,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,232,29,7,0,0,0,0,0,1,0,0,0,7,0,0,0,136,17,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,144,17,7,0,0,0,0,0,5,0,0,0,243,0,0,0,128,16,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,120,17,7,0,0,0,0,0,5,0,0,0,243,0,0,0,120,15,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,112,16,7,0,0,0,0,0,5,0,0,0,243,0,0,0,112,14,7,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,104,15,7,0,0,0,0,0,5,0,0,0,243,0,0,0,104,13,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,96,14,7,0,0,0,0,0,1,9,9,6,9,9,5,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,7,7,7,7,7,7,7,8,8,9,9,9,9,7,7,8,8,8,9,9,9,9,7,8,6,7,7,8,8,8,8,8,8,9,8,8,10,9,9,10,8,8,10,8,8,10,9,9,10,8,8,6,6,6,8,6,6,8,7,7,8,7,7,10,8,8,9,7,7,9,7,7,10,8,9,9,7,7,7,7,7,10,8,8,11,8,8,10,8,8,12,9,9,12,8,8,11,9,9,12,9,9,11,8,8,7,7,7,10,9,9,10,9,9,10,9,9,11,10,10,10,9,9,11,9,9,11,10,10,11,9,9,9,8,8,10,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,9,9,11,10,10,11,9,9,8,8,8,11,9,9,11,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,9,9,12,8,8,8,7,7,10,9,9,10,9,9,11,9,9,11,11,11,11,9,9,11,10,10,11,11,11,11,9,9,10,9,9,11,9,9,11,9,10,11,10,9,11,10,10,11,9,9,11,9,10,11,10,10,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,6,6,7,7,7,7,8,8,7,9,9,11,11,11,9,8,8,8,9,9,12,11,11,9,8,8,6,7,7,10,11,10,10,10,10,11,11,10,14,13,14,12,11,11,11,11,11,15,14,14,13,12,12,5,6,6,8,5,5,8,7,7,8,8,8,12,10,10,9,7,7,9,7,8,12,10,10,10,7,7,7,8,8,12,10,10,12,10,10,11,10,10,15,13,13,13,10,10,11,10,10,16,13,14,14,10,10,7,7,7,12,11,11,12,11,11,11,11,11,16,15,15,14,12,12,12,11,11,16,15,16,14,12,12,10,9,9,14,11,11,13,11,11,12,11,11,16,14,14,14,11,11,12,11,11,17,15,15,14,11,11,7,8,8,12,11,11,12,10,10,12,10,10,16,14,13,14,10,10,12,10,10,17,14,14,14,10,10,8,7,7,13,11,11,12,11,11,12,11,11,16,15,14,14,12,12,12,11,11,16,15,14,15,12,12,11,10,10,13,11,11,13,12,11,13,11,11,17,14,14,14,11,11,13,11,11,17,14,15,14,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,14,14,6,7,7,14,14,7,7,7,15,15,0,12,12,15,15,0,13,13,15,15,7,8,8,15,15,10,10,10,16,16,9,8,8,15,15,0,13,13,18,17,0,13,13,16,16,8,8,8,15,15,12,11,11,16,16,9,8,8,15,15,0,13,13,18,18,0,13,13,16,16,0,14,14,17,17,0,20,0,19,20,0,12,12,16,16,0,16,16,20,22,0,14,14,16,16,0,14,14,17,17,0,20,22,20,19,0,13,13,15,16,0,17,18,0,21,0,15,15,16,16,5,7,7,13,13,8,9,9,14,14,10,10,10,14,14,0,20,22,18,18,0,22,21,18,17,9,10,10,14,14,12,12,12,17,17,12,10,10,14,14,0,0,20,17,17,0,22,21,17,18,11,10,10,14,14,14,13,13,18,18,12,11,11,14,14,0,22,21,18,19,0,20,0,17,17,0,22,0,18,18,0,0,0,0,0,0,20,20,17,17,0,22,0,22,21,0,21,0,19,18,0,22,22,18,18,0,0,0,0,0,0,21,0,17,17,0,22,0,20,20,0,0,0,19,18,6,6,6,12,12,8,6,6,10,10,8,6,6,13,12,0,10,10,11,11,0,11,11,13,13,8,7,7,13,13,11,9,9,13,13,10,6,6,12,12,0,10,10,14,14,0,10,10,13,13,9,7,7,13,13,12,10,10,13,13,10,6,6,12,12,0,11,11,15,15,0,10,10,13,13,0,12,12,15,14,0,19,20,16,17,0,9,9,13,13,0,14,14,20,21,0,12,11,13,12,0,12,12,15,14,0,20,19,17,17,0,10,10,12,13,0,15,15,22,21,0,12,12,12,13,0,10,10,12,12,0,11,11,15,15,0,11,11,15,15,0,15,15,22,22,0,16,17,0,0,0,11,11,15,15,0,14,14,18,18,0,11,11,16,16,0,16,15,0,21,0,16,16,0,0,0,12,12,15,15,0,14,14,19,19,0,11,11,15,15,0,15,15,22,0,0,16,16,22,0,0,16,16,0,21,0,0,0,0,0,0,15,15,19,20,0,18,18,0,0,0,17,17,0,0,0,17,17,0,0,0,0,0,0,0,0,16,15,22,21,0,20,20,0,0,0,18,18,0,0,0,10,10,12,12,0,10,10,11,11,0,11,11,12,12,0,11,11,9,9,0,13,12,12,12,0,11,11,13,13,0,13,13,12,12,0,10,10,12,12,0,13,12,13,13,0,12,12,12,12,0,11,11,13,13,0,13,13,12,12,0,10,10,12,12,0,13,13,14,13,0,12,12,12,12,0,14,13,13,14,0,20,21,15,15,0,11,11,12,12,0,15,16,20,20,0,12,13,10,10,0,13,13,14,13,0,20,20,15,15,0,11,11,12,12,0,16,17,21,21,0,13,13,11,11,6,7,7,16,15,11,9,9,14,15,12,9,9,16,16,0,13,13,15,15,0,14,14,17,17,10,9,9,16,16,14,12,12,16,16,12,9,9,15,15,0,13,13,17,18,0,13,13,15,15,12,10,10,17,17,15,12,12,17,17,13,9,9,16,16,0,13,13,18,19,0,14,14,16,16,0,15,15,18,18,0,0,0,20,19,0,12,12,17,16,0,16,17,0,21,0,14,15,16,16,0,15,15,18,18,0,0,22,19,21,0,13,13,16,16,0,18,17,22,22,0,15,15,16,16,7,7,7,13,13,11,10,10,15,15,12,10,10,14,14,0,21,0,18,17,0,21,22,18,18,11,10,10,15,15,14,12,12,17,17,14,11,11,14,14,0,21,20,18,18,0,22,21,18,17,12,11,10,16,16,16,14,14,17,19,14,11,11,15,15,0,0,22,19,19,0,21,22,18,18,0,21,0,18,19,0,0,0,22,0,0,22,21,17,17,0,0,0,20,22,0,0,21,18,18,0,0,0,19,20,0,0,0,0,0,0,0,21,17,17,0,0,0,22,21,0,0,0,19,19,10,9,9,14,13,13,10,10,12,12,13,10,10,14,14,0,13,13,12,12,0,15,14,16,15,13,10,10,14,14,15,12,12,14,14,15,10,10,14,14,0,14,14,15,15,0,14,13,14,14,13,10,10,15,15,17,13,13,15,15,14,10,10,14,14,0,14,14,15,16,0,14,14,15,15,0,15,15,16,16,0,21,22,17,18,0,12,12,14,14,0,17,17,20,21,0,14,14,14,14,0,15,15,16,16,0,21,22,18,18,0,13,13,14,14,0,18,18,22,0,0,15,15,14,14,0,11,11,13,13,0,12,12,16,15,0,12,12,16,16,0,16,16,0,0,0,16,17,0,22,0,12,12,16,16,0,14,14,17,18,0,11,11,16,16,0,15,15,0,21,0,16,16,21,22,0,12,12,16,16,0,15,15,19,19,0,12,12,17,16,0,16,16,21,22,0,16,16,0,0,0,17,17,0,22,0,0,0,0,0,0,15,15,19,20,0,17,19,0,0,0,17,17,22,0,0,17,17,0,22,0,0,0,0,0,0,15,15,21,0,0,19,20,0,0,0,19,18,22,0,0,11,12,14,14,0,11,11,14,14,0,12,12,15,15,0,13,13,13,13,0,14,14,16,16,0,12,12,15,15,0,14,14,16,15,0,11,11,15,15,0,13,13,16,16,0,13,13,15,15,0,12,12,15,15,0,15,14,16,16,0,11,11,15,15,0,14,14,17,17,0,13,13,15,15,0,15,15,16,16,0,0,0,18,18,0,12,12,14,14,0,16,16,22,0,0,14,14,15,15,0,15,15,16,17,0,21,22,18,18,0,13,13,15,14,0,18,17,22,0,0,14,14,15,15,8,8,8,16,15,12,10,10,16,15,12,10,10,16,16,0,14,14,16,17,0,14,14,17,16,12,10,10,17,18,14,12,12,18,18,14,10,10,16,16,0,14,14,18,18,0,14,14,16,16,12,9,9,16,16,17,13,13,16,17,14,9,9,15,15,0,14,14,18,19,0,13,13,15,15,0,15,15,18,19,0,0,0,22,21,0,13,13,16,16,0,16,16,22,0,0,15,15,16,16,0,14,14,18,17,0,0,0,20,0,0,13,13,16,16,0,18,18,0,0,0,15,15,16,16,8,7,7,13,13,12,10,10,15,15,12,10,10,14,14,0,22,22,19,18,0,0,0,18,18,12,10,10,15,15,14,13,13,17,17,14,11,11,15,15,0,19,20,18,18,0,22,21,17,18,13,11,11,15,15,16,13,13,18,18,14,11,11,14,15,0,22,21,20,19,0,22,21,17,17,0,0,22,19,18,0,0,0,0,0,0,22,20,17,17,0,0,0,21,20,0,0,0,19,17,0,0,22,19,19,0,0,0,0,0,0,22,20,18,17,0,0,0,0,0,0,0,0,18,18,0,10,10,14,14,0,11,11,14,14,0,11,11,15,15,0,14,14,14,14,0,15,15,16,16,0,11,11,16,16,0,13,13,16,16,0,11,11,15,15,0,14,14,16,16,0,14,14,15,15,0,11,11,15,15,0,13,13,15,15,0,10,10,15,15,0,15,15,17,17,0,14,14,14,14,0,16,16,16,16,0,0,22,19,19,0,13,13,14,14,0,17,17,0,0,0,15,15,14,14,0,16,16,17,17,0,0,22,18,18,0,13,13,14,14,0,21,18,0,0,0,15,15,14,14,0,11,11,13,13,0,12,12,15,15,0,12,12,16,15,0,16,16,0,0,0,17,17,22,22,0,12,12,16,16,0,14,14,18,18,0,11,12,16,16,0,15,16,0,21,0,16,16,22,21,0,12,12,16,16,0,15,15,19,20,0,11,12,16,16,0,15,15,20,22,0,16,16,0,22,0,17,17,22,0,0,0,0,0,0,0,15,15,21,22,0,19,18,0,0,0,17,17,0,0,0,17,17,0,22,0,0,0,0,0,0,16,15,22,0,0,19,19,0,0,0,17,18,0,0,0,12,12,15,15,0,12,12,15,15,0,12,12,15,15,0,13,13,14,14,0,15,15,16,17,0,12,12,16,16,0,14,14,16,16,0,12,11,15,16,0,14,14,16,17,0,14,14,16,16,0,13,12,16,16,0,15,15,16,16,0,11,11,15,15,0,14,14,16,16,0,14,14,15,15,0,15,15,18,17,0,0,22,0,20,0,13,13,15,15,0,16,17,22,22,0,14,14,15,15,0,15,15,17,18,0,20,0,19,19,0,13,13,15,15,0,18,18,22,0,0,14,14,15,15,0,11,11,16,16,0,14,14,17,16,0,13,13,17,17,0,16,16,17,17,0,17,17,18,19,0,12,12,16,17,0,15,15,18,18,0,12,12,16,16,0,16,16,19,18,0,16,16,17,16,0,12,13,17,17,0,17,16,18,17,0,13,12,16,16,0,16,16,18,19,0,16,16,16,17,0,16,16,18,18,0,22,0,22,22,0,13,13,16,16,0,19,18,22,20,0,16,15,16,16,0,16,17,18,18,0,0,0,22,20,0,14,14,16,16,0,19,19,0,0,0,16,16,16,16,0,9,9,13,13,0,13,13,15,15,0,14,14,15,15,0,0,22,17,18,0,22,0,18,19,0,12,12,15,15,0,15,16,17,17,0,14,14,14,14,0,22,0,18,18,0,21,22,17,17,0,13,13,15,15,0,17,17,17,18,0,14,14,15,15,0,22,21,21,19,0,20,21,17,17,0,21,21,19,18,0,0,0,0,0,0,21,21,17,17,0,0,0,22,22,0,0,22,19,18,0,0,21,19,18,0,0,0,0,22,0,19,20,17,17,0,0,0,0,22,0,0,0,19,18,0,19,19,15,16,0,21,19,16,17,0,0,21,17,17,0,0,22,17,17,0,22,22,18,19,0,20,20,16,16,0,0,22,18,18,0,20,19,16,17,0,22,21,20,19,0,0,21,17,17,0,21,20,17,17,0,0,0,18,18,0,19,19,17,16,0,22,0,19,19,0,21,22,17,18,0,0,22,19,18,0,0,0,19,20,0,19,19,16,16,0,22,22,22,0,0,20,22,16,16,0,22,20,18,19,0,0,0,20,19,0,20,20,16,16,0,0,0,0,0,0,22,20,17,16,0,11,11,13,13,0,14,13,15,15,0,13,13,16,15,0,18,17,21,0,0,18,18,21,0,0,12,12,15,15,0,15,16,17,18,0,12,12,15,15,0,17,17,22,20,0,17,18,22,0,0,12,12,17,16,0,16,17,19,19,0,13,13,16,16,0,17,17,0,22,0,17,17,0,21,0,18,18,20,22,0,0,0,0,0,0,15,15,21,20,0,20,19,0,0,0,18,18,22,0,0,17,17,22,0,0,0,0,0,0,0,15,16,20,22,0,20,21,0,0,0,19,18,0,0,0,15,15,19,19,0,17,16,20,20,0,16,17,20,21,0,18,17,0,0,0,19,19,0,0,0,15,15,21,19,0,19,19,0,0,0,15,15,22,22,0,18,18,0,22,0,17,18,22,21,0,15,15,20,19,0,19,19,0,0,0,15,15,20,22,0,18,19,20,0,0,18,17,21,21,0,18,18,19,22,0,0,0,0,0,0,15,15,20,19,0,19,19,0,0,0,18,18,21,22,0,18,18,22,0,0,0,0,0,0,0,15,15,19,20,0,21,21,0,0,0,17,17,20,20,0,12,12,17,17,0,14,14,16,17,0,13,14,17,17,0,16,16,17,17,0,17,17,17,19,0,13,13,17,17,0,16,16,18,18,0,13,13,16,16,0,16,16,18,18,0,16,16,17,17,0,13,13,17,17,0,17,17,18,17,0,12,12,15,16,0,17,18,19,20,0,16,16,16,16,0,17,16,18,19,0,0,22,21,22,0,14,14,16,16,0,19,19,0,0,0,16,16,16,16,0,16,16,18,17,0,0,22,21,21,0,14,14,16,16,0,22,20,22,0,0,16,16,15,15,0,9,9,13,13,0,14,14,15,15,0,14,14,14,14,0,22,22,18,18,0,0,22,18,18,0,12,12,15,15,0,16,16,18,17,0,14,14,14,14,0,20,21,18,18,0,22,21,17,17,0,13,13,15,15,0,17,17,18,18,0,14,14,14,14,0,0,21,18,19,0,0,22,17,17,0,22,22,19,18,0,0,0,0,0,0,19,21,17,17,0,0,0,22,20,0,0,21,18,19,0,0,22,18,18,0,0,0,0,22,0,20,22,17,17,0,0,0,20,22,0,0,0,18,18,0,19,21,16,16,0,20,22,16,17,0,20,0,17,17,0,22,0,18,17,0,21,0,18,19,0,20,20,17,17,0,22,0,18,18,0,21,20,17,17,0,0,20,20,19,0,0,21,18,17,0,21,21,17,17,0,22,0,18,17,0,19,19,17,17,0,0,22,20,21,0,0,21,17,17,0,22,0,18,18,0,0,0,20,22,0,20,19,16,16,0,0,0,0,0,0,22,22,17,17,0,22,0,18,19,0,0,0,21,20,0,19,21,16,17,0,0,0,0,0,0,22,22,17,16,0,11,11,13,13,0,13,13,15,15,0,13,13,15,15,0,17,17,22,21,0,18,18,22,0,0,12,13,16,15,0,15,16,18,18,0,13,13,16,16,0,17,17,0,22,0,17,17,22,22,0,13,13,16,16,0,16,16,19,18,0,13,13,16,16,0,18,17,0,20,0,18,17,20,0,0,17,17,21,0,0,0,0,0,0,0,15,15,21,22,0,19,20,0,0,0,18,18,0,0,0,18,17,0,0,0,0,0,0,0,0,16,16,22,22,0,20,20,0,0,0,21,19,0,0,0,15,15,20,19,0,16,16,22,20,0,17,17,0,22,0,18,18,0,22,0,19,17,0,0,0,15,16,22,20,0,18,19,0,0,0,16,16,22,20,0,18,18,0,22,0,18,18,22,0,0,16,16,21,20,0,19,20,0,22,0,16,16,0,22,0,18,18,0,22,0,18,18,0,21,0,19,18,0,22,0,0,0,0,0,0,16,16,21,20,0,20,0,0,0,0,18,18,21,0,0,18,18,0,0,0,0,0,0,0,0,16,16,21,19,0,0,0,0,0,0,18,18,0,21,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,5,8,8,12,10,10,12,12,12,10,10,12,12,13,11,11,12,12,13,12,12,12,12,13,10,10,13,13,13,13,13,13,13,13,10,10,13,13,13,11,11,13,13,14,13,13,12,12,13,10,10,13,13,13,13,13,13,13,13,10,10,12,12,13,11,11,13,13,13,13,13,12,12,13,12,12,13,13,13,13,13,13,13,14,11,11,12,12,14,12,12,13,12,14,14,14,12,12,13,14,14,13,13,14,13,13,13,13,14,14,14,12,12,14,13,13,13,13,14,14,14,12,12,12,8,8,11,11,12,12,12,11,11,12,11,11,10,10,13,12,12,10,10,13,12,12,10,10,13,12,12,12,12,14,12,12,12,12,13,13,13,11,11,14,12,12,11,11,14,12,12,12,12,14,12,12,12,12,13,12,12,12,12,13,13,13,11,11,14,12,12,11,11,14,12,12,12,12,14,13,13,12,12,14,12,12,12,11,14,13,13,11,11,14,13,12,11,11,14,13,13,11,11,14,13,13,12,12,14,12,12,12,12,15,13,13,12,12,14,12,12,11,11,14,13,13,11,11,12,9,9,10,10,12,7,7,11,11,12,9,9,12,12,13,10,10,10,10,14,14,14,11,11,13,9,9,12,12,14,14,14,12,12,13,8,8,11,11,14,9,9,12,12,14,14,14,11,11,13,9,9,12,12,14,14,14,12,12,14,8,8,11,11,14,9,9,12,12,14,14,14,11,11,14,10,10,12,12,14,14,14,13,13,14,9,9,11,11,14,10,10,12,12,14,14,14,11,11,14,14,15,12,12,15],"i8",N3,x.GLOBAL_BASE+456540),E3([14,14,14,14,15,14,14,11,11,14,14,14,12,12,14,14,14,11,11,14,11,11,10,10,14,10,10,10,10,14,10,10,10,10,15,11,11,9,9,14,12,12,9,9,15,11,11,11,11,15,13,13,11,11,15,10,10,10,10,15,11,11,10,10,15,13,13,11,11,15,11,11,11,11,15,13,13,11,11,15,10,10,10,10,15,11,11,10,10,15,13,13,11,11,15,12,12,11,11,15,13,13,11,11,15,11,11,10,10,15,12,12,10,10,15,13,13,10,10,15,14,14,11,11,15,13,13,11,11,15,14,14,10,11,15,13,13,10,10,15,13,14,10,10,14,13,13,10,10,14,13,13,10,10,14,13,13,10,10,14,13,13,9,9,14,14,14,9,9,15,14,14,11,11,15,14,14,10,10,15,14,14,10,10,15,14,14,11,11,15,14,14,10,10,15,14,14,11,11,15,14,14,10,10,14,14,14,10,10,15,14,14,10,10,14,14,14,10,10,15,14,14,11,11,15,14,14,11,11,14,14,14,10,10,15,14,14,10,10,14,14,14,9,9,15,15,15,11,11,15,14,14,12,12,15,15,14,10,10,15,14,14,10,10,14,15,15,9,9,14,10,10,12,12,17,9,9,12,12,17,10,10,13,13,17,11,11,12,12,18,14,14,12,12,17,10,10,13,13,17,14,14,12,12,17,9,9,12,12,17,11,11,12,12,17,14,14,12,12,18,10,10,13,13,18,14,14,13,13,18,9,9,12,12,18,10,10,13,13,18,14,14,12,12,18,11,11,13,13,18,14,14,13,13,18,10,10,12,12,17,11,11,12,12,17,14,14,12,12,18,15,15,13,13,18,14,14,14,14,18,15,15,12,12,18,14,14,12,12,18,15,15,12,12,13,7,7,11,11,14,15,15,11,11,14,15,15,12,12,14,15,15,11,11,15,15,15,11,11,14,15,15,12,12,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,14,15,15,12,12,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,15,15,15,12,12,14,15,15,12,12,14,15,14,12,12,14,15,15,11,11,15,14,14,12,12,15,15,15,12,12,15,16,16,12,12,15,15,15,12,12,15,15,15,12,12,15,15,15,12,12,13,13,13,11,10,14,14,15,11,11,14,14,14,12,12,15,14,14,10,10,15,15,15,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,15,15,12,12,15,15,15,11,11,14,15,15,12,12,14,14,14,12,12,14,15,15,11,11,14,15,15,12,12,15,15,15,11,11,15,15,15,12,12,15,14,14,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,10,10,15,15,16,12,12,15,15,15,14,14,15,15,15,11,11,15,15,15,12,12,15,15,15,11,11,14,11,11,10,10,15,9,9,12,12,15,10,10,12,12,15,11,11,11,11,15,14,14,12,12,15,10,10,13,13,15,14,14,12,12,15,9,9,12,12,15,10,10,13,13,15,13,13,12,11,15,10,10,12,12,15,14,14,12,12,15,9,9,11,11,15,11,11,12,12,15,13,13,11,11,15,11,11,13,13,15,13,14,13,14,15,11,11,11,11,15,11,11,12,12,15,14,14,11,11,15,14,14,13,13,15,14,14,20,20,15,14,14,12,12,15,14,14,12,12,15,14,14,11,11,14,13,13,10,10,14,13,13,12,12,14,14,13,12,12,15,14,14,12,12,15,14,14,11,11,15,14,14,12,12,15,14,14,13,13,15,14,14,12,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,13,13,15,14,14,12,11,15,14,14,12,12,15,14,14,13,13,15,14,14,13,13,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,15,15,15,13,13,15,15,15,13,13,15,14,14,13,13,15,15,15,13,13,15,14,15,12,12,15,15,15,13,13,14,10,10,12,13,17,9,9,12,12,17,10,10,13,13,17,11,11,12,12,18,14,14,12,12,18,10,10,13,13,18,14,14,12,12,17,9,9,12,12,18,10,11,13,13,18,14,14,12,12,17,10,10,12,12,17,14,14,12,12,17,9,9,12,12,17,11,11,12,12,17,14,14,12,12,18,11,11,12,12,18,14,14,13,13,18,11,11,12,12,18,11,11,12,12,18,14,14,12,12,18,15,15,12,12,18,14,14,13,13,18,15,15,12,12,17,14,14,12,12,17,15,15,12,12,13,7,7,11,11,14,15,15,11,11,14,15,15,11,11,14,15,14,12,12,15,15,15,12,11,14,15,15,12,12,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,13,13,14,15,15,11,11,14,15,15,13,12,14,15,15,11,11,14,15,15,11,11,15,15,15,13,13,14,15,15,12,12,15,15,15,12,12,15,15,15,11,11,15,15,15,11,11,15,15,15,12,12,15,15,15,13,13,15,16,16,12,12,15,15,15,12,13,15,15,15,12,12,15,15,15,12,12,13,13,13,11,11,14,14,14,11,11,14,14,14,12,12,14,14,14,10,10,15,14,14,11,11,14,15,15,12,12,14,14,14,12,12,14,15,15,11,11,14,15,14,12,12,15,14,14,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,14,14,12,12,15,15,14,11,11,15,15,15,12,12,15,14,14,12,12,14,15,15,11,11,14,15,14,11,11,15,15,15,10,10,15,15,15,12,12,15,14,14,14,13,15,15,15,11,11,15,15,15,11,11,15,15,15,10,10,14,11,11,10,10,15,9,9,12,12,15,10,10,12,12,15,11,11,11,11,15,14,14,12,12,15,10,10,13,13,15,13,13,12,12,15,9,9,12,12,15,11,11,13,13,15,14,14,12,12,15,10,10,13,13,15,13,14,12,12,15,9,9,12,12,15,10,10,13,13,15,13,13,11,11,15,11,11,13,13,15,14,14,13,13,15,10,10,11,11,15,11,11,12,12,15,14,14,11,11,15,14,14,13,13,15,14,14,21,20,15,14,14,11,11,15,14,14,12,12,15,14,14,11,11,14,13,13,10,10,14,13,13,11,11,15,14,14,12,12,15,14,14,12,12,14,14,14,12,12,15,14,14,12,12,15,14,14,13,13,14,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,13,13,14,14,14,11,11,15,14,14,11,11,14,14,14,13,13,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,14,14,14,13,13,15,15,15,13,13,16,14,14,12,13,15,15,15,13,13,15,14,14,12,12,15,15,15,13,13,15,11,11,13,12,18,10,10,12,12,17,11,11,12,12,18,12,12,11,11,18,14,14,12,12,18,11,11,13,13,17,14,14,12,12,18,10,10,12,12,18,12,12,12,12,18,14,15,12,12,18,11,11,13,13,18,14,14,12,12,17,10,10,12,12,18,11,11,12,12,18,15,14,12,12,17,12,12,12,12,17,14,14,12,12,17,11,11,11,11,17,12,12,12,11,17,15,15,11,11,18,15,15,12,12,18,14,15,13,13,18,15,15,11,11,17,15,15,12,12,18,15,15,11,11,14,9,9,11,11,14,15,15,11,11,15,15,15,11,11,15,15,15,12,11,15,15,15,12,12,15,15,15,11,11,15,15,15,13,13,14,15,15,11,11,15,15,15,11,11,15,15,15,13,13,15,15,15,11,11,15,15,15,13,13,15,15,15,11,11,15,15,15,11,11,15,15,15,13,13,15,15,15,12,12,15,15,15,13,13,15,15,14,11,11,15,15,15,12,12,15,15,15,12,12,16,15,15,13,13,15,16,16,13,13,16,15,15,12,12,15,15,15,13,12,15,15,15,12,12,13,12,12,11,11,14,14,14,11,11,14,14,14,12,12,15,14,14,11,11,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,14,15,15,11,11,15,14,14,12,12,15,14,14,11,11,15,14,14,12,12,15,14,14,12,12,14,15,15,11,11,15,14,14,12,12,15,14,14,11,11,15,15,15,12,12,15,14,14,12,12,15,15,15,11,11,15,14,14,11,11,15,14,15,11,11,15,15,15,12,12,15,14,14,13,13,16,15,15,11,11,15,14,14,12,12,15,15,15,11,11,14,11,11,9,9,15,10,10,12,12,14,11,11,12,12,15,12,12,12,12,15,14,14,13,13,15,11,11,13,13,15,14,14,13,13,15,10,10,12,12,15,12,12,13,13,15,14,14,13,13,15,11,11,12,12,15,14,14,13,13,14,10,10,12,12,15,12,12,13,13,15,14,14,12,12,15,12,12,13,13,15,14,14,15,15,15,11,11,12,12,15,12,12,12,13,15,14,14,12,12,15,15,15,14,14,15,14,14,20,20,15,14,14,12,12,15,14,14,13,13,15,14,14,12,12,14,13,13,10,10,14,13,13,11,11,14,13,13,12,12,14,14,14,12,12,15,14,14,13,13,15,14,14,12,12,14,14,14,14,14,14,14,14,11,11,15,14,14,12,12,15,14,14,14,14,15,14,14,12,12,14,14,14,14,14,14,14,14,11,11,15,14,14,12,12,14,14,14,14,14,15,14,14,12,12,15,14,14,13,13,15,14,14,12,12,15,14,14,12,12,14,14,14,14,13,15,15,15,14,14,15,14,14,13,13,15,15,15,14,14,15,14,14,13,13,15,15,15,13,13,14,13,13,13,13,18,15,15,12,12,18,15,15,13,12,18,15,16,11,11,18,16,17,12,12,18,15,15,13,13,18,17,17,12,12,18,15,15,12,12,17,15,15,12,12,18,17,17,12,12,18,15,15,13,13,18,16,17,12,12,17,15,15,12,12,18,15,15,12,12,18,16,17,11,12,18,16,16,12,12,17,16,17,12,12,18,15,15,11,11,18,15,15,12,12,18,17,17,11,11,17,17,17,12,12,18,16,16,13,13,18,17,17,11,11,18,16,16,12,12,18,17,17,11,11,15,14,14,11,11,16,15,15,11,11,16,15,15,12,12,16,15,15,12,12,17,15,15,14,13,16,15,15,12,12,17,15,15,14,14,16,15,15,11,11,16,15,15,12,12,18,15,15,13,13,16,15,15,11,11,17,15,15,14,14,16,15,15,11,11,16,15,15,12,12,17,15,15,13,13,16,15,15,12,12,17,16,15,14,14,16,14,15,12,12,16,15,15,12,12,18,15,15,13,13,17,15,15,14,14,17,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,15,12,13,11,11,15,14,14,12,12,16,14,14,12,12,16,14,14,12,12,16,14,14,12,12,16,14,14,13,12,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,17,14,14,12,12,16,14,14,12,12,17,14,14,13,13,15,15,15,12,12,16,14,14,12,12,17,14,14,12,12,17,15,15,12,12,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,17,15,15,12,12,18,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,17,15,15,12,12,14,15,15,9,9,15,15,15,12,12,15,15,15,13,13,15,15,15,14,14,15,15,15,19,19,15,15,16,13,13,15,15,16,19,20,15,15,15,13,12,15,16,16,14,14,15,15,15,19,19,15,15,15,13,13,15,16,15,20,19,14,15,15,13,13,15,15,15,14,14,15,15,15,19,19,15,15,15,14,14,15,16,16,19,20,15,15,15,14,14,15,15,15,14,14,15,15,15,19,19,15,15,15,20,19,15,16,16,20,19,15,15,15,19,19,15,16,16,20,20,15,15,15,19,20,14,13,13,10,10,14,14,14,11,11,14,14,14,12,12,15,14,14,13,13,15,14,14,19,20,15,14,14,12,12,14,14,14,20,19,14,14,14,11,11,15,14,14,12,12,15,14,14,20,20,15,14,14,12,12,14,14,14,20,19,14,14,14,11,11,15,14,14,12,12,15,14,14,19,20,15,14,14,13,13,15,14,14,22,19,15,15,14,12,12,15,14,14,13,13,14,15,15,22,20,15,15,15,20,20,15,14,14,21,20,15,15,15,20,21,15,14,14,20,20,14,15,15,20,20,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,7,7,7,7,7,7,7,8,8,10,11,11,9,8,8,8,8,8,11,11,11,10,8,8,5,7,7,9,11,11,10,11,11,10,11,11,12,13,14,11,12,12,10,11,11,13,14,14,12,12,12,5,6,6,8,6,6,8,7,7,8,7,7,11,10,10,10,7,7,9,7,7,12,11,11,11,7,7,7,7,7,11,10,10,12,10,10,11,10,10,15,13,13,13,10,10,12,11,11,15,13,13,14,11,11,7,7,7,11,11,11,12,11,11,12,11,11,14,14,14,14,12,12,12,12,12,16,15,15,14,12,12,0,10,10,0,11,11,0,11,12,0,11,11,0,14,14,0,11,11,0,12,12,0,15,15,0,11,11,8,8,8,12,10,10,12,10,10,13,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,13,11,11,12,11,11,15,14,14,14,12,12,13,12,12,15,14,14,15,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,13,13,0,14,15,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,0,8,8,0,8,8,0,9,9,0,10,10,0,8,8,0,9,9,0,10,10,0,8,8,0,7,7,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,7,7,0,6,6,0,7,7,0,7,7,0,10,10,0,6,6,0,7,7,0,10,10,0,6,5,0,8,8,0,7,7,0,8,8,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,7,7,0,6,6,0,9,10,0,10,10,0,10,10,0,11,11,0,9,9,0,10,10,0,11,11,0,9,9,0,8,8,0,8,8,0,8,8,0,9,9,0,9,9,0,8,8,0,8,8,0,9,9,0,7,7,0,8,8,0,7,7,0,7,7,0,8,8,0,9,9,0,7,7,0,7,7,0,9,9,0,6,6,0,6,6,0,10,10,0,10,10,0,10,10,0,12,12,0,9,9,0,10,10,0,12,12,0,9,9,0,8,8,0,7,7,0,8,8,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,7,7,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,5,8,8,0,8,8,6,9,9,8,10,10,0,8,8,0,9,9,0,12,12,0,8,8,4,7,7,6,10,10,0,12,12,7,11,11,9,12,12,0,12,12,0,13,13,0,15,15,0,12,12,0,7,7,0,7,7,0,8,8,0,8,8,0,10,10,0,7,7,0,8,8,0,11,11,0,7,7,5,7,7,9,9,9,0,11,10,9,9,9,11,12,12,0,10,10,0,11,11,0,13,13,0,11,11,6,7,7,9,10,10,0,12,12,10,11,11,11,12,12,0,12,12,0,13,13,0,15,15,0,12,12,0,10,10,0,11,11,0,11,11,0,12,12,0,13,13,0,11,11,0,12,12,0,15,15,0,11,11,0,8,8,0,10,10,0,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,11,11,0,7,7,0,10,10,0,12,12,0,10,10,0,12,13,0,12,12,0,13,13,0,14,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,7,7,0,0,0,8,8,0,0,0,8,8,0,0,0,11,11,0,0,0,0,0,0,0,0,10,9,0,0,0,0,0,0,0,0,9,9,0,0,0,10,11,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,5,5,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,5,5,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,5,6,0,0,0,7,7,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,11,0,0,0,9,9,0,0,0,10,10,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,11,12,0,0,0,0,0,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,7,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,9,9,0,0,0,10,10,0,0,0,11,12,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,8,8,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,9,9,0,0,0,10,10,0,0,0,12,12,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,5,16,9,9,12,17,18,4,2,18,6,5,9,13,15,10,7,7,6,7,9,13,13,8,5,6,5,5,7,11,12,8,4,7,4,3,6,10,12,11,8,9,7,6,8,11,12,15,13,13,11,9,7,10,12,16,12,16,12,6,5,8,11,2,0,0,0,64,0,0,0,144,111,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,64,7,0,0,0,0,0,0,0,0,0,128,64,7,0,0,0,0,0,0,0,0,0,168,64,7,0,208,64,7,0,0,0,0,0,0,0,0,0,248,64,7,0,32,65,7,0,0,0,0,0,0,0,0,0,72,65,7,0,112,65,7,0,0,0,0,0,0,0,0,0,152,65,7,0,192,65,7,0,112,65,7,0,0,0,0,0,232,65,7,0,16,66,7,0,112,61,7,0,152,61,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,24,64,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,16,64,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,60,7,0,32,61,7,0,0,0,0,0,0,0,0,0,72,61,7,0,112,61,7,0,152,61,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,40,63,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,216,63,7,0,0,0,0,0,2,0,0,0,25,0,0,0,240,62,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,63,7,0,0,0,0,0,2,0,0,0,9,0,0,0,208,62,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,224,62,7,0,0,0,0,0,1,0,0,0,25,0,0,0,72,62,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,104,62,7,0,0,0,0,0,1,0,0,0,25,0,0,0,192,61,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,224,61,7,0,0,0,0,0,3,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,6,5,4,5,5,5,6,5,5,6,6,6,5,6,5,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,8,8,9,9,10,10,11,11,4,6,5,8,7,9,8,10,9,11,10,11,11,4,5,6,7,8,8,9,9,10,10,10,10,11,8,9,8,10,8,10,9,11,10,11,11,11,11,8,8,9,8,10,9,10,10,11,11,11,11,11,9,10,10,11,11,11,11,11,11,12,11,12,11,9,10,10,10,11,11,11,11,11,11,12,11,12,10,11,11,12,11,12,12,12,12,12,12,12,12,10,11,11,11,11,12,12,12,13,12,12,12,12,11,12,12,12,12,13,13,12,12,12,12,12,12,11,12,12,12,12,13,13,12,13,12,12,12,12,12,13,13,13,13,13,13,12,13,12,13,12,12,12,13,13,13,13,13,13,13,12,13,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,4,9,8,8,10,13,16,4,2,9,5,7,10,14,18,9,7,6,5,7,9,12,16,7,5,5,3,5,8,11,13,8,7,7,5,5,7,9,11,10,10,9,8,6,6,8,10,13,14,13,11,9,8,9,10,17,18,16,14,11,10,10,10,5,0,0,0,243,0,0,0,136,110,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,128,111,7,0,0,0,0,0,5,0,0,0,53,12,0,0,56,98,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,112,110,7,0,0,0,0,0,5,0,0,0,243,0,0,0,48,97,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,40,98,7,0,0,0,0,0,5,0,0,0,243,0,0,0,40,96,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,32,97,7,0,0,0,0,0,5,0,0,0,243,0,0,0,32,95,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,24,96,7,0,0,0,0,0,5,0,0,0,53,12,0,0,208,82,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,8,95,7,0,0,0,0,0,5,0,0,0,53,12,0,0,128,70,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,184,82,7,0,0,0,0,0,1,0,0,0,7,0,0,0,88,70,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,96,70,7,0,0,0,0,0,5,0,0,0,243,0,0,0,80,69,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,72,70,7,0,0,0,0,0,5,0,0,0,243,0,0,0,72,68,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,64,69,7,0,0,0,0,0,5,0,0,0,243,0,0,0,64,67,7,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,56,68,7,0,0,0,0,0,5,0,0,0,243,0,0,0,56,66,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,48,67,7,0,0,0,0,0,1,9,9,6,9,9,5,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,7,7,7,7,7,7,7,8,8,9,9,9,8,7,7,8,8,8,9,9,9,9,8,8,6,7,7,9,8,8,9,7,7,9,8,8,10,8,8,10,8,8,10,8,8,10,8,9,10,8,8,7,6,6,8,6,6,9,6,6,9,7,7,10,8,8,9,6,6,9,7,7,10,9,8,9,7,7,7,7,7,11,8,8,11,9,9,10,9,9,12,9,9,12,8,8,11,9,9,12,9,9,12,8,8,8,7,7,10,9,9,10,9,9,10,9,9,11,10,11,11,9,9,11,9,9,11,11,11,11,9,9,10,8,8,11,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,9,9,12,10,10,11,9,9,8,8,8,11,9,9,12,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,9,10,12,8,8,9,7,7,11,9,9,11,10,10,11,9,9,11,11,11,11,9,9,11,10,10,12,11,11,11,9,10,10,9,9,11,9,9,11,10,10,11,10,10,11,11,11,11,9,9,11,9,10,11,11,11,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,7,7,7,8,8,7,8,8,7,9,9,10,11,11,9,8,8,7,8,9,11,11,11,9,8,8,6,7,7,10,10,10,10,10,10,10,10,10,14,14,14,12,11,11,10,11,11,15,14,14,13,11,11,6,6,6,8,5,5,8,7,7,8,7,7,11,10,10,9,7,7,9,7,7,12,10,10,10,7,7,6,8,7,12,10,10,12,10,10,11,10,10,15,14,13,13,10,10,11,10,10,16,14,14,14,10,10,7,7,7,12,11,11,12,11,11,11,11,11,16,14,14,13,12,12,11,11,11,17,15,15,14,12,12,10,9,9,13,11,11,13,11,11,12,11,11,16,14,13,14,11,11,12,11,11,17,15,14,14,11,11,7,8,8,12,11,11,12,10,10,12,10,10,16,13,14,13,10,10,11,10,10,17,14,14,14,10,10,7,7,7,12,11,11,12,11,11,12,11,11,15,14,15,14,12,12,12,11,11,17,15,15,14,12,12,10,10,9,13,11,11,13,11,11,13,11,11,16,14,14,14,11,11,13,11,11,16,15,15,15,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,14,14,6,7,7,14,14,7,7,7,15,15,0,13,13,16,16,0,13,13,15,15,7,8,8,15,15,9,10,10,17,16,9,8,8,15,15,0,13,13,18,17,0,13,13,16,16,8,8,8,15,15,12,11,11,16,17,9,8,8,14,14,0,13,13,18,17,0,13,13,16,15,0,14,14,18,17,0,20,22,18,20,0,12,12,16,16,0,16,16,22,20,0,14,14,16,16,0,14,14,17,17,0,22,22,22,19,0,12,13,16,16,0,17,17,0,0,0,15,15,16,16,5,7,7,13,13,9,9,9,15,14,10,10,10,14,14,0,21,21,18,17,0,21,22,18,17,9,10,10,14,14,12,12,12,17,17,12,10,10,14,14,0,19,21,18,17,0,20,22,18,18,11,10,10,14,14,14,13,13,18,17,12,11,11,14,14,0,22,19,17,18,0,20,0,18,17,0,22,21,17,17,0,0,0,0,0,0,20,22,17,17,0,22,0,21,19,0,22,0,18,18,0,0,22],"i8",N3,x.GLOBAL_BASE+466780),E3([18,19,0,0,0,0,0,0,19,21,17,17,0,0,0,20,20,0,0,0,18,18,6,6,6,13,12,8,6,6,11,11,8,6,6,13,13,0,9,9,11,11,0,11,11,14,14,9,7,7,13,13,11,9,9,13,13,10,6,6,13,13,0,10,10,14,14,0,10,10,13,13,9,7,7,13,14,13,9,9,13,13,10,6,6,13,12,0,11,11,15,15,0,10,10,13,13,0,12,12,15,15,0,19,0,17,17,0,9,9,13,13,0,13,14,19,20,0,11,11,13,13,0,11,11,14,14,0,19,20,17,18,0,10,10,13,13,0,15,15,21,19,0,12,12,13,13,0,10,10,12,13,0,11,11,15,15,0,11,11,15,15,0,15,15,22,0,0,16,17,22,0,0,11,11,15,15,0,14,14,18,17,0,11,11,15,16,0,15,15,22,21,0,16,16,0,20,0,12,12,16,15,0,15,14,19,19,0,11,11,16,16,0,15,15,21,0,0,16,15,0,0,0,16,16,22,21,0,0,0,0,0,0,15,15,20,20,0,18,18,0,0,0,16,17,0,0,0,17,17,0,22,0,0,0,0,0,0,15,15,21,22,0,20,18,0,0,0,18,17,22,0,0,10,10,12,11,0,10,10,10,10,0,11,11,12,12,0,11,11,9,9,0,13,13,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,13,12,13,13,0,12,12,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,13,13,13,14,0,12,12,12,12,0,13,14,14,14,0,20,21,15,15,0,12,11,12,12,0,15,16,20,22,0,13,12,11,11,0,13,13,14,13,0,20,0,16,15,0,12,12,12,12,0,16,16,22,21,0,13,13,12,12,6,7,7,16,16,11,9,9,15,15,12,9,9,16,16,0,13,13,14,14,0,14,14,16,17,10,9,9,16,16,14,12,12,16,16,12,9,9,15,15,0,13,13,18,18,0,13,13,15,16,12,10,10,17,18,15,12,12,17,17,13,9,9,16,16,0,13,13,17,18,0,14,14,16,16,0,15,15,18,18,0,22,0,20,20,0,12,12,16,16,0,16,16,20,22,0,14,14,16,16,0,15,14,18,18,0,0,22,19,21,0,13,13,16,17,0,17,17,22,22,0,15,15,16,16,7,7,7,14,14,11,10,10,15,15,12,10,10,15,14,0,22,0,18,18,0,0,21,17,18,11,10,10,15,15,14,12,12,17,17,14,11,11,15,15,0,22,20,18,18,0,0,20,18,17,12,10,10,16,16,17,14,14,19,18,14,11,11,15,15,0,21,22,19,19,0,21,22,18,18,0,22,0,19,21,0,0,0,0,0,0,22,22,18,17,0,0,0,21,20,0,22,22,20,19,0,0,22,20,20,0,0,0,0,0,0,20,21,17,17,0,0,22,21,21,0,0,0,18,18,10,9,9,14,14,13,10,10,13,13,13,10,11,14,14,0,13,13,12,12,0,15,15,16,16,13,10,10,15,15,15,12,12,14,14,15,10,10,14,15,0,14,14,16,15,0,14,14,15,15,13,10,10,15,15,18,13,13,15,15,15,10,10,14,15,0,14,14,16,16,0,14,14,15,15,0,15,15,16,16,0,22,0,18,18,0,12,13,14,14,0,17,17,22,0,0,14,14,14,14,0,15,15,16,16,0,22,0,18,17,0,13,13,14,14,0,19,18,21,22,0,15,15,14,14,0,11,11,13,13,0,12,12,16,16,0,12,12,16,16,0,15,16,21,0,0,16,17,0,22,0,12,12,16,16,0,14,14,17,18,0,11,11,16,16,0,15,15,21,22,0,16,16,0,0,0,12,12,16,16,0,15,15,0,19,0,12,12,16,17,0,16,16,22,0,0,16,16,0,22,0,17,17,0,22,0,0,0,0,0,0,15,15,20,19,0,18,18,0,0,0,17,18,0,0,0,17,17,0,0,0,0,0,0,0,0,15,15,0,22,0,20,18,0,0,0,18,18,22,22,0,11,11,14,14,0,12,12,14,14,0,12,12,15,15,0,13,13,14,14,0,14,14,17,16,0,12,12,16,16,0,14,14,16,16,0,11,11,15,15,0,13,13,16,16,0,13,13,15,15,0,12,12,15,15,0,15,14,16,16,0,11,11,15,15,0,14,14,17,17,0,13,13,15,15,0,15,15,17,17,0,0,0,19,18,0,13,12,15,15,0,16,16,0,0,0,14,14,15,15,0,14,14,16,17,0,22,0,18,18,0,13,13,15,15,0,17,17,0,0,0,14,14,15,15,8,8,8,16,16,12,10,10,16,16,13,9,9,16,16,0,14,14,17,17,0,14,14,17,16,12,10,10,18,17,14,11,11,18,18,14,9,10,16,16,0,13,13,18,19,0,14,13,16,16,12,9,9,16,16,17,13,13,17,17,14,9,9,15,15,0,14,14,19,20,0,13,13,15,15,0,15,15,18,19,0,0,22,22,22,0,13,13,17,17,0,16,16,19,21,0,14,14,16,16,0,14,14,18,18,0,0,0,0,0,0,13,13,16,16,0,18,18,0,0,0,15,15,16,16,8,7,7,14,14,12,10,10,15,15,13,10,10,15,14,0,22,0,18,18,0,22,0,18,18,12,10,10,16,15,15,12,12,17,17,14,11,11,15,15,0,20,21,19,18,0,0,0,17,18,13,11,11,15,15,16,13,13,18,18,15,11,11,14,14,0,22,21,19,19,0,21,22,18,18,0,22,22,20,18,0,0,0,0,0,0,22,19,17,17,0,0,0,22,21,0,0,22,19,17,0,0,22,19,19,0,0,0,0,0,0,22,21,18,17,0,0,0,22,0,0,0,0,19,19,0,10,10,14,14,0,11,11,15,14,0,11,11,15,15,0,14,14,15,14,0,15,15,16,16,0,11,11,16,16,0,13,13,16,16,0,11,11,15,15,0,14,14,17,16,0,14,14,15,15,0,11,11,16,16,0,14,13,15,15,0,11,11,15,15,0,15,15,17,17,0,14,14,15,14,0,16,16,17,17,0,0,22,18,18,0,13,13,15,15,0,17,17,22,0,0,15,15,15,14,0,15,16,16,17,0,0,22,18,19,0,13,13,15,15,0,20,18,21,0,0,15,15,14,14,0,11,11,13,13,0,12,12,16,16,0,12,12,16,15,0,15,16,22,22,0,17,17,0,0,0,12,12,16,16,0,14,14,18,18,0,11,11,16,16,0,15,16,22,20,0,16,16,0,22,0,12,12,16,16,0,15,15,18,20,0,11,11,16,16,0,15,15,0,0,0,16,16,0,0,0,17,17,22,0,0,0,0,0,0,0,15,15,0,21,0,18,18,0,0,0,17,16,0,0,0,17,17,22,22,0,0,0,0,0,0,15,15,21,0,0,20,22,0,0,0,18,18,0,0,0,12,12,15,15,0,12,12,15,15,0,12,12,16,16,0,13,13,15,15,0,15,15,17,17,0,13,12,16,16,0,14,14,16,16,0,12,11,16,16,0,14,14,17,17,0,14,14,16,16,0,12,12,16,16,0,15,15,17,16,0,11,11,15,16,0,14,14,17,17,0,14,14,16,16,0,15,15,18,18,0,0,0,22,19,0,13,13,15,16,0,16,17,0,0,0,14,14,16,16,0,15,15,18,17,0,0,0,20,20,0,13,13,16,15,0,17,17,22,22,0,14,14,15,15,0,11,11,16,16,0,13,13,16,17,0,13,13,17,18,0,16,16,17,17,0,17,17,18,18,0,12,12,17,17,0,16,15,18,18,0,12,12,16,16,0,16,16,18,18,0,15,15,17,17,0,12,12,17,17,0,16,16,19,18,0,12,12,16,17,0,16,16,19,19,0,15,16,16,17,0,16,16,19,17,0,0,0,20,22,0,13,13,16,16,0,19,18,21,0,0,15,15,16,16,0,16,16,18,18,0,0,0,22,21,0,14,14,16,16,0,21,19,21,22,0,16,16,16,16,0,9,9,14,14,0,13,13,15,15,0,14,14,15,15,0,0,20,18,19,0,0,22,18,18,0,12,12,15,15,0,15,15,17,18,0,14,13,14,14,0,20,0,18,18,0,21,0,18,17,0,13,13,15,16,0,17,17,18,18,0,14,14,15,15,0,22,22,20,19,0,20,21,18,18,0,20,22,19,19,0,0,0,0,0,0,20,20,17,17,0,0,22,22,21,0,22,0,18,18,0,20,22,19,19,0,0,0,0,0,0,21,21,17,18,0,0,0,21,20,0,0,22,19,18,0,18,18,15,15,0,22,21,17,16,0,0,22,17,17,0,20,22,18,18,0,0,22,20,20,0,21,19,16,16,0,21,21,18,18,0,19,19,17,17,0,0,22,19,19,0,22,20,17,17,0,21,19,16,16,0,22,22,19,18,0,19,20,16,16,0,22,21,19,21,0,21,22,17,18,0,21,20,18,18,0,0,0,19,20,0,20,19,16,16,0,22,22,0,0,0,21,21,17,16,0,22,20,19,18,0,0,0,20,20,0,20,19,16,16,0,0,0,0,0,0,21,22,17,17,0,11,11,13,13,0,13,13,15,16,0,13,13,16,16,0,17,18,21,0,0,17,18,0,0,0,12,12,15,16,0,15,15,19,18,0,12,12,16,16,0,17,17,22,0,0,17,17,0,22,0,12,12,17,16,0,16,16,19,20,0,12,12,16,16,0,17,17,0,0,0,17,17,0,21,0,17,16,22,0,0,0,0,0,0,0,15,15,20,22,0,20,18,0,0,0,18,18,0,0,0,17,17,21,0,0,0,0,0,0,0,15,15,21,22,0,19,20,22,0,0,19,18,0,0,0,14,14,18,18,0,16,16,22,20,0,16,16,22,19,0,17,17,20,22,0,19,19,0,0,0,15,15,20,0,0,18,21,0,20,0,15,15,21,20,0,18,17,0,0,0,17,17,0,22,0,15,15,19,19,0,19,18,0,0,0,15,15,20,0,0,18,18,22,22,0,17,17,0,20,0,18,18,0,0,0,0,22,0,0,0,15,15,19,20,0,20,19,0,0,0,17,17,20,21,0,17,18,20,22,0,0,0,0,22,0,15,15,20,20,0,22,20,0,0,0,17,18,20,0,0,12,12,17,16,0,14,14,17,17,0,13,13,17,17,0,16,16,18,18,0,17,16,17,17,0,13,13,17,17,0,15,16,18,18,0,13,13,16,16,0,16,16,18,18,0,16,16,17,16,0,13,13,16,16,0,17,17,18,17,0,12,12,15,16,0,17,17,19,19,0,16,16,16,16,0,16,17,19,18,0,0,0,21,22,0,14,14,16,16,0,18,18,0,22,0,16,16,16,16,0,16,16,18,17,0,0,0,21,20,0,14,14,16,16,0,21,22,22,0,0,16,16,16,16,0,9,9,14,13,0,13,14,15,16,0,14,13,15,14,0,22,0,18,18,0,21,0,17,18,0,13,13,15,15,0,15,16,18,17,0,14,14,15,14,0,20,22,18,18,0,22,21,17,17,0,13,13,15,15,0,17,17,19,19,0,14,14,14,14,0,0,22,18,18,0,0,22,17,17,0,0,22,19,20,0,0,0,0,0,0,21,20,17,16,0,0,0,21,22,0,0,0,18,19,0,0,0,18,18,0,0,0,0,0,0,22,0,17,17,0,0,0,20,22,0,0,0,18,19,0,18,19,16,16,0,22,20,17,17,0,22,22,17,18,0,22,22,18,17,0,0,22,18,19,0,20,20,17,18,0,0,22,19,18,0,22,22,17,17,0,22,0,19,19,0,0,22,18,18,0,20,22,17,17,0,0,22,18,18,0,19,20,17,17,0,22,0,20,19,0,22,21,17,17,0,0,0,18,18,0,0,0,22,19,0,20,0,17,17,0,22,0,0,22,0,0,20,17,18,0,22,0,19,19,0,0,0,0,19,0,19,21,17,17,0,0,0,0,0,0,20,21,17,16,0,11,11,13,13,0,13,13,16,16,0,13,13,15,16,0,17,17,21,22,0,17,18,0,0,0,12,12,16,16,0,15,15,18,18,0,13,13,16,16,0,17,16,21,21,0,17,17,0,0,0,13,13,16,16,0,16,16,19,18,0,13,13,16,16,0,17,17,0,22,0,17,18,20,22,0,17,18,0,0,0,0,0,0,0,0,15,15,20,0,0,18,19,0,0,0,17,17,0,0,0,18,17,22,0,0,0,0,0,0,0,15,16,21,20,0,20,20,0,0,0,18,19,0,0,0,15,15,22,22,0,17,16,20,22,0,17,17,20,22,0,18,18,0,21,0,19,18,0,0,0,16,16,20,20,0,19,19,22,0,0,15,16,21,22,0,18,19,22,0,0,17,18,0,0,0,16,16,22,0,0,19,19,0,21,0,15,16,20,0,0,18,18,0,22,0,18,17,0,0,0,18,18,0,0,0,0,0,0,0,0,16,16,22,21,0,20,21,0,0,0,17,18,22,0,0,18,18,0,0,0,0,0,0,0,0,16,16,20,19,0,22,21,0,0,0,18,18,22,22,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,8,8,11,9,9,12,12,11,10,10,12,12,12,10,10,11,11,12,12,12,12,12,12,11,11,13,13,12,12,12,13,13,12,10,10,12,12,12,11,11,13,13,12,13,13,13,13,12,11,11,13,13,12,12,12,13,13,12,10,10,12,12,12,11,11,13,13,12,13,13,12,12,12,11,11,13,13,12,13,13,13,13,12,11,11,12,12,12,11,11,12,12,12,13,13,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,12,12,12,13,13,13,13,12,13,13,12,12,11,8,8,10,10,12,11,11,11,11,12,10,10,10,10,13,11,11,10,10,13,11,11,10,10,13,12,12,12,12,13,11,11,11,11,13,12,12,11,11,13,12,12,11,11,13,12,12,12,11,13,12,12,12,12,13,11,11,11,11,13,12,12,11,11,13,11,12,11,11,13,12,12,11,11,14,12,12,11,11,13,11,11,11,11,14,12,12,11,11,13,11,12,10,10,14,12,12,11,11,14,12,12,11,11,14,11,11,11,11,14,12,12,11,11,13,12,12,11,11,14,12,12,11,11,11,8,8,10,10,12,7,7,10,10,12,9,9,11,11,13,9,9,9,9,13,13,13,10,10,13,9,9,12,12,13,13,13,12,12,13,9,8,11,11,13,10,10,12,12,14,13,13,11,11,13,9,9,11,11,13,13,13,12,12,13,9,9,10,10,13,10,10,11,11,13,13,13,10,10,14,10,10,11,11,14,14,14,12,12,13,9,9,10,10,13,10,10,11,11,14,13,14,10,10,14,14,14,11,12,14,14,14,14,14,14,13,13,10,10,13,14,14,11,11,14,14,14,10,10,14,9,9,9,9,14,9,9,9,9,14,10,10,9,9,14,10,10,8,8,14,11,11,8,8,15,11,11,10,10,15,12,12,10,10,15,10,10,10,10,15,11,11,10,10,15,13,13,10,10,15,11,11,10,10,15,12,12,10,10,15,10,10,10,10,15,11,11,10,10,15,13,13,10,10,15,11,11,10,10,15,12,12,10,10,15,11,11,9,9,15,11,11,9,9,15,13,13,9,9,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,13,12,9,9,15,13,13,9,9,14,12,12,9,9,14,13,13,9,9,14,13,13,9,9,14,13,13,7,7,14,13,13,8,8,15,14,14,10,10,15,14,14,10,10,15,14,14,10,10,15,14,14,10,10,15,14,14,9,9,15,14,14,10,10,15,14,14,10,10,14,14,14,9,9,15,14,14,10,10,14,14,14,9,9,15,14,14,10,10,15,14,14,10,10,14,14,14,9,9,14,14,14,9,9,14,14,14,8,8,15,14,14,10,10,15,14,14,11,11,15,14,14,9,9,15,14,14,9,9,14,14,14,8,8,13,9,9,12,12,17,11,11,12,12,17,12,12,12,12,17,12,12,11,11,18,15,15,12,12,17,12,12,12,12,17,14,15,13,13,17,12,12,12,12,17,13,13,12,13,17,15,15,12,12,18,13,13,13,13,18,15,15,13,13,18,12,12,12,12,18,13,13,13,13,18,15,15,12,12,18,13,13,12,12,18,15,15,13,13,18,13,13,12,12,17,13,13,12,12,17,15,15,12,12,18,15,15,13,13,18,15,15,13,14,18,15,16,12,12,18,15,15,12,12,18,16,16,12,12,13,8,8,10,10,14,15,14,11,11,14,15,15,12,12,15,14,14,12,11,15,15,15,12,12,15,15,15,12,12,15,15,15,13,13,15,15,15,12,12,15,15,15,13,13,15,15,15,13,13,15,15,15,13,13,15,15,16,13,13,15,15,15,12,12,15,15,15,13,13,15,15,15,13,13,15,15,15,13,13,15,15,15,13,13,15,15,14,12,12,15,15,15,12,12,16,15,14,12,12,16,15,15,13,13,16,16,16,13,13,16,15,15,12,12,15,15,15,13,13,15,15,15,12,12,13,12,12,10,10,14,14,14,11,11,15,14,14,12,12,15,14,14,11,11,15,14,14,11,11,15,15,15,13,13,15,14,14,13,13,15,15,15,12,12,15,14,15,13,13,16,15,15,12,12,15,15,15,13,13,16,14,14,13,13,15,15,15,12,12,15,15,15,13,13,16,15,15,12,12,16,15,15,12,12,16,14,14,13,13,15,15,15,11,11,15,15,15,12,12,16,15,15,11,11,16,15,15,13,13,16,14,15,14,14,16,15,15,12,12,16,15,14,12,12,16,15,15,12,12,14,10,10,9,9,14,11,11,12,12,14,12,12,13,13,14,12,12,12,12,15,14,14,13,13,15,13,13,14,14,15,14,14,15,15,15,12,12,13,13,15,13,13,14,14,15,14,14,13,13,15,13,13,13,14,15,14,14,15,15,15,12,12,13,13,15,13,13,14,14,15,14,14,13,13,15,13,13,14,14,15,14,14,15,15,15,13,13,12,12,15,13,13,13,13,15,14,14,13,12,15,15,15,14,15,15,15,14,20,20,15,14,14,13,13,15,14,14,13,13,15,14,14,13,13,14,12,12,9,9,14,14,14,12,12,14,13,13,12,13,14,14,14,12,12,15,14,14,12,12,15,14,14,14,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,15,15,15,14,14,15,14,14,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,15,15,15,15,14,15,15,15,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,14,15,15,14,14,15,15,15,14,14,15,14,14,14,14,15,15,15,14,14,15,14,14,13,14,15,15,15,14,14,13,10,10,12,12,17,11,11,12,12,17,12,12,12,12,17,12,12,11,11,17,15,15,12,11,18,13,13,13,13,18,15,15,13,13,17,12,12,12,12,18,13,13,13,13,17,15,15,12,12,17,12,12,12,12,17,15,15,13,13,17,12,12,12,12,17,13,13,12,12,17,15,15,12,12,18,14,13,12,12,18,15,15,13,13,18,13,13,12,12,18,13,13,12,12,18,16,16,12,12,18,16,16,12,12,18,15,15,13,13,18,16,16,12,12,17,15,15,12,12,17,16,16,12,12,13,8,8,10,10,14,14,15,12,12,14,15,15,12,12,15,14,14,12,12,15,15,14,12,12,15,15,15,13,13,15,15,15,13,13,15,15,15,12,12,16,15,15,13,13,16,15,15,13,13,15,15,15,12,12,15,15,15,14,14,15,15,15,12,12,15,15,15,13,13,16,15,15,13,13,15,15,15,13,13,16,15,15,13,13,15,15,14,12,12,15,15,15,12,12,16,14,15,13,13,16,15,15,13,13,15,16,15,13,13,16,15,14,13,13,16,15,15,13,13,16,15,15,13,13,13,12,12,11,11,14,14,14,11,11,14,14,14,12,12,15,14,14,11,11,16,14,14,11,11,15,15,15,12,13,16,14,14,13,13,15,15,15,12,12,15,14,14,13,13,16,15,15,12,12,15,15,15,12,12,15,14,14,13,13,15,15,15,12,12,15,14,14,12,12,16,15,15,12,12,16,15,15,12,12,16,14,14,13,13,15,15,15,11,11,15,15,14,12,12,16,15,15,11,11,16,15,15,12,12,16,14,14,13,13,16,15,15,11,11,16,14,14,12,12,16,15,15,11,11,14,10,10,9,9,14,11,11,12,12,14,12,12,13,14,14,12,12,12,12,14,14,14,13,13,15,13,13,14,14,15,14,14,15,15,15,12,12,13,13,15,13,13,14,14,15,15,15,14,14,15,13,13,14,14,15,15,15,15,15,15,12,12,13,13,15,13,13,14,14,15,14,14,13,13,15,13,13,14,14,15,14,14,15,15,15,12,12,13,13,15,13,13,13,13,14,14,14,13,13,15,15,15,14,15,15,15,15,21,19,15,14,14,13,13,15,14,14,14,14,14,14,14,13,13,14,12,12,9,9,14,14,14,12,12,14,14,13,13,13,14,14,14,12,12,14,14,14,12,12,15,14,14,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,15,15,15,15,15,15,14,14,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,14,15,15,15,15,15,14,15,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,14,15,15,14,14,15,15,15,14,14,15,14,14,14,14,15,15,15,15,15,15,14,14,14,13,14,15,15,14,14,13,10,10,12,12,18,12,12,12,12,17,12,12,12,12,18,13,13,11,11,18,15,14,11,11,17,13,13,13,13,18,15,15,12,12,18,12,12,12,12,17,13,13,12,12,18,15,15,12,12,18,13,13,13,12,18,15,15,13,13,18,13,13,12,12,18,13,13,12,12,18,15,15,12,12,17,13,13,12,12,17,15,15,12,12,17,12,12,11,11,17,13,13,11,11,17,15,15,11,11,18,16,16,12,12,18,15,15,13,13,18,15,15,11,11,17,15,15,12,12,18,15,15,11,11,13,8,8,10,10,14,14,14,11,11,15,15,15,12,12,15,14,14,11,11,16,14,14,12,12,15,15,15,12,12,15,15,15,13,13,15,15,15,12,12,15,15,15,12,12,16,15,15,13,13,15,15,15,12,12,15,15,15,13,13,16,15,15,12,12,15,15,15,12,12,16,15,15,13,13,16,15,15,12,12,15,15,15,13,13,15,14,14,12,12,15,15,15,12,12,16,15,14,12,12,16,15,15,13,13,16,16,16,13,13,16,14,15,13,13,15,15,15,13,13,16,15,15,12,12,13,12,12,10,10,14,14,14,11,11,15,14,14,12,12,15,14,14,11,11,16,14,14,11,11,15,14,15,12,12,15,14,14,13,13,15,15,15,12,12,15,14,14,12,12,15,14,15,12,12,15,15,15,12,12,16,14,14,13,13,15,15,15,11,12,16,14,14,12,12,16,15,15,12,12,15,15,15,12,12,16,14,14,12,12,15,15,15,11,11,15,14,14,11,12,15,15,14,11,11,16,15,15,12,12,16,14,14,13,13,16,15,15,11,11,16,14,14,12,12,16,15,15,11,11,13,10,10,8,8,14,12,12,12,12,14,12,12,13,13,14,12,12,12,12,14,14,14,13,13,15,13,13,14,14,15,15,14,15,15,15,13,13,13,13,15,13,13,14,14,15,14,15,14,14,15,13,13,13,13,15,15,15,15,15,15,12,12,13,12,15,13,13,14,14,15,14,14,13,13,15,13,13,14,13,15,15,15,16,16,15,13,13,12,12,15,13,13,13,13,14,14,14,12,12,15,15,15,14,14,15,15,15,20,20,15,14,14,13,13,15,15,14,14,14,15,14,14,13,13,13,12,12,9,9,14,13,13,12,12,14,13,13,12,12,14,14,14,12,12,14,14,14,13,13,15,14,14,13,13,15,14,14,14,14,15,15,14,12,12,15,14,14,13,13,15,14,15,14,15,15,14,14,13,13,15,14,14,14,14,15,14,14,12,12,15,14,14,13,13,14,15,14,15,14,15,14,14,13,13,15,14,14,14,14,15,14,14,12,12,15,14,14,13,13,15,15,15,14,14,15,15,15,14,14,16,14,14,14,14,15,15,15,14,14,15,14,14,14,14,14,15,15,14,14,13,13,13,12,13,17,15,15,12,12,17,15,15,12,12,18,15,15,11,11,17,16,16,11,11,18,16,16,13,13,18,17,16,13,13,18,16,16,12,12,18,16,16,12,12,18,17,17,12,12,17,16,16,12,13,17,16,16,12,13,17,16,16,12,12,17,16,16,12,12,18,17,16,12,12,18,16,16,12,12,17,16,17,12,12,18,15,15,11,11,18,15,15,12,12,17,17,17,11,11,17,17,17,12,12,17,16,16,13,13,18,16,16,11,11,18,16,16,12,12,18,17,16,11,11,14,14,14,10,10,16,15,14,11,11,16,15,15,12,12,16,14,14,12,12,17,14,14,13,13,17,15,15,13,13,17,15,15,14,14,16,15,15,12,12,16,15,15,13,13,18,15,15,14,14,16,15,15,12,12,16,15,15,14,14,16,15,15,12,12,16,15,15,13,13,17,15,15,13,13,17,15,15,13,13,17,15,15,14,14,16,14,14,12,12,17,15,15,12,12,18,15,15,13,13,17,15,15,14,14,17,16,16,15,15,17,15,14,13,13,17,15,15,14,14,17,15,15,13,13,14,12,12,11,11,15,14,14,12,12,16,14,14,12,12,16,14,14,11,11,17,14,14,12,12,16,15,14,13,13,16,14,14,13,13,16,15,15,12,12,16,14,14,13,13,17,15,15,13,13,16,15,15,13,13,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,16,15,15,12,12,17,15,15,12,12,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,16,15,15,12,12,17,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,17,15,15,12,12,14,14,14,8,8,14,14,14,13,13,14,15,15,14,14,14,14,14,14,14,15,15,15,19,19,15,15,15,14,14,15,15,16,20,19,15,15,15,14,14,15,16,16,15,15,15,15,15,19,19,15,15,15,14,14,15,16,16,19,20,15,15,15,14,14,15,15,15,15,15,15,15,15,19,19,15,15,15,15,15,15,15,16,19,20,15,14,15,14,14,15,15,15,15,15,15,15,15,20,19,15,15,15,21,19,15,16,16,20,20,15,15,14,19,19,15,15,16,20,21,15,15,15,20,19,13,12,12,9,9,14,14,14,12,12,14,13,13,13,13,14,14,14,13,13,15,14,14,20,19,15,14,14,14,13,15,14,14,19,19,15,15,14,13,13,15,14,14,14,14,15,15,15,19,20,15,14,14,13,13,15,14,14,20,19,14,15,14,13,13,15,14,14,14,13,15,15,15,19,20,15,15,14,14,14,15,14,14,21,19,15,15,15,13,13,15,14,14,14,14,14,15,15,20,20,15,15,15,21,20,15,14,14,19,20,15,15,15,20,20,15,14,14,19,20,15,15,15,21,19,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,6,7,7,7,8,8,7,8,8,10,11,11,9,8,8,7,8,8,11,11,11,9,8,8,6,7,7,9,11,11,9,11,11,10,11,11,12,13,13,11,12,12,10,11,11,13,14,14,12,12,12,6,6,6,8,6,6,8,7,7,9,7,7,11,10,10,10,6,6,9,7,7,12,10,10,11,6,7,7,7,7,11,10,10,12,10,10,11,10,10,14,13,13,13,10,10,12,11,11,15,13,13,14,10,10,8,7,7,12,11,11,12,11,11,11,11,11,14,14,14,13,12,12,12,11,11,15,15,15,13,12,12,0,10,10,0,11,11,0,11,11,0,11,11,0,14,14,0,11,11,0,11,11,0,15,15,0,11,11,7,8,8,12,10,10,12,10,10,12,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,12,11,11,12,11,11,16,14,14,14,12,12,13,12,12,15,14,14,15,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,12,12,0,14,14,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,0,8,8,0,8,8,0,9,9,0,9,9,0,9,9,0,9,9,0,9,9,0,8,8,0,6,6,0,7,7,0,7,7,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,6,6,0,6,6,0,6,6,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,6,6,0,8,8,0,9,9,0,9,9,0,10,10,0,10,10,0,10,10,0,10,10,0,11,11,0,9,9,0,7,7,0,10,10,0,10,10,0,12,11,0,12,12,0,11,11,0,11,11,0,12,12,0,10,10,0,7,7,0,10,10,0,10,10,0,12,12,0,11,12,0,11,11,0,11,11,0,11,11,0,10,10,0,8,8,0,9,9,0,9,9,0,10,10,0,10,10,0,10,9,0,10,10,0,10,10,0,9,9,0,6,6,0,10,10,0,10,10,0,11,11,0,12,12,0,11,11,0,11,11,0,12,12,0,11,11,0,7,7,0,9,9,0,9,9,0,11,11,0,11,11,0,10,10,0,10,10,0,11,11,0,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,6,7,7,0,8,8,6,9,9,8,11,11,0,8,8,0,9,9,0,12,12,0,8,8,5,7,7,7,10,10,0,12,12,8,11,11,9,12,12,0,11,12,0,12,12,0,15,15,0,12,12,0,6,6,0,6,6,0,7,7,0,7,7,0,10,10,0,7,7,0,8,8,0,11,11,0,7,7,6,7,7,10,9,9,0,11,10,10,9,9,12,12,12,0,10,10,0,11,11,0,13,13,0,11,11,7,6,6,10,10,10,0,11,11,11,11,11,12,12,12,0,11,11,0,12,12,0,15,15,0,11,11,0,11,11,0,11,11,0,12,12,0,12,12,0,14,14,0,12,12,0,12,12,0,15,15,0,11,11,0,8,8,0,10,10,0,11,11,0,11,11,0,12,12,0,12,12,0,11,11,0,15,15,0,11,11,0,6,6,0,10,10,0,12,12,0,10,10,0,13,13,0,12,12,0,13,13,0,14,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,0,0,0,8,8,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,6,6,0,0,0,7,7,0,0,0,8,8,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,10,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,0,0,10,10,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,11,0,0,0,12,12,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,0,0,10,10,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,13,13,0,0,0,0,0,0,0,0,14,13,0,0,0,0,0,0,0,0,13,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,14,14,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,12,13,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,12,12,0,0,0,14,14,0,0,0,0,0,0,0,0,14,14,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,2,2],"i8",N3,x.GLOBAL_BASE+477020),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,4,12,9,8,12,15,17,4,2,11,6,5,9,13,15,11,7,8,7,7,10,14,13,8,5,7,5,5,8,12,12,8,4,7,4,3,6,11,12,11,8,9,7,6,8,11,12,15,13,14,12,9,7,10,13,16,12,17,12,7,5,8,11,0,0,0,0,255,255,255,255,255,255,255,255,7,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,x.GLOBAL_BASE+487288),E3([1,0,0,0,2,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,200,161,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,128,7,0,0,0,0,0,0,0,0,0,96,128,7,0,136,128,7,0,0,0,0,0,0,0,0,0,176,128,7,0,216,128,7,0,0,0,0,0,0,0,0,0,0,129,7,0,40,129,7,0,0,0,0,0,0,0,0,0,80,129,7,0,120,129,7,0,40,129,7,0,0,0,0,0,160,129,7,0,88,125,7,0,128,125,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,0,128,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,248,127,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,124,7,0,8,125,7,0,0,0,0,0,0,0,0,0,48,125,7,0,88,125,7,0,128,125,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,16,127,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,192,127,7,0,0,0,0,0,2,0,0,0,25,0,0,0,216,126,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,248,126,7,0,0,0,0,0,2,0,0,0,9,0,0,0,184,126,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,200,126,7,0,0,0,0,0,1,0,0,0,25,0,0,0,48,126,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,80,126,7,0,0,0,0,0,1,0,0,0,25,0,0,0,168,125,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,200,125,7,0,0,0,0,0,3,4,4,5,4,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,13,14,16,16,16,16,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,5,5,5,6,6,5,6,5,6,6,6,6,7,7,7,6,7,6,7,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,8,8,9,9,10,10,11,11,4,6,5,8,6,9,8,10,9,10,10,11,10,5,5,6,6,8,8,9,9,10,10,10,10,11,7,8,8,9,8,10,9,10,9,11,10,11,10,7,8,8,8,10,9,10,10,10,10,11,10,11,9,10,10,11,11,11,11,12,11,12,11,12,11,9,10,10,11,11,11,11,11,11,11,12,11,12,11,11,11,12,12,12,12,12,12,12,12,12,11,11,12,11,12,12,12,12,12,12,12,12,11,12,12,12,12,12,13,12,13,12,12,12,12,12,12,12,12,12,13,13,13,13,12,13,12,12,12,12,12,13,13,12,13,12,13,12,13,12,12,12,12,13,13,13,13,13,13,12,12,12,12,12,11,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,3,7,7,9,13,16,3,2,4,6,10,13,17,7,4,4,6,9,12,14,7,6,6,5,7,9,12,10,10,9,6,6,9,12,14,14,13,9,8,10,11,18,18,15,13,11,10,11,0,0,0,0,0,0,0,5,0,0,0,243,0,0,0,192,160,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,184,161,7,0,0,0,0,0,5,0,0,0,243,0,0,0,184,159,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,176,160,7,0,0,0,0,0,5,0,0,0,243,0,0,0,176,158,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,159,7,0,0,0,0,0,5,0,0,0,243,0,0,0,168,157,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,160,158,7,0,0,0,0,0,5,0,0,0,53,12,0,0,88,145,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,144,157,7,0,0,0,0,0,5,0,0,0,53,12,0,0,8,133,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,64,145,7,0,0,0,0,0,1,0,0,0,7,0,0,0,224,132,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,232,132,7,0,0,0,0,0,5,0,0,0,243,0,0,0,216,131,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,208,132,7,0,0,0,0,0,5,0,0,0,243,0,0,0,208,130,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,200,131,7,0,0,0,0,0,5,0,0,0,243,0,0,0,200,129,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,192,130,7,0,0,0,0,0,1,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,7,7,7,7,7,7,7,7,7,8,8,9,8,8,8,7,7,8,8,8,9,8,8,9,7,7,6,6,6,9,8,7,9,7,7,9,8,8,10,8,8,10,8,8,10,8,8,10,8,8,10,8,8,7,6,6,9,6,6,9,7,7,9,7,7,10,8,8,9,6,6,9,7,7,10,8,8,9,7,7,7,8,8,11,9,9,11,9,9,11,8,9,12,9,9,12,8,8,11,9,9,12,9,9,12,8,8,8,7,7,10,9,9,10,10,9,10,9,9,11,10,10,11,9,9,11,9,9,11,10,11,11,9,9,10,8,8,11,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,9,9,11,10,10,11,9,9,9,8,8,11,9,9,12,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,9,9,12,8,8,9,7,7,11,9,9,11,10,10,11,9,9,11,11,11,11,9,9,11,10,10,11,11,11,11,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,10,10,11,9,9,11,9,10,11,10,10,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,6,6,7,8,8,7,8,8,7,9,8,10,11,11,9,8,8,7,8,8,11,11,11,9,8,8,6,7,7,10,10,10,10,10,10,10,10,10,14,13,13,12,11,11,10,10,10,14,14,13,12,11,11,6,6,6,8,5,5,8,7,7,9,7,7,11,10,10,9,7,7,9,7,7,12,10,10,10,7,7,7,8,8,12,11,10,12,10,10,11,10,10,15,13,13,13,10,10,11,10,10,17,14,13,13,10,10,7,7,7,12,11,12,12,11,11,12,11,11,16,14,14,13,12,12,12,11,11,17,15,14,14,12,12,10,9,9,13,11,11,13,11,11,13,11,11,17,14,13,14,11,11,12,11,11,16,15,14,14,11,11,7,8,8,12,11,11,12,10,10,12,10,10,15,13,13,14,11,10,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,12,11,11,12,11,11,17,14,14,14,12,12,12,11,11,16,15,15,14,12,12,10,10,10,13,11,11,13,11,11,13,11,12,16,14,14,14,11,11,13,12,11,16,15,15,14,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,14,14,6,7,7,14,14,7,7,7,14,14,0,13,13,16,16,0,13,13,15,14,7,8,8,15,15,9,10,10,16,16,9,8,8,15,15,0,13,13,17,16,0,13,13,15,16,8,8,8,15,15,12,11,11,16,16,9,8,8,14,14,0,13,13,17,18,0,13,13,15,15,0,14,14,16,16,0,0,0,19,18,0,12,12,16,15,0,15,16,0,20,0,14,14,16,16,0,14,14,17,17,0,0,0,19,18,0,12,12,15,15,0,17,17,0,20,0,14,14,16,16,5,6,7,12,12,9,9,9,14,14,10,10,10,14,14,0,21,21,18,17,0,20,20,18,17,9,10,10,14,14,12,12,12,16,16,12,10,10,14,14,0,20,19,18,17,0,0,20,17,18,11,10,10,14,14,14,13,13,18,18,13,11,11,14,14,0,20,20,17,18,0,21,21,17,17,0,21,0,18,18,0,0,0,0,0,0,20,19,16,17,0,0,0,19,19,0,0,0,18,18,0,21,21,18,18,0,0,0,0,0,0,20,20,16,17,0,0,0,21,21,0,0,0,18,19,6,6,6,13,12,8,6,6,11,11,8,6,6,13,13,0,9,9,11,11,0,11,10,14,14,9,7,7,13,13,11,9,9,13,13,10,6,6,13,13,0,10,10,14,15,0,10,10,13,13,9,7,7,13,13,13,10,9,13,13,10,6,6,13,13,0,10,10,15,14,0,10,10,13,13,0,11,11,15,15,0,19,20,17,17,0,9,9,13,13,0,13,13,20,20,0,11,11,13,13,0,11,11,15,15,0,19,19,17,17,0,10,10,13,13,0,15,15,20,20,0,12,12,13,13,0,10,10,12,12,0,11,11,15,15,0,11,11,15,15,0,15,15,20,0,0,16,16,0,21,0,11,11,15,15,0,14,14,18,17,0,11,11,15,15,0,15,16,19,20,0,16,16,21,21,0,12,12,15,15,0,15,14,18,18,0,11,11,16,16,0,15,15,21,21,0,16,15,0,0,0,16,16,21,0,0,0,0,0,0,0,14,14,20,20,0,18,18,0,0,0,16,17,21,0,0,16,16,21,21,0,0,0,0,0,0,15,15,21,21,0,20,19,0,21,0,17,17,0,0,0,10,10,12,11,0,10,10,10,11,0,11,11,12,12,0,11,11,9,9,0,13,13,11,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,12,12,13,13,0,12,12,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,13,13,14,14,0,12,12,12,12,0,14,14,14,13,0,19,20,15,15,0,12,11,12,12,0,15,15,21,20,0,13,13,11,11,0,13,13,13,13,0,19,0,15,15,0,12,12,12,12,0,17,16,19,0,0,13,13,12,12,7,7,7,16,16,11,9,9,15,15,12,9,9,16,16,0,13,13,15,14,0,14,14,17,16,10,9,9,16,16,14,11,11,17,16,12,9,8,15,15,0,13,13,18,18,0,13,13,15,15,12,10,10,18,17,15,12,12,17,17,14,9,9,16,16,0,13,13,18,19,0,14,13,17,16,0,14,14,18,18,0,0,0,20,21,0,12,12,16,16,0,16,16,20,21,0,14,14,17,16,0,14,14,18,19,0,0,0,19,21,0,13,13,17,17,0,17,17,0,21,0,15,15,16,16,8,7,7,14,14,11,10,10,15,15,12,10,10,15,15,0,20,20,18,18,0,0,0,17,17,11,10,10,16,16,14,12,12,18,17,14,11,11,15,15,0,20,21,18,18,0,0,19,18,17,12,10,10,16,16,17,14,14,19,19,14,11,11,15,15,0,21,21,19,19,0,21,20,19,18,0,21,0,18,19,0,0,0,0,0,0,20,20,18,17,0,21,0,0,0,0,0,0,19,18,0,0,0,18,19,0,0,0,0,0,0,0,21,17,18,0,0,0,0,21,0,0,21,18,19,11,9,9,14,14,13,10,10,13,13,13,11,11,15,15,0,13,13,12,12,0,15,15,16,16,13,10,10,15,15,16,12,12,15,15,15,10,10,15,15,0,14,13,16,15,0,14,13,15,15,13,10,10,15,15,18,14,14,15,15,15,10,10,14,15,0,14,14,16,16,0,14,14,16,15,0,15,15,17,16,0,21,0,18,18,0,12,13,15,15,0,16,16,0,0,0,14,14,15,15,0,15,15,16,16,0,21,20,18,18,0,13,13,15,15,0,19,18,0,0,0,15,15,15,15,0,11,11,13,13,0,12,12,16,16,0,12,12,16,16,0,15,16,20,0,0,16,17,0,0,0,12,12,16,16,0,14,14,18,18,0,11,11,16,17,0,15,15,20,0,0,16,16,0,0,0,12,12,16,16,0,15,15,19,19,0,11,11,17,17,0,16,16,21,0,0,16,16,0,0,0,17,17,20,20,0,0,0,0,0,0,15,15,20,0,0,17,18,0,0,0,17,17,0,0,0,16,16,0,21,0,0,0,0,0,0,15,15,21,0,0,19,18,0,0,0,18,17,0,0,0,11,11,14,14,0,11,11,15,15,0,12,12,16,16,0,13,13,14,14,0,14,14,17,17,0,12,12,16,16,0,14,14,16,16,0,11,11,16,15,0,13,13,16,17,0,13,13,16,16,0,12,12,15,16,0,15,14,16,16,0,11,11,15,15,0,14,14,17,17,0,13,13,16,16,0,15,14,18,18,0,21,0,19,19,0,13,13,15,15,0,16,16,20,20,0,14,14,16,15,0,14,14,17,17,0,21,0,20,18,0,13,13,15,15,0,17,17,0,0,0,14,14,16,15,8,8,8,16,16,12,9,9,16,16,13,9,9,16,16,0,14,14,18,17,0,14,14,16,17,12,10,10,18,17,14,11,11,18,18,14,9,9,16,16,0,13,13,18,18,0,13,13,17,16,12,9,9,16,17,17,13,13,16,16,14,9,9,15,15,0,14,14,20,20,0,13,13,15,15,0,15,14,18,18,0,0,0,20,21,0,12,13,16,17,0,16,16,20,21,0,14,14,16,17,0,14,14,18,17,0,0,0,20,21,0,13,13,16,16,0,19,17,0,21,0,14,15,16,16,8,7,7,14,13,12,10,10,15,15,13,10,10,15,15,0,21,21,18,19,0,20,21,18,18,12,10,10,16,15,15,12,12,17,17,14,11,11,15,15,0,21,21,19,18,0,0,21,17,18,13,11,11,15,15,16,13,13,18,19,15,11,11,15,14,0,21,0,19,19,0,0,21,18,18,0,0,21,19,19,0,0,0,0,0,0,20,19,17,17,0,0,0,21,0,0,21,0,18,19,0,0,20,20,19,0,0,0,0,0,0,21,20,18,17,0,0,0,0,20,0,0,0,18,19,0,10,10,15,14,0,11,11,14,14,0,11,11,15,16,0,14,14,15,15,0,15,15,16,16,0,11,11,16,16,0,14,13,16,16,0,11,11,15,15,0,14,14,16,16,0,14,14,15,15,0,11,11,15,15,0,13,13,15,15,0,11,11,15,15,0,15,15,18,17,0,14,14,15,15,0,15,16,18,18,0,0,0,20,20,0,14,13,16,15,0,17,17,21,0,0,15,15,15,15,0,16,15,17,17,0,0,0,19,19,0,13,13,15,15,0,20,19,0,0,0,15,15,15,15,0,11,11,13,13,0,12,12,16,16,0,12,12,16,16,0,15,15,21,21,0,17,16,0,0,0,12,12,16,16,0,14,14,17,17,0,11,11,16,16,0,15,15,0,0,0,16,16,21,0,0,12,12,17,16,0,14,15,20,20,0,11,11,16,16,0,15,15,0,20,0,16,16,0,21,0,16,17,21,0,0,0,0,0,0,0,15,15,0,21,0,18,18,0,0,0,17,16,0,0,0,17,17,21,0,0,0,0,0,0,0,15,15,0,20,0,19,20,21,0,0,17,18,0,0,0,12,12,15,15,0,12,12,15,15,0,12,12,16,16,0,13,13,15,15,0,15,15,17,17,0,13,12,17,16,0,14,14,17,16,0,11,11,16,16,0,14,14,17,17,0,14,14,17,17,0,12,12,16,16,0,15,15,17,17,0,11,11,16,16,0,14,14,17,17,0,14,14,16,16,0,15,15,18,17,0,0,0,19,0,0,13,13,16,16,0,16,16,0,21,0,14,14,16,16,0,15,15,18,17,0,0,0,19,19,0,13,13,16,16,0,18,17,0,21,0,14,15,16,16,0,11,11,16,16,0,13,13,17,17,0,13,13,17,17,0,16,16,16,17,0,16,16,18,18,0,12,12,17,17,0,16,15,18,17,0,12,12,16,16,0,16,15,19,19,0,16,15,17,17,0,12,12,17,18,0,16,16,18,18,0,12,12,16,16,0,16,16,19,19,0,15,16,17,17,0,15,16,18,18,0,0,0,20,20,0,13,13,16,16,0,18,18,21,20,0,15,15,16,16,0,16,16,19,18,0,0,0,19,20,0,14,14,17,17,0,19,19,0,21,0,15,16,16,16,0,9,9,14,14,0,13,13,15,15,0,14,14,15,15,0,0,21,19,19,0,0,21,18,18,0,12,12,15,15,0,15,15,18,18,0,14,13,15,15,0,21,21,18,19,0,21,20,18,18,0,13,13,16,16,0,17,17,18,19,0,14,14,15,15,0,0,21,19,19,0,21,20,18,19,0,20,20,19,19,0,0,0,0,0,0,19,20,17,17,0,0,0,21,21,0,21,0,18,20,0,21,0,18,21,0,0,0,0,0,0,21,21,19,18,0,0,0,0,0,0,0,0,19,19,0,18,18,15,15,0,18,20,17,16,0,20,0,17,17,0,21,0,17,17,0,21,20,19,20,0,19,19,16,16,0,21,21,17,18,0,19,19,17,17,0,20,21,21,21,0,20,20,18,18,0,19,19,16,16,0,0,21,18,19,0,18,19,16,17,0,21,21,19,20,0,21,19,18,18,0,21,20,19,21,0,0,0,20,21,0,19,19,17,16,0,0,0,0,0,0,21,20,17,17,0,20,21,19,18,0,0,0,0,21,0,19,18,16,17,0,0,0,0,0,0,20,20,17,17,0,11,11,14,14,0,13,13,16,16,0,13,13,16,16,0,17,17,21,0,0,17,18,0,0,0,12,12,16,16,0,15,15,17,18,0,12,12,16,16,0,16,16,0,20,0,17,17,0,21,0,12,12,17,17,0,16,16,19,20,0,12,12,17,17,0,17,17,0,20,0,17,17,0,0,0,17,17,21,0,0,0,0,0,0,0,15,15,0,20,0,19,19,0,0,0,18,18,0,0,0,17,17,0,0,0,0,0,0,0,0,15,15,0,0,0,20,19,0,0,0,19,18,0,0,0,14,14,21,19,0,16,16,20,21,0,16,16,20,20,0,17,17,20,0,0,17,17,20,20,0,15,15,20,20,0,19,18,20,0,0,15,15,20,20,0,17,18,21,20,0,17,17,20,21,0,15,15,19,19,0,19,18,21,21,0,15,15,19,20,0,17,18,0,0,0,17,17,20,20,0,17,18,20,21,0,0,0,0,0,0,15,15,20,20,0,19,19,0,0,0,17,17,19,21,0,17,17,0,21,0,0,0,0,21,0,15,15,20,19,0,0,20,0,0,0,17,17,21,20,0,12,12,16,16,0,14,14,17,17,0,13,13,17,17,0,16,16,17,18,0,17,16,18,18,0,13,13,18,17,0,15,16,19,18,0,13,13,16,16,0,16,16,19,19,0,16,16,17,17,0,13,12,17,17,0,16,16,18,17,0,12,12,16,16,0,17,17,19,18,0,16,15,16,16,0,16,17,18,19,0,0,0,20,20,0,14,14,17,16,0,18,18,21,0,0,16,16,16,16,0,16,16,18,17,0,0,21,21,21,0,14,14,16,16,0,21,20,21,0,0,16,16,16,16,0,10,10,14,14,0,14,14,15,16,0,14,14,15,15,0,0,21,18,18,0,0,21,18,19,0,13,13,16,16,0,16,16,18,17,0,14,14,15,15,0,20,0,18,18,0,21,0,18,17,0,13,13,16,15,0,17,17,19,19,0,14,14,15,15,0,20,20,18,19,0,0,0,18,17,0,0,21,18,18,0,0,0,0,0,0,20,21,18,17,0,0,0,0,0,0,0,0,19,19,0,0,21,18,18,0,0,0,0,0,0,21,0,18,17,0,0,0,0,21,0,0,0,19,20,0,19,19,16,16,0,0,21,18,17,0,21,0,18,18,0,20,0,19,18,0,21,20,19,19,0,21,19,17,18,0,0,21,19,19,0,21,19,18,18,0,21,0,20,18,0,0,21,18,18,0,20,21,17,17,0,21,0,18,18,0,21,19,17,17,0,21,0,0,20,0,0,20,17,18,0,0,0,19,20,0,0,0,20,19,0,19,21,17,18,0,21,0,0,0,0,21,21,18,17,0,0,21,18,18,0,0,0,0,21,0,20,19,16,17,0,0,0,0,0,0,21,20,17,17,0,11,11,13,13,0,13,13,16,16,0,13,13,16,16,0,17,17,0,21,0,18,19,21,0,0,12,12,16,16,0,15,15,19,18,0,13,13,16,16,0,16,17,21,19,0,17,17,21,21,0,13,13,16,16,0,16,16,20,18,0,13,13,16,16,0,17,17,0,0,0,18,18,0,0,0,18,17,0,20,0,0,0,0,0,0,15,15,21,21,0,19,18,0,0,0,17,17,21,21,0,17,17,0,0,0,0,0,0,0,0,15,15,20,21,0,20,20,0,0,0,19,19,0,0,0,14,15,21,19,0,16,16,0,21,0,17,16,21,21,0,17,18,21,20,0,18,18,0,21,0,16,16,0,20,0,19,19,0,0,0,16,15,0,20,0,18,18,0,0,0,17,17,0,21,0,16,16,20,20,0,20,19,0,0,0,15,16,21,22,0,18,18,0,0,0,18,17,0,0,0,18,18,0,0,0,0,0,0,0,0,16,16,21,20,0,19,20,0,0,0,18,17,21,0,0,17,18,0,0,0,0,0,0,0,0,16,16,0,20,0,0,20,0,0,0,18,18,22,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,3,4,7,7,10,12,12,12,12,10,11,11,13,13,11,12,12,11,11,12,12,12,12,12,11,13,13,13,13,12,12,12,13,14,12,13,13,13,13,12,13,13,13,13,12,13,13,13,13,11,13,13,13,13,12,12,12,14,14,12,13,13,12,12,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,14,14,12,13,13,12,12,12,13,13,13,13,12,13,13,12,12,12,13,13,13,13,12,12,12,14,14,12,13,13,12,12,12,13,13,13,13,12,13,13,12,12,10,10,11,10,10,11,11,11,11,11,11,9,9,10,10,12,11,11,10,10,12,10,10,10,10,13,12,12,12,12,13,11,11,11,11,13,12,12,12,12,13,11,11,11,11,13,12,12,12,12,13,12,12,12,12,13,11,11,11,11,13,12,12,12,12,13,11,11,11,11,13,12,12,11,11,13,12,12,11,11,13,11,11,11,11,13,12,12,11,11,13,11,11,11,11,13,12,12,11,11,13,12,12,11,11,13,11,11,11,11,13,12,12,11,11,13,11,11,11,11,13,12,12,11,11,11,11,11,10,10,11,11,11,9,9,11,12,12,11,11,12,12,12,9,9,13,13,13,10,10,13,13,13,11,11,13,13,13,14,14,13,13,13,11,10,13,13,14,12,12,13,13,13,11,11,13,13,13,11,11,13,13,13,14,14,13,13,13,10,10,13,13,13,11,11,13,13,13,10,10,13,14,13,11,11,13,14,14,14,14,13,13,13,10,10,13,14,14,11,11,13,13,13,10,10,13,14,14,11,11,13,13,13,14,14,14,13,13,10,10,13,14,14,11,11,13,13,13,10,10,14,12,12,9,9,14,12,12,9,9,14,11,11,9,9,14,12,12,8,8,14,11,11,7,7,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,9,9,15,12,12,9,9,14,13,13,9,9,15,13,13,10,10,15,12,12,10,10,15,13,13,9,9,15,12,12,9,9,15,13,13,9,9,13,12,12,9,9,13,13,13,8,8,13,13,13,9,9,13,13,13,7,7,14,13,13,8,8,14,14,14,10,10,15,14,14,11,11,14,14,14,9,9,15,14,14,10,10,15,14,14,9,9,14,14,14,10,10,15,14,14,11,11,15,14,14,9,9,14,14,14,10,10,14,14,14,9,9,15,14,15,10,10,15,14,14,11,11,14,14,14,9,9,14,14,14,9,9,14,14,14,8,8,15,14,14,10,10,15,14,14,11,11,14,14,14,9,9,15,14,14,9,9,14,14,14,8,8,12,12,12,13,13,16,16,16,11,11,17,16,16,12,12,17,16,16,11,11,17,16,16,11,11,17,17,16,13,13,17,16,16,13,13,18,17,16,12,12,17,16,16,13,13,17,16,17,12,12,18,17,17,13,13,17,16,16,14,14,18,17,17,12,12,18,16,16,13,13,17,17,17,13,12,17,17,17,13,13,17,16,16,13,13,18,17,17,12,12,17,16,16,13,12,17,17,17,12,12,18,17,17,13,13,18,16,16,14,14,18,17,17,12,12,17,17,17,13,13,18,17,18,12,12,13,14,14,10,10,16,14,14,13,13,17,15,15,14,14,17,14,14,12,13,16,14,14,13,13,17,15,15,14,14,16,16,16,15,15,17,15,15,14,14,17,16,16,14,15,17,15,15,14,14,17,15,16,14,14,17,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,14,17,15,15,14,14,16,16,16,15,15,17,15,15,13,13,17,15,15,14,14,17,15,15,13,13,17,15,15,14,14,16,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,13,11,11,10,10,16,14,14,13,12,16,14,14,13,13,16,15,14,12,12,16,14,14,12,12,16,15,15,14,14,16,14,14,14,14,17,15,15,13,13,16,15,15,14,14,17,15,15,13,14,17,15,15,14,14,17,15,14,14,14,17,15,15,13,13,17,15,15,14,14,17,15,15,13,13,17,15,15,14,14,17,14,14,14,14,17,15,15,13,13,17,15,15,13,13,17,15,15,13,13,17,15,15,14,14,17,15,15,14,14,17,15,15,13,13,17,15,15,13,13,17,15,15,13,13,14,14,15,8,8,14,14,14,19,19,14,15,15,18,19,14,14,14,19,18,14,14,14,19,19,15,15,15,19,18,15,16,16,19,19,15,15,15,19,19,15,16,16,20,19,15,15,15,19,19,15,15,15,19,19,16,16,16,20,19,15,15,15,19,18,15,16,16,20,19,15,15,15,18,18,15,15,15,19,20,15,16,16,19,19,15,15,15,20,19,15,15,15,20,19,15,15,15,19,18,15,15,15,19,19,15,16,16,19,20,15,15,15,19,19,15,15,15,19,20,15,15,15,19,19,14,12,12,9,9,14,14,14,19,19,14,14,14,19,19,14,14,15,20,19,15,14,14,18,19,15,15,15,19,19,15,15,14,20,19,15,15,15,20,19,15,15,14,20,19,15,15,15,20,19,15,15,15,19,20,15,14,14,19,20,15,15,15,20,20,15,14,14,20,19,15,15,15,19,19,15,15,15,19,19,15,14,14,19,19,15,15,15,19,20,15,15,15,20,20,15,15,15,19,19,15,15,15,20,19,16,14,14,19,19,15,15,15,20,19,15,14,15,20,19,14,15,15,20,19,12,12,12,13,13,16,16,16,11,11,16,16,16,12,12,17,16,16,11,11,17,15,16,11,11,17,17,17,13,13,18,16,17,13,13,18,17,17,13,12,17,16,17,13,13,17,17,17,13,13,16,16,16,12,12,17,16,16,13,13,17,16,16,12,12,17,16,16,12,13,17,17,17,12,12,17,17,17,13,13,18,16,16,13,13,18,17,17,12,12,18,17,17,12,12,17,17,17,12,12,17,17,17,12,12,17,16,16,13,13,17,17,17,12,12,17,16,16,12,12,17,17,17,12,12,13,14,14,9,9,16,14,14,13,13,16,15,15,14,14,17,14,14,13,13,16,14,14,13,13,17,15,15,15,15,16,16,16,15,15,17,15,15,14,14,17,15,15,15,15,17,15,15,14,14,17,15,15,14,14,16,16,16,15,15,17,15,15,14,14,17,15,15,14,14,17,15,15,14,14,17,15,15,14,14,16,16,16,15,15,18,15,15,14,13,17,15,15,14,14,17,15,15,13,13,17,15,15,14,14,16,16,16,15,15,17,15,15,14,13,17,15,15,14,14,17,15,15,13,13,13,11,11,11,11,16,14,14,12,12,16,14,14,13,13,16,15,14,12,12,17,14,14,12,12,17,15,15,13,13,17,14,14,14,14,17,15,15,13,13,17,14,15,14,13,17,15,15,13,13,16,15,15,13,13,16,14,14,14,14,17,15,15,13,13,16,14,14,13,13,16,15,15,13,13,17,15,15,13,13,17,14,14,14,14,17,15,15,12,12,17,15,15,13,13,17,15,15,12,12,16,15,15,13,13,17,14,14,13,14,17,15,15,12,12,17,14,14,13,13,17,15,15,12,12,14,14,14,8,8,14,14,14,18,18,14,15,15,19,19,14,14,14,19,19,14,15,14,18,19,15,15,15,18,19,15,16,16,20,20,15,15,15,19,20,15,16,16,19,20,15,15,15,19,20,15,15,16,19,19,15,16,16,20,20,15,15,15,20,19,15,16,16,20,19,15,15,15,19,20,15,15,15,19,19,15,16,16,20,19,15,15,15,19,19,15,16,15,20,19,15,15,15,19,19,15,15,15,19,20,15,16,16,20,20,15,15,15,19,19,15,15,15,20,20,15,15,15,19,19,14,12,12,9,9,14,14,14,18,18,14,14,14,19,20,14,14,14,18,18,14,14,14,18,19,15,15,15,19,20,15,14,14,19,19,15,15,15,19,19,15,14,15,19,19,15,15,15,18,20,15,15,15,19,19,15,14,14,19,19,15,15,15,20,19,15,15,14,20,20,15,15,15,19,19,15,15,15,19,19,15,14,14,19,19,15,15,15,19,19,15,14,14,19,20,14,15,15,19,19,15,15,15,19,19,15,14,14,20,19,15,15,15,19,19,15,14,14,20,19,15,15,15,19,19,13,12,12,13,13,17,17,16,11,11,16,16,16,12,12,17,17,16,11,11,17,16,16,11,11,17,17,17,13,13,17,16,16,13,13,18,17,17,12,12,17,16,16,13,13,18,17,17,12,12,18,17,17,13,13,18,16,17,13,13,17,17,17,12,12,18,17,17,13,13,18,17,17,12,12,17,16,17,12,12,17,16,16,13,13,17,16,16,11,11,17,16,16,12,12,17,17,17,11,11,17,17,17,12,12,18,16,16,13,13,18,17,17,12,11,17,16,16,12,12,18,17,17,11,11,13,14,14,9,9,16,14,14,13,13,16,15,15,14,14,17,14,14,12,12,16,14,14,13,13,17,15,15,14,14,17,16,16,15,16,18,15,15,14,14,17,15,15,14,14,17,15,15,14,14,18,15,15,14,14,16,16,16,15,16,18,15,15,14,14,17,16,15,14,14,18,15,15,14,14,17,15,15,14,14,17,16,16,15,15,18,14,15,13,13,17,15,15,14,14,18,15,15,13,13,17,15,15,14,14,17,16,15,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,13,11,11,10,10,16,14,14,12,12,16,14,14,12,12,17,14,15,11,11,17,14,14,11,11,17,15,15,13,13,17,14,14,14,13,17,15,15,13,13,16,15,15,13,13,17,15,15,13,13,17,15,15,13,13,17,14,14,14,14,17,15,15,13,13,17,14,15,13,13,16,15,15,13,13,17,15,15,13,13,17,14,14,13,13,17,15,15,12,12,16,14,14,12,12,17,15,15,12,12,17,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,17,15,15,12,12,13,15,14,8,8,14,14,14,19,19,14,15,15,18,19,14,14,14,18,19,14,15,14,19,19,15,16,15,19,19,15,16,16,19,20,15,15,15,19,19,15,16,16,19,19,15,16,16,19,19,15,15,15,19,19,15,16,16,20,20,15,15,15,19,19,15,15,15,19,19,15,15,15,19,19,15,15,15,19,19,15,16,16,20,19,15,15,15,19,19,15,15,15,19,19,15,15,15,19,19,15,16,15,19,19,15,16,16,21,19,15,15,15,20,20,15,15,15,20,21,15,15,15,19,20,14,12,12,8,8,14,14,14,19,19,14,13,13,19,19,14,14,14,19,19,14,13,14,19,19,15,15,15,20,20,15,14,14,20,19,15,15,15,19,20,15,14,14,19,20,15,15,15,20,19,15,15,15,19,20,15,14,14,20,20,15,15,15,20,19,15,14,14,19,19,15,15,15,19,19,15,15,15,20,19,15,14,14,21,19,15,15,15,20,21,15,14,14,21,19,15,15,15,19,19,15,15,15,20,20,15,14,14,19,21,15,15,15,19,19,15,14,14,19,20,15,15,15,19,19,13,12,12,13,13,17,16,16,11,11,17,16,15,12,12,18,16,16,11,11,17,16,16,11,11,18,17,17,13,13,18,16,16,13,13,17,17,17,12,13,18,17,16,13,13,18,17,17,13,13,17,17,17,13,13,17,16,16,13,13,18,16,17,12,12,17,16,16,13,12,17,17,17,12,12,18,17,17,13,12,18,16,16,13,13,18,17,17,12,12,17,16,16,12,12,17,17,17,11,11,17,16,16,12,12,17,16,16,13,13,17,16,16,11,11,17,16,16,12,12,17,17,17,11,11,13,14,14,9,9,16,14,14,13,13,16,15,15,14,14,17,14,14,12,12,16,14,14,13,13,17,15,15,14,14,17,15,16,15,15,17,15,15,14,14,17,15,16,14,15,18,15,15,14,14,17,15,15,14,14,16,16,16,15,15,18,15,15,13,14,17,15,15,14,14,18,15,15,14,14,17,15,15,14,14,17,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,17,15,15,14,14,17,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,13,11,11,10,10,16,14,14,12,12,16,14,14,13,13,17,14,14,11,11,17,14,14,12,12,17,15,15,14,14,17,14,14,14,14,17,15,15,13,13,17,15,14,13,13,16,15,15,13,13,16,15,15,13,13,17,14,14,14,14,17,15,15,13,13,17,14,14,13,13,16,15,15,13,13,16,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,16,15,15,12,12,17,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,16,15,15,12,12,14,14,14,8,8,14,14,14,18,18,14,15,15,19,18,14,14,14,18,18,14,14,14,18,19,15,16,15,19,19,15,17,16,20,20,15,15,15,19,19,15,16,16,19,19,15,15,15,19,19,15,16,15,18,19,15,16,16,20,20,15,15,15,19,19,15,16,16,19,20,15,15,15,19,19,15,15,16,19,19,15,16,16,20,20,15,15,15,19,19,15,15,15,19,20,15,15,15,19,19,15,15,15,19,19,15,16,16,20,20,15,15,15,19,20,15,16,16,20,20,15,15,15,19,19,13,12,12,8,8,14,14,14,19,20,14,14,14,19,19,14,14,14,18,19,14,14,14,19,20,15,15,15,19,20,15,14,14,21,20,15,15,15,20,20,15,15,14,19,19,15,15,15,19,19,15,15,15,19,19,15,14,14,19,20,15,15,15,19,20,15,14,14,19,19,15,15,15,19,19,15,15,15,19,19,16,14,14,19,19,15,15,15,20,20,15,14,14,21,19,15,15,15,19,19,15,15,15,19,20,16,14,14,19,20,15,15,15,19,19,15,14,14,19,19,15,15,15,20,19,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,6,7,7,7,8,8,7,8,8,10,11,11,9,8,8,7,9,9,11,12,12,9,8,8,6,7,7,9,11,11,10,11,11,10,11,11,13,13,13,11,12,12,10,11,11,13,14,14,12,12,12,6,6,6,8,6,6,8,6,6,9,7,7,12,10,10,10,6,6,9,7,7,12,10,10,11,7,6,7,8,8,12,10,10,12,10,10,11,10,10,15,13,13,13,10,10,12,11,11,15,13,13,14,11,11,8,7,7,12,11,11,12,11,11,11,11,11,14,14,14,13,12,12,12,11,11,16,15,15,14,12,12,0,10,10,0,11,11,0,12,12,0,11,11,0,14,14,0,11,11,0,11,11,0,15,15,0,11,11,7,8,8,13,10,10,12,10,10,12,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,13,11,11,12,11,11,15,14,14,14,12,12,13,12,12,15,14,14,15,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,12,12,0,15,14,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,0,8,8,0,8,8,0,10,10,0,9,9,0,10,10,0,10,10,0,9,9,0,10,10,0,7,7,0,7,7,0,7,7,0,8,8,0,8,8,0,8,8,0,9,9,0,8,8,0,8,8,0,7,7,0,8,8,0,8,8,0,10,10,0,9,9,0,9,9,0,10,10,0,9,9,0,10,10,0,8,8,0,11,11,0,11,11,0,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,12,12,0,8,8,0,11,11,0,11,11,0,13,12,0,12,12,0,13,12,0,13,13,0,12,12,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,11,11,0,11,11,0,13,12,0,12,12,0,12,12,0,12,12,0,11,11,0,12,12,0,8,8,0,12,12,0,12,12,0,13,13,0,12,12,0,13,13,0,13,13,0,12,13,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,0,7,7,0,8,8,0,9,9,0,12,12,0,8,8,0,9,9,0,12,12,0,8,8,0,6,6,0,11,11,0,11,11,0,12,12,0,14,14,0,11,11,0,12,12,0,14,14,0,11,11,0,6,6,0,6,5,0,7,6,0,7,7,0,10,10,0,6,6,0,7,7,0,10,10,0,7,7,0,7,7,0,10,10,0,11,11,0,11,11,0,14,14,0,10,10,0,12,12,0,14,14,0,12,12,0,6,6,0,11,11,0,11,11,0,12,12,0,14,14,0,11,11,0,12,12,0,15,15,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,11,11,0,11,11,0,12,12,0,15,15,0,12,12,0,11,11,0,15,15,0,11,11,0,6,6,0,11,11,0,12,12,0,12,12,0,15,15,0,11,11,0,12,12,0,14,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,2,2],"i8",N3,x.GLOBAL_BASE+489700),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,5,7,8,10,13,14,4,2,4,6,8,11,12,7,4,3,5,8,12,14,8,5,4,4,8,12,12,9,7,7,7,9,10,11,13,11,11,9,7,8,10,13,11,10,6,5,7,9,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,224,200,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,167,7,0,0,0,0,0,0,0,0,0,120,167,7,0,160,167,7,0,0,0,0,0,0,0,0,0,200,167,7,0,240,167,7,0,0,0,0,0,0,0,0,0,24,168,7,0,64,168,7,0,0,0,0,0,0,0,0,0,104,168,7,0,144,168,7,0,64,168,7,0,0,0,0,0,184,168,7,0,112,164,7,0,152,164,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,24,167,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,16,167,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,163,7,0,32,164,7,0,0,0,0,0,0,0,0,0,72,164,7,0,112,164,7,0,152,164,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,40,166,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,216,166,7,0,0,0,0,0,2,0,0,0,25,0,0,0,240,165,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,166,7,0,0,0,0,0,2,0,0,0,9,0,0,0,208,165,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,224,165,7,0,0,0,0,0,1,0,0,0,25,0,0,0,72,165,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,104,165,7,0,0,0,0,0,1,0,0,0,25,0,0,0,192,164,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,224,164,7,0,0,0,0,0,3,4,4,5,4,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,12,14,14,14,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,5,5,5,7,5,5,5,5,6,7,7,6,7,7,7,6,7,7,7,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,3,4,7,7,8,8,9,9,9,10,10,10,5,6,5,8,7,9,8,9,9,10,9,11,10,5,5,7,7,8,8,9,9,9,9,10,10,11,8,9,8,10,9,10,9,10,9,11,10,11,10,8,8,9,9,10,9,10,9,11,10,11,10,11,10,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,12,11,11,11,11,11,11,10,12,12,12,12,12,12,12,11,12,12,12,11,11,11,12,12,12,12,12,12,12,11,12,11,12,11,11,13,12,12,12,13,12,12,12,12,11,12,11,11,13,13,13,12,12,12,12,12,12,11,11,11,10,13,13,13,12,13,12,13,11,13,10,12,11,11,13,13,12,13,12,12,12,12,11,12,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,2,3,6,7,10,14,16,3,2,5,7,11,14,17,6,5,5,7,10,12,14,7,7,6,6,7,9,13,10,11,9,6,6,9,11,15,15,13,10,9,10,12,18,18,16,14,12,13,16,0,0,0,0,0,0,0,5,0,0,0,243,0,0,0,216,199,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,208,200,7,0,0,0,0,0,5,0,0,0,243,0,0,0,208,198,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,200,199,7,0,0,0,0,0,5,0,0,0,243,0,0,0,200,197,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,192,198,7,0,0,0,0,0,5,0,0,0,243,0,0,0,192,196,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,184,197,7,0,0,0,0,0,5,0,0,0,53,12,0,0,112,184,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,168,196,7,0,0,0,0,0,5,0,0,0,53,12,0,0,32,172,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,88,184,7,0,0,0,0,0,1,0,0,0,7,0,0,0,248,171,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,0,172,7,0,0,0,0,0,5,0,0,0,243,0,0,0,240,170,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,232,171,7,0,0,0,0,0,5,0,0,0,243,0,0,0,232,169,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,224,170,7,0,0,0,0,0,5,0,0,0,243,0,0,0,224,168,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,216,169,7,0,0,0,0,0,1,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,7,7,7,8,8,7,7,7,7,8,8,8,8,9,8,7,7,8,8,8,9,9,9,9,7,7,6,6,6,9,7,7,9,7,7,9,8,8,10,8,8,10,8,8,10,8,8,10,8,8,10,8,8,7,6,6,9,6,6,9,6,6,9,7,7,10,8,8,9,6,6,9,7,7,10,8,8,9,7,7,7,8,8,11,9,9,11,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,10,9,12,8,8,8,7,7,10,9,9,11,9,9,11,9,9,11,11,10,11,9,9,11,10,9,11,10,11,11,9,9,10,8,8,11,9,9,11,9,9,11,9,9,11,10,10,11,9,9,11,9,9,11,10,10,11,9,9,9,8,8,12,9,9,12,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,9,9,12,8,8,9,7,7,11,9,10,11,10,9,11,9,9,11,11,11,11,9,9,11,10,10,11,11,11,11,9,9,10,9,9,11,9,9,11,10,10,11,10,9,11,10,10,11,9,9,11,10,10,11,10,11,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,6,6,6,8,8,7,8,8,7,9,8,10,11,11,9,8,8,7,8,8,11,11,11,9,8,8,6,7,7,10,10,10,10,10,10,10,10,10,14,13,13,12,11,11,10,10,10,14,14,13,13,11,11,6,6,6,8,5,5,8,7,7,8,7,7,11,9,9,9,7,7,8,7,7,12,10,10,10,7,7,7,8,8,12,11,11,12,10,10,11,10,10,14,13,13,13,10,10,11,10,11,16,14,14,13,10,10,7,8,7,12,12,12,12,11,11,12,11,11,16,14,15,13,12,12,11,11,11,17,15,14,14,13,13,10,9,9,13,11,11,13,11,11,12,11,11,16,14,13,14,11,11,12,11,11,16,15,14,14,11,11,7,8,8,12,11,11,12,10,10,12,10,10,16,14,13,13,11,11,12,10,10,16,14,14,13,10,10,8,8,8,12,12,12,12,11,11,12,11,11,16,14,15,14,12,12,12,11,11,16,15,15,14,12,12,10,10,10,13,11,11,13,11,11,12,12,12,16,14,14,14,11,11,12,11,11,17,14,15,14,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,14,14,6,8,8,14,14,7,7,7,14,14,0,13,13,15,16,0,13,13,15,15,7,8,8,15,15,9,10,10,16,16,9,8,8,14,15,0,13,13,17,17,0,13,13,16,16,8,8,8,15,15,12,11,11,16,16,9,8,8,14,14,0,13,13,17,17,0,13,13,15,15,0,14,14,16,16,0,0,0,18,19,0,12,12,16,15,0,16,16,0,20,0,14,14,16,16,0,14,14,17,17,0,0,0,19,19,0,12,12,15,15,0,18,17,21,21,0,14,14,16,16,5,7,7,12,13,9,10,9,14,14,11,10,10,14,14,0,0,0,18,17,0,20,21,18,18,9,10,10,14,14,12,12,12,17,16,12,10,10,14,14,0,20,20,18,17,0,21,21,17,17,11,10,10,14,14,15,13,13,18,18,13,11,11,14,14,0,20,0,18,18,0,20,21,18,17,0,21,0,18,19,0,0,0,0,21,0,21,20,16,17,0,0,0,21,21,0,0,0,20,18,0,20,0,17,18,0,0,0,0,0,0,0,20,16,17,0,0,0,20,0,0,0,0,18,18,6,6,6,13,13,8,5,5,11,11,9,6,6,13,13,0,9,9,12,12,0,10,10,14,14,9,7,7,13,13,12,9,9,13,13,10,6,6,13,13,0,10,10,14,14,0,10,10,13,13,9,7,7,13,13,13,10,10,13,13,11,6,6,13,13,0,10,10,15,15,0,10,10,13,13,0,12,11,15,15,0,20,19,17,16,0,9,9,13,13,0,13,13,20,19,0,11,11,13,13,0,11,11,15,15,0,20,19,17,17,0,10,10,13,13,0,14,15,0,21,0,12,12,13,13,0,10,10,12,12,0,11,11,15,15,0,11,11,15,15,0,15,15,20,20,0,16,16,0,0,0,11,11,15,15,0,14,14,17,17,0,11,11,15,15,0,15,15,20,21,0,16,16,21,21,0,12,12,15,15,0,15,15,18,20,0,11,11,16,15,0,15,15,21,21,0,16,16,0,21,0,16,16,0,0,0,0,0,0,0,0,14,14,21,21,0,17,18,0,0,0,16,17,20,0,0,16,16,0,0,0,0,0,0,0,0,15,15,20,20,0,19,18,0,21,0,18,17,0,0,0,10,10,11,11,0,10,10,10,10,0,11,11,12,12,0,11,11,9,9,0,13,13,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,12,12,13,13,0,12,12,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,13,13,13,13,0,12,12,12,12,0,14,13,13,13,0,19,21,15,15,0,12,11,12,12,0,16,15,19,19,0,13,13,11,11,0,13,13,13,13,0,0,21,15,16,0,12,12,12,12,0,16,16,19,21,0,13,13,12,12,7,7,7,16,16,11,9,9,16,16,12,9,9,16,16,0,13,13,16,16,0,14,14,17,16,11,9,9,16,16,14,12,11,17,17,13,8,9,15,15,0,13,13,19,19,0,13,13,16,15,12,10,10,17,17,15,12,12,19,18,14,9,9,17,16,0,14,14,18,0,0,14,13,16,16,0,14,15,18,17,0,21,0,19,21,0,12,12,16,16,0,16,16,0,0,0,14,14,16,16,0,14,14,18,18,0,0,21,20,0,0,13,13,16,17,0,18,18,0,0,0,15,14,17,16,8,7,7,14,14,11,10,10,15,15,13,10,10,15,15,0,21,20,19,19,0,21,0,17,18,11,10,10,15,16,14,12,12,18,18,14,11,11,15,14,0,21,20,18,19,0,0,21,18,18,12,11,11,16,16,16,14,14,18,20,14,11,11,16,15,0,20,20,19,19,0,0,20,18,18,0,21,0,18,19,0,0,0,0,0,0,20,20,17,18,0,0,0,20,20,0,0,0,19,19,0,0,0,20,18,0,0,0,0,0,0,0,21,18,18,0,21,21,0,21,0,0,0,19,20,11,9,9,14,14,13,10,10,14,14,13,11,11,15,15,0,13,13,13,13,0,14,14,16,16,13,11,11,15,15,16,12,12,15,15,14,10,10,14,14,0,14,14,16,16,0,14,14,15,15,13,10,10,15,15,17,13,14,15,16,15,10,10,15,15,0,14,14,17,16,0,14,14,15,15,0,15,15,17,17,0,0,21,18,18,0,13,13,15,15,0,16,16,21,20,0,14,14,15,14,0,15,14,16,17,0,0,20,20,19,0,13,13,15,15,0,19,18,0,0,0,15,15,15,15,0,11,11,14,14,0,12,12,16,16,0,12,12,16,16,0,15,16,21,21,0,16,17,21,0,0,12,12,17,16,0,14,14,18,19,0,11,11,16,16,0,15,15,20,21,0,16,16,21,0,0,12,12,17,16,0,15,15,19,19,0,12,12,16,17,0,16,15,0,0,0,16,16,0,0,0,17,17,0,21,0,0,0,0,0,0,14,15,20,0,0,17,17,0,0,0,17,17,0,0,0,17,16,0,0,0,0,0,0,0,0,15,15,0,0,0,18,18,0,0,0,18,17,0,0,0,11,11,14,14,0,12,12,15,15,0,12,12,15,15,0,13,13,14,14,0,14,14,17,17,0,12,12,16,16,0,14,14,16,16,0,11,11,15,15,0,13,13,16,17,0,13,13,16,16,0,12,12,15,15,0,14,14,17,16,0,11,11,15,15,0,14,14,17,17,0,13,13,16,16,0,15,15,17,18,0,21,20,20,21,0,12,12,15,15,0,16,16,20,21,0,14,14,15,15,0,14,14,17,17,0,0,0,18,19,0,12,13,15,15,0,18,17,21,0,0,14,15,15,15,8,8,8,16,16,12,10,10,16,16,13,9,9,16,16,0,14,14,18,17,0,14,14,16,17,12,10,10,18,17,14,12,11,18,18,14,9,9,16,16,0,13,13,18,18,0,13,13,17,16,12,9,9,16,17,17,13,13,17,17,14,9,9,15,15,0,14,14,20,19,0,13,13,16,16,0,15,15,19,18,0,0,0,20,19,0,12,13,17,17,0,16,16,20,0,0,14,14,16,17,0,14,14,19,18,0,0,0,20,20,0,13,13,16,16,0,18,17,0,0,0,15,15,16,16,9,7,7,14,14,12,10,10,15,15,13,10,10,15,15,0,21,0,18,19,0,20,21,19,18,12,10,10,16,15,15,13,13,18,18,14,11,11,15,15,0,0,0,19,18,0,0,21,18,18,13,11,11,15,15,16,14,14,17,19,15,11,11,15,15,0,21,21,20,18,0,0,21,18,18,0,0,21,21,19,0,0,0,0,0,0,19,20,18,17,0,0,0,21,21,0,21,0,20,18,0,0,21,19,19,0,0,0,0,0,0,20,21,17,17,0,0,0,0,0,0,21,0,18,20,0,10,10,14,14,0,11,11,15,15,0,11,11,15,15,0,14,14,15,15,0,15,15,16,16,0,11,12,16,16,0,13,13,16,16,0,11,11,15,15,0,14,14,17,17,0,14,14,15,15,0,11,11,16,15,0,14,14,15,15,0,11,11,15,15,0,15,15,17,17,0,14,14,15,15,0,16,16,18,18,0,0,0,20,19,0,14,13,16,15,0,17,17,21,0,0,15,15,15,15,0,16,15,17,16,0,20,0,20,18,0,13,14,15,15,0,19,18,0,21,0,15,15,15,15,0,11,11,14,14,0,12,12,16,16,0,12,12,16,16,0,16,15,20,21,0,17,16,0,0,0,12,12,16,16,0,14,14,18,18,0,11,11,16,16,0,15,15,21,20,0,16,16,0,0,0,12,12,16,17,0,15,14,19,19,0,11,12,16,16,0,15,15,21,0,0,16,16,0,0,0,16,17,0,0,0,0,0,0,0,0,15,15,21,0,0,17,17,0,0,0,17,17,0,0,0,17,16,0,0,0,0,0,0,0,0,15,15,0,20,0,19,20,0,0,0,17,17,0,0,0,12,12,15,15,0,12,12,15,15,0,12,12,16,16,0,13,13,15,15,0,15,15,17,17,0,13,13,17,16,0,14,14,17,17,0,11,11,16,16,0,14,14,17,17,0,13,13,16,16,0,12,12,16,16,0,15,15,16,17,0,11,11,15,16,0,14,14,17,17,0,13,14,16,16,0,15,15,18,18,0,21,20,20,19,0,13,13,16,17,0,16,16,0,0,0,14,14,16,16,0,15,15,18,18,0,0,0,20,19,0,13,13,16,16,0,17,17,0,0,0,14,14,16,16,0,11,11,16,16,0,13,13,18,17,0,13,13,17,17,0,16,16,17,17,0,16,16,17,18,0,12,12,17,17,0,15,15,18,18,0,12,12,16,16,0,16,16,19,19,0,15,15,16,17,0,12,12,17,17,0,17,17,18,18,0,12,12,17,17,0,16,16,19,19,0,15,16,17,17,0,16,16,18,17,0,0,0,21,21,0,13,13,16,16,0,17,17,0,20,0,15,15,16,17,0,16,16,19,18,0,0,21,20,21,0,14,14,17,16,0,20,0,0,0,0,15,16,16,17,0,9,9,14,14,0,13,13,16,16,0,14,14,15,15,0,0,20,19,19,0,0,0,19,19,0,12,12,15,15,0,15,16,19,18,0,14,14,15,15,0,21,0,18,18,0,20,0,17,18,0,13,13,16,16,0,17,17,17,19,0,14,14,16,15,0,21,20,20,19,0,0,0,19,19,0,0,0,19,18,0,0,0,0,0,0,20,20,17,18,0,0,0,21,21,0,0,0,18,18,0,21,0,18,19,0,0,0,0,0,0,20,21,18,18,0,0,0,20,21,0,0,0,19,19,0,18,18,15,15,0,20,21,17,17,0,19,21,17,17,0,0,0,17,18,0,0,0,20,19,0,19,19,17,17,0,0,0,18,18,0,19,20,16,17,0,0,21,20,20,0,19,20,19,18,0,19,20,16,16,0,0,0,18,19,0,19,20,17,17,0,0,21,0,20,0,21,21,17,19,0,20,0,19,20,0,0,0,20,0,0,19,18,17,16,0,0,0,0,0,0,0,20,17,17,0,20,21,18,20,0,0,0,0,21,0,19,20,17,17,0,0,0,0,0,0,20,21,17,17,0,11,11,14,14,0,13,13,16,17,0,13,13,16,16,0,17,17,0,21,0,18,17,21,0,0,13,13,16,16,0,15,15,18,18,0,12,12,16,16,0,17,16,21,0,0,17,17,0,0,0,12,12,17,17,0,17,17,19,21,0,13,12,16,16,0,17,17,0,0,0,17,17,0,0,0,18,17,0,21,0,0,0,0,0,0,15,15,20,0,0,20,18,0,0,0,17,18,0,0,0,16,17,0,0,0,0,0,0,0,0,15,15,0,0,0,19,19,0,0,0,18,18,0,0,0,14,14,18,18,0,16,16,0,21,0,16,16,21,21,0,17,17,0,20,0,17,17,20,0,0,16,15,0,0,0,20,20,0,0,0,15,15,20,20,0,17,17,21,0,0,17,18,20,20,0,15,15,20,20,0,18,18,0,0,0,15,15,19,20,0,17,18,0,0,0,17,17,20,20,0,18,17,21,0,0,0,0,0,21,0,15,15,20,20,0,19,19,0,0,0,17,17,21,0,0,17,17,0,0,0,0,0,21,0,0,15,15,19,19,0,20,21,0,0,0,18,17,21,21,0,12,12,16,16,0,14,14,17,17,0,13,13,17,18,0,16,16,18,17,0,16,16,18,18,0,13,13,18,18,0,15,16,19,18,0,13,13,16,16,0,16,16,20,18,0,16,16,17,17,0,12,13,17,17,0,17,16,18,18,0,12,12,16,16,0,17,16,20,19,0,16,16,16,16,0,16,17,18,20,0,0,0,21,20,0,14,14,17,16,0,19,18,0,20,0,16,16,17,16,0,16,16,17,18,0,0,21,21,21,0,14,14,16,16,0,20,20,21,0,0,16,16,16,16,0,10,10,14,14,0,14,14,15,16,0,14,14,15,15,0,0,21,18,18,0,0,21,18,19,0,13,13,16,16,0,16,16,18,18,0,14,14,15,15,0,21,0,18,18,0,21,0,18,18,0,13,13,16,16,0,17,17,19,20,0,14,14,15,15,0,0,0,18,20,0,0,21,18,18,0,0,21,19,18,0,0,0,0,0,0,20,21,18,17,0,0,0,21,21,0,0,0,19,19,0,21,0,18,19,0,0,0,0,0,0,21,20,17,17,0,0,21,20,0,0,0,0,19,19,0,19,20,15,16,0,0,20,18,17,0,20,21,17,18,0,21,0,18,18,0,0,0,19,19,0,20,20,17,18,0,0,0,18,19,0,20,20,18,17,0,0,0,0,20,0,0,21,17,18,0,20,21,17,17,0,0,0,18,18,0,19,19,17,17,0,0,0,21,21,0,20,20,17,17,0,0,0,21,19,0,0,0,20,19,0,21,20,17,18,0,0,0,0,0,0,0,20,18,17,0,21,20,18,18,0,0,0,20,21,0,20,20,17,17,0,0,0,0,0,0,20,0,17,17,0,11,11,13,14,0,13,13,16,16,0,13,13,16,16,0,17,17,0,0,0,17,18,0,0,0,13,13,16,16,0,15,16,18,18,0,13,13,16,17,0,16,17,20,0,0,17,18,20,0,0,13,13,17,17,0,16,16,20,21,0,13,13,16,16,0,17,17,21,0,0,17,18,0,0,0,17,18,0,21,0,0,0,0,0,0,15,15,20,0,0,19,19,0,0,0,17,17,0,0,0,18,17,21,20,0,0,0,0,0,0,16,16,20,21,0,21,20,0,21,0,19,21,0,0,0,15,15,0,0,0,16,17,0,19,0,16,16,0,0,0,17,17,0,0,0,19,18,0,0,0,16,16,20,20,0,20,18,21,0,0,15,15,21,21,0,18,18,0,0,0,18,19,0,0,0,16,15,0,21,0,20,19,0,0,0,16,16,0,0,0,20,18,0,21,0,17,18,21,0,0,18,19,0,0,0,0,0,0,0,0,16,16,20,20,0,19,20,0,0,0,17,17,0,0,0,18,17,20,21,0,0,0,0,0,0,16,16,0,20,0,20,22,0,0,0,18,18,0,22,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,8,8,10,12,12,11,11,9,11,11,12,13,11,12,12,11,11,11,12,12,12,12,10,13,12,13,13,11,12,12,13,13,11,12,12,13,13,11,12,13,13,13,11,13,13,13,13,10,13,13,12,13,11,12,12,14,14,11,13,12,12,12,11,12,12,13,13,11,13,13,12,12,11,13,13,13,13,11,12,12,13,13,11,13,13,12,12,11,12,12,13,13,11,13,13,12,12,11,13,13,13,13,11,12,12,14,14,11,13,13,12,12,11,12,12,13,13,11,13,13,12,12,11,10,10,10,10,12,10,10,11,11,11,8,8,11,11,13,10,10,10,10,12,10,10,10,10,13,11,11,11,11,13,10,10,11,11,13,11,11,12,12,13,11,11,11,11,13,11,11,12,12,13,11,11,12,12,13,10,10,11,11,13,11,11,11,11,13,11,10,11,11,13,11,11,11,11,13,11,11,11,11,13,10,10,11,11,13,11,11,11,11,12,10,11,11,11,13,11,11,11,11,13,11,11,11,11,13,10,10,11,11,13,11,11,11,11,13,11,11,11,11,13,11,11,11,11,11,10,10,10,10,12,10,10,9,9,12,12,12,11,11,13,12,12,9,9,13,12,12,10,10,12,12,12,12,12,13,13,13,14,14,13,12,12,11,11,13,13,13,12,12,13,12,12,11,11,13,12,13,11,11,13,13,13,14,14,13,12,12,10,10,13,13,13,11,11,13,12,12,10,10,13,13,13,11,11,13,13,13,14,14,13,12,12,10,10,13,13,13,11,11,13,12,13,10,10,13,13,13,11,11,13,13,13,14,14,13,12,12,10,10,13,13,13,11,11,13,13,12,10,10,14,12,12,8,8,14,12,12,9,9,14,11,11,9,9,14,12,12,8,8,14,11,11,7,7,14,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,12,12,9,9,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,14,12,12,9,9,14,13,13,9,9,14,13,13,9,9,15,12,12,9,9,15,13,13,9,9,14,12,12,9,9,14,13,13,9,9,14,13,13,9,9,15,12,12,9,9,14,13,13,9,9,14,12,12,9,9,14,13,13,9,9,13,12,12,8,8,13,13,13,8,8,14,13,13,9,9,13,13,13,7,7,14,13,13,8,8,14,14,14,10,10,14,14,14,11,11,14,14,14,9,9,14,14,14,10,10,14,14,14,9,9,14,14,14,10,9,15,14,14,11,11,14,14,14,9,9,14,14,14,10,10,14,14,14,9,9,14,14,14,9,9,15,14,14,11,11,14,14,14,8,8,14,14,14,9,9,14,14,14,8,8,14,14,14,9,9,15,14,14,11,11,14,14,14,8,8,14,14,14,9,9,14,14,14,8,8,12,12,12,13,13,16,15,15,11,11,16,15,16,12,12,17,16,16,11,11,17,15,15,12,11,16,16,16,12,13,16,15,15,13,13,16,16,16,12,12,16,16,15,13,13,16,16,16,12,12,16,16,16,13,13,17,16,16,14,14,17,17,16,12,12,17,16,16,13,13,17,17,16,12,13,16,16,17,13,12,17,16,16,14,13,17,16,16,12,12,17,16,16,12,12,17,16,17,12,12,17,17,17,13,13,16,16,16,13,14,17,17,16,12,12,16,16,16,13,13,17,17,17,12,12,13,14,14,10,10,16,14,14,12,12,16,15,15,14,14,16,14,14,12,12,15,14,14,13,13,17,15,15,14,13,16,16,15,15,15,16,15,15,14,14,16,15,15,14,14,17,15,15,14,14,16,15,15,14,14,16,16,15,15,15,17,15,15,13,13,16,15,15,14,14,17,15,15,13,13,17,15,15,14,14,16,15,15,15,15,16,14,14,13,13,16,15,15,14,14,16,14,14,13,13,17,15,15,14,14,16,16,15,15,15,17,14,14,13,13,16,15,15,14,14,17,14,14,13,13,13,11,11,10,10,16,14,14,13,13,15,14,14,13,13,16,14,14,12,12,16,14,14,12,12,15,15,15,14,14,16,14,14,14,14,16,15,14,14,14,16,14,14,14,14,16,15,15,14,13,16,15,15,14,14,16,14,14,14,14,17,15,15,14,14,16,14,14,14,14,16,15,15,13,14,16,15,15,14,14,16,14,14,14,14,16,15,15,13,13,16,14,14,13,13,16,15,15,13,13,16,15,15,14,14,16,14,14,14,14,17,15,15,13,13,16,15,14,13,13,17,15,15,13,13,14,14,14,9,9,14,14,14,17,17,14,15,15,18,18,14,14,14,18,19,14,14,14,18,18,15,15,15,19,18,15,16,15,18,20,15,15,15,18,19,15,15,15,19,19,15,15,15,18,20,15,15,15,18,19,15,15,16,20,18,15,15,15,18,18,15,15,15,19,19,15,15,15,18,19,15,15,15,18,19,15,15,15,19,19,14,15,14,19,19,15,15,15,20,19,15,14,14,19,18,14,15,15,18,19,15,15,16,20,20,14,14,14,18,19,15,15,15,19,18,14,14,14,18,18,14,12,12,9,9,13,14,14,18,18,14,13,13,18,19,14,14,14,18,18,14,14,14,18,18,15,15,15,19,19,15,14,14,19,18,14,15,15,19,18,15,14,14,18,18,15,15,15,19,18,14,15,15,19,19,15,14,14,19,18,14,15,15,19,18,15,14,14,19,18,14,15,15,19,18,15,15,15,21,18,15,14,14,19,18,14,15,15,18,19,14,15,14,20,19,14,15,15,18,19,14,15,15,19,19,15,14,14,19,20,14,15,15,18,18,14,14,14,19,19,14,15,15,19,18,12,12,12,13,13,16,15,15,11,11,16,15,15,12,12,16,16,16,11,11,16,15,15,11,11,16,16,16,13,13,17,16,16,13,13,17,17,17,12,12,16,16,16,13,13,17,16,17,13,12,15,16,16,12,12,16,15,15,13,13,17,16,16,12,12,16,16,15,12,12,16,16,16,12,12,17,17,16,13,12,16,16,16,13,13,17,16,16,12,12,17,16,16,12,12,17,17,16,12,12,16,17,16,12,12,17,15,15,13,13,17,16,16,12,12,16,16,16,12,12,16,16,16,12,12,13,13,13,9,9,15,14,14,13,13,16,15,14,14,14,16,14,14,13,13,15,14,14,13,13,17,15,15,14,14,16,15,15,15,15,16,15,15,14,14,16,15,15,15,15,17,15,15,14,14,16,15,15,14,14,16,15,15,15,15,17,14,15,14,14,16,15,15,14,14,17,15,15,13,14,17,15,15,14,14,16,15,15,15,15,17,14,14,13,13,16,15,15,14,14,17,14,14,13,13,17,15,15,14,14,16,15,16,15,15,17,14,14,13,13,16,15,15,14,14,18,14,14,13,13,13,11,11,11,11,15,14,14,12,12,15,14,14,13,13,16,14,14,12,12,16,13,14,12,12,16,15,15,13,13,16,14,14,14,14,16,15,15,13,13,16,14,14,13,13,16,14,15,13,13,15,15,15,13,13,16,14,14,14,13,16,14,14,13,13,16,14,14,13,13,16,15,15,13,13,16,15,15,13,13,16,14,14,14,14,16,15,15,12,12,16,14,14,13,13,16,15,15,12,12,16,15,15,13,13,16,14,14,14,14,17,15,14,12,12,16,14,14,13,13,16,15,15,12,12,14,14,14,8,8,14,14,14,17,18,14,15,15,17,18,14,14,14,17,18,14,14,14,18,18,14,15,15,18,18,14,16,15,19,19,15,15,15,18,19,15,16,15,20,19,15,15,15,18,18,14,15,15,18,19,15,16,16,20,19,15,15,15,19,17,14,15,15,20,18,14,15,15,18,18,14,15,15,18,19,14,15,15,19,20,14,14,14,18,18,14,15,15,18,19,14,14,14,18,19,14,15,15,19,18,15,16,16,20,21,14,14,15,19,19,14,15,15,19,19,14,14,14,19,18,13,12,12,9,9,13,14,14,18,19,14,14,14,18,19,14,14,14,18,18,14,14,14,18,18,14,15,15,19,19,15,14,14,19,18,15,15,15,19,19,15,14,14,19,20,14,15,15,18,19,14,15,15,20,18,15,14,14,18,18,14,15,15,18,18,14,14,14,19,19,14,15,15,18,18,14,15,15,19,18,15,14,14,19,19,14,15,15,19,18,15,14,14,19,18,14,14,15,18,19,14,15,15,19,18,15,14,14,18,19,14,15,14,19,20,14,14,14,19,19,14,15,15,19,19,12,12,12,13,13,16,16,16,11,11,16,16,16,12,12,17,16,16,11,11,17,15,15,11,11,16,16,16,13,13,17,15,16,13,13,16,16,16,12,12,17,16,16,13,13,17,17,16,12,12,17,17,16,13,13,17,16,16,13,13,17,17,17,12,12,17,16,16,13,13,17,17,17,12,12,16,16,16,12,12,17,15,15,13,13,17,16,16,11,11,17,16,16,12,12,16,16,16,11,11,16,17,16,12,12,17,16,16,13,13,17,17,16,12,12,17,17,16,12,12,17,16,16,11,11,13,14,14,9,9,16,14,14,13,13,16,14,15,14,14,16,14,14,12,12,16,14,14,13,13,17,15,15,14,14,16,15,15,15,15,17,15,15,14,14,16,15,15,14,14,17,15,15,14,14,16,15,15,14,14,16,15,15,15,16,17,14,15,14,14,16,15,15,14,14,17,15,15,14,14,16,15,15,14,14,16,15,15,15,15,17,14,14,13,13,16,15,15,14,14,16,14,14,13,13,17,15,15,14,14,16,16,15,15,15,17,14,14,13,13,16,15,15,14,14,17,14,14,13,13,13,11,11,10,10,16,14,14,12,12,15,13,13,13,12,16,14,14,11,11,16,14,14,11,11,16,14,15,13,14,16,14,14,13,13,16,15,15,13,13,16,14,14,13,13,16,15,15,13,13,16,15,15,13,13,17,14,14,14,14,17,15,15,13,13,16,14,15,13,13,16,15,15,13,13,16,15,15,13,13,16,14,14,13,13,17,15,15,12,12,16,14,14,12,12,16,15,15,12,12,16,15,15,13,13,16,14,14,13,13,17,15,15,12,12,17,14,14,12,12,16,15,15,12,12,13,14,14,8,8,13,14,14,18,18,13,15,15,17,18,14,14,14,18,19,14,14,14,19,18,14,15,15,19,18,15,15,16,21,18,15,15,15,19,19,14,16,16,19,19,14,15,15,18,19,14,15,15,19,20,14,16,16,19,18,15,15,15,18,19,14,15,15,19,18,15,15,15,18,18,15,15,15,20,18,15,16,16,20,19,14,15,14,18,19,14,15,16,19,20,14,15,15,19,18,15,15,15,19,18,15,16,16,20,19,15,14,14,18,18,14,15,15,19,19,14,15,15,18,18,13,12,12,8,8,13,14,14,19,18,14,13,13,20,18,14,14,14,19,18,14,13,13,18,19,14,15,15,20,19,15,14,14,19,19,14,15,15,19,18,15,14,14,20,20,15,15,15,19,18,14,15,15,19,18,15,14,14,19,18,14,15,15,20,19,14,14,14,20,19,14,15,15,19,18,15,15,15,18,18,15,14,14,18,18,14,15,15,19,19,14,14,14,19,19,14,15,15,19,19,15,15,15,19,18,15,14,14,20,19,15,15,15,19,19,14,14,14,20,19,14,15,15,20,20,12,12,12,13,13,17,16,16,11,11,16,16,15,12,12,17,16,16,11,11,17,15,15,11,11,17,17,17,13,13,17,16,16,13,13,17,17,17,12,12,17,16,16,13,13,17,17,16,12,13,16,17,16,13,13,17,16,15,13,13,17,16,16,12,12,17,16,16,12,13,17,16,17,12,12,17,17,17,12,12,17,16,15,13,13,17,16,16,12,12,17,16,16,12,12,17,16,16,11,11,16,16,16,12,12,17,15,15,13,13,17,16,15,11,11,16,16,16,12,12,17,16,16,11,11,13,14,14,9,9,16,14,14,13,13,16,14,15,14,14,16,14,14,12,12,16,14,14,13,13,17,15,15,14,15,16,15,15,15,15,17,15,15,14,14,16,15,15,15,14,16,15,15,14,14,16,15,15,14,14,16,15,16,15,15,17,15,14,14,14,16,15,15,14,14,17,15,15,13,13,16,15,15,14,14,16,16,16,15,15,17,14,14,13,13,16,15,15,14,14,18,14,15,13,13,16,15,15,14,14,16,16,15,15,15,16,14,14,13,13,16,15,15,14,14,17,14,15,13,13,13,11,11,10,10,15,14,14,12,12,15,14,14,13,13,16,14,14,12,12,16,13,14,12,12,16,14,15,14,13,16,14,14,14,14,16,15,15,13,13,16,14,14,13,13,16,15,15,13,13,15,15,15,13,13,16,14,14,14,14,17,15,15,13,13,16,14,14,13,13,16,15,15,13,13,16,15,15,13,13,16,14,14,13,13,17,15,15,12,12,16,14,14,12,12,16,14,15,12,12,16,15,15,13,13,16,14,14,13,13,17,15,15,12,12,16,14,14,12,12,16,15,15,12,12,14,14,14,8,8,14,14,14,17,17,14,15,15,18,18,14,14,14,18,17,14,14,14,18,18,14,15,15,18,20,15,16,15,19,18,15,15,15,19,18,15,15,16,19,18,15,15,15,18,18,14,15,15,18,18,15,16,16,18,19,15,15,15,18,18,15,15,15,19,20,15,15,15,18,18,15,15,15,18,18,15,16,16,19,19,15,14,15,19,19,15,15,15,19,20,14,14,15,18,18,15,15,15,19,19,15,16,16,19,19,15,15,14,18,19,15,15,15,20,20,15,15,14,18,18,13,12,12,8,8,13,14,14,18,18,14,14,14,18,18,14,14,14,18,20,14,14,14,18,18,14,15,15,19,18,15,14,14,18,19,15,15,15,18,19,15,14,14,18,19,15,15,15,18,18,14,15,14,18,19,15,14,14,21,19,15,15,15,19,18,14,14,14,19,18,14,15,15,19,18,15,15,15,20,19,15,14,14,20,18,14,15,15,18,19,14,14,14,19,18,14,15,15,18,19,15,15,15,18,19,15,14,14,19,19,15,15,15,19,19,14,14,14,19,20,14,15,15,18,19,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,7,8,8,7,8,8,7,9,9,10,12,11,9,8,8,7,9,9,11,12,12,9,9,9,6,7,7,10,11,11,10,11,11,10,11,11,13,13,14,12,12,12,11,11,11,14,14,14,12,12,12,6,5,5,9,6,5,9,6,6,9,7,7,12,10,10,11,6,6,10,7,7,13,10,10,12,7,7,7,8,8,12,10,10,12,10,10,11,10,10,15,13,13,13,9,9,12,11,11,16,13,13,15,11,11,8,7,7,12,12,12,12,11,11,12,11,11,14,14,14,14,12,12,12,12,12,16,15,15,14,12,12,0,10,10,0,12,12,0,12,12,0,11,11,0,14,14,0,11,11,0,12,12,0,15,15,0,11,11,8,8,8,13,11,11,13,10,10,13,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,9,7,7,13,11,11,13,11,11,12,11,11,16,14,14,14,12,12,13,12,12,15,14,14,15,13,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,13,12,0,14,15,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,0,9,9,0,9,9,0,10,10,0,9,9,0,10,10,0,10,10,0,9,9,0,10,10,0,7,7,0,7,7,0,6,6,0,8,8,0,7,7,0,8,8,0,8,9,0,8,8,0,8,8,0,7,7,0,9,9,0,8,8,0,10,10,0,9,9,0,10,10,0,10,10,0,9,9,0,10,10,0,9,9,0,11,11,0,11,11,0,12,12,0,11,11,0,12,12,0,13,13,0,12,12,0,13,12,0,8,8,0,12,12,0,12,12,0,13,13,0,12,12,0,13,13,0,13,13,0,13,13,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,11,11,0,12,12,0,13,13,0,12,12,0,13,13,0,13,13,0,12,12,0,12,12,0,8,8,0,12,12,0,12,12,0,13,13,0,13,13,0,13,14,0,14,13,0,13,13,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,0,7,7,0,8,8,0,9,9,0,12,12,0,8,8,0,9,9,0,12,12,0,8,8,0,6,6,0,11,11,0,12,12,0,12,12,0,15,15,0,11,11,0,12,12,0,15,15,0,12,12,0,5,5,0,5,5,0,6,6,0,7,7,0,11,11,0,6,6,0,7,7,0,10,11,0,6,6,0,7,7,0,11,11,0,12,12,0,11,11,0,15,15,0,10,10,0,12,12,0,15,15,0,12,12,0,6,6,0,12,12,0,12,12,0,12,12,0,15,15,0,11,11,0,12,12,0,15,15,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,11,12,0,15,16,0,11,11,0,6,6,0,11,12,0,12,12,0,12,12,0,16,15,0,12,12,0,13,12,0,15,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,3,7,8,10,13,16,3,2,5,7,9,13,16,6,4,4,6,10,14,15,7,5,5,7,10,13,14,9,8,9,9,9,11,13,12,11,12,9,7,8,11,14,12,10,6,5,7,10,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,248,239,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,206,7,0,0,0,0,0,0,0,0,0,144,206,7,0,184,206,7,0,0,0,0,0,0,0,0,0,224,206,7,0,8,207,7,0,0,0,0,0,0,0,0,0,48,207,7,0,88,207,7,0,0,0,0,0,0,0,0,0,128,207,7,0,168,207,7,0,88,207,7,0,0,0,0,0,208,207,7,0,136,203,7,0,176,203,7],"i8",N3,x.GLOBAL_BASE+500144),E3([2,0,0,0,49,0,0,0,48,206,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,40,206,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,203,7,0,56,203,7,0,0,0,0,0,0,0,0,0,96,203,7,0,136,203,7,0,176,203,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,64,205,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,240,205,7,0,0,0,0,0,2,0,0,0,25,0,0,0,8,205,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,40,205,7,0,0,0,0,0,2,0,0,0,9,0,0,0,232,204,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,248,204,7,0,0,0,0,0,1,0,0,0,25,0,0,0,96,204,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,128,204,7,0,0,0,0,0,1,0,0,0,25,0,0,0,216,203,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,248,203,7,0,0,0,0,0,3,5,4,5,4,5,4,5,5,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,7,7,4,5,6,7,7,4,6,5,7,7,7,6,7,6,7,7,7,6,7,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,3,3,8,8,10,10,10,10,10,10,10,10,5,7,5,9,8,10,10,10,10,11,10,11,10,5,5,7,8,9,10,10,11,10,10,11,10,11,10,10,10,11,11,11,11,11,11,11,10,11,11,10,10,10,10,11,11,11,11,11,10,11,11,11,11,11,11,11,11,12,11,10,11,11,11,11,11,11,11,11,11,11,11,11,10,10,11,11,12,11,11,11,11,11,11,12,11,11,11,10,11,11,11,11,11,11,11,11,10,11,11,10,11,10,11,11,11,11,11,11,11,11,11,11,12,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,11,10,11,11,11,11,11,11,11,12,11,13,11,11,11,11,11,11,11,11,11,11,11,12,11,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,2,3,6,7,9,13,17,3,2,5,7,9,13,17,6,5,5,6,9,12,16,7,7,6,6,7,10,13,10,10,9,7,6,10,13,13,13,12,10,10,11,15,17,17,17,14,14,15,17,0,0,0,0,0,0,0,5,0,0,0,243,0,0,0,240,238,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,232,239,7,0,0,0,0,0,5,0,0,0,243,0,0,0,232,237,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,224,238,7,0,0,0,0,0,5,0,0,0,243,0,0,0,224,236,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,216,237,7,0,0,0,0,0,5,0,0,0,243,0,0,0,216,235,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,208,236,7,0,0,0,0,0,5,0,0,0,53,12,0,0,136,223,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,235,7,0,0,0,0,0,5,0,0,0,53,12,0,0,56,211,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,112,223,7,0,0,0,0,0,1,0,0,0,7,0,0,0,16,211,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,24,211,7,0,0,0,0,0,5,0,0,0,243,0,0,0,8,210,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,0,211,7,0,0,0,0,0,5,0,0,0,243,0,0,0,0,209,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,248,209,7,0,0,0,0,0,5,0,0,0,243,0,0,0,248,207,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,240,208,7,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,7,6,8,8,7,7,8,7,8,8,9,9,9,8,7,7,8,8,8,9,9,9,9,8,8,6,6,6,9,7,7,9,7,7,9,8,8,10,8,8,10,8,8,10,8,8,10,9,8,10,8,8,7,6,6,9,6,6,9,6,6,9,7,7,10,8,8,10,6,6,9,7,7,10,8,8,10,6,6,7,7,7,11,9,9,11,9,9,10,9,9,12,10,10,12,8,8,11,9,9,13,9,10,12,8,8,8,7,7,11,9,10,11,10,10,10,9,9,11,11,11,11,9,9,11,10,9,12,11,11,11,9,10,10,8,8,11,9,10,11,9,9,11,9,9,12,10,10,11,9,9,11,9,9,12,10,11,11,9,9,8,8,8,12,9,9,12,9,9,11,9,9,13,9,9,13,8,8,12,9,9,13,10,10,12,8,8,9,7,7,11,10,10,11,10,10,11,10,10,12,11,11,11,10,9,11,10,10,11,11,11,11,9,9,11,9,9,12,10,10,11,10,10,12,10,10,11,11,11,11,9,9,11,10,10,12,11,11,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,7,7,6,8,8,7,8,8,7,9,9,11,11,11,9,8,8,7,9,9,11,12,11,9,9,9,6,7,7,10,11,11,10,10,10,10,11,11,15,14,14,12,12,12,11,11,11,14,14,14,12,12,12,5,6,6,8,5,5,8,7,7,8,8,8,12,10,10,10,7,7,8,7,7,12,10,10,10,7,7,6,7,7,12,11,11,12,10,10,11,10,10,14,14,13,13,10,10,11,10,10,16,14,14,14,11,10,7,7,7,13,12,12,12,12,11,11,11,11,15,14,17,13,12,12,12,11,11,15,15,15,14,13,13,10,9,9,14,12,11,13,11,11,12,11,11,16,15,14,14,11,11,12,11,11,17,14,14,15,11,11,7,8,8,12,11,11,13,10,10,11,10,10,17,14,13,14,10,10,12,10,10,18,15,15,14,10,10,8,7,7,13,12,12,13,11,11,12,11,11,16,14,15,14,12,12,12,11,11,18,16,16,14,12,12,11,10,10,13,12,11,13,11,11,13,12,12,0,15,14,14,11,11,13,11,11,16,15,15,15,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,1,7,7,14,14,6,8,8,15,16,7,8,8,16,15,0,14,14,17,17,0,14,14,16,16,7,9,9,16,16,10,11,11,17,18,9,8,8,16,16,0,14,14,19,19,0,14,14,17,16,8,9,9,16,16,12,12,12,17,17,10,9,9,16,16,0,15,14,18,20,0,14,14,17,17,0,15,15,18,17,0,21,0,0,21,0,13,13,17,17,0,17,17,0,0,0,15,15,17,17,0,15,15,17,18,0,0,0,0,21,0,13,13,17,17,0,18,18,0,21,0,16,15,17,18,6,7,7,14,14,9,10,10,16,16,11,10,10,15,15,0,21,0,20,21,0,0,0,18,20,10,10,10,15,16,12,13,13,18,18,12,11,11,15,15,0,0,0,20,20,0,0,21,19,19,12,11,11,15,15,15,14,14,18,18,13,11,11,15,16,0,0,0,20,19,0,0,0,20,21,0,0,20,19,19,0,0,0,0,0,0,20,0,17,18,0,0,21,0,0,0,0,0,21,0,0,21,0,20,19,0,0,0,0,0,0,21,0,18,18,0,0,0,21,0,0,0,0,0,20,7,6,6,13,13,9,6,6,12,12,9,7,7,14,14,0,10,10,12,12,0,11,11,15,15,9,7,7,14,14,12,9,9,14,14,10,7,7,14,13,0,11,11,16,15,0,11,11,14,14,9,7,7,14,14,13,10,10,14,14,11,7,7,14,13,0,11,11,16,16,0,11,11,14,14,0,12,12,16,16,0,19,0,17,18,0,10,10,14,14,0,15,14,0,0,0,12,12,14,14,0,12,12,15,15,0,20,0,18,19,0,10,10,14,14,0,16,15,0,20,0,13,13,14,14,0,11,11,13,13,0,12,13,16,16,0,12,12,16,16,0,16,16,0,21,0,17,18,0,0,0,12,12,16,16,0,15,15,18,0,0,12,12,16,16,0,17,16,21,21,0,16,17,0,0,0,13,13,17,16,0,16,16,20,21,0,12,12,17,16,0,17,17,0,21,0,17,17,21,21,0,17,18,0,0,0,0,0,0,0,0,15,15,0,0,0,18,21,0,0,0,18,19,0,0,0,18,17,21,21,0,0,0,0,0,0,16,16,0,0,0,0,0,0,0,0,19,19,0,0,0,11,11,12,12,0,11,11,10,10,0,12,12,13,13,0,12,12,9,9,0,14,14,13,13,0,12,12,13,13,0,14,14,12,13,0,11,11,12,12,0,13,13,13,13,0,13,13,13,13,0,12,12,13,13,0,14,14,12,12,0,11,11,12,12,0,14,13,14,14,0,13,13,13,13,0,15,15,14,15,0,0,0,16,16,0,12,12,13,13,0,16,17,20,21,0,14,13,12,12,0,14,14,14,14,0,21,0,16,16,0,12,12,13,13,0,18,17,21,0,0,14,14,13,13,7,8,8,17,17,11,10,10,18,18,12,10,10,17,17,0,15,15,20,18,0,15,15,17,17,11,9,9,17,17,14,12,12,19,19,13,9,9,16,16,0,15,14,0,19,0,14,14,16,16,12,10,10,20,18,16,13,13,21,20,14,10,10,17,17,0,15,15,21,20,0,15,14,17,17,0,15,15,21,21,0,0,21,0,0,0,13,13,18,18,0,19,16,0,0,0,15,15,17,16,0,16,16,0,21,0,0,0,0,21,0,13,14,18,17,0,20,19,0,0,0,15,15,18,18,8,7,7,15,15,12,11,11,17,16,13,11,11,16,16,0,0,0,21,20,0,0,0,0,20,11,10,10,17,17,14,13,13,19,18,14,11,11,16,16,0,20,0,21,19,0,0,21,0,20,12,11,11,17,17,16,15,15,0,19,14,11,11,17,16,0,21,0,0,19,0,0,0,21,20,0,0,21,20,0,0,0,0,0,0,0,0,0,19,21,0,0,0,0,0,0,0,0,19,20,0,0,0,20,21,0,0,0,0,0,0,20,0,19,21,0,0,0,0,0,0,0,0,21,20,11,10,9,15,15,14,11,11,15,15,14,11,11,16,16,0,14,14,14,14,0,16,15,17,16,13,11,11,16,16,16,13,13,16,16,15,10,10,15,15,0,14,15,17,17,0,14,14,16,15,13,11,11,16,16,17,15,14,16,16,15,10,10,15,15,0,15,15,17,18,0,15,15,16,16,0,16,16,17,17,0,21,0,21,20,0,13,13,15,15,0,18,18,0,21,0,15,15,15,15,0,16,16,17,17,0,0,0,0,18,0,13,13,15,15,0,19,18,0,0,0,15,15,16,16,0,12,12,15,15,0,13,13,17,17,0,13,13,17,18,0,16,17,21,0,0,20,18,0,0,0,13,13,17,17,0,15,15,0,18,0,12,12,17,18,0,16,16,0,0,0,17,17,21,0,0,13,13,18,18,0,16,16,21,21,0,12,12,17,18,0,16,17,21,0,0,17,17,0,21,0,17,18,0,0,0,0,0,0,0,0,16,15,0,21,0,21,19,0,0,0,18,18,0,0,0,18,19,0,0,0,0,0,0,0,0,16,16,21,21,0,20,19,0,0,0,19,21,0,21,0,12,12,15,15,0,12,12,15,16,0,13,13,16,16,0,14,14,15,15,0,16,15,17,17,0,13,13,17,17,0,15,15,16,18,0,12,12,16,16,0,14,14,17,17,0,15,14,16,16,0,13,13,16,16,0,16,15,17,17,0,12,12,16,16,0,15,15,18,18,0,14,14,17,16,0,16,16,17,18,0,0,0,20,21,0,13,13,16,17,0,17,17,0,0,0,15,15,16,16,0,15,16,17,17,0,0,0,19,0,0,13,13,15,16,0,19,18,0,0,0,16,15,16,17,8,8,8,17,17,13,11,10,17,18,13,10,10,17,17,0,15,15,20,19,0,15,15,17,17,12,10,10,19,18,15,12,12,20,18,14,10,10,17,16,0,15,15,20,20,0,14,15,16,16,13,10,10,17,17,17,14,14,0,18,15,10,10,17,17,0,16,15,20,20,0,14,14,17,17,0,15,16,20,20,0,0,21,0,0,0,13,13,17,17,0,18,17,0,0,0,15,16,17,18,0,15,15,18,21,0,0,0,21,0,0,13,13,18,18,0,19,19,0,0,0,16,16,18,17,9,8,8,15,15,12,11,11,16,16,13,11,11,16,15,0,0,0,0,21,0,21,0,19,19,12,11,11,17,18,15,13,13,18,19,14,11,11,16,16,0,0,21,21,19,0,0,0,21,20,13,11,11,18,17,17,14,15,20,21,15,11,12,16,16,0,0,0,20,0,0,0,21,0,19,0,0,0,0,19,0,0,0,0,0,0,21,21,19,19,0,0,0,21,0,0,0,0,19,21,0,0,0,19,20,0,0,0,21,0,0,0,21,19,19,0,0,0,0,0,0,0,0,21,20,0,11,11,15,15,0,12,12,15,16,0,12,12,16,16,0,15,15,16,15,0,16,16,17,17,0,12,12,17,17,0,14,14,17,17,0,11,11,16,16,0,15,15,19,18,0,15,15,16,16,0,12,12,17,16,0,14,15,16,16,0,11,11,15,15,0,16,16,18,19,0,15,15,15,16,0,17,17,18,20,0,21,0,21,19,0,14,14,16,16,0,18,18,0,0,0,16,16,15,15,0,16,16,18,17,0,0,0,19,20,0,14,14,16,16,0,19,19,0,0,0,16,17,15,15,0,12,12,14,15,0,13,13,16,17,0,12,12,17,17,0,17,16,0,0,0,18,17,21,0,0,13,13,19,17,0,15,15,20,21,0,12,12,17,17,0,17,17,0,0,0,17,17,0,0,0,13,13,17,18,0,16,16,21,0,0,12,12,17,17,0,17,17,0,0,0,17,17,0,0,0,18,21,0,0,0,0,0,0,0,0,15,15,21,0,0,20,21,0,0,0,18,19,0,0,0,18,17,0,0,0,0,0,0,0,0,16,16,21,0,0,21,21,0,0,0,18,19,0,0,0,12,12,16,16,0,13,13,16,17,0,13,13,17,16,0,14,14,16,16,0,16,15,19,18,0,13,13,17,17,0,15,15,18,18,0,12,12,16,16,0,15,15,18,19,0,15,15,17,16,0,13,13,17,17,0,16,16,18,17,0,12,12,17,16,0,15,15,18,18,0,15,15,17,17,0,16,16,0,19,0,0,0,0,0,0,14,14,16,17,0,18,18,0,0,0,15,15,17,17,0,16,16,21,19,0,21,0,21,21,0,13,14,16,16,0,19,19,0,0,0,15,16,16,16,0,11,11,17,16,0,15,14,19,18,0,14,14,19,19,0,18,17,18,20,0,17,17,18,19,0,13,13,17,17,0,16,17,21,18,0,13,13,17,16,0,18,17,19,0,0,16,17,18,18,0,12,12,19,18,0,18,18,20,20,0,13,13,17,17,0,17,17,21,0,0,16,17,17,18,0,18,17,19,18,0,0,0,0,0,0,14,14,17,17,0,19,19,21,0,0,16,16,16,17,0,17,17,19,20,0,0,0,0,21,0,15,15,17,18,0,21,21,0,0,0,17,17,17,18,0,10,10,15,15,0,15,14,17,18,0,14,14,16,16,0,0,0,18,0,0,21,0,19,0,0,13,13,17,16,0,17,17,18,0,0,14,14,16,15,0,0,0,21,0,0,21,0,19,18,0,13,13,17,17,0,18,18,20,20,0,15,15,16,16,0,0,0,21,21,0,0,0,20,20,0,0,0,19,0,0,0,0,0,0,0,21,20,18,18,0,0,0,0,0,0,0,0,0,20,0,0,0,0,20,0,0,0,0,0,0,0,0,19,18,0,0,0,0,21,0,0,0,18,20,0,18,19,16,17,0,21,19,17,17,0,0,21,18,18,0,0,21,20,19,0,0,0,20,20,0,0,21,17,17,0,0,0,19,19,0,20,20,17,17,0,0,0,0,20,0,0,20,18,18,0,21,20,17,17,0,0,0,20,21,0,19,0,17,17,0,0,21,0,0,0,20,0,18,19,0,0,0,21,21,0,0,0,0,21,0,20,20,17,17,0,0,0,0,0,0,21,0,18,17,0,0,0,20,19,0,0,0,0,21,0,20,20,17,17,0,0,0,0,0,0,21,21,18,18,0,12,12,15,14,0,14,14,17,17,0,14,14,17,16,0,18,18,21,0,0,19,20,0,0,0,13,13,18,17,0,16,16,19,18,0,13,13,17,17,0,17,17,0,0,0,17,17,21,0,0,13,13,17,17,0,17,17,21,20,0,13,13,18,17,0,18,19,21,21,0,19,18,0,0,0,18,17,0,0,0,0,0,0,0,0,15,16,0,0,0,21,21,0,0,0,20,18,21,0,0,17,18,0,0,0,0,0,0,0,0,15,16,0,0,0,0,20,0,0,0,0,19,0,0,0,15,15,18,19,0,18,17,21,0,0,16,18,0,20,0,17,18,21,0,0,18,20,0,0,0,16,16,21,21,0,19,20,21,0,0,16,15,0,21,0,18,20,0,0,0,18,19,0,0,0,16,15,21,21,0,21,0,0,0,0,16,15,21,0,0,20,19,0,0,0,18,21,21,0,0,20,18,0,0,0,0,0,0,0,0,16,16,0,20,0,21,0,0,0,0,17,18,20,21,0,18,18,21,21,0,0,0,0,0,0,16,16,20,0,0,0,21,0,0,0,21,18,0,0,0,12,12,20,17,0,15,15,19,18,0,14,14,19,18,0,18,17,21,19,0,17,17,21,17,0,13,13,21,19,0,16,17,20,19,0,13,13,16,16,0,17,17,20,21,0,16,16,19,17,0,13,13,18,18,0,17,19,19,19,0,13,13,17,17,0,18,18,0,19,0,16,17,18,18,0,16,17,19,21,0,0,0,0,0,0,15,15,16,17,0,20,19,21,0,0,17,17,17,17,0,17,17,21,19,0,0,0,0,0,0,15,15,17,17,0,21,0,0,0,0,18,18,17,17,0,10,10,15,15,0,15,15,17,17,0,15,14,16,16,0,0,0,21,19,0,21,21,19,21,0,13,13,17,16,0,17,17,18,19,0,14,15,16,15,0,0,0,21,19,0,21,21,18,19,0,14,14,16,17,0,18,18,18,19,0,15,15,15,16,0,0,21,0,21,0,0,0,19,20,0,0,0,21,19,0,0,0,0,0,0,21,21,19,17,0,0,0,0,0,0,0,0,21,21,0,21,0,0,21,0,0,0,0,0,0,21,21,19,18,0,0,0,0,0,0,0,0,0,19,0,21,18,18,17,0,21,0,20,20,0,0,0,18,20,0,0,21,18,21,0,0,0,21,18,0,0,0,0,19,0,0,0,21,21,0,20,21,17,19,0,21,0,21,0,0,21,0,18,18,0,20,21,17,18,0,0,0,21,19,0,20,21,17,18,0,0,0,21,21,0,0,0,20,19,0,0,0,21,21,0,0,0,0,0,0,21,21,19,18,0,0,0,0,0,0,0,21,19,18,0,21,21,19,0,0,0,0,21,0,0,21,21,18,17,0,0,0,0,0,0,21,0,21,18,0,12,12,14,14,0,15,14,17,17,0,14,14,17,16,0,19,17,0,0,0,19,19,0,0,0,13,13,17,17,0,17,17,20,20,0,13,13,18,18,0,18,17,0,0,0,18,21,0,0,0,13,13,17,17,0,18,18,21,20,0,14,14,18,19,0,19,18,21,0,0,19,19,0,0,0,20,18,20,0,0,0,0,0,0,0,15,16,0,0,0,21,21,0,0,0,19,19,0,0,0,18,18,0,0,0,0,0,0,0,0,16,16,0,21,0,0,0,0,0,0,19,20,0,0,0,15,15,20,21,0,17,17,21,21,0,17,17,0,0,0,19,18,0,0,0,18,19,0,0,0,17,16,0,21,0,0,20,0,0,0,16,16,0,20,0,19,19,0,21,0,19,18,0,21,0,16,16,0,0,0,21,21,0,0,0,16,16,0,0,0,21,21,0,0,0,19,19,0,0,0,20,0,0,0,0,0,0,0,0,0,17,17,0,21,0,0,20,0,0,0,20,18,21,21,0,19,18,0,20,0,0,0,0,0,0,16,17,21,0,0,0,21,0,0,0,19,20,21,20,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,3,4,9,9,10,12,12,12,11,10,12,12,13,12,11,13,12,11,11,11,12,12,12,11,11,13,13,13,13,11,12,12,14,14,12,13,13,13,13,11,13,13,13,13,11,13,13,13,13,11,13,13,13,13,11,12,12,14,14,12,13,13,12,12,11,13,13,13,13,11,13,13,12,12,11,13,13,13,13,12,12,13,14,14,12,13,13,12,12,11,13,13,13,13,11,13,13,12,12,11,13,13,13,13,12,13,13,14,14,12,13,13,12,12,11,13,13,13,13,11,13,13,12,12,11,10,10,10,10,12,10,10,11,11,12,9,9,11,11,13,11,11,10,10,13,10,10,10,10,13,11,11,12,12,13,10,10,12,12,14,12,11,12,12,13,11,11,11,12,13,12,12,12,12,13,11,11,12,12,13,10,10,12,12,14,11,11,12,12,13,11,11,12,12,13,11,11,12,12,14,12,12,12,12,14,10,10,11,11,14,12,11,11,11,13,11,11,11,11,13,12,12,11,11,14,12,12,12,11,14,10,10,11,11,14,12,11,11,11,13,11,11,11,11,13,12,12,11,11,11,11,11,10,10,12,10,11,9,9,12,12,12,11,11,13,12,12,9,9,13,13,13,10,10,13,13,13,12,12,13,13,13,14,14,13,12,12,11,11,14,13,13,12,12,14,13,13,11,11,13,13,13,12,11,13,13,13,14,14,13,12,12,10,10,14,13,13,11,11,13,13,13,10,10,13,13,13,11,11,14,13,13,14,14,14,12,12,10,10,13,13,13,11,11,13,13,13,10,10,13,13,13,11,11,14,13,13,14,14,14,13,13,10,10,13,13,13,11,11,13,13,13,10,10,14,12,12,8,8,14,12,12,9,9,14,11,11,9,9,14,12,12,8,8,14,12,12,7,7,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,12,13,9,9,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,13,13,9,9,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,9,9,14,13,12,9,9,14,13,13,9,9,15,13,13,10,10,15,12,12,10,10,15,13,13,9,9,15,13,13,9,9,14,13,13,9,9,14,12,12,8,8,13,13,13,8,8,14,14,13,9,9,14,14,13,7,7,14,14,14,8,8,14,14,14,10,10,15,14,14,12,12,14,14,14,9,9,15,14,14,10,10,14,14,14,9,9,14,14,14,10,9,15,14,14,12,12,14,14,14,9,9,15,14,14,10,10,14,14,14,9,9,15,14,15,9,9,15,14,14,11,11,14,14,14,8,8,14,14,14,9,9,14,14,14,8,8,14,15,14,10,10,15,14,14,11,11,14,14,14,8,8,15,14,14,9,9,14,14,14,8,8,12,12,12,13,13,16,16,15,12,12,17,16,16,13,13,17,16,16,11,11,17,16,16,12,12,17,16,17,13,13,17,16,16,14,14,17,17,16,12,12,18,16,16,13,13,17,16,17,12,12,17,17,17,13,13,18,16,16,14,14,18,17,17,12,12,17,17,17,13,13,18,17,17,13,13,17,17,17,13,13,17,16,16,14,14,17,17,17,12,12,16,16,17,13,13,17,17,16,12,12,18,17,17,13,13,18,16,16,14,14,18,17,17,12,12,19,16,17,13,13,17,16,17,12,12,13,14,14,10,10,16,14,14,13,13,17,15,15,14,14,17,14,14,13,13,16,14,14,13,13,17,16,15,14,14,16,16,16,15,15,17,15,15,14,14,17,15,15,14,14,17,15,15,14,14,17,16,15,14,14,16,16,16,15,15,18,15,15,13,13,16,16,15,14,14,17,15,15,14,13,17,15,15,14,14,16,16,16,15,15,18,15,14,13,13,17,15,15,14,14,18,14,15,13,13,18,15,15,14,14,16,16,16,15,15,17,15,15,13,13,17,15,15,14,14,17,15,15,13,13,13,11,11,10,10,16,14,14,13,13,17,14,15,14,14,17,15,15,12,12,17,14,14,12,12,16,15,15,14,14,16,14,14,14,14,16,15,15,14,14,16,15,15,14,14,16,15,15,14,14,16,15,15,14,14,16,15,14,15,15,17,15,15,14,14,17,15,15,14,14,17,15,15,14,14,17,15,16,14,14,16,14,14,14,14,17,15,15,13,13,17,15,15,13,13,16,15,15,13,13,17,16,16,14,14,17,15,14,15,14,17,15,15,13,13,17,15,15,13,13,17,15,15,13,13,14,14,14,9,9,14,14,14,18,19,14,15,15,19,18,14,14,14,19,19,15,14,14,19,19,15,16,16,19,19,15,16,16,19,19,15,15,15,19,19,15,16,16,19,20,15,15,15,19,19,15,15,15,19,19,15,16,16,20,20,15,15,15,18,19,15,15,16,19,20,15,15,15,19,18,15,15,15,18,18,15,16,16,21,20,15,15,15,19,19,15,15,15,19,19,15,15,14,19,20,15,15,15,20,19,15,16,16,19,20,15,15,15,19,19,15,15,15,20,21,15,14,15,19,19,14,12,12,9,9,14,14,15,21,19,14,14,14,18,19,14,15,15,19,20,14,14,14,19,19,15,15,15,19,20,15,15,14,21,19,15,15,15,20,19,15,14,15,20,21,15,15,15,18,18,15,15,15,20,21,16,14,14,18,19,15,15,15,20,19,15,15,15,18,21,15,15,15,19,19,15,15,15,19,20,16,15,14,20,19,15,16,15,19,19,15,15,15,19,0,14,15,15,19,19,15,15,15,19,19,15,15,14,20,19,15,15,15,20,19,15,15,15,19,19,15,15,15,20,19,12,12,12,13,13,16,15,16,11,11,16,16,16,12,12,17,16,16,11,11,17,16,16,12,11,17,17,17,13,13,18,16,16,14,14,18,18,17,13,13,17,16,16,13,13,17,17,17,13,13,17,16,17,12,12,17,15,16,13,13,17,16,17,12,12,17,16,16,13,12,17,16,16,12,12,18,17,17,13,13,18,16,16,13,14,18,17,17,12,12,17,16,16,12,12,17,17,17,12,12,18,17,17,13,13,17,16,16,14,14,17,17,17,12,12,17,16,16,12,12,18,17,17,12,12,13,14,14,9,9,16,14,14,13,13,16,15,15,14,14,16,14,14,13,13,16,14,14,13,13,17,16,15,15,15,16,15,16,16,15,17,15,15,14,14,17,15,15,15,15,17,15,15,14,14,17,15,15,14,14,16,15,16,16,16,17,15,15,14,14,16,15,15,14,15,16,15,15,14,14,17,15,15,15,15,16,16,16,15,16,18,15,14,13,14,17,15,15,14,14,17,14,14,13,13,17,15,15,14,14,16,15,15,15,15,17,15,14,14,14,17,15,15,14,14,17,14,14,13,13,13,11,11,11,11,16,14,14,12,12,16,14,14,13,13,16,14,14,12,12,16,14,14,12,12,16,15,15,13,13,17,14,14,14,14,17,15,15,13,13,16,15,15,14,13,16,15,15,13,13,16,15,15,13,13,16,14,14,14,14,16,15,15,13,13,16,14,15,13,13,17,15,15,13,13,17,15,15,13,13,16,14,14,14,14,17,15,15,12,12,17,14,15,13,13,17,15,15,12,12,16,15,15,13,13,17,14,14,14,14,17,15,15,12,12,17,15,15,13,13,16,15,15,12,12,14,15,15,8,8,14,14,14,19,18,14,15,15,19,20,14,14,14,19,19,14,14,15,19,20,15,16,15,19,21,15,16,16,21,19,15,15,15,20,19,15,16,16,19,20,15,15,15,19,18,15,16,15,20,19,15,16,16,19,20,15,15,15,19,19,15,16,15,20,20,14,15,15,19,19,15,15,15,21,19,15,17,16,19,20,15,14,15,0,21,15,15,15,19,20,14,14,14,19,19,15,15,15,20,19,15,16,16,19,19,15,15,15,19,18,15,15,15,20,19,14,14,15,18,18,14,12,12,9,9,14,14,14,18,18,14,14,14,18,18,14,15,14,19,18,14,14,14,19,18,15,15,15,19,20,15,14,14,18,18,15,15,15,20,19,15,15,15,18,20,15,15,15,19,18,15,15,15,19,19,15,14,14,19,21,15,15,15,20,20,15,15,15,18,19,14,15,15,19,20,15,15,15,20,19,15,14,14,19,21,15,15,15,18,19,15,14,15,20,19,14,15,15,21,21,14,15,15,19,20,15,14,14,19,20,15,15,15,19,20,15,15,14,20,20,14,15,15,20,19,13,12,12,13,13,17,16,16,11,11,17,16,16,12,12,18,17,16,11,11,18,16,16,11,11,17,17,17,13,13,18,16,16,13,13,18,17,17,12,12,18,16,16,13,13,18,17,17,12,12,18,17,17,13,13,18,16,16,14,14,18,16,17,12,12,18,17,17,13,13,17,17,17,12,12,17,17,17,12,12,17,16,15,13,13,18,16,16,11,11,17,16,16,12,12,17,16,17,11,11,18,17,17,13,12,17,16,16,13,13,17,17,17,12,12,17,16,17,12,12,18,17,17,11,11,14,14,14,9,9,16,14,14,13,13,17,15,15,14,14,17,14,14,13,13,16,14,14,13,13,17,15,15,14,14,16,16,16,16,15,18,15,15,14,14,17,16,15,15,15,17,15,15,14,14,17,15,15,14,15,16,16,16,15,16,18,15,15,14,14,17,15,15,14,15,17,15,15,14,14,17,15,15,14,14,16,16,16,15,16,17,14,14,13,13,17,15,15,14,14,18,15,15,13,13,17,15,15,14,14,16,16,16,15,15,17,14,14,13,13,17,15,15,14,14,17,14,14,13,13,13,11,11,11,11,16,14,14,12,12,16,14,14,12,13,17,15,14,11,11,17,14,14,11,11,17,15,15,13,14,17,14,14,14,14,17,15,15,13,13,17,14,14,13,13,17,15,15,13,13,17,15,15,13,13,17,14,14,14,14,17,15,15,13,13,18,14,15,13,13,17,15,15,13,13,16,15,15,13,13,17,14,14,13,13,17,15,15,12,12,16,14,14,12,12,16,15,15,12,12,17,16,15,13,13,17,14,14,13,13,17,15,15,12,12,16,15,15,12,12,16,15,15,12,12,13,15,15,8,8,14,14,14,18,19,14,15,15,19,20,14,14,14,18,18,14,15,15,18,18,15,16,16,19,19,15,16,17,20,20,15,15,15,19,19,15,16,16,18,20,15,15,15,19,19,15,15,16,18,18,15,17,16,19,19,15,15,15,18,21,15,16,16,21,20,15,15,15,19,21,15,16,15,20,19,15,16,17,20,20,15,15,15,19,19,15,16,16,21,20,15,15,15,19,20,15,15,15,19,19,15,16,16,20,19,15,15,15,19,19,15,16,15,20,21,15,15,15,21,19,14,12,12,8,8,14,14,14,20,18,14,13,13,19,19,14,14,14,19,18,15,14,14,19,20,14,15,15,20,20,15,14,14,21,20,15,15,15,20,20,15,15,14,21,19,15,15,15,19,19,15,15,15,19,20,15,14,14,20,20,15,15,15,19,20,15,14,14,19,20,15,15,15,20,20,15,15,15,20,19,15,14,14,20,21,15,15,15,20,21,15,14,14,20,0,15,16,15,20,21,15,15,15,19,20,15,14,14,19,19,15,15,15,19,20,15,15,15,19,19,15,15,15,18,20,13,12,12,13,13,18,16,17,12,12,17,16,16,12,12,17,17,16,11,11,18,16,16,11,11,17,17,18,13,13,18,16,16,14,14,18,17,17,13,13,18,16,16,13,13,18,17,17,12,12,17,17,16,13,13,17,16,16,13,14,18,17,17,12,12,18,16,16,12,13,17,16,17,12,12,17,18,17,13,13,18,16,16,13,13,18,17,17,12,12,17,16,16,12,12,17,17,17,11,11,17,16,17,12,12,17,16,16,13,13,17,16,16,11,11,17,16,16,12,12,18,16,17,11,11,14,14,14,9,9,16,14,15,13,13,17,15,15,14,14,17,14,14,12,12,16,14,14,13,13,18,15,15,15,15,17,15,16,15,16,18,15,15,14,14,17,15,16,15,15,17,15,15,14,14,18,15,15,14,14,16,16,16,16,15,17,15,15,14,14,16,15,15,14,14,17,15,15,14,14,17,15,15,14,14,17,16,16,15,15,17,15,14,13,13,17,15,15,14,14,17,15,15,13,13,17,15,15,14,14,16,16,16,15,15,18,15,14,14,14,17,15,15,14,14,18,15,15,13,13,13,12,12,11,11,16,14,14,12,12,16,14,14,13,13,17,15,15,12,12,17,14,14,12,12,17,15,15,14,14,17,14,14,14,14,17,15,15,13,13,17,15,14,13,13,17,15,15,13,13,17,15,15,13,13,16,14,14,14,14,17,15,15,13,13,16,14,14,13,13,16,15,15,13,13,17,15,16,13,13,17,14,14,14,13,17,15,15,12,12,16,15,14,12,12,17,15,15,12,12,16,15,16,13,13,16,14,14,14,13,17,15,15,12,12,16,14,14,12,12,17,15,15,12,12,14,15,15,8,8,14,14,14,18,18,14,15,15,19,18,14,14,14,18,18,14,15,15,19,20,15,16,15,21,18,15,16,16,18,0,15,15,15,19,20,15,16,16,20,0,15,16,15,19,18,15,15,15,19,19,15,16,16,21,19,15,15,15,19,19,15,16,16,20,20,15,15,15,19,19,15,15,15,19,18,15,16,16,20,20,15,14,15,20,19,15,15,15,19,20,15,15,15,19,19,15,16,15,19,20,15,16,16,19,20,15,15,15,19,19,15,16,15,20,20,15,15,15,20,18,13,12,12,8,8,14,14,14,19,20,14,14,14,19,19,14,15,15,20,20,14,14,14,18,19,15,15,15,20,0,15,14,14,18,20,15,15,15,19,19,15,15,15,21,19,15,15,15,19,20,15,15,15,20,21,15,14,14,20,19,15,15,15,20,19,15,15,14,21,19,15,15,15,19,18,15,15,15,20,19,15,14,14,19,19,15,15,16,20,19,15,15,15,20,0,15,15,15,19,21,15,15,15,22,20,15,14,14,22,19,15,15,15,19,20,15,14,14,20,19,14,15,15,19,21,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,6,8,8,6,8,8,7,9,9,10,11,11,8,8,8,7,9,9,11,12,12,9,9,9,6,7,7,10,11,11,10,11,11,10,11,11,13,13,13,12,12,12,10,12,11,14,14,14,12,12,12,6,5,5,9,6,6,9,6,6,9,7,7,12,10,10,11,7,6,9,7,7,13,11,11,12,7,7,7,8,8,12,10,10,12,10,10,11,10,10,15,13,13,13,9,9,12,11,11,15,14,14,15,11,11,8,7,7,12,11,11,12,11,11,11,11,11,14,13,14,14,12,12,12,11,11,16,15,15,14,12,12,0,10,10,0,12,12,0,12,12,0,11,11,0,14,14,0,11,11,0,11,11,0,15,15,0,11,11,7,8,8,13,11,11,12,10,10,12,11,11,15,13,13,14,11,11,12,10,10,16,14,14,15,10,10,9,7,7,13,11,12,13,12,11,12,11,11,15,14,14,14,12,12,13,12,12,16,15,15,15,12,12,0,11,11,0,12,12,0,12,13,0,12,12,0,15,15,0,12,12,0,12,12,0,16,15,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,0,9,9,0,9,9,0,10,10,0,9,9,0,10,10,0,10,10,0,10,10,0,10,10,0,7,7,0,7,7,0,6,6,0,8,8,0,7,7,0,8,8,0,8,8,0,7,7,0,8,8,0,7,7,0,9,9,0,8,9,0,10,10,0,9,9,0,10,10,0,10,11,0,9,9,0,10,10,0,9,9,0,11,11,0,12,12,0,12,12,0,11,11,0,12,12,0,13,13,0,12,12,0,13,13,0,8,8,0,12,12,0,12,12,0,13,13,0,13,13,0,13,13,0,13,13,0,13,13,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,11,11,0,12,12,0,13,13,0,12,12,0,13,13,0,13,13,0,12,12,0,12,12,0,9,9,0,12,12,0,13,13,0,14,14,0,13,13,0,14,14,0,14,14,0,13,13,0,14,14,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,0,7,7,0,8,8,0,9,9,0,12,12,0,8,8,0,9,9,0,13,13,0,8,8,0,6,6,0,11,11,0,12,12,0,12,12,0,14,14,0,11,12,0,12,12,0,15,15,0,12,12,0,5,5,0,5,5,0,6,6,0,7,7,0,10,10,0,6,6,0,7,7,0,11,11,0,6,6,0,7,7,0,11,11,0,12,11,0,11,11,0,14,14,0,10,10,0,12,12,0,15,15,0,12,12,0,6,6,0,12,12,0,12,12,0,12,12,0,14,14,0,11,11,0,12,12,0,16,16,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,11,11,0,16,16,0,11,11,0,6,6,0,12,12,0,12,12,0,13,13,0,15,15,0,12,12,0,13,13,0,15,15,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,3,7,9,12,16,16,3,2,5,7,11,14,15,7,4,5,6,9,12,15,8,5,5,5,8,10,14,9,7,6,6,8,10,12,12,10,10,7,6,8,10,15,12,10,6,4,7,9,0,0,0,0,0,0,0,0,0,0,0,0,249,213,64,0,0,0,0,0,64,223,64,0,0,0,0,0,136,227,64,0,0,0,0,0,112,231,64,0,0,0,0,0,88,235,64,0,0,0,0,0,64,239,64,0,0,0,0,0,136,243,64,0,0,0,0,0,112,247,64,0,0,0,0,0,88,251,64,0,0,0,0,0,64,255,64,0,0,0,0,0,136,3,65,0,0,0,0,136,132,14,65,176,240,7,0,48,241,7,0,48,242,7,0,48,244,7,0,48,248,7,0,48,0,8,0,48,16,8,0,48,48,8,0,24,0,120,58,76,70,11,60,242,204,192,60,116,252,59,61,86,73,154,61,241,93,228,61,248,163,29,62,180,231,78,62,54,157,130,62,78,220,159,62,193,174,190,62,65,132,222,62,173,194,254,62,186,101,15,63,248,0,31,63,29,233,45,63,249,219,59,63,45,162,72,63,160,17,84,63,38,15,94,63,46,143,102,63,112,149,109,63,174,51,115,63,159,135,119,63,66,184,122,63,196,242,124,63,75,103,126,63,196,69,127,63,241,186,127,63,217,237,127,63,162,253,127,63,248,255,127,63,168,9,120,57,17,119,11,59,135,139,193,59,74,113,61,60,148,82,156,60,94,8,233,60,42,83,34,61,74,118,87,61,138,227,137,61,7,140,171,61,34,154,208,61,108,239,248,61,164,52,18,62,100,112,41,62,65,21,66,62,67,11,92,62,47,56,119,62,197,191,137,62,92,97,152,62,135,112,167,62,4,220,182,62,188,145,198,62,231,126,214,62,48,144,230,62,227,177,246,62,13,104,3,63,121,107,11,63,98,89,19,63,42,40,27,63,137,206,34,63,166,67,42,63,49,127,49,63,126,121,56,63,153,43,63,63,92,143,69,63,127,159,75,63,165,87,81,63,104,180,86,63,89,179,91,63,8,83,96,63,252,146,100,63,177,115,104,63,138,246,107,63,198,29,111,63,109,236,113,63,62,102,116,63,154,143,118,63,104,109,120,63,3,5,122,63,26,92,123,63,153,120,124,63,143,96,125,63],"i8",N3,x.GLOBAL_BASE+510456),E3([17,26,126,63,39,171,126,63,176,25,127,63,74,107,127,63,68,165,127,63,132,204,127,63,123,229,127,63,17,244,127,63,158,251,127,63,219,254,127,63,218,255,127,63,0,0,128,63,5,12,120,56,50,131,11,58,118,186,193,58,226,203,61,59,38,207,156,59,139,32,234,59,245,102,35,60,63,100,89,60,184,127,139,60,59,23,174,60,239,114,212,60,96,140,254,60,45,46,22,61,114,237,46,61,155,127,73,61,220,223,101,61,123,4,130,61,159,250,145,61,71,207,162,61,38,127,180,61,173,6,199,61,16,98,218,61,63,141,238,61,244,193,1,62,185,160,12,62,128,224,23,62,182,126,35,62,166,120,47,62,116,203,59,62,34,116,72,62,141,111,85,62,107,186,98,62,83,81,112,62,180,48,126,62,110,42,134,62,252,92,141,62,9,174,148,62,138,27,156,62,100,163,163,62,112,67,171,62,119,249,178,62,54,195,186,62,93,158,194,62,147,136,202,62,118,127,210,62,154,128,218,62,142,137,226,62,217,151,234,62,2,169,242,62,139,186,250,62,251,100,1,63,99,106,5,63,65,108,9,63,89,105,13,63,116,96,17,63,94,80,21,63,231,55,25,63,231,21,29,63,58,233,32,63,197,176,36,63,116,107,40,63,62,24,44,63,35,182,47,63,43,68,51,63,109,193,54,63,10,45,58,63,48,134,61,63,26,204,64,63,17,254,67,63,107,27,71,63,142,35,74,63,238,21,77,63,15,242,79,63,132,183,82,63,239,101,85,63,3,253,87,63,129,124,90,63,60,228,92,63,21,52,95,63,254,107,97,63,246,139,99,63,14,148,101,63,98,132,103,63,33,93,105,63,133,30,107,63,213,200,108,63,103,92,110,63,155,217,111,63,224,64,113,63,172,146,114,63,131,207,115,63,241,247,116,63,139,12,118,63,239,13,119,63,193,252,119,63,172,217,120,63,99,165,121,63,155,96,122,63,15,12,123,63,124,168,123,63,163,54,124,63,71,183,124,63,41,43,125,63,13,147,125,63,183,239,125,63,229,65,126,63,89,138,126,63,205,201,126,63,251,0,127,63,150,48,127,63,78,89,127,63,205,123,127,63,182,152,127,63,167,176,127,63,53,196,127,63,239,211,127,63,91,224,127,63,245,233,127,63,51,241,127,63,127,246,127,63,59,250,127,63,190,252,127,63,84,254,127,63,64,255,127,63,186,255,127,63,238,255,127,63,254,255,127,63,0,0,128,63,169,12,120,55,54,134,11,57,38,198,193,57,94,226,61,58,234,237,156,58,85,101,234,58,56,170,35,59,207,219,89,59,169,226,139,59,42,178,174,59,13,91,213,59,204,219,255,59,91,25,23,60,250,46,48,60,194,45,75,60,156,20,104,60,46,113,131,60,225,202,147,60,185,22,165,60,1,84,183,60,245,129,202,60,198,159,222,60,155,172,243,60,199,211,4,61,213,71,16,61,250,49,28,61,174,145,40,61,101,102,53,61,141,175,66,61,140,108,80,61,193,156,94,61,133,63,109,61,41,84,124,61,252,236,133,61,26,232,141,61,13,27,150,61,110,133,158,61,212,38,167,61,210,254,175,61,245,12,185,61,200,80,194,61,209,201,203,61,146,119,213,61,139,89,223,61,51,111,233,61,2,184,243,61,105,51,254,61,106,112,4,62,214,223,9,62,171,103,15,62,153,7,21,62,77,191,26,62,116,142,32,62,181,116,38,62,184,113,44,62,34,133,50,62,149,174,56,62,178,237,62,62,21,66,69,62,92,171,75,62,30,41,82,62,243,186,88,62,112,96,95,62,40,25,102,62,170,228,108,62,132,194,115,62,68,178,122,62,185,217,128,62,203,98,132,62,26,244,135,62,105,141,139,62,120,46,143,62,6,215,146,62,211,134,150,62,156,61,154,62,29,251,157,62,19,191,161,62,57,137,165,62,71,89,169,62,249,46,173,62,5,10,177,62,36,234,180,62,13,207,184,62,117,184,188,62,18,166,192,62,153,151,196,62,190,140,200,62,52,133,204,62,175,128,208,62,225,126,212,62,125,127,216,62,52,130,220,62,184,134,224,62,185,140,228,62,233,147,232,62,248,155,236,62,150,164,240,62,117,173,244,62,67,182,248,62,178,190,252,62,57,99,0,63,153,102,2,63,82,105,4,63,60,107,6,63,48,108,8,63,6,108,10,63,151,106,12,63,188,103,14,63,78,99,16,63,39,93,18,63,33,85,20,63,21,75,22,63,222,62,24,63,87,48,26,63,92,31,28,63,199,11,30,63,117,245,31,63,66,220,33,63,12,192,35,63,176,160,37,63,12,126,39,63,254,87,41,63,104,46,43,63,39,1,45,63,29,208,46,63,43,155,48,63,51,98,50,63,23,37,52,63,188,227,53,63,4,158,55,63,214,83,57,63,23,5,59,63,173,177,60,63,128,89,62,63,120,252,63,63,126,154,65,63,124,51,67,63,93,199,68,63,12,86,70,63,119,223,71,63,138,99,73,63,54,226,74,63,104,91,76,63,17,207,77,63,35,61,79,63,145,165,80,63,76,8,82,63,75,101,83,63,130,188,84,63,231,13,86,63,114,89,87,63,26,159,88,63,218,222,89,63,172,24,91,63,138,76,92,63,113,122,93,63,93,162,94,63,78,196,95,63,67,224,96,63,58,246,97,63,54,6,99,63,56,16,100,63,67,20,101,63,92,18,102,63,133,10,103,63,198,252,103,63,37,233,104,63,168,207,105,63,89,176,106,63,64,139,107,63,102,96,108,63,216,47,109,63,159,249,109,63,201,189,110,63,97,124,111,63,118,53,112,63,23,233,112,63,81,151,113,63,53,64,114,63,212,227,114,63,61,130,115,63,131,27,116,63,184,175,116,63,238,62,117,63,56,201,117,63,171,78,118,63,90,207,118,63,90,75,119,63,192,194,119,63,162,53,120,63,21,164,120,63,48,14,121,63,8,116,121,63,182,213,121,63,79,51,122,63,235,140,122,63,162,226,122,63,139,52,123,63,191,130,123,63,85,205,123,63,102,20,124,63,9,88,124,63,88,152,124,63,106,213,124,63,88,15,125,63,58,70,125,63,41,122,125,63,62,171,125,63,143,217,125,63,54,5,126,63,75,46,126,63,228,84,126,63,27,121,126,63,7,155,126,63,190,186,126,63,88,216,126,63,236,243,126,63,144,13,127,63,91,37,127,63,99,59,127,63,188,79,127,63,125,98,127,63,185,115,127,63,135,131,127,63,249,145,127,63,36,159,127,63,26,171,127,63,238,181,127,63,179,191,127,63,122,200,127,63,85,208,127,63,84,215,127,63,136,221,127,63,0,227,127,63,204,231,127,63,249,235,127,63,150,239,127,63,177,242,127,63,85,245,127,63,144,247,127,63,109,249,127,63,246,250,127,63,54,252,127,63,55,253,127,63,1,254,127,63,156,254,127,63,18,255,127,63,103,255,127,63,163,255,127,63,204,255,127,63,229,255,127,63,244,255,127,63,252,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,60,12,120,54,253,134,11,56,19,201,193,56,248,231,61,57,148,245,156,57,115,118,234,57,238,186,35,58,113,249,89,58,32,251,139,58,96,216,174,58,34,148,213,58,3,23,0,59,209,82,23,59,65,125,48,59,21,150,75,59,8,157,104,59,233,200,131,59,20,58,148,59,218,161,165,59,16,0,184,59,136,84,203,59,16,159,223,59,118,223,244,59,194,138,5,60,128,32,17,60,217,48,29,60,172,187,41,60,219,192,54,60,67,64,68,60,194,57,82,60,52,173,96,60,115,154,111,60,88,1,127,60,222,112,135,60,186,157,143,60,42,7,152,60,25,173,160,60,112,143,169,60,23,174,178,60,246,8,188,60,243,159,197,60,245,114,207,60,225,129,217,60,156,204,227,60,10,83,238,60,14,21,249,60,70,9,2,61,177,165,7,61,187,95,13,61,81,55,19,61,102,44,25,61,230,62,31,61,195,110,37,61,233,187,43,61,71,38,50,61,202,173,56,61,97,82,63,61,247,19,70,61,121,242,76,61,210,237,83,61,240,5,91,61,187,58,98,61,32,140,105,61,8,250,112,61,93,132,120,61,132,21,128,61,249,246,131,61,130,230,135,61,19,228,139,61,159,239,143,61,26,9,148,61,119,48,152,61,169,101,156,61,163,168,160,61,88,249,164,61,186,87,169,61,186,195,173,61,76,61,178,61,95,196,182,61,230,88,187,61,209,250,191,61,18,170,196,61,152,102,201,61,85,48,206,61,56,7,211,61,48,235,215,61,47,220,220,61,34,218,225,61,248,228,230,61,161,252,235,61,11,33,241,61,35,82,246,61,217,143,251,61,13,109,0,62,105,24,3,62,247,201,5,62,174,129,8,62,133,63,11,62,113,3,14,62,104,205,16,62,96,157,19,62,79,115,22,62,42,79,25,62,232,48,28,62,124,24,31,62,221,5,34,62,255,248,36,62,215,241,39,62,90,240,42,62,125,244,45,62,51,254,48,62,114,13,52,62,45,34,55,62,88,60,58,62,232,91,61,62,208,128,64,62,3,171,67,62,118,218,70,62,26,15,74,62,229,72,77,62,199,135,80,62,181,203,83,62,162,20,87,62,127,98,90,62,63,181,93,62,213,12,97,62,50,105,100,62,73,202,103,62,12,48,107,62,108,154,110,62,92,9,114,62,203,124,117,62,173,244,120,62,241,112,124,62,138,241,127,62,52,187,129,62,190,127,131,62,91,70,133,62,4,15,135,62,176,217,136,62,89,166,138,62,245,116,140,62,126,69,142,62,234,23,144,62,50,236,145,62,78,194,147,62,54,154,149,62,224,115,151,62,70,79,153,62,93,44,155,62,31,11,157,62,130,235,158,62,127,205,160,62,11,177,162,62,31,150,164,62,177,124,166,62,186,100,168,62,47,78,170,62,9,57,172,62,62,37,174,62,198,18,176,62,150,1,178,62,167,241,179,62,238,226,181,62,100,213,183,62,254,200,185,62,179,189,187,62,122,179,189,62,74,170,191,62,25,162,193,62,221,154,195,62,142,148,197,62,34,143,199,62,142,138,201,62,203,134,203,62,205,131,205,62,140,129,207,62,253,127,209,62,24,127,211,62,210,126,213,62,33,127,215,62,252,127,217,62,88,129,219,62,45,131,221,62,112,133,223,62,23,136,225,62,25,139,227,62,108,142,229,62,5,146,231,62,219,149,233,62,228,153,235,62,21,158,237,62,102,162,239,62,203,166,241,62,59,171,243,62,173,175,245,62,21,180,247,62,107,184,249,62,164,188,251,62,181,192,253,62,150,196,255,62,30,228,0,63,207,229,1,63,88,231,2,63,182,232,3,63,226,233,4,63,215,234,5,63,146,235,6,63,12,236,7,63,66,236,8,63,45,236,9,63,202,235,10,63,19,235,11,63,4,234,12,63,151,232,13,63,200,230,14,63,145,228,15,63,239,225,16,63,220,222,17,63,84,219,18,63,81,215,19,63,208,210,20,63,202,205,21,63,61,200,22,63,34,194,23,63,117,187,24,63,50,180,25,63,85,172,26,63,215,163,27,63,182,154,28,63,236,144,29,63,117,134,30,63,77,123,31,63,110,111,32,63,214,98,33,63,126,85,34,63,100,71,35,63,130,56,36,63,212,40,37,63,87,24,38,63,5,7,39,63,219,244,39,63,213,225,40,63,239,205,41,63,36,185,42,63,113,163,43,63,209,140,44,63,64,117,45,63,188,92,46,63,63,67,47,63,199,40,48,63,78,13,49,63,211,240,49,63,80,211,50,63,195,180,51,63,39,149,52,63,122,116,53,63,184,82,54,63,220,47,55,63,229,11,56,63,206,230,56,63,149,192,57,63,54,153,58,63,174,112,59,63,249,70,60,63,21,28,61,63,255,239,61,63,179,194,62,63,48,148,63,63,113,100,64,63,116,51,65,63,55,1,66,63,182,205,66,63,239,152,67,63,224,98,68,63,134,43,69,63,222,242,69,63,230,184,70,63,156,125,71,63,253,64,72,63,7,3,73,63,184,195,73,63,14,131,74,63,6,65,75,63,159,253,75,63,215,184,76,63,172,114,77,63,28,43,78,63,38,226,78,63,199,151,79,63,253,75,80,63,201,254,80,63,39,176,81,63,22,96,82,63,150,14,83,63,164,187,83,63,63,103,84,63,103,17,85,63,26,186,85,63,86,97,86,63,28,7,87,63,105,171,87,63,62,78,88,63,152,239,88,63,120,143,89,63,221,45,90,63,198,202,90,63,50,102,91,63,33,0,92,63,147,152,92,63,134,47,93,63,251,196,93,63,242,88,94,63,105,235,94,63,98,124,95,63,219,11,96,63,213,153,96,63,80,38,97,63,76,177,97,63,201,58,98,63,199,194,98,63,70,73,99,63,71,206,99,63,202,81,100,63,208,211,100,63,88,84,101,63,100,211,101,63,244,80,102,63,9,205,102,63,163,71,103,63,195,192,103,63,107,56,104,63,154,174,104,63,82,35,105,63,147,150,105,63,96,8,106,63,184,120,106,63,157,231,106,63,16,85,107,63,19,193,107,63,166,43,108,63,203,148,108,63,132,252,108,63,209,98,109,63,180,199,109,63,48,43,110,63,68,141,110,63,244,237,110,63,64,77,111,63,42,171,111,63,181,7,112,63,225,98,112,63,177,188,112,63,38,21,113,63,67,108,113,63,10,194,113,63,123,22,114,63,155,105,114,63,106,187,114,63,234,11,115,63,31,91,115,63,9,169,115,63,172,245,115,63,9,65,116,63,35,139,116,63,252,211,116,63,151,27,117,63,245,97,117,63,26,167,117,63,8,235,117,63,193,45,118,63,72,111,118,63,159,175,118,63,202,238,118,63,201,44,119,63,161,105,119,63,84,165,119,63,228,223,119,63,85,25,120,63,168,81,120,63,226,136,120,63,3,191,120,63,16,244,120,63,11,40,121,63,247,90,121,63,215,140,121,63,173,189,121,63,125,237,121,63,73,28,122,63,20,74,122,63,226,118,122,63,181,162,122,63,144,205,122,63,118,247,122,63,107,32,123,63,112,72,123,63,138,111,123,63,186,149,123,63,5,187,123,63,109,223,123,63,245,2,124,63,160,37,124,63,113,71,124,63,108,104,124,63,147,136,124,63,233,167,124,63,114,198,124,63,48,228,124,63,38,1,125,63,89,29,125,63,201,56,125,63,124,83,125,63,115,109,125,63,178,134,125,63,60,159,125,63,19,183,125,63,60,206,125,63,184,228,125,63,139,250,125,63,184,15,126,63,66,36,126,63,44,56,126,63,120,75,126,63,43,94,126,63,70,112,126,63,204,129,126,63,194,146,126,63,41,163,126,63,4,179,126,63,86,194,126,63,35,209,126,63,109,223,126,63,55,237,126,63,131,250,126,63,85,7,127,63,175,19,127,63,148,31,127,63,7,43,127,63,10,54,127,63,160,64,127,63,205,74,127,63,146,84,127,63,242,93,127,63,239,102,127,63,141,111,127,63,206,119,127,63,181,127,127,63,67,135,127,63,124,142,127,63,98,149,127,63,247,155,127,63,61,162,127,63,56,168,127,63,233,173,127,63,83,179,127,63,120,184,127,63,90,189,127,63,252,193,127,63,95,198,127,63,134,202,127,63,116,206,127,63,41,210,127,63,168,213,127,63,244,216,127,63,13,220,127,63,247,222,127,63,179,225,127,63,67,228,127,63,168,230,127,63,229,232,127,63,252,234,127,63,237,236,127,63,188,238,127,63,105,240,127,63,246,241,127,63,101,243,127,63,183,244,127,63,238,245,127,63,11,247,127,63,16,248,127,63,254,248,127,63,214,249,127,63,155,250,127,63,76,251,127,63,236,251,127,63,124,252,127,63,252,252,127,63,110,253,127,63,211,253,127,63,44,254,127,63,121,254,127,63,189,254,127,63,247,254,127,63,42,255,127,63,84,255,127,63,120,255,127,63,150,255,127,63,175,255,127,63,195,255,127,63,211,255,127,63,224,255,127,63,234,255,127,63,241,255,127,63,246,255,127,63,250,255,127,63,253,255,127,63,254,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,171,15,120,53,24,135,11,55,225,201,193,55,107,233,61,56,128,247,156,56,187,122,234,56,24,191,35,57,213,0,90,57,56,1,140,57,229,225,174,57,88,162,213,57,60,33,0,58,24,97,23,58,175,144,48,58,243,175,75,58,212,190,104,58,159,222,131,58,143,85,148,58,48,196,165,58,119,42,184,58,90,136,203,58,204,221,223,58,191,42,245,58,148,183,5,59,124,85,17,59,16,111,29,59,73,4,42,59,31,21,55,59,138,161,68,59,129,169,82,59,252,44,97,59,241,43,112,59,88,166,127,59,19,206,135,59,169,6,144,59,233,124,152,59,204,48,161,59,79,34,170,59,106,81,179,59,26,190,188,59,86,104,198,59,26,80,208,59,95,117,218,59,31,216,228,59,83,120,239,59,244,85,250,59,126,184,2,60,177,100,8,60,145,47,14,60,25,25,20,60,70,33,26,60,19,72,32,60,126,141,38,60,129,241,44,60,25,116,51,60,65,21,58,60,246,212,64,60,50,179,71,60,243,175,78,60,50,203,85,60,235,4,93,60,26,93,100,60,186,211,107,60,198,104,115,60,58,28,123,60,7,119,129,60,33,111,133,60,102,118,137,60,212,140,141,60,105,178,145,60,33,231,149,60,251,42,154,60,243,125,158,60,6,224,162,60,50,81,167,60,115,209,171,60,199,96,176,60,43,255,180,60,154,172,185,60,19,105,190,60,146,52,195,60,20,15,200,60,149,248,204,60,19,241,209,60,137,248,214,60,245,14,220,60,83,52,225,60,160,104,230,60,215,171,235,60,246,253,240,60,249,94,246,60,220,206,251,60,205,166,0,61,153,109,3,61,207,59,6,61,109,17,9,61,114,238,11,61,220,210,14,61,167,190,17,61,211,177,20,61,94,172,23,61,68,174,26,61,133,183,29,61,30,200,32,61,12,224,35,61,78,255,38,61,225,37,42,61,196,83,45,61,243,136,48,61,109,197,51,61,47,9,55,61,55,84,58,61,130,166,61,61,15,0,65,61,218,96,68,61,226,200,71,61,35,56,75,61,156,174,78,61,73,44,82,61,40,177,85,61,55,61,89,61,115,208,92,61,217,106,96,61,103,12,100,61,25,181,103,61,238,100,107,61,227,27,111,61,244,217,114,61,30,159,118,61,96,107,122,61,182,62,126,61,143,12,129,61,73,253,130,61,138,241,132,61,79,233,134,61,150,228,136,61,94,227,138,61,167,229,140,61,109,235,142,61,175,244,144,61,109,1,147,61,164,17,149,61,83,37,151,61,120,60,153,61,17,87,155,61,30,117,157,61,155,150,159,61,136,187,161,61,226,227,163,61,169,15,166,61,218,62,168,61,116,113,170,61,116,167,172,61,218,224,174,61,162,29,177,61,205,93,179,61,87,161,181,61,62,232,183,61,130,50,186,61,32,128,188,61,22,209,190,61,98,37,193,61,2,125,195,61,245,215,197,61,57,54,200,61,203,151,202,61,169,252,204,61,211,100,207,61,68,208,209,61,252,62,212,61,249,176,214,61,56,38,217,61,184,158,219,61,117,26,222,61,111,153,224,61,163,27,227,61,14,161,229,61,175,41,232,61,132,181,234,61,138,68,237,61,191,214,239,61,33,108,242,61,174,4,245,61,99,160,247,61,62,63,250,61,61,225,252,61,93,134,255,61,78,23,1,62,252,108,2,62,56,196,3,62,255,28,5,62,81,119,6,62,45,211,7,62,145,48,9,62,125,143,10,62,238,239,11,62,228,81,13,62,94,181,14,62,89,26,16,62,214,128,17,62,210,232,18,62,77,82,20,62,69,189,21,62,184,41,23,62,166,151,24,62,13,7,26,62,236,119,27,62,65,234,28,62,11,94,30,62,73,211,31,62,250,73,33,62,28,194,34,62,173,59,36,62,172,182,37,62,24,51,39,62,240,176,40,62,50,48,42,62,220,176,43,62,238,50,45,62,101,182,46,62,64,59,48,62,126,193,49,62,30,73,51,62,29,210,52,62,123,92,54,62,54,232,55,62,76,117,57,62,187,3,59,62,131,147,60,62,162,36,62,62,22,183,63,62,222,74,65,62,248,223,66,62,98,118,68,62,28,14,70,62,35,167,71,62,117,65,73,62,18,221,74,62,247,121,76,62,35,24,78,62,149,183,79,62,74,88,81,62,66,250,82,62,121,157,84,62,240,65,86,62,163,231,87,62,146,142,89,62,186,54,91,62,26,224,92,62,177,138,94,62,124,54,96,62,122,227,97,62,169,145,99,62,7,65,101,62,147,241,102,62,75,163,104,62,44,86,106,62,54,10,108,62,102,191,109,62,187,117,111,62,51,45,113,62,204,229,114,62,132,159,116,62,90,90,118,62,75,22,120,62,85,211,121,62,120,145,123,62,176,80,125,62,253,16,127,62,46,105,128,62,101,74,129,62,36,44,130,62,105,14,131,62,52,241,131,62,130,212,132,62,84,184,133,62,169,156,134,62,127,129,135,62,213,102,136,62,171,76,137,62,255,50,138,62,209,25,139,62,32,1,140,62,233,232,140,62,46,209,141,62,236,185,142,62,34,163,143,62,208,140,144,62,244,118,145,62,142,97,146,62,156,76,147,62,29,56,148,62,17,36,149,62,118,16,150,62,76,253,150,62,144,234,151,62,67,216,152,62,99,198,153,62,239,180,154,62,230,163,155,62,71,147,156,62,17,131,157,62,67,115,158,62,219,99,159,62,218,84,160,62,60,70,161,62,3,56,162,62,43,42,163,62,181,28,164,62,160,15,165,62,233,2,166,62,145,246,166,62,149,234,167,62,245,222,168,62,176,211,169,62,197,200,170,62,50,190,171,62,246,179,172,62,17,170,173,62,129,160,174,62,69,151,175,62,91,142,176,62,196,133,177,62,125,125,178,62,133,117,179,62,220,109,180,62,128,102,181,62,112,95,182,62,171,88,183,62,47,82,184,62,252,75,185,62,17,70,186,62,108,64,187,62,11,59,188,62,239,53,189,62,22,49,190,62,126,44,191,62,38,40,192,62,13,36,193,62,51,32,194,62,150,28,195,62,52,25,196,62,12,22,197,62,30,19,198,62,104,16,199,62,233,13,200,62,159,11,201,62,138,9,202,62,169,7,203,62,249,5,204,62,123,4,205,62,44,3,206,62,11,2,207,62,24,1,208,62,81,0,209,62,181,255,209,62,66,255,210,62,248,254,211,62,213,254,212,62,216,254,213,62,255,254,214,62,75,255,215,62,184,255,216,62,71,0,218,62,245,0,219,62,195,1,220,62,173,2,221,62,180,3,222,62,214,4,223,62,17,6,224,62,101,7,225,62,208,8,226,62,81,10,227,62,231,11,228,62,144,13,229,62,76,15,230,62,25,17,231,62,245,18,232,62,224,20,233,62,217,22,234,62,221,24,235,62,236,26,236,62,5,29,237,62,39,31,238,62,79,33,239,62,125,35,240,62,176,37,241,62,230,39,242,62,31,42,243,62,88,44,244,62,145,46,245,62,200,48,246,62,253,50,247,62,45,53,248,62,88,55,249,62,124,57,250,62,153,59,251,62,172,61,252,62,181,63,253,62,179,65,254,62,163,67,255,62,195,34,0,63,173,163,0,63,142,36,1,63,102,165,1,63,53,38,2,63,250,166,2,63,180,39,3,63,99,168,3,63,5,41,4,63,155,169,4,63,36,42,5,63,159,170,5,63,12,43,6,63,105,171,6,63,183,43,7,63,244,171,7,63,32,44,8,63,59,172,8,63,68,44,9,63,58,172,9,63,28,44,10,63,235,171,10,63,164,43,11,63,73,171,11,63,216,42,12,63,80,170,12,63,177,41,13,63,251,168,13,63,44,40,14,63,69,167,14,63,68,38,15,63,41,165,15,63,243,35,16,63,162,162,16,63,53,33,17,63,172,159,17,63,5,30,18,63,65,156,18,63,95,26,19,63,94,152,19,63,61,22,20,63,252,147,20,63,155,17,21,63,24,143,21,63,116,12,22,63,173,137,22,63,195,6,23,63,182,131,23,63,133,0,24,63,46,125,24,63,179,249,24,63,18,118,25,63,74,242,25,63,91,110,26,63,69,234,26,63,6,102,27,63,159,225,27,63,14,93,28,63,84,216,28,63,111,83,29,63,95,206,29,63,36,73,30,63,188,195,30,63,40,62,31,63,102,184,31,63,119,50,32,63,90,172,32,63,14,38,33,63,146,159,33,63,230,24,34,63,10,146,34,63,253,10,35,63,190,131,35,63,77,252,35,63,169,116,36,63,211,236,36,63,200,100,37,63,138,220,37,63,22,84,38,63,110,203,38,63,143,66,39,63,122,185,39,63,47,48,40,63,172,166,40,63,241,28,41,63,254,146,41,63,210,8,42,63,108,126,42,63,205,243,42,63,243,104,43,63,223,221,43,63,143,82,44,63,3,199,44,63,59,59,45,63,54,175,45,63,244,34,46,63,116,150,46,63,182,9,47,63,185,124,47,63,125,239,47,63,1,98,48,63,69,212,48,63,72,70,49,63,10,184,49,63,139,41,50,63,202,154,50,63,198,11,51,63,127,124,51,63,246,236,51,63,40,93,52,63,22,205,52,63,191,60,53,63,36,172,53,63,66,27,54,63,27,138,54,63,174,248,54,63,249,102,55,63,254,212,55,63,187,66,56,63,47,176,56,63,91,29,57,63,63,138,57,63,217,246,57,63,41,99,58,63,48,207,58,63,236,58,59,63,93,166,59,63,130,17,60,63,93,124,60,63,235,230,60,63,44,81,61,63,33,187,61,63,201,36,62,63,35,142,62,63,48,247,62,63,238,95,63,63,94,200,63,63,126,48,64,63,80,152,64,63,209,255,64,63,3,103,65,63,228,205,65,63,117,52,66,63,181,154,66,63,163,0,67,63,64,102,67,63,139,203,67,63,131,48,68,63,41,149,68,63,124,249,68,63,123,93,69,63,39,193,69,63,127,36,70,63,132,135,70,63,51,234,70,63,142,76,71,63,148,174,71,63,68,16,72,63,159,113,72,63,164,210,72,63,83,51,73,63,172,147,73,63,174,243,73,63,89,83,74,63,173,178,74,63,169,17,75,63,77,112,75,63,154,206,75,63,143,44,76,63,43,138,76,63,110,231,76,63,89,68,77,63,234,160,77,63,34,253,77,63,0,89,78,63,133,180,78,63,176,15,79,63,128,106,79,63,246,196,79,63,18,31,80,63,210,120,80,63,56,210,80,63,66,43,81,63,242,131,81,63,69,220,81,63,61,52,82,63,217,139,82,63,24,227,82,63,252,57,83,63,131,144,83,63,174,230,83,63,123,60,84,63,236,145,84,63,0,231,84,63,183,59,85,63,16,144,85,63,12,228,85,63,170,55,86,63,235,138,86,63,206,221,86,63,83,48,87,63,121,130,87,63,66,212,87,63,172,37,88,63,184,118,88,63,101,199,88,63,180,23,89,63,164,103,89,63,53,183,89,63,104,6,90,63,59,85,90,63,175,163,90,63,197,241,90,63,123,63,91,63,210,140,91,63,201,217,91,63,97,38,92,63,154,114,92,63,115,190,92,63,237,9,93,63,7,85,93,63,194,159,93,63,29,234,93,63,24,52,94,63,179,125,94,63,239,198,94,63,203,15,95,63,72,88,95,63,100,160,95,63,33,232,95,63,126,47,96,63,123,118,96,63,24,189,96,63,85,3,97,63,51,73,97,63,177,142,97,63,207,211,97,63,141,24,98,63,236,92,98,63,235,160,98,63,138,228,98,63,202,39,99,63,170,106,99,63,42,173,99,63,75,239,99,63,13,49,100,63,111,114,100,63,114,179,100,63,21,244,100,63,90,52,101,63,63,116,101,63,197,179,101,63,236,242,101,63,180,49,102,63,29,112,102,63,39,174,102,63,211,235,102,63,32,41,103,63,15,102,103,63,159,162,103,63,209,222,103,63,164,26,104,63,26,86,104,63,49,145,104,63,235,203,104,63,71,6,105,63,69,64,105,63,230,121,105,63,42,179,105,63,16,236,105,63,153,36,106,63,197,92,106,63,148,148,106,63,7,204,106,63,29,3,107,63,214,57,107,63,52,112,107,63,53,166,107,63,218,219,107,63,36,17,108,63,18,70,108,63,164,122,108,63,220,174,108,63,184,226,108,63,57,22,109,63,96,73,109,63,44,124,109,63,157,174,109,63,181,224,109,63,115,18,110,63,214,67,110,63,225,116,110,63,146,165,110,63,233,213,110,63,232,5,111,63,142,53,111,63,219,100,111,63,209,147,111,63,110,194,111,63,179,240,111,63,160,30,112,63,54,76,112,63,117,121,112,63,93,166,112,63,239,210,112,63,41,255,112,63,14,43,113,63,156,86,113,63,213,129,113,63,184,172,113,63,70,215,113,63,127,1,114,63,99,43,114,63,243,84,114,63,46,126,114,63,21,167,114,63,169,207,114,63,233,247,114,63,214,31,115,63,113,71,115,63,184,110,115,63,173,149,115,63,80,188,115,63,162,226,115,63,161,8,116,63,80,46,116,63,174,83,116,63,187,120,116,63,119,157,116,63,228,193,116,63,1,230,116,63,206,9,117,63,76,45,117,63,123,80,117,63,92,115,117,63,238,149,117,63,51,184,117,63,42,218,117,63,211,251,117,63,48,29,118,63,64,62,118,63,3,95,118,63,122,127,118,63,166,159,118,63,134,191,118,63,27,223,118,63,101,254,118,63,101,29,119,63,27,60,119,63,135,90,119,63,169,120,119,63,131,150,119,63,19,180,119,63,91,209,119,63,91,238,119,63,20,11,120,63,132,39,120,63,174,67,120,63,145,95,120,63,46,123,120,63,132,150,120,63,149,177,120,63,96,204,120,63,231,230,120,63,41,1,121,63,38,27,121,63,223,52,121,63,85,78,121,63,136,103,121,63,120,128,121,63,37,153,121,63,144,177,121,63,185,201,121,63,161,225,121,63,72,249,121,63,174,16,122,63,212,39,122,63,185,62,122,63,96,85,122,63,198,107,122,63,238,129,122,63,216,151,122,63,131,173,122,63,241,194,122,63,33,216,122,63,20,237,122,63,202,1,123,63,68,22,123,63,130,42,123,63,133,62,123,63,77,82,123,63,217,101,123,63,43,121,123,63,68,140,123,63,34,159,123,63,200,177,123,63,52,196,123,63,104,214,123,63,99,232,123,63,39,250,123,63,180,11,124,63,9,29,124,63,40,46,124,63,17,63,124,63,196,79,124,63,65,96,124,63,137,112,124,63,156,128,124,63,124,144,124,63,39,160,124,63,158,175,124,63,226,190,124,63,244,205,124,63,211,220,124,63,128,235,124,63,251,249,124,63,69,8,125,63,94,22,125,63,71,36,125,63,255,49,125,63,136,63,125,63,225,76,125,63,11,90,125,63,7,103,125,63,212,115,125,63,115,128,125,63,229,140,125,63,42,153,125,63,66,165,125,63,46,177,125,63,238,188,125,63,130,200,125,63,235,211,125,63,41,223,125,63,61,234,125,63,38,245,125,63,230,255,125,63,124,10,126,63,234,20,126,63,47,31,126,63,75,41,126,63,64,51,126,63,13,61,126,63,180,70,126,63,51,80,126,63,140,89,126,63,191,98,126,63,205,107,126,63,181,116,126,63,120,125,126,63,23,134,126,63,146,142,126,63,233,150,126,63,28,159,126,63,44,167,126,63,26,175,126,63,229,182,126,63,142,190,126,63,22,198,126,63,124,205,126,63,194,212,126,63,231,219,126,63,235,226,126,63,208,233,126,63,149,240,126,63,59,247,126,63,195,253,126,63,44,4,127,63,118,10,127,63,163,16,127,63,179,22,127,63,165,28,127,63,123,34,127,63,52,40,127,63,210,45,127,63,83,51,127,63,186,56,127,63,5,62,127,63,53,67,127,63,75,72,127,63,72,77,127,63,42,82,127,63,243,86,127,63,163,91,127,63,58,96,127,63,185,100,127,63,32,105,127,63,111,109,127,63,166,113,127,63,199,117,127,63,208,121,127,63,196,125,127,63,161,129,127,63,104,133,127,63,25,137,127,63,182,140,127,63,61,144,127,63,176,147,127,63,14,151,127,63,89,154,127,63,143,157,127,63,179,160,127,63,195,163,127,63,192,166,127,63,171,169,127,63,132,172,127,63,74,175,127,63,255,177,127,63,163,180,127,63,53,183,127,63,183,185,127,63,40,188,127,63,137,190,127,63,217,192,127,63,26,195,127,63,76,197,127,63,111,199,127,63,130,201,127,63,135,203,127,63,126,205,127,63,102,207,127,63,65,209,127,63,14,211,127,63,205,212,127,63,128,214,127,63,38,216,127,63,191,217,127,63,76,219,127,63,204,220,127,63,65,222,127,63,170,223,127,63,8,225,127,63,91,226,127,63,163,227,127,63,224,228,127,63,19,230,127,63,59,231,127,63,90,232,127,63,110,233,127,63,122,234,127,63,124,235,127,63,116,236,127,63,100,237,127,63,75,238,127,63,42,239,127,63,1,240,127,63,207,240,127,63,149,241,127,63,84,242,127,63,12,243,127,63,188,243,127,63,101,244,127,63,7,245,127,63,162,245,127,63,55,246,127,63,198,246,127,63,78,247,127,63,209,247,127,63,77,248,127,63,196,248,127,63,54,249,127,63,162,249,127,63,9,250,127,63,108,250,127,63,201,250,127,63,34,251,127,63,118,251,127,63,198,251,127,63,18,252,127,63,89,252,127,63,157,252,127,63,221,252,127,63,26,253,127,63,83,253,127,63,136,253,127,63,187,253,127,63,234,253,127,63,22,254,127,63,64,254,127,63,103,254,127,63,139,254,127,63,173,254,127,63,204,254,127,63,234,254,127,63,5,255,127,63,30,255,127,63,53,255,127,63,74,255,127,63,94,255,127,63,112,255,127,63,128,255,127,63,143,255,127,63,157,255,127,63,169,255,127,63,180,255,127,63,191,255,127,63,200,255,127,63,208,255,127,63,215,255,127,63,221,255,127,63,227,255,127,63,232,255,127,63,236,255,127,63,239,255,127,63,243,255,127,63,245,255,127,63,248,255,127,63,249,255,127,63,251,255,127,63,252,255,127,63,253,255,127,63,254,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,204,8,120,52,171,134,11,54,79,202,193,54,190,233,61,55,238,247,156,55,192,123,234,55,43,192,35,56,161,2,90,56,189,2,140,56,76,228,174,56,227,165,213,56,199,35,0,57,168,100,23,57,134,149,48,57,104,182,75,57,64,199,104,57,7,228,131,57,105,92,148,57,191,204,165,57,6,53,184,57,65,149,203,57,105,237,223,57,120,61,245,57,184,194,5,58,166,98,17,58,134,126,29,58,81,22,42,58,9,42,55,58,172,185,68,58,54,197,82,58,165,76,97,58,250,79,112,58,47,207,127,58,34,229,135,58,154,32,144,58,255,153,152,58,80,81,161,58,139,70,170,58,174,121,179,58,186,234,188,58,171,153,198,58,129,134,208,58,58,177,218,58,212,25,229,58,79,192,239,58,167,164,250,58,109,227,2,59,117,147,8,59,105,98,14,59,73,80,20,59,19,93,26,59,199,136,32,59,100,211,38,59,232,60,45,59,83,197,51,59,164,108,58,59,218,50,65,59,243,23,72,59,239,27,79,59,204,62,86,59,138,128,93,59,38,225,100,59,161,96,108,59,249,254,115,59,45,188,123,59,29,204,129,59,145,201,133,59,113,214,137,59,188,242,141,59,113,30,146,59,145,89,150,59,26,164,154,59,12,254,158,59,102,103,163,59,40,224,167,59,80,104,172,59,222,255,176,59,209,166,181,59,40,93,186,59,228,34,191,59,2,248,195,59,131,220,200,59,101,208,205,59,168,211,210,59,74,230,215,59,76,8,221,59,172,57,226,59,105,122,231,59,131,202,236,59,249,41,242,59,202,152,247,59,245,22,253,59,60,82,1,60,170,32,4,60,196,246,6,60,137,212,9,60,249,185,12,60,19,167,15,60,216,155,18,60,69,152,21,60,92,156,24,60,26,168,27,60,129,187,30,60,143,214,33,60,69,249,36,60,160,35,40,60,162,85,43,60,73,143,46,60,149,208,49,60,133,25,53,60,26,106,56,60,81,194,59,60,44,34,63,60,168,137,66,60,199,248,69,60,134,111,73,60,230,237,76,60,231,115,80,60,134,1,84,60,197,150,87,60,162,51,91,60,28,216,94,60,52,132,98,60,232,55,102,60,56,243,105,60,35,182,109,60,170,128,113,60,202,82,117,60,131,44,121,60,214,13,125,60,96,123,128,60,161,115,130,60,174,111,132,60,134,111,134,60,40,115,136,60,149,122,138,60,205,133,140,60,206,148,142,60,152,167,144,60,44,190,146,60,136,216,148,60,173,246,150,60,154,24,153,60,78,62,155,60,202,103,157,60,13,149,159,60,23,198,161,60,231,250,163,60,125,51,166,60,217,111,168,60,249,175,170,60,223,243,172,60,137,59,175,60,247,134,177,60,40,214,179,60,29,41,182,60,213,127,184,60,80,218,186,60,140,56,189,60,138,154,191,60,74,0,194,60,202,105,196,60,11,215,198,60,12,72,201,60,205,188,203,60,77,53,206,60,140,177,208,60,137,49,211,60,69,181,213,60,189,60,216,60,243,199,218,60,230,86,221,60,149,233,223,60,0,128,226,60,39,26,229,60,8,184,231,60,164,89,234,60,250,254,236,60,9,168,239,60,210,84,242,60,83,5,245,60,141,185,247,60,126,113,250,60,39,45,253,60,134,236,255,60,206,87,1,61,52,187,2,61,117,32,4,61,144,135,5,61,133,240,6,61,84,91,8,61,253,199,9,61,128,54,11,61,219,166,12,61,16,25,14,61,29,141,15,61,3,3,17,61,193,122,18,61,87,244,19,61,197,111,21,61,10,237,22,61,39,108,24,61,26,237,25,61,228,111,27,61,132,244,28,61,251,122,30,61,71,3,32,61,105,141,33,61,96,25,35,61,45,167,36,61,206,54,38,61,67,200,39,61,141,91,41,61,171,240,42,61,156,135,44,61,96,32,46,61,248,186,47,61,99,87,49,61,160,245,50,61,175,149,52,61,144,55,54,61,67,219,55,61,199,128,57,61,28,40,59,61,65,209,60,61,56,124,62,61,254,40,64,61,148,215,65,61,250,135,67,61,47,58,69,61,51,238,70,61,5,164,72,61,166,91,74,61,20,21,76,61,80,208,77,61,90,141,79,61,49,76,81,61,212,12,83,61,68,207,84,61,128,147,86,61,135,89,88,61,90,33,90,61,248,234,91,61,97,182,93,61,148,131,95,61,145,82,97,61,88,35,99,61,232,245,100,61,65,202,102,61,100,160,104,61,78,120,106,61,1,82,108,61,123,45,110,61,188,10,112,61,197,233,113,61,148,202,115,61,41,173,117,61,133,145,119,61,166,119,121,61,140,95,123,61,55,73,125,61,166,52,127,61,237,144,128,61,105,136,129,61,198,128,130,61,5,122,131,61,37,116,132,61,39,111,133,61,9,107,134,61,204,103,135,61,112,101,136,61,244,99,137,61,88,99,138,61,157,99,139,61,193,100,140,61,196,102,141,61,167,105,142,61,106,109,143,61,11,114,144,61,139,119,145,61,234,125,146,61,40,133,147,61,67,141,148,61,61,150,149,61,20,160,150,61,201,170,151,61,92,182,152,61,203,194,153,61,24,208,154,61,66,222,155,61,72,237,156,61,42,253,157,61,233,13,159,61,132,31,160,61,250,49,161,61,76,69,162,61,122,89,163,61,130,110,164,61,101,132,165,61,35,155,166,61,188,178,167,61,47,203,168,61,124,228,169,61,162,254,170,61,163,25,172,61,124,53,173,61,47,82,174,61,187,111,175,61,31,142,176,61,92,173,177,61,113,205,178,61,94,238,179,61,35,16,181,61,192,50,182,61,52,86,183,61,127,122,184,61,160,159,185,61,153,197,186,61,104,236,187,61,13,20,189,61,136,60,190,61,217,101,191,61,255,143,192,61,250,186,193,61,202,230,194,61,111,19,196,61,233,64,197,61,55,111,198,61,89,158,199,61,78,206,200,61,23,255,201,61,179,48,203,61,35,99,204,61,101,150,205,61,121,202,206,61,96,255,207,61,25,53,209,61,164,107,210,61,0,163,211,61,45,219,212,61,44,20,214,61,251,77,215,61,154,136,216,61,10,196,217,61,74,0,219,61,89,61,220,61,56,123,221,61,230,185,222,61,99,249,223,61,174,57,225,61,200,122,226,61,176,188,227,61,102,255,228,61,233,66,230,61,58,135,231,61,88,204,232,61,66,18,234,61,249,88,235,61,124,160,236,61,203,232,237,61,230,49,239,61,204,123,240,61,125,198,241,61,249,17,243,61,63,94,244,61,79,171,245,61,42,249,246,61,206,71,248,61,60,151,249,61,114,231,250,61,114,56,252,61,58,138,253,61,202,220,254,61,17,24,0,62,33,194,0,62,149,108,1,62,108,23,2,62,166,194,2,62,68,110,3,62,69,26,4,62,168,198,4,62,111,115,5,62,152,32,6,62,35,206,6,62,17,124,7,62,98,42,8,62,20,217,8,62,40,136,9,62,157,55,10,62,117,231,10,62,173,151,11,62,71,72,12,62,66,249,12,62,158,170,13,62,91,92,14,62,120,14,15,62,246,192,15,62,213,115,16,62,19,39,17,62,177,218,17,62,175,142,18,62,13,67,19,62,202,247,19,62,231,172,20,62,99,98,21,62,62,24,22,62,120,206,22,62,16,133,23,62,7,60,24,62,92,243,24,62,16,171,25,62,33,99,26,62,145,27,27,62,94,212,27,62,137,141,28,62,17,71,29,62,246,0,30,62,56,187,30,62,215,117,31,62,211,48,32,62,43,236,32,62,224,167,33,62,241,99,34,62,93,32,35,62,38,221,35,62,74,154,36,62,202,87,37,62,165,21,38,62,219,211,38,62,108,146,39,62,88,81,40,62,159,16,41,62,64,208,41,62,59,144,42,62,144,80,43,62,63,17,44,62,72,210,44,62,170,147,45,62,102,85,46,62,122,23,47,62,232,217,47,62,175,156,48,62,206,95,49,62,69,35,50,62,21,231,50,62,61,171,51,62,189,111,52,62,148,52,53,62,195,249,53,62,73,191,54,62,38,133,55,62,91,75,56,62,230,17,57,62,199,216,57,62,255,159,58,62,141,103,59,62,113,47,60,62,171,247,60,62,59,192,61,62,31,137,62,62,89,82,63,62,232,27,64,62,204,229,64,62,5,176,65,62,146,122,66,62,115,69,67,62,168,16,68,62,49,220,68,62,14,168,69,62,62,116,70,62,194,64,71,62,152,13,72,62,193,218,72,62,61,168,73,62,12,118,74,62,44,68,75,62,159,18,76,62,100,225,76,62,122,176,77,62,225,127,78,62,154,79,79,62,164,31,80,62,255,239,80,62,170,192,81,62,166,145,82,62,242,98,83,62,141,52,84,62,121,6,85,62,180,216,85,62,63,171,86,62,25,126,87,62,65,81,88,62,185,36,89,62,126,248,89,62,147,204,90,62,245,160,91,62,165,117,92,62,163,74,93,62,238,31,94,62,135,245,94,62,109,203,95,62,159,161,96,62,30,120,97,62,233,78,98,62,1,38,99,62,100,253,99,62,19,213,100,62,14,173,101,62,84,133,102,62,229,93,103,62,193,54,104,62,231,15,105,62,88,233,105,62,19,195,106,62,24,157,107,62,103,119,108,62,255,81,109,62,224,44,110,62,11,8,111,62,126,227,111,62,58,191,112,62,62,155,113,62,139,119,114,62,31,84,115,62,251,48,116,62,31,14,117,62,138,235,117,62,59,201,118,62,52,167,119,62,115,133,120,62,248,99,121,62,196,66,122,62,213,33,123,62,44,1,124,62,200,224,124,62,170,192,125,62,208,160,126,62,59,129,127,62,245,48,128,62,111,161,128,62,11,18,129,62,201,130,129,62,168,243,129,62,169,100,130,62,204,213,130,62,15,71,131,62,117,184,131,62,251,41,132,62,162,155,132,62,107,13,133,62,84,127,133,62,93,241,133,62,136,99,134,62,210,213,134,62,61,72,135,62,200,186,135,62,116,45,136,62,63,160,136,62,42,19,137,62,52,134,137,62,94,249,137,62,168,108,138,62,17,224,138,62,153,83,139,62,64,199,139,62,6,59,140,62,235,174,140,62,239,34,141,62,17,151,141,62,82,11,142,62,177,127,142,62,46,244,142,62,201,104,143,62,130,221,143,62,89,82,144,62,78,199,144,62,96,60,145,62,143,177,145,62,220,38,146,62,70,156,146,62,205,17,147,62,113,135,147,62,50,253,147,62,16,115,148,62,9,233,148,62,32,95,149,62,82,213,149,62,161,75,150,62,12,194,150,62,146,56,151,62,53,175,151,62,243,37,152,62,204,156,152,62,193,19,153,62,209,138,153,62,252,1,154,62,66,121,154,62,163,240,154,62,31,104,155,62,181,223,155,62,101,87,156,62,48,207,156,62,21,71,157,62,20,191,157,62,45,55,158,62,96,175,158,62,172,39,159,62,18,160,159,62,145,24,160,62,41,145,160,62,218,9,161,62,165,130,161,62,136,251,161,62,132,116,162,62,152,237,162,62,197,102,163,62,10,224,163,62,103,89,164,62,220,210,164,62,105,76,165,62,14,198,165,62,202,63,166,62,158,185,166,62,137,51,167,62,139,173,167,62,164,39,168,62,213,161,168,62,27,28,169,62],"i8",N3,x.GLOBAL_BASE+520696),E3([121,150,169,62,237,16,170,62,119,139,170,62,24,6,171,62,206,128,171,62,155,251,171,62,125,118,172,62,117,241,172,62,130,108,173,62,165,231,173,62,221,98,174,62,42,222,174,62,140,89,175,62,2,213,175,62,142,80,176,62,46,204,176,62,226,71,177,62,170,195,177,62,135,63,178,62,119,187,178,62,124,55,179,62,148,179,179,62,191,47,180,62,254,171,180,62,80,40,181,62,181,164,181,62,45,33,182,62,184,157,182,62,85,26,183,62,5,151,183,62,199,19,184,62,156,144,184,62,130,13,185,62,123,138,185,62,133,7,186,62,161,132,186,62,206,1,187,62,13,127,187,62,93,252,187,62,190,121,188,62,48,247,188,62,178,116,189,62,70,242,189,62,233,111,190,62,157,237,190,62,98,107,191,62,54,233,191,62,26,103,192,62,14,229,192,62,17,99,193,62,36,225,193,62,70,95,194,62,119,221,194,62,184,91,195,62,7,218,195,62,100,88,196,62,209,214,196,62,75,85,197,62,212,211,197,62,107,82,198,62,16,209,198,62,195,79,199,62,132,206,199,62,82,77,200,62,45,204,200,62,21,75,201,62,11,202,201,62,13,73,202,62,29,200,202,62,56,71,203,62,97,198,203,62,149,69,204,62,214,196,204,62,34,68,205,62,123,195,205,62,223,66,206,62,79,194,206,62,202,65,207,62,81,193,207,62,226,64,208,62,127,192,208,62,38,64,209,62,216,191,209,62,148,63,210,62,91,191,210,62,44,63,211,62,7,191,211,62,235,62,212,62,218,190,212,62,210,62,213,62,211,190,213,62,222,62,214,62,242,190,214,62,15,63,215,62,53,191,215,62,99,63,216,62,154,191,216,62,217,63,217,62,32,192,217,62,112,64,218,62,199,192,218,62,38,65,219,62,140,193,219,62,250,65,220,62,112,194,220,62,236,66,221,62,112,195,221,62,250,67,222,62,139,196,222,62,34,69,223,62,192,197,223,62,100,70,224,62,14,199,224,62,189,71,225,62,115,200,225,62,46,73,226,62,239,201,226,62,181,74,227,62,127,203,227,62,79,76,228,62,36,205,228,62,253,77,229,62,219,206,229,62,190,79,230,62,164,208,230,62,142,81,231,62,125,210,231,62,111,83,232,62,100,212,232,62,93,85,233,62,89,214,233,62,89,87,234,62,91,216,234,62,96,89,235,62,104,218,235,62,114,91,236,62,126,220,236,62,141,93,237,62,158,222,237,62,176,95,238,62,196,224,238,62,218,97,239,62,241,226,239,62,10,100,240,62,35,229,240,62,62,102,241,62,89,231,241,62,116,104,242,62,145,233,242,62,173,106,243,62,202,235,243,62,230,108,244,62,3,238,244,62,31,111,245,62,59,240,245,62,86,113,246,62,112,242,246,62,137,115,247,62,161,244,247,62,184,117,248,62,206,246,248,62,226,119,249,62,244,248,249,62,4,122,250,62,18,251,250,62,30,124,251,62,40,253,251,62,47,126,252,62,52,255,252,62,54,128,253,62,52,1,254,62,48,130,254,62,40,3,255,62,29,132,255,62,135,2,0,63,254,66,0,63,115,131,0,63,230,195,0,63,86,4,1,63,197,68,1,63,49,133,1,63,155,197,1,63,3,6,2,63,103,70,2,63,202,134,2,63,42,199,2,63,135,7,3,63,225,71,3,63,56,136,3,63,141,200,3,63,222,8,4,63,44,73,4,63,119,137,4,63,191,201,4,63,3,10,5,63,68,74,5,63,130,138,5,63,188,202,5,63,242,10,6,63,36,75,6,63,83,139,6,63,126,203,6,63,165,11,7,63,199,75,7,63,230,139,7,63,1,204,7,63,23,12,8,63,41,76,8,63,54,140,8,63,63,204,8,63,67,12,9,63,67,76,9,63,62,140,9,63,52,204,9,63,37,12,10,63,18,76,10,63,249,139,10,63,219,203,10,63,184,11,11,63,144,75,11,63,98,139,11,63,47,203,11,63,246,10,12,63,184,74,12,63,116,138,12,63,43,202,12,63,219,9,13,63,134,73,13,63,43,137,13,63,202,200,13,63,98,8,14,63,245,71,14,63,129,135,14,63,7,199,14,63,135,6,15,63,0,70,15,63,114,133,15,63,222,196,15,63,67,4,16,63,161,67,16,63,249,130,16,63,73,194,16,63,147,1,17,63,213,64,17,63,17,128,17,63,69,191,17,63,114,254,17,63,151,61,18,63,181,124,18,63,203,187,18,63,218,250,18,63,225,57,19,63,225,120,19,63,216,183,19,63,200,246,19,63,176,53,20,63,143,116,20,63,103,179,20,63,54,242,20,63,253,48,21,63,188,111,21,63,114,174,21,63,32,237,21,63,197,43,22,63,98,106,22,63,246,168,22,63,129,231,22,63,3,38,23,63,125,100,23,63,237,162,23,63,84,225,23,63,178,31,24,63,7,94,24,63,83,156,24,63,149,218,24,63,206,24,25,63,253,86,25,63,35,149,25,63,63,211,25,63,82,17,26,63,90,79,26,63,89,141,26,63,78,203,26,63,57,9,27,63,25,71,27,63,240,132,27,63,188,194,27,63,126,0,28,63,54,62,28,63,227,123,28,63,134,185,28,63,30,247,28,63,172,52,29,63,47,114,29,63,167,175,29,63,20,237,29,63,118,42,30,63,206,103,30,63,26,165,30,63,91,226,30,63,145,31,31,63,188,92,31,63,219,153,31,63,239,214,31,63,247,19,32,63,244,80,32,63,230,141,32,63,203,202,32,63,165,7,33,63,115,68,33,63,53,129,33,63,235,189,33,63,150,250,33,63,52,55,34,63,198,115,34,63,75,176,34,63,197,236,34,63,50,41,35,63,146,101,35,63,230,161,35,63,46,222,35,63,105,26,36,63,151,86,36,63,185,146,36,63,205,206,36,63,213,10,37,63,208,70,37,63,190,130,37,63,158,190,37,63,114,250,37,63,56,54,38,63,241,113,38,63,157,173,38,63,59,233,38,63,204,36,39,63,79,96,39,63,197,155,39,63,45,215,39,63,135,18,40,63,211,77,40,63,18,137,40,63,66,196,40,63,101,255,40,63,121,58,41,63,128,117,41,63,120,176,41,63,98,235,41,63,62,38,42,63,11,97,42,63,202,155,42,63,122,214,42,63,28,17,43,63,175,75,43,63,52,134,43,63,170,192,43,63,16,251,43,63,105,53,44,63,178,111,44,63,236,169,44,63,23,228,44,63,51,30,45,63,64,88,45,63,61,146,45,63,43,204,45,63,10,6,46,63,218,63,46,63,154,121,46,63,74,179,46,63,235,236,46,63,124,38,47,63,254,95,47,63,112,153,47,63,210,210,47,63,36,12,48,63,102,69,48,63,152,126,48,63,186,183,48,63,204,240,48,63,205,41,49,63,191,98,49,63,160,155,49,63,113,212,49,63,49,13,50,63,225,69,50,63,128,126,50,63,15,183,50,63,141,239,50,63,251,39,51,63,87,96,51,63,163,152,51,63,222,208,51,63,8,9,52,63,34,65,52,63,42,121,52,63,33,177,52,63,7,233,52,63,219,32,53,63,159,88,53,63,81,144,53,63,242,199,53,63,129,255,53,63,255,54,54,63,108,110,54,63,198,165,54,63,16,221,54,63,71,20,55,63,109,75,55,63,129,130,55,63,131,185,55,63,116,240,55,63,82,39,56,63,30,94,56,63,217,148,56,63,129,203,56,63,23,2,57,63,155,56,57,63,13,111,57,63,108,165,57,63,185,219,57,63,244,17,58,63,28,72,58,63,50,126,58,63,53,180,58,63,38,234,58,63,4,32,59,63,207,85,59,63,135,139,59,63,45,193,59,63,192,246,59,63,64,44,60,63,173,97,60,63,7,151,60,63,78,204,60,63,130,1,61,63,163,54,61,63,177,107,61,63,171,160,61,63,146,213,61,63,102,10,62,63,39,63,62,63,212,115,62,63,110,168,62,63,244,220,62,63,103,17,63,63,198,69,63,63,17,122,63,63,73,174,63,63,109,226,63,63,126,22,64,63,122,74,64,63,99,126,64,63,56,178,64,63,248,229,64,63,165,25,65,63,62,77,65,63,195,128,65,63,52,180,65,63,144,231,65,63,216,26,66,63,13,78,66,63,44,129,66,63,56,180,66,63,47,231,66,63,18,26,67,63,224,76,67,63,154,127,67,63,64,178,67,63,208,228,67,63,77,23,68,63,180,73,68,63,7,124,68,63,69,174,68,63,111,224,68,63,131,18,69,63,131,68,69,63,110,118,69,63,68,168,69,63,5,218,69,63,177,11,70,63,72,61,70,63,202,110,70,63,55,160,70,63,143,209,70,63,210,2,71,63,255,51,71,63,23,101,71,63,26,150,71,63,8,199,71,63,224,247,71,63,163,40,72,63,81,89,72,63,233,137,72,63,107,186,72,63,216,234,72,63,48,27,73,63,114,75,73,63,158,123,73,63,181,171,73,63,181,219,73,63,161,11,74,63,118,59,74,63,54,107,74,63,224,154,74,63,116,202,74,63,242,249,74,63,90,41,75,63,173,88,75,63,233,135,75,63,15,183,75,63,32,230,75,63,26,21,76,63,254,67,76,63,204,114,76,63,132,161,76,63,38,208,76,63,177,254,76,63,38,45,77,63,133,91,77,63,206,137,77,63,0,184,77,63,28,230,77,63,34,20,78,63,17,66,78,63,234,111,78,63,172,157,78,63,88,203,78,63,238,248,78,63,108,38,79,63,213,83,79,63,38,129,79,63,97,174,79,63,134,219,79,63,147,8,80,63,138,53,80,63,107,98,80,63,52,143,80,63,231,187,80,63,131,232,80,63,8,21,81,63,119,65,81,63,206,109,81,63,15,154,81,63,57,198,81,63,76,242,81,63,71,30,82,63,44,74,82,63,250,117,82,63,177,161,82,63,81,205,82,63,218,248,82,63,76,36,83,63,166,79,83,63,234,122,83,63,22,166,83,63,44,209,83,63,42,252,83,63,17,39,84,63,224,81,84,63,153,124,84,63,58,167,84,63,196,209,84,63,54,252,84,63,146,38,85,63,214,80,85,63,2,123,85,63,24,165,85,63,22,207,85,63,252,248,85,63,204,34,86,63,131,76,86,63,36,118,86,63,172,159,86,63,30,201,86,63,120,242,86,63,186,27,87,63,229,68,87,63,248,109,87,63,244,150,87,63,216,191,87,63,165,232,87,63,90,17,88,63,248,57,88,63,126,98,88,63,236,138,88,63,67,179,88,63,130,219,88,63,169,3,89,63,185,43,89,63,177,83,89,63,145,123,89,63,90,163,89,63,11,203,89,63,164,242,89,63,37,26,90,63,143,65,90,63,225,104,90,63,27,144,90,63,62,183,90,63,72,222,90,63,59,5,91,63,22,44,91,63,217,82,91,63,133,121,91,63,24,160,91,63,148,198,91,63,248,236,91,63,68,19,92,63,120,57,92,63,149,95,92,63,153,133,92,63,134,171,92,63,91,209,92,63,24,247,92,63,189,28,93,63,74,66,93,63,191,103,93,63,28,141,93,63,98,178,93,63,143,215,93,63,165,252,93,63,162,33,94,63,136,70,94,63,86,107,94,63,11,144,94,63,169,180,94,63,47,217,94,63,157,253,94,63,243,33,95,63,49,70,95,63,88,106,95,63,102,142,95,63,92,178,95,63,59,214,95,63,1,250,95,63,175,29,96,63,70,65,96,63,196,100,96,63,43,136,96,63,122,171,96,63,176,206,96,63,207,241,96,63,214,20,97,63,197,55,97,63,155,90,97,63,90,125,97,63,1,160,97,63,144,194,97,63,8,229,97,63,103,7,98,63,174,41,98,63,221,75,98,63,245,109,98,63,244,143,98,63,220,177,98,63,171,211,98,63,99,245,98,63,3,23,99,63,139,56,99,63,251,89,99,63,83,123,99,63,147,156,99,63,188,189,99,63,204,222,99,63,197,255,99,63,166,32,100,63,110,65,100,63,32,98,100,63,185,130,100,63,58,163,100,63,164,195,100,63,245,227,100,63,47,4,101,63,82,36,101,63,92,68,101,63,78,100,101,63,41,132,101,63,236,163,101,63,151,195,101,63,43,227,101,63,167,2,102,63,11,34,102,63,87,65,102,63,139,96,102,63,168,127,102,63,174,158,102,63,155,189,102,63,113,220,102,63,47,251,102,63,214,25,103,63,101,56,103,63,220,86,103,63,59,117,103,63,132,147,103,63,180,177,103,63,205,207,103,63,206,237,103,63,184,11,104,63,138,41,104,63,69,71,104,63,233,100,104,63,116,130,104,63,233,159,104,63,69,189,104,63,139,218,104,63,185,247,104,63,207,20,105,63,207,49,105,63,182,78,105,63,135,107,105,63,64,136,105,63,225,164,105,63,108,193,105,63,223,221,105,63,59,250,105,63,127,22,106,63,172,50,106,63,195,78,106,63,193,106,106,63,169,134,106,63,121,162,106,63,51,190,106,63,213,217,106,63,96,245,106,63,212,16,107,63,48,44,107,63,118,71,107,63,165,98,107,63,188,125,107,63,189,152,107,63,167,179,107,63,121,206,107,63,53,233,107,63,218,3,108,63,104,30,108,63,223,56,108,63,63,83,108,63,136,109,108,63,187,135,108,63,214,161,108,63,219,187,108,63,201,213,108,63,161,239,108,63,97,9,109,63,11,35,109,63,159,60,109,63,27,86,109,63,129,111,109,63,209,136,109,63,9,162,109,63,44,187,109,63,56,212,109,63,45,237,109,63,12,6,110,63,212,30,110,63,134,55,110,63,33,80,110,63,166,104,110,63,21,129,110,63,110,153,110,63,176,177,110,63,220,201,110,63,241,225,110,63,241,249,110,63,218,17,111,63,173,41,111,63,106,65,111,63,16,89,111,63,161,112,111,63,28,136,111,63,128,159,111,63,207,182,111,63,7,206,111,63,42,229,111,63,54,252,111,63,45,19,112,63,14,42,112,63,217,64,112,63,142,87,112,63,46,110,112,63,184,132,112,63,43,155,112,63,138,177,112,63,210,199,112,63,5,222,112,63,35,244,112,63,42,10,113,63,29,32,113,63,249,53,113,63,193,75,113,63,114,97,113,63,15,119,113,63,150,140,113,63,7,162,113,63,99,183,113,63,170,204,113,63,220,225,113,63,249,246,113,63,0,12,114,63,242,32,114,63,207,53,114,63,151,74,114,63,73,95,114,63,231,115,114,63,112,136,114,63,227,156,114,63,66,177,114,63,140,197,114,63,193,217,114,63,225,237,114,63,236,1,115,63,227,21,115,63,197,41,115,63,146,61,115,63,74,81,115,63,238,100,115,63,125,120,115,63,248,139,115,63,94,159,115,63,175,178,115,63,236,197,115,63,21,217,115,63,41,236,115,63,41,255,115,63,21,18,116,63,236,36,116,63,175,55,116,63,94,74,116,63,248,92,116,63,127,111,116,63,241,129,116,63,80,148,116,63,154,166,116,63,208,184,116,63,242,202,116,63,1,221,116,63,251,238,116,63,226,0,117,63,181,18,117,63,116,36,117,63,31,54,117,63,183,71,117,63,59,89,117,63,171,106,117,63,8,124,117,63,81,141,117,63,135,158,117,63,169,175,117,63,184,192,117,63,179,209,117,63,155,226,117,63,112,243,117,63,50,4,118,63,224,20,118,63,123,37,118,63,3,54,118,63,120,70,118,63,217,86,118,63,40,103,118,63,100,119,118,63,140,135,118,63,162,151,118,63,165,167,118,63,149,183,118,63,114,199,118,63,61,215,118,63,245,230,118,63,154,246,118,63,44,6,119,63,172,21,119,63,26,37,119,63,117,52,119,63,189,67,119,63,243,82,119,63,22,98,119,63,40,113,119,63,39,128,119,63,19,143,119,63,238,157,119,63,182,172,119,63,108,187,119,63,16,202,119,63,162,216,119,63,34,231,119,63,144,245,119,63,236,3,120,63,55,18,120,63,111,32,120,63,150,46,120,63,170,60,120,63,174,74,120,63,159,88,120,63,127,102,120,63,77,116,120,63,10,130,120,63,181,143,120,63,79,157,120,63,215,170,120,63,78,184,120,63,180,197,120,63,8,211,120,63,76,224,120,63,126,237,120,63,158,250,120,63,174,7,121,63,173,20,121,63,155,33,121,63,119,46,121,63,67,59,121,63,254,71,121,63,168,84,121,63,66,97,121,63,202,109,121,63,66,122,121,63,169,134,121,63,0,147,121,63,70,159,121,63,124,171,121,63,161,183,121,63,181,195,121,63,186,207,121,63,173,219,121,63,145,231,121,63,100,243,121,63,40,255,121,63,219,10,122,63,126,22,122,63,16,34,122,63,147,45,122,63,6,57,122,63,105,68,122,63,188,79,122,63,255,90,122,63,51,102,122,63,86,113,122,63,106,124,122,63,111,135,122,63,99,146,122,63,72,157,122,63,30,168,122,63,228,178,122,63,155,189,122,63,66,200,122,63,218,210,122,63,99,221,122,63,221,231,122,63,71,242,122,63,162,252,122,63,238,6,123,63,43,17,123,63,89,27,123,63,120,37,123,63,137,47,123,63,138,57,123,63,124,67,123,63,96,77,123,63,53,87,123,63,252,96,123,63,179,106,123,63,92,116,123,63,247,125,123,63,131,135,123,63,1,145,123,63,112,154,123,63,209,163,123,63,36,173,123,63,104,182,123,63,158,191,123,63,198,200,123,63,224,209,123,63,236,218,123,63,234,227,123,63,218,236,123,63,188,245,123,63,144,254,123,63,86,7,124,63,14,16,124,63,185,24,124,63,86,33,124,63,230,41,124,63,104,50,124,63,220,58,124,63,67,67,124,63,156,75,124,63,232,83,124,63,39,92,124,63,88,100,124,63,124,108,124,63,147,116,124,63,157,124,124,63,153,132,124,63,137,140,124,63,107,148,124,63,65,156,124,63,9,164,124,63,197,171,124,63,116,179,124,63,22,187,124,63,172,194,124,63,52,202,124,63,176,209,124,63,32,217,124,63,131,224,124,63,217,231,124,63,35,239,124,63,97,246,124,63,146,253,124,63,183,4,125,63,208,11,125,63,221,18,125,63,221,25,125,63,209,32,125,63,185,39,125,63,150,46,125,63,102,53,125,63,42,60,125,63,227,66,125,63,143,73,125,63,48,80,125,63,197,86,125,63,78,93,125,63,204,99,125,63,62,106,125,63,165,112,125,63,0,119,125,63,80,125,125,63,148,131,125,63,205,137,125,63,251,143,125,63,29,150,125,63,52,156,125,63,64,162,125,63,65,168,125,63,55,174,125,63,34,180,125,63,2,186,125,63,215,191,125,63,161,197,125,63,96,203,125,63,21,209,125,63,190,214,125,63,93,220,125,63,242,225,125,63,124,231,125,63,251,236,125,63,112,242,125,63,218,247,125,63,58,253,125,63,143,2,126,63,219,7,126,63,28,13,126,63,82,18,126,63,127,23,126,63,161,28,126,63,186,33,126,63,200,38,126,63,204,43,126,63,199,48,126,63,183,53,126,63,158,58,126,63,123,63,126,63,78,68,126,63,23,73,126,63,215,77,126,63,141,82,126,63,58,87,126,63,221,91,126,63,118,96,126,63,6,101,126,63,141,105,126,63,10,110,126,63,126,114,126,63,233,118,126,63,75,123,126,63,164,127,126,63,243,131,126,63,57,136,126,63,119,140,126,63,171,144,126,63,214,148,126,63,249,152,126,63,18,157,126,63,35,161,126,63,44,165,126,63,43,169,126,63,34,173,126,63,16,177,126,63,246,180,126,63,211,184,126,63,167,188,126,63,115,192,126,63,55,196,126,63,243,199,126,63,166,203,126,63,81,207,126,63,243,210,126,63,142,214,126,63,32,218,126,63,171,221,126,63,45,225,126,63,167,228,126,63,26,232,126,63,132,235,126,63,231,238,126,63,66,242,126,63,149,245,126,63,224,248,126,63,36,252,126,63,96,255,126,63,148,2,127,63,193,5,127,63,230,8,127,63,4,12,127,63,27,15,127,63,42,18,127,63,50,21,127,63,50,24,127,63,43,27,127,63,29,30,127,63,8,33,127,63,236,35,127,63,201,38,127,63,158,41,127,63,109,44,127,63,53,47,127,63,246,49,127,63,175,52,127,63,99,55,127,63,15,58,127,63,181,60,127,63,83,63,127,63,236,65,127,63,125,68,127,63,8,71,127,63,141,73,127,63,11,76,127,63,131,78,127,63,244,80,127,63,95,83,127,63,195,85,127,63,33,88,127,63,121,90,127,63,203,92,127,63,23,95,127,63,92,97,127,63,155,99,127,63,213,101,127,63,8,104,127,63,54,106,127,63,93,108,127,63,127,110,127,63,155,112,127,63,177,114,127,63,193,116,127,63,203,118,127,63,208,120,127,63,207,122,127,63,201,124,127,63,189,126,127,63,171,128,127,63,148,130,127,63,120,132,127,63,86,134,127,63,47,136,127,63,2,138,127,63,209,139,127,63,153,141,127,63,93,143,127,63,28,145,127,63,213,146,127,63,137,148,127,63,57,150,127,63,227,151,127,63,136,153,127,63,40,155,127,63,196,156,127,63,90,158,127,63,236,159,127,63,121,161,127,63,1,163,127,63,132,164,127,63,3,166,127,63,125,167,127,63,242,168,127,63,99,170,127,63,207,171,127,63,55,173,127,63,154,174,127,63,249,175,127,63,84,177,127,63,170,178,127,63,251,179,127,63,73,181,127,63,146,182,127,63,215,183,127,63,24,185,127,63,85,186,127,63,141,187,127,63,193,188,127,63,242,189,127,63,30,191,127,63,71,192,127,63,107,193,127,63,140,194,127,63,168,195,127,63,193,196,127,63,214,197,127,63,231,198,127,63,245,199,127,63,255,200,127,63,5,202,127,63,7,203,127,63,6,204,127,63,1,205,127,63,249,205,127,63,237,206,127,63,222,207,127,63,203,208,127,63,181,209,127,63,156,210,127,63,127,211,127,63,95,212,127,63,59,213,127,63,20,214,127,63,234,214,127,63,189,215,127,63,141,216,127,63,90,217,127,63,35,218,127,63,233,218,127,63,173,219,127,63,109,220,127,63,43,221,127,63,229,221,127,63,156,222,127,63,81,223,127,63,3,224,127,63,178,224,127,63,94,225,127,63,7,226,127,63,174,226,127,63,82,227,127,63,243,227,127,63,146,228,127,63,46,229,127,63,199,229,127,63,94,230,127,63,242,230,127,63,132,231,127,63,19,232,127,63,160,232,127,63,42,233,127,63,178,233,127,63,56,234,127,63,187,234,127,63,60,235,127,63,187,235,127,63,55,236,127,63,177,236,127,63,41,237,127,63,159,237,127,63,18,238,127,63,132,238,127,63,243,238,127,63,96,239,127,63,204,239,127,63,53,240,127,63,156,240,127,63,1,241,127,63,101,241,127,63,198,241,127,63,37,242,127,63,131,242,127,63,222,242,127,63,56,243,127,63,144,243,127,63,231,243,127,63,59,244,127,63,142,244,127,63,223,244,127,63,46,245,127,63,124,245,127,63,200,245,127,63,19,246,127,63,91,246,127,63,163,246,127,63,233,246,127,63,45,247,127,63,111,247,127,63,177,247,127,63,240,247,127,63,47,248,127,63,108,248,127,63,167,248,127,63,225,248,127,63,26,249,127,63,82,249,127,63,136,249,127,63,188,249,127,63,240,249,127,63,34,250,127,63,83,250,127,63,131,250,127,63,178,250,127,63,224,250,127,63,12,251,127,63,55,251,127,63,97,251,127,63,138,251,127,63,178,251,127,63,217,251,127,63,255,251,127,63,36,252,127,63,72,252,127,63,107,252,127,63,141,252,127,63,173,252,127,63,205,252,127,63,237,252,127,63,11,253,127,63,40,253,127,63,69,253,127,63,96,253,127,63,123,253,127,63,149,253,127,63,174,253,127,63,199,253,127,63,222,253,127,63,245,253,127,63,12,254,127,63,33,254,127,63,54,254,127,63,74,254,127,63,93,254,127,63,112,254,127,63,130,254,127,63,148,254,127,63,165,254,127,63,181,254,127,63,197,254,127,63,212,254,127,63,227,254,127,63,241,254,127,63,254,254,127,63,11,255,127,63,24,255,127,63,36,255,127,63,47,255,127,63,59,255,127,63,69,255,127,63,79,255,127,63,89,255,127,63,99,255,127,63,108,255,127,63,116,255,127,63,124,255,127,63,132,255,127,63,140,255,127,63,147,255,127,63,154,255,127,63,160,255,127,63,166,255,127,63,172,255,127,63,178,255,127,63,183,255,127,63,188,255,127,63,193,255,127,63,197,255,127,63,202,255,127,63,206,255,127,63,209,255,127,63,213,255,127,63,216,255,127,63,220,255,127,63,223,255,127,63,225,255,127,63,228,255,127,63,230,255,127,63,233,255,127,63,235,255,127,63,237,255,127,63,239,255,127,63,240,255,127,63,242,255,127,63,243,255,127,63,245,255,127,63,246,255,127,63,247,255,127,63,248,255,127,63,249,255,127,63,250,255,127,63,251,255,127,63,251,255,127,63,252,255,127,63,252,255,127,63,253,255,127,63,253,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,198,63,120,51,98,136,11,53,151,200,193,53,80,233,61,54,183,247,156,54,46,124,234,54,153,192,35,55,244,2,90,55,56,3,140,55,227,228,174,55,177,166,213,55,108,36,0,56,146,101,23,56,201,150,48,56,18,184,75,56,81,201,104,56,94,229,131,56,29,94,148,56,229,206,165,56,167,55,184,56,128,152,203,56,85,241,223,56,36,66,245,56,126,197,5,57,238,101,17,57,99,130,29,57,207,26,42,57,63,47,55,57,179,191,68,57,30,204,82,57,141,84,97,57,243,88,112,57,94,217,127,57,227,234,135,57,18,39,144,57,64,161,152,57,105,89,161,57,146,79,170,57,181,131,179,57,215,245,188,57,245,165,198,57,14,148,208,57,34,192,218,57,46,42,229,57,57,210,239,57,60,184,250,57,27,238,2,58,22,159,8,58,13,111,14,58,0,94,20,58,239,107,26,58,218,152,32,58,192,228,38,58,161,79,45,58,124,217,51,58,83,130,58,58,37,74,65,58,240,48,72,58,182,54,79,58,116,91,86,58,45,159,93,58,222,1,101,58,136,131,108,58,42,36,116,58,196,227,123,58,44,225,129,58,241,223,133,58,49,238,137,58,238,11,142,58,37,57,146,58,215,117,150,58,5,194,154,58,174,29,159,58,209,136,163,58,110,3,168,58,134,141,172,58,24,39,177,58,36,208,181,58,169,136,186,58,169,80,191,58,33,40,196,58,19,15,201,58,126,5,206,58,98,11,211,58,191,32,216,58,148,69,221,58,225,121,226,58,166,189,231,58,227,16,237,58,152,115,242,58,196,229,247,58,103,103,253,58,65,124,1,59,137,76,4,59,141,36,7,59,76,4,10,59,198,235,12,59,251,218,15,59,235,209,18,59,149,208,21,59,251,214,24,59,26,229,27,59,244,250,30,59,136,24,34,59,215,61,37,59,223,106,40,59,161,159,43,59,29,220,46,59,83,32,50,59,66,108,53,59,234,191,56,59,76,27,60,59,103,126,63,59,59,233,66,59,199,91,70,59,12,214,73,59,10,88,77,59,193,225,80,59,48,115,84,59,86,12,88,59,53,173,91,59,204,85,95,59,26,6,99,59,32,190,102,59,222,125,106,59,82,69,110,59,127,20,114,59,97,235,117,59,251,201,121,59,76,176,125,59,41,207,128,59,8,202,130,59,194,200,132,59,87,203,134,59,198,209,136,59,17,220,138,59,55,234,140,59,55,252,142,59,18,18,145,59,199,43,147,59,87,73,149,59,194,106,151,59,6,144,153,59,37,185,155,59,30,230,157,59,241,22,160,59,158,75,162,59,37,132,164,59,134,192,166,59,192,0,169,59,212,68,171,59,193,140,173,59,137,216,175,59,41,40,178,59,163,123,180,59,245,210,182,59,33,46,185,59,38,141,187,59,4,240,189,59,186,86,192,59,73,193,194,59,177,47,197,59,242,161,199,59,10,24,202,59,251,145,204,59,196,15,207,59,102,145,209,59,223,22,212,59,49,160,214,59,90,45,217,59,91,190,219,59,51,83,222,59,227,235,224,59,107,136,227,59,201,40,230,59,255,204,232,59,12,117,235,59,240,32,238,59,171,208,240,59,61,132,243,59,165,59,246,59,228,246,248,59,250,181,251,59,229,120,254,59,212,159,0,60,32,5,2,60,87,108,3,60,121,213,4,60,134,64,6,60,126,173,7,60,96,28,9,60,45,141,10,60,229,255,11,60,136,116,13,60,21,235,14,60,141,99,16,60,239,221,17,60,59,90,19,60,114,216,20,60,147,88,22,60,158,218,23,60,147,94,25,60,115,228,26,60,60,108,28,60,240,245,29,60,141,129,31,60,20,15,33,60,133,158,34,60,224,47,36,60,36,195,37,60,82,88,39,60,105,239,40,60,106,136,42,60,84,35,44,60,40,192,45,60,229,94,47,60,139,255,48,60,26,162,50,60,146,70,52,60,243,236,53,60,61,149,55,60,112,63,57,60,140,235,58,60,145,153,60,60,126,73,62,60,84,251,63,60,18,175,65,60,185,100,67,60,72,28,69,60,192,213,70,60,31,145,72,60,103,78,74,60,151,13,76,60,175,206,77,60,176,145,79,60,152,86,81,60,103,29,83,60,31,230,84,60,190,176,86,60,69,125,88,60,179,75,90,60,9,28,92,60,71,238,93,60,107,194,95,60,119,152,97,60,106,112,99,60,68,74,101,60,5,38,103,60,173,3,105,60,60,227,106,60,178,196,108,60,14,168,110,60,81,141,112,60,123,116,114,60,139,93,116,60,130,72,118,60,95,53,120,60,34,36,122,60,203,20,124,60,90,7,126,60,208,251,127,60,22,249,128,60,54,245,129,60,74,242,130,60,80,240,131,60,73,239,132,60,53,239,133,60,19,240,134,60,229,241,135,60,169,244,136,60,95,248,137,60,8,253,138,60,164,2,140,60,50,9,141,60,178,16,142,60,37,25,143,60,139,34,144,60,226,44,145,60,44,56,146,60,104,68,147,60,150,81,148,60,182,95,149,60,201,110,150,60,205,126,151,60,196,143,152,60,172,161,153,60,135,180,154,60,83,200,155,60,17,221,156,60,193,242,157,60,98,9,159,60,245,32,160,60,122,57,161,60,241,82,162,60,89,109,163,60,178,136,164,60,253,164,165,60,57,194,166,60,103,224,167,60,134,255,168,60,151,31,170,60,152,64,171,60,139,98,172,60,111,133,173,60,68,169,174,60,10,206,175,60,193,243,176,60,105,26,178,60,2,66,179,60,139,106,180,60,6,148,181,60,113,190,182,60,205,233,183,60,26,22,185,60,87,67,186,60,133,113,187,60,163,160,188,60,177,208,189,60,177,1,191,60,160,51,192,60,128,102,193,60,80,154,194,60,16,207,195,60,193,4,197,60,97,59,198,60,242,114,199,60,114,171,200,60,227,228,201,60,67,31,203,60,147,90,204,60,211,150,205,60,3,212,206,60,34,18,208,60,49,81,209,60,48,145,210,60,30,210,211,60,252,19,213,60,201,86,214,60,133,154,215,60,49,223,216,60,204,36,218,60,86,107,219,60,208,178,220,60,56,251,221,60,144,68,223,60,214,142,224,60,12,218,225,60,48,38,227,60,67,115,228,60,69,193,229,60,54,16,231,60,21,96,232,60,227,176,233,60,160,2,235,60,75,85,236,60,228,168,237,60,108,253,238,60,226,82,240,60,70,169,241,60,153,0,243,60,218,88,244,60,8,178,245,60,37,12,247,60,48,103,248,60,41,195,249,60,15,32,251,60,228,125,252,60,166,220,253,60,85,60,255,60,121,78,0,61,63,255,0,61,123,176,1,61,46,98,2,61,88,20,3,61,248,198,3,61,15,122,4,61,156,45,5,61,161,225,5,61,27,150,6,61,12,75,7,61,116,0,8,61,82,182,8,61,167,108,9,61,113,35,10,61,179,218,10,61,106,146,11,61,152,74,12,61,60,3,13,61,87,188,13,61,231,117,14,61,238,47,15,61,107,234,15,61,94,165,16,61,199,96,17,61,166,28,18,61,251,216,18,61,198,149,19,61,7,83,20,61,190,16,21,61,234,206,21,61,141,141,22,61,165,76,23,61,52,12,24,61,56,204,24,61,177,140,25,61,161,77,26,61,6,15,27,61,224,208,27,61,48,147,28,61,246,85,29,61,49,25,30,61,226,220,30,61,8,161,31,61,164,101,32,61,181,42,33,61,59,240,33,61,55,182,34,61,168,124,35,61,142,67,36,61,233,10,37,61,186,210,37,61,255,154,38,61,186,99,39,61,234,44,40,61,143,246,40,61,168,192,41,61,55,139,42,61,59,86,43,61,180,33,44,61,161,237,44,61,4,186,45,61,219,134,46,61,38,84,47,61,231,33,48,61,28,240,48,61,198,190,49,61,229,141,50,61,120,93,51,61,127,45,52,61,251,253,52,61,236,206,53,61,81,160,54,61,42,114,55,61,120,68,56,61,58,23,57,61,112,234,57,61,27,190,58,61,58,146,59,61,204,102,60,61,211,59,61,61,79,17,62,61,62,231,62,61,161,189,63,61,120,148,64,61,195,107,65,61,130,67,66,61,181,27,67,61,92,244,67,61,118,205,68,61,4,167,69,61,6,129,70,61,124,91,71,61,101,54,72,61,194,17,73,61,146,237,73,61,214,201,74,61,141,166,75,61,184,131,76,61,86,97,77,61,104,63,78,61,236,29,79,61,229,252,79,61,80,220,80,61,46,188,81,61,128,156,82,61,69,125,83,61,125,94,84,61,40,64,85,61,69,34,86,61,214,4,87,61,218,231,87,61,81,203,88,61,58,175,89,61,150,147,90,61,101,120,91,61,167,93,92,61,91,67,93,61,130,41,94,61,28,16,95,61,40,247,95,61,167,222,96,61,152,198,97,61,251,174,98,61,209,151,99,61,25,129,100,61,212,106,101,61,0,85,102,61,159,63,103,61,176,42,104,61,51,22,105,61,41,2,106,61,144,238,106,61,105,219,107,61,180,200,108,61,113,182,109,61,160,164,110,61,65,147,111,61,84,130,112,61,216,113,113,61,206,97,114,61,54,82,115,61,15,67,116,61,89,52,117,61,22,38,118,61,67,24,119,61,226,10,120,61,243,253,120,61,117,241,121,61,104,229,122,61,204,217,123,61,162,206,124,61,232,195,125,61,160,185,126,61,201,175,127,61,49,83,128,61,183,206,128,61,117,74,129,61,107,198,129,61,154,66,130,61,1,191,130,61,160,59,131,61,120,184,131,61,136,53,132,61,209,178,132,61,81,48,133,61,10,174,133,61,251,43,134,61,37,170,134,61,134,40,135,61,32,167,135,61,242,37,136,61,252,164,136,61,62,36,137,61,184,163,137,61,106,35,138,61,84,163,138,61,118,35,139,61,209,163,139,61,99,36,140,61,45,165,140,61,46,38,141,61,104,167,141,61,218,40,142,61,131,170,142,61,100,44,143,61,125,174,143,61,206,48,144,61,86,179,144,61,23,54,145,61,14,185,145,61,62,60,146,61,165,191,146,61,67,67,147,61,26,199,147,61,39,75,148,61,109,207,148,61,234,83,149,61,158,216,149,61,138,93,150,61,173,226,150,61,7,104,151,61,153,237,151,61,98,115,152,61,99,249,152,61,155,127,153,61,10,6,154,61,176,140,154,61,142,19,155,61,163,154,155,61,239,33,156,61,114,169,156,61,44,49,157,61,29,185,157,61,69,65,158,61,165,201,158,61,59,82,159,61,8,219,159,61,13,100,160,61,72,237,160,61,186,118,161,61,99,0,162,61,67,138,162,61,90,20,163,61,167,158,163,61,43,41,164,61,230,179,164,61,216,62,165,61,0,202,165,61,95,85,166,61,245,224,166,61,193,108,167,61,196,248,167,61,254,132,168,61,110,17,169,61,20,158,169,61,241,42,170,61,4,184,170,61,78,69,171,61,206,210,171,61,133,96,172,61,113,238,172,61,149,124,173,61,238,10,174,61,126,153,174,61,67,40,175,61,63,183,175,61,114,70,176,61,218,213,176,61,120,101,177,61,77,245,177,61,88,133,178,61,152,21,179,61,15,166,179,61,187,54,180,61,158,199,180,61,182,88,181,61,4,234,181,61,137,123,182,61,67,13,183,61,50,159,183,61,88,49,184,61,179,195,184,61,68,86,185,61,11,233,185,61,7,124,186,61,57,15,187,61,160,162,187,61,61,54,188,61,16,202,188,61,24,94,189,61,85,242,189,61,200,134,190,61,112,27,191,61,78,176,191,61,97,69,192,61,170,218,192,61,39,112,193,61,218,5,194,61,194,155,194,61,224,49,195,61,50,200,195,61,186,94,196,61,119,245,196,61,104,140,197,61,143,35,198,61,235,186,198,61,124,82,199,61,66,234,199,61,61,130,200,61,108,26,201,61,209,178,201,61,106,75,202,61,57,228,202,61,59,125,203,61,115,22,204,61,224,175,204,61,129,73,205,61,86,227,205,61,97,125,206,61,159,23,207,61,19,178,207,61,187,76,208,61,151,231,208,61,168,130,209,61,237,29,210,61,103,185,210,61,21,85,211,61,248,240,211,61,14,141,212,61,89,41,213,61,216,197,213,61,140,98,214,61,115,255,214,61,143,156,215,61,223,57,216,61,99,215,216,61,27,117,217,61,7,19,218,61,38,177,218,61,122,79,219,61,2,238,219,61,189,140,220,61,173,43,221,61,208,202,221,61,39,106,222,61,178,9,223,61,112,169,223,61,98,73,224,61,136,233,224,61,226,137,225,61,111,42,226,61,47,203,226,61,35,108,227,61,74,13,228,61,165,174,228,61,52,80,229,61,245,241,229,61,234,147,230,61,19,54,231,61,110,216,231,61,253,122,232,61,191,29,233,61,180,192,233,61,221,99,234,61,56,7,235,61,199,170,235,61,136,78,236,61,125,242,236,61,164,150,237,61,255,58,238,61,140,223,238,61,76,132,239,61,63,41,240,61,101,206,240,61,189,115,241,61,73,25,242,61,7,191,242,61,247,100,243,61,26,11,244,61,112,177,244,61,248,87,245,61,179,254,245,61,160,165,246,61,192,76,247,61,18,244,247,61,151,155,248,61,77,67,249,61,55,235,249,61,82,147,250,61,159,59,251,61,31,228,251,61,209,140,252,61,181,53,253,61,203,222,253,61,19,136,254,61,141,49,255,61,57,219,255,61,140,66,0,62,148,151,0,62,181,236,0,62,238,65,1,62,65,151,1,62,173,236,1,62,49,66,2,62,206,151,2,62,132,237,2,62,83,67,3,62,59,153,3,62,59,239,3,62,84,69,4,62,134,155,4,62,209,241,4,62,52,72,5,62,176,158,5,62,68,245,5,62,242,75,6,62,183,162,6,62,150,249,6,62,141,80,7,62,156,167,7,62,196,254,7,62,5,86,8,62,94,173,8,62,207,4,9,62,89,92,9,62,252,179,9,62,183,11,10,62,138,99,10,62,118,187,10,62,122,19,11,62,150,107,11,62,203,195,11,62,24,28,12,62,125,116,12,62,250,204,12,62,144,37,13,62,62,126,13,62,4,215,13,62,227,47,14,62,217,136,14,62,232,225,14,62,15,59,15,62,78,148,15,62,165,237,15,62,20,71,16,62,155,160,16,62,58,250,16,62,241,83,17,62,193,173,17,62,168,7,18,62,167,97,18,62,190,187,18,62,237,21,19,62,51,112,19,62,146,202,19,62,9,37,20,62,151,127,20,62,61,218,20,62,251,52,21,62,209,143,21,62,190,234,21,62,195,69,22,62,224,160,22,62,21,252,22,62,97,87,23,62,197,178,23,62,64,14,24,62,211,105,24,62,126,197,24,62,64,33,25,62,26,125,25,62,11,217,25,62,20,53,26,62,52,145,26,62,108,237,26,62,187,73,27,62,34,166,27,62,160,2,28,62,53,95,28,62,226,187,28,62,166,24,29,62,129,117,29,62,116,210,29,62,126,47,30,62,159,140,30,62,215,233,30,62,39,71,31,62,141,164,31,62,11,2,32,62,160,95,32,62,76,189,32,62,16,27,33,62,234,120,33,62,219,214,33,62,228,52,34,62,3,147,34,62,58,241,34,62,135,79,35,62,235,173,35,62,103,12,36,62,249,106,36,62,162,201,36,62,98,40,37,62,56,135,37,62,38,230,37,62,42,69,38,62,69,164,38,62,119,3,39,62,192,98,39,62,31,194,39,62,149,33,40,62,33,129,40,62,197,224,40,62,126,64,41,62,79,160,41,62,54,0,42,62,51,96,42,62,72,192,42,62,114,32,43,62,179,128,43,62,11,225,43,62,121,65,44,62,253,161,44,62,152,2,45,62,73,99,45,62,16,196,45,62,238,36,46,62,226,133,46,62,237,230,46,62,13,72,47,62,68,169,47,62,145,10,48,62,245,107,48,62,110,205,48,62,254,46,49,62,163,144,49,62,95,242,49,62,49,84,50,62,25,182,50,62,23,24,51,62,43,122,51,62,85,220,51,62,148,62,52,62,234,160,52,62,86,3,53,62,216,101,53,62,111,200,53,62,28,43,54,62,223,141,54,62,184,240,54,62,167,83,55,62,171,182,55,62,197,25,56,62,245,124,56,62,59,224,56,62,150,67,57,62,7,167,57,62,141,10,58,62,41,110,58,62,219,209,58,62,162,53,59,62,126,153,59,62,112,253,59,62,120,97,60,62,149,197,60,62,199,41,61,62,15,142,61,62,108,242,61,62,222,86,62,62,102,187,62,62,3,32,63,62,181,132,63,62,125,233,63,62,90,78,64,62,75,179,64,62,83,24,65,62,111,125,65,62,160,226,65,62,231,71,66,62,66,173,66,62,179,18,67,62,57,120,67,62,211,221,67,62,131,67,68,62,71,169,68,62,33,15,69,62,15,117,69,62,18,219,69,62,42,65,70,62,87,167,70,62,153,13,71,62,240,115,71,62,91,218,71,62,219,64,72,62,111,167,72,62,25,14,73,62,215,116,73,62,169,219,73,62,144,66,74,62,140,169,74,62,157,16,75,62,193,119,75,62,251,222,75,62,73,70,76,62,171,173,76,62,34,21,77,62,173,124,77,62,76,228,77,62,0,76,78,62,200,179,78,62,164,27,79,62,149,131,79,62,154,235,79,62,179,83,80,62,225,187,80,62,34,36,81,62,120,140,81,62,225,244,81,62,95,93,82,62,241,197,82,62,151,46,83,62,81,151,83,62,31,0,84,62,1,105,84,62,247,209,84,62,0,59,85,62,30,164,85,62,79,13,86,62,149,118,86,62,238,223,86,62,91,73,87,62,219,178,87,62,112,28,88,62,24,134,88,62,211,239,88,62,163,89,89,62,134,195,89,62,124,45,90,62,134,151,90,62,164,1,91,62,213,107,91,62,26,214,91,62,114,64,92,62,221,170,92,62,92,21,93,62,239,127,93,62,148,234,93,62,77,85,94,62,26,192,94,62,249,42,95,62,236,149,95,62,242,0,96,62,11,108,96,62,55,215,96,62,119,66,97,62,202,173,97,62,47,25,98,62,168,132,98,62,52,240,98,62,210,91,99,62,132,199,99,62,73,51,100,62,32,159,100,62,11,11,101,62,8,119,101,62,24,227,101,62,59,79,102,62,113,187,102,62,186,39,103,62,21,148,103,62,131,0,104,62,3,109,104,62,151,217,104,62,60,70,105,62,245,178,105,62,192,31,106,62,157,140,106,62,141,249,106,62,144,102,107,62,165,211,107,62,204,64,108,62,6,174,108,62,82,27,109,62,176,136,109,62,33,246,109,62,164,99,110,62,57,209,110,62,225,62,111,62,154,172,111,62,102,26,112,62,68,136,112,62,52,246,112,62,55,100,113,62,75,210,113,62,113,64,114,62,169,174,114,62,243,28,115,62,80,139,115,62,190,249,115,62,61,104,116,62,207,214,116,62,115,69,117,62,40,180,117,62,239,34,118,62,200,145,118,62,179,0,119,62,175,111,119,62,189,222,119,62,221,77,120,62,14,189,120,62,80,44,121,62,165,155,121,62,10,11,122,62,130,122,122,62,10,234,122,62,164,89,123,62,80,201,123,62,13,57,124,62,219,168,124,62,186,24,125,62,171,136,125,62,173,248,125,62,192,104,126,62,228,216,126,62,26,73,127,62,96,185,127,62,220,20,128,62,16,77,128,62,77,133,128,62,147,189,128,62,225,245,128,62,55,46,129,62,150,102,129,62,253,158,129,62,109,215,129,62,229,15,130,62,102,72,130,62,238,128,130,62,128,185,130,62,25,242,130,62,187,42,131,62,102,99,131,62,24,156,131,62,211,212,131,62,150,13,132,62,98,70,132,62,53,127,132,62,17,184,132,62,245,240,132,62,226,41,133,62,214,98,133,62,211,155,133,62,216,212,133,62,229,13,134,62,250,70,134,62,23,128,134,62,61,185,134,62,106,242,134,62,160,43,135,62,221,100,135,62,35,158,135,62,112,215,135,62,198,16,136,62,35,74,136,62,137,131,136,62,247,188,136,62,108,246,136,62,233,47,137,62,111,105,137,62,252,162,137,62,145,220,137,62,46,22,138,62,211,79,138,62,127,137,138,62,52,195,138,62,240,252,138,62,180,54,139,62,128,112,139,62,84,170,139,62,47,228,139,62,18,30,140,62,253,87,140,62,239,145,140,62,233,203,140,62,235,5,141,62,245,63,141,62,6,122,141,62,31,180,141,62,63,238,141,62,103,40,142,62],"i8",N3,x.GLOBAL_BASE+530936),E3([150,98,142,62,205,156,142,62,12,215,142,62,82,17,143,62,159,75,143,62,245,133,143,62,81,192,143,62,181,250,143,62,33,53,144,62,147,111,144,62,14,170,144,62,143,228,144,62,25,31,145,62,169,89,145,62,65,148,145,62,224,206,145,62,134,9,146,62,52,68,146,62,233,126,146,62,165,185,146,62,105,244,146,62,52,47,147,62,6,106,147,62,223,164,147,62,191,223,147,62,167,26,148,62,150,85,148,62,139,144,148,62,136,203,148,62,140,6,149,62,152,65,149,62,170,124,149,62,195,183,149,62,227,242,149,62,11,46,150,62,57,105,150,62,111,164,150,62,171,223,150,62,238,26,151,62,56,86,151,62,138,145,151,62,226,204,151,62,65,8,152,62,167,67,152,62,19,127,152,62,135,186,152,62,1,246,152,62,130,49,153,62,10,109,153,62,153,168,153,62,47,228,153,62,203,31,154,62,110,91,154,62,24,151,154,62,200,210,154,62,127,14,155,62,61,74,155,62,2,134,155,62,205,193,155,62,158,253,155,62,119,57,156,62,85,117,156,62,59,177,156,62,39,237,156,62,25,41,157,62,18,101,157,62,18,161,157,62,24,221,157,62,36,25,158,62,55,85,158,62,80,145,158,62,112,205,158,62,150,9,159,62,195,69,159,62,246,129,159,62,47,190,159,62,111,250,159,62,180,54,160,62,1,115,160,62,83,175,160,62,172,235,160,62,11,40,161,62,112,100,161,62,219,160,161,62,77,221,161,62,196,25,162,62,66,86,162,62,198,146,162,62,81,207,162,62,225,11,163,62,119,72,163,62,20,133,163,62,182,193,163,62,95,254,163,62,13,59,164,62,194,119,164,62,125,180,164,62,61,241,164,62,4,46,165,62,208,106,165,62,162,167,165,62,123,228,165,62,89,33,166,62,61,94,166,62,39,155,166,62,23,216,166,62,12,21,167,62,7,82,167,62,8,143,167,62,15,204,167,62,28,9,168,62,46,70,168,62,70,131,168,62,100,192,168,62,136,253,168,62,177,58,169,62,223,119,169,62,20,181,169,62,78,242,169,62,141,47,170,62,211,108,170,62,29,170,170,62,109,231,170,62,195,36,171,62,31,98,171,62,127,159,171,62,230,220,171,62,81,26,172,62,194,87,172,62,57,149,172,62,181,210,172,62,54,16,173,62,189,77,173,62,73,139,173,62,218,200,173,62,113,6,174,62,13,68,174,62,174,129,174,62,85,191,174,62,0,253,174,62,177,58,175,62,103,120,175,62,35,182,175,62,227,243,175,62,169,49,176,62,116,111,176,62,68,173,176,62,25,235,176,62,243,40,177,62,210,102,177,62,182,164,177,62,160,226,177,62,142,32,178,62,129,94,178,62,121,156,178,62,119,218,178,62,121,24,179,62,128,86,179,62,140,148,179,62,157,210,179,62,178,16,180,62,205,78,180,62,236,140,180,62,16,203,180,62,57,9,181,62,103,71,181,62,154,133,181,62,209,195,181,62,13,2,182,62,78,64,182,62,147,126,182,62,221,188,182,62,44,251,182,62,127,57,183,62,215,119,183,62,52,182,183,62,149,244,183,62,251,50,184,62,101,113,184,62,212,175,184,62,71,238,184,62,191,44,185,62,59,107,185,62,188,169,185,62,65,232,185,62,202,38,186,62,88,101,186,62,235,163,186,62,129,226,186,62,28,33,187,62,188,95,187,62,95,158,187,62,7,221,187,62,180,27,188,62,100,90,188,62,25,153,188,62,210,215,188,62,143,22,189,62,80,85,189,62,22,148,189,62,223,210,189,62,173,17,190,62,127,80,190,62,85,143,190,62,47,206,190,62,13,13,191,62,239,75,191,62,213,138,191,62,191,201,191,62,173,8,192,62,159,71,192,62,149,134,192,62,143,197,192,62,141,4,193,62,143,67,193,62,148,130,193,62,158,193,193,62,171,0,194,62,188,63,194,62,209,126,194,62,234,189,194,62,6,253,194,62,38,60,195,62,74,123,195,62,113,186,195,62,157,249,195,62,204,56,196,62,254,119,196,62,52,183,196,62,110,246,196,62,171,53,197,62,236,116,197,62,49,180,197,62,121,243,197,62,196,50,198,62,19,114,198,62,102,177,198,62,188,240,198,62,21,48,199,62,114,111,199,62,210,174,199,62,54,238,199,62,157,45,200,62,7,109,200,62,117,172,200,62,230,235,200,62,90,43,201,62,209,106,201,62,76,170,201,62,202,233,201,62,75,41,202,62,208,104,202,62,88,168,202,62,226,231,202,62,112,39,203,62,1,103,203,62,149,166,203,62,45,230,203,62,199,37,204,62,100,101,204,62,4,165,204,62,168,228,204,62,78,36,205,62,248,99,205,62,164,163,205,62,83,227,205,62,5,35,206,62,186,98,206,62,114,162,206,62,45,226,206,62,234,33,207,62,171,97,207,62,110,161,207,62,52,225,207,62,253,32,208,62,200,96,208,62,150,160,208,62,103,224,208,62,59,32,209,62,17,96,209,62,234,159,209,62,198,223,209,62,164,31,210,62,133,95,210,62,104,159,210,62,78,223,210,62,55,31,211,62,33,95,211,62,15,159,211,62,255,222,211,62,241,30,212,62,230,94,212,62,221,158,212,62,215,222,212,62,211,30,213,62,209,94,213,62,210,158,213,62,213,222,213,62,219,30,214,62,226,94,214,62,236,158,214,62,248,222,214,62,7,31,215,62,24,95,215,62,42,159,215,62,63,223,215,62,87,31,216,62,112,95,216,62,139,159,216,62,169,223,216,62,200,31,217,62,234,95,217,62,14,160,217,62,51,224,217,62,91,32,218,62,133,96,218,62,176,160,218,62,222,224,218,62,13,33,219,62,63,97,219,62,114,161,219,62,167,225,219,62,222,33,220,62,23,98,220,62,82,162,220,62,142,226,220,62,204,34,221,62,12,99,221,62,78,163,221,62,146,227,221,62,215,35,222,62,29,100,222,62,102,164,222,62,176,228,222,62,252,36,223,62,73,101,223,62,152,165,223,62,232,229,223,62,58,38,224,62,142,102,224,62,227,166,224,62,57,231,224,62,145,39,225,62,234,103,225,62,69,168,225,62,161,232,225,62,255,40,226,62,94,105,226,62,190,169,226,62,32,234,226,62,131,42,227,62,231,106,227,62,76,171,227,62,179,235,227,62,27,44,228,62,132,108,228,62,238,172,228,62,90,237,228,62,199,45,229,62,52,110,229,62,163,174,229,62,19,239,229,62,133,47,230,62,247,111,230,62,106,176,230,62,222,240,230,62,83,49,231,62,202,113,231,62,65,178,231,62,185,242,231,62,50,51,232,62,172,115,232,62,38,180,232,62,162,244,232,62,31,53,233,62,156,117,233,62,26,182,233,62,153,246,233,62,25,55,234,62,153,119,234,62,26,184,234,62,156,248,234,62,31,57,235,62,162,121,235,62,38,186,235,62,170,250,235,62,47,59,236,62,181,123,236,62,59,188,236,62,194,252,236,62,73,61,237,62,209,125,237,62,89,190,237,62,226,254,237,62,107,63,238,62,245,127,238,62,127,192,238,62,10,1,239,62,149,65,239,62,32,130,239,62,171,194,239,62,55,3,240,62,196,67,240,62,80,132,240,62,221,196,240,62,106,5,241,62,247,69,241,62,132,134,241,62,18,199,241,62,160,7,242,62,45,72,242,62,187,136,242,62,74,201,242,62,216,9,243,62,102,74,243,62,244,138,243,62,131,203,243,62,17,12,244,62,159,76,244,62,46,141,244,62,188,205,244,62,74,14,245,62,216,78,245,62,102,143,245,62,244,207,245,62,129,16,246,62,15,81,246,62,156,145,246,62,41,210,246,62,182,18,247,62,67,83,247,62,207,147,247,62,91,212,247,62,231,20,248,62,115,85,248,62,254,149,248,62,136,214,248,62,19,23,249,62,157,87,249,62,38,152,249,62,175,216,249,62,56,25,250,62,192,89,250,62,72,154,250,62,207,218,250,62,86,27,251,62,220,91,251,62,97,156,251,62,230,220,251,62,106,29,252,62,238,93,252,62,113,158,252,62,243,222,252,62,117,31,253,62,245,95,253,62,118,160,253,62,245,224,253,62,116,33,254,62,241,97,254,62,110,162,254,62,235,226,254,62,102,35,255,62,224,99,255,62,90,164,255,62,211,228,255,62,165,18,0,63,225,50,0,63,27,83,0,63,86,115,0,63,144,147,0,63,201,179,0,63,2,212,0,63,58,244,0,63,114,20,1,63,169,52,1,63,224,84,1,63,22,117,1,63,76,149,1,63,129,181,1,63,181,213,1,63,233,245,1,63,28,22,2,63,78,54,2,63,128,86,2,63,178,118,2,63,226,150,2,63,18,183,2,63,65,215,2,63,112,247,2,63,157,23,3,63,203,55,3,63,247,87,3,63,35,120,3,63,78,152,3,63,120,184,3,63,161,216,3,63,202,248,3,63,242,24,4,63,25,57,4,63,63,89,4,63,101,121,4,63,137,153,4,63,173,185,4,63,208,217,4,63,243,249,4,63,20,26,5,63,52,58,5,63,84,90,5,63,115,122,5,63,145,154,5,63,173,186,5,63,202,218,5,63,229,250,5,63,255,26,6,63,24,59,6,63,48,91,6,63,72,123,6,63,94,155,6,63,116,187,6,63,136,219,6,63,155,251,6,63,174,27,7,63,191,59,7,63,208,91,7,63,223,123,7,63,237,155,7,63,250,187,7,63,7,220,7,63,18,252,7,63,28,28,8,63,37,60,8,63,44,92,8,63,51,124,8,63,57,156,8,63,61,188,8,63,64,220,8,63,67,252,8,63,68,28,9,63,68,60,9,63,66,92,9,63,64,124,9,63,60,156,9,63,55,188,9,63,49,220,9,63,41,252,9,63,33,28,10,63,23,60,10,63,12,92,10,63,255,123,10,63,242,155,10,63,227,187,10,63,211,219,10,63,193,251,10,63,174,27,11,63,154,59,11,63,133,91,11,63,110,123,11,63,86,155,11,63,60,187,11,63,33,219,11,63,5,251,11,63,231,26,12,63,200,58,12,63,168,90,12,63,134,122,12,63,98,154,12,63,62,186,12,63,23,218,12,63,240,249,12,63,199,25,13,63,156,57,13,63,112,89,13,63,66,121,13,63,19,153,13,63,227,184,13,63,176,216,13,63,125,248,13,63,72,24,14,63,17,56,14,63,216,87,14,63,159,119,14,63,99,151,14,63,38,183,14,63,232,214,14,63,167,246,14,63,101,22,15,63,34,54,15,63,221,85,15,63,150,117,15,63,78,149,15,63,4,181,15,63,184,212,15,63,106,244,15,63,27,20,16,63,202,51,16,63,120,83,16,63,36,115,16,63,206,146,16,63,118,178,16,63,28,210,16,63,193,241,16,63,100,17,17,63,6,49,17,63,165,80,17,63,67,112,17,63,223,143,17,63,121,175,17,63,17,207,17,63,167,238,17,63,60,14,18,63,206,45,18,63,95,77,18,63,238,108,18,63,123,140,18,63,7,172,18,63,144,203,18,63,23,235,18,63,157,10,19,63,32,42,19,63,162,73,19,63,34,105,19,63,159,136,19,63,27,168,19,63,149,199,19,63,13,231,19,63,131,6,20,63,247,37,20,63,104,69,20,63,216,100,20,63,70,132,20,63,178,163,20,63,27,195,20,63,131,226,20,63,233,1,21,63,76,33,21,63,174,64,21,63,13,96,21,63,106,127,21,63,197,158,21,63,31,190,21,63,117,221,21,63,202,252,21,63,29,28,22,63,109,59,22,63,188,90,22,63,8,122,22,63,82,153,22,63,153,184,22,63,223,215,22,63,34,247,22,63,100,22,23,63,162,53,23,63,223,84,23,63,26,116,23,63,82,147,23,63,136,178,23,63,187,209,23,63,237,240,23,63,28,16,24,63,73,47,24,63,115,78,24,63,155,109,24,63,193,140,24,63,228,171,24,63,6,203,24,63,36,234,24,63,65,9,25,63,91,40,25,63,115,71,25,63,136,102,25,63,155,133,25,63,171,164,25,63,185,195,25,63,197,226,25,63,206,1,26,63,213,32,26,63,217,63,26,63,219,94,26,63,218,125,26,63,215,156,26,63,210,187,26,63,202,218,26,63,191,249,26,63,178,24,27,63,162,55,27,63,144,86,27,63,123,117,27,63,100,148,27,63,74,179,27,63,46,210,27,63,15,241,27,63,237,15,28,63,201,46,28,63,162,77,28,63,121,108,28,63,77,139,28,63,31,170,28,63,237,200,28,63,185,231,28,63,131,6,29,63,74,37,29,63,14,68,29,63,207,98,29,63,142,129,29,63,74,160,29,63,3,191,29,63,186,221,29,63,110,252,29,63,31,27,30,63,205,57,30,63,121,88,30,63,34,119,30,63,200,149,30,63,107,180,30,63,12,211,30,63,170,241,30,63,69,16,31,63,221,46,31,63,114,77,31,63,5,108,31,63,148,138,31,63,33,169,31,63,171,199,31,63,50,230,31,63,182,4,32,63,56,35,32,63,182,65,32,63,50,96,32,63,170,126,32,63,32,157,32,63,147,187,32,63,3,218,32,63,112,248,32,63,218,22,33,63,65,53,33,63,165,83,33,63,6,114,33,63,100,144,33,63,191,174,33,63,23,205,33,63,108,235,33,63,190,9,34,63,13,40,34,63,89,70,34,63,162,100,34,63,232,130,34,63,43,161,34,63,107,191,34,63,167,221,34,63,225,251,34,63,24,26,35,63,75,56,35,63,123,86,35,63,168,116,35,63,211,146,35,63,249,176,35,63,29,207,35,63,62,237,35,63,91,11,36,63,118,41,36,63,141,71,36,63,161,101,36,63,177,131,36,63,191,161,36,63,201,191,36,63,208,221,36,63,212,251,36,63,213,25,37,63,210,55,37,63,204,85,37,63,195,115,37,63,183,145,37,63,167,175,37,63,148,205,37,63,126,235,37,63,101,9,38,63,72,39,38,63,40,69,38,63,4,99,38,63,221,128,38,63,179,158,38,63,134,188,38,63,85,218,38,63,33,248,38,63,233,21,39,63,174,51,39,63,112,81,39,63,46,111,39,63,233,140,39,63,160,170,39,63,84,200,39,63,4,230,39,63,178,3,40,63,91,33,40,63,1,63,40,63,164,92,40,63,67,122,40,63,223,151,40,63,120,181,40,63,12,211,40,63,158,240,40,63,43,14,41,63,182,43,41,63,60,73,41,63,192,102,41,63,63,132,41,63,187,161,41,63,52,191,41,63,169,220,41,63,26,250,41,63,136,23,42,63,242,52,42,63,89,82,42,63,188,111,42,63,28,141,42,63,119,170,42,63,208,199,42,63,36,229,42,63,117,2,43,63,194,31,43,63,12,61,43,63,82,90,43,63,148,119,43,63,211,148,43,63,14,178,43,63,69,207,43,63,120,236,43,63,168,9,44,63,212,38,44,63,252,67,44,63,33,97,44,63,66,126,44,63,95,155,44,63,120,184,44,63,142,213,44,63,159,242,44,63,173,15,45,63,184,44,45,63,190,73,45,63,193,102,45,63,191,131,45,63,186,160,45,63,177,189,45,63,165,218,45,63,148,247,45,63,128,20,46,63,103,49,46,63,75,78,46,63,43,107,46,63,7,136,46,63,224,164,46,63,180,193,46,63,132,222,46,63,81,251,46,63,26,24,47,63,222,52,47,63,159,81,47,63,92,110,47,63,21,139,47,63,202,167,47,63,123,196,47,63,40,225,47,63,209,253,47,63,118,26,48,63,23,55,48,63,180,83,48,63,77,112,48,63,226,140,48,63,115,169,48,63,0,198,48,63,137,226,48,63,14,255,48,63,142,27,49,63,11,56,49,63,132,84,49,63,248,112,49,63,105,141,49,63,214,169,49,63,62,198,49,63,162,226,49,63,2,255,49,63,95,27,50,63,182,55,50,63,10,84,50,63,90,112,50,63,166,140,50,63,237,168,50,63,48,197,50,63,111,225,50,63,170,253,50,63,225,25,51,63,19,54,51,63,66,82,51,63,108,110,51,63,146,138,51,63,180,166,51,63,209,194,51,63,234,222,51,63,0,251,51,63,16,23,52,63,29,51,52,63,37,79,52,63,41,107,52,63,41,135,52,63,37,163,52,63,28,191,52,63,15,219,52,63,253,246,52,63,232,18,53,63,206,46,53,63,176,74,53,63,141,102,53,63,102,130,53,63,59,158,53,63,11,186,53,63,215,213,53,63,159,241,53,63,98,13,54,63,33,41,54,63,220,68,54,63,146,96,54,63,68,124,54,63,241,151,54,63,154,179,54,63,63,207,54,63,223,234,54,63,123,6,55,63,18,34,55,63,165,61,55,63,52,89,55,63,190,116,55,63,67,144,55,63,196,171,55,63,65,199,55,63,185,226,55,63,45,254,55,63,156,25,56,63,7,53,56,63,109,80,56,63,207,107,56,63,44,135,56,63,133,162,56,63,217,189,56,63,40,217,56,63,115,244,56,63,186,15,57,63,252,42,57,63,57,70,57,63,114,97,57,63,166,124,57,63,214,151,57,63,1,179,57,63,40,206,57,63,74,233,57,63,103,4,58,63,128,31,58,63,148,58,58,63,163,85,58,63,174,112,58,63,180,139,58,63,182,166,58,63,179,193,58,63,171,220,58,63,159,247,58,63,142,18,59,63,120,45,59,63,94,72,59,63,63,99,59,63,27,126,59,63,243,152,59,63,197,179,59,63,148,206,59,63,93,233,59,63,34,4,60,63,226,30,60,63,157,57,60,63,84,84,60,63,5,111,60,63,178,137,60,63,91,164,60,63,254,190,60,63,157,217,60,63,55,244,60,63,204,14,61,63,93,41,61,63,232,67,61,63,111,94,61,63,241,120,61,63,110,147,61,63,231,173,61,63,91,200,61,63,201,226,61,63,51,253,61,63,152,23,62,63,249,49,62,63,84,76,62,63,171,102,62,63,252,128,62,63,73,155,62,63,145,181,62,63,212,207,62,63,19,234,62,63,76,4,63,63,128,30,63,63,176,56,63,63,219,82,63,63,0,109,63,63,33,135,63,63,61,161,63,63,84,187,63,63,102,213,63,63,115,239,63,63,123,9,64,63,127,35,64,63,125,61,64,63,118,87,64,63,106,113,64,63,90,139,64,63,68,165,64,63,42,191,64,63,10,217,64,63,229,242,64,63,188,12,65,63,141,38,65,63,90,64,65,63,33,90,65,63,228,115,65,63,161,141,65,63,89,167,65,63,13,193,65,63,187,218,65,63,100,244,65,63,8,14,66,63,167,39,66,63,65,65,66,63,214,90,66,63,102,116,66,63,241,141,66,63,119,167,66,63,248,192,66,63,115,218,66,63,234,243,66,63,91,13,67,63,199,38,67,63,47,64,67,63,145,89,67,63,238,114,67,63,69,140,67,63,152,165,67,63,230,190,67,63,46,216,67,63,113,241,67,63,175,10,68,63,232,35,68,63,28,61,68,63,75,86,68,63,116,111,68,63,153,136,68,63,184,161,68,63,210,186,68,63,230,211,68,63,246,236,68,63,0,6,69,63,5,31,69,63,5,56,69,63,0,81,69,63,245,105,69,63,230,130,69,63,209,155,69,63,182,180,69,63,151,205,69,63,114,230,69,63,72,255,69,63,25,24,70,63,229,48,70,63,171,73,70,63,108,98,70,63,40,123,70,63,222,147,70,63,143,172,70,63,59,197,70,63,226,221,70,63,131,246,70,63,31,15,71,63,182,39,71,63,71,64,71,63,211,88,71,63,90,113,71,63,220,137,71,63,88,162,71,63,207,186,71,63,64,211,71,63,172,235,71,63,19,4,72,63,116,28,72,63,209,52,72,63,39,77,72,63,121,101,72,63,197,125,72,63,11,150,72,63,77,174,72,63,137,198,72,63,191,222,72,63,240,246,72,63,28,15,73,63,66,39,73,63,99,63,73,63,127,87,73,63,149,111,73,63,166,135,73,63,177,159,73,63,183,183,73,63,183,207,73,63,178,231,73,63,168,255,73,63,152,23,74,63,131,47,74,63,104,71,74,63,72,95,74,63,34,119,74,63,247,142,74,63,199,166,74,63,145,190,74,63,85,214,74,63,20,238,74,63,206,5,75,63,130,29,75,63,49,53,75,63,218,76,75,63,126,100,75,63,28,124,75,63,181,147,75,63,72,171,75,63,213,194,75,63,93,218,75,63,224,241,75,63,93,9,76,63,213,32,76,63,71,56,76,63,179,79,76,63,26,103,76,63,124,126,76,63,216,149,76,63,46,173,76,63,127,196,76,63,202,219,76,63,16,243,76,63,80,10,77,63,139,33,77,63,192,56,77,63,240,79,77,63,26,103,77,63,62,126,77,63,93,149,77,63,118,172,77,63,137,195,77,63,151,218,77,63,160,241,77,63,163,8,78,63,160,31,78,63,151,54,78,63,137,77,78,63,118,100,78,63,93,123,78,63,62,146,78,63,25,169,78,63,239,191,78,63,192,214,78,63,138,237,78,63,79,4,79,63,15,27,79,63,201,49,79,63,125,72,79,63,43,95,79,63,212,117,79,63,119,140,79,63,21,163,79,63,172,185,79,63,63,208,79,63,203,230,79,63,82,253,79,63,211,19,80,63,79,42,80,63,197,64,80,63,53,87,80,63,159,109,80,63,4,132,80,63,99,154,80,63,189,176,80,63,16,199,80,63,94,221,80,63,167,243,80,63,233,9,81,63,38,32,81,63,93,54,81,63,143,76,81,63,187,98,81,63,225,120,81,63,1,143,81,63,28,165,81,63,48,187,81,63,64,209,81,63,73,231,81,63,77,253,81,63,75,19,82,63,67,41,82,63,53,63,82,63,34,85,82,63,9,107,82,63,234,128,82,63,198,150,82,63,155,172,82,63,107,194,82,63,53,216,82,63,250,237,82,63,185,3,83,63,113,25,83,63,37,47,83,63,210,68,83,63,121,90,83,63,27,112,83,63,183,133,83,63,77,155,83,63,222,176,83,63,104,198,83,63,237,219,83,63,108,241,83,63,230,6,84,63,89,28,84,63,199,49,84,63,46,71,84,63,145,92,84,63,237,113,84,63,67,135,84,63,148,156,84,63,223,177,84,63,35,199,84,63,99,220,84,63,156,241,84,63,207,6,85,63,253,27,85,63,37,49,85,63,71,70,85,63,99,91,85,63,121,112,85,63,138,133,85,63,149,154,85,63,153,175,85,63,152,196,85,63,146,217,85,63,133,238,85,63,114,3,86,63,90,24,86,63,60,45,86,63,24,66,86,63,238,86,86,63,190,107,86,63,136,128,86,63,76,149,86,63,11,170,86,63,196,190,86,63,118,211,86,63,35,232,86,63,203,252,86,63,108,17,87,63,7,38,87,63,156,58,87,63,44,79,87,63,182,99,87,63,58,120,87,63,183,140,87,63,47,161,87,63,162,181,87,63,14,202,87,63,116,222,87,63,213,242,87,63,47,7,88,63,132,27,88,63,211,47,88,63,28,68,88,63,95,88,88,63,156,108,88,63,211,128,88,63,4,149,88,63,47,169,88,63,85,189,88,63,116,209,88,63,142,229,88,63,162,249,88,63,175,13,89,63,183,33,89,63,185,53,89,63,181,73,89,63,171,93,89,63,155,113,89,63,134,133,89,63,106,153,89,63,72,173,89,63,33,193,89,63,243,212,89,63,192,232,89,63,135,252,89,63,71,16,90,63,2,36,90,63,183,55,90,63,102,75,90,63,15,95,90,63,178,114,90,63,79,134,90,63,230,153,90,63,119,173,90,63,3,193,90,63,136,212,90,63,7,232,90,63,129,251,90,63,244,14,91,63,98,34,91,63,201,53,91,63,43,73,91,63,135,92,91,63,220,111,91,63,44,131,91,63,118,150,91,63,186,169,91,63,248,188,91,63,47,208,91,63,97,227,91,63,141,246,91,63,179,9,92,63,212,28,92,63,238,47,92,63,2,67,92,63,16,86,92,63,24,105,92,63,26,124,92,63,23,143,92,63,13,162,92,63,253,180,92,63,232,199,92,63,204,218,92,63,171,237,92,63,131,0,93,63,86,19,93,63,34,38,93,63,233,56,93,63,169,75,93,63,100,94,93,63,24,113,93,63,199,131,93,63,112,150,93,63,18,169,93,63,175,187,93,63,70,206,93,63,215,224,93,63,97,243,93,63,230,5,94,63,101,24,94,63,222,42,94,63,81,61,94,63,190,79,94,63,36,98,94,63,133,116,94,63,224,134,94,63,53,153,94,63,132,171,94,63,205,189,94,63,16,208,94,63,77,226,94,63,132,244,94,63,181,6,95,63,224,24,95,63,5,43,95,63,36,61,95,63,61,79,95,63,80,97,95,63,93,115,95,63,101,133,95,63,102,151,95,63,97,169,95,63,86,187,95,63,69,205,95,63,46,223,95,63,18,241,95,63,239,2,96,63,198,20,96,63,151,38,96,63,98,56,96,63,40,74,96,63,231,91,96,63,160,109,96,63,84,127,96,63,1,145,96,63,168,162,96,63,73,180,96,63,229,197,96,63,122,215,96,63,10,233,96,63,147,250,96,63,22,12,97,63,148,29,97,63,11,47,97,63,125,64,97,63,232,81,97,63,77,99,97,63,173,116,97,63,6,134,97,63,90,151,97,63,167,168,97,63,239,185,97,63,48,203,97,63,108,220,97,63,162,237,97,63,209,254,97,63,251,15,98,63,30,33,98,63,60,50,98,63,84,67,98,63,101,84,98,63,113,101,98,63,119,118,98,63,119,135,98,63,112,152,98,63,100,169,98,63,82,186,98,63,58,203,98,63,28,220,98,63,247,236,98,63,205,253,98,63,157,14,99,63,103,31,99,63,43,48,99,63,233,64,99,63,161,81,99,63,83,98,99,63,255,114,99,63,165,131,99,63,69,148,99,63,224,164,99,63,116,181,99,63,2,198,99,63,138,214,99,63,13,231,99,63,137,247,99,63,255,7,100,63,112,24,100,63,218,40,100,63,62,57,100,63,157,73,100,63,246,89,100,63,72,106,100,63,149,122,100,63,219,138,100,63,28,155,100,63,87,171,100,63,140,187,100,63,186,203,100,63,227,219,100,63,6,236,100,63,35,252,100,63,58,12,101,63,75,28,101,63,86,44,101,63,91,60,101,63,91,76,101,63,84,92,101,63,71,108,101,63,53,124,101,63,28,140,101,63,254,155,101,63,217,171,101,63,175,187,101,63,126,203,101,63,72,219,101,63,12,235,101,63,202,250,101,63,130,10,102,63,52,26,102,63,224,41,102,63,134,57,102,63,38,73,102,63,193,88,102,63,85,104,102,63,227,119,102,63,108,135,102,63,238,150,102,63,107,166,102,63,226,181,102,63,83,197,102,63,190,212,102,63,35,228,102,63,130,243,102,63,219,2,103,63,46,18,103,63,124,33,103,63,195,48,103,63,5,64,103,63,64,79,103,63,118,94,103,63,166,109,103,63,208,124,103,63,244,139,103,63,18,155,103,63,42,170,103,63,61,185,103,63,73,200,103,63,80,215,103,63,80,230,103,63,75,245,103,63,64,4,104,63,47,19,104,63,24,34,104,63,251,48,104,63,217,63,104,63,176,78,104,63,130,93,104,63,78,108,104,63,20,123,104,63,212,137,104,63,142,152,104,63,66,167,104,63,240,181,104,63,153,196,104,63,60,211,104,63,217,225,104,63,112,240,104,63,1,255,104,63,140,13,105,63,17,28,105,63,145,42,105,63,11,57,105,63,127,71,105,63,237,85,105,63,85,100,105,63,183,114,105,63,20,129,105,63,106,143,105,63,187,157,105,63,6,172,105,63,75,186,105,63,139,200,105,63,196,214,105,63,248,228,105,63,38,243,105,63,78,1,106,63,112,15,106,63,141,29,106,63,163,43,106,63,180,57,106,63,191,71,106,63,196,85,106,63,196,99,106,63,189,113,106,63,177,127,106,63,159,141,106,63,135,155,106,63,106,169,106,63,70,183,106,63,29,197,106,63,238,210,106,63,186,224,106,63,127,238,106,63,63,252,106,63,249,9,107,63,173,23,107,63,91,37,107,63,4,51,107,63,167,64,107,63,68,78,107,63,219,91,107,63,109,105,107,63,249,118,107,63,127,132,107,63,255,145,107,63,122,159,107,63,238,172,107,63,94,186,107,63,199,199,107,63,42,213,107,63,136,226,107,63,224,239,107,63,51,253,107,63,128,10,108,63,198,23,108,63,8,37,108,63,67,50,108,63,121,63,108,63,169,76,108,63,211,89,108,63,248,102,108,63,23,116,108,63,48,129,108,63,68,142,108,63,82,155,108,63,90,168,108,63,92,181,108,63,89,194,108,63,80,207,108,63,65,220,108,63,45,233,108,63,19,246,108,63,243,2,109,63,206,15,109,63,163,28,109,63,114,41,109,63,60,54,109,63,0,67,109,63,190,79,109,63,119,92,109,63,42,105,109,63,215,117,109,63,127,130,109,63,33,143,109,63,189,155,109,63,84,168,109,63,229,180,109,63,113,193,109,63,247,205,109,63,119,218,109,63,242,230,109,63,103,243,109,63,214,255,109,63,64,12,110,63,164,24,110,63,3,37,110,63,91,49,110,63,175,61,110,63,253,73,110,63,69,86,110,63,135,98,110,63,196,110,110,63,252,122,110,63,45,135,110,63,90,147,110,63,128,159,110,63,161,171,110,63,189,183,110,63,211,195,110,63,227,207,110,63,238,219,110,63,243,231,110,63,243,243,110,63,237,255,110,63,226,11,111,63,209,23,111,63,186,35,111,63,158,47,111,63,125,59,111,63,85,71,111,63,41,83,111,63,247,94,111,63,191,106,111,63,130,118,111,63,63,130,111,63,247,141,111,63,169,153,111,63,86,165,111,63,253,176,111,63,159,188,111,63,59,200,111,63,210,211,111,63,99,223,111,63,239,234,111,63,117,246,111,63,246,1,112,63,114,13,112,63,231,24,112,63,88,36,112,63,195,47,112,63,40,59,112,63,137,70,112,63,227,81,112,63,56,93,112,63,136,104,112,63,210,115,112,63,23,127,112,63,87,138,112,63,145,149,112,63,197,160,112,63,244,171,112,63,30,183,112,63,66,194,112,63,97,205,112,63,123,216,112,63,143,227,112,63,157,238,112,63,167,249,112,63,171,4,113,63,169,15,113,63,162,26,113,63,150,37,113,63,132,48,113,63,109,59,113,63,81,70,113,63,47,81,113,63,8,92,113,63,219,102,113,63,170,113,113,63,114,124,113,63,54,135,113,63,244,145,113,63,173,156,113,63,96,167,113,63,14,178,113,63,183,188,113,63,91,199,113,63,249,209,113,63,146,220,113,63,37,231,113,63,179,241,113,63,60,252,113,63,192,6,114,63,62,17,114,63,183,27,114,63,43,38,114,63,154,48,114,63,3,59,114,63,103,69,114,63,197,79,114,63,31,90,114,63,115,100,114,63,194,110,114,63,11,121,114,63,79,131,114,63,143,141,114,63,200,151,114,63,253,161,114,63,44,172,114,63,87,182,114,63,123,192,114,63,155,202,114,63,182,212,114,63,203,222,114,63,219,232,114,63,230,242,114,63,235,252,114,63,236,6,115,63,231,16,115,63,221,26,115,63,206,36,115,63,186,46,115,63,160,56,115,63,130,66,115,63,94,76,115,63,53,86,115,63,7,96,115,63,212,105,115,63,155,115,115,63,94,125,115,63,27,135,115,63,211,144,115,63,134,154,115,63,52,164,115,63,221,173,115,63,128,183,115,63,31,193,115,63,184,202,115,63,77,212,115,63,220,221,115,63,102,231,115,63,235,240,115,63,107,250,115,63,230,3,116,63,92,13,116,63,204,22,116,63,56,32,116,63,159,41,116,63,0,51,116,63,93,60,116,63,180,69,116,63,6,79,116,63,84,88,116,63,156,97,116,63,223,106,116,63,29,116,116,63,87,125,116,63,139,134,116,63,186,143,116,63,228,152,116,63,9,162,116,63,41,171,116,63,68,180,116,63,91,189,116,63,108,198,116,63,120,207,116,63,127,216,116,63,129,225,116,63,127,234,116,63,119,243,116,63,106,252,116,63,89,5,117,63,66,14,117,63,38,23,117,63,6,32,117,63,225,40,117,63,182,49,117,63,135,58,117,63,83,67,117,63,26,76,117,63,220,84,117,63,153,93,117,63,81,102,117,63,4,111,117,63,179,119,117,63,92,128,117,63,1,137,117,63,160,145,117,63,59,154,117,63,209,162,117,63,98,171,117,63,239,179,117,63,118,188,117,63,249,196,117,63,118,205,117,63,239,213,117,63,99,222,117,63,210,230,117,63,61,239,117,63,162,247,117,63,3,0,118,63,95,8,118,63,182,16,118,63,8,25,118,63,86,33,118,63,159,41,118,63,227,49,118,63,34,58,118,63,92,66,118,63,146,74,118,63,195,82,118,63,239,90,118,63,22,99,118,63,57,107,118,63,86,115,118,63,112,123,118,63,132,131,118,63,148,139,118,63,158,147,118,63,165,155,118,63,166,163,118,63,163,171,118,63,155,179,118,63,142,187,118,63,125,195,118,63,103,203,118,63,76,211,118,63,45,219,118,63,9,227,118,63,224,234,118,63,178,242,118,63,128,250,118,63,74,2,119,63,14,10,119,63,206,17,119,63,137,25,119,63,64,33,119,63,242,40,119,63,160,48,119,63,72,56,119,63,237,63,119,63,140,71,119,63,39,79,119,63,190,86,119,63,79,94,119,63,220,101,119,63,101,109,119,63,233,116,119,63,105,124,119,63,228,131,119,63,90,139,119,63,204,146,119,63,57,154,119,63,162,161,119,63,6,169,119,63,101,176,119,63,192,183,119,63,23,191,119,63,105,198,119,63,182,205,119,63,255,212,119,63,68,220,119,63,132,227,119,63,191,234,119,63,246,241,119,63,41,249,119,63,87,0,120,63,129,7,120,63,166,14,120,63,198,21,120,63,227,28,120,63,250,35,120,63,14,43,120,63,28,50,120,63,39,57,120,63,45,64,120,63,46,71,120,63,44,78,120,63,36,85,120,63,25,92,120,63,9,99,120,63,244,105,120,63,219,112,120,63,190,119,120,63,156,126,120,63,118,133,120,63,76,140,120,63,29,147,120,63,234,153,120,63,179,160,120,63,119,167,120,63,55,174,120,63,242,180,120,63,169,187,120,63,92,194,120,63,11,201,120,63,181,207,120,63,91,214,120,63,252,220,120,63,154,227,120,63,51,234,120,63,199,240,120,63,88,247,120,63,228,253,120,63,108,4,121,63,240,10,121,63,111,17,121,63,234,23,121,63,97,30,121,63,211,36,121,63,66,43,121,63,172,49,121,63,18,56,121,63,116,62,121,63,209,68,121,63,42,75,121,63,127,81,121,63,208,87,121,63,29,94,121,63,101,100,121,63,170,106,121,63,234,112,121,63,38,119,121,63,93,125,121,63,145,131,121,63,193,137,121,63,236,143,121,63,19,150,121,63,54,156,121,63,85,162,121,63,112,168,121,63,134,174,121,63,153,180,121,63,167,186,121,63,178,192,121,63,184,198,121,63,186,204,121,63,184,210,121,63,178,216,121,63,168,222,121,63,154,228,121,63,135,234,121,63,113,240,121,63,87,246,121,63,56,252,121,63,22,2,122,63,239,7,122,63,197,13,122,63,150,19,122,63,100,25,122,63,45,31,122,63,243,36,122,63,180,42,122,63,113,48,122,63,43,54,122,63,224,59,122,63,146,65,122,63,63,71,122,63,233,76,122,63,142,82,122,63,48,88,122,63,206,93,122,63,103,99,122,63,253,104,122,63,143,110,122,63,29,116,122,63,167,121,122,63,45,127,122,63,175,132,122,63,45,138,122,63,168,143,122,63,30,149,122,63,145,154,122,63,255,159,122,63,106,165,122,63,209,170,122,63,52,176,122,63,147,181,122,63,239,186,122,63,70,192,122,63,154,197,122,63,234,202,122,63,54,208,122,63,126,213,122,63,194,218,122,63,3,224,122,63,64,229,122,63,121,234,122,63,174,239,122,63,223,244,122,63,13,250,122,63,55,255,122,63,93,4,123,63,127,9,123,63,157,14,123,63,184,19,123,63,207,24,123,63,227,29,123,63,242,34,123,63,254,39,123,63,6,45,123,63,10,50,123,63,11,55,123,63,8,60,123,63,1,65,123,63,247,69,123,63,233,74,123,63,215,79,123,63,193,84,123,63,168,89,123,63,139,94,123,63,107,99,123,63,71,104,123,63,31,109,123,63,243,113,123,63,196,118,123,63,146,123,123,63,91,128,123,63,33,133,123,63,228,137,123,63,163,142,123,63,94,147,123,63,22,152,123,63,202,156,123,63,122,161,123,63,39,166,123,63,208,170,123,63,118,175,123,63,24,180,123,63,183,184,123,63,82,189,123,63,233,193,123,63,125,198,123,63,14,203,123,63,155,207,123,63,36,212,123,63,170,216,123,63,45,221,123,63,172,225,123,63,39,230,123,63,159,234,123,63,19,239,123,63,132,243,123,63,242,247,123,63,92,252,123,63,195,0,124,63,38,5,124,63,133,9,124,63,226,13,124,63,58,18,124,63,144,22,124,63,226,26,124,63,48,31,124,63,123,35,124,63,195,39,124,63,7,44,124,63,72,48,124,63,134,52,124,63,192,56,124,63,247,60,124,63,42,65,124,63,90,69,124,63,135,73,124,63,176,77,124,63,214,81,124,63,249,85,124,63,24,90,124,63,52,94,124,63,77,98,124,63,98,102,124,63,116,106,124,63,131,110,124,63,142,114,124,63,150,118,124,63,155,122,124,63,157,126,124,63,155,130,124,63,150,134,124,63,142,138,124,63,130,142,124,63,116,146,124,63,98,150,124,63,77,154,124,63,52,158,124,63,24,162,124,63,249,165,124,63,215,169,124,63,178,173,124,63,137,177,124,63,94,181,124,63,47,185,124,63,253,188,124,63,199,192,124,63,143,196,124,63,83,200,124,63,20,204,124,63,211,207,124,63,141,211,124,63,69,215,124,63,250,218,124,63,171,222,124,63,90,226,124,63,5,230,124,63,173,233,124,63,82,237,124,63,244,240,124,63,147,244,124,63,46,248,124,63,199,251,124,63,93,255,124,63,239,2,125,63,127,6,125,63,11,10,125,63,148,13,125,63,27,17,125,63,158,20,125,63,30,24,125,63,155,27,125,63,21,31,125,63,140,34,125,63,0,38,125,63,114,41,125,63,224,44,125,63,75,48,125,63,179,51,125,63,24,55,125,63,122,58,125,63,217,61,125,63,54,65,125,63,143,68,125,63,229,71,125,63,56,75,125,63,137,78,125,63,214,81,125,63,33,85,125,63,104,88,125,63,173,91,125,63,239,94,125,63,46,98,125,63,106,101,125,63,163,104,125,63,217,107,125,63,12,111,125,63,61,114,125,63,106,117,125,63,149,120,125,63,189,123,125,63,226,126,125,63,4,130,125,63,36,133,125,63,64,136,125,63,90,139,125,63,112,142,125,63,133,145,125,63,150,148,125,63,164,151,125,63,176,154,125,63,185,157,125,63,191,160,125,63,194,163,125,63,194,166,125,63,192,169,125,63,187,172,125,63,179,175,125,63,168,178,125,63,155,181,125,63,139,184,125,63,120,187,125,63,99,190,125,63,74,193,125,63,48,196,125,63,18,199,125,63,241,201,125,63,206,204,125,63,169,207,125,63,128,210,125,63,85,213,125,63,39,216,125,63,247,218,125,63,196,221,125,63,142,224,125,63,85,227,125,63,26,230,125,63,220,232,125,63,156,235,125,63,89,238,125,63,19,241,125,63,203,243,125,63,128,246,125,63,51,249,125,63,227,251,125,63,144,254,125,63,59,1,126,63,227,3,126,63,137,6,126,63,44,9,126,63,204,11,126,63,106,14,126,63,6,17,126,63,158,19,126,63,53,22,126,63,200,24,126,63,90,27,126,63,232,29,126,63,116,32,126,63,254,34,126,63,133,37,126,63,10,40,126,63,140,42,126,63,12,45,126,63,137,47,126,63,4,50,126,63,124,52,126,63,242,54,126,63,101,57,126,63,214,59,126,63,68,62,126,63,176,64,126,63,26,67,126,63,129,69,126,63,230,71,126,63,72,74,126,63,168,76,126,63,5,79,126,63,96,81,126,63,185,83,126,63,15,86,126,63,99,88,126,63,181,90,126,63,4,93,126,63,81,95,126,63,155,97,126,63,227,99,126,63,41,102,126,63,108,104,126,63,173,106,126,63,236,108,126,63,40,111,126,63,98,113,126,63,154,115,126,63,208,117,126,63,3,120,126,63,51,122,126,63,98,124,126,63,142,126,126,63,184,128,126,63,224,130,126,63,5,133,126,63,40,135,126,63,73,137,126,63,104,139,126,63,132,141,126,63,159,143,126,63,183,145,126,63,204,147,126,63,224,149,126,63,241,151,126,63,0,154,126,63,13,156,126,63,24,158,126,63,32,160,126,63,38,162,126,63,42,164,126,63,44,166,126,63,44,168,126,63,41,170,126,63,37,172,126,63,30,174,126,63,21,176,126,63,10,178,126,63,253,179,126,63,238,181,126,63,220,183,126,63,201,185,126,63,179,187,126,63,155,189,126,63,129,191,126,63,101,193,126,63,71,195,126,63,39,197,126,63,5,199,126,63,224,200,126,63,186,202,126,63,145,204,126,63,103,206,126,63,58,208,126,63,12,210,126,63,219,211,126,63,168,213,126,63,115,215,126,63,61,217,126,63,4,219,126,63,201,220,126,63,140,222,126,63,77,224,126,63,12,226,126,63,202,227,126,63,133,229,126,63,62,231,126,63,245,232,126,63,170,234,126,63,94,236,126,63,15,238,126,63,190,239,126,63,108,241,126,63,23,243,126,63,193,244,126,63,104,246,126,63,14,248,126,63,178,249,126,63,84,251,126,63,243,252,126,63,145,254,126,63,46,0,127,63,200,1,127,63,96,3,127,63,247,4,127,63,139,6,127,63,30,8,127,63,175,9,127,63,62,11,127,63,203,12,127,63,86,14,127,63,223,15,127,63,103,17,127,63,237,18,127,63,112,20,127,63,242,21,127,63,115,23,127,63,241,24,127,63,110,26,127,63,233,27,127,63,98,29,127,63,217,30,127,63,78,32,127,63,194,33,127,63,52,35,127,63,164,36,127,63,18,38,127,63,127,39,127,63,234,40,127,63,83,42,127,63,186,43,127,63,32,45,127,63,131,46,127,63,230,47,127,63,70,49,127,63,165,50,127,63,2,52,127,63,93,53,127,63,182,54,127,63,14,56,127,63,100,57,127,63,185,58,127,63,12,60,127,63,93,61,127,63,172,62,127,63,250,63,127,63,70,65,127,63,145,66,127,63,217,67,127,63,33,69,127,63,102,70,127,63,170,71,127,63,236,72,127,63,45,74,127,63,108,75,127,63,169,76,127,63,229,77,127,63,31,79,127,63,88,80,127,63,143,81,127,63,196,82,127,63,248,83,127,63,42,85,127,63,91,86,127,63,138,87,127,63,184,88,127,63,228,89,127,63,14,91,127,63,55,92,127,63,94,93,127,63,132,94,127,63,169,95,127,63,203,96,127,63,237,97,127,63,12,99,127,63,42,100,127,63,71,101,127,63,98,102,127,63,124,103,127,63,148,104,127,63,171,105,127,63,192,106,127,63,212,107,127,63,230,108,127,63,247,109,127,63,6,111,127,63,20,112,127,63,33,113,127,63,44,114,127,63,53,115,127,63,61,116,127,63,68,117,127,63,73,118,127,63,77,119,127,63,79,120,127,63,80,121,127,63,80,122,127,63,78,123,127,63,75,124,127,63,70,125,127,63,64,126,127,63,57,127,127,63,48,128,127,63,38,129,127,63,27,130,127,63,14,131,127,63,0,132,127,63,240,132,127,63,223,133,127,63,205,134,127,63,185,135,127,63,164,136,127,63,142,137,127,63,118,138,127,63,93,139,127,63,67,140,127,63,40,141,127,63,11,142,127,63,237,142,127,63,205,143,127,63,173,144,127,63,139,145,127,63,103,146,127,63,67,147,127,63,29,148,127,63,246,148,127,63,205,149,127,63,164,150,127,63,121,151,127,63,77,152,127,63,31,153,127,63,241,153,127,63,193,154,127,63,144,155,127,63,93,156,127,63,42,157,127,63,245,157,127,63,191,158,127,63,136,159,127,63,79,160,127,63,22,161,127,63,219,161,127,63,159,162,127,63,98,163,127,63,36,164,127,63,228,164,127,63,163,165,127,63,98,166,127,63,31,167,127,63,219,167,127,63,149,168,127,63,79,169,127,63,7,170,127,63,190,170,127,63,117,171,127,63,42,172,127,63,221,172,127,63,144,173,127,63,66,174,127,63,242,174,127,63,162,175,127,63,80,176,127,63,253,176,127,63,169,177,127,63,85,178,127,63,254,178,127,63,167,179,127,63,79,180,127,63,246,180,127,63,156,181,127,63,64,182,127,63,228,182,127,63,134,183,127,63,40,184,127,63,200,184,127,63,103,185,127,63,6,186,127,63,163,186,127,63,63,187,127,63,219,187,127,63,117,188,127,63,14,189,127,63,166,189,127,63,61,190,127,63,212,190,127,63,105,191,127,63,253,191,127,63,144,192,127,63,34,193,127,63,180,193,127,63,68,194,127,63,211,194,127,63,98,195,127,63,239,195,127,63,123,196,127,63,7,197,127,63,145,197,127,63,27,198,127,63,163,198,127,63,43,199,127,63,178,199,127,63,56,200,127,63,189,200,127,63,65,201,127,63,196,201,127,63,70,202,127,63,199,202,127,63,71,203,127,63,199,203,127,63,69,204,127,63,195,204,127,63,64,205,127,63,187,205,127,63,54,206,127,63,177,206,127,63,42,207,127,63,162,207,127,63,26,208,127,63,144,208,127,63,6,209,127,63,123,209,127,63,239,209,127,63,98,210,127,63,213,210,127,63,70,211,127,63,183,211,127,63,39,212,127,63,150,212,127,63,4,213,127,63,114,213,127,63],"i8",N3,x.GLOBAL_BASE+541176),E3([222,213,127,63,74,214,127,63,181,214,127,63,32,215,127,63,137,215,127,63,242,215,127,63,89,216,127,63,192,216,127,63,39,217,127,63,140,217,127,63,241,217,127,63,85,218,127,63,184,218,127,63,27,219,127,63,124,219,127,63,221,219,127,63,61,220,127,63,157,220,127,63,251,220,127,63,89,221,127,63,183,221,127,63,19,222,127,63,111,222,127,63,202,222,127,63,36,223,127,63,126,223,127,63,215,223,127,63,47,224,127,63,134,224,127,63,221,224,127,63,51,225,127,63,137,225,127,63,221,225,127,63,49,226,127,63,133,226,127,63,215,226,127,63,41,227,127,63,122,227,127,63,203,227,127,63,27,228,127,63,106,228,127,63,185,228,127,63,7,229,127,63,84,229,127,63,161,229,127,63,237,229,127,63,56,230,127,63,131,230,127,63,205,230,127,63,23,231,127,63,96,231,127,63,168,231,127,63,239,231,127,63,54,232,127,63,125,232,127,63,195,232,127,63,8,233,127,63,76,233,127,63,144,233,127,63,212,233,127,63,23,234,127,63,89,234,127,63,154,234,127,63,219,234,127,63,28,235,127,63,92,235,127,63,155,235,127,63,218,235,127,63,24,236,127,63,86,236,127,63,147,236,127,63,207,236,127,63,11,237,127,63,71,237,127,63,130,237,127,63,188,237,127,63,246,237,127,63,47,238,127,63,104,238,127,63,160,238,127,63,216,238,127,63,15,239,127,63,69,239,127,63,123,239,127,63,177,239,127,63,230,239,127,63,27,240,127,63,79,240,127,63,130,240,127,63,182,240,127,63,232,240,127,63,26,241,127,63,76,241,127,63,125,241,127,63,174,241,127,63,222,241,127,63,14,242,127,63,61,242,127,63,108,242,127,63,154,242,127,63,200,242,127,63,245,242,127,63,34,243,127,63,79,243,127,63,123,243,127,63,166,243,127,63,209,243,127,63,252,243,127,63,38,244,127,63,80,244,127,63,121,244,127,63,162,244,127,63,203,244,127,63,243,244,127,63,27,245,127,63,66,245,127,63,105,245,127,63,143,245,127,63,181,245,127,63,219,245,127,63,0,246,127,63,37,246,127,63,73,246,127,63,109,246,127,63,145,246,127,63,180,246,127,63,215,246,127,63,250,246,127,63,28,247,127,63,62,247,127,63,95,247,127,63,128,247,127,63,160,247,127,63,193,247,127,63,225,247,127,63,0,248,127,63,31,248,127,63,62,248,127,63,93,248,127,63,123,248,127,63,152,248,127,63,182,248,127,63,211,248,127,63,240,248,127,63,12,249,127,63,40,249,127,63,68,249,127,63,95,249,127,63,122,249,127,63,149,249,127,63,175,249,127,63,202,249,127,63,227,249,127,63,253,249,127,63,22,250,127,63,47,250,127,63,71,250,127,63,96,250,127,63,120,250,127,63,143,250,127,63,166,250,127,63,190,250,127,63,212,250,127,63,235,250,127,63,1,251,127,63,23,251,127,63,44,251,127,63,66,251,127,63,87,251,127,63,108,251,127,63,128,251,127,63,148,251,127,63,168,251,127,63,188,251,127,63,208,251,127,63,227,251,127,63,246,251,127,63,8,252,127,63,27,252,127,63,45,252,127,63,63,252,127,63,81,252,127,63,98,252,127,63,115,252,127,63,132,252,127,63,149,252,127,63,165,252,127,63,182,252,127,63,198,252,127,63,213,252,127,63,229,252,127,63,244,252,127,63,3,253,127,63,18,253,127,63,33,253,127,63,47,253,127,63,62,253,127,63,76,253,127,63,89,253,127,63,103,253,127,63,116,253,127,63,130,253,127,63,143,253,127,63,155,253,127,63,168,253,127,63,181,253,127,63,193,253,127,63,205,253,127,63,217,253,127,63,228,253,127,63,240,253,127,63,251,253,127,63,6,254,127,63,17,254,127,63,28,254,127,63,38,254,127,63,49,254,127,63,59,254,127,63,69,254,127,63,79,254,127,63,89,254,127,63,98,254,127,63,108,254,127,63,117,254,127,63,126,254,127,63,135,254,127,63,144,254,127,63,152,254,127,63,161,254,127,63,169,254,127,63,177,254,127,63,185,254,127,63,193,254,127,63,201,254,127,63,208,254,127,63,216,254,127,63,223,254,127,63,230,254,127,63,237,254,127,63,244,254,127,63,251,254,127,63,2,255,127,63,8,255,127,63,14,255,127,63,21,255,127,63,27,255,127,63,33,255,127,63,39,255,127,63,45,255,127,63,50,255,127,63,56,255,127,63,61,255,127,63,67,255,127,63,72,255,127,63,77,255,127,63,82,255,127,63,87,255,127,63,92,255,127,63,96,255,127,63,101,255,127,63,105,255,127,63,110,255,127,63,114,255,127,63,118,255,127,63,122,255,127,63,126,255,127,63,130,255,127,63,134,255,127,63,138,255,127,63,142,255,127,63,145,255,127,63,149,255,127,63,152,255,127,63,155,255,127,63,159,255,127,63,162,255,127,63,165,255,127,63,168,255,127,63,171,255,127,63,174,255,127,63,176,255,127,63,179,255,127,63,182,255,127,63,184,255,127,63,187,255,127,63,189,255,127,63,192,255,127,63,194,255,127,63,196,255,127,63,198,255,127,63,201,255,127,63,203,255,127,63,205,255,127,63,207,255,127,63,209,255,127,63,210,255,127,63,212,255,127,63,214,255,127,63,216,255,127,63,217,255,127,63,219,255,127,63,220,255,127,63,222,255,127,63,223,255,127,63,225,255,127,63,226,255,127,63,227,255,127,63,229,255,127,63,230,255,127,63,231,255,127,63,232,255,127,63,233,255,127,63,234,255,127,63,235,255,127,63,236,255,127,63,237,255,127,63,238,255,127,63,239,255,127,63,240,255,127,63,241,255,127,63,241,255,127,63,242,255,127,63,243,255,127,63,244,255,127,63,244,255,127,63,245,255,127,63,246,255,127,63,246,255,127,63,247,255,127,63,247,255,127,63,248,255,127,63,248,255,127,63,249,255,127,63,249,255,127,63,250,255,127,63,250,255,127,63,250,255,127,63,251,255,127,63,251,255,127,63,251,255,127,63,252,255,127,63,252,255,127,63,252,255,127,63,253,255,127,63,253,255,127,63,253,255,127,63,253,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,69,78,67,79,68,69,82,0,79,103,103,86,111,114,98,105,115,69,110,99,111,100,101,114,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"i8",N3,x.GLOBAL_BASE+551416);var y8=x.alignMemory(E3(12,"i8",Ns),8);K4(y8%8==0);function oB(i){Y9[y8]=Y9[i],Y9[y8+1]=Y9[i+1],Y9[y8+2]=Y9[i+2],Y9[y8+3]=Y9[i+3]}function dr(i){Y9[y8]=Y9[i],Y9[y8+1]=Y9[i+1],Y9[y8+2]=Y9[i+2],Y9[y8+3]=Y9[i+3],Y9[y8+4]=Y9[i+4],Y9[y8+5]=Y9[i+5],Y9[y8+6]=Y9[i+6],Y9[y8+7]=Y9[i+7]}var zi=sB,JA=J$,Ys=0;function Js(i){return _9[Ys>>2]=i,i}var R2={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function pp(i){switch(i){case 30:return tB;case 85:return Yr/tB;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:return typeof navigator=="object"&&navigator.hardwareConcurrency||1}return Js(R2.EINVAL),-1}o._memset=Bv;var Qp=!0;o._strlen=Iv,o._strcat=Ev,o._bitshift64Shl=wv;function Pk(){o.abort()}o._i64Add=mv;var Ok=Te,qk={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"},Tn={ttys:[],init:function(){},shutdown:function(){},register:function(i,$){Tn.ttys[i]={input:[],output:[],ops:$},k.registerDevice(i,Tn.stream_ops)},stream_ops:{open:function(i){var $=Tn.ttys[i.node.rdev];if(!$)throw new k.ErrnoError(R2.ENODEV);i.tty=$,i.seekable=!1},close:function(i){i.tty.ops.flush(i.tty)},flush:function(i){i.tty.ops.flush(i.tty)},read:function(i,$,h,d,P){if(!i.tty||!i.tty.ops.get_char)throw new k.ErrnoError(R2.ENXIO);for(var e=0,Z0=0;Z00?$=d.slice(0,P).toString("utf-8"):$=null}else typeof window<"u"&&typeof window.prompt=="function"?($=window.prompt("Input: "),$!==null&&($+=` `)):typeof readline=="function"&&($=readline(),$!==null&&($+=` -`));if(!$)return null;i.input=Jr($,!0)}return i.input.shift()},put_char:function(i,$){$===null||$===10?(o.print(Gs(i.output,0)),i.output=[]):$!=0&&i.output.push($)},flush:function(i){i.output&&i.output.length>0&&(o.print(Gs(i.output,0)),i.output=[])}},default_tty1_ops:{put_char:function(i,$){$===null||$===10?(o.printErr(Gs(i.output,0)),i.output=[]):$!=0&&i.output.push($)},flush:function(i){i.output&&i.output.length>0&&(o.printErr(Gs(i.output,0)),i.output=[])}}},v9={ops_table:null,mount:function(i){return v9.createNode(null,"/",16895,0)},createNode:function(i,$,h,d){if(k.isBlkdev(h)||k.isFIFO(h))throw new k.ErrnoError(R2.EPERM);v9.ops_table||(v9.ops_table={dir:{node:{getattr:v9.node_ops.getattr,setattr:v9.node_ops.setattr,lookup:v9.node_ops.lookup,mknod:v9.node_ops.mknod,rename:v9.node_ops.rename,unlink:v9.node_ops.unlink,rmdir:v9.node_ops.rmdir,readdir:v9.node_ops.readdir,symlink:v9.node_ops.symlink},stream:{llseek:v9.stream_ops.llseek}},file:{node:{getattr:v9.node_ops.getattr,setattr:v9.node_ops.setattr},stream:{llseek:v9.stream_ops.llseek,read:v9.stream_ops.read,write:v9.stream_ops.write,allocate:v9.stream_ops.allocate,mmap:v9.stream_ops.mmap,msync:v9.stream_ops.msync}},link:{node:{getattr:v9.node_ops.getattr,setattr:v9.node_ops.setattr,readlink:v9.node_ops.readlink},stream:{}},chrdev:{node:{getattr:v9.node_ops.getattr,setattr:v9.node_ops.setattr},stream:k.chrdev_stream_ops}});var P=k.createNode(i,$,h,d);return k.isDir(P.mode)?(P.node_ops=v9.ops_table.dir.node,P.stream_ops=v9.ops_table.dir.stream,P.contents={}):k.isFile(P.mode)?(P.node_ops=v9.ops_table.file.node,P.stream_ops=v9.ops_table.file.stream,P.usedBytes=0,P.contents=null):k.isLink(P.mode)?(P.node_ops=v9.ops_table.link.node,P.stream_ops=v9.ops_table.link.stream):k.isChrdev(P.mode)&&(P.node_ops=v9.ops_table.chrdev.node,P.stream_ops=v9.ops_table.chrdev.stream),P.timestamp=Date.now(),i&&(i.contents[$]=P),P},getFileDataAsRegularArray:function(i){if(i.contents&&i.contents.subarray){for(var $=[],h=0;hi.contents.length&&(i.contents=v9.getFileDataAsRegularArray(i),i.usedBytes=i.contents.length),!i.contents||i.contents.subarray){var h=i.contents?i.contents.buffer.byteLength:0;if(h>=$)return;var d=1024*1024;$=Math.max($,h*(h0&&i.contents.set(P.subarray(0,i.usedBytes),0);return}for(!i.contents&&$>0&&(i.contents=[]);i.contents.length<$;)i.contents.push(0)},resizeFileStorage:function(i,$){if(i.usedBytes!=$){if($==0){i.contents=null,i.usedBytes=0;return}if(!i.contents||i.contents.subarray){var h=i.contents;i.contents=new Uint8Array(new ArrayBuffer($)),h&&i.contents.set(h.subarray(0,Math.min($,i.usedBytes))),i.usedBytes=$;return}if(i.contents||(i.contents=[]),i.contents.length>$)i.contents.length=$;else for(;i.contents.length<$;)i.contents.push(0);i.usedBytes=$}},node_ops:{getattr:function(i){var $={};return $.dev=k.isChrdev(i.mode)?i.id:1,$.ino=i.id,$.mode=i.mode,$.nlink=1,$.uid=0,$.gid=0,$.rdev=i.rdev,k.isDir(i.mode)?$.size=4096:k.isFile(i.mode)?$.size=i.usedBytes:k.isLink(i.mode)?$.size=i.link.length:$.size=0,$.atime=new Date(i.timestamp),$.mtime=new Date(i.timestamp),$.ctime=new Date(i.timestamp),$.blksize=4096,$.blocks=Math.ceil($.size/$.blksize),$},setattr:function(i,$){$.mode!==void 0&&(i.mode=$.mode),$.timestamp!==void 0&&(i.timestamp=$.timestamp),$.size!==void 0&&v9.resizeFileStorage(i,$.size)},lookup:function(i,$){throw k.genericErrors[R2.ENOENT]},mknod:function(i,$,h,d){return v9.createNode(i,$,h,d)},rename:function(i,$,h){if(k.isDir(i.mode)){var d;try{d=k.lookupNode($,h)}catch{}if(d)for(var P in d.contents)throw new k.ErrnoError(R2.ENOTEMPTY)}delete i.parent.contents[i.name],i.name=h,$.contents[h]=i,i.parent=$},unlink:function(i,$){delete i.contents[$]},rmdir:function(i,$){var h=k.lookupNode(i,$);for(var d in h.contents)throw new k.ErrnoError(R2.ENOTEMPTY);delete i.contents[$]},readdir:function(i){var $=[".",".."];for(var h in i.contents)i.contents.hasOwnProperty(h)&&$.push(h);return $},symlink:function(i,$,h){var d=v9.createNode(i,$,41471,0);return d.link=h,d},readlink:function(i){if(!k.isLink(i.mode))throw new k.ErrnoError(R2.EINVAL);return i.link}},stream_ops:{read:function(i,$,h,d,P){var e=i.node.contents;if(P>=i.node.usedBytes)return 0;var W0=Math.min(i.node.usedBytes-P,d);if(K4(W0>=0),W0>8&&e.subarray)$.set(e.subarray(P,P+W0),h);else for(var t1=0;t10||P+dT5.timestamp)&&(P.push(w5),d++)});var e=[];if(Object.keys($.entries).forEach(function(w5){var p2=$.entries[w5],T5=i.entries[w5];T5||(e.push(w5),d++)}),!d)return h(null);var W0=!1,t1=0,b2=i.type==="remote"?i.db:$.db,s=b2.transaction([pt.DB_STORE_NAME],"readwrite"),A1=s.objectStore(pt.DB_STORE_NAME);function C(w5){if(w5)return C.errored?void 0:(C.errored=!0,h(w5));if(++t1>=d)return h(null)}s.onerror=function(w5){C(this.error),w5.preventDefault()},P.sort().forEach(function(w5){$.type==="local"?pt.loadRemoteEntry(A1,w5,function(p2,T5){if(p2)return C(p2);pt.storeLocalEntry(w5,T5,C)}):pt.loadLocalEntry(w5,function(p2,T5){if(p2)return C(p2);pt.storeRemoteEntry(A1,w5,T5,C)})}),e.sort().reverse().forEach(function(w5){$.type==="local"?pt.removeLocalEntry(w5,C):pt.removeRemoteEntry(A1,w5,C)})}},g8={isWindows:!1,staticInit:function(){g8.isWindows=!!process.platform.match(/^win/)},mount:function(i){return K4(f),g8.createNode(null,"/",g8.getMode(i.opts.root),0)},createNode:function(i,$,h,d){if(!k.isDir(h)&&!k.isFile(h)&&!k.isLink(h))throw new k.ErrnoError(R2.EINVAL);var P=k.createNode(i,$,h);return P.node_ops=g8.node_ops,P.stream_ops=g8.stream_ops,P},getMode:function(i){var $;try{$=Qt.lstatSync(i),g8.isWindows&&($.mode=$.mode|($.mode&146)>>1)}catch(h){throw h.code?new k.ErrnoError(R2[h.code]):h}return $.mode},realPath:function(i){for(var $=[];i.parent!==i;)$.push(i.name),i=i.parent;return $.push(i.mount.opts.root),$.reverse(),c9.join.apply(null,$)},flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:function(i){return i in g8.flagsToPermissionStringMap?g8.flagsToPermissionStringMap[i]:i},node_ops:{getattr:function(i){var $=g8.realPath(i),h;try{h=Qt.lstatSync($)}catch(d){throw d.code?new k.ErrnoError(R2[d.code]):d}return g8.isWindows&&!h.blksize&&(h.blksize=4096),g8.isWindows&&!h.blocks&&(h.blocks=(h.size+h.blksize-1)/h.blksize|0),{dev:h.dev,ino:h.ino,mode:h.mode,nlink:h.nlink,uid:h.uid,gid:h.gid,rdev:h.rdev,size:h.size,atime:h.atime,mtime:h.mtime,ctime:h.ctime,blksize:h.blksize,blocks:h.blocks}},setattr:function(i,$){var h=g8.realPath(i);try{if($.mode!==void 0&&(Qt.chmodSync(h,$.mode),i.mode=$.mode),$.timestamp!==void 0){var d=new Date($.timestamp);Qt.utimesSync(h,d,d)}$.size!==void 0&&Qt.truncateSync(h,$.size)}catch(P){throw P.code?new k.ErrnoError(R2[P.code]):P}},lookup:function(i,$){var h=c9.join2(g8.realPath(i),$),d=g8.getMode(h);return g8.createNode(i,$,d)},mknod:function(i,$,h,d){var P=g8.createNode(i,$,h,d),e=g8.realPath(P);try{k.isDir(P.mode)?Qt.mkdirSync(e,P.mode):Qt.writeFileSync(e,"",{mode:P.mode})}catch(W0){throw W0.code?new k.ErrnoError(R2[W0.code]):W0}return P},rename:function(i,$,h){var d=g8.realPath(i),P=c9.join2(g8.realPath($),h);try{Qt.renameSync(d,P)}catch(e){throw e.code?new k.ErrnoError(R2[e.code]):e}},unlink:function(i,$){var h=c9.join2(g8.realPath(i),$);try{Qt.unlinkSync(h)}catch(d){throw d.code?new k.ErrnoError(R2[d.code]):d}},rmdir:function(i,$){var h=c9.join2(g8.realPath(i),$);try{Qt.rmdirSync(h)}catch(d){throw d.code?new k.ErrnoError(R2[d.code]):d}},readdir:function(i){var $=g8.realPath(i);try{return Qt.readdirSync($)}catch(h){throw h.code?new k.ErrnoError(R2[h.code]):h}},symlink:function(i,$,h){var d=c9.join2(g8.realPath(i),$);try{Qt.symlinkSync(h,d)}catch(P){throw P.code?new k.ErrnoError(R2[P.code]):P}},readlink:function(i){var $=g8.realPath(i);try{return $=Qt.readlinkSync($),$=kp.relative(kp.resolve(i.mount.opts.root),$),$}catch(h){throw h.code?new k.ErrnoError(R2[h.code]):h}}},stream_ops:{open:function(i){var $=g8.realPath(i.node);try{k.isFile(i.node.mode)&&(i.nfd=Qt.openSync($,g8.flagsToPermissionString(i.flags)))}catch(h){throw h.code?new k.ErrnoError(R2[h.code]):h}},close:function(i){try{k.isFile(i.node.mode)&&i.nfd&&Qt.closeSync(i.nfd)}catch($){throw $.code?new k.ErrnoError(R2[$.code]):$}},read:function(i,$,h,d,P){if(d===0)return 0;var e=new Buffer(d),W0;try{W0=Qt.readSync(i.nfd,e,0,d,P)}catch(b2){throw new k.ErrnoError(R2[b2.code])}if(W0>0)for(var t1=0;t18)throw new k.ErrnoError(R2.ELOOP);for(var P=c9.normalizeArray(i.split("/").filter(function(w5){return!!w5}),!1),e=k.root,W0="/",t1=0;t140)throw new k.ErrnoError(R2.ELOOP)}}return{path:W0,node:e}},getPath:function(i){for(var $;;){if(k.isRoot(i)){var h=i.mount.mountpoint;return $?h[h.length-1]!=="/"?h+"/"+$:h+$:h}$=$?i.name+"/"+$:i.name,i=i.parent}},hashName:function(i,$){for(var h=0,d=0;d<$.length;d++)h=(h<<5)-h+$.charCodeAt(d)|0;return(i+h>>>0)%k.nameTable.length},hashAddNode:function(i){var $=k.hashName(i.parent.id,i.name);i.name_next=k.nameTable[$],k.nameTable[$]=i},hashRemoveNode:function(i){var $=k.hashName(i.parent.id,i.name);if(k.nameTable[$]===i)k.nameTable[$]=i.name_next;else for(var h=k.nameTable[$];h;){if(h.name_next===i){h.name_next=i.name_next;break}h=h.name_next}},lookupNode:function(i,$){var h=k.mayLookup(i);if(h)throw new k.ErrnoError(h,i);for(var d=k.hashName(i.id,$),P=k.nameTable[d];P;P=P.name_next){var e=P.name;if(P.parent.id===i.id&&e===$)return P}return k.lookup(i,$)},createNode:function(i,$,h,d){if(!k.FSNode){k.FSNode=function(t1,b2,s,A1){t1||(t1=this),this.parent=t1,this.mount=t1.mount,this.mounted=null,this.id=k.nextInode++,this.name=b2,this.mode=s,this.node_ops={},this.stream_ops={},this.rdev=A1},k.FSNode.prototype={};var P=365,e=146;Object.defineProperties(k.FSNode.prototype,{read:{get:function(){return(this.mode&P)===P},set:function(t1){t1?this.mode|=P:this.mode&=~P}},write:{get:function(){return(this.mode&e)===e},set:function(t1){t1?this.mode|=e:this.mode&=~e}},isFolder:{get:function(){return k.isDir(this.mode)}},isDevice:{get:function(){return k.isChrdev(this.mode)}}})}var W0=new k.FSNode(i,$,h,d);return k.hashAddNode(W0),W0},destroyNode:function(i){k.hashRemoveNode(i)},isRoot:function(i){return i===i.parent},isMountpoint:function(i){return!!i.mounted},isFile:function(i){return(i&61440)===32768},isDir:function(i){return(i&61440)===16384},isLink:function(i){return(i&61440)===40960},isChrdev:function(i){return(i&61440)===8192},isBlkdev:function(i){return(i&61440)===24576},isFIFO:function(i){return(i&61440)===4096},isSocket:function(i){return(i&49152)===49152},flagModes:{r:0,rs:1052672,"r+":2,w:577,wx:705,xw:705,"w+":578,"wx+":706,"xw+":706,a:1089,ax:1217,xa:1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(i){var $=k.flagModes[i];if(typeof $>"u")throw new Error("Unknown file open mode: "+i);return $},flagsToPermissionString:function(i){var $=i&2097155,h=["r","w","rw"][$];return i&512&&(h+="w"),h},nodePermissions:function(i,$){return k.ignorePermissions?0:$.indexOf("r")!==-1&&!(i.mode&292)||$.indexOf("w")!==-1&&!(i.mode&146)||$.indexOf("x")!==-1&&!(i.mode&73)?R2.EACCES:0},mayLookup:function(i){var $=k.nodePermissions(i,"x");return $||(i.node_ops.lookup?0:R2.EACCES)},mayCreate:function(i,$){try{var h=k.lookupNode(i,$);return R2.EEXIST}catch{}return k.nodePermissions(i,"wx")},mayDelete:function(i,$,h){var d;try{d=k.lookupNode(i,$)}catch(e){return e.errno}var P=k.nodePermissions(i,"wx");if(P)return P;if(h){if(!k.isDir(d.mode))return R2.ENOTDIR;if(k.isRoot(d)||k.getPath(d)===k.cwd())return R2.EBUSY}else if(k.isDir(d.mode))return R2.EISDIR;return 0},mayOpen:function(i,$){return i?k.isLink(i.mode)?R2.ELOOP:k.isDir(i.mode)&&($&2097155||$&512)?R2.EISDIR:k.nodePermissions(i,k.flagsToPermissionString($)):R2.ENOENT},MAX_OPEN_FDS:4096,nextfd:function(i,$){i=i||0,$=$||k.MAX_OPEN_FDS;for(var h=i;h<=$;h++)if(!k.streams[h])return h;throw new k.ErrnoError(R2.EMFILE)},getStream:function(i){return k.streams[i]},createStream:function(i,$,h){k.FSStream||(k.FSStream=function(){},k.FSStream.prototype={},Object.defineProperties(k.FSStream.prototype,{object:{get:function(){return this.node},set:function(W0){this.node=W0}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}));var d=new k.FSStream;for(var P in i)d[P]=i[P];i=d;var e=k.nextfd($,h);return i.fd=e,k.streams[e]=i,i},closeStream:function(i){k.streams[i]=null},getStreamFromPtr:function(i){return k.streams[i-1]},getPtrForStream:function(i){return i?i.fd+1:0},chrdev_stream_ops:{open:function(i){var $=k.getDevice(i.node.rdev);i.stream_ops=$.stream_ops,i.stream_ops.open&&i.stream_ops.open(i)},llseek:function(){throw new k.ErrnoError(R2.ESPIPE)}},major:function(i){return i>>8},minor:function(i){return i&255},makedev:function(i,$){return i<<8|$},registerDevice:function(i,$){k.devices[i]={stream_ops:$}},getDevice:function(i){return k.devices[i]},getMounts:function(i){for(var $=[],h=[i];h.length;){var d=h.pop();$.push(d),h.push.apply(h,d.mounts)}return $},syncfs:function(i,$){typeof i=="function"&&($=i,i=!1);var h=k.getMounts(k.root.mount),d=0;function P(e){if(e)return P.errored?void 0:(P.errored=!0,$(e));++d>=h.length&&$(null)}h.forEach(function(e){if(!e.type.syncfs)return P(null);e.type.syncfs(e,i,P)})},mount:function(i,$,h){var d=h==="/",P=!h,e;if(d&&k.root)throw new k.ErrnoError(R2.EBUSY);if(!d&&!P){var W0=k.lookupPath(h,{follow_mount:!1});if(h=W0.path,e=W0.node,k.isMountpoint(e))throw new k.ErrnoError(R2.EBUSY);if(!k.isDir(e.mode))throw new k.ErrnoError(R2.ENOTDIR)}var t1={type:i,opts:$,mountpoint:h,mounts:[]},b2=i.mount(t1);return b2.mount=t1,t1.root=b2,d?k.root=b2:e&&(e.mounted=t1,e.mount&&e.mount.mounts.push(t1)),b2},unmount:function(i){var $=k.lookupPath(i,{follow_mount:!1});if(!k.isMountpoint($.node))throw new k.ErrnoError(R2.EINVAL);var h=$.node,d=h.mounted,P=k.getMounts(d);Object.keys(k.nameTable).forEach(function(W0){for(var t1=k.nameTable[W0];t1;){var b2=t1.name_next;P.indexOf(t1.mount)!==-1&&k.destroyNode(t1),t1=b2}}),h.mounted=null;var e=h.mount.mounts.indexOf(d);K4(e!==-1),h.mount.mounts.splice(e,1)},lookup:function(i,$){return i.node_ops.lookup(i,$)},mknod:function(i,$,h){var d=k.lookupPath(i,{parent:!0}),P=d.node,e=c9.basename(i);if(!e||e==="."||e==="..")throw new k.ErrnoError(R2.EINVAL);var W0=k.mayCreate(P,e);if(W0)throw new k.ErrnoError(W0);if(!P.node_ops.mknod)throw new k.ErrnoError(R2.EPERM);return P.node_ops.mknod(P,e,$,h)},create:function(i,$){return $=$!==void 0?$:438,$&=4095,$|=32768,k.mknod(i,$,0)},mkdir:function(i,$){return $=$!==void 0?$:511,$&=1023,$|=16384,k.mknod(i,$,0)},mkdev:function(i,$,h){return typeof h>"u"&&(h=$,$=438),$|=8192,k.mknod(i,$,h)},symlink:function(i,$){if(!c9.resolve(i))throw new k.ErrnoError(R2.ENOENT);var h=k.lookupPath($,{parent:!0}),d=h.node;if(!d)throw new k.ErrnoError(R2.ENOENT);var P=c9.basename($),e=k.mayCreate(d,P);if(e)throw new k.ErrnoError(e);if(!d.node_ops.symlink)throw new k.ErrnoError(R2.EPERM);return d.node_ops.symlink(d,P,i)},rename:function(i,$){var h=c9.dirname(i),d=c9.dirname($),P=c9.basename(i),e=c9.basename($),W0,t1,b2;try{W0=k.lookupPath(i,{parent:!0}),t1=W0.node,W0=k.lookupPath($,{parent:!0}),b2=W0.node}catch{throw new k.ErrnoError(R2.EBUSY)}if(!t1||!b2)throw new k.ErrnoError(R2.ENOENT);if(t1.mount!==b2.mount)throw new k.ErrnoError(R2.EXDEV);var s=k.lookupNode(t1,P),A1=c9.relative(i,d);if(A1.charAt(0)!==".")throw new k.ErrnoError(R2.EINVAL);if(A1=c9.relative($,h),A1.charAt(0)!==".")throw new k.ErrnoError(R2.ENOTEMPTY);var C;try{C=k.lookupNode(b2,e)}catch{}if(s!==C){var w5=k.isDir(s.mode),p2=k.mayDelete(t1,P,w5);if(p2)throw new k.ErrnoError(p2);if(p2=C?k.mayDelete(b2,e,w5):k.mayCreate(b2,e),p2)throw new k.ErrnoError(p2);if(!t1.node_ops.rename)throw new k.ErrnoError(R2.EPERM);if(k.isMountpoint(s)||C&&k.isMountpoint(C))throw new k.ErrnoError(R2.EBUSY);if(b2!==t1&&(p2=k.nodePermissions(t1,"w"),p2))throw new k.ErrnoError(p2);try{k.trackingDelegate.willMovePath&&k.trackingDelegate.willMovePath(i,$)}catch(T5){console.log("FS.trackingDelegate['willMovePath']('"+i+"', '"+$+"') threw an exception: "+T5.message)}k.hashRemoveNode(s);try{t1.node_ops.rename(s,b2,e)}catch(T5){throw T5}finally{k.hashAddNode(s)}try{k.trackingDelegate.onMovePath&&k.trackingDelegate.onMovePath(i,$)}catch(T5){console.log("FS.trackingDelegate['onMovePath']('"+i+"', '"+$+"') threw an exception: "+T5.message)}}},rmdir:function(i){var $=k.lookupPath(i,{parent:!0}),h=$.node,d=c9.basename(i),P=k.lookupNode(h,d),e=k.mayDelete(h,d,!0);if(e)throw new k.ErrnoError(e);if(!h.node_ops.rmdir)throw new k.ErrnoError(R2.EPERM);if(k.isMountpoint(P))throw new k.ErrnoError(R2.EBUSY);try{k.trackingDelegate.willDeletePath&&k.trackingDelegate.willDeletePath(i)}catch(W0){console.log("FS.trackingDelegate['willDeletePath']('"+i+"') threw an exception: "+W0.message)}h.node_ops.rmdir(h,d),k.destroyNode(P);try{k.trackingDelegate.onDeletePath&&k.trackingDelegate.onDeletePath(i)}catch(W0){console.log("FS.trackingDelegate['onDeletePath']('"+i+"') threw an exception: "+W0.message)}},readdir:function(i){var $=k.lookupPath(i,{follow:!0}),h=$.node;if(!h.node_ops.readdir)throw new k.ErrnoError(R2.ENOTDIR);return h.node_ops.readdir(h)},unlink:function(i){var $=k.lookupPath(i,{parent:!0}),h=$.node,d=c9.basename(i),P=k.lookupNode(h,d),e=k.mayDelete(h,d,!1);if(e)throw e===R2.EISDIR&&(e=R2.EPERM),new k.ErrnoError(e);if(!h.node_ops.unlink)throw new k.ErrnoError(R2.EPERM);if(k.isMountpoint(P))throw new k.ErrnoError(R2.EBUSY);try{k.trackingDelegate.willDeletePath&&k.trackingDelegate.willDeletePath(i)}catch(W0){console.log("FS.trackingDelegate['willDeletePath']('"+i+"') threw an exception: "+W0.message)}h.node_ops.unlink(h,d),k.destroyNode(P);try{k.trackingDelegate.onDeletePath&&k.trackingDelegate.onDeletePath(i)}catch(W0){console.log("FS.trackingDelegate['onDeletePath']('"+i+"') threw an exception: "+W0.message)}},readlink:function(i){var $=k.lookupPath(i),h=$.node;if(!h)throw new k.ErrnoError(R2.ENOENT);if(!h.node_ops.readlink)throw new k.ErrnoError(R2.EINVAL);return c9.resolve(k.getPath($.node.parent),h.node_ops.readlink(h))},stat:function(i,$){var h=k.lookupPath(i,{follow:!$}),d=h.node;if(!d)throw new k.ErrnoError(R2.ENOENT);if(!d.node_ops.getattr)throw new k.ErrnoError(R2.EPERM);return d.node_ops.getattr(d)},lstat:function(i){return k.stat(i,!0)},chmod:function(i,$,h){var d;if(typeof i=="string"){var P=k.lookupPath(i,{follow:!h});d=P.node}else d=i;if(!d.node_ops.setattr)throw new k.ErrnoError(R2.EPERM);d.node_ops.setattr(d,{mode:$&4095|d.mode&-4096,timestamp:Date.now()})},lchmod:function(i,$){k.chmod(i,$,!0)},fchmod:function(i,$){var h=k.getStream(i);if(!h)throw new k.ErrnoError(R2.EBADF);k.chmod(h.node,$)},chown:function(i,$,h,d){var P;if(typeof i=="string"){var e=k.lookupPath(i,{follow:!d});P=e.node}else P=i;if(!P.node_ops.setattr)throw new k.ErrnoError(R2.EPERM);P.node_ops.setattr(P,{timestamp:Date.now()})},lchown:function(i,$,h){k.chown(i,$,h,!0)},fchown:function(i,$,h){var d=k.getStream(i);if(!d)throw new k.ErrnoError(R2.EBADF);k.chown(d.node,$,h)},truncate:function(i,$){if($<0)throw new k.ErrnoError(R2.EINVAL);var h;if(typeof i=="string"){var d=k.lookupPath(i,{follow:!0});h=d.node}else h=i;if(!h.node_ops.setattr)throw new k.ErrnoError(R2.EPERM);if(k.isDir(h.mode))throw new k.ErrnoError(R2.EISDIR);if(!k.isFile(h.mode))throw new k.ErrnoError(R2.EINVAL);var P=k.nodePermissions(h,"w");if(P)throw new k.ErrnoError(P);h.node_ops.setattr(h,{size:$,timestamp:Date.now()})},ftruncate:function(i,$){var h=k.getStream(i);if(!h)throw new k.ErrnoError(R2.EBADF);if(!(h.flags&2097155))throw new k.ErrnoError(R2.EINVAL);k.truncate(h.node,$)},utime:function(i,$,h){var d=k.lookupPath(i,{follow:!0}),P=d.node;P.node_ops.setattr(P,{timestamp:Math.max($,h)})},open:function(i,$,h,d,P){if(i==="")throw new k.ErrnoError(R2.ENOENT);$=typeof $=="string"?k.modeStringToFlags($):$,h=typeof h>"u"?438:h,$&64?h=h&4095|32768:h=0;var e;if(typeof i=="object")e=i;else{i=c9.normalize(i);try{var W0=k.lookupPath(i,{follow:!($&131072)});e=W0.node}catch{}}var t1=!1;if($&64)if(e){if($&128)throw new k.ErrnoError(R2.EEXIST)}else e=k.mknod(i,h,0),t1=!0;if(!e)throw new k.ErrnoError(R2.ENOENT);if(k.isChrdev(e.mode)&&($&=-513),!t1){var b2=k.mayOpen(e,$);if(b2)throw new k.ErrnoError(b2)}$&512&&k.truncate(e,0),$&=-641;var s=k.createStream({node:e,path:k.getPath(e),flags:$,seekable:!0,position:0,stream_ops:e.stream_ops,ungotten:[],error:!1},d,P);s.stream_ops.open&&s.stream_ops.open(s),o.logReadFiles&&!($&1)&&(k.readFiles||(k.readFiles={}),i in k.readFiles||(k.readFiles[i]=1,o.printErr("read file: "+i)));try{if(k.trackingDelegate.onOpenFile){var A1=0;($&2097155)!==1&&(A1|=k.tracking.openFlags.READ),$&2097155&&(A1|=k.tracking.openFlags.WRITE),k.trackingDelegate.onOpenFile(i,A1)}}catch(C){console.log("FS.trackingDelegate['onOpenFile']('"+i+"', flags) threw an exception: "+C.message)}return s},close:function(i){try{i.stream_ops.close&&i.stream_ops.close(i)}catch($){throw $}finally{k.closeStream(i.fd)}},llseek:function(i,$,h){if(!i.seekable||!i.stream_ops.llseek)throw new k.ErrnoError(R2.ESPIPE);return i.position=i.stream_ops.llseek(i,$,h),i.ungotten=[],i.position},read:function(i,$,h,d,P){if(d<0||P<0)throw new k.ErrnoError(R2.EINVAL);if((i.flags&2097155)===1)throw new k.ErrnoError(R2.EBADF);if(k.isDir(i.node.mode))throw new k.ErrnoError(R2.EISDIR);if(!i.stream_ops.read)throw new k.ErrnoError(R2.EINVAL);var e=!0;if(typeof P>"u")P=i.position,e=!1;else if(!i.seekable)throw new k.ErrnoError(R2.ESPIPE);var W0=i.stream_ops.read(i,$,h,d,P);return e||(i.position+=W0),W0},write:function(i,$,h,d,P,e){if(d<0||P<0)throw new k.ErrnoError(R2.EINVAL);if(!(i.flags&2097155))throw new k.ErrnoError(R2.EBADF);if(k.isDir(i.node.mode))throw new k.ErrnoError(R2.EISDIR);if(!i.stream_ops.write)throw new k.ErrnoError(R2.EINVAL);i.flags&1024&&k.llseek(i,0,2);var W0=!0;if(typeof P>"u")P=i.position,W0=!1;else if(!i.seekable)throw new k.ErrnoError(R2.ESPIPE);var t1=i.stream_ops.write(i,$,h,d,P,e);W0||(i.position+=t1);try{i.path&&k.trackingDelegate.onWriteToFile&&k.trackingDelegate.onWriteToFile(i.path)}catch(b2){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+b2.message)}return t1},allocate:function(i,$,h){if($<0||h<=0)throw new k.ErrnoError(R2.EINVAL);if(!(i.flags&2097155))throw new k.ErrnoError(R2.EBADF);if(!k.isFile(i.node.mode)&&!k.isDir(node.mode))throw new k.ErrnoError(R2.ENODEV);if(!i.stream_ops.allocate)throw new k.ErrnoError(R2.EOPNOTSUPP);i.stream_ops.allocate(i,$,h)},mmap:function(i,$,h,d,P,e,W0){if((i.flags&2097155)===1)throw new k.ErrnoError(R2.EACCES);if(!i.stream_ops.mmap)throw new k.ErrnoError(R2.ENODEV);return i.stream_ops.mmap(i,$,h,d,P,e,W0)},msync:function(i,$,h,d,P){return!i||!i.stream_ops.msync?0:i.stream_ops.msync(i,$,h,d,P)},munmap:function(i){return 0},ioctl:function(i,$,h){if(!i.stream_ops.ioctl)throw new k.ErrnoError(R2.ENOTTY);return i.stream_ops.ioctl(i,$,h)},readFile:function(i,$){if($=$||{},$.flags=$.flags||"r",$.encoding=$.encoding||"binary",$.encoding!=="utf8"&&$.encoding!=="binary")throw new Error('Invalid encoding type "'+$.encoding+'"');var h,d=k.open(i,$.flags),P=k.stat(i),e=P.size,W0=new Uint8Array(e);return k.read(d,W0,0,e,0),$.encoding==="utf8"?h=Gs(W0,0):$.encoding==="binary"&&(h=W0),k.close(d),h},writeFile:function(i,$,h){if(h=h||{},h.flags=h.flags||"w",h.encoding=h.encoding||"utf8",h.encoding!=="utf8"&&h.encoding!=="binary")throw new Error('Invalid encoding type "'+h.encoding+'"');var d=k.open(i,h.flags,h.mode);if(h.encoding==="utf8"){var P=new Uint8Array(Us($)+1),e=Rn($,P,0,P.length);k.write(d,P,0,e,0,h.canOwn)}else h.encoding==="binary"&&k.write(d,$,0,$.length,0,h.canOwn);k.close(d)},cwd:function(){return k.currentPath},chdir:function(i){var $=k.lookupPath(i,{follow:!0});if(!k.isDir($.node.mode))throw new k.ErrnoError(R2.ENOTDIR);var h=k.nodePermissions($.node,"x");if(h)throw new k.ErrnoError(h);k.currentPath=$.path},createDefaultDirectories:function(){k.mkdir("/tmp"),k.mkdir("/home"),k.mkdir("/home/web_user")},createDefaultDevices:function(){k.mkdir("/dev"),k.registerDevice(k.makedev(1,3),{read:function(){return 0},write:function(h,d,P,e,W0){return e}}),k.mkdev("/dev/null",k.makedev(1,3)),Tn.register(k.makedev(5,0),Tn.default_tty_ops),Tn.register(k.makedev(6,0),Tn.default_tty1_ops),k.mkdev("/dev/tty",k.makedev(5,0)),k.mkdev("/dev/tty1",k.makedev(6,0));var i;if(typeof crypto<"u"){var $=new Uint8Array(1);i=function(){return crypto.getRandomValues($),$[0]}}else f?i=void 0:i=function(){return Math.random()*256|0};k.createDevice("/dev","random",i),k.createDevice("/dev","urandom",i),k.mkdir("/dev/shm"),k.mkdir("/dev/shm/tmp")},createStandardStreams:function(){o.stdin?k.createDevice("/dev","stdin",o.stdin):k.symlink("/dev/tty","/dev/stdin"),o.stdout?k.createDevice("/dev","stdout",null,o.stdout):k.symlink("/dev/tty","/dev/stdout"),o.stderr?k.createDevice("/dev","stderr",null,o.stderr):k.symlink("/dev/tty1","/dev/stderr");var i=k.open("/dev/stdin","r");_9[Hk>>2]=k.getPtrForStream(i),K4(i.fd===0,"invalid handle for stdin ("+i.fd+")");var $=k.open("/dev/stdout","w");_9[Yk>>2]=k.getPtrForStream($),K4($.fd===1,"invalid handle for stdout ("+$.fd+")");var h=k.open("/dev/stderr","w");_9[Jk>>2]=k.getPtrForStream(h),K4(h.fd===2,"invalid handle for stderr ("+h.fd+")")},ensureErrnoError:function(){k.ErrnoError||(k.ErrnoError=function($,h){this.node=h,this.setErrno=function(d){this.errno=d;for(var P in R2)if(R2[P]===d){this.code=P;break}},this.setErrno($),this.message=qk[$]},k.ErrnoError.prototype=new Error,k.ErrnoError.prototype.constructor=k.ErrnoError,[R2.ENOENT].forEach(function(i){k.genericErrors[i]=new k.ErrnoError(i),k.genericErrors[i].stack=""}))},staticInit:function(){k.ensureErrnoError(),k.nameTable=new Array(4096),k.mount(v9,{},"/"),k.createDefaultDirectories(),k.createDefaultDevices()},init:function(i,$,h){K4(!k.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)"),k.init.initialized=!0,k.ensureErrnoError(),o.stdin=i||o.stdin,o.stdout=$||o.stdout,o.stderr=h||o.stderr,k.createStandardStreams()},quit:function(){k.init.initialized=!1;for(var i=0;ithis.length-1||w5<0)){var p2=w5%this.chunkSize,T5=w5/this.chunkSize|0;return this.getter(T5)[p2]}},e.prototype.setDataGetter=function(w5){this.getter=w5},e.prototype.cacheLength=function(){var w5=new XMLHttpRequest;if(w5.open("HEAD",h,!1),w5.send(null),!(w5.status>=200&&w5.status<300||w5.status===304))throw new Error("Couldn't load "+h+". Status: "+w5.status);var p2=Number(w5.getResponseHeader("Content-length")),T5,x9=(T5=w5.getResponseHeader("Accept-Ranges"))&&T5==="bytes",O9=1024*1024;x9||(O9=p2);var I4=function(K9,h8){if(K9>h8)throw new Error("invalid range ("+K9+", "+h8+") or no bytes requested!");if(h8>p2-1)throw new Error("only "+p2+" bytes available! programmer error!");var z4=new XMLHttpRequest;if(z4.open("GET",h,!1),p2!==O9&&z4.setRequestHeader("Range","bytes="+K9+"-"+h8),typeof Uint8Array<"u"&&(z4.responseType="arraybuffer"),z4.overrideMimeType&&z4.overrideMimeType("text/plain; charset=x-user-defined"),z4.send(null),!(z4.status>=200&&z4.status<300||z4.status===304))throw new Error("Couldn't load "+h+". Status: "+z4.status);return z4.response!==void 0?new Uint8Array(z4.response||[]):Jr(z4.responseText||"",!0)},w8=this;w8.setDataGetter(function(K9){var h8=K9*O9,z4=(K9+1)*O9-1;if(z4=Math.min(z4,p2-1),typeof w8.chunks[K9]>"u"&&(w8.chunks[K9]=I4(h8,z4)),typeof w8.chunks[K9]>"u")throw new Error("doXHR failed!");return w8.chunks[K9]}),this._length=p2,this._chunkSize=O9,this.lengthKnown=!0},typeof XMLHttpRequest<"u"){if(!v)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var W0=new e;Object.defineProperty(W0,"length",{get:function(){return this.lengthKnown||this.cacheLength(),this._length}}),Object.defineProperty(W0,"chunkSize",{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}});var t1={isDevice:!1,contents:W0}}else var t1={isDevice:!1,url:h};var b2=k.createFile(i,$,t1,d,P);t1.contents?b2.contents=t1.contents:t1.url&&(b2.contents=null,b2.url=t1.url),Object.defineProperty(b2,"usedBytes",{get:function(){return this.contents.length}});var s={},A1=Object.keys(b2.stream_ops);return A1.forEach(function(C){var w5=b2.stream_ops[C];s[C]=function(){if(!k.forceLoadFile(b2))throw new k.ErrnoError(R2.EIO);return w5.apply(null,arguments)}}),s.read=function(w5,p2,T5,x9,O9){if(!k.forceLoadFile(b2))throw new k.ErrnoError(R2.EIO);var I4=w5.node.contents;if(O9>=I4.length)return 0;var w8=Math.min(I4.length-O9,x9);if(K4(w8>=0),I4.slice)for(var K9=0;K9=0;d--){var P=i[d];P==="."?i.splice(d,1):P===".."?(i.splice(d,1),h++):h&&(i.splice(d,1),h--)}if($)for(;h--;h)i.unshift("..");return i},normalize:function(i){var $=i.charAt(0)==="/",h=i.substr(-1)==="/";return i=c9.normalizeArray(i.split("/").filter(function(d){return!!d}),!$).join("/"),!i&&!$&&(i="."),i&&h&&(i+="/"),($?"/":"")+i},dirname:function(i){var $=c9.splitPath(i),h=$[0],d=$[1];return!h&&!d?".":(d&&(d=d.substr(0,d.length-1)),h+d)},basename:function(i){if(i==="/")return"/";var $=i.lastIndexOf("/");return $===-1?i:i.substr($+1)},extname:function(i){return c9.splitPath(i)[3]},join:function(){var i=Array.prototype.slice.call(arguments,0);return c9.normalize(i.join("/"))},join2:function(i,$){return c9.normalize(i+"/"+$)},resolve:function(){for(var i="",$=!1,h=arguments.length-1;h>=-1&&!$;h--){var d=h>=0?arguments[h]:k.cwd();if(typeof d!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!d)return"";i=d+"/"+i,$=d.charAt(0)==="/"}return i=c9.normalizeArray(i.split("/").filter(function(P){return!!P}),!$).join("/"),($?"/":"")+i||"."},relative:function(i,$){i=c9.resolve(i).substr(1),$=c9.resolve($).substr(1);function h(s){for(var A1=0;A1=0&&s[C]==="";C--);return A1>C?[]:s.slice(A1,C-A1+1)}for(var d=h(i.split("/")),P=h($.split("/")),e=Math.min(d.length,P.length),W0=e,t1=0;t10){var t1=Date.now(),b2=J1.mainLoop.queue.shift();if(b2.func(b2.arg),J1.mainLoop.remainingBlockers){var s=J1.mainLoop.remainingBlockers,A1=s%1==0?s-1:Math.floor(s);b2.counted?J1.mainLoop.remainingBlockers=A1:(A1=A1+.5,J1.mainLoop.remainingBlockers=(8*s+A1)/9)}console.log('main loop blocker "'+b2.name+'" took '+(Date.now()-t1)+" ms"),J1.mainLoop.updateStatus(),setTimeout(J1.mainLoop.runner,0);return}if(!(e1&&J1.mainLoop.currentFrameNumber%J1.mainLoop.timingValue!=0){J1.mainLoop.scheduler();return}J1.mainLoop.method==="timeout"&&o.ctx&&(o.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!"),J1.mainLoop.method=""),J1.mainLoop.runIter(function(){typeof d<"u"?F.dynCall("vi",i,[d]):F.dynCall("v",i)}),!(e0?Jm(0,1e3/$):Jm(1,1),J1.mainLoop.scheduler()),h)throw"SimulateInfiniteLoop"}var J1={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){J1.mainLoop.scheduler=null,J1.mainLoop.currentlyRunningMainloop++},resume:function(){J1.mainLoop.currentlyRunningMainloop++;var i=J1.mainLoop.timingMode,$=J1.mainLoop.timingValue,h=J1.mainLoop.func;J1.mainLoop.func=null,yp(h,0,!1,J1.mainLoop.arg,!0),Jm(i,$),J1.mainLoop.scheduler()},updateStatus:function(){if(o.setStatus){var i=o.statusMessage||"Please wait...",$=J1.mainLoop.remainingBlockers,h=J1.mainLoop.expectedBlockers;$?$"u"&&(console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."),o.noImageDecoding=!0);var i={};i.canHandle=function(e){return!o.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(e)},i.handle=function(e,W0,t1,b2){var s=null;if(J1.hasBlobConstructor)try{s=new Blob([e],{type:J1.getMimetype(W0)}),s.size!==e.length&&(s=new Blob([new Uint8Array(e).buffer],{type:J1.getMimetype(W0)}))}catch(p2){F.warnOnce("Blob constructor present but fails: "+p2+"; falling back to blob builder")}if(!s){var A1=new J1.BlobBuilder;A1.append(new Uint8Array(e).buffer),s=A1.getBlob()}var C=J1.URLObject.createObjectURL(s),w5=new Image;w5.onload=function(){K4(w5.complete,"Image "+W0+" could not be decoded");var T5=document.createElement("canvas");T5.width=w5.width,T5.height=w5.height;var x9=T5.getContext("2d");x9.drawImage(w5,0,0),o.preloadedImages[W0]=T5,J1.URLObject.revokeObjectURL(C),t1&&t1(e)},w5.onerror=function(T5){console.log("Image "+C+" could not be decoded"),b2&&b2()},w5.src=C},o.preloadPlugins.push(i);var $={};$.canHandle=function(e){return!o.noAudioDecoding&&e.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},$.handle=function(e,W0,t1,b2){var s=!1;function A1(x9){s||(s=!0,o.preloadedAudios[W0]=x9,t1&&t1(e))}function C(){s||(s=!0,o.preloadedAudios[W0]=new Audio,b2&&b2())}if(J1.hasBlobConstructor){try{var w5=new Blob([e],{type:J1.getMimetype(W0)})}catch{return C()}var p2=J1.URLObject.createObjectURL(w5),T5=new Audio;T5.addEventListener("canplaythrough",function(){A1(T5)},!1),T5.onerror=function(O9){if(s)return;console.log("warning: browser could not fully decode audio "+W0+", trying slower base64 approach");function I4(w8){for(var K9="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",h8="=",z4="",Ui=0,Pi=0,Ir=0;Ir=6;){var Z$=Ui>>Pi-6&63;Pi-=6,z4+=K9[Z$]}return Pi==2?(z4+=K9[(Ui&3)<<4],z4+=h8+h8):Pi==4&&(z4+=K9[(Ui&15)<<2],z4+=h8),z4}T5.src="data:audio/x-"+W0.substr(-3)+";base64,"+I4(e),A1(T5)},T5.src=p2,J1.safeSetTimeout(function(){A1(T5)},1e4)}else return C()},o.preloadPlugins.push($);var h=o.canvas;function d(){J1.pointerLock=document.pointerLockElement===h||document.mozPointerLockElement===h||document.webkitPointerLockElement===h||document.msPointerLockElement===h}h&&(h.requestPointerLock=h.requestPointerLock||h.mozRequestPointerLock||h.webkitRequestPointerLock||h.msRequestPointerLock||function(){},h.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},h.exitPointerLock=h.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",d,!1),document.addEventListener("mozpointerlockchange",d,!1),document.addEventListener("webkitpointerlockchange",d,!1),document.addEventListener("mspointerlockchange",d,!1),o.elementPointerLock&&h.addEventListener("click",function(P){!J1.pointerLock&&h.requestPointerLock&&(h.requestPointerLock(),P.preventDefault())},!1))},createContext:function(i,$,h,d){if($&&o.ctx&&i==o.canvas)return o.ctx;var P,e;if($){var W0={antialias:!1,alpha:!1};if(d)for(var t1 in d)W0[t1]=d[t1];e=GL.createContext(i,W0),e&&(P=GL.getContext(e).GLctx),i.style.backgroundColor="black"}else P=i.getContext("2d");return P?(h&&($||K4(typeof GLctx>"u","cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),o.ctx=P,$&&GL.makeContextCurrent(e),o.useWebGL=$,J1.moduleContextCreatedCallbacks.forEach(function(b2){b2()}),J1.init()),P):null},destroyContext:function(i,$,h){},fullScreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullScreen:function(i,$,h){J1.lockPointer=i,J1.resizeCanvas=$,J1.vrDevice=h,typeof J1.lockPointer>"u"&&(J1.lockPointer=!0),typeof J1.resizeCanvas>"u"&&(J1.resizeCanvas=!1),typeof J1.vrDevice>"u"&&(J1.vrDevice=null);var d=o.canvas;function P(){J1.isFullScreen=!1;var W0=d.parentNode;(document.webkitFullScreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.mozFullscreenElement||document.fullScreenElement||document.fullscreenElement||document.msFullScreenElement||document.msFullscreenElement||document.webkitCurrentFullScreenElement)===W0?(d.cancelFullScreen=document.cancelFullScreen||document.mozCancelFullScreen||document.webkitCancelFullScreen||document.msExitFullscreen||document.exitFullscreen||function(){},d.cancelFullScreen=d.cancelFullScreen.bind(document),J1.lockPointer&&d.requestPointerLock(),J1.isFullScreen=!0,J1.resizeCanvas&&J1.setFullScreenCanvasSize()):(W0.parentNode.insertBefore(d,W0),W0.parentNode.removeChild(W0),J1.resizeCanvas&&J1.setWindowedCanvasSize()),o.onFullScreen&&o.onFullScreen(J1.isFullScreen),J1.updateCanvasDimensions(d)}J1.fullScreenHandlersInstalled||(J1.fullScreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",P,!1),document.addEventListener("mozfullscreenchange",P,!1),document.addEventListener("webkitfullscreenchange",P,!1),document.addEventListener("MSFullscreenChange",P,!1));var e=document.createElement("div");d.parentNode.insertBefore(e,d),e.appendChild(d),e.requestFullScreen=e.requestFullScreen||e.mozRequestFullScreen||e.msRequestFullscreen||(e.webkitRequestFullScreen?function(){e.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),h?e.requestFullScreen({vrDisplay:h}):e.requestFullScreen()},nextRAF:0,fakeRequestAnimationFrame:function(i){var $=Date.now();if(J1.nextRAF===0)J1.nextRAF=$+1e3/60;else for(;$+2>=J1.nextRAF;)J1.nextRAF+=1e3/60;var h=Math.max(J1.nextRAF-$,0);setTimeout(i,h)},requestAnimationFrame:function($){typeof window>"u"?J1.fakeRequestAnimationFrame($):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||J1.fakeRequestAnimationFrame),window.requestAnimationFrame($))},safeCallback:function(i){return function(){if(!L0)return i.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){J1.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(J1.allowAsyncCallbacks=!0,J1.queuedAsyncCallbacks.length>0){var i=J1.queuedAsyncCallbacks;J1.queuedAsyncCallbacks=[],i.forEach(function($){$()})}},safeRequestAnimationFrame:function(i){return J1.requestAnimationFrame(function(){L0||(J1.allowAsyncCallbacks?i():J1.queuedAsyncCallbacks.push(i))})},safeSetTimeout:function(i,$){return o.noExitRuntime=!0,setTimeout(function(){L0||(J1.allowAsyncCallbacks?i():J1.queuedAsyncCallbacks.push(i))},$)},safeSetInterval:function(i,$){return o.noExitRuntime=!0,setInterval(function(){L0||J1.allowAsyncCallbacks&&i()},$)},getMimetype:function(i){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[i.substr(i.lastIndexOf(".")+1)]},getUserMedia:function(i){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(i)},getMovementX:function(i){return i.movementX||i.mozMovementX||i.webkitMovementX||0},getMovementY:function(i){return i.movementY||i.mozMovementY||i.webkitMovementY||0},getMouseWheelDelta:function(i){var $=0;switch(i.type){case"DOMMouseScroll":$=i.detail;break;case"mousewheel":$=i.wheelDelta;break;case"wheel":$=i.deltaY;break;default:throw"unrecognized mouse wheel event: "+i.type}return $},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(i){if(J1.pointerLock)i.type!="mousemove"&&"mozMovementX"in i?J1.mouseMovementX=J1.mouseMovementY=0:(J1.mouseMovementX=J1.getMovementX(i),J1.mouseMovementY=J1.getMovementY(i)),typeof SDL<"u"?(J1.mouseX=SDL.mouseX+J1.mouseMovementX,J1.mouseY=SDL.mouseY+J1.mouseMovementY):(J1.mouseX+=J1.mouseMovementX,J1.mouseY+=J1.mouseMovementY);else{var $=o.canvas.getBoundingClientRect(),h=o.canvas.width,d=o.canvas.height,P=typeof window.scrollX<"u"?window.scrollX:window.pageXOffset,e=typeof window.scrollY<"u"?window.scrollY:window.pageYOffset;if(i.type==="touchstart"||i.type==="touchend"||i.type==="touchmove"){var W0=i.touch;if(W0===void 0)return;var t1=W0.pageX-(P+$.left),b2=W0.pageY-(e+$.top);t1=t1*(h/$.width),b2=b2*(d/$.height);var s={x:t1,y:b2};if(i.type==="touchstart")J1.lastTouches[W0.identifier]=s,J1.touches[W0.identifier]=s;else if(i.type==="touchend"||i.type==="touchmove"){var A1=J1.touches[W0.identifier];A1||(A1=s),J1.lastTouches[W0.identifier]=A1,J1.touches[W0.identifier]=s}return}var C=i.pageX-(P+$.left),w5=i.pageY-(e+$.top);C=C*(h/$.width),w5=w5*(d/$.height),J1.mouseMovementX=C-J1.mouseX,J1.mouseMovementY=w5-J1.mouseY,J1.mouseX=C,J1.mouseY=w5}},xhrLoad:function(i,$,h){var d=new XMLHttpRequest;d.open("GET",i,!0),d.responseType="arraybuffer",d.onload=function(){d.status==200||d.status==0&&d.response?$(d.response):h()},d.onerror=h,d.send(null)},asyncLoad:function(i,$,h,d){J1.xhrLoad(i,function(P){K4(P,'Loading data file "'+i+'" failed (no arrayBuffer).'),$(new Uint8Array(P)),d||fr("al "+i)},function(P){if(h)h();else throw'Loading data file "'+i+'" failed.'}),d||Mn("al "+i)},resizeListeners:[],updateResizeListeners:function(){var i=o.canvas;J1.resizeListeners.forEach(function($){$(i.width,i.height)})},setCanvasSize:function(i,$,h){var d=o.canvas;J1.updateCanvasDimensions(d,i,$),h||J1.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:function(){if(typeof SDL<"u"){var i=V$[SDL.screen+F.QUANTUM_SIZE*0>>2];i=i|8388608,_9[SDL.screen+F.QUANTUM_SIZE*0>>2]=i}J1.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL<"u"){var i=V$[SDL.screen+F.QUANTUM_SIZE*0>>2];i=i&-8388609,_9[SDL.screen+F.QUANTUM_SIZE*0>>2]=i}J1.updateResizeListeners()},updateCanvasDimensions:function(i,$,h){$&&h?(i.widthNative=$,i.heightNative=h):($=i.widthNative,h=i.heightNative);var d=$,P=h;if(o.forcedAspectRatio&&o.forcedAspectRatio>0&&(d/P>2]=$),$}function Av(){o.printErr("missing function: floor0_exportbundle"),Vs(-1)}if(Ys=F.staticAlloc(4),_9[Ys>>2]=0,o.requestFullScreen=function($,h,d){J1.requestFullScreen($,h,d)},o.requestAnimationFrame=function($){J1.requestAnimationFrame($)},o.setCanvasSize=function($,h,d){J1.setCanvasSize($,h,d)},o.pauseMainLoop=function(){J1.mainLoop.pause()},o.resumeMainLoop=function(){J1.mainLoop.resume()},o.getUserMedia=function(){J1.getUserMedia()},o.createContext=function($,h,d,P){return J1.createContext($,h,d,P)},k.staticInit(),P$.unshift(function(){!o.noFSInit&&!k.init.initialized&&k.init()}),kh.push(function(){k.ignorePermissions=!1}),O$.push(function(){k.quit()}),o.FS_createFolder=k.createFolder,o.FS_createPath=k.createPath,o.FS_createDataFile=k.createDataFile,o.FS_createPreloadedFile=k.createPreloadedFile,o.FS_createLazyFile=k.createLazyFile,o.FS_createLink=k.createLink,o.FS_createDevice=k.createDevice,P$.unshift(function(){Tn.init()}),O$.push(function(){Tn.shutdown()}),f)var Qt=void 0,kp=void 0;wh=pi=F.alignMemory(Hr),T$=!0,N$=wh+Pm,G$=Fi=F.alignMemory(N$),K4(G$>0]=d[t>>0],d[p2+1>>0]=d[t+1>>0],d[p2+2>>0]=d[t+2>>0],d[p2+3>>0]=d[t+3>>0]}function zD(t){t=t|0,d[p2>>0]=d[t>>0],d[p2+1>>0]=d[t+1>>0],d[p2+2>>0]=d[t+2>>0],d[p2+3>>0]=d[t+3>>0],d[p2+4>>0]=d[t+4>>0],d[p2+5>>0]=d[t+5>>0],d[p2+6>>0]=d[t+6>>0],d[p2+7>>0]=d[t+7>>0]}function Pv(t){t=t|0,H6=t}function Ov(){return H6|0}function lB(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0;E=C,e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,n=S9(256)|0,A=t+8|0,e[A>>2]=n,a=t+12|0,e[a>>2]=n,d[n>>0]=0,c=t+16|0,e[c>>2]=256}function qv(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0;x=C,A=n>>3,a=t+12|0,B=e[a>>2]|0,S=(B|0)==0,!S&&(b=A<<3,w=n-b|0,y=t+8|0,D=e[y>>2]|0,Q=D+A|0,e[a>>2]=Q,_=t+4|0,e[_>>2]=w,e[t>>2]=A,c=8+(w<<2)|0,u=e[c>>2]|0,E=d[Q>>0]|0,I=E&255,m=I&u,p=m&255,d[Q>>0]=p)}function U2(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0;O0=C,u=A>>>0>32;do if(!u){if(E=e[t>>2]|0,_=t+16|0,t0=e[_>>2]|0,s0=t0+-4|0,w0=(E|0)<(s0|0),a=t+12|0,c=e[a>>2]|0,w0)N=c;else{if(F0=(c|0)==0,F0)return;if(J0=(t0|0)>2147483391,J0||(P0=t+8|0,z0=e[P0>>2]|0,I=t0+256|0,m=qi(z0,I)|0,p=(m|0)==0,p))break;e[P0>>2]=m,B=e[_>>2]|0,S=B+256|0,e[_>>2]=S,b=e[t>>2]|0,w=m+b|0,e[a>>2]=w,N=w}y=8+(A<<2)|0,D=e[y>>2]|0,Q=D&n,L=t+4|0,x=e[L>>2]|0,R=x+A|0,M=Q<>0]|0,G=T&255,O=G|M,z=O&255,d[N>>0]=z,Y=(R|0)>7;do if(Y&&(J=e[L>>2]|0,W=8-J|0,e0=Q>>>W,q=e0&255,X=e[a>>2]|0,U=X+1|0,d[U>>0]=q,$0=(R|0)>15,$0&&(Z=e[L>>2]|0,K=16-Z|0,a0=Q>>>K,i0=a0&255,r0=e[a>>2]|0,V=r0+2|0,d[V>>0]=i0,h0=(R|0)>23,h0&&(o0=e[L>>2]|0,g0=24-o0|0,j=Q>>>g0,l0=j&255,u0=e[a>>2]|0,d0=u0+3|0,d[d0>>0]=l0,C0=(R|0)>31,C0))))if(k0=e[L>>2]|0,f0=(k0|0)==0,f0){_0=e[a>>2]|0,Q0=_0+4|0,d[Q0>>0]=0;break}else{B0=32-k0|0,p0=Q>>>B0,I0=p0&255,S0=e[a>>2]|0,K0=S0+4|0,d[K0>>0]=I0;break}while(!1);M0=(R|0)/8&-1,N0=e[t>>2]|0,U0=N0+M0|0,e[t>>2]=U0,y0=e[a>>2]|0,Y0=y0+M0|0,e[a>>2]=Y0,R0=R&7,e[L>>2]=R0;return}while(!1);D0=t+8|0,T0=e[D0>>2]|0,V0=(T0|0)==0,V0||I2(T0),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0}function cB(t){t=t|0;var n=0,A=0,a=0,c=0,u=0;u=C,n=t+8|0,A=e[n>>2]|0,a=(A|0)==0,a||I2(A),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0}function u7(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0;p=C,n=t+12|0,A=e[n>>2]|0,a=(A|0)==0,!a&&(c=t+8|0,u=e[c>>2]|0,e[n>>2]=u,E=u,d[E>>0]=0,e[t>>2]=0,I=t+4|0,e[I>>2]=0)}function gB(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0;if(S0=C,a=n>>>0>32,a)return A=-1,A|0;if(c=8+(n<<2)|0,D=e[c>>2]|0,z=t+4|0,K=e[z>>2]|0,u0=K+n|0,w0=e[t>>2]|0,C0=t+16|0,k0=e[C0>>2]|0,f0=k0+-4|0,u=(w0|0)<(f0|0),!u){if(E=u0+7|0,I=E>>3,m=k0-I|0,p=(w0|0)>(m|0),p)return A=-1,A|0;if(B=(u0|0)==0,B)return A=0,A|0}return S=t+12|0,b=e[S>>2]|0,w=d[b>>0]|0,y=w&255,Q=y>>>K,_=(u0|0)>8,_?(L=b+1|0,x=d[L>>0]|0,R=x&255,M=8-K|0,T=R<16,G?(O=b+2|0,Y=d[O>>0]|0,t0=Y&255,J=16-K|0,W=t0<24,q?(X=b+3|0,U=d[X>>0]|0,$0=U&255,Z=24-K|0,a0=$0<>0]|0,o0=h0&255,g0=32-K|0,j=o0<>2]|0,S=a+n|0,b=e[t>>2]|0,w=t+16|0,y=e[w>>2]|0,D=S+7|0,Q=D>>3,_=y-Q|0,L=(b|0)>(_|0),L){B=t+12|0,e[B>>2]=0,e[t>>2]=y,x=1,e[A>>2]=x;return}else{c=(S|0)/8&-1,u=t+12|0,E=e[u>>2]|0,I=E+c|0,e[u>>2]=I,m=b+c|0,e[t>>2]=m,p=S&7,x=p,e[A>>2]=x;return}}function W4(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0;D0=C,m=n>>>0>32;do if(m)a=t+16|0,c=e[a>>2]|0,I=t+4|0,u=t,E=I,Q0=c;else{if(p=8+(n<<2)|0,R=e[p>>2]|0,e0=t+4|0,V=e[e0>>2]|0,f0=V+n|0,F0=e[t>>2]|0,M0=t+16|0,N0=e[M0>>2]|0,U0=N0+-4|0,B=(F0|0)<(U0|0),!B){if(S=f0+7|0,b=S>>3,w=N0-b|0,y=(F0|0)>(w|0),y){u=t,E=e0,Q0=N0;break}if(D=(f0|0)==0,D)return A=0,A|0}return Q=t+12|0,_=e[Q>>2]|0,L=d[_>>0]|0,x=L&255,M=x>>>V,T=(f0|0)>8,T?(N=_+1|0,G=d[N>>0]|0,O=G&255,z=8-V|0,Y=O<16,J?(W=_+2|0,q=d[W>>0]|0,X=q&255,U=16-V|0,$0=X<24,K?(a0=_+3|0,s0=d[a0>>0]|0,i0=s0&255,r0=24-V|0,h0=i0<>0]|0,d0=u0&255,w0=32-V|0,C0=d0<>2]=I0,S0=F0+p0|0,e[t>>2]=S0,K0=f0&7,e[e0>>2]=K0,A=B0,A|0}while(!1);return _0=t+12|0,e[_0>>2]=0,e[u>>2]=Q0,e[E>>2]=1,A=-1,A|0}function yt(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0;return m=C,n=e[t>>2]|0,A=t+4|0,a=e[A>>2]|0,c=a+7|0,u=(c|0)/8&-1,E=u+n|0,E|0}function eQ(t){t=t|0;var n=0,A=0,a=0,c=0;return c=C,n=t+8|0,A=e[n>>2]|0,A|0}function Hv(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0;if(T=C,c=(t|0)==0,c)return A=-1,A|0;ae(t|0,0,360)|0,u=t+4|0,e[u>>2]=16384,b=t+24|0,e[b>>2]=1024,w=S9(16384)|0,e[t>>2]=w,y=S9(4096)|0,D=t+16|0,e[D>>2]=y,Q=S9(8192)|0,_=t+20|0,e[_>>2]=Q,L=(w|0)==0;do if(L)I=y;else{if(x=(y|0)==0,E=(Q|0)==0,R=E|x,R){I2(w),a=e[D>>2]|0,I=a;break}return S=t+336|0,e[S>>2]=n,A=0,A|0}while(!1);return m=(I|0)==0,m||I2(I),p=e[_>>2]|0,B=(p|0)==0,B||I2(p),ae(t|0,0,360)|0,A=-1,A|0}function Yv(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0;return S=C,n=(t|0)==0,n||(A=e[t>>2]|0,a=(A|0)==0,a||I2(A),c=t+16|0,u=e[c>>2]|0,E=(u|0)==0,E||I2(u),I=t+20|0,m=e[I>>2]|0,p=(m|0)==0,p||I2(m),ae(t|0,0,360)|0),0}function Jv(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0;if(N0=C,n=(t|0)==0,!n){if(A=e[t>>2]|0,w=A+22|0,d[w>>0]=0,G=e[t>>2]|0,$0=G+23|0,d[$0>>0]=0,j=e[t>>2]|0,k0=j+24|0,d[k0>>0]=0,f0=e[t>>2]|0,B0=f0+25|0,d[B0>>0]=0,p0=t+4|0,a=e[p0>>2]|0,c=(a|0)>0,c)for(u=e[t>>2]|0,S0=0,Q0=0;;)if(S=S0<<8,b=S0>>>24,y=u+Q0|0,D=d[y>>0]|0,Q=D&255,_=Q^b,L=144+(_<<2)|0,x=e[L>>2]|0,R=x^S,M=Q0+1|0,T=(M|0)<(a|0),T)S0=R,Q0=M;else{I0=R;break}else I0=0;if(E=t+12|0,I=e[E>>2]|0,m=(I|0)>0,m)for(p=t+8|0,B=e[p>>2]|0,_0=I0,F0=0;;)if(N=_0<<8,O=_0>>>24,z=B+F0|0,Y=d[z>>0]|0,t0=Y&255,J=t0^O,W=144+(J<<2)|0,e0=e[W>>2]|0,q=e0^N,X=F0+1|0,U=(X|0)<(I|0),U)_0=q,F0=X;else{K0=q;break}else K0=I0;Z=K0&255,K=e[t>>2]|0,a0=K+22|0,d[a0>>0]=Z,s0=K0>>>8,i0=s0&255,r0=e[t>>2]|0,V=r0+23|0,d[V>>0]=i0,h0=K0>>>16,o0=h0&255,g0=e[t>>2]|0,l0=g0+24|0,d[l0>>0]=o0,u0=K0>>>24,d0=u0&255,w0=e[t>>2]|0,C0=w0+25|0,d[C0>>0]=d0}}function Vv(t,n,A,a,c,u){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0,u=u|0;var E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0;if(d2=C,j=(t|0)==0,j||(S0=e[t>>2]|0,D0=(S0|0)==0,D0))return I=-1,I|0;if(b0=(n|0)==0,b0)return I=0,I|0;Z0=(A|0)>0;e:do if(Z0){for(f2=0,y2=0;;){if(w1=(n+(y2<<3)|0)+4|0,O1=e[w1>>2]|0,o2=(O1|0)<0,y=2147483647-O1|0,O=(f2|0)>(y|0),F2=o2|O,F2){I=-1;break}if(Z=O1+f2|0,s0=y2+1|0,i0=(s0|0)<(A|0),i0)f2=Z,y2=s0;else{s2=Z;break e}}return I|0}else s2=0;while(!1);r0=(s2|0)/255&-1,V=r0+1|0,h0=t+12|0,o0=e[h0>>2]|0,g0=(o0|0)==0,w=t+8|0,g0||(l0=e[w>>2]|0,u0=l0-o0|0,e[w>>2]=u0,d0=(l0|0)==(o0|0),d0||(w0=S0+o0|0,jA(S0|0,w0|0,u0|0)|0),e[h0>>2]=0),C0=t+4|0,k0=e[C0>>2]|0,f0=k0-s2|0,B0=e[w>>2]|0,p0=(f0|0)>(B0|0);do if(!p0){if(I0=2147483647-s2|0,K0=(k0|0)>(I0|0),K0)return _0=e[t>>2]|0,Q0=(_0|0)==0,Q0||I2(_0),F0=t+16|0,M0=e[F0>>2]|0,N0=(M0|0)==0,N0||I2(M0),U0=t+20|0,y0=e[U0>>2]|0,Y0=(y0|0)==0,Y0||I2(y0),ae(t|0,0,360)|0,I=-1,I|0;if(R0=k0+s2|0,T0=(R0|0)<2147482623,V0=R0+1024|0,E=T0?V0:R0,J0=e[t>>2]|0,P0=qi(J0,E)|0,z0=(P0|0)==0,!z0){e[C0>>2]=E,e[t>>2]=P0;break}return G0=e[t>>2]|0,O0=(G0|0)==0,O0||I2(G0),r1=t+16|0,H0=e[r1>>2]|0,e1=(H0|0)==0,e1||I2(H0),i1=t+20|0,c1=e[i1>>2]|0,$1=(c1|0)==0,$1||I2(c1),ae(t|0,0,360)|0,I=-1,I|0}while(!1);if(f1=Kv(t,V)|0,g1=(f1|0)==0,!g1)return I=-1,I|0;if(Z0)for(p=e[w>>2]|0,p1=p,v2=0;E1=e[t>>2]|0,B1=E1+p1|0,Q1=n+(v2<<3)|0,_1=e[Q1>>2]|0,x1=(n+(v2<<3)|0)+4|0,S1=e[x1>>2]|0,s4(B1|0,_1|0,S1|0)|0,L1=e[x1>>2]|0,F1=e[w>>2]|0,G1=F1+L1|0,e[w>>2]=G1,k1=v2+1|0,e2=(k1|0)==(A|0),!e2;)p1=G1,v2=k1;if(l1=(s2|0)>254,s1=t+28|0,a1=e[s1>>2]|0,n1=t+16|0,o1=e[n1>>2]|0,l1){for(I1=t+352|0,h1=t+20|0,m1=e[h1>>2]|0,d1=(r0|0)>1,C2=0;U1=a1+C2|0,Z1=o1+(U1<<2)|0,e[Z1>>2]=255,N1=I1,b1=N1,V1=e[b1>>2]|0,q1=N1+4|0,H1=q1,Y1=e[H1>>2]|0,j1=m1+(U1<<3)|0,n2=j1,W1=n2,e[W1>>2]=V1,P1=n2+4|0,c2=P1,e[c2>>2]=Y1,z1=C2+1|0,u2=(z1|0)<(r0|0),u2;)C2=z1;D2=d1?r0:1,B=I1,$2=m1,w2=D2}else m=t+20|0,S=e[m>>2]|0,b=t+352|0,B=b,$2=S,w2=0;return E2=(s2|0)%255&-1,A2=a1+w2|0,K1=o1+(A2<<2)|0,e[K1>>2]=E2,h2=$2+(A2<<3)|0,i2=h2,l2=i2,e[l2>>2]=c,r2=i2+4|0,a2=r2,e[a2>>2]=u,X1=B,D=X1,e[D>>2]=c,Q=X1+4|0,_=Q,e[_>>2]=u,L=o1+(a1<<2)|0,x=e[L>>2]|0,R=x|256,e[L>>2]=R,M=a1+V|0,e[s1>>2]=M,T=t+344|0,N=T,G=N,z=e[G>>2]|0,Y=N+4|0,t0=Y,J=e[t0>>2]|0,W=Zs(z|0,J|0,1,0)|0,e0=H6,q=T,X=q,e[X>>2]=W,U=q+4|0,$0=U,e[$0>>2]=e0,K=(a|0)==0,K?(I=0,I|0):(a0=t+328|0,e[a0>>2]=1,I=0,I|0)}function Wm(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0;return L=C,C=C+16|0,Q=L,A=e[n>>2]|0,e[Q>>2]=A,a=n+4|0,m=e[a>>2]|0,p=Q+4|0,e[p>>2]=m,B=n+12|0,S=e[B>>2]|0,b=n+16|0,w=b,y=w,D=e[y>>2]|0,c=w+4|0,u=c,E=e[u>>2]|0,I=Vv(t,Q,1,S,D,E)|0,C=L,I|0}function tQ(t,n){t=t|0,n=n|0;var A=0,a=0,c=0;return c=C,A=rQ(t,n,1,4096)|0,A|0}function iQ(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0;return L=C,u=(t|0)==0,u||(E=e[t>>2]|0,I=(E|0)==0,I)?(A=0,A|0):(m=t+328|0,p=e[m>>2]|0,B=(p|0)==0,a=t+28|0,c=e[a>>2]|0,Q=(c|0)==0,B?Q?D=0:(S=t+332|0,b=e[S>>2]|0,w=(b|0)==0,w?_=7:D=0):Q?D=0:_=7,(_|0)==7&&(D=1),y=rQ(t,n,D,4096)|0,A=y,A|0)}function Kv(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0;return l0=C,c=t+24|0,u=e[c>>2]|0,Q=u-n|0,Y=t+28|0,a0=e[Y>>2]|0,r0=(Q|0)>(a0|0),r0?(a=0,a|0):(V=2147483647-n|0,h0=(u|0)>(V|0),h0?(o0=e[t>>2]|0,g0=(o0|0)==0,g0||I2(o0),E=t+16|0,I=e[E>>2]|0,m=(I|0)==0,m||I2(I),p=t+20|0,B=e[p>>2]|0,S=(B|0)==0,S||I2(B),ae(t|0,0,360)|0,a=-1,a|0):(b=u+n|0,w=(b|0)<2147483615,y=b+32|0,A=w?y:b,D=t+16|0,_=e[D>>2]|0,L=A<<2,x=qi(_,L)|0,R=(x|0)==0,R?(M=e[t>>2]|0,T=(M|0)==0,T||I2(M),N=e[D>>2]|0,G=(N|0)==0,G||I2(N),O=t+20|0,z=e[O>>2]|0,t0=(z|0)==0,t0||I2(z),ae(t|0,0,360)|0,a=-1,a|0):(e[D>>2]=x,J=t+20|0,W=e[J>>2]|0,e0=A<<3,q=qi(W,e0)|0,X=(q|0)==0,X?(U=e[t>>2]|0,$0=(U|0)==0,$0||I2(U),Z=e[D>>2]|0,K=(Z|0)==0,K||I2(Z),s0=e[J>>2]|0,i0=(s0|0)==0,i0||I2(s0),ae(t|0,0,360)|0,a=-1,a|0):(e[J>>2]=q,e[c>>2]=A,a=0,a|0))))}function rQ(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,k3=0,u3=0,p3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0;if(k5=C,Q=t+28|0,_=e[Q>>2]|0,c1=(_|0)>255,c=c1?255:_,h1=(t|0)==0,h1||(L1=e[t>>2]|0,H1=(L1|0)==0,A2=(c|0)==0,w3=A2|H1,w3))return u=0,u|0;e2=t+332|0,H2=e[e2>>2]|0,Z2=(H2|0)==0;e:do if(Z2)for(C0=t+16|0,l3=0;;){if(M0=(l3|0)<(c|0),!M0){I=A,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,H5=l3,O5=14;break e}if(z0=e[C0>>2]|0,H0=z0+(l3<<2)|0,e1=e[H0>>2]|0,b0=e1&255,i1=(b0|0)==255,$1=l3+1|0,i1)l3=$1;else{I=A,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,H5=$1,O5=14;break}}else if(L=(c|0)>0,L){for(J=t+16|0,i0=t+20|0,C5=0,S5=-1,g5=-1,a5=-1,W2=-1,g2=-1,p5=-1,t5=-1,s5=-1,W5=0,L3=0,C3=0;;){if(f1=(C5|0)>(a|0),g1=(W5|0)>3,G3=f1&g1,G3){E=1,G5=S5,_5=g5,q2=a5,I5=W2,A5=g2,c5=p5,B5=t5,M1=s5,c3=C3;break}if(l1=e[J>>2]|0,s1=l1+(C3<<2)|0,a1=e[s1>>2]|0,n1=a1&255,o1=n1+C5|0,Z0=(n1|0)==255,Z0?(h5=S5,J2=g5,u5=a5,i5=W2,x5=g2,j2=p5,$5=t5,L2=s5,i6=0,U3=L3):(I1=e[i0>>2]|0,m1=I1+(C3<<3)|0,d1=m1,E1=d1,B1=e[E1>>2]|0,p1=d1+4|0,Q1=p1,_1=e[Q1>>2]|0,x1=L3+1|0,w1=B1&255,S1=Ws(B1|0,_1|0,8)|0,F1=H6,G1=S1&255,k1=Ws(B1|0,_1|0,16)|0,U1=H6,Z1=k1&255,N1=Ws(B1|0,_1|0,24)|0,b1=H6,V1=N1&255,O1=_1&255,q1=Ws(B1|0,_1|0,40)|0,Y1=H6,j1=q1&255,n2=Ws(B1|0,_1|0,48)|0,W1=H6,P1=n2&255,c2=Ws(B1|0,_1|0,56)|0,z1=H6,u2=c2&255,h5=w1,J2=Z1,u5=V1,i5=O1,x5=j1,j2=P1,$5=u2,L2=G1,i6=x1,U3=x1),o2=C3+1|0,E2=(o2|0)<(c|0),E2)C5=o1,S5=h5,g5=J2,a5=u5,W2=i5,g2=x5,p5=j2,t5=$5,s5=L2,W5=i6,L3=U3,C3=o2;else{E=A,G5=h5,_5=J2,q2=u5,I5=i5,A5=x5,c5=j2,B5=$5,M1=L2,c3=o2;break}}K1=(c3|0)==255,K1?(n3=G5,m3=_5,F5=q2,V5=I5,k3=A5,u3=c5,p3=B5,z3=M1,U5=255):(I=E,Q5=G5,q5=_5,j5=q2,E5=I5,f3=A5,h3=c5,J5=B5,X5=M1,H5=c3,O5=14)}else I=A,Q5=-1,q5=-1,j5=-1,E5=-1,f3=-1,h3=-1,J5=-1,X5=-1,H5=0,O5=14;while(!1);if((O5|0)==14){if(h2=(I|0)==0,h2)return u=0,u|0;n3=Q5,m3=q5,F5=j5,V5=E5,k3=f3,u3=h3,p3=J5,z3=X5,U5=H5}if($2=t+40|0,d[$2>>0]=79,d[$2+1>>0]=103,d[$2+2>>0]=103,d[$2+3>>0]=83,i2=t+44|0,d[i2>>0]=0,l2=t+45|0,d[l2>>0]=0,r2=t+16|0,a2=e[r2>>2]|0,X1=e[a2>>2]|0,s2=X1>>>8,S=s2&1,f2=S^1,y2=f2|2,m=Z2?y2:f2,a3=m&255,d[l2>>0]=a3,v2=t+328|0,w2=e[v2>>2]|0,C2=(w2|0)!=0,F2=(_|0)==(U5|0),z5=C2&F2,z5&&(p=Z2?y2:f2,D2=p|4,N2=D2&255,d[l2>>0]=N2),e[e2>>2]=1,d2=t+46|0,d[d2>>0]=n3,K2=t+47|0,d[K2>>0]=z3,G2=t+48|0,d[G2>>0]=m3,M2=t+49|0,d[M2>>0]=F5,P2=t+50|0,d[P2>>0]=V5,z2=t+51|0,d[z2>>0]=k3,o5=t+52|0,d[o5>>0]=u3,O2=t+53|0,d[O2>>0]=p3,T1=t+336|0,X2=e[T1>>2]|0,L5=X2&255,e5=t+54|0,d[e5>>0]=L5,b5=X2>>>8,f5=b5&255,v5=t+55|0,d[v5>>0]=f5,P5=X2>>>16,l5=P5&255,k2=t+56|0,d[k2>>0]=l5,m5=X2>>>24,n5=m5&255,x2=t+57|0,d[x2>>0]=n5,_2=t+340|0,B2=e[_2>>2]|0,x=(B2|0)==-1,x?(e[_2>>2]=0,M=0):M=B2,R=M+1|0,e[_2>>2]=R,T=M&255,N=t+58|0,d[N>>0]=T,G=M>>>8,O=G&255,z=t+59|0,d[z>>0]=O,Y=M>>>16,t0=Y&255,W=t+60|0,d[W>>0]=t0,e0=M>>>24,q=e0&255,X=t+61|0,d[X>>0]=q,U=t+62|0,$0=U5&255,Z=t+66|0,d[U>>0]=0,d[U+1>>0]=0,d[U+2>>0]=0,d[U+3>>0]=0,d[Z>>0]=$0,K=(U5|0)>0,K){if(a0=e[a2>>2]|0,s0=a0&255,r0=t+67|0,d[r0>>0]=s0,V=a0&255,D5=(U5|0)==1,D5)B=V;else for(o0=1,k0=V;;)if(b=e[r2>>2]|0,h0=b+(o0<<2)|0,g0=e[h0>>2]|0,j=g0&255,l0=o0+27|0,u0=(t+40|0)+l0|0,d[u0>>0]=j,d0=g0&255,w0=d0+k0|0,f0=o0+1|0,d5=(f0|0)==(U5|0),d5){B=w0;break}else o0=f0,k0=w0;w=e[t>>2]|0,y=e[Q>>2]|0,D=e[r2>>2]|0,Q0=w,y0=y,R0=D,R5=B}else Q0=L1,y0=_,R0=a2,R5=0;return e[n>>2]=$2,B0=U5+27|0,p0=t+324|0,e[p0>>2]=B0,I0=n+4|0,e[I0>>2]=B0,S0=t+12|0,K0=e[S0>>2]|0,_0=Q0+K0|0,F0=n+8|0,e[F0>>2]=_0,N0=n+12|0,e[N0>>2]=R5,U0=y0-U5|0,e[Q>>2]=U0,Y0=R0+(U5<<2)|0,D0=U0<<2,jA(R0|0,Y0|0,D0|0)|0,T0=t+20|0,V0=e[T0>>2]|0,J0=V0+(U5<<3)|0,P0=e[Q>>2]|0,G0=P0<<3,jA(V0|0,J0|0,G0|0)|0,O0=e[S0>>2]|0,r1=O0+R5|0,e[S0>>2]=r1,Jv(n),u=1,u|0}function zv(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0;return H0=C,a=t+104|0,c=e[a>>2]|0,D=t+88|0,z=c+12|0,e[D>>2]=0,e[D+4>>2]=0,e[D+8>>2]=0,e[D+12>>2]=0,K=e[z>>2]|0,u7(K),u0=c+16|0,_0=e[u0>>2]|0,u7(_0),V0=c+20|0,G0=e[V0>>2]|0,u7(G0),O0=c+24|0,u=e[O0>>2]|0,u7(u),E=c+28|0,I=e[E>>2]|0,u7(I),m=c+32|0,p=e[m>>2]|0,u7(p),B=c+36|0,S=e[B>>2]|0,u7(S),b=c+40|0,w=e[b>>2]|0,u7(w),y=c+44|0,Q=e[y>>2]|0,u7(Q),_=c+48|0,L=e[_>>2]|0,u7(L),x=c+52|0,R=e[x>>2]|0,u7(R),M=c+56|0,T=e[M>>2]|0,u7(T),N=c+60|0,G=e[N>>2]|0,u7(G),O=c+64|0,Y=e[O>>2]|0,u7(Y),t0=c+68|0,J=e[t0>>2]|0,u7(J),W=e[6416]|0,e0=W+12|0,q=e[e0>>2]|0,X=FQ[q&1](t)|0,U=(X|0)==0,U?($0=(n|0)==0,$0?(A=0,A|0):(Z=Rh(t)|0,a0=(Z|0)==0,a0?(s0=t+4|0,i0=eQ(s0)|0,e[n>>2]=i0,r0=yt(s0)|0,V=n+4|0,e[V>>2]=r0,h0=n+8|0,e[h0>>2]=0,o0=t+44|0,g0=e[o0>>2]|0,j=n+12|0,e[j>>2]=g0,l0=t+48|0,d0=l0,w0=d0,C0=e[w0>>2]|0,k0=d0+4|0,f0=k0,B0=e[f0>>2]|0,p0=n+16|0,I0=p0,S0=I0,e[S0>>2]=C0,K0=I0+4|0,Q0=K0,e[Q0>>2]=B0,F0=t+56|0,M0=F0,N0=M0,U0=e[N0>>2]|0,y0=M0+4|0,Y0=y0,R0=e[Y0>>2]|0,D0=n+24|0,T0=D0,J0=T0,e[J0>>2]=U0,P0=T0+4|0,z0=P0,e[z0>>2]=R0,A=0,A|0):(A=-131,A|0))):(A=X,A|0)}function Zv(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0;C0=C,A=t+28|0,a=e[A>>2]|0,d0=n,k0=d0+48|0;do e[d0>>2]=0,d0=d0+4|0;while((d0|0)<(k0|0));y=a+3372|0,O=e[y>>2]|0,Z=(O|0)>0,Z&&(o0=t+8|0,g0=e[o0>>2]|0,j=e[a>>2]|0,l0=j>>1,u0=a+4|0,c=e[u0>>2]|0,u=(c|0)/(j|0)&-1,E=n+24|0,e[E>>2]=u,e[n>>2]=1,I=a+3360|0,m=e[I>>2]|0,p=+(m|0),B=+(l0|0),S=p*B,b=+(g0|0),w=S/b,D=+Oi(w),Q=~~D,_=n+12|0,e[_>>2]=Q,L=a+3364|0,x=e[L>>2]|0,R=+(x|0),M=R*B,T=M/b,N=+Oi(T),G=~~N,z=n+16|0,e[z>>2]=G,Y=a+3368|0,t0=e[Y>>2]|0,J=+(t0|0),W=J*B,e0=W/b,q=+Oi(e0),X=~~q,U=n+20|0,e[U>>2]=X,$0=n+32|0,A1[$0>>3]=7,K=+(O|0),a0=a+3376|0,s0=+A1[a0>>3],i0=K*s0,r0=~~i0,V=n+8|0,e[V>>2]=r0,h0=n+4|0,e[h0>>2]=r0)}function Wv(t){t=t|0;var n=0,A=0,a=0,c=0;a=C,n=t,c=n+48|0;do e[n>>2]=0,n=n+4|0;while((n|0)<(c|0))}function Rh(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0;return B=C,A=t+64|0,a=e[A>>2]|0,c=a+104|0,u=e[c>>2]|0,E=u+80|0,I=e[E>>2]|0,m=(I|0)!=0,n=m&1,n|0}function jv(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,k3=0,u3=0,p3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,X3=0,c6=0,p6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0;if(b6=C,p=t+104|0,B=e[p>>2]|0,z1=t+64|0,k2=e[z1>>2]|0,_5=k2+104|0,g2=e[_5>>2]|0,L2=k2+4|0,F5=e[L2>>2]|0,L3=F5+28|0,M5=e[L3>>2]|0,S=g2+112|0,T=+A1[S>>3],X=+Oi(T),o0=~~X,p0=(B+12|0)+(o0<<2)|0,Y0=e[p0>>2]|0,H0=yt(Y0)|0,n1=H0<<3,_1=t+28|0,b1=e[_1>>2]|0,u2=(b1|0)==0,X1=g2+96|0,d2=e[X1>>2]|0,u2?(L5=g2+100|0,b5=e[L5>>2]|0,U=d2,k0=L5,I0=b5):(Z2=g2+104|0,f5=e[Z2>>2]|0,v5=g2+100|0,P5=e[v5>>2]|0,l5=r5(f5,d2)|0,m5=r5(f5,P5)|0,U=l5,k0=v5,I0=m5),n5=M5+(b1<<2)|0,x2=e[n5>>2]|0,_2=x2>>1,B2=M5+3372|0,C5=e[B2>>2]|0,R5=+(C5|0),d5=M5+3376|0,D5=+A1[d5>>3],G5=R5*D5,q2=~~G5,I5=g2+80|0,A5=e[I5>>2]|0,c5=(A5|0)==0,B5=g2+120|0,c5)return M1=e[B5>>2]|0,S5=(M1|0)==0,S5?(e[B5>>2]=t,A=0,A|0):(A=-1,A|0);if(e[B5>>2]=t,g5=g2+92|0,a5=e[g5>>2]|0,W2=(a5|0)>0,W2){u2?$5=a5:(p5=g2+104|0,t5=e[p5>>2]|0,s5=r5(t5,a5)|0,$5=s5),h5=M5+3384|0,J2=+A1[h5>>3],u5=15/J2,i5=g2+84|0,x5=e[i5>>2]|0,j2=n1-$5|0,Q5=x5+j2|0,q5=(Q5|0)>(q2|0);e:do if(q5)if(j5=(o0|0)>0,E5=(n1|0)>($5|0),S6=E5&j5,S6)if(f3=n1-$5|0,h3=f3+x5|0,J5=(h3|0)>(q2|0),J5)for(O3=o0;;){if(X5=O3+-1|0,n3=(B+12|0)+(X5<<2)|0,m3=e[n3>>2]|0,V5=yt(m3)|0,k3=V5<<3,u3=(O3|0)>1,p3=(k3|0)>($5|0),v6=p3&u3,!v6){K5=X5;break e}if(I=e[i5>>2]|0,z3=k3-$5|0,G3=z3+I|0,z5=(G3|0)>(q2|0),z5)O3=X5;else{K5=X5;break}}else K5=o0;else K5=o0;else if(w3=(Q5|0)<(q2|0),w3)if(W5=o0+1|0,i6=(W5|0)<15,U3=(n1|0)<($5|0),X3=U3&i6,X3)if(a3=n1-$5|0,l3=a3+x5|0,c3=(l3|0)<(q2|0),c3)for(H5=W5;;){if(C3=(B+12|0)+(H5<<2)|0,U5=e[C3>>2]|0,O5=yt(U5)|0,k5=O5<<3,P3=H5+1|0,o6=(P3|0)<15,e3=(k5|0)<($5|0),B6=e3&o6,!B6){K5=H5;break e}if(E=e[i5>>2]|0,A3=k5-$5|0,R3=A3+E|0,u6=(R3|0)<(q2|0),u6)H5=P3;else{K5=H5;break}}else K5=o0;else K5=o0;else K5=o0;while(!1);Q3=+(K5|0),v3=+A1[S>>3],y3=Q3-v3,r6=+Oi(y3),j3=+(_2|0),b=r6/j3,w=F5+8|0,y=e[w>>2]|0,D=+(y|0),Q=D*b,_=-u5,L=Q<_,C6=L?_:Q,x=C6>u5,b3=x?u5:C6,R=b3/D,M=R*j3,N=M+v3,A1[S>>3]=N,G=+Oi(N),O=~~G,z=(B+12|0)+(O<<2)|0,Y=e[z>>2]|0,t0=yt(Y)|0,J=t0<<3,m=e[X1>>2]|0,W=m,S3=O,e6=J}else W=d2,S3=o0,e6=n1;e0=(W|0)>0,q=(e6|0)<(U|0),c6=q&e0;e:do if(c6)if($0=g2+88|0,Z=e[$0>>2]|0,K=e6-U|0,a0=K+Z|0,s0=(a0|0)<0,s0)for(g3=S3,t6=e6;;){if(i0=g3+1|0,r0=(g3|0)>13,r0){q3=i0,f6=t6;break e}if(V=(B+12|0)+(i0<<2)|0,h0=e[V>>2]|0,g0=yt(h0)|0,j=g0<<3,l0=e[$0>>2]|0,u0=j-U|0,d0=u0+l0|0,w0=(d0|0)<0,w0)g3=i0,t6=j;else{q3=i0,f6=j;break}}else q3=S3,f6=e6;else q3=S3,f6=e6;while(!1);C0=e[k0>>2]|0,f0=(C0|0)>0,B0=(f6|0)>(I0|0),p6=B0&f0;e:do if(p6)if(S0=g2+88|0,K0=e[S0>>2]|0,_0=f6-I0|0,Q0=_0+K0|0,F0=e[B2>>2]|0,M0=(Q0|0)>(F0|0),M0)for(l6=q3,H3=f6;;){if(N0=l6+-1|0,U0=(l6|0)<1,U0){d3=N0,D3=H3;break e}if(y0=(B+12|0)+(N0<<2)|0,R0=e[y0>>2]|0,D0=yt(R0)|0,T0=D0<<3,V0=e[S0>>2]|0,J0=T0-I0|0,P0=J0+V0|0,z0=e[B2>>2]|0,G0=(P0|0)>(z0|0),G0)l6=N0,H3=T0;else{d3=N0,D3=T0;break}}else d3=q3,D3=f6;else d3=q3,D3=f6;while(!1);if(O0=(d3|0)<0,O0)r1=e[B2>>2]|0,e1=g2+88|0,b0=e[e1>>2]|0,i1=r1+I0|0,c1=i1-b0|0,$1=(c1|0)/8&-1,f1=g2+124|0,e[f1>>2]=0,g1=B+12|0,l1=e[g1>>2]|0,s1=yt(l1)|0,a1=(s1|0)>($1|0),a1?(o1=e[g1>>2]|0,Z0=$1<<3,qv(o1,Z0),I1=e[g1>>2]|0,h1=yt(I1)|0,m1=h1<<3,Y3=m1):Y3=D3;else{if(d1=g2+88|0,E1=e[d1>>2]|0,B1=U+7|0,p1=B1-E1|0,Q1=(p1|0)/8&-1,x1=(d3|0)>14,c=x1?14:d3,w1=g2+124|0,e[w1>>2]=c,S1=(B+12|0)+(c<<2)|0,L1=e[S1>>2]|0,F1=yt(L1)|0,G1=Q1-F1|0,k1=(G1|0)>0,U1=e[S1>>2]|0,k1)for(N1=U1,k6=G1;;)if(Z1=k6+-1|0,U2(N1,0,8),V1=(k6|0)>1,O1=e[S1>>2]|0,V1)N1=O1,k6=Z1;else{u=O1;break}else u=U1;q1=yt(u)|0,H1=q1<<3,Y3=H1}Y1=e[X1>>2]|0,j1=(Y1|0)>0,j1?Z3=37:(n2=e[k0>>2]|0,W1=(n2|0)>0,W1&&(Z3=37));do if((Z3|0)==37){if(P1=(I0|0)>0,c2=(Y3|0)>(I0|0),x6=P1&c2,x6){o2=Y3-I0|0,E2=g2+88|0,A2=e[E2>>2]|0,K1=o2+A2|0,e[E2>>2]=K1;break}if(h2=(U|0)>0,$2=(Y3|0)<(U|0),Y6=h2&$2,Y6){i2=Y3-U|0,l2=g2+88|0,r2=e[l2>>2]|0,a2=i2+r2|0,e[l2>>2]=a2;break}if(s2=g2+88|0,f2=e[s2>>2]|0,e2=(f2|0)>(q2|0),e2)if(P1){y2=Y3-I0|0,v2=f2+y2|0,w2=(v2|0)<(q2|0),n=w2?q2:v2,e[s2>>2]=n;break}else{e[s2>>2]=q2;break}else if(h2){C2=Y3-U|0,F2=f2+C2|0,D2=(F2|0)>(q2|0),a=D2?q2:F2,e[s2>>2]=a;break}else{e[s2>>2]=q2;break}}while(!1);return N2=e[g5>>2]|0,K2=(N2|0)>0,K2?(G2=e[_1>>2]|0,H2=(G2|0)==0,H2?O2=N2:(M2=g2+104|0,P2=e[M2>>2]|0,z2=r5(P2,N2)|0,O2=z2),o5=Y3-O2|0,T1=g2+84|0,X2=e[T1>>2]|0,e5=o5+X2|0,e[T1>>2]=e5,A=0,A|0):(A=0,A|0)}function nQ(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0;return I0=C,a=t+104|0,c=e[a>>2]|0,D=c+120|0,z=e[D>>2]|0,K=(z|0)==0,K?(A=0,A|0):(u0=(n|0)==0,u0||(d0=z+104|0,w0=e[d0>>2]|0,C0=z+64|0,k0=e[C0>>2]|0,u=k0+104|0,E=e[u>>2]|0,I=E+80|0,m=e[I>>2]|0,B0=(m|0)==0,B0?f0=7:(p=c+124|0,B=e[p>>2]|0,f0=B),S=(w0+12|0)+(f0<<2)|0,b=e[S>>2]|0,w=eQ(b)|0,e[n>>2]=w,y=e[S>>2]|0,Q=yt(y)|0,_=n+4|0,e[_>>2]=Q,L=n+8|0,e[L>>2]=0,x=z+44|0,R=e[x>>2]|0,M=n+12|0,e[M>>2]=R,T=z+48|0,N=T,G=N,O=e[G>>2]|0,Y=N+4|0,t0=Y,J=e[t0>>2]|0,W=n+16|0,e0=W,q=e0,e[q>>2]=O,X=e0+4|0,U=X,e[U>>2]=J,$0=z+56|0,Z=$0,a0=Z,s0=e[a0>>2]|0,i0=Z+4|0,r0=i0,V=e[r0>>2]|0,h0=n+24|0,o0=h0,g0=o0,e[g0>>2]=s0,j=o0+4|0,l0=j,e[l0>>2]=V),e[D>>2]=0,A=1,A|0)}function Xv(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0;M=C,x=n,T=x+112|0;do e[x>>2]=0,x=x+4|0;while((x|0)<(T|0));if(A=n+64|0,e[A>>2]=t,a=n+76|0,e[a>>2]=0,p=n+68|0,e[p>>2]=0,B=e[t>>2]|0,S=(B|0)==0,S)return 0;for(b=n4(1,72)|0,w=n+104|0,e[w>>2]=b,y=b+4|0,s[y>>2]=-9999,D=n+4|0,Q=b+12|0,c=b+40|0,L=0;;)if(u=(L|0)==7,u){e[c>>2]=D,lB(D),L=8;continue}else{if(E=n4(1,20)|0,I=Q+(L<<2)|0,e[I>>2]=E,lB(E),m=L+1|0,_=(m|0)==15,_)break;L=m;continue}return 0}function qt(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0;return Y=C,A=n+7|0,a=A&-8,y=t+72|0,x=e[y>>2]|0,R=x+a|0,M=t+76|0,T=e[M>>2]|0,N=(R|0)>(T|0),G=t+68|0,O=e[G>>2]|0,N?(c=(O|0)==0,c||(u=O,E=S9(8)|0,I=t+80|0,m=e[I>>2]|0,p=m+x|0,e[I>>2]=p,B=t+84|0,S=e[B>>2]|0,b=E+4|0,e[b>>2]=S,e[E>>2]=u,e[B>>2]=E),e[M>>2]=a,w=S9(a)|0,e[G>>2]=w,e[y>>2]=0,Q=w,_=0,D=Q+_|0,L=_+a|0,e[y>>2]=L,D|0):(Q=O,_=x,D=Q+_|0,L=_+a|0,e[y>>2]=L,D|0)}function eS(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0;if(Z=C,a=t+104|0,c=e[a>>2]|0,D=t+84|0,G=e[D>>2]|0,O=(G|0)==0,!O)for(X=G;z=X+4|0,Y=e[z>>2]|0,t0=e[X>>2]|0,I2(t0),I2(X),J=(Y|0)==0,!J;)X=Y;if(W=t+80|0,u=e[W>>2]|0,E=(u|0)==0,n=t+68|0,A=e[n>>2]|0,E?Q=A:(I=t+76|0,m=e[I>>2]|0,p=m+u|0,B=qi(A,p)|0,e[n>>2]=B,S=e[W>>2]|0,b=e[I>>2]|0,w=b+S|0,e[I>>2]=w,e[W>>2]=0,Q=B),y=t+72|0,e[y>>2]=0,e[D>>2]=0,_=(Q|0)==0,_||I2(Q),L=(c|0)==0,L){U=t,K=U+112|0;do e[U>>2]=0,U=U+4|0;while((U|0)<(K|0));return 0}else q=0;for(;;){if(x=(c+12|0)+(q<<2)|0,R=e[x>>2]|0,cB(R),M=(q|0)==7,M){q=8;continue}if(T=e[x>>2]|0,I2(T),N=q+1|0,e0=(N|0)==15,e0)break;q=N}I2(c),U=t,K=U+112|0;do e[U>>2]=0,U=U+4|0;while((U|0)<(K|0));return 0}function tS(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0;return _=C,a=rS(t,n,1)|0,c=(a|0)==0,c?(m=t+104|0,p=e[m>>2]|0,B=FS(n)|0,S=p+60|0,e[S>>2]=B,b=n4(1,180)|0,e[p>>2]=b,aS(b,n),w=p+80|0,Zv(n,w),y=t+64|0,D=y,u=D,e[u>>2]=3,E=D+4|0,I=E,e[I>>2]=0,A=0,A|0):(A=1,A|0)}function sQ(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0;if(G2=C,B=(t|0)==0,!B){if(S=t+4|0,p0=e[S>>2]|0,Y0=(p0|0)!=0,Y0?(H0=p0+28|0,n1=e[H0>>2]|0,y0=n1):y0=0,_1=t+104|0,b1=e[_1>>2]|0,z1=(b1|0)!=0,z1){if(a2=e[b1>>2]|0,b=(a2|0)==0,b||($S(a2),N=e[b1>>2]|0,I2(N)),U=b1+12|0,g0=e[U>>2]|0,d0=(g0|0)==0,d0||(w0=e[g0>>2]|0,IB(w0),C0=e[U>>2]|0,k0=e[C0>>2]|0,I2(k0),f0=e[U>>2]|0,I2(f0)),B0=b1+16|0,I0=e[B0>>2]|0,S0=(I0|0)==0,S0||(K0=e[I0>>2]|0,IB(K0),_0=e[B0>>2]|0,Q0=e[_0>>2]|0,I2(Q0),F0=e[B0>>2]|0,I2(F0)),M0=b1+48|0,N0=e[M0>>2]|0,U0=(N0|0)==0,!U0){if(R0=(y0|0)==0,R0)d1=N0;else if(D0=y0+16|0,T0=e[D0>>2]|0,V0=(T0|0)>0,V0){if(J0=y0+800|0,P0=e[J0>>2]|0,z0=25640+(P0<<2)|0,G0=e[z0>>2]|0,O0=G0+16|0,r1=e[O0>>2]|0,e1=e[N0>>2]|0,Xs[r1&7](e1),b0=e[D0>>2]|0,i1=(b0|0)>1,i1)for($1=1;n=e[M0>>2]|0,c1=J0+($1<<2)|0,f1=e[c1>>2]|0,g1=25640+(f1<<2)|0,l1=e[g1>>2]|0,s1=l1+16|0,a1=e[s1>>2]|0,o1=n+($1<<2)|0,Z0=e[o1>>2]|0,Xs[a1&7](Z0),I1=$1+1|0,h1=e[D0>>2]|0,m1=(I1|0)<(h1|0),m1;)$1=I1;A=e[M0>>2]|0,d1=A}else d1=N0;I2(d1)}if(E1=b1+52|0,B1=e[E1>>2]|0,p1=(B1|0)==0,!p1){if(Q1=(y0|0)==0,Q1)K1=B1;else if(x1=y0+20|0,w1=e[x1>>2]|0,S1=(w1|0)>0,S1){if(L1=y0+1312|0,F1=e[L1>>2]|0,G1=25648+(F1<<2)|0,k1=e[G1>>2]|0,U1=k1+16|0,Z1=e[U1>>2]|0,N1=e[B1>>2]|0,Xs[Z1&7](N1),V1=e[x1>>2]|0,O1=(V1|0)>1,O1)for(H1=1;a=e[E1>>2]|0,q1=L1+(H1<<2)|0,Y1=e[q1>>2]|0,j1=25648+(Y1<<2)|0,n2=e[j1>>2]|0,W1=n2+16|0,P1=e[W1>>2]|0,c2=a+(H1<<2)|0,u2=e[c2>>2]|0,Xs[P1&7](u2),o2=H1+1|0,E2=e[x1>>2]|0,A2=(o2|0)<(E2|0),A2;)H1=o2;c=e[E1>>2]|0,K1=c}else K1=B1;I2(K1)}if(h2=b1+56|0,$2=e[h2>>2]|0,i2=($2|0)==0,!i2){if(l2=(y0|0)==0,l2)D2=$2;else if(r2=y0+28|0,X1=e[r2>>2]|0,s2=(X1|0)>0,s2){if(uQ($2),f2=e[r2>>2]|0,e2=(f2|0)>1,e2)for(v2=1;u=e[h2>>2]|0,y2=u+(v2*52|0)|0,uQ(y2),w2=v2+1|0,C2=e[r2>>2]|0,F2=(w2|0)<(C2|0),F2;)v2=w2;E=e[h2>>2]|0,D2=E}else D2=$2;I2(D2)}w=b1+60|0,y=e[w>>2]|0,D=(y|0)==0,D||MS(y),Q=b1+80|0,Wv(Q),_=b1+20|0,yQ(_),L=b1+32|0,yQ(L)}if(x=t+8|0,R=e[x>>2]|0,M=(R|0)==0,!M){if(Y0)if(T=p0+4|0,G=e[T>>2]|0,O=(G|0)>0,O){for(Y=R,u0=G,N2=0;z=Y+(N2<<2)|0,t0=e[z>>2]|0,J=(t0|0)==0,J?q=u0:(I2(t0),m=e[T>>2]|0,q=m),W=N2+1|0,e0=(W|0)<(q|0),!!e0;)I=e[x>>2]|0,Y=I,u0=q,N2=W;p=e[x>>2]|0,X=p}else X=R;else X=R;I2(X),$0=t+12|0,Z=e[$0>>2]|0,K=(Z|0)==0,K||I2(Z)}z1&&(a0=b1+64|0,s0=e[a0>>2]|0,i0=(s0|0)==0,i0||I2(s0),r0=b1+68|0,V=e[r0>>2]|0,h0=(V|0)==0,h0||I2(V),o0=b1+72|0,j=e[o0>>2]|0,l0=(j|0)==0,l0||I2(j),I2(b1)),d2=t,H2=d2+112|0;do e[d2>>2]=0,d2=d2+4|0;while((d2|0)<(H2|0))}}function oQ(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0;if(Y0=C,I=t+4|0,m=e[I>>2]|0,x=t+104|0,W=e[x>>2]|0,r0=W+64|0,k0=e[r0>>2]|0,Q0=(k0|0)==0,Q0||I2(k0),e[r0>>2]=0,F0=W+68|0,M0=e[F0>>2]|0,N0=(M0|0)==0,N0||I2(M0),e[F0>>2]=0,p=W+72|0,B=e[p>>2]|0,S=(B|0)==0,S||I2(B),e[p>>2]=0,b=t+20|0,w=e[b>>2]|0,y=w+n|0,D=t+16|0,Q=e[D>>2]|0,_=(y|0)<(Q|0),_)A=m+4|0,u=e[A>>2]|0,X=u,y0=11;else if(L=n<<1,R=w+L|0,e[D>>2]=R,M=m+4|0,T=e[M>>2]|0,N=(T|0)>0,N)if(G=t+8|0,O=e[G>>2]|0,z=e[O>>2]|0,Y=R<<2,t0=qi(z,Y)|0,J=e[G>>2]|0,e[J>>2]=t0,e0=e[M>>2]|0,q=(e0|0)>1,q)for(i0=1;;)if(a=e[D>>2]|0,a0=e[G>>2]|0,s0=a0+(i0<<2)|0,V=e[s0>>2]|0,h0=a<<2,o0=qi(V,h0)|0,g0=e[G>>2]|0,j=g0+(i0<<2)|0,e[j>>2]=o0,l0=i0+1|0,u0=e[M>>2]|0,d0=(l0|0)<(u0|0),d0)i0=l0;else{X=u0,y0=11;break}else X=e0,y0=11;if((y0|0)==11&&(U=(X|0)>0,U)){for($0=t+8|0,Z=e[b>>2]|0,K=t+12|0,U0=0;;)if(w0=e[$0>>2]|0,C0=w0+(U0<<2)|0,f0=e[C0>>2]|0,B0=f0+(Z<<2)|0,p0=e[K>>2]|0,I0=p0+(U0<<2)|0,e[I0>>2]=B0,S0=U0+1|0,K0=(S0|0)<(X|0),K0)U0=S0;else{c=K;break}return _0=e[c>>2]|0,_0|0}return E=t+12|0,c=E,_0=e[c>>2]|0,_0|0}function iS(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0,T0=0,V0=0,J0=0,P0=0;if(P0=C,I=t+4|0,m=e[I>>2]|0,x=m+28|0,W=e[x>>2]|0,r0=(n|0)<1,!r0)return w0=t+20|0,C0=e[w0>>2]|0,f0=C0+n|0,B0=t+16|0,p0=e[B0>>2]|0,I0=(f0|0)>(p0|0),I0?(a=-131,C=P0,a|0):(e[w0>>2]=f0,S0=t+28|0,K0=e[S0>>2]|0,_0=(K0|0)==0,!_0||(Q0=t+48|0,F0=e[Q0>>2]|0,M0=f0-F0|0,U0=W+4|0,y0=e[U0>>2]|0,Y0=(M0|0)>(y0|0),!Y0)?(a=0,C=P0,a|0):(aQ(t),a=0,C=P0,a|0));if(k0=C,C=C+128|0,N0=t+28|0,R0=e[N0>>2]|0,D0=(R0|0)==0,D0&&aQ(t),T0=W+4|0,p=e[T0>>2]|0,B=p*3|0,oQ(t,B)|0,S=t+20|0,b=e[S>>2]|0,w=t+32|0,e[w>>2]=b,y=e[T0>>2]|0,D=y*3|0,Q=b+D|0,e[S>>2]=Q,_=m+4|0,L=e[_>>2]|0,R=(L|0)>0,!R)return a=0,C=P0,a|0;for(M=t+8|0,T=b,V0=0;;){if(N=(T|0)>64,N?(G=e[T0>>2]|0,O=(T|0)>(G|0),A=O?G:T,z=e[M>>2]|0,Y=z+(V0<<2)|0,t0=e[Y>>2]|0,u=T-A|0,J=t0+(u<<2)|0,+$Q(J,k0,A,32),e0=e[M>>2]|0,q=e0+(V0<<2)|0,X=e[q>>2]|0,U=e[w>>2]|0,$0=X+(U<<2)|0,E=U+-32|0,Z=X+(E<<2)|0,K=e[S>>2]|0,a0=K-U|0,lQ(k0,Z,32,$0,a0)):(s0=e[M>>2]|0,i0=s0+(V0<<2)|0,V=e[i0>>2]|0,h0=V+(T<<2)|0,o0=e[S>>2]|0,g0=o0-T|0,j=g0<<2,ae(h0|0,0,j|0)|0),l0=V0+1|0,u0=e[_>>2]|0,d0=(l0|0)<(u0|0),!d0){a=0;break}c=e[w>>2]|0,T=c,V0=l0}return C=P0,a|0}function AQ(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,k3=0,u3=0,p3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,X3=0,c6=0,p6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,L6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0;if(o4=C,S=t+4|0,b=e[S>>2]|0,o2=b+28|0,k5=e[o2>>2]|0,r6=t+104|0,S6=e[r6>>2]|0,f6=S6+60|0,d6=e[f6>>2]|0,G6=t+48|0,t9=e[G6>>2]|0,w=t+40|0,G=e[w>>2]|0,$0=k5+(G<<2)|0,j=e[$0>>2]|0,S0=(j|0)/2&-1,D0=t9-S0|0,b0=n+104|0,Z0=e[b0>>2]|0,w1=t+28|0,O1=e[w1>>2]|0,E2=(O1|0)==0,E2||(f2=t+32|0,G2=e[f2>>2]|0,b5=(G2|0)==-1,b5))return a=0,a|0;B2=lS(t)|0,B5=(B2|0)==-1;do if(B5){if(J2=e[f2>>2]|0,f3=(J2|0)==0,f3)return a=0,a|0;z3=t+44|0,e[z3>>2]=0,u=z3,O3=0;break}else if(C3=e[k5>>2]|0,P3=k5+4|0,M5=e[P3>>2]|0,o6=(C3|0)==(M5|0),e3=t+44|0,o6){e[e3>>2]=0,u=e3,O3=0;break}else{e[e3>>2]=B2,u=e3,O3=B2;break}while(!1);if(A3=e[G6>>2]|0,R3=e[w>>2]|0,u6=k5+(R3<<2)|0,Q3=e[u6>>2]|0,v3=(Q3|0)/4&-1,y3=v3+A3|0,j3=k5+(O3<<2)|0,K5=e[j3>>2]|0,S3=(K5|0)/4&-1,g3=y3+S3|0,q3=(K5|0)/2&-1,l6=g3+q3|0,d3=t+20|0,k6=e[d3>>2]|0,v6=(k6|0)<(l6|0),v6)return a=0,a|0;if(B6=n+84|0,X3=e[B6>>2]|0,c6=(X3|0)==0,!c6)for(I9=X3;p6=I9+4|0,x6=e[p6>>2]|0,Y6=e[I9>>2]|0,I2(Y6),I2(I9),C6=(x6|0)==0,!C6;)I9=x6;b3=n+80|0,e6=e[b3>>2]|0,t6=(e6|0)==0,t6||(H3=n+68|0,D3=e[H3>>2]|0,Y3=n+76|0,Z3=e[Y3>>2]|0,b6=Z3+e6|0,A6=qi(D3,b6)|0,e[H3>>2]=A6,t3=e[b3>>2]|0,O6=e[Y3>>2]|0,s3=O6+t3|0,e[Y3>>2]=s3,e[b3>>2]=0),a6=n+72|0,e[a6>>2]=0,e[B6>>2]=0,_3=t+36|0,N6=e[_3>>2]|0,n6=n+24|0,e[n6>>2]=N6,Q6=e[w>>2]|0,L6=n+28|0,e[L6>>2]=Q6,K6=e[u>>2]|0,I6=n+32|0,e[I6>>2]=K6,J6=(Q6|0)==0;do if(J6)if(s9=cS(t)|0,R6=(s9|0)==0,U6=Z0+8|0,R6){e[U6>>2]=1;break}else{e[U6>>2]=0;break}else if(F3=(N6|0)==0,j6=(K6|0)==0,N9=F3|j6,e9=Z0+8|0,N9){e[e9>>2]=0;break}else{e[e9>>2]=1;break}while(!1);D6=n+64|0,e[D6>>2]=t,z6=t+64|0,y6=z6,F6=y6,M3=e[F6>>2]|0,M6=y6+4|0,A9=M6,X6=e[A9>>2]|0,u9=Zs(M3|0,X6|0,1,0)|0,f9=H6,d9=z6,a9=d9,e[a9>>2]=u9,$9=d9+4|0,T9=$9,e[T9>>2]=f9,E6=n+56|0,T6=E6,y=T6,e[y>>2]=M3,D=T6+4|0,Q=D,e[Q>>2]=X6,_=t+56|0,L=_,x=L,R=e[x>>2]|0,M=L+4|0,T=M,N=e[T>>2]|0,O=n+48|0,z=O,Y=z,e[Y>>2]=R,t0=z+4|0,J=t0,e[J>>2]=N,W=e[w>>2]|0,e0=k5+(W<<2)|0,q=e[e0>>2]|0,X=n+36|0,e[X>>2]=q,U=Z0+4|0,Z=+s[U>>2],K=+s[d6>>2],a0=Z>K,a0?(s[d6>>2]=Z,s0=Z):s0=K,i0=+GS(s0,t),s[d6>>2]=i0,s[U>>2]=i0,r0=b+4|0,V=e[r0>>2]|0,h0=V<<2,o0=h0+7|0,g0=o0&-8,l0=e[a6>>2]|0,u0=g0+l0|0,d0=n+76|0,w0=e[d0>>2]|0,C0=(u0|0)>(w0|0),k0=n+68|0,f0=e[k0>>2]|0,C0?(B0=(f0|0)==0,B0||(p0=f0,I0=S9(8)|0,K0=e[b3>>2]|0,_0=K0+l0|0,e[b3>>2]=_0,Q0=e[B6>>2]|0,F0=I0+4|0,e[F0>>2]=Q0,e[I0>>2]=p0,e[B6>>2]=I0),e[d0>>2]=g0,M0=S9(g0)|0,e[k0>>2]=M0,e[a6>>2]=0,c=e[r0>>2]|0,U0=M0,y0=0,T0=c,G0=g0):(U0=f0,y0=l0,T0=V,G0=w0),N0=U0+y0|0,Y0=y0+g0|0,e[a6>>2]=Y0,e[n>>2]=N0,R0=T0<<2,V0=R0+7|0,J0=V0&-8,P0=J0+Y0|0,z0=(P0|0)>(G0|0),z0?(O0=(U0|0)==0,O0||(r1=U0,H0=S9(8)|0,e1=e[b3>>2]|0,i1=e1+Y0|0,e[b3>>2]=i1,c1=e[B6>>2]|0,$1=H0+4|0,e[$1>>2]=c1,e[H0>>2]=r1,e[B6>>2]=H0),e[d0>>2]=J0,f1=S9(J0)|0,e[k0>>2]=f1,e[a6>>2]=0,E=e[r0>>2]|0,l1=f1,s1=0,n1=E,O5=J0):(l1=U0,s1=Y0,n1=T0,O5=G0),g1=l1+s1|0,a1=s1+J0|0,e[a6>>2]=a1,e[Z0>>2]=g1,o1=(n1|0)>0;e:do if(o1)for(I1=t+8|0,Q1=a1,x1=O5,S1=l1,i9=0;;){if(h1=e[X>>2]|0,m1=h1+D0|0,d1=m1<<2,E1=d1+7|0,B1=E1&-8,p1=B1+Q1|0,_1=(p1|0)>(x1|0),_1?(L1=(S1|0)==0,L1||(F1=S1,G1=S9(8)|0,k1=e[b3>>2]|0,U1=k1+Q1|0,e[b3>>2]=U1,Z1=e[B6>>2]|0,N1=G1+4|0,e[N1>>2]=Z1,e[G1>>2]=F1,e[B6>>2]=G1),e[d0>>2]=B1,b1=S9(B1)|0,e[k0>>2]=b1,e[a6>>2]=0,q1=b1,H1=0):(q1=S1,H1=Q1),V1=q1+H1|0,Y1=H1+B1|0,e[a6>>2]=Y1,j1=e[Z0>>2]|0,n2=j1+(i9<<2)|0,e[n2>>2]=V1,W1=e[Z0>>2]|0,P1=W1+(i9<<2)|0,c2=e[P1>>2]|0,z1=e[I1>>2]|0,u2=z1+(i9<<2)|0,A2=e[u2>>2]|0,s4(c2|0,A2|0,d1|0)|0,K1=e[Z0>>2]|0,h2=K1+(i9<<2)|0,$2=e[h2>>2]|0,i2=$2+(D0<<2)|0,l2=e[n>>2]|0,r2=l2+(i9<<2)|0,e[r2>>2]=i2,a2=i9+1|0,X1=e[r0>>2]|0,s2=(a2|0)<(X1|0),!s2)break e;I=e[a6>>2]|0,m=e[d0>>2]|0,p=e[k0>>2]|0,Q1=I,x1=m,S1=p,i9=a2}while(!1);if(e2=e[f2>>2]|0,y2=(e2|0)==0,!y2&&(v2=e[G6>>2]|0,w2=(v2|0)<(e2|0),!w2))return e[f2>>2]=-1,C2=n+44|0,e[C2>>2]=1,a=1,a|0;if(F2=k5+4|0,D2=e[F2>>2]|0,N2=(D2|0)/2&-1,d2=g3-N2|0,K2=(d2|0)>0,!K2)return a=1,a|0;if(H2=e[S6>>2]|0,gS(H2,d2),M2=e[d3>>2]|0,P2=M2-d2|0,e[d3>>2]=P2,z2=e[r0>>2]|0,o5=(z2|0)>0,o5&&(O2=t+8|0,T1=e[O2>>2]|0,X2=e[T1>>2]|0,L5=X2+(d2<<2)|0,e5=P2<<2,jA(X2|0,L5|0,e5|0)|0,Z2=e[r0>>2]|0,f5=(Z2|0)>1,f5))for(l5=1;B=e[d3>>2]|0,v5=e[O2>>2]|0,P5=v5+(l5<<2)|0,k2=e[P5>>2]|0,m5=k2+(d2<<2)|0,n5=B<<2,jA(k2|0,m5|0,n5|0)|0,x2=l5+1|0,_2=e[r0>>2]|0,C5=(x2|0)<(_2|0),C5;)l5=x2;return R5=e[w>>2]|0,e[_3>>2]=R5,d5=e[u>>2]|0,e[w>>2]=d5,e[G6>>2]=N2,D5=e[f2>>2]|0,G5=(D5|0)==0,G5?(u3=(d2|0)<0,p3=u3<<31>>31,G3=_,z5=G3,w3=e[z5>>2]|0,W5=G3+4|0,i6=W5,L3=e[i6>>2]|0,U3=Zs(w3|0,L3|0,d2|0,p3|0)|0,a3=H6,l3=_,c3=l3,e[c3>>2]=U3,H5=l3+4|0,U5=H5,e[U5>>2]=a3,a=1,a|0):(_5=D5-d2|0,q2=(_5|0)<1,A=q2?-1:_5,e[f2>>2]=A,I5=(A|0)>(N2|0),I5?($5=(d2|0)<0,L2=$5<<31>>31,Q5=_,q5=Q5,j5=e[q5>>2]|0,E5=Q5+4|0,h3=E5,J5=e[h3>>2]|0,X5=Zs(j5|0,J5|0,d2|0,L2|0)|0,n3=H6,m3=_,F5=m3,e[F5>>2]=X5,V5=m3+4|0,k3=V5,e[k3>>2]=n3,a=1,a|0):(A5=A+d2|0,c5=A5-N2|0,M1=(c5|0)<0,S5=M1<<31>>31,g5=_,a5=g5,W2=e[a5>>2]|0,g2=g5+4|0,p5=g2,t5=e[p5>>2]|0,s5=Zs(W2|0,t5|0,c5|0,S5|0)|0,h5=H6,u5=_,i5=u5,e[i5>>2]=s5,x5=u5+4|0,j2=x5,e[j2>>2]=h5,a=1,a|0))}function rS(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0;if(i5=C,p=n+28|0,B=e[p>>2]|0,p1=(B|0)==0,p1||(Z1=B+8|0,P1=e[Z1>>2]|0,l2=(P1|0)<1,l2)||(F2=e[B>>2]|0,O2=(F2|0)<64,O2)||(k2=B+4|0,_5=e[k2>>2]|0,S=(_5|0)<(F2|0),S))return a=1,a|0;T=B+3656|0,X=e[T>>2]|0,J2=t,x5=J2+112|0;do e[J2>>2]=0,J2=J2+4|0;while((J2|0)<(x5|0));o0=n4(1,136)|0,p0=t+104|0,e[p0>>2]=o0,Y0=t+4|0,e[Y0>>2]=n,H0=e[Z1>>2]|0,n1=H0+-1|0,E1=Tt(n1)|0,B1=o0+44|0,e[B1>>2]=E1,Q1=n4(1,4)|0,_1=o0+12|0,e[_1>>2]=Q1,x1=n4(1,4)|0,w1=o0+16|0,e[w1>>2]=x1,S1=n4(1,20)|0,e[Q1>>2]=S1,L1=n4(1,20)|0,e[x1>>2]=L1,F1=e[B>>2]|0,G1=F1>>X,dB(S1,G1),k1=e[w1>>2]|0,U1=e[k1>>2]|0,N1=e[k2>>2]|0,b1=N1>>X,dB(U1,b1),V1=e[B>>2]|0,O1=Tt(V1)|0,q1=O1+-7|0,H1=o0+4|0,e[H1>>2]=q1,Y1=e[k2>>2]|0,j1=Tt(Y1)|0,n2=j1+-7|0,W1=o0+8|0,e[W1>>2]=n2,c2=(A|0)==0;e:do if(c2){if(B2=B+2848|0,C5=e[B2>>2]|0,R5=(C5|0)==0,R5&&(d5=B+24|0,D5=e[d5>>2]|0,G5=n4(D5,56)|0,e[B2>>2]=G5,q2=e[d5>>2]|0,I5=(q2|0)>0,I5)){for(m1=q2,p5=0;;){if(A5=(B+1824|0)+(p5<<2)|0,c5=e[A5>>2]|0,B5=(c5|0)==0,B5){M1=m1;break}if(g5=e[B2>>2]|0,a5=g5+(p5*56|0)|0,W2=sb(a5,c5)|0,b=(W2|0)==0,!b){u5=20;break}if(w=e[A5>>2]|0,EB(w),e[A5>>2]=0,y=p5+1|0,D=e[d5>>2]|0,Q=(y|0)<(D|0),Q)m1=D,p5=y;else break e}if((u5|0)==20&&(I=e[d5>>2]|0,M1=I),S5=(M1|0)>0,S5)for(d1=M1,h5=0;s1=(B+1824|0)+(h5<<2)|0,a1=e[s1>>2]|0,o1=(a1|0)==0,o1?h1=d1:(EB(a1),e[s1>>2]=0,m=e[d5>>2]|0,h1=m),Z0=h5+1|0,I1=(Z0|0)<(h1|0),I1;)d1=h1,h5=Z0;return sQ(t),a=-1,a|0}}else{if(z1=o0+20|0,u2=e[B>>2]|0,QQ(z1,u2),o2=o0+32|0,E2=e[k2>>2]|0,QQ(o2,E2),A2=B+2848|0,K1=e[A2>>2]|0,h2=(K1|0)==0,h2&&($2=B+24|0,i2=e[$2>>2]|0,r2=n4(i2,56)|0,e[A2>>2]=r2,a2=e[$2>>2]|0,X1=(a2|0)>0,X1&&(s2=B+1824|0,f2=e[s2>>2]|0,pQ(r2,f2)|0,e2=e[$2>>2]|0,y2=(e2|0)>1,y2)))for(w2=1;c=e[A2>>2]|0,v2=c+(w2*56|0)|0,C2=(B+1824|0)+(w2<<2)|0,D2=e[C2>>2]|0,pQ(v2,D2)|0,N2=w2+1|0,d2=e[$2>>2]|0,K2=(N2|0)<(d2|0),K2;)w2=N2;G2=B+28|0,H2=e[G2>>2]|0,M2=n4(H2,52)|0,P2=o0+56|0,e[P2>>2]=M2,z2=e[G2>>2]|0,o5=(z2|0)>0;t:do if(o5)for(T1=B+2868|0,X2=n+8|0,e5=M2,g2=0;;){if(L5=e5+(g2*52|0)|0,b5=(B+2852|0)+(g2<<2)|0,Z2=e[b5>>2]|0,f5=e[Z2>>2]|0,v5=B+(f5<<2)|0,P5=e[v5>>2]|0,l5=(P5|0)/2&-1,m5=e[X2>>2]|0,NS(L5,Z2,T1,l5,m5),n5=g2+1|0,x2=e[G2>>2]|0,_2=(n5|0)<(x2|0),!_2)break t;u=e[P2>>2]|0,e5=u,g2=n5}while(!1);e[t>>2]=1}while(!1);if(_=e[k2>>2]|0,L=t+16|0,e[L>>2]=_,x=n+4|0,R=e[x>>2]|0,M=R<<2,N=S9(M)|0,G=t+8|0,e[G>>2]=N,O=S9(M)|0,z=t+12|0,e[z>>2]=O,Y=(R|0)>0,Y&&(t0=n4(_,4)|0,e[N>>2]=t0,J=(R|0)>1,J))for(q=1;E=e[G>>2]|0,W=n4(_,4)|0,e0=E+(q<<2)|0,e[e0>>2]=W,U=q+1|0,$0=(U|0)<(R|0),$0;)q=U;if(Z=t+36|0,e[Z>>2]=0,K=t+40|0,e[K>>2]=0,a0=e[k2>>2]|0,s0=(a0|0)/2&-1,i0=t+48|0,e[i0>>2]=s0,r0=t+20|0,e[r0>>2]=s0,V=B+16|0,h0=e[V>>2]|0,g0=n4(h0,4)|0,j=o0+48|0,e[j>>2]=g0,l0=B+20|0,u0=e[l0>>2]|0,d0=n4(u0,4)|0,w0=o0+52|0,e[w0>>2]=d0,C0=e[V>>2]|0,k0=(C0|0)>0,k0)for(t5=0;I0=(B+800|0)+(t5<<2)|0,S0=e[I0>>2]|0,K0=25640+(S0<<2)|0,_0=e[K0>>2]|0,Q0=_0+8|0,F0=e[Q0>>2]|0,M0=(B+1056|0)+(t5<<2)|0,N0=e[M0>>2]|0,U0=f7[F0&15](t,N0)|0,y0=e[j>>2]|0,R0=y0+(t5<<2)|0,e[R0>>2]=U0,D0=t5+1|0,T0=e[V>>2]|0,V0=(D0|0)<(T0|0),V0;)t5=D0;if(f0=e[l0>>2]|0,B0=(f0|0)>0,B0)s5=0;else return a=0,a|0;for(;;)if(J0=(B+1312|0)+(s5<<2)|0,P0=e[J0>>2]|0,z0=25648+(P0<<2)|0,G0=e[z0>>2]|0,O0=G0+8|0,r1=e[O0>>2]|0,e1=(B+1568|0)+(s5<<2)|0,b0=e[e1>>2]|0,i1=f7[r1&15](t,b0)|0,c1=e[w0>>2]|0,$1=c1+(s5<<2)|0,e[$1>>2]=i1,f1=s5+1|0,g1=e[l0>>2]|0,l1=(f1|0)<(g1|0),l1)s5=f1;else{a=0;break}return a|0}function aQ(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0;if(_0=C,C=C+64|0,c=_0,u=t+20|0,Q=e[u>>2]|0,Y=Q<<2,n=Y,a0=C,C=C+((1*n|0)+15&-16)|0,d0=t+28|0,e[d0>>2]=1,C0=t+48|0,k0=e[C0>>2]|0,f0=Q-k0|0,B0=(f0|0)>32,!B0){C=_0;return}if(E=t+4|0,I=e[E>>2]|0,m=I+4|0,p=e[m>>2]|0,B=(p|0)>0,!B){C=_0;return}for(S=t+8|0,b=Q,p0=0;;){if(w=(b|0)>0,w)for(y=e[S>>2]|0,D=y+(p0<<2)|0,_=e[D>>2]|0,I0=0;L=I0^-1,x=b+L|0,R=_+(x<<2)|0,M=e[R>>2]|0,T=a0+(I0<<2)|0,e[T>>2]=M,N=I0+1|0,G=(b|0)>(N|0),G;)I0=N;if(O=e[C0>>2]|0,z=b-O|0,+$Q(a0,c,z,16),t0=e[u>>2]|0,J=e[C0>>2]|0,A=t0-J|0,W=a0+(A<<2)|0,a=A+-16|0,e0=a0+(a<<2)|0,lQ(c,e0,16,W,J),q=e[u>>2]|0,X=(q|0)>0,X)for(U=e[S>>2]|0,$0=U+(p0<<2)|0,Z=e[$0>>2]|0,S0=0;K=a0+(S0<<2)|0,s0=e[K>>2]|0,i0=S0^-1,r0=q+i0|0,V=Z+(r0<<2)|0,e[V>>2]=s0,h0=S0+1|0,o0=(q|0)>(h0|0),o0;)S0=h0;if(g0=p0+1|0,j=e[E>>2]|0,l0=j+4|0,u0=e[l0>>2]|0,w0=(g0|0)<(u0|0),w0)b=q,p0=g0;else break}C=_0}function nS(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0;a2=C,U2(n,5653314,24),E=e[t>>2]|0,U2(n,E,16),I=t+4|0,G=e[I>>2]|0,U2(n,G,24),$0=e[I>>2]|0,j=($0|0)>1;e:do if(j)for(S0=t+8|0,D0=e[S0>>2]|0,c=d[D0>>0]|0,b0=c,P1=1;;){if(Z0=b0<<24>>24==0,Z0){W1=P1;break e}if(w1=D0+P1|0,m=d[w1>>0]|0,D=m<<24>>24>24,D){W1=P1;break e}if(Q=P1+1|0,_=(Q|0)<($0|0),_)b0=m,P1=Q;else{W1=Q;break}}else W1=1;while(!1);L=(W1|0)==($0|0);e:do if(L){if(U2(n,1,1),x=t+8|0,R=e[x>>2]|0,M=d[R>>0]|0,T=M<<24>>24,N=T+-1|0,U2(n,N,5),O=e[I>>2]|0,z=(O|0)>1,z)for(y=O,q1=0,z1=1;;){if(Y=e[x>>2]|0,t0=Y+z1|0,J=d[t0>>0]|0,W=z1+-1|0,e0=Y+W|0,q=d[e0>>0]|0,X=J<<24>>24>q<<24>>24,X)for(U=q<<24>>24,Z=J<<24>>24,s0=y,H1=q1,$2=U;;)if(K=z1-H1|0,a0=s0-H1|0,i0=Tt(a0)|0,U2(n,K,i0),r0=$2+1|0,n2=(r0|0)==(Z|0),u=e[I>>2]|0,n2){o0=u,Y1=z1;break}else s0=u,H1=z1,$2=r0;else o0=y,Y1=q1;if(V=z1+1|0,h0=(V|0)<(o0|0),h0)y=o0,q1=Y1,z1=V;else{a=o0,O1=Y1,c2=V;break}}else a=O,O1=0,c2=1;g0=c2-O1|0,l0=a-O1|0,u0=Tt(l0)|0,U2(n,g0,u0)}else{U2(n,0,1),d0=e[I>>2]|0,w0=(d0|0)>0;t:do if(w0)for(C0=t+8|0,k0=e[C0>>2]|0,o2=0;;){if(f0=k0+o2|0,B0=d[f0>>0]|0,p0=B0<<24>>24==0,p0){u2=o2;break t}if(I0=o2+1|0,K0=(I0|0)<(d0|0),K0)o2=I0;else{u2=I0;break}}else u2=0;while(!1);if(_0=(u2|0)==(d0|0),_0){if(U2(n,0,1),Q0=e[I>>2]|0,F0=(Q0|0)>0,!F0)break;for(M0=t+8|0,E2=0;;)if(N0=e[M0>>2]|0,U0=N0+E2|0,y0=d[U0>>0]|0,Y0=y0<<24>>24,R0=Y0+-1|0,U2(n,R0,5),T0=E2+1|0,V0=e[I>>2]|0,J0=(T0|0)<(V0|0),J0)E2=T0;else break e}if(U2(n,1,1),P0=e[I>>2]|0,z0=(P0|0)>0,z0)for(G0=t+8|0,A2=0;O0=e[G0>>2]|0,r1=O0+A2|0,H0=d[r1>>0]|0,e1=H0<<24>>24==0,e1?U2(n,0,1):(U2(n,1,1),i1=e[G0>>2]|0,c1=i1+A2|0,$1=d[c1>>0]|0,f1=$1<<24>>24,g1=f1+-1|0,U2(n,g1,5)),l1=A2+1|0,s1=e[I>>2]|0,a1=(l1|0)<(s1|0),a1;)A2=l1}while(!1);if(n1=t+12|0,o1=e[n1>>2]|0,U2(n,o1,4),I1=e[n1>>2]|0,(I1|0)==2|(I1|0)==1)r2=28;else if(I1|0)return A=-1,A|0;do if((r2|0)==28){if(h1=t+32|0,m1=e[h1>>2]|0,d1=(m1|0)==0,d1)return A=-1,A|0;if(E1=t+16|0,B1=e[E1>>2]|0,U2(n,B1,32),p1=t+20|0,Q1=e[p1>>2]|0,U2(n,Q1,32),_1=t+24|0,x1=e[_1>>2]|0,S1=x1+-1|0,U2(n,S1,4),L1=t+28|0,F1=e[L1>>2]|0,U2(n,F1,1),G1=e[n1>>2]|0,(G1|0)==1)k1=ib(t)|0,l2=k1;else if((G1|0)==2)U1=e[I>>2]|0,Z1=e[t>>2]|0,N1=r5(Z1,U1)|0,l2=N1;else break;if(b1=(l2|0)>0,b1)for(K1=0;V1=e[h1>>2]|0,p=V1+(K1<<2)|0,B=e[p>>2]|0,h2=(B|0)>-1,i2=0-B|0,S=h2?B:i2,b=e[_1>>2]|0,U2(n,S,b),w=K1+1|0,j1=(w|0)==(l2|0),!j1;)K1=w}while(!1);return A=0,A|0}function Fh(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0;return z=C,c=(n|0)<0,c||(u=t+12|0,Q=e[u>>2]|0,L=Q+4|0,x=e[L>>2]|0,R=(x|0)>(n|0),!R)?(a=0,a|0):(M=t+20|0,T=e[M>>2]|0,N=T+(n<<2)|0,G=e[N>>2]|0,E=Q+8|0,I=e[E>>2]|0,m=I+n|0,p=d[m>>0]|0,B=p<<24>>24,U2(A,G,B),S=e[u>>2]|0,b=S+8|0,w=e[b>>2]|0,y=w+n|0,D=d[y>>0]|0,_=D<<24>>24,a=_,a|0)}function jm(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0;return w=C,a=t+8|0,c=e[a>>2]|0,u=(c|0)>0,!u||(E=Mh(t,n)|0,I=(E|0)>-1,!I)?(A=-1,A|0):(m=t+24|0,p=e[m>>2]|0,B=p+(E<<2)|0,S=e[B>>2]|0,A=S,A|0)}function sS(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0;if(j=C,m=t+8|0,p=e[m>>2]|0,R=(p|0)>0,!R)return c=0,C=j,c|0;e0=e[t>>2]|0,X=(a|0)/(e0|0)&-1,U=X<<2,u=U,$0=C,C=C+((1*u|0)+15&-16)|0,Z=(X|0)>0;e:do if(Z){for(K=t+16|0,r0=0;;){if(N=Mh(t,A)|0,G=(N|0)==-1,G){c=-1;break}if(O=e[K>>2]|0,z=e[t>>2]|0,Y=r5(z,N)|0,t0=O+(Y<<2)|0,J=$0+(r0<<2)|0,e[J>>2]=t0,W=r0+1|0,q=(W|0)<(X|0),q)r0=W;else{a0=z;break e}}return C=j,c|0}else a0=e0;while(!1);if(E=(a0|0)<1,I=Z^1,s0=E|I,s0)return c=0,C=j,c|0;for(V=0,o0=0;;){for(h0=0;w=$0+(h0<<2)|0,y=e[w>>2]|0,D=y+(V<<2)|0,Q=+s[D>>2],_=h0+o0|0,L=n+(_<<2)|0,x=+s[L>>2],M=x+Q,s[L>>2]=M,T=h0+1|0,i0=(T|0)==(X|0),!i0;)h0=T;if(B=V+1|0,S=o0+X|0,b=(B|0)<(a0|0),b)V=B,o0=S;else{c=0;break}}return C=j,c|0}function oS(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0;if(X2=C,Y=t+8|0,t0=e[Y>>2]|0,g0=(t0|0)>0,!g0)return c=0,c|0;if(I0=e[t>>2]|0,R0=(I0|0)>8,R0){if(x1=(a|0)>0,!x1)return c=0,c|0;for(V1=t+16|0,X1=0;;){if(Z=Mh(t,A)|0,K=(Z|0)==-1,K){c=-1,T1=29;break}if(a0=e[V1>>2]|0,s0=e[t>>2]|0,i0=r5(s0,Z)|0,r0=(s0|0)>0,r0){for(V=(s0|0)>1,O2=V?s0:1,f2=X1,d2=0;h0=d2+1|0,z=d2+i0|0,o0=a0+(z<<2)|0,j=+s[o0>>2],l0=f2+1|0,u0=n+(f2<<2)|0,d0=+s[u0>>2],w0=d0+j,s[u0>>2]=w0,C0=(h0|0)<(s0|0),C0;)f2=l0,d2=h0;u2=X1+O2|0,s2=u2}else s2=X1;if(J=(s2|0)<(a|0),J)X1=s2;else{c=0,T1=29;break}}if((T1|0)==29)return c|0}if(e1=t+16|0,o1=(a|0)>0,o1)e2=0;else return c=0,c|0;e:for(;;){t:for(;;){if(q=Mh(t,A)|0,X=(q|0)==-1,X){c=-1,T1=29;break e}switch(U=e[e1>>2]|0,$0=e[t>>2]|0,$0|0){case 4:{B=q,Q=U,T1=19;break t}case 3:{S=q,_=U,T1=21;break t}case 7:{I=q,w=U,T1=13;break t}case 6:{m=q,y=U,T1=15;break t}case 8:{u=U,E=q,T1=12;break t}case 5:{p=q,D=U,T1=17;break t}case 1:{K1=q,$2=U,N2=e2,o5=0;break t}case 2:{b=q,L=U,T1=23;break t}default:}}if((T1|0)==12?(T1=0,k0=E<<3,f0=u+(k0<<2)|0,B0=+s[f0>>2],p0=e2+1|0,S0=n+(e2<<2)|0,K0=+s[S0>>2],_0=K0+B0,s[S0>>2]=_0,M0=k0,U0=u,y2=p0,K2=1,T1=14):(T1|0)==13?(T1=0,Q0=I*7|0,M0=Q0,U0=w,y2=e2,K2=0,T1=14):(T1|0)==15?(T1=0,J0=m*6|0,z0=J0,O0=y,v2=e2,G2=0,T1=16):(T1|0)==17?(T1=0,$1=p*5|0,g1=$1,s1=D,w2=e2,H2=0,T1=18):(T1|0)==19?(T1=0,m1=B<<2,E1=m1,p1=Q,C2=e2,M2=0,T1=20):(T1|0)==21?(T1=0,F1=S*3|0,k1=F1,Z1=_,F2=e2,P2=0,T1=22):(T1|0)==23&&(T1=0,Y1=b<<1,n2=Y1,P1=L,D2=e2,z2=0,T1=24),(T1|0)==14&&(T1=0,F0=K2+1|0,O=K2+M0|0,N0=U0+(O<<2)|0,y0=+s[N0>>2],Y0=y2+1|0,D0=n+(y2<<2)|0,T0=+s[D0>>2],V0=T0+y0,s[D0>>2]=V0,z0=M0,O0=U0,v2=Y0,G2=F0,T1=16),(T1|0)==16&&(T1=0,P0=G2+1|0,G=G2+z0|0,G0=O0+(G<<2)|0,r1=+s[G0>>2],H0=v2+1|0,b0=n+(v2<<2)|0,i1=+s[b0>>2],c1=i1+r1,s[b0>>2]=c1,g1=z0,s1=O0,w2=H0,H2=P0,T1=18),(T1|0)==18&&(T1=0,f1=H2+1|0,N=H2+g1|0,l1=s1+(N<<2)|0,a1=+s[l1>>2],n1=w2+1|0,Z0=n+(w2<<2)|0,I1=+s[Z0>>2],h1=I1+a1,s[Z0>>2]=h1,E1=g1,p1=s1,C2=n1,M2=f1,T1=20),(T1|0)==20&&(T1=0,d1=M2+1|0,T=M2+E1|0,B1=p1+(T<<2)|0,Q1=+s[B1>>2],_1=C2+1|0,w1=n+(C2<<2)|0,S1=+s[w1>>2],L1=S1+Q1,s[w1>>2]=L1,k1=E1,Z1=p1,F2=_1,P2=d1,T1=22),(T1|0)==22&&(T1=0,G1=P2+1|0,M=P2+k1|0,U1=Z1+(M<<2)|0,N1=+s[U1>>2],b1=F2+1|0,O1=n+(F2<<2)|0,q1=+s[O1>>2],H1=q1+N1,s[O1>>2]=H1,n2=k1,P1=Z1,D2=b1,z2=G1,T1=24),(T1|0)==24&&(T1=0,j1=z2+1|0,R=z2+n2|0,W1=P1+(R<<2)|0,c2=+s[W1>>2],z1=D2+1|0,o2=n+(D2<<2)|0,E2=+s[o2>>2],A2=E2+c2,s[o2>>2]=A2,K1=n2,$2=P1,N2=z1,o5=j1),x=o5+K1|0,h2=$2+(x<<2)|0,i2=+s[h2>>2],l2=N2+1|0,r2=n+(N2<<2)|0,a2=+s[r2>>2],W=a2+i2,s[r2>>2]=W,e0=(l2|0)<(a|0),e0)e2=l2;else{c=0,T1=29;break}}return(T1|0)==29?c|0:0}function AS(t,n,A,a,c,u){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0,u=u|0;var E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0;if(g0=C,B=t+8|0,S=e[B>>2]|0,T=(S|0)>0,!T||(W=(A|0)/(a|0)&-1,e0=u+A|0,q=(e0|0)/(a|0)&-1,X=(W|0)<(q|0),!X))return I=0,I|0;for(U=t+16|0,K=0,i0=W;;){if(Z=Mh(t,c)|0,b=(Z|0)==-1,b){I=-1,o0=8;break}if(w=e[U>>2]|0,y=e[t>>2]|0,D=r5(y,Z)|0,Q=(y|0)>0,Q)for(s0=K,V=i0,h0=0;;)if(p=h0+D|0,_=w+(p<<2)|0,L=+s[_>>2],x=s0+1|0,R=n+(s0<<2)|0,M=e[R>>2]|0,N=M+(V<<2)|0,G=+s[N>>2],O=G+L,s[N>>2]=O,z=(x|0)==(a|0),Y=z&1,m=Y+V|0,E=z?0:x,t0=h0+1|0,J=(t0|0)<(y|0),J)s0=E,V=m,h0=t0;else{a0=E,r0=m;break}else a0=K,r0=i0;if($0=(r0|0)<(q|0),$0)K=a0,i0=r0;else{I=0,o0=8;break}}return(o0|0)==8?I|0:0}function Mh(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0;h1=C,c=t+40|0,u=e[c>>2]|0,Q=t+36|0,Y=e[Q>>2]|0,a0=gB(n,Y)|0,d0=(a0|0)>-1;do if(d0){if(Q0=t+32|0,J0=e[Q0>>2]|0,c1=J0+(a0<<2)|0,$1=e[c1>>2]|0,E=($1|0)<0,E){I=$1>>>15,m=I&32767,p=t+8|0,B=e[p>>2]|0,S=$1&32767,b=B-S|0,f1=b,l1=m;break}return w=$1+-1|0,y=t+28|0,D=e[y>>2]|0,_=D+w|0,L=d[_>>0]|0,x=L<<24>>24,hB(n,x),A=w,A|0}else R=t+8|0,M=e[R>>2]|0,f1=M,l1=0;while(!1);if(T=gB(n,u)|0,N=(T|0)<0,G=(u|0)>1,O=N&G,O)for(Z0=u;;)if(z=Z0+-1|0,t0=gB(n,z)|0,J=(t0|0)<0,W=(z|0)>1,e0=J&W,e0)Z0=z;else{a=J,n1=t0,o1=z;break}else a=N,n1=T,o1=u;if(a)return A=-1,A|0;if(q=n1>>>16,X=n1<<16,U=q|X,$0=U>>>8,Z=$0&16711935,K=U<<8,s0=K&-16711936,i0=Z|s0,r0=i0>>>4,V=r0&252645135,h0=i0<<4,o0=h0&-252645136,g0=V|o0,j=g0>>>2,l0=j&858993459,u0=g0<<2,w0=u0&-858993460,C0=l0|w0,k0=C0>>>1,f0=k0&1431655765,B0=C0<<1,p0=B0&-1431655766,I0=f0|p0,S0=f1-l1|0,K0=(S0|0)>1,K0)for(_0=t+20|0,F0=e[_0>>2]|0,N0=S0,g1=f1,a1=l1;;)if(M0=N0>>1,U0=M0+a1|0,y0=F0+(U0<<2)|0,Y0=e[y0>>2]|0,R0=Y0>>>0>I0>>>0,D0=R0?0:M0,T0=D0+a1|0,V0=R0?M0:0,P0=g1-V0|0,z0=P0-T0|0,G0=(z0|0)>1,G0)N0=z0,g1=P0,a1=T0;else{s1=T0;break}else s1=l1;return O0=t+28|0,r1=e[O0>>2]|0,H0=r1+s1|0,e1=d[H0>>0]|0,b0=e1<<24>>24,i1=(b0|0)>(o1|0),i1?(hB(n,o1),A=-1,A|0):(hB(n,b0),A=s1,A|0)}function aS(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0;for(c1=C,p=n+28|0,B=e[p>>2]|0,M=n+4|0,q=e[M>>2]|0,h0=t+4|0,e[h0>>2]=128,B0=t+8|0,e[B0>>2]=64,y0=B+2932|0,J0=e[y0>>2]|0,P0=t+12|0,e[P0>>2]=J0,e[t>>2]=q,z0=t+164|0,e[z0>>2]=128,S=B+4|0,b=e[S>>2]|0,w=(b|0)/2&-1,y=t+176|0,e[y>>2]=w,D=n4(128,4)|0,Q=t+36|0,e[Q>>2]=D,_=t+16|0,dB(_,128),L=e[Q>>2]|0,H0=0;x=+(H0|0),R=x*.024736950028266088,T=+Gn(+R),N=T,G=L+(H0<<2)|0,O=N*N,s[G>>2]=O,z=H0+1|0,r1=(z|0)==128,!r1;)H0=z;for(Y=t+40|0,e[Y>>2]=2,t0=t+44|0,e[t0>>2]=4,J=t+56|0,e[J>>2]=4,W=t+60|0,e[W>>2]=5,e0=t+72|0,e[e0>>2]=6,X=t+76|0,e[X>>2]=6,U=t+88|0,e[U>>2]=9,$0=t+92|0,e[$0>>2]=8,Z=t+104|0,e[Z>>2]=13,K=t+108|0,e[K>>2]=8,a0=t+120|0,e[a0>>2]=17,s0=t+124|0,e[s0>>2]=8,i0=t+136|0,e[i0>>2]=22,r0=t+140|0,e[r0>>2]=8,o0=4,b0=0;;){if(V=o0<<2,g0=S9(V)|0,j=((t+40|0)+(b0<<4)|0)+8|0,e[j>>2]=g0,l0=(o0|0)>0,l0){for(u0=+(o0|0),d0=((t+40|0)+(b0<<4)|0)+12|0,m=+s[d0>>2],_0=m,e1=0;;)if(w0=+(e1|0),C0=w0+.5,k0=C0/u0,f0=k0*3.141592653589793,p0=+Gn(+f0),I0=p0,S0=g0+(e1<<2)|0,s[S0>>2]=I0,K0=_0+I0,Q0=e1+1|0,G0=(Q0|0)==(o0|0),G0){A=K0;break}else _0=K0,e1=Q0;s[d0>>2]=A,E=d0,M0=A}else c=((t+40|0)+(b0<<4)|0)+12|0,I=+s[c>>2],E=c,M0=I;if(F0=1/M0,s[E>>2]=F0,N0=b0+1|0,O0=(N0|0)==7,O0)break;a=((t+40|0)+(N0<<4)|0)+4|0,u=e[a>>2]|0,o0=u,b0=N0}U0=q*7|0,Y0=n4(U0,144)|0,R0=t+152|0,e[R0>>2]=Y0,D0=e[z0>>2]|0,T0=n4(D0,4)|0,V0=t+160|0,e[V0>>2]=T0}function $S(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0;N=C,n=t+16|0,IB(n),A=t+48|0,w=e[A>>2]|0,I2(w),D=t+64|0,Q=e[D>>2]|0,I2(Q),_=t+80|0,L=e[_>>2]|0,I2(L),x=t+96|0,R=e[x>>2]|0,I2(R),M=t+112|0,a=e[M>>2]|0,I2(a),c=t+128|0,u=e[c>>2]|0,I2(u),E=t+144|0,I=e[E>>2]|0,I2(I),m=t+36|0,p=e[m>>2]|0,I2(p),B=t+152|0,S=e[B>>2]|0,I2(S),b=t+160|0,y=e[b>>2]|0,I2(y),ae(t|0,0,180)|0}function lS(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0;if(j1=C,u=t+4|0,E=e[u>>2]|0,R=E+28|0,e0=e[R>>2]|0,V=e0+2868|0,f0=t+104|0,U0=e[f0>>2]|0,O0=e[U0>>2]|0,s1=O0+168|0,p1=e[s1>>2]|0,I=O0+8|0,S=e[I>>2]|0,b=(p1|0)/(S|0)&-1,w=t+20|0,y=e[w>>2]|0,D=(y|0)/(S|0)&-1,Q=D+-4|0,_=(b|0)<0,n=_?0:b,L=D+2|0,x=O0+164|0,M=e[x>>2]|0,T=(L|0)>(M|0),T&&(e[x>>2]=L,N=O0+160|0,G=e[N>>2]|0,O=L<<2,z=qi(G,O)|0,e[N>>2]=z),Y=(n|0)<(Q|0),Y)for(t0=O0+156|0,J=O0+160|0,W=t+8|0,q=O0+40|0,X=O0+152|0,b1=n;;){if(U=e[t0>>2]|0,$0=U+1|0,Z=(U|0)>23,a=Z?24:$0,e[t0>>2]=a,K=e[O0>>2]|0,a0=(K|0)>0,a0){for(N1=0,H1=0;;)if(h0=e[W>>2]|0,o0=h0+(N1<<2)|0,g0=e[o0>>2]|0,j=e[I>>2]|0,l0=r5(j,b1)|0,u0=g0+(l0<<2)|0,d0=e[X>>2]|0,w0=N1*7|0,C0=d0+(w0*144|0)|0,k0=hS(O0,V,u0,q,C0)|0,B0=k0|H1,p0=N1+1|0,I0=e[O0>>2]|0,S0=(p0|0)<(I0|0),S0)N1=p0,H1=B0;else{c=B0;break}K0=b1+2|0,_0=e[J>>2]|0,Q0=_0+(K0<<2)|0,e[Q0>>2]=0,F0=c&1,M0=(F0|0)==0,M0||(N0=_0+(b1<<2)|0,e[N0>>2]=1,y0=b1+1|0,Y0=_0+(y0<<2)|0,e[Y0>>2]=1),R0=c&2,D0=(R0|0)==0,D0||(T0=_0+(b1<<2)|0,e[T0>>2]=1,V0=(b1|0)>0,V0&&(J0=b1+-1|0,P0=_0+(J0<<2)|0,e[P0>>2]=1)),z0=c&4,G0=(z0|0)==0,G0||(e[t0>>2]=-1)}else s0=b1+2|0,i0=e[J>>2]|0,r0=i0+(s0<<2)|0,e[r0>>2]=0;if(r1=b1+1|0,Z1=(r1|0)==(Q|0),Z1)break;b1=r1}if(H0=e[I>>2]|0,e1=r5(H0,Q)|0,e[s1>>2]=e1,b0=t+48|0,i1=e[b0>>2]|0,c1=t+40|0,$1=e[c1>>2]|0,f1=e0+($1<<2)|0,g1=e[f1>>2]|0,l1=(g1|0)/4&-1,a1=l1+i1|0,n1=e0+4|0,o1=e[n1>>2]|0,Z0=(o1|0)/2&-1,I1=a1+Z0|0,h1=e[e0>>2]|0,m1=(h1|0)/4&-1,d1=I1+m1|0,E1=O0+176|0,B1=e[E1>>2]|0,Q1=e1-H0|0,_1=(B1|0)<(Q1|0),!_1)return A=-1,A|0;for(x1=O0+160|0,V1=B1;;){if(L1=(V1|0)<(d1|0),!L1){A=1,Y1=22;break}if(e[E1>>2]=V1,F1=(V1|0)/(H0|0)&-1,G1=e[x1>>2]|0,k1=G1+(F1<<2)|0,U1=e[k1>>2]|0,m=(U1|0)!=0,p=(V1|0)>(i1|0),q1=p&m,w1=H0+V1|0,q1){O1=V1,Y1=21;break}if(S1=(w1|0)<(Q1|0),S1)V1=w1;else{A=-1,Y1=22;break}}return(Y1|0)==21?(B=O0+172|0,e[B>>2]=O1,A=0,A|0):(Y1|0)==22?A|0:0}function cS(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0;if(B0=C,c=t+104|0,u=e[c>>2]|0,Q=e[u>>2]|0,Y=t+4|0,a0=e[Y>>2]|0,o0=a0+28|0,g0=e[o0>>2]|0,j=t+48|0,l0=e[j>>2]|0,u0=t+40|0,E=e[u0>>2]|0,I=g0+(E<<2)|0,m=e[I>>2]|0,p=(m|0)/4&-1,B=l0-p|0,S=p+l0|0,b=(E|0)==0,b?(G=e[g0>>2]|0,O=(G|0)/4&-1,A=O,a=O):(w=t+36|0,y=e[w>>2]|0,D=g0+(y<<2)|0,_=e[D>>2]|0,L=(_|0)/4&-1,x=t+44|0,R=e[x>>2]|0,M=g0+(R<<2)|0,T=e[M>>2]|0,N=(T|0)/4&-1,A=N,a=L),d0=B-a|0,w0=S+A|0,z=Q+172|0,t0=e[z>>2]|0,J=(t0|0)>=(d0|0),W=(t0|0)<(w0|0),k0=J&W,k0)return n=1,n|0;if(e0=Q+8|0,q=e[e0>>2]|0,X=(d0|0)/(q|0)&-1,U=(w0|0)/(q|0)&-1,$0=(X|0)<(U|0),!$0)return n=0,n|0;for(Z=Q+160|0,K=e[Z>>2]|0,C0=X;;){if(r0=K+(C0<<2)|0,V=e[r0>>2]|0,h0=(V|0)==0,s0=C0+1|0,!h0){n=1,f0=9;break}if(i0=(s0|0)<(U|0),i0)C0=s0;else{n=0,f0=9;break}}return(f0|0)==9?n|0:0}function gS(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0;if(G=C,A=t+168|0,a=e[A>>2]|0,y=t+8|0,Q=e[y>>2]|0,_=(a|0)/(Q|0)&-1,L=_+2|0,x=(n|0)/(Q|0)&-1,R=t+160|0,M=e[R>>2]|0,T=M+(x<<2)|0,c=L-x|0,u=c<<2,jA(M|0,T|0,u|0)|0,E=e[A>>2]|0,I=E-n|0,e[A>>2]=I,m=t+172|0,p=e[m>>2]|0,B=(p|0)>-1,!B){b=t+176|0,w=e[b>>2]|0,D=w-n|0,e[b>>2]=D;return}S=p-n|0,e[m>>2]=S,b=t+176|0,w=e[b>>2]|0,D=w-n|0,e[b>>2]=D}function hS(t,n,A,a,c){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0;var u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,k3=0,u3=0,p3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0,l6=0,d3=0;if(d3=C,Y=t+4|0,t0=e[Y>>2]|0,l2=t+12|0,F2=+s[l2>>2],O2=t0<<2,_=O2,k2=C,C=C+((1*_|0)+15&-16)|0,_5=t+156|0,g2=e[_5>>2]|0,L2=(g2|0)>5,F5=(g2|0)/2&-1,u=L2?F5:2,J=n+60|0,i0=+s[J>>2],C0=F5+-2|0,M0=+(C0|0),z0=i0-M0,g1=z0<0,u6=g1?0:z0,E1=u6>i0,Q3=E1?i0:u6,k1=(t0|0)>0,k1)for(n2=t+36|0,$2=e[n2>>2]|0,O5=0;r2=A+(O5<<2)|0,a2=+s[r2>>2],X1=$2+(O5<<2)|0,s2=+s[X1>>2],f2=s2*a2,e2=k2+(O5<<2)|0,s[e2>>2]=f2,y2=O5+1|0,C3=(y2|0)==(t0|0),!C3;)O5=y2;v2=t+16|0,cQ(v2,k2,k2),w2=+s[k2>>2],C2=w2*w2,D2=C2,N2=k2+4|0,d2=+s[N2>>2],K2=d2,G2=K2*K2,H2=G2*.7,M2=H2+D2,P2=k2+8|0,z2=+s[P2>>2],o5=z2,T1=o5*o5,X2=T1*.2,L5=M2+X2,e5=L5,b5=c+140|0,Z2=e[b5>>2]|0,f5=(Z2|0)==0,f5?(v5=c+136|0,P5=+s[v5>>2],l5=P5+e5,m5=c+132|0,s[m5>>2]=l5,s[v5>>2]=e5,T=m5,q2=l5):(n5=c+132|0,x2=+s[n5>>2],_2=x2+e5,s[n5>>2]=_2,B2=c+136|0,C5=+s[B2>>2],R5=C5+e5,s[B2>>2]=R5,T=n5,q2=_2),d5=(c+72|0)+(Z2<<2)|0,D5=+s[d5>>2],G5=q2-D5,s[T>>2]=G5,s[d5>>2]=e5,I5=e[b5>>2]|0,A5=I5+1|0,c5=(I5|0)>13,E=c5?0:A5,e[b5>>2]=E,B5=(t0|0)/2&-1,M1=(t0|0)>1;e:do if(M1)for(S5=q2*.0625,g5=(s[p2>>2]=S5,e[p2>>2]|0),a5=g5&2147483647,W2=+(a5>>>0),p5=W2*7177114298428933e-22,t5=p5+-764.6162109375,s5=t5,h5=s5*.5,J2=h5+-15,u5=J2,L=u5,F0=w2,k5=0;;){if(Q0=F0*F0,N0=k5|1,U0=k2+(N0<<2)|0,y0=+s[U0>>2],Y0=y0*y0,R0=Y0+Q0,D0=(s[p2>>2]=R0,e[p2>>2]|0),T0=D0&2147483647,V0=+(T0>>>0),J0=V0*35885571492144663e-23,P0=J0+-382.30810546875,G0=P0>1,H0=k2+(r1<<2)|0,s[H0>>2]=z,e1=k5+2|0,b0=(e1|0)<(B5|0),!b0)break e;i1=L+-8,R=k2+(e1<<2)|0,M=+s[R>>2],L=i1,F0=M,k5=e1}while(!1);if(i5=(u|0)>0,i5)A3=0,O3=0;else{for(e3=0,j3=0;;){if(c1=(a+(e3<<4)|0)+4|0,$1=e[c1>>2]|0,f1=($1|0)>0,f1)for(l1=a+(e3<<4)|0,s1=e[l1>>2]|0,a1=(a+(e3<<4)|0)+8|0,n1=e[a1>>2]|0,a3=0,P3=0;;)if(o1=s1+P3|0,Z0=k2+(o1<<2)|0,I1=+s[Z0>>2],h1=n1+(P3<<2)|0,m1=+s[h1>>2],d1=m1*I1,B1=d1+a3,p1=P3+1|0,Q1=(p1|0)<($1|0),Q1)a3=B1,P3=p1;else{L3=B1;break}else L3=0;if(_1=(a+(e3<<4)|0)+12|0,x1=+s[_1>>2],w1=x1*L3,S1=(c+(e3*144|0)|0)+68|0,L1=e[S1>>2]|0,F1=(L1|0)<1,p=F1?16:-1,I=p+L1|0,G1=(c+(e3*144|0)|0)+(I<<2)|0,U1=+s[G1>>2],Z1=w1U1,S=b1?U1:w1,V1=S+-99999,O1=N1+99999,q1=(c+(e3*144|0)|0)+(L1<<2)|0,s[q1>>2]=w1,H1=e[S1>>2]|0,Y1=H1+1|0,j1=(H1|0)>15,D=j1?0:Y1,e[S1>>2]=D,W1=(n+4|0)+(e3<<2)|0,P1=+s[W1>>2],c2=P1+Q3,z1=O1>c2,u2=j3|5,K5=z1?u2:j3,o2=(n+32|0)+(e3<<2)|0,E2=+s[o2>>2],A2=E2-Q3,K1=V1>2]|0,$5=(j2|0)>0,$5)for(w0=a+(A3<<4)|0,s0=e[w0>>2]|0,k0=(a+(A3<<4)|0)+8|0,o0=e[k0>>2]|0,l3=0,M5=0;;)if(a0=s0+M5|0,r0=k2+(a0<<2)|0,V=+s[r0>>2],h0=o0+(M5<<2)|0,g0=+s[h0>>2],j=g0*V,l0=j+l3,u0=M5+1|0,d0=(u0|0)<(j2|0),d0)l3=l0,M5=u0;else{U3=l0;break}else U3=0;for(f0=(a+(A3<<4)|0)+12|0,B0=+s[f0>>2],h3=B0*U3,X5=(c+(A3*144|0)|0)+68|0,f3=e[X5>>2]|0,p0=(f3|0)<1,B=p0?16:-1,m=B+f3|0,I0=(c+(A3*144|0)|0)+(m<<2)|0,S0=+s[I0>>2],K0=h3S0,b=_0?S0:h3,o6=0,R3=m,v3=-99999,y3=99999;;)if(e0=(R3|0)<1,y=e0?16:-1,w=y+R3|0,q=(c+(A3*144|0)|0)+(w<<2)|0,X=+s[q>>2],U=v3X,N=Z?X:y3,K=o6+1|0,H5=(K|0)==(u|0),H5){x=$0,G=N;break}else o6=K,R3=w,v3=$0,y3=N;if(Q5=b-G,q5=j5-x,E5=(c+(A3*144|0)|0)+(f3<<2)|0,s[E5>>2]=h3,J5=e[X5>>2]|0,n3=J5+1|0,m3=(J5|0)>15,Q=m3?0:n3,e[X5>>2]=Q,V5=(n+4|0)+(A3<<2)|0,k3=+s[V5>>2],u3=k3+Q3,p3=q5>u3,z3=O3|5,S3=p3?z3:O3,G3=(n+32|0)+(A3<<2)|0,z5=+s[G3>>2],w3=z5-Q3,W5=Q5>2]|0,C2=n+1288|0,X3=e[C2>>2]|0,M3=n+1284|0,E6=e[M3>>2]|0,E9=(E6|0)>0,E9){for(u8=0;j4=p4+(u8<<2)|0,e[j4>>2]=-200,Be=u8+1|0,pe=(Be|0)==(E6|0),!pe;)u8=Be;if(E9){for(J3=0;f4=c4+(J3<<2)|0,e[f4>>2]=-200,W=J3+1|0,l4=(W|0)==(E6|0),!l4;)J3=W;if(E9){for(r0=E6<<2,ae(M8|0,0,r0|0)|0,w9=0;k0=De+(w9<<2)|0,e[k0>>2]=1,N0=w9+1|0,Ue=(N0|0)==(E6|0),!Ue;)w9=N0;if(E9){if(l1=E6<<2,ae(Z8|0,-1,l1|0)|0,B1=(E6|0)>1,!B1)return ie=0,C=e4,ie|0;for(U1=X3+-1|0,W1=J+1112|0,i2=E6+-1|0,M=e[n>>2]|0,C4=M,B9=0,Qe=0;;){b4=B9+1|0,D4=n+(b4<<2)|0,L4=e[D4>>2]|0,T4=P6+(B9*56|0)|0,Me=T4,xt=Me+56|0;do e[Me>>2]=0,Me=Me+4|0;while((Me|0)<(xt|0));if(e[T4>>2]=C4,N4=(P6+(B9*56|0)|0)+4|0,e[N4>>2]=L4,U9=(L4|0)<(X3|0),tt=U9?L4:U1,G4=(tt|0)<(C4|0),G4)k8=0,X8=0,b8=0,D8=0,m8=0,Fe=0,it=0,H9=0,V8=0,x8=0,Ht=0,Yt=0;else for(k4=C4,f8=0,Pe=0,q4=0,j9=0,ye=0,A8=0,I3=0,D9=0,$8=0,p9=0,at=0,L8=0;;){a4=a+(k4<<2)|0,O=+s[a4>>2],R4=O*7.314285755157471,u4=R4+1023.5,Ce=~~u4,q9=(Ce|0)>1023,m9=(Ce|0)<0,E=m9?0:Ce,S=q9?1023:E,Ne=(S|0)==0;do if(Ne)q8=f8,i8=Pe,n8=q4,E8=j9,qe=ye,Q4=A8,B8=I3,Y8=D9,Y4=$8,Ve=p9,se=at,K8=L8;else if(Xe=A+(k4<<2)|0,U4=+s[Xe>>2],Ge=+s[W1>>2],P4=Ge+U4,X4=!(P4>=O),X4){le=k4+A8|0,W9=S+L8|0,ce=r5(k4,k4)|0,ge=ce+j9|0,B4=r5(S,S)|0,e0=B4+p9|0,q=r5(S,k4)|0,X=q+D9|0,U=Pe+1|0,q8=f8,i8=U,n8=q4,E8=ge,qe=ye,Q4=le,B8=I3,Y8=X,Y4=$8,Ve=e0,se=at,K8=W9;break}else{be=k4+ye|0,e8=S+at|0,Z9=r5(k4,k4)|0,$e=Z9+q4|0,_6=r5(S,S)|0,O4=_6+$8|0,R9=r5(S,k4)|0,$4=R9+I3|0,_4=f8+1|0,q8=_4,i8=Pe,n8=$e,E8=j9,qe=be,Q4=A8,B8=$4,Y8=D9,Y4=O4,Ve=p9,se=e8,K8=L8;break}while(!1);if($0=k4+1|0,Z=(k4|0)<(tt|0),Z)k4=$0,f8=q8,Pe=i8,q4=n8,j9=E8,ye=qe,A8=Q4,I3=B8,D9=Y8,$8=Y4,p9=Ve,at=se,L8=K8;else{k8=q8,X8=i8,b8=n8,D8=E8,m8=qe,Fe=Q4,it=B8,H9=Y8,V8=Y4,x8=Ve,Ht=se,Yt=K8;break}}if(K=(P6+(B9*56|0)|0)+8|0,e[K>>2]=m8,a0=(P6+(B9*56|0)|0)+12|0,e[a0>>2]=Ht,s0=(P6+(B9*56|0)|0)+16|0,e[s0>>2]=b8,i0=(P6+(B9*56|0)|0)+20|0,e[i0>>2]=V8,V=(P6+(B9*56|0)|0)+24|0,e[V>>2]=it,h0=(P6+(B9*56|0)|0)+28|0,e[h0>>2]=k8,o0=(P6+(B9*56|0)|0)+32|0,e[o0>>2]=Fe,g0=(P6+(B9*56|0)|0)+36|0,e[g0>>2]=Yt,j=(P6+(B9*56|0)|0)+40|0,e[j>>2]=D8,l0=(P6+(B9*56|0)|0)+44|0,e[l0>>2]=x8,u0=(P6+(B9*56|0)|0)+48|0,e[u0>>2]=H9,d0=(P6+(B9*56|0)|0)+52|0,e[d0>>2]=X8,w0=k8+Qe|0,g6=(b4|0)==(i2|0),g6){ut=w0;break}else C4=L4,B9=b4,Qe=w0}}else Ie=9}else Ie=9}else Ie=9}else Ie=9;if((Ie|0)==9){if(G0=(E6|0)==0,!G0)return ie=0,C=e4,ie|0;F2=P6+4|0,Me=P6,xt=Me+56|0;do e[Me>>2]=0,Me=Me+4|0;while((Me|0)<(xt|0));if(e[F2>>2]=X3,O2=(X3|0)<1,O2)P8=0,j8=0,H8=0,I8=0,o8=0,X9=0,C8=0,re=0,st=0,ot=0,Nt=0,Gt=0;else for(k2=J+1112|0,g4=0,v8=0,d8=0,r8=0,ue=0,fe=0,de=0,H4=0,ne=0,a8=0,Je=0,bt=0,l8=0;;){_5=a+(g4<<2)|0,G=+s[_5>>2],g2=G*7.314285755157471,L2=g2+1023.5,F5=~~L2,L3=(F5|0)>1023,M5=(F5|0)<0,u=M5?0:F5,B=L3?1023:u,O3=(B|0)==0;do if(O3)O8=v8,Le=d8,Re=r8,s8=ue,Oe=fe,we=de,He=H4,Ye=ne,_8=a8,At=Je,Dt=bt,_t=l8;else if(c6=A+(g4<<2)|0,Y3=+s[c6>>2],n6=+s[k2>>2],s9=n6+Y3,R6=!(s9>=G),R6){u9=g4+de|0,f9=B+l8|0,d9=r5(g4,g4)|0,a9=d9+ue|0,$9=r5(B,B)|0,T9=$9+Je|0,T6=r5(B,g4)|0,i9=T6+ne|0,N9=d8+1|0,O8=v8,Le=N9,Re=r8,s8=a9,Oe=fe,we=u9,He=H4,Ye=i9,_8=a8,At=T9,Dt=bt,_t=f9;break}else{U6=g4+fe|0,D6=B+bt|0,z6=r5(g4,g4)|0,y6=z6+r8|0,F6=r5(B,B)|0,M6=F6+a8|0,t9=r5(B,g4)|0,A9=t9+H4|0,X6=v8+1|0,O8=X6,Le=d8,Re=y6,s8=ue,Oe=U6,we=de,He=A9,Ye=ne,_8=M6,At=Je,Dt=D6,_t=l8;break}while(!1);if(I9=g4+1|0,C9=(I9|0)==(X3|0),C9){P8=O8,j8=Le,H8=Re,I8=s8,o8=Oe,X9=we,C8=He,re=Ye,st=_8,ot=At,Nt=Dt,Gt=_t;break}else g4=I9,v8=O8,d8=Le,r8=Re,ue=s8,fe=Oe,de=we,H4=He,ne=Ye,a8=_8,Je=At,bt=Dt,l8=_t}E4=P6+8|0,e[E4>>2]=o8,o4=P6+12|0,e[o4>>2]=Nt,h4=P6+16|0,e[h4>>2]=H8,G9=P6+20|0,e[G9>>2]=st,z9=P6+24|0,e[z9>>2]=C8,b9=P6+28|0,e[b9>>2]=P8,q6=P6+32|0,e[q6>>2]=X9,r9=P6+36|0,e[r9>>2]=Gt,m4=P6+40|0,e[m4>>2]=I8,S4=P6+44|0,e[S4>>2]=ot,A4=P6+48|0,e[A4>>2]=re,y9=P6+52|0,e[y9>>2]=j8,ut=P8}if(C0=(ut|0)==0,C0)return ie=0,C=e4,ie|0;e[nt>>2]=-200,e[J8>>2]=-200,f0=E6+-1|0,uB(P6,f0,nt,J8,J)|0,B0=e[nt>>2]|0,e[p4>>2]=B0,e[c4>>2]=B0,p0=e[J8>>2]|0,I0=c4+4|0,e[I0>>2]=p0,S0=p4+4|0,e[S0>>2]=p0,K0=(E6|0)>2;do if(K0){_0=J+1112|0,Q0=J+1096|0,F0=J+1100|0,M0=J+1104|0,M4=2;e:for(;;){U0=(n+520|0)+(M4<<2)|0,y0=e[U0>>2]|0,Y0=M8+(y0<<2)|0,R0=e[Y0>>2]|0,D0=De+(y0<<2)|0,T0=e[D0>>2]|0,V0=Z8+(R0<<2)|0,J0=e[V0>>2]|0,P0=(J0|0)==(T0|0);t:do if(!P0){if(z0=(n+520|0)+(R0<<2)|0,O0=e[z0>>2]|0,r1=(n+520|0)+(T0<<2)|0,H0=e[r1>>2]|0,e[V0>>2]=T0,e1=(J+836|0)+(R0<<2)|0,b0=e[e1>>2]|0,i1=(J+836|0)+(T0<<2)|0,c1=e[i1>>2]|0,$1=p4+(R0<<2)|0,f1=e[$1>>2]|0,g1=(f1|0)<0,s1=c4+(R0<<2)|0,a1=e[s1>>2]|0,g1?y=a1:(n1=(a1|0)<0,n1?y=f1:(o1=a1+f1|0,Z0=o1>>1,y=Z0)),I1=p4+(T0<<2)|0,h1=e[I1>>2]|0,m1=(h1|0)<0,d1=c4+(T0<<2)|0,E1=e[d1>>2]|0,m1?Q=E1:(p1=(E1|0)<0,p1?Q=h1:(Q1=E1+h1|0,_1=Q1>>1,Q=_1)),x1=(y|0)==-1,w1=(Q|0)==-1,vt=x1|w1,vt){Ie=38;break e}S1=Q-y|0,L1=c1-b0|0,xe=(S1|0)>-1,k9=0-S1|0,F1=xe?S1:k9,G1=(S1|0)/(L1|0)&-1,k1=S1>>31,Z1=k1|1,N1=a+(b0<<2)|0,Y=+s[N1>>2],b1=Y*7.314285755157471,V1=b1+1023.5,O1=~~V1,q1=(O1|0)>1023,H1=(O1|0)<0,I=H1?0:O1,b=q1?1023:I,Y1=r5(G1,L1)|0,lt=(Y1|0)>-1,ht=0-Y1|0,j1=lt?Y1:ht,n2=F1-j1|0,P1=y-b|0,c2=r5(P1,P1)|0,z1=A+(b0<<2)|0,u2=+s[z1>>2],o2=+s[_0>>2],E2=o2+u2,A2=!(E2>=Y),A2?Ie=42:(K1=+(y|0),h2=+s[Q0>>2],$2=h2+K1,l2=+(b|0),r2=$2>2],X1=K1-a2,s2=X1>l2,s2||(Ie=42)));i:do if((Ie|0)==42){if(Ie=0,f2=b0+1|0,e2=(f2|0)<(c1|0),e2)for(d2=f2,ee=0,kt=c2,U8=1,ft=y;;){if(y2=ee+n2|0,v2=(y2|0)<(L1|0),w2=v2?0:Z1,D2=v2?0:L1,F4=y2-D2|0,R=ft+G1|0,rt=R+w2|0,N2=a+(d2<<2)|0,z=+s[N2>>2],K2=z*7.314285755157471,G2=K2+1023.5,H2=~~G2,M2=(H2|0)>1023,P2=(H2|0)<0,m=P2?0:H2,D=M2?1023:m,z2=rt-D|0,o5=r5(z2,z2)|0,T1=o5+kt|0,X2=U8+1|0,L5=A+(d2<<2)|0,e5=+s[L5>>2],b5=e5+o2,Z2=b5>=z,f5=(D|0)!=0,et=Z2&f5,et&&(v5=+(rt|0),P5=+s[Q0>>2],l5=P5+v5,m5=+(D|0),n5=l5>2],_2=v5-x2,B2=_2>m5,B2)))break i;if(C5=d2+1|0,R5=(C5|0)<(c1|0),R5)d2=C5,ee=F4,kt=T1,U8=X2,ft=rt;else{W8=T1,G8=X2;break}}else W8=c2,G8=1;if(d5=+s[Q0>>2],D5=d5*d5,G5=+(G8|0),q2=D5/G5,I5=+s[M0>>2],A5=q2>I5,!A5&&(c5=+s[F0>>2],B5=c5*c5,M1=B5/G5,S5=M1>I5,!S5&&(g5=(W8|0)/(G8|0)&-1,a5=+(g5|0),W2=a5>I5,W2)))break;l3=p4+(M4<<2)|0,e[l3>>2]=-200,c3=c4+(M4<<2)|0,e[c3>>2]=-200;break t}while(!1);if(e[T8>>2]=-200,e[N8>>2]=-200,e[_e>>2]=-200,e[t8>>2]=-200,p5=P6+(O0*56|0)|0,t5=y0-O0|0,s5=uB(p5,t5,T8,N8,J)|0,h5=P6+(y0*56|0)|0,J2=H0-y0|0,u5=uB(h5,J2,_e,t8,J)|0,i5=(s5|0)!=0,i5&&(e[T8>>2]=y,x5=e[_e>>2]|0,e[N8>>2]=x5),j2=(u5|0)==0,!j2&&($5=e[N8>>2]|0,e[_e>>2]=$5,e[t8>>2]=Q,i5)){Q5=p4+(M4<<2)|0,e[Q5>>2]=-200,q5=c4+(M4<<2)|0,e[q5>>2]=-200;break}if(j5=e[T8>>2]|0,e[s1>>2]=j5,E5=(R0|0)==0,E5&&(e[p4>>2]=j5),f3=e[N8>>2]|0,h3=p4+(M4<<2)|0,e[h3>>2]=f3,J5=e[_e>>2]|0,X5=c4+(M4<<2)|0,e[X5>>2]=J5,n3=e[t8>>2]|0,e[I1>>2]=n3,m3=(T0|0)==1,m3&&(e[I0>>2]=n3),V5=J5&f3,k3=(V5|0)>-1,k3){u3=(y0|0)>0;i:do if(u3)for(z8=y0;;){if(wt=z8+-1|0,z3=De+(wt<<2)|0,G3=e[z3>>2]|0,z5=(G3|0)==(T0|0),!z5)break i;if(e[z3>>2]=M4,w3=(z8|0)>1,w3)z8=wt;else break}while(!1);if(gt=y0+1|0,p3=(gt|0)<(E6|0),p3)for(F8=gt;;){if(W5=M8+(F8<<2)|0,i6=e[W5>>2]|0,U3=(i6|0)==(R0|0),!U3)break t;if(e[W5>>2]=M4,ct=F8+1|0,a3=(ct|0)<(E6|0),a3)F8=ct;else break}}}while(!1);if(C3=M4+1|0,H5=(C3|0)<(E6|0),H5)M4=C3;else{Ie=68;break}}if((Ie|0)==38)Fv(1);else if((Ie|0)==68){T=e[p4>>2]|0,N=e[c4>>2]|0,k5=T,o6=N;break}}else k5=B0,o6=B0;while(!1);if(U5=E6<<2,O5=qt(t,U5)|0,P3=(k5|0)<0,P3?w=o6:(e3=(o6|0)<0,e3?w=k5:(A3=o6+k5|0,R3=A3>>1,w=R3)),e[O5>>2]=w,u6=e[S0>>2]|0,Q3=(u6|0)<0,v3=e[I0>>2]|0,Q3?L=v3:(y3=(v3|0)<0,y3?L=u6:(r6=v3+u6|0,j3=r6>>1,L=j3)),K5=O5+4|0,e[K5>>2]=L,K0)te=2;else return ie=O5,C=e4,ie|0;for(;;)if(S3=te+-2|0,g3=(n+1032|0)+(S3<<2)|0,q3=e[g3>>2]|0,l6=(n+780|0)+(S3<<2)|0,d3=e[l6>>2]|0,k6=(J+836|0)+(q3<<2)|0,v6=e[k6>>2]|0,S6=(J+836|0)+(d3<<2)|0,B6=e[S6>>2]|0,p6=O5+(q3<<2)|0,x6=e[p6>>2]|0,Y6=O5+(d3<<2)|0,C6=e[Y6>>2]|0,b3=(J+836|0)+(te<<2)|0,e6=e[b3>>2]|0,t6=x6&32767,f6=C6&32767,H3=f6-t6|0,D3=B6-v6|0,$t=(H3|0)>-1,S8=0-H3|0,Z3=$t?H3:S8,b6=e6-v6|0,A6=r5(Z3,b6)|0,t3=(A6|0)/(D3|0)&-1,O6=(H3|0)<0,s3=0-t3|0,x=O6?s3:t3,_=x+t6|0,a6=p4+(te<<2)|0,d6=e[a6>>2]|0,_3=(d6|0)<0,N6=c4+(te<<2)|0,Q6=e[N6>>2]|0,_3?p=Q6:(L6=(Q6|0)<0,L6?p=d6:(K6=Q6+d6|0,I6=K6>>1,p=I6)),J6=(p|0)<0,F3=(_|0)==(p|0),St=J6|F3,j6=_|32768,c=St?j6:p,G6=O5+(te<<2)|0,e[G6>>2]=c,e9=te+1|0,he=(e9|0)==(E6|0),he){ie=O5;break}else te=e9;return C=e4,ie|0}function R8(t,n,A,a,c){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0;var u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0;if(a0=C,u=n+1284|0,E=e[u>>2]|0,_=(A|0)!=0,z=(a|0)!=0,$0=_&z,!$0)return Z=0,Z|0;if(Y=E<<2,t0=qt(t,Y)|0,J=(E|0)>0,!J)return Z=t0,Z|0;for(W=65536-c|0,U=0;;)if(e0=A+(U<<2)|0,q=e[e0>>2]|0,I=q&32767,m=r5(I,W)|0,p=a+(U<<2)|0,B=e[p>>2]|0,S=B&32767,b=r5(S,c)|0,w=m+32768|0,y=w+b|0,D=y>>16,Q=t0+(U<<2)|0,e[Q>>2]=D,L=e[e0>>2]|0,x=L&32768,R=(x|0)==0,R||(M=e[p>>2]|0,T=M&32768,N=(T|0)==0,N||(G=D|32768,e[Q>>2]=G)),O=U+1|0,X=(O|0)==(E|0),X){Z=t0;break}else U=O;return Z|0}function uS(t,n,A,a,c){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0;var u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,k3=0,u3=0,p3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,X3=0,c6=0,p6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,L6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0;if(M6=C,C=C+336|0,R6=M6+64|0,g3=M6+32|0,F3=M6,D=A+1296|0,Q=e[D>>2]|0,h2=A+1284|0,x2=e[h2>>2]|0,A5=n+64|0,s5=e[A5>>2]|0,j5=s5+4|0,u3=e[j5>>2]|0,l3=u3+28|0,A3=e[l3>>2]|0,_=A3+2848|0,t0=e[_>>2]|0,s0=(a|0)==0,s0)return U2(t,0,1),L5=n+36|0,e5=e[L5>>2]|0,b5=(e5|0)/2&-1,Z2=b5<<2,ae(c|0,0,Z2|0)|0,E=0,C=M6,E|0;if(w0=(x2|0)>0,w0)for(F0=Q+832|0,f6=0;P0=a+(f6<<2)|0,f1=e[P0>>2]|0,d1=f1&32767,G1=e[F0>>2]|0,(G1|0)==4?(z2=d1>>>4,U6=z2):(G1|0)==1?(j1=d1>>>2,U6=j1):(G1|0)==2?($2=d1>>>3,U6=$2):(G1|0)==3?(w2=(d1>>>0)/12&-1,U6=w2):U6=d1,f5=f1&32768,v5=f5|U6,e[P0>>2]=v5,P5=f6+1|0,C6=(P5|0)==(x2|0),!C6;)f6=P5;if(l5=e[a>>2]|0,e[R6>>2]=l5,k2=a+4|0,m5=e[k2>>2]|0,n5=R6+4|0,e[n5>>2]=m5,_2=(x2|0)>2,B2=A+1292|0,_2){for(H3=2;;){if(C5=H3+-2|0,R5=(A+1032|0)+(C5<<2)|0,d5=e[R5>>2]|0,D5=(A+780|0)+(C5<<2)|0,G5=e[D5>>2]|0,_5=(Q+836|0)+(d5<<2)|0,q2=e[_5>>2]|0,I5=(Q+836|0)+(G5<<2)|0,c5=e[I5>>2]|0,B5=a+(d5<<2)|0,M1=e[B5>>2]|0,S5=a+(G5<<2)|0,g5=e[S5>>2]|0,a5=(Q+836|0)+(H3<<2)|0,W2=e[a5>>2]|0,g2=M1&32767,p5=g5&32767,t5=p5-g2|0,h5=c5-q2|0,Y3=(t5|0)>-1,j6=0-t5|0,J2=Y3?t5:j6,u5=W2-q2|0,i5=r5(J2,u5)|0,x5=(i5|0)/(h5|0)&-1,j2=(t5|0)<0,$5=0-x5|0,m=j2?$5:x5,I=m+g2|0,L2=a+(H3<<2)|0,Q5=e[L2>>2]|0,q5=Q5&32768,E5=(q5|0)!=0,f3=(Q5|0)==(I|0),s9=E5|f3,s9)h3=I|32768,e[L2>>2]=h3,J5=R6+(H3<<2)|0,e[J5>>2]=0;else{X5=e[B2>>2]|0,n3=X5-I|0,m3=(n3|0)<(I|0),u=m3?n3:I,F5=Q5-I|0,V5=(F5|0)<0;do if(V5)if(k3=0-u|0,p3=(F5|0)<(k3|0),p3){z3=F5^-1,G3=u+z3|0,D6=G3;break}else{z5=F5<<1,w3=z5^-1,D6=w3;break}else if(W5=(u|0)>(F5|0),W5){L3=F5<<1,D6=L3;break}else{i6=u+F5|0,D6=i6;break}while(!1);U3=R6+(H3<<2)|0,e[U3>>2]=D6,e[B5>>2]=g2,a3=e[S5>>2]|0,c3=a3&32767,e[S5>>2]=c3}if(C3=H3+1|0,Y6=(C3|0)==(x2|0),Y6)break;H3=C3}S=e[R6>>2]|0,b=e[n5>>2]|0,r6=S,S3=b}else r6=l5,S3=m5;if(U2(t,1,1),H5=A+1308|0,U5=e[H5>>2]|0,O5=U5+1|0,e[H5>>2]=O5,k5=e[B2>>2]|0,P3=k5+-1|0,M5=Tt(P3)|0,o6=M5<<1,e3=A+1304|0,R3=e[e3>>2]|0,u6=R3+o6|0,e[e3>>2]=u6,Q3=e[B2>>2]|0,v3=Q3+-1|0,y3=Tt(v3)|0,U2(t,r6,y3),j3=e[B2>>2]|0,O3=j3+-1|0,K5=Tt(O3)|0,U2(t,S3,K5),L=e[Q>>2]|0,x=(L|0)>0,x)for(R=A+1300|0,D3=0,A6=2;;){if(M=(Q+4|0)+(D3<<2)|0,T=e[M>>2]|0,N=(Q+128|0)+(T<<2)|0,G=e[N>>2]|0,O=(Q+192|0)+(T<<2)|0,z=e[O>>2]|0,Y=1<>2]=0,e[g3+4>>2]=0,e[g3+8>>2]=0,e[g3+12>>2]=0,e[g3+16>>2]=0,e[g3+20>>2]=0,e[g3+24>>2]=0,e[g3+28>>2]=0,J=(z|0)==0,!J){if(e[F3>>2]=0,e[F3+4>>2]=0,e[F3+8>>2]=0,e[F3+12>>2]=0,e[F3+16>>2]=0,e[F3+20>>2]=0,e[F3+24>>2]=0,e[F3+28>>2]=0,W=(z|0)==31,!W)for(s3=0;l0=((Q+320|0)+(T<<5)|0)+(s3<<2)|0,u0=e[l0>>2]|0,d0=(u0|0)<0,d0?y=1:(C0=(A3+1824|0)+(u0<<2)|0,k0=e[C0>>2]|0,f0=k0+4|0,B0=e[f0>>2]|0,y=B0),p0=F3+(s3<<2)|0,e[p0>>2]=y,I0=s3+1|0,S0=(I0|0)<(Y|0),S0;)s3=I0;e0=(G|0)>0;e:do if(e0){if(W)for(q3=0,k6=0,a6=0;;)if(K0=g3+(a6<<2)|0,_0=e[K0>>2]|0,Q0=_0<>2]|0,N6=0;;){if(q=F3+(N6<<2)|0,X=e[q>>2]|0,$0=(U|0)<(X|0),$0){n6=N6,M3=31;break}if(Z=N6+1|0,K=(Z|0)<(Y|0),K)N6=Z;else{M3=33;break}}if((M3|0)==31?(M3=0,a0=g3+(d6<<2)|0,e[a0>>2]=n6,r0=n6):(M3|0)==33&&(M3=0,p=g3+(d6<<2)|0,w=e[p>>2]|0,r0=w),i0=r0<>2]|0,R0=t0+(Y0*56|0)|0,D0=Fh(R0,d3,t)|0,T0=e[R>>2]|0,V0=T0+D0|0,e[R>>2]=V0}if(J0=(G|0)>0,J0)for(_3=0;z0=g3+(_3<<2)|0,G0=e[z0>>2]|0,O0=((Q+320|0)+(T<<5)|0)+(G0<<2)|0,r1=e[O0>>2]|0,H0=(r1|0)>-1,H0&&(e1=_3+A6|0,b0=R6+(e1<<2)|0,i1=e[b0>>2]|0,c1=(t0+(r1*56|0)|0)+4|0,$1=e[c1>>2]|0,g1=(i1|0)<($1|0),g1&&(l1=t0+(r1*56|0)|0,s1=Fh(l1,i1,t)|0,a1=e[e3>>2]|0,n1=a1+s1|0,e[e3>>2]=n1)),o1=_3+1|0,p6=(o1|0)==(G|0),!p6;)_3=o1;if(Z0=G+A6|0,I1=D3+1|0,h1=e[Q>>2]|0,m1=(I1|0)<(h1|0),m1)D3=I1,A6=Z0;else break}if(E1=e[a>>2]|0,B1=Q+832|0,p1=e[B1>>2]|0,Q1=r5(p1,E1)|0,_1=n+28|0,x1=e[_1>>2]|0,w1=A3+(x1<<2)|0,S1=e[w1>>2]|0,L1=(S1|0)/2&-1,F1=e[h2>>2]|0,k1=(F1|0)>1,k1)for(e6=0,t3=1,Q6=0,I6=Q1;;){if(V1=(A+260|0)+(t3<<2)|0,O1=e[V1>>2]|0,q1=a+(O1<<2)|0,H1=e[q1>>2]|0,Y1=H1&32767,n2=(Y1|0)==(H1|0),n2)if(W1=e[B1>>2]|0,P1=r5(W1,H1)|0,c2=(Q+836|0)+(O1<<2)|0,z1=e[c2>>2]|0,u2=P1-I6|0,o2=z1-Q6|0,Z3=(u2|0)>-1,G6=0-u2|0,E2=Z3?u2:G6,A2=(u2|0)/(o2|0)&-1,K1=u2>>31,i2=K1|1,l2=r5(A2,o2)|0,b6=(l2|0)>-1,e9=0-l2|0,r2=b6?l2:e9,a2=E2-r2|0,X1=(L1|0)>(z1|0),z6=X1?z1:L1,s2=(z6|0)>(Q6|0),s2&&(f2=c+(Q6<<2)|0,e[f2>>2]=I6),e2=Q6+1|0,y2=(e2|0)<(z6|0),y2)for(d2=e2,S6=0,y6=I6;;)if(v2=S6+a2|0,C2=(v2|0)<(o2|0),F2=C2?0:i2,D2=C2?0:o2,B6=v2-D2|0,B=y6+A2|0,F6=B+F2|0,N2=c+(d2<<2)|0,e[N2>>2]=F6,K2=d2+1|0,c6=(K2|0)==(z6|0),c6){t6=z1,L6=z1,J6=P1;break}else d2=K2,S6=B6,y6=F6;else t6=z1,L6=z1,J6=P1;else t6=e6,L6=Q6,J6=I6;if(G2=t3+1|0,H2=e[h2>>2]|0,M2=(G2|0)<(H2|0),M2)e6=t6,t3=G2,Q6=L6,I6=J6;else{b3=t6,K6=J6;break}}else b3=0,K6=Q1;if(U1=n+36|0,Z1=e[U1>>2]|0,N1=(Z1|0)/2&-1,b1=(b3|0)<(N1|0),b1)O6=b3;else return E=1,C=M6,E|0;for(;;)if(P2=c+(O6<<2)|0,e[P2>>2]=K6,o5=O6+1|0,O2=e[U1>>2]|0,T1=(O2|0)/2&-1,X2=(o5|0)<(T1|0),X2)O6=o5;else{E=1;break}return C=M6,E|0}function uB(t,n,A,a,c){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0;var u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0;if(o5=C,p=e[t>>2]|0,B=n+-1|0,i0=(t+(B*56|0)|0)+4|0,C0=e[i0>>2]|0,M0=(n|0)>0,M0)for(z0=c+1108|0,g1=+s[z0>>2],i2=0,X1=0,f2=0,w2=0,N2=0,H2=0;;)if(E1=(t+(X1*56|0)|0)+52|0,k1=e[E1>>2]|0,n2=(t+(X1*56|0)|0)+28|0,S=e[n2>>2]|0,T=S+k1|0,q=+(T|0),X=q*g1,U=S+1|0,$0=+(U|0),Z=X/$0,K=Z,a0=K+1,s0=(t+(X1*56|0)|0)+32|0,r0=e[s0>>2]|0,V=+(r0|0),h0=(t+(X1*56|0)|0)+8|0,o0=e[h0>>2]|0,g0=+(o0|0),j=g0*a0,l0=V+w2,u0=l0+j,d0=(t+(X1*56|0)|0)+36|0,w0=e[d0>>2]|0,k0=+(w0|0),f0=(t+(X1*56|0)|0)+12|0,B0=e[f0>>2]|0,p0=+(B0|0),I0=p0*a0,S0=k0+H2,K0=S0+I0,_0=(t+(X1*56|0)|0)+40|0,Q0=e[_0>>2]|0,F0=+(Q0|0),N0=(t+(X1*56|0)|0)+16|0,U0=e[N0>>2]|0,y0=+(U0|0),Y0=y0*a0,R0=F0+f2,D0=R0+Y0,T0=(t+(X1*56|0)|0)+48|0,V0=e[T0>>2]|0,J0=+(V0|0),P0=(t+(X1*56|0)|0)+24|0,G0=e[P0>>2]|0,O0=+(G0|0),r1=O0*a0,H0=J0+N2,e1=H0+r1,b0=+(k1|0),i1=+(S|0),c1=a0*i1,$1=b0+i2,f1=$1+c1,l1=X1+1|0,a2=(l1|0)==(n|0),a2){$2=f1,s2=D0,v2=u0,D2=e1,G2=K0;break}else i2=f1,X1=l1,f2=D0,w2=u0,N2=e1,H2=K0;else $2=0,s2=0,v2=0,D2=0,G2=0;return s1=e[A>>2]|0,a1=(s1|0)>-1,a1?(n1=+(p|0),o1=v2+n1,Z0=+(s1|0),I1=Z0+G2,h1=r5(p,p)|0,m1=+(h1|0),d1=s2+m1,B1=r5(s1,p)|0,p1=+(B1|0),Q1=p1+D2,_1=$2+1,l2=_1,e2=d1,C2=o1,d2=Q1,M2=I1):(l2=$2,e2=s2,C2=v2,d2=D2,M2=G2),x1=e[a>>2]|0,w1=(x1|0)>-1,w1?(S1=+(C0|0),L1=C2+S1,F1=+(x1|0),G1=F1+M2,U1=r5(C0,C0)|0,Z1=+(U1|0),N1=e2+Z1,b1=r5(x1,C0)|0,V1=+(b1|0),O1=V1+d2,q1=l2+1,r2=q1,y2=N1,F2=L1,K2=O1,P2=G1):(r2=l2,y2=e2,F2=C2,K2=d2,P2=M2),H1=y2*r2,Y1=F2*F2,j1=H1-Y1,W1=j1>0,W1?(P1=P2*y2,c2=F2*K2,z1=P1-c2,u2=z1/j1,o2=K2*r2,E2=F2*P2,A2=o2-E2,K1=A2/j1,h2=+(p|0),b=K1*h2,w=b+u2,y=+Oi(w),D=~~y,e[A>>2]=D,Q=+(C0|0),_=K1*Q,L=_+u2,x=+Oi(L),R=~~x,e[a>>2]=R,M=e[A>>2]|0,N=(M|0)>1023,N?(e[A>>2]=1023,E=e[a>>2]|0,G=E,W=1023):(G=R,W=M),O=(G|0)>1023,O?(e[a>>2]=1023,I=e[A>>2]|0,z=I,e0=1023):(z=W,e0=G),Y=(z|0)<0,Y?(e[A>>2]=0,m=e[a>>2]|0,t0=m):t0=e0,J=(t0|0)<0,J?(e[a>>2]=0,u=0,u|0):(u=0,u|0)):(e[A>>2]=0,e[a>>2]=0,u=1,u|0)}function fS(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0;if(b0=C,E=t+836|0,I=t+840|0,L=e[I>>2]|0,J=e[t>>2]|0,U2(n,J,5),i0=e[t>>2]|0,C0=(i0|0)>0,C0){for(M0=t+4|0,V0=0,H0=-1;;)if(B=M0+(V0<<2)|0,S=e[B>>2]|0,U2(n,S,4),b=e[B>>2]|0,w=(H0|0)<(b|0),A=w?b:H0,y=V0+1|0,D=e[t>>2]|0,Q=(y|0)<(D|0),Q)V0=y,H0=A;else{a=A;break}if(U0=(a|0)>-1,U0)for(y0=t+128|0,Y0=t+192|0,m=t+256|0,p=t+320|0,J0=0;;){if(_=y0+(J0<<2)|0,x=e[_>>2]|0,R=x+-1|0,U2(n,R,3),M=Y0+(J0<<2)|0,T=e[M>>2]|0,U2(n,T,2),N=e[M>>2]|0,G=(N|0)==0,G?(z0=0,e1=8):(O=m+(J0<<2)|0,z=e[O>>2]|0,U2(n,z,8),c=e[M>>2]|0,Y=(c|0)==31,Y||(z0=0,e1=8)),(e1|0)==8)for(;e1=0,t0=(p+(J0<<5)|0)+(z0<<2)|0,W=e[t0>>2]|0,e0=W+1|0,U2(n,e0,8),q=z0+1|0,X=e[M>>2]|0,U=1<>2]|0,s0=a0+-1|0,U2(n,s0,2),r0=L+-1|0,V=Tt(r0)|0,U2(n,V,4),h0=Tt(r0)|0,o0=e[t>>2]|0,g0=(o0|0)>0,!!g0)for(j=t+4|0,l0=t+128|0,N0=o0,R0=0,P0=0,G0=0;;){if(u0=j+(P0<<2)|0,d0=e[u0>>2]|0,w0=l0+(d0<<2)|0,k0=e[w0>>2]|0,f0=k0+R0|0,B0=(G0|0)<(f0|0),B0){for(r1=G0;p0=r1+2|0,I0=E+(p0<<2)|0,S0=e[I0>>2]|0,U2(n,S0,h0),K0=r1+1|0,D0=(K0|0)==(f0|0),!D0;)r1=K0;u=e[t>>2]|0,F0=u,O0=f0}else F0=N0,O0=G0;if(_0=P0+1|0,Q0=(_0|0)<(F0|0),Q0)N0=F0,R0=f0,P0=_0,G0=O0;else break}}function dS(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0;z1=C,C=C+272|0,P1=z1,D=t+28|0,Q=e[D>>2]|0,Y=n4(1,1120)|0,a0=W4(n,5)|0,e[Y>>2]=a0,d0=(a0|0)>0;e:do if(d0){for(Q0=Y+4|0,Z1=0,n2=-1;;){if(x=W4(n,4)|0,R=Q0+(Z1<<2)|0,e[R>>2]=x,M=(x|0)<0,M)break e;if(T=(n2|0)<(x|0),c=T?x:n2,N=Z1+1|0,G=e[Y>>2]|0,O=(N|0)<(G|0),O)Z1=N,n2=c;else{u=c;break}}if(J0=(u|0)>-1,J0)for($1=Y+128|0,m1=Y+192|0,F1=Y+256|0,_=Q+24|0,L=Y+320|0,N1=0;;){if(z=W4(n,3)|0,t0=z+1|0,J=$1+(N1<<2)|0,e[J>>2]=t0,W=W4(n,2)|0,e0=m1+(N1<<2)|0,e[e0>>2]=W,q=(W|0)<0,q||(X=(W|0)==0,X?(E=F1+(N1<<2)|0,I=e[E>>2]|0,Z=I):(U=W4(n,8)|0,$0=F1+(N1<<2)|0,e[$0>>2]=U,Z=U),K=(Z|0)<0,K)||(s0=e[_>>2]|0,i0=(Z|0)<(s0|0),!i0))break e;if(r0=e[e0>>2]|0,V=(r0|0)==31,!V)for(q1=0;;){if(l0=W4(n,8)|0,u0=l0+-1|0,w0=(L+(N1<<5)|0)+(q1<<2)|0,e[w0>>2]=u0,C0=(l0|0)<0,C0||(k0=e[_>>2]|0,f0=(l0|0)>(k0|0),g0=q1+1|0,f0))break e;if(h0=e[e0>>2]|0,o0=1<>2]=S0,_0=W4(n,4)|0,F0=(_0|0)<0,!F0)){if(M0=e[Y>>2]|0,N0=(M0|0)>0,N0)for(U0=Y+4|0,y0=Y+128|0,Y0=Y+836|0,R0=1<<_0,G1=M0,U1=0,b1=0,H1=0;;){if(D0=U0+(b1<<2)|0,T0=e[D0>>2]|0,V0=y0+(T0<<2)|0,P0=e[V0>>2]|0,z0=P0+U1|0,G0=(z0|0)>63,G0)break e;if(O0=(H1|0)<(z0|0),O0){for(j1=H1;;){if(r1=W4(n,_0)|0,H0=j1+2|0,e1=Y0+(H0<<2)|0,e[e1>>2]=r1,b0=(r1|0)>-1,i1=(r1|0)<(R0|0),W1=b0&i1,!W1)break e;if(c1=j1+1|0,f1=(c1|0)<(z0|0),f1)j1=c1;else{a=c1;break}}B=e[Y>>2]|0,s1=B,Y1=a}else s1=G1,Y1=H1;if(g1=b1+1|0,l1=(g1|0)<(s1|0),l1)G1=s1,U1=z0,b1=g1,H1=Y1;else{m=Y0,p=R0,k1=z0;break}}else w=Y+836|0,y=1<<_0,m=w,p=y,k1=0;if(e[m>>2]=0,a1=Y+840|0,e[a1>>2]=p,n1=k1+2|0,o1=(k1|0)>-2,o1)for(V1=0;Z0=m+(V1<<2)|0,I1=P1+(V1<<2)|0,e[I1>>2]=Z0,h1=V1+1|0,d1=(h1|0)<(n1|0),d1;)V1=h1;Th(P1,n1,4,8),E1=(n1|0)>1;t:do if(E1){for(S=e[P1>>2]|0,b=e[S>>2]|0,w1=b,O1=1;Q1=P1+(O1<<2)|0,_1=e[Q1>>2]|0,x1=e[_1>>2]|0,S1=(w1|0)==(x1|0),B1=O1+1|0,!S1;)if(p1=(B1|0)<(n1|0),p1)w1=x1,O1=B1;else break t;if(L1=(Y|0)==0,L1)A=0;else break e;return C=z1,A|0}while(!1);return A=Y,C=z1,A|0}while(!1);return I2(Y),A=0,C=z1,A|0}function IS(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,L1=0;if(L1=C,C=C+272|0,w1=L1,a=n4(1,1312)|0,c=a+1296|0,e[c>>2]=n,D=n+836|0,z=n+840|0,K=e[z>>2]|0,u0=a+1288|0,e[u0>>2]=K,_0=e[n>>2]|0,V0=(_0|0)>0,V0){for(H0=n+4|0,u=n+128|0,g1=0,Q1=0;;)if(E=H0+(g1<<2)|0,I=e[E>>2]|0,m=u+(I<<2)|0,p=e[m>>2]|0,B=p+Q1|0,S=g1+1|0,b=(S|0)<(_0|0),b)g1=S,Q1=B;else{A=B;break}w=A+2|0,y=a+1284|0,e[y>>2]=w,Q=(A|0)>-2,Q?(M=w,p1=A,S1=7):(Th(w1,w,4,8),B1=A)}else r1=a+1284|0,e[r1>>2]=2,M=2,p1=0,S1=7;if((S1|0)==7){for(l1=0;_=D+(l1<<2)|0,L=w1+(l1<<2)|0,e[L>>2]=_,x=l1+1|0,R=(x|0)<(M|0),R;)l1=x;for(Th(w1,M,4,8),T=D,N=a+260|0,s1=0;Y=w1+(s1<<2)|0,t0=e[Y>>2]|0,J=t0,W=J-T|0,e0=W>>2,q=N+(s1<<2)|0,e[q>>2]=e0,X=s1+1|0,U=(X|0)<(M|0),U;)s1=X;for(G=a+260|0,O=a+520|0,a1=0;Z=G+(a1<<2)|0,a0=e[Z>>2]|0,s0=O+(a0<<2)|0,e[s0>>2]=a1,i0=a1+1|0,r0=(i0|0)<(M|0),r0;)a1=i0;for($0=a+260|0,n1=0;;)if(V=$0+(n1<<2)|0,h0=e[V>>2]|0,o0=D+(h0<<2)|0,g0=e[o0>>2]|0,j=a+(n1<<2)|0,e[j>>2]=g0,l0=n1+1|0,d0=(l0|0)<(M|0),d0)n1=l0;else{B1=p1;break}}if(w0=n+832|0,C0=e[w0>>2]|0,(C0|0)==4?(p0=a+1292|0,e[p0>>2]=64):(C0|0)==2?(f0=a+1292|0,e[f0>>2]=128):(C0|0)==1?(k0=a+1292|0,e[k0>>2]=256):(C0|0)==3&&(B0=a+1292|0,e[B0>>2]=86),I0=(B1|0)>0,!I0)return C=L1,a|0;for(S0=a+1032|0,K0=a+780|0,o1=0;;){for(Q0=o1+2|0,F0=D+(Q0<<2)|0,M0=e[F0>>2]|0,N0=e[u0>>2]|0,b0=1,$1=N0,Z0=0,I1=0,d1=0;;)if(U0=D+(Z0<<2)|0,y0=e[U0>>2]|0,Y0=(y0|0)>(d1|0),R0=(y0|0)<(M0|0),_1=Y0&R0,h1=_1?Z0:I1,E1=_1?y0:d1,D0=(y0|0)<($1|0),T0=(y0|0)>(M0|0),x1=D0&T0,i1=x1?Z0:b0,f1=x1?y0:$1,J0=Z0+1|0,P0=(J0|0)<(Q0|0),P0)b0=i1,$1=f1,Z0=J0,I1=h1,d1=E1;else{c1=i1,m1=h1;break}if(z0=S0+(o1<<2)|0,e[z0>>2]=m1,G0=K0+(o1<<2)|0,e[G0>>2]=c1,O0=o1+1|0,e1=(O0|0)==(B1|0),e1)break;o1=O0}return C=L1,a|0}function ES(t){t=t|0;var n=0,A=0,a=0;a=C,n=(t|0)==0,n||I2(t)}function mS(t){t=t|0;var n=0,A=0,a=0;a=C,n=(t|0)==0,n||I2(t)}function CS(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0;if(w2=C,u=n+1296|0,E=e[u>>2]|0,r0=t+64|0,k0=e[r0>>2]|0,N0=k0+4|0,G0=e[N0>>2]|0,l1=G0+28|0,B1=e[l1>>2]|0,U1=B1+2848|0,W1=e[U1>>2]|0,I=t+4|0,L=W4(I,1)|0,J=(L|0)==1,!J)return A=0,A|0;U=n+1284|0,$0=e[U>>2]|0,Z=$0<<2,K=qt(t,Z)|0,a0=n+1292|0,s0=e[a0>>2]|0,i0=s0+-1|0,V=Tt(i0)|0,h0=W4(I,V)|0,e[K>>2]=h0,o0=e[a0>>2]|0,g0=o0+-1|0,j=Tt(g0)|0,l0=W4(I,j)|0,u0=K+4|0,e[u0>>2]=l0,d0=e[E>>2]|0,w0=(d0|0)>0;e:do if(w0){r2=0,s2=2;t:for(;;){if(I0=(E+4|0)+(r2<<2)|0,S0=e[I0>>2]|0,K0=(E+128|0)+(S0<<2)|0,_0=e[K0>>2]|0,Q0=(E+192|0)+(S0<<2)|0,F0=e[Q0>>2]|0,M0=1<>2]|0,R0=W1+(Y0*56|0)|0,D0=jm(R0,I)|0,T0=(D0|0)==-1,T0){A=0,v2=25;break}else i2=D0;if(V0=(_0|0)>0,V0)for(J0=M0+-1|0,l2=i2,f2=0;;){if(P0=l2&J0,z0=((E+320|0)+(S0<<5)|0)+(P0<<2)|0,O0=e[z0>>2]|0,r1=l2>>F0,H0=(O0|0)>-1,H0){if(e1=W1+(O0*56|0)|0,b0=jm(e1,I)|0,i1=f2+s2|0,c1=K+(i1<<2)|0,e[c1>>2]=b0,$1=(b0|0)==-1,$1){A=0,v2=25;break t}}else f1=f2+s2|0,g1=K+(f1<<2)|0,e[g1>>2]=0;if(s1=f2+1|0,a1=(s1|0)<(_0|0),a1)l2=r1,f2=s1;else break}if(n1=_0+s2|0,o1=r2+1|0,Z0=e[E>>2]|0,I1=(o1|0)<(Z0|0),I1)r2=o1,s2=n1;else break e}if((v2|0)==25)return A|0}while(!1);if(C0=e[U>>2]|0,f0=(C0|0)>2,!f0)return A=K,A|0;for(B0=n+1032|0,p0=n+780|0,a2=2;;){if(h1=a2+-2|0,m1=B0+(h1<<2)|0,d1=e[m1>>2]|0,E1=(E+836|0)+(d1<<2)|0,p1=e[E1>>2]|0,Q1=p0+(h1<<2)|0,_1=e[Q1>>2]|0,x1=(E+836|0)+(_1<<2)|0,w1=e[x1>>2]|0,S1=K+(d1<<2)|0,L1=e[S1>>2]|0,F1=K+(_1<<2)|0,G1=e[F1>>2]|0,k1=(E+836|0)+(a2<<2)|0,Z1=e[k1>>2]|0,N1=L1&32767,b1=G1&32767,V1=b1-N1|0,O1=w1-p1|0,X1=(V1|0)>-1,e2=0-V1|0,q1=X1?V1:e2,H1=Z1-p1|0,Y1=r5(q1,H1)|0,j1=(Y1|0)/(O1|0)&-1,n2=(V1|0)<0,P1=0-j1|0,c=n2?P1:j1,a=c+N1|0,c2=e[a0>>2]|0,z1=c2-a|0,u2=K+(a2<<2)|0,o2=e[u2>>2]|0,E2=(o2|0)==0,E2)W=a|32768,e[u2>>2]=W;else{A2=(z1|0)<(a|0),K1=A2?z1:a,h2=K1<<1,$2=(o2|0)<(h2|0);do if($2)if(b=o2&1,w=(b|0)==0,w){_=o2>>1,y2=_;break}else{y=o2+1|0,D=y>>1,Q=0-D|0,y2=Q;break}else if(m=(z1|0)>(a|0),m){p=o2-a|0,y2=p;break}else{B=o2-z1|0,S=B^-1,y2=S;break}while(!1);x=y2+a|0,R=x&32767,e[u2>>2]=R,M=e[m1>>2]|0,T=K+(M<<2)|0,N=e[T>>2]|0,G=N&32767,e[T>>2]=G,O=e[Q1>>2]|0,z=K+(O<<2)|0,Y=e[z>>2]|0,t0=Y&32767,e[z>>2]=t0}if(e0=a2+1|0,q=e[U>>2]|0,X=(e0|0)<(q|0),X)a2=e0;else{A=K;break}}return A|0}function BS(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0;if(k1=C,E=n+1296|0,I=e[E>>2]|0,L=t+64|0,J=e[L>>2]|0,i0=J+4|0,C0=e[i0>>2]|0,M0=C0+28|0,z0=e[M0>>2]|0,$1=t+28|0,f1=e[$1>>2]|0,m=z0+(f1<<2)|0,p=e[m>>2]|0,B=(p|0)/2&-1,S=(A|0)==0,S)return c1=B<<2,ae(a|0,0,c1|0)|0,c=0,c|0;if(b=e[A>>2]|0,w=I+832|0,y=e[w>>2]|0,D=r5(y,b)|0,Q=(D|0)<0,_=(D|0)>255,x=_?255:D,R=Q?0:x,M=n+1284|0,T=e[M>>2]|0,N=(T|0)>1,N)for(G=n+260|0,o1=0,m1=1,E1=0,Q1=R;;){if(t0=G+(m1<<2)|0,W=e[t0>>2]|0,e0=A+(W<<2)|0,q=e[e0>>2]|0,X=q&32767,U=(X|0)==(q|0),U)if($0=(I+836|0)+(W<<2)|0,Z=e[$0>>2]|0,K=r5(y,q)|0,a0=(K|0)<0,s0=(K|0)>255,r0=s0?255:K,V=a0?0:r0,h0=V-Q1|0,o0=Z-E1|0,I1=(h0|0)>-1,x1=0-h0|0,g0=I1?h0:x1,j=(h0|0)/(o0|0)&-1,l0=h0>>31,u0=l0|1,d0=r5(j,o0)|0,h1=(d0|0)>-1,w1=0-d0|0,w0=h1?d0:w1,k0=g0-w0|0,f0=(B|0)>(Z|0),S1=f0?Z:B,B0=(S1|0)>(E1|0),B0&&(p0=1768+(Q1<<2)|0,I0=+s[p0>>2],S0=a+(E1<<2)|0,K0=+s[S0>>2],_0=K0*I0,s[S0>>2]=_0),Q0=E1+1|0,F0=(Q0|0)<(S1|0),F0)for(V0=Q0,g1=0,L1=Q1;;)if(N0=g1+k0|0,U0=(N0|0)<(o0|0),y0=U0?0:u0,Y0=U0?0:o0,l1=N0-Y0|0,u=L1+j|0,F1=u+y0|0,R0=1768+(F1<<2)|0,D0=+s[R0>>2],T0=a+(V0<<2)|0,J0=+s[T0>>2],P0=J0*D0,s[T0>>2]=P0,G0=V0+1|0,a1=(G0|0)==(S1|0),a1){Z0=Z,B1=Z,_1=V;break}else V0=G0,g1=l1,L1=F1;else Z0=Z,B1=Z,_1=V;else Z0=o1,B1=E1,_1=Q1;if(O0=m1+1|0,r1=(O0|0)<(T|0),r1)o1=Z0,m1=O0,E1=B1,Q1=_1;else{n1=Z0,p1=_1;break}}else n1=0,p1=R;if(O=(n1|0)<(B|0),!O)return c=1,c|0;for(z=1768+(p1<<2)|0,Y=+s[z>>2],d1=n1;;)if(H0=a+(d1<<2)|0,e1=+s[H0>>2],b0=e1*Y,s[H0>>2]=b0,i1=d1+1|0,s1=(i1|0)==(B|0),s1){c=1;break}else d1=i1;return c|0}function pS(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0;return m=C,A=e[t>>2]|0,a=e[A>>2]|0,c=e[n>>2]|0,u=e[c>>2]|0,E=a-u|0,E|0}function QS(t){t=t|0;var n=0,A=0;A=C,e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0}function yS(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0;a0=C,c=X$(n|0)|0,u=X$(A|0)|0,Q=c+2|0,Y=Q+u|0,a=Y,J=C,C=C+((1*a|0)+15&-16)|0,mB(J|0,n|0)|0,Z=X$(J|0)|0,$0=J+Z|0,d[$0>>0]=61,d[$0+1>>0]=0,DQ(J|0,A|0)|0,W=e[t>>2]|0,e0=t+8|0,q=e[e0>>2]|0,X=q<<2,U=X+8|0,E=qi(W,U)|0,e[t>>2]=E,I=t+4|0,m=e[I>>2]|0,p=e[e0>>2]|0,B=p<<2,S=B+8|0,b=qi(m,S)|0,e[I>>2]=b,w=X$(J|0)|0,y=e[e0>>2]|0,D=b+(y<<2)|0,e[D>>2]=w,_=w+1|0,L=S9(_)|0,x=e[t>>2]|0,R=x+(y<<2)|0,e[R>>2]=L,M=e[t>>2]|0,T=M+(y<<2)|0,N=e[T>>2]|0,mB(N|0,J|0)|0,G=e[e0>>2]|0,O=G+1|0,e[e0>>2]=O,z=e[t>>2]|0,t0=z+(O<<2)|0,e[t0>>2]=0,C=a0}function wS(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0;if(Y=C,c=(t|0)==0,!c){if(u=e[t>>2]|0,Q=(u|0)==0,!Q){if(L=t+8|0,x=e[L>>2]|0,R=(x|0)>0,R){for(_=x,T=u,O=0;M=T+(O<<2)|0,N=e[M>>2]|0,G=(N|0)==0,G?m=_:(I2(N),A=e[L>>2]|0,m=A),E=O+1|0,I=(E|0)<(m|0),!!I;)n=e[t>>2]|0,_=m,T=n,O=E;a=e[t>>2]|0,p=a}else p=u;I2(p)}B=t+4|0,S=e[B>>2]|0,b=(S|0)==0,b||I2(S),w=t+12|0,y=e[w>>2]|0,D=(y|0)==0,D||I2(y),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0}}function kS(t){t=t|0;var n=0,A=0,a=0,c=0;c=C,e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,e[t+24>>2]=0,n=n4(1,3664)|0,A=t+28|0,e[A>>2]=n}function fB(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0;if(B1=C,u=t+28|0,E=e[u>>2]|0,_=(E|0)==0,_){e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,e[t+24>>2]=0,e[t+28>>2]=0;return}if(t0=E+8|0,s0=e[t0>>2]|0,w0=(s0|0)>0,w0)for(g1=s0,o1=0;n1=(E+32|0)+(o1<<2)|0,I=e[n1>>2]|0,m=(I|0)==0,m?S=g1:(I2(I),n=e[t0>>2]|0,S=n),p=o1+1|0,B=(p|0)<(S|0),B;)g1=S,o1=p;if(F0=E+12|0,P0=e[F0>>2]|0,f1=(P0|0)>0,f1)for(l1=P0,Z0=0;D=(E+544|0)+(Z0<<2)|0,Q=e[D>>2]|0,L=(Q|0)==0,L?Y=l1:(x=(E+288|0)+(Z0<<2)|0,R=e[x>>2]|0,M=25664+(R<<2)|0,T=e[M>>2]|0,N=T+8|0,G=e[N>>2]|0,Xs[G&7](Q),A=e[F0>>2]|0,Y=A),O=Z0+1|0,z=(O|0)<(Y|0),z;)l1=Y,Z0=O;if(b=E+16|0,w=e[b>>2]|0,y=(w|0)>0,y)for(s1=w,I1=0;q=(E+1056|0)+(I1<<2)|0,X=e[q>>2]|0,U=(X|0)==0,U?o0=s1:($0=(E+800|0)+(I1<<2)|0,Z=e[$0>>2]|0,K=25640+(Z<<2)|0,a0=e[K>>2]|0,i0=a0+12|0,r0=e[i0>>2]|0,Xs[r0&7](X),a=e[b>>2]|0,o0=a),V=I1+1|0,h0=(V|0)<(o0|0),h0;)s1=o0,I1=V;if(J=E+20|0,W=e[J>>2]|0,e0=(W|0)>0,e0)for(a1=W,h1=0;d0=(E+1568|0)+(h1<<2)|0,C0=e[d0>>2]|0,k0=(C0|0)==0,k0?M0=a1:(f0=(E+1312|0)+(h1<<2)|0,B0=e[f0>>2]|0,p0=25648+(B0<<2)|0,I0=e[p0>>2]|0,S0=I0+12|0,K0=e[S0>>2]|0,Xs[K0&7](C0),c=e[J>>2]|0,M0=c),_0=h1+1|0,Q0=(_0|0)<(M0|0),Q0;)a1=M0,h1=_0;if(g0=E+24|0,j=e[g0>>2]|0,l0=(j|0)>0,u0=E+2848|0,l0)for(m1=0;N0=(E+1824|0)+(m1<<2)|0,U0=e[N0>>2]|0,y0=(U0|0)==0,y0||EB(U0),Y0=e[u0>>2]|0,R0=(Y0|0)==0,R0||(D0=Y0+(m1*56|0)|0,nb(D0)),T0=m1+1|0,V0=e[g0>>2]|0,J0=(T0|0)<(V0|0),J0;)m1=T0;if(z0=e[u0>>2]|0,G0=(z0|0)==0,G0||I2(z0),O0=E+28|0,r1=e[O0>>2]|0,H0=(r1|0)>0,H0)for(d1=0;e1=(E+2852|0)+(d1<<2)|0,b0=e[e1>>2]|0,TS(b0),i1=d1+1|0,c1=e[O0>>2]|0,$1=(i1|0)<(c1|0),$1;)d1=i1;I2(E),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,e[t+24>>2]=0,e[t+28>>2]=0}function vS(t,n,A,a,c){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0;var u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0;if(W2=C,C=C+32|0,M1=W2,m=t+4|0,p=e[m>>2]|0,a1=t+104|0,Q1=e[a1>>2]|0,N1=(Q1|0)==0,N1)return e[A>>2]=0,e[A+4>>2]=0,e[A+8>>2]=0,e[A+12>>2]=0,e[A+16>>2]=0,e[A+20>>2]=0,e[A+24>>2]=0,e[A+28>>2]=0,e[a>>2]=0,e[a+4>>2]=0,e[a+8>>2]=0,e[a+12>>2]=0,e[a+16>>2]=0,e[a+20>>2]=0,e[a+24>>2]=0,e[a+28>>2]=0,e[c>>2]=0,e[c+4>>2]=0,e[c+8>>2]=0,e[c+12>>2]=0,e[c+16>>2]=0,e[c+20>>2]=0,e[c+24>>2]=0,e[c+28>>2]=0,u=-129,C=W2,u|0;if(c2=p+4|0,r2=e[c2>>2]|0,D2=(r2|0)<1,D2)S5=-129,a5=27;else if(lB(M1),T1=p+28|0,m5=e[T1>>2]|0,B=(m5|0)==0,B)S5=-130,a5=27;else if(M=e[m5>>2]|0,q=(M|0)<64,q)S5=-130,a5=27;else if(h0=m5+4|0,B0=e[h0>>2]|0,y0=(B0|0)<(M|0),y0)S5=-130,a5=27;else{U2(M1,1,8),U2(M1,118,8),U2(M1,111,8),U2(M1,114,8),U2(M1,98,8),U2(M1,105,8),U2(M1,115,8),U2(M1,0,32),r1=e[c2>>2]|0,U2(M1,r1,8),g1=p+8|0,l1=e[g1>>2]|0,U2(M1,l1,32),s1=p+12|0,n1=e[s1>>2]|0,U2(M1,n1,32),o1=p+16|0,Z0=e[o1>>2]|0,U2(M1,Z0,32),I1=p+20|0,h1=e[I1>>2]|0,U2(M1,h1,32),m1=e[m5>>2]|0,d1=m1+-1|0,E1=Tt(d1)|0,U2(M1,E1,4),B1=e[h0>>2]|0,p1=B1+-1|0,_1=Tt(p1)|0,U2(M1,_1,4),U2(M1,1,1),x1=Q1+64|0,w1=e[x1>>2]|0,S1=(w1|0)==0,S1||I2(w1),L1=yt(M1)|0,F1=S9(L1)|0,e[x1>>2]=F1,G1=M1+8|0,k1=e[G1>>2]|0,U1=yt(M1)|0,s4(F1|0,k1|0,U1|0)|0,Z1=e[x1>>2]|0,e[A>>2]=Z1,b1=yt(M1)|0,V1=A+4|0,e[V1>>2]=b1,O1=A+8|0,e[O1>>2]=1,q1=A+12|0,e[q1>>2]=0,e[q1+4>>2]=0,e[q1+8>>2]=0,e[q1+12>>2]=0,e[q1+16>>2]=0,u7(M1),SS(M1,n),H1=Q1+68|0,Y1=e[H1>>2]|0,j1=(Y1|0)==0,j1||I2(Y1),n2=yt(M1)|0,W1=S9(n2)|0,e[H1>>2]=W1,P1=e[G1>>2]|0,z1=yt(M1)|0,s4(W1|0,P1|0,z1|0)|0,u2=e[H1>>2]|0,e[a>>2]=u2,o2=yt(M1)|0,E2=a+4|0,e[E2>>2]=o2,A2=a+8|0,K1=a+24|0,e[A2>>2]=0,e[A2+4>>2]=0,e[A2+8>>2]=0,e[A2+12>>2]=0,h2=K1,$2=h2,e[$2>>2]=1,i2=h2+4|0,l2=i2,e[l2>>2]=0,u7(M1),a2=e[T1>>2]|0,X1=(a2|0)==0;e:do if(!X1){if(U2(M1,5,8),U2(M1,118,8),U2(M1,111,8),U2(M1,114,8),U2(M1,98,8),U2(M1,105,8),U2(M1,115,8),s2=a2+24|0,f2=e[s2>>2]|0,e2=f2+-1|0,U2(M1,e2,8),y2=e[s2>>2]|0,v2=(y2|0)>0,v2)for(q2=0;;){if(N2=(a2+1824|0)+(q2<<2)|0,d2=e[N2>>2]|0,K2=nS(d2,M1)|0,G2=(K2|0)==0,C2=q2+1|0,!G2)break e;if(w2=e[s2>>2]|0,F2=(C2|0)<(w2|0),F2)q2=C2;else break}if(U2(M1,0,6),U2(M1,0,16),H2=a2+16|0,M2=e[H2>>2]|0,P2=M2+-1|0,U2(M1,P2,6),z2=e[H2>>2]|0,o5=(z2|0)>0,o5)for(I5=0;;){if(O2=(a2+800|0)+(I5<<2)|0,X2=e[O2>>2]|0,U2(M1,X2,16),L5=e[O2>>2]|0,e5=25640+(L5<<2)|0,b5=e[e5>>2]|0,Z2=e[b5>>2]|0,f5=(Z2|0)==0,f5)break e;if(v5=(a2+1056|0)+(I5<<2)|0,P5=e[v5>>2]|0,QB[Z2&3](P5,M1),l5=I5+1|0,k2=e[H2>>2]|0,n5=(l5|0)<(k2|0),n5)I5=l5;else break}if(x2=a2+20|0,_2=e[x2>>2]|0,B2=_2+-1|0,U2(M1,B2,6),C5=e[x2>>2]|0,R5=(C5|0)>0,R5)for(A5=0;d5=(a2+1312|0)+(A5<<2)|0,D5=e[d5>>2]|0,U2(M1,D5,16),G5=e[d5>>2]|0,_5=25648+(G5<<2)|0,S=e[_5>>2]|0,b=e[S>>2]|0,w=(a2+1568|0)+(A5<<2)|0,y=e[w>>2]|0,QB[b&3](y,M1),D=A5+1|0,Q=e[x2>>2]|0,_=(D|0)<(Q|0),_;)A5=D;if(L=a2+12|0,x=e[L>>2]|0,R=x+-1|0,U2(M1,R,6),T=e[L>>2]|0,N=(T|0)>0,N)for(c5=0;G=(a2+288|0)+(c5<<2)|0,O=e[G>>2]|0,U2(M1,O,16),z=e[G>>2]|0,Y=25664+(z<<2)|0,t0=e[Y>>2]|0,J=e[t0>>2]|0,W=(a2+544|0)+(c5<<2)|0,e0=e[W>>2]|0,MQ[J&1](p,e0,M1),X=c5+1|0,U=e[L>>2]|0,$0=(X|0)<(U|0),$0;)c5=X;if(Z=a2+8|0,K=e[Z>>2]|0,a0=K+-1|0,U2(M1,a0,6),s0=e[Z>>2]|0,i0=(s0|0)>0,i0)for(B5=0;r0=(a2+32|0)+(B5<<2)|0,V=e[r0>>2]|0,o0=e[V>>2]|0,U2(M1,o0,1),g0=e[r0>>2]|0,j=g0+4|0,l0=e[j>>2]|0,U2(M1,l0,16),u0=e[r0>>2]|0,d0=u0+8|0,w0=e[d0>>2]|0,U2(M1,w0,16),C0=e[r0>>2]|0,k0=C0+12|0,f0=e[k0>>2]|0,U2(M1,f0,8),p0=B5+1|0,I0=e[Z>>2]|0,S0=(p0|0)<(I0|0),S0;)B5=p0;return U2(M1,1,1),K0=Q1+72|0,_0=e[K0>>2]|0,Q0=(_0|0)==0,Q0||I2(_0),F0=yt(M1)|0,M0=S9(F0)|0,e[K0>>2]=M0,N0=e[G1>>2]|0,U0=yt(M1)|0,s4(M0|0,N0|0,U0|0)|0,Y0=e[K0>>2]|0,e[c>>2]=Y0,R0=yt(M1)|0,D0=c+4|0,e[D0>>2]=R0,T0=c+8|0,V0=c+24|0,e[T0>>2]=0,e[T0+4>>2]=0,e[T0+8>>2]=0,e[T0+12>>2]=0,J0=V0,P0=J0,e[P0>>2]=2,z0=J0+4|0,G0=z0,e[G0>>2]=0,cB(M1),u=0,C=W2,u|0}while(!1);e[A>>2]=0,e[A+4>>2]=0,e[A+8>>2]=0,e[A+12>>2]=0,e[A+16>>2]=0,e[A+20>>2]=0,e[A+24>>2]=0,e[A+28>>2]=0,e[a>>2]=0,e[a+4>>2]=0,e[a+8>>2]=0,e[a+12>>2]=0,e[a+16>>2]=0,e[a+20>>2]=0,e[a+24>>2]=0,e[a+28>>2]=0,e[c>>2]=0,e[c+4>>2]=0,e[c+8>>2]=0,e[c+12>>2]=0,e[c+16>>2]=0,e[c+20>>2]=0,e[c+24>>2]=0,e[c+28>>2]=0,I=x1,g5=-130}return(a5|0)==27&&(e[A>>2]=0,e[A+4>>2]=0,e[A+8>>2]=0,e[A+12>>2]=0,e[A+16>>2]=0,e[A+20>>2]=0,e[A+24>>2]=0,e[A+28>>2]=0,e[a>>2]=0,e[a+4>>2]=0,e[a+8>>2]=0,e[a+12>>2]=0,e[a+16>>2]=0,e[a+20>>2]=0,e[a+24>>2]=0,e[a+28>>2]=0,e[c>>2]=0,e[c+4>>2]=0,e[c+8>>2]=0,e[c+12>>2]=0,e[c+16>>2]=0,e[c+20>>2]=0,e[c+24>>2]=0,e[c+28>>2]=0,E=Q1+64|0,I=E,g5=S5),cB(M1),O0=e[I>>2]|0,H0=(O0|0)==0,H0||I2(O0),e1=Q1+68|0,b0=e[e1>>2]|0,i1=(b0|0)==0,i1||I2(b0),c1=Q1+72|0,$1=e[c1>>2]|0,f1=($1|0)==0,f1||I2($1),e[I>>2]=0,e[e1>>2]=0,e[c1>>2]=0,u=g5,C=W2,u|0}function SS(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0;for(i0=C,U2(t,3,8),U2(t,118,8),U2(t,111,8),U2(t,114,8),U2(t,98,8),U2(t,105,8),U2(t,115,8),U2(t,44,32),A=1200,c=44;E=c+-1|0,I=A+1|0,L=d[A>>0]|0,J=L<<24>>24,U2(t,J,8),q=(E|0)==0,!q;)A=I,c=E;if(X=n+8|0,U=e[X>>2]|0,U2(t,U,32),$0=e[X>>2]|0,Z=($0|0)>0,!Z){U2(t,1,1);return}for(K=n+4|0,a0=0;;){if(m=e[n>>2]|0,p=m+(a0<<2)|0,B=e[p>>2]|0,S=(B|0)==0,S)U2(t,0,32);else if(b=e[K>>2]|0,w=b+(a0<<2)|0,y=e[w>>2]|0,U2(t,y,32),D=e[K>>2]|0,Q=D+(a0<<2)|0,_=e[Q>>2]|0,x=(_|0)==0,!x)for(R=e[n>>2]|0,M=R+(a0<<2)|0,T=e[M>>2]|0,a=T,u=_;N=u+-1|0,G=a+1|0,O=d[a>>0]|0,z=O<<24>>24,U2(t,z,8),Y=(N|0)==0,!Y;)a=G,u=N;if(t0=a0+1|0,W=e[X>>2]|0,e0=(t0|0)<(W|0),e0)a0=t0;else break}U2(t,1,1)}function $Q(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0;if(Y1=C,m=a+1|0,p=m<<3,c=p,R=C,C=C+((1*c|0)+15&-16)|0,e0=a<<3,u=e0,V=C,C=C+((1*u|0)+15&-16)|0,f0=(m|0)==0,f0)N=0;else{for(U0=a;;){if(O0=(U0|0)<(A|0),O0)for(m1=0,L1=U0;;)if(s1=t+(L1<<2)|0,I1=+s[s1>>2],B=I1,S=L1-U0|0,b=t+(S<<2)|0,w=+s[b>>2],y=w,D=y*B,Q=D+m1,_=L1+1|0,S1=(_|0)==(A|0),S1){h1=Q;break}else m1=Q,L1=_;else h1=0;if(L=R+(U0<<3)|0,A1[L>>3]=h1,x=U0+-1|0,M=(U0|0)==0,M)break;U0=x}I=+A1[R>>3],N=I}if(T=N*1.0000000001,G=N*1e-9,O=G+1e-10,z=(a|0)>0,z)E1=T,F1=0;else return Q1=T,Z0=Q1,C=Y1,+Z0;for(;;){if(k1=F1+1|0,Y=E1>3],U=-X,$0=(F1|0)>0,$0){for(U1=0,O1=U;;)if(a0=V+(U1<<3)|0,s0=+A1[a0>>3],i0=F1-U1|0,r0=R+(i0<<3)|0,h0=+A1[r0>>3],o0=h0*s0,g0=O1-o0,j=U1+1|0,w1=(j|0)==(F1|0),w1){E=g0;break}else U1=j,O1=g0;if(l0=E/E1,u0=V+(F1<<3)|0,A1[u0>>3]=l0,d0=(F1|0)/2&-1,w0=(F1|0)>1,w0){for(C0=F1+-1|0,k0=(d0|0)>1,N1=0;B0=V+(N1<<3)|0,p0=+A1[B0>>3],I0=C0-N1|0,S0=V+(I0<<3)|0,K0=+A1[S0>>3],_0=K0*l0,Q0=_0+p0,A1[B0>>3]=Q0,F0=p0*l0,M0=+A1[S0>>3],N0=M0+F0,A1[S0>>3]=N0,y0=N1+1|0,Y0=(y0|0)<(d0|0),Y0;)N1=y0;q1=k0?d0:1,P0=l0,Z1=q1}else P0=l0,Z1=0}else Z=U/E1,K=V+(F1<<3)|0,A1[K>>3]=Z,P0=Z,Z1=0;if(R0=F1&1,D0=(R0|0)==0,D0||(T0=V+(Z1<<3)|0,V0=+A1[T0>>3],J0=V0*P0,z0=J0+V0,A1[T0>>3]=z0),G0=P0*P0,r1=1-G0,H0=r1*E1,e1=(k1|0)<(a|0),e1)E1=H0,F1=k1;else{p1=H0;break}}if((H1|0)==8&&(t0=V+(G1<<3)|0,J=a-G1|0,W=J<<3,ae(t0|0,0,W|0)|0,p1=B1),z)d1=.99,b1=0;else return Q1=p1,Z0=Q1,C=Y1,+Z0;for(;b0=V+(b1<<3)|0,i1=+A1[b0>>3],c1=i1*d1,A1[b0>>3]=c1,$1=d1*.99,f1=b1+1|0,x1=(f1|0)==(a|0),!x1;)d1=$1,b1=f1;if(z)V1=0;else return Q1=p1,Z0=Q1,C=Y1,+Z0;for(;;)if(g1=V+(V1<<3)|0,l1=+A1[g1>>3],a1=l1,n1=n+(V1<<2)|0,s[n1>>2]=a1,o1=V1+1|0,_1=(o1|0)==(a|0),_1){Q1=p1;break}else V1=o1;return Z0=Q1,C=Y1,+Z0}function lQ(t,n,A,a,c){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0;var u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0;if(K=C,I=c+A|0,m=I<<2,u=m,x=C,C=C+((1*u|0)+15&-16)|0,M=(n|0)==0,T=(A|0)>0,M?T&&(G=A<<2,ae(x|0,0,G|0)|0):T&&(N=A<<2,s4(x|0,n|0,N|0)|0),O=(c|0)>0,!O){C=K;return}if(z=(A|0)>0,z)W=0,e0=A;else{Y=c<<2,ae(x|0,0,Y|0)|0,ae(a|0,0,Y|0)|0,C=K;return}for(;;){for(X=W,U=A,$0=0;;)if(b=X+1|0,w=x+(X<<2)|0,y=+s[w>>2],D=U+-1|0,Q=t+(D<<2)|0,_=+s[Q>>2],L=_*y,R=$0-L,t0=(b|0)==(e0|0),t0){E=R;break}else X=b,U=D,$0=R;if(p=x+(e0<<2)|0,s[p>>2]=E,B=a+(W<<2)|0,s[B>>2]=E,S=W+1|0,q=e0+1|0,J=(S|0)==(c|0),J)break;W=S,e0=q}C=K}function bS(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0;if(S0=C,c=e[n>>2]|0,u=(c|0)>1,u?(U2(A,1,1),Q=e[n>>2]|0,Y=Q+-1|0,U2(A,Y,4)):U2(A,0,1),a0=n+1156|0,u0=e[a0>>2]|0,d0=(u0|0)>0,d0){if(U2(A,1,1),w0=e[a0>>2]|0,C0=w0+-1|0,U2(A,C0,8),k0=e[a0>>2]|0,E=(k0|0)>0,E)for(I=n+1160|0,m=t+4|0,p=n+2184|0,f0=0;B=I+(f0<<2)|0,S=e[B>>2]|0,b=e[m>>2]|0,w=b+-1|0,y=Tt(w)|0,U2(A,S,y),D=p+(f0<<2)|0,_=e[D>>2]|0,L=e[m>>2]|0,x=L+-1|0,R=Tt(x)|0,U2(A,_,R),M=f0+1|0,T=e[a0>>2]|0,N=(M|0)<(T|0),N;)f0=M}else U2(A,0,1);if(U2(A,0,2),G=e[n>>2]|0,O=(G|0)>1,O){if(z=t+4|0,t0=e[z>>2]|0,J=(t0|0)>0,J){for(W=n+4|0,B0=0;$0=W+(B0<<2)|0,Z=e[$0>>2]|0,U2(A,Z,4),K=B0+1|0,s0=e[z>>2]|0,i0=(K|0)<(s0|0),i0;)B0=K;a=e[n>>2]|0,e0=a,I0=13}}else e0=G,I0=13;if(!((I0|0)==13&&(q=(e0|0)>0,!q)))for(X=n+1028|0,U=n+1092|0,p0=0;U2(A,0,8),r0=X+(p0<<2)|0,V=e[r0>>2]|0,U2(A,V,8),h0=U+(p0<<2)|0,o0=e[h0>>2]|0,U2(A,o0,8),g0=p0+1|0,j=e[n>>2]|0,l0=(g0|0)<(j|0),l0;)p0=g0}function DS(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0;n1=C,c=n4(1,3208)|0,u=t+28|0,Q=e[u>>2]|0,ae(c|0,0,3208)|0,Y=t+4|0,a0=e[Y>>2]|0,d0=(a0|0)<1;e:do if(d0)a1=24;else if(Q0=W4(n,1)|0,J0=(Q0|0)<0,J0)a1=24;else{if(H0=(Q0|0)==0,H0)e[c>>2]=1;else if(e1=W4(n,4)|0,E=e1+1|0,e[c>>2]=E,I=(e1|0)<0,I)break;if(m=W4(n,1)|0,p=(m|0)<0,!p){if(B=(m|0)==0,!B){if(S=W4(n,8)|0,b=S+1|0,w=c+1156|0,e[w>>2]=b,y=(S|0)<0,y)break;for(D=c+1160|0,_=c+2184|0,a=e[Y>>2]|0,T=a,b0=0;;){if(M=T+-1|0,N=Tt(M)|0,G=W4(n,N)|0,O=D+(b0<<2)|0,e[O>>2]=G,z=e[Y>>2]|0,t0=z+-1|0,J=Tt(t0)|0,W=W4(n,J)|0,e0=_+(b0<<2)|0,e[e0>>2]=W,q=W|G,X=(q|0)<0,U=(G|0)==(W|0),$1=U|X,$1||($0=e[Y>>2]|0,Z=(G|0)<($0|0),K=(W|0)<($0|0),f1=Z&K,x=b0+1|0,!f1))break e;if(L=e[w>>2]|0,R=(x|0)<(L|0),R)T=$0,b0=x;else break}}if(s0=W4(n,2)|0,i0=(s0|0)==0,i0){if(r0=e[c>>2]|0,V=(r0|0)>1,V){if(h0=e[Y>>2]|0,o0=(h0|0)>0,o0)for(g0=c+4|0,i1=0;;){if(I0=W4(n,4)|0,S0=g0+(i1<<2)|0,e[S0>>2]=I0,K0=e[c>>2]|0,_0=(I0|0)>=(K0|0),F0=(I0|0)<0,g1=F0|_0,B0=i1+1|0,g1)break e;if(f0=e[Y>>2]|0,p0=(B0|0)<(f0|0),p0)i1=B0;else{j=K0,a1=17;break}}}else j=r0,a1=17;if((a1|0)==17&&(l0=(j|0)>0,!l0))return A=c,A|0;for(u0=c+1028|0,w0=Q+16|0,C0=c+1092|0,k0=Q+20|0,c1=0;;){if(W4(n,8)|0,y0=W4(n,8)|0,Y0=u0+(c1<<2)|0,e[Y0>>2]=y0,R0=e[w0>>2]|0,D0=(y0|0)>=(R0|0),T0=(y0|0)<0,l1=T0|D0,l1||(V0=W4(n,8)|0,P0=C0+(c1<<2)|0,e[P0>>2]=V0,z0=e[k0>>2]|0,G0=(V0|0)>=(z0|0),O0=(V0|0)<0,s1=O0|G0,N0=c1+1|0,s1))break e;if(M0=e[c>>2]|0,U0=(N0|0)<(M0|0),U0)c1=N0;else{A=c;break}}return A|0}}}while(!1);return(a1|0)==24&&(r1=(c|0)==0,r1)?(A=0,A|0):(I2(c),A=0,A|0)}function _S(t){t=t|0;var n=0,A=0,a=0;a=C,n=(t|0)==0,n||I2(t)}function xS(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,k3=0,u3=0,p3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,X3=0,c6=0,p6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,L6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,L4=0,T4=0,j4=0,C4=0,N4=0,U9=0,G4=0,a4=0,R4=0,u4=0,Ce=0,q9=0,m9=0,Be=0,Ne=0,Xe=0,U4=0,Ge=0,P4=0,X4=0,be=0,e8=0,Z9=0,$e=0,f4=0,_6=0,O4=0,R9=0,$4=0,_4=0,le=0,W9=0,ce=0,ge=0,B4=0,ee=0,F4=0,he=0,C9=0,g6=0,Ue=0,l4=0,pe=0,p4=0,c4=0,P6=0,De=0,_e=0,t8=0,g4=0,k4=0,u8=0,J3=0,w9=0,B9=0,M4=0,te=0,$t=0,xe=0,lt=0,wt=0,z8=0,ct=0,gt=0,F8=0,M8=0,T8=0,N8=0,Z8=0,W8=0,kt=0,G8=0,U8=0,P8=0,k8=0,v8=0,f8=0,O8=0,q8=0,j8=0,X8=0,d8=0,Pe=0,Le=0,i8=0,S8=0,k9=0,ht=0,Qe=0,ut=0,vt=0,et=0,St=0,ie=0,tt=0,H8=0,b8=0,r8=0,q4=0,Re=0,n8=0,I8=0,D8=0,ue=0,j9=0,s8=0,E8=0,o8=0,m8=0,fe=0,ye=0,Oe=0,qe=0,X9=0,Fe=0,de=0,A8=0,we=0,Q4=0,C8=0,it=0,H4=0,I3=0,He=0,B8=0,re=0,H9=0,ne=0,D9=0,Ye=0,Y8=0,ft=0,rt=0,nt=0,J8=0,st=0,V8=0,a8=0,$8=0,_8=0,Y4=0,ot=0,x8=0,Je=0,p9=0,At=0,Ve=0,Nt=0,Ht=0,bt=0,at=0,Dt=0,se=0,Gt=0,Yt=0,l8=0,L8=0,_t=0,K8=0,Me=0,Ie=0,e4=0,xt=0,i7=0,G7=0,U7=0,P7=0,d7=0,Jt=0,I7=0,Vt=0,E7=0,Kt=0,m7=0,r7=0,oi=0,O7=0,C7=0,B7=0,Ai=0,p7=0,n7=0,ai=0,q7=0,H7=0,Y7=0,J7=0,s7=0,Q7=0,V7=0,zt=0,o7=0,Ut=0,Zt=0,$i=0,K7=0,li=0,y7=0,z7=0,w7=0,k7=0,Z7=0,v7=0,Wt=0,S7=0,W7=0,A7=0,Pt=0,b7=0,ke=0,D7=0,Lt=0,a7=0,n9=0,dt=0,p8=0,It=0,Rt=0,zr=0,Er=0,eo=0,Pn=0,to=0,On=0,io=0,ro=0,qn=0,no=0,Zr=0,so=0,oo=0,Ao=0,Hn=0,ao=0,Yn=0,Jn=0,$o=0,Wr=0,Vn=0,jr=0,Kn=0,zn=0,lo=0,co=0,go=0,Xr=0,Zn=0,ho=0,mr=0,en=0,uo=0,fo=0,tn=0,ci=0,Wn=0,Io=0,Eo=0,jn=0,Xn=0,es=0,mo=0,gi=0,rn=0,Co=0,ts=0,Bo=0,po=0,Qo=0,is=0,yo=0,wo=0,ko=0,vo=0,rs=0,So=0,bo=0,nn=0,Cr=0,sn=0,Do=0,ji=0,_o=0,ns=0,on=0,ss=0,An=0,xo=0,os=0,As=0,Lo=0,as=0,$s=0,Ro=0,Br=0,ls=0,hi=0,an=0,pr=0,Xi=0,Qr=0,Hi=0,yr=0,cs=0,Yi=0,yi=0,wi=0,j7=0,ki=0,wr=0,er=0,tr=0,kr=0,ui=0,Fo=0,$7=0,tl=0,$n=0,ln=0;if($n=C,_=t+64|0,L=e[_>>2]|0,i2=L+4|0,O3=e[i2>>2]|0,_4=O3+28|0,Y4=e[_4>>2]|0,uo=L+104|0,gi=e[uo>>2]|0,vo=t+104|0,on=e[vo>>2]|0,x=t+36|0,W=e[x>>2]|0,r0=O3+4|0,k0=e[r0>>2]|0,N0=k0<<2,a=N0,G0=C,C=C+((1*a|0)+15&-16)|0,l1=qt(t,N0)|0,B1=e[r0>>2]|0,U1=B1<<2,W1=qt(t,U1)|0,l2=e[r0>>2]|0,F2=l2<<2,O2=qt(t,F2)|0,k2=on+4|0,_5=+s[k2>>2],g2=e[r0>>2]|0,L2=g2<<2,c=L2,F5=C,C=C+((1*c|0)+15&-16)|0,L3=on+8|0,M5=e[L3>>2]|0,K5=t+28|0,c6=e[K5>>2]|0,Y3=(Y4+544|0)+(c6<<2)|0,n6=e[Y3>>2]|0,R6=gi+56|0,u9=e[R6>>2]|0,E4=(c6|0)!=0,A4=E4?2:0,D=A4+M5|0,a4=u9+(D*52|0)|0,P4=t+40|0,e[P4>>2]=c6,le=(g2|0)>0,le)for(l4=+(W|0),J3=4/l4,gt=(s[p2>>2]=J3,e[p2>>2]|0),k8=(W|0)/2&-1,S8=k8<<2,b8=gt&2147483647,o8=+(b8>>>0),Q4=o8*7177114298428933e-22,Ye=Q4+-764.6162109375,ot=Ye,se=ot+.345,i7=se,r7=gi+4|0,Y7=t+24|0,li=t+32|0,Pt=i7+-764.6162109375,zr=W+-1|0,so=(zr|0)>1,Kn=i7+-382.30810546875,yr=_5,Yi=0;;){if(fo=e[t>>2]|0,tn=fo+(Yi<<2)|0,ci=e[tn>>2]|0,Wn=qt(t,S8)|0,Io=W1+(Yi<<2)|0,e[Io>>2]=Wn,Eo=qt(t,S8)|0,jn=l1+(Yi<<2)|0,e[jn>>2]=Eo,Xn=e[Y7>>2]|0,es=e[K5>>2]|0,mo=e[li>>2]|0,gb(ci,r7,Y4,Xn,es,mo),rn=e[K5>>2]|0,Co=(gi+12|0)+(rn<<2)|0,ts=e[Co>>2]|0,Bo=e[ts>>2]|0,po=e[jn>>2]|0,cQ(Bo,ci,po),Qo=e[K5>>2]|0,is=(gi+20|0)+(Qo*12|0)|0,Ab(is,ci),yo=e[ci>>2]|0,wo=yo&2147483647,ko=+(wo>>>0),rs=ko*7177114298428933e-22,So=Pt+rs,bo=So,nn=bo+.345,Cr=nn,s[ci>>2]=Cr,sn=F5+(Yi<<2)|0,s[sn>>2]=Cr,so)for(O=Cr,wr=1;;)if(Do=ci+(wr<<2)|0,ji=+s[Do>>2],_o=ji*ji,ns=wr+1|0,ss=ci+(ns<<2)|0,An=+s[ss>>2],xo=An*An,os=xo+_o,As=(s[p2>>2]=os,e[p2>>2]|0),Lo=As&2147483647,as=+(Lo>>>0),$s=as*35885571492144663e-23,Ro=Kn+$s,Br=Ro,R=Br+.345,M=R,T=ns>>1,N=ci+(T<<2)|0,s[N>>2]=M,G=M>O,G?(s[sn>>2]=M,mr=M):mr=O,z=wr+2|0,Y=(z|0)<(zr|0),Y)O=mr,wr=z;else{J=mr;break}else J=Cr;if(t0=J>0,t0?(s[sn>>2]=0,q=0):q=J,e0=q>yr,cs=e0?q:yr,X=Yi+1|0,U=e[r0>>2]|0,$0=(X|0)<(U|0),$0)yr=cs,Yi=X;else{p=S8,S=k8,Hi=cs;break}}else b=(W|0)/2&-1,w=b<<2,p=w,S=b,Hi=_5;Z=qt(t,p)|0,K=qt(t,p)|0,a0=e[r0>>2]|0,s0=(a0|0)>0;e:do if(s0){if(i0=(W|0)>1,V=gi+48|0,i0)wi=0;else{for(yi=0;;){t6=(n6+4|0)+(yi<<2)|0,f6=e[t6>>2]|0,H3=l1+(yi<<2)|0,D3=e[H3>>2]|0,Z3=e[t>>2]|0,b6=Z3+(yi<<2)|0,A6=e[b6>>2]|0,t3=A6+(S<<2)|0,e[P4>>2]=c6,O6=qt(t,60)|0,s3=O2+(yi<<2)|0,e[s3>>2]=O6,$7=O6,ln=$7+60|0;do e[$7>>2]=0,$7=$7+4|0;while(($7|0)<(ln|0));if(fQ(a4,t3,Z),a6=F5+(yi<<2)|0,d6=+s[a6>>2],dQ(a4,A6,K,Hi,d6),j$(a4,Z,K,1,A6,D3,t3),_3=(n6+1028|0)+(f6<<2)|0,N6=e[_3>>2]|0,Q6=(Y4+800|0)+(N6<<2)|0,L6=e[Q6>>2]|0,K6=(L6|0)==1,!K6){A=-1;break}if(I6=e[V>>2]|0,J6=I6+(N6<<2)|0,F3=e[J6>>2]|0,j6=W$(t,F3,t3,A6)|0,G6=e[s3>>2]|0,e9=G6+28|0,e[e9>>2]=j6,s9=Rh(t)|0,U6=(s9|0)==0,U6||(D6=e[s3>>2]|0,z6=D6+28|0,y6=e[z6>>2]|0,F6=(y6|0)==0,F6||(j$(a4,Z,K,2,A6,D3,t3),M3=e[_3>>2]|0,M6=e[V>>2]|0,t9=M6+(M3<<2)|0,A9=e[t9>>2]|0,X6=W$(t,A9,t3,A6)|0,f9=e[s3>>2]|0,d9=f9+56|0,e[d9>>2]=X6,j$(a4,Z,K,0,A6,D3,t3),a9=e[_3>>2]|0,$9=e[V>>2]|0,T9=$9+(a9<<2)|0,E6=e[T9>>2]|0,T6=W$(t,E6,t3,A6)|0,i9=e[s3>>2]|0,e[i9>>2]=T6,N9=e[_3>>2]|0,I9=e[V>>2]|0,o4=I9+(N9<<2)|0,h4=e[o4>>2]|0,G9=e[s3>>2]|0,z9=e[G9>>2]|0,b9=G9+28|0,E9=e[b9>>2]|0,q6=R8(t,h4,z9,E9,9362)|0,r9=e[s3>>2]|0,m4=r9+4|0,e[m4>>2]=q6,S4=e[_3>>2]|0,y9=e[V>>2]|0,b4=y9+(S4<<2)|0,D4=e[b4>>2]|0,L4=e[s3>>2]|0,T4=e[L4>>2]|0,j4=L4+28|0,C4=e[j4>>2]|0,N4=R8(t,D4,T4,C4,18724)|0,U9=e[s3>>2]|0,G4=U9+8|0,e[G4>>2]=N4,R4=e[_3>>2]|0,u4=e[V>>2]|0,Ce=u4+(R4<<2)|0,q9=e[Ce>>2]|0,m9=e[s3>>2]|0,Be=e[m9>>2]|0,Ne=m9+28|0,Xe=e[Ne>>2]|0,U4=R8(t,q9,Be,Xe,28086)|0,Ge=e[s3>>2]|0,X4=Ge+12|0,e[X4>>2]=U4,be=e[_3>>2]|0,e8=e[V>>2]|0,Z9=e8+(be<<2)|0,$e=e[Z9>>2]|0,f4=e[s3>>2]|0,_6=e[f4>>2]|0,O4=f4+28|0,R9=e[O4>>2]|0,$4=R8(t,$e,_6,R9,37449)|0,W9=e[s3>>2]|0,ce=W9+16|0,e[ce>>2]=$4,ge=e[_3>>2]|0,B4=e[V>>2]|0,ee=B4+(ge<<2)|0,F4=e[ee>>2]|0,he=e[s3>>2]|0,C9=e[he>>2]|0,g6=he+28|0,Ue=e[g6>>2]|0,pe=R8(t,F4,C9,Ue,46811)|0,p4=e[s3>>2]|0,c4=p4+20|0,e[c4>>2]=pe,P6=e[_3>>2]|0,De=e[V>>2]|0,_e=De+(P6<<2)|0,t8=e[_e>>2]|0,g4=e[s3>>2]|0,k4=e[g4>>2]|0,u8=g4+28|0,w9=e[u8>>2]|0,B9=R8(t,t8,k4,w9,56173)|0,M4=e[s3>>2]|0,te=M4+24|0,e[te>>2]=B9,$t=e[_3>>2]|0,xe=e[V>>2]|0,lt=xe+($t<<2)|0,wt=e[lt>>2]|0,z8=e[s3>>2]|0,ct=z8+28|0,F8=e[ct>>2]|0,M8=z8+56|0,T8=e[M8>>2]|0,N8=R8(t,wt,F8,T8,9362)|0,Z8=e[s3>>2]|0,W8=Z8+32|0,e[W8>>2]=N8,kt=e[_3>>2]|0,G8=e[V>>2]|0,U8=G8+(kt<<2)|0,P8=e[U8>>2]|0,v8=e[s3>>2]|0,f8=v8+28|0,O8=e[f8>>2]|0,q8=v8+56|0,j8=e[q8>>2]|0,X8=R8(t,P8,O8,j8,18724)|0,d8=e[s3>>2]|0,Pe=d8+36|0,e[Pe>>2]=X8,Le=e[_3>>2]|0,i8=e[V>>2]|0,k9=i8+(Le<<2)|0,ht=e[k9>>2]|0,Qe=e[s3>>2]|0,ut=Qe+28|0,vt=e[ut>>2]|0,et=Qe+56|0,St=e[et>>2]|0,ie=R8(t,ht,vt,St,28086)|0,tt=e[s3>>2]|0,H8=tt+40|0,e[H8>>2]=ie,r8=e[_3>>2]|0,q4=e[V>>2]|0,Re=q4+(r8<<2)|0,n8=e[Re>>2]|0,I8=e[s3>>2]|0,D8=I8+28|0,ue=e[D8>>2]|0,j9=I8+56|0,s8=e[j9>>2]|0,E8=R8(t,n8,ue,s8,37449)|0,m8=e[s3>>2]|0,fe=m8+44|0,e[fe>>2]=E8,ye=e[_3>>2]|0,Oe=e[V>>2]|0,qe=Oe+(ye<<2)|0,X9=e[qe>>2]|0,Fe=e[s3>>2]|0,de=Fe+28|0,A8=e[de>>2]|0,we=Fe+56|0,C8=e[we>>2]|0,it=R8(t,X9,A8,C8,46811)|0,H4=e[s3>>2]|0,I3=H4+48|0,e[I3>>2]=it,He=e[_3>>2]|0,B8=e[V>>2]|0,re=B8+(He<<2)|0,H9=e[re>>2]|0,ne=e[s3>>2]|0,D9=ne+28|0,Y8=e[D9>>2]|0,ft=ne+56|0,rt=e[ft>>2]|0,nt=R8(t,H9,Y8,rt,56173)|0,J8=e[s3>>2]|0,st=J8+52|0,e[st>>2]=nt)),V8=yi+1|0,a8=e[r0>>2]|0,$8=(V8|0)<(a8|0),$8)yi=V8;else{B=V,x8=a8;break e}}return C=$n,A|0}for(;;){x6=(n6+4|0)+(wi<<2)|0,d0=e[x6>>2]|0,Y6=l1+(wi<<2)|0,l0=e[Y6>>2]|0,C6=e[t>>2]|0,b3=C6+(wi<<2)|0,j=e[b3>>2]|0,h0=j+(S<<2)|0,e[P4>>2]=c6,e6=qt(t,60)|0,Q0=O2+(wi<<2)|0,e[Q0>>2]=e6,$7=e6,ln=$7+60|0;do e[$7>>2]=0,$7=$7+4|0;while(($7|0)<(ln|0));for(er=0;j3=l0+(er<<2)|0,S3=e[j3>>2]|0,g3=S3&2147483647,q3=+(g3>>>0),l6=q3*7177114298428933e-22,d3=l6+-764.6162109375,k6=d3,v6=k6+.345,S6=v6,Q=er+S|0,B6=j+(Q<<2)|0,s[B6>>2]=S6,X3=er+1|0,p6=(X3|0)<(S|0),p6;)er=X3;if(fQ(a4,h0,Z),o0=F5+(wi<<2)|0,g0=+s[o0>>2],dQ(a4,j,K,Hi,g0),j$(a4,Z,K,1,j,l0,h0),u0=(n6+1028|0)+(d0<<2)|0,w0=e[u0>>2]|0,C0=(Y4+800|0)+(w0<<2)|0,f0=e[C0>>2]|0,B0=(f0|0)==1,!B0){A=-1;break}if(p0=e[V>>2]|0,I0=p0+(w0<<2)|0,S0=e[I0>>2]|0,K0=W$(t,S0,h0,j)|0,_0=e[Q0>>2]|0,F0=_0+28|0,e[F0>>2]=K0,M0=Rh(t)|0,U0=(M0|0)==0,U0||(y0=e[Q0>>2]|0,Y0=y0+28|0,R0=e[Y0>>2]|0,D0=(R0|0)==0,D0||(j$(a4,Z,K,2,j,l0,h0),T0=e[u0>>2]|0,V0=e[V>>2]|0,J0=V0+(T0<<2)|0,P0=e[J0>>2]|0,z0=W$(t,P0,h0,j)|0,O0=e[Q0>>2]|0,r1=O0+56|0,e[r1>>2]=z0,j$(a4,Z,K,0,j,l0,h0),H0=e[u0>>2]|0,e1=e[V>>2]|0,b0=e1+(H0<<2)|0,i1=e[b0>>2]|0,c1=W$(t,i1,h0,j)|0,$1=e[Q0>>2]|0,e[$1>>2]=c1,f1=e[u0>>2]|0,g1=e[V>>2]|0,s1=g1+(f1<<2)|0,a1=e[s1>>2]|0,n1=e[Q0>>2]|0,o1=e[n1>>2]|0,Z0=n1+28|0,I1=e[Z0>>2]|0,h1=R8(t,a1,o1,I1,9362)|0,m1=e[Q0>>2]|0,d1=m1+4|0,e[d1>>2]=h1,E1=e[u0>>2]|0,p1=e[V>>2]|0,Q1=p1+(E1<<2)|0,_1=e[Q1>>2]|0,x1=e[Q0>>2]|0,w1=e[x1>>2]|0,S1=x1+28|0,L1=e[S1>>2]|0,F1=R8(t,_1,w1,L1,18724)|0,G1=e[Q0>>2]|0,k1=G1+8|0,e[k1>>2]=F1,Z1=e[u0>>2]|0,N1=e[V>>2]|0,b1=N1+(Z1<<2)|0,V1=e[b1>>2]|0,O1=e[Q0>>2]|0,q1=e[O1>>2]|0,H1=O1+28|0,Y1=e[H1>>2]|0,j1=R8(t,V1,q1,Y1,28086)|0,n2=e[Q0>>2]|0,P1=n2+12|0,e[P1>>2]=j1,c2=e[u0>>2]|0,z1=e[V>>2]|0,u2=z1+(c2<<2)|0,o2=e[u2>>2]|0,E2=e[Q0>>2]|0,A2=e[E2>>2]|0,K1=E2+28|0,h2=e[K1>>2]|0,$2=R8(t,o2,A2,h2,37449)|0,r2=e[Q0>>2]|0,a2=r2+16|0,e[a2>>2]=$2,X1=e[u0>>2]|0,s2=e[V>>2]|0,f2=s2+(X1<<2)|0,e2=e[f2>>2]|0,y2=e[Q0>>2]|0,v2=e[y2>>2]|0,w2=y2+28|0,C2=e[w2>>2]|0,D2=R8(t,e2,v2,C2,46811)|0,N2=e[Q0>>2]|0,d2=N2+20|0,e[d2>>2]=D2,K2=e[u0>>2]|0,G2=e[V>>2]|0,H2=G2+(K2<<2)|0,M2=e[H2>>2]|0,P2=e[Q0>>2]|0,z2=e[P2>>2]|0,o5=P2+28|0,T1=e[o5>>2]|0,X2=R8(t,M2,z2,T1,56173)|0,L5=e[Q0>>2]|0,e5=L5+24|0,e[e5>>2]=X2,b5=e[u0>>2]|0,Z2=e[V>>2]|0,f5=Z2+(b5<<2)|0,v5=e[f5>>2]|0,P5=e[Q0>>2]|0,l5=P5+28|0,m5=e[l5>>2]|0,n5=P5+56|0,x2=e[n5>>2]|0,_2=R8(t,v5,m5,x2,9362)|0,B2=e[Q0>>2]|0,C5=B2+32|0,e[C5>>2]=_2,R5=e[u0>>2]|0,d5=e[V>>2]|0,D5=d5+(R5<<2)|0,G5=e[D5>>2]|0,q2=e[Q0>>2]|0,I5=q2+28|0,A5=e[I5>>2]|0,c5=q2+56|0,B5=e[c5>>2]|0,M1=R8(t,G5,A5,B5,18724)|0,S5=e[Q0>>2]|0,g5=S5+36|0,e[g5>>2]=M1,a5=e[u0>>2]|0,W2=e[V>>2]|0,p5=W2+(a5<<2)|0,t5=e[p5>>2]|0,s5=e[Q0>>2]|0,h5=s5+28|0,J2=e[h5>>2]|0,u5=s5+56|0,i5=e[u5>>2]|0,x5=R8(t,t5,J2,i5,28086)|0,j2=e[Q0>>2]|0,$5=j2+40|0,e[$5>>2]=x5,Q5=e[u0>>2]|0,q5=e[V>>2]|0,j5=q5+(Q5<<2)|0,E5=e[j5>>2]|0,f3=e[Q0>>2]|0,h3=f3+28|0,J5=e[h3>>2]|0,X5=f3+56|0,n3=e[X5>>2]|0,m3=R8(t,E5,J5,n3,37449)|0,V5=e[Q0>>2]|0,k3=V5+44|0,e[k3>>2]=m3,u3=e[u0>>2]|0,p3=e[V>>2]|0,z3=p3+(u3<<2)|0,G3=e[z3>>2]|0,z5=e[Q0>>2]|0,w3=z5+28|0,W5=e[w3>>2]|0,i6=z5+56|0,U3=e[i6>>2]|0,a3=R8(t,G3,W5,U3,46811)|0,l3=e[Q0>>2]|0,c3=l3+48|0,e[c3>>2]=a3,C3=e[u0>>2]|0,H5=e[V>>2]|0,U5=H5+(C3<<2)|0,O5=e[U5>>2]|0,k5=e[Q0>>2]|0,P3=k5+28|0,o6=e[P3>>2]|0,e3=k5+56|0,A3=e[e3>>2]|0,R3=R8(t,O5,o6,A3,56173)|0,u6=e[Q0>>2]|0,Q3=u6+52|0,e[Q3>>2]=R3)),v3=wi+1|0,y3=e[r0>>2]|0,r6=(v3|0)<(y3|0),r6)wi=v3;else{B=V,x8=y3;break e}}return C=$n,A|0}else y=gi+48|0,B=y,x8=a0;while(!1);for(s[k2>>2]=Hi,_8=x8<<2,u=_8,Je=C,C=C+((1*u|0)+15&-16)|0,E=_8,p9=C,C=C+((1*E|0)+15&-16)|0,At=Rh(t)|0,Ve=(At|0)!=0,Nt=Ve?0:7,Ht=gi+44|0,bt=t+24|0,at=t+32|0,Dt=Y4+2868|0,Gt=gi+52|0,ui=Nt;;){if(Yt=(on+12|0)+(ui<<2)|0,l8=e[Yt>>2]|0,U2(l8,0,1),L8=e[Ht>>2]|0,U2(l8,c6,L8),_t=e[K5>>2]|0,K8=(_t|0)==0,K8||(Me=e[bt>>2]|0,U2(l8,Me,1),Ie=e[at>>2]|0,U2(l8,Ie,1)),e4=e[r0>>2]|0,xt=(e4|0)>0,xt)for(j7=0;;)if(G7=(n6+4|0)+(j7<<2)|0,U7=e[G7>>2]|0,P7=W1+(j7<<2)|0,d7=e[P7>>2]|0,Jt=(n6+1028|0)+(U7<<2)|0,I7=e[Jt>>2]|0,Vt=e[B>>2]|0,E7=Vt+(I7<<2)|0,Kt=e[E7>>2]|0,m7=O2+(j7<<2)|0,oi=e[m7>>2]|0,O7=oi+(ui<<2)|0,C7=e[O7>>2]|0,B7=uS(l8,t,Kt,C7,d7)|0,Ai=G0+(j7<<2)|0,e[Ai>>2]=B7,p7=j7+1|0,n7=e[r0>>2]|0,ai=(p7|0)<(n7|0),ai)j7=p7;else{I=n7;break}else I=e4;if(q7=e[K5>>2]|0,H7=((Y4+3240|0)+(q7*60|0)|0)+(ui<<2)|0,J7=e[H7>>2]|0,US(ui,Dt,a4,n6,l1,W1,G0,J7,I),s7=e[n6>>2]|0,Q7=(s7|0)>0,Q7)for(ki=0;;){if(V7=(n6+1092|0)+(ki<<2)|0,zt=e[V7>>2]|0,o7=e[r0>>2]|0,Ut=(o7|0)>0,Ut)for(en=o7,hi=0,tr=0;;)if(Zt=(n6+4|0)+(tr<<2)|0,$i=e[Zt>>2]|0,K7=($i|0)==(ki|0),K7?(y7=p9+(hi<<2)|0,z7=G0+(tr<<2)|0,w7=e[z7>>2]|0,Fo=(w7|0)!=0,n=Fo&1,e[y7>>2]=n,k7=W1+(tr<<2)|0,Z7=e[k7>>2]|0,v7=hi+1|0,Wt=Je+(hi<<2)|0,e[Wt>>2]=Z7,m=e[r0>>2]|0,A7=m,an=v7):(A7=en,an=hi),S7=tr+1|0,W7=(S7|0)<(A7|0),W7)en=A7,hi=an,tr=S7;else{ls=an;break}else ls=0;if(b7=(Y4+1312|0)+(zt<<2)|0,ke=e[b7>>2]|0,D7=25648+(ke<<2)|0,Lt=e[D7>>2]|0,a7=Lt+20|0,n9=e[a7>>2]|0,dt=e[Gt>>2]|0,p8=dt+(zt<<2)|0,It=e[p8>>2]|0,Rt=yB[n9&7](t,It,Je,p9,ls)|0,Er=e[r0>>2]|0,eo=(Er|0)>0,eo)for(Xi=0,kr=0;;)if(Pn=(n6+4|0)+(kr<<2)|0,to=e[Pn>>2]|0,On=(to|0)==(ki|0),On?(io=W1+(kr<<2)|0,ro=e[io>>2]|0,qn=Xi+1|0,no=Je+(Xi<<2)|0,e[no>>2]=ro,Qr=qn):Qr=Xi,Zr=kr+1|0,oo=(Zr|0)<(Er|0),oo)Xi=Qr,kr=Zr;else{pr=Qr;break}else pr=0;if(Ao=e[b7>>2]|0,Hn=25648+(Ao<<2)|0,ao=e[Hn>>2]|0,Yn=ao+24|0,Jn=e[Yn>>2]|0,$o=e[Gt>>2]|0,Wr=$o+(zt<<2)|0,Vn=e[Wr>>2]|0,TQ[Jn&3](l8,t,Vn,Je,p9,pr,Rt,ki)|0,jr=ki+1|0,zn=e[n6>>2]|0,lo=(jr|0)<(zn|0),lo)ki=jr;else break}if(co=ui+1|0,go=Rh(t)|0,Xr=(go|0)!=0,Zn=Xr?14:7,ho=(ui|0)<(Zn|0),ho)ui=co;else{A=0;break}}return C=$n,A|0}function LS(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0;if(L2=C,b=t+64|0,w=e[b>>2]|0,m1=w+4|0,F1=e[m1>>2]|0,Y1=F1+28|0,K1=e[Y1>>2]|0,y2=w+104|0,M2=e[y2>>2]|0,f5=t+28|0,R5=e[f5>>2]|0,y=K1+(R5<<2)|0,O=e[y>>2]|0,Z=t+36|0,e[Z>>2]=O,l0=F1+4|0,K0=e[l0>>2]|0,T0=K0<<2,c=T0,i1=C,C=C+((1*c|0)+15&-16)|0,u=T0,Z0=C,C=C+((1*u|0)+15&-16)|0,E=T0,I1=C,C=C+((1*E|0)+15&-16)|0,I=T0,h1=C,C=C+((1*I|0)+15&-16)|0,d1=e[l0>>2]|0,E1=(d1|0)>0,E1)for(B1=n+4|0,p1=n+1028|0,Q1=M2+48|0,_1=O<<1,x1=_1&2147483646,W2=0;;)if(U1=B1+(W2<<2)|0,Z1=e[U1>>2]|0,N1=p1+(Z1<<2)|0,b1=e[N1>>2]|0,V1=(K1+800|0)+(b1<<2)|0,O1=e[V1>>2]|0,q1=25640+(O1<<2)|0,H1=e[q1>>2]|0,j1=H1+20|0,n2=e[j1>>2]|0,W1=e[Q1>>2]|0,P1=W1+(b1<<2)|0,c2=e[P1>>2]|0,z1=f7[n2&15](t,c2)|0,u2=h1+(W2<<2)|0,e[u2>>2]=z1,o2=I1+(W2<<2)|0,j2=(z1|0)!=0,A=j2&1,e[o2>>2]=A,E2=e[t>>2]|0,A2=E2+(W2<<2)|0,h2=e[A2>>2]|0,ae(h2|0,0,x1|0)|0,$2=W2+1|0,i2=e[l0>>2]|0,l2=($2|0)<(i2|0),l2)W2=$2;else{n1=i2;break}else n1=d1;if(w1=n+1156|0,S1=e[w1>>2]|0,L1=(S1|0)>0,L1)for(G1=n+1160|0,k1=n+2184|0,g2=0;e2=G1+(g2<<2)|0,v2=e[e2>>2]|0,w2=I1+(v2<<2)|0,C2=e[w2>>2]|0,F2=(C2|0)==0,D2=k1+(g2<<2)|0,N2=e[D2>>2]|0,F2?(d2=I1+(N2<<2)|0,K2=e[d2>>2]|0,G2=(K2|0)==0,G2||($5=10)):$5=10,($5|0)==10&&($5=0,e[w2>>2]=1,H2=I1+(N2<<2)|0,e[H2>>2]=1),P2=g2+1|0,z2=(P2|0)<(S1|0),z2;)g2=P2;if(r2=e[n>>2]|0,a2=(r2|0)>0,a2){for(X1=n+1092|0,s2=M2+52|0,f2=n+4|0,o5=n1,p5=0;;){if(O2=(o5|0)>0,O2)for(o1=o5,g5=0,u5=0;;)if(T1=f2+(u5<<2)|0,X2=e[T1>>2]|0,L5=(X2|0)==(p5|0),L5?(e5=I1+(u5<<2)|0,b5=e[e5>>2]|0,Z2=Z0+(g5<<2)|0,x5=(b5|0)!=0,a=x5&1,e[Z2>>2]=a,v5=e[t>>2]|0,P5=v5+(u5<<2)|0,l5=e[P5>>2]|0,k2=g5+1|0,m5=i1+(g5<<2)|0,e[m5>>2]=l5,B=e[l0>>2]|0,_2=B,a5=k2):(_2=o1,a5=g5),n5=u5+1|0,x2=(n5|0)<(_2|0),x2)o1=_2,g5=a5,u5=n5;else{S5=a5;break}else S5=0;if(B2=X1+(p5<<2)|0,C5=e[B2>>2]|0,d5=(K1+1312|0)+(C5<<2)|0,D5=e[d5>>2]|0,G5=25648+(D5<<2)|0,_5=e[G5>>2]|0,q2=_5+28|0,I5=e[q2>>2]|0,A5=e[s2>>2]|0,c5=A5+(C5<<2)|0,B5=e[c5>>2]|0,yB[I5&7](t,B5,i1,Z0,S5)|0,M1=p5+1|0,D=e[n>>2]|0,Q=(M1|0)<(D|0),!Q)break;p=e[l0>>2]|0,o5=p,p5=M1}S=e[w1>>2]|0,_=S}else _=S1;if(L=(_|0)>0,L)for(x=n+1160|0,R=e[t>>2]|0,M=n+2184|0,T=(O|0)/2&-1,N=(O|0)>1,s5=_;;){if(t5=s5+-1|0,e0=x+(t5<<2)|0,q=e[e0>>2]|0,X=R+(q<<2)|0,U=e[X>>2]|0,$0=M+(t5<<2)|0,K=e[$0>>2]|0,a0=R+(K<<2)|0,s0=e[a0>>2]|0,N)for(i5=0;;){i0=U+(i5<<2)|0,r0=+s[i0>>2],V=s0+(i5<<2)|0,h0=+s[V>>2],o0=r0>0,g0=h0>0;do if(o0)if(g0){s[i0>>2]=r0,j=r0-h0,s[V>>2]=j;break}else{s[V>>2]=r0,u0=h0+r0,s[i0>>2]=u0;break}else if(g0){s[i0>>2]=r0,d0=h0+r0,s[V>>2]=d0;break}else{s[V>>2]=r0,w0=r0-h0,s[i0>>2]=w0;break}while(!1);if(C0=i5+1|0,k0=(C0|0)<(T|0),k0)i5=C0;else break}if(G=(s5|0)>1,G)s5=t5;else break}if(z=e[l0>>2]|0,Y=(z|0)>0,!Y)return C=L2,0;for(t0=n+4|0,J=n+1028|0,W=M2+48|0,h5=0;;)if(B0=e[t>>2]|0,p0=B0+(h5<<2)|0,I0=e[p0>>2]|0,S0=t0+(h5<<2)|0,_0=e[S0>>2]|0,Q0=J+(_0<<2)|0,F0=e[Q0>>2]|0,M0=(K1+800|0)+(F0<<2)|0,N0=e[M0>>2]|0,U0=25640+(N0<<2)|0,y0=e[U0>>2]|0,Y0=y0+24|0,R0=e[Y0>>2]|0,D0=e[W>>2]|0,V0=D0+(F0<<2)|0,J0=e[V0>>2]|0,P0=h1+(h5<<2)|0,z0=e[P0>>2]|0,pB[R0&3](t,J0,z0,I0)|0,G0=h5+1|0,O0=e[l0>>2]|0,r1=(G0|0)<(O0|0),r1)h5=G0;else{m=O0;break}if(f0=(m|0)>0,!f0)return C=L2,0;for(J2=0;H0=e[t>>2]|0,e1=H0+(J2<<2)|0,b0=e[e1>>2]|0,c1=e[f5>>2]|0,$1=(M2+12|0)+(c1<<2)|0,f1=e[$1>>2]|0,g1=e[f1>>2]|0,RS(g1,b0,b0),l1=J2+1|0,s1=e[l0>>2]|0,a1=(l1|0)<(s1|0),a1;)J2=l1;return C=L2,0}function dB(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0;if(w1=C,A=(n|0)/4&-1,a=A<<2,y=S9(a)|0,O=A+n|0,Z=O<<2,l0=S9(Z)|0,K0=n>>1,T0=+(n|0),i1=T0,I1=+Vr(+i1),c=I1*1.4426950408889634,u=+Oi(c),E=~~u,I=t+4|0,e[I>>2]=E,e[t>>2]=n,m=t+8|0,e[m>>2]=l0,p=t+12|0,e[p>>2]=y,B=(n|0)>3,!B){Z0=4/T0,h1=t+16|0,s[h1>>2]=Z0;return}for(S=+(n|0),b=3.141592653589793/S,w=n<<1,D=+(w|0),Q=3.141592653589793/D,B1=0;M=B1<<2,T=+(M|0),N=b*T,G=+ZA(+N),z=G,Y=B1<<1,t0=l0+(Y<<2)|0,s[t0>>2]=z,J=+Gn(+N),W=J,e0=-W,q=Y|1,X=l0+(q<<2)|0,s[X>>2]=e0,U=+(q|0),$0=Q*U,K=+ZA(+$0),a0=K,s0=Y+K0|0,i0=l0+(s0<<2)|0,s[i0>>2]=a0,r0=+Gn(+$0),V=r0,h0=s0+1|0,o0=l0+(h0<<2)|0,s[o0>>2]=V,g0=B1+1|0,j=(g0|0)<(A|0),j;)B1=g0;if(_=(n|0)/8&-1,L=(n|0)>7,!L){Z0=4/T0,h1=t+16|0,s[h1>>2]=Z0;return}for(x=+(n|0),R=3.141592653589793/x,p1=0;u0=p1<<2,d0=u0|2,w0=+(d0|0),C0=R*w0,k0=+ZA(+C0),f0=k0*.5,B0=f0,p0=p1<<1,I0=p0+n|0,S0=l0+(I0<<2)|0,s[S0>>2]=B0,_0=+Gn(+C0),Q0=_0*-.5,F0=Q0,M0=I0+1|0,N0=l0+(M0<<2)|0,s[N0>>2]=F0,U0=p1+1|0,y0=(U0|0)<(_|0),y0;)p1=U0;if(Y0=E+-1|0,R0=1<>2]=Z0;return}for(;;){for(z0=J0,m1=0,_1=0;;)if(P0=z0&Q1,G0=(P0|0)==0,O0=1<<_1,r1=G0?0:O0,d1=r1|m1,H0=_1+1|0,e1=J0>>H0,b0=(e1|0)==0,b0){E1=d1;break}else z0=e1,m1=d1,_1=H0;if(c1=E1^-1,$1=D0&c1,f1=$1+-1|0,g1=Q1<<1,l1=y+(g1<<2)|0,e[l1>>2]=f1,s1=g1|1,a1=y+(s1<<2)|0,e[a1>>2]=E1,n1=Q1+1|0,o1=(n1|0)<(_|0),o1)Q1=n1;else break}Z0=4/T0,h1=t+16|0,s[h1>>2]=Z0}function IB(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0;p=C,n=(t|0)==0,!n&&(A=t+8|0,a=e[A>>2]|0,c=(a|0)==0,c||I2(a),u=t+12|0,E=e[u>>2]|0,I=(E|0)==0,I||I2(E),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0)}function RS(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,k3=0,u3=0,p3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0;for(q3=C,E=e[t>>2]|0,I=E>>1,W1=E>>2,a=I+-7|0,K2=n+(a<<2)|0,c=I+W1|0,e5=A+(c<<2)|0,_2=t+8|0,c5=e[_2>>2]|0,h5=c5+(W1<<2)|0,c3=h5,U5=K2,v3=e5;E5=v3+-16|0,p3=U5+8|0,m=+s[p3>>2],x=c3+12|0,W=+s[x>>2],r0=m*W,k0=-r0,N0=+s[U5>>2],G0=c3+8|0,l1=+s[G0>>2],B1=l1*N0,U1=k0-B1,s[E5>>2]=U1,P1=+s[U5>>2],l2=+s[x>>2],y2=l2*P1,v2=+s[p3>>2],w2=+s[G0>>2],C2=w2*v2,F2=y2-C2,D2=v3+-12|0,s[D2>>2]=F2,N2=U5+24|0,d2=+s[N2>>2],G2=c3+4|0,H2=+s[G2>>2],M2=d2*H2,P2=-M2,z2=U5+16|0,o5=+s[z2>>2],O2=+s[c3>>2],T1=O2*o5,X2=P2-T1,L5=v3+-8|0,s[L5>>2]=X2,b5=+s[z2>>2],Z2=+s[G2>>2],f5=Z2*b5,v5=+s[N2>>2],P5=+s[c3>>2],l5=P5*v5,k2=f5-l5,m5=v3+-4|0,s[m5>>2]=k2,n5=U5+-32|0,x2=c3+16|0,B2=n5>>>0>>0,!B2;)c3=x2,U5=n5,v3=E5;for(C5=A+(I<<2)|0,u=I+-8|0,R5=n+(u<<2)|0,C3=h5,O5=R5,y3=e5;d5=C3+-16|0,D5=O5+16|0,G5=+s[D5>>2],_5=C3+-4|0,q2=+s[_5>>2],I5=q2*G5,A5=O5+24|0,B5=+s[A5>>2],M1=C3+-8|0,S5=+s[M1>>2],g5=S5*B5,a5=g5+I5,s[y3>>2]=a5,W2=+s[D5>>2],g2=+s[M1>>2],p5=g2*W2,t5=+s[A5>>2],s5=+s[_5>>2],J2=s5*t5,u5=p5-J2,i5=y3+4|0,s[i5>>2]=u5,x5=+s[O5>>2],j2=C3+-12|0,$5=+s[j2>>2],L2=$5*x5,Q5=O5+8|0,q5=+s[Q5>>2],j5=+s[d5>>2],f3=j5*q5,h3=f3+L2,J5=y3+8|0,s[J5>>2]=h3,X5=+s[O5>>2],n3=+s[d5>>2],m3=n3*X5,F5=+s[Q5>>2],V5=+s[j2>>2],k3=V5*F5,u3=m3-k3,z3=y3+12|0,s[z3>>2]=u3,G3=O5+-32|0,z5=y3+16|0,w3=G3>>>0>>0,!w3;)C3=d5,O5=G3,y3=z5;for(o6=t+4|0,e3=e[o6>>2]|0,gQ(e3,c5,C5,I),A3=e[t>>2]|0,R3=e[_2>>2]|0,u6=t+12|0,Q3=e[u6>>2]|0,hQ(A3,R3,Q3,A),W5=e[_2>>2]|0,i6=W5+(I<<2)|0,H5=i6,k5=A,r6=e5,K5=e5;L3=r6+-16|0,U3=+s[k5>>2],a3=H5+4|0,l3=+s[a3>>2],p=l3*U3,B=k5+4|0,S=+s[B>>2],b=+s[H5>>2],w=b*S,y=p-w,D=r6+-4|0,s[D>>2]=y,Q=+s[k5>>2],_=+s[H5>>2],L=_*Q,R=+s[B>>2],M=+s[a3>>2],T=M*R,N=L+T,G=-N,s[K5>>2]=G,O=k5+8|0,z=+s[O>>2],Y=H5+12|0,t0=+s[Y>>2],J=t0*z,e0=k5+12|0,q=+s[e0>>2],X=H5+8|0,U=+s[X>>2],$0=U*q,Z=J-$0,K=r6+-8|0,s[K>>2]=Z,a0=+s[O>>2],s0=+s[X>>2],i0=s0*a0,V=+s[e0>>2],h0=+s[Y>>2],o0=h0*V,g0=i0+o0,j=-g0,l0=K5+4|0,s[l0>>2]=j,u0=k5+16|0,d0=+s[u0>>2],w0=H5+20|0,C0=+s[w0>>2],f0=C0*d0,B0=k5+20|0,p0=+s[B0>>2],I0=H5+16|0,S0=+s[I0>>2],K0=S0*p0,_0=f0-K0,Q0=r6+-12|0,s[Q0>>2]=_0,F0=+s[u0>>2],M0=+s[I0>>2],U0=M0*F0,y0=+s[B0>>2],Y0=+s[w0>>2],R0=Y0*y0,D0=U0+R0,T0=-D0,V0=K5+8|0,s[V0>>2]=T0,J0=k5+24|0,P0=+s[J0>>2],z0=H5+28|0,O0=+s[z0>>2],r1=O0*P0,H0=k5+28|0,e1=+s[H0>>2],b0=H5+24|0,i1=+s[b0>>2],c1=i1*e1,$1=r1-c1,s[L3>>2]=$1,f1=+s[J0>>2],g1=+s[b0>>2],s1=g1*f1,a1=+s[H0>>2],n1=+s[z0>>2],o1=n1*a1,Z0=s1+o1,I1=-Z0,h1=K5+12|0,s[h1>>2]=I1,m1=K5+16|0,d1=k5+32|0,E1=H5+32|0,p1=d1>>>0>>0,p1;)H5=E1,k5=d1,r6=L3,K5=m1;for(Q1=A+(W1<<2)|0,P3=e5,j3=Q1,S3=Q1;;)if(_1=j3+-16|0,x1=P3+-16|0,w1=P3+-4|0,S1=+s[w1>>2],L1=j3+-4|0,s[L1>>2]=S1,F1=-S1,s[S3>>2]=F1,G1=P3+-8|0,k1=+s[G1>>2],Z1=j3+-8|0,s[Z1>>2]=k1,N1=-k1,b1=S3+4|0,s[b1>>2]=N1,V1=P3+-12|0,O1=+s[V1>>2],q1=j3+-12|0,s[q1>>2]=O1,H1=-O1,Y1=S3+8|0,s[Y1>>2]=H1,j1=+s[x1>>2],s[_1>>2]=j1,n2=-j1,c2=S3+12|0,s[c2>>2]=n2,z1=S3+16|0,u2=z1>>>0>>0,u2)P3=x1,j3=_1,S3=z1;else{M5=e5,O3=e5;break}for(;o2=O3+-16|0,E2=M5+12|0,A2=e[E2>>2]|0,e[o2>>2]=A2,K1=M5+8|0,h2=e[K1>>2]|0,$2=O3+-12|0,e[$2>>2]=h2,i2=M5+4|0,r2=e[i2>>2]|0,a2=O3+-8|0,e[a2>>2]=r2,X1=e[M5>>2]|0,s2=O3+-4|0,e[s2>>2]=X1,f2=M5+16|0,e2=o2>>>0>C5>>>0,e2;)M5=f2,O3=o2}function cQ(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0;if(q5=C,w=e[t>>2]|0,y=w>>1,r1=w>>2,a1=w>>3,Q1=w<<2,a=Q1,N1=C,C=C+((1*a|0)+15&-16)|0,c2=N1+(y<<2)|0,c=y+r1|0,r2=n+(c<<2)|0,D2=t+8|0,T1=e[D2>>2]|0,D=T1+(y<<2)|0,z=(a1|0)>0,z){for(u=c+1|0,K=n+(u<<2)|0,u0=a1+-1|0,_0=u0>>>1,V0=_0<<1,P0=y+-2|0,z0=P0-V0|0,G0=c+-4|0,O0=_0<<2,H0=G0-O0|0,n5=D,D5=0,h5=r2,x5=K;e1=h5+-16|0,b0=n5+-8|0,i1=h5+-8|0,c1=+s[i1>>2],$1=+s[x5>>2],f1=$1+c1,g1=+s[e1>>2],l1=x5+8|0,s1=+s[l1>>2],n1=s1+g1,o1=n5+-4|0,Z0=+s[o1>>2],I1=n1*Z0,h1=+s[b0>>2],m1=h1*f1,d1=m1+I1,S=D5+y|0,E1=N1+(S<<2)|0,s[E1>>2]=d1,B1=+s[b0>>2],p1=B1*n1,_1=+s[o1>>2],x1=_1*f1,w1=p1-x1,S1=D5|1,b=S1+y|0,L1=N1+(b<<2)|0,s[L1>>2]=w1,F1=x5+16|0,G1=D5+2|0,k1=(G1|0)<(a1|0),k1;)n5=b0,D5=G1,h5=e1,x5=F1;U1=V0+2|0,g2=T1+(z0<<2)|0,p5=n+(H0<<2)|0,O2=z0,m5=g2,d5=U1,s5=p5}else O2=y,m5=D,d5=0,s5=r2;if(Z1=n+4|0,b1=y-a1|0,V1=(d5|0)<(b1|0),V1){for(O1=y+-1|0,q1=O1-d5|0,H1=q1-a1|0,Y1=H1>>>1,j1=Y1<<1,n2=d5+j1|0,W1=Y1<<2,P1=W1+5|0,z1=-2-j1|0,_2=m5,_5=d5,J2=s5,$5=Z1;u2=_2+-8|0,o2=J2+-16|0,E2=J2+-8|0,A2=+s[E2>>2],K1=+s[$5>>2],h2=A2-K1,$2=+s[o2>>2],i2=$5+8|0,l2=+s[i2>>2],a2=$2-l2,X1=_2+-4|0,s2=+s[X1>>2],f2=a2*s2,e2=+s[u2>>2],y2=e2*h2,v2=y2+f2,m=_5+y|0,w2=N1+(m<<2)|0,s[w2>>2]=v2,C2=+s[u2>>2],F2=C2*a2,N2=+s[X1>>2],d2=N2*h2,K2=F2-d2,G2=_5|1,p=G2+y|0,H2=N1+(p<<2)|0,s[H2>>2]=K2,M2=$5+16|0,P2=_5+2|0,z2=(P2|0)<(b1|0),z2;)_2=u2,_5=P2,J2=o2,$5=M2;o5=n2+2|0,a5=n+(P1<<2)|0,B=O2+z1|0,W2=T1+(B<<2)|0,x2=W2,G5=o5,j2=a5}else x2=m5,G5=d5,j2=Z1;if(X2=(G5|0)<(y|0),X2)for(L5=n+(w<<2)|0,B2=x2,q2=G5,u5=L5,L2=j2;e5=B2+-8|0,b5=u5+-16|0,Z2=u5+-8|0,f5=+s[Z2>>2],v5=-f5,P5=+s[L2>>2],l5=v5-P5,k2=+s[b5>>2],Q=-k2,_=L2+8|0,L=+s[_>>2],x=Q-L,R=B2+-4|0,M=+s[R>>2],T=x*M,N=+s[e5>>2],G=N*l5,O=G+T,E=q2+y|0,Y=N1+(E<<2)|0,s[Y>>2]=O,t0=+s[e5>>2],J=t0*x,W=+s[R>>2],e0=W*l5,q=J-e0,X=q2|1,I=X+y|0,U=N1+(I<<2)|0,s[U>>2]=q,$0=L2+16|0,Z=q2+2|0,a0=(Z|0)<(y|0),a0;)B2=e5,q2=Z,u5=b5,L2=$0;if(A5=t+4|0,c5=e[A5>>2]|0,gQ(c5,T1,c2,y),g5=e[t>>2]|0,B5=e[D2>>2]|0,M1=t+12|0,S5=e[M1>>2]|0,hQ(g5,B5,S5,N1),s0=(r1|0)>0,!s0){C=q5;return}for(i0=A+(y<<2)|0,r0=e[D2>>2]|0,V=r0+(y<<2)|0,h0=t+16|0,C5=V,I5=0,t5=N1,i5=i0;o0=i5+-4|0,g0=+s[t5>>2],j=+s[C5>>2],l0=j*g0,d0=t5+4|0,w0=+s[d0>>2],C0=C5+4|0,k0=+s[C0>>2],f0=k0*w0,B0=f0+l0,p0=+s[h0>>2],I0=B0*p0,S0=A+(I5<<2)|0,s[S0>>2]=I0,K0=+s[t5>>2],Q0=+s[C0>>2],F0=Q0*K0,M0=+s[d0>>2],N0=+s[C5>>2],U0=N0*M0,y0=F0-U0,Y0=+s[h0>>2],R0=y0*Y0,s[o0>>2]=R0,D0=t5+8|0,T0=C5+8|0,J0=I5+1|0,R5=(J0|0)==(r1|0),!R5;)C5=T0,I5=J0,t5=D0,i5=o0;C=q5}function gQ(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,k3=0,u3=0,p3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,X3=0,c6=0,p6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,L6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,L4=0,T4=0,j4=0,C4=0,N4=0,U9=0,G4=0,a4=0,R4=0,u4=0,Ce=0,q9=0,m9=0,Be=0,Ne=0,Xe=0,U4=0,Ge=0,P4=0,X4=0,be=0,e8=0,Z9=0,$e=0,f4=0,_6=0,O4=0,R9=0,$4=0,_4=0,le=0,W9=0,ce=0,ge=0,B4=0,ee=0,F4=0,he=0,C9=0,g6=0,Ue=0,l4=0,pe=0,p4=0,c4=0,P6=0,De=0,_e=0,t8=0,g4=0,k4=0,u8=0,J3=0,w9=0,B9=0,M4=0,te=0,$t=0,xe=0,lt=0,wt=0,z8=0,ct=0,gt=0,F8=0,M8=0,T8=0,N8=0,Z8=0,W8=0,kt=0,G8=0,U8=0,P8=0,k8=0,v8=0,f8=0,O8=0,q8=0,j8=0,X8=0,d8=0,Pe=0,Le=0,i8=0,S8=0,k9=0,ht=0,Qe=0,ut=0,vt=0,et=0,St=0,ie=0,tt=0,H8=0,b8=0,r8=0,q4=0,Re=0,n8=0,I8=0,D8=0,ue=0,j9=0,s8=0,E8=0,o8=0,m8=0,fe=0,ye=0,Oe=0,qe=0,X9=0,Fe=0,de=0,A8=0,we=0,Q4=0,C8=0,it=0,H4=0,I3=0,He=0,B8=0,re=0,H9=0,ne=0,D9=0,Ye=0,Y8=0,ft=0,rt=0,nt=0,J8=0,st=0,V8=0,a8=0,$8=0,_8=0,Y4=0,ot=0,x8=0,Je=0,p9=0,At=0,Ve=0,Nt=0,Ht=0,bt=0,at=0,Dt=0,se=0,Gt=0,Yt=0,l8=0,L8=0,_t=0,K8=0,Me=0,Ie=0,e4=0,xt=0,i7=0,G7=0,U7=0,P7=0,d7=0,Jt=0,I7=0,Vt=0,E7=0,Kt=0,m7=0,r7=0,oi=0,O7=0,C7=0,B7=0,Ai=0,p7=0,n7=0,ai=0,q7=0,H7=0,Y7=0,J7=0,s7=0,Q7=0,V7=0,zt=0,o7=0,Ut=0,Zt=0,$i=0,K7=0,li=0,y7=0,z7=0,w7=0,k7=0,Z7=0,v7=0,Wt=0,S7=0,W7=0,A7=0,Pt=0,b7=0,ke=0,D7=0,Lt=0,a7=0,n9=0,dt=0,p8=0,It=0,Rt=0,zr=0,Er=0;if(Er=C,d0=t+-6|0,w0=(t|0)>6,w0)for(I=a+-8|0,P5=A+(I<<2)|0,_3=a>>1,B=_3+-8|0,z8=A+(B<<2)|0,c=n,dt=P5,It=z8;l8=dt+24|0,P7=+s[l8>>2],C7=It+24|0,Q7=+s[C7>>2],w7=P7-Q7,C0=dt+28|0,M0=+s[C0>>2],z0=It+28|0,g1=+s[z0>>2],E1=M0-g1,k1=Q7+P7,s[l8>>2]=k1,n2=+s[z0>>2],$2=n2+M0,s[C0>>2]=$2,w2=c+4|0,z2=+s[w2>>2],l5=z2*E1,G5=+s[c>>2],W2=G5*w7,$5=W2+l5,s[C7>>2]=$5,m3=+s[c>>2],i6=m3*E1,P3=+s[w2>>2],j3=P3*w7,B6=i6-j3,s[z0>>2]=B6,H3=dt+16|0,N6=+s[H3>>2],s9=It+16|0,X6=+s[s9>>2],I9=N6-X6,S4=dt+20|0,G4=+s[S4>>2],Ge=It+20|0,$4=+s[Ge>>2],g6=G4-$4,k4=X6+N6,s[H3>>2]=k4,ct=+s[Ge>>2],P8=ct+G4,s[S4>>2]=P8,i8=c+20|0,H8=+s[i8>>2],E8=H8*g6,we=c+16|0,D9=+s[we>>2],_8=D9*I9,at=_8+E8,s[s9>>2]=at,Yt=+s[we>>2],L8=Yt*g6,_t=+s[i8>>2],K8=_t*I9,Me=L8-K8,s[Ge>>2]=Me,Ie=dt+8|0,e4=+s[Ie>>2],xt=It+8|0,i7=+s[xt>>2],G7=e4-i7,U7=dt+12|0,d7=+s[U7>>2],Jt=It+12|0,I7=+s[Jt>>2],Vt=d7-I7,E7=i7+e4,s[Ie>>2]=E7,Kt=+s[Jt>>2],m7=Kt+d7,s[U7>>2]=m7,r7=c+36|0,oi=+s[r7>>2],O7=oi*Vt,B7=c+32|0,Ai=+s[B7>>2],p7=Ai*G7,n7=p7+O7,s[xt>>2]=n7,ai=+s[B7>>2],q7=ai*Vt,H7=+s[r7>>2],Y7=H7*G7,J7=q7-Y7,s[Jt>>2]=J7,s7=+s[dt>>2],V7=+s[It>>2],zt=s7-V7,o7=dt+4|0,Ut=+s[o7>>2],Zt=It+4|0,$i=+s[Zt>>2],K7=Ut-$i,li=V7+s7,s[dt>>2]=li,y7=+s[Zt>>2],z7=y7+Ut,s[o7>>2]=z7,k7=c+52|0,Z7=+s[k7>>2],v7=Z7*K7,Wt=c+48|0,S7=+s[Wt>>2],W7=S7*zt,A7=W7+v7,s[It>>2]=A7,Pt=+s[Wt>>2],b7=Pt*K7,ke=+s[k7>>2],k0=ke*zt,f0=b7-k0,s[Zt>>2]=f0,B0=dt+-32|0,p0=It+-32|0,I0=c+64|0,S0=p0>>>0>>0,!S0;)c=I0,dt=B0,It=p0;if(K0=(d0|0)>1,K0)for(Lt=1;;){if(_0=1<>Lt,N0=4<>1,S=U0+-8|0,N=N0+1|0,$0=N0<<1,i0=$0|1,h0=N0*3|0,g0=h0+1|0,l0=N0<<2,a7=0;;){for(Y0=r5(a7,F0)|0,R0=A+(Y0<<2)|0,E=m+Y0|0,D0=A+(E<<2)|0,a0=S+Y0|0,T0=A+(a0<<2)|0,u=n,p8=D0,Rt=T0;V0=p8+24|0,J0=+s[V0>>2],P0=Rt+24|0,G0=+s[P0>>2],O0=J0-G0,r1=p8+28|0,H0=+s[r1>>2],e1=Rt+28|0,b0=+s[e1>>2],i1=H0-b0,c1=G0+J0,s[V0>>2]=c1,$1=+s[e1>>2],f1=$1+H0,s[r1>>2]=f1,l1=u+4|0,s1=+s[l1>>2],a1=s1*i1,n1=+s[u>>2],o1=n1*O0,Z0=o1+a1,s[P0>>2]=Z0,I1=+s[u>>2],h1=I1*i1,m1=+s[l1>>2],d1=m1*O0,B1=h1-d1,s[e1>>2]=B1,p1=u+(N0<<2)|0,Q1=p8+16|0,_1=+s[Q1>>2],x1=Rt+16|0,w1=+s[x1>>2],S1=_1-w1,L1=p8+20|0,F1=+s[L1>>2],G1=Rt+20|0,U1=+s[G1>>2],Z1=F1-U1,N1=w1+_1,s[Q1>>2]=N1,b1=+s[G1>>2],V1=b1+F1,s[L1>>2]=V1,O1=u+(N<<2)|0,q1=+s[O1>>2],H1=q1*Z1,Y1=+s[p1>>2],j1=Y1*S1,W1=j1+H1,s[x1>>2]=W1,P1=+s[p1>>2],c2=P1*Z1,z1=+s[O1>>2],u2=z1*S1,o2=c2-u2,s[G1>>2]=o2,E2=u+($0<<2)|0,A2=p8+8|0,K1=+s[A2>>2],h2=Rt+8|0,i2=+s[h2>>2],l2=K1-i2,r2=p8+12|0,a2=+s[r2>>2],X1=Rt+12|0,s2=+s[X1>>2],f2=a2-s2,e2=i2+K1,s[A2>>2]=e2,y2=+s[X1>>2],v2=y2+a2,s[r2>>2]=v2,C2=u+(i0<<2)|0,F2=+s[C2>>2],D2=F2*f2,N2=+s[E2>>2],d2=N2*l2,K2=d2+D2,s[h2>>2]=K2,G2=+s[E2>>2],H2=G2*f2,M2=+s[C2>>2],P2=M2*l2,o5=H2-P2,s[X1>>2]=o5,O2=u+(h0<<2)|0,T1=+s[p8>>2],X2=+s[Rt>>2],L5=T1-X2,e5=p8+4|0,b5=+s[e5>>2],Z2=Rt+4|0,f5=+s[Z2>>2],v5=b5-f5,k2=X2+T1,s[p8>>2]=k2,m5=+s[Z2>>2],n5=m5+b5,s[e5>>2]=n5,x2=u+(g0<<2)|0,_2=+s[x2>>2],B2=_2*v5,C5=+s[O2>>2],R5=C5*L5,d5=R5+B2,s[Rt>>2]=d5,D5=+s[O2>>2],_5=D5*v5,q2=+s[x2>>2],I5=q2*L5,A5=_5-I5,s[Z2>>2]=A5,c5=u+(l0<<2)|0,B5=p8+-32|0,M1=Rt+-32|0,S5=M1>>>0>>0,!S5;)u=c5,p8=B5,Rt=M1;if(g5=a7+1|0,a5=(g5|0)<(_0|0),a5)a7=g5;else break}if(g2=Lt+1|0,D7=(g2|0)==(d0|0),D7)break;Lt=g2}if(y0=(a|0)>0,y0)n9=0;else return;for(;p5=A+(n9<<2)|0,p=n9|30,t5=A+(p<<2)|0,s5=+s[t5>>2],T=n9|14,h5=A+(T<<2)|0,J2=+s[h5>>2],u5=s5-J2,U=n9|31,i5=A+(U<<2)|0,x5=+s[i5>>2],s0=n9|15,j2=A+(s0<<2)|0,L2=+s[j2>>2],Q5=x5-L2,q5=J2+s5,s[t5>>2]=q5,j5=L2+x5,s[i5>>2]=j5,s[h5>>2]=u5,s[j2>>2]=Q5,r0=n9|28,E5=A+(r0<<2)|0,f3=+s[E5>>2],V=n9|12,h3=A+(V<<2)|0,J5=+s[h3>>2],X5=f3-J5,o0=n9|29,n3=A+(o0<<2)|0,F5=+s[n3>>2],j=n9|13,V5=A+(j<<2)|0,k3=+s[V5>>2],u3=F5-k3,p3=J5+f3,s[E5>>2]=p3,z3=k3+F5,s[n3>>2]=z3,G3=X5*.9238795042037964,z5=u3*.3826834261417389,w3=G3-z5,s[h3>>2]=w3,W5=X5*.3826834261417389,L3=u3*.9238795042037964,U3=L3+W5,s[V5>>2]=U3,u0=n9|26,a3=A+(u0<<2)|0,l3=+s[a3>>2],b=n9|10,c3=A+(b<<2)|0,C3=+s[c3>>2],H5=l3-C3,w=n9|27,U5=A+(w<<2)|0,O5=+s[U5>>2],y=n9|11,k5=A+(y<<2)|0,M5=+s[k5>>2],o6=O5-M5,e3=C3+l3,s[a3>>2]=e3,A3=M5+O5,s[U5>>2]=A3,R3=H5-o6,u6=R3*.7071067690849304,s[c3>>2]=u6,Q3=o6+H5,v3=Q3*.7071067690849304,s[k5>>2]=v3,D=n9|24,y3=A+(D<<2)|0,r6=+s[y3>>2],Q=n9|8,O3=A+(Q<<2)|0,K5=+s[O3>>2],S3=r6-K5,_=n9|25,g3=A+(_<<2)|0,q3=+s[g3>>2],L=n9|9,l6=A+(L<<2)|0,d3=+s[l6>>2],k6=q3-d3,v6=K5+r6,s[y3>>2]=v6,S6=d3+q3,s[g3>>2]=S6,X3=S3*.3826834261417389,c6=k6*.9238795042037964,p6=X3-c6,x6=k6*.3826834261417389,Y6=S3*.9238795042037964,C6=x6+Y6,x=n9|22,b3=A+(x<<2)|0,e6=+s[b3>>2],R=n9|6,t6=A+(R<<2)|0,f6=+s[t6>>2],D3=e6-f6,M=n9|7,Y3=A+(M<<2)|0,Z3=+s[Y3>>2],G=n9|23,b6=A+(G<<2)|0,A6=+s[b6>>2],t3=Z3-A6,O6=f6+e6,s[b3>>2]=O6,s3=A6+Z3,s[b6>>2]=s3,s[t6>>2]=t3,s[Y3>>2]=D3,O=n9|4,a6=A+(O<<2)|0,d6=+s[a6>>2],z=n9|20,n6=A+(z<<2)|0,Q6=+s[n6>>2],L6=d6-Q6,Y=n9|5,K6=A+(Y<<2)|0,I6=+s[K6>>2],t0=n9|21,J6=A+(t0<<2)|0,F3=+s[J6>>2],j6=I6-F3,G6=Q6+d6,s[n6>>2]=G6,e9=F3+I6,s[J6>>2]=e9,R6=j6*.9238795042037964,U6=L6*.3826834261417389,D6=R6+U6,z6=j6*.3826834261417389,y6=L6*.9238795042037964,F6=z6-y6,J=n9|2,M3=A+(J<<2)|0,M6=+s[M3>>2],W=n9|18,t9=A+(W<<2)|0,A9=+s[t9>>2],u9=M6-A9,e0=n9|3,f9=A+(e0<<2)|0,d9=+s[f9>>2],q=n9|19,a9=A+(q<<2)|0,$9=+s[a9>>2],T9=d9-$9,E6=A9+M6,s[t9>>2]=E6,T6=$9+d9,s[a9>>2]=T6,i9=T9+u9,N9=i9*.7071067690849304,E4=T9-u9,o4=E4*.7071067690849304,h4=+s[p5>>2],X=n9|16,G9=A+(X<<2)|0,z9=+s[G9>>2],b9=h4-z9,Z=n9|1,E9=A+(Z<<2)|0,q6=+s[E9>>2],K=n9|17,r9=A+(K<<2)|0,m4=+s[r9>>2],A4=q6-m4,y9=z9+h4,s[G9>>2]=y9,b4=m4+q6,s[r9>>2]=b4,D4=A4*.3826834261417389,L4=b9*.9238795042037964,T4=D4+L4,j4=A4*.9238795042037964,C4=b9*.3826834261417389,N4=j4-C4,U9=N4-C6,a4=T4-p6,R4=T4+p6,u4=N4+C6,Ce=a4+U9,q9=U9-a4,m9=+s[k5>>2],Be=o4-m9,Ne=+s[c3>>2],Xe=Ne-N9,U4=Ne+N9,P4=m9+o4,X4=+s[h3>>2],be=X4-D6,e8=+s[V5>>2],Z9=e8-F6,$e=X4+D6,f4=e8+F6,_6=be-Z9,O4=Z9+be,R9=+s[h5>>2],_4=R9-t3,le=+s[j2>>2],W9=le-D3,ce=t3+R9,ge=D3+le,B4=_4+Be,ee=_4-Be,F4=_6+Ce,he=F4*.7071067690849304,C9=_6-Ce,Ue=C9*.7071067690849304,l4=he+B4,s[t6>>2]=l4,pe=B4-he,s[a6>>2]=pe,p4=O4-q9,c4=p4*.7071067690849304,P6=W9-Xe,De=c4+ee,s[p5>>2]=De,_e=ee-c4,s[M3>>2]=_e,t8=O4+q9,g4=t8*.7071067690849304,u8=W9+Xe,J3=P6+Ue,s[f9>>2]=J3,w9=P6-Ue,s[E9>>2]=w9,B9=u8+g4,s[Y3>>2]=B9,M4=u8-g4,s[K6>>2]=M4,te=ce+U4,$t=ce-U4,xe=R4+$e,lt=$e-R4,wt=te+xe,s[h5>>2]=wt,gt=te-xe,s[h3>>2]=gt,F8=f4-u4,M8=ge-P4,T8=$t+F8,s[O3>>2]=T8,N8=$t-F8,s[c3>>2]=N8,Z8=f4+u4,W8=ge+P4,kt=M8+lt,s[k5>>2]=kt,G8=M8-lt,s[l6>>2]=G8,U8=W8+Z8,s[j2>>2]=U8,k8=W8-Z8,s[V5>>2]=k8,v8=+s[g3>>2],f8=b4-v8,O8=+s[y3>>2],q8=y9-O8,j8=O8+y9,X8=v8+b4,d8=q8+f8,Pe=f8-q8,Le=+s[a9>>2],S8=+s[U5>>2],k9=Le-S8,ht=+s[a3>>2],Qe=+s[t9>>2],ut=ht-Qe,vt=Qe+ht,et=S8+Le,St=+s[E5>>2],ie=+s[n6>>2],tt=St-ie,b8=+s[n3>>2],r8=+s[J6>>2],q4=b8-r8,Re=ie+St,n8=r8+b8,I8=tt-q4,D8=q4+tt,ue=+s[t5>>2],j9=+s[b3>>2],s8=ue-j9,o8=+s[i5>>2],m8=+s[b6>>2],fe=o8-m8,ye=j9+ue,Oe=m8+o8,qe=s8+k9,X9=s8-k9,Fe=I8+d8,de=Fe*.7071067690849304,A8=I8-d8,Q4=A8*.7071067690849304,C8=de+qe,s[b3>>2]=C8,it=qe-de,s[n6>>2]=it,H4=D8-Pe,I3=H4*.7071067690849304,He=fe-ut,B8=I3+X9,s[G9>>2]=B8,re=X9-I3,s[t9>>2]=re,H9=D8+Pe,ne=H9*.7071067690849304,Ye=fe+ut,Y8=He+Q4,s[a9>>2]=Y8,ft=He-Q4,s[r9>>2]=ft,rt=Ye+ne,s[b6>>2]=rt,nt=Ye-ne,s[J6>>2]=nt,J8=ye+vt,st=ye-vt,V8=Re+j8,a8=Re-j8,$8=J8+V8,s[t5>>2]=$8,Y4=J8-V8,s[E5>>2]=Y4,ot=n8-X8,x8=Oe-et,Je=st+ot,s[y3>>2]=Je,p9=st-ot,s[a3>>2]=p9,At=n8+X8,Ve=Oe+et,Nt=x8+a8,s[U5>>2]=Nt,Ht=x8-a8,s[g3>>2]=Ht,bt=Ve+At,s[i5>>2]=bt,Dt=Ve-At,s[n3>>2]=Dt,se=n9+32|0,Gt=(se|0)<(a|0),Gt;)n9=se}function hQ(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0;for(m1=C,b=t>>1,w=a+(b<<2)|0,G=n+(t<<2)|0,n1=G,o1=A,Z0=a,I1=w;$0=e[o1>>2]|0,c=$0+b|0,j=a+(c<<2)|0,S0=o1+4|0,D0=e[S0>>2]|0,u=D0+b|0,b0=a+(u<<2)|0,E=c+1|0,s1=a+(E<<2)|0,a1=+s[s1>>2],I=u+1|0,y=a+(I<<2)|0,D=+s[y>>2],Q=a1-D,_=+s[j>>2],L=+s[b0>>2],x=L+_,R=+s[n1>>2],M=x*R,T=n1+4|0,N=+s[T>>2],O=N*Q,z=O+M,Y=N*x,t0=R*Q,J=Y-t0,W=I1+-16|0,e0=D+a1,q=e0*.5,X=_-L,U=X*.5,Z=z+q,s[Z0>>2]=Z,K=q-z,a0=I1+-8|0,s[a0>>2]=K,s0=J+U,i0=Z0+4|0,s[i0>>2]=s0,r0=J-U,V=I1+-4|0,s[V>>2]=r0,h0=o1+8|0,o0=e[h0>>2]|0,m=o0+b|0,g0=a+(m<<2)|0,l0=o1+12|0,u0=e[l0>>2]|0,p=u0+b|0,d0=a+(p<<2)|0,B=m+1|0,w0=a+(B<<2)|0,C0=+s[w0>>2],S=p+1|0,k0=a+(S<<2)|0,f0=+s[k0>>2],B0=C0-f0,p0=+s[g0>>2],I0=+s[d0>>2],K0=I0+p0,_0=n1+8|0,Q0=+s[_0>>2],F0=K0*Q0,M0=n1+12|0,N0=+s[M0>>2],U0=N0*B0,y0=U0+F0,Y0=N0*K0,R0=Q0*B0,T0=Y0-R0,V0=f0+C0,J0=V0*.5,P0=p0-I0,z0=P0*.5,G0=y0+J0,O0=Z0+8|0,s[O0>>2]=G0,r1=J0-y0,s[W>>2]=r1,H0=T0+z0,e1=Z0+12|0,s[e1>>2]=H0,i1=T0-z0,c1=I1+-12|0,s[c1>>2]=i1,$1=n1+16|0,f1=o1+16|0,g1=Z0+16|0,l1=g1>>>0>>0,l1;)n1=$1,o1=f1,Z0=g1,I1=W}function FS(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0;return B=C,n=t+28|0,A=e[n>>2]|0,a=A+2868|0,c=n4(1,36)|0,u=t+4|0,E=e[u>>2]|0,I=c+4|0,e[I>>2]=E,s[c>>2]=-9999,m=c+8|0,e[m>>2]=a,c|0}function MS(t){t=t|0;var n=0,A=0,a=0;a=C,n=(t|0)==0,!n&&I2(t)}function TS(t){t=t|0;var n=0,A=0,a=0;a=C,n=(t|0)==0,n||I2(t)}function NS(t,n,A,a,c){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0;var u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,k3=0,u3=0,p3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,X3=0,c6=0,p6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,L6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0;i9=C,E6=t,N9=E6+48|0;do e[E6>>2]=0,E6=E6+4|0;while((E6|0)<(N9|0));_=e[A>>2]|0,L=t+36|0,e[L>>2]=_,i2=+(_|0),j5=i2*8,u3=j5,l3=+Vr(+u3),A3=l3*1.4426950408889634,g3=+Oi(A3),x6=g3+-1,b6=~~x6,x=t+32|0,e[x>>2]=b6,W=+(c|0),r0=W*.25,k0=r0,N0=k0*.5,G0=+(a|0),l1=N0/G0,B1=+Vr(+l1),U1=B1*1.4426950216293335,W1=U1+-5.965784072875977,l2=b6+1|0,F2=1<>2]=$5,Q5=+(a|0),q5=Q5+.25,E5=q5*W,f3=E5,h3=f3*.5,J5=h3/G0,X5=+Vr(+J5),n3=X5*1.4426950216293335,m3=n3+-5.965784072875977,F5=O2*m3,V5=F5+.5,k3=~~V5,p3=1-$5|0,z3=p3+k3|0,G3=t+40|0,e[G3>>2]=z3,z5=a<<2,w3=S9(z5)|0,W5=t+16|0,e[W5>>2]=w3,i6=S9(z5)|0,L3=t+20|0,e[L3>>2]=i6,U3=S9(z5)|0,a3=t+24|0,e[a3>>2]=U3,c3=t+4|0,e[c3>>2]=n,e[t>>2]=a,C3=t+44|0,e[C3>>2]=c,H5=t+48|0,s[H5>>2]=1,U5=(c|0)<26e3;do if(U5)s[H5>>2]=0;else{if(O5=(c|0)<38e3,O5){s[H5>>2]=.9399999976158142;break}k5=(c|0)>46e3,k5&&(s[H5>>2]=1.274999976158142)}while(!1);P3=G0*2,M5=+(c|0),o6=(a|0)>0,Q3=o6,z6=0,X6=0;e:for(;;){for(p=Q3^1,y6=z6;;){if(y3=y6+1|0,r6=+(y3|0),j3=r6*.08664337545633316,O3=j3+2.7488713472395148,K5=+Un(+O3),S3=P3*K5,q3=S3/M5,l6=+Oi(q3),d3=~~l6,m=(d3|0)<=(X6|0),K6=m|p,!K6){E=y3,I=d3,F6=y6;break}if(k6=(y3|0)<87,k6)y6=y3;else{A9=X6;break e}}for(v6=1272+(F6<<2)|0,S6=+s[v6>>2],B6=1272+(E<<2)|0,X3=+s[B6>>2],c6=X3-S6,p6=I-X6|0,Y6=+(p6|0),C6=c6/Y6,b3=X6-I|0,e6=X6-a|0,t6=b3>>>0>e6>>>0,T9=t6?b3:e6,e3=X6-T9|0,L6=S6,u9=X6;f6=L6+100,H3=w3+(u9<<2)|0,s[H3>>2]=f6,D3=L6+C6,Y3=u9+1|0,G6=(Y3|0)==(e3|0),!G6;)L6=D3,u9=Y3;if(R3=(e3|0)<(a|0),u6=(E|0)<87,u6)Q3=R3,z6=E,X6=e3;else{A9=e3;break}}if(v3=(A9|0)<(a|0),v3)for(f9=A9;N6=f9+-1|0,n6=w3+(N6<<2)|0,Q6=e[n6>>2]|0,R=w3+(f9<<2)|0,e[R>>2]=Q6,M=f9+1|0,j6=(M|0)==(a|0),!j6;)f9=M;if(Z3=(a|0)>0,Z3){for(A6=a<<1,t3=(c|0)/(A6|0)&-1,O6=n+120|0,s3=e[O6>>2]|0,a6=n+124|0,d6=n+116|0,_3=n+112|0,R6=1,M3=0,d9=-99;;){Y=r5(t3,M3)|0,t0=+(Y|0),J=t0*.0007399999885819852,e0=J,q=+Ks(+e0),X=q*13.100000381469727,U=r5(Y,Y)|0,$0=+(U|0),Z=$0*18499999754340024e-24,K=Z,a0=+Ks(+K),s0=a0*2.240000009536743,i0=s0+X,V=t0*9999999747378752e-20,h0=V,o0=i0+h0,g0=o0,j=s3+d9|0,l0=(j|0)<(M3|0);e:do if(l0)for(u0=+s[_3>>2],d0=g0-u0,w0=d0,$9=d9;;){if(C0=r5($9,t3)|0,f0=+(C0|0),B0=f0*.0007399999885819852,p0=B0,I0=+Ks(+p0),S0=I0*13.100000381469727,K0=r5(C0,C0)|0,_0=+(K0|0),Q0=_0*18499999754340024e-24,F0=Q0,M0=+Ks(+F0),U0=M0*2.240000009536743,y0=f0*9999999747378752e-20,Y0=y0,R0=S0+Y0,D0=R0+U0,T0=D0(a|0);e:do if(V0)U6=R6;else for(J0=e[a6>>2]|0,P0=J0+M3|0,D6=R6;;){if(H0=(D6|0)<(P0|0),!H0&&(e1=r5(D6,t3)|0,b0=+(e1|0),i1=b0*.0007399999885819852,c1=i1,$1=+Ks(+c1),f1=$1*13.100000381469727,g1=r5(e1,e1)|0,s1=+(g1|0),a1=s1*18499999754340024e-24,n1=a1,o1=+Ks(+n1),Z0=o1*2.240000009536743,I1=b0*9999999747378752e-20,h1=I1,m1=f1+h1,d1=m1+Z0,E1=+s[d6>>2],p1=E1+g0,Q1=p1,_1=d1>2]=F1,k1=M3+1|0,F3=(k1|0)==(a|0),F3)break;R6=U6,M3=k1,d9=a9}if(Z3)for(T=M5*.5,N=e[x>>2]|0,G=N+1|0,O=1<>2]=P1,z1=M6+1|0,J6=(z1|0)==(a|0),J6){w=T;break}else M6=z1;else T6=19}else T6=19;if((T6|0)==19&&(Q=M5*.5,w=Q),u2=n+36|0,o2=w/G0,E2=o2,A2=n+24|0,K1=+s[A2>>2],h2=n+28|0,$2=+s[h2>>2],r2=PS(u2,E2,a,K1,$2)|0,a2=t+8|0,e[a2>>2]=r2,X1=S9(12)|0,s2=t+12|0,e[s2>>2]=X1,f2=S9(z5)|0,e[X1>>2]=f2,e2=S9(z5)|0,y2=X1+4|0,e[y2>>2]=e2,v2=S9(z5)|0,w2=X1+8|0,e[w2>>2]=v2,!!Z3)for(C2=e[c3>>2]|0,b=e[X1>>2]|0,B=X1+4|0,y=e[B>>2]|0,S=X1+8|0,D=e[S>>2]|0,t9=0;D2=+(t9|0),N2=D2+.5,d2=N2*M5,K2=d2/P3,G2=+Vr(+K2),H2=G2*2.885390043258667,M2=H2+-11.931568145751953,P2=M2,z2=P2<0,e9=z2?0:P2,u=e9>=16,s9=u?16:e9,o5=~~s9,T1=+(o5|0),X2=s9-T1,L5=X2,e5=1-L5,b5=o5+1|0,Z2=(C2+132|0)+(o5<<2)|0,f5=+s[Z2>>2],v5=f5,P5=v5*e5,l5=(C2+132|0)+(b5<<2)|0,m5=+s[l5>>2],n5=m5*X2,x2=n5,_2=x2+P5,B2=_2,C5=b+(t9<<2)|0,s[C5>>2]=B2,R5=(C2+200|0)+(o5<<2)|0,d5=+s[R5>>2],D5=d5,G5=D5*e5,q2=(C2+200|0)+(b5<<2)|0,I5=+s[q2>>2],A5=I5*X2,c5=A5,B5=c5+G5,M1=B5,S5=y+(t9<<2)|0,s[S5>>2]=M1,g5=(C2+268|0)+(o5<<2)|0,a5=+s[g5>>2],W2=a5,p5=W2*e5,t5=(C2+268|0)+(b5<<2)|0,s5=+s[t5>>2],h5=s5*X2,J2=h5,u5=J2+p5,i5=u5,x5=D+(t9<<2)|0,s[x5>>2]=i5,j2=t9+1|0,I6=(j2|0)==(a|0),!I6;)t9=j2}function uQ(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0;if(G0=C,A=(t|0)==0,!A){if(a=t+16|0,y=e[a>>2]|0,O=(y|0)==0,O||I2(y),Z=t+20|0,l0=e[Z>>2]|0,K0=(l0|0)==0,K0||I2(l0),R0=t+24|0,D0=e[R0>>2]|0,T0=(D0|0)==0,T0||I2(D0),c=t+8|0,u=e[c>>2]|0,E=(u|0)==0,!E){for(m=u,J0=0;I=m+(J0<<2)|0,p=e[I>>2]|0,B=e[p>>2]|0,I2(B),S=e[c>>2]|0,b=S+(J0<<2)|0,w=e[b>>2]|0,D=w+4|0,Q=e[D>>2]|0,I2(Q),_=e[c>>2]|0,L=_+(J0<<2)|0,x=e[L>>2]|0,R=x+8|0,M=e[R>>2]|0,I2(M),T=e[c>>2]|0,N=T+(J0<<2)|0,G=e[N>>2]|0,z=G+12|0,Y=e[z>>2]|0,I2(Y),t0=e[c>>2]|0,J=t0+(J0<<2)|0,W=e[J>>2]|0,e0=W+16|0,q=e[e0>>2]|0,I2(q),X=e[c>>2]|0,U=X+(J0<<2)|0,$0=e[U>>2]|0,K=$0+20|0,a0=e[K>>2]|0,I2(a0),s0=e[c>>2]|0,i0=s0+(J0<<2)|0,r0=e[i0>>2]|0,V=r0+24|0,h0=e[V>>2]|0,I2(h0),o0=e[c>>2]|0,g0=o0+(J0<<2)|0,j=e[g0>>2]|0,u0=j+28|0,d0=e[u0>>2]|0,I2(d0),w0=e[c>>2]|0,C0=w0+(J0<<2)|0,k0=e[C0>>2]|0,I2(k0),f0=J0+1|0,V0=(f0|0)==17,!V0;)n=e[c>>2]|0,m=n,J0=f0;B0=e[c>>2]|0,I2(B0)}p0=t+12|0,I0=e[p0>>2]|0,S0=(I0|0)==0,S0||(_0=e[I0>>2]|0,I2(_0),Q0=e[p0>>2]|0,F0=Q0+4|0,M0=e[F0>>2]|0,I2(M0),N0=e[p0>>2]|0,U0=N0+8|0,y0=e[U0>>2]|0,I2(y0),Y0=e[p0>>2]|0,I2(Y0)),P0=t,O0=P0+52|0;do e[P0>>2]=0,P0=P0+4|0;while((P0|0)<(O0|0))}}function fQ(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0;if(C0=C,E=e[t>>2]|0,I=E<<2,u=I,L=C,C=C+((1*u|0)+15&-16)|0,J=t+24|0,a0=e[J>>2]|0,IQ(E,a0,n,A,140,-1),s0=(E|0)>0,s0)for(l0=0;i0=n+(l0<<2)|0,r0=+s[i0>>2],V=A+(l0<<2)|0,h0=+s[V>>2],m=r0-h0,p=L+(l0<<2)|0,s[p>>2]=m,B=l0+1|0,g0=(B|0)==(E|0),!g0;)l0=B;if(S=e[J>>2]|0,b=t+4|0,w=e[b>>2]|0,y=w+128|0,D=e[y>>2]|0,IQ(E,S,L,A,0,D),s0)u0=0;else{C=C0;return}for(;_=n+(u0<<2)|0,x=+s[_>>2],R=L+(u0<<2)|0,M=+s[R>>2],T=x-M,s[R>>2]=T,N=u0+1|0,j=(N|0)==(E|0),!j;)u0=N;if(!s0){C=C0;return}for(Q=e[b>>2]|0,d0=0;G=A+(d0<<2)|0,O=+s[G>>2],z=O,Y=z+.5,t0=~~Y,W=(t0|0)>39,a=W?39:t0,e0=(a|0)<0,c=e0?0:a,q=L+(d0<<2)|0,X=+s[q>>2],U=(Q+336|0)+(c<<2)|0,$0=+s[U>>2],Z=$0+X,s[G>>2]=Z,K=d0+1|0,o0=(K|0)==(E|0),!o0;)d0=K;C=C0}function dQ(t,n,A,a,c){t=t|0,n=n|0,A=A|0,a=+a,c=+c;var u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0;if(E5=C,M=e[t>>2]|0,T=t+40|0,l1=e[T>>2]|0,B1=l1<<2,I=B1,U1=C,C=C+((1*I|0)+15&-16)|0,W1=t+4|0,i2=e[W1>>2]|0,C2=i2+4|0,o5=+s[C2>>2],l5=o5+c,N=(l1|0)>0,N)for(A5=0;U=U1+(A5<<2)|0,s[U>>2]=-9999,g0=A5+1|0,I0=(g0|0)<(l1|0),I0;)A5=g0;if(R0=i2+8|0,e1=+s[R0>>2],c1=l50,$1){for(f1=t+16|0,g1=e[f1>>2]|0,g5=0;s1=g1+(g5<<2)|0,a1=+s[s1>>2],n1=a1+G5,o1=A+(g5<<2)|0,s[o1>>2]=n1,Z0=g5+1|0,q2=(Z0|0)==(M|0),!q2;)g5=Z0;if(I1=t+8|0,h1=e[I1>>2]|0,m1=i2+496|0,d1=+s[m1>>2],E1=d1-a,$1)for(p1=t+20|0,Q1=e[p1>>2]|0,_1=t+32|0,x1=t+36|0,w1=t+28|0,c5=0;;){S1=n+(c5<<2)|0,L1=+s[S1>>2],F1=Q1+(c5<<2)|0,G1=e[F1>>2]|0,S5=c5,s5=L1;e:for(;;)for(B5=S5;;){if(k1=B5+1|0,Z1=(k1|0)<(M|0),!Z1){S=0,w=k1,M1=B5,h5=s5;break e}if(N1=Q1+(k1<<2)|0,b1=e[N1>>2]|0,V1=(b1|0)==(G1|0),!V1){S=1,w=k1,M1=B5,h5=s5;break e}if(O1=n+(k1<<2)|0,q1=+s[O1>>2],H1=q1>s5,H1){S5=k1,s5=q1;continue e}else B5=k1}if(Y1=h5+6,j1=A+(M1<<2)|0,n2=+s[j1>>2],P1=Y1>n2,P1&&(c2=e[_1>>2]|0,z1=G1>>c2,u2=(z1|0)>16,E=u2?16:z1,o2=(E|0)<0,u=o2?0:E,E2=h1+(u<<2)|0,A2=e[E2>>2]|0,K1=e[x1>>2]|0,h2=E1+h5,$2=h2,l2=$2+-30,r2=l2*.10000000149011612,a2=~~r2,X1=(a2|0)<0,s2=X1?0:a2,f2=(s2|0)>7,e2=f2?7:s2,y2=A2+(e2<<2)|0,v2=e[y2>>2]|0,w2=v2+4|0,F2=+s[w2>>2],D2=~~F2,N2=+s[v2>>2],d2=~~N2,K2=(d2|0)<(D2|0),K2))for(G2=Q1+(M1<<2)|0,H2=e[G2>>2]|0,M2=e[w1>>2]|0,P2=H2-M2|0,z2=+(P2|0),O2=K1>>1,T1=+(O2|0),X2=N2+-16,L5=+(K1|0),e5=X2*L5,b5=e5-T1,Z2=b5+z2,f5=~~Z2,I5=d2,q5=f5;v5=(q5|0)>0,v5&&(R=I5+2|0,P5=v2+(R<<2)|0,k2=+s[P5>>2],m5=k2+h5,n5=U1+(q5<<2)|0,x2=+s[n5>>2],_2=x2>2]=m5)),B2=q5+K1|0,C5=(B2|0)<(l1|0),R5=I5+1|0,d5=(R5|0)<(D2|0),$5=d5&C5,$5;)I5=R5,q5=B2;if(S)c5=w;else{L=x1;break}}else j5=7}else j5=7;(j5|0)==7&&(Q=t+36|0,L=Q),D5=e[L>>2]|0,OS(U1,D5,l1),G=e[t>>2]|0,O=(G|0)>1;e:do if(O)for(z=t+20|0,Y=t+28|0,t0=e[z>>2]|0,J=e[t0>>2]|0,W=D5>>1,e0=J-W|0,q=e[Y>>2]|0,X=e0-q|0,$0=e[W1>>2]|0,Z=$0+32|0,V=1,j=J,W2=0,L2=X;;){s0=U1+(L2<<2)|0,i0=+s[s0>>2],r0=t0+(V<<2)|0,h0=e[r0>>2]|0,o0=h0+j|0,l0=o0>>1,u0=l0-q|0,d0=+s[Z>>2],w0=i0>d0,J2=w0?d0:i0,C0=(L2|0)<(u0|0);t:do if(C0)for(m=L2,i5=J2;;){for(k0=i5==-9999,p=m;;){if(f0=p+1|0,B0=U1+(f0<<2)|0,p0=+s[B0>>2],S0=p0>-9999,S0){if(K0=p0=(G|0),N0=(j|0)>(F0|0),x5=M0|N0;t:do if(x5)g2=W2;else for(p5=W2;;){if(U0=A+(p5<<2)|0,y0=+s[U0>>2],Y0=y0>2]=u5),D0=p5+1|0,T0=(D0|0)<(G|0),!T0){g2=D0;break t}if(D=t0+(D0<<2)|0,x=e[D>>2]|0,V0=(x|0)>(F0|0),V0){g2=D0;break}else p5=D0}while(!1);if(K=g2+1|0,a0=(K|0)<(G|0),!a0){a5=g2;break e}y=t0+(g2<<2)|0,_=e[y>>2]|0,V=K,j=_,W2=g2,L2=Q5}else a5=0;while(!1);if(J0=e[T>>2]|0,P0=J0+-1|0,z0=U1+(P0<<2)|0,G0=+s[z0>>2],O0=(a5|0)<(G|0),O0)t5=a5;else{C=E5;return}for(;r1=A+(t5<<2)|0,H0=+s[r1>>2],b0=H0>2]=G0),i1=t5+1|0,_5=(i1|0)==(G|0),!_5;)t5=i1;C=E5}function j$(t,n,A,a,c,u,E){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0,u=u|0,E=E|0;var I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0;if(_0=C,m=e[t>>2]|0,p=t+4|0,R=e[p>>2]|0,e0=(R+12|0)+(a<<2)|0,V=+s[e0>>2],d0=(m|0)>0,!!d0)for(w0=t+48|0,C0=+s[w0>>2],k0=t+12|0,f0=e[k0>>2]|0,B=f0+(a<<2)|0,S=e[B>>2]|0,b=R+108|0,w=(a|0)==1,y=C0,D=y*.005,Q=y*3e-4,I0=0;_=n+(I0<<2)|0,L=+s[_>>2],x=S+(I0<<2)|0,M=+s[x>>2],T=M+L,N=+s[b>>2],G=T>N,S0=G?N:T,O=A+(I0<<2)|0,z=+s[O>>2],Y=z+V,t0=S0>2]=I,w&&(W=E+(I0<<2)|0,q=+s[W>>2],X=S0-q,U=X>-17.200000762939453,$0=X+17.200000762939453,Z=$0,U?(K=D*Z,a0=1-K,s0=a0,i0=s0<0,i0?B0=9999999747378752e-20:B0=s0):(r0=Q*Z,h0=1-r0,o0=h0,B0=o0),g0=u+(I0<<2)|0,j=+s[g0>>2],l0=j*B0,s[g0>>2]=l0),u0=I0+1|0,p0=(u0|0)==(m|0),!p0;)I0=u0}function GS(t,n){t=+t,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0;return N=C,a=n+4|0,c=e[a>>2]|0,y=c+28|0,D=e[y>>2]|0,Q=n+40|0,_=e[Q>>2]|0,L=D+(_<<2)|0,x=e[L>>2]|0,R=(x|0)/2&-1,M=+(R|0),u=c+8|0,E=e[u>>2]|0,I=+(E|0),m=M/I,p=D+2936|0,B=+s[p>>2],S=B*m,b=S+t,w=b<-9999,A=w?-9999:b,+A}function US(t,n,A,a,c,u,E,I,m){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0,u=u|0,E=E|0,I=I|0,m=m|0;var p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,k3=0,u3=0,p3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,X3=0,c6=0,p6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,L6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,L4=0,T4=0,j4=0,C4=0,N4=0,U9=0,G4=0;if(G4=C,s0=e[A>>2]|0,i0=A+4|0,o5=e[i0>>2]|0,z3=o5+500|0,C3=e[z3>>2]|0,u6=(C3|0)==0,u6?V5=16:(l6=o5+508|0,C6=e[l6>>2]|0,V5=C6),t3=e[o5>>2]|0,I6=((n+132|0)+(t3*60|0)|0)+(t<<2)|0,r0=e[I6>>2]|0,k0=(n+252|0)+(t<<2)|0,N0=e[k0>>2]|0,G0=1624+(N0<<3)|0,l1=+A1[G0>>3],B1=(n+312|0)+(t<<2)|0,U1=e[B1>>2]|0,W1=m<<2,S=W1,i2=C,C=C+((1*S|0)+15&-16)|0,b=W1,C2=C,C=C+((1*b|0)+15&-16)|0,Q=W1,O2=C,C=C+((1*Q|0)+15&-16)|0,_=W1,k2=C,C=C+((1*_|0)+15&-16)|0,L=W1,_5=C,C=C+((1*L|0)+15&-16)|0,g2=a+1156|0,L2=(s0|0)>1e3,N4=L2?1696:1624,T4=N4+(U1<<3)|0,L4=+A1[T4>>3],F5=r5(W1,V5)|0,x=F5,k3=C,C=C+((1*x|0)+15&-16)|0,e[i2>>2]=k3,w=F5,u3=C,C=C+((1*w|0)+15&-16)|0,e[C2>>2]=u3,y=F5,p3=C,C=C+((1*y|0)+15&-16)|0,e[O2>>2]=p3,D=F5,G3=C,C=C+((1*D|0)+15&-16)|0,e[k2>>2]=G3,z5=(m|0)>1,z5&&(w3=k3+(V5<<2)|0,W5=i2+4|0,e[W5>>2]=w3,i6=u3+(V5<<2)|0,L3=C2+4|0,e[L3>>2]=i6,U3=p3+(V5<<2)|0,a3=O2+4|0,e[a3>>2]=U3,l3=G3+(V5<<2)|0,c3=k2+4|0,e[c3>>2]=l3,u9=(m|0)==2,!u9))for(k5=2;M=e[i2>>2]|0,G=e[C2>>2]|0,O=e[O2>>2]|0,z=e[k2>>2]|0,O5=r5(k5,V5)|0,P3=M+(O5<<2)|0,M5=i2+(k5<<2)|0,e[M5>>2]=P3,o6=G+(O5<<2)|0,e3=C2+(k5<<2)|0,e[e3>>2]=o6,A3=O+(O5<<2)|0,R3=O2+(k5<<2)|0,e[R3>>2]=A3,Q3=z+(O5<<2)|0,v3=k2+(k5<<2)|0,e[v3>>2]=Q3,y3=k5+1|0,X6=(y3|0)==(m|0),!X6;)k5=y3;if(H5=e[g2>>2]|0,U5=(s0|0)>0,U5)for(r6=e[k2>>2]|0,j3=(m|0)>0,O3=s0^-1,K5=V5^-1,T6=0,I9=O3;;){if(q3=(I9|0)>(K5|0),j4=q3?I9:K5,d3=j4^-1,k6=s0-T6|0,v6=(V5|0)>(k6|0),p=v6?k6:V5,s4(_5|0,E|0,W1|0)|0,ae(r6|0,0,F5|0)|0,j3)for(S6=(p|0)>0,B6=r0-T6|0,r9=0;;){if(b3=u+(r9<<2)|0,e6=e[b3>>2]|0,t6=e6+(T6<<2)|0,f6=_5+(r9<<2)|0,H3=e[f6>>2]|0,D3=(H3|0)==0,D3){if(S6)for(b6=O2+(r9<<2)|0,A6=e[b6>>2]|0,O6=i2+(r9<<2)|0,s3=e[O6>>2]|0,a6=C2+(r9<<2)|0,d6=e[a6>>2]|0,_3=k2+(r9<<2)|0,N6=e[_3>>2]|0,E9=0;T0=A6+(E9<<2)|0,s[T0>>2]=1000000013351432e-25,V0=s3+(E9<<2)|0,s[V0>>2]=0,J0=d6+(E9<<2)|0,s[J0>>2]=0,P0=N6+(E9<<2)|0,e[P0>>2]=0,U=E9+T6|0,z0=e6+(U<<2)|0,e[z0>>2]=0,O0=E9+1|0,M6=(O0|0)==(d3|0),!M6;)E9=O0}else{if(Y3=O2+(r9<<2)|0,Z3=e[Y3>>2]|0,S6){for(z9=0;$0=z9+T6|0,n6=e6+($0<<2)|0,Q6=e[n6>>2]|0,L6=1768+(Q6<<2)|0,K6=e[L6>>2]|0,J6=Z3+(z9<<2)|0,e[J6>>2]=K6,F3=z9+1|0,y6=(F3|0)==(d3|0),!y6;)z9=F3;if(j6=c+(r9<<2)|0,G6=e[j6>>2]|0,e9=k2+(r9<<2)|0,s9=e[e9>>2]|0,S6){for(G9=0;R6=(G9|0)>=(B6|0),a0=R6?L4:l1,U6=a0,Z=G9+T6|0,D6=G6+(Z<<2)|0,z6=+s[D6>>2],d9=+Zi(+z6),V=Z3+(G9<<2)|0,h0=+s[V>>2],o0=d9/h0,g0=s9+(G9<<2)|0,y9=!(o0>2]=B,j=G9+1|0,F6=(j|0)==(p|0),!F6;)G9=j;if(S6)for(l0=i2+(r9<<2)|0,u0=e[l0>>2]|0,d0=C2+(r9<<2)|0,w0=e[d0>>2]|0,b9=0;;)if(C0=b9+T6|0,f0=G6+(C0<<2)|0,B0=+s[f0>>2],p0=B0*B0,I0=u0+(b9<<2)|0,s[I0>>2]=p0,S0=w0+(b9<<2)|0,s[S0>>2]=p0,K0=+s[f0>>2],_0=K0<0,_0&&(Q0=+s[I0>>2],F0=-Q0,s[I0>>2]=F0),M0=Z3+(b9<<2)|0,U0=+s[M0>>2],y0=U0*U0,s[M0>>2]=y0,Y0=b9+1|0,M3=(Y0|0)==(d3|0),M3){T=d0,D0=u0;break}else b9=Y0;else U9=21}else U9=21}else U9=21;(U9|0)==21&&(U9=0,R=i2+(r9<<2)|0,Y=e[R>>2]|0,q=C2+(r9<<2)|0,T=q,D0=Y),R0=e[T>>2]|0,b4=e[i0>>2]|0,+EQ(b4,r0,D0,R0,Z3,0,T6,p,t6)}if(r1=r9+1|0,t9=(r1|0)==(m|0),t9)break;r9=r1}if(X3=e[g2>>2]|0,c6=(X3|0)>0,c6)for(p6=(p|0)>0,x6=I-T6|0,Y6=r0-T6|0,m3=X3,C4=0;;){if(H0=(a+1160|0)+(C4<<2)|0,e1=e[H0>>2]|0,b0=(a+2184|0)+(C4<<2)|0,i1=e[b0>>2]|0,c1=u+(e1<<2)|0,$1=e[c1>>2]|0,f1=$1+(T6<<2)|0,g1=u+(i1<<2)|0,s1=e[g1>>2]|0,a1=i2+(e1<<2)|0,n1=e[a1>>2]|0,o1=i2+(i1<<2)|0,Z0=e[o1>>2]|0,I1=C2+(e1<<2)|0,h1=e[I1>>2]|0,m1=C2+(i1<<2)|0,d1=e[m1>>2]|0,E1=O2+(e1<<2)|0,p1=e[E1>>2]|0,Q1=O2+(i1<<2)|0,_1=e[Q1>>2]|0,x1=k2+(e1<<2)|0,w1=e[x1>>2]|0,S1=k2+(i1<<2)|0,L1=e[S1>>2]|0,F1=_5+(e1<<2)|0,G1=e[F1>>2]|0,k1=(G1|0)==0,Z1=_5+(i1<<2)|0,k1?(N1=e[Z1>>2]|0,b1=(N1|0)==0,b1?W2=m3:U9=31):U9=31,(U9|0)==31){if(U9=0,e[Z1>>2]=1,e[F1>>2]=1,p6)for(q6=0;;){V1=(q6|0)<(x6|0);do if(V1){if(O1=w1+(q6<<2)|0,q1=e[O1>>2]|0,H1=(q1|0)==0,Y1=L1+(q6<<2)|0,H1&&(j1=e[Y1>>2]|0,n2=(j1|0)==0,n2)){e5=(q6|0)<(Y6|0);do if(e5)b5=Z0+(q6<<2)|0,Z2=+s[b5>>2],f5=n1+(q6<<2)|0,v5=+s[f5>>2],P5=v5+Z2,s[f5>>2]=P5,$9=+Zi(+P5),l5=h1+(q6<<2)|0,s[l5>>2]=$9,N=b5;else if(m5=n1+(q6<<2)|0,n5=+s[m5>>2],x2=Z0+(q6<<2)|0,_2=+s[x2>>2],B2=_2+n5,C5=B2<0,f9=+Zi(+n5),a9=+Zi(+_2),R5=a9+f9,d5=h1+(q6<<2)|0,s[d5>>2]=R5,C5){D5=-R5,s[m5>>2]=D5,N=x2;break}else{s[m5>>2]=R5,N=x2;break}while(!1);G5=d1+(q6<<2)|0,s[G5>>2]=0,s[N>>2]=0,e[Y1>>2]=1,X=q6+T6|0,q2=s1+(X<<2)|0,e[q2>>2]=0;break}P1=n1+(q6<<2)|0,c2=+s[P1>>2],T9=+Zi(+c2),z1=Z0+(q6<<2)|0,u2=+s[z1>>2],E6=+Zi(+u2),o2=E6+T9,s[P1>>2]=o2,E2=h1+(q6<<2)|0,A2=+s[E2>>2],K1=d1+(q6<<2)|0,h2=+s[K1>>2],$2=h2+A2,s[E2>>2]=$2,e[Y1>>2]=1,e[O1>>2]=1,K=q6+T6|0,l2=$1+(K<<2)|0,r2=e[l2>>2]|0,a2=s1+(K<<2)|0,X1=e[a2>>2]|0,E4=(r2|0)>-1,m4=0-r2|0,s2=E4?r2:m4,o4=(X1|0)>-1,A4=0-X1|0,f2=o4?X1:A4,e2=(s2|0)>(f2|0),e2?(y2=(r2|0)>0,v2=r2-X1|0,w2=X1-r2|0,F2=y2?v2:w2,e[a2>>2]=F2,J=e[l2>>2]|0,G2=J,P2=F2):(D2=(X1|0)>0,N2=r2-X1|0,d2=X1-r2|0,K2=D2?N2:d2,e[a2>>2]=K2,e[l2>>2]=X1,t0=e[a2>>2]|0,G2=X1,P2=t0),h4=(G2|0)>-1,S4=0-G2|0,H2=h4?G2:S4,M2=H2<<1,z2=(P2|0)<(M2|0),z2||(T1=0-P2|0,e[a2>>2]=T1,X2=e[l2>>2]|0,L5=0-X2|0,e[l2>>2]=L5)}while(!1);if(I5=p1+(q6<<2)|0,A5=+s[I5>>2],c5=_1+(q6<<2)|0,B5=+s[c5>>2],M1=B5+A5,s[c5>>2]=M1,s[I5>>2]=M1,S5=q6+1|0,A9=(S5|0)==(d3|0),A9)break;q6=S5}D4=e[i0>>2]|0,+EQ(D4,r0,n1,h1,p1,w1,T6,p,f1),W=e[g2>>2]|0,W2=W}if(g5=C4+1|0,a5=(g5|0)<(W2|0),a5)m3=W2,C4=g5;else{n3=W2;break}}else n3=X3;if(p5=T6+V5|0,t5=(s0|0)>(p5|0),N9=I9+V5|0,t5)T6=p5,I9=N9;else{S3=n3;break}}else S3=H5;if(g3=(S3|0)>0,g3)X5=S3,i9=0;else{C=G4;return}for(;s5=(a+1160|0)+(i9<<2)|0,h5=e[s5>>2]|0,J2=E+(h5<<2)|0,u5=e[J2>>2]|0,i5=(u5|0)==0,x5=(a+2184|0)+(i9<<2)|0,i5?(j2=e[x5>>2]|0,$5=E+(j2<<2)|0,Q5=e[$5>>2]|0,q5=(Q5|0)==0,q5?J5=X5:U9=52):U9=52,(U9|0)==52&&(U9=0,e[J2>>2]=1,j5=e[x5>>2]|0,E5=E+(j5<<2)|0,e[E5>>2]=1,e0=e[g2>>2]|0,J5=e0),f3=i9+1|0,h3=(f3|0)<(J5|0),h3;)X5=J5,i9=f3;C=G4}function PS(t,n,A,a,c){t=t|0,n=+n,A=A|0,a=+a,c=+c;var u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,k3=0,u3=0,p3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,X3=0,c6=0,p6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,L6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,L4=0,T4=0,j4=0,C4=0,N4=0,U9=0,G4=0,a4=0,R4=0,u4=0,Ce=0,q9=0,m9=0,Be=0,Ne=0,Xe=0,U4=0,Ge=0,P4=0,X4=0,be=0,e8=0,Z9=0,$e=0,f4=0,_6=0,O4=0,R9=0,$4=0,_4=0,le=0,W9=0,ce=0,ge=0,B4=0,ee=0,F4=0,he=0,C9=0,g6=0,Ue=0,l4=0,pe=0,p4=0,c4=0,P6=0,De=0,_e=0,t8=0,g4=0,k4=0,u8=0,J3=0,w9=0,B9=0,M4=0,te=0,$t=0,xe=0,lt=0,wt=0,z8=0,ct=0,gt=0,F8=0,M8=0,T8=0,N8=0,Z8=0,W8=0,kt=0,G8=0,U8=0,P8=0,k8=0,v8=0,f8=0,O8=0,q8=0,j8=0,X8=0,d8=0,Pe=0,Le=0,i8=0,S8=0,k9=0,ht=0,Qe=0,ut=0,vt=0,et=0,St=0,ie=0,tt=0,H8=0,b8=0,r8=0,q4=0,Re=0,n8=0,I8=0,D8=0,ue=0,j9=0,s8=0,E8=0,o8=0,m8=0,fe=0,ye=0,Oe=0,qe=0,X9=0,Fe=0,de=0,A8=0,we=0,Q4=0,C8=0,it=0,H4=0,I3=0,He=0,B8=0,re=0,H9=0,ne=0,D9=0,Ye=0,Y8=0,ft=0,rt=0,nt=0,J8=0,st=0,V8=0,a8=0,$8=0,_8=0,Y4=0,ot=0,x8=0,Je=0,p9=0,At=0,Ve=0;for(Ve=C,C=C+32480|0,J3=Ve+32256|0,p9=Ve+1792|0,w9=Ve,x=A<<2,b=x,R=C,C=C+((1*b|0)+15&-16)|0,r2=S9(68)|0,ae(p9|0,0,30464)|0,S3=a>0,o4=a<0,k9=0;;){for(le=k9<<2,ie=0;n5=ie+le|0,I5=(n5|0)<88,I5?(t5=1272+(n5<<2)|0,q5=+s[t5>>2],H9=q5):H9=-30,k3=n5+1|0,a3=(k3|0)<88,a3?(R6=1272+(k3<<2)|0,U6=+s[R6>>2],z6=H9>U6,z6?ne=U6:ne=H9):(s9=H9>-30,s9?ne=-30:ne=H9),y6=n5+2|0,F6=(y6|0)<88,F6?(M6=1272+(y6<<2)|0,t9=+s[M6>>2],A9=ne>t9,A9?D9=t9:D9=ne):(M3=ne>-30,M3?D9=-30:D9=ne),X6=n5+3|0,u9=(X6|0)<88,u9?(a9=1272+(X6<<2)|0,$9=+s[a9>>2],T9=D9>$9,T9?Ye=$9:Ye=D9):(f9=D9>-30,f9?Ye=-30:Ye=D9),E6=J3+(ie<<2)|0,s[E6>>2]=Ye,T6=ie+1|0,T8=(T6|0)==56,!T8;)ie=T6;if(l4=(p9+(k9*1792|0)|0)+448|0,M=2792+(k9*1344|0)|0,s4(l4|0,M|0,224)|0,q=(p9+(k9*1792|0)|0)+672|0,h0=(2792+(k9*1344|0)|0)+224|0,s4(q|0,h0|0,224)|0,B0=(p9+(k9*1792|0)|0)+896|0,y0=(2792+(k9*1344|0)|0)+448|0,s4(B0|0,y0|0,224)|0,r1=(p9+(k9*1792|0)|0)+1120|0,a1=(2792+(k9*1344|0)|0)+672|0,s4(r1|0,a1|0,224)|0,Q1=(p9+(k9*1792|0)|0)+1344|0,N1=(2792+(k9*1344|0)|0)+896|0,s4(Q1|0,N1|0,224)|0,c2=(p9+(k9*1792|0)|0)+1568|0,a2=(2792+(k9*1344|0)|0)+1120|0,s4(c2|0,a2|0,224)|0,N2=p9+(k9*1792|0)|0,s4(N2|0,M|0,224)|0,X2=(p9+(k9*1792|0)|0)+224|0,s4(X2|0,M|0,224)|0,S3)for(r8=0;;){if(o4)for(E8=0;h4=16-E8|0,vt=(h4|0)>-1,nt=0-h4|0,G9=vt?h4:nt,z9=+(G9|0),b9=z9*c,E9=b9+a,q6=E9<0,I=q6?0:E9,r9=I>0,u=r9?0:I,m4=((p9+(k9*1792|0)|0)+(r8*224|0)|0)+(E8<<2)|0,S4=+s[m4>>2],A4=S4+u,s[m4>>2]=A4,b4=E8+1|0,P8=(b4|0)==56,!P8;)E8=b4;else for(o8=0;g3=16-o8|0,et=(g3|0)>-1,J8=0-g3|0,x6=et?g3:J8,b6=+(x6|0),L6=b6*c,D6=L6+a,d9=D6<0,m=d9?0:D6,i9=((p9+(k9*1792|0)|0)+(r8*224|0)|0)+(o8<<2)|0,N9=+s[i9>>2],I9=N9+m,s[i9>>2]=I9,E4=o8+1|0,U8=(E4|0)==56,!U8;)o8=E4;if(e3=r8+1|0,k8=(e3|0)==8,k8)break;r8=e3}else for(b8=0;;){if(o4)for(m8=0;j4=16-m8|0,St=(j4|0)>-1,st=0-j4|0,C4=St?j4:st,N4=+(C4|0),U9=N4*c,G4=U9+a,a4=G4>0,E=a4?0:G4,u4=((p9+(k9*1792|0)|0)+(b8*224|0)|0)+(m8<<2)|0,Ce=+s[u4>>2],q9=Ce+E,s[u4>>2]=q9,m9=m8+1|0,Z8=(m9|0)==56,!Z8;)m8=m9;else for(s8=0;Be=16-s8|0,ut=(Be|0)>-1,rt=0-Be|0,Ne=ut?Be:rt,Xe=+(Ne|0),U4=Xe*c,Ge=U4+a,P4=((p9+(k9*1792|0)|0)+(b8*224|0)|0)+(s8<<2)|0,be=+s[P4>>2],e8=be+Ge,s[P4>>2]=e8,Z9=s8+1|0,N8=(Z9|0)==56,!N8;)s8=Z9;if($e=b8+1|0,W8=($e|0)==8,W8)break;b8=$e}for(D4=t+(k9<<2)|0,L4=+s[D4>>2],T4=L4,q4=0;;){for(f4=(q4|0)<2,_6=+(q4|0),w=_6*10,y=70-w,O4=f4?50:y,R9=O4+T4,$4=R9,d8=0;_4=((p9+(k9*1792|0)|0)+(q4*224|0)|0)+(d8<<2)|0,W9=+s[_4>>2],ce=W9+$4,s[_4>>2]=ce,ge=d8+1|0,M4=(ge|0)==56,!M4;)d8=ge;for(B4=w9+(q4*224|0)|0,s4(B4|0,J3|0,224)|0,ee=+(q4|0),F4=ee*10,he=70-F4,S8=0;;)if(C9=(w9+(q4*224|0)|0)+(S8<<2)|0,g6=+s[C9>>2],Ue=he+g6,s[C9>>2]=Ue,pe=S8+1|0,lt=(pe|0)==56,lt){i8=0;break}else S8=pe;for(;p4=((p9+(k9*1792|0)|0)+(q4*224|0)|0)+(i8<<2)|0,c4=+s[p4>>2],P6=(w9+(q4*224|0)|0)+(i8<<2)|0,De=+s[P6>>2],_e=c4>De,_e&&(s[P6>>2]=c4),t8=i8+1|0,xe=(t8|0)==56,!xe;)i8=t8;if(g4=q4+1|0,kt=(g4|0)==8,kt){Re=1;break}else q4=g4}for(;;){for(k4=Re+-1|0,Le=0;;)if(u8=(w9+(k4*224|0)|0)+(Le<<2)|0,T=+s[u8>>2],N=(w9+(Re*224|0)|0)+(Le<<2)|0,G=+s[N>>2],O=T>2]=T),z=Le+1|0,$t=(z|0)==56,$t){Pe=0;break}else Le=z;for(;Y=(w9+(Re*224|0)|0)+(Pe<<2)|0,t0=+s[Y>>2],J=((p9+(k9*1792|0)|0)+(Re*224|0)|0)+(Pe<<2)|0,W=+s[J>>2],e0=t0>2]=t0),X=Pe+1|0,te=(X|0)==56,!te;)Pe=X;if(U=Re+1|0,G8=(U|0)==8,G8)break;Re=U}if($0=k9+1|0,v8=($0|0)==17,v8)break;k9=$0}for(y9=n,R4=(A|0)>0,X4=A^-1,Qe=0;;){for(Z=S9(32)|0,K=r2+(Qe<<2)|0,e[K>>2]=Z,a0=+(Qe|0),s0=a0*.5,i0=a0*.34657350182533264,r0=i0+4.135165354540845,V=+Un(+r0),o0=V/y9,g0=+zA(+o0),j=~~g0,l0=+(j|0),u0=l0*n,d0=u0+1,w0=d0,C0=+Vr(+w0),k0=C0*2.885390043258667,f0=k0+-11.931568145751953,p0=+$B(+f0),I0=~~p0,S0=j+1|0,K0=+(S0|0),_0=K0*n,Q0=_0,F0=+Vr(+Q0),M0=F0*2.885390043258667,N0=M0+-11.931568145751953,U0=+zA(+N0),Y0=~~U0,R0=(I0|0)>(Qe|0),ht=R0?Qe:I0,D0=(ht|0)<0,B8=D0?0:ht,T0=(Y0|0)>16,p=T0?16:Y0,V0=(B8|0)>(p|0),J0=Qe+1|0,P0=(J0|0)<17,z0=s0+3.9657840728759766,re=0;;){if(G0=S9(232)|0,O0=Z+(re<<2)|0,e[O0>>2]=G0,R4)for(n8=0;H0=R+(n8<<2)|0,s[H0>>2]=999,e1=n8+1|0,B9=(e1|0)==(A|0),!B9;)n8=e1;if(!V0)for(fe=B8;;){for(b0=+(fe|0),i1=b0*.5,I8=0,ye=0;;){if(g1=+(I8|0),l1=g1*.125,s1=l1+i1,n1=s1+3.9032840728759766,o1=n1*.6931470036506653,Z0=+Un(+o1),I1=Z0/y9,h1=~~I1,m1=s1+4.028284072875977,d1=m1*.6931470036506653,E1=+Un(+d1),B1=E1/y9,p1=B1+1,_1=~~p1,x1=(h1|0)<0,B=x1?0:h1,w1=(B|0)>(A|0),it=w1?A:B,S1=(it|0)<(ye|0),H4=S1?it:ye,L1=(_1|0)<0,j8=L1?0:_1,F1=(j8|0)>(A|0),Y8=F1?A:j8,G1=(H4|0)<(Y8|0),k1=(H4|0)<(A|0),V8=G1&k1,V8)for(U1=((p9+(fe*1792|0)|0)+(re*224|0)|0)+(I8<<2)|0,Z1=+s[U1>>2],b1=(ye|0)<(A|0),V1=b1?ye:A,O1=V1^-1,q1=(h1|0)>0,_=h1^-1,H1=q1?_:-1,Y1=(H1|0)<(O1|0),Y4=Y1?O1:H1,j1=Y4^-1,n2=(_1|0)>0,L=_1^-1,W1=n2?L:-1,P1=(W1|0)<(X4|0),ot=P1?X4:W1,z1=ot-Y4|0,u2=Y4+A|0,o2=u2^-1,E2=z1>>>0>o2>>>0,x8=E2?z1:o2,A2=j1-x8|0,X9=H4;;)if(K1=R+(X9<<2)|0,h2=+s[K1>>2],$2=h2>Z1,$2&&(s[K1>>2]=Z1),i2=X9+1|0,f8=(i2|0)==(A2|0),f8){Oe=A2;break}else X9=i2;else Oe=H4;if(l2=I8+1|0,O8=(l2|0)==56,O8){qe=Oe;break}else I8=l2,ye=Oe}if(c1=(qe|0)<(A|0),c1)for($1=((p9+(fe*1792|0)|0)+(re*224|0)|0)+220|0,f1=+s[$1>>2],Fe=qe;X1=R+(Fe<<2)|0,s2=+s[X1>>2],f2=s2>f1,f2&&(s[X1>>2]=f1),e2=Fe+1|0,q8=(e2|0)==(A|0),!q8;)Fe=e2;if(y2=fe+1|0,v2=(fe|0)<(p|0),v2)fe=y2;else break}if(P0){for(D8=0,de=0;;){if(G2=+(D8|0),H2=G2*.125,M2=H2+s0,P2=M2+3.9032840728759766,z2=P2*.6931470036506653,o5=+Un(+z2),O2=o5/y9,T1=~~O2,L5=M2+4.028284072875977,e5=L5*.6931470036506653,b5=+Un(+e5),Z2=b5/y9,f5=Z2+1,v5=~~f5,P5=(T1|0)<0,S=P5?0:T1,l5=(S|0)>(A|0),I3=l5?A:S,k2=(I3|0)<(de|0),He=k2?I3:de,m5=(v5|0)<0,X8=m5?0:v5,x2=(X8|0)>(A|0),ft=x2?A:X8,_2=(He|0)<(ft|0),B2=(He|0)<(A|0),a8=_2&B2,a8)for(C5=((p9+(J0*1792|0)|0)+(re*224|0)|0)+(D8<<2)|0,R5=+s[C5>>2],d5=(de|0)<(A|0),D5=d5?de:A,G5=D5^-1,_5=(T1|0)>0,D=T1^-1,q2=_5?D:-1,A5=(q2|0)<(G5|0),$8=A5?G5:q2,c5=$8^-1,B5=(v5|0)>0,Q=v5^-1,M1=B5?Q:-1,S5=(M1|0)<(X4|0),_8=S5?X4:M1,g5=_8-$8|0,a5=$8+A|0,W2=a5^-1,g2=g5>>>0>W2>>>0,Je=g2?g5:W2,p5=c5-Je|0,Q4=He;;)if(s5=R+(Q4<<2)|0,h5=+s[s5>>2],J2=h5>R5,J2&&(s[s5>>2]=R5),u5=Q4+1|0,wt=(u5|0)==(p5|0),wt){A8=p5;break}else Q4=u5;else A8=He;if(i5=D8+1|0,z8=(i5|0)==56,z8){we=A8;break}else D8=i5,de=A8}if(D2=(we|0)<(A|0),D2)for(d2=((p9+(J0*1792|0)|0)+(re*224|0)|0)+220|0,K2=+s[d2>>2],C8=we;x5=R+(C8<<2)|0,j2=+s[x5>>2],$5=j2>K2,$5&&(s[x5>>2]=K2),L2=C8+1|0,ct=(L2|0)==(A|0),!ct;)C8=L2}for(w2=Z+(re<<2)|0,C2=Z+(re<<2)|0,F2=Z+(re<<2)|0,ue=0;;){f3=+(ue|0),h3=f3*.125,J5=z0+h3,X5=J5*.6931470036506653,n3=+Un(+X5),m3=n3/y9,F5=~~m3,V5=(F5|0)<0;do if(V5)u3=ue+2|0,p3=e[w2>>2]|0,z3=p3+(u3<<2)|0,s[z3>>2]=-999;else if(G3=(F5|0)<(A|0),G3){i6=R+(F5<<2)|0,L3=e[i6>>2]|0,U3=ue+2|0,l3=e[C2>>2]|0,c3=l3+(U3<<2)|0,e[c3>>2]=L3;break}else{z5=ue+2|0,w3=e[F2>>2]|0,W5=w3+(z5<<2)|0,s[W5>>2]=-999;break}while(!1);if(C3=ue+1|0,gt=(C3|0)==56,gt)break;ue=C3}Q5=G0+8|0,j5=+s[Q5>>2],E5=j5>-200;do if(E5)j9=0;else if(H5=G0+12|0,U5=+s[H5>>2],O5=U5>-200,O5)j9=1;else if(y3=G0+16|0,r6=+s[y3>>2],j3=r6>-200,j3)j9=2;else if(O3=G0+20|0,K5=+s[O3>>2],q3=K5>-200,q3)j9=3;else if(l6=G0+24|0,d3=+s[l6>>2],k6=d3>-200,k6)j9=4;else if(v6=G0+28|0,S6=+s[v6>>2],B6=S6>-200,B6)j9=5;else if(X3=G0+32|0,c6=+s[X3>>2],p6=c6>-200,p6)j9=6;else if(Y6=G0+36|0,C6=+s[Y6>>2],b3=C6>-200,b3)j9=7;else if(e6=G0+40|0,t6=+s[e6>>2],f6=t6>-200,f6)j9=8;else if(H3=G0+44|0,D3=+s[H3>>2],Y3=D3>-200,Y3)j9=9;else if(Z3=G0+48|0,A6=+s[Z3>>2],t3=A6>-200,t3)j9=10;else if(O6=G0+52|0,s3=+s[O6>>2],a6=s3>-200,a6)j9=11;else if(d6=G0+56|0,_3=+s[d6>>2],N6=_3>-200,N6)j9=12;else if(n6=G0+60|0,Q6=+s[n6>>2],K6=Q6>-200,K6)j9=13;else{if(I6=G0+64|0,J6=+s[I6>>2],F3=J6>-200,F3){j9=14;break}if(j6=G0+68|0,G6=+s[j6>>2],e9=G6>-200,e9){j9=15;break}j9=16}while(!1);for(s[G0>>2]=j9,H8=55;;){if(k5=H8+2|0,P3=G0+(k5<<2)|0,M5=+s[P3>>2],o6=M5>-200,o6){tt=H8;break}if(A3=H8+-1|0,R3=(A3|0)>17,R3)H8=A3;else{tt=A3;break}}if(u6=+(tt|0),Q3=G0+4|0,s[Q3>>2]=u6,v3=re+1|0,F8=(v3|0)==8,F8)break;re=v3}if(M8=(J0|0)==17,M8)break;Qe=J0}return C=Ve,r2|0}function IQ(t,n,A,a,c,u){t=t|0,n=n|0,A=A|0,a=a|0,c=+c,u=u|0;var E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,k3=0,u3=0,p3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,X3=0,c6=0,p6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,L6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0;if(D4=C,w=t<<2,E=w,y=C,C=C+((1*E|0)+15&-16)|0,I=w,A2=C,C=C+((1*I|0)+15&-16)|0,m=w,j2=C,C=C+((1*m|0)+15&-16)|0,p=w,n3=C,C=C+((1*p|0)+15&-16)|0,B=w,W5=C,C=C+((1*B|0)+15&-16)|0,k5=+s[A>>2],r6=k5+c,S6=r6<1,A4=S6?1:r6,f6=A4*A4,D=f6*.5,z=D*A4,s[y>>2]=D,s[A2>>2]=D,s[j2>>2]=0,s[n3>>2]=z,s[W5>>2]=0,K=(t|0)>1,K)for(M3=1,E6=D,T6=D,i9=0,N9=0,I9=z,E4=1;c1=A+(M3<<2)|0,h1=+s[c1>>2],L1=h1+c,H1=L1<1,y9=H1?1:L1,K1=y9*y9,y2=K1+E6,M2=K1*E4,f5=M2+T6,R5=M2*E4,S5=R5+i9,J2=K1*y9,u5=J2+I9,i5=M2*y9,x5=i5+N9,$5=y+(M3<<2)|0,s[$5>>2]=y2,L2=A2+(M3<<2)|0,s[L2>>2]=f5,Q5=j2+(M3<<2)|0,s[Q5>>2]=S5,q5=n3+(M3<<2)|0,s[q5>>2]=u5,j5=W5+(M3<<2)|0,s[j5>>2]=x5,E5=M3+1|0,f3=E4+1,F6=(E5|0)==(t|0),!F6;)M3=E5,E6=y2,T6=f5,i9=S5,N9=x5,I9=u5,E4=f3;if(u0=e[n>>2]|0,_0=u0>>16,V0=(_0|0)>-1,V0)J5=u0,d6=0,Q6=0,J6=1,M6=0,o4=0;else for(F5=u0,p3=_0,t9=0,h4=0;;)if(m3=F5&65535,V5=y+(m3<<2)|0,k3=+s[V5>>2],u3=0-p3|0,z3=y+(u3<<2)|0,G3=+s[z3>>2],z5=G3+k3,w3=A2+(m3<<2)|0,i6=+s[w3>>2],L3=A2+(u3<<2)|0,U3=+s[L3>>2],a3=i6-U3,l3=j2+(m3<<2)|0,c3=+s[l3>>2],C3=j2+(u3<<2)|0,H5=+s[C3>>2],U5=H5+c3,O5=n3+(m3<<2)|0,P3=+s[O5>>2],M5=n3+(u3<<2)|0,o6=+s[M5>>2],e3=o6+P3,A3=W5+(m3<<2)|0,R3=+s[A3>>2],u6=W5+(u3<<2)|0,Q3=+s[u6>>2],v3=R3-Q3,y3=e3*U5,j3=v3*a3,O3=y3-j3,K5=v3*z5,S3=e3*a3,g3=K5-S3,q3=U5*z5,l6=a3*a3,d3=q3-l6,k6=g3*h4,v6=k6+O3,B6=v6/d3,X3=B6<0,e9=X3?0:B6,c6=e9-c,p6=a+(t9<<2)|0,s[p6>>2]=c6,x6=t9+1|0,Y6=h4+1,C6=n+(x6<<2)|0,b3=e[C6>>2]|0,e6=b3>>16,t6=(e6|0)>-1,t6){J5=b3,d6=O3,Q6=g3,J6=d3,M6=x6,o4=Y6;break}else F5=b3,p3=e6,t9=x6,h4=Y6;if(h3=J5&65535,X5=(h3|0)<(t|0),X5)for(S=J5,Z3=h3,X6=M6,z9=o4;;)if(D3=S>>16,Y3=y+(Z3<<2)|0,b6=+s[Y3>>2],A6=y+(D3<<2)|0,t3=+s[A6>>2],O6=b6-t3,s3=A2+(Z3<<2)|0,a6=+s[s3>>2],Q=A2+(D3<<2)|0,_=+s[Q>>2],L=a6-_,x=j2+(Z3<<2)|0,R=+s[x>>2],M=j2+(D3<<2)|0,T=+s[M>>2],N=R-T,G=n3+(Z3<<2)|0,O=+s[G>>2],Y=n3+(D3<<2)|0,t0=+s[Y>>2],J=O-t0,W=W5+(Z3<<2)|0,e0=+s[W>>2],q=W5+(D3<<2)|0,X=+s[q>>2],U=e0-X,$0=J*N,Z=U*L,a0=$0-Z,s0=U*O6,i0=J*L,r0=s0-i0,V=N*O6,h0=L*L,o0=V-h0,g0=r0*z9,j=g0+a0,l0=j/o0,d0=l0<0,s9=d0?0:l0,w0=s9-c,C0=a+(X6<<2)|0,s[C0>>2]=w0,k0=X6+1|0,f0=z9+1,B0=n+(k0<<2)|0,p0=e[B0>>2]|0,I0=p0&65535,S0=(I0|0)<(t|0),S0)S=p0,Z3=I0,X6=k0,z9=f0;else{_3=a0,L6=r0,F3=o0,A9=k0,G9=f0;break}else _3=d6,L6=Q6,F3=J6,A9=M6,G9=o4;if(H3=(A9|0)<(t|0),H3)for(u9=A9,b9=G9;K0=b9*L6,Q0=K0+_3,F0=Q0/F3,M0=F0<0,R6=M0?0:F0,N0=R6-c,U0=a+(u9<<2)|0,s[U0>>2]=N0,y0=u9+1|0,Y0=b9+1,y6=(y0|0)==(t|0),!y6;)u9=y0,b9=Y0;if(R0=(u|0)<1,R0){C=D4;return}if(D0=(u|0)/2&-1,T0=D0-u|0,J0=(T0|0)>-1,J0)N6=_3,K6=L6,j6=F3,f9=0,E9=0;else for(P0=u-D0|0,H0=D0,i1=T0,d9=0,q6=0;;)if(r1=y+(H0<<2)|0,e1=+s[r1>>2],b0=0-i1|0,$1=y+(b0<<2)|0,f1=+s[$1>>2],g1=f1+e1,l1=A2+(H0<<2)|0,s1=+s[l1>>2],a1=A2+(b0<<2)|0,n1=+s[a1>>2],o1=s1-n1,Z0=j2+(H0<<2)|0,I1=+s[Z0>>2],m1=j2+(b0<<2)|0,d1=+s[m1>>2],E1=d1+I1,B1=n3+(H0<<2)|0,p1=+s[B1>>2],Q1=n3+(b0<<2)|0,_1=+s[Q1>>2],x1=_1+p1,w1=W5+(H0<<2)|0,S1=+s[w1>>2],F1=W5+(b0<<2)|0,G1=+s[F1>>2],k1=S1-G1,U1=x1*E1,Z1=k1*o1,N1=U1-Z1,b1=k1*g1,V1=x1*o1,O1=b1-V1,q1=E1*g1,Y1=o1*o1,j1=q1-Y1,n2=O1*q6,W1=n2+N1,P1=W1/j1,c2=P1-c,z1=a+(d9<<2)|0,u2=+s[z1>>2],o2=c2>2]=c2),E2=d9+1|0,h2=q6+1,$2=D0+E2|0,i2=$2-u|0,z6=(E2|0)==(P0|0),z6){N6=N1,K6=O1,j6=j1,f9=P0,E9=h2;break}else H0=$2,i1=i2,d9=E2,q6=h2;if(z0=f9+D0|0,G0=(z0|0)<(t|0),G0)for(O0=t-D0|0,b=z0,$9=f9,m4=E9;;)if(r2=b-u|0,a2=y+(b<<2)|0,X1=+s[a2>>2],s2=y+(r2<<2)|0,f2=+s[s2>>2],e2=X1-f2,v2=A2+(b<<2)|0,w2=+s[v2>>2],C2=A2+(r2<<2)|0,F2=+s[C2>>2],D2=w2-F2,N2=j2+(b<<2)|0,d2=+s[N2>>2],K2=j2+(r2<<2)|0,G2=+s[K2>>2],H2=d2-G2,P2=n3+(b<<2)|0,z2=+s[P2>>2],o5=n3+(r2<<2)|0,O2=+s[o5>>2],T1=z2-O2,X2=W5+(b<<2)|0,L5=+s[X2>>2],e5=W5+(r2<<2)|0,b5=+s[e5>>2],Z2=L5-b5,v5=T1*H2,P5=Z2*D2,l5=v5-P5,k2=Z2*e2,m5=T1*D2,n5=k2-m5,x2=H2*e2,_2=D2*D2,B2=x2-_2,C5=n5*m4,d5=C5+l5,D5=d5/B2,G5=D5-c,_5=a+($9<<2)|0,q2=+s[_5>>2],I5=G5>2]=G5),A5=$9+1|0,c5=m4+1,B5=A5+D0|0,D6=(A5|0)==(O0|0),D6){n6=l5,I6=n5,G6=B2,a9=O0,r9=c5;break}else b=B5,$9=A5,m4=c5;else n6=N6,I6=K6,G6=j6,a9=f9,r9=E9;if(l2=(a9|0)<(t|0),l2)T9=a9,S4=r9;else{C=D4;return}for(;M1=S4*I6,g5=M1+n6,a5=g5/G6,W2=a5-c,g2=a+(T9<<2)|0,p5=+s[g2>>2],t5=W2>2]=W2),s5=T9+1|0,h5=S4+1,U6=(s5|0)==(t|0),!U6;)T9=s5,S4=h5;C=D4}function OS(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0;if(c1=C,u=A<<2,a=u,E=C,C=C+((1*a|0)+15&-16)|0,c=u,_=C,C=C+((1*c|0)+15&-16)|0,t0=(A|0)>0,t0)y0=0,P0=0;else{C=c1;return}for(;;){S0=(P0|0)<2;do if(S0)Q0=E+(P0<<2)|0,e[Q0>>2]=y0,I=t+(y0<<2)|0,m=e[I>>2]|0,p=_+(P0<<2)|0,e[p>>2]=m,H0=P0;else{for(K0=t+(y0<<2)|0,_0=+s[K0>>2],z0=P0;;){if(B=z0+-1|0,S=_+(B<<2)|0,b=+s[S>>2],w=_0>2]|0,x=L+n|0,R=(y0|0)<(x|0),M=(z0|0)>1,D0=M&R,!D0){O0=z0,i1=12;break}if(T=z0+-2|0,N=_+(T<<2)|0,G=+s[N>>2],O=!(b<=G),O){O0=z0,i1=12;break}if(z=E+(T<<2)|0,Y=e[z>>2]|0,J=Y+n|0,W=(y0|0)<(J|0),W)z0=B;else{O0=z0,i1=12;break}}if((i1|0)==8){i1=0,y=E+(G0<<2)|0,e[y>>2]=y0,D=_+(G0<<2)|0,s[D>>2]=_0,H0=G0;break}else if((i1|0)==12){i1=0,e0=E+(O0<<2)|0,e[e0>>2]=y0,q=_+(O0<<2)|0,s[q>>2]=_0,H0=O0;break}}while(!1);if(r1=H0+1|0,X=y0+1|0,U0=(X|0)==(A|0),U0){e1=H0,b0=r1;break}else y0=X,P0=r1}if(s0=(e1|0)>-1,!s0){C=c1;return}for(w0=n+1|0,Y0=0,T0=0;;){if(U=(Y0|0)<(e1|0),U?($0=Y0+1|0,Z=_+($0<<2)|0,K=+s[Z>>2],a0=_+(Y0<<2)|0,i0=+s[a0>>2],r0=K>i0,r0?(V=E+($0<<2)|0,h0=e[V>>2]|0,F0=h0):i1=17):i1=17,(i1|0)==17&&(i1=0,o0=E+(Y0<<2)|0,g0=e[o0>>2]|0,j=w0+g0|0,F0=j),l0=(F0|0)>(A|0),R0=l0?A:F0,u0=(T0|0)<(R0|0),u0)for(d0=_+(Y0<<2)|0,C0=e[d0>>2]|0,k0=(F0|0)<(A|0),f0=k0?F0:A,J0=T0;;)if(B0=t+(J0<<2)|0,e[B0>>2]=C0,p0=J0+1|0,M0=(p0|0)==(f0|0),M0){V0=f0;break}else J0=p0;else V0=T0;if(I0=Y0+1|0,N0=(I0|0)==(b0|0),N0)break;Y0=I0,T0=V0}C=c1}function EQ(t,n,A,a,c,u,E,I,m){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0,u=u|0,E=E|0,I=I|0,m=m|0;var p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0;if(c2=C,x=I<<2,D=x,R=C,C=C+((1*D|0)+15&-16)|0,e0=t+500|0,V=e[e0>>2]|0,f0=(V|0)==0,f0?p1=I:(U0=t+504|0,O0=e[U0>>2]|0,s1=O0-E|0,p1=s1),F1=(p1|0)>(I|0),Y1=F1?I:p1,M=(Y1|0)>0,M)for(T=(u|0)==0,N=(p1|0)<(I|0),G=N?p1:I,O1=0;;){T?P1=9:(t0=u+(O1<<2)|0,J=e[t0>>2]|0,W=(J|0)==0,W&&(P1=9));do if((P1|0)==9)if(P1=0,q=a+(O1<<2)|0,X=+s[q>>2],U=c+(O1<<2)|0,$0=+s[U>>2],Z=X/$0,K=A+(O1<<2)|0,a0=+s[K>>2],s0=a0<0,i0=Z,r0=+Nn(+i0),h0=+Oi(r0),s0){o0=-h0,g0=~~o0,j=m+(O1<<2)|0,e[j>>2]=g0;break}else{l0=~~h0,u0=m+(O1<<2)|0,e[u0>>2]=l0;break}while(!1);if(d0=O1+1|0,b1=(d0|0)==(G|0),b1){V1=G;break}else O1=d0}else V1=0;if(O=(V1|0)<(I|0),!O)return y=0,C=c2,+y;for(z=(u|0)!=0,Y=n-E|0,p=0,G1=0,q1=V1;;){z?(w0=u+(q1<<2)|0,C0=e[w0>>2]|0,k0=(C0|0)==0,k0?P1=15:(B=p,k1=G1)):P1=15;do if((P1|0)==15)if(P1=0,B0=a+(q1<<2)|0,p0=+s[B0>>2],I0=c+(q1<<2)|0,S0=+s[I0>>2],K0=p0/S0,_0=!(K0<.25),Q0=(q1|0)<(Y|0),j1=z&Q0,n2=_0|j1,n2){y0=A+(q1<<2)|0,Y0=+s[y0>>2],R0=Y0<0,D0=K0,T0=+Nn(+D0),V0=+Oi(T0),J0=-V0,_=R0?J0:V0,Q=~~_,P0=m+(q1<<2)|0,e[P0>>2]=Q,z0=r5(Q,Q)|0,G0=+(z0|0),r1=+s[I0>>2],H0=G0*r1,s[B0>>2]=H0,B=p,k1=G1;break}else{F0=K0+p,M0=G1+1|0,N0=R+(G1<<2)|0,e[N0>>2]=B0,B=F0,k1=M0;break}while(!1);if(e1=q1+1|0,N1=(e1|0)==(I|0),N1){S=B,U1=k1;break}else p=B,G1=k1,q1=e1}if(b0=(U1|0)==0,b0||(Th(R,U1,4,9),i1=(U1|0)>0,!i1))return y=S,C=c2,+y;for(c1=a,$1=t+512|0,f1=+A1[$1>>3],b=S,H1=0;;)if(g1=R+(H1<<2)|0,l1=e[g1>>2]|0,a1=l1,n1=a1-c1|0,o1=n1>>2,Z0=b,I1=!(Z0>=f1),I1?(w=b,L=0,W1=0):(h1=A+(o1<<2)|0,m1=e[h1>>2]|0,d1=m1&-2147483648,E1=d1|1065353216,B1=(e[p2>>2]=E1,+s[p2>>2]),Q1=~~B1,_1=b+-1,x1=c+(o1<<2)|0,w1=+s[x1>>2],w=_1,L=Q1,W1=w1),S1=m+(o1<<2)|0,e[S1>>2]=L,s[l1>>2]=W1,L1=H1+1|0,Z1=(L1|0)==(U1|0),Z1){y=w;break}else b=w,H1=L1;return C=c2,+y}function qS(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0;return b=C,A=e[t>>2]|0,a=+s[A>>2],c=e[n>>2]|0,u=+s[c>>2],E=au,p=m&1,B=I-p|0,B|0}function HS(t){t=t|0;var n=0,A=0,a=0;a=C,n=(t|0)==0,n||I2(t)}function YS(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0;if(W=C,A=(t|0)==0,!A){if(a=t+4|0,y=e[a>>2]|0,R=(y|0)>0,M=t+20|0,R)for(x=y,Y=0;T=e[M>>2]|0,N=T+(Y<<2)|0,G=e[N>>2]|0,O=(G|0)==0,O?u=x:(I2(G),n=e[a>>2]|0,u=n),z=Y+1|0,c=(z|0)<(u|0),c;)x=u,Y=z;if(E=e[M>>2]|0,I2(E),I=t+24|0,m=e[I>>2]|0,p=(m|0)>0,B=t+28|0,p)for(t0=0;S=e[B>>2]|0,b=S+(t0<<2)|0,w=e[b>>2]|0,I2(w),D=t0+1|0,Q=e[I>>2]|0,_=(D|0)<(Q|0),_;)t0=D;L=e[B>>2]|0,I2(L),I2(t)}}function JS(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0;if(l0=C,c=e[t>>2]|0,U2(n,c,24),u=t+4|0,Q=e[u>>2]|0,U2(n,Q,24),Y=t+8|0,U=e[Y>>2]|0,$0=U+-1|0,U2(n,$0,24),Z=t+12|0,K=e[Z>>2]|0,a0=K+-1|0,U2(n,a0,6),s0=t+20|0,E=e[s0>>2]|0,U2(n,E,8),I=e[Z>>2]|0,m=(I|0)>0,!!m){for(p=t+24|0,i0=0,V=0;;){if(b=p+(V<<2)|0,w=e[b>>2]|0,y=Tt(w)|0,D=(y|0)>3,_=e[b>>2]|0,D?(U2(n,_,3),U2(n,1,1),L=e[b>>2]|0,x=L>>3,U2(n,x,5)):U2(n,_,4),R=e[b>>2]|0,M=(R|0)==0,M)o0=0;else for(A=R,g0=0;;)if(T=A&1,N=T+g0|0,G=A>>>1,O=(G|0)==0,O){o0=N;break}else A=G,g0=N;if(z=o0+i0|0,t0=V+1|0,J=e[Z>>2]|0,W=(t0|0)<(J|0),W)i0=z,V=t0;else{a=z;break}}if(B=(a|0)>0,!!B)for(S=t+280|0,h0=0;e0=S+(h0<<2)|0,q=e[e0>>2]|0,U2(n,q,8),X=h0+1|0,r0=(X|0)==(a|0),!r0;)h0=X}}function VS(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0;n1=C,E=n4(1,2840)|0,I=t+28|0,L=e[I>>2]|0,J=W4(n,24)|0,e[E>>2]=J,i0=W4(n,24)|0,C0=E+4|0,e[C0>>2]=i0,M0=W4(n,24)|0,z0=M0+1|0,O0=E+8|0,e[O0>>2]=z0,r1=W4(n,6)|0,m=r1+1|0,p=E+12|0,e[p>>2]=m,B=W4(n,8)|0,S=E+20|0,e[S>>2]=B,b=(B|0)<0;e:do if(b)a1=26;else{if(w=(r1|0)>-1,w){for(y=E+24|0,e1=0,c1=0;;){if(_=W4(n,3)|0,x=W4(n,1)|0,R=(x|0)<0,R){a1=26;break e}if(M=(x|0)==0,M)b0=_;else{if(T=W4(n,5)|0,N=(T|0)<0,N){a1=26;break e}G=T<<3,O=G|_,b0=O}if(z=y+(c1<<2)|0,e[z>>2]=b0,Y=(b0|0)==0,Y)l1=0;else for(a=b0,s1=0;;)if(t0=a&1,W=t0+s1|0,e0=a>>>1,q=(e0|0)==0,q){l1=W;break}else a=e0,s1=W;if(X=l1+e1|0,U=c1+1|0,$0=e[p>>2]|0,Z=(U|0)<($0|0),Z)e1=X,c1=U;else{u=X;break}}if(D=(u|0)>0,D)for(Q=E+280|0,$1=0;;){if(K=W4(n,8)|0,a0=(K|0)<0,a0)break e;if(s0=Q+($1<<2)|0,e[s0>>2]=K,r0=$1+1|0,V=(r0|0)<(u|0),V)$1=r0;else{G0=D,H0=u;break}}else G0=0,H0=u}else G0=0,H0=0;if(h0=e[S>>2]|0,o0=L+24|0,g0=e[o0>>2]|0,j=(h0|0)<(g0|0),j){if(G0)for(l0=E+280|0,f1=0;;){if(w0=l0+(f1<<2)|0,k0=e[w0>>2]|0,f0=(k0|0)<(g0|0),!f0||(B0=(L+1824|0)+(k0<<2)|0,p0=e[B0>>2]|0,I0=p0+12|0,S0=e[I0>>2]|0,K0=(S0|0)==0,u0=f1+1|0,K0))break e;if(d0=(u0|0)<(H0|0),d0)f1=u0;else break}if(_0=(L+1824|0)+(h0<<2)|0,Q0=e[_0>>2]|0,F0=Q0+4|0,N0=e[F0>>2]|0,U0=e[Q0>>2]|0,y0=(U0|0)<1,!y0){for(Y0=e[p>>2]|0,i1=U0,g1=1;;){if(T0=r5(Y0,g1)|0,V0=(T0|0)>(N0|0),V0)break e;if(R0=i1+-1|0,D0=(i1|0)>1,D0)i1=R0,g1=T0;else{c=T0;break}}return J0=E+16|0,e[J0>>2]=c,A=E,A|0}}}while(!1);return(a1|0)==26&&(P0=(E|0)==0,P0)?(A=0,A|0):(I2(E),A=0,A|0)}function KS(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0;if(p1=C,u=n4(1,44)|0,E=t+4|0,_=e[E>>2]|0,t0=_+28|0,s0=e[t0>>2]|0,e[u>>2]=n,w0=n+12|0,F0=e[w0>>2]|0,P0=u+4|0,e[P0>>2]=F0,r1=s0+2848|0,H0=e[r1>>2]|0,I=u+12|0,e[I>>2]=H0,m=H0,p=n+20|0,B=e[p>>2]|0,S=m+(B*56|0)|0,b=u+16|0,e[b>>2]=S,w=e[S>>2]|0,y=n4(F0,4)|0,D=u+20|0,e[D>>2]=y,Q=(F0|0)>0,Q)for(L=n+24|0,x=n+280|0,e1=0,l1=0,h1=0;;){if(R=L+(l1<<2)|0,M=e[R>>2]|0,T=Tt(M)|0,N=(T|0)==0,N)c1=e1,m1=h1;else if(G=(T|0)>(h1|0),a=G?T:h1,O=n4(T,4)|0,z=y+(l1<<2)|0,e[z>>2]=O,Y=(T|0)>0,Y)for(J=e[R>>2]|0,W=y+(l1<<2)|0,b0=e1,o1=0;;)if(e0=1<>2]|0,$0=b0+1|0,Z=x+(b0<<2)|0,K=e[Z>>2]|0,a0=U+(K*56|0)|0,i0=e[W>>2]|0,r0=i0+(o1<<2)|0,e[r0>>2]=a0,i1=$0),V=o1+1|0,f1=(V|0)==(T|0),f1){c1=i1,m1=a;break}else b0=i1,o1=V;else c1=e1,m1=a;if(h0=l1+1|0,o0=(h0|0)<(F0|0),o0)e1=c1,l1=h0,h1=m1;else{I1=m1;break}}else I1=0;if(g0=u+24|0,e[g0>>2]=1,j=(w|0)>0,j){for(u0=1,s1=0;;)if(l0=r5(u0,F0)|0,d0=s1+1|0,$1=(d0|0)==(w|0),$1){A=l0;break}else u0=l0,s1=d0;e[g0>>2]=A,f0=A}else f0=1;if(C0=u+8|0,e[C0>>2]=I1,k0=f0<<2,B0=S9(k0)|0,p0=u+28|0,e[p0>>2]=B0,I0=(f0|0)>0,!I0)return u|0;if(S0=w<<2,!j){for(a1=0;J0=S9(S0)|0,z0=B0+(a1<<2)|0,e[z0>>2]=J0,G0=a1+1|0,O0=(G0|0)<(f0|0),O0;)a1=G0;return u|0}for(K0=e[p0>>2]|0,n1=0;;){for(D0=S9(S0)|0,T0=B0+(n1<<2)|0,e[T0>>2]=D0,V0=K0+(n1<<2)|0,Y0=e[V0>>2]|0,c=f0,Z0=0,E1=n1;d1=(c|0)/(F0|0)&-1,M0=(E1|0)/(d1|0)&-1,N0=r5(M0,d1)|0,U0=E1-N0|0,y0=Y0+(Z0<<2)|0,e[y0>>2]=M0,R0=Z0+1|0,g1=(R0|0)==(w|0),!g1;)c=d1,Z0=R0,E1=U0;if(_0=n1+1|0,Q0=(_0|0)<(f0|0),Q0)n1=_0;else break}return u|0}function zS(t,n,A,a,c){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0;var u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0;if(M=C,u=(c|0)>0,u)Q=0,_=0;else return 0;for(;;)if(E=a+(Q<<2)|0,I=e[E>>2]|0,m=(I|0)==0,m?L=_:(p=A+(Q<<2)|0,B=e[p>>2]|0,S=_+1|0,b=A+(_<<2)|0,e[b>>2]=B,L=S),w=Q+1|0,D=(w|0)==(c|0),D){x=L;break}else Q=w,_=L;return y=(x|0)==0,y||mQ(t,n,A,x,2),0}function ZS(t,n,A,a,c,u,E,I){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0,u=u|0,E=E|0,I=I|0;var m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0;if(G=C,m=(u|0)>0,m)x=0,R=0;else return 0;for(;;)if(p=c+(x<<2)|0,B=e[p>>2]|0,S=(B|0)==0,S?M=R:(b=a+(x<<2)|0,w=e[b>>2]|0,y=R+1|0,D=a+(R<<2)|0,e[D>>2]=w,M=y),Q=x+1|0,L=(Q|0)==(u|0),L){T=M;break}else x=Q,R=M;return _=(T|0)==0,_||CQ(t,A,a,T,E),0}function WS(t,n,A,a,c){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0;var u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0;if(B1=C,I=(c|0)>0,I)i1=0,h1=0;else return u=0,u|0;for(;;)if(m=a+(i1<<2)|0,x=e[m>>2]|0,W=(x|0)==0,W?m1=h1:(r0=A+(i1<<2)|0,k0=e[r0>>2]|0,N0=h1+1|0,V0=A+(h1<<2)|0,e[V0>>2]=k0,m1=N0),J0=i1+1|0,O0=(J0|0)==(c|0),O0){d1=m1;break}else i1=J0,h1=m1;if(P0=(d1|0)==0,P0)return u=0,u|0;if(p=e[n>>2]|0,B=p+8|0,S=e[B>>2]|0,b=p+12|0,w=e[b>>2]|0,y=p+4|0,D=e[y>>2]|0,Q=e[p>>2]|0,_=D-Q|0,L=(_|0)/(S|0)&-1,R=d1<<2,M=qt(t,R)|0,T=+(S|0),N=100/T,G=N,O=(d1|0)>0,O)for(z=L<<2,c1=0;q=qt(t,z)|0,X=M+(c1<<2)|0,e[X>>2]=q,ae(q|0,0,z|0)|0,U=c1+1|0,b0=(U|0)==(d1|0),!b0;)c1=U;if(Y=(L|0)>0,Y)for(t0=(S|0)>0,J=w+-1|0,e0=(w|0)>1,$1=0;;){if($0=r5($1,S)|0,Z=e[p>>2]|0,K=Z+$0|0,O)for(g1=0;;){if(t0)for(a0=A+(g1<<2)|0,s0=e[a0>>2]|0,G0=0,l1=0,o1=0;;)if(i0=K+l1|0,V=s0+(i0<<2)|0,h0=e[V>>2]|0,f1=(h0|0)>-1,Z0=0-h0|0,o0=f1?h0:Z0,g0=(o0|0)>(o1|0),E=g0?o0:o1,j=o0+G0|0,l0=l1+1|0,r1=(l0|0)==(S|0),r1){z0=j,n1=E;break}else G0=j,l1=l0,o1=E;else z0=0,n1=0;u0=+(z0|0),d0=u0*G,w0=~~d0;e:do if(e0)for(a1=0;;){if(C0=(p+2328|0)+(a1<<2)|0,f0=e[C0>>2]|0,B0=(n1|0)>(f0|0),!B0&&(p0=(p+2584|0)+(a1<<2)|0,I0=e[p0>>2]|0,S0=(I0|0)<0,K0=(w0|0)<(I0|0),I1=S0|K0,I1)){s1=a1;break e}if(_0=a1+1|0,Q0=(_0|0)<(J|0),Q0)a1=_0;else{s1=_0;break}}else s1=0;while(!1);if(F0=M+(g1<<2)|0,M0=e[F0>>2]|0,U0=M0+($1<<2)|0,e[U0>>2]=s1,y0=g1+1|0,H0=(y0|0)==(d1|0),H0)break;g1=y0}if(Y0=$1+1|0,e1=(Y0|0)==(L|0),e1)break;$1=Y0}return R0=n+40|0,D0=e[R0>>2]|0,T0=D0+1|0,e[R0>>2]=T0,u=M,u|0}function jS(t,n,A,a,c){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0;var u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0;if(M=C,u=(c|0)>0,u)Q=0,_=0;else return 0;for(;;)if(E=a+(Q<<2)|0,I=e[E>>2]|0,m=(I|0)==0,m?L=_:(p=A+(Q<<2)|0,B=e[p>>2]|0,S=_+1|0,b=A+(_<<2)|0,e[b>>2]=B,L=S),w=Q+1|0,D=(w|0)==(c|0),D){x=L;break}else Q=w,_=L;return y=(x|0)==0,y||mQ(t,n,A,x,3),0}function XS(t,n,A,a,c){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0;var u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0;if(Z0=C,m=(c|0)>0,m)T0=0,n1=0;else return u=0,u|0;for(;;)if(p=a+(T0<<2)|0,R=e[p>>2]|0,g1=(R|0)!=0,e0=g1&1,s1=e0+n1|0,V=T0+1|0,Y0=(V|0)==(c|0),Y0){a1=s1;break}else T0=V,n1=s1;if(l1=(a1|0)==0,l1)return u=0,u|0;if(f0=e[n>>2]|0,K0=f0+8|0,_0=e[K0>>2]|0,Q0=f0+12|0,F0=e[Q0>>2]|0,B=f0+4|0,S=e[B>>2]|0,b=e[f0>>2]|0,w=S-b|0,y=(w|0)/(_0|0)&-1,D=qt(t,4)|0,Q=y<<2,_=qt(t,Q)|0,e[D>>2]=_,ae(_|0,0,Q|0)|0,L=(y|0)>0,L)for(x=e[f0>>2]|0,M=(x|0)/(c|0)&-1,T=(_0|0)>0,N=F0+-1|0,G=(F0|0)>1,O=e[D>>2]|0,z=(c|0)>1,V0=0,H0=M;;){if(T)for(Y=e[A>>2]|0,N0=0,z0=0,b0=H0,c1=0;;){if(t0=Y+(b0<<2)|0,J=e[t0>>2]|0,J0=(J|0)>-1,$1=0-J|0,W=J0?J:$1,q=(W|0)>(c1|0),I=q?W:c1,z)for(y0=N0,r1=1;;)if(X=A+(r1<<2)|0,U=e[X>>2]|0,$0=U+(b0<<2)|0,Z=e[$0>>2]|0,P0=(Z|0)>-1,f1=0-Z|0,K=P0?Z:f1,a0=(K|0)>(y0|0),E=a0?K:y0,s0=r1+1|0,R0=(s0|0)==(c|0),R0){U0=E;break}else y0=E,r1=s0;else U0=N0;if(i0=b0+1|0,r0=z0+c|0,h0=(r0|0)<(_0|0),h0)N0=U0,z0=r0,b0=i0,c1=I;else{M0=U0,e1=i0,i1=I;break}}else M0=0,e1=H0,i1=0;e:do if(G)for(O0=0;;){if(o0=(f0+2328|0)+(O0<<2)|0,g0=e[o0>>2]|0,j=(i1|0)>(g0|0),!j&&(l0=(f0+2584|0)+(O0<<2)|0,u0=e[l0>>2]|0,d0=(M0|0)>(u0|0),!d0)){G0=O0;break e}if(w0=O0+1|0,C0=(w0|0)<(N|0),C0)O0=w0;else{G0=w0;break}}else G0=0;while(!1);if(k0=O+(V0<<2)|0,e[k0>>2]=G0,B0=V0+1|0,D0=(B0|0)==(y|0),D0)break;V0=B0,H0=e1}return p0=n+40|0,I0=e[p0>>2]|0,S0=I0+1|0,e[p0>>2]=S0,u=D,u|0}function eb(t,n,A,a,c,u,E,I){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0,u=u|0,E=E|0,I=I|0;var m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0;if(s0=C,C=C+16|0,K=s0,m=n+36|0,p=e[m>>2]|0,R=(p|0)/2&-1,M=u<<2,T=r5(M,R)|0,N=qt(n,T)|0,e[K>>2]=N,G=(u|0)>0,!G)return C=s0,0;for(O=(p|0)>1,J=0,Z=0;;){if(z=a+(J<<2)|0,Y=e[z>>2]|0,B=c+(J<<2)|0,S=e[B>>2]|0,q=(S|0)!=0,b=q&1,U=b+Z|0,O)for(W=0,e0=J;w=Y+(W<<2)|0,y=e[w>>2]|0,D=N+(e0<<2)|0,e[D>>2]=y,Q=W+1|0,_=e0+u|0,L=(Q|0)<(R|0),L;)W=Q,e0=_;if(x=J+1|0,t0=(x|0)==(u|0),t0){$0=U;break}else J=x,Z=U}return X=($0|0)==0,X?(C=s0,0):(CQ(t,A,K,1,E),C=s0,0)}function tb(t,n,A,a,c){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0;var u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0;if(Q1=C,I=e[n>>2]|0,m=I+8|0,x=e[m>>2]|0,W=n+16|0,r0=e[W>>2]|0,k0=e[r0>>2]|0,N0=t+36|0,G0=e[N0>>2]|0,l1=r5(G0,c)|0,s1=l1>>1,p=I+4|0,B=e[p>>2]|0,S=(B|0)<(s1|0),u=S?B:s1,b=e[I>>2]|0,w=u-b|0,y=(w|0)>0,!y)return 0;D=(w|0)/(x|0)&-1,Q=k0+-1|0,_=Q+D|0,L=(_|0)/(k0|0)&-1,R=L<<2,M=qt(t,R)|0,T=(c|0)>0;e:do if(T)for(n1=0;;){if(N=a+(n1<<2)|0,G=e[N>>2]|0,O=(G|0)==0,!O){a1=n1;break e}if(z=n1+1|0,Y=(z|0)<(c|0),Y)n1=z;else{a1=z;break}}else a1=0;while(!1);if(t0=(a1|0)==(c|0),t0||(J=n+8|0,e0=e[J>>2]|0,q=(e0|0)>0,!q))return 0;X=(D|0)>0,U=t+4|0,$0=I+16|0,Z=n+28|0,K=(k0|0)>0,a0=n+20|0,g1=e0,B1=0;e:for(;;){if(X){for(s0=(B1|0)==0,i0=1<>2]|0,h0=jm(V,U)|0,o0=(h0|0)==-1,o0){p1=23;break e}if(g0=e[$0>>2]|0,j=(h0|0)<(g0|0),!j){p1=23;break e}if(l0=e[Z>>2]|0,u0=l0+(h0<<2)|0,d0=e[u0>>2]|0,w0=M+(m1<<2)|0,e[w0>>2]=d0,C0=(d0|0)==0,C0){p1=23;break e}}if(f0=(o1|0)<(D|0),E1=K&f0,E1)for(B0=M+(m1<<2)|0,I1=o1,h1=0;;){if(p0=e[B0>>2]|0,I0=p0+(h1<<2)|0,S0=e[I0>>2]|0,K0=(I+24|0)+(S0<<2)|0,_0=e[K0>>2]|0,Q0=_0&i0,F0=(Q0|0)==0,!F0&&(M0=e[a0>>2]|0,U0=M0+(S0<<2)|0,y0=e[U0>>2]|0,Y0=y0+(B1<<2)|0,R0=e[Y0>>2]|0,D0=(R0|0)==0,!D0&&(T0=r5(I1,x)|0,V0=e[I>>2]|0,J0=V0+T0|0,P0=AS(R0,A,J0,c,U,x)|0,z0=(P0|0)==-1,z0))){p1=23;break e}if(O0=h1+1|0,r1=I1+1|0,H0=(O0|0)<(k0|0),e1=(r1|0)<(D|0),d1=H0&e1,d1)I1=r1,h1=O0;else{Z0=r1;break}}else Z0=o1;if(b0=m1+1|0,i1=(Z0|0)<(D|0),i1)o1=Z0,m1=b0;else break}E=e[J>>2]|0,f1=E}else f1=g1;if(c1=B1+1|0,$1=(c1|0)<(f1|0),$1)g1=f1,B1=c1;else{p1=23;break}}return(p1|0)==23,0}function mQ(t,n,A,a,c){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0;var u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0;if(j1=C,p=e[n>>2]|0,B=p+8|0,M=e[B>>2]|0,q=n+16|0,h0=e[q>>2]|0,B0=e[h0>>2]|0,y0=t+36|0,r1=e[y0>>2]|0,a1=r1>>1,Q1=p+4|0,S=e[Q1>>2]|0,b=(S|0)<(a1|0),u=b?S:a1,w=e[p>>2]|0,y=u-w|0,D=(y|0)>0,!D){C=j1;return}if(Q=(y|0)/(M|0)&-1,_=a<<2,E=_,L=C,C=C+((1*E|0)+15&-16)|0,x=(a|0)>0,x)for(R=B0+-1|0,T=R+Q|0,N=(T|0)/(B0|0)&-1,G=N<<2,G1=0;$0=qt(t,G)|0,Z=L+(G1<<2)|0,e[Z>>2]=$0,K=G1+1|0,x1=(K|0)==(a|0),!x1;)G1=K;if(O=n+8|0,z=e[O>>2]|0,Y=(z|0)>0,!Y){C=j1;return}t0=(Q|0)>0,J=t+4|0,W=p+16|0,e0=n+28|0,X=(B0|0)>0,U=n+20|0,m=x^1,H1=0;e:for(;;){if(t0)for(a0=1<>2]|0,H0=jm(O0,J)|0,e1=(H0|0)==-1,e1){Y1=25;break e}if(b0=e[W>>2]|0,i1=(H0|0)<(b0|0),!i1){Y1=25;break e}if(c1=e[e0>>2]|0,$1=c1+(H0<<2)|0,f1=e[$1>>2]|0,g1=L+(k1<<2)|0,l1=e[g1>>2]|0,s1=l1+(b1<<2)|0,e[s1>>2]=f1,n1=(f1|0)==0,z0=k1+1|0,n1){Y1=25;break e}if(G0=(z0|0)<(a|0),G0)k1=z0;else break}s0=(w1|0)<(Q|0),q1=X&s0;t:do if(q1){if(x)F1=w1,N1=0;else for(L1=w1,Z1=0;;)if(o1=Z1+1|0,Z0=L1+1|0,I1=(o1|0)<(B0|0),h1=(Z0|0)<(Q|0),V1=I1&h1,V1)L1=Z0,Z1=o1;else{S1=Z0;break t}for(;;){for(l0=r5(F1,M)|0,U1=0;;){if(g0=e[p>>2]|0,j=g0+l0|0,u0=L+(U1<<2)|0,d0=e[u0>>2]|0,w0=d0+(b1<<2)|0,C0=e[w0>>2]|0,k0=C0+(N1<<2)|0,f0=e[k0>>2]|0,p0=(p+24|0)+(f0<<2)|0,I0=e[p0>>2]|0,S0=I0&a0,K0=(S0|0)==0,!K0&&(_0=e[U>>2]|0,Q0=_0+(f0<<2)|0,F0=e[Q0>>2]|0,M0=F0+(H1<<2)|0,N0=e[M0>>2]|0,U0=(N0|0)==0,!U0&&(Y0=A+(U1<<2)|0,R0=e[Y0>>2]|0,D0=R0+(j<<2)|0,T0=pB[c&3](N0,D0,J,M)|0,V0=(T0|0)==-1,V0))){Y1=25;break e}if(J0=U1+1|0,P0=(J0|0)<(a|0),P0)U1=J0;else break}if(i0=N1+1|0,r0=F1+1|0,V=(i0|0)<(B0|0),o0=(r0|0)<(Q|0),O1=V&o0,O1)F1=r0,N1=i0;else{S1=r0;break}}}else S1=w1;while(!1);if(m1=b1+1|0,d1=(S1|0)<(Q|0),d1)w1=S1,b1=m1;else break}if(E1=H1+1|0,B1=e[O>>2]|0,p1=(E1|0)<(B1|0),p1)H1=E1;else{Y1=25;break}}if((Y1|0)==25){C=j1;return}}function CQ(t,n,A,a,c){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0;var u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,k3=0,u3=0,p3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,X3=0,c6=0,p6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,L6=0,K6=0,I6=0;if(I6=C,C=C+1088|0,t3=I6+1056|0,M5=I6+1024|0,O6=I6+512|0,s3=I6,Q=e[n>>2]|0,_=Q+8|0,$2=e[_>>2]|0,H2=Q+12|0,Z2=e[H2>>2]|0,C5=n+16|0,M1=e[C5>>2]|0,u5=e[M1>>2]|0,h3=Q+4|0,G3=e[h3>>2]|0,L=e[Q>>2]|0,J=G3-L|0,i0=(J|0)/($2|0)&-1,ae(O6|0,0,512)|0,ae(s3|0,0,512)|0,C0=n+8|0,M0=e[C0>>2]|0,z0=(M0|0)>0,!z0){C=I6;return}for(g1=(i0|0)>0,E1=(a|0)>0,k1=(u5|0)>1,n2=n+36|0,i2=(u5|0)>0,v2=n+20|0,w2=n+32|0,C2=0-u5|0,y2=M0,a6=0;;){if(g1){for(F2=(a6|0)==0,D2=1<>2]|0,G5=D5+(K5<<2)|0,_5=e[G5>>2]|0,q2=e[C5>>2]|0,I5=q2+4|0,A5=e[I5>>2]|0,c5=(_5|0)<(A5|0),c5&&(B5=Fh(q2,_5,t)|0,S5=e[n2>>2]|0,g5=S5+B5|0,e[n2>>2]=g5),a5=C6+1|0,o6=(a5|0)==(a|0),o6)break e;C6=a5}for(;;){for(k2=c+(b3<<2)|0,f5=e[k2>>2]|0,m5=f5+(K5<<2)|0,n5=e[m5>>2]|0,f6=1,n6=n5;;)if(X2=r5(n6,Z2)|0,L5=f6+K5|0,e5=(L5|0)<(i0|0),e5?(b5=f5+(L5<<2)|0,v5=e[b5>>2]|0,P5=v5+X2|0,Q6=P5):Q6=X2,l5=f6+1|0,v3=(l5|0)==(u5|0),v3){L6=Q6;break}else f6=l5,n6=Q6;if(K2=e[C5>>2]|0,G2=K2+4|0,M2=e[G2>>2]|0,P2=(L6|0)<(M2|0),P2&&(z2=Fh(K2,L6,t)|0,o5=e[n2>>2]|0,O2=o5+z2|0,e[n2>>2]=O2),T1=b3+1|0,y3=(T1|0)==(a|0),y3)break;b3=T1}}while(!1);if(x2=(K5|0)<(i0|0),b6=i2&x2,b6){for(_2=K5-i0|0,B2=_2>>>0>>0,N6=B2?C2:_2,R5=0-N6|0,l6=K5,H3=0;;){if(W2=r5(l6,$2)|0,g2=e[Q>>2]|0,p5=g2+W2|0,E1)for(t6=0;;){if(t5=c+(t6<<2)|0,s5=e[t5>>2]|0,h5=s5+(l6<<2)|0,J2=e[h5>>2]|0,F2&&(i5=s3+(J2<<2)|0,x5=e[i5>>2]|0,j2=x5+$2|0,e[i5>>2]=j2),$5=(Q+24|0)+(J2<<2)|0,L2=e[$5>>2]|0,Q5=L2&D2,q5=(Q5|0)==0,!q5&&(j5=e[v2>>2]|0,E5=j5+(J2<<2)|0,f3=e[E5>>2]|0,J5=f3+(a6<<2)|0,X5=e[J5>>2]|0,n3=(X5|0)==0,!n3)){if(m3=A+(t6<<2)|0,F5=e[m3>>2]|0,V5=e[X5>>2]|0,k3=($2|0)/(V5|0)&-1,u3=(k3|0)>0,u3){for(p3=X5+48|0,z3=X5+52|0,z5=X5+44|0,w3=X5+12|0,W5=X5+4|0,x=V5,k5=0,g3=0;;){i6=r5(g3,V5)|0,b=i6+p5|0,L3=F5+(b<<2)|0,U3=e[p3>>2]|0,a3=e[z3>>2]|0,l3=e[z5>>2]|0,c3=l3>>1,e[t3>>2]=0,e[t3+4>>2]=0,e[t3+8>>2]=0,e[t3+12>>2]=0,e[t3+16>>2]=0,e[t3+20>>2]=0,e[t3+24>>2]=0,e[t3+28>>2]=0,C3=(a3|0)==1,R=(x|0)>0;do if(C3){if(!R){X3=0;break}for(G=l3+-1|0,d3=0,B6=0,Y3=x;;)if(d0=Y3+-1|0,D=b+d0|0,w0=F5+(D<<2)|0,k0=e[w0>>2]|0,f0=k0-U3|0,B0=(f0|0)<(c3|0),B0?(p0=c3-f0|0,I0=p0<<1,S0=I0+-1|0,F0=S0):(K0=f0-c3|0,_0=K0<<1,F0=_0),Q0=r5(B6,l3)|0,N0=(F0|0)<0,U0=(F0|0)>=(l3|0),y0=U0?G:F0,Y0=N0?0:y0,R0=Y0+Q0|0,D0=t3+(d0<<2)|0,e[D0>>2]=k0,T0=d3+1|0,j3=(T0|0)==(x|0),j3){X3=R0;break}else d3=T0,B6=R0,Y3=d0}else{if(!R){X3=0;break}for(M=a3>>1,T=M-U3|0,N=l3+-1|0,S3=0,S6=0,D3=x;;)if(O=D3+-1|0,y=b+O|0,z=F5+(y<<2)|0,Y=e[z>>2]|0,t0=T+Y|0,W=(t0|0)/(a3|0)&-1,e0=(W|0)<(c3|0),e0?(q=c3-W|0,X=q<<1,U=X+-1|0,a0=U):($0=W-c3|0,Z=$0<<1,a0=Z),K=r5(S6,l3)|0,s0=(a0|0)<0,r0=(a0|0)>=(l3|0),V=r0?N:a0,h0=s0?0:V,o0=h0+K|0,g0=r5(W,a3)|0,j=g0+U3|0,l0=t3+(O<<2)|0,e[l0>>2]=j,u0=S3+1|0,O3=(u0|0)==(x|0),O3){X3=o0;break}else S3=u0,S6=o0,D3=O}while(!1);V0=e[w3>>2]|0,J0=V0+8|0,P0=e[J0>>2]|0,G0=P0+X3|0,O0=d[G0>>0]|0,r1=O0<<24>>24<1;do if(r1){if(e[M5>>2]=0,e[M5+4>>2]=0,e[M5+8>>2]=0,e[M5+12>>2]=0,e[M5+16>>2]=0,e[M5+20>>2]=0,e[M5+24>>2]=0,e[M5+28>>2]=0,H0=l3+-1|0,e1=r5(H0,a3)|0,b0=e1+U3|0,i1=e[W5>>2]|0,c1=(i1|0)>0,c1)H5=-1,k6=0,c6=X3;else{x6=X3;break}for(;;){$1=P0+k6|0,f1=d[$1>>0]|0,l1=f1<<24>>24>0;do if(l1){if(R)for(Y6=0,_3=0;;)if(s1=M5+(Y6<<2)|0,a1=e[s1>>2]|0,w=b+Y6|0,n1=F5+(w<<2)|0,o1=e[n1>>2]|0,Z0=a1-o1|0,I1=r5(Z0,Z0)|0,h1=I1+_3|0,m1=Y6+1|0,r6=(m1|0)==(x|0),r6){d6=h1;break}else Y6=m1,_3=h1;else d6=0;if(d1=(H5|0)==-1,B1=(d6|0)<(H5|0),Z3=d1|B1,!Z3){U5=H5,p6=c6;break}e[t3>>2]=e[M5>>2]|0,e[t3+4>>2]=e[M5+4>>2]|0,e[t3+8>>2]=e[M5+8>>2]|0,e[t3+12>>2]=e[M5+12>>2]|0,e[t3+16>>2]=e[M5+16>>2]|0,e[t3+20>>2]=e[M5+20>>2]|0,e[t3+24>>2]=e[M5+24>>2]|0,e[t3+28>>2]=e[M5+28>>2]|0,U5=d6,p6=k6}else U5=H5,p6=c6;while(!1);if(p1=e[M5>>2]|0,Q1=(p1|0)<(b0|0),Q1)E=M5,I=p1;else for(x1=M5,e6=0;;)if(_1=e6+1|0,e[x1>>2]=0,w1=M5+(_1<<2)|0,S1=e[w1>>2]|0,L1=(S1|0)<(b0|0),L1){E=w1,I=S1;break}else x1=w1,e6=_1;if(F1=(I|0)>-1,F1?(G1=I+a3|0,e[E>>2]=G1,Z1=G1):Z1=I,U1=0-Z1|0,e[E>>2]=U1,N1=k6+1|0,e3=(N1|0)==(i1|0),e3){x6=p6;break}else H5=U5,k6=N1,c6=p6}}else x6=X3;while(!1);if(b1=(x6|0)>-1,A6=R&b1,A6)for(u=L3,v6=0;V1=t3+(v6<<2)|0,O1=e[V1>>2]|0,q1=u+4|0,H1=e[u>>2]|0,Y1=H1-O1|0,e[u>>2]=Y1,j1=v6+1|0,A3=(j1|0)==(x|0),!A3;)u=q1,v6=j1;if(W1=Fh(X5,x6,t)|0,P1=W1+k5|0,c2=g3+1|0,R3=(c2|0)==(k3|0),R3){m=P1;break}p=e[X5>>2]|0,x=p,k5=P1,g3=c2}B=e[t5>>2]|0,E2=B,O5=m}else E2=s5,O5=0;z1=e[w2>>2]|0,u2=z1+O5|0,e[w2>>2]=u2,o2=E2+(l6<<2)|0,A2=e[o2>>2]|0,K1=O6+(A2<<2)|0,h2=e[K1>>2]|0,l2=h2+O5|0,e[K1>>2]=l2}if(r2=t6+1|0,u6=(r2|0)==(a|0),u6)break;t6=r2}if(a2=H3+1|0,X1=l6+1|0,Q3=(a2|0)==(R5|0),Q3)break;l6=X1,H3=a2}N2=K5-N6|0,q3=N2}else q3=K5;if(d2=(q3|0)<(i0|0),d2)K5=q3;else break}S=e[C0>>2]|0,e2=S}else e2=y2;if(s2=a6+1|0,f2=(s2|0)<(e2|0),f2)y2=e2,a6=s2;else break}C=I6}function Tt(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0;if(p=C,A=(t|0)==0,A)E=0;else for(n=t,I=0;;)if(a=n>>>1,c=I+1|0,u=(a|0)==0,u){E=c;break}else n=a,I=c;return E|0}function BQ(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0;h2=C,C=C+144|0,P1=h2,m=(A|0)!=0,p=m?A:n,R=p<<2,e0=S9(R)|0,ae(P1|0,0,132)|0,V=(n|0)>0;do if(V){f0=P1+4|0,U0=(A|0)==0,O0=U0&1,p1=0,k1=0;e:for(;;){s1=t+k1|0,B1=d[s1>>0]|0,B=B1<<24>>24,S=B1<<24>>24>0;t:do if(S){if(b=P1+(B<<2)|0,w=e[b>>2]|0,y=B1<<24>>24>31,D=w>>>B,Q=(D|0)==0,c2=y|Q,!c2){K1=5;break e}_=e0+(p1<<2)|0,e[_>>2]=w,L=P1+(B<<2)|0,x=w&1,M=(x|0)==0;i:do if(M)for(q=w,X=L,V1=B;;){if(W=q+1|0,e[X>>2]=W,U=V1+-1|0,$0=(V1|0)>1,!$0)break i;if(u=P1+(U<<2)|0,I=e[u>>2]|0,Z=P1+(U<<2)|0,K=I&1,a0=(K|0)==0,a0)q=I,X=Z,V1=U;else{c=Z,b1=U,K1=8;break}}else c=L,b1=B,K1=8;while(!1);do if((K1|0)==8)if(K1=0,N=(b1|0)==1,N){G=e[f0>>2]|0,O=G+1|0,e[f0>>2]=O;break}else{z=b1+-1|0,Y=P1+(z<<2)|0,t0=e[Y>>2]|0,J=t0<<1,e[c>>2]=J;break}while(!1);if(Y1=B+1|0,T=(Y1|0)<33,T)for(L1=w,q1=B,j1=Y1;;){if(s0=P1+(j1<<2)|0,i0=e[s0>>2]|0,r0=i0>>>1,h0=(r0|0)==(L1|0),!h0){E=1;break t}if(o0=P1+(q1<<2)|0,g0=e[o0>>2]|0,j=g0<<1,e[s0>>2]=j,O1=j1+1|0,l0=(O1|0)<33,l0)H1=j1,L1=i0,j1=O1,q1=H1;else{E=1;break}}else E=1}else E=O0;while(!1);if(Q1=p1+E|0,u0=k1+1|0,d0=(u0|0)<(n|0),d0)p1=Q1,k1=u0;else{_1=Q1,K1=16;break}}if((K1|0)==5)return I2(e0),a=0,C=h2,a|0;if((K1|0)==16){if(z1=(_1|0)==1,!z1){U1=1,K1=27;break}if(w0=P1+8|0,C0=e[w0>>2]|0,k0=(C0|0)==2,k0)break;U1=1,K1=27;break}}else U1=1,K1=27;while(!1);e:do if((K1|0)==27){for(;K1=0,z0=P1+(U1<<2)|0,G0=e[z0>>2]|0,r1=32-U1|0,H0=-1>>>r1,e1=G0&H0,b0=(e1|0)==0,J0=U1+1|0,!!b0;)if(P0=(J0|0)<33,P0)U1=J0,K1=27;else break e;return I2(e0),a=0,C=h2,a|0}while(!1);if(!V)return a=e0,C=h2,a|0;if(m)w1=0,N1=0;else{for(x1=0,Z1=0;;){if(i1=t+Z1|0,c1=d[i1>>0]|0,$1=c1<<24>>24>0,$1)for(f1=e0+(x1<<2)|0,g1=e[f1>>2]|0,l1=c1<<24>>24,n2=0,E2=0;;)if(a1=E2<<1,n1=g1>>>n2,o1=n1&1,Z0=o1|a1,I1=n2+1|0,h1=(I1|0)<(l1|0),h1)n2=I1,E2=Z0;else{u2=Z0;break}else u2=0;if(m1=x1+1|0,d1=e0+(x1<<2)|0,e[d1>>2]=u2,E1=Z1+1|0,F1=(E1|0)==(n|0),F1){a=e0;break}else x1=m1,Z1=E1}return C=h2,a|0}for(;;){if(B0=t+N1|0,p0=d[B0>>0]|0,I0=p0<<24>>24>0,I0)for(V0=e0+(w1<<2)|0,N0=e[V0>>2]|0,T0=p0<<24>>24,W1=0,A2=0;;)if(F0=A2<<1,M0=N0>>>W1,y0=M0&1,Y0=y0|F0,R0=W1+1|0,D0=(R0|0)<(T0|0),D0)W1=R0,A2=Y0;else{o2=Y0;break}else o2=0;if(S0=p0<<24>>24==0,S0?S1=w1:(K0=w1+1|0,_0=e0+(w1<<2)|0,e[_0>>2]=o2,S1=K0),Q0=N1+1|0,G1=(Q0|0)==(n|0),G1){a=e0;break}else w1=S1,N1=Q0}return C=h2,a|0}function ib(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0;if(q=C,a=t+4|0,c=e[a>>2]|0,D=e[t>>2]|0,Q=(D|0)>0,!Q)for(;;);for(_=+(c|0),L=_,x=+(D|0),R=1/x,M=R,T=+xh(+L,+M),u=+zA(+T),E=~~u,Y=E;;){for(b=Y+1|0,N=1,G=1,O=0;;)if(B=r5(N,Y)|0,S=r5(G,b)|0,w=O+1|0,y=(w|0)<(D|0),y)N=B,G=S,O=w;else{n=B,A=S;break}if(I=(n|0)<=(c|0),m=(A|0)>(c|0),z=I&m,z){W=Y;break}p=(n|0)>(c|0),J=p?-1:1,t0=Y+J|0,Y=t0}return W|0}function rb(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0;if(q5=C,p=t+12|0,B=e[p>>2]|0,m=B+-1|0,i5=m>>>0<2,!i5)return u=0,u|0;if(H0=t+16|0,n1=e[H0>>2]|0,_1=n1&2097151,b1=+(_1|0),z1=n1>>>21,a2=z1&1023,N2=(n1|0)<0,X2=-b1,a=N2?X2:b1,S=a2+-788|0,T=+tC(a,S),X=T,o0=t+20|0,p0=e[o0>>2]|0,Y0=p0&2097151,z0=+(Y0|0),G0=p0>>>21,O0=G0&1023,r1=(p0|0)<0,e1=-z0,c=r1?e1:z0,b0=O0+-788|0,i1=+tC(c,b0),c1=i1,$1=e[t>>2]|0,f1=r5($1,n)|0,g1=n4(f1,4)|0,(B|0)==1){if(B1=t+4|0,p1=e[B1>>2]|0,Q1=($1|0)>0,!Q1)for(;;);for(x1=+(p1|0),w1=x1,S1=+($1|0),L1=1/S1,F1=L1,G1=+xh(+w1,+F1),k1=+zA(+G1),U1=~~k1,$5=U1;;){for(u2=$5+1|0,n5=1,x2=1,I5=0;;)if(P1=r5(n5,$5)|0,c2=r5(x2,u2)|0,o2=I5+1|0,d5=(o2|0)==($1|0),d5){E=P1,I=c2;break}else n5=P1,x2=c2,I5=o2;if(Z1=(E|0)<=(p1|0),N1=(I|0)>(p1|0),u5=N1&Z1,u5){L2=$5;break}W1=(E|0)>(p1|0),j2=W1?-1:1,x5=j2+$5|0,$5=x5}if(V1=(p1|0)>0,!V1)return u=g1,u|0;for(O1=(A|0)==0,q1=t+8|0,H1=t+32|0,Y1=c1,j1=X,n2=t+28|0,_2=0,M1=0;;){if(O1)if($2=e[H1>>2]|0,i2=e[n2>>2]|0,l2=(i2|0)==0,r2=r5($1,_2)|0,l2)for(B5=1,W2=0;;)if(b5=(M1|0)/(B5|0)&-1,Z2=(b5|0)%(L2|0)&-1,f5=$2+(Z2<<2)|0,v5=e[f5>>2]|0,P5=+(v5|0),q2=+Zi(+P5),l5=q2,k2=l5*Y1,m5=j1+k2,b=m5,w=r2+W2|0,y=g1+(w<<2)|0,s[y>>2]=b,D=r5(B5,L2)|0,Q=W2+1|0,_=(Q|0)<($1|0),_)B5=D,W2=Q;else{Q5=21;break}else for(A5=1,g5=0,t5=0;;)if(L=(M1|0)/(A5|0)&-1,x=(L|0)%(L2|0)&-1,R=$2+(x<<2)|0,M=e[R>>2]|0,N=+(M|0),G5=+Zi(+N),G=G5,O=G*Y1,z=t5,Y=z+j1,t0=Y+O,J=t0,W=r2+g5|0,e0=g1+(W<<2)|0,s[e0>>2]=J,q=r5(A5,L2)|0,U=g5+1|0,$0=(U|0)<($1|0),$0)A5=q,g5=U,t5=J;else{Q5=21;break}else if(E2=e[q1>>2]|0,A2=E2+M1|0,K1=d[A2>>0]|0,h2=K1<<24>>24==0,h2)B2=_2;else for(X1=e[H1>>2]|0,s2=e[n2>>2]|0,f2=(s2|0)==0,e2=A+(_2<<2)|0,y2=e[e2>>2]|0,v2=r5(y2,$1)|0,c5=1,a5=0,s5=0;;)if(w2=(M1|0)/(c5|0)&-1,C2=(w2|0)%(L2|0)&-1,F2=X1+(C2<<2)|0,D2=e[F2>>2]|0,d2=+(D2|0),_5=+Zi(+d2),K2=_5,G2=K2*Y1,H2=s5,M2=H2+j1,P2=M2+G2,z2=P2,p5=f2?s5:z2,o5=v2+a5|0,O2=g1+(o5<<2)|0,s[O2>>2]=z2,T1=r5(c5,L2)|0,L5=a5+1|0,e5=(L5|0)<($1|0),e5)c5=T1,a5=L5,s5=p5;else{Q5=21;break}if((Q5|0)==21&&(Q5=0,Z=_2+1|0,B2=Z),K=M1+1|0,a0=(K|0)<(p1|0),a0)_2=B2,M1=K;else{u=g1;break}}return u|0}else if((B|0)==2){if(l1=t+4|0,s1=e[l1>>2]|0,a1=(s1|0)>0,!a1)return u=g1,u|0;for(o1=(A|0)!=0,Z0=t+8|0,I1=t+32|0,h1=c1,m1=X,d1=t+28|0,E1=($1|0)>0,C5=0,S5=0;;){if(o1?(s0=e[Z0>>2]|0,i0=s0+S5|0,r0=d[i0>>0]|0,V=r0<<24>>24==0,V?R5=C5:Q5=25):Q5=25,(Q5|0)==25){if(Q5=0,E1)for(h0=e[I1>>2]|0,g0=e[d1>>2]|0,j=(g0|0)==0,l0=A+(C5<<2)|0,u0=r5($1,S5)|0,d0=r5($1,C5)|0,g2=0,J2=0;w0=u0+g2|0,C0=h0+(w0<<2)|0,k0=e[C0>>2]|0,f0=+(k0|0),D5=+Zi(+f0),B0=D5,I0=B0*h1,S0=J2,K0=S0+m1,_0=K0+I0,Q0=_0,h5=j?J2:Q0,o1?(F0=e[l0>>2]|0,M0=r5(F0,$1)|0,N0=M0+g2|0,U0=g1+(N0<<2)|0,s[U0>>2]=Q0):(y0=d0+g2|0,R0=g1+(y0<<2)|0,s[R0>>2]=Q0),D0=g2+1|0,T0=(D0|0)<($1|0),T0;)g2=D0,J2=h5;V0=C5+1|0,R5=V0}if(J0=S5+1|0,P0=(J0|0)<(s1|0),P0)C5=R5,S5=J0;else{u=g1;break}}return u|0}else return u=g1,u|0;return 0}function EB(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0;S=C,n=t+36|0,A=e[n>>2]|0,a=(A|0)==0,!a&&(c=t+32|0,u=e[c>>2]|0,E=(u|0)==0,E||I2(u),I=t+8|0,m=e[I>>2]|0,p=(m|0)==0,p||I2(m),I2(t))}function nb(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0;L=C,n=t+16|0,A=e[n>>2]|0,m=(A|0)==0,m||I2(A),p=t+20|0,B=e[p>>2]|0,S=(B|0)==0,S||I2(B),b=t+24|0,w=e[b>>2]|0,y=(w|0)==0,y||I2(w),D=t+28|0,a=e[D>>2]|0,c=(a|0)==0,c||I2(a),u=t+32|0,E=e[u>>2]|0,I=(E|0)==0,I||I2(E),Q=t,x=Q+56|0;do e[Q>>2]=0,Q=Q+4|0;while((Q|0)<(x|0))}function pQ(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0;G0=C,P0=t,O0=P0+56|0;do e[P0>>2]=0,P0=P0+4|0;while((P0|0)<(O0|0));if(E=t+12|0,e[E>>2]=n,I=n+4|0,L=e[I>>2]|0,J=t+4|0,e[J>>2]=L,i0=t+8|0,e[i0>>2]=L,C0=e[n>>2]|0,e[t>>2]=C0,S0=n+8|0,K0=e[S0>>2]|0,_0=BQ(K0,L,0)|0,Q0=t+20|0,e[Q0>>2]=_0,m=e[I>>2]|0,p=e[n>>2]|0,B=(p|0)>0,!B)for(;;);for(S=+(m|0),b=S,w=+(p|0),y=1/w,D=y,Q=+xh(+b,+D),_=+zA(+Q),x=~~_,V0=x;;){for(O=V0+1|0,F0=1,M0=1,U0=0;;)if(N=r5(F0,V0)|0,G=r5(M0,O)|0,z=U0+1|0,N0=(z|0)==(p|0),N0){c=N,u=G;break}else F0=N,M0=G,U0=z;if(R=(c|0)<=(m|0),M=(u|0)>(m|0),y0=M&R,y0){J0=V0;break}T=(c|0)>(m|0),T0=T?-1:1,D0=T0+V0|0,V0=D0}return Y=t+44|0,e[Y>>2]=J0,t0=n+16|0,W=e[t0>>2]|0,e0=W&2097151,q=+(e0|0),X=W>>>21,U=X&1023,$0=(W|0)<0,Z=-q,A=$0?Z:q,K=U+-788|0,a0=+tC(A,K),s0=a0,Y0=+SQ(s0),r0=~~Y0,V=t+48|0,e[V>>2]=r0,h0=n+20|0,o0=e[h0>>2]|0,g0=o0&2097151,j=+(g0|0),l0=o0>>>21,u0=l0&1023,d0=(o0|0)<0,w0=-j,a=d0?w0:j,k0=u0+-788|0,f0=+tC(a,k0),B0=f0,R0=+SQ(B0),p0=~~R0,I0=t+52|0,e[I0>>2]=p0,0}function sb(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,k3=0,u3=0,p3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,X3=0,c6=0,p6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,L6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0;M3=C,y6=t,M6=y6+56|0;do e[y6>>2]=0,y6=y6+4|0;while((y6|0)<(M6|0));if(b=n+4|0,w=e[b>>2]|0,E2=(w|0)>0,E2)for(q2=n+8|0,p5=e[q2>>2]|0,H3=0,L6=0;;)if(Q5=p5+H3|0,V5=d[Q5>>0]|0,U3=V5<<24>>24>0,o6=U3&1,m=o6+L6|0,K5=H3+1|0,y=(K5|0)<(w|0),y)H3=K5,L6=m;else{l0=m;break}else l0=0;if(O=t+4|0,e[O>>2]=w,Z=t+8|0,e[Z>>2]=l0,K0=e[n>>2]|0,e[t>>2]=K0,T0=(l0|0)>0,!T0)return a=0,C=M3,a|0;if(i1=n+8|0,I1=e[i1>>2]|0,S1=BQ(I1,w,l0)|0,q1=l0<<2,u=q1,A2=C,C=C+((1*u|0)+15&-16)|0,e2=(S1|0)==0,e2){P2=t+16|0,z2=e[P2>>2]|0,o5=(z2|0)==0,o5||I2(z2),O2=t+20|0,T1=e[O2>>2]|0,X2=(T1|0)==0,X2||I2(T1),L5=t+24|0,e5=e[L5>>2]|0,b5=(e5|0)==0,b5||I2(e5),f5=t+28|0,v5=e[f5>>2]|0,P5=(v5|0)==0,P5||I2(v5),l5=t+32|0,k2=e[l5>>2]|0,m5=(k2|0)==0,m5||I2(k2),y6=t,M6=y6+56|0;do e[y6>>2]=0,y6=y6+4|0;while((y6|0)<(M6|0));return a=-1,C=M3,a|0}else D3=0;for(;H2=S1+(D3<<2)|0,Z2=e[H2>>2]|0,C5=Z2>>>16,R5=Z2<<16,d5=C5|R5,D5=d5>>>8,G5=D5&16711935,_5=d5<<8,I5=_5&-16711936,A5=G5|I5,c5=A5>>>4,B5=c5&252645135,M1=A5<<4,S5=M1&-252645136,g5=B5|S5,a5=g5>>>2,W2=a5&858993459,g2=g5<<2,t5=g2&-858993460,s5=W2|t5,h5=s5>>>1,J2=h5&1431655765,u5=s5<<1,i5=u5&-1431655766,x5=J2|i5,e[H2>>2]=x5,j2=A2+(D3<<2)|0,e[j2>>2]=H2,$5=D3+1|0,Y6=($5|0)==(l0|0),!Y6;)D3=$5;for(Th(A2,l0,4,10),E=q1,L2=C,C=C+((1*E|0)+15&-16)|0,q5=S9(q1)|0,j5=t+20|0,e[j5>>2]=q5,E5=S1,Y3=0;;)if(f3=A2+(Y3<<2)|0,h3=e[f3>>2]|0,J5=h3,X5=J5-E5|0,n3=X5>>2,m3=L2+(n3<<2)|0,e[m3>>2]=Y3,F5=Y3+1|0,x6=(F5|0)==(l0|0),x6){Z3=0;break}else Y3=F5;for(;k3=S1+(Z3<<2)|0,u3=e[k3>>2]|0,p3=L2+(Z3<<2)|0,z3=e[p3>>2]|0,G3=q5+(z3<<2)|0,e[G3>>2]=u3,z5=Z3+1|0,p6=(z5|0)==(l0|0),!p6;)Z3=z5;if(I2(S1),w3=rb(n,l0,L2)|0,W5=t+16|0,e[W5>>2]=w3,i6=S9(q1)|0,L3=t+24|0,e[L3>>2]=i6,a3=e[b>>2]|0,l3=(a3|0)>0,l3)for(p=e[i1>>2]|0,b6=0,I6=0;;)if(c3=p+b6|0,C3=d[c3>>0]|0,H5=C3<<24>>24>0,H5?(U5=I6+1|0,O5=L2+(I6<<2)|0,k5=e[O5>>2]|0,P3=i6+(k5<<2)|0,e[P3>>2]=b6,J6=U5):J6=I6,M5=b6+1|0,e3=(M5|0)<(a3|0),e3)b6=M5,I6=J6;else{K6=J6;break}else K6=0;if(A3=S9(K6)|0,R3=t+28|0,e[R3>>2]=A3,u6=t+40|0,e[u6>>2]=0,l3){for(B=e[i1>>2]|0,n5=0,v3=B,A6=0,j6=0;;)if(Q3=v3+A6|0,y3=d[Q3>>0]|0,r6=y3<<24>>24>0,r6?(j3=j6+1|0,O3=L2+(j6<<2)|0,S3=e[O3>>2]|0,g3=e[R3>>2]|0,q3=g3+S3|0,d[q3>>0]=y3,l6=e[i1>>2]|0,d3=l6+A6|0,k6=d[d3>>0]|0,v6=k6<<24>>24,S6=e[u6>>2]|0,B6=(v6|0)>(S6|0),B6?(e[u6>>2]=v6,x2=v6,_2=l6,G6=j3):(x2=S6,_2=l6,G6=j3)):(x2=n5,_2=v3,G6=j6),X3=A6+1|0,D=e[b>>2]|0,Q=(X3|0)<(D|0),Q)n5=x2,v3=_2,A6=X3,j6=G6;else{I=x2,e9=G6;break}if(_=(e9|0)==1,_){if(L=(I|0)==1,L)return x=t+36|0,e[x>>2]=1,R=n4(2,4)|0,M=t+32|0,e[M>>2]=R,T=R+4|0,e[T>>2]=1,e[R>>2]=1,a=0,C=M3,a|0;F3=1}else F3=e9}else F3=0;if(N=e[Z>>2]|0,G=(N|0)==0,G)R6=-4;else{for(c=N,U6=0;;)if(z=c>>>1,Y=U6+1|0,t0=(z|0)==0,t0){D6=U6;break}else c=z,U6=Y;s9=D6+-3|0,R6=s9}if(J=t+36|0,W=(R6|0)<5,A=W?5:R6,e0=(A|0)>8,z6=e0?8:A,e[J>>2]=z6,q=1<>2]=X,$0=(F3|0)>0,$0)for(r0=z6,t3=0;;){if(K=e[R3>>2]|0,a0=K+t3|0,s0=d[a0>>0]|0,i0=s0<<24>>24,V=(r0|0)<(i0|0),V)B2=r0;else if(h0=e[j5>>2]|0,o0=h0+(t3<<2)|0,g0=e[o0>>2]|0,j=g0>>>16,u0=g0<<16,d0=j|u0,w0=d0>>>8,C0=w0&16711935,k0=d0<<8,f0=k0&-16711936,B0=C0|f0,p0=B0>>>4,I0=p0&252645135,S0=B0<<4,_0=S0&-252645136,Q0=I0|_0,F0=Q0>>>2,M0=F0&858993459,N0=Q0<<2,U0=N0&-858993460,y0=M0|U0,Y0=y0>>>1,R0=Y0&1431655765,D0=y0<<1,V0=D0&-1431655766,J0=R0|V0,P0=r0-i0|0,z0=(P0|0)==31,z0)B2=r0;else for(G0=t3+1|0,r1=i0,s3=0;;)if(O0=s3<>2]=G0,b0=s3+1|0,c1=e[J>>2]|0,$1=d[a0>>0]|0,f1=$1<<24>>24,g1=c1-f1|0,l1=1<>>16,p1=E1<<16,Q1=B1|p1,_1=Q1>>>8,x1=_1&16711935,w1=Q1<<8,L1=w1&-16711936,F1=x1|L1,G1=F1>>>4,k1=G1&252645135,U1=F1<<4,Z1=U1&-252645136,N1=k1|Z1,b1=N1>>>2,V1=b1&858993459,O1=N1<<2,H1=O1&-858993460,Y1=V1|H1,j1=Y1>>>1,n2=j1&1431655765,W1=Y1<<1,P1=W1&-1431655766,c2=n2|P1,z1=X+(c2<<2)|0,u2=e[z1>>2]|0,o2=(u2|0)==0,o2){for(d6=a6;;){if(K1=d6+1|0,h2=(K1|0)<(F3|0),!h2){_3=d6;break}if($2=e[j5>>2]|0,i2=$2+(K1<<2)|0,l2=e[i2>>2]|0,r2=l2>>>0>E1>>>0,r2){_3=d6;break}else d6=K1}a2=(F3|0)>(C6|0);e:do if(a2)for(X1=e[j5>>2]|0,e6=C6;;){if(s2=X1+(e6<<2)|0,f2=e[s2>>2]|0,y2=f2&Z0,v2=E1>>>0>>0,v2){b3=e6;break e}if(w2=e6+1|0,C2=(F3|0)>(w2|0),C2)e6=w2;else{b3=w2;break}}else b3=C6;while(!1);F2=F3-b3|0,D2=_3>>>0>32767,N2=F2>>>0>32767,f6=N2?32767:F2,N6=_3<<15,n6=N6|-2147483648,d2=D2?-1073774592:n6,K2=d2|f6,e[z1>>2]=K2,t6=b3,Q6=_3}else t6=C6,Q6=a6;if(G2=O6+1|0,M2=(G2|0)<(q|0),!M2){a=0;break}S=e[J>>2]|0,d1=S,C6=t6,O6=G2,a6=Q6}return C=M3,a|0}function ob(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0;return b=C,A=e[t>>2]|0,a=e[A>>2]|0,c=e[n>>2]|0,u=e[c>>2]|0,E=a>>>0>u>>>0,I=E&1,m=a>>>0>>0,p=m&1,B=I-p|0,B|0}function Ab(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0;if(K0=C,p=e[t>>2]|0,B=(p|0)==1,!B&&(M=t+4|0,q=e[M>>2]|0,i0=t+8|0,r0=e[i0>>2]|0,V=r0+4|0,h0=e[V>>2]|0,o0=(h0|0)>0,!!o0)){for(g0=h0+1|0,m=p+-1|0,d0=p,w0=0,C0=p,f0=1;;){S=g0-w0|0,b=r0+(S<<2)|0,w=e[b>>2]|0,y=(C0|0)/(w|0)&-1,D=(p|0)/(C0|0)&-1,Q=r5(D,y)|0,_=w+-1|0,L=r5(D,_)|0,x=d0-L|0,R=1-f0|0;do if((w|0)==2)if(Y=(R|0)==0,A=m+x|0,t0=q+(A<<2)|0,Y){kQ(D,y,n,q,t0),B0=0;break}else{kQ(D,y,q,n,t0),B0=R;break}else if((w|0)==4)if(T=x+D|0,N=(R|0)==0,a=m+x|0,G=q+(a<<2)|0,c=m+T|0,O=q+(c<<2)|0,u=m+D|0,E=u+T|0,z=q+(E<<2)|0,N){wQ(D,y,n,q,G,O,z),B0=0;break}else{wQ(D,y,q,n,G,O,z),B0=R;break}else if(J=(D|0)==1,k0=J?f0:R,W=(k0|0)==0,I=m+x|0,e0=q+(I<<2)|0,W){vQ(D,w,y,Q,n,n,n,q,q,e0),B0=1;break}else{vQ(D,w,y,Q,q,q,q,n,n,e0),B0=0;break}while(!1);if(X=w0+1|0,l0=(X|0)==(h0|0),l0){p0=B0;break}else d0=x,w0=X,C0=y,f0=B0}if(U=(p0|0)!=1,$0=(p|0)>0,I0=$0&U,I0)u0=0;else return;for(;Z=q+(u0<<2)|0,K=e[Z>>2]|0,a0=n+(u0<<2)|0,e[a0>>2]=K,s0=u0+1|0,j=(s0|0)==(p|0),!j;)u0=s0}}function QQ(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0;if(I1=C,e[t>>2]=n,E=n*3|0,I=n4(E,4)|0,L=t+4|0,e[L>>2]=I,J=n4(32,4)|0,i0=t+8|0,e[i0>>2]=J,C0=(n|0)==1,!C0){K0=J+8|0,H0=-1,$1=0,f1=n,l1=0;e:for(;;)for(_0=H0+1|0,Q0=(_0|0)<4,Q0?(F0=25768+(_0<<2)|0,m=e[F0>>2]|0,s1=m):(p=l1+2|0,s1=p),B=(s1|0)!=2,P0=$1,g1=f1;;){if(V0=P0+1|0,S=(g1|0)/(s1|0)&-1,b=r5(S,s1)|0,w=(g1|0)==(b|0),!w){H0=_0,$1=P0,f1=g1,l1=s1;continue e}if(y=P0+2|0,D=J+(y<<2)|0,e[D>>2]=s1,Q=(P0|0)==0,a1=B|Q,!a1){if(_=(P0|0)<1,!_)for(R0=1;x=V0-R0|0,R=x+1|0,M=J+(R<<2)|0,T=e[M>>2]|0,N=x+2|0,G=J+(N<<2)|0,e[G>>2]=T,O=R0+1|0,y0=(O|0)==(V0|0),!y0;)R0=O;e[K0>>2]=2}if(z=(S|0)==1,z){A=Q,J0=V0,z0=P0;break e}else P0=V0,g1=S}if(e[J>>2]=n,Y=J+4|0,e[Y>>2]=J0,t0=+(n|0),W=6.2831854820251465/t0,a=A^1,e0=(z0|0)>0,n1=e0&a,!!n1)for(q=n+1|0,G0=0,b0=0,i1=1;;){if(X=b0+2|0,U=J+(X<<2)|0,$0=e[U>>2]|0,Z=r5($0,i1)|0,K=(n|0)/(Z|0)&-1,a0=($0|0)>1,a0){for(s0=(K|0)>2,r0=$0+-1|0,r1=G0,e1=0,c1=0;;){if(V=c1+i1|0,h0=+(V|0),o0=h0*W,s0)for(Y0=0,D0=r1,T0=2;g0=Y0+1,j=o0*g0,M0=+ZA(+j),c=D0+n|0,l0=I+(c<<2)|0,s[l0>>2]=M0,o1=+Gn(+j),u0=D0+2|0,u=q+D0|0,d0=I+(u<<2)|0,s[d0>>2]=o1,w0=T0+2|0,k0=(w0|0)<(K|0),k0;)Y0=g0,D0=u0,T0=w0;if(f0=r1+K|0,B0=e1+1|0,N0=(B0|0)==(r0|0),N0)break;r1=f0,e1=B0,c1=V}p0=r5(K,r0)|0,I0=p0+G0|0,O0=I0}else O0=G0;if(S0=b0+1|0,U0=(S0|0)==(z0|0),U0)break;G0=O0,b0=S0,i1=Z}}}function yQ(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0;p=C,n=(t|0)==0,!n&&(A=t+4|0,a=e[A>>2]|0,c=(a|0)==0,c||I2(a),u=t+8|0,E=e[u>>2]|0,I=(E|0)==0,I||I2(E),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0)}function wQ(t,n,A,a,c,u,E){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0,u=u|0,E=E|0;var I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0;if(f3=C,I=r5(n,t)|0,m=I<<1,m1=(n|0)>0,m1)for(F1=I*3|0,Y1=t<<2,K1=Y1+-1|0,y2=t<<1,g2=0,s5=I,u5=F1,j2=0,$5=m;M2=A+(s5<<2)|0,f5=+s[M2>>2],R5=A+(u5<<2)|0,p=+s[R5>>2],R=p+f5,e0=A+(j2<<2)|0,V=+s[e0>>2],f0=A+($5<<2)|0,U0=+s[f0>>2],O0=U0+V,s1=O0+R,I1=j2<<2,h1=a+(I1<<2)|0,s[h1>>2]=s1,d1=O0-R,E1=K1+I1|0,B1=a+(E1<<2)|0,s[B1>>2]=d1,p1=+s[e0>>2],Q1=+s[f0>>2],_1=p1-Q1,x1=I1+y2|0,w1=x1+-1|0,S1=a+(w1<<2)|0,s[S1>>2]=_1,L1=+s[R5>>2],G1=+s[M2>>2],k1=L1-G1,U1=a+(x1<<2)|0,s[U1>>2]=k1,Z1=s5+t|0,N1=u5+t|0,b1=j2+t|0,V1=$5+t|0,O1=g2+1|0,g5=(O1|0)==(n|0),!g5;)g2=O1,s5=Z1,u5=N1,j2=b1,$5=V1;if(q1=(t|0)<2,!q1){if(H1=(t|0)==2,!H1){if(m1)for(j1=t<<1,p5=0,h5=0;;){for(j=h5<<2,l0=j+j1|0,W2=2,i5=h5,L2=j,q5=l0;P1=i5+2|0,c2=L2+2|0,z1=q5+-2|0,u2=P1+I|0,o2=W2+-2|0,E2=c+(o2<<2)|0,A2=+s[E2>>2],h2=u2+-1|0,$2=A+(h2<<2)|0,i2=+s[$2>>2],l2=i2*A2,r2=W2+-1|0,a2=c+(r2<<2)|0,X1=+s[a2>>2],s2=A+(u2<<2)|0,f2=+s[s2>>2],e2=f2*X1,v2=e2+l2,w2=f2*A2,C2=X1*i2,F2=w2-C2,D2=u2+I|0,N2=u+(o2<<2)|0,d2=+s[N2>>2],K2=D2+-1|0,G2=A+(K2<<2)|0,H2=+s[G2>>2],P2=H2*d2,z2=u+(r2<<2)|0,o5=+s[z2>>2],O2=A+(D2<<2)|0,T1=+s[O2>>2],X2=T1*o5,L5=X2+P2,e5=T1*d2,b5=o5*H2,Z2=e5-b5,v5=D2+I|0,P5=E+(o2<<2)|0,l5=+s[P5>>2],k2=v5+-1|0,m5=A+(k2<<2)|0,n5=+s[m5>>2],x2=n5*l5,_2=E+(r2<<2)|0,B2=+s[_2>>2],C5=A+(v5<<2)|0,d5=+s[C5>>2],D5=d5*B2,G5=D5+x2,_5=d5*l5,q2=B2*n5,I5=_5-q2,A5=G5+v2,c5=G5-v2,B5=I5+F2,M1=F2-I5,B=A+(P1<<2)|0,S=+s[B>>2],b=S+Z2,w=S-Z2,y=i5+1|0,D=A+(y<<2)|0,Q=+s[D>>2],_=Q+L5,L=Q-L5,x=A5+_,M=L2|1,T=a+(M<<2)|0,s[T>>2]=x,N=B5+b,G=a+(c2<<2)|0,s[G>>2]=N,O=L-M1,z=q5+-3|0,Y=a+(z<<2)|0,s[Y>>2]=O,t0=c5-w,J=a+(z1<<2)|0,s[J>>2]=t0,W=M1+L,q=c2+j1|0,X=q+-1|0,U=a+(X<<2)|0,s[U>>2]=W,$0=c5+w,Z=a+(q<<2)|0,s[Z>>2]=$0,K=_-A5,a0=z1+j1|0,s0=a0+-1|0,i0=a+(s0<<2)|0,s[i0>>2]=K,r0=B5-b,h0=a+(a0<<2)|0,s[h0>>2]=r0,o0=W2+2|0,g0=(o0|0)<(t|0),g0;)W2=o0,i5=P1,L2=c2,q5=z1;if(n2=h5+t|0,W1=p5+1|0,a5=(W1|0)==(n|0),a5)break;p5=W1,h5=n2}if(u0=t&1,d0=(u0|0)==0,!d0)return}if(w0=t+-1|0,C0=w0+I|0,k0=t<<2,B0=t<<1,!!m1)for(p0=C0+m|0,t5=0,J2=C0,x5=p0,Q5=t,j5=t;I0=A+(J2<<2)|0,S0=+s[I0>>2],K0=A+(x5<<2)|0,_0=+s[K0>>2],Q0=_0+S0,F0=Q0*-.7071067690849304,M0=S0-_0,N0=M0*.7071067690849304,y0=j5+-1|0,Y0=A+(y0<<2)|0,R0=+s[Y0>>2],D0=N0+R0,T0=Q5+-1|0,V0=a+(T0<<2)|0,s[V0>>2]=D0,J0=+s[Y0>>2],P0=J0-N0,z0=Q5+B0|0,G0=z0+-1|0,r1=a+(G0<<2)|0,s[r1>>2]=P0,H0=J2+I|0,e1=A+(H0<<2)|0,b0=+s[e1>>2],i1=F0-b0,c1=a+(Q5<<2)|0,s[c1>>2]=i1,$1=+s[e1>>2],f1=$1+F0,g1=a+(z0<<2)|0,s[g1>>2]=f1,l1=J2+t|0,a1=x5+t|0,n1=Q5+k0|0,o1=j5+t|0,Z0=t5+1|0,S5=(Z0|0)==(n|0),!S5;)t5=Z0,J2=l1,x5=a1,Q5=n1,j5=o1}}function kQ(t,n,A,a,c){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0;var u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0;if(k1=C,u=r5(n,t)|0,E=t<<1,_=(n|0)>0,_)for(t0=E+-1|0,I1=0,d1=0,p1=u;s0=A+(d1<<2)|0,w0=+s[s0>>2],F0=A+(p1<<2)|0,P0=+s[F0>>2],f1=P0+w0,s1=d1<<1,I=a+(s1<<2)|0,s[I>>2]=f1,m=+s[s0>>2],p=+s[F0>>2],B=m-p,S=t0+s1|0,b=a+(S<<2)|0,s[b>>2]=B,w=d1+t|0,y=p1+t|0,D=I1+1|0,n1=(D|0)==(n|0),!n1;)I1=D,d1=w,p1=y;if(Q=(t|0)<2,!Q){if(L=(t|0)==2,!L){if(_)for(h1=0,E1=0,Q1=u;;){for(Y0=E1<<1,R0=Y0+E|0,Z0=2,x1=Q1,S1=R0,L1=E1,F1=Y0;T=x1+2|0,N=S1+-2|0,G=L1+2|0,O=F1+2|0,z=Z0+-2|0,Y=c+(z<<2)|0,J=+s[Y>>2],W=x1+1|0,e0=A+(W<<2)|0,q=+s[e0>>2],X=q*J,U=Z0+-1|0,$0=c+(U<<2)|0,Z=+s[$0>>2],K=A+(T<<2)|0,a0=+s[K>>2],i0=a0*Z,r0=i0+X,V=a0*J,h0=Z*q,o0=V-h0,g0=A+(G<<2)|0,j=+s[g0>>2],l0=o0+j,u0=a+(O<<2)|0,s[u0>>2]=l0,d0=+s[g0>>2],C0=o0-d0,k0=a+(N<<2)|0,s[k0>>2]=C0,f0=L1+1|0,B0=A+(f0<<2)|0,p0=+s[B0>>2],I0=p0+r0,S0=F1|1,K0=a+(S0<<2)|0,s[K0>>2]=I0,_0=+s[B0>>2],Q0=_0-r0,M0=S1+-3|0,N0=a+(M0<<2)|0,s[N0>>2]=Q0,U0=Z0+2|0,y0=(U0|0)<(t|0),y0;)Z0=U0,x1=T,S1=N,L1=G,F1=O;if(x=E1+t|0,R=Q1+t|0,M=h1+1|0,o1=(M|0)==(n|0),o1)break;h1=M,E1=x,Q1=R}if(D0=(t|0)%2&-1,T0=(D0|0)==1,T0)return}if(V0=t+-1|0,!!_)for(J0=u+V0|0,m1=0,B1=t,_1=J0,w1=V0;z0=A+(_1<<2)|0,G0=+s[z0>>2],O0=-G0,r1=a+(B1<<2)|0,s[r1>>2]=O0,H0=A+(w1<<2)|0,e1=e[H0>>2]|0,b0=B1+-1|0,i1=a+(b0<<2)|0,e[i1>>2]=e1,c1=B1+E|0,$1=_1+t|0,g1=w1+t|0,l1=m1+1|0,a1=(l1|0)==(n|0),!a1;)m1=l1,B1=c1,_1=$1,w1=g1}}function vQ(t,n,A,a,c,u,E,I,m,p){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0,u=u|0,E=E|0,I=I|0,m=m|0,p=p|0;var B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,k3=0,u3=0,p3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,X3=0,c6=0,p6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,L6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,L4=0,T4=0,j4=0,C4=0,N4=0,U9=0,G4=0,a4=0,R4=0,u4=0,Ce=0,q9=0,m9=0,Be=0,Ne=0,Xe=0,U4=0,Ge=0,P4=0,X4=0,be=0,e8=0,Z9=0,$e=0,f4=0,_6=0,O4=0,R9=0,$4=0,_4=0,le=0,W9=0,ce=0,ge=0,B4=0,ee=0,F4=0,he=0,C9=0,g6=0,Ue=0,l4=0,pe=0,p4=0,c4=0,P6=0,De=0,_e=0,t8=0,g4=0,k4=0,u8=0,J3=0,w9=0,B9=0,M4=0,te=0,$t=0,xe=0,lt=0,wt=0,z8=0,ct=0,gt=0,F8=0,M8=0,T8=0,N8=0,Z8=0,W8=0,kt=0,G8=0,U8=0,P8=0,k8=0,v8=0,f8=0,O8=0,q8=0,j8=0,X8=0,d8=0,Pe=0,Le=0,i8=0,S8=0,k9=0,ht=0,Qe=0,ut=0,vt=0,et=0,St=0,ie=0,tt=0,H8=0,b8=0,r8=0,q4=0,Re=0,n8=0,I8=0,D8=0,ue=0,j9=0,s8=0,E8=0,o8=0,m8=0,fe=0,ye=0,Oe=0,qe=0,X9=0,Fe=0,de=0,A8=0,we=0,Q4=0,C8=0,it=0,H4=0,I3=0,He=0,B8=0,re=0,H9=0,ne=0,D9=0,Ye=0,Y8=0,ft=0,rt=0,nt=0,J8=0,st=0,V8=0,a8=0,$8=0,_8=0,Y4=0,ot=0,x8=0,Je=0,p9=0,At=0,Ve=0,Nt=0,Ht=0,bt=0,at=0,Dt=0,se=0,Gt=0,Yt=0,l8=0,L8=0,_t=0,K8=0,Me=0,Ie=0,e4=0,xt=0,i7=0,G7=0,U7=0,P7=0,d7=0,Jt=0,I7=0,Vt=0,E7=0,Kt=0,m7=0,r7=0,oi=0,O7=0,C7=0,B7=0,Ai=0,p7=0,n7=0,ai=0,q7=0,H7=0,Y7=0,J7=0,s7=0,Q7=0,V7=0,zt=0,o7=0,Ut=0,Zt=0,$i=0,K7=0,li=0,y7=0,z7=0,w7=0,k7=0,Z7=0,v7=0,Wt=0,S7=0,W7=0,A7=0,Pt=0,b7=0,ke=0,D7=0,Lt=0,a7=0,n9=0,dt=0,p8=0;p8=C,b=+(n|0),w=6.2831854820251465/b,f8=+ZA(+w),Nt=+Gn(+w),E2=n+1|0,Q3=E2>>1,U9=t+-1|0,U4=U9>>1,R9=r5(A,t)|0,C9=r5(n,t)|0,g4=(t|0)==1;e:do if(!g4){if(wt=(a|0)>0,wt)for(we=0;l0=E+(we<<2)|0,K0=e[l0>>2]|0,T0=m+(we<<2)|0,e[T0>>2]=K0,i1=we+1|0,E8=(i1|0)==(a|0),!E8;)we=i1;if(O=(n|0)>1,O)for(Z=(A|0)>0,B8=1,Ht=0;;){if(I1=Ht+R9|0,Z)for(st=0,e4=I1;S1=u+(e4<<2)|0,q1=e[S1>>2]|0,A2=I+(e4<<2)|0,e[A2>>2]=q1,e2=e4+t|0,H2=st+1|0,j9=(H2|0)==(A|0),!j9;)st=H2,e4=e2;if(Z2=B8+1|0,s8=(Z2|0)==(n|0),s8)break;B8=Z2,Ht=I1}if(C5=0-t|0,M1=(U4|0)>(A|0),M1){if(O)for(G3=(A|0)>0,H5=(t|0)>2,I3=C5,H9=1,Dt=0;;){if(v3=Dt+R9|0,k6=I3+t|0,G3)for(e6=v3-t|0,s3=k6+-1|0,a8=0,xt=e6;;){if(F3=xt+t|0,H5)for(o8=2,de=s3,E7=F3;M3=de+2|0,E6=E7+2|0,E9=de+1|0,j4=p+(E9<<2)|0,N4=+s[j4>>2],G4=E7+1|0,a4=u+(G4<<2)|0,R4=+s[a4>>2],u4=R4*N4,Ce=p+(M3<<2)|0,q9=+s[Ce>>2],m9=u+(E6<<2)|0,Be=+s[m9>>2],Ne=Be*q9,Xe=Ne+u4,Ge=I+(G4<<2)|0,s[Ge>>2]=Xe,P4=+s[j4>>2],X4=+s[m9>>2],be=X4*P4,e8=+s[Ce>>2],Z9=+s[a4>>2],$e=Z9*e8,f4=be-$e,_6=I+(E6<<2)|0,s[_6>>2]=f4,O4=o8+2|0,$4=(O4|0)<(t|0),$4;)o8=O4,de=M3,E7=E6;if(_4=a8+1|0,n8=(_4|0)==(A|0),n8)break;a8=_4,xt=F3}if(le=H9+1|0,I8=(le|0)==(n|0),I8)break;I3=k6,H9=le,Dt=v3}}else if(O)for(u5=(t|0)>2,h3=(A|0)>0,He=C5,ne=1,Gt=0;;){if(W9=He+t|0,ce=Gt+R9|0,u5)for(ge=W9+-1|0,m8=2,A8=ge,i7=ce;;){if(B4=A8+2|0,ee=i7+2|0,h3)for(F4=A8+1|0,he=p+(F4<<2)|0,g6=p+(B4<<2)|0,$8=0,Kt=ee;Ue=+s[he>>2],l4=Kt+-1|0,pe=u+(l4<<2)|0,p4=+s[pe>>2],c4=p4*Ue,P6=+s[g6>>2],De=u+(Kt<<2)|0,_e=+s[De>>2],t8=_e*P6,k4=t8+c4,u8=I+(l4<<2)|0,s[u8>>2]=k4,J3=+s[he>>2],w9=+s[De>>2],B9=w9*J3,M4=+s[g6>>2],te=+s[pe>>2],$t=te*M4,xe=B9-$t,lt=I+(Kt<<2)|0,s[lt>>2]=xe,z8=Kt+t|0,ct=$8+1|0,D8=(ct|0)==(A|0),!D8;)$8=ct,Kt=z8;if(gt=m8+2|0,F8=(gt|0)<(t|0),F8)m8=gt,A8=B4,i7=ee;else break}if(M8=ne+1|0,ue=(M8|0)==(n|0),ue)break;He=W9,ne=M8,Gt=ce}if(T8=r5(R9,n)|0,N8=(U4|0)<(A|0),Z8=(Q3|0)>1,!N8){if(!Z8)break;for(W8=(A|0)>0,kt=(t|0)>2,Ye=1,l8=0,U7=T8;;){if(B0=l8+R9|0,p0=U7-R9|0,W8)for(Y4=0,r7=B0,n7=p0;;){if(kt)for(ye=2,zt=r7,y7=n7;I0=zt+2|0,S0=y7+2|0,_0=zt+1|0,Q0=I+(_0<<2)|0,F0=+s[Q0>>2],M0=y7+1|0,N0=I+(M0<<2)|0,U0=+s[N0>>2],y0=U0+F0,Y0=u+(_0<<2)|0,s[Y0>>2]=y0,R0=I+(I0<<2)|0,D0=+s[R0>>2],V0=I+(S0<<2)|0,J0=+s[V0>>2],P0=D0-J0,z0=u+(M0<<2)|0,s[z0>>2]=P0,G0=+s[R0>>2],O0=+s[V0>>2],r1=O0+G0,H0=u+(I0<<2)|0,s[H0>>2]=r1,e1=+s[N0>>2],b0=+s[Q0>>2],c1=e1-b0,$1=u+(S0<<2)|0,s[$1>>2]=c1,f1=ye+2|0,g1=(f1|0)<(t|0),g1;)ye=f1,zt=I0,y7=S0;if(l1=r7+t|0,s1=n7+t|0,a1=Y4+1|0,q4=(a1|0)==(A|0),q4)break;Y4=a1,r7=l1,n7=s1}if(n1=Ye+1|0,Re=(n1|0)==(Q3|0),Re)break e;Ye=n1,l8=B0,U7=p0}}if(Z8)for(D=(t|0)>2,Q=(A|0)>0,D9=1,Yt=0,G7=T8;;){if(_=Yt+R9|0,L=G7-R9|0,D)for(fe=2,m7=_,p7=L;;){if(x=m7+2|0,R=p7+2|0,Q)for(M=R-t|0,T=x-t|0,_8=0,V7=T,li=M;N=V7+t|0,G=li+t|0,z=N+-1|0,Y=I+(z<<2)|0,t0=+s[Y>>2],J=G+-1|0,W=I+(J<<2)|0,e0=+s[W>>2],q=e0+t0,X=u+(z<<2)|0,s[X>>2]=q,U=I+(N<<2)|0,$0=+s[U>>2],K=I+(G<<2)|0,a0=+s[K>>2],s0=$0-a0,i0=u+(J<<2)|0,s[i0>>2]=s0,r0=+s[U>>2],V=+s[K>>2],h0=V+r0,o0=u+(N<<2)|0,s[o0>>2]=h0,g0=+s[W>>2],j=+s[Y>>2],u0=g0-j,d0=u+(G<<2)|0,s[d0>>2]=u0,w0=_8+1|0,b8=(w0|0)==(A|0),!b8;)_8=w0,V7=N,li=G;if(C0=fe+2|0,k0=(C0|0)<(t|0),k0)fe=C0,m7=x,p7=R;else break}if(f0=D9+1|0,r8=(f0|0)==(Q3|0),r8)break;D9=f0,Yt=_,G7=L}}while(!1);if(y=(a|0)>0,y)for(Q4=0;o1=m+(Q4<<2)|0,Z0=e[o1>>2]|0,h1=E+(Q4<<2)|0,e[h1>>2]=Z0,m1=Q4+1|0,H8=(m1|0)==(a|0),!H8;)Q4=m1;if(d1=r5(a,n)|0,E1=(Q3|0)>1,E1){for(B1=(A|0)>0,Y8=1,L8=0,P7=d1;;){if(p1=L8+R9|0,Q1=P7-R9|0,B1)for(_1=Q1-t|0,x1=p1-t|0,ot=0,oi=x1,ai=_1;w1=oi+t|0,L1=ai+t|0,F1=I+(w1<<2)|0,G1=+s[F1>>2],k1=I+(L1<<2)|0,U1=+s[k1>>2],Z1=U1+G1,N1=u+(w1<<2)|0,s[N1>>2]=Z1,b1=+s[k1>>2],V1=+s[F1>>2],O1=b1-V1,H1=u+(L1<<2)|0,s[H1>>2]=O1,Y1=ot+1|0,ie=(Y1|0)==(A|0),!ie;)ot=Y1,oi=w1,ai=L1;if(j1=Y8+1|0,tt=(j1|0)==(Q3|0),tt)break;Y8=j1,L8=p1,P7=Q1}if(n2=n+-1|0,W1=r5(n2,a)|0,E1){for(P1=(Q3|0)>2,G8=0,P8=1,Ve=1,_t=0,d7=d1;;){if(c2=_t+a|0,z1=d7-a|0,u2=P8*f8,o2=G8*Nt,K1=u2-o2,h2=G8*f8,$2=P8*Nt,i2=$2+h2,y)for(C8=0,q7=c2,o7=z1,z7=W1,Wt=a;l2=E+(C8<<2)|0,r2=+s[l2>>2],a2=Wt+1|0,X1=E+(Wt<<2)|0,s2=+s[X1>>2],f2=s2*K1,y2=f2+r2,v2=q7+1|0,w2=m+(q7<<2)|0,s[w2>>2]=y2,C2=z7+1|0,F2=E+(z7<<2)|0,D2=+s[F2>>2],N2=D2*i2,d2=o7+1|0,K2=m+(o7<<2)|0,s[K2>>2]=N2,G2=C8+1|0,ut=(G2|0)==(a|0),!ut;)C8=G2,q7=v2,o7=d2,z7=C2,Wt=a2;if(P1)for(U8=i2,k8=K1,ft=2,H7=a,Ut=W1;;){if(M2=H7+a|0,P2=Ut-a|0,z2=k8*K1,o5=U8*i2,O2=z2-o5,T1=U8*K1,X2=k8*i2,L5=X2+T1,y)for(it=0,w7=c2,S7=z1,b7=M2,Lt=P2;e5=b7+1|0,b5=E+(b7<<2)|0,f5=+s[b5>>2],v5=f5*O2,P5=w7+1|0,l5=m+(w7<<2)|0,k2=+s[l5>>2],m5=k2+v5,s[l5>>2]=m5,n5=Lt+1|0,x2=E+(Lt<<2)|0,_2=+s[x2>>2],B2=_2*L5,R5=S7+1|0,d5=m+(S7<<2)|0,D5=+s[d5>>2],G5=D5+B2,s[d5>>2]=G5,_5=it+1|0,vt=(_5|0)==(a|0),!vt;)it=_5,w7=P5,S7=R5,b7=e5,Lt=n5;if(q2=ft+1|0,et=(q2|0)==(Q3|0),et)break;U8=L5,k8=O2,ft=q2,H7=M2,Ut=P2}if(I5=Ve+1|0,St=(I5|0)==(Q3|0),St)break;G8=i2,P8=K1,Ve=I5,_t=c2,d7=z1}if(E1)for(rt=1,K8=0;;){if(A5=K8+a|0,y)for(H4=0,Jt=A5;c5=Jt+1|0,B5=E+(Jt<<2)|0,S5=+s[B5>>2],g5=m+(H4<<2)|0,a5=+s[g5>>2],W2=a5+S5,s[g5>>2]=W2,g2=H4+1|0,ht=(g2|0)==(a|0),!ht;)H4=g2,Jt=c5;if(p5=rt+1|0,Qe=(p5|0)==(Q3|0),Qe)break;rt=p5,K8=A5}}}if(t5=(t|0)<(A|0),t5){if(J2=(t|0)>0,J2)for(i5=(A|0)>0,qe=0;;){if(i5)for(Je=0,Ie=qe,Vt=qe;J5=I+(Ie<<2)|0,X5=e[J5>>2]|0,n3=c+(Vt<<2)|0,e[n3>>2]=X5,m3=Ie+t|0,F5=Vt+C9|0,V5=Je+1|0,Le=(V5|0)==(A|0),!Le;)Je=V5,Ie=m3,Vt=F5;if(k3=qe+1|0,i8=(k3|0)==(t|0),i8)break;qe=k3}}else if(s5=(A|0)>0,s5)for(h5=(t|0)>0,x8=0,Me=0,I7=0;;){if(h5)for(Oe=0,O7=Me,Y7=I7;x5=O7+1|0,j2=I+(O7<<2)|0,$5=e[j2>>2]|0,L2=Y7+1|0,Q5=c+(Y7<<2)|0,e[Q5>>2]=$5,q5=Oe+1|0,S8=(q5|0)==(t|0),!S8;)Oe=q5,O7=x5,Y7=L2;if(j5=Me+t|0,E5=I7+C9|0,f3=x8+1|0,k9=(f3|0)==(A|0),k9)break;x8=f3,Me=j5,I7=E5}if(u3=t<<1,p3=r5(R9,n)|0,E1)for(z3=(A|0)>0,nt=1,bt=0,C7=0,J7=p3;;){if(z5=bt+u3|0,w3=C7+R9|0,W5=J7-R9|0,z3)for(p9=0,Zt=z5,k7=w3,W7=W5;i6=I+(k7<<2)|0,L3=e[i6>>2]|0,U3=Zt+-1|0,a3=c+(U3<<2)|0,e[a3>>2]=L3,l3=I+(W7<<2)|0,c3=e[l3>>2]|0,C3=c+(Zt<<2)|0,e[C3>>2]=c3,U5=Zt+C9|0,O5=k7+t|0,k5=W7+t|0,P3=p9+1|0,d8=(P3|0)==(A|0),!d8;)p9=P3,Zt=U5,k7=O5,W7=k5;if(M5=nt+1|0,Pe=(M5|0)==(Q3|0),Pe)break;nt=M5,bt=z5,C7=w3,J7=W5}if(!g4){if(o6=(U4|0)<(A|0),e3=0-t|0,!o6){if(!E1)return;for(B=(A|0)<1,S=(t|0)<3,v8=B|S,J8=1,at=e3,B7=0,s7=0,$i=p3;;){if(u6=at+u3|0,y3=B7+u3|0,r6=s7+R9|0,j3=$i-R9|0,!v8)for(At=0,Z7=u6,A7=y3,ke=r6,a7=j3;;){for(X9=2;l6=t-X9|0,d3=X9+ke|0,v6=d3+-1|0,S6=I+(v6<<2)|0,B6=+s[S6>>2],X3=X9+a7|0,c6=X3+-1|0,p6=I+(c6<<2)|0,x6=+s[p6>>2],Y6=x6+B6,C6=X9+A7|0,b3=C6+-1|0,t6=c+(b3<<2)|0,s[t6>>2]=Y6,f6=+s[S6>>2],H3=+s[p6>>2],D3=f6-H3,Y3=l6+Z7|0,Z3=Y3+-1|0,b6=c+(Z3<<2)|0,s[b6>>2]=D3,A6=I+(d3<<2)|0,t3=+s[A6>>2],O6=I+(X3<<2)|0,a6=+s[O6>>2],d6=a6+t3,_3=c+(C6<<2)|0,s[_3>>2]=d6,N6=+s[O6>>2],n6=+s[A6>>2],Q6=N6-n6,L6=c+(Y3<<2)|0,s[L6>>2]=Q6,K6=X9+2|0,I6=(K6|0)<(t|0),I6;)X9=K6;if(O3=Z7+C9|0,K5=A7+C9|0,S3=ke+t|0,g3=a7+t|0,q3=At+1|0,j8=(q3|0)==(A|0),j8)break;At=q3,Z7=O3,A7=K5,ke=S3,a7=g3}if(J6=J8+1|0,X8=(J6|0)==(Q3|0),X8)break;J8=J6,at=u6,B7=y3,s7=r6,$i=j3}return}if(E1)for(A3=(t|0)>2,R3=(A|0)>0,re=1,se=e3,Ai=0,Q7=0,K7=p3;;){if(j6=se+u3|0,G6=Ai+u3|0,e9=Q7+R9|0,s9=K7-R9|0,A3&&(R6=j6+t|0,R3))for(Fe=2;;){for(b4=Fe+s9|0,D4=Fe+e9|0,L4=Fe+G6|0,T4=R6-Fe|0,V8=0,v7=T4,Pt=L4,D7=D4,n9=b4;z6=D7+-1|0,y6=I+(z6<<2)|0,F6=+s[y6>>2],M6=n9+-1|0,t9=I+(M6<<2)|0,A9=+s[t9>>2],X6=A9+F6,u9=Pt+-1|0,f9=c+(u9<<2)|0,s[f9>>2]=X6,d9=+s[y6>>2],a9=+s[t9>>2],$9=d9-a9,T9=v7+-1|0,T6=c+(T9<<2)|0,s[T6>>2]=$9,i9=I+(D7<<2)|0,N9=+s[i9>>2],I9=I+(n9<<2)|0,E4=+s[I9>>2],o4=E4+N9,h4=c+(Pt<<2)|0,s[h4>>2]=o4,G9=+s[I9>>2],z9=+s[i9>>2],b9=G9-z9,q6=c+(v7<<2)|0,s[q6>>2]=b9,r9=v7+C9|0,m4=Pt+C9|0,S4=D7+t|0,A4=n9+t|0,y9=V8+1|0,O8=(y9|0)==(A|0),!O8;)V8=y9,v7=r9,Pt=m4,D7=S4,n9=A4;if(U6=Fe+2|0,D6=(U6|0)<(t|0),D6)Fe=U6;else break}if(C4=re+1|0,q8=(C4|0)==(Q3|0),q8)break;re=C4,se=j6,Ai=G6,Q7=e9,K7=s9}}}function ab(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,k3=0,u3=0,p3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,X3=0,c6=0,p6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,L6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,L4=0,T4=0,j4=0,C4=0,N4=0,U9=0,G4=0,a4=0,R4=0,u4=0,Ce=0,q9=0,m9=0,Be=0,Ne=0,Xe=0,U4=0,Ge=0,P4=0,X4=0,be=0,e8=0,Z9=0,$e=0,f4=0,_6=0,O4=0,R9=0,$4=0,_4=0,le=0,W9=0,ce=0,ge=0,B4=0,ee=0,F4=0,he=0,C9=0,g6=0,Ue=0,l4=0,pe=0,p4=0,c4=0,P6=0,De=0,_e=0,t8=0,g4=0,k4=0,u8=0,J3=0,w9=0,B9=0,M4=0,te=0,$t=0,xe=0,lt=0,wt=0,z8=0,ct=0,gt=0,F8=0,M8=0,T8=0,N8=0,Z8=0,W8=0,kt=0,G8=0,U8=0,P8=0,k8=0,v8=0,f8=0,O8=0,q8=0,j8=0,X8=0,d8=0,Pe=0,Le=0,i8=0,S8=0,k9=0,ht=0,Qe=0,ut=0,vt=0,et=0,St=0,ie=0,tt=0,H8=0,b8=0,r8=0,q4=0,Re=0,n8=0,I8=0,D8=0,ue=0,j9=0,s8=0,E8=0,o8=0,m8=0,fe=0,ye=0,Oe=0,qe=0,X9=0,Fe=0,de=0,A8=0,we=0,Q4=0,C8=0,it=0,H4=0,I3=0,He=0,B8=0,re=0,H9=0,ne=0,D9=0,Ye=0,Y8=0,ft=0,rt=0,nt=0,J8=0,st=0,V8=0,a8=0,$8=0,_8=0,Y4=0,ot=0,x8=0,Je=0,p9=0,At=0,Ve=0,Nt=0,Ht=0,bt=0,at=0,Dt=0,se=0,Gt=0,Yt=0,l8=0,L8=0,_t=0,K8=0,Me=0,Ie=0,e4=0,xt=0,i7=0,G7=0,U7=0,P7=0,d7=0,Jt=0,I7=0,Vt=0,E7=0,Kt=0,m7=0,r7=0,oi=0,O7=0,C7=0,B7=0,Ai=0,p7=0,n7=0,ai=0,q7=0,H7=0,Y7=0,J7=0,s7=0,Q7=0,V7=0,zt=0,o7=0,Ut=0,Zt=0,$i=0,K7=0,li=0,y7=0,z7=0,w7=0,k7=0,Z7=0,v7=0,Wt=0,S7=0,W7=0,A7=0,Pt=0,b7=0,ke=0,D7=0,Lt=0,a7=0,n9=0,dt=0,p8=0,It=0,Rt=0,zr=0,Er=0,eo=0,Pn=0,to=0,On=0,io=0,ro=0,qn=0,no=0,Zr=0,so=0,oo=0,Ao=0,Hn=0,ao=0,Yn=0,Jn=0,$o=0,Wr=0,Vn=0,jr=0,Kn=0,zn=0,lo=0,co=0,go=0,Xr=0,Zn=0,ho=0,mr=0,en=0,uo=0,fo=0,tn=0,ci=0,Wn=0,Io=0,Eo=0,jn=0,Xn=0,es=0,mo=0,gi=0,rn=0,Co=0,ts=0,Bo=0,po=0,Qo=0,is=0,yo=0,wo=0,ko=0,vo=0,rs=0,So=0,bo=0,nn=0,Cr=0,sn=0,Do=0,ji=0,_o=0,ns=0,on=0,ss=0,An=0,xo=0,os=0,As=0,Lo=0,as=0,$s=0,Ro=0,Br=0,ls=0,hi=0,an=0,pr=0,Xi=0,Qr=0,Hi=0,yr=0,cs=0,Yi=0,yi=0,wi=0,j7=0,ki=0,wr=0,er=0,tr=0,kr=0,ui=0,Fo=0,$7=0,tl=0,$n=0,ln=0,Nh=0,il=0,Mo=0,Gh=0,XA=0,rl=0,Uh=0,Ph=0,Oh=0,ea=0,nl=0,sl=0,ta=0,cn=0,ol=0,qh=0,To=0,ir=0,Hh=0,Yh=0,Jh=0,Vh=0,Kh=0,zh=0,Zh=0,Wh=0,jh=0,Xh=0,Al=0,vr=0,eu=0,tu=0,al=0,iu=0,ia=0,No=0,ra=0,ru=0,nu=0,na=0,$l=0,ll=0,cl=0,sa=0,gl=0,Go=0,su=0,ou=0,hl=0,Au=0,au=0,ul=0,$u=0,lu=0,fl=0,dl=0,Il=0,El=0,ml=0,gn=0,cu=0,Cl=0,gu=0,Bl=0,pl=0,hu=0,uu=0,fu=0,oa=0,Ql=0,yl=0,gs=0,wl=0,Aa=0,du=0,kl=0,Iu=0,vl=0,Eu=0,mu=0,Sl=0,bl=0,Cu=0,Uo=0,Bu=0,aa=0,Dl=0,_l=0,pu=0,Qu=0,yu=0,wu=0,ku=0,vu=0,Po=0,xl=0,Ll=0,Rl=0,Oo=0,Su=0,Fl=0,bu=0,Ml=0,Du=0,_u=0,Tl=0,$a=0,xu=0,Lu=0,qo=0,Ru=0,Ho=0,Fu=0,la=0,Mu=0,Tu=0,Nu=0,Nl=0,Gu=0,Uu=0,Pu=0,Ou=0,Gl=0,Ul=0,rr=0,Pl=0,Yo=0,ca=0,ga=0,hn=0,Ol=0,un=0,qu=0,ql=0,Hu=0,Yu=0,Ju=0,Vu=0,Jo=0,ha=0,Sr=0,Ku=0,zu=0,Hl=0,ua=0,Yl=0,Jl=0,Zu=0,Vl=0,Wu=0,fa=0,ju=0,Xu=0,P9=0,ef=0,Kl=0,tf=0,rf=0,da=0,nf=0,Ia=0,zl=0,sf=0,of=0,Zl=0,Wl=0,Af=0,Ea=0,ma=0,jl=0,Xl=0,af=0,ec=0,Ca=0,$f=0,tc=0,lf=0,cf=0,gf=0,hf=0,ic=0,rc=0,Ba=0,Vo=0,nc=0,uf=0,sc=0,oc=0,ff=0,df=0,If=0,Ac=0,Ef=0,mf=0,Cf=0,Bf=0,pf=0,Qf=0,ac=0,yf=0,$c=0,wf=0,fn=0,kf=0,lc=0,vf=0,hs=0,cc=0,pa=0,Sf=0,Ko=0,Qa=0,bf=0,ya=0,gc=0,Df=0,_f=0,xf=0,Lf=0,Rf=0,hc=0,Ff=0,Mf=0,Tf=0,zo=0,us=0,wa=0,Nf=0,ka=0,Gf=0,Uf=0,Pf=0,uc=0,Of=0,qf=0,Hf=0,Yf=0,Jf=0,Zo=0,Vf=0,Kf=0,fc=0,zf=0,Zf=0,Wf=0,jf=0,fi=0,dc=0,di=0,Ic=0,va=0,Xf=0,X7=0,fs=0,ed=0,td=0,id=0,rd=0,nd=0,Ec=0,sd=0,od=0,mc=0,Ad=0,ad=0,ds=0,Sa=0,$d=0,Cc=0,ld=0,cd=0,Wo=0,gd=0,hd=0,Bc=0,pc=0,ud=0,fd=0,dn=0,dd=0,Id=0,In=0,Ed=0,Qc=0,md=0,Cd=0,Is=0,yc=0,Bd=0,wc=0,pd=0,nr=0,ba=0,Qd=0,kc=0,vc=0,yd=0,wd=0,Sc=0,kd=0,vd=0,Sd=0,bc=0,bd=0,Es=0,Dd=0,En=0,_d=0,xd=0,Da=0,Ld=0,_a=0,xa=0,Rd=0,Dc=0,_c=0,Fd=0,xc=0,Lc=0,Rc=0,Md=0,Fc=0,Mc=0,Td=0,Nd=0,Tc=0,Nc=0,Gd=0,Gc=0,Uc=0,Ud=0,Pd=0,Pc=0,La=0,Oc=0,qc=0,Hc=0,Yc=0,Od=0,qd=0,Hd=0,Yd=0,Jd=0,Vd=0,Kd=0,zd=0,Jc=0,Ra=0,Zd=0,Wd=0,jd=0,Vc=0,Kc=0,Xd=0,zc=0,Fa=0,jo=0,Zc=0,eI=0,tI=0,iI=0,rI=0,Wc=0,Xo=0,nI=0,sI=0,oI=0,AI=0,aI=0,$I=0,lI=0,cI=0,jc=0,gI=0,hI=0,uI=0,fI=0,eA=0,Xc=0,dI=0,II=0,mn=0,eg=0,tg=0,Ma=0,EI=0,ig=0,mI=0,rg=0,ng=0,CI=0,BI=0,pI=0,QI=0,yI=0,tA=0,Ta=0,wI=0,kI=0,vI=0,SI=0,sg=0,bI=0,og=0,DI=0,_I=0,Ag=0,br=0,ag=0,$g=0,xI=0,lg=0,iA=0,LI=0,RI=0,FI=0,rA=0,cg=0,MI=0,TI=0,gg=0,NI=0,GI=0,Na=0,nA=0,UI=0,PI=0,OI=0,hg=0,ug=0,fg=0,qI=0,HI=0,ms=0,YI=0,dg=0,JI=0,Ga=0,Ig=0,VI=0,KI=0,zI=0,ZI=0,Eg=0,WI=0,jI=0,mg=0,sA=0,XI=0,eE=0,tE=0,Cs=0,Cg=0,Bg=0,iE=0,pg=0,Qg=0,vi=0,yg=0,sr=0,rE=0,nE=0,sE=0,oE=0,Ua=0,oA=0,wg=0,kg=0,AE=0,AA=0,Bs=0,aE=0,aA=0,Pa=0,$E=0,Oa=0,lE=0,cE=0,vg=0,$A=0,Sg=0,gE=0,hE=0,uE=0,fE=0,bg=0,dE=0,jt=0,y4=0,ei=0,IE=0,Dg=0,_g=0,qa=0,EE=0,Dr=0,ps=0,mE=0,CE=0,xg=0,Ha=0,BE=0,Lg=0,Rg=0,Fg=0,Ya=0,Ja=0,Mg=0,Qs=0,Va=0,Tg=0,pE=0,Cn=0,QE=0,Ng=0,lA=0,yE=0,Gg=0,Si=0,wE=0,kE=0,vE=0,SE=0,bE=0,DE=0,bi=0,_E=0,xE=0,LE=0,Ug=0,Ii=0,cA=0,Ka=0,Pg=0,Og=0,RE=0,qg=0,Hg=0,FE=0,ME=0,Yg=0,Jg=0,TE=0,NE=0,Vg=0,GE=0,ys=0,gA=0,hA=0,UE=0,za=0,PE=0,OE=0,Kg=0,ws=0,qE=0,HE=0,Za=0,Wa=0,uA=0,ja=0,Xa=0,or=0,_r=0,xr=0,e$=0,t$=0,ks=0,Ar=0,Bn=0,YE=0,ar=0,pn=0,JE=0,_7=0,x7=0,L7=0,fA=0,dA=0,zg=0,Zg=0,IA=0,i$=0,R7=0,EA=0,Lr=0,r$=0,VE=0,n$=0,KE=0,s$=0,Wg=0,mA=0,zE=0,ZE=0,CA=0,WE=0,BA=0,Qn=0,Ke=0,v4=0,jg=0,jE=0,o$=0,Xg=0,XE=0,em=0,pA=0,tm=0,im=0,rm=0,nm=0,eh=0,sm=0,om=0,Am=0,ti=0,QA=0,yn=0,A$=0,vs=0,Ss=0,Xt=0,bs=0,th=0,ih=0,yA=0,Ds=0,_s=0,xs=0,am=0,Ls=0,$r=0,rh=0,Rr=0,ii=0,a$=0,$$=0,Ji=0,l$=0,c$=0,g$=0,Fr=0,$6=0,wA=0,Mr=0,nh=0,ve=0,h$=0,Q8=0,Rs=0,wn=0,kn=0,F9=0,vn=0,Tr=0,J4=0,u$=0,wB=0,$m=0,nC=0,sC=0,kB=0,lm=0,NQ=0,GQ=0,UQ=0,PQ=0,OQ=0,qQ=0,HQ=0,YQ=0,JQ=0,VQ=0,KQ=0,zQ=0,vB=0,SB=0,ZQ=0,WQ=0,jQ=0,sh=0,oC=0,Ei=0,oh=0,Ah=0,ah=0,$h=0,cm=0,gm=0,hm=0,um=0,fm=0,dm=0,Im=0,Em=0,mm=0,Cm=0,AC=0,kA=0,lr=0,f$=0,lh=0,d$=0,bB=0,vA=0,Bm=0,I$=0,aC=0,$C=0,pm=0,lC=0,cC=0,gC=0,hC=0,uC=0,fC=0,dC=0,DB=0,_B=0,xB=0,LB=0,RB=0,SA=0,bA=0,DA=0,_A=0,XQ=0,cr=0,t4=0,Tb=0,xA=0,IC=0;if(Tb=C,g0=t+28|0,j=e[g0>>2]|0,X8=(j|0)==0,X8||(o7=j+3456|0,cs=e[o7>>2]|0,xl=(cs|0)==0,n=xl&1,hs=j+3496|0,xc=+A1[hs>>3],hg=xc>-80,hg?A1[hs>>3]=-80:(ME=xc<-200,ME&&(A1[hs>>3]=-200)),l0=j+3512|0,Z2=+A1[l0>>3],s3=Z2>0,s3?A1[l0>>3]=0:(C4=Z2<-99999,C4&&(A1[l0>>3]=-99999)),Ne=j+3396|0,_6=e[Ne>>2]|0,F4=(_6|0)==0,F4))return m=-131,m|0;if(_e=j+3392|0,e[_e>>2]=1,xe=j+3400|0,W8=+A1[xe>>3],d8=_6+24|0,St=e[d8>>2]|0,ue=_6+28|0,Fe=e[ue>>2]|0,re=~~W8,V8=St+(re<<2)|0,Nt=e[V8>>2]|0,K8=Fe+(re<<2)|0,I7=e[K8>>2]|0,e[j>>2]=Nt,p7=j+4|0,e[p7>>2]=I7,Ut=(Nt|0)==(I7|0),Wt=_6+144|0,dt=e[Wt>>2]|0,ro=(dt|0)>0,ro){for($o=_6+136|0,ho=_6+140|0,Xn=_6+148|0,ji=W8,Sr=j,AC=0;;){if(yo=~~ji,$s=e[$o>>2]|0,Yi=e[ho>>2]|0,$7=e[Xn>>2]|0,Ph=$7+(AC<<2)|0,Hh=e[Ph>>2]|0,vr=n4(1,1120)|0,$l=Hh+(yo<<2)|0,ul=e[$l>>2]|0,gu=Yi+(ul*1120|0)|0,s4(vr|0,gu|0,1120)|0,Aa=e[vr>>2]|0,Bu=(Aa|0)>0,Bu){for(Ll=vr+4|0,oC=0,dC=-1;;)if(Ca=Ll+(oC<<2)|0,nc=e[Ca>>2]|0,Bf=(nc|0)>(dC|0),t0=Bf?nc:dC,cc=oC+1|0,KQ=(cc|0)==(Aa|0),KQ){J=t0;break}else oC=cc,dC=t0;if(xu=(J|0)<0,!xu){for(Gu=vr+256|0,hn=Sr+24|0,ju=vr+192|0,sf=vr+320|0,d$=0,gC=-1;;){if(vc=Gu+(d$<<2)|0,En=e[vc>>2]|0,Lc=(En|0)>(gC|0),z=Lc?En:gC,Uc=e[hn>>2]|0,Hd=Uc+En|0,e[vc>>2]=Hd,Vc=ju+(d$<<2)|0,Wc=e[Vc>>2]|0,gI=(Wc|0)==31,gI)hC=z;else for(y9=Wc,lC=0,fC=z;;)if(Ma=(sf+(d$<<5)|0)+(lC<<2)|0,tA=e[Ma>>2]|0,Ag=(tA|0)>(fC|0),Y=Ag?tA:fC,cg=(tA|0)>-1,cg?(ug=e[hn>>2]|0,KI=ug+tA|0,e[Ma>>2]=KI,e0=e[Vc>>2]|0,Pa=e0):Pa=y9,Cs=lC+1|0,sE=1<>2]|0,Xf=e[Kf>>2]|0,mc=e[hn>>2]|0,hd=mc+1|0,e[hn>>2]=hd,md=(Sr+1824|0)+(mc<<2)|0,e[md>>2]=Xf,HQ=(uC|0)==0,!HQ))for(bB=0;Ja=bB+1|0,Z=e[$l>>2]|0,Gg=$s+(Z<<2)|0,LE=e[Gg>>2]|0,Yg=LE+(Ja<<2)|0,PE=e[Yg>>2]|0,or=e[hn>>2]|0,JE=or+1|0,e[hn>>2]=JE,EA=(Sr+1824|0)+(or<<2)|0,e[EA>>2]=PE,qQ=(Ja|0)==(uC|0),!qQ;)bB=Ja}}if(CA=Sr+16|0,em=e[CA>>2]|0,QA=(Sr+800|0)+(em<<2)|0,e[QA>>2]=1,_s=e[CA>>2]|0,l$=(Sr+1056|0)+(_s<<2)|0,e[l$>>2]=vr,u0=e[CA>>2]|0,_0=u0+1|0,e[CA>>2]=_0,V0=AC+1|0,c1=e[Wt>>2]|0,h1=(V0|0)<(c1|0),!h1)break;W=+A1[xe>>3],r0=e[g0>>2]|0,ji=W,Sr=r0,AC=V0}h0=e[g0>>2]|0,z5=h0}else z5=j;L1=j+3520|0,H1=+A1[L1>>3],A2=_6+124|0,e2=e[A2>>2]|0,H2=_6+128|0,f5=e[H2>>2]|0,R5=~~H1,S5=+(R5|0),i5=H1-S5,J5=z5+2868|0,U5=f5+(R5<<3)|0,v3=+A1[U5>>3],k6=~~v3,e6=e2+(k6*492|0)|0,s4(J5|0,e6|0,492)|0,a6=+A1[U5>>3],j6=1-i5,M6=a6*j6,T6=R5+1|0,q6=f5+(T6<<3)|0,b4=+A1[q6>>3],D4=b4*i5,L4=D4+M6,T4=~~L4,j4=+(T4|0),N4=L4-j4,U9=N4==0,G4=(T4|0)>0,DB=G4&U9,I=DB?1:N4,a4=DB<<31>>31,R=a4+T4|0,R4=1-I,u4=R+1|0,Ce=(e2+(R*492|0)|0)+4|0,q9=+s[Ce>>2],m9=q9,Be=R4*m9,Xe=(e2+(u4*492|0)|0)+4|0,U4=+s[Xe>>2],Ge=U4,P4=I*Ge,X4=Be+P4,be=X4,e8=z5+2872|0,s[e8>>2]=be,Z9=(e2+(R*492|0)|0)+32|0,$e=+s[Z9>>2],f4=$e,O4=R4*f4,R9=(e2+(u4*492|0)|0)+32|0,$4=+s[R9>>2],_4=$4,le=I*_4,W9=O4+le,ce=W9,ge=z5+2900|0,s[ge>>2]=ce,B4=(e2+(R*492|0)|0)+8|0,ee=+s[B4>>2],he=ee,C9=R4*he,g6=(e2+(u4*492|0)|0)+8|0,Ue=+s[g6>>2],l4=Ue,pe=I*l4,p4=C9+pe,c4=p4,P6=z5+2876|0,s[P6>>2]=c4,De=(e2+(R*492|0)|0)+36|0,t8=+s[De>>2],g4=t8,k4=R4*g4,u8=(e2+(u4*492|0)|0)+36|0,J3=+s[u8>>2],w9=J3,B9=w9*I,M4=B9+k4,te=M4,$t=z5+2904|0,s[$t>>2]=te,lt=(e2+(R*492|0)|0)+12|0,wt=+s[lt>>2],z8=wt,ct=z8*R4,gt=(e2+(u4*492|0)|0)+12|0,F8=+s[gt>>2],M8=F8,T8=M8*I,N8=T8+ct,Z8=N8,kt=z5+2880|0,s[kt>>2]=Z8,G8=(e2+(R*492|0)|0)+40|0,U8=+s[G8>>2],P8=U8,k8=P8*R4,v8=(e2+(u4*492|0)|0)+40|0,f8=+s[v8>>2],O8=f8,q8=O8*I,j8=q8+k8,Pe=j8,Le=z5+2908|0,s[Le>>2]=Pe,i8=(e2+(R*492|0)|0)+16|0,S8=+s[i8>>2],k9=S8,ht=k9*R4,Qe=(e2+(u4*492|0)|0)+16|0,ut=+s[Qe>>2],vt=ut,et=vt*I,ie=et+ht,tt=ie,H8=z5+2884|0,s[H8>>2]=tt,b8=(e2+(R*492|0)|0)+44|0,r8=+s[b8>>2],q4=r8,Re=q4*R4,n8=(e2+(u4*492|0)|0)+44|0,I8=+s[n8>>2],D8=I8,j9=D8*I,s8=j9+Re,E8=s8,o8=z5+2912|0,s[o8>>2]=E8,m8=z5+3512|0,fe=+A1[m8>>3],ye=fe,Oe=z5+2936|0,s[Oe>>2]=ye,qe=_6+132|0,X9=e[qe>>2]|0,de=j+3472|0,A8=+A1[de>>3],we=A8,Q4=~~we,C8=+(Q4|0),it=we-C8,H4=it,I3=e[g0>>2]|0,He=(X9|0)==0;e:do if(He)B8=I3+4|0,H9=e[I3>>2]|0,ne=I3+3240|0,e[ne>>2]=H9,D9=e[B8>>2]|0,Ye=I3+3300|0,e[Ye>>2]=D9,Y8=I3+3244|0,e[Y8>>2]=H9,ft=I3+3304|0,e[ft>>2]=D9,rt=I3+3248|0,e[rt>>2]=H9,nt=I3+3308|0,e[nt>>2]=D9,J8=I3+3252|0,e[J8>>2]=H9,st=I3+3312|0,e[st>>2]=D9,a8=I3+3256|0,e[a8>>2]=H9,$8=I3+3316|0,e[$8>>2]=D9,_8=I3+3260|0,e[_8>>2]=H9,Y4=I3+3320|0,e[Y4>>2]=D9,ot=I3+3264|0,e[ot>>2]=H9,x8=I3+3324|0,e[x8>>2]=D9,Je=I3+3268|0,e[Je>>2]=H9,p9=I3+3328|0,e[p9>>2]=D9,At=I3+3272|0,e[At>>2]=H9,Ve=I3+3332|0,e[Ve>>2]=D9,Ht=I3+3276|0,e[Ht>>2]=H9,bt=I3+3336|0,e[bt>>2]=D9,at=I3+3280|0,e[at>>2]=H9,Dt=I3+3340|0,e[Dt>>2]=D9,se=I3+3284|0,e[se>>2]=H9,Gt=I3+3344|0,e[Gt>>2]=D9,Yt=I3+3288|0,e[Yt>>2]=H9,l8=I3+3348|0,e[l8>>2]=D9,L8=I3+3292|0,e[L8>>2]=H9,_t=I3+3352|0,e[_t>>2]=D9,Me=I3+3296|0,e[Me>>2]=H9,Ie=I3+3356|0,e[Ie>>2]=D9;else{e4=I3+3120|0,xt=X9+(Q4*240|0)|0,cr=e4,xA=xt,IC=cr+60|0;do e[cr>>2]=e[xA>>2]|0,cr=cr+4|0,xA=xA+4|0;while((cr|0)<(IC|0));i7=I3+3180|0,G7=(X9+(Q4*240|0)|0)+60|0,cr=i7,xA=G7,IC=cr+60|0;do e[cr>>2]=e[xA>>2]|0,cr=cr+4|0,xA=xA+4|0;while((cr|0)<(IC|0));if(U7=j+3420|0,P7=e[U7>>2]|0,d7=(P7|0)==0,!d7)for(Jt=1-H4,Vt=Q4+1|0,E7=t+8|0,Kt=I3+4|0,X=e[E7>>2]|0,m7=+(X|0),lr=0;;){if(r7=((X9+(Q4*240|0)|0)+120|0)+(lr<<2)|0,oi=+s[r7>>2],O7=oi,C7=O7*Jt,B7=((X9+(Vt*240|0)|0)+120|0)+(lr<<2)|0,Ai=+s[B7>>2],n7=Ai,ai=n7*H4,q7=ai+C7,H7=q7,Y7=H7,J7=Y7*1e3,s7=J7/m7,Q7=e[I3>>2]|0,V7=+(Q7|0),zt=V7*s7,Zt=~~zt,$i=(I3+3e3|0)+(lr<<2)|0,e[$i>>2]=Zt,K7=e[Kt>>2]|0,li=+(K7|0),y7=li*s7,z7=~~y7,w7=(I3+3060|0)+(lr<<2)|0,e[w7>>2]=z7,k7=~~H7,Z7=(I3+2940|0)+(lr<<2)|0,e[Z7>>2]=k7,v7=((X9+(Q4*240|0)|0)+180|0)+(lr<<2)|0,S7=+s[v7>>2],W7=S7,A7=W7*Jt,Pt=((X9+(Vt*240|0)|0)+180|0)+(lr<<2)|0,b7=+s[Pt>>2],ke=b7,D7=ke*H4,Lt=D7+A7,a7=Lt,n9=a7,p8=n9*1e3,It=p8/m7,Rt=e[I3>>2]|0,zr=+(Rt|0),Er=zr*It,eo=~~Er,Pn=(I3+3240|0)+(lr<<2)|0,e[Pn>>2]=eo,to=e[Kt>>2]|0,On=+(to|0),io=On*It,qn=~~io,no=(I3+3300|0)+(lr<<2)|0,e[no>>2]=qn,Zr=lr+1|0,JQ=(Zr|0)==15,JQ)break e;lr=Zr}for(so=(X9+(Q4*240|0)|0)+148|0,oo=+s[so>>2],Ao=oo,Hn=1-H4,ao=Ao*Hn,Yn=Q4+1|0,Jn=(X9+(Yn*240|0)|0)+148|0,Wr=+s[Jn>>2],Vn=Wr,jr=Vn*H4,Kn=jr+ao,zn=Kn,lo=zn,co=lo*1e3,go=t+8|0,Xr=I3+4|0,Zn=~~zn,$0=e[go>>2]|0,mr=+($0|0),en=co/mr,lh=0;uo=e[I3>>2]|0,fo=+(uo|0),tn=fo*en,ci=~~tn,Wn=(I3+3e3|0)+(lh<<2)|0,e[Wn>>2]=ci,Io=e[Xr>>2]|0,Eo=+(Io|0),jn=Eo*en,es=~~jn,mo=(I3+3060|0)+(lh<<2)|0,e[mo>>2]=es,gi=(I3+2940|0)+(lh<<2)|0,e[gi>>2]=Zn,rn=lh+1|0,zQ=(rn|0)==15,!zQ;)lh=rn;for(Co=(X9+(Q4*240|0)|0)+208|0,ts=+s[Co>>2],Bo=ts,po=Bo*Hn,Qo=(X9+(Yn*240|0)|0)+208|0,is=+s[Qo>>2],wo=is,ko=wo*H4,vo=ko+po,rs=vo,So=rs,bo=So*1e3,nn=bo/mr,Bm=0;Cr=e[I3>>2]|0,sn=+(Cr|0),Do=sn*nn,_o=~~Do,ns=(I3+3240|0)+(Bm<<2)|0,e[ns>>2]=_o,on=e[Xr>>2]|0,ss=+(on|0),An=ss*nn,xo=~~An,os=(I3+3300|0)+(Bm<<2)|0,e[os>>2]=xo,As=Bm+1|0,YQ=(As|0)==15,!YQ;)Bm=As}while(!1);for(Lo=+A1[xe>>3],as=_6+92|0,Ro=e[as>>2]|0,Br=_6+100|0,ls=e[Br>>2]|0,hi=_6+108|0,an=e[hi>>2]|0,pr=e[g0>>2]|0,Xi=pr+2852|0,Qr=e[Xi>>2]|0,Hi=~~Lo,yr=pr+28|0,yi=e[yr>>2]|0,wi=(yi|0)>0,wi||(e[yr>>2]=1),j7=(Qr|0)==0,j7?(ki=n4(1,520)|0,e[Xi>>2]=ki,SA=ki):SA=Qr,s4(SA|0,25784,520)|0,e[SA>>2]=0,wr=pr+3460|0,er=e[wr>>2]|0,tr=(er|0)==0,tr||(kr=SA+500|0,e[kr>>2]=1,ui=Ro+(Hi<<2)|0,Fo=e[ui>>2]|0,tl=SA+504|0,e[tl>>2]=Fo,$n=ls+(Hi<<2)|0,ln=e[$n>>2]|0,Nh=SA+508|0,e[Nh>>2]=ln,il=an+(Hi<<3)|0,Mo=+A1[il>>3],Gh=SA+512|0,A1[Gh>>3]=Mo),XA=+A1[xe>>3],rl=e[as>>2]|0,Uh=e[Br>>2]|0,Oh=e[hi>>2]|0,ea=e[g0>>2]|0,nl=ea+2856|0,sl=e[nl>>2]|0,ta=~~XA,cn=ea+28|0,ol=e[cn>>2]|0,qh=(ol|0)>1,qh||(e[cn>>2]=2),To=(sl|0)==0,To?(ir=n4(1,520)|0,e[nl>>2]=ir,bA=ir):bA=sl,s4(bA|0,25784,520)|0,e[bA>>2]=0,Yh=ea+3460|0,Jh=e[Yh>>2]|0,Vh=(Jh|0)==0,Vh||(Kh=bA+500|0,e[Kh>>2]=1,zh=rl+(ta<<2)|0,Zh=e[zh>>2]|0,Wh=bA+504|0,e[Wh>>2]=Zh,jh=Uh+(ta<<2)|0,Xh=e[jh>>2]|0,Al=bA+508|0,e[Al>>2]=Xh,eu=Oh+(ta<<3)|0,tu=+A1[eu>>3],al=bA+512|0,A1[al>>3]=tu),Ut||(iu=+A1[xe>>3],ia=_6+96|0,No=e[ia>>2]|0,ra=_6+104|0,ru=e[ra>>2]|0,nu=e[hi>>2]|0,na=e[g0>>2]|0,ll=na+2860|0,cl=e[ll>>2]|0,sa=~~iu,gl=na+28|0,Go=e[gl>>2]|0,su=(Go|0)>2,su||(e[gl>>2]=3),ou=(cl|0)==0,ou?(hl=n4(1,520)|0,e[ll>>2]=hl,DA=hl):DA=cl,s4(DA|0,25784,520)|0,e[DA>>2]=1,Au=na+3460|0,au=e[Au>>2]|0,$u=(au|0)==0,$u||(lu=DA+500|0,e[lu>>2]=1,fl=No+(sa<<2)|0,dl=e[fl>>2]|0,Il=DA+504|0,e[Il>>2]=dl,El=ru+(sa<<2)|0,ml=e[El>>2]|0,gn=DA+508|0,e[gn>>2]=ml,cu=nu+(sa<<3)|0,Cl=+A1[cu>>3],Bl=DA+512|0,A1[Bl>>3]=Cl),pl=+A1[xe>>3],hu=e[ia>>2]|0,uu=e[ra>>2]|0,fu=e[hi>>2]|0,oa=e[g0>>2]|0,Ql=oa+2864|0,yl=e[Ql>>2]|0,gs=~~pl,wl=oa+28|0,du=e[wl>>2]|0,kl=(du|0)>3,kl||(e[wl>>2]=4),Iu=(yl|0)==0,Iu?(vl=n4(1,520)|0,e[Ql>>2]=vl,_A=vl):_A=yl,s4(_A|0,25784,520)|0,e[_A>>2]=1,Eu=oa+3460|0,mu=e[Eu>>2]|0,Sl=(mu|0)==0,Sl||(bl=_A+500|0,e[bl>>2]=1,Cu=hu+(gs<<2)|0,Uo=e[Cu>>2]|0,aa=_A+504|0,e[aa>>2]=Uo,Dl=uu+(gs<<2)|0,_l=e[Dl>>2]|0,pu=_A+508|0,e[pu>>2]=_l,Qu=fu+(gs<<3)|0,yu=+A1[Qu>>3],wu=_A+512|0,A1[wu>>3]=yu)),ku=(j+3528|0)+(n<<5)|0,vu=+A1[ku>>3],Po=_6+32|0,Rl=e[Po>>2]|0,Oo=_6+36|0,Su=e[Oo>>2]|0,Fl=_6+44|0,bu=e[Fl>>2]|0,Xm(t,vu,0,Rl,Su,bu),Ml=j+3560|0,Du=+A1[Ml>>3],_u=e[Po>>2]|0,Tl=e[Oo>>2]|0,$a=_6+52|0,Lu=e[$a>>2]|0,Xm(t,Du,1,_u,Tl,Lu),Ut||(qo=j+3592|0,Ru=+A1[qo>>3],Ho=e[Po>>2]|0,Fu=e[Oo>>2]|0,la=e[$a>>2]|0,Xm(t,Ru,2,Ho,Fu,la),Mu=j+3624|0,Tu=+A1[Mu>>3],Nu=e[Po>>2]|0,Nl=e[Oo>>2]|0,Uu=_6+48|0,Pu=e[Uu>>2]|0,Xm(t,Tu,3,Nu,Nl,Pu)),Ou=((j+3528|0)+(n<<5)|0)+24|0,Gl=+A1[Ou>>3],Ul=_6+80|0,rr=e[Ul>>2]|0,Pl=_6+84|0,Yo=e[Pl>>2]|0,ca=~~Gl,ga=+(ca|0),Ol=Gl-ga,un=e[g0>>2]|0,qu=un+2852|0,ql=e[qu>>2]|0,Hu=Yo+(ca<<3)|0,Yu=+A1[Hu>>3],Ju=1-Ol,Vu=Yu*Ju,Jo=ca+1|0,ha=Yo+(Jo<<3)|0,Ku=+A1[ha>>3],zu=Ku*Ol,Hl=zu+Vu,ua=~~Hl,Yl=+(ua|0),Jl=Hl-Yl,Zu=Jl==0,Vl=(ua|0)>0,_B=Vl&Zu,a=_B?1:Jl,Wu=_B<<31>>31,M=Wu+ua|0,fa=1-a,Xu=M+1|0,oh=0;P9=(rr+(M*160|0)|0)+(oh<<2)|0,ef=e[P9>>2]|0,Kl=+(ef|0),tf=Kl*fa,rf=(rr+(Xu*160|0)|0)+(oh<<2)|0,da=e[rf>>2]|0,nf=+(da|0),Ia=nf*a,zl=Ia+tf,of=zl,Zl=(ql+336|0)+(oh<<2)|0,s[Zl>>2]=of,Wl=oh+1|0,GQ=(Wl|0)==40,!GQ;)oh=Wl;for(Af=j+3584|0,Ea=+A1[Af>>3],ma=~~Ea,jl=+(ma|0),Xl=Ea-jl,af=un+2856|0,ec=e[af>>2]|0,$f=Yo+(ma<<3)|0,tc=+A1[$f>>3],lf=1-Xl,cf=tc*lf,gf=ma+1|0,hf=Yo+(gf<<3)|0,ic=+A1[hf>>3],rc=ic*Xl,Ba=rc+cf,Vo=~~Ba,uf=+(Vo|0),sc=Ba-uf,oc=sc==0,ff=(Vo|0)>0,xB=ff&oc,c=xB?1:sc,df=xB<<31>>31,T=df+Vo|0,If=1-c,Ac=T+1|0,Ah=0;Ef=(rr+(T*160|0)|0)+(Ah<<2)|0,mf=e[Ef>>2]|0,Cf=+(mf|0),pf=Cf*If,Qf=(rr+(Ac*160|0)|0)+(Ah<<2)|0,ac=e[Qf>>2]|0,yf=+(ac|0),$c=yf*c,wf=$c+pf,fn=wf,kf=(ec+336|0)+(Ah<<2)|0,s[kf>>2]=fn,lc=Ah+1|0,UQ=(lc|0)==40,!UQ;)Ah=lc;if(!Ut){for(vf=j+3616|0,pa=+A1[vf>>3],Sf=_6+88|0,Ko=e[Sf>>2]|0,Qa=~~pa,bf=+(Qa|0),ya=pa-bf,gc=un+2860|0,Df=e[gc>>2]|0,_f=Ko+(Qa<<3)|0,xf=+A1[_f>>3],Rf=1-ya,hc=xf*Rf,Ff=Qa+1|0,Mf=Ko+(Ff<<3)|0,Tf=+A1[Mf>>3],zo=Tf*ya,us=zo+hc,wa=~~us,Nf=+(wa|0),ka=us-Nf,Uf=ka==0,Pf=(wa|0)>0,LB=Pf&Uf,u=LB?1:ka,uc=LB<<31>>31,N=uc+wa|0,Of=1-u,qf=N+1|0,ah=0;Hf=(rr+(N*160|0)|0)+(ah<<2)|0,Yf=e[Hf>>2]|0,Jf=+(Yf|0),Zo=Jf*Of,Vf=(rr+(qf*160|0)|0)+(ah<<2)|0,fc=e[Vf>>2]|0,zf=+(fc|0),Zf=zf*u,Wf=Zf+Zo,jf=Wf,fi=(Df+336|0)+(ah<<2)|0,s[fi>>2]=jf,dc=ah+1|0,PQ=(dc|0)==40,!PQ;)ah=dc;for(di=j+3648|0,Ic=+A1[di>>3],va=~~Ic,X7=+(va|0),fs=Ic-X7,ed=un+2864|0,td=e[ed>>2]|0,id=Ko+(va<<3)|0,rd=+A1[id>>3],nd=1-fs,Ec=rd*nd,sd=va+1|0,od=Ko+(sd<<3)|0,Ad=+A1[od>>3],ad=Ad*fs,ds=ad+Ec,Sa=~~ds,$d=+(Sa|0),Cc=ds-$d,ld=Cc==0,cd=(Sa|0)>0,RB=cd&ld,E=RB?1:Cc,Wo=RB<<31>>31,G=Wo+Sa|0,gd=1-E,Bc=G+1|0,$h=0;pc=(rr+(G*160|0)|0)+($h<<2)|0,ud=e[pc>>2]|0,fd=+(ud|0),dn=fd*gd,dd=(rr+(Bc*160|0)|0)+($h<<2)|0,Id=e[dd>>2]|0,In=+(Id|0),Ed=In*E,Qc=Ed+dn,Cd=Qc,Is=(td+336|0)+($h<<2)|0,s[Is>>2]=Cd,yc=$h+1|0,OQ=(yc|0)==40,!OQ;)$h=yc}for(Bd=((j+3528|0)+(n<<5)|0)+8|0,wc=+A1[Bd>>3],pd=_6+40|0,nr=e[pd>>2]|0,ba=~~wc,Qd=+(ba|0),kc=wc-Qd,yd=nr+(ba<<2)|0,wd=e[yd>>2]|0,Sc=+(wd|0),kd=1-kc,vd=Sc*kd,Sd=ba+1|0,bc=nr+(Sd<<2)|0,bd=e[bc>>2]|0,Es=+(bd|0),Dd=Es*kc,_d=Dd+vd,xd=_d,Da=ql+32|0,s[Da>>2]=xd,Ld=j+3568|0,_a=+A1[Ld>>3],xa=~~_a,Rd=+(xa|0),Dc=_a-Rd,_c=nr+(xa<<2)|0,Fd=e[_c>>2]|0,Rc=+(Fd|0),Md=1-Dc,Fc=Rc*Md,Mc=xa+1|0,Td=nr+(Mc<<2)|0,Nd=e[Td>>2]|0,Tc=+(Nd|0),Nc=Tc*Dc,Gd=Nc+Fc,Gc=Gd,Ud=ec+32|0,s[Ud>>2]=Gc,Ut||(Pd=j+3600|0,Pc=+A1[Pd>>3],La=~~Pc,Oc=+(La|0),qc=Pc-Oc,Hc=un+2860|0,Yc=e[Hc>>2]|0,Od=nr+(La<<2)|0,qd=e[Od>>2]|0,Yd=+(qd|0),Jd=1-qc,Vd=Yd*Jd,Kd=La+1|0,zd=nr+(Kd<<2)|0,Jc=e[zd>>2]|0,Ra=+(Jc|0),Zd=Ra*qc,Wd=Zd+Vd,jd=Wd,Kc=Yc+32|0,s[Kc>>2]=jd,Xd=j+3632|0,zc=+A1[Xd>>3],Fa=~~zc,jo=+(Fa|0),Zc=zc-jo,eI=un+2864|0,tI=e[eI>>2]|0,iI=nr+(Fa<<2)|0,rI=e[iI>>2]|0,Xo=+(rI|0),nI=1-Zc,sI=Xo*nI,oI=Fa+1|0,AI=nr+(oI<<2)|0,aI=e[AI>>2]|0,$I=+(aI|0),lI=$I*Zc,cI=lI+sI,jc=cI,hI=tI+32|0,s[hI>>2]=jc),uI=((j+3528|0)+(n<<5)|0)+16|0,fI=+A1[uI>>3],eA=_6+76|0,Xc=e[eA>>2]|0,dI=_6+60|0,II=e[dI>>2]|0,mn=_6+56|0,eg=e[mn>>2]|0,xl?ig=0:(tg=j+3408|0,EI=+A1[tg>>3],ig=EI),eC(t,fI,0,Xc,II,eg,ig),mI=j+3576|0,rg=+A1[mI>>3],ng=e[eA>>2]|0,CI=_6+64|0,BI=e[CI>>2]|0,pI=e[mn>>2]|0,eC(t,rg,1,ng,BI,pI,0),Ut?(ms=e[g0>>2]|0,YI=ms+2852|0,dg=e[YI>>2]|0,JI=ms+3496|0,Ga=+A1[JI>>3],Ig=Ga,VI=dg+4|0,s[VI>>2]=Ig,zI=ms+3504|0,ZI=+A1[zI>>3],Eg=ZI,WI=dg+8|0,s[WI>>2]=Eg,jI=ms+2856|0,mg=e[jI>>2]|0,sA=mg+4|0,s[sA>>2]=Ig,XI=mg+8|0,s[XI>>2]=Eg,sr=ms):(QI=j+3608|0,yI=+A1[QI>>3],Ta=e[eA>>2]|0,wI=_6+68|0,kI=e[wI>>2]|0,vI=e[mn>>2]|0,eC(t,yI,2,Ta,kI,vI,0),SI=j+3640|0,sg=+A1[SI>>3],bI=e[eA>>2]|0,og=_6+72|0,DI=e[og>>2]|0,_I=e[mn>>2]|0,eC(t,sg,3,bI,DI,_I,0),br=e[g0>>2]|0,ag=br+2852|0,$g=e[ag>>2]|0,xI=br+3496|0,lg=+A1[xI>>3],iA=lg,LI=$g+4|0,s[LI>>2]=iA,RI=br+3504|0,FI=+A1[RI>>3],rA=FI,MI=$g+8|0,s[MI>>2]=rA,TI=br+2856|0,gg=e[TI>>2]|0,NI=gg+4|0,s[NI>>2]=iA,GI=gg+8|0,s[GI>>2]=rA,Na=br+2860|0,nA=e[Na>>2]|0,UI=nA+4|0,s[UI>>2]=iA,PI=nA+8|0,s[PI>>2]=rA,OI=br+2864|0,fg=e[OI>>2]|0,qI=fg+4|0,s[qI>>2]=iA,HI=fg+8|0,s[HI>>2]=rA,sr=br),eE=+A1[xe>>3],tE=_6+152|0,Cg=e[tE>>2]|0,Bg=~~eE,iE=Cg+(Bg<<3)|0,pg=e[iE>>2]|0,Qg=(Cg+(Bg<<3)|0)+4|0,vi=e[Qg>>2]|0,yg=e[sr>>2]|0,rE=sr+4|0,nE=e[rE>>2]|0,oE=(yg|0)==(nE|0),A=oE?1:2,Ua=sr+8|0,oA=sr+12|0,wg=t+8|0,kg=t+4|0,Ei=0;;){if(AE=n4(1,3208)|0,AA=(sr+544|0)+(Ei<<2)|0,e[AA>>2]=AE,Bs=n4(1,16)|0,aE=(sr+32|0)+(Ei<<2)|0,e[aE>>2]=Bs,aA=26304+(Ei<<4)|0,e[Bs>>2]=e[aA>>2]|0,e[Bs+4>>2]=e[aA+4>>2]|0,e[Bs+8>>2]=e[aA+8>>2]|0,e[Bs+12>>2]=e[aA+12>>2]|0,$E=e[Ua>>2]|0,Oa=(Ei|0)<($E|0),Oa||(lE=Ei+1|0,e[Ua>>2]=lE),cE=(sr+288|0)+(Ei<<2)|0,e[cE>>2]=0,vg=e[AA>>2]|0,$A=pg+(Ei*3208|0)|0,s4(vg|0,$A|0,3208)|0,Sg=e[oA>>2]|0,gE=(Ei|0)<(Sg|0),gE||(hE=Ei+1|0,e[oA>>2]=hE),uE=e[$A>>2]|0,bg=(uE|0)>0,bg)for($C=0;;){dE=((pg+(Ei*3208|0)|0)+1092|0)+($C<<2)|0,jt=e[dE>>2]|0,y4=e[g0>>2]|0,ei=S9(2840)|0,IE=(y4+1568|0)+(jt<<2)|0,e[IE>>2]=ei,Dg=(vi+(jt<<5)|0)+12|0,_g=e[Dg>>2]|0,s4(ei|0,_g|0,2840)|0,qa=y4+20|0,EE=e[qa>>2]|0,ps=(EE|0)>(jt|0),ps||(mE=jt+1|0,e[qa>>2]=mE),CE=(vi+(jt<<5)|0)+8|0,xg=e[CE>>2]|0,Ha=ei+8|0,e[Ha>>2]=xg,BE=vi+(jt<<5)|0,Lg=e[BE>>2]|0,Rg=(y4+1312|0)+(jt<<2)|0,e[Rg>>2]=Lg,Fg=y4+3420|0,Ya=e[Fg>>2]|0,Mg=(Ya|0)==0,Qs=ei+12|0,Va=e[Qs>>2]|0,Tg=(Va|0)>0;do if(Mg){if(Tg)for(Ng=(vi+(jt<<5)|0)+24|0,lA=e[Ng>>2]|0,yE=ei+24|0,vA=0;;)if(ar=yE+(vA<<2)|0,pn=lA+(vA<<4)|0,_7=e[pn>>2]|0,x7=(_7|0)==0,x7||(L7=e[ar>>2]|0,fA=L7|1,e[ar>>2]=fA),dA=(lA+(vA<<4)|0)+4|0,zg=e[dA>>2]|0,Zg=(zg|0)==0,Zg||(k2=e[ar>>2]|0,m5=k2|2,e[ar>>2]=m5),n5=(lA+(vA<<4)|0)+8|0,x2=e[n5>>2]|0,_2=(x2|0)==0,_2||(B2=e[ar>>2]|0,C5=B2|4,e[ar>>2]=C5),d5=(lA+(vA<<4)|0)+12|0,D5=e[d5>>2]|0,G5=(D5|0)==0,G5||(_5=e[ar>>2]|0,q2=_5|8,e[ar>>2]=q2),I5=vA+1|0,A5=e[Qs>>2]|0,c5=(I5|0)<(A5|0),c5)vA=I5;else{BA=A5;break}else BA=Va;IA=(vi+(jt<<5)|0)+16|0,i$=e[IA>>2]|0,R7=y4+24|0,Lr=e[R7>>2]|0,r$=(Lr|0)>0,VE=i$;e:do if(r$)for(Cm=0;;){if(n$=(y4+1824|0)+(Cm<<2)|0,KE=e[n$>>2]|0,s$=(KE|0)==(i$|0),s$){x=Cm;break e}if(Wg=Cm+1|0,mA=(Wg|0)<(Lr|0),mA)Cm=Wg;else{t4=116;break}}else t4=116;while(!1);if((t4|0)==116&&(t4=0,zE=Lr+1|0,e[R7>>2]=zE,x=Lr),ZE=ei+20|0,e[ZE>>2]=x,WE=(y4+1824|0)+(x<<2)|0,e[WE>>2]=VE,Qn=(BA|0)>0,!Qn)break;for(Ke=(vi+(jt<<5)|0)+24|0,v4=ei+280|0,Tr=0,I$=0;;){if(jg=e[Ke>>2]|0,jE=jg+(I$<<4)|0,o$=e[jE>>2]|0,Xg=(o$|0)==0,XE=o$,Xg)vs=jg,$m=Tr;else{pA=e[R7>>2]|0,tm=(pA|0)>0;e:do if(tm)for(fm=0;;){if(im=(y4+1824|0)+(fm<<2)|0,rm=e[im>>2]|0,nm=(rm|0)==(o$|0),nm){L=fm;break e}if(eh=fm+1|0,sm=(eh|0)<(pA|0),sm)fm=eh;else{t4=123;break}}else t4=123;while(!1);(t4|0)==123&&(t4=0,om=pA+1|0,e[R7>>2]=om,L=pA),Am=Tr+1|0,ti=v4+(Tr<<2)|0,e[ti>>2]=L,yn=(y4+1824|0)+(L<<2)|0,e[yn>>2]=XE,s0=e[Ke>>2]|0,vs=s0,$m=Am}if(A$=(vs+(I$<<4)|0)+4|0,Ss=e[A$>>2]|0,Xt=(Ss|0)==0,bs=Ss,Xt)E2=vs,J4=$m;else{V1=e[R7>>2]|0,O1=(V1|0)>0;e:do if(O1)for(gm=0;;){if(q1=(y4+1824|0)+(gm<<2)|0,Y1=e[q1>>2]|0,j1=(Y1|0)==(Ss|0),j1){D=gm;break e}if(n2=gm+1|0,W1=(n2|0)<(V1|0),W1)gm=n2;else{t4=147;break}}else t4=147;while(!1);(t4|0)==147&&(t4=0,P1=V1+1|0,e[R7>>2]=P1,D=V1),c2=$m+1|0,z1=v4+($m<<2)|0,e[z1>>2]=D,u2=(y4+1824|0)+(D<<2)|0,e[u2>>2]=bs,i0=e[Ke>>2]|0,E2=i0,J4=c2}if(o2=(E2+(I$<<4)|0)+8|0,K1=e[o2>>2]|0,h2=(K1|0)==0,$2=K1,h2)D2=E2,u$=J4;else{i2=e[R7>>2]|0,l2=(i2|0)>0;e:do if(l2)for(hm=0;;){if(r2=(y4+1824|0)+(hm<<2)|0,a2=e[r2>>2]|0,X1=(a2|0)==(K1|0),X1){Q=hm;break e}if(s2=hm+1|0,f2=(s2|0)<(i2|0),f2)hm=s2;else{t4=153;break}}else t4=153;while(!1);(t4|0)==153&&(t4=0,y2=i2+1|0,e[R7>>2]=y2,Q=i2),v2=J4+1|0,w2=v4+(J4<<2)|0,e[w2>>2]=Q,C2=(y4+1824|0)+(Q<<2)|0,e[C2>>2]=$2,V=e[Ke>>2]|0,D2=V,u$=v2}if(F2=(D2+(I$<<4)|0)+12|0,N2=e[F2>>2]|0,d2=(N2|0)==0,K2=N2,d2)wB=u$;else{G2=e[R7>>2]|0,M2=(G2|0)>0;e:do if(M2)for(um=0;;){if(P2=(y4+1824|0)+(um<<2)|0,z2=e[P2>>2]|0,o5=(z2|0)==(N2|0),o5){_=um;break e}if(O2=um+1|0,T1=(O2|0)<(G2|0),T1)um=O2;else{t4=159;break}}else t4=159;while(!1);(t4|0)==159&&(t4=0,X2=G2+1|0,e[R7>>2]=X2,_=G2),L5=u$+1|0,e5=v4+(u$<<2)|0,e[e5>>2]=_,b5=(y4+1824|0)+(_<<2)|0,e[b5>>2]=K2,wB=L5}if(v5=I$+1|0,P5=e[Qs>>2]|0,l5=(v5|0)<(P5|0),l5)Tr=wB,I$=v5;else break}}else{if(Tg)for(pE=(vi+(jt<<5)|0)+28|0,Cn=e[pE>>2]|0,QE=ei+24|0,kA=0;;)if(Si=QE+(kA<<2)|0,wE=Cn+(kA<<4)|0,kE=e[wE>>2]|0,vE=(kE|0)==0,vE||(SE=e[Si>>2]|0,bE=SE|1,e[Si>>2]=bE),DE=(Cn+(kA<<4)|0)+4|0,bi=e[DE>>2]|0,_E=(bi|0)==0,_E||(o6=e[Si>>2]|0,e3=o6|2,e[Si>>2]=e3),A3=(Cn+(kA<<4)|0)+8|0,R3=e[A3>>2]|0,u6=(R3|0)==0,u6||(Q3=e[Si>>2]|0,y3=Q3|4,e[Si>>2]=y3),r6=(Cn+(kA<<4)|0)+12|0,j3=e[r6>>2]|0,O3=(j3|0)==0,O3||(K5=e[Si>>2]|0,S3=K5|8,e[Si>>2]=S3),g3=kA+1|0,q3=e[Qs>>2]|0,l6=(g3|0)<(q3|0),l6)kA=g3;else{Vg=q3;break}else Vg=Va;xE=(vi+(jt<<5)|0)+20|0,Ug=e[xE>>2]|0,Ii=y4+24|0,cA=e[Ii>>2]|0,Ka=(cA|0)>0,Pg=Ug;e:do if(Ka)for(cm=0;;){if(Og=(y4+1824|0)+(cm<<2)|0,RE=e[Og>>2]|0,qg=(RE|0)==(Ug|0),qg){B=cm;break e}if(Hg=cm+1|0,FE=(Hg|0)<(cA|0),FE)cm=Hg;else{t4=100;break}}else t4=100;while(!1);if((t4|0)==100&&(t4=0,Jg=cA+1|0,e[Ii>>2]=Jg,B=cA),TE=ei+20|0,e[TE>>2]=B,NE=(y4+1824|0)+(B<<2)|0,e[NE>>2]=Pg,GE=(Vg|0)>0,!GE)break;for(ys=(vi+(jt<<5)|0)+28|0,gA=ei+280|0,Rs=0,f$=0;;){if(hA=e[ys>>2]|0,UE=hA+(f$<<4)|0,za=e[UE>>2]|0,OE=(za|0)==0,Kg=za,OE)ks=hA,vn=Rs;else{ws=e[Ii>>2]|0,qE=(ws|0)>0;e:do if(qE)for(mm=0;;){if(HE=(y4+1824|0)+(mm<<2)|0,Za=e[HE>>2]|0,Wa=(Za|0)==(za|0),Wa){y=mm;break e}if(uA=mm+1|0,ja=(uA|0)<(ws|0),ja)mm=uA;else{t4=107;break}}else t4=107;while(!1);(t4|0)==107&&(t4=0,Xa=ws+1|0,e[Ii>>2]=Xa,y=ws),_r=Rs+1|0,xr=gA+(Rs<<2)|0,e[xr>>2]=y,e$=(y4+1824|0)+(y<<2)|0,e[e$>>2]=Kg,q=e[ys>>2]|0,ks=q,vn=_r}if(t$=(ks+(f$<<4)|0)+4|0,Ar=e[t$>>2]|0,Bn=(Ar|0)==0,YE=Ar,Bn)x5=ks,wn=vn;else{B5=e[Ii>>2]|0,M1=(B5|0)>0;e:do if(M1)for(dm=0;;){if(g5=(y4+1824|0)+(dm<<2)|0,a5=e[g5>>2]|0,W2=(a5|0)==(Ar|0),W2){S=dm;break e}if(g2=dm+1|0,p5=(g2|0)<(B5|0),p5)dm=g2;else{t4=171;break}}else t4=171;while(!1);(t4|0)==171&&(t4=0,t5=B5+1|0,e[Ii>>2]=t5,S=B5),s5=vn+1|0,h5=gA+(vn<<2)|0,e[h5>>2]=S,J2=(y4+1824|0)+(S<<2)|0,e[J2>>2]=YE,K=e[ys>>2]|0,x5=K,wn=s5}if(u5=(x5+(f$<<4)|0)+8|0,j2=e[u5>>2]|0,$5=(j2|0)==0,L2=j2,$5)u3=x5,kn=wn;else{Q5=e[Ii>>2]|0,q5=(Q5|0)>0;e:do if(q5)for(Im=0;;){if(j5=(y4+1824|0)+(Im<<2)|0,E5=e[j5>>2]|0,f3=(E5|0)==(j2|0),f3){b=Im;break e}if(h3=Im+1|0,X5=(h3|0)<(Q5|0),X5)Im=h3;else{t4=177;break}}else t4=177;while(!1);(t4|0)==177&&(t4=0,n3=Q5+1|0,e[Ii>>2]=n3,b=Q5),m3=wn+1|0,F5=gA+(wn<<2)|0,e[F5>>2]=b,V5=(y4+1824|0)+(b<<2)|0,e[V5>>2]=L2,a0=e[ys>>2]|0,u3=a0,kn=m3}if(k3=(u3+(f$<<4)|0)+12|0,p3=e[k3>>2]|0,z3=(p3|0)==0,G3=p3,z3)F9=kn;else{w3=e[Ii>>2]|0,W5=(w3|0)>0;e:do if(W5)for(Em=0;;){if(i6=(y4+1824|0)+(Em<<2)|0,L3=e[i6>>2]|0,U3=(L3|0)==(p3|0),U3){w=Em;break e}if(a3=Em+1|0,l3=(a3|0)<(w3|0),l3)Em=a3;else{t4=183;break}}else t4=183;while(!1);(t4|0)==183&&(t4=0,c3=w3+1|0,e[Ii>>2]=c3,w=w3),C3=kn+1|0,H5=gA+(kn<<2)|0,e[H5>>2]=w,O5=(y4+1824|0)+(w<<2)|0,e[O5>>2]=G3,F9=C3}if(k5=f$+1|0,P3=e[Qs>>2]|0,M5=(k5|0)<(P3|0),M5)Rs=F9,f$=k5;else break}}while(!1);th=y4+3480|0,ih=+A1[th>>3],yA=ih*1e3,Ds=(y4+1056|0)+(Ei<<2)|0,xs=e[Ds>>2]|0,am=e[wg>>2]|0,Ls=+(am|0),$r=Ls*.5,rh=y4+(Ei<<2)|0,Rr=e[rh>>2]|0,ii=Rr>>1,a$=yA>$r,vB=a$?$r:yA,$$=vB/$r,Ji=+(ii|0),c$=Ji*$$,g$=~~c$,Fr=xs+1116|0,e[Fr>>2]=g$,$6=(vi+(jt<<5)|0)+4|0,wA=e[$6>>2]|0;do if((wA|0)==2)sh=250;else if((wA|0)==1){if(Mr=e[Fg>>2]|0,nh=(Mr|0)==0,ve=y4+2996|0,h$=y4+2968|0,jQ=nh?h$:ve,WQ=e[jQ>>2]|0,ZQ=+(WQ|0),SB=ZQ*1e3,Q8=SB>$r,!Q8){sh=SB;break}sh=$r}else sh=vB;while(!1);d0=e[Rg>>2]|0,w0=(d0|0)==2;do if(w0){if(C0=y4+12|0,k0=e[C0>>2]|0,f0=(k0|0)>0,f0)for(aC=0;;){if(B0=(y4+544|0)+(aC<<2)|0,p0=e[B0>>2]|0,I0=e[p0>>2]|0,S0=(I0|0)>0,S0)for(pm=0;;){K0=(p0+1092|0)+(pm<<2)|0,Q0=e[K0>>2]|0,F0=(Q0|0)==(jt|0);do if(F0){if(M0=e[kg>>2]|0,N0=(M0|0)>0,N0)kB=0,cC=0;else{lm=0;break}for(;;)if(U0=(p0+4|0)+(cC<<2)|0,y0=e[U0>>2]|0,Y0=(y0|0)==(pm|0),R0=Y0&1,O=R0+kB|0,D0=cC+1|0,NQ=(D0|0)==(M0|0),NQ){lm=O;break}else kB=O,cC=D0}else lm=0;while(!1);if(T0=pm+1|0,J0=(T0|0)<(I0|0),P0=(lm|0)==0,z0=J0&P0,z0)pm=T0;else{sC=lm;break}}else sC=0;if(G0=aC+1|0,O0=(G0|0)<(k0|0),r1=(sC|0)==0,H0=O0&r1,H0)aC=G0;else{nC=sC;break}}else nC=0;if(e1=sh/$r,b0=+(nC|0),i1=b0*Ji,$1=i1*e1,f1=e[Ha>>2]|0,g1=+(f1|0),l1=$1/g1,s1=l1+.9,a1=~~s1,n1=r5(a1,f1)|0,o1=ei+4|0,e[o1>>2]=n1,Z0=r5(nC,ii)|0,I1=(n1|0)>(Z0|0),!I1){U=o1,Z1=n1,b1=f1;break}m1=(Z0|0)%(f1|0)&-1,d1=Z0-m1|0,e[o1>>2]=d1,U=o1,Z1=d1,b1=f1}else{if(E1=sh/$r,B1=E1*Ji,p1=e[Ha>>2]|0,Q1=+(p1|0),_1=B1/Q1,x1=_1+.9,w1=~~x1,S1=r5(w1,p1)|0,F1=ei+4|0,e[F1>>2]=S1,G1=(S1|0)>(ii|0),!G1){U=F1,Z1=S1,b1=p1;break}k1=(ii|0)%(p1|0)&-1,U1=ii-k1|0,e[F1>>2]=U1,U=F1,Z1=U1,b1=p1}while(!1);if(N1=(Z1|0)==0,N1&&(e[U>>2]=b1),d3=$C+1|0,v6=e[$A>>2]|0,S6=(d3|0)<(v6|0),S6)$C=d3;else break}if(B6=Ei+1|0,X3=(B6|0)<(A|0),X3)Ei=B6;else break}return c6=j+3428|0,p6=e[c6>>2]|0,x6=(p6|0)>0,x6?(Y6=t+16|0,e[Y6>>2]=p6):(C6=e[g0>>2]|0,b3=C6+3396|0,t6=e[b3>>2]|0,f6=C6+3400|0,H3=+A1[f6>>3],D3=~~H3,Y3=+(D3|0),Z3=H3-Y3,b6=t6+4|0,A6=e[b6>>2]|0,t3=(A6|0)==0,t3?p=-1:(O6=e[kg>>2]|0,d6=A6+(D3<<3)|0,_3=+A1[d6>>3],N6=1-Z3,n6=_3*N6,Q6=D3+1|0,L6=A6+(Q6<<3)|0,K6=+A1[L6>>3],I6=K6*Z3,J6=I6+n6,F3=+(O6|0),G6=J6*F3,XQ=~~G6,p=XQ),e9=t+16|0,e[e9>>2]=p),s9=j+3424|0,R6=e[s9>>2]|0,U6=t+20|0,e[U6>>2]=R6,D6=j+3440|0,z6=e[D6>>2]|0,y6=t+12|0,e[y6>>2]=z6,F6=(p6|0)==0,F6?o0=0:(M3=j+3444|0,t9=e[M3>>2]|0,A9=+(t9|0),X6=+(p6|0),u9=A9/X6,f9=~~u9,o0=f9),d9=t+24|0,e[d9>>2]=o0,a9=j+3420|0,$9=e[a9>>2]|0,T9=($9|0)==0,T9?(m=0,m|0):(E6=e[c6>>2]|0,i9=j+3360|0,e[i9>>2]=E6,N9=e[s9>>2]|0,I9=j+3364|0,e[I9>>2]=N9,E4=e[D6>>2]|0,o4=j+3368|0,e[o4>>2]=E4,h4=j+3444|0,G9=e[h4>>2]|0,z9=j+3372|0,e[z9>>2]=G9,b9=j+3448|0,E9=+A1[b9>>3],r9=j+3376|0,A1[r9>>3]=E9,m4=j+3432|0,S4=+A1[m4>>3],A4=j+3384|0,A1[A4>>3]=S4,m=0,m|0)}function $b(t,n,A,a){t=t|0,n=n|0,A=A|0,a=+a;var c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0;if(O=C,I=(A|0)<1,I)u=-131;else if(m=t+28|0,Q=e[m>>2]|0,_=a,L=_+1e-7,x=L,R=!(x>=1),E=R?x:.9998999834060669,M=Q+3416|0,s[M>>2]=E,T=E,N=Q+3400|0,p=lb(n,A,T,0,N)|0,B=Q+3396|0,e[B>>2]=p,S=(p|0)==0,S)u=-130;else return cb(t,n,A),b=Q+3420|0,e[b>>2]=0,w=Q+3464|0,e[w>>2]=1,y=ab(t)|0,D=(y|0)==0,D?(c=0,c|0):(fB(t),c=y,c|0);return fB(t),c=u,c|0}function Xm(t,n,A,a,c,u){t=t|0,n=+n,A=A|0,a=a|0,c=c|0,u=u|0;var E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0;for(B1=C,E=~~n,I=+(E|0),L=n-I,J=t+28|0,i0=e[J>>2]|0,C0=(i0+2852|0)+(A<<2)|0,M0=e[C0>>2]|0,z0=a+(E*20|0)|0,g1=e[z0>>2]|0,h1=+(g1|0),m=1-L,p=h1*m,B=E+1|0,S=a+(B*20|0)|0,b=e[S>>2]|0,w=+(b|0),y=w*L,D=y+p,Q=D,_=M0+12|0,s[_>>2]=Q,x=(a+(E*20|0)|0)+4|0,R=e[x>>2]|0,M=+(R|0),T=M*m,N=(a+(B*20|0)|0)+4|0,G=e[N>>2]|0,O=+(G|0),z=O*L,Y=z+T,t0=Y,W=M0+16|0,s[W>>2]=t0,e0=(a+(E*20|0)|0)+8|0,q=e[e0>>2]|0,X=+(q|0),U=X*m,$0=(a+(B*20|0)|0)+8|0,Z=e[$0>>2]|0,K=+(Z|0),a0=K*L,s0=a0+U,r0=s0,V=M0+20|0,s[V>>2]=r0,h0=(a+(E*20|0)|0)+12|0,o0=+s[h0>>2],g0=o0,j=g0*m,l0=(a+(B*20|0)|0)+12|0,u0=+s[l0>>2],d0=u0,w0=d0*L,k0=w0+j,f0=k0,B0=M0+24|0,s[B0>>2]=f0,p0=(a+(E*20|0)|0)+16|0,I0=+s[p0>>2],S0=I0,K0=S0*m,_0=(a+(B*20|0)|0)+16|0,Q0=+s[_0>>2],F0=Q0,N0=F0*L,U0=N0+K0,y0=U0,Y0=M0+28|0,s[Y0>>2]=y0,R0=c+(E<<2)|0,D0=e[R0>>2]|0,T0=+(D0|0),V0=T0*m,J0=c+(B<<2)|0,P0=e[J0>>2]|0,G0=+(P0|0),O0=G0*L,r1=O0+V0,H0=r1,e1=M0+496|0,s[e1>>2]=H0,d1=0;b0=(u+(E*68|0)|0)+(d1<<2)|0,i1=e[b0>>2]|0,c1=+(i1|0),$1=c1*m,f1=(u+(B*68|0)|0)+(d1<<2)|0,l1=e[f1>>2]|0,s1=+(l1|0),a1=s1*L,n1=a1+$1,o1=n1,Z0=(M0+36|0)+(d1<<2)|0,s[Z0>>2]=o1,I1=d1+1|0,m1=(I1|0)==17,!m1;)d1=I1}function eC(t,n,A,a,c,u,E){t=t|0,n=+n,A=A|0,a=a|0,c=c|0,u=u|0,E=+E;var I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0;for(w2=C,w=~~n,y=+(w|0),$0=n-y,j=t+28|0,S0=e[j>>2]|0,D0=(S0+2852|0)+(A<<2)|0,b0=e[D0>>2]|0,Z0=a+(w<<2)|0,w1=e[Z0>>2]|0,O1=+(w1|0),D=1-$0,z=O1*D,Y=w+1|0,t0=a+(Y<<2)|0,J=e[t0>>2]|0,W=+(J|0),e0=W*$0,q=e0+z,X=q,U=b0+108|0,s[U>>2]=X,Z=u+(A*12|0)|0,K=e[Z>>2]|0,a0=b0+120|0,e[a0>>2]=K,s0=(u+(A*12|0)|0)+4|0,i0=e[s0>>2]|0,r0=b0+124|0,e[r0>>2]=i0,V=(u+(A*12|0)|0)+8|0,h0=e[V>>2]|0,o0=b0+128|0,e[o0>>2]=h0,i2=0;;)if(g0=(c+(w*204|0)|0)+(i2<<2)|0,l0=e[g0>>2]|0,u0=+(l0|0),d0=u0*D,w0=(c+(Y*204|0)|0)+(i2<<2)|0,C0=e[w0>>2]|0,k0=+(C0|0),f0=k0*$0,B0=f0+d0,p0=B0,I0=(b0+132|0)+(i2<<2)|0,s[I0>>2]=p0,K0=i2+1|0,K1=(K0|0)==17,K1){l2=0;break}else i2=K0;for(;;)if(x1=((c+(w*204|0)|0)+68|0)+(l2<<2)|0,S1=e[x1>>2]|0,L1=+(S1|0),F1=L1*D,G1=((c+(Y*204|0)|0)+68|0)+(l2<<2)|0,k1=e[G1>>2]|0,U1=+(k1|0),Z1=U1*$0,N1=Z1+F1,b1=N1,V1=(b0+200|0)+(l2<<2)|0,s[V1>>2]=b1,q1=l2+1|0,h2=(q1|0)==17,h2){r2=0;break}else l2=q1;for(;H1=((c+(w*204|0)|0)+136|0)+(r2<<2)|0,Y1=e[H1>>2]|0,j1=+(Y1|0),n2=j1*D,W1=((c+(Y*204|0)|0)+136|0)+(r2<<2)|0,P1=e[W1>>2]|0,c2=+(P1|0),z1=c2*$0,u2=z1+n2,Q=u2,_=(b0+268|0)+(r2<<2)|0,s[_>>2]=Q,L=r2+1|0,$2=(L|0)==17,!$2;)r2=L;for(x=b0+132|0,R=+s[x>>2],y0=R+6,M=b0+132|0,T=R,N=T+E,G=N,O=G>2]=y2,_0=1;I=(b0+132|0)+(_0<<2)|0,B=+s[I>>2],Q0=(b0+132|0)+(_0<<2)|0,F0=B,M0=F0+E,N0=M0,U0=N0>2]=a2,Y0=_0+1|0,o2=(Y0|0)==17,!o2;)_0=Y0;for(R0=b0+200|0,T0=+s[R0>>2],V0=T0+6,J0=b0+200|0,P0=T0,z0=P0+E,G0=z0,O0=G0>2]=s2,r1=1;m=(b0+200|0)+(r1<<2)|0,S=+s[m>>2],H0=(b0+200|0)+(r1<<2)|0,e1=S,i1=e1+E,c1=i1,$1=c1>2]=X1,f1=r1+1|0,E2=(f1|0)==17,!E2;)r1=f1;for(g1=b0+268|0,l1=+s[g1>>2],s1=l1+6,a1=b0+268|0,n1=l1,o1=n1+E,I1=o1,h1=I1>2]=e2,m1=1;p=(b0+268|0)+(m1<<2)|0,b=+s[p>>2],d1=(b0+268|0)+(m1<<2)|0,E1=b,B1=E1+E,p1=B1,Q1=p1>2]=f2,_1=m1+1|0,A2=(_1|0)==17,!A2;)m1=_1}function lb(t,n,A,a,c){t=t|0,n=n|0,A=+A,a=a|0,c=c|0;var u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0;Q1=C,w=(a|0)==0;e:do if(w){for(q=26336,Z0=0;;){if(e0=e[q>>2]|0,X=e0+12|0,U=e[X>>2]|0,$0=(U|0)==-1,K=(U|0)==(t|0),d1=$0|K,d1&&(a0=e0+16|0,s0=e[a0>>2]|0,i0=(s0|0)>(n|0),!i0&&(r0=e0+20|0,V=e[r0>>2]|0,h0=(V|0)<(n|0),!h0&&(o0=e[e0>>2]|0,g0=e0+8|0,j=e[g0>>2]|0,u0=+A1[j>>3],d0=u0>A,!d0&&(k0=j+(o0<<3)|0,f0=+A1[k0>>3],B0=f0>2]|0,K0=Z+12|0,T0=e[K0>>2]|0,i1=(T0|0)==-1,s1=(T0|0)==(t|0),E1=i1|s1,E1&&(a1=Z+16|0,D=e[a1>>2]|0,Q=(D|0)>(n|0),!Q&&(_=Z+20|0,L=e[_>>2]|0,x=(L|0)<(n|0),!x&&(R=e[Z>>2]|0,M=Z+4|0,T=e[M>>2]|0,N=+A1[T>>3],G=O>3],t0=O>Y,!t0))))){E=O,I=R,m=l0,p=T,l1=N;break e}if(o1=I1+1|0,J=26336+(o1<<2)|0,W=(o1|0)==17,W){u=0;break}else l0=J,I1=o1}return u|0}while(!1);p0=(I|0)>0;e:do if(p0)for(S0=l1,m1=0;;){if(I0=!(E>=S0),b=m1+1|0,!I0&&(_0=p+(b<<3)|0,Q0=+A1[_0>>3],F0=E>3],S0=S,m1=b}else h1=0;while(!1);return N0=(h1|0)==(I|0),N0?(U0=+(I|0),y0=U0+-.001,B1=y0):(Y0=p+(h1<<3)|0,R0=+A1[Y0>>3],D0=R0,V0=h1+1|0,J0=p+(V0<<3)|0,P0=+A1[J0>>3],z0=P0,G0=D0,O0=E-G0,r1=z0-D0,H0=r1,e1=O0/H0,b0=e1,c1=+(h1|0),$1=b0+c1,f1=$1,B1=f1),A1[c>>3]=B1,g1=e[m>>2]|0,u=g1,u|0}function cb(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0;b0=C,I=t+28|0,m=e[I>>2]|0,x=m+3396|0,W=e[x>>2]|0,e[t>>2]=0,r0=t+4|0,e[r0>>2]=n,k0=t+8|0,e[k0>>2]=A,N0=m+3456|0,e[N0>>2]=1,G0=m+3460|0,e[G0>>2]=1,r1=m+3400|0,H0=+A1[r1>>3],p=~~H0,B=+(p|0),S=H0-B,b=m+3472|0,A1[b>>3]=H0,w=m+3488|0,y=e[w>>2]|0,D=(y|0)==0,D?(Q=W+120|0,_=e[Q>>2]|0,L=_+(p<<3)|0,R=+A1[L>>3],M=1-S,T=R*M,N=p+1|0,G=_+(N<<3)|0,O=+A1[G>>3],z=O*S,Y=z+T,t0=m+3480|0,A1[t0>>3]=Y,c=N,u=M):(a=1-S,E=p+1|0,c=E,u=a),J=W+112|0,e0=e[J>>2]|0,q=e0+(p<<2)|0,X=e[q>>2]|0,U=+(X|0),$0=U*u,Z=e0+(c<<2)|0,K=e[Z>>2]|0,a0=+(K|0),s0=a0*S,i0=s0+$0,V=m+3496|0,A1[V>>3]=i0,h0=W+116|0,o0=e[h0>>2]|0,g0=o0+(p<<2)|0,j=e[g0>>2]|0,l0=+(j|0),u0=l0*u,d0=o0+(c<<2)|0,w0=e[d0>>2]|0,C0=+(w0|0),f0=C0*S,B0=f0+u0,p0=m+3504|0,A1[p0>>3]=B0,I0=m+3512|0,A1[I0>>3]=-6,S0=m+3520|0,A1[S0>>3]=H0,K0=m+3528|0,A1[K0>>3]=H0,_0=m+3536|0,A1[_0>>3]=H0,Q0=m+3544|0,A1[Q0>>3]=H0,F0=m+3552|0,A1[F0>>3]=H0,M0=m+3560|0,A1[M0>>3]=H0,U0=m+3568|0,A1[U0>>3]=H0,y0=m+3576|0,A1[y0>>3]=H0,Y0=m+3584|0,A1[Y0>>3]=H0,R0=m+3592|0,A1[R0>>3]=H0,D0=m+3600|0,A1[D0>>3]=H0,T0=m+3608|0,A1[T0>>3]=H0,V0=m+3616|0,A1[V0>>3]=H0,J0=m+3624|0,A1[J0>>3]=H0,P0=m+3632|0,A1[P0>>3]=H0,z0=m+3640|0,A1[z0>>3]=H0,O0=m+3648|0,A1[O0>>3]=H0}function gb(t,n,A,a,c,u){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0,u=u|0;var E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0,T0=0,V0=0,J0=0,P0=0;if(P0=C,I=(c|0)!=0,m=I?a:0,x=I?u:0,W=n+(m<<2)|0,r0=e[W>>2]|0,k0=520336+(r0<<2)|0,S0=e[k0>>2]|0,K0=n+(x<<2)|0,_0=e[K0>>2]|0,Q0=520336+(_0<<2)|0,p=e[Q0>>2]|0,B=A+(c<<2)|0,S=e[B>>2]|0,b=A+(m<<2)|0,w=e[b>>2]|0,y=A+(x<<2)|0,D=e[y>>2]|0,Q=(S|0)/4&-1,_=(w|0)/4&-1,L=Q-_|0,R=(w|0)/2&-1,M=L+R|0,T=(S|0)/2&-1,N=T+Q|0,E=(D|0)/-4&-1,G=N+E|0,O=(D|0)/2&-1,z=G+O|0,Y=(L|0)>0,Y?(t0=Q-_|0,J=t0<<2,ae(t|0,0,J|0)|0,M0=L):M0=0,e0=(M0|0)<(M|0),e0)for(q=Q+R|0,X=q-M0|0,U=X-_|0,N0=M0,Y0=0;a0=S0+(Y0<<2)|0,s0=+s[a0>>2],i0=t+(N0<<2)|0,V=+s[i0>>2],h0=V*s0,s[i0>>2]=h0,o0=N0+1|0,g0=Y0+1|0,F0=(g0|0)==(U|0),!F0;)N0=o0,Y0=g0;if($0=(D|0)>1,$0){for(Z=G+1|0,K=(z|0)>(Z|0),y0=G,D0=O;R0=D0+-1|0,d0=p+(R0<<2)|0,w0=+s[d0>>2],C0=t+(y0<<2)|0,f0=+s[C0>>2],B0=f0*w0,s[C0>>2]=B0,p0=y0+1|0,I0=(p0|0)<(z|0),I0;)y0=p0,D0=R0;V0=K?z:Z,U0=V0}else U0=G;j=(S|0)>(U0|0),j&&(T0=t+(U0<<2)|0,l0=S-U0|0,u0=l0<<2,ae(T0|0,0,u0|0)|0)}function hb(t,n,A){t=t|0,n=+n,A=+A;var a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0;if(V=C,C=C+64|0,i0=V+32|0,s0=V,a=S9(688)|0,c=a+408|0,kS(c),D=~~n,$b(c,t,D,A)|0,z=a+440|0,QS(z),yS(z,553008,553016),X=a+456|0,tS(X,c)|0,U=a+568|0,Xv(X,U)|0,$0=Xp(0)|0,Cb($0),Z=Bb()|0,Hv(a,Z)|0,K=a+680|0,e[K>>2]=0,a0=a+684|0,e[a0>>2]=0,u=a+360|0,vS(X,z,u,i0,s0)|0,Wm(a,u)|0,Wm(a,i0)|0,Wm(a,s0)|0,E=a+392|0,I=tQ(a,E)|0,m=(I|0)==0,m)return C=V,a|0;for(p=a+396|0,B=a+404|0,S=a+400|0;b=e[a0>>2]|0,w=e[p>>2]|0,y=w+b|0,Q=e[B>>2]|0,_=y+Q|0,L=(_|0)==0,L||(M=e[K>>2]|0,T=qi(M,_)|0,e[K>>2]=T,N=e[a0>>2]|0,G=T+N|0,O=e[E>>2]|0,Y=e[p>>2]|0,s4(G|0,O|0,Y|0)|0,t0=Y+N|0,e[a0>>2]=t0,J=T+t0|0,W=e[S>>2]|0,e0=e[B>>2]|0,s4(J|0,W|0,e0|0)|0,q=e0+t0|0,e[a0>>2]=q),x=tQ(a,E)|0,R=(x|0)==0,!R;);return C=V,a|0}function ub(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0;m=C,Yv(t)|0,n=t+568|0,eS(n)|0,A=t+456|0,sQ(A),a=t+440|0,wS(a),c=t+408|0,fB(c),u=t+680|0,E=e[u>>2]|0,I2(E),I2(t)}function fb(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0;return u=C,A=t+456|0,a=oQ(A,n)|0,a|0}function db(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0;if(V=C,A=t+456|0,iS(A,n)|0,a=t+568|0,y=AQ(A,a)|0,O=(y|0)==1,!!O)for($0=t+360|0,Z=t+392|0,K=t+684|0,a0=t+396|0,s0=t+404|0,i0=t+680|0,c=t+392|0,u=t+400|0;;){if(zv(a,0)|0,jv(a)|0,m=nQ(A,$0)|0,p=(m|0)==0,!p)for(;;){if(Wm(t,$0)|0,b=iQ(t,Z)|0,w=(b|0)==0,!w)for(;D=e[K>>2]|0,Q=e[a0>>2]|0,_=Q+D|0,L=e[s0>>2]|0,x=_+L|0,R=(x|0)==0,R||(N=e[i0>>2]|0,G=qi(N,x)|0,e[i0>>2]=G,z=e[K>>2]|0,Y=G+z|0,t0=e[c>>2]|0,J=e[a0>>2]|0,s4(Y|0,t0|0,J|0)|0,W=J+z|0,e[K>>2]=W,e0=G+W|0,q=e[u>>2]|0,X=e[s0>>2]|0,s4(e0|0,q|0,X|0)|0,U=X+W|0,e[K>>2]=U),M=iQ(t,Z)|0,T=(M|0)==0,!T;);if(B=nQ(A,$0)|0,S=(B|0)==0,S)break}if(E=AQ(A,a)|0,I=(E|0)==1,!I)break}}function Ib(t){t=t|0;var n=0,A=0,a=0,c=0;return c=C,n=t+684|0,A=e[n>>2]|0,A|0}function Eb(t){t=t|0;var n=0,A=0,a=0,c=0,u=0;return u=C,n=t+684|0,e[n>>2]=0,A=t+680|0,a=e[A>>2]|0,a|0}function tC(t,n){t=+t,n=n|0;var A=0,a=0,c=0;return c=C,A=+mb(t,n),+A}function Th(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,k3=0,u3=0,p3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0;if(R3=C,C=C+688|0,e3=R3+424|0,J5=R3+192|0,W5=R3,X=r5(A,n)|0,U=(X|0)==0,U){C=R3;return}for(J=X-A|0,H1=W5+4|0,e[H1>>2]=A,e[W5>>2]=A,e2=A,f5=A,k3=2;A2=e2+A|0,M2=A2+f5|0,R5=W5+(k3<<2)|0,e[R5>>2]=M2,S5=M2>>>0>>0,i5=k3+1|0,S5;)y2=f5,f5=M2,k3=i5,e2=y2;if($0=0-A|0,j=t+J|0,S0=(J|0)>0,S0)for(D0=(A|0)==0,b0=j,w1=1,z2=0,F5=t,U5=1;;){Z0=w1&3,V1=(Z0|0)==3;do if(V1){e[J5>>2]=F5,O1=(U5|0)>1;e:do if(O1){for(B=U5,Q=F5,P1=F5,z5=1;;){if(q1=Q+$0|0,Y1=B+-2|0,j1=W5+(Y1<<2)|0,n2=e[j1>>2]|0,M5=n2+A|0,W=0-M5|0,W1=Q+W|0,c2=f7[a&15](P1,W1)|0,z1=(c2|0)>-1,z1&&(u2=f7[a&15](P1,q1)|0,o2=(u2|0)>-1,o2)){u3=z5;break}if(E2=f7[a&15](W1,q1)|0,K1=(E2|0)>-1,h2=z5+1|0,$2=J5+(z5<<2)|0,K1?(e[$2>>2]=W1,i2=B+-1|0,u=W1,m=i2):(e[$2>>2]=q1,u=q1,m=Y1),l2=(m|0)>1,!l2){u3=h2;break}O=e[J5>>2]|0,B=m,Q=u,P1=O,z5=h2}if(r2=(u3|0)<2,!r2&&(a2=J5+(u3<<2)|0,e[a2>>2]=e3,!D0))for(y=A,G2=e3;;){for(d2=y>>>0>256,s2=d2?256:y,K2=e[J5>>2]|0,s4(G2|0,K2|0,s2|0)|0,D2=K2,z3=0;v2=J5+(z3<<2)|0,w2=z3+1|0,C2=J5+(w2<<2)|0,F2=e[C2>>2]|0,s4(D2|0,F2|0,s2|0)|0,N2=D2+s2|0,e[v2>>2]=N2,X5=(w2|0)==(u3|0),!X5;)D2=F2,z3=w2;if(X1=(y|0)==(s2|0),X1)break e;f2=y-s2|0,Y=e[a2>>2]|0,y=f2,G2=Y}}while(!1);H2=w1>>>2,P2=z2<<30,o5=H2|P2,O2=z2>>>2,T1=U5+2|0,r0=o5,b1=O2,O5=T1}else{if(X2=U5+-1|0,L5=W5+(X2<<2)|0,e5=e[L5>>2]|0,b5=F5,Z2=b0-b5|0,v5=e5>>>0>>0,v5){e[J5>>2]=F5,P5=(U5|0)>1;e:do if(P5){for(S=U5,_=F5,_2=F5,w3=1;;){if(l5=_+$0|0,k2=S+-2|0,m5=W5+(k2<<2)|0,n5=e[m5>>2]|0,o6=n5+A|0,e0=0-o6|0,x2=_+e0|0,B2=f7[a&15](_2,x2)|0,C5=(B2|0)>-1,C5&&(d5=f7[a&15](_2,l5)|0,D5=(d5|0)>-1,D5)){p3=w3;break}if(G5=f7[a&15](x2,l5)|0,_5=(G5|0)>-1,q2=w3+1|0,I5=J5+(w3<<2)|0,_5?(e[I5>>2]=x2,A5=S+-1|0,E=x2,p=A5):(e[I5>>2]=l5,E=l5,p=k2),c5=(p|0)>1,!c5){p3=q2;break}z=e[J5>>2]|0,S=p,_=E,_2=z,w3=q2}if(B5=(p3|0)<2,!B5&&(M1=J5+(p3<<2)|0,e[M1>>2]=e3,!D0))for(D=A,j2=e3;;){for(u5=D>>>0>256,a5=u5?256:D,x5=e[J5>>2]|0,s4(j2|0,x5|0,a5|0)|0,h5=x5,G3=0;g2=J5+(G3<<2)|0,p5=G3+1|0,t5=J5+(p5<<2)|0,s5=e[t5>>2]|0,s4(h5|0,s5|0,a5|0)|0,J2=h5+a5|0,e[g2>>2]=J2,n3=(p5|0)==(p3|0),!n3;)h5=s5,G3=p5;if(g5=(D|0)==(a5|0),g5)break e;W2=D-a5|0,t0=e[M1>>2]|0,D=W2,j2=t0}}while(!1)}else iC(F5,A,a,w1,z2,U5,0,W5);if($5=(U5|0)==1,$5){L2=z2<<1,Q5=w1>>>31,q5=Q5|L2,j5=w1<<1,r0=j5,b1=q5,O5=0;break}else{E5=X2>>>0>31,f3=U5+-33|0,c=E5?0:w1,L=E5?w1:z2,x=E5?f3:X2,h3=L<>>Z,a0=K|h3,s0=c<>>0>>0,h0)w1=i0,z2=b1,F5=V,U5=O5;else{T=b1,N=i0,m3=V,H5=O5;break}}else T=0,N=1,m3=t,H5=1;if(iC(m3,A,a,N,T,H5,0,W5),o0=(H5|0)==1,g0=(N|0)==1,C3=g0&o0,l0=(T|0)==0,c3=l0&C3,c3){C=R3;return}else w0=N,Q0=T,V5=m3,k5=H5;for(;;){if(u0=(k5|0)<2,!u0){O0=Q0<<2,r1=w0>>>30,H0=r1|O0,e1=k5+-2|0,i1=w0<<1,c1=i1&2147483646,$1=r1<<31,f1=c1|$1,g1=f1^3,l1=H0>>>1,s1=W5+(e1<<2)|0,a1=e[s1>>2]|0,P3=a1+A|0,q=0-P3|0,n1=V5+q|0,o1=k5+-1|0,iC(n1,A,a,g1,l1,o1,1,W5),I1=l1<<1,h1=r1&1,m1=I1|h1,d1=g1<<1,E1=d1|1,B1=V5+$0|0,iC(B1,A,a,E1,m1,e1,1,W5),w0=E1,Q0=m1,V5=B1,k5=e1;continue}d0=w0+-1|0,C0=(d0|0)==0;do if(C0)G0=32,A3=56;else{if(k0=d0&1,f0=(k0|0)==0,f0){for(b=d0,i6=0;;)if(B0=i6+1|0,p0=b>>>1,I0=p0&1,K0=(I0|0)==0,K0)b=p0,i6=B0;else{R=B0;break}_0=(R|0)==0,_0?A3=51:J0=R}else A3=51;if((A3|0)==51){if(A3=0,F0=(Q0|0)==0,F0){G0=64,A3=56;break}if(M0=Q0&1,N0=(M0|0)==0,N0)w=Q0,L3=0;else{I=0,Q1=w0,S1=Q0,k1=0;break}for(;;)if(U0=L3+1|0,y0=w>>>1,Y0=y0&1,R0=(Y0|0)==0,R0)w=y0,L3=U0;else{M=U0,U3=L3;break}if(T0=U3+33|0,V0=(M|0)==0,V0){I=0,Q1=w0,S1=Q0,k1=0;break}else J0=T0}P0=J0>>>0>31,P0?(G0=J0,A3=56):(I=J0,Q1=w0,S1=Q0,k1=J0)}while(!1);if((A3|0)==56&&(A3=0,z0=G0+-32|0,I=z0,Q1=Q0,S1=0,k1=G0),p1=Q1>>>I,_1=32-I|0,x1=S1<<_1,L1=x1|p1,F1=S1>>>I,G1=k1+k5|0,G=V5+$0|0,U1=(G1|0)==1,Z1=(L1|0)==1,a3=Z1&U1,N1=(F1|0)==0,l3=N1&a3,l3)break;w0=L1,Q0=F1,V5=G,k5=G1}C=R3}function iC(t,n,A,a,c,u,E,I){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0,u=u|0,E=E|0,I=I|0;var m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0;B2=C,C=C+720|0,x2=B2+456|0,P2=B2+228|0,M2=B2,e[M2>>2]=t,U=0-n|0,$0=(a|0)!=1,Q0=(c|0)!=0,J0=Q0|$0;e:do if(J0)if($1=I+(u<<2)|0,m1=e[$1>>2]|0,F1=0-m1|0,Y1=t+F1|0,K1=f7[A&15](Y1,t)|0,y2=(K1|0)<1,y2)B=t,L=u,G=E,O2=1,_2=18;else for(w=t,T=u,O=E,I0=Y1,O0=c,b5=1,k2=a;;){if(Z=(O|0)==0,l0=(T|0)>1,l5=Z&l0,l5){if(k0=w+U|0,f0=T+-2|0,B0=I+(f0<<2)|0,p0=e[B0>>2]|0,S0=f7[A&15](k0,I0)|0,K0=(S0|0)>-1,K0){S=w,x=T,X2=b5;break e}if(m5=p0+n|0,q=0-m5|0,_0=w+q|0,F0=f7[A&15](_0,I0)|0,M0=(F0|0)>-1,M0){S=w,x=T,X2=b5;break e}}N0=b5+1|0,U0=M2+(b5<<2)|0,e[U0>>2]=I0,y0=k2+-1|0,Y0=(y0|0)==0;do if(Y0)o1=32,_2=15;else{if(R0=y0&1,D0=(R0|0)==0,D0){for(Q=y0,f5=0;;)if(T0=f5+1|0,V0=Q>>>1,P0=V0&1,z0=(P0|0)==0,z0)Q=V0,f5=T0;else{z=T0;break}G0=(z|0)==0,G0?_2=10:s1=z}else _2=10;if((_2|0)==10){if(_2=0,r1=(O0|0)==0,r1){o1=64,_2=15;break}if(H0=O0&1,e1=(H0|0)==0,e1)_=O0,v5=0;else{p=0,I1=k2,E1=O0,_1=0;break}for(;;)if(b0=v5+1|0,i1=_>>>1,c1=i1&1,f1=(c1|0)==0,f1)_=i1,v5=b0;else{Y=b0,P5=v5;break}if(g1=P5+33|0,l1=(Y|0)==0,l1){p=0,I1=k2,E1=O0,_1=0;break}else s1=g1}a1=s1>>>0>31,a1?(o1=s1,_2=15):(p=s1,I1=k2,E1=O0,_1=s1)}while(!1);if((_2|0)==15&&(_2=0,n1=o1+-32|0,p=n1,I1=O0,E1=0,_1=o1),Z0=I1>>>p,h1=32-p|0,d1=E1<>>p,Q1=_1+T|0,x1=(B1|0)!=1,w1=(p1|0)!=0,S1=w1|x1,!S1){S=I0,x=Q1,X2=N0;break e}if(t0=e[M2>>2]|0,L1=I+(Q1<<2)|0,G1=e[L1>>2]|0,k1=0-G1|0,U1=I0+k1|0,Z1=f7[A&15](U1,t0)|0,N1=(Z1|0)<1,N1){B=I0,L=Q1,G=0,O2=N0,_2=18;break}else y=I0,T=Q1,O=0,I0=U1,O0=p1,b5=N0,k2=B1,w=y}else B=t,L=u,G=E,O2=1,_2=18;while(!1);if((_2|0)==18)if(b1=(G|0)==0,b1)S=B,x=L,X2=O2;else{C=B2;return}V1=(X2|0)<2;e:do if(!V1&&(O1=M2+(X2<<2)|0,e[O1>>2]=x2,q1=(n|0)==0,!q1))for(M=n,h2=x2;;){for(E2=M>>>0>256,j1=E2?256:M,A2=e[M2>>2]|0,s4(h2|0,A2|0,j1|0)|0,u2=A2,e5=0;W1=M2+(e5<<2)|0,P1=e5+1|0,c2=M2+(P1<<2)|0,z1=e[c2>>2]|0,s4(u2|0,z1|0,j1|0)|0,o2=u2+j1|0,e[W1>>2]=o2,o5=(P1|0)==(X2|0),!o5;)u2=z1,e5=P1;if(H1=(M|0)==(j1|0),H1)break e;n2=M-j1|0,e0=e[O1>>2]|0,M=n2,h2=e0}while(!1);e[P2>>2]=S,$2=(x|0)>1;e:do if($2){for(D=x,N=S,s2=S,Z2=1;;){if(i2=N+U|0,l2=D+-2|0,r2=I+(l2<<2)|0,a2=e[r2>>2]|0,n5=a2+n|0,X=0-n5|0,X1=N+X|0,f2=f7[A&15](s2,X1)|0,e2=(f2|0)>-1,e2&&(v2=f7[A&15](s2,i2)|0,w2=(v2|0)>-1,w2)){T1=Z2;break}if(C2=f7[A&15](X1,i2)|0,F2=(C2|0)>-1,D2=Z2+1|0,N2=P2+(Z2<<2)|0,F2?(e[N2>>2]=X1,d2=D+-1|0,m=X1,b=d2):(e[N2>>2]=i2,m=i2,b=l2),K2=(b|0)>1,!K2){T1=D2;break}J=e[P2>>2]|0,D=b,N=m,s2=J,Z2=D2}if(G2=(T1|0)<2,G2)C0=x2;else if(H2=P2+(T1<<2)|0,e[H2>>2]=x2,K=(n|0)==0,K)C0=x2;else for(R=n,w0=x2;;){for(u0=R>>>0>256,s0=u0?256:R,d0=e[P2>>2]|0,s4(w0|0,d0|0,s0|0)|0,g0=d0,L5=0;r0=P2+(L5<<2)|0,V=L5+1|0,h0=P2+(V<<2)|0,o0=e[h0>>2]|0,s4(g0|0,o0|0,s0|0)|0,j=g0+s0|0,e[r0>>2]=j,z2=(V|0)==(T1|0),!z2;)g0=o0,L5=V;if(a0=(R|0)==(s0|0),a0){C0=x2;break e}i0=R-s0|0,W=e[H2>>2]|0,R=i0,w0=W}}else C0=x2;while(!1);C=B2}function Oi(t){t=+t;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0;return x=C,A1[p2>>3]=t,A=e[p2>>2]|0,a=e[p2+4>>2]|0,p=a&2146435072,B=p>>>0>1126170624,S=!1,b=(p|0)==1126170624,w=b&S,y=B|w,y?(n=t,+n):(D=(a|0)<0,Q=t+-4503599627370496,c=Q+4503599627370496,u=t+4503599627370496,E=u+-4503599627370496,_=D?c:E,I=_==0,I?(m=D?-0:0,n=m,+n):(n=_,+n))}function SQ(t){t=+t;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0;return y=C,A=(s[p2>>2]=t,e[p2>>2]|0),a=A&2130706432,c=a>>>0>1249902592,c?(n=t,+n):(u=(A|0)<0,E=t+-8388608,I=E+8388608,m=t+8388608,p=m+-8388608,b=u?I:p,B=b==0,B?(S=u?-0:0,n=S,+n):(n=b,+n))}function mb(t,n){t=+t,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0;return z=C,u=(n|0)>1023,u?(E=t*898846567431158e293,Q=n+-1023|0,_=(Q|0)>1023,_?(L=E*898846567431158e293,x=n+-2046|0,R=(x|0)>1023,A=R?1023:x,a=A,G=L):(a=Q,G=E)):(M=(n|0)<-1022,M?(T=t*22250738585072014e-324,N=n+1022|0,I=(N|0)<-1022,I?(m=T*22250738585072014e-324,p=n+2044|0,B=(p|0)<-1022,c=B?-1022:p,a=c,G=m):(a=N,G=T)):(a=n,G=t)),S=a+1023|0,b=_Q(S|0,0,52)|0,w=H6,e[p2>>2]=b,e[p2+4>>2]=w,y=+A1[p2>>3],D=G*y,+D}function Cb(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0;I=C,n=t+-1|0,A=553040,a=A,e[a>>2]=n,c=A+4|0,u=c,e[u>>2]=0}function Bb(){var t=0,n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0;return _=C,t=553040,n=t,m=e[n>>2]|0,p=t+4|0,B=p,S=e[B>>2]|0,b=wb(m|0,S|0,1284865837,1481765933)|0,w=H6,y=Zs(b|0,w|0,1,0)|0,D=H6,A=553040,a=A,e[a>>2]=y,c=A+4|0,u=c,e[u>>2]=D,E=Ws(y|0,D|0,33)|0,I=H6,E|0}function S9(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,k3=0,u3=0,p3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,X3=0,c6=0,p6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,L6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,L4=0,T4=0,j4=0,C4=0,N4=0,U9=0,G4=0,a4=0,R4=0,u4=0,Ce=0,q9=0,m9=0,Be=0,Ne=0,Xe=0,U4=0,Ge=0,P4=0,X4=0,be=0,e8=0,Z9=0,$e=0,f4=0,_6=0,O4=0,R9=0,$4=0,_4=0,le=0,W9=0,ce=0,ge=0,B4=0,ee=0,F4=0,he=0,C9=0,g6=0,Ue=0,l4=0,pe=0,p4=0,c4=0,P6=0,De=0,_e=0,t8=0,g4=0,k4=0,u8=0,J3=0,w9=0,B9=0,M4=0,te=0,$t=0,xe=0,lt=0,wt=0,z8=0,ct=0,gt=0,F8=0,M8=0,T8=0,N8=0,Z8=0,W8=0,kt=0,G8=0,U8=0,P8=0,k8=0,v8=0,f8=0,O8=0,q8=0,j8=0,X8=0,d8=0,Pe=0,Le=0,i8=0,S8=0,k9=0,ht=0,Qe=0,ut=0,vt=0,et=0,St=0,ie=0,tt=0,H8=0,b8=0,r8=0,q4=0,Re=0,n8=0,I8=0,D8=0,ue=0,j9=0,s8=0,E8=0,o8=0,m8=0,fe=0,ye=0,Oe=0,qe=0,X9=0,Fe=0,de=0,A8=0,we=0,Q4=0,C8=0,it=0,H4=0,I3=0,He=0,B8=0,re=0,H9=0,ne=0,D9=0,Ye=0,Y8=0,ft=0,rt=0,nt=0,J8=0,st=0,V8=0,a8=0,$8=0,_8=0,Y4=0,ot=0,x8=0,Je=0,p9=0,At=0,Ve=0,Nt=0,Ht=0,bt=0,at=0,Dt=0,se=0,Gt=0,Yt=0,l8=0,L8=0,_t=0,K8=0,Me=0,Ie=0,e4=0,xt=0,i7=0,G7=0,U7=0,P7=0,d7=0,Jt=0,I7=0,Vt=0,E7=0,Kt=0,m7=0,r7=0,oi=0,O7=0,C7=0,B7=0,Ai=0,p7=0,n7=0,ai=0,q7=0,H7=0,Y7=0,J7=0,s7=0,Q7=0,V7=0,zt=0,o7=0,Ut=0,Zt=0,$i=0,K7=0,li=0,y7=0,z7=0,w7=0,k7=0,Z7=0,v7=0,Wt=0,S7=0,W7=0,A7=0,Pt=0,b7=0,ke=0,D7=0,Lt=0,a7=0,n9=0,dt=0,p8=0,It=0,Rt=0,zr=0,Er=0,eo=0,Pn=0,to=0,On=0,io=0,ro=0,qn=0,no=0,Zr=0,so=0,oo=0,Ao=0,Hn=0,ao=0,Yn=0,Jn=0,$o=0,Wr=0,Vn=0,jr=0,Kn=0,zn=0,lo=0,co=0,go=0,Xr=0,Zn=0,ho=0,mr=0,en=0,uo=0,fo=0,tn=0,ci=0,Wn=0,Io=0,Eo=0,jn=0,Xn=0,es=0,mo=0,gi=0,rn=0,Co=0,ts=0,Bo=0,po=0,Qo=0,is=0,yo=0,wo=0,ko=0,vo=0,rs=0,So=0,bo=0,nn=0,Cr=0,sn=0,Do=0,ji=0,_o=0,ns=0,on=0,ss=0,An=0,xo=0,os=0,As=0,Lo=0,as=0,$s=0,Ro=0,Br=0,ls=0,hi=0,an=0,pr=0,Xi=0,Qr=0,Hi=0,yr=0,cs=0,Yi=0,yi=0,wi=0,j7=0,ki=0,wr=0,er=0,tr=0,kr=0,ui=0,Fo=0,$7=0,tl=0,$n=0,ln=0,Nh=0,il=0,Mo=0,Gh=0,XA=0,rl=0,Uh=0,Ph=0,Oh=0,ea=0,nl=0,sl=0,ta=0,cn=0,ol=0,qh=0,To=0,ir=0,Hh=0,Yh=0,Jh=0,Vh=0,Kh=0,zh=0,Zh=0,Wh=0,jh=0,Xh=0,Al=0,vr=0,eu=0,tu=0,al=0,iu=0,ia=0,No=0,ra=0,ru=0,nu=0,na=0,$l=0,ll=0,cl=0,sa=0,gl=0,Go=0,su=0,ou=0,hl=0,Au=0,au=0,ul=0,$u=0,lu=0,fl=0,dl=0,Il=0,El=0,ml=0,gn=0,cu=0,Cl=0,gu=0,Bl=0,pl=0,hu=0,uu=0,fu=0,oa=0,Ql=0,yl=0,gs=0,wl=0,Aa=0,du=0,kl=0,Iu=0,vl=0,Eu=0,mu=0,Sl=0,bl=0,Cu=0,Uo=0,Bu=0,aa=0,Dl=0,_l=0,pu=0,Qu=0,yu=0,wu=0,ku=0,vu=0,Po=0,xl=0,Ll=0,Rl=0,Oo=0,Su=0,Fl=0,bu=0,Ml=0,Du=0,_u=0,Tl=0,$a=0,xu=0,Lu=0,qo=0,Ru=0,Ho=0,Fu=0,la=0,Mu=0,Tu=0,Nu=0,Nl=0,Gu=0,Uu=0,Pu=0,Ou=0,Gl=0,Ul=0,rr=0,Pl=0,Yo=0,ca=0,ga=0,hn=0,Ol=0,un=0,qu=0,ql=0,Hu=0,Yu=0,Ju=0,Vu=0,Jo=0,ha=0,Sr=0,Ku=0,zu=0,Hl=0,ua=0,Yl=0,Jl=0,Zu=0,Vl=0,Wu=0,fa=0,ju=0,Xu=0,P9=0,ef=0,Kl=0,tf=0,rf=0,da=0,nf=0,Ia=0,zl=0,sf=0,of=0,Zl=0,Wl=0,Af=0,Ea=0,ma=0,jl=0,Xl=0,af=0,ec=0,Ca=0,$f=0,tc=0,lf=0,cf=0,gf=0,hf=0,ic=0,rc=0,Ba=0,Vo=0,nc=0,uf=0,sc=0,oc=0,ff=0,df=0,If=0,Ac=0,Ef=0,mf=0,Cf=0,Bf=0,pf=0,Qf=0,ac=0,yf=0,$c=0,wf=0,fn=0,kf=0,lc=0,vf=0,hs=0,cc=0,pa=0,Sf=0,Ko=0,Qa=0,bf=0,ya=0,gc=0,Df=0,_f=0,xf=0,Lf=0,Rf=0,hc=0,Ff=0,Mf=0,Tf=0,zo=0,us=0,wa=0,Nf=0,ka=0,Gf=0,Uf=0,Pf=0,uc=0,Of=0,qf=0,Hf=0,Yf=0,Jf=0,Zo=0,Vf=0,Kf=0,fc=0,zf=0,Zf=0,Wf=0,jf=0,fi=0,dc=0,di=0,Ic=0,va=0,Xf=0,X7=0,fs=0,ed=0,td=0,id=0,rd=0,nd=0,Ec=0,sd=0,od=0,mc=0,Ad=0,ad=0,ds=0,Sa=0,$d=0,Cc=0,ld=0,cd=0,Wo=0,gd=0,hd=0,Bc=0,pc=0,ud=0,fd=0,dn=0,dd=0,Id=0,In=0,Ed=0,Qc=0,md=0,Cd=0,Is=0,yc=0,Bd=0,wc=0,pd=0,nr=0,ba=0,Qd=0,kc=0,vc=0,yd=0,wd=0,Sc=0,kd=0,vd=0,Sd=0,bc=0,bd=0,Es=0,Dd=0,En=0,_d=0,xd=0,Da=0,Ld=0,_a=0,xa=0,Rd=0,Dc=0,_c=0,Fd=0,xc=0,Lc=0,Rc=0,Md=0,Fc=0,Mc=0,Td=0,Nd=0,Tc=0,Nc=0,Gd=0,Gc=0,Uc=0,Ud=0,Pd=0,Pc=0,La=0,Oc=0,qc=0,Hc=0,Yc=0,Od=0,qd=0,Hd=0,Yd=0,Jd=0,Vd=0,Kd=0,zd=0,Jc=0,Ra=0,Zd=0,Wd=0,jd=0,Vc=0,Kc=0,Xd=0,zc=0,Fa=0,jo=0,Zc=0,eI=0,tI=0,iI=0,rI=0,Wc=0,Xo=0,nI=0,sI=0,oI=0,AI=0,aI=0,$I=0,lI=0,cI=0,jc=0,gI=0,hI=0,uI=0,fI=0,eA=0,Xc=0,dI=0,II=0,mn=0,eg=0,tg=0,Ma=0,EI=0,ig=0,mI=0,rg=0,ng=0,CI=0,BI=0,pI=0,QI=0,yI=0,tA=0,Ta=0,wI=0,kI=0,vI=0,SI=0,sg=0,bI=0,og=0,DI=0,_I=0,Ag=0,br=0,ag=0,$g=0,xI=0,lg=0,iA=0,LI=0,RI=0,FI=0,rA=0,cg=0,MI=0,TI=0,gg=0,NI=0,GI=0,Na=0,nA=0,UI=0,PI=0,OI=0,hg=0,ug=0,fg=0,qI=0,HI=0,ms=0,YI=0,dg=0,JI=0,Ga=0,Ig=0,VI=0,KI=0,zI=0,ZI=0,Eg=0,WI=0,jI=0,mg=0,sA=0,XI=0,eE=0,tE=0,Cs=0,Cg=0,Bg=0,iE=0,pg=0,Qg=0,vi=0,yg=0,sr=0,rE=0,nE=0,sE=0,oE=0,Ua=0,oA=0,wg=0,kg=0,AE=0,AA=0,Bs=0,aE=0,aA=0,Pa=0,$E=0,Oa=0,lE=0,cE=0,vg=0,$A=0,Sg=0,gE=0,hE=0,uE=0,fE=0,bg=0,dE=0,jt=0,y4=0,ei=0,IE=0,Dg=0,_g=0,qa=0,EE=0,Dr=0,ps=0,mE=0,CE=0,xg=0,Ha=0,BE=0,Lg=0,Rg=0,Fg=0,Ya=0,Ja=0,Mg=0,Qs=0,Va=0,Tg=0,pE=0,Cn=0,QE=0,Ng=0,lA=0,yE=0,Gg=0,Si=0,wE=0,kE=0,vE=0,SE=0,bE=0,DE=0,bi=0,_E=0,xE=0,LE=0,Ug=0,Ii=0,cA=0,Ka=0,Pg=0,Og=0,RE=0,qg=0,Hg=0,FE=0,ME=0,Yg=0,Jg=0,TE=0,NE=0,Vg=0,GE=0,ys=0,gA=0,hA=0,UE=0,za=0,PE=0,OE=0,Kg=0,ws=0,qE=0,HE=0,Za=0,Wa=0,uA=0,ja=0,Xa=0,or=0,_r=0,xr=0,e$=0,t$=0,ks=0,Ar=0,Bn=0,YE=0,ar=0,pn=0,JE=0,_7=0,x7=0,L7=0,fA=0,dA=0,zg=0,Zg=0,IA=0,i$=0,R7=0,EA=0,Lr=0,r$=0,VE=0,n$=0,KE=0,s$=0,Wg=0,mA=0,zE=0,ZE=0,CA=0,WE=0,BA=0,Qn=0,Ke=0,v4=0,jg=0,jE=0,o$=0,Xg=0,XE=0,em=0,pA=0,tm=0,im=0,rm=0,nm=0,eh=0,sm=0,om=0,Am=0,ti=0,QA=0,yn=0,A$=0,vs=0,Ss=0,Xt=0,bs=0,th=0,ih=0,yA=0,Ds=0,_s=0,xs=0,am=0,Ls=0,$r=0,rh=0,Rr=0,ii=0,a$=0,$$=0,Ji=0,l$=0,c$=0,g$=0,Fr=0,$6=0,wA=0,Mr=0,nh=0,ve=0,h$=0,Q8=0,Rs=0,wn=0,kn=0,F9=0,vn=0,Tr=0,J4=0,u$=0;u$=C,K1=t>>>0<245;do if(K1){if(h2=t>>>0<11,h4=t+11|0,q4=h4&-8,ke=h2?16:q4,Mo=ke>>>3,la=e[138262]|0,zo=la>>>Mo,qc=zo&3,mg=(qc|0)==0,!mg){$2=zo&1,u3=$2^1,l3=u3+Mo|0,A3=l3<<1,g3=553088+(A3<<2)|0,w0=A3+2|0,x6=553088+(w0<<2)|0,b6=e[x6>>2]|0,L6=b6+8|0,D6=e[L6>>2]|0,d9=(g3|0)==(D6|0);do if(d9)G9=1<>>0>>0,ce&&Q2(),p4=D6+12|0,B9=e[p4>>2]|0,M8=(B9|0)==(b6|0),M8){e[p4>>2]=g3,e[x6>>2]=D6;break}else Q2();while(!1);return f8=l3<<3,ht=f8|3,Re=b6+4|0,e[Re>>2]=ht,p0=f8|4,ye=b6+p0|0,H4=e[ye>>2]|0,rt=H4|1,e[ye>>2]=rt,Ke=L6,Ke|0}if(Je=e[138264]|0,Yt=ke>>>0>Je>>>0,Yt){if(U7=(zo|0)==0,!U7){O7=zo<>>12,nn=Bo&16,os=Wn>>>nn,Xi=os>>>5,er=Xi&8,Gh=er|nn,ol=os>>>er,Wh=ol>>>2,ra=Wh&4,ou=Gh|ra,ml=ol>>>ra,Ql=ml>>>1,Sl=Ql&2,wu=ou|Sl,Ml=ml>>>Sl,Mu=Ml>>>1,Pl=Mu&1,Ju=wu|Pl,Zu=Ml>>>Pl,da=Ju+Zu|0,jl=da<<1,ic=553088+(jl<<2)|0,U1=jl+2|0,Ac=553088+(U1<<2)|0,fn=e[Ac>>2]|0,ya=fn+8|0,us=e[ya>>2]|0,Yf=(ic|0)==(us|0);do if(Yf)dc=1<>>0>>0,nr&&Q2(),bc=us+12|0,Rd=e[bc>>2]|0,Nd=(Rd|0)==(fn|0),Nd){e[bc>>2]=ic,e[Ac>>2]=us,y=e[138264]|0,nA=y;break}else Q2();while(!1);return Hc=da<<3,Ra=Hc-ke|0,eI=ke|3,$I=fn+4|0,e[$I>>2]=eI,II=fn+ke|0,BI=Ra|1,j1=ke|4,bI=fn+j1|0,e[bI>>2]=BI,LI=fn+Hc|0,e[LI>>2]=Ra,dg=(nA|0)==0,dg||(sA=e[138267]|0,yg=nA>>>3,AA=yg<<1,Sg=553088+(AA<<2)|0,Dg=e[138262]|0,Lg=1<>2]|0,C2=e[138266]|0,o5=i2>>>0>>0,o5?Q2():(G=ys,uA=i2)),e[G>>2]=sA,l5=uA+12|0,e[l5>>2]=sA,G5=sA+8|0,e[G5>>2]=uA,W2=sA+12|0,e[W2>>2]=Sg),e[138264]=Ra,e[138267]=II,Ke=ya,Ke|0}if($5=e[138263]|0,m3=($5|0)==0,m3)v4=ke;else{for(V5=0-$5|0,k3=$5&V5,p3=k3+-1|0,z3=p3>>>12,G3=z3&16,z5=p3>>>G3,w3=z5>>>5,W5=w3&8,i6=W5|G3,L3=z5>>>W5,U3=L3>>>2,a3=U3&4,c3=i6|a3,C3=L3>>>a3,H5=C3>>>1,U5=H5&2,O5=c3|U5,k5=C3>>>U5,P3=k5>>>1,M5=P3&1,o6=O5|M5,e3=k5>>>M5,R3=o6+e3|0,u6=553352+(R3<<2)|0,Q3=e[u6>>2]|0,v3=Q3+4|0,y3=e[v3>>2]|0,r6=y3&-8,j3=r6-ke|0,QA=j3,$$=Q3,h$=Q3;;){if(O3=$$+16|0,K5=e[O3>>2]|0,S3=(K5|0)==0,S3)if(q3=$$+20|0,l6=e[q3>>2]|0,d3=(l6|0)==0,d3){yn=QA,Q8=h$;break}else v6=l6;else v6=K5;k6=v6+4|0,S6=e[k6>>2]|0,B6=S6&-8,X3=B6-ke|0,c6=X3>>>0>>0,q=c6?X3:QA,A2=c6?v6:h$,QA=q,$$=v6,h$=A2}p6=e[138266]|0,Y6=Q8>>>0>>0,Y6&&Q2(),C6=Q8+ke|0,b3=Q8>>>0>>0,b3||Q2(),e6=Q8+24|0,t6=e[e6>>2]|0,f6=Q8+12|0,H3=e[f6>>2]|0,D3=(H3|0)==(Q8|0);do if(D3){if(N6=Q8+20|0,n6=e[N6>>2]|0,Q6=(n6|0)==0,Q6)if(K6=Q8+16|0,I6=e[K6>>2]|0,J6=(I6|0)==0,J6){_7=0;break}else Ar=I6,fA=K6;else Ar=n6,fA=N6;for(;;){if(F3=Ar+20|0,j6=e[F3>>2]|0,G6=(j6|0)==0,!G6){Ar=j6,fA=F3;continue}if(e9=Ar+16|0,s9=e[e9>>2]|0,R6=(s9|0)==0,R6){ar=Ar,Zg=fA;break}else Ar=s9,fA=e9}if(U6=Zg>>>0>>0,U6)Q2();else{e[Zg>>2]=0,_7=ar;break}}else if(Y3=Q8+8|0,Z3=e[Y3>>2]|0,A6=Z3>>>0>>0,A6&&Q2(),t3=Z3+12|0,O6=e[t3>>2]|0,s3=(O6|0)==(Q8|0),s3||Q2(),a6=H3+8|0,d6=e[a6>>2]|0,_3=(d6|0)==(Q8|0),_3){e[t3>>2]=H3,e[a6>>2]=Z3,_7=H3;break}else Q2();while(!1);z6=(t6|0)==0;do if(!z6){if(y6=Q8+28|0,F6=e[y6>>2]|0,M3=553352+(F6<<2)|0,M6=e[M3>>2]|0,t9=(Q8|0)==(M6|0),t9){if(e[M3>>2]=_7,zE=(_7|0)==0,zE){A9=1<>>0>>0,$9&&Q2(),T9=t6+16|0,E6=e[T9>>2]|0,T6=(E6|0)==(Q8|0),T6?e[T9>>2]=_7:(i9=t6+20|0,e[i9>>2]=_7),N9=(_7|0)==0,N9)break;I9=e[138266]|0,E4=_7>>>0>>0,E4&&Q2(),o4=_7+24|0,e[o4>>2]=t6,z9=Q8+16|0,b9=e[z9>>2]|0,E9=(b9|0)==0;do if(!E9)if(q6=b9>>>0>>0,q6)Q2();else{r9=_7+16|0,e[r9>>2]=b9,m4=b9+24|0,e[m4>>2]=_7;break}while(!1);if(S4=Q8+20|0,A4=e[S4>>2]|0,y9=(A4|0)==0,!y9)if(b4=e[138266]|0,L4=A4>>>0>>0,L4)Q2();else{T4=_7+20|0,e[T4>>2]=A4,j4=A4+24|0,e[j4>>2]=_7;break}}while(!1);return C4=yn>>>0<16,C4?(N4=yn+ke|0,U9=N4|3,G4=Q8+4|0,e[G4>>2]=U9,Z1=N4+4|0,a4=Q8+Z1|0,R4=e[a4>>2]|0,u4=R4|1,e[a4>>2]=u4):(q9=ke|3,m9=Q8+4|0,e[m9>>2]=q9,Be=yn|1,h0=ke|4,Ne=Q8+h0|0,e[Ne>>2]=Be,g0=yn+ke|0,Xe=Q8+g0|0,e[Xe>>2]=yn,U4=e[138264]|0,Ge=(U4|0)==0,Ge||(P4=e[138267]|0,X4=U4>>>3,be=X4<<1,Z9=553088+(be<<2)|0,$e=e[138262]|0,f4=1<>2]|0,le=e[138266]|0,W9=_4>>>0>>0,W9?Q2():(T=$4,Wa=_4)),e[T>>2]=P4,ge=Wa+12|0,e[ge>>2]=P4,B4=P4+8|0,e[B4>>2]=Wa,ee=P4+12|0,e[ee>>2]=Z9),e[138264]=yn,e[138267]=C6),F4=Q8+8|0,Ke=F4,Ke|0}}else v4=ke}else if(he=t>>>0>4294967231,he)v4=-1;else if(C9=t+11|0,g6=C9&-8,Ue=e[138263]|0,l4=(Ue|0)==0,l4)v4=g6;else{pe=0-g6|0,c4=C9>>>8,P6=(c4|0)==0,P6?Qn=0:(De=g6>>>0>16777215,De?Qn=31:(_e=c4+1048320|0,t8=_e>>>16,g4=t8&8,k4=c4<>>16,w9=J3&4,M4=w9|g4,te=k4<>>16,lt=xe&2,wt=M4|lt,z8=14-wt|0,ct=te<>>15,F8=z8+gt|0,T8=F8<<1,N8=F8+7|0,Z8=g6>>>N8,W8=Z8&1,kt=W8|T8,Qn=kt)),G8=553352+(Qn<<2)|0,U8=e[G8>>2]|0,P8=(U8|0)==0;e:do if(P8)Ss=pe,l$=0,kn=0,J4=86;else for(k8=(Qn|0)==31,v8=Qn>>>1,O8=25-v8|0,q8=k8?0:O8,j8=g6<>2]|0,Pe=d8&-8,Le=Pe-g6|0,i8=Le>>>0>>0,i8)if(S8=(Pe|0)==(g6|0),S8){bs=Le,Fr=Ji,Tr=Ji,J4=90;break e}else vs=Le,wn=Ji;else vs=A$,wn=Rs;if(k9=Ji+20|0,Qe=e[k9>>2]|0,ut=yA>>>31,vt=(Ji+16|0)+(ut<<2)|0,et=e[vt>>2]|0,St=(Qe|0)==0,ie=(Qe|0)==(et|0),tm=St|ie,ih=tm?th:Qe,tt=(et|0)==0,H8=yA<<1,tt){Ss=vs,l$=ih,kn=wn,J4=86;break}else A$=vs,th=ih,yA=H8,Ji=et,Rs=wn}while(!1);if((J4|0)==86){if(b8=(l$|0)==0,r8=(kn|0)==0,XE=b8&r8,XE){if(n8=2<>>12,fe=m8&16,Oe=o8>>>fe,qe=Oe>>>5,X9=qe&8,Fe=X9|fe,de=Oe>>>X9,A8=de>>>2,we=A8&4,Q4=Fe|we,C8=de>>>we,it=C8>>>1,I3=it&2,He=Q4|I3,B8=C8>>>I3,re=B8>>>1,H9=re&1,ne=He|H9,D9=B8>>>H9,Ye=ne+D9|0,Y8=553352+(Ye<<2)|0,ft=e[Y8>>2]|0,c$=ft,vn=0}else c$=l$,vn=kn;nt=(c$|0)==0,nt?(Xt=Ss,F9=vn):(bs=Ss,Fr=c$,Tr=vn,J4=90)}if((J4|0)==90)for(;;){if(J4=0,J8=Fr+4|0,st=e[J8>>2]|0,V8=st&-8,a8=V8-g6|0,$8=a8>>>0>>0,X=$8?a8:bs,g$=$8?Fr:Tr,_8=Fr+16|0,Y4=e[_8>>2]|0,ot=(Y4|0)==0,!ot){bs=X,Fr=Y4,Tr=g$,J4=90;continue}if(x8=Fr+20|0,p9=e[x8>>2]|0,At=(p9|0)==0,At){Xt=X,F9=g$;break}else bs=X,Fr=p9,Tr=g$,J4=90}if(Ve=(F9|0)==0,Ve)v4=g6;else if(Nt=e[138264]|0,Ht=Nt-g6|0,bt=Xt>>>0>>0,bt){at=e[138266]|0,Dt=F9>>>0>>0,Dt&&Q2(),se=F9+g6|0,Gt=F9>>>0>>0,Gt||Q2(),l8=F9+24|0,L8=e[l8>>2]|0,_t=F9+12|0,K8=e[_t>>2]|0,Me=(K8|0)==(F9|0);do if(Me){if(Vt=F9+20|0,E7=e[Vt>>2]|0,Kt=(E7|0)==0,Kt)if(m7=F9+16|0,r7=e[m7>>2]|0,oi=(r7|0)==0,oi){L7=0;break}else pn=r7,IA=m7;else pn=E7,IA=Vt;for(;;){if(C7=pn+20|0,B7=e[C7>>2]|0,Ai=(B7|0)==0,!Ai){pn=B7,IA=C7;continue}if(p7=pn+16|0,n7=e[p7>>2]|0,ai=(n7|0)==0,ai){JE=pn,i$=IA;break}else pn=n7,IA=p7}if(q7=i$>>>0>>0,q7)Q2();else{e[i$>>2]=0,L7=JE;break}}else if(Ie=F9+8|0,e4=e[Ie>>2]|0,xt=e4>>>0>>0,xt&&Q2(),i7=e4+12|0,G7=e[i7>>2]|0,P7=(G7|0)==(F9|0),P7||Q2(),d7=K8+8|0,Jt=e[d7>>2]|0,I7=(Jt|0)==(F9|0),I7){e[i7>>2]=K8,e[d7>>2]=e4,L7=K8;break}else Q2();while(!1);H7=(L8|0)==0;do if(!H7){if(Y7=F9+28|0,J7=e[Y7>>2]|0,Q7=553352+(J7<<2)|0,V7=e[Q7>>2]|0,zt=(F9|0)==(V7|0),zt){if(e[Q7>>2]=L7,CA=(L7|0)==0,CA){o7=1<>>0>>0,li&&Q2(),y7=L8+16|0,w7=e[y7>>2]|0,k7=(w7|0)==(F9|0),k7?e[y7>>2]=L7:(Z7=L8+20|0,e[Z7>>2]=L7),v7=(L7|0)==0,v7)break;Wt=e[138266]|0,S7=L7>>>0>>0,S7&&Q2(),W7=L7+24|0,e[W7>>2]=L8,A7=F9+16|0,Pt=e[A7>>2]|0,b7=(Pt|0)==0;do if(!b7)if(Lt=Pt>>>0>>0,Lt)Q2();else{a7=L7+16|0,e[a7>>2]=Pt,n9=Pt+24|0,e[n9>>2]=L7;break}while(!1);if(dt=F9+20|0,p8=e[dt>>2]|0,It=(p8|0)==0,!It)if(Rt=e[138266]|0,zr=p8>>>0>>0,zr)Q2();else{Er=L7+20|0,e[Er>>2]=p8,eo=p8+24|0,e[eo>>2]=L7;break}}while(!1);to=Xt>>>0<16;e:do if(to)On=Xt+g6|0,io=On|3,ro=F9+4|0,e[ro>>2]=io,c1=On+4|0,qn=F9+c1|0,no=e[qn>>2]|0,Zr=no|1,e[qn>>2]=Zr;else{if(so=g6|3,oo=F9+4|0,e[oo>>2]=so,Ao=Xt|1,r0=g6|4,ao=F9+r0|0,e[ao>>2]=Ao,d0=Xt+g6|0,Yn=F9+d0|0,e[Yn>>2]=Xt,Jn=Xt>>>3,$o=Xt>>>0<256,$o){Wr=Jn<<1,Vn=553088+(Wr<<2)|0,jr=e[138262]|0,Kn=1<>2]|0,ho=e[138266]|0,mr=Zn>>>0>>0,mr?Q2():(M=Xr,Xa=Zn)),e[M>>2]=se,en=Xa+12|0,e[en>>2]=se,O0=g6+8|0,uo=F9+O0|0,e[uo>>2]=Xa,H0=g6+12|0,fo=F9+H0|0,e[fo>>2]=Vn;break}if(tn=Xt>>>8,ci=(tn|0)==0,ci?_r=0:(Io=Xt>>>0>16777215,Io?_r=31:(Eo=tn+1048320|0,jn=Eo>>>16,Xn=jn&8,es=tn<>>16,rn=gi&4,Co=rn|Xn,ts=es<>>16,is=Qo&2,yo=Co|is,wo=14-yo|0,ko=ts<>>15,rs=wo+vo|0,So=rs<<1,bo=rs+7|0,Cr=Xt>>>bo,sn=Cr&1,Do=sn|So,_r=Do)),ji=553352+(_r<<2)|0,g1=g6+28|0,_o=F9+g1|0,e[_o>>2]=_r,x1=g6+16|0,ns=F9+x1|0,b1=g6+20|0,on=F9+b1|0,e[on>>2]=0,e[ns>>2]=0,ss=e[138263]|0,An=1<<_r,xo=ss&An,As=(xo|0)==0,As){Lo=ss|An,e[138263]=Lo,e[ji>>2]=se,H1=g6+24|0,as=F9+H1|0,e[as>>2]=ji,n2=g6+12|0,$s=F9+n2|0,e[$s>>2]=se,P1=g6+8|0,Ro=F9+P1|0,e[Ro>>2]=se;break}Br=e[ji>>2]|0,ls=Br+4|0,hi=e[ls>>2]|0,an=hi&-8,pr=(an|0)==(Xt|0);t:do if(pr)R7=Br;else{for(Qr=(_r|0)==31,Hi=_r>>>1,yr=25-Hi|0,cs=Qr?0:yr,Yi=Xt<>>31,ui=(r$+16|0)+(kr<<2)|0,j7=e[ui>>2]|0,Fo=(j7|0)==0,Fo){w=ui,VE=r$;break}if(yi=e$<<1,wi=j7+4|0,ki=e[wi>>2]|0,wr=ki&-8,tr=(wr|0)==(Xt|0),tr){R7=j7;break t}else e$=yi,r$=j7}if($7=e[138266]|0,tl=w>>>0<$7>>>0,tl)Q2();else{e[w>>2]=se,f0=g6+24|0,$n=F9+f0|0,e[$n>>2]=VE,U0=g6+12|0,ln=F9+U0|0,e[ln>>2]=se,P0=g6+8|0,Nh=F9+P0|0,e[Nh>>2]=se;break e}}while(!1);if(il=R7+8|0,XA=e[il>>2]|0,rl=e[138266]|0,Uh=XA>>>0>=rl>>>0,jg=R7>>>0>=rl>>>0,Ph=Uh&jg,Ph){Oh=XA+12|0,e[Oh>>2]=se,e[il>>2]=se,c2=g6+8|0,ea=F9+c2|0,e[ea>>2]=XA,u2=g6+12|0,nl=F9+u2|0,e[nl>>2]=R7,C0=g6+24|0,sl=F9+C0|0,e[sl>>2]=0;break}else Q2()}while(!1);return ta=F9+8|0,Ke=ta,Ke|0}else v4=g6}while(!1);if(cn=e[138264]|0,qh=cn>>>0>>0,!qh)return To=cn-v4|0,ir=e[138267]|0,Hh=To>>>0>15,Hh?(Yh=ir+v4|0,e[138267]=Yh,e[138264]=To,Jh=To|1,f1=v4+4|0,Vh=ir+f1|0,e[Vh>>2]=Jh,Kh=ir+cn|0,e[Kh>>2]=To,zh=v4|3,Zh=ir+4|0,e[Zh>>2]=zh):(e[138264]=0,e[138267]=0,jh=cn|3,Xh=ir+4|0,e[Xh>>2]=jh,o0=cn+4|0,Al=ir+o0|0,vr=e[Al>>2]|0,eu=vr|1,e[Al>>2]=eu),tu=ir+8|0,Ke=tu,Ke|0;if(al=e[138265]|0,iu=al>>>0>v4>>>0,iu)return ia=al-v4|0,e[138265]=ia,No=e[138268]|0,ru=No+v4|0,e[138268]=ru,nu=ia|1,U=v4+4|0,na=No+U|0,e[na>>2]=nu,$l=v4|3,ll=No+4|0,e[ll>>2]=$l,cl=No+8|0,Ke=cl,Ke|0;sa=e[138380]|0,gl=(sa|0)==0;do if(gl)if(Go=Rv(30)|0,su=Go+-1|0,hl=su&Go,Au=(hl|0)==0,Au){e[138382]=Go,e[138381]=Go,e[138383]=-1,e[138384]=-1,e[138385]=0,e[138373]=0,au=Xp(0)|0,ul=au&-16,$u=ul^1431655768,e[138380]=$u;break}else Q2();while(!1);if(lu=v4+48|0,fl=e[138382]|0,dl=v4+47|0,Il=fl+dl|0,El=0-fl|0,gn=Il&El,cu=gn>>>0>v4>>>0,!cu||(Cl=e[138372]|0,gu=(Cl|0)==0,!gu&&(Bl=e[138370]|0,pl=Bl+gn|0,hu=pl>>>0<=Bl>>>0,uu=pl>>>0>Cl>>>0,pA=hu|uu,pA)))return Ke=0,Ke|0;fu=e[138373]|0,oa=fu&4,yl=(oa|0)==0;e:do if(yl){gs=e[138268]|0,wl=(gs|0)==0;t:do if(wl)J4=174;else{for(Ds=553496;;){if(Aa=e[Ds>>2]|0,du=Aa>>>0>gs>>>0,!du&&(kl=Ds+4|0,Iu=e[kl>>2]|0,vl=Aa+Iu|0,Eu=vl>>>0>gs>>>0,Eu)){S=Ds,b=kl;break}if(mu=Ds+8|0,bl=e[mu>>2]|0,Cu=(bl|0)==0,Cu){J4=174;break t}else Ds=bl}if(xu=e[138265]|0,Lu=Il-xu|0,qo=Lu&El,Ru=qo>>>0<2147483647,Ru)if(Ho=N7(qo|0)|0,Fu=e[S>>2]|0,Tu=e[b>>2]|0,Nu=Fu+Tu|0,Nl=(Ho|0)==(Nu|0),n=Nl?qo:0,Nl)if(Gu=(Ho|0)==-1,Gu)Mr=n;else{$6=Ho,ve=n,J4=194;break e}else mA=Ho,ii=qo,wA=n,J4=184;else Mr=0}while(!1);do if((J4|0)==174)if(Uo=N7(0)|0,Bu=(Uo|0)==-1,Bu)Mr=0;else if(aa=Uo,Dl=e[138381]|0,_l=Dl+-1|0,pu=_l&aa,Qu=(pu|0)==0,Qu?Rr=gn:(yu=_l+aa|0,ku=0-Dl|0,vu=yu&ku,Po=gn-aa|0,xl=Po+vu|0,Rr=xl),Ll=e[138370]|0,Rl=Ll+Rr|0,Oo=Rr>>>0>v4>>>0,Su=Rr>>>0<2147483647,em=Oo&Su,em){if(Fl=e[138372]|0,bu=(Fl|0)==0,!bu&&(Du=Rl>>>0<=Ll>>>0,_u=Rl>>>0>Fl>>>0,im=Du|_u,im)){Mr=0;break}if(Tl=N7(Rr|0)|0,$a=(Tl|0)==(Uo|0),rh=$a?Rr:0,$a){$6=Uo,ve=rh,J4=194;break e}else mA=Tl,ii=Rr,wA=rh,J4=184}else Mr=0;while(!1);t:do if((J4|0)==184){Uu=0-ii|0,Pu=(mA|0)!=-1,Ou=ii>>>0<2147483647,nm=Ou&Pu,Gl=lu>>>0>ii>>>0,sm=Gl&nm;do if(sm)if(Ul=e[138382]|0,rr=dl-ii|0,Yo=rr+Ul|0,ca=0-Ul|0,ga=Yo&ca,hn=ga>>>0<2147483647,hn)if(Ol=N7(ga|0)|0,un=(Ol|0)==-1,un){N7(Uu|0)|0,Mr=wA;break t}else{qu=ga+ii|0,a$=qu;break}else a$=ii;else a$=ii;while(!1);if(ql=(mA|0)==-1,ql)Mr=wA;else{$6=mA,ve=a$,J4=194;break e}}while(!1);Hu=e[138373]|0,Yu=Hu|4,e[138373]=Yu,nh=Mr,J4=191}else nh=0,J4=191;while(!1);if((J4|0)==191&&(Vu=gn>>>0<2147483647,Vu&&(Jo=N7(gn|0)|0,ha=N7(0)|0,Sr=(Jo|0)!=-1,Ku=(ha|0)!=-1,rm=Sr&Ku,zu=Jo>>>0>>0,om=zu&rm,om&&(Hl=ha,ua=Jo,Yl=Hl-ua|0,Jl=v4+40|0,Vl=Yl>>>0>Jl>>>0,E2=Vl?Yl:nh,Vl&&($6=Jo,ve=E2,J4=194)))),(J4|0)==194){Wu=e[138370]|0,fa=Wu+ve|0,e[138370]=fa,ju=e[138371]|0,Xu=fa>>>0>ju>>>0,Xu&&(e[138371]=fa),P9=e[138268]|0,ef=(P9|0)==0;e:do if(ef){for(Kl=e[138266]|0,tf=(Kl|0)==0,rf=$6>>>0>>0,Am=tf|rf,Am&&(e[138266]=$6),e[138374]=$6,e[138375]=ve,e[138377]=0,nf=e[138380]|0,e[138271]=nf,e[138270]=-1,BA=0;Ia=BA<<1,zl=553088+(Ia<<2)|0,$0=Ia+3|0,sf=553088+($0<<2)|0,e[sf>>2]=zl,j=Ia+2|0,of=553088+(j<<2)|0,e[of>>2]=zl,Zl=BA+1|0,WE=(Zl|0)==32,!WE;)BA=Zl;Wl=ve+-40|0,Af=$6+8|0,Ea=Af,ma=Ea&7,Xl=(ma|0)==0,af=0-Ea|0,ec=af&7,Ca=Xl?0:ec,$f=$6+Ca|0,tc=Wl-Ca|0,e[138268]=$f,e[138265]=tc,lf=tc|1,K=Ca+4|0,cf=$6+K|0,e[cf>>2]=lf,l1=ve+-36|0,gf=$6+l1|0,e[gf>>2]=40,hf=e[138384]|0,e[138269]=hf}else{for(xs=553496;;){if(rc=e[xs>>2]|0,Ba=xs+4|0,Vo=e[Ba>>2]|0,nc=rc+Vo|0,uf=($6|0)==(nc|0),uf){m=rc,p=Ba,B=Vo,am=xs,J4=204;break}if(sc=xs+8|0,oc=e[sc>>2]|0,ff=(oc|0)==0,ff)break;xs=oc}if((J4|0)==204&&(df=am+12|0,If=e[df>>2]|0,Ef=If&8,mf=(Ef|0)==0,mf&&(Cf=P9>>>0>=m>>>0,Bf=P9>>>0<$6>>>0,eh=Bf&Cf,eh))){pf=B+ve|0,e[p>>2]=pf,Qf=e[138265]|0,ac=Qf+ve|0,yf=P9+8|0,$c=yf,wf=$c&7,kf=(wf|0)==0,lc=0-$c|0,vf=lc&7,hs=kf?0:vf,cc=P9+hs|0,pa=ac-hs|0,e[138268]=cc,e[138265]=pa,Sf=pa|1,s0=hs+4|0,Ko=P9+s0|0,e[Ko>>2]=Sf,n1=ac+4|0,Qa=P9+n1|0,e[Qa>>2]=40,bf=e[138384]|0,e[138269]=bf;break}for(gc=e[138266]|0,Df=$6>>>0>>0,Df?(e[138266]=$6,Is=$6):Is=gc,_f=$6+ve|0,Ls=553496;;){if(xf=e[Ls>>2]|0,Lf=(xf|0)==(_f|0),Lf){I=Ls,$r=Ls,J4=212;break}if(Rf=Ls+8|0,hc=e[Rf>>2]|0,Ff=(hc|0)==0,Ff){_s=553496;break}else Ls=hc}if((J4|0)==212)if(Mf=$r+12|0,Tf=e[Mf>>2]|0,wa=Tf&8,Nf=(wa|0)==0,Nf){e[I>>2]=$6,ka=$r+4|0,Gf=e[ka>>2]|0,Uf=Gf+ve|0,e[ka>>2]=Uf,Pf=$6+8|0,uc=Pf,Of=uc&7,qf=(Of|0)==0,Hf=0-uc|0,Jf=Hf&7,Zo=qf?0:Jf,Vf=$6+Zo|0,I0=ve+8|0,Kf=$6+I0|0,fc=Kf,zf=fc&7,Zf=(zf|0)==0,Wf=0-fc|0,jf=Wf&7,fi=Zf?0:jf,S0=fi+ve|0,di=$6+S0|0,Ic=di,va=Vf,Xf=Ic-va|0,i0=Zo+v4|0,X7=$6+i0|0,fs=Xf-v4|0,ed=v4|3,u0=Zo+4|0,td=$6+u0|0,e[td>>2]=ed,id=(di|0)==(P9|0);t:do if(id)rd=e[138265]|0,Ec=rd+fs|0,e[138265]=Ec,e[138268]=X7,sd=Ec|1,q1=i0+4|0,od=$6+q1|0,e[od>>2]=sd;else{if(mc=e[138267]|0,Ad=(di|0)==(mc|0),Ad){ad=e[138264]|0,ds=ad+fs|0,e[138264]=ds,e[138267]=X7,Sa=ds|1,V1=i0+4|0,$d=$6+V1|0,e[$d>>2]=Sa,O1=ds+i0|0,Cc=$6+O1|0,e[Cc>>2]=ds;break}if(o1=ve+4|0,K0=o1+fi|0,cd=$6+K0|0,Wo=e[cd>>2]|0,gd=Wo&3,hd=(gd|0)==1,hd){Bc=Wo&-8,pc=Wo>>>3,ud=Wo>>>0<256;i:do if(ud){G1=fi|8,V0=G1+ve|0,fd=$6+V0|0,dn=e[fd>>2]|0,k1=ve+12|0,J0=k1+fi|0,dd=$6+J0|0,In=e[dd>>2]|0,Ed=pc<<1,Qc=553088+(Ed<<2)|0,md=(dn|0)==(Qc|0);do if(!md){if(Cd=dn>>>0>>0,Cd&&Q2(),yc=dn+12|0,Bd=e[yc>>2]|0,wc=(Bd|0)==(di|0),wc)break;Q2()}while(!1);if(pd=(In|0)==(dn|0),pd){ba=1<>>0>>0,wd&&Q2(),Sc=In+8|0,kd=e[Sc>>2]|0,vd=(kd|0)==(di|0),vd){N=Sc;break}Q2()}while(!1);Sd=dn+12|0,e[Sd>>2]=In,e[N>>2]=dn}else{L1=fi|24,_0=L1+ve|0,bd=$6+_0|0,Es=e[bd>>2]|0,Y1=ve+12|0,Q0=Y1+fi|0,Dd=$6+Q0|0,En=e[Dd>>2]|0,_d=(En|0)==(di|0);do if(_d){if(W1=fi|16,D0=o1+W1|0,Lc=$6+D0|0,Rc=e[Lc>>2]|0,Md=(Rc|0)==0,Md)if(T0=W1+ve|0,Fc=$6+T0|0,Mc=e[Fc>>2]|0,Td=(Mc|0)==0,Td){x7=0;break}else Bn=Mc,dA=Fc;else Bn=Rc,dA=Lc;for(;;){if(Tc=Bn+20|0,Nc=e[Tc>>2]|0,Gd=(Nc|0)==0,!Gd){Bn=Nc,dA=Tc;continue}if(Gc=Bn+16|0,Uc=e[Gc>>2]|0,Ud=(Uc|0)==0,Ud){YE=Bn,zg=dA;break}else Bn=Uc,dA=Gc}if(Pd=zg>>>0>>0,Pd)Q2();else{e[zg>>2]=0,x7=YE;break}}else if(F1=fi|8,F0=F1+ve|0,xd=$6+F0|0,Da=e[xd>>2]|0,Ld=Da>>>0>>0,Ld&&Q2(),_a=Da+12|0,xa=e[_a>>2]|0,Dc=(xa|0)==(di|0),Dc||Q2(),_c=En+8|0,Fd=e[_c>>2]|0,xc=(Fd|0)==(di|0),xc){e[_a>>2]=En,e[_c>>2]=Da,x7=En;break}else Q2();while(!1);if(Pc=(Es|0)==0,Pc)break;w1=ve+28|0,M0=w1+fi|0,La=$6+M0|0,Oc=e[La>>2]|0,Yc=553352+(Oc<<2)|0,Od=e[Yc>>2]|0,qd=(di|0)==(Od|0);do if(qd){if(e[Yc>>2]=x7,ZE=(x7|0)==0,!ZE)break;Hd=1<>>0>>0,zd&&Q2(),Jc=Es+16|0,Zd=e[Jc>>2]|0,Wd=(Zd|0)==(di|0),Wd?e[Jc>>2]=x7:(jd=Es+20|0,e[jd>>2]=x7),Vc=(x7|0)==0,Vc)break i;while(!1);Kc=e[138266]|0,Xd=x7>>>0>>0,Xd&&Q2(),zc=x7+24|0,e[zc>>2]=Es,S1=fi|16,N0=S1+ve|0,Fa=$6+N0|0,jo=e[Fa>>2]|0,Zc=(jo|0)==0;do if(!Zc)if(tI=jo>>>0>>0,tI)Q2();else{iI=x7+16|0,e[iI>>2]=jo,rI=jo+24|0,e[rI>>2]=x7;break}while(!1);if(Y0=o1+S1|0,Wc=$6+Y0|0,Xo=e[Wc>>2]|0,nI=(Xo|0)==0,nI)break;if(sI=e[138266]|0,oI=Xo>>>0>>0,oI)Q2();else{AI=x7+20|0,e[AI>>2]=Xo,aI=Xo+24|0,e[aI>>2]=x7;break}}while(!1);o2=Bc|fi,R0=o2+ve|0,lI=$6+R0|0,cI=Bc+fs|0,Xg=lI,ti=cI}else Xg=di,ti=fs;if(jc=Xg+4|0,gI=e[jc>>2]|0,hI=gI&-2,e[jc>>2]=hI,uI=ti|1,k0=i0+4|0,fI=$6+k0|0,e[fI>>2]=uI,B0=ti+i0|0,eA=$6+B0|0,e[eA>>2]=ti,Xc=ti>>>3,dI=ti>>>0<256,dI){mn=Xc<<1,eg=553088+(mn<<2)|0,tg=e[138262]|0,Ma=1<>2]|0,CI=e[138266]|0,pI=ng>>>0>>0,!pI){R=rg,ja=ng;break}Q2()}while(!1);e[R>>2]=X7,QI=ja+12|0,e[QI>>2]=X7,B1=i0+8|0,yI=$6+B1|0,e[yI>>2]=ja,p1=i0+12|0,tA=$6+p1|0,e[tA>>2]=eg;break}Ta=ti>>>8,wI=(Ta|0)==0;do if(wI)xr=0;else{if(kI=ti>>>0>16777215,kI){xr=31;break}vI=Ta+1048320|0,SI=vI>>>16,sg=SI&8,og=Ta<>>16,Ag=_I&4,br=Ag|sg,ag=og<>>16,lg=xI&2,iA=br|lg,RI=14-iA|0,FI=ag<>>15,cg=RI+rA|0,MI=cg<<1,TI=cg+7|0,gg=ti>>>TI,NI=gg&1,GI=NI|MI,xr=GI}while(!1);if(Na=553352+(xr<<2)|0,y0=i0+28|0,UI=$6+y0|0,e[UI>>2]=xr,z0=i0+16|0,PI=$6+z0|0,G0=i0+20|0,OI=$6+G0|0,e[OI>>2]=0,e[PI>>2]=0,hg=e[138263]|0,ug=1<>2]=X7,r1=i0+24|0,ms=$6+r1|0,e[ms>>2]=Na,e1=i0+12|0,YI=$6+e1|0,e[YI>>2]=X7,i1=i0+8|0,JI=$6+i1|0,e[JI>>2]=X7;break}Ga=e[Na>>2]|0,Ig=Ga+4|0,VI=e[Ig>>2]|0,KI=VI&-8,zI=(KI|0)==(ti|0);i:do if(zI)Lr=Ga;else{for(ZI=(xr|0)==31,Eg=xr>>>1,WI=25-Eg|0,jI=ZI?0:WI,XI=ti<>>31,Qg=(n$+16|0)+(pg<<2)|0,Cs=e[Qg>>2]|0,vi=(Cs|0)==0,vi){A=Qg,KE=n$;break}if(eE=ks<<1,tE=Cs+4|0,Cg=e[tE>>2]|0,Bg=Cg&-8,iE=(Bg|0)==(ti|0),iE){Lr=Cs;break i}else ks=eE,n$=Cs}if(sr=e[138266]|0,rE=A>>>0>>0,rE)Q2();else{e[A>>2]=X7,m1=i0+24|0,nE=$6+m1|0,e[nE>>2]=KE,d1=i0+12|0,sE=$6+d1|0,e[sE>>2]=X7,E1=i0+8|0,oE=$6+E1|0,e[oE>>2]=X7;break t}}while(!1);if(Ua=Lr+8|0,oA=e[Ua>>2]|0,wg=e[138266]|0,kg=oA>>>0>=wg>>>0,o$=Lr>>>0>=wg>>>0,AE=kg&o$,AE){Bs=oA+12|0,e[Bs>>2]=X7,e[Ua>>2]=X7,Z0=i0+8|0,aE=$6+Z0|0,e[aE>>2]=oA,I1=i0+12|0,aA=$6+I1|0,e[aA>>2]=Lr,h1=i0+24|0,Pa=$6+h1|0,e[Pa>>2]=0;break}else Q2()}while(!1);return $1=Zo|8,$E=$6+$1|0,Ke=$E,Ke|0}else _s=553496;for(;;){if(Oa=e[_s>>2]|0,lE=Oa>>>0>P9>>>0,!lE&&(cE=_s+4|0,vg=e[cE>>2]|0,$A=Oa+vg|0,gE=$A>>>0>P9>>>0,gE)){c=Oa,u=vg,E=$A;break}hE=_s+8|0,uE=e[hE>>2]|0,_s=uE}if(a0=u+-47|0,l0=u+-39|0,fE=c+l0|0,bg=fE,dE=bg&7,jt=(dE|0)==0,y4=0-bg|0,ei=y4&7,IE=jt?0:ei,a1=a0+IE|0,_g=c+a1|0,qa=P9+16|0,EE=_g>>>0>>0,Dr=EE?P9:_g,ps=Dr+8|0,mE=ve+-40|0,CE=$6+8|0,xg=CE,Ha=xg&7,BE=(Ha|0)==0,Rg=0-xg|0,Fg=Rg&7,Ya=BE?0:Fg,Ja=$6+Ya|0,Mg=mE-Ya|0,e[138268]=Ja,e[138265]=Mg,Qs=Mg|1,Z=Ya+4|0,Va=$6+Z|0,e[Va>>2]=Qs,s1=ve+-36|0,Tg=$6+s1|0,e[Tg>>2]=40,pE=e[138384]|0,e[138269]=pE,Cn=Dr+4|0,e[Cn>>2]=27,e[ps>>2]=e[138374]|0,e[ps+4>>2]=e[138375]|0,e[ps+8>>2]=e[138376]|0,e[ps+12>>2]=e[138377]|0,e[138374]=$6,e[138375]=ve,e[138377]=0,e[138376]=ps,Ng=Dr+28|0,e[Ng>>2]=7,lA=Dr+32|0,yE=lA>>>0>>0,yE)for(Si=Ng;Gg=Si+4|0,e[Gg>>2]=7,wE=Si+8|0,kE=wE>>>0>>0,kE;)Si=Gg;if(vE=(Dr|0)==(P9|0),!vE){if(SE=Dr,bE=P9,bi=SE-bE|0,_E=e[Cn>>2]|0,xE=_E&-2,e[Cn>>2]=xE,LE=bi|1,Ug=P9+4|0,e[Ug>>2]=LE,e[Dr>>2]=bi,Ii=bi>>>3,cA=bi>>>0<256,cA){Ka=Ii<<1,Pg=553088+(Ka<<2)|0,Og=e[138262]|0,qg=1<>2]|0,TE=e[138266]|0,NE=Jg>>>0>>0,NE?Q2():(x=Yg,Za=Jg)),e[x>>2]=P9,Vg=Za+12|0,e[Vg>>2]=P9,GE=P9+8|0,e[GE>>2]=Za,gA=P9+12|0,e[gA>>2]=Pg;break}if(hA=bi>>>8,UE=(hA|0)==0,UE?or=0:(za=bi>>>0>16777215,za?or=31:(PE=hA+1048320|0,OE=PE>>>16,Kg=OE&8,ws=hA<>>16,l2=HE&4,r2=l2|Kg,a2=ws<>>16,f2=s2&2,e2=r2|f2,y2=14-e2|0,v2=a2<>>15,F2=y2+w2|0,D2=F2<<1,N2=F2+7|0,d2=bi>>>N2,K2=d2&1,G2=K2|D2,or=G2)),H2=553352+(or<<2)|0,M2=P9+28|0,e[M2>>2]=or,P2=P9+20|0,e[P2>>2]=0,e[qa>>2]=0,z2=e[138263]|0,O2=1<>2]=P9,e5=P9+24|0,e[e5>>2]=H2,b5=P9+12|0,e[b5>>2]=P9,Z2=P9+8|0,e[Z2>>2]=P9;break}f5=e[H2>>2]|0,v5=f5+4|0,P5=e[v5>>2]|0,k2=P5&-8,m5=(k2|0)==(bi|0);t:do if(m5)EA=f5;else{for(n5=(or|0)==31,x2=or>>>1,_2=25-x2|0,B2=n5?0:_2,C5=bi<>>31,c5=(s$+16|0)+(A5<<2)|0,D5=e[c5>>2]|0,B5=(D5|0)==0,B5){a=c5,Wg=s$;break}if(R5=t$<<1,d5=D5+4|0,_5=e[d5>>2]|0,q2=_5&-8,I5=(q2|0)==(bi|0),I5){EA=D5;break t}else t$=R5,s$=D5}if(M1=e[138266]|0,S5=a>>>0>>0,S5)Q2();else{e[a>>2]=P9,g5=P9+24|0,e[g5>>2]=Wg,a5=P9+12|0,e[a5>>2]=P9,g2=P9+8|0,e[g2>>2]=P9;break e}}while(!1);if(p5=EA+8|0,t5=e[p5>>2]|0,s5=e[138266]|0,h5=t5>>>0>=s5>>>0,jE=EA>>>0>=s5>>>0,J2=h5&jE,J2){u5=t5+12|0,e[u5>>2]=P9,e[p5>>2]=P9,i5=P9+8|0,e[i5>>2]=t5,x5=P9+12|0,e[x5>>2]=EA,j2=P9+24|0,e[j2>>2]=0;break}else Q2()}}while(!1);if(L2=e[138265]|0,Q5=L2>>>0>v4>>>0,Q5)return q5=L2-v4|0,e[138265]=q5,j5=e[138268]|0,E5=j5+v4|0,e[138268]=E5,f3=q5|1,V=v4+4|0,h3=j5+V|0,e[h3>>2]=f3,J5=v4|3,X5=j5+4|0,e[X5>>2]=J5,n3=j5+8|0,Ke=n3,Ke|0}return F5=jp()|0,e[F5>>2]=12,Ke=0,Ke|0}function I2(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,k3=0,u3=0,p3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,X3=0,c6=0,p6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,L6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,L4=0,T4=0,j4=0,C4=0,N4=0,U9=0,G4=0,a4=0,R4=0,u4=0,Ce=0,q9=0,m9=0,Be=0,Ne=0,Xe=0,U4=0,Ge=0,P4=0,X4=0,be=0,e8=0,Z9=0,$e=0,f4=0,_6=0,O4=0,R9=0,$4=0,_4=0,le=0,W9=0,ce=0,ge=0,B4=0,ee=0,F4=0,he=0,C9=0,g6=0,Ue=0,l4=0,pe=0,p4=0,c4=0,P6=0,De=0,_e=0,t8=0,g4=0,k4=0,u8=0,J3=0,w9=0,B9=0,M4=0,te=0,$t=0,xe=0;if(xe=C,X=(t|0)==0,!X){U=t+-8|0,K2=e[138266]|0,C6=U>>>0>>0,C6&&Q2(),y6=t+-4|0,$9=e[y6>>2]|0,z9=$9&3,L4=(z9|0)==1,L4&&Q2(),q9=$9&-8,p=q9+-8|0,Z9=t+p|0,$0=$9&1,j=($0|0)==0;do if(j){if(S0=e[U>>2]|0,D0=(z9|0)==0,D0)return;if(Q=-8-S0|0,b0=t+Q|0,Z0=S0+q9|0,w1=b0>>>0>>0,w1&&Q2(),O1=e[138267]|0,o2=(b0|0)==(O1|0),o2){if(z=q9+-4|0,s0=t+z|0,i0=e[s0>>2]|0,r0=i0&3,V=(r0|0)==3,!V){J3=b0,w9=Z0;break}e[138264]=Z0,h0=i0&-2,e[s0>>2]=h0,o0=Z0|1,_=Q+4|0,g0=t+_|0,e[g0>>2]=o0,e[Z9>>2]=Z0;return}if(s2=S0>>>3,G2=S0>>>0<256,G2){if(Y=Q+8|0,b5=t+Y|0,B2=e[b5>>2]|0,t0=Q+12|0,B5=t+t0|0,J2=e[B5>>2]|0,f3=s2<<1,z3=553088+(f3<<2)|0,C3=(B2|0)==(z3|0),C3||(u6=B2>>>0>>0,u6&&Q2(),l6=B2+12|0,b3=e[l6>>2]|0,O6=(b3|0)==(b0|0),O6||Q2()),J6=(J2|0)==(B2|0),J6){G6=1<>>0>>0,D6&&Q2(),z6=J2+8|0,F6=e[z6>>2]|0,M3=(F6|0)==(b0|0),M3?c=z6:Q2()),M6=B2+12|0,e[M6>>2]=J2,e[c>>2]=B2,J3=b0,w9=Z0;break}L=Q+24|0,t9=t+L|0,A9=e[t9>>2]|0,x=Q+12|0,X6=t+x|0,u9=e[X6>>2]|0,f9=(u9|0)==(b0|0);do if(f9){if(M=Q+20|0,o4=t+M|0,h4=e[o4>>2]|0,G9=(h4|0)==0,G9)if(R=Q+16|0,b9=t+R|0,E9=e[b9>>2]|0,q6=(E9|0)==0,q6){C9=0;break}else F4=E9,pe=b9;else F4=h4,pe=o4;for(;;){if(r9=F4+20|0,m4=e[r9>>2]|0,S4=(m4|0)==0,!S4){F4=m4,pe=r9;continue}if(A4=F4+16|0,y9=e[A4>>2]|0,b4=(y9|0)==0,b4){he=F4,p4=pe;break}else F4=y9,pe=A4}if(D4=p4>>>0>>0,D4)Q2();else{e[p4>>2]=0,C9=he;break}}else if(O=Q+8|0,d9=t+O|0,a9=e[d9>>2]|0,T9=a9>>>0>>0,T9&&Q2(),E6=a9+12|0,T6=e[E6>>2]|0,i9=(T6|0)==(b0|0),i9||Q2(),N9=u9+8|0,I9=e[N9>>2]|0,E4=(I9|0)==(b0|0),E4){e[E6>>2]=u9,e[N9>>2]=a9,C9=u9;break}else Q2();while(!1);if(T4=(A9|0)==0,T4)J3=b0,w9=Z0;else{if(T=Q+28|0,j4=t+T|0,C4=e[j4>>2]|0,N4=553352+(C4<<2)|0,U9=e[N4>>2]|0,G4=(b0|0)==(U9|0),G4){if(e[N4>>2]=C9,g4=(C9|0)==0,g4){a4=1<>>0>>0,Be&&Q2(),Ne=A9+16|0,Xe=e[Ne>>2]|0,U4=(Xe|0)==(b0|0),U4?e[Ne>>2]=C9:(Ge=A9+20|0,e[Ge>>2]=C9),P4=(C9|0)==0,P4){J3=b0,w9=Z0;break}X4=e[138266]|0,be=C9>>>0>>0,be&&Q2(),e8=C9+24|0,e[e8>>2]=A9,N=Q+16|0,$e=t+N|0,f4=e[$e>>2]|0,_6=(f4|0)==0;do if(!_6)if(O4=f4>>>0>>0,O4)Q2();else{R9=C9+16|0,e[R9>>2]=f4,$4=f4+24|0,e[$4>>2]=C9;break}while(!1);if(G=Q+20|0,_4=t+G|0,le=e[_4>>2]|0,W9=(le|0)==0,W9)J3=b0,w9=Z0;else if(ce=e[138266]|0,Z=le>>>0>>0,Z)Q2();else{K=C9+20|0,e[K>>2]=le,a0=le+24|0,e[a0>>2]=C9,J3=b0,w9=Z0;break}}}else J3=U,w9=q9;while(!1);if(l0=J3>>>0>>0,l0||Q2(),D=q9+-4|0,u0=t+D|0,d0=e[u0>>2]|0,w0=d0&1,C0=(w0|0)==0,C0&&Q2(),k0=d0&2,f0=(k0|0)==0,f0){if(B0=e[138268]|0,p0=(Z9|0)==(B0|0),p0){if(I0=e[138265]|0,K0=I0+w9|0,e[138265]=K0,e[138268]=J3,_0=K0|1,Q0=J3+4|0,e[Q0>>2]=_0,F0=e[138267]|0,M0=(J3|0)==(F0|0),!M0)return;e[138267]=0,e[138264]=0;return}if(N0=e[138267]|0,U0=(Z9|0)==(N0|0),U0){y0=e[138264]|0,Y0=y0+w9|0,e[138264]=Y0,e[138267]=J3,R0=Y0|1,T0=J3+4|0,e[T0>>2]=R0,V0=J3+Y0|0,e[V0>>2]=Y0;return}J0=d0&-8,P0=J0+w9|0,z0=d0>>>3,G0=d0>>>0<256;do if(G0){if(O0=t+q9|0,r1=e[O0>>2]|0,y=q9|4,H0=t+y|0,e1=e[H0>>2]|0,i1=z0<<1,c1=553088+(i1<<2)|0,$1=(r1|0)==(c1|0),$1||(f1=e[138266]|0,g1=r1>>>0>>0,g1&&Q2(),l1=r1+12|0,s1=e[l1>>2]|0,a1=(s1|0)==(Z9|0),a1||Q2()),n1=(e1|0)==(r1|0),n1){o1=1<>>0>>0,B1&&Q2(),p1=e1+8|0,Q1=e[p1>>2]|0,_1=(Q1|0)==(Z9|0),_1?a=p1:Q2()),x1=r1+12|0,e[x1>>2]=e1,e[a>>2]=r1}else{J=q9+16|0,S1=t+J|0,L1=e[S1>>2]|0,W=q9|4,F1=t+W|0,G1=e[F1>>2]|0,k1=(G1|0)==(Z9|0);do if(k1){if(q=q9+12|0,W1=t+q|0,P1=e[W1>>2]|0,c2=(P1|0)==0,c2)if(e0=q9+8|0,z1=t+e0|0,u2=e[z1>>2]|0,E2=(u2|0)==0,E2){l4=0;break}else g6=u2,c4=z1;else g6=P1,c4=W1;for(;;){if(A2=g6+20|0,K1=e[A2>>2]|0,h2=(K1|0)==0,!h2){g6=K1,c4=A2;continue}if($2=g6+16|0,i2=e[$2>>2]|0,l2=(i2|0)==0,l2){Ue=g6,P6=c4;break}else g6=i2,c4=$2}if(r2=e[138266]|0,a2=P6>>>0>>0,a2)Q2();else{e[P6>>2]=0,l4=Ue;break}}else if(U1=t+q9|0,Z1=e[U1>>2]|0,N1=e[138266]|0,b1=Z1>>>0>>0,b1&&Q2(),V1=Z1+12|0,q1=e[V1>>2]|0,H1=(q1|0)==(Z9|0),H1||Q2(),Y1=G1+8|0,j1=e[Y1>>2]|0,n2=(j1|0)==(Z9|0),n2){e[V1>>2]=G1,e[Y1>>2]=Z1,l4=G1;break}else Q2();while(!1);if(X1=(L1|0)==0,!X1){if(S=q9+20|0,f2=t+S|0,e2=e[f2>>2]|0,y2=553352+(e2<<2)|0,v2=e[y2>>2]|0,w2=(Z9|0)==(v2|0),w2){if(e[y2>>2]=l4,k4=(l4|0)==0,k4){C2=1<>>0>>0,H2&&Q2(),M2=L1+16|0,P2=e[M2>>2]|0,z2=(P2|0)==(Z9|0),z2?e[M2>>2]=l4:(o5=L1+20|0,e[o5>>2]=l4),O2=(l4|0)==0,O2)break;T1=e[138266]|0,X2=l4>>>0>>0,X2&&Q2(),L5=l4+24|0,e[L5>>2]=L1,b=q9+8|0,e5=t+b|0,Z2=e[e5>>2]|0,f5=(Z2|0)==0;do if(!f5)if(v5=Z2>>>0>>0,v5)Q2();else{P5=l4+16|0,e[P5>>2]=Z2,l5=Z2+24|0,e[l5>>2]=l4;break}while(!1);if(w=q9+12|0,k2=t+w|0,m5=e[k2>>2]|0,n5=(m5|0)==0,!n5)if(x2=e[138266]|0,_2=m5>>>0>>0,_2)Q2();else{C5=l4+20|0,e[C5>>2]=m5,R5=m5+24|0,e[R5>>2]=l4;break}}}while(!1);if(d5=P0|1,D5=J3+4|0,e[D5>>2]=d5,G5=J3+P0|0,e[G5>>2]=P0,_5=e[138267]|0,q2=(J3|0)==(_5|0),q2){e[138264]=P0;return}else B9=P0}else I5=d0&-2,e[u0>>2]=I5,A5=w9|1,c5=J3+4|0,e[c5>>2]=A5,M1=J3+w9|0,e[M1>>2]=w9,B9=w9;if(S5=B9>>>3,g5=B9>>>0<256,g5){a5=S5<<1,W2=553088+(a5<<2)|0,g2=e[138262]|0,p5=1<>2]|0,x5=e[138266]|0,j2=i5>>>0>>0,j2?Q2():(u=u5,ge=i5)),e[u>>2]=J3,$5=ge+12|0,e[$5>>2]=J3,L2=J3+8|0,e[L2>>2]=ge,Q5=J3+12|0,e[Q5>>2]=W2;return}q5=B9>>>8,j5=(q5|0)==0,j5?B4=0:(E5=B9>>>0>16777215,E5?B4=31:(h3=q5+1048320|0,J5=h3>>>16,X5=J5&8,n3=q5<>>16,V5=F5&4,k3=V5|X5,u3=n3<>>16,z5=G3&2,w3=k3|z5,W5=14-w3|0,i6=u3<>>15,U3=W5+L3|0,a3=U3<<1,l3=U3+7|0,c3=B9>>>l3,H5=c3&1,U5=H5|a3,B4=U5)),O5=553352+(B4<<2)|0,k5=J3+28|0,e[k5>>2]=B4,P3=J3+16|0,M5=J3+20|0,e[M5>>2]=0,e[P3>>2]=0,o6=e[138263]|0,e3=1<>2]=J3,v3=J3+24|0,e[v3>>2]=O5,y3=J3+12|0,e[y3>>2]=J3,r6=J3+8|0,e[r6>>2]=J3;else{j3=e[O5>>2]|0,O3=j3+4|0,K5=e[O3>>2]|0,S3=K5&-8,g3=(S3|0)==(B9|0);t:do if(g3)De=j3;else{for(q3=(B4|0)==31,d3=B4>>>1,k6=25-d3|0,v6=q3?0:k6,S6=B9<>>31,t6=(_e+16|0)+(e6<<2)|0,c6=e[t6>>2]|0,f6=(c6|0)==0,f6){n=t6,t8=_e;break}if(B6=ee<<1,X3=c6+4|0,p6=e[X3>>2]|0,x6=p6&-8,Y6=(x6|0)==(B9|0),Y6){De=c6;break t}else ee=B6,_e=c6}if(H3=e[138266]|0,D3=n>>>0

>>0,D3)Q2();else{e[n>>2]=J3,Y3=J3+24|0,e[Y3>>2]=t8,Z3=J3+12|0,e[Z3>>2]=J3,b6=J3+8|0,e[b6>>2]=J3;break e}}while(!1);if(A6=De+8|0,t3=e[A6>>2]|0,s3=e[138266]|0,a6=t3>>>0>=s3>>>0,u8=De>>>0>=s3>>>0,d6=a6&u8,d6){_3=t3+12|0,e[_3>>2]=J3,e[A6>>2]=J3,N6=J3+8|0,e[N6>>2]=t3,n6=J3+12|0,e[n6>>2]=De,Q6=J3+24|0,e[Q6>>2]=0;break}else Q2()}while(!1);if(L6=e[138270]|0,K6=L6+-1|0,e[138270]=K6,I6=(K6|0)==0,I6)te=553504;else return;for(;M4=e[te>>2]|0,F3=(M4|0)==0,j6=M4+8|0,!F3;)te=j6;e[138270]=-1}}function n4(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0;return _=C,a=(t|0)==0,a?D=0:(c=r5(n,t)|0,I=n|t,m=I>>>0>65535,m?(p=(c>>>0)/(t>>>0)&-1,B=(p|0)==(n|0),A=B?c:-1,D=A):D=c),S=S9(D)|0,b=(S|0)==0,b||(w=S+-4|0,y=e[w>>2]|0,u=y&3,E=(u|0)==0,E)||ae(S|0,0,D|0)|0,S|0}function qi(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0;return Y=C,A=(t|0)==0,A?(a=S9(n)|0,O=a,O|0):(y=n>>>0>4294967231,y?(L=jp()|0,e[L>>2]=12,O=0,O|0):(x=n>>>0<11,R=n+11|0,M=R&-8,T=x?16:M,N=t+-8|0,G=pb(N,T)|0,c=(G|0)==0,c?(E=S9(n)|0,I=(E|0)==0,I?(O=0,O|0):(m=t+-4|0,p=e[m>>2]|0,B=p&-8,S=p&3,b=(S|0)==0,w=b?8:4,D=B-w|0,Q=D>>>0>>0,_=Q?D:n,s4(E|0,t|0,_|0)|0,I2(t),O=E,O|0)):(u=G+8|0,O=u,O|0)))}function pb(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0;if(V5=C,N=t+4|0,G=e[N>>2]|0,k1=G&-8,n2=t+k1|0,$2=e[138266]|0,w2=G&3,f3=t>>>0>=$2>>>0,h3=(w2|0)!=1,J5=h3&f3,z2=t>>>0>>0,X5=J5&z2,X5||Q2(),_=k1|4,P5=t+_|0,D5=e[P5>>2]|0,a5=D5&1,O=(a5|0)==0,O&&Q2(),Z=(w2|0)==0,Z)return l0=n>>>0<256,l0?(E5=0,E5|0):(K0=n+4|0,T0=k1>>>0>>0,!T0&&(i1=k1-n|0,I1=e[138382]|0,S1=I1<<1,F1=i1>>>0>S1>>>0,!F1)?(E5=t,E5|0):(E5=0,E5|0));if(G1=k1>>>0>>0,!G1)return U1=k1-n|0,Z1=U1>>>0>15,Z1?(N1=t+n|0,b1=G&1,V1=b1|n,O1=V1|2,e[N>>2]=O1,Q=n+4|0,q1=t+Q|0,H1=U1|3,e[q1>>2]=H1,Y1=e[P5>>2]|0,j1=Y1|1,e[P5>>2]=j1,bQ(N1,U1),E5=t,E5|0):(E5=t,E5|0);if(W1=e[138268]|0,P1=(n2|0)==(W1|0),P1)return c2=e[138265]|0,z1=c2+k1|0,u2=z1>>>0>n>>>0,u2?(o2=z1-n|0,E2=t+n|0,A2=G&1,K1=A2|n,h2=K1|2,e[N>>2]=h2,D=n+4|0,i2=t+D|0,l2=o2|1,e[i2>>2]=l2,e[138268]=E2,e[138265]=o2,E5=t,E5|0):(E5=0,E5|0);if(r2=e[138267]|0,a2=(n2|0)==(r2|0),a2)return X1=e[138264]|0,s2=X1+k1|0,f2=s2>>>0>>0,f2?(E5=0,E5|0):(e2=s2-n|0,y2=e2>>>0>15,y2?(v2=t+n|0,C2=t+s2|0,F2=G&1,D2=F2|n,N2=D2|2,e[N>>2]=N2,b=n+4|0,d2=t+b|0,K2=e2|1,e[d2>>2]=K2,e[C2>>2]=e2,y=s2+4|0,G2=t+y|0,H2=e[G2>>2]|0,M2=H2&-2,e[G2>>2]=M2,n3=v2,m3=e2):(P2=G&1,o5=P2|s2,O2=o5|2,e[N>>2]=O2,S=s2+4|0,T1=t+S|0,X2=e[T1>>2]|0,L5=X2|1,e[T1>>2]=L5,n3=0,m3=0),e[138264]=m3,e[138267]=n3,E5=t,E5|0);if(e5=D5&2,b5=(e5|0)==0,!b5||(Z2=D5&-8,f5=Z2+k1|0,v5=f5>>>0>>0,v5))return E5=0,E5|0;l5=f5-n|0,k2=D5>>>3,m5=D5>>>0<256;do if(m5){if(p=k1+8|0,n5=t+p|0,x2=e[n5>>2]|0,B=k1+12|0,_2=t+B|0,B2=e[_2>>2]|0,C5=k2<<1,R5=553088+(C5<<2)|0,d5=(x2|0)==(R5|0),d5||(G5=x2>>>0<$2>>>0,G5&&Q2(),_5=x2+12|0,q2=e[_5>>2]|0,I5=(q2|0)==(n2|0),I5||Q2()),A5=(B2|0)==(x2|0),A5){c5=1<>>0<$2>>>0,W2&&Q2(),g2=B2+8|0,p5=e[g2>>2]|0,t5=(p5|0)==(n2|0),t5?a=g2:Q2()),s5=x2+12|0,e[s5>>2]=B2,e[a>>2]=x2}else{c=k1+24|0,h5=t+c|0,J2=e[h5>>2]|0,w=k1+12|0,u5=t+w|0,i5=e[u5>>2]|0,x5=(i5|0)==(n2|0);do if(x5){if(x=k1+20|0,$0=t+x|0,K=e[$0>>2]|0,a0=(K|0)==0,a0)if(L=k1+16|0,s0=t+L|0,i0=e[s0>>2]|0,r0=(i0|0)==0,r0){L2=0;break}else j2=i0,Q5=s0;else j2=K,Q5=$0;for(;;){if(V=j2+20|0,h0=e[V>>2]|0,o0=(h0|0)==0,!o0){j2=h0,Q5=V;continue}if(g0=j2+16|0,j=e[g0>>2]|0,u0=(j|0)==0,u0){$5=j2,q5=Q5;break}else j2=j,Q5=g0}if(d0=q5>>>0<$2>>>0,d0)Q2();else{e[q5>>2]=0,L2=$5;break}}else if(m=k1+8|0,z=t+m|0,Y=e[z>>2]|0,t0=Y>>>0<$2>>>0,t0&&Q2(),J=Y+12|0,W=e[J>>2]|0,e0=(W|0)==(n2|0),e0||Q2(),q=i5+8|0,X=e[q>>2]|0,U=(X|0)==(n2|0),U){e[J>>2]=i5,e[q>>2]=Y,L2=i5;break}else Q2();while(!1);if(w0=(J2|0)==0,!w0){if(u=k1+28|0,C0=t+u|0,k0=e[C0>>2]|0,f0=553352+(k0<<2)|0,B0=e[f0>>2]|0,p0=(n2|0)==(B0|0),p0){if(e[f0>>2]=L2,j5=(L2|0)==0,j5){I0=1<>>0>>0,M0&&Q2(),N0=J2+16|0,U0=e[N0>>2]|0,y0=(U0|0)==(n2|0),y0?e[N0>>2]=L2:(Y0=J2+20|0,e[Y0>>2]=L2),R0=(L2|0)==0,R0)break;D0=e[138266]|0,V0=L2>>>0>>0,V0&&Q2(),J0=L2+24|0,e[J0>>2]=J2,E=k1+16|0,P0=t+E|0,z0=e[P0>>2]|0,G0=(z0|0)==0;do if(!G0)if(O0=z0>>>0>>0,O0)Q2();else{r1=L2+16|0,e[r1>>2]=z0,H0=z0+24|0,e[H0>>2]=L2;break}while(!1);if(I=k1+20|0,e1=t+I|0,b0=e[e1>>2]|0,c1=(b0|0)==0,!c1)if($1=e[138266]|0,f1=b0>>>0<$1>>>0,f1)Q2();else{g1=L2+20|0,e[g1>>2]=b0,l1=b0+24|0,e[l1>>2]=L2;break}}}while(!1);return s1=l5>>>0<16,s1?(a1=G&1,n1=f5|a1,o1=n1|2,e[N>>2]=o1,T=f5|4,Z0=t+T|0,h1=e[Z0>>2]|0,m1=h1|1,e[Z0>>2]=m1,E5=t,E5|0):(d1=t+n|0,E1=G&1,B1=E1|n,p1=B1|2,e[N>>2]=p1,R=n+4|0,Q1=t+R|0,_1=l5|3,e[Q1>>2]=_1,M=f5|4,x1=t+M|0,w1=e[x1>>2]|0,L1=w1|1,e[x1>>2]=L1,bQ(d1,l5),E5=t,E5|0)}function bQ(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,k3=0,u3=0,p3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,X3=0,c6=0,p6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,L6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,L4=0,T4=0,j4=0,C4=0,N4=0,U9=0,G4=0,a4=0,R4=0,u4=0,Ce=0,q9=0,m9=0,Be=0,Ne=0,Xe=0,U4=0,Ge=0,P4=0,X4=0,be=0,e8=0,Z9=0,$e=0,f4=0,_6=0,O4=0,R9=0,$4=0,_4=0,le=0,W9=0,ce=0,ge=0,B4=0,ee=0,F4=0,he=0,C9=0,g6=0,Ue=0,l4=0,pe=0,p4=0;p4=C,K=t+n|0,a0=t+4|0,P2=e[a0>>2]|0,f6=P2&1,J6=(f6|0)==0;do if(J6){if(F6=e[t>>2]|0,T9=P2&3,b9=(T9|0)==0,b9)return;if(T4=0-F6|0,m9=t+T4|0,s0=F6+n|0,w0=e[138266]|0,F0=m9>>>0>>0,F0&&Q2(),P0=e[138267]|0,f1=(m9|0)==(P0|0),f1){if(w=n+4|0,Z9=t+w|0,i0=e[Z9>>2]|0,r0=i0&3,V=(r0|0)==3,!V){A=m9,a=s0;break}e[138264]=s0,h0=i0&-2,e[Z9>>2]=h0,o0=s0|1,x=4-F6|0,g0=t+x|0,e[g0>>2]=o0,e[K>>2]=s0;return}if(d1=F6>>>3,G1=F6>>>0<256,G1){if(J=8-F6|0,j1=t+J|0,h2=e[j1>>2]|0,W=12-F6|0,v2=t+W|0,z2=e[v2>>2]|0,P5=d1<<1,D5=553088+(P5<<2)|0,a5=(h2|0)==(D5|0),a5||(j2=h2>>>0>>0,j2&&Q2(),n3=h2+12|0,W5=e[n3>>2]|0,k5=(W5|0)==(m9|0),k5||Q2()),r6=(z2|0)==(h2|0),r6){S6=1<>>0>>0,N6&&Q2(),n6=z2+8|0,Q6=e[n6>>2]|0,L6=(Q6|0)==(m9|0),L6?m=n6:Q2()),K6=h2+12|0,e[K6>>2]=z2,e[m>>2]=h2,A=m9,a=s0;break}R=24-F6|0,I6=t+R|0,F3=e[I6>>2]|0,M=12-F6|0,j6=t+M|0,G6=e[j6>>2]|0,e9=(G6|0)==(m9|0);do if(e9){if(T=16-F6|0,N=T+4|0,A9=t+N|0,X6=e[A9>>2]|0,u9=(X6|0)==0,u9)if(f9=t+T|0,d9=e[f9>>2]|0,a9=(d9|0)==0,a9){$4=0;break}else O4=d9,ce=f9;else O4=X6,ce=A9;for(;;){if($9=O4+20|0,E6=e[$9>>2]|0,T6=(E6|0)==0,!T6){O4=E6,ce=$9;continue}if(i9=O4+16|0,N9=e[i9>>2]|0,I9=(N9|0)==0,I9){R9=O4,ge=ce;break}else O4=N9,ce=i9}if(E4=ge>>>0>>0,E4)Q2();else{e[ge>>2]=0,$4=R9;break}}else if(t0=8-F6|0,s9=t+t0|0,R6=e[s9>>2]|0,U6=R6>>>0>>0,U6&&Q2(),D6=R6+12|0,z6=e[D6>>2]|0,y6=(z6|0)==(m9|0),y6||Q2(),M3=G6+8|0,M6=e[M3>>2]|0,t9=(M6|0)==(m9|0),t9){e[D6>>2]=G6,e[M3>>2]=R6,$4=G6;break}else Q2();while(!1);if(o4=(F3|0)==0,o4)A=m9,a=s0;else{if(O=28-F6|0,h4=t+O|0,G9=e[h4>>2]|0,z9=553352+(G9<<2)|0,E9=e[z9>>2]|0,q6=(m9|0)==(E9|0),q6){if(e[z9>>2]=$4,g6=($4|0)==0,g6){r9=1<>>0>>0,b4&&Q2(),D4=F3+16|0,L4=e[D4>>2]|0,j4=(L4|0)==(m9|0),j4?e[D4>>2]=$4:(C4=F3+20|0,e[C4>>2]=$4),N4=($4|0)==0,N4){A=m9,a=s0;break}U9=e[138266]|0,G4=$4>>>0>>0,G4&&Q2(),a4=$4+24|0,e[a4>>2]=F3,z=16-F6|0,R4=t+z|0,u4=e[R4>>2]|0,Ce=(u4|0)==0;do if(!Ce)if(q9=u4>>>0>>0,q9)Q2();else{Be=$4+16|0,e[Be>>2]=u4,Ne=u4+24|0,e[Ne>>2]=$4;break}while(!1);if(Y=z+4|0,Xe=t+Y|0,U4=e[Xe>>2]|0,Ge=(U4|0)==0,Ge)A=m9,a=s0;else if(P4=e[138266]|0,X4=U4>>>0>>0,X4)Q2();else{be=$4+20|0,e[be>>2]=U4,e8=U4+24|0,e[e8>>2]=$4,A=m9,a=s0;break}}}else A=t,a=n;while(!1);if(j=e[138266]|0,l0=K>>>0>>0,l0&&Q2(),y=n+4|0,u0=t+y|0,d0=e[u0>>2]|0,C0=d0&2,k0=(C0|0)==0,k0){if(f0=e[138268]|0,B0=(K|0)==(f0|0),B0){if(p0=e[138265]|0,I0=p0+a|0,e[138265]=I0,e[138268]=A,S0=I0|1,K0=A+4|0,e[K0>>2]=S0,_0=e[138267]|0,Q0=(A|0)==(_0|0),!Q0)return;e[138267]=0,e[138264]=0;return}if(M0=e[138267]|0,N0=(K|0)==(M0|0),N0){U0=e[138264]|0,y0=U0+a|0,e[138264]=y0,e[138267]=A,Y0=y0|1,R0=A+4|0,e[R0>>2]=Y0,D0=A+y0|0,e[D0>>2]=y0;return}T0=d0&-8,V0=T0+a|0,J0=d0>>>3,z0=d0>>>0<256;do if(z0){if(_=n+8|0,G0=t+_|0,O0=e[G0>>2]|0,L=n+12|0,r1=t+L|0,H0=e[r1>>2]|0,e1=J0<<1,b0=553088+(e1<<2)|0,i1=(O0|0)==(b0|0),i1||(c1=O0>>>0>>0,c1&&Q2(),$1=O0+12|0,g1=e[$1>>2]|0,l1=(g1|0)==(K|0),l1||Q2()),s1=(H0|0)==(O0|0),s1){a1=1<>>0>>0,h1&&Q2(),m1=H0+8|0,E1=e[m1>>2]|0,B1=(E1|0)==(K|0),B1?I=m1:Q2()),p1=O0+12|0,e[p1>>2]=H0,e[I>>2]=O0}else{G=n+24|0,Q1=t+G|0,_1=e[Q1>>2]|0,e0=n+12|0,x1=t+e0|0,w1=e[x1>>2]|0,S1=(w1|0)==(K|0);do if(S1){if(X=n+20|0,q1=t+X|0,H1=e[q1>>2]|0,Y1=(H1|0)==0,Y1)if(q=n+16|0,n2=t+q|0,W1=e[n2>>2]|0,P1=(W1|0)==0,P1){W9=0;break}else _4=W1,B4=n2;else _4=H1,B4=q1;for(;;){if(c2=_4+20|0,z1=e[c2>>2]|0,u2=(z1|0)==0,!u2){_4=z1,B4=c2;continue}if(o2=_4+16|0,E2=e[o2>>2]|0,A2=(E2|0)==0,A2){le=_4,ee=B4;break}else _4=E2,B4=o2}if(K1=ee>>>0>>0,K1)Q2();else{e[ee>>2]=0,W9=le;break}}else if(Q=n+8|0,L1=t+Q|0,F1=e[L1>>2]|0,k1=F1>>>0>>0,k1&&Q2(),U1=F1+12|0,Z1=e[U1>>2]|0,N1=(Z1|0)==(K|0),N1||Q2(),b1=w1+8|0,V1=e[b1>>2]|0,O1=(V1|0)==(K|0),O1){e[U1>>2]=w1,e[b1>>2]=F1,W9=w1;break}else Q2();while(!1);if($2=(_1|0)==0,!$2){if($0=n+28|0,i2=t+$0|0,l2=e[i2>>2]|0,r2=553352+(l2<<2)|0,a2=e[r2>>2]|0,X1=(K|0)==(a2|0),X1){if(e[r2>>2]=W9,Ue=(W9|0)==0,Ue){s2=1<>>0>>0,C2&&Q2(),F2=_1+16|0,D2=e[F2>>2]|0,N2=(D2|0)==(K|0),N2?e[F2>>2]=W9:(d2=_1+20|0,e[d2>>2]=W9),K2=(W9|0)==0,K2)break;G2=e[138266]|0,H2=W9>>>0>>0,H2&&Q2(),M2=W9+24|0,e[M2>>2]=_1,Z=n+16|0,o5=t+Z|0,O2=e[o5>>2]|0,T1=(O2|0)==0;do if(!T1)if(X2=O2>>>0>>0,X2)Q2();else{L5=W9+16|0,e[L5>>2]=O2,e5=O2+24|0,e[e5>>2]=W9;break}while(!1);if(D=n+20|0,b5=t+D|0,Z2=e[b5>>2]|0,f5=(Z2|0)==0,!f5)if(v5=e[138266]|0,l5=Z2>>>0>>0,l5)Q2();else{k2=W9+20|0,e[k2>>2]=Z2,m5=Z2+24|0,e[m5>>2]=W9;break}}}while(!1);if(n5=V0|1,x2=A+4|0,e[x2>>2]=n5,_2=A+V0|0,e[_2>>2]=V0,B2=e[138267]|0,C5=(A|0)==(B2|0),C5){e[138264]=V0;return}else c=V0}else R5=d0&-2,e[u0>>2]=R5,d5=a|1,G5=A+4|0,e[G5>>2]=d5,_5=A+a|0,e[_5>>2]=a,c=a;if(q2=c>>>3,I5=c>>>0<256,I5){A5=q2<<1,c5=553088+(A5<<2)|0,B5=e[138262]|0,M1=1<>2]|0,t5=e[138266]|0,s5=p5>>>0>>0,s5?Q2():(p=g2,$e=p5)),e[p>>2]=A,h5=$e+12|0,e[h5>>2]=A,J2=A+8|0,e[J2>>2]=$e,u5=A+12|0,e[u5>>2]=c5;return}if(i5=c>>>8,x5=(i5|0)==0,x5?f4=0:($5=c>>>0>16777215,$5?f4=31:(L2=i5+1048320|0,Q5=L2>>>16,q5=Q5&8,j5=i5<>>16,h3=f3&4,J5=h3|q5,X5=j5<>>16,V5=F5&2,k3=J5|V5,u3=14-k3|0,p3=X5<>>15,G3=u3+z3|0,z5=G3<<1,w3=G3+7|0,i6=c>>>w3,L3=i6&1,U3=L3|z5,f4=U3)),a3=553352+(f4<<2)|0,l3=A+28|0,e[l3>>2]=f4,c3=A+16|0,C3=A+20|0,e[C3>>2]=0,e[c3>>2]=0,H5=e[138263]|0,U5=1<>2]=A,o6=A+24|0,e[o6>>2]=a3,e3=A+12|0,e[e3>>2]=A,A3=A+8|0,e[A3>>2]=A;return}R3=e[a3>>2]|0,u6=R3+4|0,Q3=e[u6>>2]|0,v3=Q3&-8,y3=(v3|0)==(c|0);e:do if(y3)F4=R3;else{for(j3=(f4|0)==31,O3=f4>>>1,K5=25-O3|0,S3=j3?0:K5,g3=c<>>31,c6=(he+16|0)+(X3<<2)|0,d3=e[c6>>2]|0,p6=(d3|0)==0,p6){u=c6,C9=he;break}if(q3=_6<<1,l6=d3+4|0,k6=e[l6>>2]|0,v6=k6&-8,B6=(v6|0)==(c|0),B6){F4=d3;break e}else _6=q3,he=d3}x6=e[138266]|0,Y6=u>>>0>>0,Y6&&Q2(),e[u>>2]=A,C6=A+24|0,e[C6>>2]=C9,b3=A+12|0,e[b3>>2]=A,e6=A+8|0,e[e6>>2]=A;return}while(!1);t6=F4+8|0,D3=e[t6>>2]|0,Y3=e[138266]|0,Z3=D3>>>0>=Y3>>>0,l4=F4>>>0>=Y3>>>0,b6=Z3&l4,b6||Q2(),A6=D3+12|0,e[A6>>2]=A,e[t6>>2]=A,t3=A+8|0,e[t3>>2]=D3,O6=A+12|0,e[O6>>2]=F4,s3=A+24|0,e[s3>>2]=0}function Qb(){e[6410]=O9}function ae(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,c=0,u=0,E=0;if(a=t+A|0,(A|0)>=20){if(n=n&255,E=t&3,c=n|n<<8|n<<16|n<<24,u=a&-4,E)for(E=t+4-E|0;(t|0)<(E|0);)d[t>>0]=n,t=t+1|0;for(;(t|0)<(u|0);)e[t>>2]=c,t=t+4|0}for(;(t|0)<(a|0);)d[t>>0]=n,t=t+1|0;return t-A|0}function X$(t){t=t|0;var n=0;for(n=t;d[n>>0]|0;)n=n+1|0;return n-t|0}function DQ(t,n){t=t|0,n=n|0;var A=0,a=0;a=t+(X$(t)|0)|0;do d[a+A>>0]=d[n+A>>0],A=A+1|0;while(d[n+(A-1)>>0]|0);return t|0}function _Q(t,n,A){t=t|0,n=n|0,A=A|0;var a=0;return(A|0)<32?(a=(1<>>32-A,t<>>0,u=n+a+(c>>>0>>0|0)>>>0,H6=u,c|0|0}function Ws(t,n,A){t=t|0,n=n|0,A=A|0;var a=0;return(A|0)<32?(a=(1<>>A,t>>>A|(n&a)<<32-A):(H6=0,n>>>A-32|0)}function s4(t,n,A){t=t|0,n=n|0,A=A|0;var a=0;if((A|0)>=4096)return Lv(t|0,n|0,A|0)|0;if(a=t|0,(t&3)==(n&3)){for(;t&3;){if(!(A|0))return a|0;d[t>>0]=d[n>>0]|0,t=t+1|0,n=n+1|0,A=A-1|0}for(;(A|0)>=4;)e[t>>2]=e[n>>2]|0,t=t+4|0,n=n+4|0,A=A-4|0}for(;(A|0)>0;)d[t>>0]=d[n>>0]|0,t=t+1|0,n=n+1|0,A=A-1|0;return a|0}function jA(t,n,A){t=t|0,n=n|0,A=A|0;var a=0;if((n|0)<(t|0)&(t|0)<(n+A|0)){for(a=t,n=n+A|0,t=t+A|0;(A|0)>0;)t=t-1|0,n=n-1|0,A=A-1|0,d[t>>0]=d[n>>0]|0;t=a}else s4(t,n,A)|0;return t|0}function mB(t,n){t=t|0,n=n|0;var A=0;do d[(t+A|0)>>0]=d[(n+A|0)>>0],A=A+1|0;while(d[n+(A-1)>>0]|0);return t|0}function js(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var c=0,u=0;return c=t-A>>>0,u=n-a>>>0,u=n-a-(A>>>0>t>>>0|0)>>>0,H6=u,c|0|0}function ZD(t,n,A){t=t|0,n=n|0,A=A|0;var a=0;return(A|0)<32?(a=(1<>A,t>>>A|(n&a)<<32-A):(H6=(n|0)<0?-1:0,n>>A-32|0)}function xQ(t){t=t|0;var n=0;return n=d[x9+(t&255)>>0]|0,(n|0)<8?n|0:(n=d[x9+(t>>8&255)>>0]|0,(n|0)<8?n+8|0:(n=d[x9+(t>>16&255)>>0]|0,(n|0)<8?n+16|0:(d[x9+(t>>>24)>>0]|0)+24|0))}function yb(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0;return A=t&65535,a=n&65535,c=r5(a,A)|0,u=t>>>16,E=(c>>>16)+(r5(a,u)|0)|0,I=n>>>16,m=r5(I,A)|0,H6=((E>>>16)+(r5(I,u)|0)|0)+(((E&65535)+m|0)>>>16)|0,0|(E+m<<16|c&65535)|0}function WD(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0;return c=n>>31|((n|0)<0?-1:0)<<1,u=((n|0)<0?-1:0)>>31|((n|0)<0?-1:0)<<1,E=a>>31|((a|0)<0?-1:0)<<1,I=((a|0)<0?-1:0)>>31|((a|0)<0?-1:0)<<1,m=js(c^t,u^n,c,u)|0,p=H6,B=js(E^A,I^a,E,I)|0,S=E^c,b=I^u,w=rC(m,p,B,H6,0)|0,y=js(w^S,H6^b,S,b)|0,y|0}function jD(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var c=0,u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0;return y=C,C=C+8|0,c=y|0,u=n>>31|((n|0)<0?-1:0)<<1,E=((n|0)<0?-1:0)>>31|((n|0)<0?-1:0)<<1,I=a>>31|((a|0)<0?-1:0)<<1,m=((a|0)<0?-1:0)>>31|((a|0)<0?-1:0)<<1,p=js(u^t,E^n,u,E)|0,B=H6,S=js(I^A,m^a,I,m)|0,rC(p,B,S,H6,c)|0,b=js(e[c>>2]^u,e[c+4>>2]^E,u,E)|0,w=H6,C=y,H6=w,b|0}function wb(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var c=0,u=0,E=0,I=0,m=0;return c=t,u=A,E=yb(c,u)|0,I=H6,m=r5(n,u)|0,H6=((r5(a,c)|0)+m|0)+I|I&0,0|E&-1|0}function XD(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var c=0;return c=rC(t,n,A,a,0)|0,c|0}function e_(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var c=0,u=0;return u=C,C=C+8|0,c=u|0,rC(t,n,A,a,c)|0,C=u,H6=e[c+4>>2]|0,e[c>>2]|0|0}function rC(t,n,A,a,c){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0;var u=0,E=0,I=0,m=0,p=0,B=0,S=0,b=0,w=0,y=0,D=0,Q=0,_=0,L=0,x=0,R=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,R0=0,D0=0;if(u=t,E=n,I=E,m=A,p=a,B=p,!(I|0))return S=(c|0)!=0,B|0?S?(e[c>>2]=t&-1,e[c+4>>2]=n&0,D0=0,R0=0,H6=D0,R0|0):(D0=0,R0=0,H6=D0,R0|0):(S&&(e[c>>2]=(u>>>0)%(m>>>0),e[c+4>>2]=0),D0=0,R0=(u>>>0)/(m>>>0)>>>0,H6=D0,R0|0);b=(B|0)==0;do if(m|0){if(!b){if(Y=zs(B|0)|0,t0=Y-(zs(I|0)|0)|0,t0>>>0<=31){J=t0+1|0,W=31-t0|0,e0=t0-31>>31,Z=J,$0=u>>>(J>>>0)&e0|I<>>(J>>>0)&e0,X=0,q=u<>2]=0|t&-1,e[c+4>>2]=E|n&0,D0=0,R0=0,H6=D0,R0|0):(D0=0,R0=0,H6=D0,R0|0)}if(L=m-1|0,L&m|0){R=(zs(m|0)|0)+33|0,M=R-(zs(I|0)|0)|0,T=64-M|0,N=32-M|0,G=N>>31,O=M-32|0,z=O>>31,Z=M,$0=N-1>>31&I>>>(O>>>0)|(I<>>(M>>>0))&z,U=z&I>>>(M>>>0),X=u<>>(O>>>0))&G|u<>31;break}return c|0&&(e[c>>2]=L&u,e[c+4>>2]=0),(m|0)==1?(D0=E|n&0,R0=0|t&-1,H6=D0,R0|0):(x=xQ(m|0)|0,D0=0|I>>>(x>>>0),R0=I<<32-x|u>>>(x>>>0)|0,H6=D0,R0|0)}else{if(b)return c|0&&(e[c>>2]=(I>>>0)%(m>>>0),e[c+4>>2]=0),D0=0,R0=(I>>>0)/(m>>>0)>>>0,H6=D0,R0|0;if(!(u|0))return c|0&&(e[c>>2]=0,e[c+4>>2]=(I>>>0)%(B>>>0)),D0=0,R0=(I>>>0)/(B>>>0)>>>0,H6=D0,R0|0;if(w=B-1|0,!(w&B|0))return c|0&&(e[c>>2]=0|t&-1,e[c+4>>2]=w&I|n&0),D0=0,R0=I>>>((xQ(B|0)|0)>>>0),H6=D0,R0|0;if(y=zs(B|0)|0,D=y-(zs(I|0)|0)|0,D>>>0<=30){Q=D+1|0,_=31-D|0,Z=Q,$0=I<<_|u>>>(Q>>>0),U=I>>>(Q>>>0),X=0,q=u<<_;break}return c|0?(e[c>>2]=0|t&-1,e[c+4>>2]=E|n&0,D0=0,R0=0,H6=D0,R0|0):(D0=0,R0=0,H6=D0,R0|0)}while(!1);if(!(Z|0))N0=q,M0=X,F0=U,Q0=$0,_0=0,K0=0;else{for(K=0|A&-1,a0=p|a&0,s0=Zs(K|0,a0|0,-1,-1)|0,i0=H6,j=q,g0=X,o0=U,h0=$0,V=Z,r0=0;l0=g0>>>31|j<<1,u0=r0|g0<<1,d0=0|(h0<<1|j>>>31),w0=h0>>>31|o0<<1|0,js(s0,i0,d0,w0)|0,C0=H6,k0=C0>>31|((C0|0)<0?-1:0)<<1,f0=k0&1,B0=js(d0,w0,k0&K,(((C0|0)<0?-1:0)>>31|((C0|0)<0?-1:0)<<1)&a0)|0,p0=B0,I0=H6,S0=V-1|0,S0|0;)j=l0,g0=u0,o0=I0,h0=p0,V=S0,r0=f0;N0=l0,M0=u0,F0=I0,Q0=p0,_0=0,K0=f0}return U0=M0,y0=0,Y0=N0|y0,c|0&&(e[c>>2]=0|Q0,e[c+4>>2]=F0|0),D0=(0|U0)>>>31|Y0<<1|(y0<<1|U0>>>31)&0|_0,R0=(U0<<1|0)&-2|K0,H6=D0,R0|0}function kb(t,n,A,a,c){return t=t|0,n=n|0,A=A|0,a=a|0,c=c|0,pB[t&3](n|0,A|0,a|0,c|0)|0}function vb(t,n){t=t|0,n=n|0,Xs[t&7](n|0)}function Sb(t,n,A){t=t|0,n=n|0,A=A|0,QB[t&3](n|0,A|0)}function bb(t,n){return t=t|0,n=n|0,FQ[t&1](n|0)|0}function Db(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0,MQ[t&1](n|0,A|0,a|0)}function _b(t,n,A,a,c,u,E,I,m){return t=t|0,n=n|0,A=A|0,a=a|0,c=c|0,u=u|0,E=E|0,I=I|0,m=m|0,TQ[t&3](n|0,A|0,a|0,c|0,u|0,E|0,I|0,m|0)|0}function xb(t,n,A){return t=t|0,n=n|0,A=A|0,f7[t&15](n|0,A|0)|0}function Lb(t,n,A,a,c,u){return t=t|0,n=n|0,A=A|0,a=a|0,c=c|0,u=u|0,yB[t&7](n|0,A|0,a|0,c|0,u|0)|0}function Rb(t,n,A,a){return t=t|0,n=n|0,A=A|0,a=a|0,Kr(0),0}function CB(t){t=t|0,Kr(1)}function LQ(t,n){t=t|0,n=n|0,Kr(2)}function Fb(t){return t=t|0,Kr(3),0}function Mb(t,n,A){t=t|0,n=n|0,A=A|0,Kr(4)}function RQ(t,n,A,a,c,u,E,I){return t=t|0,n=n|0,A=A|0,a=a|0,c=c|0,u=u|0,E=E|0,I=I|0,Kr(5),0}function el(t,n){return t=t|0,n=n|0,Kr(6),0}function BB(t,n,A,a,c){return t=t|0,n=n|0,A=A|0,a=a|0,c=c|0,Kr(7),0}var pB=[Rb,BS,sS,oS],Xs=[CB,ES,mS,_S,HS,YS,CB,CB],QB=[LQ,fS,JS,LQ],FQ=[Fb,xS],MQ=[Mb,bS],TQ=[RQ,ZS,eb,RQ],f7=[el,dS,IS,CS,DS,LS,VS,KS,pS,qS,ob,el,el,el,el,el],yB=[BB,zS,WS,jS,XS,tb,BB,BB];return{_memmove:jA,_strlen:X$,_strcat:DQ,_free:I2,_i64Add:Zs,_encoder_clear:ub,_encoder_transfer_data:Eb,_encoder_data_len:Ib,_memset:ae,_malloc:S9,_memcpy:s4,_encoder_init:hb,_encoder_process:db,_bitshift64Lshr:Ws,_bitshift64Shl:_Q,_strcpy:mB,_encoder_analysis_buffer:fb,runPostSets:Qb,stackAlloc:Mv,stackSave:Tv,stackRestore:Nv,establishStackSpace:Gv,setThrew:Uv,setTempRet0:Pv,getTempRet0:Ov,dynCall_iiiii:kb,dynCall_vi:vb,dynCall_vii:Sb,dynCall_ii:bb,dynCall_viii:Db,dynCall_iiiiiiiii:_b,dynCall_iii:xb,dynCall_iiiiii:Lb}}(o.asmGlobalArg,o.asmLibraryArg,Mi),wD=o.runPostSets=V9.runPostSets,Iv=o._strlen=V9._strlen,Ev=o._strcat=V9._strcat,AB=o._free=V9._free,kD=o._encoder_init=V9._encoder_init,mv=o._i64Add=V9._i64Add,Cv=o._memmove=V9._memmove,vD=o._encoder_transfer_data=V9._encoder_transfer_data,SD=o._encoder_process=V9._encoder_process,bD=o._encoder_data_len=V9._encoder_data_len,Bv=o._memset=V9._memset,_h=o._malloc=V9._malloc,pv=o._memcpy=V9._memcpy,DD=o._encoder_clear=V9._encoder_clear,Qv=o._bitshift64Lshr=V9._bitshift64Lshr,_D=o._encoder_analysis_buffer=V9._encoder_analysis_buffer,yv=o._strcpy=V9._strcpy,wv=o._bitshift64Shl=V9._bitshift64Shl,xD=o.dynCall_iiiii=V9.dynCall_iiiii,LD=o.dynCall_vi=V9.dynCall_vi,RD=o.dynCall_vii=V9.dynCall_vii,FD=o.dynCall_ii=V9.dynCall_ii,MD=o.dynCall_viii=V9.dynCall_viii,TD=o.dynCall_iiiiiiiii=V9.dynCall_iiiiiiiii,ND=o.dynCall_iii=V9.dynCall_iii,GD=o.dynCall_iiiiii=V9.dynCall_iiiiii;F.stackAlloc=V9.stackAlloc,F.stackSave=V9.stackSave,F.stackRestore=V9.stackRestore,F.establishStackSpace=V9.establishStackSpace,F.setTempRet0=V9.setTempRet0,F.getTempRet0=V9.getTempRet0;var UD=function(){var i={math:{}};i.math.Long=function(H,v0){this.low_=H|0,this.high_=v0|0},i.math.Long.IntCache_={},i.math.Long.fromInt=function(H){if(-128<=H&&H<128){var v0=i.math.Long.IntCache_[H];if(v0)return v0}var j0=new i.math.Long(H|0,H<0?-1:0);return-128<=H&&H<128&&(i.math.Long.IntCache_[H]=j0),j0},i.math.Long.fromNumber=function(H){return isNaN(H)||!isFinite(H)?i.math.Long.ZERO:H<=-i.math.Long.TWO_PWR_63_DBL_?i.math.Long.MIN_VALUE:H+1>=i.math.Long.TWO_PWR_63_DBL_?i.math.Long.MAX_VALUE:H<0?i.math.Long.fromNumber(-H).negate():new i.math.Long(H%i.math.Long.TWO_PWR_32_DBL_|0,H/i.math.Long.TWO_PWR_32_DBL_|0)},i.math.Long.fromBits=function(H,v0){return new i.math.Long(H,v0)},i.math.Long.fromString=function(H,v0){if(H.length==0)throw Error("number format error: empty string");var j0=v0||10;if(j0<2||36=0)throw Error('number format error: interior "-" character: '+H);for(var m2=i.math.Long.fromNumber(Math.pow(j0,8)),Z5=i.math.Long.ZERO,N5=0;N5=0?this.low_:i.math.Long.TWO_PWR_32_DBL_+this.low_},i.math.Long.prototype.getNumBitsAbs=function(){if(this.isNegative())return this.equals(i.math.Long.MIN_VALUE)?64:this.negate().getNumBitsAbs();for(var H=this.high_!=0?this.high_:this.low_,v0=31;v0>0&&!(H&1<0},i.math.Long.prototype.greaterThanOrEqual=function(H){return this.compare(H)>=0},i.math.Long.prototype.compare=function(H){if(this.equals(H))return 0;var v0=this.isNegative(),j0=H.isNegative();return v0&&!j0?-1:!v0&&j0?1:this.subtract(H).isNegative()?-1:1},i.math.Long.prototype.negate=function(){return this.equals(i.math.Long.MIN_VALUE)?i.math.Long.MIN_VALUE:this.not().add(i.math.Long.ONE)},i.math.Long.prototype.add=function(H){var v0=this.high_>>>16,j0=this.high_&65535,m2=this.low_>>>16,Z5=this.low_&65535,N5=H.high_>>>16,x3=H.high_&65535,Z6=H.low_>>>16,M9=H.low_&65535,L9=0,Z4=0,t7=0,Wi=0;return Wi+=Z5+M9,t7+=Wi>>>16,Wi&=65535,t7+=m2+Z6,Z4+=t7>>>16,t7&=65535,Z4+=j0+x3,L9+=Z4>>>16,Z4&=65535,L9+=v0+N5,L9&=65535,i.math.Long.fromBits(t7<<16|Wi,L9<<16|Z4)},i.math.Long.prototype.subtract=function(H){return this.add(H.negate())},i.math.Long.prototype.multiply=function(H){if(this.isZero())return i.math.Long.ZERO;if(H.isZero())return i.math.Long.ZERO;if(this.equals(i.math.Long.MIN_VALUE))return H.isOdd()?i.math.Long.MIN_VALUE:i.math.Long.ZERO;if(H.equals(i.math.Long.MIN_VALUE))return this.isOdd()?i.math.Long.MIN_VALUE:i.math.Long.ZERO;if(this.isNegative())return H.isNegative()?this.negate().multiply(H.negate()):this.negate().multiply(H).negate();if(H.isNegative())return this.multiply(H.negate()).negate();if(this.lessThan(i.math.Long.TWO_PWR_24_)&&H.lessThan(i.math.Long.TWO_PWR_24_))return i.math.Long.fromNumber(this.toNumber()*H.toNumber());var v0=this.high_>>>16,j0=this.high_&65535,m2=this.low_>>>16,Z5=this.low_&65535,N5=H.high_>>>16,x3=H.high_&65535,Z6=H.low_>>>16,M9=H.low_&65535,L9=0,Z4=0,t7=0,Wi=0;return Wi+=Z5*M9,t7+=Wi>>>16,Wi&=65535,t7+=m2*M9,Z4+=t7>>>16,t7&=65535,t7+=Z5*Z6,Z4+=t7>>>16,t7&=65535,Z4+=j0*M9,L9+=Z4>>>16,Z4&=65535,Z4+=m2*Z6,L9+=Z4>>>16,Z4&=65535,Z4+=Z5*x3,L9+=Z4>>>16,Z4&=65535,L9+=v0*M9+j0*Z6+m2*x3+Z5*N5,L9&=65535,i.math.Long.fromBits(t7<<16|Wi,L9<<16|Z4)},i.math.Long.prototype.div=function(H){if(H.isZero())throw Error("division by zero");if(this.isZero())return i.math.Long.ZERO;if(this.equals(i.math.Long.MIN_VALUE)){if(H.equals(i.math.Long.ONE)||H.equals(i.math.Long.NEG_ONE))return i.math.Long.MIN_VALUE;if(H.equals(i.math.Long.MIN_VALUE))return i.math.Long.ONE;var v0=this.shiftRight(1),j0=v0.div(H).shiftLeft(1);if(j0.equals(i.math.Long.ZERO))return H.isNegative()?i.math.Long.ONE:i.math.Long.NEG_ONE;var N5=this.subtract(H.multiply(j0)),m2=j0.add(N5.div(H));return m2}else if(H.equals(i.math.Long.MIN_VALUE))return i.math.Long.ZERO;if(this.isNegative())return H.isNegative()?this.negate().div(H.negate()):this.negate().div(H).negate();if(H.isNegative())return this.div(H.negate()).negate();for(var Z5=i.math.Long.ZERO,N5=this;N5.greaterThanOrEqual(H);){for(var j0=Math.max(1,Math.floor(N5.toNumber()/H.toNumber())),x3=Math.ceil(Math.log(j0)/Math.LN2),Z6=x3<=48?1:Math.pow(2,x3-48),M9=i.math.Long.fromNumber(j0),L9=M9.multiply(H);L9.isNegative()||L9.greaterThan(N5);)j0-=Z6,M9=i.math.Long.fromNumber(j0),L9=M9.multiply(H);M9.isZero()&&(M9=i.math.Long.ONE),Z5=Z5.add(M9),N5=N5.subtract(L9)}return Z5},i.math.Long.prototype.modulo=function(H){return this.subtract(this.div(H).multiply(H))},i.math.Long.prototype.not=function(){return i.math.Long.fromBits(~this.low_,~this.high_)},i.math.Long.prototype.and=function(H){return i.math.Long.fromBits(this.low_&H.low_,this.high_&H.high_)},i.math.Long.prototype.or=function(H){return i.math.Long.fromBits(this.low_|H.low_,this.high_|H.high_)},i.math.Long.prototype.xor=function(H){return i.math.Long.fromBits(this.low_^H.low_,this.high_^H.high_)},i.math.Long.prototype.shiftLeft=function(H){if(H&=63,H==0)return this;var v0=this.low_;if(H<32){var j0=this.high_;return i.math.Long.fromBits(v0<>>32-H)}else return i.math.Long.fromBits(0,v0<>>H|v0<<32-H,v0>>H)}else return i.math.Long.fromBits(v0>>H-32,v0>=0?0:-1)},i.math.Long.prototype.shiftRightUnsigned=function(H){if(H&=63,H==0)return this;var v0=this.high_;if(H<32){var j0=this.low_;return i.math.Long.fromBits(j0>>>H|v0<<32-H,v0>>>H)}else return H==32?i.math.Long.fromBits(v0,0):i.math.Long.fromBits(v0>>>H-32,0)};var $={appName:"Modern Browser"},h,d=0xdeadbeefcafe,P=(d&16777215)==15715070;function e(H,v0,j0){H!=null&&(typeof H=="number"?this.fromNumber(H,v0,j0):v0==null&&typeof H!="string"?this.fromString(H,256):this.fromString(H,v0))}function W0(){return new e(null)}function t1(H,v0,j0,m2,Z5,N5){for(;--N5>=0;){var x3=v0*this[H++]+j0[m2]+Z5;Z5=Math.floor(x3/67108864),j0[m2++]=x3&67108863}return Z5}function b2(H,v0,j0,m2,Z5,N5){for(var x3=v0&32767,Z6=v0>>15;--N5>=0;){var M9=this[H]&32767,L9=this[H++]>>15,Z4=Z6*M9+L9*x3;M9=x3*M9+((Z4&32767)<<15)+j0[m2]+(Z5&1073741823),Z5=(M9>>>30)+(Z4>>>15)+Z6*L9+(Z5>>>30),j0[m2++]=M9&1073741823}return Z5}function s(H,v0,j0,m2,Z5,N5){for(var x3=v0&16383,Z6=v0>>14;--N5>=0;){var M9=this[H]&16383,L9=this[H++]>>14,Z4=Z6*M9+L9*x3;M9=x3*M9+((Z4&16383)<<14)+j0[m2]+Z5,Z5=(M9>>28)+(Z4>>14)+Z6*L9,j0[m2++]=M9&268435455}return Z5}P&&$.appName=="Microsoft Internet Explorer"?(e.prototype.am=b2,h=30):P&&$.appName!="Netscape"?(e.prototype.am=t1,h=26):(e.prototype.am=s,h=28),e.prototype.DB=h,e.prototype.DM=(1<=0;--v0)H[v0]=this[v0];H.t=this.t,H.s=this.s}function w8(H){this.t=1,this.s=H<0?-1:0,H>0?this[0]=H:H<-1?this[0]=H+DV:this.t=0}function K9(H){var v0=W0();return v0.fromInt(H),v0}function h8(H,v0){var j0;if(v0==16)j0=4;else if(v0==8)j0=3;else if(v0==256)j0=8;else if(v0==2)j0=1;else if(v0==32)j0=5;else if(v0==4)j0=2;else{this.fromRadix(H,v0);return}this.t=0,this.s=0;for(var m2=H.length,Z5=!1,N5=0;--m2>=0;){var x3=j0==8?H[m2]&255:O9(H,m2);if(x3<0){H.charAt(m2)=="-"&&(Z5=!0);continue}Z5=!1,N5==0?this[this.t++]=x3:N5+j0>this.DB?(this[this.t-1]|=(x3&(1<>this.DB-N5):this[this.t-1]|=x3<=this.DB&&(N5-=this.DB)}j0==8&&H[0]&128&&(this.s=-1,N5>0&&(this[this.t-1]|=(1<0&&this[this.t-1]==H;)--this.t}function Ui(H){if(this.s<0)return"-"+this.negate().toString(H);var v0;if(H==16)v0=4;else if(H==8)v0=3;else if(H==2)v0=1;else if(H==32)v0=5;else if(H==4)v0=2;else return this.toRadix(H);var j0=(1<0)for(Z6>Z6)>0&&(Z5=!0,N5=x9(m2));x3>=0;)Z6>(Z6+=this.DB-v0)):(m2=this[x3]>>(Z6-=v0)&j0,Z6<=0&&(Z6+=this.DB,--x3)),m2>0&&(Z5=!0),Z5&&(N5+=x9(m2));return Z5?N5:"0"}function Pi(){var H=W0();return e.ZERO.subTo(this,H),H}function Ir(){return this.s<0?this.negate():this}function Z$(H){var v0=this.s-H.s;if(v0!=0)return v0;var j0=this.t;if(v0=j0-H.t,v0!=0)return this.s<0?-v0:v0;for(;--j0>=0;)if((v0=this[j0]-H[j0])!=0)return v0;return 0}function zm(H){var v0=1,j0;return(j0=H>>>16)!=0&&(H=j0,v0+=16),(j0=H>>8)!=0&&(H=j0,v0+=8),(j0=H>>4)!=0&&(H=j0,v0+=4),(j0=H>>2)!=0&&(H=j0,v0+=2),(j0=H>>1)!=0&&(H=j0,v0+=1),v0}function _p(){return this.t<=0?0:this.DB*(this.t-1)+zm(this[this.t-1]^this.s&this.DM)}function xp(H,v0){var j0;for(j0=this.t-1;j0>=0;--j0)v0[j0+H]=this[j0];for(j0=H-1;j0>=0;--j0)v0[j0]=0;v0.t=this.t+H,v0.s=this.s}function Lp(H,v0){for(var j0=H;j0=0;--Z6)v0[Z6+N5+1]=this[Z6]>>m2|x3,x3=(this[Z6]&Z5)<=0;--Z6)v0[Z6]=0;v0[N5]=x3,v0.t=this.t+N5+1,v0.s=this.s,v0.clamp()}function Fp(H,v0){v0.s=this.s;var j0=Math.floor(H/this.DB);if(j0>=this.t){v0.t=0;return}var m2=H%this.DB,Z5=this.DB-m2,N5=(1<>m2;for(var x3=j0+1;x3>m2;m2>0&&(v0[this.t-j0-1]|=(this.s&N5)<>=this.DB;if(H.t>=this.DB;m2+=this.s}else{for(m2+=this.s;j0>=this.DB;m2-=H.s}v0.s=m2<0?-1:0,m2<-1?v0[j0++]=this.DV+m2:m2>0&&(v0[j0++]=m2),v0.t=j0,v0.clamp()}function Mp(H,v0){var j0=this.abs(),m2=H.abs(),Z5=j0.t;for(v0.t=Z5+m2.t;--Z5>=0;)v0[Z5]=0;for(Z5=0;Z5=0;)H[j0]=0;for(j0=0;j0=v0.DV&&(H[j0+v0.t]-=v0.DV,H[j0+v0.t+1]=1)}H.t>0&&(H[H.t-1]+=v0.am(j0,v0[j0],H,2*j0,0,1)),H.s=0,H.clamp()}function Np(H,v0,j0){var m2=H.abs();if(!(m2.t<=0)){var Z5=this.abs();if(Z5.t0?(m2.lShiftTo(M9,N5),Z5.lShiftTo(M9,j0)):(m2.copyTo(N5),Z5.copyTo(j0));var L9=N5.t,Z4=N5[L9-1];if(Z4!=0){var t7=Z4*(1<1?N5[L9-2]>>this.F2:0),Wi=this.FV/t7,Zp=(1<=0&&(j0[j0.t++]=1,j0.subTo(N7,j0)),e.ONE.dlShiftTo(L9,N7),N7.subTo(N5,N5);N5.t=0;){var Zm=j0[--WA]==Z4?this.DM:Math.floor(j0[WA]*Wi+(j0[WA-1]+Wp)*Zp);if((j0[WA]+=N5.am(0,Zm,j0,Lh,0,L9))0&&j0.rShiftTo(M9,j0),x3<0&&e.ZERO.subTo(j0,j0)}}}function Gp(H){var v0=W0();return this.abs().divRemTo(H,null,v0),this.s<0&&v0.compareTo(e.ZERO)>0&&H.subTo(v0,v0),v0}function KA(H){this.m=H}function Up(H){return H.s<0||H.compareTo(this.m)>=0?H.mod(this.m):H}function Pp(H){return H}function Op(H){H.divRemTo(this.m,null,H)}function qp(H,v0,j0){H.multiplyTo(v0,j0),this.reduce(j0)}function zA(H,v0){H.squareTo(v0),this.reduce(v0)}KA.prototype.convert=Up,KA.prototype.revert=Pp,KA.prototype.reduce=Op,KA.prototype.mulTo=qp,KA.prototype.sqrTo=zA;function Zi(){if(this.t<1)return 0;var H=this[0];if(!(H&1))return 0;var v0=H&3;return v0=v0*(2-(H&15)*v0)&15,v0=v0*(2-(H&255)*v0)&255,v0=v0*(2-((H&65535)*v0&65535))&65535,v0=v0*(2-H*v0%this.DV)%this.DV,v0>0?this.DV-v0:-v0}function Nn(H){this.m=H,this.mp=H.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<0&&this.m.subTo(v0,v0),v0}function ZA(H){var v0=W0();return H.copyTo(v0),this.reduce(v0),v0}function Gn(H){for(;H.t<=this.mt2;)H[H.t++]=0;for(var v0=0;v0>15)*this.mpl&this.um)<<15)&H.DM;for(j0=v0+this.m.t,H[j0]+=this.m.am(0,m2,H,v0,0,this.m.t);H[j0]>=H.DV;)H[j0]-=H.DV,H[++j0]++}H.clamp(),H.drShiftTo(this.m.t,H),H.compareTo(this.m)>=0&&H.subTo(this.m,H)}function Hp(H,v0){H.squareTo(v0),this.reduce(v0)}function Yp(H,v0,j0){H.multiplyTo(v0,j0),this.reduce(j0)}Nn.prototype.convert=xh,Nn.prototype.revert=ZA,Nn.prototype.reduce=Gn,Nn.prototype.mulTo=Yp,Nn.prototype.sqrTo=Hp;function Jp(){return(this.t>0?this[0]&1:this.s)==0}function Ks(H,v0){if(H>4294967295||H<1)return e.ONE;var j0=W0(),m2=W0(),Z5=v0.convert(this),N5=zm(H)-1;for(Z5.copyTo(j0);--N5>=0;)if(v0.sqrTo(j0,m2),(H&1<0)v0.mulTo(m2,Z5,j0);else{var x3=j0;j0=m2,m2=x3}return v0.revert(j0)}function Vp(H,v0){var j0;return H<256||v0.isEven()?j0=new KA(v0):j0=new Nn(v0),this.exp(H,j0)}e.prototype.copyTo=I4,e.prototype.fromInt=w8,e.prototype.fromString=h8,e.prototype.clamp=z4,e.prototype.dlShiftTo=xp,e.prototype.drShiftTo=Lp,e.prototype.lShiftTo=Rp,e.prototype.rShiftTo=Fp,e.prototype.subTo=H6,e.prototype.multiplyTo=Mp,e.prototype.squareTo=Tp,e.prototype.divRemTo=Np,e.prototype.invDigit=Zi,e.prototype.isEven=Jp,e.prototype.exp=Ks,e.prototype.toString=Ui,e.prototype.negate=Pi,e.prototype.abs=Ir,e.prototype.compareTo=Z$,e.prototype.bitLength=_p,e.prototype.mod=Gp,e.prototype.modPowInt=Vp,e.ZERO=K9(0),e.ONE=K9(1);function Un(H,v0){this.fromInt(0),v0==null&&(v0=10);for(var j0=this.chunkSize(v0),m2=Math.pow(v0,j0),Z5=!1,N5=0,x3=0,Z6=0;Z6=j0&&(this.dMultiply(m2),this.dAddOffset(x3,0),N5=0,x3=0)}N5>0&&(this.dMultiply(Math.pow(v0,N5)),this.dAddOffset(x3,0)),Z5&&e.ZERO.subTo(this,this)}function Vr(H){return Math.floor(Math.LN2*this.DB/Math.log(H))}function $B(){return this.s<0?-1:this.t<=0||this.t==1&&this[0]<=0?0:1}function r5(H){this[this.t]=this.am(0,H-1,this,0,0,this.t),++this.t,this.clamp()}function Kp(H,v0){if(H!=0){for(;this.t<=v0;)this[this.t++]=0;for(this[v0]+=H;this[v0]>=this.DV;)this[v0]-=this.DV,++v0>=this.t&&(this[this.t++]=0),++this[v0]}}function zs(H){if(H==null&&(H=10),this.signum()==0||H<2||H>36)return"0";var v0=this.chunkSize(H),j0=Math.pow(H,v0),m2=K9(j0),Z5=W0(),N5=W0(),x3="";for(this.divRemTo(m2,Z5,N5);Z5.signum()>0;)x3=(j0+N5.intValue()).toString(H).substr(1)+x3,Z5.divRemTo(m2,Z5,N5);return N5.intValue().toString(H)+x3}function Kr(){if(this.s<0){if(this.t==1)return this[0]-this.DV;if(this.t==0)return-1}else{if(this.t==1)return this[0];if(this.t==0)return 0}return(this[1]&(1<<32-this.DB)-1)<>=this.DB;if(H.t>=this.DB;m2+=this.s}else{for(m2+=this.s;j0>=this.DB;m2+=H.s}v0.s=m2<0?-1:0,m2>0?v0[j0++]=m2:m2<-1&&(v0[j0++]=this.DV+m2),v0.t=j0,v0.clamp()}e.prototype.fromRadix=Un,e.prototype.chunkSize=Vr,e.prototype.signum=$B,e.prototype.dMultiply=r5,e.prototype.dAddOffset=Kp,e.prototype.toRadix=zs,e.prototype.intValue=Kr,e.prototype.addTo=zp;var si={abs:function(H,v0){var j0=new i.math.Long(H,v0),m2;j0.isNegative()?m2=j0.negate():m2=j0,_9[y8>>2]=m2.low_,_9[y8+4>>2]=m2.high_},ensureTemps:function(){si.ensuredTemps||(si.ensuredTemps=!0,si.two32=new e,si.two32.fromString("4294967296",10),si.two64=new e,si.two64.fromString("18446744073709551616",10),si.temp1=new e,si.temp2=new e)},lh2bignum:function(H,v0){var j0=new e;j0.fromString(v0.toString(),10);var m2=new e;j0.multiplyTo(si.two32,m2);var Z5=new e;Z5.fromString(H.toString(),10);var N5=new e;return Z5.addTo(m2,N5),N5},stringify:function(H,v0,j0){var m2=new i.math.Long(H,v0).toString();if(j0&&m2[0]=="-"){si.ensureTemps();var Z5=new e;Z5.fromString(m2,10),m2=new e,si.two64.addTo(Z5,m2),m2=m2.toString(10)}return m2},fromString:function(H,v0,j0,m2,Z5){si.ensureTemps();var N5=new e;N5.fromString(H,v0);var x3=new e;x3.fromString(j0,10);var Z6=new e;if(Z6.fromString(m2,10),Z5&&N5.compareTo(e.ZERO)<0){var M9=new e;N5.addTo(si.two64,M9),N5=M9}var L9=!1;N5.compareTo(x3)<0?(N5=x3,L9=!0):N5.compareTo(Z6)>0&&(N5=Z6,L9=!0);var Z4=i.math.Long.fromString(N5.toString());if(_9[y8>>2]=Z4.low_,_9[y8+4>>2]=Z4.high_,L9)throw"range error"}};return si}();function VA(i){this.name="ExitStatus",this.message="Program terminated with exit("+i+")",this.status=i}VA.prototype=new Error,VA.prototype.constructor=VA;var vp,Km=null,kv=!1;Ni=function i(){o.calledRun||aB(),o.calledRun||(Ni=i)},o.callMain=o.callMain=function($){K4(Bt==0,"cannot call main when async dependencies remain! (listen on __ATMAIN__)"),K4(Om.length==0,"cannot call main when preRun functions remain to be called"),$=$||[],qs();var h=$.length+1;function d(){for(var t1=0;t1<3;t1++)P.push(0)}var P=[E3(Jr(o.thisProgram),"i8",HA)];d();for(var e=0;e0||(bh(),Bt>0)||o.calledRun)return;function $(){o.calledRun||(o.calledRun=!0,!L0&&(qs(),Ep(),g&&Km!==null&&o.printErr("pre-main prep time: "+(Date.now()-Km)+" ms"),o.onRuntimeInitialized&&o.onRuntimeInitialized(),o._main&&Dp&&o.callMain(i),q$()))}o.setStatus?(o.setStatus("Running..."),setTimeout(function(){setTimeout(function(){o.setStatus("")},1),$()},1)):$()}o.run=o.run=aB;function Sp(i,$){if(!($&&o.noExitRuntime))throw o.noExitRuntime||(L0=!0,R1=i,pi=vp,qm(),o.onExit&&o.onExit(i)),f?(process.stdout.once("drain",function(){process.exit(i)}),console.log(" "),setTimeout(function(){process.exit(i)},500)):n0&&typeof quit=="function"&&quit(i),new VA(i)}o.exit=o.exit=Sp;var bp=[];function Vs(i){i!==void 0?(o.print(i),o.printErr(i),i=JSON.stringify(i)):i="",L0=!0,R1=1;var $=` -If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.`,h="abort("+i+") at "+Gm()+$;throw bp&&bp.forEach(function(d){h=d(h,i)}),h}if(o.abort=o.abort=Vs,o.preInit)for(typeof o.preInit=="function"&&(o.preInit=[o.preInit]);o.preInit.length>0;)o.preInit.pop()();var Dp=!0;o.noInitialRun&&(Dp=!1),aB();var vv=o._encoder_init,Sv=o._encoder_clear,bv=o._encoder_analysis_buffer,Dv=o._encoder_process,_v=o._encoder_data_len,xv=o._encoder_transfer_data,Qi=o.HEAPU8,V$=o.HEAPU32,K$=o.HEAPF32,z$=function(i,$,h){this.numChannels=$,this.oggBuffers=[],this.encoder=vv(this.numChannels,i,h)};z$.prototype.encode=function(i){for(var $=i[0].length,h=bv(this.encoder,$)>>2,d=0;d>2);this.process($)},z$.prototype.finish=function(){this.process(0);let i=this.oggBuffers.slice();return this.cleanup(),i},z$.prototype.cancel=z$.prototype.cleanup=function(){Sv(this.encoder),delete this.encoder,delete this.oggBuffers},z$.prototype.process=function(i){Dv(this.encoder,i);var $=_v(this.encoder);if($>0){var h=xv(this.encoder);this.oggBuffers.push(new Uint8Array(Qi.subarray(h,h+$)))}},ZC.OggVorbisEncoder=z$}};typeof window<"u"&&window===self&&ZC.init();function Fk(o,r,l,g){let f=new ZC.OggVorbisEncoder(l,r,g);f.encode(o);let v=f.finish(),n0=v.reduce((c0,u1)=>c0+u1.length,0),E0=new Uint8Array(n0),m0=0;for(let c0 of v)E0.set(c0,m0),m0+=c0.length;return E0}var WC=class{constructor(r,l){let g=document.getElementsByClassName("drop_prompt")[0];document.body.addEventListener("dragover",f=>{f.preventDefault(),g.classList.remove("hidden")}),document.body.addEventListener("dragleave",()=>{g.classList.add("hidden")}),document.body.addEventListener("drop",async f=>{f.preventDefault(),g.classList.add("hidden");let v=f.dataTransfer.files[0];if(!v)return;let n0=v.name,E0=await v.arrayBuffer(),m0=E0.slice(0,4),c0=new TextDecoder;if(c0.decode(m0)==="RIFF"){let u1=E0.slice(8,12);if(c0.decode(u1)==="RMID"){r({buf:E0,name:n0});return}l(E0);return}r({buf:E0,name:n0})})}};document.body.classList.add("load");var Mk=!1,Ln=class{channelColors=["rgba(255, 99, 71, 1)","rgba(255, 165, 0, 1)","rgba(255, 215, 0, 1)","rgba(50, 205, 50, 1)","rgba(60, 179, 113, 1)","rgba(0, 128, 0, 1)","rgba(0, 191, 255, 1)","rgba(65, 105, 225, 1)","rgba(138, 43, 226, 1)","rgba(50, 120, 125, 1)","rgba(255, 0, 255, 1)","rgba(255, 20, 147, 1)","rgba(218, 112, 214, 1)","rgba(240, 128, 128, 1)","rgba(255, 192, 203, 1)","rgba(255, 255, 0, 1)"];sfError;constructor(r,l,g){this.localeManager=g,this.context=r,this.isExporting=!1,this.compressionFunc=Fk;let f;this.ready=new Promise(v=>f=v),this.initializeContext(r,l).then(()=>{f()})}saveBlob(r,l){let g=URL.createObjectURL(r),f=document.createElement("a");f.href=g,f.download=l,f.click(),Y5(f)}async initializeContext(r,l){if(!r.audioWorklet)throw alert("Audio worklet is not supported on your browser. Sorry!"),"Not supported.";for(let q0 of document.querySelectorAll("*[translate-path]"))this.localeManager.bindObjectProperty(q0,"innerText",q0.getAttribute("translate-path"));for(let q0 of document.querySelectorAll("*[translate-path-title]"))this.localeManager.bindObjectProperty(q0,"innerText",q0.getAttribute("translate-path-title")+".title"),this.localeManager.bindObjectProperty(q0,"title",q0.getAttribute("translate-path-title")+".description");let f=Mk?"synthetizer/worklet_system/worklet_processor.js":qC;Mk&&console.warn("DEBUG ENABLED! DEBUGGING ENABLED!!");let v=window.isLocalEdition?"../../../spessasynth_lib/":"../../spessasynth_lib/";r.audioWorklet&&await r.audioWorklet.addModule(new URL(v+f,import.meta.url)),this.soundFont=l;let n0=new URL(v+"synthetizer/audio_effects/impulse_response_2.flac",import.meta.url),m0=await(await fetch(n0)).arrayBuffer();this.impulseResponse=await r.decodeAudioData(m0),this.audioDelay=new DelayNode(r,{delayTime:0}),this.audioDelay.connect(r.destination),this.synth=new ch(this.audioDelay,this.soundFont,void 0,void 0,{chorusEnabled:!0,chorusConfig:void 0,reverbImpulseResponse:this.impulseResponse,reverbEnabled:!0}),this.synth.eventHandler.addEvent("soundfonterror","manager-sf-error",q0=>{this.sfError&&this.sfError(q0)}),await this.synth.isReady,this.midHandler=new RC,this.wml=new FC(this.synth),this.keyboard=new wm(this.channelColors,this.synth);let c0=document.getElementById("note_canvas");c0.width=window.innerWidth*window.devicePixelRatio,c0.height=window.innerHeight*window.devicePixelRatio,this.renderer=new _i(this.channelColors,this.synth,c0,this.audioDelay,window.SPESSASYNTH_VERSION),this.renderer.render(!0);let u1=!1,F=()=>{if(c0.width=window.innerWidth*window.devicePixelRatio,c0.height=window.innerHeight*window.devicePixelRatio,this.renderer.computeColors(),bn){if(window.innerWidth/window.innerHeight>1){if(!u1){let q0=document.getElementById("title_wrapper"),L0=document.getElementById("settings_div");u1=!0,q0.parentElement.insertBefore(L0,q0)}}else if(u1){let q0=document.getElementById("title_wrapper"),L0=document.getElementById("settings_div");u1=!1,q0.parentElement.insertBefore(q0,L0)}}this.renderer.render(!1,!0)};F(),window.addEventListener("resize",F.bind(this)),window.addEventListener("orientationchange",F.bind(this)),bn&&(this.renderer.keyRange={min:48,max:72},this.keyboard.setKeyRange({min:48,max:72},!1)),this.synthUI=new Pr(this.channelColors,document.getElementById("synthetizer_controls"),this.localeManager),this.synthUI.connectSynth(this.synth),this.playerUI=new PC(document.getElementById("player_info"),this.localeManager),this.seqUI=new Fs(document.getElementById("sequencer_controls"),this.localeManager,this.playerUI),this.settingsUI=new Bi(document.getElementById("settings_div"),this.synthUI,this.seqUI,this.renderer,this.keyboard,this.midHandler,this.playerUI,this.localeManager),this.dropFileHandler=new WC(q0=>{this.play([{binary:q0.buf,altName:q0.name}]),q0.name.length>20&&(q0.name=q0.name.substring(0,21)+"..."),document.getElementById("file_upload").textContent=q0.name},q0=>{this.reloadSf(q0)}),document.addEventListener("keydown",q0=>{switch(q0.key.toLowerCase()){case e7.cinematicMode:this.seq&&this.seq.pause();let L0=window.prompt(`Cinematic mode activated! - Paste the link to the image for canvas (leave blank to disable)`,"");if(this.seq&&this.seq.play(),L0===null)return;c0.style.background=`linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)), center center / cover url("${L0}")`,document.getElementsByClassName("top_part")[0].style.display="none",document.getElementsByClassName("bottom_part")[0].style.display="none",document.body.requestFullscreen().then();break;case e7.videoMode:this.seq&&this.seq.pause();let R1=window.prompt(`Video mode! +`));if(!$)return null;i.input=Jr($,!0)}return i.input.shift()},put_char:function(i,$){$===null||$===10?(o.print(Gs(i.output,0)),i.output=[]):$!=0&&i.output.push($)},flush:function(i){i.output&&i.output.length>0&&(o.print(Gs(i.output,0)),i.output=[])}},default_tty1_ops:{put_char:function(i,$){$===null||$===10?(o.printErr(Gs(i.output,0)),i.output=[]):$!=0&&i.output.push($)},flush:function(i){i.output&&i.output.length>0&&(o.printErr(Gs(i.output,0)),i.output=[])}}},v9={ops_table:null,mount:function(i){return v9.createNode(null,"/",16895,0)},createNode:function(i,$,h,d){if(k.isBlkdev(h)||k.isFIFO(h))throw new k.ErrnoError(R2.EPERM);v9.ops_table||(v9.ops_table={dir:{node:{getattr:v9.node_ops.getattr,setattr:v9.node_ops.setattr,lookup:v9.node_ops.lookup,mknod:v9.node_ops.mknod,rename:v9.node_ops.rename,unlink:v9.node_ops.unlink,rmdir:v9.node_ops.rmdir,readdir:v9.node_ops.readdir,symlink:v9.node_ops.symlink},stream:{llseek:v9.stream_ops.llseek}},file:{node:{getattr:v9.node_ops.getattr,setattr:v9.node_ops.setattr},stream:{llseek:v9.stream_ops.llseek,read:v9.stream_ops.read,write:v9.stream_ops.write,allocate:v9.stream_ops.allocate,mmap:v9.stream_ops.mmap,msync:v9.stream_ops.msync}},link:{node:{getattr:v9.node_ops.getattr,setattr:v9.node_ops.setattr,readlink:v9.node_ops.readlink},stream:{}},chrdev:{node:{getattr:v9.node_ops.getattr,setattr:v9.node_ops.setattr},stream:k.chrdev_stream_ops}});var P=k.createNode(i,$,h,d);return k.isDir(P.mode)?(P.node_ops=v9.ops_table.dir.node,P.stream_ops=v9.ops_table.dir.stream,P.contents={}):k.isFile(P.mode)?(P.node_ops=v9.ops_table.file.node,P.stream_ops=v9.ops_table.file.stream,P.usedBytes=0,P.contents=null):k.isLink(P.mode)?(P.node_ops=v9.ops_table.link.node,P.stream_ops=v9.ops_table.link.stream):k.isChrdev(P.mode)&&(P.node_ops=v9.ops_table.chrdev.node,P.stream_ops=v9.ops_table.chrdev.stream),P.timestamp=Date.now(),i&&(i.contents[$]=P),P},getFileDataAsRegularArray:function(i){if(i.contents&&i.contents.subarray){for(var $=[],h=0;hi.contents.length&&(i.contents=v9.getFileDataAsRegularArray(i),i.usedBytes=i.contents.length),!i.contents||i.contents.subarray){var h=i.contents?i.contents.buffer.byteLength:0;if(h>=$)return;var d=1024*1024;$=Math.max($,h*(h0&&i.contents.set(P.subarray(0,i.usedBytes),0);return}for(!i.contents&&$>0&&(i.contents=[]);i.contents.length<$;)i.contents.push(0)},resizeFileStorage:function(i,$){if(i.usedBytes!=$){if($==0){i.contents=null,i.usedBytes=0;return}if(!i.contents||i.contents.subarray){var h=i.contents;i.contents=new Uint8Array(new ArrayBuffer($)),h&&i.contents.set(h.subarray(0,Math.min($,i.usedBytes))),i.usedBytes=$;return}if(i.contents||(i.contents=[]),i.contents.length>$)i.contents.length=$;else for(;i.contents.length<$;)i.contents.push(0);i.usedBytes=$}},node_ops:{getattr:function(i){var $={};return $.dev=k.isChrdev(i.mode)?i.id:1,$.ino=i.id,$.mode=i.mode,$.nlink=1,$.uid=0,$.gid=0,$.rdev=i.rdev,k.isDir(i.mode)?$.size=4096:k.isFile(i.mode)?$.size=i.usedBytes:k.isLink(i.mode)?$.size=i.link.length:$.size=0,$.atime=new Date(i.timestamp),$.mtime=new Date(i.timestamp),$.ctime=new Date(i.timestamp),$.blksize=4096,$.blocks=Math.ceil($.size/$.blksize),$},setattr:function(i,$){$.mode!==void 0&&(i.mode=$.mode),$.timestamp!==void 0&&(i.timestamp=$.timestamp),$.size!==void 0&&v9.resizeFileStorage(i,$.size)},lookup:function(i,$){throw k.genericErrors[R2.ENOENT]},mknod:function(i,$,h,d){return v9.createNode(i,$,h,d)},rename:function(i,$,h){if(k.isDir(i.mode)){var d;try{d=k.lookupNode($,h)}catch{}if(d)for(var P in d.contents)throw new k.ErrnoError(R2.ENOTEMPTY)}delete i.parent.contents[i.name],i.name=h,$.contents[h]=i,i.parent=$},unlink:function(i,$){delete i.contents[$]},rmdir:function(i,$){var h=k.lookupNode(i,$);for(var d in h.contents)throw new k.ErrnoError(R2.ENOTEMPTY);delete i.contents[$]},readdir:function(i){var $=[".",".."];for(var h in i.contents)i.contents.hasOwnProperty(h)&&$.push(h);return $},symlink:function(i,$,h){var d=v9.createNode(i,$,41471,0);return d.link=h,d},readlink:function(i){if(!k.isLink(i.mode))throw new k.ErrnoError(R2.EINVAL);return i.link}},stream_ops:{read:function(i,$,h,d,P){var e=i.node.contents;if(P>=i.node.usedBytes)return 0;var Z0=Math.min(i.node.usedBytes-P,d);if(K4(Z0>=0),Z0>8&&e.subarray)$.set(e.subarray(P,P+Z0),h);else for(var t1=0;t10||P+dT5.timestamp)&&(P.push(w5),d++)});var e=[];if(Object.keys($.entries).forEach(function(w5){var p2=$.entries[w5],T5=i.entries[w5];T5||(e.push(w5),d++)}),!d)return h(null);var Z0=!1,t1=0,b2=i.type==="remote"?i.db:$.db,s=b2.transaction([pt.DB_STORE_NAME],"readwrite"),A1=s.objectStore(pt.DB_STORE_NAME);function C(w5){if(w5)return C.errored?void 0:(C.errored=!0,h(w5));if(++t1>=d)return h(null)}s.onerror=function(w5){C(this.error),w5.preventDefault()},P.sort().forEach(function(w5){$.type==="local"?pt.loadRemoteEntry(A1,w5,function(p2,T5){if(p2)return C(p2);pt.storeLocalEntry(w5,T5,C)}):pt.loadLocalEntry(w5,function(p2,T5){if(p2)return C(p2);pt.storeRemoteEntry(A1,w5,T5,C)})}),e.sort().reverse().forEach(function(w5){$.type==="local"?pt.removeLocalEntry(w5,C):pt.removeRemoteEntry(A1,w5,C)})}},g8={isWindows:!1,staticInit:function(){g8.isWindows=!!process.platform.match(/^win/)},mount:function(i){return K4(f),g8.createNode(null,"/",g8.getMode(i.opts.root),0)},createNode:function(i,$,h,d){if(!k.isDir(h)&&!k.isFile(h)&&!k.isLink(h))throw new k.ErrnoError(R2.EINVAL);var P=k.createNode(i,$,h);return P.node_ops=g8.node_ops,P.stream_ops=g8.stream_ops,P},getMode:function(i){var $;try{$=Qt.lstatSync(i),g8.isWindows&&($.mode=$.mode|($.mode&146)>>1)}catch(h){throw h.code?new k.ErrnoError(R2[h.code]):h}return $.mode},realPath:function(i){for(var $=[];i.parent!==i;)$.push(i.name),i=i.parent;return $.push(i.mount.opts.root),$.reverse(),c9.join.apply(null,$)},flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:function(i){return i in g8.flagsToPermissionStringMap?g8.flagsToPermissionStringMap[i]:i},node_ops:{getattr:function(i){var $=g8.realPath(i),h;try{h=Qt.lstatSync($)}catch(d){throw d.code?new k.ErrnoError(R2[d.code]):d}return g8.isWindows&&!h.blksize&&(h.blksize=4096),g8.isWindows&&!h.blocks&&(h.blocks=(h.size+h.blksize-1)/h.blksize|0),{dev:h.dev,ino:h.ino,mode:h.mode,nlink:h.nlink,uid:h.uid,gid:h.gid,rdev:h.rdev,size:h.size,atime:h.atime,mtime:h.mtime,ctime:h.ctime,blksize:h.blksize,blocks:h.blocks}},setattr:function(i,$){var h=g8.realPath(i);try{if($.mode!==void 0&&(Qt.chmodSync(h,$.mode),i.mode=$.mode),$.timestamp!==void 0){var d=new Date($.timestamp);Qt.utimesSync(h,d,d)}$.size!==void 0&&Qt.truncateSync(h,$.size)}catch(P){throw P.code?new k.ErrnoError(R2[P.code]):P}},lookup:function(i,$){var h=c9.join2(g8.realPath(i),$),d=g8.getMode(h);return g8.createNode(i,$,d)},mknod:function(i,$,h,d){var P=g8.createNode(i,$,h,d),e=g8.realPath(P);try{k.isDir(P.mode)?Qt.mkdirSync(e,P.mode):Qt.writeFileSync(e,"",{mode:P.mode})}catch(Z0){throw Z0.code?new k.ErrnoError(R2[Z0.code]):Z0}return P},rename:function(i,$,h){var d=g8.realPath(i),P=c9.join2(g8.realPath($),h);try{Qt.renameSync(d,P)}catch(e){throw e.code?new k.ErrnoError(R2[e.code]):e}},unlink:function(i,$){var h=c9.join2(g8.realPath(i),$);try{Qt.unlinkSync(h)}catch(d){throw d.code?new k.ErrnoError(R2[d.code]):d}},rmdir:function(i,$){var h=c9.join2(g8.realPath(i),$);try{Qt.rmdirSync(h)}catch(d){throw d.code?new k.ErrnoError(R2[d.code]):d}},readdir:function(i){var $=g8.realPath(i);try{return Qt.readdirSync($)}catch(h){throw h.code?new k.ErrnoError(R2[h.code]):h}},symlink:function(i,$,h){var d=c9.join2(g8.realPath(i),$);try{Qt.symlinkSync(h,d)}catch(P){throw P.code?new k.ErrnoError(R2[P.code]):P}},readlink:function(i){var $=g8.realPath(i);try{return $=Qt.readlinkSync($),$=kp.relative(kp.resolve(i.mount.opts.root),$),$}catch(h){throw h.code?new k.ErrnoError(R2[h.code]):h}}},stream_ops:{open:function(i){var $=g8.realPath(i.node);try{k.isFile(i.node.mode)&&(i.nfd=Qt.openSync($,g8.flagsToPermissionString(i.flags)))}catch(h){throw h.code?new k.ErrnoError(R2[h.code]):h}},close:function(i){try{k.isFile(i.node.mode)&&i.nfd&&Qt.closeSync(i.nfd)}catch($){throw $.code?new k.ErrnoError(R2[$.code]):$}},read:function(i,$,h,d,P){if(d===0)return 0;var e=new Buffer(d),Z0;try{Z0=Qt.readSync(i.nfd,e,0,d,P)}catch(b2){throw new k.ErrnoError(R2[b2.code])}if(Z0>0)for(var t1=0;t18)throw new k.ErrnoError(R2.ELOOP);for(var P=c9.normalizeArray(i.split("/").filter(function(w5){return!!w5}),!1),e=k.root,Z0="/",t1=0;t140)throw new k.ErrnoError(R2.ELOOP)}}return{path:Z0,node:e}},getPath:function(i){for(var $;;){if(k.isRoot(i)){var h=i.mount.mountpoint;return $?h[h.length-1]!=="/"?h+"/"+$:h+$:h}$=$?i.name+"/"+$:i.name,i=i.parent}},hashName:function(i,$){for(var h=0,d=0;d<$.length;d++)h=(h<<5)-h+$.charCodeAt(d)|0;return(i+h>>>0)%k.nameTable.length},hashAddNode:function(i){var $=k.hashName(i.parent.id,i.name);i.name_next=k.nameTable[$],k.nameTable[$]=i},hashRemoveNode:function(i){var $=k.hashName(i.parent.id,i.name);if(k.nameTable[$]===i)k.nameTable[$]=i.name_next;else for(var h=k.nameTable[$];h;){if(h.name_next===i){h.name_next=i.name_next;break}h=h.name_next}},lookupNode:function(i,$){var h=k.mayLookup(i);if(h)throw new k.ErrnoError(h,i);for(var d=k.hashName(i.id,$),P=k.nameTable[d];P;P=P.name_next){var e=P.name;if(P.parent.id===i.id&&e===$)return P}return k.lookup(i,$)},createNode:function(i,$,h,d){if(!k.FSNode){k.FSNode=function(t1,b2,s,A1){t1||(t1=this),this.parent=t1,this.mount=t1.mount,this.mounted=null,this.id=k.nextInode++,this.name=b2,this.mode=s,this.node_ops={},this.stream_ops={},this.rdev=A1},k.FSNode.prototype={};var P=365,e=146;Object.defineProperties(k.FSNode.prototype,{read:{get:function(){return(this.mode&P)===P},set:function(t1){t1?this.mode|=P:this.mode&=~P}},write:{get:function(){return(this.mode&e)===e},set:function(t1){t1?this.mode|=e:this.mode&=~e}},isFolder:{get:function(){return k.isDir(this.mode)}},isDevice:{get:function(){return k.isChrdev(this.mode)}}})}var Z0=new k.FSNode(i,$,h,d);return k.hashAddNode(Z0),Z0},destroyNode:function(i){k.hashRemoveNode(i)},isRoot:function(i){return i===i.parent},isMountpoint:function(i){return!!i.mounted},isFile:function(i){return(i&61440)===32768},isDir:function(i){return(i&61440)===16384},isLink:function(i){return(i&61440)===40960},isChrdev:function(i){return(i&61440)===8192},isBlkdev:function(i){return(i&61440)===24576},isFIFO:function(i){return(i&61440)===4096},isSocket:function(i){return(i&49152)===49152},flagModes:{r:0,rs:1052672,"r+":2,w:577,wx:705,xw:705,"w+":578,"wx+":706,"xw+":706,a:1089,ax:1217,xa:1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(i){var $=k.flagModes[i];if(typeof $>"u")throw new Error("Unknown file open mode: "+i);return $},flagsToPermissionString:function(i){var $=i&2097155,h=["r","w","rw"][$];return i&512&&(h+="w"),h},nodePermissions:function(i,$){return k.ignorePermissions?0:$.indexOf("r")!==-1&&!(i.mode&292)||$.indexOf("w")!==-1&&!(i.mode&146)||$.indexOf("x")!==-1&&!(i.mode&73)?R2.EACCES:0},mayLookup:function(i){var $=k.nodePermissions(i,"x");return $||(i.node_ops.lookup?0:R2.EACCES)},mayCreate:function(i,$){try{var h=k.lookupNode(i,$);return R2.EEXIST}catch{}return k.nodePermissions(i,"wx")},mayDelete:function(i,$,h){var d;try{d=k.lookupNode(i,$)}catch(e){return e.errno}var P=k.nodePermissions(i,"wx");if(P)return P;if(h){if(!k.isDir(d.mode))return R2.ENOTDIR;if(k.isRoot(d)||k.getPath(d)===k.cwd())return R2.EBUSY}else if(k.isDir(d.mode))return R2.EISDIR;return 0},mayOpen:function(i,$){return i?k.isLink(i.mode)?R2.ELOOP:k.isDir(i.mode)&&($&2097155||$&512)?R2.EISDIR:k.nodePermissions(i,k.flagsToPermissionString($)):R2.ENOENT},MAX_OPEN_FDS:4096,nextfd:function(i,$){i=i||0,$=$||k.MAX_OPEN_FDS;for(var h=i;h<=$;h++)if(!k.streams[h])return h;throw new k.ErrnoError(R2.EMFILE)},getStream:function(i){return k.streams[i]},createStream:function(i,$,h){k.FSStream||(k.FSStream=function(){},k.FSStream.prototype={},Object.defineProperties(k.FSStream.prototype,{object:{get:function(){return this.node},set:function(Z0){this.node=Z0}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}));var d=new k.FSStream;for(var P in i)d[P]=i[P];i=d;var e=k.nextfd($,h);return i.fd=e,k.streams[e]=i,i},closeStream:function(i){k.streams[i]=null},getStreamFromPtr:function(i){return k.streams[i-1]},getPtrForStream:function(i){return i?i.fd+1:0},chrdev_stream_ops:{open:function(i){var $=k.getDevice(i.node.rdev);i.stream_ops=$.stream_ops,i.stream_ops.open&&i.stream_ops.open(i)},llseek:function(){throw new k.ErrnoError(R2.ESPIPE)}},major:function(i){return i>>8},minor:function(i){return i&255},makedev:function(i,$){return i<<8|$},registerDevice:function(i,$){k.devices[i]={stream_ops:$}},getDevice:function(i){return k.devices[i]},getMounts:function(i){for(var $=[],h=[i];h.length;){var d=h.pop();$.push(d),h.push.apply(h,d.mounts)}return $},syncfs:function(i,$){typeof i=="function"&&($=i,i=!1);var h=k.getMounts(k.root.mount),d=0;function P(e){if(e)return P.errored?void 0:(P.errored=!0,$(e));++d>=h.length&&$(null)}h.forEach(function(e){if(!e.type.syncfs)return P(null);e.type.syncfs(e,i,P)})},mount:function(i,$,h){var d=h==="/",P=!h,e;if(d&&k.root)throw new k.ErrnoError(R2.EBUSY);if(!d&&!P){var Z0=k.lookupPath(h,{follow_mount:!1});if(h=Z0.path,e=Z0.node,k.isMountpoint(e))throw new k.ErrnoError(R2.EBUSY);if(!k.isDir(e.mode))throw new k.ErrnoError(R2.ENOTDIR)}var t1={type:i,opts:$,mountpoint:h,mounts:[]},b2=i.mount(t1);return b2.mount=t1,t1.root=b2,d?k.root=b2:e&&(e.mounted=t1,e.mount&&e.mount.mounts.push(t1)),b2},unmount:function(i){var $=k.lookupPath(i,{follow_mount:!1});if(!k.isMountpoint($.node))throw new k.ErrnoError(R2.EINVAL);var h=$.node,d=h.mounted,P=k.getMounts(d);Object.keys(k.nameTable).forEach(function(Z0){for(var t1=k.nameTable[Z0];t1;){var b2=t1.name_next;P.indexOf(t1.mount)!==-1&&k.destroyNode(t1),t1=b2}}),h.mounted=null;var e=h.mount.mounts.indexOf(d);K4(e!==-1),h.mount.mounts.splice(e,1)},lookup:function(i,$){return i.node_ops.lookup(i,$)},mknod:function(i,$,h){var d=k.lookupPath(i,{parent:!0}),P=d.node,e=c9.basename(i);if(!e||e==="."||e==="..")throw new k.ErrnoError(R2.EINVAL);var Z0=k.mayCreate(P,e);if(Z0)throw new k.ErrnoError(Z0);if(!P.node_ops.mknod)throw new k.ErrnoError(R2.EPERM);return P.node_ops.mknod(P,e,$,h)},create:function(i,$){return $=$!==void 0?$:438,$&=4095,$|=32768,k.mknod(i,$,0)},mkdir:function(i,$){return $=$!==void 0?$:511,$&=1023,$|=16384,k.mknod(i,$,0)},mkdev:function(i,$,h){return typeof h>"u"&&(h=$,$=438),$|=8192,k.mknod(i,$,h)},symlink:function(i,$){if(!c9.resolve(i))throw new k.ErrnoError(R2.ENOENT);var h=k.lookupPath($,{parent:!0}),d=h.node;if(!d)throw new k.ErrnoError(R2.ENOENT);var P=c9.basename($),e=k.mayCreate(d,P);if(e)throw new k.ErrnoError(e);if(!d.node_ops.symlink)throw new k.ErrnoError(R2.EPERM);return d.node_ops.symlink(d,P,i)},rename:function(i,$){var h=c9.dirname(i),d=c9.dirname($),P=c9.basename(i),e=c9.basename($),Z0,t1,b2;try{Z0=k.lookupPath(i,{parent:!0}),t1=Z0.node,Z0=k.lookupPath($,{parent:!0}),b2=Z0.node}catch{throw new k.ErrnoError(R2.EBUSY)}if(!t1||!b2)throw new k.ErrnoError(R2.ENOENT);if(t1.mount!==b2.mount)throw new k.ErrnoError(R2.EXDEV);var s=k.lookupNode(t1,P),A1=c9.relative(i,d);if(A1.charAt(0)!==".")throw new k.ErrnoError(R2.EINVAL);if(A1=c9.relative($,h),A1.charAt(0)!==".")throw new k.ErrnoError(R2.ENOTEMPTY);var C;try{C=k.lookupNode(b2,e)}catch{}if(s!==C){var w5=k.isDir(s.mode),p2=k.mayDelete(t1,P,w5);if(p2)throw new k.ErrnoError(p2);if(p2=C?k.mayDelete(b2,e,w5):k.mayCreate(b2,e),p2)throw new k.ErrnoError(p2);if(!t1.node_ops.rename)throw new k.ErrnoError(R2.EPERM);if(k.isMountpoint(s)||C&&k.isMountpoint(C))throw new k.ErrnoError(R2.EBUSY);if(b2!==t1&&(p2=k.nodePermissions(t1,"w"),p2))throw new k.ErrnoError(p2);try{k.trackingDelegate.willMovePath&&k.trackingDelegate.willMovePath(i,$)}catch(T5){console.log("FS.trackingDelegate['willMovePath']('"+i+"', '"+$+"') threw an exception: "+T5.message)}k.hashRemoveNode(s);try{t1.node_ops.rename(s,b2,e)}catch(T5){throw T5}finally{k.hashAddNode(s)}try{k.trackingDelegate.onMovePath&&k.trackingDelegate.onMovePath(i,$)}catch(T5){console.log("FS.trackingDelegate['onMovePath']('"+i+"', '"+$+"') threw an exception: "+T5.message)}}},rmdir:function(i){var $=k.lookupPath(i,{parent:!0}),h=$.node,d=c9.basename(i),P=k.lookupNode(h,d),e=k.mayDelete(h,d,!0);if(e)throw new k.ErrnoError(e);if(!h.node_ops.rmdir)throw new k.ErrnoError(R2.EPERM);if(k.isMountpoint(P))throw new k.ErrnoError(R2.EBUSY);try{k.trackingDelegate.willDeletePath&&k.trackingDelegate.willDeletePath(i)}catch(Z0){console.log("FS.trackingDelegate['willDeletePath']('"+i+"') threw an exception: "+Z0.message)}h.node_ops.rmdir(h,d),k.destroyNode(P);try{k.trackingDelegate.onDeletePath&&k.trackingDelegate.onDeletePath(i)}catch(Z0){console.log("FS.trackingDelegate['onDeletePath']('"+i+"') threw an exception: "+Z0.message)}},readdir:function(i){var $=k.lookupPath(i,{follow:!0}),h=$.node;if(!h.node_ops.readdir)throw new k.ErrnoError(R2.ENOTDIR);return h.node_ops.readdir(h)},unlink:function(i){var $=k.lookupPath(i,{parent:!0}),h=$.node,d=c9.basename(i),P=k.lookupNode(h,d),e=k.mayDelete(h,d,!1);if(e)throw e===R2.EISDIR&&(e=R2.EPERM),new k.ErrnoError(e);if(!h.node_ops.unlink)throw new k.ErrnoError(R2.EPERM);if(k.isMountpoint(P))throw new k.ErrnoError(R2.EBUSY);try{k.trackingDelegate.willDeletePath&&k.trackingDelegate.willDeletePath(i)}catch(Z0){console.log("FS.trackingDelegate['willDeletePath']('"+i+"') threw an exception: "+Z0.message)}h.node_ops.unlink(h,d),k.destroyNode(P);try{k.trackingDelegate.onDeletePath&&k.trackingDelegate.onDeletePath(i)}catch(Z0){console.log("FS.trackingDelegate['onDeletePath']('"+i+"') threw an exception: "+Z0.message)}},readlink:function(i){var $=k.lookupPath(i),h=$.node;if(!h)throw new k.ErrnoError(R2.ENOENT);if(!h.node_ops.readlink)throw new k.ErrnoError(R2.EINVAL);return c9.resolve(k.getPath($.node.parent),h.node_ops.readlink(h))},stat:function(i,$){var h=k.lookupPath(i,{follow:!$}),d=h.node;if(!d)throw new k.ErrnoError(R2.ENOENT);if(!d.node_ops.getattr)throw new k.ErrnoError(R2.EPERM);return d.node_ops.getattr(d)},lstat:function(i){return k.stat(i,!0)},chmod:function(i,$,h){var d;if(typeof i=="string"){var P=k.lookupPath(i,{follow:!h});d=P.node}else d=i;if(!d.node_ops.setattr)throw new k.ErrnoError(R2.EPERM);d.node_ops.setattr(d,{mode:$&4095|d.mode&-4096,timestamp:Date.now()})},lchmod:function(i,$){k.chmod(i,$,!0)},fchmod:function(i,$){var h=k.getStream(i);if(!h)throw new k.ErrnoError(R2.EBADF);k.chmod(h.node,$)},chown:function(i,$,h,d){var P;if(typeof i=="string"){var e=k.lookupPath(i,{follow:!d});P=e.node}else P=i;if(!P.node_ops.setattr)throw new k.ErrnoError(R2.EPERM);P.node_ops.setattr(P,{timestamp:Date.now()})},lchown:function(i,$,h){k.chown(i,$,h,!0)},fchown:function(i,$,h){var d=k.getStream(i);if(!d)throw new k.ErrnoError(R2.EBADF);k.chown(d.node,$,h)},truncate:function(i,$){if($<0)throw new k.ErrnoError(R2.EINVAL);var h;if(typeof i=="string"){var d=k.lookupPath(i,{follow:!0});h=d.node}else h=i;if(!h.node_ops.setattr)throw new k.ErrnoError(R2.EPERM);if(k.isDir(h.mode))throw new k.ErrnoError(R2.EISDIR);if(!k.isFile(h.mode))throw new k.ErrnoError(R2.EINVAL);var P=k.nodePermissions(h,"w");if(P)throw new k.ErrnoError(P);h.node_ops.setattr(h,{size:$,timestamp:Date.now()})},ftruncate:function(i,$){var h=k.getStream(i);if(!h)throw new k.ErrnoError(R2.EBADF);if(!(h.flags&2097155))throw new k.ErrnoError(R2.EINVAL);k.truncate(h.node,$)},utime:function(i,$,h){var d=k.lookupPath(i,{follow:!0}),P=d.node;P.node_ops.setattr(P,{timestamp:Math.max($,h)})},open:function(i,$,h,d,P){if(i==="")throw new k.ErrnoError(R2.ENOENT);$=typeof $=="string"?k.modeStringToFlags($):$,h=typeof h>"u"?438:h,$&64?h=h&4095|32768:h=0;var e;if(typeof i=="object")e=i;else{i=c9.normalize(i);try{var Z0=k.lookupPath(i,{follow:!($&131072)});e=Z0.node}catch{}}var t1=!1;if($&64)if(e){if($&128)throw new k.ErrnoError(R2.EEXIST)}else e=k.mknod(i,h,0),t1=!0;if(!e)throw new k.ErrnoError(R2.ENOENT);if(k.isChrdev(e.mode)&&($&=-513),!t1){var b2=k.mayOpen(e,$);if(b2)throw new k.ErrnoError(b2)}$&512&&k.truncate(e,0),$&=-641;var s=k.createStream({node:e,path:k.getPath(e),flags:$,seekable:!0,position:0,stream_ops:e.stream_ops,ungotten:[],error:!1},d,P);s.stream_ops.open&&s.stream_ops.open(s),o.logReadFiles&&!($&1)&&(k.readFiles||(k.readFiles={}),i in k.readFiles||(k.readFiles[i]=1,o.printErr("read file: "+i)));try{if(k.trackingDelegate.onOpenFile){var A1=0;($&2097155)!==1&&(A1|=k.tracking.openFlags.READ),$&2097155&&(A1|=k.tracking.openFlags.WRITE),k.trackingDelegate.onOpenFile(i,A1)}}catch(C){console.log("FS.trackingDelegate['onOpenFile']('"+i+"', flags) threw an exception: "+C.message)}return s},close:function(i){try{i.stream_ops.close&&i.stream_ops.close(i)}catch($){throw $}finally{k.closeStream(i.fd)}},llseek:function(i,$,h){if(!i.seekable||!i.stream_ops.llseek)throw new k.ErrnoError(R2.ESPIPE);return i.position=i.stream_ops.llseek(i,$,h),i.ungotten=[],i.position},read:function(i,$,h,d,P){if(d<0||P<0)throw new k.ErrnoError(R2.EINVAL);if((i.flags&2097155)===1)throw new k.ErrnoError(R2.EBADF);if(k.isDir(i.node.mode))throw new k.ErrnoError(R2.EISDIR);if(!i.stream_ops.read)throw new k.ErrnoError(R2.EINVAL);var e=!0;if(typeof P>"u")P=i.position,e=!1;else if(!i.seekable)throw new k.ErrnoError(R2.ESPIPE);var Z0=i.stream_ops.read(i,$,h,d,P);return e||(i.position+=Z0),Z0},write:function(i,$,h,d,P,e){if(d<0||P<0)throw new k.ErrnoError(R2.EINVAL);if(!(i.flags&2097155))throw new k.ErrnoError(R2.EBADF);if(k.isDir(i.node.mode))throw new k.ErrnoError(R2.EISDIR);if(!i.stream_ops.write)throw new k.ErrnoError(R2.EINVAL);i.flags&1024&&k.llseek(i,0,2);var Z0=!0;if(typeof P>"u")P=i.position,Z0=!1;else if(!i.seekable)throw new k.ErrnoError(R2.ESPIPE);var t1=i.stream_ops.write(i,$,h,d,P,e);Z0||(i.position+=t1);try{i.path&&k.trackingDelegate.onWriteToFile&&k.trackingDelegate.onWriteToFile(i.path)}catch(b2){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+b2.message)}return t1},allocate:function(i,$,h){if($<0||h<=0)throw new k.ErrnoError(R2.EINVAL);if(!(i.flags&2097155))throw new k.ErrnoError(R2.EBADF);if(!k.isFile(i.node.mode)&&!k.isDir(node.mode))throw new k.ErrnoError(R2.ENODEV);if(!i.stream_ops.allocate)throw new k.ErrnoError(R2.EOPNOTSUPP);i.stream_ops.allocate(i,$,h)},mmap:function(i,$,h,d,P,e,Z0){if((i.flags&2097155)===1)throw new k.ErrnoError(R2.EACCES);if(!i.stream_ops.mmap)throw new k.ErrnoError(R2.ENODEV);return i.stream_ops.mmap(i,$,h,d,P,e,Z0)},msync:function(i,$,h,d,P){return!i||!i.stream_ops.msync?0:i.stream_ops.msync(i,$,h,d,P)},munmap:function(i){return 0},ioctl:function(i,$,h){if(!i.stream_ops.ioctl)throw new k.ErrnoError(R2.ENOTTY);return i.stream_ops.ioctl(i,$,h)},readFile:function(i,$){if($=$||{},$.flags=$.flags||"r",$.encoding=$.encoding||"binary",$.encoding!=="utf8"&&$.encoding!=="binary")throw new Error('Invalid encoding type "'+$.encoding+'"');var h,d=k.open(i,$.flags),P=k.stat(i),e=P.size,Z0=new Uint8Array(e);return k.read(d,Z0,0,e,0),$.encoding==="utf8"?h=Gs(Z0,0):$.encoding==="binary"&&(h=Z0),k.close(d),h},writeFile:function(i,$,h){if(h=h||{},h.flags=h.flags||"w",h.encoding=h.encoding||"utf8",h.encoding!=="utf8"&&h.encoding!=="binary")throw new Error('Invalid encoding type "'+h.encoding+'"');var d=k.open(i,h.flags,h.mode);if(h.encoding==="utf8"){var P=new Uint8Array(Us($)+1),e=Rn($,P,0,P.length);k.write(d,P,0,e,0,h.canOwn)}else h.encoding==="binary"&&k.write(d,$,0,$.length,0,h.canOwn);k.close(d)},cwd:function(){return k.currentPath},chdir:function(i){var $=k.lookupPath(i,{follow:!0});if(!k.isDir($.node.mode))throw new k.ErrnoError(R2.ENOTDIR);var h=k.nodePermissions($.node,"x");if(h)throw new k.ErrnoError(h);k.currentPath=$.path},createDefaultDirectories:function(){k.mkdir("/tmp"),k.mkdir("/home"),k.mkdir("/home/web_user")},createDefaultDevices:function(){k.mkdir("/dev"),k.registerDevice(k.makedev(1,3),{read:function(){return 0},write:function(h,d,P,e,Z0){return e}}),k.mkdev("/dev/null",k.makedev(1,3)),Tn.register(k.makedev(5,0),Tn.default_tty_ops),Tn.register(k.makedev(6,0),Tn.default_tty1_ops),k.mkdev("/dev/tty",k.makedev(5,0)),k.mkdev("/dev/tty1",k.makedev(6,0));var i;if(typeof crypto<"u"){var $=new Uint8Array(1);i=function(){return crypto.getRandomValues($),$[0]}}else f?i=void 0:i=function(){return Math.random()*256|0};k.createDevice("/dev","random",i),k.createDevice("/dev","urandom",i),k.mkdir("/dev/shm"),k.mkdir("/dev/shm/tmp")},createStandardStreams:function(){o.stdin?k.createDevice("/dev","stdin",o.stdin):k.symlink("/dev/tty","/dev/stdin"),o.stdout?k.createDevice("/dev","stdout",null,o.stdout):k.symlink("/dev/tty","/dev/stdout"),o.stderr?k.createDevice("/dev","stderr",null,o.stderr):k.symlink("/dev/tty1","/dev/stderr");var i=k.open("/dev/stdin","r");_9[Hk>>2]=k.getPtrForStream(i),K4(i.fd===0,"invalid handle for stdin ("+i.fd+")");var $=k.open("/dev/stdout","w");_9[Yk>>2]=k.getPtrForStream($),K4($.fd===1,"invalid handle for stdout ("+$.fd+")");var h=k.open("/dev/stderr","w");_9[Jk>>2]=k.getPtrForStream(h),K4(h.fd===2,"invalid handle for stderr ("+h.fd+")")},ensureErrnoError:function(){k.ErrnoError||(k.ErrnoError=function($,h){this.node=h,this.setErrno=function(d){this.errno=d;for(var P in R2)if(R2[P]===d){this.code=P;break}},this.setErrno($),this.message=qk[$]},k.ErrnoError.prototype=new Error,k.ErrnoError.prototype.constructor=k.ErrnoError,[R2.ENOENT].forEach(function(i){k.genericErrors[i]=new k.ErrnoError(i),k.genericErrors[i].stack=""}))},staticInit:function(){k.ensureErrnoError(),k.nameTable=new Array(4096),k.mount(v9,{},"/"),k.createDefaultDirectories(),k.createDefaultDevices()},init:function(i,$,h){K4(!k.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)"),k.init.initialized=!0,k.ensureErrnoError(),o.stdin=i||o.stdin,o.stdout=$||o.stdout,o.stderr=h||o.stderr,k.createStandardStreams()},quit:function(){k.init.initialized=!1;for(var i=0;ithis.length-1||w5<0)){var p2=w5%this.chunkSize,T5=w5/this.chunkSize|0;return this.getter(T5)[p2]}},e.prototype.setDataGetter=function(w5){this.getter=w5},e.prototype.cacheLength=function(){var w5=new XMLHttpRequest;if(w5.open("HEAD",h,!1),w5.send(null),!(w5.status>=200&&w5.status<300||w5.status===304))throw new Error("Couldn't load "+h+". Status: "+w5.status);var p2=Number(w5.getResponseHeader("Content-length")),T5,x9=(T5=w5.getResponseHeader("Accept-Ranges"))&&T5==="bytes",O9=1024*1024;x9||(O9=p2);var I4=function(K9,h8){if(K9>h8)throw new Error("invalid range ("+K9+", "+h8+") or no bytes requested!");if(h8>p2-1)throw new Error("only "+p2+" bytes available! programmer error!");var z4=new XMLHttpRequest;if(z4.open("GET",h,!1),p2!==O9&&z4.setRequestHeader("Range","bytes="+K9+"-"+h8),typeof Uint8Array<"u"&&(z4.responseType="arraybuffer"),z4.overrideMimeType&&z4.overrideMimeType("text/plain; charset=x-user-defined"),z4.send(null),!(z4.status>=200&&z4.status<300||z4.status===304))throw new Error("Couldn't load "+h+". Status: "+z4.status);return z4.response!==void 0?new Uint8Array(z4.response||[]):Jr(z4.responseText||"",!0)},w8=this;w8.setDataGetter(function(K9){var h8=K9*O9,z4=(K9+1)*O9-1;if(z4=Math.min(z4,p2-1),typeof w8.chunks[K9]>"u"&&(w8.chunks[K9]=I4(h8,z4)),typeof w8.chunks[K9]>"u")throw new Error("doXHR failed!");return w8.chunks[K9]}),this._length=p2,this._chunkSize=O9,this.lengthKnown=!0},typeof XMLHttpRequest<"u"){if(!S)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var Z0=new e;Object.defineProperty(Z0,"length",{get:function(){return this.lengthKnown||this.cacheLength(),this._length}}),Object.defineProperty(Z0,"chunkSize",{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}});var t1={isDevice:!1,contents:Z0}}else var t1={isDevice:!1,url:h};var b2=k.createFile(i,$,t1,d,P);t1.contents?b2.contents=t1.contents:t1.url&&(b2.contents=null,b2.url=t1.url),Object.defineProperty(b2,"usedBytes",{get:function(){return this.contents.length}});var s={},A1=Object.keys(b2.stream_ops);return A1.forEach(function(C){var w5=b2.stream_ops[C];s[C]=function(){if(!k.forceLoadFile(b2))throw new k.ErrnoError(R2.EIO);return w5.apply(null,arguments)}}),s.read=function(w5,p2,T5,x9,O9){if(!k.forceLoadFile(b2))throw new k.ErrnoError(R2.EIO);var I4=w5.node.contents;if(O9>=I4.length)return 0;var w8=Math.min(I4.length-O9,x9);if(K4(w8>=0),I4.slice)for(var K9=0;K9=0;d--){var P=i[d];P==="."?i.splice(d,1):P===".."?(i.splice(d,1),h++):h&&(i.splice(d,1),h--)}if($)for(;h--;h)i.unshift("..");return i},normalize:function(i){var $=i.charAt(0)==="/",h=i.substr(-1)==="/";return i=c9.normalizeArray(i.split("/").filter(function(d){return!!d}),!$).join("/"),!i&&!$&&(i="."),i&&h&&(i+="/"),($?"/":"")+i},dirname:function(i){var $=c9.splitPath(i),h=$[0],d=$[1];return!h&&!d?".":(d&&(d=d.substr(0,d.length-1)),h+d)},basename:function(i){if(i==="/")return"/";var $=i.lastIndexOf("/");return $===-1?i:i.substr($+1)},extname:function(i){return c9.splitPath(i)[3]},join:function(){var i=Array.prototype.slice.call(arguments,0);return c9.normalize(i.join("/"))},join2:function(i,$){return c9.normalize(i+"/"+$)},resolve:function(){for(var i="",$=!1,h=arguments.length-1;h>=-1&&!$;h--){var d=h>=0?arguments[h]:k.cwd();if(typeof d!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!d)return"";i=d+"/"+i,$=d.charAt(0)==="/"}return i=c9.normalizeArray(i.split("/").filter(function(P){return!!P}),!$).join("/"),($?"/":"")+i||"."},relative:function(i,$){i=c9.resolve(i).substr(1),$=c9.resolve($).substr(1);function h(s){for(var A1=0;A1=0&&s[C]==="";C--);return A1>C?[]:s.slice(A1,C-A1+1)}for(var d=h(i.split("/")),P=h($.split("/")),e=Math.min(d.length,P.length),Z0=e,t1=0;t10){var t1=Date.now(),b2=J1.mainLoop.queue.shift();if(b2.func(b2.arg),J1.mainLoop.remainingBlockers){var s=J1.mainLoop.remainingBlockers,A1=s%1==0?s-1:Math.floor(s);b2.counted?J1.mainLoop.remainingBlockers=A1:(A1=A1+.5,J1.mainLoop.remainingBlockers=(8*s+A1)/9)}console.log('main loop blocker "'+b2.name+'" took '+(Date.now()-t1)+" ms"),J1.mainLoop.updateStatus(),setTimeout(J1.mainLoop.runner,0);return}if(!(e1&&J1.mainLoop.currentFrameNumber%J1.mainLoop.timingValue!=0){J1.mainLoop.scheduler();return}J1.mainLoop.method==="timeout"&&o.ctx&&(o.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!"),J1.mainLoop.method=""),J1.mainLoop.runIter(function(){typeof d<"u"?x.dynCall("vi",i,[d]):x.dynCall("v",i)}),!(e0?Jm(0,1e3/$):Jm(1,1),J1.mainLoop.scheduler()),h)throw"SimulateInfiniteLoop"}var J1={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){J1.mainLoop.scheduler=null,J1.mainLoop.currentlyRunningMainloop++},resume:function(){J1.mainLoop.currentlyRunningMainloop++;var i=J1.mainLoop.timingMode,$=J1.mainLoop.timingValue,h=J1.mainLoop.func;J1.mainLoop.func=null,yp(h,0,!1,J1.mainLoop.arg,!0),Jm(i,$),J1.mainLoop.scheduler()},updateStatus:function(){if(o.setStatus){var i=o.statusMessage||"Please wait...",$=J1.mainLoop.remainingBlockers,h=J1.mainLoop.expectedBlockers;$?$"u"&&(console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."),o.noImageDecoding=!0);var i={};i.canHandle=function(e){return!o.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(e)},i.handle=function(e,Z0,t1,b2){var s=null;if(J1.hasBlobConstructor)try{s=new Blob([e],{type:J1.getMimetype(Z0)}),s.size!==e.length&&(s=new Blob([new Uint8Array(e).buffer],{type:J1.getMimetype(Z0)}))}catch(p2){x.warnOnce("Blob constructor present but fails: "+p2+"; falling back to blob builder")}if(!s){var A1=new J1.BlobBuilder;A1.append(new Uint8Array(e).buffer),s=A1.getBlob()}var C=J1.URLObject.createObjectURL(s),w5=new Image;w5.onload=function(){K4(w5.complete,"Image "+Z0+" could not be decoded");var T5=document.createElement("canvas");T5.width=w5.width,T5.height=w5.height;var x9=T5.getContext("2d");x9.drawImage(w5,0,0),o.preloadedImages[Z0]=T5,J1.URLObject.revokeObjectURL(C),t1&&t1(e)},w5.onerror=function(T5){console.log("Image "+C+" could not be decoded"),b2&&b2()},w5.src=C},o.preloadPlugins.push(i);var $={};$.canHandle=function(e){return!o.noAudioDecoding&&e.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},$.handle=function(e,Z0,t1,b2){var s=!1;function A1(x9){s||(s=!0,o.preloadedAudios[Z0]=x9,t1&&t1(e))}function C(){s||(s=!0,o.preloadedAudios[Z0]=new Audio,b2&&b2())}if(J1.hasBlobConstructor){try{var w5=new Blob([e],{type:J1.getMimetype(Z0)})}catch{return C()}var p2=J1.URLObject.createObjectURL(w5),T5=new Audio;T5.addEventListener("canplaythrough",function(){A1(T5)},!1),T5.onerror=function(O9){if(s)return;console.log("warning: browser could not fully decode audio "+Z0+", trying slower base64 approach");function I4(w8){for(var K9="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",h8="=",z4="",Ui=0,Pi=0,Ir=0;Ir=6;){var Z$=Ui>>Pi-6&63;Pi-=6,z4+=K9[Z$]}return Pi==2?(z4+=K9[(Ui&3)<<4],z4+=h8+h8):Pi==4&&(z4+=K9[(Ui&15)<<2],z4+=h8),z4}T5.src="data:audio/x-"+Z0.substr(-3)+";base64,"+I4(e),A1(T5)},T5.src=p2,J1.safeSetTimeout(function(){A1(T5)},1e4)}else return C()},o.preloadPlugins.push($);var h=o.canvas;function d(){J1.pointerLock=document.pointerLockElement===h||document.mozPointerLockElement===h||document.webkitPointerLockElement===h||document.msPointerLockElement===h}h&&(h.requestPointerLock=h.requestPointerLock||h.mozRequestPointerLock||h.webkitRequestPointerLock||h.msRequestPointerLock||function(){},h.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},h.exitPointerLock=h.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",d,!1),document.addEventListener("mozpointerlockchange",d,!1),document.addEventListener("webkitpointerlockchange",d,!1),document.addEventListener("mspointerlockchange",d,!1),o.elementPointerLock&&h.addEventListener("click",function(P){!J1.pointerLock&&h.requestPointerLock&&(h.requestPointerLock(),P.preventDefault())},!1))},createContext:function(i,$,h,d){if($&&o.ctx&&i==o.canvas)return o.ctx;var P,e;if($){var Z0={antialias:!1,alpha:!1};if(d)for(var t1 in d)Z0[t1]=d[t1];e=GL.createContext(i,Z0),e&&(P=GL.getContext(e).GLctx),i.style.backgroundColor="black"}else P=i.getContext("2d");return P?(h&&($||K4(typeof GLctx>"u","cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),o.ctx=P,$&&GL.makeContextCurrent(e),o.useWebGL=$,J1.moduleContextCreatedCallbacks.forEach(function(b2){b2()}),J1.init()),P):null},destroyContext:function(i,$,h){},fullScreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullScreen:function(i,$,h){J1.lockPointer=i,J1.resizeCanvas=$,J1.vrDevice=h,typeof J1.lockPointer>"u"&&(J1.lockPointer=!0),typeof J1.resizeCanvas>"u"&&(J1.resizeCanvas=!1),typeof J1.vrDevice>"u"&&(J1.vrDevice=null);var d=o.canvas;function P(){J1.isFullScreen=!1;var Z0=d.parentNode;(document.webkitFullScreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.mozFullscreenElement||document.fullScreenElement||document.fullscreenElement||document.msFullScreenElement||document.msFullscreenElement||document.webkitCurrentFullScreenElement)===Z0?(d.cancelFullScreen=document.cancelFullScreen||document.mozCancelFullScreen||document.webkitCancelFullScreen||document.msExitFullscreen||document.exitFullscreen||function(){},d.cancelFullScreen=d.cancelFullScreen.bind(document),J1.lockPointer&&d.requestPointerLock(),J1.isFullScreen=!0,J1.resizeCanvas&&J1.setFullScreenCanvasSize()):(Z0.parentNode.insertBefore(d,Z0),Z0.parentNode.removeChild(Z0),J1.resizeCanvas&&J1.setWindowedCanvasSize()),o.onFullScreen&&o.onFullScreen(J1.isFullScreen),J1.updateCanvasDimensions(d)}J1.fullScreenHandlersInstalled||(J1.fullScreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",P,!1),document.addEventListener("mozfullscreenchange",P,!1),document.addEventListener("webkitfullscreenchange",P,!1),document.addEventListener("MSFullscreenChange",P,!1));var e=document.createElement("div");d.parentNode.insertBefore(e,d),e.appendChild(d),e.requestFullScreen=e.requestFullScreen||e.mozRequestFullScreen||e.msRequestFullscreen||(e.webkitRequestFullScreen?function(){e.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),h?e.requestFullScreen({vrDisplay:h}):e.requestFullScreen()},nextRAF:0,fakeRequestAnimationFrame:function(i){var $=Date.now();if(J1.nextRAF===0)J1.nextRAF=$+1e3/60;else for(;$+2>=J1.nextRAF;)J1.nextRAF+=1e3/60;var h=Math.max(J1.nextRAF-$,0);setTimeout(i,h)},requestAnimationFrame:function($){typeof window>"u"?J1.fakeRequestAnimationFrame($):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||J1.fakeRequestAnimationFrame),window.requestAnimationFrame($))},safeCallback:function(i){return function(){if(!F0)return i.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){J1.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(J1.allowAsyncCallbacks=!0,J1.queuedAsyncCallbacks.length>0){var i=J1.queuedAsyncCallbacks;J1.queuedAsyncCallbacks=[],i.forEach(function($){$()})}},safeRequestAnimationFrame:function(i){return J1.requestAnimationFrame(function(){F0||(J1.allowAsyncCallbacks?i():J1.queuedAsyncCallbacks.push(i))})},safeSetTimeout:function(i,$){return o.noExitRuntime=!0,setTimeout(function(){F0||(J1.allowAsyncCallbacks?i():J1.queuedAsyncCallbacks.push(i))},$)},safeSetInterval:function(i,$){return o.noExitRuntime=!0,setInterval(function(){F0||J1.allowAsyncCallbacks&&i()},$)},getMimetype:function(i){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[i.substr(i.lastIndexOf(".")+1)]},getUserMedia:function(i){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(i)},getMovementX:function(i){return i.movementX||i.mozMovementX||i.webkitMovementX||0},getMovementY:function(i){return i.movementY||i.mozMovementY||i.webkitMovementY||0},getMouseWheelDelta:function(i){var $=0;switch(i.type){case"DOMMouseScroll":$=i.detail;break;case"mousewheel":$=i.wheelDelta;break;case"wheel":$=i.deltaY;break;default:throw"unrecognized mouse wheel event: "+i.type}return $},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(i){if(J1.pointerLock)i.type!="mousemove"&&"mozMovementX"in i?J1.mouseMovementX=J1.mouseMovementY=0:(J1.mouseMovementX=J1.getMovementX(i),J1.mouseMovementY=J1.getMovementY(i)),typeof SDL<"u"?(J1.mouseX=SDL.mouseX+J1.mouseMovementX,J1.mouseY=SDL.mouseY+J1.mouseMovementY):(J1.mouseX+=J1.mouseMovementX,J1.mouseY+=J1.mouseMovementY);else{var $=o.canvas.getBoundingClientRect(),h=o.canvas.width,d=o.canvas.height,P=typeof window.scrollX<"u"?window.scrollX:window.pageXOffset,e=typeof window.scrollY<"u"?window.scrollY:window.pageYOffset;if(i.type==="touchstart"||i.type==="touchend"||i.type==="touchmove"){var Z0=i.touch;if(Z0===void 0)return;var t1=Z0.pageX-(P+$.left),b2=Z0.pageY-(e+$.top);t1=t1*(h/$.width),b2=b2*(d/$.height);var s={x:t1,y:b2};if(i.type==="touchstart")J1.lastTouches[Z0.identifier]=s,J1.touches[Z0.identifier]=s;else if(i.type==="touchend"||i.type==="touchmove"){var A1=J1.touches[Z0.identifier];A1||(A1=s),J1.lastTouches[Z0.identifier]=A1,J1.touches[Z0.identifier]=s}return}var C=i.pageX-(P+$.left),w5=i.pageY-(e+$.top);C=C*(h/$.width),w5=w5*(d/$.height),J1.mouseMovementX=C-J1.mouseX,J1.mouseMovementY=w5-J1.mouseY,J1.mouseX=C,J1.mouseY=w5}},xhrLoad:function(i,$,h){var d=new XMLHttpRequest;d.open("GET",i,!0),d.responseType="arraybuffer",d.onload=function(){d.status==200||d.status==0&&d.response?$(d.response):h()},d.onerror=h,d.send(null)},asyncLoad:function(i,$,h,d){J1.xhrLoad(i,function(P){K4(P,'Loading data file "'+i+'" failed (no arrayBuffer).'),$(new Uint8Array(P)),d||fr("al "+i)},function(P){if(h)h();else throw'Loading data file "'+i+'" failed.'}),d||Mn("al "+i)},resizeListeners:[],updateResizeListeners:function(){var i=o.canvas;J1.resizeListeners.forEach(function($){$(i.width,i.height)})},setCanvasSize:function(i,$,h){var d=o.canvas;J1.updateCanvasDimensions(d,i,$),h||J1.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:function(){if(typeof SDL<"u"){var i=V$[SDL.screen+x.QUANTUM_SIZE*0>>2];i=i|8388608,_9[SDL.screen+x.QUANTUM_SIZE*0>>2]=i}J1.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL<"u"){var i=V$[SDL.screen+x.QUANTUM_SIZE*0>>2];i=i&-8388609,_9[SDL.screen+x.QUANTUM_SIZE*0>>2]=i}J1.updateResizeListeners()},updateCanvasDimensions:function(i,$,h){$&&h?(i.widthNative=$,i.heightNative=h):($=i.widthNative,h=i.heightNative);var d=$,P=h;if(o.forcedAspectRatio&&o.forcedAspectRatio>0&&(d/P>2]=$),$}function Av(){o.printErr("missing function: floor0_exportbundle"),Vs(-1)}if(Ys=x.staticAlloc(4),_9[Ys>>2]=0,o.requestFullScreen=function($,h,d){J1.requestFullScreen($,h,d)},o.requestAnimationFrame=function($){J1.requestAnimationFrame($)},o.setCanvasSize=function($,h,d){J1.setCanvasSize($,h,d)},o.pauseMainLoop=function(){J1.mainLoop.pause()},o.resumeMainLoop=function(){J1.mainLoop.resume()},o.getUserMedia=function(){J1.getUserMedia()},o.createContext=function($,h,d,P){return J1.createContext($,h,d,P)},k.staticInit(),P$.unshift(function(){!o.noFSInit&&!k.init.initialized&&k.init()}),kh.push(function(){k.ignorePermissions=!1}),O$.push(function(){k.quit()}),o.FS_createFolder=k.createFolder,o.FS_createPath=k.createPath,o.FS_createDataFile=k.createDataFile,o.FS_createPreloadedFile=k.createPreloadedFile,o.FS_createLazyFile=k.createLazyFile,o.FS_createLink=k.createLink,o.FS_createDevice=k.createDevice,P$.unshift(function(){Tn.init()}),O$.push(function(){Tn.shutdown()}),f)var Qt=void 0,kp=void 0;wh=pi=x.alignMemory(Hr),T$=!0,N$=wh+Pm,G$=Fi=x.alignMemory(N$),K4(G$>0]=d[t>>0],d[p2+1>>0]=d[t+1>>0],d[p2+2>>0]=d[t+2>>0],d[p2+3>>0]=d[t+3>>0]}function zD(t){t=t|0,d[p2>>0]=d[t>>0],d[p2+1>>0]=d[t+1>>0],d[p2+2>>0]=d[t+2>>0],d[p2+3>>0]=d[t+3>>0],d[p2+4>>0]=d[t+4>>0],d[p2+5>>0]=d[t+5>>0],d[p2+6>>0]=d[t+6>>0],d[p2+7>>0]=d[t+7>>0]}function Pv(t){t=t|0,H6=t}function Ov(){return H6|0}function lB(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0;E=C,e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,n=S9(256)|0,A=t+8|0,e[A>>2]=n,a=t+12|0,e[a>>2]=n,d[n>>0]=0,c=t+16|0,e[c>>2]=256}function qv(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0;L=C,A=n>>3,a=t+12|0,B=e[a>>2]|0,v=(B|0)==0,!v&&(b=A<<3,w=n-b|0,y=t+8|0,D=e[y>>2]|0,Q=D+A|0,e[a>>2]=Q,_=t+4|0,e[_>>2]=w,e[t>>2]=A,c=8+(w<<2)|0,u=e[c>>2]|0,E=d[Q>>0]|0,I=E&255,m=I&u,p=m&255,d[Q>>0]=p)}function U2(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0;O0=C,u=A>>>0>32;do if(!u){if(E=e[t>>2]|0,_=t+16|0,t0=e[_>>2]|0,s0=t0+-4|0,w0=(E|0)<(s0|0),a=t+12|0,c=e[a>>2]|0,w0)N=c;else{if(R0=(c|0)==0,R0)return;if(Y0=(t0|0)>2147483391,Y0||(P0=t+8|0,K0=e[P0>>2]|0,I=t0+256|0,m=qi(K0,I)|0,p=(m|0)==0,p))break;e[P0>>2]=m,B=e[_>>2]|0,v=B+256|0,e[_>>2]=v,b=e[t>>2]|0,w=m+b|0,e[a>>2]=w,N=w}y=8+(A<<2)|0,D=e[y>>2]|0,Q=D&n,R=t+4|0,L=e[R>>2]|0,F=L+A|0,M=Q<>0]|0,G=T&255,O=G|M,z=O&255,d[N>>0]=z,Y=(F|0)>7;do if(Y&&(J=e[R>>2]|0,W=8-J|0,e0=Q>>>W,q=e0&255,X=e[a>>2]|0,U=X+1|0,d[U>>0]=q,$0=(F|0)>15,$0&&(Z=e[R>>2]|0,K=16-Z|0,a0=Q>>>K,i0=a0&255,r0=e[a>>2]|0,V=r0+2|0,d[V>>0]=i0,h0=(F|0)>23,h0&&(o0=e[R>>2]|0,c0=24-o0|0,j=Q>>>c0,l0=j&255,u0=e[a>>2]|0,d0=u0+3|0,d[d0>>0]=l0,C0=(F|0)>31,C0))))if(k0=e[R>>2]|0,f0=(k0|0)==0,f0){_0=e[a>>2]|0,Q0=_0+4|0,d[Q0>>0]=0;break}else{B0=32-k0|0,p0=Q>>>B0,I0=p0&255,S0=e[a>>2]|0,V0=S0+4|0,d[V0>>0]=I0;break}while(!1);M0=(F|0)/8&-1,N0=e[t>>2]|0,U0=N0+M0|0,e[t>>2]=U0,y0=e[a>>2]|0,H0=y0+M0|0,e[a>>2]=H0,L0=F&7,e[R>>2]=L0;return}while(!1);D0=t+8|0,T0=e[D0>>2]|0,J0=(T0|0)==0,J0||I2(T0),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0}function cB(t){t=t|0;var n=0,A=0,a=0,c=0,u=0;u=C,n=t+8|0,A=e[n>>2]|0,a=(A|0)==0,a||I2(A),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0}function u7(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0;p=C,n=t+12|0,A=e[n>>2]|0,a=(A|0)==0,!a&&(c=t+8|0,u=e[c>>2]|0,e[n>>2]=u,E=u,d[E>>0]=0,e[t>>2]=0,I=t+4|0,e[I>>2]=0)}function gB(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0;if(S0=C,a=n>>>0>32,a)return A=-1,A|0;if(c=8+(n<<2)|0,D=e[c>>2]|0,z=t+4|0,K=e[z>>2]|0,u0=K+n|0,w0=e[t>>2]|0,C0=t+16|0,k0=e[C0>>2]|0,f0=k0+-4|0,u=(w0|0)<(f0|0),!u){if(E=u0+7|0,I=E>>3,m=k0-I|0,p=(w0|0)>(m|0),p)return A=-1,A|0;if(B=(u0|0)==0,B)return A=0,A|0}return v=t+12|0,b=e[v>>2]|0,w=d[b>>0]|0,y=w&255,Q=y>>>K,_=(u0|0)>8,_?(R=b+1|0,L=d[R>>0]|0,F=L&255,M=8-K|0,T=F<16,G?(O=b+2|0,Y=d[O>>0]|0,t0=Y&255,J=16-K|0,W=t0<24,q?(X=b+3|0,U=d[X>>0]|0,$0=U&255,Z=24-K|0,a0=$0<>0]|0,o0=h0&255,c0=32-K|0,j=o0<>2]|0,v=a+n|0,b=e[t>>2]|0,w=t+16|0,y=e[w>>2]|0,D=v+7|0,Q=D>>3,_=y-Q|0,R=(b|0)>(_|0),R){B=t+12|0,e[B>>2]=0,e[t>>2]=y,L=1,e[A>>2]=L;return}else{c=(v|0)/8&-1,u=t+12|0,E=e[u>>2]|0,I=E+c|0,e[u>>2]=I,m=b+c|0,e[t>>2]=m,p=v&7,L=p,e[A>>2]=L;return}}function W4(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0;D0=C,m=n>>>0>32;do if(m)a=t+16|0,c=e[a>>2]|0,I=t+4|0,u=t,E=I,Q0=c;else{if(p=8+(n<<2)|0,F=e[p>>2]|0,e0=t+4|0,V=e[e0>>2]|0,f0=V+n|0,R0=e[t>>2]|0,M0=t+16|0,N0=e[M0>>2]|0,U0=N0+-4|0,B=(R0|0)<(U0|0),!B){if(v=f0+7|0,b=v>>3,w=N0-b|0,y=(R0|0)>(w|0),y){u=t,E=e0,Q0=N0;break}if(D=(f0|0)==0,D)return A=0,A|0}return Q=t+12|0,_=e[Q>>2]|0,R=d[_>>0]|0,L=R&255,M=L>>>V,T=(f0|0)>8,T?(N=_+1|0,G=d[N>>0]|0,O=G&255,z=8-V|0,Y=O<16,J?(W=_+2|0,q=d[W>>0]|0,X=q&255,U=16-V|0,$0=X<24,K?(a0=_+3|0,s0=d[a0>>0]|0,i0=s0&255,r0=24-V|0,h0=i0<>0]|0,d0=u0&255,w0=32-V|0,C0=d0<>2]=I0,S0=R0+p0|0,e[t>>2]=S0,V0=f0&7,e[e0>>2]=V0,A=B0,A|0}while(!1);return _0=t+12|0,e[_0>>2]=0,e[u>>2]=Q0,e[E>>2]=1,A=-1,A|0}function yt(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0;return m=C,n=e[t>>2]|0,A=t+4|0,a=e[A>>2]|0,c=a+7|0,u=(c|0)/8&-1,E=u+n|0,E|0}function eQ(t){t=t|0;var n=0,A=0,a=0,c=0;return c=C,n=t+8|0,A=e[n>>2]|0,A|0}function Hv(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0;if(T=C,c=(t|0)==0,c)return A=-1,A|0;ae(t|0,0,360)|0,u=t+4|0,e[u>>2]=16384,b=t+24|0,e[b>>2]=1024,w=S9(16384)|0,e[t>>2]=w,y=S9(4096)|0,D=t+16|0,e[D>>2]=y,Q=S9(8192)|0,_=t+20|0,e[_>>2]=Q,R=(w|0)==0;do if(R)I=y;else{if(L=(y|0)==0,E=(Q|0)==0,F=E|L,F){I2(w),a=e[D>>2]|0,I=a;break}return v=t+336|0,e[v>>2]=n,A=0,A|0}while(!1);return m=(I|0)==0,m||I2(I),p=e[_>>2]|0,B=(p|0)==0,B||I2(p),ae(t|0,0,360)|0,A=-1,A|0}function Yv(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0;return v=C,n=(t|0)==0,n||(A=e[t>>2]|0,a=(A|0)==0,a||I2(A),c=t+16|0,u=e[c>>2]|0,E=(u|0)==0,E||I2(u),I=t+20|0,m=e[I>>2]|0,p=(m|0)==0,p||I2(m),ae(t|0,0,360)|0),0}function Jv(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0;if(N0=C,n=(t|0)==0,!n){if(A=e[t>>2]|0,w=A+22|0,d[w>>0]=0,G=e[t>>2]|0,$0=G+23|0,d[$0>>0]=0,j=e[t>>2]|0,k0=j+24|0,d[k0>>0]=0,f0=e[t>>2]|0,B0=f0+25|0,d[B0>>0]=0,p0=t+4|0,a=e[p0>>2]|0,c=(a|0)>0,c)for(u=e[t>>2]|0,S0=0,Q0=0;;)if(v=S0<<8,b=S0>>>24,y=u+Q0|0,D=d[y>>0]|0,Q=D&255,_=Q^b,R=144+(_<<2)|0,L=e[R>>2]|0,F=L^v,M=Q0+1|0,T=(M|0)<(a|0),T)S0=F,Q0=M;else{I0=F;break}else I0=0;if(E=t+12|0,I=e[E>>2]|0,m=(I|0)>0,m)for(p=t+8|0,B=e[p>>2]|0,_0=I0,R0=0;;)if(N=_0<<8,O=_0>>>24,z=B+R0|0,Y=d[z>>0]|0,t0=Y&255,J=t0^O,W=144+(J<<2)|0,e0=e[W>>2]|0,q=e0^N,X=R0+1|0,U=(X|0)<(I|0),U)_0=q,R0=X;else{V0=q;break}else V0=I0;Z=V0&255,K=e[t>>2]|0,a0=K+22|0,d[a0>>0]=Z,s0=V0>>>8,i0=s0&255,r0=e[t>>2]|0,V=r0+23|0,d[V>>0]=i0,h0=V0>>>16,o0=h0&255,c0=e[t>>2]|0,l0=c0+24|0,d[l0>>0]=o0,u0=V0>>>24,d0=u0&255,w0=e[t>>2]|0,C0=w0+25|0,d[C0>>0]=d0}}function Vv(t,n,A,a,c,u){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0,u=u|0;var E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,L1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0;if(d2=C,j=(t|0)==0,j||(S0=e[t>>2]|0,D0=(S0|0)==0,D0))return I=-1,I|0;if(b0=(n|0)==0,b0)return I=0,I|0;z0=(A|0)>0;e:do if(z0){for(f2=0,y2=0;;){if(w1=(n+(y2<<3)|0)+4|0,O1=e[w1>>2]|0,s2=(O1|0)<0,y=2147483647-O1|0,O=(f2|0)>(y|0),F2=s2|O,F2){I=-1;break}if(Z=O1+f2|0,s0=y2+1|0,i0=(s0|0)<(A|0),i0)f2=Z,y2=s0;else{n2=Z;break e}}return I|0}else n2=0;while(!1);r0=(n2|0)/255&-1,V=r0+1|0,h0=t+12|0,o0=e[h0>>2]|0,c0=(o0|0)==0,w=t+8|0,c0||(l0=e[w>>2]|0,u0=l0-o0|0,e[w>>2]=u0,d0=(l0|0)==(o0|0),d0||(w0=S0+o0|0,jA(S0|0,w0|0,u0|0)|0),e[h0>>2]=0),C0=t+4|0,k0=e[C0>>2]|0,f0=k0-n2|0,B0=e[w>>2]|0,p0=(f0|0)>(B0|0);do if(!p0){if(I0=2147483647-n2|0,V0=(k0|0)>(I0|0),V0)return _0=e[t>>2]|0,Q0=(_0|0)==0,Q0||I2(_0),R0=t+16|0,M0=e[R0>>2]|0,N0=(M0|0)==0,N0||I2(M0),U0=t+20|0,y0=e[U0>>2]|0,H0=(y0|0)==0,H0||I2(y0),ae(t|0,0,360)|0,I=-1,I|0;if(L0=k0+n2|0,T0=(L0|0)<2147482623,J0=L0+1024|0,E=T0?J0:L0,Y0=e[t>>2]|0,P0=qi(Y0,E)|0,K0=(P0|0)==0,!K0){e[C0>>2]=E,e[t>>2]=P0;break}return G0=e[t>>2]|0,O0=(G0|0)==0,O0||I2(G0),r1=t+16|0,q0=e[r1>>2]|0,e1=(q0|0)==0,e1||I2(q0),i1=t+20|0,c1=e[i1>>2]|0,$1=(c1|0)==0,$1||I2(c1),ae(t|0,0,360)|0,I=-1,I|0}while(!1);if(u1=Kv(t,V)|0,g1=(u1|0)==0,!g1)return I=-1,I|0;if(z0)for(p=e[w>>2]|0,p1=p,v2=0;E1=e[t>>2]|0,B1=E1+p1|0,Q1=n+(v2<<3)|0,x1=e[Q1>>2]|0,L1=(n+(v2<<3)|0)+4|0,S1=e[L1>>2]|0,s4(B1|0,x1|0,S1|0)|0,R1=e[L1>>2]|0,F1=e[w>>2]|0,G1=F1+R1|0,e[w>>2]=G1,k1=v2+1|0,e2=(k1|0)==(A|0),!e2;)p1=G1,v2=k1;if(l1=(n2|0)>254,s1=t+28|0,a1=e[s1>>2]|0,n1=t+16|0,o1=e[n1>>2]|0,l1){for(I1=t+352|0,h1=t+20|0,m1=e[h1>>2]|0,d1=(r0|0)>1,C2=0;U1=a1+C2|0,Z1=o1+(U1<<2)|0,e[Z1>>2]=255,N1=I1,D1=N1,V1=e[D1>>2]|0,q1=N1+4|0,H1=q1,Y1=e[H1>>2]|0,j1=m1+(U1<<3)|0,r2=j1,W1=r2,e[W1>>2]=V1,P1=r2+4|0,c2=P1,e[c2>>2]=Y1,z1=C2+1|0,u2=(z1|0)<(r0|0),u2;)C2=z1;D2=d1?r0:1,B=I1,a2=m1,w2=D2}else m=t+20|0,v=e[m>>2]|0,b=t+352|0,B=b,a2=v,w2=0;return E2=(n2|0)%255&-1,o2=a1+w2|0,K1=o1+(o2<<2)|0,e[K1>>2]=E2,h2=a2+(o2<<3)|0,t2=h2,$2=t2,e[$2>>2]=c,i2=t2+4|0,A2=i2,e[A2>>2]=u,X1=B,D=X1,e[D>>2]=c,Q=X1+4|0,_=Q,e[_>>2]=u,R=o1+(a1<<2)|0,L=e[R>>2]|0,F=L|256,e[R>>2]=F,M=a1+V|0,e[s1>>2]=M,T=t+344|0,N=T,G=N,z=e[G>>2]|0,Y=N+4|0,t0=Y,J=e[t0>>2]|0,W=Zs(z|0,J|0,1,0)|0,e0=H6,q=T,X=q,e[X>>2]=W,U=q+4|0,$0=U,e[$0>>2]=e0,K=(a|0)==0,K?(I=0,I|0):(a0=t+328|0,e[a0>>2]=1,I=0,I|0)}function Wm(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0;return R=C,C=C+16|0,Q=R,A=e[n>>2]|0,e[Q>>2]=A,a=n+4|0,m=e[a>>2]|0,p=Q+4|0,e[p>>2]=m,B=n+12|0,v=e[B>>2]|0,b=n+16|0,w=b,y=w,D=e[y>>2]|0,c=w+4|0,u=c,E=e[u>>2]|0,I=Vv(t,Q,1,v,D,E)|0,C=R,I|0}function tQ(t,n){t=t|0,n=n|0;var A=0,a=0,c=0;return c=C,A=rQ(t,n,1,4096)|0,A|0}function iQ(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0;return R=C,u=(t|0)==0,u||(E=e[t>>2]|0,I=(E|0)==0,I)?(A=0,A|0):(m=t+328|0,p=e[m>>2]|0,B=(p|0)==0,a=t+28|0,c=e[a>>2]|0,Q=(c|0)==0,B?Q?D=0:(v=t+332|0,b=e[v>>2]|0,w=(b|0)==0,w?_=7:D=0):Q?D=0:_=7,(_|0)==7&&(D=1),y=rQ(t,n,D,4096)|0,A=y,A|0)}function Kv(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0;return l0=C,c=t+24|0,u=e[c>>2]|0,Q=u-n|0,Y=t+28|0,a0=e[Y>>2]|0,r0=(Q|0)>(a0|0),r0?(a=0,a|0):(V=2147483647-n|0,h0=(u|0)>(V|0),h0?(o0=e[t>>2]|0,c0=(o0|0)==0,c0||I2(o0),E=t+16|0,I=e[E>>2]|0,m=(I|0)==0,m||I2(I),p=t+20|0,B=e[p>>2]|0,v=(B|0)==0,v||I2(B),ae(t|0,0,360)|0,a=-1,a|0):(b=u+n|0,w=(b|0)<2147483615,y=b+32|0,A=w?y:b,D=t+16|0,_=e[D>>2]|0,R=A<<2,L=qi(_,R)|0,F=(L|0)==0,F?(M=e[t>>2]|0,T=(M|0)==0,T||I2(M),N=e[D>>2]|0,G=(N|0)==0,G||I2(N),O=t+20|0,z=e[O>>2]|0,t0=(z|0)==0,t0||I2(z),ae(t|0,0,360)|0,a=-1,a|0):(e[D>>2]=L,J=t+20|0,W=e[J>>2]|0,e0=A<<3,q=qi(W,e0)|0,X=(q|0)==0,X?(U=e[t>>2]|0,$0=(U|0)==0,$0||I2(U),Z=e[D>>2]|0,K=(Z|0)==0,K||I2(Z),s0=e[J>>2]|0,i0=(s0|0)==0,i0||I2(s0),ae(t|0,0,360)|0,a=-1,a|0):(e[J>>2]=q,e[c>>2]=A,a=0,a|0))))}function rQ(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,L1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,k3=0,u3=0,p3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0;if(k5=C,Q=t+28|0,_=e[Q>>2]|0,c1=(_|0)>255,c=c1?255:_,h1=(t|0)==0,h1||(R1=e[t>>2]|0,H1=(R1|0)==0,o2=(c|0)==0,w3=o2|H1,w3))return u=0,u|0;e2=t+332|0,H2=e[e2>>2]|0,Z2=(H2|0)==0;e:do if(Z2)for(C0=t+16|0,l3=0;;){if(M0=(l3|0)<(c|0),!M0){I=A,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,H5=l3,O5=14;break e}if(K0=e[C0>>2]|0,q0=K0+(l3<<2)|0,e1=e[q0>>2]|0,b0=e1&255,i1=(b0|0)==255,$1=l3+1|0,i1)l3=$1;else{I=A,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,H5=$1,O5=14;break}}else if(R=(c|0)>0,R){for(J=t+16|0,i0=t+20|0,C5=0,S5=-1,g5=-1,a5=-1,W2=-1,g2=-1,p5=-1,t5=-1,s5=-1,W5=0,L3=0,C3=0;;){if(u1=(C5|0)>(a|0),g1=(W5|0)>3,G3=u1&g1,G3){E=1,G5=S5,_5=g5,q2=a5,I5=W2,A5=g2,c5=p5,B5=t5,M1=s5,c3=C3;break}if(l1=e[J>>2]|0,s1=l1+(C3<<2)|0,a1=e[s1>>2]|0,n1=a1&255,o1=n1+C5|0,z0=(n1|0)==255,z0?(h5=S5,J2=g5,u5=a5,i5=W2,x5=g2,j2=p5,$5=t5,L2=s5,i6=0,U3=L3):(I1=e[i0>>2]|0,m1=I1+(C3<<3)|0,d1=m1,E1=d1,B1=e[E1>>2]|0,p1=d1+4|0,Q1=p1,x1=e[Q1>>2]|0,L1=L3+1|0,w1=B1&255,S1=Ws(B1|0,x1|0,8)|0,F1=H6,G1=S1&255,k1=Ws(B1|0,x1|0,16)|0,U1=H6,Z1=k1&255,N1=Ws(B1|0,x1|0,24)|0,D1=H6,V1=N1&255,O1=x1&255,q1=Ws(B1|0,x1|0,40)|0,Y1=H6,j1=q1&255,r2=Ws(B1|0,x1|0,48)|0,W1=H6,P1=r2&255,c2=Ws(B1|0,x1|0,56)|0,z1=H6,u2=c2&255,h5=w1,J2=Z1,u5=V1,i5=O1,x5=j1,j2=P1,$5=u2,L2=G1,i6=L1,U3=L1),s2=C3+1|0,E2=(s2|0)<(c|0),E2)C5=o1,S5=h5,g5=J2,a5=u5,W2=i5,g2=x5,p5=j2,t5=$5,s5=L2,W5=i6,L3=U3,C3=s2;else{E=A,G5=h5,_5=J2,q2=u5,I5=i5,A5=x5,c5=j2,B5=$5,M1=L2,c3=s2;break}}K1=(c3|0)==255,K1?(n3=G5,m3=_5,F5=q2,V5=I5,k3=A5,u3=c5,p3=B5,z3=M1,U5=255):(I=E,Q5=G5,q5=_5,j5=q2,E5=I5,f3=A5,h3=c5,J5=B5,X5=M1,H5=c3,O5=14)}else I=A,Q5=-1,q5=-1,j5=-1,E5=-1,f3=-1,h3=-1,J5=-1,X5=-1,H5=0,O5=14;while(!1);if((O5|0)==14){if(h2=(I|0)==0,h2)return u=0,u|0;n3=Q5,m3=q5,F5=j5,V5=E5,k3=f3,u3=h3,p3=J5,z3=X5,U5=H5}if(a2=t+40|0,d[a2>>0]=79,d[a2+1>>0]=103,d[a2+2>>0]=103,d[a2+3>>0]=83,t2=t+44|0,d[t2>>0]=0,$2=t+45|0,d[$2>>0]=0,i2=t+16|0,A2=e[i2>>2]|0,X1=e[A2>>2]|0,n2=X1>>>8,v=n2&1,f2=v^1,y2=f2|2,m=Z2?y2:f2,a3=m&255,d[$2>>0]=a3,v2=t+328|0,w2=e[v2>>2]|0,C2=(w2|0)!=0,F2=(_|0)==(U5|0),z5=C2&F2,z5&&(p=Z2?y2:f2,D2=p|4,N2=D2&255,d[$2>>0]=N2),e[e2>>2]=1,d2=t+46|0,d[d2>>0]=n3,K2=t+47|0,d[K2>>0]=z3,G2=t+48|0,d[G2>>0]=m3,M2=t+49|0,d[M2>>0]=F5,P2=t+50|0,d[P2>>0]=V5,z2=t+51|0,d[z2>>0]=k3,o5=t+52|0,d[o5>>0]=u3,O2=t+53|0,d[O2>>0]=p3,T1=t+336|0,X2=e[T1>>2]|0,L5=X2&255,e5=t+54|0,d[e5>>0]=L5,b5=X2>>>8,f5=b5&255,v5=t+55|0,d[v5>>0]=f5,P5=X2>>>16,l5=P5&255,k2=t+56|0,d[k2>>0]=l5,m5=X2>>>24,n5=m5&255,x2=t+57|0,d[x2>>0]=n5,_2=t+340|0,B2=e[_2>>2]|0,L=(B2|0)==-1,L?(e[_2>>2]=0,M=0):M=B2,F=M+1|0,e[_2>>2]=F,T=M&255,N=t+58|0,d[N>>0]=T,G=M>>>8,O=G&255,z=t+59|0,d[z>>0]=O,Y=M>>>16,t0=Y&255,W=t+60|0,d[W>>0]=t0,e0=M>>>24,q=e0&255,X=t+61|0,d[X>>0]=q,U=t+62|0,$0=U5&255,Z=t+66|0,d[U>>0]=0,d[U+1>>0]=0,d[U+2>>0]=0,d[U+3>>0]=0,d[Z>>0]=$0,K=(U5|0)>0,K){if(a0=e[A2>>2]|0,s0=a0&255,r0=t+67|0,d[r0>>0]=s0,V=a0&255,D5=(U5|0)==1,D5)B=V;else for(o0=1,k0=V;;)if(b=e[i2>>2]|0,h0=b+(o0<<2)|0,c0=e[h0>>2]|0,j=c0&255,l0=o0+27|0,u0=(t+40|0)+l0|0,d[u0>>0]=j,d0=c0&255,w0=d0+k0|0,f0=o0+1|0,d5=(f0|0)==(U5|0),d5){B=w0;break}else o0=f0,k0=w0;w=e[t>>2]|0,y=e[Q>>2]|0,D=e[i2>>2]|0,Q0=w,y0=y,L0=D,R5=B}else Q0=R1,y0=_,L0=A2,R5=0;return e[n>>2]=a2,B0=U5+27|0,p0=t+324|0,e[p0>>2]=B0,I0=n+4|0,e[I0>>2]=B0,S0=t+12|0,V0=e[S0>>2]|0,_0=Q0+V0|0,R0=n+8|0,e[R0>>2]=_0,N0=n+12|0,e[N0>>2]=R5,U0=y0-U5|0,e[Q>>2]=U0,H0=L0+(U5<<2)|0,D0=U0<<2,jA(L0|0,H0|0,D0|0)|0,T0=t+20|0,J0=e[T0>>2]|0,Y0=J0+(U5<<3)|0,P0=e[Q>>2]|0,G0=P0<<3,jA(J0|0,Y0|0,G0|0)|0,O0=e[S0>>2]|0,r1=O0+R5|0,e[S0>>2]=r1,Jv(n),u=1,u|0}function zv(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0;return q0=C,a=t+104|0,c=e[a>>2]|0,D=t+88|0,z=c+12|0,e[D>>2]=0,e[D+4>>2]=0,e[D+8>>2]=0,e[D+12>>2]=0,K=e[z>>2]|0,u7(K),u0=c+16|0,_0=e[u0>>2]|0,u7(_0),J0=c+20|0,G0=e[J0>>2]|0,u7(G0),O0=c+24|0,u=e[O0>>2]|0,u7(u),E=c+28|0,I=e[E>>2]|0,u7(I),m=c+32|0,p=e[m>>2]|0,u7(p),B=c+36|0,v=e[B>>2]|0,u7(v),b=c+40|0,w=e[b>>2]|0,u7(w),y=c+44|0,Q=e[y>>2]|0,u7(Q),_=c+48|0,R=e[_>>2]|0,u7(R),L=c+52|0,F=e[L>>2]|0,u7(F),M=c+56|0,T=e[M>>2]|0,u7(T),N=c+60|0,G=e[N>>2]|0,u7(G),O=c+64|0,Y=e[O>>2]|0,u7(Y),t0=c+68|0,J=e[t0>>2]|0,u7(J),W=e[6416]|0,e0=W+12|0,q=e[e0>>2]|0,X=FQ[q&1](t)|0,U=(X|0)==0,U?($0=(n|0)==0,$0?(A=0,A|0):(Z=Rh(t)|0,a0=(Z|0)==0,a0?(s0=t+4|0,i0=eQ(s0)|0,e[n>>2]=i0,r0=yt(s0)|0,V=n+4|0,e[V>>2]=r0,h0=n+8|0,e[h0>>2]=0,o0=t+44|0,c0=e[o0>>2]|0,j=n+12|0,e[j>>2]=c0,l0=t+48|0,d0=l0,w0=d0,C0=e[w0>>2]|0,k0=d0+4|0,f0=k0,B0=e[f0>>2]|0,p0=n+16|0,I0=p0,S0=I0,e[S0>>2]=C0,V0=I0+4|0,Q0=V0,e[Q0>>2]=B0,R0=t+56|0,M0=R0,N0=M0,U0=e[N0>>2]|0,y0=M0+4|0,H0=y0,L0=e[H0>>2]|0,D0=n+24|0,T0=D0,Y0=T0,e[Y0>>2]=U0,P0=T0+4|0,K0=P0,e[K0>>2]=L0,A=0,A|0):(A=-131,A|0))):(A=X,A|0)}function Zv(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0;C0=C,A=t+28|0,a=e[A>>2]|0,d0=n,k0=d0+48|0;do e[d0>>2]=0,d0=d0+4|0;while((d0|0)<(k0|0));y=a+3372|0,O=e[y>>2]|0,Z=(O|0)>0,Z&&(o0=t+8|0,c0=e[o0>>2]|0,j=e[a>>2]|0,l0=j>>1,u0=a+4|0,c=e[u0>>2]|0,u=(c|0)/(j|0)&-1,E=n+24|0,e[E>>2]=u,e[n>>2]=1,I=a+3360|0,m=e[I>>2]|0,p=+(m|0),B=+(l0|0),v=p*B,b=+(c0|0),w=v/b,D=+Oi(w),Q=~~D,_=n+12|0,e[_>>2]=Q,R=a+3364|0,L=e[R>>2]|0,F=+(L|0),M=F*B,T=M/b,N=+Oi(T),G=~~N,z=n+16|0,e[z>>2]=G,Y=a+3368|0,t0=e[Y>>2]|0,J=+(t0|0),W=J*B,e0=W/b,q=+Oi(e0),X=~~q,U=n+20|0,e[U>>2]=X,$0=n+32|0,A1[$0>>3]=7,K=+(O|0),a0=a+3376|0,s0=+A1[a0>>3],i0=K*s0,r0=~~i0,V=n+8|0,e[V>>2]=r0,h0=n+4|0,e[h0>>2]=r0)}function Wv(t){t=t|0;var n=0,A=0,a=0,c=0;a=C,n=t,c=n+48|0;do e[n>>2]=0,n=n+4|0;while((n|0)<(c|0))}function Rh(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0;return B=C,A=t+64|0,a=e[A>>2]|0,c=a+104|0,u=e[c>>2]|0,E=u+80|0,I=e[E>>2]|0,m=(I|0)!=0,n=m&1,n|0}function jv(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,L1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,k3=0,u3=0,p3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,X3=0,c6=0,p6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0;if(b6=C,p=t+104|0,B=e[p>>2]|0,z1=t+64|0,k2=e[z1>>2]|0,_5=k2+104|0,g2=e[_5>>2]|0,L2=k2+4|0,F5=e[L2>>2]|0,L3=F5+28|0,M5=e[L3>>2]|0,v=g2+112|0,T=+A1[v>>3],X=+Oi(T),o0=~~X,p0=(B+12|0)+(o0<<2)|0,H0=e[p0>>2]|0,q0=yt(H0)|0,n1=q0<<3,x1=t+28|0,D1=e[x1>>2]|0,u2=(D1|0)==0,X1=g2+96|0,d2=e[X1>>2]|0,u2?(L5=g2+100|0,b5=e[L5>>2]|0,U=d2,k0=L5,I0=b5):(Z2=g2+104|0,f5=e[Z2>>2]|0,v5=g2+100|0,P5=e[v5>>2]|0,l5=r5(f5,d2)|0,m5=r5(f5,P5)|0,U=l5,k0=v5,I0=m5),n5=M5+(D1<<2)|0,x2=e[n5>>2]|0,_2=x2>>1,B2=M5+3372|0,C5=e[B2>>2]|0,R5=+(C5|0),d5=M5+3376|0,D5=+A1[d5>>3],G5=R5*D5,q2=~~G5,I5=g2+80|0,A5=e[I5>>2]|0,c5=(A5|0)==0,B5=g2+120|0,c5)return M1=e[B5>>2]|0,S5=(M1|0)==0,S5?(e[B5>>2]=t,A=0,A|0):(A=-1,A|0);if(e[B5>>2]=t,g5=g2+92|0,a5=e[g5>>2]|0,W2=(a5|0)>0,W2){u2?$5=a5:(p5=g2+104|0,t5=e[p5>>2]|0,s5=r5(t5,a5)|0,$5=s5),h5=M5+3384|0,J2=+A1[h5>>3],u5=15/J2,i5=g2+84|0,x5=e[i5>>2]|0,j2=n1-$5|0,Q5=x5+j2|0,q5=(Q5|0)>(q2|0);e:do if(q5)if(j5=(o0|0)>0,E5=(n1|0)>($5|0),S6=E5&j5,S6)if(f3=n1-$5|0,h3=f3+x5|0,J5=(h3|0)>(q2|0),J5)for(O3=o0;;){if(X5=O3+-1|0,n3=(B+12|0)+(X5<<2)|0,m3=e[n3>>2]|0,V5=yt(m3)|0,k3=V5<<3,u3=(O3|0)>1,p3=(k3|0)>($5|0),v6=p3&u3,!v6){K5=X5;break e}if(I=e[i5>>2]|0,z3=k3-$5|0,G3=z3+I|0,z5=(G3|0)>(q2|0),z5)O3=X5;else{K5=X5;break}}else K5=o0;else K5=o0;else if(w3=(Q5|0)<(q2|0),w3)if(W5=o0+1|0,i6=(W5|0)<15,U3=(n1|0)<($5|0),X3=U3&i6,X3)if(a3=n1-$5|0,l3=a3+x5|0,c3=(l3|0)<(q2|0),c3)for(H5=W5;;){if(C3=(B+12|0)+(H5<<2)|0,U5=e[C3>>2]|0,O5=yt(U5)|0,k5=O5<<3,P3=H5+1|0,o6=(P3|0)<15,e3=(k5|0)<($5|0),B6=e3&o6,!B6){K5=H5;break e}if(E=e[i5>>2]|0,A3=k5-$5|0,R3=A3+E|0,u6=(R3|0)<(q2|0),u6)H5=P3;else{K5=H5;break}}else K5=o0;else K5=o0;else K5=o0;while(!1);Q3=+(K5|0),v3=+A1[v>>3],y3=Q3-v3,r6=+Oi(y3),j3=+(_2|0),b=r6/j3,w=F5+8|0,y=e[w>>2]|0,D=+(y|0),Q=D*b,_=-u5,R=Q<_,C6=R?_:Q,L=C6>u5,b3=L?u5:C6,F=b3/D,M=F*j3,N=M+v3,A1[v>>3]=N,G=+Oi(N),O=~~G,z=(B+12|0)+(O<<2)|0,Y=e[z>>2]|0,t0=yt(Y)|0,J=t0<<3,m=e[X1>>2]|0,W=m,S3=O,e6=J}else W=d2,S3=o0,e6=n1;e0=(W|0)>0,q=(e6|0)<(U|0),c6=q&e0;e:do if(c6)if($0=g2+88|0,Z=e[$0>>2]|0,K=e6-U|0,a0=K+Z|0,s0=(a0|0)<0,s0)for(g3=S3,t6=e6;;){if(i0=g3+1|0,r0=(g3|0)>13,r0){q3=i0,f6=t6;break e}if(V=(B+12|0)+(i0<<2)|0,h0=e[V>>2]|0,c0=yt(h0)|0,j=c0<<3,l0=e[$0>>2]|0,u0=j-U|0,d0=u0+l0|0,w0=(d0|0)<0,w0)g3=i0,t6=j;else{q3=i0,f6=j;break}}else q3=S3,f6=e6;else q3=S3,f6=e6;while(!1);C0=e[k0>>2]|0,f0=(C0|0)>0,B0=(f6|0)>(I0|0),p6=B0&f0;e:do if(p6)if(S0=g2+88|0,V0=e[S0>>2]|0,_0=f6-I0|0,Q0=_0+V0|0,R0=e[B2>>2]|0,M0=(Q0|0)>(R0|0),M0)for(l6=q3,H3=f6;;){if(N0=l6+-1|0,U0=(l6|0)<1,U0){d3=N0,D3=H3;break e}if(y0=(B+12|0)+(N0<<2)|0,L0=e[y0>>2]|0,D0=yt(L0)|0,T0=D0<<3,J0=e[S0>>2]|0,Y0=T0-I0|0,P0=Y0+J0|0,K0=e[B2>>2]|0,G0=(P0|0)>(K0|0),G0)l6=N0,H3=T0;else{d3=N0,D3=T0;break}}else d3=q3,D3=f6;else d3=q3,D3=f6;while(!1);if(O0=(d3|0)<0,O0)r1=e[B2>>2]|0,e1=g2+88|0,b0=e[e1>>2]|0,i1=r1+I0|0,c1=i1-b0|0,$1=(c1|0)/8&-1,u1=g2+124|0,e[u1>>2]=0,g1=B+12|0,l1=e[g1>>2]|0,s1=yt(l1)|0,a1=(s1|0)>($1|0),a1?(o1=e[g1>>2]|0,z0=$1<<3,qv(o1,z0),I1=e[g1>>2]|0,h1=yt(I1)|0,m1=h1<<3,Y3=m1):Y3=D3;else{if(d1=g2+88|0,E1=e[d1>>2]|0,B1=U+7|0,p1=B1-E1|0,Q1=(p1|0)/8&-1,L1=(d3|0)>14,c=L1?14:d3,w1=g2+124|0,e[w1>>2]=c,S1=(B+12|0)+(c<<2)|0,R1=e[S1>>2]|0,F1=yt(R1)|0,G1=Q1-F1|0,k1=(G1|0)>0,U1=e[S1>>2]|0,k1)for(N1=U1,k6=G1;;)if(Z1=k6+-1|0,U2(N1,0,8),V1=(k6|0)>1,O1=e[S1>>2]|0,V1)N1=O1,k6=Z1;else{u=O1;break}else u=U1;q1=yt(u)|0,H1=q1<<3,Y3=H1}Y1=e[X1>>2]|0,j1=(Y1|0)>0,j1?Z3=37:(r2=e[k0>>2]|0,W1=(r2|0)>0,W1&&(Z3=37));do if((Z3|0)==37){if(P1=(I0|0)>0,c2=(Y3|0)>(I0|0),x6=P1&c2,x6){s2=Y3-I0|0,E2=g2+88|0,o2=e[E2>>2]|0,K1=s2+o2|0,e[E2>>2]=K1;break}if(h2=(U|0)>0,a2=(Y3|0)<(U|0),Y6=h2&a2,Y6){t2=Y3-U|0,$2=g2+88|0,i2=e[$2>>2]|0,A2=t2+i2|0,e[$2>>2]=A2;break}if(n2=g2+88|0,f2=e[n2>>2]|0,e2=(f2|0)>(q2|0),e2)if(P1){y2=Y3-I0|0,v2=f2+y2|0,w2=(v2|0)<(q2|0),n=w2?q2:v2,e[n2>>2]=n;break}else{e[n2>>2]=q2;break}else if(h2){C2=Y3-U|0,F2=f2+C2|0,D2=(F2|0)>(q2|0),a=D2?q2:F2,e[n2>>2]=a;break}else{e[n2>>2]=q2;break}}while(!1);return N2=e[g5>>2]|0,K2=(N2|0)>0,K2?(G2=e[x1>>2]|0,H2=(G2|0)==0,H2?O2=N2:(M2=g2+104|0,P2=e[M2>>2]|0,z2=r5(P2,N2)|0,O2=z2),o5=Y3-O2|0,T1=g2+84|0,X2=e[T1>>2]|0,e5=o5+X2|0,e[T1>>2]=e5,A=0,A|0):(A=0,A|0)}function nQ(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0;return I0=C,a=t+104|0,c=e[a>>2]|0,D=c+120|0,z=e[D>>2]|0,K=(z|0)==0,K?(A=0,A|0):(u0=(n|0)==0,u0||(d0=z+104|0,w0=e[d0>>2]|0,C0=z+64|0,k0=e[C0>>2]|0,u=k0+104|0,E=e[u>>2]|0,I=E+80|0,m=e[I>>2]|0,B0=(m|0)==0,B0?f0=7:(p=c+124|0,B=e[p>>2]|0,f0=B),v=(w0+12|0)+(f0<<2)|0,b=e[v>>2]|0,w=eQ(b)|0,e[n>>2]=w,y=e[v>>2]|0,Q=yt(y)|0,_=n+4|0,e[_>>2]=Q,R=n+8|0,e[R>>2]=0,L=z+44|0,F=e[L>>2]|0,M=n+12|0,e[M>>2]=F,T=z+48|0,N=T,G=N,O=e[G>>2]|0,Y=N+4|0,t0=Y,J=e[t0>>2]|0,W=n+16|0,e0=W,q=e0,e[q>>2]=O,X=e0+4|0,U=X,e[U>>2]=J,$0=z+56|0,Z=$0,a0=Z,s0=e[a0>>2]|0,i0=Z+4|0,r0=i0,V=e[r0>>2]|0,h0=n+24|0,o0=h0,c0=o0,e[c0>>2]=s0,j=o0+4|0,l0=j,e[l0>>2]=V),e[D>>2]=0,A=1,A|0)}function Xv(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0;M=C,L=n,T=L+112|0;do e[L>>2]=0,L=L+4|0;while((L|0)<(T|0));if(A=n+64|0,e[A>>2]=t,a=n+76|0,e[a>>2]=0,p=n+68|0,e[p>>2]=0,B=e[t>>2]|0,v=(B|0)==0,v)return 0;for(b=n4(1,72)|0,w=n+104|0,e[w>>2]=b,y=b+4|0,s[y>>2]=-9999,D=n+4|0,Q=b+12|0,c=b+40|0,R=0;;)if(u=(R|0)==7,u){e[c>>2]=D,lB(D),R=8;continue}else{if(E=n4(1,20)|0,I=Q+(R<<2)|0,e[I>>2]=E,lB(E),m=R+1|0,_=(m|0)==15,_)break;R=m;continue}return 0}function qt(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0;return Y=C,A=n+7|0,a=A&-8,y=t+72|0,L=e[y>>2]|0,F=L+a|0,M=t+76|0,T=e[M>>2]|0,N=(F|0)>(T|0),G=t+68|0,O=e[G>>2]|0,N?(c=(O|0)==0,c||(u=O,E=S9(8)|0,I=t+80|0,m=e[I>>2]|0,p=m+L|0,e[I>>2]=p,B=t+84|0,v=e[B>>2]|0,b=E+4|0,e[b>>2]=v,e[E>>2]=u,e[B>>2]=E),e[M>>2]=a,w=S9(a)|0,e[G>>2]=w,e[y>>2]=0,Q=w,_=0,D=Q+_|0,R=_+a|0,e[y>>2]=R,D|0):(Q=O,_=L,D=Q+_|0,R=_+a|0,e[y>>2]=R,D|0)}function eS(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0;if(Z=C,a=t+104|0,c=e[a>>2]|0,D=t+84|0,G=e[D>>2]|0,O=(G|0)==0,!O)for(X=G;z=X+4|0,Y=e[z>>2]|0,t0=e[X>>2]|0,I2(t0),I2(X),J=(Y|0)==0,!J;)X=Y;if(W=t+80|0,u=e[W>>2]|0,E=(u|0)==0,n=t+68|0,A=e[n>>2]|0,E?Q=A:(I=t+76|0,m=e[I>>2]|0,p=m+u|0,B=qi(A,p)|0,e[n>>2]=B,v=e[W>>2]|0,b=e[I>>2]|0,w=b+v|0,e[I>>2]=w,e[W>>2]=0,Q=B),y=t+72|0,e[y>>2]=0,e[D>>2]=0,_=(Q|0)==0,_||I2(Q),R=(c|0)==0,R){U=t,K=U+112|0;do e[U>>2]=0,U=U+4|0;while((U|0)<(K|0));return 0}else q=0;for(;;){if(L=(c+12|0)+(q<<2)|0,F=e[L>>2]|0,cB(F),M=(q|0)==7,M){q=8;continue}if(T=e[L>>2]|0,I2(T),N=q+1|0,e0=(N|0)==15,e0)break;q=N}I2(c),U=t,K=U+112|0;do e[U>>2]=0,U=U+4|0;while((U|0)<(K|0));return 0}function tS(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0;return _=C,a=rS(t,n,1)|0,c=(a|0)==0,c?(m=t+104|0,p=e[m>>2]|0,B=FS(n)|0,v=p+60|0,e[v>>2]=B,b=n4(1,180)|0,e[p>>2]=b,aS(b,n),w=p+80|0,Zv(n,w),y=t+64|0,D=y,u=D,e[u>>2]=3,E=D+4|0,I=E,e[I>>2]=0,A=0,A|0):(A=1,A|0)}function sQ(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,L1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0;if(G2=C,B=(t|0)==0,!B){if(v=t+4|0,p0=e[v>>2]|0,H0=(p0|0)!=0,H0?(q0=p0+28|0,n1=e[q0>>2]|0,y0=n1):y0=0,x1=t+104|0,D1=e[x1>>2]|0,z1=(D1|0)!=0,z1){if(A2=e[D1>>2]|0,b=(A2|0)==0,b||($S(A2),N=e[D1>>2]|0,I2(N)),U=D1+12|0,c0=e[U>>2]|0,d0=(c0|0)==0,d0||(w0=e[c0>>2]|0,IB(w0),C0=e[U>>2]|0,k0=e[C0>>2]|0,I2(k0),f0=e[U>>2]|0,I2(f0)),B0=D1+16|0,I0=e[B0>>2]|0,S0=(I0|0)==0,S0||(V0=e[I0>>2]|0,IB(V0),_0=e[B0>>2]|0,Q0=e[_0>>2]|0,I2(Q0),R0=e[B0>>2]|0,I2(R0)),M0=D1+48|0,N0=e[M0>>2]|0,U0=(N0|0)==0,!U0){if(L0=(y0|0)==0,L0)d1=N0;else if(D0=y0+16|0,T0=e[D0>>2]|0,J0=(T0|0)>0,J0){if(Y0=y0+800|0,P0=e[Y0>>2]|0,K0=25640+(P0<<2)|0,G0=e[K0>>2]|0,O0=G0+16|0,r1=e[O0>>2]|0,e1=e[N0>>2]|0,Xs[r1&7](e1),b0=e[D0>>2]|0,i1=(b0|0)>1,i1)for($1=1;n=e[M0>>2]|0,c1=Y0+($1<<2)|0,u1=e[c1>>2]|0,g1=25640+(u1<<2)|0,l1=e[g1>>2]|0,s1=l1+16|0,a1=e[s1>>2]|0,o1=n+($1<<2)|0,z0=e[o1>>2]|0,Xs[a1&7](z0),I1=$1+1|0,h1=e[D0>>2]|0,m1=(I1|0)<(h1|0),m1;)$1=I1;A=e[M0>>2]|0,d1=A}else d1=N0;I2(d1)}if(E1=D1+52|0,B1=e[E1>>2]|0,p1=(B1|0)==0,!p1){if(Q1=(y0|0)==0,Q1)K1=B1;else if(L1=y0+20|0,w1=e[L1>>2]|0,S1=(w1|0)>0,S1){if(R1=y0+1312|0,F1=e[R1>>2]|0,G1=25648+(F1<<2)|0,k1=e[G1>>2]|0,U1=k1+16|0,Z1=e[U1>>2]|0,N1=e[B1>>2]|0,Xs[Z1&7](N1),V1=e[L1>>2]|0,O1=(V1|0)>1,O1)for(H1=1;a=e[E1>>2]|0,q1=R1+(H1<<2)|0,Y1=e[q1>>2]|0,j1=25648+(Y1<<2)|0,r2=e[j1>>2]|0,W1=r2+16|0,P1=e[W1>>2]|0,c2=a+(H1<<2)|0,u2=e[c2>>2]|0,Xs[P1&7](u2),s2=H1+1|0,E2=e[L1>>2]|0,o2=(s2|0)<(E2|0),o2;)H1=s2;c=e[E1>>2]|0,K1=c}else K1=B1;I2(K1)}if(h2=D1+56|0,a2=e[h2>>2]|0,t2=(a2|0)==0,!t2){if($2=(y0|0)==0,$2)D2=a2;else if(i2=y0+28|0,X1=e[i2>>2]|0,n2=(X1|0)>0,n2){if(uQ(a2),f2=e[i2>>2]|0,e2=(f2|0)>1,e2)for(v2=1;u=e[h2>>2]|0,y2=u+(v2*52|0)|0,uQ(y2),w2=v2+1|0,C2=e[i2>>2]|0,F2=(w2|0)<(C2|0),F2;)v2=w2;E=e[h2>>2]|0,D2=E}else D2=a2;I2(D2)}w=D1+60|0,y=e[w>>2]|0,D=(y|0)==0,D||MS(y),Q=D1+80|0,Wv(Q),_=D1+20|0,yQ(_),R=D1+32|0,yQ(R)}if(L=t+8|0,F=e[L>>2]|0,M=(F|0)==0,!M){if(H0)if(T=p0+4|0,G=e[T>>2]|0,O=(G|0)>0,O){for(Y=F,u0=G,N2=0;z=Y+(N2<<2)|0,t0=e[z>>2]|0,J=(t0|0)==0,J?q=u0:(I2(t0),m=e[T>>2]|0,q=m),W=N2+1|0,e0=(W|0)<(q|0),!!e0;)I=e[L>>2]|0,Y=I,u0=q,N2=W;p=e[L>>2]|0,X=p}else X=F;else X=F;I2(X),$0=t+12|0,Z=e[$0>>2]|0,K=(Z|0)==0,K||I2(Z)}z1&&(a0=D1+64|0,s0=e[a0>>2]|0,i0=(s0|0)==0,i0||I2(s0),r0=D1+68|0,V=e[r0>>2]|0,h0=(V|0)==0,h0||I2(V),o0=D1+72|0,j=e[o0>>2]|0,l0=(j|0)==0,l0||I2(j),I2(D1)),d2=t,H2=d2+112|0;do e[d2>>2]=0,d2=d2+4|0;while((d2|0)<(H2|0))}}function oQ(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0;if(H0=C,I=t+4|0,m=e[I>>2]|0,L=t+104|0,W=e[L>>2]|0,r0=W+64|0,k0=e[r0>>2]|0,Q0=(k0|0)==0,Q0||I2(k0),e[r0>>2]=0,R0=W+68|0,M0=e[R0>>2]|0,N0=(M0|0)==0,N0||I2(M0),e[R0>>2]=0,p=W+72|0,B=e[p>>2]|0,v=(B|0)==0,v||I2(B),e[p>>2]=0,b=t+20|0,w=e[b>>2]|0,y=w+n|0,D=t+16|0,Q=e[D>>2]|0,_=(y|0)<(Q|0),_)A=m+4|0,u=e[A>>2]|0,X=u,y0=11;else if(R=n<<1,F=w+R|0,e[D>>2]=F,M=m+4|0,T=e[M>>2]|0,N=(T|0)>0,N)if(G=t+8|0,O=e[G>>2]|0,z=e[O>>2]|0,Y=F<<2,t0=qi(z,Y)|0,J=e[G>>2]|0,e[J>>2]=t0,e0=e[M>>2]|0,q=(e0|0)>1,q)for(i0=1;;)if(a=e[D>>2]|0,a0=e[G>>2]|0,s0=a0+(i0<<2)|0,V=e[s0>>2]|0,h0=a<<2,o0=qi(V,h0)|0,c0=e[G>>2]|0,j=c0+(i0<<2)|0,e[j>>2]=o0,l0=i0+1|0,u0=e[M>>2]|0,d0=(l0|0)<(u0|0),d0)i0=l0;else{X=u0,y0=11;break}else X=e0,y0=11;if((y0|0)==11&&(U=(X|0)>0,U)){for($0=t+8|0,Z=e[b>>2]|0,K=t+12|0,U0=0;;)if(w0=e[$0>>2]|0,C0=w0+(U0<<2)|0,f0=e[C0>>2]|0,B0=f0+(Z<<2)|0,p0=e[K>>2]|0,I0=p0+(U0<<2)|0,e[I0>>2]=B0,S0=U0+1|0,V0=(S0|0)<(X|0),V0)U0=S0;else{c=K;break}return _0=e[c>>2]|0,_0|0}return E=t+12|0,c=E,_0=e[c>>2]|0,_0|0}function iS(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0,T0=0,J0=0,Y0=0,P0=0;if(P0=C,I=t+4|0,m=e[I>>2]|0,L=m+28|0,W=e[L>>2]|0,r0=(n|0)<1,!r0)return w0=t+20|0,C0=e[w0>>2]|0,f0=C0+n|0,B0=t+16|0,p0=e[B0>>2]|0,I0=(f0|0)>(p0|0),I0?(a=-131,C=P0,a|0):(e[w0>>2]=f0,S0=t+28|0,V0=e[S0>>2]|0,_0=(V0|0)==0,!_0||(Q0=t+48|0,R0=e[Q0>>2]|0,M0=f0-R0|0,U0=W+4|0,y0=e[U0>>2]|0,H0=(M0|0)>(y0|0),!H0)?(a=0,C=P0,a|0):(aQ(t),a=0,C=P0,a|0));if(k0=C,C=C+128|0,N0=t+28|0,L0=e[N0>>2]|0,D0=(L0|0)==0,D0&&aQ(t),T0=W+4|0,p=e[T0>>2]|0,B=p*3|0,oQ(t,B)|0,v=t+20|0,b=e[v>>2]|0,w=t+32|0,e[w>>2]=b,y=e[T0>>2]|0,D=y*3|0,Q=b+D|0,e[v>>2]=Q,_=m+4|0,R=e[_>>2]|0,F=(R|0)>0,!F)return a=0,C=P0,a|0;for(M=t+8|0,T=b,J0=0;;){if(N=(T|0)>64,N?(G=e[T0>>2]|0,O=(T|0)>(G|0),A=O?G:T,z=e[M>>2]|0,Y=z+(J0<<2)|0,t0=e[Y>>2]|0,u=T-A|0,J=t0+(u<<2)|0,+$Q(J,k0,A,32),e0=e[M>>2]|0,q=e0+(J0<<2)|0,X=e[q>>2]|0,U=e[w>>2]|0,$0=X+(U<<2)|0,E=U+-32|0,Z=X+(E<<2)|0,K=e[v>>2]|0,a0=K-U|0,lQ(k0,Z,32,$0,a0)):(s0=e[M>>2]|0,i0=s0+(J0<<2)|0,V=e[i0>>2]|0,h0=V+(T<<2)|0,o0=e[v>>2]|0,c0=o0-T|0,j=c0<<2,ae(h0|0,0,j|0)|0),l0=J0+1|0,u0=e[_>>2]|0,d0=(l0|0)<(u0|0),!d0){a=0;break}c=e[w>>2]|0,T=c,J0=l0}return C=P0,a|0}function AQ(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,L1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,k3=0,u3=0,p3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,X3=0,c6=0,p6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,L6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0;if(o4=C,v=t+4|0,b=e[v>>2]|0,s2=b+28|0,k5=e[s2>>2]|0,r6=t+104|0,S6=e[r6>>2]|0,f6=S6+60|0,d6=e[f6>>2]|0,G6=t+48|0,t9=e[G6>>2]|0,w=t+40|0,G=e[w>>2]|0,$0=k5+(G<<2)|0,j=e[$0>>2]|0,S0=(j|0)/2&-1,D0=t9-S0|0,b0=n+104|0,z0=e[b0>>2]|0,w1=t+28|0,O1=e[w1>>2]|0,E2=(O1|0)==0,E2||(f2=t+32|0,G2=e[f2>>2]|0,b5=(G2|0)==-1,b5))return a=0,a|0;B2=lS(t)|0,B5=(B2|0)==-1;do if(B5){if(J2=e[f2>>2]|0,f3=(J2|0)==0,f3)return a=0,a|0;z3=t+44|0,e[z3>>2]=0,u=z3,O3=0;break}else if(C3=e[k5>>2]|0,P3=k5+4|0,M5=e[P3>>2]|0,o6=(C3|0)==(M5|0),e3=t+44|0,o6){e[e3>>2]=0,u=e3,O3=0;break}else{e[e3>>2]=B2,u=e3,O3=B2;break}while(!1);if(A3=e[G6>>2]|0,R3=e[w>>2]|0,u6=k5+(R3<<2)|0,Q3=e[u6>>2]|0,v3=(Q3|0)/4&-1,y3=v3+A3|0,j3=k5+(O3<<2)|0,K5=e[j3>>2]|0,S3=(K5|0)/4&-1,g3=y3+S3|0,q3=(K5|0)/2&-1,l6=g3+q3|0,d3=t+20|0,k6=e[d3>>2]|0,v6=(k6|0)<(l6|0),v6)return a=0,a|0;if(B6=n+84|0,X3=e[B6>>2]|0,c6=(X3|0)==0,!c6)for(I9=X3;p6=I9+4|0,x6=e[p6>>2]|0,Y6=e[I9>>2]|0,I2(Y6),I2(I9),C6=(x6|0)==0,!C6;)I9=x6;b3=n+80|0,e6=e[b3>>2]|0,t6=(e6|0)==0,t6||(H3=n+68|0,D3=e[H3>>2]|0,Y3=n+76|0,Z3=e[Y3>>2]|0,b6=Z3+e6|0,A6=qi(D3,b6)|0,e[H3>>2]=A6,t3=e[b3>>2]|0,O6=e[Y3>>2]|0,s3=O6+t3|0,e[Y3>>2]=s3,e[b3>>2]=0),a6=n+72|0,e[a6>>2]=0,e[B6>>2]=0,_3=t+36|0,N6=e[_3>>2]|0,n6=n+24|0,e[n6>>2]=N6,Q6=e[w>>2]|0,L6=n+28|0,e[L6>>2]=Q6,K6=e[u>>2]|0,I6=n+32|0,e[I6>>2]=K6,J6=(Q6|0)==0;do if(J6)if(s9=cS(t)|0,R6=(s9|0)==0,U6=z0+8|0,R6){e[U6>>2]=1;break}else{e[U6>>2]=0;break}else if(F3=(N6|0)==0,j6=(K6|0)==0,N9=F3|j6,e9=z0+8|0,N9){e[e9>>2]=0;break}else{e[e9>>2]=1;break}while(!1);D6=n+64|0,e[D6>>2]=t,z6=t+64|0,y6=z6,F6=y6,M3=e[F6>>2]|0,M6=y6+4|0,A9=M6,X6=e[A9>>2]|0,u9=Zs(M3|0,X6|0,1,0)|0,f9=H6,d9=z6,a9=d9,e[a9>>2]=u9,$9=d9+4|0,T9=$9,e[T9>>2]=f9,E6=n+56|0,T6=E6,y=T6,e[y>>2]=M3,D=T6+4|0,Q=D,e[Q>>2]=X6,_=t+56|0,R=_,L=R,F=e[L>>2]|0,M=R+4|0,T=M,N=e[T>>2]|0,O=n+48|0,z=O,Y=z,e[Y>>2]=F,t0=z+4|0,J=t0,e[J>>2]=N,W=e[w>>2]|0,e0=k5+(W<<2)|0,q=e[e0>>2]|0,X=n+36|0,e[X>>2]=q,U=z0+4|0,Z=+s[U>>2],K=+s[d6>>2],a0=Z>K,a0?(s[d6>>2]=Z,s0=Z):s0=K,i0=+GS(s0,t),s[d6>>2]=i0,s[U>>2]=i0,r0=b+4|0,V=e[r0>>2]|0,h0=V<<2,o0=h0+7|0,c0=o0&-8,l0=e[a6>>2]|0,u0=c0+l0|0,d0=n+76|0,w0=e[d0>>2]|0,C0=(u0|0)>(w0|0),k0=n+68|0,f0=e[k0>>2]|0,C0?(B0=(f0|0)==0,B0||(p0=f0,I0=S9(8)|0,V0=e[b3>>2]|0,_0=V0+l0|0,e[b3>>2]=_0,Q0=e[B6>>2]|0,R0=I0+4|0,e[R0>>2]=Q0,e[I0>>2]=p0,e[B6>>2]=I0),e[d0>>2]=c0,M0=S9(c0)|0,e[k0>>2]=M0,e[a6>>2]=0,c=e[r0>>2]|0,U0=M0,y0=0,T0=c,G0=c0):(U0=f0,y0=l0,T0=V,G0=w0),N0=U0+y0|0,H0=y0+c0|0,e[a6>>2]=H0,e[n>>2]=N0,L0=T0<<2,J0=L0+7|0,Y0=J0&-8,P0=Y0+H0|0,K0=(P0|0)>(G0|0),K0?(O0=(U0|0)==0,O0||(r1=U0,q0=S9(8)|0,e1=e[b3>>2]|0,i1=e1+H0|0,e[b3>>2]=i1,c1=e[B6>>2]|0,$1=q0+4|0,e[$1>>2]=c1,e[q0>>2]=r1,e[B6>>2]=q0),e[d0>>2]=Y0,u1=S9(Y0)|0,e[k0>>2]=u1,e[a6>>2]=0,E=e[r0>>2]|0,l1=u1,s1=0,n1=E,O5=Y0):(l1=U0,s1=H0,n1=T0,O5=G0),g1=l1+s1|0,a1=s1+Y0|0,e[a6>>2]=a1,e[z0>>2]=g1,o1=(n1|0)>0;e:do if(o1)for(I1=t+8|0,Q1=a1,L1=O5,S1=l1,i9=0;;){if(h1=e[X>>2]|0,m1=h1+D0|0,d1=m1<<2,E1=d1+7|0,B1=E1&-8,p1=B1+Q1|0,x1=(p1|0)>(L1|0),x1?(R1=(S1|0)==0,R1||(F1=S1,G1=S9(8)|0,k1=e[b3>>2]|0,U1=k1+Q1|0,e[b3>>2]=U1,Z1=e[B6>>2]|0,N1=G1+4|0,e[N1>>2]=Z1,e[G1>>2]=F1,e[B6>>2]=G1),e[d0>>2]=B1,D1=S9(B1)|0,e[k0>>2]=D1,e[a6>>2]=0,q1=D1,H1=0):(q1=S1,H1=Q1),V1=q1+H1|0,Y1=H1+B1|0,e[a6>>2]=Y1,j1=e[z0>>2]|0,r2=j1+(i9<<2)|0,e[r2>>2]=V1,W1=e[z0>>2]|0,P1=W1+(i9<<2)|0,c2=e[P1>>2]|0,z1=e[I1>>2]|0,u2=z1+(i9<<2)|0,o2=e[u2>>2]|0,s4(c2|0,o2|0,d1|0)|0,K1=e[z0>>2]|0,h2=K1+(i9<<2)|0,a2=e[h2>>2]|0,t2=a2+(D0<<2)|0,$2=e[n>>2]|0,i2=$2+(i9<<2)|0,e[i2>>2]=t2,A2=i9+1|0,X1=e[r0>>2]|0,n2=(A2|0)<(X1|0),!n2)break e;I=e[a6>>2]|0,m=e[d0>>2]|0,p=e[k0>>2]|0,Q1=I,L1=m,S1=p,i9=A2}while(!1);if(e2=e[f2>>2]|0,y2=(e2|0)==0,!y2&&(v2=e[G6>>2]|0,w2=(v2|0)<(e2|0),!w2))return e[f2>>2]=-1,C2=n+44|0,e[C2>>2]=1,a=1,a|0;if(F2=k5+4|0,D2=e[F2>>2]|0,N2=(D2|0)/2&-1,d2=g3-N2|0,K2=(d2|0)>0,!K2)return a=1,a|0;if(H2=e[S6>>2]|0,gS(H2,d2),M2=e[d3>>2]|0,P2=M2-d2|0,e[d3>>2]=P2,z2=e[r0>>2]|0,o5=(z2|0)>0,o5&&(O2=t+8|0,T1=e[O2>>2]|0,X2=e[T1>>2]|0,L5=X2+(d2<<2)|0,e5=P2<<2,jA(X2|0,L5|0,e5|0)|0,Z2=e[r0>>2]|0,f5=(Z2|0)>1,f5))for(l5=1;B=e[d3>>2]|0,v5=e[O2>>2]|0,P5=v5+(l5<<2)|0,k2=e[P5>>2]|0,m5=k2+(d2<<2)|0,n5=B<<2,jA(k2|0,m5|0,n5|0)|0,x2=l5+1|0,_2=e[r0>>2]|0,C5=(x2|0)<(_2|0),C5;)l5=x2;return R5=e[w>>2]|0,e[_3>>2]=R5,d5=e[u>>2]|0,e[w>>2]=d5,e[G6>>2]=N2,D5=e[f2>>2]|0,G5=(D5|0)==0,G5?(u3=(d2|0)<0,p3=u3<<31>>31,G3=_,z5=G3,w3=e[z5>>2]|0,W5=G3+4|0,i6=W5,L3=e[i6>>2]|0,U3=Zs(w3|0,L3|0,d2|0,p3|0)|0,a3=H6,l3=_,c3=l3,e[c3>>2]=U3,H5=l3+4|0,U5=H5,e[U5>>2]=a3,a=1,a|0):(_5=D5-d2|0,q2=(_5|0)<1,A=q2?-1:_5,e[f2>>2]=A,I5=(A|0)>(N2|0),I5?($5=(d2|0)<0,L2=$5<<31>>31,Q5=_,q5=Q5,j5=e[q5>>2]|0,E5=Q5+4|0,h3=E5,J5=e[h3>>2]|0,X5=Zs(j5|0,J5|0,d2|0,L2|0)|0,n3=H6,m3=_,F5=m3,e[F5>>2]=X5,V5=m3+4|0,k3=V5,e[k3>>2]=n3,a=1,a|0):(A5=A+d2|0,c5=A5-N2|0,M1=(c5|0)<0,S5=M1<<31>>31,g5=_,a5=g5,W2=e[a5>>2]|0,g2=g5+4|0,p5=g2,t5=e[p5>>2]|0,s5=Zs(W2|0,t5|0,c5|0,S5|0)|0,h5=H6,u5=_,i5=u5,e[i5>>2]=s5,x5=u5+4|0,j2=x5,e[j2>>2]=h5,a=1,a|0))}function rS(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,L1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0;if(i5=C,p=n+28|0,B=e[p>>2]|0,p1=(B|0)==0,p1||(Z1=B+8|0,P1=e[Z1>>2]|0,$2=(P1|0)<1,$2)||(F2=e[B>>2]|0,O2=(F2|0)<64,O2)||(k2=B+4|0,_5=e[k2>>2]|0,v=(_5|0)<(F2|0),v))return a=1,a|0;T=B+3656|0,X=e[T>>2]|0,J2=t,x5=J2+112|0;do e[J2>>2]=0,J2=J2+4|0;while((J2|0)<(x5|0));o0=n4(1,136)|0,p0=t+104|0,e[p0>>2]=o0,H0=t+4|0,e[H0>>2]=n,q0=e[Z1>>2]|0,n1=q0+-1|0,E1=Tt(n1)|0,B1=o0+44|0,e[B1>>2]=E1,Q1=n4(1,4)|0,x1=o0+12|0,e[x1>>2]=Q1,L1=n4(1,4)|0,w1=o0+16|0,e[w1>>2]=L1,S1=n4(1,20)|0,e[Q1>>2]=S1,R1=n4(1,20)|0,e[L1>>2]=R1,F1=e[B>>2]|0,G1=F1>>X,dB(S1,G1),k1=e[w1>>2]|0,U1=e[k1>>2]|0,N1=e[k2>>2]|0,D1=N1>>X,dB(U1,D1),V1=e[B>>2]|0,O1=Tt(V1)|0,q1=O1+-7|0,H1=o0+4|0,e[H1>>2]=q1,Y1=e[k2>>2]|0,j1=Tt(Y1)|0,r2=j1+-7|0,W1=o0+8|0,e[W1>>2]=r2,c2=(A|0)==0;e:do if(c2){if(B2=B+2848|0,C5=e[B2>>2]|0,R5=(C5|0)==0,R5&&(d5=B+24|0,D5=e[d5>>2]|0,G5=n4(D5,56)|0,e[B2>>2]=G5,q2=e[d5>>2]|0,I5=(q2|0)>0,I5)){for(m1=q2,p5=0;;){if(A5=(B+1824|0)+(p5<<2)|0,c5=e[A5>>2]|0,B5=(c5|0)==0,B5){M1=m1;break}if(g5=e[B2>>2]|0,a5=g5+(p5*56|0)|0,W2=sb(a5,c5)|0,b=(W2|0)==0,!b){u5=20;break}if(w=e[A5>>2]|0,EB(w),e[A5>>2]=0,y=p5+1|0,D=e[d5>>2]|0,Q=(y|0)<(D|0),Q)m1=D,p5=y;else break e}if((u5|0)==20&&(I=e[d5>>2]|0,M1=I),S5=(M1|0)>0,S5)for(d1=M1,h5=0;s1=(B+1824|0)+(h5<<2)|0,a1=e[s1>>2]|0,o1=(a1|0)==0,o1?h1=d1:(EB(a1),e[s1>>2]=0,m=e[d5>>2]|0,h1=m),z0=h5+1|0,I1=(z0|0)<(h1|0),I1;)d1=h1,h5=z0;return sQ(t),a=-1,a|0}}else{if(z1=o0+20|0,u2=e[B>>2]|0,QQ(z1,u2),s2=o0+32|0,E2=e[k2>>2]|0,QQ(s2,E2),o2=B+2848|0,K1=e[o2>>2]|0,h2=(K1|0)==0,h2&&(a2=B+24|0,t2=e[a2>>2]|0,i2=n4(t2,56)|0,e[o2>>2]=i2,A2=e[a2>>2]|0,X1=(A2|0)>0,X1&&(n2=B+1824|0,f2=e[n2>>2]|0,pQ(i2,f2)|0,e2=e[a2>>2]|0,y2=(e2|0)>1,y2)))for(w2=1;c=e[o2>>2]|0,v2=c+(w2*56|0)|0,C2=(B+1824|0)+(w2<<2)|0,D2=e[C2>>2]|0,pQ(v2,D2)|0,N2=w2+1|0,d2=e[a2>>2]|0,K2=(N2|0)<(d2|0),K2;)w2=N2;G2=B+28|0,H2=e[G2>>2]|0,M2=n4(H2,52)|0,P2=o0+56|0,e[P2>>2]=M2,z2=e[G2>>2]|0,o5=(z2|0)>0;t:do if(o5)for(T1=B+2868|0,X2=n+8|0,e5=M2,g2=0;;){if(L5=e5+(g2*52|0)|0,b5=(B+2852|0)+(g2<<2)|0,Z2=e[b5>>2]|0,f5=e[Z2>>2]|0,v5=B+(f5<<2)|0,P5=e[v5>>2]|0,l5=(P5|0)/2&-1,m5=e[X2>>2]|0,NS(L5,Z2,T1,l5,m5),n5=g2+1|0,x2=e[G2>>2]|0,_2=(n5|0)<(x2|0),!_2)break t;u=e[P2>>2]|0,e5=u,g2=n5}while(!1);e[t>>2]=1}while(!1);if(_=e[k2>>2]|0,R=t+16|0,e[R>>2]=_,L=n+4|0,F=e[L>>2]|0,M=F<<2,N=S9(M)|0,G=t+8|0,e[G>>2]=N,O=S9(M)|0,z=t+12|0,e[z>>2]=O,Y=(F|0)>0,Y&&(t0=n4(_,4)|0,e[N>>2]=t0,J=(F|0)>1,J))for(q=1;E=e[G>>2]|0,W=n4(_,4)|0,e0=E+(q<<2)|0,e[e0>>2]=W,U=q+1|0,$0=(U|0)<(F|0),$0;)q=U;if(Z=t+36|0,e[Z>>2]=0,K=t+40|0,e[K>>2]=0,a0=e[k2>>2]|0,s0=(a0|0)/2&-1,i0=t+48|0,e[i0>>2]=s0,r0=t+20|0,e[r0>>2]=s0,V=B+16|0,h0=e[V>>2]|0,c0=n4(h0,4)|0,j=o0+48|0,e[j>>2]=c0,l0=B+20|0,u0=e[l0>>2]|0,d0=n4(u0,4)|0,w0=o0+52|0,e[w0>>2]=d0,C0=e[V>>2]|0,k0=(C0|0)>0,k0)for(t5=0;I0=(B+800|0)+(t5<<2)|0,S0=e[I0>>2]|0,V0=25640+(S0<<2)|0,_0=e[V0>>2]|0,Q0=_0+8|0,R0=e[Q0>>2]|0,M0=(B+1056|0)+(t5<<2)|0,N0=e[M0>>2]|0,U0=f7[R0&15](t,N0)|0,y0=e[j>>2]|0,L0=y0+(t5<<2)|0,e[L0>>2]=U0,D0=t5+1|0,T0=e[V>>2]|0,J0=(D0|0)<(T0|0),J0;)t5=D0;if(f0=e[l0>>2]|0,B0=(f0|0)>0,B0)s5=0;else return a=0,a|0;for(;;)if(Y0=(B+1312|0)+(s5<<2)|0,P0=e[Y0>>2]|0,K0=25648+(P0<<2)|0,G0=e[K0>>2]|0,O0=G0+8|0,r1=e[O0>>2]|0,e1=(B+1568|0)+(s5<<2)|0,b0=e[e1>>2]|0,i1=f7[r1&15](t,b0)|0,c1=e[w0>>2]|0,$1=c1+(s5<<2)|0,e[$1>>2]=i1,u1=s5+1|0,g1=e[l0>>2]|0,l1=(u1|0)<(g1|0),l1)s5=u1;else{a=0;break}return a|0}function aQ(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0;if(_0=C,C=C+64|0,c=_0,u=t+20|0,Q=e[u>>2]|0,Y=Q<<2,n=Y,a0=C,C=C+((1*n|0)+15&-16)|0,d0=t+28|0,e[d0>>2]=1,C0=t+48|0,k0=e[C0>>2]|0,f0=Q-k0|0,B0=(f0|0)>32,!B0){C=_0;return}if(E=t+4|0,I=e[E>>2]|0,m=I+4|0,p=e[m>>2]|0,B=(p|0)>0,!B){C=_0;return}for(v=t+8|0,b=Q,p0=0;;){if(w=(b|0)>0,w)for(y=e[v>>2]|0,D=y+(p0<<2)|0,_=e[D>>2]|0,I0=0;R=I0^-1,L=b+R|0,F=_+(L<<2)|0,M=e[F>>2]|0,T=a0+(I0<<2)|0,e[T>>2]=M,N=I0+1|0,G=(b|0)>(N|0),G;)I0=N;if(O=e[C0>>2]|0,z=b-O|0,+$Q(a0,c,z,16),t0=e[u>>2]|0,J=e[C0>>2]|0,A=t0-J|0,W=a0+(A<<2)|0,a=A+-16|0,e0=a0+(a<<2)|0,lQ(c,e0,16,W,J),q=e[u>>2]|0,X=(q|0)>0,X)for(U=e[v>>2]|0,$0=U+(p0<<2)|0,Z=e[$0>>2]|0,S0=0;K=a0+(S0<<2)|0,s0=e[K>>2]|0,i0=S0^-1,r0=q+i0|0,V=Z+(r0<<2)|0,e[V>>2]=s0,h0=S0+1|0,o0=(q|0)>(h0|0),o0;)S0=h0;if(c0=p0+1|0,j=e[E>>2]|0,l0=j+4|0,u0=e[l0>>2]|0,w0=(c0|0)<(u0|0),w0)b=q,p0=c0;else break}C=_0}function nS(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,L1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0;A2=C,U2(n,5653314,24),E=e[t>>2]|0,U2(n,E,16),I=t+4|0,G=e[I>>2]|0,U2(n,G,24),$0=e[I>>2]|0,j=($0|0)>1;e:do if(j)for(S0=t+8|0,D0=e[S0>>2]|0,c=d[D0>>0]|0,b0=c,P1=1;;){if(z0=b0<<24>>24==0,z0){W1=P1;break e}if(w1=D0+P1|0,m=d[w1>>0]|0,D=m<<24>>24>24,D){W1=P1;break e}if(Q=P1+1|0,_=(Q|0)<($0|0),_)b0=m,P1=Q;else{W1=Q;break}}else W1=1;while(!1);R=(W1|0)==($0|0);e:do if(R){if(U2(n,1,1),L=t+8|0,F=e[L>>2]|0,M=d[F>>0]|0,T=M<<24>>24,N=T+-1|0,U2(n,N,5),O=e[I>>2]|0,z=(O|0)>1,z)for(y=O,q1=0,z1=1;;){if(Y=e[L>>2]|0,t0=Y+z1|0,J=d[t0>>0]|0,W=z1+-1|0,e0=Y+W|0,q=d[e0>>0]|0,X=J<<24>>24>q<<24>>24,X)for(U=q<<24>>24,Z=J<<24>>24,s0=y,H1=q1,a2=U;;)if(K=z1-H1|0,a0=s0-H1|0,i0=Tt(a0)|0,U2(n,K,i0),r0=a2+1|0,r2=(r0|0)==(Z|0),u=e[I>>2]|0,r2){o0=u,Y1=z1;break}else s0=u,H1=z1,a2=r0;else o0=y,Y1=q1;if(V=z1+1|0,h0=(V|0)<(o0|0),h0)y=o0,q1=Y1,z1=V;else{a=o0,O1=Y1,c2=V;break}}else a=O,O1=0,c2=1;c0=c2-O1|0,l0=a-O1|0,u0=Tt(l0)|0,U2(n,c0,u0)}else{U2(n,0,1),d0=e[I>>2]|0,w0=(d0|0)>0;t:do if(w0)for(C0=t+8|0,k0=e[C0>>2]|0,s2=0;;){if(f0=k0+s2|0,B0=d[f0>>0]|0,p0=B0<<24>>24==0,p0){u2=s2;break t}if(I0=s2+1|0,V0=(I0|0)<(d0|0),V0)s2=I0;else{u2=I0;break}}else u2=0;while(!1);if(_0=(u2|0)==(d0|0),_0){if(U2(n,0,1),Q0=e[I>>2]|0,R0=(Q0|0)>0,!R0)break;for(M0=t+8|0,E2=0;;)if(N0=e[M0>>2]|0,U0=N0+E2|0,y0=d[U0>>0]|0,H0=y0<<24>>24,L0=H0+-1|0,U2(n,L0,5),T0=E2+1|0,J0=e[I>>2]|0,Y0=(T0|0)<(J0|0),Y0)E2=T0;else break e}if(U2(n,1,1),P0=e[I>>2]|0,K0=(P0|0)>0,K0)for(G0=t+8|0,o2=0;O0=e[G0>>2]|0,r1=O0+o2|0,q0=d[r1>>0]|0,e1=q0<<24>>24==0,e1?U2(n,0,1):(U2(n,1,1),i1=e[G0>>2]|0,c1=i1+o2|0,$1=d[c1>>0]|0,u1=$1<<24>>24,g1=u1+-1|0,U2(n,g1,5)),l1=o2+1|0,s1=e[I>>2]|0,a1=(l1|0)<(s1|0),a1;)o2=l1}while(!1);if(n1=t+12|0,o1=e[n1>>2]|0,U2(n,o1,4),I1=e[n1>>2]|0,(I1|0)==2|(I1|0)==1)i2=28;else if(I1|0)return A=-1,A|0;do if((i2|0)==28){if(h1=t+32|0,m1=e[h1>>2]|0,d1=(m1|0)==0,d1)return A=-1,A|0;if(E1=t+16|0,B1=e[E1>>2]|0,U2(n,B1,32),p1=t+20|0,Q1=e[p1>>2]|0,U2(n,Q1,32),x1=t+24|0,L1=e[x1>>2]|0,S1=L1+-1|0,U2(n,S1,4),R1=t+28|0,F1=e[R1>>2]|0,U2(n,F1,1),G1=e[n1>>2]|0,(G1|0)==1)k1=ib(t)|0,$2=k1;else if((G1|0)==2)U1=e[I>>2]|0,Z1=e[t>>2]|0,N1=r5(Z1,U1)|0,$2=N1;else break;if(D1=($2|0)>0,D1)for(K1=0;V1=e[h1>>2]|0,p=V1+(K1<<2)|0,B=e[p>>2]|0,h2=(B|0)>-1,t2=0-B|0,v=h2?B:t2,b=e[x1>>2]|0,U2(n,v,b),w=K1+1|0,j1=(w|0)==($2|0),!j1;)K1=w}while(!1);return A=0,A|0}function Fh(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0;return z=C,c=(n|0)<0,c||(u=t+12|0,Q=e[u>>2]|0,R=Q+4|0,L=e[R>>2]|0,F=(L|0)>(n|0),!F)?(a=0,a|0):(M=t+20|0,T=e[M>>2]|0,N=T+(n<<2)|0,G=e[N>>2]|0,E=Q+8|0,I=e[E>>2]|0,m=I+n|0,p=d[m>>0]|0,B=p<<24>>24,U2(A,G,B),v=e[u>>2]|0,b=v+8|0,w=e[b>>2]|0,y=w+n|0,D=d[y>>0]|0,_=D<<24>>24,a=_,a|0)}function jm(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0;return w=C,a=t+8|0,c=e[a>>2]|0,u=(c|0)>0,!u||(E=Mh(t,n)|0,I=(E|0)>-1,!I)?(A=-1,A|0):(m=t+24|0,p=e[m>>2]|0,B=p+(E<<2)|0,v=e[B>>2]|0,A=v,A|0)}function sS(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0;if(j=C,m=t+8|0,p=e[m>>2]|0,F=(p|0)>0,!F)return c=0,C=j,c|0;e0=e[t>>2]|0,X=(a|0)/(e0|0)&-1,U=X<<2,u=U,$0=C,C=C+((1*u|0)+15&-16)|0,Z=(X|0)>0;e:do if(Z){for(K=t+16|0,r0=0;;){if(N=Mh(t,A)|0,G=(N|0)==-1,G){c=-1;break}if(O=e[K>>2]|0,z=e[t>>2]|0,Y=r5(z,N)|0,t0=O+(Y<<2)|0,J=$0+(r0<<2)|0,e[J>>2]=t0,W=r0+1|0,q=(W|0)<(X|0),q)r0=W;else{a0=z;break e}}return C=j,c|0}else a0=e0;while(!1);if(E=(a0|0)<1,I=Z^1,s0=E|I,s0)return c=0,C=j,c|0;for(V=0,o0=0;;){for(h0=0;w=$0+(h0<<2)|0,y=e[w>>2]|0,D=y+(V<<2)|0,Q=+s[D>>2],_=h0+o0|0,R=n+(_<<2)|0,L=+s[R>>2],M=L+Q,s[R>>2]=M,T=h0+1|0,i0=(T|0)==(X|0),!i0;)h0=T;if(B=V+1|0,v=o0+X|0,b=(B|0)<(a0|0),b)V=B,o0=v;else{c=0;break}}return C=j,c|0}function oS(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,L1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0;if(X2=C,Y=t+8|0,t0=e[Y>>2]|0,c0=(t0|0)>0,!c0)return c=0,c|0;if(I0=e[t>>2]|0,L0=(I0|0)>8,L0){if(L1=(a|0)>0,!L1)return c=0,c|0;for(V1=t+16|0,X1=0;;){if(Z=Mh(t,A)|0,K=(Z|0)==-1,K){c=-1,T1=29;break}if(a0=e[V1>>2]|0,s0=e[t>>2]|0,i0=r5(s0,Z)|0,r0=(s0|0)>0,r0){for(V=(s0|0)>1,O2=V?s0:1,f2=X1,d2=0;h0=d2+1|0,z=d2+i0|0,o0=a0+(z<<2)|0,j=+s[o0>>2],l0=f2+1|0,u0=n+(f2<<2)|0,d0=+s[u0>>2],w0=d0+j,s[u0>>2]=w0,C0=(h0|0)<(s0|0),C0;)f2=l0,d2=h0;u2=X1+O2|0,n2=u2}else n2=X1;if(J=(n2|0)<(a|0),J)X1=n2;else{c=0,T1=29;break}}if((T1|0)==29)return c|0}if(e1=t+16|0,o1=(a|0)>0,o1)e2=0;else return c=0,c|0;e:for(;;){t:for(;;){if(q=Mh(t,A)|0,X=(q|0)==-1,X){c=-1,T1=29;break e}switch(U=e[e1>>2]|0,$0=e[t>>2]|0,$0|0){case 4:{B=q,Q=U,T1=19;break t}case 3:{v=q,_=U,T1=21;break t}case 7:{I=q,w=U,T1=13;break t}case 6:{m=q,y=U,T1=15;break t}case 8:{u=U,E=q,T1=12;break t}case 5:{p=q,D=U,T1=17;break t}case 1:{K1=q,a2=U,N2=e2,o5=0;break t}case 2:{b=q,R=U,T1=23;break t}default:}}if((T1|0)==12?(T1=0,k0=E<<3,f0=u+(k0<<2)|0,B0=+s[f0>>2],p0=e2+1|0,S0=n+(e2<<2)|0,V0=+s[S0>>2],_0=V0+B0,s[S0>>2]=_0,M0=k0,U0=u,y2=p0,K2=1,T1=14):(T1|0)==13?(T1=0,Q0=I*7|0,M0=Q0,U0=w,y2=e2,K2=0,T1=14):(T1|0)==15?(T1=0,Y0=m*6|0,K0=Y0,O0=y,v2=e2,G2=0,T1=16):(T1|0)==17?(T1=0,$1=p*5|0,g1=$1,s1=D,w2=e2,H2=0,T1=18):(T1|0)==19?(T1=0,m1=B<<2,E1=m1,p1=Q,C2=e2,M2=0,T1=20):(T1|0)==21?(T1=0,F1=v*3|0,k1=F1,Z1=_,F2=e2,P2=0,T1=22):(T1|0)==23&&(T1=0,Y1=b<<1,r2=Y1,P1=R,D2=e2,z2=0,T1=24),(T1|0)==14&&(T1=0,R0=K2+1|0,O=K2+M0|0,N0=U0+(O<<2)|0,y0=+s[N0>>2],H0=y2+1|0,D0=n+(y2<<2)|0,T0=+s[D0>>2],J0=T0+y0,s[D0>>2]=J0,K0=M0,O0=U0,v2=H0,G2=R0,T1=16),(T1|0)==16&&(T1=0,P0=G2+1|0,G=G2+K0|0,G0=O0+(G<<2)|0,r1=+s[G0>>2],q0=v2+1|0,b0=n+(v2<<2)|0,i1=+s[b0>>2],c1=i1+r1,s[b0>>2]=c1,g1=K0,s1=O0,w2=q0,H2=P0,T1=18),(T1|0)==18&&(T1=0,u1=H2+1|0,N=H2+g1|0,l1=s1+(N<<2)|0,a1=+s[l1>>2],n1=w2+1|0,z0=n+(w2<<2)|0,I1=+s[z0>>2],h1=I1+a1,s[z0>>2]=h1,E1=g1,p1=s1,C2=n1,M2=u1,T1=20),(T1|0)==20&&(T1=0,d1=M2+1|0,T=M2+E1|0,B1=p1+(T<<2)|0,Q1=+s[B1>>2],x1=C2+1|0,w1=n+(C2<<2)|0,S1=+s[w1>>2],R1=S1+Q1,s[w1>>2]=R1,k1=E1,Z1=p1,F2=x1,P2=d1,T1=22),(T1|0)==22&&(T1=0,G1=P2+1|0,M=P2+k1|0,U1=Z1+(M<<2)|0,N1=+s[U1>>2],D1=F2+1|0,O1=n+(F2<<2)|0,q1=+s[O1>>2],H1=q1+N1,s[O1>>2]=H1,r2=k1,P1=Z1,D2=D1,z2=G1,T1=24),(T1|0)==24&&(T1=0,j1=z2+1|0,F=z2+r2|0,W1=P1+(F<<2)|0,c2=+s[W1>>2],z1=D2+1|0,s2=n+(D2<<2)|0,E2=+s[s2>>2],o2=E2+c2,s[s2>>2]=o2,K1=r2,a2=P1,N2=z1,o5=j1),L=o5+K1|0,h2=a2+(L<<2)|0,t2=+s[h2>>2],$2=N2+1|0,i2=n+(N2<<2)|0,A2=+s[i2>>2],W=A2+t2,s[i2>>2]=W,e0=($2|0)<(a|0),e0)e2=$2;else{c=0,T1=29;break}}return(T1|0)==29?c|0:0}function AS(t,n,A,a,c,u){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0,u=u|0;var E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0;if(c0=C,B=t+8|0,v=e[B>>2]|0,T=(v|0)>0,!T||(W=(A|0)/(a|0)&-1,e0=u+A|0,q=(e0|0)/(a|0)&-1,X=(W|0)<(q|0),!X))return I=0,I|0;for(U=t+16|0,K=0,i0=W;;){if(Z=Mh(t,c)|0,b=(Z|0)==-1,b){I=-1,o0=8;break}if(w=e[U>>2]|0,y=e[t>>2]|0,D=r5(y,Z)|0,Q=(y|0)>0,Q)for(s0=K,V=i0,h0=0;;)if(p=h0+D|0,_=w+(p<<2)|0,R=+s[_>>2],L=s0+1|0,F=n+(s0<<2)|0,M=e[F>>2]|0,N=M+(V<<2)|0,G=+s[N>>2],O=G+R,s[N>>2]=O,z=(L|0)==(a|0),Y=z&1,m=Y+V|0,E=z?0:L,t0=h0+1|0,J=(t0|0)<(y|0),J)s0=E,V=m,h0=t0;else{a0=E,r0=m;break}else a0=K,r0=i0;if($0=(r0|0)<(q|0),$0)K=a0,i0=r0;else{I=0,o0=8;break}}return(o0|0)==8?I|0:0}function Mh(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0;h1=C,c=t+40|0,u=e[c>>2]|0,Q=t+36|0,Y=e[Q>>2]|0,a0=gB(n,Y)|0,d0=(a0|0)>-1;do if(d0){if(Q0=t+32|0,Y0=e[Q0>>2]|0,c1=Y0+(a0<<2)|0,$1=e[c1>>2]|0,E=($1|0)<0,E){I=$1>>>15,m=I&32767,p=t+8|0,B=e[p>>2]|0,v=$1&32767,b=B-v|0,u1=b,l1=m;break}return w=$1+-1|0,y=t+28|0,D=e[y>>2]|0,_=D+w|0,R=d[_>>0]|0,L=R<<24>>24,hB(n,L),A=w,A|0}else F=t+8|0,M=e[F>>2]|0,u1=M,l1=0;while(!1);if(T=gB(n,u)|0,N=(T|0)<0,G=(u|0)>1,O=N&G,O)for(z0=u;;)if(z=z0+-1|0,t0=gB(n,z)|0,J=(t0|0)<0,W=(z|0)>1,e0=J&W,e0)z0=z;else{a=J,n1=t0,o1=z;break}else a=N,n1=T,o1=u;if(a)return A=-1,A|0;if(q=n1>>>16,X=n1<<16,U=q|X,$0=U>>>8,Z=$0&16711935,K=U<<8,s0=K&-16711936,i0=Z|s0,r0=i0>>>4,V=r0&252645135,h0=i0<<4,o0=h0&-252645136,c0=V|o0,j=c0>>>2,l0=j&858993459,u0=c0<<2,w0=u0&-858993460,C0=l0|w0,k0=C0>>>1,f0=k0&1431655765,B0=C0<<1,p0=B0&-1431655766,I0=f0|p0,S0=u1-l1|0,V0=(S0|0)>1,V0)for(_0=t+20|0,R0=e[_0>>2]|0,N0=S0,g1=u1,a1=l1;;)if(M0=N0>>1,U0=M0+a1|0,y0=R0+(U0<<2)|0,H0=e[y0>>2]|0,L0=H0>>>0>I0>>>0,D0=L0?0:M0,T0=D0+a1|0,J0=L0?M0:0,P0=g1-J0|0,K0=P0-T0|0,G0=(K0|0)>1,G0)N0=K0,g1=P0,a1=T0;else{s1=T0;break}else s1=l1;return O0=t+28|0,r1=e[O0>>2]|0,q0=r1+s1|0,e1=d[q0>>0]|0,b0=e1<<24>>24,i1=(b0|0)>(o1|0),i1?(hB(n,o1),A=-1,A|0):(hB(n,b0),A=s1,A|0)}function aS(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0;for(c1=C,p=n+28|0,B=e[p>>2]|0,M=n+4|0,q=e[M>>2]|0,h0=t+4|0,e[h0>>2]=128,B0=t+8|0,e[B0>>2]=64,y0=B+2932|0,Y0=e[y0>>2]|0,P0=t+12|0,e[P0>>2]=Y0,e[t>>2]=q,K0=t+164|0,e[K0>>2]=128,v=B+4|0,b=e[v>>2]|0,w=(b|0)/2&-1,y=t+176|0,e[y>>2]=w,D=n4(128,4)|0,Q=t+36|0,e[Q>>2]=D,_=t+16|0,dB(_,128),R=e[Q>>2]|0,q0=0;L=+(q0|0),F=L*.024736950028266088,T=+Gn(+F),N=T,G=R+(q0<<2)|0,O=N*N,s[G>>2]=O,z=q0+1|0,r1=(z|0)==128,!r1;)q0=z;for(Y=t+40|0,e[Y>>2]=2,t0=t+44|0,e[t0>>2]=4,J=t+56|0,e[J>>2]=4,W=t+60|0,e[W>>2]=5,e0=t+72|0,e[e0>>2]=6,X=t+76|0,e[X>>2]=6,U=t+88|0,e[U>>2]=9,$0=t+92|0,e[$0>>2]=8,Z=t+104|0,e[Z>>2]=13,K=t+108|0,e[K>>2]=8,a0=t+120|0,e[a0>>2]=17,s0=t+124|0,e[s0>>2]=8,i0=t+136|0,e[i0>>2]=22,r0=t+140|0,e[r0>>2]=8,o0=4,b0=0;;){if(V=o0<<2,c0=S9(V)|0,j=((t+40|0)+(b0<<4)|0)+8|0,e[j>>2]=c0,l0=(o0|0)>0,l0){for(u0=+(o0|0),d0=((t+40|0)+(b0<<4)|0)+12|0,m=+s[d0>>2],_0=m,e1=0;;)if(w0=+(e1|0),C0=w0+.5,k0=C0/u0,f0=k0*3.141592653589793,p0=+Gn(+f0),I0=p0,S0=c0+(e1<<2)|0,s[S0>>2]=I0,V0=_0+I0,Q0=e1+1|0,G0=(Q0|0)==(o0|0),G0){A=V0;break}else _0=V0,e1=Q0;s[d0>>2]=A,E=d0,M0=A}else c=((t+40|0)+(b0<<4)|0)+12|0,I=+s[c>>2],E=c,M0=I;if(R0=1/M0,s[E>>2]=R0,N0=b0+1|0,O0=(N0|0)==7,O0)break;a=((t+40|0)+(N0<<4)|0)+4|0,u=e[a>>2]|0,o0=u,b0=N0}U0=q*7|0,H0=n4(U0,144)|0,L0=t+152|0,e[L0>>2]=H0,D0=e[K0>>2]|0,T0=n4(D0,4)|0,J0=t+160|0,e[J0>>2]=T0}function $S(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0;N=C,n=t+16|0,IB(n),A=t+48|0,w=e[A>>2]|0,I2(w),D=t+64|0,Q=e[D>>2]|0,I2(Q),_=t+80|0,R=e[_>>2]|0,I2(R),L=t+96|0,F=e[L>>2]|0,I2(F),M=t+112|0,a=e[M>>2]|0,I2(a),c=t+128|0,u=e[c>>2]|0,I2(u),E=t+144|0,I=e[E>>2]|0,I2(I),m=t+36|0,p=e[m>>2]|0,I2(p),B=t+152|0,v=e[B>>2]|0,I2(v),b=t+160|0,y=e[b>>2]|0,I2(y),ae(t|0,0,180)|0}function lS(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,L1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0;if(j1=C,u=t+4|0,E=e[u>>2]|0,F=E+28|0,e0=e[F>>2]|0,V=e0+2868|0,f0=t+104|0,U0=e[f0>>2]|0,O0=e[U0>>2]|0,s1=O0+168|0,p1=e[s1>>2]|0,I=O0+8|0,v=e[I>>2]|0,b=(p1|0)/(v|0)&-1,w=t+20|0,y=e[w>>2]|0,D=(y|0)/(v|0)&-1,Q=D+-4|0,_=(b|0)<0,n=_?0:b,R=D+2|0,L=O0+164|0,M=e[L>>2]|0,T=(R|0)>(M|0),T&&(e[L>>2]=R,N=O0+160|0,G=e[N>>2]|0,O=R<<2,z=qi(G,O)|0,e[N>>2]=z),Y=(n|0)<(Q|0),Y)for(t0=O0+156|0,J=O0+160|0,W=t+8|0,q=O0+40|0,X=O0+152|0,D1=n;;){if(U=e[t0>>2]|0,$0=U+1|0,Z=(U|0)>23,a=Z?24:$0,e[t0>>2]=a,K=e[O0>>2]|0,a0=(K|0)>0,a0){for(N1=0,H1=0;;)if(h0=e[W>>2]|0,o0=h0+(N1<<2)|0,c0=e[o0>>2]|0,j=e[I>>2]|0,l0=r5(j,D1)|0,u0=c0+(l0<<2)|0,d0=e[X>>2]|0,w0=N1*7|0,C0=d0+(w0*144|0)|0,k0=hS(O0,V,u0,q,C0)|0,B0=k0|H1,p0=N1+1|0,I0=e[O0>>2]|0,S0=(p0|0)<(I0|0),S0)N1=p0,H1=B0;else{c=B0;break}V0=D1+2|0,_0=e[J>>2]|0,Q0=_0+(V0<<2)|0,e[Q0>>2]=0,R0=c&1,M0=(R0|0)==0,M0||(N0=_0+(D1<<2)|0,e[N0>>2]=1,y0=D1+1|0,H0=_0+(y0<<2)|0,e[H0>>2]=1),L0=c&2,D0=(L0|0)==0,D0||(T0=_0+(D1<<2)|0,e[T0>>2]=1,J0=(D1|0)>0,J0&&(Y0=D1+-1|0,P0=_0+(Y0<<2)|0,e[P0>>2]=1)),K0=c&4,G0=(K0|0)==0,G0||(e[t0>>2]=-1)}else s0=D1+2|0,i0=e[J>>2]|0,r0=i0+(s0<<2)|0,e[r0>>2]=0;if(r1=D1+1|0,Z1=(r1|0)==(Q|0),Z1)break;D1=r1}if(q0=e[I>>2]|0,e1=r5(q0,Q)|0,e[s1>>2]=e1,b0=t+48|0,i1=e[b0>>2]|0,c1=t+40|0,$1=e[c1>>2]|0,u1=e0+($1<<2)|0,g1=e[u1>>2]|0,l1=(g1|0)/4&-1,a1=l1+i1|0,n1=e0+4|0,o1=e[n1>>2]|0,z0=(o1|0)/2&-1,I1=a1+z0|0,h1=e[e0>>2]|0,m1=(h1|0)/4&-1,d1=I1+m1|0,E1=O0+176|0,B1=e[E1>>2]|0,Q1=e1-q0|0,x1=(B1|0)<(Q1|0),!x1)return A=-1,A|0;for(L1=O0+160|0,V1=B1;;){if(R1=(V1|0)<(d1|0),!R1){A=1,Y1=22;break}if(e[E1>>2]=V1,F1=(V1|0)/(q0|0)&-1,G1=e[L1>>2]|0,k1=G1+(F1<<2)|0,U1=e[k1>>2]|0,m=(U1|0)!=0,p=(V1|0)>(i1|0),q1=p&m,w1=q0+V1|0,q1){O1=V1,Y1=21;break}if(S1=(w1|0)<(Q1|0),S1)V1=w1;else{A=-1,Y1=22;break}}return(Y1|0)==21?(B=O0+172|0,e[B>>2]=O1,A=0,A|0):(Y1|0)==22?A|0:0}function cS(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0;if(B0=C,c=t+104|0,u=e[c>>2]|0,Q=e[u>>2]|0,Y=t+4|0,a0=e[Y>>2]|0,o0=a0+28|0,c0=e[o0>>2]|0,j=t+48|0,l0=e[j>>2]|0,u0=t+40|0,E=e[u0>>2]|0,I=c0+(E<<2)|0,m=e[I>>2]|0,p=(m|0)/4&-1,B=l0-p|0,v=p+l0|0,b=(E|0)==0,b?(G=e[c0>>2]|0,O=(G|0)/4&-1,A=O,a=O):(w=t+36|0,y=e[w>>2]|0,D=c0+(y<<2)|0,_=e[D>>2]|0,R=(_|0)/4&-1,L=t+44|0,F=e[L>>2]|0,M=c0+(F<<2)|0,T=e[M>>2]|0,N=(T|0)/4&-1,A=N,a=R),d0=B-a|0,w0=v+A|0,z=Q+172|0,t0=e[z>>2]|0,J=(t0|0)>=(d0|0),W=(t0|0)<(w0|0),k0=J&W,k0)return n=1,n|0;if(e0=Q+8|0,q=e[e0>>2]|0,X=(d0|0)/(q|0)&-1,U=(w0|0)/(q|0)&-1,$0=(X|0)<(U|0),!$0)return n=0,n|0;for(Z=Q+160|0,K=e[Z>>2]|0,C0=X;;){if(r0=K+(C0<<2)|0,V=e[r0>>2]|0,h0=(V|0)==0,s0=C0+1|0,!h0){n=1,f0=9;break}if(i0=(s0|0)<(U|0),i0)C0=s0;else{n=0,f0=9;break}}return(f0|0)==9?n|0:0}function gS(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0;if(G=C,A=t+168|0,a=e[A>>2]|0,y=t+8|0,Q=e[y>>2]|0,_=(a|0)/(Q|0)&-1,R=_+2|0,L=(n|0)/(Q|0)&-1,F=t+160|0,M=e[F>>2]|0,T=M+(L<<2)|0,c=R-L|0,u=c<<2,jA(M|0,T|0,u|0)|0,E=e[A>>2]|0,I=E-n|0,e[A>>2]=I,m=t+172|0,p=e[m>>2]|0,B=(p|0)>-1,!B){b=t+176|0,w=e[b>>2]|0,D=w-n|0,e[b>>2]=D;return}v=p-n|0,e[m>>2]=v,b=t+176|0,w=e[b>>2]|0,D=w-n|0,e[b>>2]=D}function hS(t,n,A,a,c){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0;var u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,L1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,k3=0,u3=0,p3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0,l6=0,d3=0;if(d3=C,Y=t+4|0,t0=e[Y>>2]|0,$2=t+12|0,F2=+s[$2>>2],O2=t0<<2,_=O2,k2=C,C=C+((1*_|0)+15&-16)|0,_5=t+156|0,g2=e[_5>>2]|0,L2=(g2|0)>5,F5=(g2|0)/2&-1,u=L2?F5:2,J=n+60|0,i0=+s[J>>2],C0=F5+-2|0,M0=+(C0|0),K0=i0-M0,g1=K0<0,u6=g1?0:K0,E1=u6>i0,Q3=E1?i0:u6,k1=(t0|0)>0,k1)for(r2=t+36|0,a2=e[r2>>2]|0,O5=0;i2=A+(O5<<2)|0,A2=+s[i2>>2],X1=a2+(O5<<2)|0,n2=+s[X1>>2],f2=n2*A2,e2=k2+(O5<<2)|0,s[e2>>2]=f2,y2=O5+1|0,C3=(y2|0)==(t0|0),!C3;)O5=y2;v2=t+16|0,cQ(v2,k2,k2),w2=+s[k2>>2],C2=w2*w2,D2=C2,N2=k2+4|0,d2=+s[N2>>2],K2=d2,G2=K2*K2,H2=G2*.7,M2=H2+D2,P2=k2+8|0,z2=+s[P2>>2],o5=z2,T1=o5*o5,X2=T1*.2,L5=M2+X2,e5=L5,b5=c+140|0,Z2=e[b5>>2]|0,f5=(Z2|0)==0,f5?(v5=c+136|0,P5=+s[v5>>2],l5=P5+e5,m5=c+132|0,s[m5>>2]=l5,s[v5>>2]=e5,T=m5,q2=l5):(n5=c+132|0,x2=+s[n5>>2],_2=x2+e5,s[n5>>2]=_2,B2=c+136|0,C5=+s[B2>>2],R5=C5+e5,s[B2>>2]=R5,T=n5,q2=_2),d5=(c+72|0)+(Z2<<2)|0,D5=+s[d5>>2],G5=q2-D5,s[T>>2]=G5,s[d5>>2]=e5,I5=e[b5>>2]|0,A5=I5+1|0,c5=(I5|0)>13,E=c5?0:A5,e[b5>>2]=E,B5=(t0|0)/2&-1,M1=(t0|0)>1;e:do if(M1)for(S5=q2*.0625,g5=(s[p2>>2]=S5,e[p2>>2]|0),a5=g5&2147483647,W2=+(a5>>>0),p5=W2*7177114298428933e-22,t5=p5+-764.6162109375,s5=t5,h5=s5*.5,J2=h5+-15,u5=J2,R=u5,R0=w2,k5=0;;){if(Q0=R0*R0,N0=k5|1,U0=k2+(N0<<2)|0,y0=+s[U0>>2],H0=y0*y0,L0=H0+Q0,D0=(s[p2>>2]=L0,e[p2>>2]|0),T0=D0&2147483647,J0=+(T0>>>0),Y0=J0*35885571492144663e-23,P0=Y0+-382.30810546875,G0=P0>1,q0=k2+(r1<<2)|0,s[q0>>2]=z,e1=k5+2|0,b0=(e1|0)<(B5|0),!b0)break e;i1=R+-8,F=k2+(e1<<2)|0,M=+s[F>>2],R=i1,R0=M,k5=e1}while(!1);if(i5=(u|0)>0,i5)A3=0,O3=0;else{for(e3=0,j3=0;;){if(c1=(a+(e3<<4)|0)+4|0,$1=e[c1>>2]|0,u1=($1|0)>0,u1)for(l1=a+(e3<<4)|0,s1=e[l1>>2]|0,a1=(a+(e3<<4)|0)+8|0,n1=e[a1>>2]|0,a3=0,P3=0;;)if(o1=s1+P3|0,z0=k2+(o1<<2)|0,I1=+s[z0>>2],h1=n1+(P3<<2)|0,m1=+s[h1>>2],d1=m1*I1,B1=d1+a3,p1=P3+1|0,Q1=(p1|0)<($1|0),Q1)a3=B1,P3=p1;else{L3=B1;break}else L3=0;if(x1=(a+(e3<<4)|0)+12|0,L1=+s[x1>>2],w1=L1*L3,S1=(c+(e3*144|0)|0)+68|0,R1=e[S1>>2]|0,F1=(R1|0)<1,p=F1?16:-1,I=p+R1|0,G1=(c+(e3*144|0)|0)+(I<<2)|0,U1=+s[G1>>2],Z1=w1U1,v=D1?U1:w1,V1=v+-99999,O1=N1+99999,q1=(c+(e3*144|0)|0)+(R1<<2)|0,s[q1>>2]=w1,H1=e[S1>>2]|0,Y1=H1+1|0,j1=(H1|0)>15,D=j1?0:Y1,e[S1>>2]=D,W1=(n+4|0)+(e3<<2)|0,P1=+s[W1>>2],c2=P1+Q3,z1=O1>c2,u2=j3|5,K5=z1?u2:j3,s2=(n+32|0)+(e3<<2)|0,E2=+s[s2>>2],o2=E2-Q3,K1=V1>2]|0,$5=(j2|0)>0,$5)for(w0=a+(A3<<4)|0,s0=e[w0>>2]|0,k0=(a+(A3<<4)|0)+8|0,o0=e[k0>>2]|0,l3=0,M5=0;;)if(a0=s0+M5|0,r0=k2+(a0<<2)|0,V=+s[r0>>2],h0=o0+(M5<<2)|0,c0=+s[h0>>2],j=c0*V,l0=j+l3,u0=M5+1|0,d0=(u0|0)<(j2|0),d0)l3=l0,M5=u0;else{U3=l0;break}else U3=0;for(f0=(a+(A3<<4)|0)+12|0,B0=+s[f0>>2],h3=B0*U3,X5=(c+(A3*144|0)|0)+68|0,f3=e[X5>>2]|0,p0=(f3|0)<1,B=p0?16:-1,m=B+f3|0,I0=(c+(A3*144|0)|0)+(m<<2)|0,S0=+s[I0>>2],V0=h3S0,b=_0?S0:h3,o6=0,R3=m,v3=-99999,y3=99999;;)if(e0=(R3|0)<1,y=e0?16:-1,w=y+R3|0,q=(c+(A3*144|0)|0)+(w<<2)|0,X=+s[q>>2],U=v3X,N=Z?X:y3,K=o6+1|0,H5=(K|0)==(u|0),H5){L=$0,G=N;break}else o6=K,R3=w,v3=$0,y3=N;if(Q5=b-G,q5=j5-L,E5=(c+(A3*144|0)|0)+(f3<<2)|0,s[E5>>2]=h3,J5=e[X5>>2]|0,n3=J5+1|0,m3=(J5|0)>15,Q=m3?0:n3,e[X5>>2]=Q,V5=(n+4|0)+(A3<<2)|0,k3=+s[V5>>2],u3=k3+Q3,p3=q5>u3,z3=O3|5,S3=p3?z3:O3,G3=(n+32|0)+(A3<<2)|0,z5=+s[G3>>2],w3=z5-Q3,W5=Q5>2]|0,C2=n+1288|0,X3=e[C2>>2]|0,M3=n+1284|0,E6=e[M3>>2]|0,E9=(E6|0)>0,E9){for(u8=0;j4=p4+(u8<<2)|0,e[j4>>2]=-200,Be=u8+1|0,pe=(Be|0)==(E6|0),!pe;)u8=Be;if(E9){for(J3=0;f4=c4+(J3<<2)|0,e[f4>>2]=-200,W=J3+1|0,l4=(W|0)==(E6|0),!l4;)J3=W;if(E9){for(r0=E6<<2,ae(M8|0,0,r0|0)|0,w9=0;k0=De+(w9<<2)|0,e[k0>>2]=1,N0=w9+1|0,Ue=(N0|0)==(E6|0),!Ue;)w9=N0;if(E9){if(l1=E6<<2,ae(Z8|0,-1,l1|0)|0,B1=(E6|0)>1,!B1)return ie=0,C=e4,ie|0;for(U1=X3+-1|0,W1=J+1112|0,t2=E6+-1|0,M=e[n>>2]|0,C4=M,B9=0,Qe=0;;){b4=B9+1|0,D4=n+(b4<<2)|0,L4=e[D4>>2]|0,T4=P6+(B9*56|0)|0,Me=T4,xt=Me+56|0;do e[Me>>2]=0,Me=Me+4|0;while((Me|0)<(xt|0));if(e[T4>>2]=C4,N4=(P6+(B9*56|0)|0)+4|0,e[N4>>2]=L4,U9=(L4|0)<(X3|0),tt=U9?L4:U1,G4=(tt|0)<(C4|0),G4)k8=0,X8=0,b8=0,D8=0,m8=0,Fe=0,it=0,H9=0,V8=0,x8=0,Ht=0,Yt=0;else for(k4=C4,f8=0,Pe=0,q4=0,j9=0,ye=0,A8=0,I3=0,D9=0,$8=0,p9=0,at=0,L8=0;;){a4=a+(k4<<2)|0,O=+s[a4>>2],R4=O*7.314285755157471,u4=R4+1023.5,Ce=~~u4,q9=(Ce|0)>1023,m9=(Ce|0)<0,E=m9?0:Ce,v=q9?1023:E,Ne=(v|0)==0;do if(Ne)q8=f8,i8=Pe,n8=q4,E8=j9,qe=ye,Q4=A8,B8=I3,Y8=D9,Y4=$8,Ve=p9,se=at,K8=L8;else if(Xe=A+(k4<<2)|0,U4=+s[Xe>>2],Ge=+s[W1>>2],P4=Ge+U4,X4=!(P4>=O),X4){le=k4+A8|0,W9=v+L8|0,ce=r5(k4,k4)|0,ge=ce+j9|0,B4=r5(v,v)|0,e0=B4+p9|0,q=r5(v,k4)|0,X=q+D9|0,U=Pe+1|0,q8=f8,i8=U,n8=q4,E8=ge,qe=ye,Q4=le,B8=I3,Y8=X,Y4=$8,Ve=e0,se=at,K8=W9;break}else{be=k4+ye|0,e8=v+at|0,Z9=r5(k4,k4)|0,$e=Z9+q4|0,_6=r5(v,v)|0,O4=_6+$8|0,R9=r5(v,k4)|0,$4=R9+I3|0,_4=f8+1|0,q8=_4,i8=Pe,n8=$e,E8=j9,qe=be,Q4=A8,B8=$4,Y8=D9,Y4=O4,Ve=p9,se=e8,K8=L8;break}while(!1);if($0=k4+1|0,Z=(k4|0)<(tt|0),Z)k4=$0,f8=q8,Pe=i8,q4=n8,j9=E8,ye=qe,A8=Q4,I3=B8,D9=Y8,$8=Y4,p9=Ve,at=se,L8=K8;else{k8=q8,X8=i8,b8=n8,D8=E8,m8=qe,Fe=Q4,it=B8,H9=Y8,V8=Y4,x8=Ve,Ht=se,Yt=K8;break}}if(K=(P6+(B9*56|0)|0)+8|0,e[K>>2]=m8,a0=(P6+(B9*56|0)|0)+12|0,e[a0>>2]=Ht,s0=(P6+(B9*56|0)|0)+16|0,e[s0>>2]=b8,i0=(P6+(B9*56|0)|0)+20|0,e[i0>>2]=V8,V=(P6+(B9*56|0)|0)+24|0,e[V>>2]=it,h0=(P6+(B9*56|0)|0)+28|0,e[h0>>2]=k8,o0=(P6+(B9*56|0)|0)+32|0,e[o0>>2]=Fe,c0=(P6+(B9*56|0)|0)+36|0,e[c0>>2]=Yt,j=(P6+(B9*56|0)|0)+40|0,e[j>>2]=D8,l0=(P6+(B9*56|0)|0)+44|0,e[l0>>2]=x8,u0=(P6+(B9*56|0)|0)+48|0,e[u0>>2]=H9,d0=(P6+(B9*56|0)|0)+52|0,e[d0>>2]=X8,w0=k8+Qe|0,g6=(b4|0)==(t2|0),g6){ut=w0;break}else C4=L4,B9=b4,Qe=w0}}else Ie=9}else Ie=9}else Ie=9}else Ie=9;if((Ie|0)==9){if(G0=(E6|0)==0,!G0)return ie=0,C=e4,ie|0;F2=P6+4|0,Me=P6,xt=Me+56|0;do e[Me>>2]=0,Me=Me+4|0;while((Me|0)<(xt|0));if(e[F2>>2]=X3,O2=(X3|0)<1,O2)P8=0,j8=0,H8=0,I8=0,o8=0,X9=0,C8=0,re=0,st=0,ot=0,Nt=0,Gt=0;else for(k2=J+1112|0,g4=0,v8=0,d8=0,r8=0,ue=0,fe=0,de=0,H4=0,ne=0,a8=0,Je=0,bt=0,l8=0;;){_5=a+(g4<<2)|0,G=+s[_5>>2],g2=G*7.314285755157471,L2=g2+1023.5,F5=~~L2,L3=(F5|0)>1023,M5=(F5|0)<0,u=M5?0:F5,B=L3?1023:u,O3=(B|0)==0;do if(O3)O8=v8,Le=d8,Re=r8,s8=ue,Oe=fe,we=de,He=H4,Ye=ne,_8=a8,At=Je,Dt=bt,_t=l8;else if(c6=A+(g4<<2)|0,Y3=+s[c6>>2],n6=+s[k2>>2],s9=n6+Y3,R6=!(s9>=G),R6){u9=g4+de|0,f9=B+l8|0,d9=r5(g4,g4)|0,a9=d9+ue|0,$9=r5(B,B)|0,T9=$9+Je|0,T6=r5(B,g4)|0,i9=T6+ne|0,N9=d8+1|0,O8=v8,Le=N9,Re=r8,s8=a9,Oe=fe,we=u9,He=H4,Ye=i9,_8=a8,At=T9,Dt=bt,_t=f9;break}else{U6=g4+fe|0,D6=B+bt|0,z6=r5(g4,g4)|0,y6=z6+r8|0,F6=r5(B,B)|0,M6=F6+a8|0,t9=r5(B,g4)|0,A9=t9+H4|0,X6=v8+1|0,O8=X6,Le=d8,Re=y6,s8=ue,Oe=U6,we=de,He=A9,Ye=ne,_8=M6,At=Je,Dt=D6,_t=l8;break}while(!1);if(I9=g4+1|0,C9=(I9|0)==(X3|0),C9){P8=O8,j8=Le,H8=Re,I8=s8,o8=Oe,X9=we,C8=He,re=Ye,st=_8,ot=At,Nt=Dt,Gt=_t;break}else g4=I9,v8=O8,d8=Le,r8=Re,ue=s8,fe=Oe,de=we,H4=He,ne=Ye,a8=_8,Je=At,bt=Dt,l8=_t}E4=P6+8|0,e[E4>>2]=o8,o4=P6+12|0,e[o4>>2]=Nt,h4=P6+16|0,e[h4>>2]=H8,G9=P6+20|0,e[G9>>2]=st,z9=P6+24|0,e[z9>>2]=C8,b9=P6+28|0,e[b9>>2]=P8,q6=P6+32|0,e[q6>>2]=X9,r9=P6+36|0,e[r9>>2]=Gt,m4=P6+40|0,e[m4>>2]=I8,S4=P6+44|0,e[S4>>2]=ot,A4=P6+48|0,e[A4>>2]=re,y9=P6+52|0,e[y9>>2]=j8,ut=P8}if(C0=(ut|0)==0,C0)return ie=0,C=e4,ie|0;e[nt>>2]=-200,e[J8>>2]=-200,f0=E6+-1|0,uB(P6,f0,nt,J8,J)|0,B0=e[nt>>2]|0,e[p4>>2]=B0,e[c4>>2]=B0,p0=e[J8>>2]|0,I0=c4+4|0,e[I0>>2]=p0,S0=p4+4|0,e[S0>>2]=p0,V0=(E6|0)>2;do if(V0){_0=J+1112|0,Q0=J+1096|0,R0=J+1100|0,M0=J+1104|0,M4=2;e:for(;;){U0=(n+520|0)+(M4<<2)|0,y0=e[U0>>2]|0,H0=M8+(y0<<2)|0,L0=e[H0>>2]|0,D0=De+(y0<<2)|0,T0=e[D0>>2]|0,J0=Z8+(L0<<2)|0,Y0=e[J0>>2]|0,P0=(Y0|0)==(T0|0);t:do if(!P0){if(K0=(n+520|0)+(L0<<2)|0,O0=e[K0>>2]|0,r1=(n+520|0)+(T0<<2)|0,q0=e[r1>>2]|0,e[J0>>2]=T0,e1=(J+836|0)+(L0<<2)|0,b0=e[e1>>2]|0,i1=(J+836|0)+(T0<<2)|0,c1=e[i1>>2]|0,$1=p4+(L0<<2)|0,u1=e[$1>>2]|0,g1=(u1|0)<0,s1=c4+(L0<<2)|0,a1=e[s1>>2]|0,g1?y=a1:(n1=(a1|0)<0,n1?y=u1:(o1=a1+u1|0,z0=o1>>1,y=z0)),I1=p4+(T0<<2)|0,h1=e[I1>>2]|0,m1=(h1|0)<0,d1=c4+(T0<<2)|0,E1=e[d1>>2]|0,m1?Q=E1:(p1=(E1|0)<0,p1?Q=h1:(Q1=E1+h1|0,x1=Q1>>1,Q=x1)),L1=(y|0)==-1,w1=(Q|0)==-1,vt=L1|w1,vt){Ie=38;break e}S1=Q-y|0,R1=c1-b0|0,xe=(S1|0)>-1,k9=0-S1|0,F1=xe?S1:k9,G1=(S1|0)/(R1|0)&-1,k1=S1>>31,Z1=k1|1,N1=a+(b0<<2)|0,Y=+s[N1>>2],D1=Y*7.314285755157471,V1=D1+1023.5,O1=~~V1,q1=(O1|0)>1023,H1=(O1|0)<0,I=H1?0:O1,b=q1?1023:I,Y1=r5(G1,R1)|0,lt=(Y1|0)>-1,ht=0-Y1|0,j1=lt?Y1:ht,r2=F1-j1|0,P1=y-b|0,c2=r5(P1,P1)|0,z1=A+(b0<<2)|0,u2=+s[z1>>2],s2=+s[_0>>2],E2=s2+u2,o2=!(E2>=Y),o2?Ie=42:(K1=+(y|0),h2=+s[Q0>>2],a2=h2+K1,$2=+(b|0),i2=a2<$2,i2||(A2=+s[R0>>2],X1=K1-A2,n2=X1>$2,n2||(Ie=42)));i:do if((Ie|0)==42){if(Ie=0,f2=b0+1|0,e2=(f2|0)<(c1|0),e2)for(d2=f2,ee=0,kt=c2,U8=1,ft=y;;){if(y2=ee+r2|0,v2=(y2|0)<(R1|0),w2=v2?0:Z1,D2=v2?0:R1,F4=y2-D2|0,F=ft+G1|0,rt=F+w2|0,N2=a+(d2<<2)|0,z=+s[N2>>2],K2=z*7.314285755157471,G2=K2+1023.5,H2=~~G2,M2=(H2|0)>1023,P2=(H2|0)<0,m=P2?0:H2,D=M2?1023:m,z2=rt-D|0,o5=r5(z2,z2)|0,T1=o5+kt|0,X2=U8+1|0,L5=A+(d2<<2)|0,e5=+s[L5>>2],b5=e5+s2,Z2=b5>=z,f5=(D|0)!=0,et=Z2&f5,et&&(v5=+(rt|0),P5=+s[Q0>>2],l5=P5+v5,m5=+(D|0),n5=l5>2],_2=v5-x2,B2=_2>m5,B2)))break i;if(C5=d2+1|0,R5=(C5|0)<(c1|0),R5)d2=C5,ee=F4,kt=T1,U8=X2,ft=rt;else{W8=T1,G8=X2;break}}else W8=c2,G8=1;if(d5=+s[Q0>>2],D5=d5*d5,G5=+(G8|0),q2=D5/G5,I5=+s[M0>>2],A5=q2>I5,!A5&&(c5=+s[R0>>2],B5=c5*c5,M1=B5/G5,S5=M1>I5,!S5&&(g5=(W8|0)/(G8|0)&-1,a5=+(g5|0),W2=a5>I5,W2)))break;l3=p4+(M4<<2)|0,e[l3>>2]=-200,c3=c4+(M4<<2)|0,e[c3>>2]=-200;break t}while(!1);if(e[T8>>2]=-200,e[N8>>2]=-200,e[_e>>2]=-200,e[t8>>2]=-200,p5=P6+(O0*56|0)|0,t5=y0-O0|0,s5=uB(p5,t5,T8,N8,J)|0,h5=P6+(y0*56|0)|0,J2=q0-y0|0,u5=uB(h5,J2,_e,t8,J)|0,i5=(s5|0)!=0,i5&&(e[T8>>2]=y,x5=e[_e>>2]|0,e[N8>>2]=x5),j2=(u5|0)==0,!j2&&($5=e[N8>>2]|0,e[_e>>2]=$5,e[t8>>2]=Q,i5)){Q5=p4+(M4<<2)|0,e[Q5>>2]=-200,q5=c4+(M4<<2)|0,e[q5>>2]=-200;break}if(j5=e[T8>>2]|0,e[s1>>2]=j5,E5=(L0|0)==0,E5&&(e[p4>>2]=j5),f3=e[N8>>2]|0,h3=p4+(M4<<2)|0,e[h3>>2]=f3,J5=e[_e>>2]|0,X5=c4+(M4<<2)|0,e[X5>>2]=J5,n3=e[t8>>2]|0,e[I1>>2]=n3,m3=(T0|0)==1,m3&&(e[I0>>2]=n3),V5=J5&f3,k3=(V5|0)>-1,k3){u3=(y0|0)>0;i:do if(u3)for(z8=y0;;){if(wt=z8+-1|0,z3=De+(wt<<2)|0,G3=e[z3>>2]|0,z5=(G3|0)==(T0|0),!z5)break i;if(e[z3>>2]=M4,w3=(z8|0)>1,w3)z8=wt;else break}while(!1);if(gt=y0+1|0,p3=(gt|0)<(E6|0),p3)for(F8=gt;;){if(W5=M8+(F8<<2)|0,i6=e[W5>>2]|0,U3=(i6|0)==(L0|0),!U3)break t;if(e[W5>>2]=M4,ct=F8+1|0,a3=(ct|0)<(E6|0),a3)F8=ct;else break}}}while(!1);if(C3=M4+1|0,H5=(C3|0)<(E6|0),H5)M4=C3;else{Ie=68;break}}if((Ie|0)==38)Fv(1);else if((Ie|0)==68){T=e[p4>>2]|0,N=e[c4>>2]|0,k5=T,o6=N;break}}else k5=B0,o6=B0;while(!1);if(U5=E6<<2,O5=qt(t,U5)|0,P3=(k5|0)<0,P3?w=o6:(e3=(o6|0)<0,e3?w=k5:(A3=o6+k5|0,R3=A3>>1,w=R3)),e[O5>>2]=w,u6=e[S0>>2]|0,Q3=(u6|0)<0,v3=e[I0>>2]|0,Q3?R=v3:(y3=(v3|0)<0,y3?R=u6:(r6=v3+u6|0,j3=r6>>1,R=j3)),K5=O5+4|0,e[K5>>2]=R,V0)te=2;else return ie=O5,C=e4,ie|0;for(;;)if(S3=te+-2|0,g3=(n+1032|0)+(S3<<2)|0,q3=e[g3>>2]|0,l6=(n+780|0)+(S3<<2)|0,d3=e[l6>>2]|0,k6=(J+836|0)+(q3<<2)|0,v6=e[k6>>2]|0,S6=(J+836|0)+(d3<<2)|0,B6=e[S6>>2]|0,p6=O5+(q3<<2)|0,x6=e[p6>>2]|0,Y6=O5+(d3<<2)|0,C6=e[Y6>>2]|0,b3=(J+836|0)+(te<<2)|0,e6=e[b3>>2]|0,t6=x6&32767,f6=C6&32767,H3=f6-t6|0,D3=B6-v6|0,$t=(H3|0)>-1,S8=0-H3|0,Z3=$t?H3:S8,b6=e6-v6|0,A6=r5(Z3,b6)|0,t3=(A6|0)/(D3|0)&-1,O6=(H3|0)<0,s3=0-t3|0,L=O6?s3:t3,_=L+t6|0,a6=p4+(te<<2)|0,d6=e[a6>>2]|0,_3=(d6|0)<0,N6=c4+(te<<2)|0,Q6=e[N6>>2]|0,_3?p=Q6:(L6=(Q6|0)<0,L6?p=d6:(K6=Q6+d6|0,I6=K6>>1,p=I6)),J6=(p|0)<0,F3=(_|0)==(p|0),St=J6|F3,j6=_|32768,c=St?j6:p,G6=O5+(te<<2)|0,e[G6>>2]=c,e9=te+1|0,he=(e9|0)==(E6|0),he){ie=O5;break}else te=e9;return C=e4,ie|0}function R8(t,n,A,a,c){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0;var u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0;if(a0=C,u=n+1284|0,E=e[u>>2]|0,_=(A|0)!=0,z=(a|0)!=0,$0=_&z,!$0)return Z=0,Z|0;if(Y=E<<2,t0=qt(t,Y)|0,J=(E|0)>0,!J)return Z=t0,Z|0;for(W=65536-c|0,U=0;;)if(e0=A+(U<<2)|0,q=e[e0>>2]|0,I=q&32767,m=r5(I,W)|0,p=a+(U<<2)|0,B=e[p>>2]|0,v=B&32767,b=r5(v,c)|0,w=m+32768|0,y=w+b|0,D=y>>16,Q=t0+(U<<2)|0,e[Q>>2]=D,R=e[e0>>2]|0,L=R&32768,F=(L|0)==0,F||(M=e[p>>2]|0,T=M&32768,N=(T|0)==0,N||(G=D|32768,e[Q>>2]=G)),O=U+1|0,X=(O|0)==(E|0),X){Z=t0;break}else U=O;return Z|0}function uS(t,n,A,a,c){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0;var u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,L1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,k3=0,u3=0,p3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,X3=0,c6=0,p6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,L6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0;if(M6=C,C=C+336|0,R6=M6+64|0,g3=M6+32|0,F3=M6,D=A+1296|0,Q=e[D>>2]|0,h2=A+1284|0,x2=e[h2>>2]|0,A5=n+64|0,s5=e[A5>>2]|0,j5=s5+4|0,u3=e[j5>>2]|0,l3=u3+28|0,A3=e[l3>>2]|0,_=A3+2848|0,t0=e[_>>2]|0,s0=(a|0)==0,s0)return U2(t,0,1),L5=n+36|0,e5=e[L5>>2]|0,b5=(e5|0)/2&-1,Z2=b5<<2,ae(c|0,0,Z2|0)|0,E=0,C=M6,E|0;if(w0=(x2|0)>0,w0)for(R0=Q+832|0,f6=0;P0=a+(f6<<2)|0,u1=e[P0>>2]|0,d1=u1&32767,G1=e[R0>>2]|0,(G1|0)==4?(z2=d1>>>4,U6=z2):(G1|0)==1?(j1=d1>>>2,U6=j1):(G1|0)==2?(a2=d1>>>3,U6=a2):(G1|0)==3?(w2=(d1>>>0)/12&-1,U6=w2):U6=d1,f5=u1&32768,v5=f5|U6,e[P0>>2]=v5,P5=f6+1|0,C6=(P5|0)==(x2|0),!C6;)f6=P5;if(l5=e[a>>2]|0,e[R6>>2]=l5,k2=a+4|0,m5=e[k2>>2]|0,n5=R6+4|0,e[n5>>2]=m5,_2=(x2|0)>2,B2=A+1292|0,_2){for(H3=2;;){if(C5=H3+-2|0,R5=(A+1032|0)+(C5<<2)|0,d5=e[R5>>2]|0,D5=(A+780|0)+(C5<<2)|0,G5=e[D5>>2]|0,_5=(Q+836|0)+(d5<<2)|0,q2=e[_5>>2]|0,I5=(Q+836|0)+(G5<<2)|0,c5=e[I5>>2]|0,B5=a+(d5<<2)|0,M1=e[B5>>2]|0,S5=a+(G5<<2)|0,g5=e[S5>>2]|0,a5=(Q+836|0)+(H3<<2)|0,W2=e[a5>>2]|0,g2=M1&32767,p5=g5&32767,t5=p5-g2|0,h5=c5-q2|0,Y3=(t5|0)>-1,j6=0-t5|0,J2=Y3?t5:j6,u5=W2-q2|0,i5=r5(J2,u5)|0,x5=(i5|0)/(h5|0)&-1,j2=(t5|0)<0,$5=0-x5|0,m=j2?$5:x5,I=m+g2|0,L2=a+(H3<<2)|0,Q5=e[L2>>2]|0,q5=Q5&32768,E5=(q5|0)!=0,f3=(Q5|0)==(I|0),s9=E5|f3,s9)h3=I|32768,e[L2>>2]=h3,J5=R6+(H3<<2)|0,e[J5>>2]=0;else{X5=e[B2>>2]|0,n3=X5-I|0,m3=(n3|0)<(I|0),u=m3?n3:I,F5=Q5-I|0,V5=(F5|0)<0;do if(V5)if(k3=0-u|0,p3=(F5|0)<(k3|0),p3){z3=F5^-1,G3=u+z3|0,D6=G3;break}else{z5=F5<<1,w3=z5^-1,D6=w3;break}else if(W5=(u|0)>(F5|0),W5){L3=F5<<1,D6=L3;break}else{i6=u+F5|0,D6=i6;break}while(!1);U3=R6+(H3<<2)|0,e[U3>>2]=D6,e[B5>>2]=g2,a3=e[S5>>2]|0,c3=a3&32767,e[S5>>2]=c3}if(C3=H3+1|0,Y6=(C3|0)==(x2|0),Y6)break;H3=C3}v=e[R6>>2]|0,b=e[n5>>2]|0,r6=v,S3=b}else r6=l5,S3=m5;if(U2(t,1,1),H5=A+1308|0,U5=e[H5>>2]|0,O5=U5+1|0,e[H5>>2]=O5,k5=e[B2>>2]|0,P3=k5+-1|0,M5=Tt(P3)|0,o6=M5<<1,e3=A+1304|0,R3=e[e3>>2]|0,u6=R3+o6|0,e[e3>>2]=u6,Q3=e[B2>>2]|0,v3=Q3+-1|0,y3=Tt(v3)|0,U2(t,r6,y3),j3=e[B2>>2]|0,O3=j3+-1|0,K5=Tt(O3)|0,U2(t,S3,K5),R=e[Q>>2]|0,L=(R|0)>0,L)for(F=A+1300|0,D3=0,A6=2;;){if(M=(Q+4|0)+(D3<<2)|0,T=e[M>>2]|0,N=(Q+128|0)+(T<<2)|0,G=e[N>>2]|0,O=(Q+192|0)+(T<<2)|0,z=e[O>>2]|0,Y=1<>2]=0,e[g3+4>>2]=0,e[g3+8>>2]=0,e[g3+12>>2]=0,e[g3+16>>2]=0,e[g3+20>>2]=0,e[g3+24>>2]=0,e[g3+28>>2]=0,J=(z|0)==0,!J){if(e[F3>>2]=0,e[F3+4>>2]=0,e[F3+8>>2]=0,e[F3+12>>2]=0,e[F3+16>>2]=0,e[F3+20>>2]=0,e[F3+24>>2]=0,e[F3+28>>2]=0,W=(z|0)==31,!W)for(s3=0;l0=((Q+320|0)+(T<<5)|0)+(s3<<2)|0,u0=e[l0>>2]|0,d0=(u0|0)<0,d0?y=1:(C0=(A3+1824|0)+(u0<<2)|0,k0=e[C0>>2]|0,f0=k0+4|0,B0=e[f0>>2]|0,y=B0),p0=F3+(s3<<2)|0,e[p0>>2]=y,I0=s3+1|0,S0=(I0|0)<(Y|0),S0;)s3=I0;e0=(G|0)>0;e:do if(e0){if(W)for(q3=0,k6=0,a6=0;;)if(V0=g3+(a6<<2)|0,_0=e[V0>>2]|0,Q0=_0<>2]|0,N6=0;;){if(q=F3+(N6<<2)|0,X=e[q>>2]|0,$0=(U|0)<(X|0),$0){n6=N6,M3=31;break}if(Z=N6+1|0,K=(Z|0)<(Y|0),K)N6=Z;else{M3=33;break}}if((M3|0)==31?(M3=0,a0=g3+(d6<<2)|0,e[a0>>2]=n6,r0=n6):(M3|0)==33&&(M3=0,p=g3+(d6<<2)|0,w=e[p>>2]|0,r0=w),i0=r0<>2]|0,L0=t0+(H0*56|0)|0,D0=Fh(L0,d3,t)|0,T0=e[F>>2]|0,J0=T0+D0|0,e[F>>2]=J0}if(Y0=(G|0)>0,Y0)for(_3=0;K0=g3+(_3<<2)|0,G0=e[K0>>2]|0,O0=((Q+320|0)+(T<<5)|0)+(G0<<2)|0,r1=e[O0>>2]|0,q0=(r1|0)>-1,q0&&(e1=_3+A6|0,b0=R6+(e1<<2)|0,i1=e[b0>>2]|0,c1=(t0+(r1*56|0)|0)+4|0,$1=e[c1>>2]|0,g1=(i1|0)<($1|0),g1&&(l1=t0+(r1*56|0)|0,s1=Fh(l1,i1,t)|0,a1=e[e3>>2]|0,n1=a1+s1|0,e[e3>>2]=n1)),o1=_3+1|0,p6=(o1|0)==(G|0),!p6;)_3=o1;if(z0=G+A6|0,I1=D3+1|0,h1=e[Q>>2]|0,m1=(I1|0)<(h1|0),m1)D3=I1,A6=z0;else break}if(E1=e[a>>2]|0,B1=Q+832|0,p1=e[B1>>2]|0,Q1=r5(p1,E1)|0,x1=n+28|0,L1=e[x1>>2]|0,w1=A3+(L1<<2)|0,S1=e[w1>>2]|0,R1=(S1|0)/2&-1,F1=e[h2>>2]|0,k1=(F1|0)>1,k1)for(e6=0,t3=1,Q6=0,I6=Q1;;){if(V1=(A+260|0)+(t3<<2)|0,O1=e[V1>>2]|0,q1=a+(O1<<2)|0,H1=e[q1>>2]|0,Y1=H1&32767,r2=(Y1|0)==(H1|0),r2)if(W1=e[B1>>2]|0,P1=r5(W1,H1)|0,c2=(Q+836|0)+(O1<<2)|0,z1=e[c2>>2]|0,u2=P1-I6|0,s2=z1-Q6|0,Z3=(u2|0)>-1,G6=0-u2|0,E2=Z3?u2:G6,o2=(u2|0)/(s2|0)&-1,K1=u2>>31,t2=K1|1,$2=r5(o2,s2)|0,b6=($2|0)>-1,e9=0-$2|0,i2=b6?$2:e9,A2=E2-i2|0,X1=(R1|0)>(z1|0),z6=X1?z1:R1,n2=(z6|0)>(Q6|0),n2&&(f2=c+(Q6<<2)|0,e[f2>>2]=I6),e2=Q6+1|0,y2=(e2|0)<(z6|0),y2)for(d2=e2,S6=0,y6=I6;;)if(v2=S6+A2|0,C2=(v2|0)<(s2|0),F2=C2?0:t2,D2=C2?0:s2,B6=v2-D2|0,B=y6+o2|0,F6=B+F2|0,N2=c+(d2<<2)|0,e[N2>>2]=F6,K2=d2+1|0,c6=(K2|0)==(z6|0),c6){t6=z1,L6=z1,J6=P1;break}else d2=K2,S6=B6,y6=F6;else t6=z1,L6=z1,J6=P1;else t6=e6,L6=Q6,J6=I6;if(G2=t3+1|0,H2=e[h2>>2]|0,M2=(G2|0)<(H2|0),M2)e6=t6,t3=G2,Q6=L6,I6=J6;else{b3=t6,K6=J6;break}}else b3=0,K6=Q1;if(U1=n+36|0,Z1=e[U1>>2]|0,N1=(Z1|0)/2&-1,D1=(b3|0)<(N1|0),D1)O6=b3;else return E=1,C=M6,E|0;for(;;)if(P2=c+(O6<<2)|0,e[P2>>2]=K6,o5=O6+1|0,O2=e[U1>>2]|0,T1=(O2|0)/2&-1,X2=(o5|0)<(T1|0),X2)O6=o5;else{E=1;break}return C=M6,E|0}function uB(t,n,A,a,c){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0;var u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,L1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0;if(o5=C,p=e[t>>2]|0,B=n+-1|0,i0=(t+(B*56|0)|0)+4|0,C0=e[i0>>2]|0,M0=(n|0)>0,M0)for(K0=c+1108|0,g1=+s[K0>>2],t2=0,X1=0,f2=0,w2=0,N2=0,H2=0;;)if(E1=(t+(X1*56|0)|0)+52|0,k1=e[E1>>2]|0,r2=(t+(X1*56|0)|0)+28|0,v=e[r2>>2]|0,T=v+k1|0,q=+(T|0),X=q*g1,U=v+1|0,$0=+(U|0),Z=X/$0,K=Z,a0=K+1,s0=(t+(X1*56|0)|0)+32|0,r0=e[s0>>2]|0,V=+(r0|0),h0=(t+(X1*56|0)|0)+8|0,o0=e[h0>>2]|0,c0=+(o0|0),j=c0*a0,l0=V+w2,u0=l0+j,d0=(t+(X1*56|0)|0)+36|0,w0=e[d0>>2]|0,k0=+(w0|0),f0=(t+(X1*56|0)|0)+12|0,B0=e[f0>>2]|0,p0=+(B0|0),I0=p0*a0,S0=k0+H2,V0=S0+I0,_0=(t+(X1*56|0)|0)+40|0,Q0=e[_0>>2]|0,R0=+(Q0|0),N0=(t+(X1*56|0)|0)+16|0,U0=e[N0>>2]|0,y0=+(U0|0),H0=y0*a0,L0=R0+f2,D0=L0+H0,T0=(t+(X1*56|0)|0)+48|0,J0=e[T0>>2]|0,Y0=+(J0|0),P0=(t+(X1*56|0)|0)+24|0,G0=e[P0>>2]|0,O0=+(G0|0),r1=O0*a0,q0=Y0+N2,e1=q0+r1,b0=+(k1|0),i1=+(v|0),c1=a0*i1,$1=b0+t2,u1=$1+c1,l1=X1+1|0,A2=(l1|0)==(n|0),A2){a2=u1,n2=D0,v2=u0,D2=e1,G2=V0;break}else t2=u1,X1=l1,f2=D0,w2=u0,N2=e1,H2=V0;else a2=0,n2=0,v2=0,D2=0,G2=0;return s1=e[A>>2]|0,a1=(s1|0)>-1,a1?(n1=+(p|0),o1=v2+n1,z0=+(s1|0),I1=z0+G2,h1=r5(p,p)|0,m1=+(h1|0),d1=n2+m1,B1=r5(s1,p)|0,p1=+(B1|0),Q1=p1+D2,x1=a2+1,$2=x1,e2=d1,C2=o1,d2=Q1,M2=I1):($2=a2,e2=n2,C2=v2,d2=D2,M2=G2),L1=e[a>>2]|0,w1=(L1|0)>-1,w1?(S1=+(C0|0),R1=C2+S1,F1=+(L1|0),G1=F1+M2,U1=r5(C0,C0)|0,Z1=+(U1|0),N1=e2+Z1,D1=r5(L1,C0)|0,V1=+(D1|0),O1=V1+d2,q1=$2+1,i2=q1,y2=N1,F2=R1,K2=O1,P2=G1):(i2=$2,y2=e2,F2=C2,K2=d2,P2=M2),H1=y2*i2,Y1=F2*F2,j1=H1-Y1,W1=j1>0,W1?(P1=P2*y2,c2=F2*K2,z1=P1-c2,u2=z1/j1,s2=K2*i2,E2=F2*P2,o2=s2-E2,K1=o2/j1,h2=+(p|0),b=K1*h2,w=b+u2,y=+Oi(w),D=~~y,e[A>>2]=D,Q=+(C0|0),_=K1*Q,R=_+u2,L=+Oi(R),F=~~L,e[a>>2]=F,M=e[A>>2]|0,N=(M|0)>1023,N?(e[A>>2]=1023,E=e[a>>2]|0,G=E,W=1023):(G=F,W=M),O=(G|0)>1023,O?(e[a>>2]=1023,I=e[A>>2]|0,z=I,e0=1023):(z=W,e0=G),Y=(z|0)<0,Y?(e[A>>2]=0,m=e[a>>2]|0,t0=m):t0=e0,J=(t0|0)<0,J?(e[a>>2]=0,u=0,u|0):(u=0,u|0)):(e[A>>2]=0,e[a>>2]=0,u=1,u|0)}function fS(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0;if(b0=C,E=t+836|0,I=t+840|0,R=e[I>>2]|0,J=e[t>>2]|0,U2(n,J,5),i0=e[t>>2]|0,C0=(i0|0)>0,C0){for(M0=t+4|0,J0=0,q0=-1;;)if(B=M0+(J0<<2)|0,v=e[B>>2]|0,U2(n,v,4),b=e[B>>2]|0,w=(q0|0)<(b|0),A=w?b:q0,y=J0+1|0,D=e[t>>2]|0,Q=(y|0)<(D|0),Q)J0=y,q0=A;else{a=A;break}if(U0=(a|0)>-1,U0)for(y0=t+128|0,H0=t+192|0,m=t+256|0,p=t+320|0,Y0=0;;){if(_=y0+(Y0<<2)|0,L=e[_>>2]|0,F=L+-1|0,U2(n,F,3),M=H0+(Y0<<2)|0,T=e[M>>2]|0,U2(n,T,2),N=e[M>>2]|0,G=(N|0)==0,G?(K0=0,e1=8):(O=m+(Y0<<2)|0,z=e[O>>2]|0,U2(n,z,8),c=e[M>>2]|0,Y=(c|0)==31,Y||(K0=0,e1=8)),(e1|0)==8)for(;e1=0,t0=(p+(Y0<<5)|0)+(K0<<2)|0,W=e[t0>>2]|0,e0=W+1|0,U2(n,e0,8),q=K0+1|0,X=e[M>>2]|0,U=1<>2]|0,s0=a0+-1|0,U2(n,s0,2),r0=R+-1|0,V=Tt(r0)|0,U2(n,V,4),h0=Tt(r0)|0,o0=e[t>>2]|0,c0=(o0|0)>0,!!c0)for(j=t+4|0,l0=t+128|0,N0=o0,L0=0,P0=0,G0=0;;){if(u0=j+(P0<<2)|0,d0=e[u0>>2]|0,w0=l0+(d0<<2)|0,k0=e[w0>>2]|0,f0=k0+L0|0,B0=(G0|0)<(f0|0),B0){for(r1=G0;p0=r1+2|0,I0=E+(p0<<2)|0,S0=e[I0>>2]|0,U2(n,S0,h0),V0=r1+1|0,D0=(V0|0)==(f0|0),!D0;)r1=V0;u=e[t>>2]|0,R0=u,O0=f0}else R0=N0,O0=G0;if(_0=P0+1|0,Q0=(_0|0)<(R0|0),Q0)N0=R0,L0=f0,P0=_0,G0=O0;else break}}function dS(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,L1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0;z1=C,C=C+272|0,P1=z1,D=t+28|0,Q=e[D>>2]|0,Y=n4(1,1120)|0,a0=W4(n,5)|0,e[Y>>2]=a0,d0=(a0|0)>0;e:do if(d0){for(Q0=Y+4|0,Z1=0,r2=-1;;){if(L=W4(n,4)|0,F=Q0+(Z1<<2)|0,e[F>>2]=L,M=(L|0)<0,M)break e;if(T=(r2|0)<(L|0),c=T?L:r2,N=Z1+1|0,G=e[Y>>2]|0,O=(N|0)<(G|0),O)Z1=N,r2=c;else{u=c;break}}if(Y0=(u|0)>-1,Y0)for($1=Y+128|0,m1=Y+192|0,F1=Y+256|0,_=Q+24|0,R=Y+320|0,N1=0;;){if(z=W4(n,3)|0,t0=z+1|0,J=$1+(N1<<2)|0,e[J>>2]=t0,W=W4(n,2)|0,e0=m1+(N1<<2)|0,e[e0>>2]=W,q=(W|0)<0,q||(X=(W|0)==0,X?(E=F1+(N1<<2)|0,I=e[E>>2]|0,Z=I):(U=W4(n,8)|0,$0=F1+(N1<<2)|0,e[$0>>2]=U,Z=U),K=(Z|0)<0,K)||(s0=e[_>>2]|0,i0=(Z|0)<(s0|0),!i0))break e;if(r0=e[e0>>2]|0,V=(r0|0)==31,!V)for(q1=0;;){if(l0=W4(n,8)|0,u0=l0+-1|0,w0=(R+(N1<<5)|0)+(q1<<2)|0,e[w0>>2]=u0,C0=(l0|0)<0,C0||(k0=e[_>>2]|0,f0=(l0|0)>(k0|0),c0=q1+1|0,f0))break e;if(h0=e[e0>>2]|0,o0=1<>2]=S0,_0=W4(n,4)|0,R0=(_0|0)<0,!R0)){if(M0=e[Y>>2]|0,N0=(M0|0)>0,N0)for(U0=Y+4|0,y0=Y+128|0,H0=Y+836|0,L0=1<<_0,G1=M0,U1=0,D1=0,H1=0;;){if(D0=U0+(D1<<2)|0,T0=e[D0>>2]|0,J0=y0+(T0<<2)|0,P0=e[J0>>2]|0,K0=P0+U1|0,G0=(K0|0)>63,G0)break e;if(O0=(H1|0)<(K0|0),O0){for(j1=H1;;){if(r1=W4(n,_0)|0,q0=j1+2|0,e1=H0+(q0<<2)|0,e[e1>>2]=r1,b0=(r1|0)>-1,i1=(r1|0)<(L0|0),W1=b0&i1,!W1)break e;if(c1=j1+1|0,u1=(c1|0)<(K0|0),u1)j1=c1;else{a=c1;break}}B=e[Y>>2]|0,s1=B,Y1=a}else s1=G1,Y1=H1;if(g1=D1+1|0,l1=(g1|0)<(s1|0),l1)G1=s1,U1=K0,D1=g1,H1=Y1;else{m=H0,p=L0,k1=K0;break}}else w=Y+836|0,y=1<<_0,m=w,p=y,k1=0;if(e[m>>2]=0,a1=Y+840|0,e[a1>>2]=p,n1=k1+2|0,o1=(k1|0)>-2,o1)for(V1=0;z0=m+(V1<<2)|0,I1=P1+(V1<<2)|0,e[I1>>2]=z0,h1=V1+1|0,d1=(h1|0)<(n1|0),d1;)V1=h1;Th(P1,n1,4,8),E1=(n1|0)>1;t:do if(E1){for(v=e[P1>>2]|0,b=e[v>>2]|0,w1=b,O1=1;Q1=P1+(O1<<2)|0,x1=e[Q1>>2]|0,L1=e[x1>>2]|0,S1=(w1|0)==(L1|0),B1=O1+1|0,!S1;)if(p1=(B1|0)<(n1|0),p1)w1=L1,O1=B1;else break t;if(R1=(Y|0)==0,R1)A=0;else break e;return C=z1,A|0}while(!1);return A=Y,C=z1,A|0}while(!1);return I2(Y),A=0,C=z1,A|0}function IS(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,L1=0,w1=0,S1=0,R1=0;if(R1=C,C=C+272|0,w1=R1,a=n4(1,1312)|0,c=a+1296|0,e[c>>2]=n,D=n+836|0,z=n+840|0,K=e[z>>2]|0,u0=a+1288|0,e[u0>>2]=K,_0=e[n>>2]|0,J0=(_0|0)>0,J0){for(q0=n+4|0,u=n+128|0,g1=0,Q1=0;;)if(E=q0+(g1<<2)|0,I=e[E>>2]|0,m=u+(I<<2)|0,p=e[m>>2]|0,B=p+Q1|0,v=g1+1|0,b=(v|0)<(_0|0),b)g1=v,Q1=B;else{A=B;break}w=A+2|0,y=a+1284|0,e[y>>2]=w,Q=(A|0)>-2,Q?(M=w,p1=A,S1=7):(Th(w1,w,4,8),B1=A)}else r1=a+1284|0,e[r1>>2]=2,M=2,p1=0,S1=7;if((S1|0)==7){for(l1=0;_=D+(l1<<2)|0,R=w1+(l1<<2)|0,e[R>>2]=_,L=l1+1|0,F=(L|0)<(M|0),F;)l1=L;for(Th(w1,M,4,8),T=D,N=a+260|0,s1=0;Y=w1+(s1<<2)|0,t0=e[Y>>2]|0,J=t0,W=J-T|0,e0=W>>2,q=N+(s1<<2)|0,e[q>>2]=e0,X=s1+1|0,U=(X|0)<(M|0),U;)s1=X;for(G=a+260|0,O=a+520|0,a1=0;Z=G+(a1<<2)|0,a0=e[Z>>2]|0,s0=O+(a0<<2)|0,e[s0>>2]=a1,i0=a1+1|0,r0=(i0|0)<(M|0),r0;)a1=i0;for($0=a+260|0,n1=0;;)if(V=$0+(n1<<2)|0,h0=e[V>>2]|0,o0=D+(h0<<2)|0,c0=e[o0>>2]|0,j=a+(n1<<2)|0,e[j>>2]=c0,l0=n1+1|0,d0=(l0|0)<(M|0),d0)n1=l0;else{B1=p1;break}}if(w0=n+832|0,C0=e[w0>>2]|0,(C0|0)==4?(p0=a+1292|0,e[p0>>2]=64):(C0|0)==2?(f0=a+1292|0,e[f0>>2]=128):(C0|0)==1?(k0=a+1292|0,e[k0>>2]=256):(C0|0)==3&&(B0=a+1292|0,e[B0>>2]=86),I0=(B1|0)>0,!I0)return C=R1,a|0;for(S0=a+1032|0,V0=a+780|0,o1=0;;){for(Q0=o1+2|0,R0=D+(Q0<<2)|0,M0=e[R0>>2]|0,N0=e[u0>>2]|0,b0=1,$1=N0,z0=0,I1=0,d1=0;;)if(U0=D+(z0<<2)|0,y0=e[U0>>2]|0,H0=(y0|0)>(d1|0),L0=(y0|0)<(M0|0),x1=H0&L0,h1=x1?z0:I1,E1=x1?y0:d1,D0=(y0|0)<($1|0),T0=(y0|0)>(M0|0),L1=D0&T0,i1=L1?z0:b0,u1=L1?y0:$1,Y0=z0+1|0,P0=(Y0|0)<(Q0|0),P0)b0=i1,$1=u1,z0=Y0,I1=h1,d1=E1;else{c1=i1,m1=h1;break}if(K0=S0+(o1<<2)|0,e[K0>>2]=m1,G0=V0+(o1<<2)|0,e[G0>>2]=c1,O0=o1+1|0,e1=(O0|0)==(B1|0),e1)break;o1=O0}return C=R1,a|0}function ES(t){t=t|0;var n=0,A=0,a=0;a=C,n=(t|0)==0,n||I2(t)}function mS(t){t=t|0;var n=0,A=0,a=0;a=C,n=(t|0)==0,n||I2(t)}function CS(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,L1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0;if(w2=C,u=n+1296|0,E=e[u>>2]|0,r0=t+64|0,k0=e[r0>>2]|0,N0=k0+4|0,G0=e[N0>>2]|0,l1=G0+28|0,B1=e[l1>>2]|0,U1=B1+2848|0,W1=e[U1>>2]|0,I=t+4|0,R=W4(I,1)|0,J=(R|0)==1,!J)return A=0,A|0;U=n+1284|0,$0=e[U>>2]|0,Z=$0<<2,K=qt(t,Z)|0,a0=n+1292|0,s0=e[a0>>2]|0,i0=s0+-1|0,V=Tt(i0)|0,h0=W4(I,V)|0,e[K>>2]=h0,o0=e[a0>>2]|0,c0=o0+-1|0,j=Tt(c0)|0,l0=W4(I,j)|0,u0=K+4|0,e[u0>>2]=l0,d0=e[E>>2]|0,w0=(d0|0)>0;e:do if(w0){i2=0,n2=2;t:for(;;){if(I0=(E+4|0)+(i2<<2)|0,S0=e[I0>>2]|0,V0=(E+128|0)+(S0<<2)|0,_0=e[V0>>2]|0,Q0=(E+192|0)+(S0<<2)|0,R0=e[Q0>>2]|0,M0=1<>2]|0,L0=W1+(H0*56|0)|0,D0=jm(L0,I)|0,T0=(D0|0)==-1,T0){A=0,v2=25;break}else t2=D0;if(J0=(_0|0)>0,J0)for(Y0=M0+-1|0,$2=t2,f2=0;;){if(P0=$2&Y0,K0=((E+320|0)+(S0<<5)|0)+(P0<<2)|0,O0=e[K0>>2]|0,r1=$2>>R0,q0=(O0|0)>-1,q0){if(e1=W1+(O0*56|0)|0,b0=jm(e1,I)|0,i1=f2+n2|0,c1=K+(i1<<2)|0,e[c1>>2]=b0,$1=(b0|0)==-1,$1){A=0,v2=25;break t}}else u1=f2+n2|0,g1=K+(u1<<2)|0,e[g1>>2]=0;if(s1=f2+1|0,a1=(s1|0)<(_0|0),a1)$2=r1,f2=s1;else break}if(n1=_0+n2|0,o1=i2+1|0,z0=e[E>>2]|0,I1=(o1|0)<(z0|0),I1)i2=o1,n2=n1;else break e}if((v2|0)==25)return A|0}while(!1);if(C0=e[U>>2]|0,f0=(C0|0)>2,!f0)return A=K,A|0;for(B0=n+1032|0,p0=n+780|0,A2=2;;){if(h1=A2+-2|0,m1=B0+(h1<<2)|0,d1=e[m1>>2]|0,E1=(E+836|0)+(d1<<2)|0,p1=e[E1>>2]|0,Q1=p0+(h1<<2)|0,x1=e[Q1>>2]|0,L1=(E+836|0)+(x1<<2)|0,w1=e[L1>>2]|0,S1=K+(d1<<2)|0,R1=e[S1>>2]|0,F1=K+(x1<<2)|0,G1=e[F1>>2]|0,k1=(E+836|0)+(A2<<2)|0,Z1=e[k1>>2]|0,N1=R1&32767,D1=G1&32767,V1=D1-N1|0,O1=w1-p1|0,X1=(V1|0)>-1,e2=0-V1|0,q1=X1?V1:e2,H1=Z1-p1|0,Y1=r5(q1,H1)|0,j1=(Y1|0)/(O1|0)&-1,r2=(V1|0)<0,P1=0-j1|0,c=r2?P1:j1,a=c+N1|0,c2=e[a0>>2]|0,z1=c2-a|0,u2=K+(A2<<2)|0,s2=e[u2>>2]|0,E2=(s2|0)==0,E2)W=a|32768,e[u2>>2]=W;else{o2=(z1|0)<(a|0),K1=o2?z1:a,h2=K1<<1,a2=(s2|0)<(h2|0);do if(a2)if(b=s2&1,w=(b|0)==0,w){_=s2>>1,y2=_;break}else{y=s2+1|0,D=y>>1,Q=0-D|0,y2=Q;break}else if(m=(z1|0)>(a|0),m){p=s2-a|0,y2=p;break}else{B=s2-z1|0,v=B^-1,y2=v;break}while(!1);L=y2+a|0,F=L&32767,e[u2>>2]=F,M=e[m1>>2]|0,T=K+(M<<2)|0,N=e[T>>2]|0,G=N&32767,e[T>>2]=G,O=e[Q1>>2]|0,z=K+(O<<2)|0,Y=e[z>>2]|0,t0=Y&32767,e[z>>2]=t0}if(e0=A2+1|0,q=e[U>>2]|0,X=(e0|0)<(q|0),X)A2=e0;else{A=K;break}}return A|0}function BS(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,L1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0;if(k1=C,E=n+1296|0,I=e[E>>2]|0,R=t+64|0,J=e[R>>2]|0,i0=J+4|0,C0=e[i0>>2]|0,M0=C0+28|0,K0=e[M0>>2]|0,$1=t+28|0,u1=e[$1>>2]|0,m=K0+(u1<<2)|0,p=e[m>>2]|0,B=(p|0)/2&-1,v=(A|0)==0,v)return c1=B<<2,ae(a|0,0,c1|0)|0,c=0,c|0;if(b=e[A>>2]|0,w=I+832|0,y=e[w>>2]|0,D=r5(y,b)|0,Q=(D|0)<0,_=(D|0)>255,L=_?255:D,F=Q?0:L,M=n+1284|0,T=e[M>>2]|0,N=(T|0)>1,N)for(G=n+260|0,o1=0,m1=1,E1=0,Q1=F;;){if(t0=G+(m1<<2)|0,W=e[t0>>2]|0,e0=A+(W<<2)|0,q=e[e0>>2]|0,X=q&32767,U=(X|0)==(q|0),U)if($0=(I+836|0)+(W<<2)|0,Z=e[$0>>2]|0,K=r5(y,q)|0,a0=(K|0)<0,s0=(K|0)>255,r0=s0?255:K,V=a0?0:r0,h0=V-Q1|0,o0=Z-E1|0,I1=(h0|0)>-1,L1=0-h0|0,c0=I1?h0:L1,j=(h0|0)/(o0|0)&-1,l0=h0>>31,u0=l0|1,d0=r5(j,o0)|0,h1=(d0|0)>-1,w1=0-d0|0,w0=h1?d0:w1,k0=c0-w0|0,f0=(B|0)>(Z|0),S1=f0?Z:B,B0=(S1|0)>(E1|0),B0&&(p0=1768+(Q1<<2)|0,I0=+s[p0>>2],S0=a+(E1<<2)|0,V0=+s[S0>>2],_0=V0*I0,s[S0>>2]=_0),Q0=E1+1|0,R0=(Q0|0)<(S1|0),R0)for(J0=Q0,g1=0,R1=Q1;;)if(N0=g1+k0|0,U0=(N0|0)<(o0|0),y0=U0?0:u0,H0=U0?0:o0,l1=N0-H0|0,u=R1+j|0,F1=u+y0|0,L0=1768+(F1<<2)|0,D0=+s[L0>>2],T0=a+(J0<<2)|0,Y0=+s[T0>>2],P0=Y0*D0,s[T0>>2]=P0,G0=J0+1|0,a1=(G0|0)==(S1|0),a1){z0=Z,B1=Z,x1=V;break}else J0=G0,g1=l1,R1=F1;else z0=Z,B1=Z,x1=V;else z0=o1,B1=E1,x1=Q1;if(O0=m1+1|0,r1=(O0|0)<(T|0),r1)o1=z0,m1=O0,E1=B1,Q1=x1;else{n1=z0,p1=x1;break}}else n1=0,p1=F;if(O=(n1|0)<(B|0),!O)return c=1,c|0;for(z=1768+(p1<<2)|0,Y=+s[z>>2],d1=n1;;)if(q0=a+(d1<<2)|0,e1=+s[q0>>2],b0=e1*Y,s[q0>>2]=b0,i1=d1+1|0,s1=(i1|0)==(B|0),s1){c=1;break}else d1=i1;return c|0}function pS(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0;return m=C,A=e[t>>2]|0,a=e[A>>2]|0,c=e[n>>2]|0,u=e[c>>2]|0,E=a-u|0,E|0}function QS(t){t=t|0;var n=0,A=0;A=C,e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0}function yS(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0;a0=C,c=X$(n|0)|0,u=X$(A|0)|0,Q=c+2|0,Y=Q+u|0,a=Y,J=C,C=C+((1*a|0)+15&-16)|0,mB(J|0,n|0)|0,Z=X$(J|0)|0,$0=J+Z|0,d[$0>>0]=61,d[$0+1>>0]=0,DQ(J|0,A|0)|0,W=e[t>>2]|0,e0=t+8|0,q=e[e0>>2]|0,X=q<<2,U=X+8|0,E=qi(W,U)|0,e[t>>2]=E,I=t+4|0,m=e[I>>2]|0,p=e[e0>>2]|0,B=p<<2,v=B+8|0,b=qi(m,v)|0,e[I>>2]=b,w=X$(J|0)|0,y=e[e0>>2]|0,D=b+(y<<2)|0,e[D>>2]=w,_=w+1|0,R=S9(_)|0,L=e[t>>2]|0,F=L+(y<<2)|0,e[F>>2]=R,M=e[t>>2]|0,T=M+(y<<2)|0,N=e[T>>2]|0,mB(N|0,J|0)|0,G=e[e0>>2]|0,O=G+1|0,e[e0>>2]=O,z=e[t>>2]|0,t0=z+(O<<2)|0,e[t0>>2]=0,C=a0}function wS(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0;if(Y=C,c=(t|0)==0,!c){if(u=e[t>>2]|0,Q=(u|0)==0,!Q){if(R=t+8|0,L=e[R>>2]|0,F=(L|0)>0,F){for(_=L,T=u,O=0;M=T+(O<<2)|0,N=e[M>>2]|0,G=(N|0)==0,G?m=_:(I2(N),A=e[R>>2]|0,m=A),E=O+1|0,I=(E|0)<(m|0),!!I;)n=e[t>>2]|0,_=m,T=n,O=E;a=e[t>>2]|0,p=a}else p=u;I2(p)}B=t+4|0,v=e[B>>2]|0,b=(v|0)==0,b||I2(v),w=t+12|0,y=e[w>>2]|0,D=(y|0)==0,D||I2(y),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0}}function kS(t){t=t|0;var n=0,A=0,a=0,c=0;c=C,e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,e[t+24>>2]=0,n=n4(1,3664)|0,A=t+28|0,e[A>>2]=n}function fB(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0;if(B1=C,u=t+28|0,E=e[u>>2]|0,_=(E|0)==0,_){e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,e[t+24>>2]=0,e[t+28>>2]=0;return}if(t0=E+8|0,s0=e[t0>>2]|0,w0=(s0|0)>0,w0)for(g1=s0,o1=0;n1=(E+32|0)+(o1<<2)|0,I=e[n1>>2]|0,m=(I|0)==0,m?v=g1:(I2(I),n=e[t0>>2]|0,v=n),p=o1+1|0,B=(p|0)<(v|0),B;)g1=v,o1=p;if(R0=E+12|0,P0=e[R0>>2]|0,u1=(P0|0)>0,u1)for(l1=P0,z0=0;D=(E+544|0)+(z0<<2)|0,Q=e[D>>2]|0,R=(Q|0)==0,R?Y=l1:(L=(E+288|0)+(z0<<2)|0,F=e[L>>2]|0,M=25664+(F<<2)|0,T=e[M>>2]|0,N=T+8|0,G=e[N>>2]|0,Xs[G&7](Q),A=e[R0>>2]|0,Y=A),O=z0+1|0,z=(O|0)<(Y|0),z;)l1=Y,z0=O;if(b=E+16|0,w=e[b>>2]|0,y=(w|0)>0,y)for(s1=w,I1=0;q=(E+1056|0)+(I1<<2)|0,X=e[q>>2]|0,U=(X|0)==0,U?o0=s1:($0=(E+800|0)+(I1<<2)|0,Z=e[$0>>2]|0,K=25640+(Z<<2)|0,a0=e[K>>2]|0,i0=a0+12|0,r0=e[i0>>2]|0,Xs[r0&7](X),a=e[b>>2]|0,o0=a),V=I1+1|0,h0=(V|0)<(o0|0),h0;)s1=o0,I1=V;if(J=E+20|0,W=e[J>>2]|0,e0=(W|0)>0,e0)for(a1=W,h1=0;d0=(E+1568|0)+(h1<<2)|0,C0=e[d0>>2]|0,k0=(C0|0)==0,k0?M0=a1:(f0=(E+1312|0)+(h1<<2)|0,B0=e[f0>>2]|0,p0=25648+(B0<<2)|0,I0=e[p0>>2]|0,S0=I0+12|0,V0=e[S0>>2]|0,Xs[V0&7](C0),c=e[J>>2]|0,M0=c),_0=h1+1|0,Q0=(_0|0)<(M0|0),Q0;)a1=M0,h1=_0;if(c0=E+24|0,j=e[c0>>2]|0,l0=(j|0)>0,u0=E+2848|0,l0)for(m1=0;N0=(E+1824|0)+(m1<<2)|0,U0=e[N0>>2]|0,y0=(U0|0)==0,y0||EB(U0),H0=e[u0>>2]|0,L0=(H0|0)==0,L0||(D0=H0+(m1*56|0)|0,nb(D0)),T0=m1+1|0,J0=e[c0>>2]|0,Y0=(T0|0)<(J0|0),Y0;)m1=T0;if(K0=e[u0>>2]|0,G0=(K0|0)==0,G0||I2(K0),O0=E+28|0,r1=e[O0>>2]|0,q0=(r1|0)>0,q0)for(d1=0;e1=(E+2852|0)+(d1<<2)|0,b0=e[e1>>2]|0,TS(b0),i1=d1+1|0,c1=e[O0>>2]|0,$1=(i1|0)<(c1|0),$1;)d1=i1;I2(E),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,e[t+24>>2]=0,e[t+28>>2]=0}function vS(t,n,A,a,c){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0;var u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,L1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0;if(W2=C,C=C+32|0,M1=W2,m=t+4|0,p=e[m>>2]|0,a1=t+104|0,Q1=e[a1>>2]|0,N1=(Q1|0)==0,N1)return e[A>>2]=0,e[A+4>>2]=0,e[A+8>>2]=0,e[A+12>>2]=0,e[A+16>>2]=0,e[A+20>>2]=0,e[A+24>>2]=0,e[A+28>>2]=0,e[a>>2]=0,e[a+4>>2]=0,e[a+8>>2]=0,e[a+12>>2]=0,e[a+16>>2]=0,e[a+20>>2]=0,e[a+24>>2]=0,e[a+28>>2]=0,e[c>>2]=0,e[c+4>>2]=0,e[c+8>>2]=0,e[c+12>>2]=0,e[c+16>>2]=0,e[c+20>>2]=0,e[c+24>>2]=0,e[c+28>>2]=0,u=-129,C=W2,u|0;if(c2=p+4|0,i2=e[c2>>2]|0,D2=(i2|0)<1,D2)S5=-129,a5=27;else if(lB(M1),T1=p+28|0,m5=e[T1>>2]|0,B=(m5|0)==0,B)S5=-130,a5=27;else if(M=e[m5>>2]|0,q=(M|0)<64,q)S5=-130,a5=27;else if(h0=m5+4|0,B0=e[h0>>2]|0,y0=(B0|0)<(M|0),y0)S5=-130,a5=27;else{U2(M1,1,8),U2(M1,118,8),U2(M1,111,8),U2(M1,114,8),U2(M1,98,8),U2(M1,105,8),U2(M1,115,8),U2(M1,0,32),r1=e[c2>>2]|0,U2(M1,r1,8),g1=p+8|0,l1=e[g1>>2]|0,U2(M1,l1,32),s1=p+12|0,n1=e[s1>>2]|0,U2(M1,n1,32),o1=p+16|0,z0=e[o1>>2]|0,U2(M1,z0,32),I1=p+20|0,h1=e[I1>>2]|0,U2(M1,h1,32),m1=e[m5>>2]|0,d1=m1+-1|0,E1=Tt(d1)|0,U2(M1,E1,4),B1=e[h0>>2]|0,p1=B1+-1|0,x1=Tt(p1)|0,U2(M1,x1,4),U2(M1,1,1),L1=Q1+64|0,w1=e[L1>>2]|0,S1=(w1|0)==0,S1||I2(w1),R1=yt(M1)|0,F1=S9(R1)|0,e[L1>>2]=F1,G1=M1+8|0,k1=e[G1>>2]|0,U1=yt(M1)|0,s4(F1|0,k1|0,U1|0)|0,Z1=e[L1>>2]|0,e[A>>2]=Z1,D1=yt(M1)|0,V1=A+4|0,e[V1>>2]=D1,O1=A+8|0,e[O1>>2]=1,q1=A+12|0,e[q1>>2]=0,e[q1+4>>2]=0,e[q1+8>>2]=0,e[q1+12>>2]=0,e[q1+16>>2]=0,u7(M1),SS(M1,n),H1=Q1+68|0,Y1=e[H1>>2]|0,j1=(Y1|0)==0,j1||I2(Y1),r2=yt(M1)|0,W1=S9(r2)|0,e[H1>>2]=W1,P1=e[G1>>2]|0,z1=yt(M1)|0,s4(W1|0,P1|0,z1|0)|0,u2=e[H1>>2]|0,e[a>>2]=u2,s2=yt(M1)|0,E2=a+4|0,e[E2>>2]=s2,o2=a+8|0,K1=a+24|0,e[o2>>2]=0,e[o2+4>>2]=0,e[o2+8>>2]=0,e[o2+12>>2]=0,h2=K1,a2=h2,e[a2>>2]=1,t2=h2+4|0,$2=t2,e[$2>>2]=0,u7(M1),A2=e[T1>>2]|0,X1=(A2|0)==0;e:do if(!X1){if(U2(M1,5,8),U2(M1,118,8),U2(M1,111,8),U2(M1,114,8),U2(M1,98,8),U2(M1,105,8),U2(M1,115,8),n2=A2+24|0,f2=e[n2>>2]|0,e2=f2+-1|0,U2(M1,e2,8),y2=e[n2>>2]|0,v2=(y2|0)>0,v2)for(q2=0;;){if(N2=(A2+1824|0)+(q2<<2)|0,d2=e[N2>>2]|0,K2=nS(d2,M1)|0,G2=(K2|0)==0,C2=q2+1|0,!G2)break e;if(w2=e[n2>>2]|0,F2=(C2|0)<(w2|0),F2)q2=C2;else break}if(U2(M1,0,6),U2(M1,0,16),H2=A2+16|0,M2=e[H2>>2]|0,P2=M2+-1|0,U2(M1,P2,6),z2=e[H2>>2]|0,o5=(z2|0)>0,o5)for(I5=0;;){if(O2=(A2+800|0)+(I5<<2)|0,X2=e[O2>>2]|0,U2(M1,X2,16),L5=e[O2>>2]|0,e5=25640+(L5<<2)|0,b5=e[e5>>2]|0,Z2=e[b5>>2]|0,f5=(Z2|0)==0,f5)break e;if(v5=(A2+1056|0)+(I5<<2)|0,P5=e[v5>>2]|0,QB[Z2&3](P5,M1),l5=I5+1|0,k2=e[H2>>2]|0,n5=(l5|0)<(k2|0),n5)I5=l5;else break}if(x2=A2+20|0,_2=e[x2>>2]|0,B2=_2+-1|0,U2(M1,B2,6),C5=e[x2>>2]|0,R5=(C5|0)>0,R5)for(A5=0;d5=(A2+1312|0)+(A5<<2)|0,D5=e[d5>>2]|0,U2(M1,D5,16),G5=e[d5>>2]|0,_5=25648+(G5<<2)|0,v=e[_5>>2]|0,b=e[v>>2]|0,w=(A2+1568|0)+(A5<<2)|0,y=e[w>>2]|0,QB[b&3](y,M1),D=A5+1|0,Q=e[x2>>2]|0,_=(D|0)<(Q|0),_;)A5=D;if(R=A2+12|0,L=e[R>>2]|0,F=L+-1|0,U2(M1,F,6),T=e[R>>2]|0,N=(T|0)>0,N)for(c5=0;G=(A2+288|0)+(c5<<2)|0,O=e[G>>2]|0,U2(M1,O,16),z=e[G>>2]|0,Y=25664+(z<<2)|0,t0=e[Y>>2]|0,J=e[t0>>2]|0,W=(A2+544|0)+(c5<<2)|0,e0=e[W>>2]|0,MQ[J&1](p,e0,M1),X=c5+1|0,U=e[R>>2]|0,$0=(X|0)<(U|0),$0;)c5=X;if(Z=A2+8|0,K=e[Z>>2]|0,a0=K+-1|0,U2(M1,a0,6),s0=e[Z>>2]|0,i0=(s0|0)>0,i0)for(B5=0;r0=(A2+32|0)+(B5<<2)|0,V=e[r0>>2]|0,o0=e[V>>2]|0,U2(M1,o0,1),c0=e[r0>>2]|0,j=c0+4|0,l0=e[j>>2]|0,U2(M1,l0,16),u0=e[r0>>2]|0,d0=u0+8|0,w0=e[d0>>2]|0,U2(M1,w0,16),C0=e[r0>>2]|0,k0=C0+12|0,f0=e[k0>>2]|0,U2(M1,f0,8),p0=B5+1|0,I0=e[Z>>2]|0,S0=(p0|0)<(I0|0),S0;)B5=p0;return U2(M1,1,1),V0=Q1+72|0,_0=e[V0>>2]|0,Q0=(_0|0)==0,Q0||I2(_0),R0=yt(M1)|0,M0=S9(R0)|0,e[V0>>2]=M0,N0=e[G1>>2]|0,U0=yt(M1)|0,s4(M0|0,N0|0,U0|0)|0,H0=e[V0>>2]|0,e[c>>2]=H0,L0=yt(M1)|0,D0=c+4|0,e[D0>>2]=L0,T0=c+8|0,J0=c+24|0,e[T0>>2]=0,e[T0+4>>2]=0,e[T0+8>>2]=0,e[T0+12>>2]=0,Y0=J0,P0=Y0,e[P0>>2]=2,K0=Y0+4|0,G0=K0,e[G0>>2]=0,cB(M1),u=0,C=W2,u|0}while(!1);e[A>>2]=0,e[A+4>>2]=0,e[A+8>>2]=0,e[A+12>>2]=0,e[A+16>>2]=0,e[A+20>>2]=0,e[A+24>>2]=0,e[A+28>>2]=0,e[a>>2]=0,e[a+4>>2]=0,e[a+8>>2]=0,e[a+12>>2]=0,e[a+16>>2]=0,e[a+20>>2]=0,e[a+24>>2]=0,e[a+28>>2]=0,e[c>>2]=0,e[c+4>>2]=0,e[c+8>>2]=0,e[c+12>>2]=0,e[c+16>>2]=0,e[c+20>>2]=0,e[c+24>>2]=0,e[c+28>>2]=0,I=L1,g5=-130}return(a5|0)==27&&(e[A>>2]=0,e[A+4>>2]=0,e[A+8>>2]=0,e[A+12>>2]=0,e[A+16>>2]=0,e[A+20>>2]=0,e[A+24>>2]=0,e[A+28>>2]=0,e[a>>2]=0,e[a+4>>2]=0,e[a+8>>2]=0,e[a+12>>2]=0,e[a+16>>2]=0,e[a+20>>2]=0,e[a+24>>2]=0,e[a+28>>2]=0,e[c>>2]=0,e[c+4>>2]=0,e[c+8>>2]=0,e[c+12>>2]=0,e[c+16>>2]=0,e[c+20>>2]=0,e[c+24>>2]=0,e[c+28>>2]=0,E=Q1+64|0,I=E,g5=S5),cB(M1),O0=e[I>>2]|0,q0=(O0|0)==0,q0||I2(O0),e1=Q1+68|0,b0=e[e1>>2]|0,i1=(b0|0)==0,i1||I2(b0),c1=Q1+72|0,$1=e[c1>>2]|0,u1=($1|0)==0,u1||I2($1),e[I>>2]=0,e[e1>>2]=0,e[c1>>2]=0,u=g5,C=W2,u|0}function SS(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0;for(i0=C,U2(t,3,8),U2(t,118,8),U2(t,111,8),U2(t,114,8),U2(t,98,8),U2(t,105,8),U2(t,115,8),U2(t,44,32),A=1200,c=44;E=c+-1|0,I=A+1|0,R=d[A>>0]|0,J=R<<24>>24,U2(t,J,8),q=(E|0)==0,!q;)A=I,c=E;if(X=n+8|0,U=e[X>>2]|0,U2(t,U,32),$0=e[X>>2]|0,Z=($0|0)>0,!Z){U2(t,1,1);return}for(K=n+4|0,a0=0;;){if(m=e[n>>2]|0,p=m+(a0<<2)|0,B=e[p>>2]|0,v=(B|0)==0,v)U2(t,0,32);else if(b=e[K>>2]|0,w=b+(a0<<2)|0,y=e[w>>2]|0,U2(t,y,32),D=e[K>>2]|0,Q=D+(a0<<2)|0,_=e[Q>>2]|0,L=(_|0)==0,!L)for(F=e[n>>2]|0,M=F+(a0<<2)|0,T=e[M>>2]|0,a=T,u=_;N=u+-1|0,G=a+1|0,O=d[a>>0]|0,z=O<<24>>24,U2(t,z,8),Y=(N|0)==0,!Y;)a=G,u=N;if(t0=a0+1|0,W=e[X>>2]|0,e0=(t0|0)<(W|0),e0)a0=t0;else break}U2(t,1,1)}function $Q(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,L1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0;if(Y1=C,m=a+1|0,p=m<<3,c=p,F=C,C=C+((1*c|0)+15&-16)|0,e0=a<<3,u=e0,V=C,C=C+((1*u|0)+15&-16)|0,f0=(m|0)==0,f0)N=0;else{for(U0=a;;){if(O0=(U0|0)<(A|0),O0)for(m1=0,R1=U0;;)if(s1=t+(R1<<2)|0,I1=+s[s1>>2],B=I1,v=R1-U0|0,b=t+(v<<2)|0,w=+s[b>>2],y=w,D=y*B,Q=D+m1,_=R1+1|0,S1=(_|0)==(A|0),S1){h1=Q;break}else m1=Q,R1=_;else h1=0;if(R=F+(U0<<3)|0,A1[R>>3]=h1,L=U0+-1|0,M=(U0|0)==0,M)break;U0=L}I=+A1[F>>3],N=I}if(T=N*1.0000000001,G=N*1e-9,O=G+1e-10,z=(a|0)>0,z)E1=T,F1=0;else return Q1=T,z0=Q1,C=Y1,+z0;for(;;){if(k1=F1+1|0,Y=E1>3],U=-X,$0=(F1|0)>0,$0){for(U1=0,O1=U;;)if(a0=V+(U1<<3)|0,s0=+A1[a0>>3],i0=F1-U1|0,r0=F+(i0<<3)|0,h0=+A1[r0>>3],o0=h0*s0,c0=O1-o0,j=U1+1|0,w1=(j|0)==(F1|0),w1){E=c0;break}else U1=j,O1=c0;if(l0=E/E1,u0=V+(F1<<3)|0,A1[u0>>3]=l0,d0=(F1|0)/2&-1,w0=(F1|0)>1,w0){for(C0=F1+-1|0,k0=(d0|0)>1,N1=0;B0=V+(N1<<3)|0,p0=+A1[B0>>3],I0=C0-N1|0,S0=V+(I0<<3)|0,V0=+A1[S0>>3],_0=V0*l0,Q0=_0+p0,A1[B0>>3]=Q0,R0=p0*l0,M0=+A1[S0>>3],N0=M0+R0,A1[S0>>3]=N0,y0=N1+1|0,H0=(y0|0)<(d0|0),H0;)N1=y0;q1=k0?d0:1,P0=l0,Z1=q1}else P0=l0,Z1=0}else Z=U/E1,K=V+(F1<<3)|0,A1[K>>3]=Z,P0=Z,Z1=0;if(L0=F1&1,D0=(L0|0)==0,D0||(T0=V+(Z1<<3)|0,J0=+A1[T0>>3],Y0=J0*P0,K0=Y0+J0,A1[T0>>3]=K0),G0=P0*P0,r1=1-G0,q0=r1*E1,e1=(k1|0)<(a|0),e1)E1=q0,F1=k1;else{p1=q0;break}}if((H1|0)==8&&(t0=V+(G1<<3)|0,J=a-G1|0,W=J<<3,ae(t0|0,0,W|0)|0,p1=B1),z)d1=.99,D1=0;else return Q1=p1,z0=Q1,C=Y1,+z0;for(;b0=V+(D1<<3)|0,i1=+A1[b0>>3],c1=i1*d1,A1[b0>>3]=c1,$1=d1*.99,u1=D1+1|0,L1=(u1|0)==(a|0),!L1;)d1=$1,D1=u1;if(z)V1=0;else return Q1=p1,z0=Q1,C=Y1,+z0;for(;;)if(g1=V+(V1<<3)|0,l1=+A1[g1>>3],a1=l1,n1=n+(V1<<2)|0,s[n1>>2]=a1,o1=V1+1|0,x1=(o1|0)==(a|0),x1){Q1=p1;break}else V1=o1;return z0=Q1,C=Y1,+z0}function lQ(t,n,A,a,c){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0;var u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0;if(K=C,I=c+A|0,m=I<<2,u=m,L=C,C=C+((1*u|0)+15&-16)|0,M=(n|0)==0,T=(A|0)>0,M?T&&(G=A<<2,ae(L|0,0,G|0)|0):T&&(N=A<<2,s4(L|0,n|0,N|0)|0),O=(c|0)>0,!O){C=K;return}if(z=(A|0)>0,z)W=0,e0=A;else{Y=c<<2,ae(L|0,0,Y|0)|0,ae(a|0,0,Y|0)|0,C=K;return}for(;;){for(X=W,U=A,$0=0;;)if(b=X+1|0,w=L+(X<<2)|0,y=+s[w>>2],D=U+-1|0,Q=t+(D<<2)|0,_=+s[Q>>2],R=_*y,F=$0-R,t0=(b|0)==(e0|0),t0){E=F;break}else X=b,U=D,$0=F;if(p=L+(e0<<2)|0,s[p>>2]=E,B=a+(W<<2)|0,s[B>>2]=E,v=W+1|0,q=e0+1|0,J=(v|0)==(c|0),J)break;W=v,e0=q}C=K}function bS(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0;if(S0=C,c=e[n>>2]|0,u=(c|0)>1,u?(U2(A,1,1),Q=e[n>>2]|0,Y=Q+-1|0,U2(A,Y,4)):U2(A,0,1),a0=n+1156|0,u0=e[a0>>2]|0,d0=(u0|0)>0,d0){if(U2(A,1,1),w0=e[a0>>2]|0,C0=w0+-1|0,U2(A,C0,8),k0=e[a0>>2]|0,E=(k0|0)>0,E)for(I=n+1160|0,m=t+4|0,p=n+2184|0,f0=0;B=I+(f0<<2)|0,v=e[B>>2]|0,b=e[m>>2]|0,w=b+-1|0,y=Tt(w)|0,U2(A,v,y),D=p+(f0<<2)|0,_=e[D>>2]|0,R=e[m>>2]|0,L=R+-1|0,F=Tt(L)|0,U2(A,_,F),M=f0+1|0,T=e[a0>>2]|0,N=(M|0)<(T|0),N;)f0=M}else U2(A,0,1);if(U2(A,0,2),G=e[n>>2]|0,O=(G|0)>1,O){if(z=t+4|0,t0=e[z>>2]|0,J=(t0|0)>0,J){for(W=n+4|0,B0=0;$0=W+(B0<<2)|0,Z=e[$0>>2]|0,U2(A,Z,4),K=B0+1|0,s0=e[z>>2]|0,i0=(K|0)<(s0|0),i0;)B0=K;a=e[n>>2]|0,e0=a,I0=13}}else e0=G,I0=13;if(!((I0|0)==13&&(q=(e0|0)>0,!q)))for(X=n+1028|0,U=n+1092|0,p0=0;U2(A,0,8),r0=X+(p0<<2)|0,V=e[r0>>2]|0,U2(A,V,8),h0=U+(p0<<2)|0,o0=e[h0>>2]|0,U2(A,o0,8),c0=p0+1|0,j=e[n>>2]|0,l0=(c0|0)<(j|0),l0;)p0=c0}function DS(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0;n1=C,c=n4(1,3208)|0,u=t+28|0,Q=e[u>>2]|0,ae(c|0,0,3208)|0,Y=t+4|0,a0=e[Y>>2]|0,d0=(a0|0)<1;e:do if(d0)a1=24;else if(Q0=W4(n,1)|0,Y0=(Q0|0)<0,Y0)a1=24;else{if(q0=(Q0|0)==0,q0)e[c>>2]=1;else if(e1=W4(n,4)|0,E=e1+1|0,e[c>>2]=E,I=(e1|0)<0,I)break;if(m=W4(n,1)|0,p=(m|0)<0,!p){if(B=(m|0)==0,!B){if(v=W4(n,8)|0,b=v+1|0,w=c+1156|0,e[w>>2]=b,y=(v|0)<0,y)break;for(D=c+1160|0,_=c+2184|0,a=e[Y>>2]|0,T=a,b0=0;;){if(M=T+-1|0,N=Tt(M)|0,G=W4(n,N)|0,O=D+(b0<<2)|0,e[O>>2]=G,z=e[Y>>2]|0,t0=z+-1|0,J=Tt(t0)|0,W=W4(n,J)|0,e0=_+(b0<<2)|0,e[e0>>2]=W,q=W|G,X=(q|0)<0,U=(G|0)==(W|0),$1=U|X,$1||($0=e[Y>>2]|0,Z=(G|0)<($0|0),K=(W|0)<($0|0),u1=Z&K,L=b0+1|0,!u1))break e;if(R=e[w>>2]|0,F=(L|0)<(R|0),F)T=$0,b0=L;else break}}if(s0=W4(n,2)|0,i0=(s0|0)==0,i0){if(r0=e[c>>2]|0,V=(r0|0)>1,V){if(h0=e[Y>>2]|0,o0=(h0|0)>0,o0)for(c0=c+4|0,i1=0;;){if(I0=W4(n,4)|0,S0=c0+(i1<<2)|0,e[S0>>2]=I0,V0=e[c>>2]|0,_0=(I0|0)>=(V0|0),R0=(I0|0)<0,g1=R0|_0,B0=i1+1|0,g1)break e;if(f0=e[Y>>2]|0,p0=(B0|0)<(f0|0),p0)i1=B0;else{j=V0,a1=17;break}}}else j=r0,a1=17;if((a1|0)==17&&(l0=(j|0)>0,!l0))return A=c,A|0;for(u0=c+1028|0,w0=Q+16|0,C0=c+1092|0,k0=Q+20|0,c1=0;;){if(W4(n,8)|0,y0=W4(n,8)|0,H0=u0+(c1<<2)|0,e[H0>>2]=y0,L0=e[w0>>2]|0,D0=(y0|0)>=(L0|0),T0=(y0|0)<0,l1=T0|D0,l1||(J0=W4(n,8)|0,P0=C0+(c1<<2)|0,e[P0>>2]=J0,K0=e[k0>>2]|0,G0=(J0|0)>=(K0|0),O0=(J0|0)<0,s1=O0|G0,N0=c1+1|0,s1))break e;if(M0=e[c>>2]|0,U0=(N0|0)<(M0|0),U0)c1=N0;else{A=c;break}}return A|0}}}while(!1);return(a1|0)==24&&(r1=(c|0)==0,r1)?(A=0,A|0):(I2(c),A=0,A|0)}function _S(t){t=t|0;var n=0,A=0,a=0;a=C,n=(t|0)==0,n||I2(t)}function xS(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,L1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,k3=0,u3=0,p3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,X3=0,c6=0,p6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,L6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,L4=0,T4=0,j4=0,C4=0,N4=0,U9=0,G4=0,a4=0,R4=0,u4=0,Ce=0,q9=0,m9=0,Be=0,Ne=0,Xe=0,U4=0,Ge=0,P4=0,X4=0,be=0,e8=0,Z9=0,$e=0,f4=0,_6=0,O4=0,R9=0,$4=0,_4=0,le=0,W9=0,ce=0,ge=0,B4=0,ee=0,F4=0,he=0,C9=0,g6=0,Ue=0,l4=0,pe=0,p4=0,c4=0,P6=0,De=0,_e=0,t8=0,g4=0,k4=0,u8=0,J3=0,w9=0,B9=0,M4=0,te=0,$t=0,xe=0,lt=0,wt=0,z8=0,ct=0,gt=0,F8=0,M8=0,T8=0,N8=0,Z8=0,W8=0,kt=0,G8=0,U8=0,P8=0,k8=0,v8=0,f8=0,O8=0,q8=0,j8=0,X8=0,d8=0,Pe=0,Le=0,i8=0,S8=0,k9=0,ht=0,Qe=0,ut=0,vt=0,et=0,St=0,ie=0,tt=0,H8=0,b8=0,r8=0,q4=0,Re=0,n8=0,I8=0,D8=0,ue=0,j9=0,s8=0,E8=0,o8=0,m8=0,fe=0,ye=0,Oe=0,qe=0,X9=0,Fe=0,de=0,A8=0,we=0,Q4=0,C8=0,it=0,H4=0,I3=0,He=0,B8=0,re=0,H9=0,ne=0,D9=0,Ye=0,Y8=0,ft=0,rt=0,nt=0,J8=0,st=0,V8=0,a8=0,$8=0,_8=0,Y4=0,ot=0,x8=0,Je=0,p9=0,At=0,Ve=0,Nt=0,Ht=0,bt=0,at=0,Dt=0,se=0,Gt=0,Yt=0,l8=0,L8=0,_t=0,K8=0,Me=0,Ie=0,e4=0,xt=0,i7=0,G7=0,U7=0,P7=0,d7=0,Jt=0,I7=0,Vt=0,E7=0,Kt=0,m7=0,r7=0,oi=0,O7=0,C7=0,B7=0,Ai=0,p7=0,n7=0,ai=0,q7=0,H7=0,Y7=0,J7=0,s7=0,Q7=0,V7=0,zt=0,o7=0,Ut=0,Zt=0,$i=0,K7=0,li=0,y7=0,z7=0,w7=0,k7=0,Z7=0,v7=0,Wt=0,S7=0,W7=0,A7=0,Pt=0,b7=0,ke=0,D7=0,Lt=0,a7=0,n9=0,dt=0,p8=0,It=0,Rt=0,zr=0,Er=0,eo=0,Pn=0,to=0,On=0,io=0,ro=0,qn=0,no=0,Zr=0,so=0,oo=0,Ao=0,Hn=0,ao=0,Yn=0,Jn=0,$o=0,Wr=0,Vn=0,jr=0,Kn=0,zn=0,lo=0,co=0,go=0,Xr=0,Zn=0,ho=0,mr=0,en=0,uo=0,fo=0,tn=0,ci=0,Wn=0,Io=0,Eo=0,jn=0,Xn=0,es=0,mo=0,gi=0,rn=0,Co=0,ts=0,Bo=0,po=0,Qo=0,is=0,yo=0,wo=0,ko=0,vo=0,rs=0,So=0,bo=0,nn=0,Cr=0,sn=0,Do=0,ji=0,_o=0,ns=0,on=0,ss=0,An=0,xo=0,os=0,As=0,Lo=0,as=0,$s=0,Ro=0,Br=0,ls=0,hi=0,an=0,pr=0,Xi=0,Qr=0,Hi=0,yr=0,cs=0,Yi=0,yi=0,wi=0,j7=0,ki=0,wr=0,er=0,tr=0,kr=0,ui=0,Fo=0,$7=0,tl=0,$n=0,ln=0;if($n=C,_=t+64|0,R=e[_>>2]|0,t2=R+4|0,O3=e[t2>>2]|0,_4=O3+28|0,Y4=e[_4>>2]|0,uo=R+104|0,gi=e[uo>>2]|0,vo=t+104|0,on=e[vo>>2]|0,L=t+36|0,W=e[L>>2]|0,r0=O3+4|0,k0=e[r0>>2]|0,N0=k0<<2,a=N0,G0=C,C=C+((1*a|0)+15&-16)|0,l1=qt(t,N0)|0,B1=e[r0>>2]|0,U1=B1<<2,W1=qt(t,U1)|0,$2=e[r0>>2]|0,F2=$2<<2,O2=qt(t,F2)|0,k2=on+4|0,_5=+s[k2>>2],g2=e[r0>>2]|0,L2=g2<<2,c=L2,F5=C,C=C+((1*c|0)+15&-16)|0,L3=on+8|0,M5=e[L3>>2]|0,K5=t+28|0,c6=e[K5>>2]|0,Y3=(Y4+544|0)+(c6<<2)|0,n6=e[Y3>>2]|0,R6=gi+56|0,u9=e[R6>>2]|0,E4=(c6|0)!=0,A4=E4?2:0,D=A4+M5|0,a4=u9+(D*52|0)|0,P4=t+40|0,e[P4>>2]=c6,le=(g2|0)>0,le)for(l4=+(W|0),J3=4/l4,gt=(s[p2>>2]=J3,e[p2>>2]|0),k8=(W|0)/2&-1,S8=k8<<2,b8=gt&2147483647,o8=+(b8>>>0),Q4=o8*7177114298428933e-22,Ye=Q4+-764.6162109375,ot=Ye,se=ot+.345,i7=se,r7=gi+4|0,Y7=t+24|0,li=t+32|0,Pt=i7+-764.6162109375,zr=W+-1|0,so=(zr|0)>1,Kn=i7+-382.30810546875,yr=_5,Yi=0;;){if(fo=e[t>>2]|0,tn=fo+(Yi<<2)|0,ci=e[tn>>2]|0,Wn=qt(t,S8)|0,Io=W1+(Yi<<2)|0,e[Io>>2]=Wn,Eo=qt(t,S8)|0,jn=l1+(Yi<<2)|0,e[jn>>2]=Eo,Xn=e[Y7>>2]|0,es=e[K5>>2]|0,mo=e[li>>2]|0,gb(ci,r7,Y4,Xn,es,mo),rn=e[K5>>2]|0,Co=(gi+12|0)+(rn<<2)|0,ts=e[Co>>2]|0,Bo=e[ts>>2]|0,po=e[jn>>2]|0,cQ(Bo,ci,po),Qo=e[K5>>2]|0,is=(gi+20|0)+(Qo*12|0)|0,Ab(is,ci),yo=e[ci>>2]|0,wo=yo&2147483647,ko=+(wo>>>0),rs=ko*7177114298428933e-22,So=Pt+rs,bo=So,nn=bo+.345,Cr=nn,s[ci>>2]=Cr,sn=F5+(Yi<<2)|0,s[sn>>2]=Cr,so)for(O=Cr,wr=1;;)if(Do=ci+(wr<<2)|0,ji=+s[Do>>2],_o=ji*ji,ns=wr+1|0,ss=ci+(ns<<2)|0,An=+s[ss>>2],xo=An*An,os=xo+_o,As=(s[p2>>2]=os,e[p2>>2]|0),Lo=As&2147483647,as=+(Lo>>>0),$s=as*35885571492144663e-23,Ro=Kn+$s,Br=Ro,F=Br+.345,M=F,T=ns>>1,N=ci+(T<<2)|0,s[N>>2]=M,G=M>O,G?(s[sn>>2]=M,mr=M):mr=O,z=wr+2|0,Y=(z|0)<(zr|0),Y)O=mr,wr=z;else{J=mr;break}else J=Cr;if(t0=J>0,t0?(s[sn>>2]=0,q=0):q=J,e0=q>yr,cs=e0?q:yr,X=Yi+1|0,U=e[r0>>2]|0,$0=(X|0)<(U|0),$0)yr=cs,Yi=X;else{p=S8,v=k8,Hi=cs;break}}else b=(W|0)/2&-1,w=b<<2,p=w,v=b,Hi=_5;Z=qt(t,p)|0,K=qt(t,p)|0,a0=e[r0>>2]|0,s0=(a0|0)>0;e:do if(s0){if(i0=(W|0)>1,V=gi+48|0,i0)wi=0;else{for(yi=0;;){t6=(n6+4|0)+(yi<<2)|0,f6=e[t6>>2]|0,H3=l1+(yi<<2)|0,D3=e[H3>>2]|0,Z3=e[t>>2]|0,b6=Z3+(yi<<2)|0,A6=e[b6>>2]|0,t3=A6+(v<<2)|0,e[P4>>2]=c6,O6=qt(t,60)|0,s3=O2+(yi<<2)|0,e[s3>>2]=O6,$7=O6,ln=$7+60|0;do e[$7>>2]=0,$7=$7+4|0;while(($7|0)<(ln|0));if(fQ(a4,t3,Z),a6=F5+(yi<<2)|0,d6=+s[a6>>2],dQ(a4,A6,K,Hi,d6),j$(a4,Z,K,1,A6,D3,t3),_3=(n6+1028|0)+(f6<<2)|0,N6=e[_3>>2]|0,Q6=(Y4+800|0)+(N6<<2)|0,L6=e[Q6>>2]|0,K6=(L6|0)==1,!K6){A=-1;break}if(I6=e[V>>2]|0,J6=I6+(N6<<2)|0,F3=e[J6>>2]|0,j6=W$(t,F3,t3,A6)|0,G6=e[s3>>2]|0,e9=G6+28|0,e[e9>>2]=j6,s9=Rh(t)|0,U6=(s9|0)==0,U6||(D6=e[s3>>2]|0,z6=D6+28|0,y6=e[z6>>2]|0,F6=(y6|0)==0,F6||(j$(a4,Z,K,2,A6,D3,t3),M3=e[_3>>2]|0,M6=e[V>>2]|0,t9=M6+(M3<<2)|0,A9=e[t9>>2]|0,X6=W$(t,A9,t3,A6)|0,f9=e[s3>>2]|0,d9=f9+56|0,e[d9>>2]=X6,j$(a4,Z,K,0,A6,D3,t3),a9=e[_3>>2]|0,$9=e[V>>2]|0,T9=$9+(a9<<2)|0,E6=e[T9>>2]|0,T6=W$(t,E6,t3,A6)|0,i9=e[s3>>2]|0,e[i9>>2]=T6,N9=e[_3>>2]|0,I9=e[V>>2]|0,o4=I9+(N9<<2)|0,h4=e[o4>>2]|0,G9=e[s3>>2]|0,z9=e[G9>>2]|0,b9=G9+28|0,E9=e[b9>>2]|0,q6=R8(t,h4,z9,E9,9362)|0,r9=e[s3>>2]|0,m4=r9+4|0,e[m4>>2]=q6,S4=e[_3>>2]|0,y9=e[V>>2]|0,b4=y9+(S4<<2)|0,D4=e[b4>>2]|0,L4=e[s3>>2]|0,T4=e[L4>>2]|0,j4=L4+28|0,C4=e[j4>>2]|0,N4=R8(t,D4,T4,C4,18724)|0,U9=e[s3>>2]|0,G4=U9+8|0,e[G4>>2]=N4,R4=e[_3>>2]|0,u4=e[V>>2]|0,Ce=u4+(R4<<2)|0,q9=e[Ce>>2]|0,m9=e[s3>>2]|0,Be=e[m9>>2]|0,Ne=m9+28|0,Xe=e[Ne>>2]|0,U4=R8(t,q9,Be,Xe,28086)|0,Ge=e[s3>>2]|0,X4=Ge+12|0,e[X4>>2]=U4,be=e[_3>>2]|0,e8=e[V>>2]|0,Z9=e8+(be<<2)|0,$e=e[Z9>>2]|0,f4=e[s3>>2]|0,_6=e[f4>>2]|0,O4=f4+28|0,R9=e[O4>>2]|0,$4=R8(t,$e,_6,R9,37449)|0,W9=e[s3>>2]|0,ce=W9+16|0,e[ce>>2]=$4,ge=e[_3>>2]|0,B4=e[V>>2]|0,ee=B4+(ge<<2)|0,F4=e[ee>>2]|0,he=e[s3>>2]|0,C9=e[he>>2]|0,g6=he+28|0,Ue=e[g6>>2]|0,pe=R8(t,F4,C9,Ue,46811)|0,p4=e[s3>>2]|0,c4=p4+20|0,e[c4>>2]=pe,P6=e[_3>>2]|0,De=e[V>>2]|0,_e=De+(P6<<2)|0,t8=e[_e>>2]|0,g4=e[s3>>2]|0,k4=e[g4>>2]|0,u8=g4+28|0,w9=e[u8>>2]|0,B9=R8(t,t8,k4,w9,56173)|0,M4=e[s3>>2]|0,te=M4+24|0,e[te>>2]=B9,$t=e[_3>>2]|0,xe=e[V>>2]|0,lt=xe+($t<<2)|0,wt=e[lt>>2]|0,z8=e[s3>>2]|0,ct=z8+28|0,F8=e[ct>>2]|0,M8=z8+56|0,T8=e[M8>>2]|0,N8=R8(t,wt,F8,T8,9362)|0,Z8=e[s3>>2]|0,W8=Z8+32|0,e[W8>>2]=N8,kt=e[_3>>2]|0,G8=e[V>>2]|0,U8=G8+(kt<<2)|0,P8=e[U8>>2]|0,v8=e[s3>>2]|0,f8=v8+28|0,O8=e[f8>>2]|0,q8=v8+56|0,j8=e[q8>>2]|0,X8=R8(t,P8,O8,j8,18724)|0,d8=e[s3>>2]|0,Pe=d8+36|0,e[Pe>>2]=X8,Le=e[_3>>2]|0,i8=e[V>>2]|0,k9=i8+(Le<<2)|0,ht=e[k9>>2]|0,Qe=e[s3>>2]|0,ut=Qe+28|0,vt=e[ut>>2]|0,et=Qe+56|0,St=e[et>>2]|0,ie=R8(t,ht,vt,St,28086)|0,tt=e[s3>>2]|0,H8=tt+40|0,e[H8>>2]=ie,r8=e[_3>>2]|0,q4=e[V>>2]|0,Re=q4+(r8<<2)|0,n8=e[Re>>2]|0,I8=e[s3>>2]|0,D8=I8+28|0,ue=e[D8>>2]|0,j9=I8+56|0,s8=e[j9>>2]|0,E8=R8(t,n8,ue,s8,37449)|0,m8=e[s3>>2]|0,fe=m8+44|0,e[fe>>2]=E8,ye=e[_3>>2]|0,Oe=e[V>>2]|0,qe=Oe+(ye<<2)|0,X9=e[qe>>2]|0,Fe=e[s3>>2]|0,de=Fe+28|0,A8=e[de>>2]|0,we=Fe+56|0,C8=e[we>>2]|0,it=R8(t,X9,A8,C8,46811)|0,H4=e[s3>>2]|0,I3=H4+48|0,e[I3>>2]=it,He=e[_3>>2]|0,B8=e[V>>2]|0,re=B8+(He<<2)|0,H9=e[re>>2]|0,ne=e[s3>>2]|0,D9=ne+28|0,Y8=e[D9>>2]|0,ft=ne+56|0,rt=e[ft>>2]|0,nt=R8(t,H9,Y8,rt,56173)|0,J8=e[s3>>2]|0,st=J8+52|0,e[st>>2]=nt)),V8=yi+1|0,a8=e[r0>>2]|0,$8=(V8|0)<(a8|0),$8)yi=V8;else{B=V,x8=a8;break e}}return C=$n,A|0}for(;;){x6=(n6+4|0)+(wi<<2)|0,d0=e[x6>>2]|0,Y6=l1+(wi<<2)|0,l0=e[Y6>>2]|0,C6=e[t>>2]|0,b3=C6+(wi<<2)|0,j=e[b3>>2]|0,h0=j+(v<<2)|0,e[P4>>2]=c6,e6=qt(t,60)|0,Q0=O2+(wi<<2)|0,e[Q0>>2]=e6,$7=e6,ln=$7+60|0;do e[$7>>2]=0,$7=$7+4|0;while(($7|0)<(ln|0));for(er=0;j3=l0+(er<<2)|0,S3=e[j3>>2]|0,g3=S3&2147483647,q3=+(g3>>>0),l6=q3*7177114298428933e-22,d3=l6+-764.6162109375,k6=d3,v6=k6+.345,S6=v6,Q=er+v|0,B6=j+(Q<<2)|0,s[B6>>2]=S6,X3=er+1|0,p6=(X3|0)<(v|0),p6;)er=X3;if(fQ(a4,h0,Z),o0=F5+(wi<<2)|0,c0=+s[o0>>2],dQ(a4,j,K,Hi,c0),j$(a4,Z,K,1,j,l0,h0),u0=(n6+1028|0)+(d0<<2)|0,w0=e[u0>>2]|0,C0=(Y4+800|0)+(w0<<2)|0,f0=e[C0>>2]|0,B0=(f0|0)==1,!B0){A=-1;break}if(p0=e[V>>2]|0,I0=p0+(w0<<2)|0,S0=e[I0>>2]|0,V0=W$(t,S0,h0,j)|0,_0=e[Q0>>2]|0,R0=_0+28|0,e[R0>>2]=V0,M0=Rh(t)|0,U0=(M0|0)==0,U0||(y0=e[Q0>>2]|0,H0=y0+28|0,L0=e[H0>>2]|0,D0=(L0|0)==0,D0||(j$(a4,Z,K,2,j,l0,h0),T0=e[u0>>2]|0,J0=e[V>>2]|0,Y0=J0+(T0<<2)|0,P0=e[Y0>>2]|0,K0=W$(t,P0,h0,j)|0,O0=e[Q0>>2]|0,r1=O0+56|0,e[r1>>2]=K0,j$(a4,Z,K,0,j,l0,h0),q0=e[u0>>2]|0,e1=e[V>>2]|0,b0=e1+(q0<<2)|0,i1=e[b0>>2]|0,c1=W$(t,i1,h0,j)|0,$1=e[Q0>>2]|0,e[$1>>2]=c1,u1=e[u0>>2]|0,g1=e[V>>2]|0,s1=g1+(u1<<2)|0,a1=e[s1>>2]|0,n1=e[Q0>>2]|0,o1=e[n1>>2]|0,z0=n1+28|0,I1=e[z0>>2]|0,h1=R8(t,a1,o1,I1,9362)|0,m1=e[Q0>>2]|0,d1=m1+4|0,e[d1>>2]=h1,E1=e[u0>>2]|0,p1=e[V>>2]|0,Q1=p1+(E1<<2)|0,x1=e[Q1>>2]|0,L1=e[Q0>>2]|0,w1=e[L1>>2]|0,S1=L1+28|0,R1=e[S1>>2]|0,F1=R8(t,x1,w1,R1,18724)|0,G1=e[Q0>>2]|0,k1=G1+8|0,e[k1>>2]=F1,Z1=e[u0>>2]|0,N1=e[V>>2]|0,D1=N1+(Z1<<2)|0,V1=e[D1>>2]|0,O1=e[Q0>>2]|0,q1=e[O1>>2]|0,H1=O1+28|0,Y1=e[H1>>2]|0,j1=R8(t,V1,q1,Y1,28086)|0,r2=e[Q0>>2]|0,P1=r2+12|0,e[P1>>2]=j1,c2=e[u0>>2]|0,z1=e[V>>2]|0,u2=z1+(c2<<2)|0,s2=e[u2>>2]|0,E2=e[Q0>>2]|0,o2=e[E2>>2]|0,K1=E2+28|0,h2=e[K1>>2]|0,a2=R8(t,s2,o2,h2,37449)|0,i2=e[Q0>>2]|0,A2=i2+16|0,e[A2>>2]=a2,X1=e[u0>>2]|0,n2=e[V>>2]|0,f2=n2+(X1<<2)|0,e2=e[f2>>2]|0,y2=e[Q0>>2]|0,v2=e[y2>>2]|0,w2=y2+28|0,C2=e[w2>>2]|0,D2=R8(t,e2,v2,C2,46811)|0,N2=e[Q0>>2]|0,d2=N2+20|0,e[d2>>2]=D2,K2=e[u0>>2]|0,G2=e[V>>2]|0,H2=G2+(K2<<2)|0,M2=e[H2>>2]|0,P2=e[Q0>>2]|0,z2=e[P2>>2]|0,o5=P2+28|0,T1=e[o5>>2]|0,X2=R8(t,M2,z2,T1,56173)|0,L5=e[Q0>>2]|0,e5=L5+24|0,e[e5>>2]=X2,b5=e[u0>>2]|0,Z2=e[V>>2]|0,f5=Z2+(b5<<2)|0,v5=e[f5>>2]|0,P5=e[Q0>>2]|0,l5=P5+28|0,m5=e[l5>>2]|0,n5=P5+56|0,x2=e[n5>>2]|0,_2=R8(t,v5,m5,x2,9362)|0,B2=e[Q0>>2]|0,C5=B2+32|0,e[C5>>2]=_2,R5=e[u0>>2]|0,d5=e[V>>2]|0,D5=d5+(R5<<2)|0,G5=e[D5>>2]|0,q2=e[Q0>>2]|0,I5=q2+28|0,A5=e[I5>>2]|0,c5=q2+56|0,B5=e[c5>>2]|0,M1=R8(t,G5,A5,B5,18724)|0,S5=e[Q0>>2]|0,g5=S5+36|0,e[g5>>2]=M1,a5=e[u0>>2]|0,W2=e[V>>2]|0,p5=W2+(a5<<2)|0,t5=e[p5>>2]|0,s5=e[Q0>>2]|0,h5=s5+28|0,J2=e[h5>>2]|0,u5=s5+56|0,i5=e[u5>>2]|0,x5=R8(t,t5,J2,i5,28086)|0,j2=e[Q0>>2]|0,$5=j2+40|0,e[$5>>2]=x5,Q5=e[u0>>2]|0,q5=e[V>>2]|0,j5=q5+(Q5<<2)|0,E5=e[j5>>2]|0,f3=e[Q0>>2]|0,h3=f3+28|0,J5=e[h3>>2]|0,X5=f3+56|0,n3=e[X5>>2]|0,m3=R8(t,E5,J5,n3,37449)|0,V5=e[Q0>>2]|0,k3=V5+44|0,e[k3>>2]=m3,u3=e[u0>>2]|0,p3=e[V>>2]|0,z3=p3+(u3<<2)|0,G3=e[z3>>2]|0,z5=e[Q0>>2]|0,w3=z5+28|0,W5=e[w3>>2]|0,i6=z5+56|0,U3=e[i6>>2]|0,a3=R8(t,G3,W5,U3,46811)|0,l3=e[Q0>>2]|0,c3=l3+48|0,e[c3>>2]=a3,C3=e[u0>>2]|0,H5=e[V>>2]|0,U5=H5+(C3<<2)|0,O5=e[U5>>2]|0,k5=e[Q0>>2]|0,P3=k5+28|0,o6=e[P3>>2]|0,e3=k5+56|0,A3=e[e3>>2]|0,R3=R8(t,O5,o6,A3,56173)|0,u6=e[Q0>>2]|0,Q3=u6+52|0,e[Q3>>2]=R3)),v3=wi+1|0,y3=e[r0>>2]|0,r6=(v3|0)<(y3|0),r6)wi=v3;else{B=V,x8=y3;break e}}return C=$n,A|0}else y=gi+48|0,B=y,x8=a0;while(!1);for(s[k2>>2]=Hi,_8=x8<<2,u=_8,Je=C,C=C+((1*u|0)+15&-16)|0,E=_8,p9=C,C=C+((1*E|0)+15&-16)|0,At=Rh(t)|0,Ve=(At|0)!=0,Nt=Ve?0:7,Ht=gi+44|0,bt=t+24|0,at=t+32|0,Dt=Y4+2868|0,Gt=gi+52|0,ui=Nt;;){if(Yt=(on+12|0)+(ui<<2)|0,l8=e[Yt>>2]|0,U2(l8,0,1),L8=e[Ht>>2]|0,U2(l8,c6,L8),_t=e[K5>>2]|0,K8=(_t|0)==0,K8||(Me=e[bt>>2]|0,U2(l8,Me,1),Ie=e[at>>2]|0,U2(l8,Ie,1)),e4=e[r0>>2]|0,xt=(e4|0)>0,xt)for(j7=0;;)if(G7=(n6+4|0)+(j7<<2)|0,U7=e[G7>>2]|0,P7=W1+(j7<<2)|0,d7=e[P7>>2]|0,Jt=(n6+1028|0)+(U7<<2)|0,I7=e[Jt>>2]|0,Vt=e[B>>2]|0,E7=Vt+(I7<<2)|0,Kt=e[E7>>2]|0,m7=O2+(j7<<2)|0,oi=e[m7>>2]|0,O7=oi+(ui<<2)|0,C7=e[O7>>2]|0,B7=uS(l8,t,Kt,C7,d7)|0,Ai=G0+(j7<<2)|0,e[Ai>>2]=B7,p7=j7+1|0,n7=e[r0>>2]|0,ai=(p7|0)<(n7|0),ai)j7=p7;else{I=n7;break}else I=e4;if(q7=e[K5>>2]|0,H7=((Y4+3240|0)+(q7*60|0)|0)+(ui<<2)|0,J7=e[H7>>2]|0,US(ui,Dt,a4,n6,l1,W1,G0,J7,I),s7=e[n6>>2]|0,Q7=(s7|0)>0,Q7)for(ki=0;;){if(V7=(n6+1092|0)+(ki<<2)|0,zt=e[V7>>2]|0,o7=e[r0>>2]|0,Ut=(o7|0)>0,Ut)for(en=o7,hi=0,tr=0;;)if(Zt=(n6+4|0)+(tr<<2)|0,$i=e[Zt>>2]|0,K7=($i|0)==(ki|0),K7?(y7=p9+(hi<<2)|0,z7=G0+(tr<<2)|0,w7=e[z7>>2]|0,Fo=(w7|0)!=0,n=Fo&1,e[y7>>2]=n,k7=W1+(tr<<2)|0,Z7=e[k7>>2]|0,v7=hi+1|0,Wt=Je+(hi<<2)|0,e[Wt>>2]=Z7,m=e[r0>>2]|0,A7=m,an=v7):(A7=en,an=hi),S7=tr+1|0,W7=(S7|0)<(A7|0),W7)en=A7,hi=an,tr=S7;else{ls=an;break}else ls=0;if(b7=(Y4+1312|0)+(zt<<2)|0,ke=e[b7>>2]|0,D7=25648+(ke<<2)|0,Lt=e[D7>>2]|0,a7=Lt+20|0,n9=e[a7>>2]|0,dt=e[Gt>>2]|0,p8=dt+(zt<<2)|0,It=e[p8>>2]|0,Rt=yB[n9&7](t,It,Je,p9,ls)|0,Er=e[r0>>2]|0,eo=(Er|0)>0,eo)for(Xi=0,kr=0;;)if(Pn=(n6+4|0)+(kr<<2)|0,to=e[Pn>>2]|0,On=(to|0)==(ki|0),On?(io=W1+(kr<<2)|0,ro=e[io>>2]|0,qn=Xi+1|0,no=Je+(Xi<<2)|0,e[no>>2]=ro,Qr=qn):Qr=Xi,Zr=kr+1|0,oo=(Zr|0)<(Er|0),oo)Xi=Qr,kr=Zr;else{pr=Qr;break}else pr=0;if(Ao=e[b7>>2]|0,Hn=25648+(Ao<<2)|0,ao=e[Hn>>2]|0,Yn=ao+24|0,Jn=e[Yn>>2]|0,$o=e[Gt>>2]|0,Wr=$o+(zt<<2)|0,Vn=e[Wr>>2]|0,TQ[Jn&3](l8,t,Vn,Je,p9,pr,Rt,ki)|0,jr=ki+1|0,zn=e[n6>>2]|0,lo=(jr|0)<(zn|0),lo)ki=jr;else break}if(co=ui+1|0,go=Rh(t)|0,Xr=(go|0)!=0,Zn=Xr?14:7,ho=(ui|0)<(Zn|0),ho)ui=co;else{A=0;break}}return C=$n,A|0}function LS(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,L1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0;if(L2=C,b=t+64|0,w=e[b>>2]|0,m1=w+4|0,F1=e[m1>>2]|0,Y1=F1+28|0,K1=e[Y1>>2]|0,y2=w+104|0,M2=e[y2>>2]|0,f5=t+28|0,R5=e[f5>>2]|0,y=K1+(R5<<2)|0,O=e[y>>2]|0,Z=t+36|0,e[Z>>2]=O,l0=F1+4|0,V0=e[l0>>2]|0,T0=V0<<2,c=T0,i1=C,C=C+((1*c|0)+15&-16)|0,u=T0,z0=C,C=C+((1*u|0)+15&-16)|0,E=T0,I1=C,C=C+((1*E|0)+15&-16)|0,I=T0,h1=C,C=C+((1*I|0)+15&-16)|0,d1=e[l0>>2]|0,E1=(d1|0)>0,E1)for(B1=n+4|0,p1=n+1028|0,Q1=M2+48|0,x1=O<<1,L1=x1&2147483646,W2=0;;)if(U1=B1+(W2<<2)|0,Z1=e[U1>>2]|0,N1=p1+(Z1<<2)|0,D1=e[N1>>2]|0,V1=(K1+800|0)+(D1<<2)|0,O1=e[V1>>2]|0,q1=25640+(O1<<2)|0,H1=e[q1>>2]|0,j1=H1+20|0,r2=e[j1>>2]|0,W1=e[Q1>>2]|0,P1=W1+(D1<<2)|0,c2=e[P1>>2]|0,z1=f7[r2&15](t,c2)|0,u2=h1+(W2<<2)|0,e[u2>>2]=z1,s2=I1+(W2<<2)|0,j2=(z1|0)!=0,A=j2&1,e[s2>>2]=A,E2=e[t>>2]|0,o2=E2+(W2<<2)|0,h2=e[o2>>2]|0,ae(h2|0,0,L1|0)|0,a2=W2+1|0,t2=e[l0>>2]|0,$2=(a2|0)<(t2|0),$2)W2=a2;else{n1=t2;break}else n1=d1;if(w1=n+1156|0,S1=e[w1>>2]|0,R1=(S1|0)>0,R1)for(G1=n+1160|0,k1=n+2184|0,g2=0;e2=G1+(g2<<2)|0,v2=e[e2>>2]|0,w2=I1+(v2<<2)|0,C2=e[w2>>2]|0,F2=(C2|0)==0,D2=k1+(g2<<2)|0,N2=e[D2>>2]|0,F2?(d2=I1+(N2<<2)|0,K2=e[d2>>2]|0,G2=(K2|0)==0,G2||($5=10)):$5=10,($5|0)==10&&($5=0,e[w2>>2]=1,H2=I1+(N2<<2)|0,e[H2>>2]=1),P2=g2+1|0,z2=(P2|0)<(S1|0),z2;)g2=P2;if(i2=e[n>>2]|0,A2=(i2|0)>0,A2){for(X1=n+1092|0,n2=M2+52|0,f2=n+4|0,o5=n1,p5=0;;){if(O2=(o5|0)>0,O2)for(o1=o5,g5=0,u5=0;;)if(T1=f2+(u5<<2)|0,X2=e[T1>>2]|0,L5=(X2|0)==(p5|0),L5?(e5=I1+(u5<<2)|0,b5=e[e5>>2]|0,Z2=z0+(g5<<2)|0,x5=(b5|0)!=0,a=x5&1,e[Z2>>2]=a,v5=e[t>>2]|0,P5=v5+(u5<<2)|0,l5=e[P5>>2]|0,k2=g5+1|0,m5=i1+(g5<<2)|0,e[m5>>2]=l5,B=e[l0>>2]|0,_2=B,a5=k2):(_2=o1,a5=g5),n5=u5+1|0,x2=(n5|0)<(_2|0),x2)o1=_2,g5=a5,u5=n5;else{S5=a5;break}else S5=0;if(B2=X1+(p5<<2)|0,C5=e[B2>>2]|0,d5=(K1+1312|0)+(C5<<2)|0,D5=e[d5>>2]|0,G5=25648+(D5<<2)|0,_5=e[G5>>2]|0,q2=_5+28|0,I5=e[q2>>2]|0,A5=e[n2>>2]|0,c5=A5+(C5<<2)|0,B5=e[c5>>2]|0,yB[I5&7](t,B5,i1,z0,S5)|0,M1=p5+1|0,D=e[n>>2]|0,Q=(M1|0)<(D|0),!Q)break;p=e[l0>>2]|0,o5=p,p5=M1}v=e[w1>>2]|0,_=v}else _=S1;if(R=(_|0)>0,R)for(L=n+1160|0,F=e[t>>2]|0,M=n+2184|0,T=(O|0)/2&-1,N=(O|0)>1,s5=_;;){if(t5=s5+-1|0,e0=L+(t5<<2)|0,q=e[e0>>2]|0,X=F+(q<<2)|0,U=e[X>>2]|0,$0=M+(t5<<2)|0,K=e[$0>>2]|0,a0=F+(K<<2)|0,s0=e[a0>>2]|0,N)for(i5=0;;){i0=U+(i5<<2)|0,r0=+s[i0>>2],V=s0+(i5<<2)|0,h0=+s[V>>2],o0=r0>0,c0=h0>0;do if(o0)if(c0){s[i0>>2]=r0,j=r0-h0,s[V>>2]=j;break}else{s[V>>2]=r0,u0=h0+r0,s[i0>>2]=u0;break}else if(c0){s[i0>>2]=r0,d0=h0+r0,s[V>>2]=d0;break}else{s[V>>2]=r0,w0=r0-h0,s[i0>>2]=w0;break}while(!1);if(C0=i5+1|0,k0=(C0|0)<(T|0),k0)i5=C0;else break}if(G=(s5|0)>1,G)s5=t5;else break}if(z=e[l0>>2]|0,Y=(z|0)>0,!Y)return C=L2,0;for(t0=n+4|0,J=n+1028|0,W=M2+48|0,h5=0;;)if(B0=e[t>>2]|0,p0=B0+(h5<<2)|0,I0=e[p0>>2]|0,S0=t0+(h5<<2)|0,_0=e[S0>>2]|0,Q0=J+(_0<<2)|0,R0=e[Q0>>2]|0,M0=(K1+800|0)+(R0<<2)|0,N0=e[M0>>2]|0,U0=25640+(N0<<2)|0,y0=e[U0>>2]|0,H0=y0+24|0,L0=e[H0>>2]|0,D0=e[W>>2]|0,J0=D0+(R0<<2)|0,Y0=e[J0>>2]|0,P0=h1+(h5<<2)|0,K0=e[P0>>2]|0,pB[L0&3](t,Y0,K0,I0)|0,G0=h5+1|0,O0=e[l0>>2]|0,r1=(G0|0)<(O0|0),r1)h5=G0;else{m=O0;break}if(f0=(m|0)>0,!f0)return C=L2,0;for(J2=0;q0=e[t>>2]|0,e1=q0+(J2<<2)|0,b0=e[e1>>2]|0,c1=e[f5>>2]|0,$1=(M2+12|0)+(c1<<2)|0,u1=e[$1>>2]|0,g1=e[u1>>2]|0,RS(g1,b0,b0),l1=J2+1|0,s1=e[l0>>2]|0,a1=(l1|0)<(s1|0),a1;)J2=l1;return C=L2,0}function dB(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,L1=0,w1=0;if(w1=C,A=(n|0)/4&-1,a=A<<2,y=S9(a)|0,O=A+n|0,Z=O<<2,l0=S9(Z)|0,V0=n>>1,T0=+(n|0),i1=T0,I1=+Vr(+i1),c=I1*1.4426950408889634,u=+Oi(c),E=~~u,I=t+4|0,e[I>>2]=E,e[t>>2]=n,m=t+8|0,e[m>>2]=l0,p=t+12|0,e[p>>2]=y,B=(n|0)>3,!B){z0=4/T0,h1=t+16|0,s[h1>>2]=z0;return}for(v=+(n|0),b=3.141592653589793/v,w=n<<1,D=+(w|0),Q=3.141592653589793/D,B1=0;M=B1<<2,T=+(M|0),N=b*T,G=+ZA(+N),z=G,Y=B1<<1,t0=l0+(Y<<2)|0,s[t0>>2]=z,J=+Gn(+N),W=J,e0=-W,q=Y|1,X=l0+(q<<2)|0,s[X>>2]=e0,U=+(q|0),$0=Q*U,K=+ZA(+$0),a0=K,s0=Y+V0|0,i0=l0+(s0<<2)|0,s[i0>>2]=a0,r0=+Gn(+$0),V=r0,h0=s0+1|0,o0=l0+(h0<<2)|0,s[o0>>2]=V,c0=B1+1|0,j=(c0|0)<(A|0),j;)B1=c0;if(_=(n|0)/8&-1,R=(n|0)>7,!R){z0=4/T0,h1=t+16|0,s[h1>>2]=z0;return}for(L=+(n|0),F=3.141592653589793/L,p1=0;u0=p1<<2,d0=u0|2,w0=+(d0|0),C0=F*w0,k0=+ZA(+C0),f0=k0*.5,B0=f0,p0=p1<<1,I0=p0+n|0,S0=l0+(I0<<2)|0,s[S0>>2]=B0,_0=+Gn(+C0),Q0=_0*-.5,R0=Q0,M0=I0+1|0,N0=l0+(M0<<2)|0,s[N0>>2]=R0,U0=p1+1|0,y0=(U0|0)<(_|0),y0;)p1=U0;if(H0=E+-1|0,L0=1<>2]=z0;return}for(;;){for(K0=Y0,m1=0,x1=0;;)if(P0=K0&Q1,G0=(P0|0)==0,O0=1<>q0,b0=(e1|0)==0,b0){E1=d1;break}else K0=e1,m1=d1,x1=q0;if(c1=E1^-1,$1=D0&c1,u1=$1+-1|0,g1=Q1<<1,l1=y+(g1<<2)|0,e[l1>>2]=u1,s1=g1|1,a1=y+(s1<<2)|0,e[a1>>2]=E1,n1=Q1+1|0,o1=(n1|0)<(_|0),o1)Q1=n1;else break}z0=4/T0,h1=t+16|0,s[h1>>2]=z0}function IB(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0;p=C,n=(t|0)==0,!n&&(A=t+8|0,a=e[A>>2]|0,c=(a|0)==0,c||I2(a),u=t+12|0,E=e[u>>2]|0,I=(E|0)==0,I||I2(E),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0)}function RS(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,L1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,k3=0,u3=0,p3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0;for(q3=C,E=e[t>>2]|0,I=E>>1,W1=E>>2,a=I+-7|0,K2=n+(a<<2)|0,c=I+W1|0,e5=A+(c<<2)|0,_2=t+8|0,c5=e[_2>>2]|0,h5=c5+(W1<<2)|0,c3=h5,U5=K2,v3=e5;E5=v3+-16|0,p3=U5+8|0,m=+s[p3>>2],L=c3+12|0,W=+s[L>>2],r0=m*W,k0=-r0,N0=+s[U5>>2],G0=c3+8|0,l1=+s[G0>>2],B1=l1*N0,U1=k0-B1,s[E5>>2]=U1,P1=+s[U5>>2],$2=+s[L>>2],y2=$2*P1,v2=+s[p3>>2],w2=+s[G0>>2],C2=w2*v2,F2=y2-C2,D2=v3+-12|0,s[D2>>2]=F2,N2=U5+24|0,d2=+s[N2>>2],G2=c3+4|0,H2=+s[G2>>2],M2=d2*H2,P2=-M2,z2=U5+16|0,o5=+s[z2>>2],O2=+s[c3>>2],T1=O2*o5,X2=P2-T1,L5=v3+-8|0,s[L5>>2]=X2,b5=+s[z2>>2],Z2=+s[G2>>2],f5=Z2*b5,v5=+s[N2>>2],P5=+s[c3>>2],l5=P5*v5,k2=f5-l5,m5=v3+-4|0,s[m5>>2]=k2,n5=U5+-32|0,x2=c3+16|0,B2=n5>>>0>>0,!B2;)c3=x2,U5=n5,v3=E5;for(C5=A+(I<<2)|0,u=I+-8|0,R5=n+(u<<2)|0,C3=h5,O5=R5,y3=e5;d5=C3+-16|0,D5=O5+16|0,G5=+s[D5>>2],_5=C3+-4|0,q2=+s[_5>>2],I5=q2*G5,A5=O5+24|0,B5=+s[A5>>2],M1=C3+-8|0,S5=+s[M1>>2],g5=S5*B5,a5=g5+I5,s[y3>>2]=a5,W2=+s[D5>>2],g2=+s[M1>>2],p5=g2*W2,t5=+s[A5>>2],s5=+s[_5>>2],J2=s5*t5,u5=p5-J2,i5=y3+4|0,s[i5>>2]=u5,x5=+s[O5>>2],j2=C3+-12|0,$5=+s[j2>>2],L2=$5*x5,Q5=O5+8|0,q5=+s[Q5>>2],j5=+s[d5>>2],f3=j5*q5,h3=f3+L2,J5=y3+8|0,s[J5>>2]=h3,X5=+s[O5>>2],n3=+s[d5>>2],m3=n3*X5,F5=+s[Q5>>2],V5=+s[j2>>2],k3=V5*F5,u3=m3-k3,z3=y3+12|0,s[z3>>2]=u3,G3=O5+-32|0,z5=y3+16|0,w3=G3>>>0>>0,!w3;)C3=d5,O5=G3,y3=z5;for(o6=t+4|0,e3=e[o6>>2]|0,gQ(e3,c5,C5,I),A3=e[t>>2]|0,R3=e[_2>>2]|0,u6=t+12|0,Q3=e[u6>>2]|0,hQ(A3,R3,Q3,A),W5=e[_2>>2]|0,i6=W5+(I<<2)|0,H5=i6,k5=A,r6=e5,K5=e5;L3=r6+-16|0,U3=+s[k5>>2],a3=H5+4|0,l3=+s[a3>>2],p=l3*U3,B=k5+4|0,v=+s[B>>2],b=+s[H5>>2],w=b*v,y=p-w,D=r6+-4|0,s[D>>2]=y,Q=+s[k5>>2],_=+s[H5>>2],R=_*Q,F=+s[B>>2],M=+s[a3>>2],T=M*F,N=R+T,G=-N,s[K5>>2]=G,O=k5+8|0,z=+s[O>>2],Y=H5+12|0,t0=+s[Y>>2],J=t0*z,e0=k5+12|0,q=+s[e0>>2],X=H5+8|0,U=+s[X>>2],$0=U*q,Z=J-$0,K=r6+-8|0,s[K>>2]=Z,a0=+s[O>>2],s0=+s[X>>2],i0=s0*a0,V=+s[e0>>2],h0=+s[Y>>2],o0=h0*V,c0=i0+o0,j=-c0,l0=K5+4|0,s[l0>>2]=j,u0=k5+16|0,d0=+s[u0>>2],w0=H5+20|0,C0=+s[w0>>2],f0=C0*d0,B0=k5+20|0,p0=+s[B0>>2],I0=H5+16|0,S0=+s[I0>>2],V0=S0*p0,_0=f0-V0,Q0=r6+-12|0,s[Q0>>2]=_0,R0=+s[u0>>2],M0=+s[I0>>2],U0=M0*R0,y0=+s[B0>>2],H0=+s[w0>>2],L0=H0*y0,D0=U0+L0,T0=-D0,J0=K5+8|0,s[J0>>2]=T0,Y0=k5+24|0,P0=+s[Y0>>2],K0=H5+28|0,O0=+s[K0>>2],r1=O0*P0,q0=k5+28|0,e1=+s[q0>>2],b0=H5+24|0,i1=+s[b0>>2],c1=i1*e1,$1=r1-c1,s[L3>>2]=$1,u1=+s[Y0>>2],g1=+s[b0>>2],s1=g1*u1,a1=+s[q0>>2],n1=+s[K0>>2],o1=n1*a1,z0=s1+o1,I1=-z0,h1=K5+12|0,s[h1>>2]=I1,m1=K5+16|0,d1=k5+32|0,E1=H5+32|0,p1=d1>>>0>>0,p1;)H5=E1,k5=d1,r6=L3,K5=m1;for(Q1=A+(W1<<2)|0,P3=e5,j3=Q1,S3=Q1;;)if(x1=j3+-16|0,L1=P3+-16|0,w1=P3+-4|0,S1=+s[w1>>2],R1=j3+-4|0,s[R1>>2]=S1,F1=-S1,s[S3>>2]=F1,G1=P3+-8|0,k1=+s[G1>>2],Z1=j3+-8|0,s[Z1>>2]=k1,N1=-k1,D1=S3+4|0,s[D1>>2]=N1,V1=P3+-12|0,O1=+s[V1>>2],q1=j3+-12|0,s[q1>>2]=O1,H1=-O1,Y1=S3+8|0,s[Y1>>2]=H1,j1=+s[L1>>2],s[x1>>2]=j1,r2=-j1,c2=S3+12|0,s[c2>>2]=r2,z1=S3+16|0,u2=z1>>>0>>0,u2)P3=L1,j3=x1,S3=z1;else{M5=e5,O3=e5;break}for(;s2=O3+-16|0,E2=M5+12|0,o2=e[E2>>2]|0,e[s2>>2]=o2,K1=M5+8|0,h2=e[K1>>2]|0,a2=O3+-12|0,e[a2>>2]=h2,t2=M5+4|0,i2=e[t2>>2]|0,A2=O3+-8|0,e[A2>>2]=i2,X1=e[M5>>2]|0,n2=O3+-4|0,e[n2>>2]=X1,f2=M5+16|0,e2=s2>>>0>C5>>>0,e2;)M5=f2,O3=s2}function cQ(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,L1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0;if(q5=C,w=e[t>>2]|0,y=w>>1,r1=w>>2,a1=w>>3,Q1=w<<2,a=Q1,N1=C,C=C+((1*a|0)+15&-16)|0,c2=N1+(y<<2)|0,c=y+r1|0,i2=n+(c<<2)|0,D2=t+8|0,T1=e[D2>>2]|0,D=T1+(y<<2)|0,z=(a1|0)>0,z){for(u=c+1|0,K=n+(u<<2)|0,u0=a1+-1|0,_0=u0>>>1,J0=_0<<1,P0=y+-2|0,K0=P0-J0|0,G0=c+-4|0,O0=_0<<2,q0=G0-O0|0,n5=D,D5=0,h5=i2,x5=K;e1=h5+-16|0,b0=n5+-8|0,i1=h5+-8|0,c1=+s[i1>>2],$1=+s[x5>>2],u1=$1+c1,g1=+s[e1>>2],l1=x5+8|0,s1=+s[l1>>2],n1=s1+g1,o1=n5+-4|0,z0=+s[o1>>2],I1=n1*z0,h1=+s[b0>>2],m1=h1*u1,d1=m1+I1,v=D5+y|0,E1=N1+(v<<2)|0,s[E1>>2]=d1,B1=+s[b0>>2],p1=B1*n1,x1=+s[o1>>2],L1=x1*u1,w1=p1-L1,S1=D5|1,b=S1+y|0,R1=N1+(b<<2)|0,s[R1>>2]=w1,F1=x5+16|0,G1=D5+2|0,k1=(G1|0)<(a1|0),k1;)n5=b0,D5=G1,h5=e1,x5=F1;U1=J0+2|0,g2=T1+(K0<<2)|0,p5=n+(q0<<2)|0,O2=K0,m5=g2,d5=U1,s5=p5}else O2=y,m5=D,d5=0,s5=i2;if(Z1=n+4|0,D1=y-a1|0,V1=(d5|0)<(D1|0),V1){for(O1=y+-1|0,q1=O1-d5|0,H1=q1-a1|0,Y1=H1>>>1,j1=Y1<<1,r2=d5+j1|0,W1=Y1<<2,P1=W1+5|0,z1=-2-j1|0,_2=m5,_5=d5,J2=s5,$5=Z1;u2=_2+-8|0,s2=J2+-16|0,E2=J2+-8|0,o2=+s[E2>>2],K1=+s[$5>>2],h2=o2-K1,a2=+s[s2>>2],t2=$5+8|0,$2=+s[t2>>2],A2=a2-$2,X1=_2+-4|0,n2=+s[X1>>2],f2=A2*n2,e2=+s[u2>>2],y2=e2*h2,v2=y2+f2,m=_5+y|0,w2=N1+(m<<2)|0,s[w2>>2]=v2,C2=+s[u2>>2],F2=C2*A2,N2=+s[X1>>2],d2=N2*h2,K2=F2-d2,G2=_5|1,p=G2+y|0,H2=N1+(p<<2)|0,s[H2>>2]=K2,M2=$5+16|0,P2=_5+2|0,z2=(P2|0)<(D1|0),z2;)_2=u2,_5=P2,J2=s2,$5=M2;o5=r2+2|0,a5=n+(P1<<2)|0,B=O2+z1|0,W2=T1+(B<<2)|0,x2=W2,G5=o5,j2=a5}else x2=m5,G5=d5,j2=Z1;if(X2=(G5|0)<(y|0),X2)for(L5=n+(w<<2)|0,B2=x2,q2=G5,u5=L5,L2=j2;e5=B2+-8|0,b5=u5+-16|0,Z2=u5+-8|0,f5=+s[Z2>>2],v5=-f5,P5=+s[L2>>2],l5=v5-P5,k2=+s[b5>>2],Q=-k2,_=L2+8|0,R=+s[_>>2],L=Q-R,F=B2+-4|0,M=+s[F>>2],T=L*M,N=+s[e5>>2],G=N*l5,O=G+T,E=q2+y|0,Y=N1+(E<<2)|0,s[Y>>2]=O,t0=+s[e5>>2],J=t0*L,W=+s[F>>2],e0=W*l5,q=J-e0,X=q2|1,I=X+y|0,U=N1+(I<<2)|0,s[U>>2]=q,$0=L2+16|0,Z=q2+2|0,a0=(Z|0)<(y|0),a0;)B2=e5,q2=Z,u5=b5,L2=$0;if(A5=t+4|0,c5=e[A5>>2]|0,gQ(c5,T1,c2,y),g5=e[t>>2]|0,B5=e[D2>>2]|0,M1=t+12|0,S5=e[M1>>2]|0,hQ(g5,B5,S5,N1),s0=(r1|0)>0,!s0){C=q5;return}for(i0=A+(y<<2)|0,r0=e[D2>>2]|0,V=r0+(y<<2)|0,h0=t+16|0,C5=V,I5=0,t5=N1,i5=i0;o0=i5+-4|0,c0=+s[t5>>2],j=+s[C5>>2],l0=j*c0,d0=t5+4|0,w0=+s[d0>>2],C0=C5+4|0,k0=+s[C0>>2],f0=k0*w0,B0=f0+l0,p0=+s[h0>>2],I0=B0*p0,S0=A+(I5<<2)|0,s[S0>>2]=I0,V0=+s[t5>>2],Q0=+s[C0>>2],R0=Q0*V0,M0=+s[d0>>2],N0=+s[C5>>2],U0=N0*M0,y0=R0-U0,H0=+s[h0>>2],L0=y0*H0,s[o0>>2]=L0,D0=t5+8|0,T0=C5+8|0,Y0=I5+1|0,R5=(Y0|0)==(r1|0),!R5;)C5=T0,I5=Y0,t5=D0,i5=o0;C=q5}function gQ(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,L1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,k3=0,u3=0,p3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,X3=0,c6=0,p6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,L6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,L4=0,T4=0,j4=0,C4=0,N4=0,U9=0,G4=0,a4=0,R4=0,u4=0,Ce=0,q9=0,m9=0,Be=0,Ne=0,Xe=0,U4=0,Ge=0,P4=0,X4=0,be=0,e8=0,Z9=0,$e=0,f4=0,_6=0,O4=0,R9=0,$4=0,_4=0,le=0,W9=0,ce=0,ge=0,B4=0,ee=0,F4=0,he=0,C9=0,g6=0,Ue=0,l4=0,pe=0,p4=0,c4=0,P6=0,De=0,_e=0,t8=0,g4=0,k4=0,u8=0,J3=0,w9=0,B9=0,M4=0,te=0,$t=0,xe=0,lt=0,wt=0,z8=0,ct=0,gt=0,F8=0,M8=0,T8=0,N8=0,Z8=0,W8=0,kt=0,G8=0,U8=0,P8=0,k8=0,v8=0,f8=0,O8=0,q8=0,j8=0,X8=0,d8=0,Pe=0,Le=0,i8=0,S8=0,k9=0,ht=0,Qe=0,ut=0,vt=0,et=0,St=0,ie=0,tt=0,H8=0,b8=0,r8=0,q4=0,Re=0,n8=0,I8=0,D8=0,ue=0,j9=0,s8=0,E8=0,o8=0,m8=0,fe=0,ye=0,Oe=0,qe=0,X9=0,Fe=0,de=0,A8=0,we=0,Q4=0,C8=0,it=0,H4=0,I3=0,He=0,B8=0,re=0,H9=0,ne=0,D9=0,Ye=0,Y8=0,ft=0,rt=0,nt=0,J8=0,st=0,V8=0,a8=0,$8=0,_8=0,Y4=0,ot=0,x8=0,Je=0,p9=0,At=0,Ve=0,Nt=0,Ht=0,bt=0,at=0,Dt=0,se=0,Gt=0,Yt=0,l8=0,L8=0,_t=0,K8=0,Me=0,Ie=0,e4=0,xt=0,i7=0,G7=0,U7=0,P7=0,d7=0,Jt=0,I7=0,Vt=0,E7=0,Kt=0,m7=0,r7=0,oi=0,O7=0,C7=0,B7=0,Ai=0,p7=0,n7=0,ai=0,q7=0,H7=0,Y7=0,J7=0,s7=0,Q7=0,V7=0,zt=0,o7=0,Ut=0,Zt=0,$i=0,K7=0,li=0,y7=0,z7=0,w7=0,k7=0,Z7=0,v7=0,Wt=0,S7=0,W7=0,A7=0,Pt=0,b7=0,ke=0,D7=0,Lt=0,a7=0,n9=0,dt=0,p8=0,It=0,Rt=0,zr=0,Er=0;if(Er=C,d0=t+-6|0,w0=(t|0)>6,w0)for(I=a+-8|0,P5=A+(I<<2)|0,_3=a>>1,B=_3+-8|0,z8=A+(B<<2)|0,c=n,dt=P5,It=z8;l8=dt+24|0,P7=+s[l8>>2],C7=It+24|0,Q7=+s[C7>>2],w7=P7-Q7,C0=dt+28|0,M0=+s[C0>>2],K0=It+28|0,g1=+s[K0>>2],E1=M0-g1,k1=Q7+P7,s[l8>>2]=k1,r2=+s[K0>>2],a2=r2+M0,s[C0>>2]=a2,w2=c+4|0,z2=+s[w2>>2],l5=z2*E1,G5=+s[c>>2],W2=G5*w7,$5=W2+l5,s[C7>>2]=$5,m3=+s[c>>2],i6=m3*E1,P3=+s[w2>>2],j3=P3*w7,B6=i6-j3,s[K0>>2]=B6,H3=dt+16|0,N6=+s[H3>>2],s9=It+16|0,X6=+s[s9>>2],I9=N6-X6,S4=dt+20|0,G4=+s[S4>>2],Ge=It+20|0,$4=+s[Ge>>2],g6=G4-$4,k4=X6+N6,s[H3>>2]=k4,ct=+s[Ge>>2],P8=ct+G4,s[S4>>2]=P8,i8=c+20|0,H8=+s[i8>>2],E8=H8*g6,we=c+16|0,D9=+s[we>>2],_8=D9*I9,at=_8+E8,s[s9>>2]=at,Yt=+s[we>>2],L8=Yt*g6,_t=+s[i8>>2],K8=_t*I9,Me=L8-K8,s[Ge>>2]=Me,Ie=dt+8|0,e4=+s[Ie>>2],xt=It+8|0,i7=+s[xt>>2],G7=e4-i7,U7=dt+12|0,d7=+s[U7>>2],Jt=It+12|0,I7=+s[Jt>>2],Vt=d7-I7,E7=i7+e4,s[Ie>>2]=E7,Kt=+s[Jt>>2],m7=Kt+d7,s[U7>>2]=m7,r7=c+36|0,oi=+s[r7>>2],O7=oi*Vt,B7=c+32|0,Ai=+s[B7>>2],p7=Ai*G7,n7=p7+O7,s[xt>>2]=n7,ai=+s[B7>>2],q7=ai*Vt,H7=+s[r7>>2],Y7=H7*G7,J7=q7-Y7,s[Jt>>2]=J7,s7=+s[dt>>2],V7=+s[It>>2],zt=s7-V7,o7=dt+4|0,Ut=+s[o7>>2],Zt=It+4|0,$i=+s[Zt>>2],K7=Ut-$i,li=V7+s7,s[dt>>2]=li,y7=+s[Zt>>2],z7=y7+Ut,s[o7>>2]=z7,k7=c+52|0,Z7=+s[k7>>2],v7=Z7*K7,Wt=c+48|0,S7=+s[Wt>>2],W7=S7*zt,A7=W7+v7,s[It>>2]=A7,Pt=+s[Wt>>2],b7=Pt*K7,ke=+s[k7>>2],k0=ke*zt,f0=b7-k0,s[Zt>>2]=f0,B0=dt+-32|0,p0=It+-32|0,I0=c+64|0,S0=p0>>>0>>0,!S0;)c=I0,dt=B0,It=p0;if(V0=(d0|0)>1,V0)for(Lt=1;;){if(_0=1<>Lt,N0=4<>1,v=U0+-8|0,N=N0+1|0,$0=N0<<1,i0=$0|1,h0=N0*3|0,c0=h0+1|0,l0=N0<<2,a7=0;;){for(H0=r5(a7,R0)|0,L0=A+(H0<<2)|0,E=m+H0|0,D0=A+(E<<2)|0,a0=v+H0|0,T0=A+(a0<<2)|0,u=n,p8=D0,Rt=T0;J0=p8+24|0,Y0=+s[J0>>2],P0=Rt+24|0,G0=+s[P0>>2],O0=Y0-G0,r1=p8+28|0,q0=+s[r1>>2],e1=Rt+28|0,b0=+s[e1>>2],i1=q0-b0,c1=G0+Y0,s[J0>>2]=c1,$1=+s[e1>>2],u1=$1+q0,s[r1>>2]=u1,l1=u+4|0,s1=+s[l1>>2],a1=s1*i1,n1=+s[u>>2],o1=n1*O0,z0=o1+a1,s[P0>>2]=z0,I1=+s[u>>2],h1=I1*i1,m1=+s[l1>>2],d1=m1*O0,B1=h1-d1,s[e1>>2]=B1,p1=u+(N0<<2)|0,Q1=p8+16|0,x1=+s[Q1>>2],L1=Rt+16|0,w1=+s[L1>>2],S1=x1-w1,R1=p8+20|0,F1=+s[R1>>2],G1=Rt+20|0,U1=+s[G1>>2],Z1=F1-U1,N1=w1+x1,s[Q1>>2]=N1,D1=+s[G1>>2],V1=D1+F1,s[R1>>2]=V1,O1=u+(N<<2)|0,q1=+s[O1>>2],H1=q1*Z1,Y1=+s[p1>>2],j1=Y1*S1,W1=j1+H1,s[L1>>2]=W1,P1=+s[p1>>2],c2=P1*Z1,z1=+s[O1>>2],u2=z1*S1,s2=c2-u2,s[G1>>2]=s2,E2=u+($0<<2)|0,o2=p8+8|0,K1=+s[o2>>2],h2=Rt+8|0,t2=+s[h2>>2],$2=K1-t2,i2=p8+12|0,A2=+s[i2>>2],X1=Rt+12|0,n2=+s[X1>>2],f2=A2-n2,e2=t2+K1,s[o2>>2]=e2,y2=+s[X1>>2],v2=y2+A2,s[i2>>2]=v2,C2=u+(i0<<2)|0,F2=+s[C2>>2],D2=F2*f2,N2=+s[E2>>2],d2=N2*$2,K2=d2+D2,s[h2>>2]=K2,G2=+s[E2>>2],H2=G2*f2,M2=+s[C2>>2],P2=M2*$2,o5=H2-P2,s[X1>>2]=o5,O2=u+(h0<<2)|0,T1=+s[p8>>2],X2=+s[Rt>>2],L5=T1-X2,e5=p8+4|0,b5=+s[e5>>2],Z2=Rt+4|0,f5=+s[Z2>>2],v5=b5-f5,k2=X2+T1,s[p8>>2]=k2,m5=+s[Z2>>2],n5=m5+b5,s[e5>>2]=n5,x2=u+(c0<<2)|0,_2=+s[x2>>2],B2=_2*v5,C5=+s[O2>>2],R5=C5*L5,d5=R5+B2,s[Rt>>2]=d5,D5=+s[O2>>2],_5=D5*v5,q2=+s[x2>>2],I5=q2*L5,A5=_5-I5,s[Z2>>2]=A5,c5=u+(l0<<2)|0,B5=p8+-32|0,M1=Rt+-32|0,S5=M1>>>0>>0,!S5;)u=c5,p8=B5,Rt=M1;if(g5=a7+1|0,a5=(g5|0)<(_0|0),a5)a7=g5;else break}if(g2=Lt+1|0,D7=(g2|0)==(d0|0),D7)break;Lt=g2}if(y0=(a|0)>0,y0)n9=0;else return;for(;p5=A+(n9<<2)|0,p=n9|30,t5=A+(p<<2)|0,s5=+s[t5>>2],T=n9|14,h5=A+(T<<2)|0,J2=+s[h5>>2],u5=s5-J2,U=n9|31,i5=A+(U<<2)|0,x5=+s[i5>>2],s0=n9|15,j2=A+(s0<<2)|0,L2=+s[j2>>2],Q5=x5-L2,q5=J2+s5,s[t5>>2]=q5,j5=L2+x5,s[i5>>2]=j5,s[h5>>2]=u5,s[j2>>2]=Q5,r0=n9|28,E5=A+(r0<<2)|0,f3=+s[E5>>2],V=n9|12,h3=A+(V<<2)|0,J5=+s[h3>>2],X5=f3-J5,o0=n9|29,n3=A+(o0<<2)|0,F5=+s[n3>>2],j=n9|13,V5=A+(j<<2)|0,k3=+s[V5>>2],u3=F5-k3,p3=J5+f3,s[E5>>2]=p3,z3=k3+F5,s[n3>>2]=z3,G3=X5*.9238795042037964,z5=u3*.3826834261417389,w3=G3-z5,s[h3>>2]=w3,W5=X5*.3826834261417389,L3=u3*.9238795042037964,U3=L3+W5,s[V5>>2]=U3,u0=n9|26,a3=A+(u0<<2)|0,l3=+s[a3>>2],b=n9|10,c3=A+(b<<2)|0,C3=+s[c3>>2],H5=l3-C3,w=n9|27,U5=A+(w<<2)|0,O5=+s[U5>>2],y=n9|11,k5=A+(y<<2)|0,M5=+s[k5>>2],o6=O5-M5,e3=C3+l3,s[a3>>2]=e3,A3=M5+O5,s[U5>>2]=A3,R3=H5-o6,u6=R3*.7071067690849304,s[c3>>2]=u6,Q3=o6+H5,v3=Q3*.7071067690849304,s[k5>>2]=v3,D=n9|24,y3=A+(D<<2)|0,r6=+s[y3>>2],Q=n9|8,O3=A+(Q<<2)|0,K5=+s[O3>>2],S3=r6-K5,_=n9|25,g3=A+(_<<2)|0,q3=+s[g3>>2],R=n9|9,l6=A+(R<<2)|0,d3=+s[l6>>2],k6=q3-d3,v6=K5+r6,s[y3>>2]=v6,S6=d3+q3,s[g3>>2]=S6,X3=S3*.3826834261417389,c6=k6*.9238795042037964,p6=X3-c6,x6=k6*.3826834261417389,Y6=S3*.9238795042037964,C6=x6+Y6,L=n9|22,b3=A+(L<<2)|0,e6=+s[b3>>2],F=n9|6,t6=A+(F<<2)|0,f6=+s[t6>>2],D3=e6-f6,M=n9|7,Y3=A+(M<<2)|0,Z3=+s[Y3>>2],G=n9|23,b6=A+(G<<2)|0,A6=+s[b6>>2],t3=Z3-A6,O6=f6+e6,s[b3>>2]=O6,s3=A6+Z3,s[b6>>2]=s3,s[t6>>2]=t3,s[Y3>>2]=D3,O=n9|4,a6=A+(O<<2)|0,d6=+s[a6>>2],z=n9|20,n6=A+(z<<2)|0,Q6=+s[n6>>2],L6=d6-Q6,Y=n9|5,K6=A+(Y<<2)|0,I6=+s[K6>>2],t0=n9|21,J6=A+(t0<<2)|0,F3=+s[J6>>2],j6=I6-F3,G6=Q6+d6,s[n6>>2]=G6,e9=F3+I6,s[J6>>2]=e9,R6=j6*.9238795042037964,U6=L6*.3826834261417389,D6=R6+U6,z6=j6*.3826834261417389,y6=L6*.9238795042037964,F6=z6-y6,J=n9|2,M3=A+(J<<2)|0,M6=+s[M3>>2],W=n9|18,t9=A+(W<<2)|0,A9=+s[t9>>2],u9=M6-A9,e0=n9|3,f9=A+(e0<<2)|0,d9=+s[f9>>2],q=n9|19,a9=A+(q<<2)|0,$9=+s[a9>>2],T9=d9-$9,E6=A9+M6,s[t9>>2]=E6,T6=$9+d9,s[a9>>2]=T6,i9=T9+u9,N9=i9*.7071067690849304,E4=T9-u9,o4=E4*.7071067690849304,h4=+s[p5>>2],X=n9|16,G9=A+(X<<2)|0,z9=+s[G9>>2],b9=h4-z9,Z=n9|1,E9=A+(Z<<2)|0,q6=+s[E9>>2],K=n9|17,r9=A+(K<<2)|0,m4=+s[r9>>2],A4=q6-m4,y9=z9+h4,s[G9>>2]=y9,b4=m4+q6,s[r9>>2]=b4,D4=A4*.3826834261417389,L4=b9*.9238795042037964,T4=D4+L4,j4=A4*.9238795042037964,C4=b9*.3826834261417389,N4=j4-C4,U9=N4-C6,a4=T4-p6,R4=T4+p6,u4=N4+C6,Ce=a4+U9,q9=U9-a4,m9=+s[k5>>2],Be=o4-m9,Ne=+s[c3>>2],Xe=Ne-N9,U4=Ne+N9,P4=m9+o4,X4=+s[h3>>2],be=X4-D6,e8=+s[V5>>2],Z9=e8-F6,$e=X4+D6,f4=e8+F6,_6=be-Z9,O4=Z9+be,R9=+s[h5>>2],_4=R9-t3,le=+s[j2>>2],W9=le-D3,ce=t3+R9,ge=D3+le,B4=_4+Be,ee=_4-Be,F4=_6+Ce,he=F4*.7071067690849304,C9=_6-Ce,Ue=C9*.7071067690849304,l4=he+B4,s[t6>>2]=l4,pe=B4-he,s[a6>>2]=pe,p4=O4-q9,c4=p4*.7071067690849304,P6=W9-Xe,De=c4+ee,s[p5>>2]=De,_e=ee-c4,s[M3>>2]=_e,t8=O4+q9,g4=t8*.7071067690849304,u8=W9+Xe,J3=P6+Ue,s[f9>>2]=J3,w9=P6-Ue,s[E9>>2]=w9,B9=u8+g4,s[Y3>>2]=B9,M4=u8-g4,s[K6>>2]=M4,te=ce+U4,$t=ce-U4,xe=R4+$e,lt=$e-R4,wt=te+xe,s[h5>>2]=wt,gt=te-xe,s[h3>>2]=gt,F8=f4-u4,M8=ge-P4,T8=$t+F8,s[O3>>2]=T8,N8=$t-F8,s[c3>>2]=N8,Z8=f4+u4,W8=ge+P4,kt=M8+lt,s[k5>>2]=kt,G8=M8-lt,s[l6>>2]=G8,U8=W8+Z8,s[j2>>2]=U8,k8=W8-Z8,s[V5>>2]=k8,v8=+s[g3>>2],f8=b4-v8,O8=+s[y3>>2],q8=y9-O8,j8=O8+y9,X8=v8+b4,d8=q8+f8,Pe=f8-q8,Le=+s[a9>>2],S8=+s[U5>>2],k9=Le-S8,ht=+s[a3>>2],Qe=+s[t9>>2],ut=ht-Qe,vt=Qe+ht,et=S8+Le,St=+s[E5>>2],ie=+s[n6>>2],tt=St-ie,b8=+s[n3>>2],r8=+s[J6>>2],q4=b8-r8,Re=ie+St,n8=r8+b8,I8=tt-q4,D8=q4+tt,ue=+s[t5>>2],j9=+s[b3>>2],s8=ue-j9,o8=+s[i5>>2],m8=+s[b6>>2],fe=o8-m8,ye=j9+ue,Oe=m8+o8,qe=s8+k9,X9=s8-k9,Fe=I8+d8,de=Fe*.7071067690849304,A8=I8-d8,Q4=A8*.7071067690849304,C8=de+qe,s[b3>>2]=C8,it=qe-de,s[n6>>2]=it,H4=D8-Pe,I3=H4*.7071067690849304,He=fe-ut,B8=I3+X9,s[G9>>2]=B8,re=X9-I3,s[t9>>2]=re,H9=D8+Pe,ne=H9*.7071067690849304,Ye=fe+ut,Y8=He+Q4,s[a9>>2]=Y8,ft=He-Q4,s[r9>>2]=ft,rt=Ye+ne,s[b6>>2]=rt,nt=Ye-ne,s[J6>>2]=nt,J8=ye+vt,st=ye-vt,V8=Re+j8,a8=Re-j8,$8=J8+V8,s[t5>>2]=$8,Y4=J8-V8,s[E5>>2]=Y4,ot=n8-X8,x8=Oe-et,Je=st+ot,s[y3>>2]=Je,p9=st-ot,s[a3>>2]=p9,At=n8+X8,Ve=Oe+et,Nt=x8+a8,s[U5>>2]=Nt,Ht=x8-a8,s[g3>>2]=Ht,bt=Ve+At,s[i5>>2]=bt,Dt=Ve-At,s[n3>>2]=Dt,se=n9+32|0,Gt=(se|0)<(a|0),Gt;)n9=se}function hQ(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0;for(m1=C,b=t>>1,w=a+(b<<2)|0,G=n+(t<<2)|0,n1=G,o1=A,z0=a,I1=w;$0=e[o1>>2]|0,c=$0+b|0,j=a+(c<<2)|0,S0=o1+4|0,D0=e[S0>>2]|0,u=D0+b|0,b0=a+(u<<2)|0,E=c+1|0,s1=a+(E<<2)|0,a1=+s[s1>>2],I=u+1|0,y=a+(I<<2)|0,D=+s[y>>2],Q=a1-D,_=+s[j>>2],R=+s[b0>>2],L=R+_,F=+s[n1>>2],M=L*F,T=n1+4|0,N=+s[T>>2],O=N*Q,z=O+M,Y=N*L,t0=F*Q,J=Y-t0,W=I1+-16|0,e0=D+a1,q=e0*.5,X=_-R,U=X*.5,Z=z+q,s[z0>>2]=Z,K=q-z,a0=I1+-8|0,s[a0>>2]=K,s0=J+U,i0=z0+4|0,s[i0>>2]=s0,r0=J-U,V=I1+-4|0,s[V>>2]=r0,h0=o1+8|0,o0=e[h0>>2]|0,m=o0+b|0,c0=a+(m<<2)|0,l0=o1+12|0,u0=e[l0>>2]|0,p=u0+b|0,d0=a+(p<<2)|0,B=m+1|0,w0=a+(B<<2)|0,C0=+s[w0>>2],v=p+1|0,k0=a+(v<<2)|0,f0=+s[k0>>2],B0=C0-f0,p0=+s[c0>>2],I0=+s[d0>>2],V0=I0+p0,_0=n1+8|0,Q0=+s[_0>>2],R0=V0*Q0,M0=n1+12|0,N0=+s[M0>>2],U0=N0*B0,y0=U0+R0,H0=N0*V0,L0=Q0*B0,T0=H0-L0,J0=f0+C0,Y0=J0*.5,P0=p0-I0,K0=P0*.5,G0=y0+Y0,O0=z0+8|0,s[O0>>2]=G0,r1=Y0-y0,s[W>>2]=r1,q0=T0+K0,e1=z0+12|0,s[e1>>2]=q0,i1=T0-K0,c1=I1+-12|0,s[c1>>2]=i1,$1=n1+16|0,u1=o1+16|0,g1=z0+16|0,l1=g1>>>0>>0,l1;)n1=$1,o1=u1,z0=g1,I1=W}function FS(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0;return B=C,n=t+28|0,A=e[n>>2]|0,a=A+2868|0,c=n4(1,36)|0,u=t+4|0,E=e[u>>2]|0,I=c+4|0,e[I>>2]=E,s[c>>2]=-9999,m=c+8|0,e[m>>2]=a,c|0}function MS(t){t=t|0;var n=0,A=0,a=0;a=C,n=(t|0)==0,!n&&I2(t)}function TS(t){t=t|0;var n=0,A=0,a=0;a=C,n=(t|0)==0,n||I2(t)}function NS(t,n,A,a,c){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0;var u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,L1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,k3=0,u3=0,p3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,X3=0,c6=0,p6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,L6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0;i9=C,E6=t,N9=E6+48|0;do e[E6>>2]=0,E6=E6+4|0;while((E6|0)<(N9|0));_=e[A>>2]|0,R=t+36|0,e[R>>2]=_,t2=+(_|0),j5=t2*8,u3=j5,l3=+Vr(+u3),A3=l3*1.4426950408889634,g3=+Oi(A3),x6=g3+-1,b6=~~x6,L=t+32|0,e[L>>2]=b6,W=+(c|0),r0=W*.25,k0=r0,N0=k0*.5,G0=+(a|0),l1=N0/G0,B1=+Vr(+l1),U1=B1*1.4426950216293335,W1=U1+-5.965784072875977,$2=b6+1|0,F2=1<<$2,O2=+(F2|0),k2=O2*W1,_5=+(_|0),g2=k2-_5,$5=~~g2,L2=t+28|0,e[L2>>2]=$5,Q5=+(a|0),q5=Q5+.25,E5=q5*W,f3=E5,h3=f3*.5,J5=h3/G0,X5=+Vr(+J5),n3=X5*1.4426950216293335,m3=n3+-5.965784072875977,F5=O2*m3,V5=F5+.5,k3=~~V5,p3=1-$5|0,z3=p3+k3|0,G3=t+40|0,e[G3>>2]=z3,z5=a<<2,w3=S9(z5)|0,W5=t+16|0,e[W5>>2]=w3,i6=S9(z5)|0,L3=t+20|0,e[L3>>2]=i6,U3=S9(z5)|0,a3=t+24|0,e[a3>>2]=U3,c3=t+4|0,e[c3>>2]=n,e[t>>2]=a,C3=t+44|0,e[C3>>2]=c,H5=t+48|0,s[H5>>2]=1,U5=(c|0)<26e3;do if(U5)s[H5>>2]=0;else{if(O5=(c|0)<38e3,O5){s[H5>>2]=.9399999976158142;break}k5=(c|0)>46e3,k5&&(s[H5>>2]=1.274999976158142)}while(!1);P3=G0*2,M5=+(c|0),o6=(a|0)>0,Q3=o6,z6=0,X6=0;e:for(;;){for(p=Q3^1,y6=z6;;){if(y3=y6+1|0,r6=+(y3|0),j3=r6*.08664337545633316,O3=j3+2.7488713472395148,K5=+Un(+O3),S3=P3*K5,q3=S3/M5,l6=+Oi(q3),d3=~~l6,m=(d3|0)<=(X6|0),K6=m|p,!K6){E=y3,I=d3,F6=y6;break}if(k6=(y3|0)<87,k6)y6=y3;else{A9=X6;break e}}for(v6=1272+(F6<<2)|0,S6=+s[v6>>2],B6=1272+(E<<2)|0,X3=+s[B6>>2],c6=X3-S6,p6=I-X6|0,Y6=+(p6|0),C6=c6/Y6,b3=X6-I|0,e6=X6-a|0,t6=b3>>>0>e6>>>0,T9=t6?b3:e6,e3=X6-T9|0,L6=S6,u9=X6;f6=L6+100,H3=w3+(u9<<2)|0,s[H3>>2]=f6,D3=L6+C6,Y3=u9+1|0,G6=(Y3|0)==(e3|0),!G6;)L6=D3,u9=Y3;if(R3=(e3|0)<(a|0),u6=(E|0)<87,u6)Q3=R3,z6=E,X6=e3;else{A9=e3;break}}if(v3=(A9|0)<(a|0),v3)for(f9=A9;N6=f9+-1|0,n6=w3+(N6<<2)|0,Q6=e[n6>>2]|0,F=w3+(f9<<2)|0,e[F>>2]=Q6,M=f9+1|0,j6=(M|0)==(a|0),!j6;)f9=M;if(Z3=(a|0)>0,Z3){for(A6=a<<1,t3=(c|0)/(A6|0)&-1,O6=n+120|0,s3=e[O6>>2]|0,a6=n+124|0,d6=n+116|0,_3=n+112|0,R6=1,M3=0,d9=-99;;){Y=r5(t3,M3)|0,t0=+(Y|0),J=t0*.0007399999885819852,e0=J,q=+Ks(+e0),X=q*13.100000381469727,U=r5(Y,Y)|0,$0=+(U|0),Z=$0*18499999754340024e-24,K=Z,a0=+Ks(+K),s0=a0*2.240000009536743,i0=s0+X,V=t0*9999999747378752e-20,h0=V,o0=i0+h0,c0=o0,j=s3+d9|0,l0=(j|0)<(M3|0);e:do if(l0)for(u0=+s[_3>>2],d0=c0-u0,w0=d0,$9=d9;;){if(C0=r5($9,t3)|0,f0=+(C0|0),B0=f0*.0007399999885819852,p0=B0,I0=+Ks(+p0),S0=I0*13.100000381469727,V0=r5(C0,C0)|0,_0=+(V0|0),Q0=_0*18499999754340024e-24,R0=Q0,M0=+Ks(+R0),U0=M0*2.240000009536743,y0=f0*9999999747378752e-20,H0=y0,L0=S0+H0,D0=L0+U0,T0=D0(a|0);e:do if(J0)U6=R6;else for(Y0=e[a6>>2]|0,P0=Y0+M3|0,D6=R6;;){if(q0=(D6|0)<(P0|0),!q0&&(e1=r5(D6,t3)|0,b0=+(e1|0),i1=b0*.0007399999885819852,c1=i1,$1=+Ks(+c1),u1=$1*13.100000381469727,g1=r5(e1,e1)|0,s1=+(g1|0),a1=s1*18499999754340024e-24,n1=a1,o1=+Ks(+n1),z0=o1*2.240000009536743,I1=b0*9999999747378752e-20,h1=I1,m1=u1+h1,d1=m1+z0,E1=+s[d6>>2],p1=E1+c0,Q1=p1,x1=d1>2]=F1,k1=M3+1|0,F3=(k1|0)==(a|0),F3)break;R6=U6,M3=k1,d9=a9}if(Z3)for(T=M5*.5,N=e[L>>2]|0,G=N+1|0,O=1<>2]=P1,z1=M6+1|0,J6=(z1|0)==(a|0),J6){w=T;break}else M6=z1;else T6=19}else T6=19;if((T6|0)==19&&(Q=M5*.5,w=Q),u2=n+36|0,s2=w/G0,E2=s2,o2=n+24|0,K1=+s[o2>>2],h2=n+28|0,a2=+s[h2>>2],i2=PS(u2,E2,a,K1,a2)|0,A2=t+8|0,e[A2>>2]=i2,X1=S9(12)|0,n2=t+12|0,e[n2>>2]=X1,f2=S9(z5)|0,e[X1>>2]=f2,e2=S9(z5)|0,y2=X1+4|0,e[y2>>2]=e2,v2=S9(z5)|0,w2=X1+8|0,e[w2>>2]=v2,!!Z3)for(C2=e[c3>>2]|0,b=e[X1>>2]|0,B=X1+4|0,y=e[B>>2]|0,v=X1+8|0,D=e[v>>2]|0,t9=0;D2=+(t9|0),N2=D2+.5,d2=N2*M5,K2=d2/P3,G2=+Vr(+K2),H2=G2*2.885390043258667,M2=H2+-11.931568145751953,P2=M2,z2=P2<0,e9=z2?0:P2,u=e9>=16,s9=u?16:e9,o5=~~s9,T1=+(o5|0),X2=s9-T1,L5=X2,e5=1-L5,b5=o5+1|0,Z2=(C2+132|0)+(o5<<2)|0,f5=+s[Z2>>2],v5=f5,P5=v5*e5,l5=(C2+132|0)+(b5<<2)|0,m5=+s[l5>>2],n5=m5*X2,x2=n5,_2=x2+P5,B2=_2,C5=b+(t9<<2)|0,s[C5>>2]=B2,R5=(C2+200|0)+(o5<<2)|0,d5=+s[R5>>2],D5=d5,G5=D5*e5,q2=(C2+200|0)+(b5<<2)|0,I5=+s[q2>>2],A5=I5*X2,c5=A5,B5=c5+G5,M1=B5,S5=y+(t9<<2)|0,s[S5>>2]=M1,g5=(C2+268|0)+(o5<<2)|0,a5=+s[g5>>2],W2=a5,p5=W2*e5,t5=(C2+268|0)+(b5<<2)|0,s5=+s[t5>>2],h5=s5*X2,J2=h5,u5=J2+p5,i5=u5,x5=D+(t9<<2)|0,s[x5>>2]=i5,j2=t9+1|0,I6=(j2|0)==(a|0),!I6;)t9=j2}function uQ(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0;if(G0=C,A=(t|0)==0,!A){if(a=t+16|0,y=e[a>>2]|0,O=(y|0)==0,O||I2(y),Z=t+20|0,l0=e[Z>>2]|0,V0=(l0|0)==0,V0||I2(l0),L0=t+24|0,D0=e[L0>>2]|0,T0=(D0|0)==0,T0||I2(D0),c=t+8|0,u=e[c>>2]|0,E=(u|0)==0,!E){for(m=u,Y0=0;I=m+(Y0<<2)|0,p=e[I>>2]|0,B=e[p>>2]|0,I2(B),v=e[c>>2]|0,b=v+(Y0<<2)|0,w=e[b>>2]|0,D=w+4|0,Q=e[D>>2]|0,I2(Q),_=e[c>>2]|0,R=_+(Y0<<2)|0,L=e[R>>2]|0,F=L+8|0,M=e[F>>2]|0,I2(M),T=e[c>>2]|0,N=T+(Y0<<2)|0,G=e[N>>2]|0,z=G+12|0,Y=e[z>>2]|0,I2(Y),t0=e[c>>2]|0,J=t0+(Y0<<2)|0,W=e[J>>2]|0,e0=W+16|0,q=e[e0>>2]|0,I2(q),X=e[c>>2]|0,U=X+(Y0<<2)|0,$0=e[U>>2]|0,K=$0+20|0,a0=e[K>>2]|0,I2(a0),s0=e[c>>2]|0,i0=s0+(Y0<<2)|0,r0=e[i0>>2]|0,V=r0+24|0,h0=e[V>>2]|0,I2(h0),o0=e[c>>2]|0,c0=o0+(Y0<<2)|0,j=e[c0>>2]|0,u0=j+28|0,d0=e[u0>>2]|0,I2(d0),w0=e[c>>2]|0,C0=w0+(Y0<<2)|0,k0=e[C0>>2]|0,I2(k0),f0=Y0+1|0,J0=(f0|0)==17,!J0;)n=e[c>>2]|0,m=n,Y0=f0;B0=e[c>>2]|0,I2(B0)}p0=t+12|0,I0=e[p0>>2]|0,S0=(I0|0)==0,S0||(_0=e[I0>>2]|0,I2(_0),Q0=e[p0>>2]|0,R0=Q0+4|0,M0=e[R0>>2]|0,I2(M0),N0=e[p0>>2]|0,U0=N0+8|0,y0=e[U0>>2]|0,I2(y0),H0=e[p0>>2]|0,I2(H0)),P0=t,O0=P0+52|0;do e[P0>>2]=0,P0=P0+4|0;while((P0|0)<(O0|0))}}function fQ(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0;if(C0=C,E=e[t>>2]|0,I=E<<2,u=I,R=C,C=C+((1*u|0)+15&-16)|0,J=t+24|0,a0=e[J>>2]|0,IQ(E,a0,n,A,140,-1),s0=(E|0)>0,s0)for(l0=0;i0=n+(l0<<2)|0,r0=+s[i0>>2],V=A+(l0<<2)|0,h0=+s[V>>2],m=r0-h0,p=R+(l0<<2)|0,s[p>>2]=m,B=l0+1|0,c0=(B|0)==(E|0),!c0;)l0=B;if(v=e[J>>2]|0,b=t+4|0,w=e[b>>2]|0,y=w+128|0,D=e[y>>2]|0,IQ(E,v,R,A,0,D),s0)u0=0;else{C=C0;return}for(;_=n+(u0<<2)|0,L=+s[_>>2],F=R+(u0<<2)|0,M=+s[F>>2],T=L-M,s[F>>2]=T,N=u0+1|0,j=(N|0)==(E|0),!j;)u0=N;if(!s0){C=C0;return}for(Q=e[b>>2]|0,d0=0;G=A+(d0<<2)|0,O=+s[G>>2],z=O,Y=z+.5,t0=~~Y,W=(t0|0)>39,a=W?39:t0,e0=(a|0)<0,c=e0?0:a,q=R+(d0<<2)|0,X=+s[q>>2],U=(Q+336|0)+(c<<2)|0,$0=+s[U>>2],Z=$0+X,s[G>>2]=Z,K=d0+1|0,o0=(K|0)==(E|0),!o0;)d0=K;C=C0}function dQ(t,n,A,a,c){t=t|0,n=n|0,A=A|0,a=+a,c=+c;var u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,L1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0;if(E5=C,M=e[t>>2]|0,T=t+40|0,l1=e[T>>2]|0,B1=l1<<2,I=B1,U1=C,C=C+((1*I|0)+15&-16)|0,W1=t+4|0,t2=e[W1>>2]|0,C2=t2+4|0,o5=+s[C2>>2],l5=o5+c,N=(l1|0)>0,N)for(A5=0;U=U1+(A5<<2)|0,s[U>>2]=-9999,c0=A5+1|0,I0=(c0|0)<(l1|0),I0;)A5=c0;if(L0=t2+8|0,e1=+s[L0>>2],c1=l50,$1){for(u1=t+16|0,g1=e[u1>>2]|0,g5=0;s1=g1+(g5<<2)|0,a1=+s[s1>>2],n1=a1+G5,o1=A+(g5<<2)|0,s[o1>>2]=n1,z0=g5+1|0,q2=(z0|0)==(M|0),!q2;)g5=z0;if(I1=t+8|0,h1=e[I1>>2]|0,m1=t2+496|0,d1=+s[m1>>2],E1=d1-a,$1)for(p1=t+20|0,Q1=e[p1>>2]|0,x1=t+32|0,L1=t+36|0,w1=t+28|0,c5=0;;){S1=n+(c5<<2)|0,R1=+s[S1>>2],F1=Q1+(c5<<2)|0,G1=e[F1>>2]|0,S5=c5,s5=R1;e:for(;;)for(B5=S5;;){if(k1=B5+1|0,Z1=(k1|0)<(M|0),!Z1){v=0,w=k1,M1=B5,h5=s5;break e}if(N1=Q1+(k1<<2)|0,D1=e[N1>>2]|0,V1=(D1|0)==(G1|0),!V1){v=1,w=k1,M1=B5,h5=s5;break e}if(O1=n+(k1<<2)|0,q1=+s[O1>>2],H1=q1>s5,H1){S5=k1,s5=q1;continue e}else B5=k1}if(Y1=h5+6,j1=A+(M1<<2)|0,r2=+s[j1>>2],P1=Y1>r2,P1&&(c2=e[x1>>2]|0,z1=G1>>c2,u2=(z1|0)>16,E=u2?16:z1,s2=(E|0)<0,u=s2?0:E,E2=h1+(u<<2)|0,o2=e[E2>>2]|0,K1=e[L1>>2]|0,h2=E1+h5,a2=h2,$2=a2+-30,i2=$2*.10000000149011612,A2=~~i2,X1=(A2|0)<0,n2=X1?0:A2,f2=(n2|0)>7,e2=f2?7:n2,y2=o2+(e2<<2)|0,v2=e[y2>>2]|0,w2=v2+4|0,F2=+s[w2>>2],D2=~~F2,N2=+s[v2>>2],d2=~~N2,K2=(d2|0)<(D2|0),K2))for(G2=Q1+(M1<<2)|0,H2=e[G2>>2]|0,M2=e[w1>>2]|0,P2=H2-M2|0,z2=+(P2|0),O2=K1>>1,T1=+(O2|0),X2=N2+-16,L5=+(K1|0),e5=X2*L5,b5=e5-T1,Z2=b5+z2,f5=~~Z2,I5=d2,q5=f5;v5=(q5|0)>0,v5&&(F=I5+2|0,P5=v2+(F<<2)|0,k2=+s[P5>>2],m5=k2+h5,n5=U1+(q5<<2)|0,x2=+s[n5>>2],_2=x2>2]=m5)),B2=q5+K1|0,C5=(B2|0)<(l1|0),R5=I5+1|0,d5=(R5|0)<(D2|0),$5=d5&C5,$5;)I5=R5,q5=B2;if(v)c5=w;else{R=L1;break}}else j5=7}else j5=7;(j5|0)==7&&(Q=t+36|0,R=Q),D5=e[R>>2]|0,OS(U1,D5,l1),G=e[t>>2]|0,O=(G|0)>1;e:do if(O)for(z=t+20|0,Y=t+28|0,t0=e[z>>2]|0,J=e[t0>>2]|0,W=D5>>1,e0=J-W|0,q=e[Y>>2]|0,X=e0-q|0,$0=e[W1>>2]|0,Z=$0+32|0,V=1,j=J,W2=0,L2=X;;){s0=U1+(L2<<2)|0,i0=+s[s0>>2],r0=t0+(V<<2)|0,h0=e[r0>>2]|0,o0=h0+j|0,l0=o0>>1,u0=l0-q|0,d0=+s[Z>>2],w0=i0>d0,J2=w0?d0:i0,C0=(L2|0)<(u0|0);t:do if(C0)for(m=L2,i5=J2;;){for(k0=i5==-9999,p=m;;){if(f0=p+1|0,B0=U1+(f0<<2)|0,p0=+s[B0>>2],S0=p0>-9999,S0){if(V0=p0=(G|0),N0=(j|0)>(R0|0),x5=M0|N0;t:do if(x5)g2=W2;else for(p5=W2;;){if(U0=A+(p5<<2)|0,y0=+s[U0>>2],H0=y0>2]=u5),D0=p5+1|0,T0=(D0|0)<(G|0),!T0){g2=D0;break t}if(D=t0+(D0<<2)|0,L=e[D>>2]|0,J0=(L|0)>(R0|0),J0){g2=D0;break}else p5=D0}while(!1);if(K=g2+1|0,a0=(K|0)<(G|0),!a0){a5=g2;break e}y=t0+(g2<<2)|0,_=e[y>>2]|0,V=K,j=_,W2=g2,L2=Q5}else a5=0;while(!1);if(Y0=e[T>>2]|0,P0=Y0+-1|0,K0=U1+(P0<<2)|0,G0=+s[K0>>2],O0=(a5|0)<(G|0),O0)t5=a5;else{C=E5;return}for(;r1=A+(t5<<2)|0,q0=+s[r1>>2],b0=q0>2]=G0),i1=t5+1|0,_5=(i1|0)==(G|0),!_5;)t5=i1;C=E5}function j$(t,n,A,a,c,u,E){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0,u=u|0,E=E|0;var I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0;if(_0=C,m=e[t>>2]|0,p=t+4|0,F=e[p>>2]|0,e0=(F+12|0)+(a<<2)|0,V=+s[e0>>2],d0=(m|0)>0,!!d0)for(w0=t+48|0,C0=+s[w0>>2],k0=t+12|0,f0=e[k0>>2]|0,B=f0+(a<<2)|0,v=e[B>>2]|0,b=F+108|0,w=(a|0)==1,y=C0,D=y*.005,Q=y*3e-4,I0=0;_=n+(I0<<2)|0,R=+s[_>>2],L=v+(I0<<2)|0,M=+s[L>>2],T=M+R,N=+s[b>>2],G=T>N,S0=G?N:T,O=A+(I0<<2)|0,z=+s[O>>2],Y=z+V,t0=S0>2]=I,w&&(W=E+(I0<<2)|0,q=+s[W>>2],X=S0-q,U=X>-17.200000762939453,$0=X+17.200000762939453,Z=$0,U?(K=D*Z,a0=1-K,s0=a0,i0=s0<0,i0?B0=9999999747378752e-20:B0=s0):(r0=Q*Z,h0=1-r0,o0=h0,B0=o0),c0=u+(I0<<2)|0,j=+s[c0>>2],l0=j*B0,s[c0>>2]=l0),u0=I0+1|0,p0=(u0|0)==(m|0),!p0;)I0=u0}function GS(t,n){t=+t,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0;return N=C,a=n+4|0,c=e[a>>2]|0,y=c+28|0,D=e[y>>2]|0,Q=n+40|0,_=e[Q>>2]|0,R=D+(_<<2)|0,L=e[R>>2]|0,F=(L|0)/2&-1,M=+(F|0),u=c+8|0,E=e[u>>2]|0,I=+(E|0),m=M/I,p=D+2936|0,B=+s[p>>2],v=B*m,b=v+t,w=b<-9999,A=w?-9999:b,+A}function US(t,n,A,a,c,u,E,I,m){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0,u=u|0,E=E|0,I=I|0,m=m|0;var p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,L1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,k3=0,u3=0,p3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,X3=0,c6=0,p6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,L6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,L4=0,T4=0,j4=0,C4=0,N4=0,U9=0,G4=0;if(G4=C,s0=e[A>>2]|0,i0=A+4|0,o5=e[i0>>2]|0,z3=o5+500|0,C3=e[z3>>2]|0,u6=(C3|0)==0,u6?V5=16:(l6=o5+508|0,C6=e[l6>>2]|0,V5=C6),t3=e[o5>>2]|0,I6=((n+132|0)+(t3*60|0)|0)+(t<<2)|0,r0=e[I6>>2]|0,k0=(n+252|0)+(t<<2)|0,N0=e[k0>>2]|0,G0=1624+(N0<<3)|0,l1=+A1[G0>>3],B1=(n+312|0)+(t<<2)|0,U1=e[B1>>2]|0,W1=m<<2,v=W1,t2=C,C=C+((1*v|0)+15&-16)|0,b=W1,C2=C,C=C+((1*b|0)+15&-16)|0,Q=W1,O2=C,C=C+((1*Q|0)+15&-16)|0,_=W1,k2=C,C=C+((1*_|0)+15&-16)|0,R=W1,_5=C,C=C+((1*R|0)+15&-16)|0,g2=a+1156|0,L2=(s0|0)>1e3,N4=L2?1696:1624,T4=N4+(U1<<3)|0,L4=+A1[T4>>3],F5=r5(W1,V5)|0,L=F5,k3=C,C=C+((1*L|0)+15&-16)|0,e[t2>>2]=k3,w=F5,u3=C,C=C+((1*w|0)+15&-16)|0,e[C2>>2]=u3,y=F5,p3=C,C=C+((1*y|0)+15&-16)|0,e[O2>>2]=p3,D=F5,G3=C,C=C+((1*D|0)+15&-16)|0,e[k2>>2]=G3,z5=(m|0)>1,z5&&(w3=k3+(V5<<2)|0,W5=t2+4|0,e[W5>>2]=w3,i6=u3+(V5<<2)|0,L3=C2+4|0,e[L3>>2]=i6,U3=p3+(V5<<2)|0,a3=O2+4|0,e[a3>>2]=U3,l3=G3+(V5<<2)|0,c3=k2+4|0,e[c3>>2]=l3,u9=(m|0)==2,!u9))for(k5=2;M=e[t2>>2]|0,G=e[C2>>2]|0,O=e[O2>>2]|0,z=e[k2>>2]|0,O5=r5(k5,V5)|0,P3=M+(O5<<2)|0,M5=t2+(k5<<2)|0,e[M5>>2]=P3,o6=G+(O5<<2)|0,e3=C2+(k5<<2)|0,e[e3>>2]=o6,A3=O+(O5<<2)|0,R3=O2+(k5<<2)|0,e[R3>>2]=A3,Q3=z+(O5<<2)|0,v3=k2+(k5<<2)|0,e[v3>>2]=Q3,y3=k5+1|0,X6=(y3|0)==(m|0),!X6;)k5=y3;if(H5=e[g2>>2]|0,U5=(s0|0)>0,U5)for(r6=e[k2>>2]|0,j3=(m|0)>0,O3=s0^-1,K5=V5^-1,T6=0,I9=O3;;){if(q3=(I9|0)>(K5|0),j4=q3?I9:K5,d3=j4^-1,k6=s0-T6|0,v6=(V5|0)>(k6|0),p=v6?k6:V5,s4(_5|0,E|0,W1|0)|0,ae(r6|0,0,F5|0)|0,j3)for(S6=(p|0)>0,B6=r0-T6|0,r9=0;;){if(b3=u+(r9<<2)|0,e6=e[b3>>2]|0,t6=e6+(T6<<2)|0,f6=_5+(r9<<2)|0,H3=e[f6>>2]|0,D3=(H3|0)==0,D3){if(S6)for(b6=O2+(r9<<2)|0,A6=e[b6>>2]|0,O6=t2+(r9<<2)|0,s3=e[O6>>2]|0,a6=C2+(r9<<2)|0,d6=e[a6>>2]|0,_3=k2+(r9<<2)|0,N6=e[_3>>2]|0,E9=0;T0=A6+(E9<<2)|0,s[T0>>2]=1000000013351432e-25,J0=s3+(E9<<2)|0,s[J0>>2]=0,Y0=d6+(E9<<2)|0,s[Y0>>2]=0,P0=N6+(E9<<2)|0,e[P0>>2]=0,U=E9+T6|0,K0=e6+(U<<2)|0,e[K0>>2]=0,O0=E9+1|0,M6=(O0|0)==(d3|0),!M6;)E9=O0}else{if(Y3=O2+(r9<<2)|0,Z3=e[Y3>>2]|0,S6){for(z9=0;$0=z9+T6|0,n6=e6+($0<<2)|0,Q6=e[n6>>2]|0,L6=1768+(Q6<<2)|0,K6=e[L6>>2]|0,J6=Z3+(z9<<2)|0,e[J6>>2]=K6,F3=z9+1|0,y6=(F3|0)==(d3|0),!y6;)z9=F3;if(j6=c+(r9<<2)|0,G6=e[j6>>2]|0,e9=k2+(r9<<2)|0,s9=e[e9>>2]|0,S6){for(G9=0;R6=(G9|0)>=(B6|0),a0=R6?L4:l1,U6=a0,Z=G9+T6|0,D6=G6+(Z<<2)|0,z6=+s[D6>>2],d9=+Zi(+z6),V=Z3+(G9<<2)|0,h0=+s[V>>2],o0=d9/h0,c0=s9+(G9<<2)|0,y9=!(o0>2]=B,j=G9+1|0,F6=(j|0)==(p|0),!F6;)G9=j;if(S6)for(l0=t2+(r9<<2)|0,u0=e[l0>>2]|0,d0=C2+(r9<<2)|0,w0=e[d0>>2]|0,b9=0;;)if(C0=b9+T6|0,f0=G6+(C0<<2)|0,B0=+s[f0>>2],p0=B0*B0,I0=u0+(b9<<2)|0,s[I0>>2]=p0,S0=w0+(b9<<2)|0,s[S0>>2]=p0,V0=+s[f0>>2],_0=V0<0,_0&&(Q0=+s[I0>>2],R0=-Q0,s[I0>>2]=R0),M0=Z3+(b9<<2)|0,U0=+s[M0>>2],y0=U0*U0,s[M0>>2]=y0,H0=b9+1|0,M3=(H0|0)==(d3|0),M3){T=d0,D0=u0;break}else b9=H0;else U9=21}else U9=21}else U9=21;(U9|0)==21&&(U9=0,F=t2+(r9<<2)|0,Y=e[F>>2]|0,q=C2+(r9<<2)|0,T=q,D0=Y),L0=e[T>>2]|0,b4=e[i0>>2]|0,+EQ(b4,r0,D0,L0,Z3,0,T6,p,t6)}if(r1=r9+1|0,t9=(r1|0)==(m|0),t9)break;r9=r1}if(X3=e[g2>>2]|0,c6=(X3|0)>0,c6)for(p6=(p|0)>0,x6=I-T6|0,Y6=r0-T6|0,m3=X3,C4=0;;){if(q0=(a+1160|0)+(C4<<2)|0,e1=e[q0>>2]|0,b0=(a+2184|0)+(C4<<2)|0,i1=e[b0>>2]|0,c1=u+(e1<<2)|0,$1=e[c1>>2]|0,u1=$1+(T6<<2)|0,g1=u+(i1<<2)|0,s1=e[g1>>2]|0,a1=t2+(e1<<2)|0,n1=e[a1>>2]|0,o1=t2+(i1<<2)|0,z0=e[o1>>2]|0,I1=C2+(e1<<2)|0,h1=e[I1>>2]|0,m1=C2+(i1<<2)|0,d1=e[m1>>2]|0,E1=O2+(e1<<2)|0,p1=e[E1>>2]|0,Q1=O2+(i1<<2)|0,x1=e[Q1>>2]|0,L1=k2+(e1<<2)|0,w1=e[L1>>2]|0,S1=k2+(i1<<2)|0,R1=e[S1>>2]|0,F1=_5+(e1<<2)|0,G1=e[F1>>2]|0,k1=(G1|0)==0,Z1=_5+(i1<<2)|0,k1?(N1=e[Z1>>2]|0,D1=(N1|0)==0,D1?W2=m3:U9=31):U9=31,(U9|0)==31){if(U9=0,e[Z1>>2]=1,e[F1>>2]=1,p6)for(q6=0;;){V1=(q6|0)<(x6|0);do if(V1){if(O1=w1+(q6<<2)|0,q1=e[O1>>2]|0,H1=(q1|0)==0,Y1=R1+(q6<<2)|0,H1&&(j1=e[Y1>>2]|0,r2=(j1|0)==0,r2)){e5=(q6|0)<(Y6|0);do if(e5)b5=z0+(q6<<2)|0,Z2=+s[b5>>2],f5=n1+(q6<<2)|0,v5=+s[f5>>2],P5=v5+Z2,s[f5>>2]=P5,$9=+Zi(+P5),l5=h1+(q6<<2)|0,s[l5>>2]=$9,N=b5;else if(m5=n1+(q6<<2)|0,n5=+s[m5>>2],x2=z0+(q6<<2)|0,_2=+s[x2>>2],B2=_2+n5,C5=B2<0,f9=+Zi(+n5),a9=+Zi(+_2),R5=a9+f9,d5=h1+(q6<<2)|0,s[d5>>2]=R5,C5){D5=-R5,s[m5>>2]=D5,N=x2;break}else{s[m5>>2]=R5,N=x2;break}while(!1);G5=d1+(q6<<2)|0,s[G5>>2]=0,s[N>>2]=0,e[Y1>>2]=1,X=q6+T6|0,q2=s1+(X<<2)|0,e[q2>>2]=0;break}P1=n1+(q6<<2)|0,c2=+s[P1>>2],T9=+Zi(+c2),z1=z0+(q6<<2)|0,u2=+s[z1>>2],E6=+Zi(+u2),s2=E6+T9,s[P1>>2]=s2,E2=h1+(q6<<2)|0,o2=+s[E2>>2],K1=d1+(q6<<2)|0,h2=+s[K1>>2],a2=h2+o2,s[E2>>2]=a2,e[Y1>>2]=1,e[O1>>2]=1,K=q6+T6|0,$2=$1+(K<<2)|0,i2=e[$2>>2]|0,A2=s1+(K<<2)|0,X1=e[A2>>2]|0,E4=(i2|0)>-1,m4=0-i2|0,n2=E4?i2:m4,o4=(X1|0)>-1,A4=0-X1|0,f2=o4?X1:A4,e2=(n2|0)>(f2|0),e2?(y2=(i2|0)>0,v2=i2-X1|0,w2=X1-i2|0,F2=y2?v2:w2,e[A2>>2]=F2,J=e[$2>>2]|0,G2=J,P2=F2):(D2=(X1|0)>0,N2=i2-X1|0,d2=X1-i2|0,K2=D2?N2:d2,e[A2>>2]=K2,e[$2>>2]=X1,t0=e[A2>>2]|0,G2=X1,P2=t0),h4=(G2|0)>-1,S4=0-G2|0,H2=h4?G2:S4,M2=H2<<1,z2=(P2|0)<(M2|0),z2||(T1=0-P2|0,e[A2>>2]=T1,X2=e[$2>>2]|0,L5=0-X2|0,e[$2>>2]=L5)}while(!1);if(I5=p1+(q6<<2)|0,A5=+s[I5>>2],c5=x1+(q6<<2)|0,B5=+s[c5>>2],M1=B5+A5,s[c5>>2]=M1,s[I5>>2]=M1,S5=q6+1|0,A9=(S5|0)==(d3|0),A9)break;q6=S5}D4=e[i0>>2]|0,+EQ(D4,r0,n1,h1,p1,w1,T6,p,u1),W=e[g2>>2]|0,W2=W}if(g5=C4+1|0,a5=(g5|0)<(W2|0),a5)m3=W2,C4=g5;else{n3=W2;break}}else n3=X3;if(p5=T6+V5|0,t5=(s0|0)>(p5|0),N9=I9+V5|0,t5)T6=p5,I9=N9;else{S3=n3;break}}else S3=H5;if(g3=(S3|0)>0,g3)X5=S3,i9=0;else{C=G4;return}for(;s5=(a+1160|0)+(i9<<2)|0,h5=e[s5>>2]|0,J2=E+(h5<<2)|0,u5=e[J2>>2]|0,i5=(u5|0)==0,x5=(a+2184|0)+(i9<<2)|0,i5?(j2=e[x5>>2]|0,$5=E+(j2<<2)|0,Q5=e[$5>>2]|0,q5=(Q5|0)==0,q5?J5=X5:U9=52):U9=52,(U9|0)==52&&(U9=0,e[J2>>2]=1,j5=e[x5>>2]|0,E5=E+(j5<<2)|0,e[E5>>2]=1,e0=e[g2>>2]|0,J5=e0),f3=i9+1|0,h3=(f3|0)<(J5|0),h3;)X5=J5,i9=f3;C=G4}function PS(t,n,A,a,c){t=t|0,n=+n,A=A|0,a=+a,c=+c;var u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,L1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,k3=0,u3=0,p3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,X3=0,c6=0,p6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,L6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,L4=0,T4=0,j4=0,C4=0,N4=0,U9=0,G4=0,a4=0,R4=0,u4=0,Ce=0,q9=0,m9=0,Be=0,Ne=0,Xe=0,U4=0,Ge=0,P4=0,X4=0,be=0,e8=0,Z9=0,$e=0,f4=0,_6=0,O4=0,R9=0,$4=0,_4=0,le=0,W9=0,ce=0,ge=0,B4=0,ee=0,F4=0,he=0,C9=0,g6=0,Ue=0,l4=0,pe=0,p4=0,c4=0,P6=0,De=0,_e=0,t8=0,g4=0,k4=0,u8=0,J3=0,w9=0,B9=0,M4=0,te=0,$t=0,xe=0,lt=0,wt=0,z8=0,ct=0,gt=0,F8=0,M8=0,T8=0,N8=0,Z8=0,W8=0,kt=0,G8=0,U8=0,P8=0,k8=0,v8=0,f8=0,O8=0,q8=0,j8=0,X8=0,d8=0,Pe=0,Le=0,i8=0,S8=0,k9=0,ht=0,Qe=0,ut=0,vt=0,et=0,St=0,ie=0,tt=0,H8=0,b8=0,r8=0,q4=0,Re=0,n8=0,I8=0,D8=0,ue=0,j9=0,s8=0,E8=0,o8=0,m8=0,fe=0,ye=0,Oe=0,qe=0,X9=0,Fe=0,de=0,A8=0,we=0,Q4=0,C8=0,it=0,H4=0,I3=0,He=0,B8=0,re=0,H9=0,ne=0,D9=0,Ye=0,Y8=0,ft=0,rt=0,nt=0,J8=0,st=0,V8=0,a8=0,$8=0,_8=0,Y4=0,ot=0,x8=0,Je=0,p9=0,At=0,Ve=0;for(Ve=C,C=C+32480|0,J3=Ve+32256|0,p9=Ve+1792|0,w9=Ve,L=A<<2,b=L,F=C,C=C+((1*b|0)+15&-16)|0,i2=S9(68)|0,ae(p9|0,0,30464)|0,S3=a>0,o4=a<0,k9=0;;){for(le=k9<<2,ie=0;n5=ie+le|0,I5=(n5|0)<88,I5?(t5=1272+(n5<<2)|0,q5=+s[t5>>2],H9=q5):H9=-30,k3=n5+1|0,a3=(k3|0)<88,a3?(R6=1272+(k3<<2)|0,U6=+s[R6>>2],z6=H9>U6,z6?ne=U6:ne=H9):(s9=H9>-30,s9?ne=-30:ne=H9),y6=n5+2|0,F6=(y6|0)<88,F6?(M6=1272+(y6<<2)|0,t9=+s[M6>>2],A9=ne>t9,A9?D9=t9:D9=ne):(M3=ne>-30,M3?D9=-30:D9=ne),X6=n5+3|0,u9=(X6|0)<88,u9?(a9=1272+(X6<<2)|0,$9=+s[a9>>2],T9=D9>$9,T9?Ye=$9:Ye=D9):(f9=D9>-30,f9?Ye=-30:Ye=D9),E6=J3+(ie<<2)|0,s[E6>>2]=Ye,T6=ie+1|0,T8=(T6|0)==56,!T8;)ie=T6;if(l4=(p9+(k9*1792|0)|0)+448|0,M=2792+(k9*1344|0)|0,s4(l4|0,M|0,224)|0,q=(p9+(k9*1792|0)|0)+672|0,h0=(2792+(k9*1344|0)|0)+224|0,s4(q|0,h0|0,224)|0,B0=(p9+(k9*1792|0)|0)+896|0,y0=(2792+(k9*1344|0)|0)+448|0,s4(B0|0,y0|0,224)|0,r1=(p9+(k9*1792|0)|0)+1120|0,a1=(2792+(k9*1344|0)|0)+672|0,s4(r1|0,a1|0,224)|0,Q1=(p9+(k9*1792|0)|0)+1344|0,N1=(2792+(k9*1344|0)|0)+896|0,s4(Q1|0,N1|0,224)|0,c2=(p9+(k9*1792|0)|0)+1568|0,A2=(2792+(k9*1344|0)|0)+1120|0,s4(c2|0,A2|0,224)|0,N2=p9+(k9*1792|0)|0,s4(N2|0,M|0,224)|0,X2=(p9+(k9*1792|0)|0)+224|0,s4(X2|0,M|0,224)|0,S3)for(r8=0;;){if(o4)for(E8=0;h4=16-E8|0,vt=(h4|0)>-1,nt=0-h4|0,G9=vt?h4:nt,z9=+(G9|0),b9=z9*c,E9=b9+a,q6=E9<0,I=q6?0:E9,r9=I>0,u=r9?0:I,m4=((p9+(k9*1792|0)|0)+(r8*224|0)|0)+(E8<<2)|0,S4=+s[m4>>2],A4=S4+u,s[m4>>2]=A4,b4=E8+1|0,P8=(b4|0)==56,!P8;)E8=b4;else for(o8=0;g3=16-o8|0,et=(g3|0)>-1,J8=0-g3|0,x6=et?g3:J8,b6=+(x6|0),L6=b6*c,D6=L6+a,d9=D6<0,m=d9?0:D6,i9=((p9+(k9*1792|0)|0)+(r8*224|0)|0)+(o8<<2)|0,N9=+s[i9>>2],I9=N9+m,s[i9>>2]=I9,E4=o8+1|0,U8=(E4|0)==56,!U8;)o8=E4;if(e3=r8+1|0,k8=(e3|0)==8,k8)break;r8=e3}else for(b8=0;;){if(o4)for(m8=0;j4=16-m8|0,St=(j4|0)>-1,st=0-j4|0,C4=St?j4:st,N4=+(C4|0),U9=N4*c,G4=U9+a,a4=G4>0,E=a4?0:G4,u4=((p9+(k9*1792|0)|0)+(b8*224|0)|0)+(m8<<2)|0,Ce=+s[u4>>2],q9=Ce+E,s[u4>>2]=q9,m9=m8+1|0,Z8=(m9|0)==56,!Z8;)m8=m9;else for(s8=0;Be=16-s8|0,ut=(Be|0)>-1,rt=0-Be|0,Ne=ut?Be:rt,Xe=+(Ne|0),U4=Xe*c,Ge=U4+a,P4=((p9+(k9*1792|0)|0)+(b8*224|0)|0)+(s8<<2)|0,be=+s[P4>>2],e8=be+Ge,s[P4>>2]=e8,Z9=s8+1|0,N8=(Z9|0)==56,!N8;)s8=Z9;if($e=b8+1|0,W8=($e|0)==8,W8)break;b8=$e}for(D4=t+(k9<<2)|0,L4=+s[D4>>2],T4=L4,q4=0;;){for(f4=(q4|0)<2,_6=+(q4|0),w=_6*10,y=70-w,O4=f4?50:y,R9=O4+T4,$4=R9,d8=0;_4=((p9+(k9*1792|0)|0)+(q4*224|0)|0)+(d8<<2)|0,W9=+s[_4>>2],ce=W9+$4,s[_4>>2]=ce,ge=d8+1|0,M4=(ge|0)==56,!M4;)d8=ge;for(B4=w9+(q4*224|0)|0,s4(B4|0,J3|0,224)|0,ee=+(q4|0),F4=ee*10,he=70-F4,S8=0;;)if(C9=(w9+(q4*224|0)|0)+(S8<<2)|0,g6=+s[C9>>2],Ue=he+g6,s[C9>>2]=Ue,pe=S8+1|0,lt=(pe|0)==56,lt){i8=0;break}else S8=pe;for(;p4=((p9+(k9*1792|0)|0)+(q4*224|0)|0)+(i8<<2)|0,c4=+s[p4>>2],P6=(w9+(q4*224|0)|0)+(i8<<2)|0,De=+s[P6>>2],_e=c4>De,_e&&(s[P6>>2]=c4),t8=i8+1|0,xe=(t8|0)==56,!xe;)i8=t8;if(g4=q4+1|0,kt=(g4|0)==8,kt){Re=1;break}else q4=g4}for(;;){for(k4=Re+-1|0,Le=0;;)if(u8=(w9+(k4*224|0)|0)+(Le<<2)|0,T=+s[u8>>2],N=(w9+(Re*224|0)|0)+(Le<<2)|0,G=+s[N>>2],O=T>2]=T),z=Le+1|0,$t=(z|0)==56,$t){Pe=0;break}else Le=z;for(;Y=(w9+(Re*224|0)|0)+(Pe<<2)|0,t0=+s[Y>>2],J=((p9+(k9*1792|0)|0)+(Re*224|0)|0)+(Pe<<2)|0,W=+s[J>>2],e0=t0>2]=t0),X=Pe+1|0,te=(X|0)==56,!te;)Pe=X;if(U=Re+1|0,G8=(U|0)==8,G8)break;Re=U}if($0=k9+1|0,v8=($0|0)==17,v8)break;k9=$0}for(y9=n,R4=(A|0)>0,X4=A^-1,Qe=0;;){for(Z=S9(32)|0,K=i2+(Qe<<2)|0,e[K>>2]=Z,a0=+(Qe|0),s0=a0*.5,i0=a0*.34657350182533264,r0=i0+4.135165354540845,V=+Un(+r0),o0=V/y9,c0=+zA(+o0),j=~~c0,l0=+(j|0),u0=l0*n,d0=u0+1,w0=d0,C0=+Vr(+w0),k0=C0*2.885390043258667,f0=k0+-11.931568145751953,p0=+$B(+f0),I0=~~p0,S0=j+1|0,V0=+(S0|0),_0=V0*n,Q0=_0,R0=+Vr(+Q0),M0=R0*2.885390043258667,N0=M0+-11.931568145751953,U0=+zA(+N0),H0=~~U0,L0=(I0|0)>(Qe|0),ht=L0?Qe:I0,D0=(ht|0)<0,B8=D0?0:ht,T0=(H0|0)>16,p=T0?16:H0,J0=(B8|0)>(p|0),Y0=Qe+1|0,P0=(Y0|0)<17,K0=s0+3.9657840728759766,re=0;;){if(G0=S9(232)|0,O0=Z+(re<<2)|0,e[O0>>2]=G0,R4)for(n8=0;q0=F+(n8<<2)|0,s[q0>>2]=999,e1=n8+1|0,B9=(e1|0)==(A|0),!B9;)n8=e1;if(!J0)for(fe=B8;;){for(b0=+(fe|0),i1=b0*.5,I8=0,ye=0;;){if(g1=+(I8|0),l1=g1*.125,s1=l1+i1,n1=s1+3.9032840728759766,o1=n1*.6931470036506653,z0=+Un(+o1),I1=z0/y9,h1=~~I1,m1=s1+4.028284072875977,d1=m1*.6931470036506653,E1=+Un(+d1),B1=E1/y9,p1=B1+1,x1=~~p1,L1=(h1|0)<0,B=L1?0:h1,w1=(B|0)>(A|0),it=w1?A:B,S1=(it|0)<(ye|0),H4=S1?it:ye,R1=(x1|0)<0,j8=R1?0:x1,F1=(j8|0)>(A|0),Y8=F1?A:j8,G1=(H4|0)<(Y8|0),k1=(H4|0)<(A|0),V8=G1&k1,V8)for(U1=((p9+(fe*1792|0)|0)+(re*224|0)|0)+(I8<<2)|0,Z1=+s[U1>>2],D1=(ye|0)<(A|0),V1=D1?ye:A,O1=V1^-1,q1=(h1|0)>0,_=h1^-1,H1=q1?_:-1,Y1=(H1|0)<(O1|0),Y4=Y1?O1:H1,j1=Y4^-1,r2=(x1|0)>0,R=x1^-1,W1=r2?R:-1,P1=(W1|0)<(X4|0),ot=P1?X4:W1,z1=ot-Y4|0,u2=Y4+A|0,s2=u2^-1,E2=z1>>>0>s2>>>0,x8=E2?z1:s2,o2=j1-x8|0,X9=H4;;)if(K1=F+(X9<<2)|0,h2=+s[K1>>2],a2=h2>Z1,a2&&(s[K1>>2]=Z1),t2=X9+1|0,f8=(t2|0)==(o2|0),f8){Oe=o2;break}else X9=t2;else Oe=H4;if($2=I8+1|0,O8=($2|0)==56,O8){qe=Oe;break}else I8=$2,ye=Oe}if(c1=(qe|0)<(A|0),c1)for($1=((p9+(fe*1792|0)|0)+(re*224|0)|0)+220|0,u1=+s[$1>>2],Fe=qe;X1=F+(Fe<<2)|0,n2=+s[X1>>2],f2=n2>u1,f2&&(s[X1>>2]=u1),e2=Fe+1|0,q8=(e2|0)==(A|0),!q8;)Fe=e2;if(y2=fe+1|0,v2=(fe|0)<(p|0),v2)fe=y2;else break}if(P0){for(D8=0,de=0;;){if(G2=+(D8|0),H2=G2*.125,M2=H2+s0,P2=M2+3.9032840728759766,z2=P2*.6931470036506653,o5=+Un(+z2),O2=o5/y9,T1=~~O2,L5=M2+4.028284072875977,e5=L5*.6931470036506653,b5=+Un(+e5),Z2=b5/y9,f5=Z2+1,v5=~~f5,P5=(T1|0)<0,v=P5?0:T1,l5=(v|0)>(A|0),I3=l5?A:v,k2=(I3|0)<(de|0),He=k2?I3:de,m5=(v5|0)<0,X8=m5?0:v5,x2=(X8|0)>(A|0),ft=x2?A:X8,_2=(He|0)<(ft|0),B2=(He|0)<(A|0),a8=_2&B2,a8)for(C5=((p9+(Y0*1792|0)|0)+(re*224|0)|0)+(D8<<2)|0,R5=+s[C5>>2],d5=(de|0)<(A|0),D5=d5?de:A,G5=D5^-1,_5=(T1|0)>0,D=T1^-1,q2=_5?D:-1,A5=(q2|0)<(G5|0),$8=A5?G5:q2,c5=$8^-1,B5=(v5|0)>0,Q=v5^-1,M1=B5?Q:-1,S5=(M1|0)<(X4|0),_8=S5?X4:M1,g5=_8-$8|0,a5=$8+A|0,W2=a5^-1,g2=g5>>>0>W2>>>0,Je=g2?g5:W2,p5=c5-Je|0,Q4=He;;)if(s5=F+(Q4<<2)|0,h5=+s[s5>>2],J2=h5>R5,J2&&(s[s5>>2]=R5),u5=Q4+1|0,wt=(u5|0)==(p5|0),wt){A8=p5;break}else Q4=u5;else A8=He;if(i5=D8+1|0,z8=(i5|0)==56,z8){we=A8;break}else D8=i5,de=A8}if(D2=(we|0)<(A|0),D2)for(d2=((p9+(Y0*1792|0)|0)+(re*224|0)|0)+220|0,K2=+s[d2>>2],C8=we;x5=F+(C8<<2)|0,j2=+s[x5>>2],$5=j2>K2,$5&&(s[x5>>2]=K2),L2=C8+1|0,ct=(L2|0)==(A|0),!ct;)C8=L2}for(w2=Z+(re<<2)|0,C2=Z+(re<<2)|0,F2=Z+(re<<2)|0,ue=0;;){f3=+(ue|0),h3=f3*.125,J5=K0+h3,X5=J5*.6931470036506653,n3=+Un(+X5),m3=n3/y9,F5=~~m3,V5=(F5|0)<0;do if(V5)u3=ue+2|0,p3=e[w2>>2]|0,z3=p3+(u3<<2)|0,s[z3>>2]=-999;else if(G3=(F5|0)<(A|0),G3){i6=F+(F5<<2)|0,L3=e[i6>>2]|0,U3=ue+2|0,l3=e[C2>>2]|0,c3=l3+(U3<<2)|0,e[c3>>2]=L3;break}else{z5=ue+2|0,w3=e[F2>>2]|0,W5=w3+(z5<<2)|0,s[W5>>2]=-999;break}while(!1);if(C3=ue+1|0,gt=(C3|0)==56,gt)break;ue=C3}Q5=G0+8|0,j5=+s[Q5>>2],E5=j5>-200;do if(E5)j9=0;else if(H5=G0+12|0,U5=+s[H5>>2],O5=U5>-200,O5)j9=1;else if(y3=G0+16|0,r6=+s[y3>>2],j3=r6>-200,j3)j9=2;else if(O3=G0+20|0,K5=+s[O3>>2],q3=K5>-200,q3)j9=3;else if(l6=G0+24|0,d3=+s[l6>>2],k6=d3>-200,k6)j9=4;else if(v6=G0+28|0,S6=+s[v6>>2],B6=S6>-200,B6)j9=5;else if(X3=G0+32|0,c6=+s[X3>>2],p6=c6>-200,p6)j9=6;else if(Y6=G0+36|0,C6=+s[Y6>>2],b3=C6>-200,b3)j9=7;else if(e6=G0+40|0,t6=+s[e6>>2],f6=t6>-200,f6)j9=8;else if(H3=G0+44|0,D3=+s[H3>>2],Y3=D3>-200,Y3)j9=9;else if(Z3=G0+48|0,A6=+s[Z3>>2],t3=A6>-200,t3)j9=10;else if(O6=G0+52|0,s3=+s[O6>>2],a6=s3>-200,a6)j9=11;else if(d6=G0+56|0,_3=+s[d6>>2],N6=_3>-200,N6)j9=12;else if(n6=G0+60|0,Q6=+s[n6>>2],K6=Q6>-200,K6)j9=13;else{if(I6=G0+64|0,J6=+s[I6>>2],F3=J6>-200,F3){j9=14;break}if(j6=G0+68|0,G6=+s[j6>>2],e9=G6>-200,e9){j9=15;break}j9=16}while(!1);for(s[G0>>2]=j9,H8=55;;){if(k5=H8+2|0,P3=G0+(k5<<2)|0,M5=+s[P3>>2],o6=M5>-200,o6){tt=H8;break}if(A3=H8+-1|0,R3=(A3|0)>17,R3)H8=A3;else{tt=A3;break}}if(u6=+(tt|0),Q3=G0+4|0,s[Q3>>2]=u6,v3=re+1|0,F8=(v3|0)==8,F8)break;re=v3}if(M8=(Y0|0)==17,M8)break;Qe=Y0}return C=Ve,i2|0}function IQ(t,n,A,a,c,u){t=t|0,n=n|0,A=A|0,a=a|0,c=+c,u=u|0;var E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,L1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,k3=0,u3=0,p3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,X3=0,c6=0,p6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,L6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0;if(D4=C,w=t<<2,E=w,y=C,C=C+((1*E|0)+15&-16)|0,I=w,o2=C,C=C+((1*I|0)+15&-16)|0,m=w,j2=C,C=C+((1*m|0)+15&-16)|0,p=w,n3=C,C=C+((1*p|0)+15&-16)|0,B=w,W5=C,C=C+((1*B|0)+15&-16)|0,k5=+s[A>>2],r6=k5+c,S6=r6<1,A4=S6?1:r6,f6=A4*A4,D=f6*.5,z=D*A4,s[y>>2]=D,s[o2>>2]=D,s[j2>>2]=0,s[n3>>2]=z,s[W5>>2]=0,K=(t|0)>1,K)for(M3=1,E6=D,T6=D,i9=0,N9=0,I9=z,E4=1;c1=A+(M3<<2)|0,h1=+s[c1>>2],R1=h1+c,H1=R1<1,y9=H1?1:R1,K1=y9*y9,y2=K1+E6,M2=K1*E4,f5=M2+T6,R5=M2*E4,S5=R5+i9,J2=K1*y9,u5=J2+I9,i5=M2*y9,x5=i5+N9,$5=y+(M3<<2)|0,s[$5>>2]=y2,L2=o2+(M3<<2)|0,s[L2>>2]=f5,Q5=j2+(M3<<2)|0,s[Q5>>2]=S5,q5=n3+(M3<<2)|0,s[q5>>2]=u5,j5=W5+(M3<<2)|0,s[j5>>2]=x5,E5=M3+1|0,f3=E4+1,F6=(E5|0)==(t|0),!F6;)M3=E5,E6=y2,T6=f5,i9=S5,N9=x5,I9=u5,E4=f3;if(u0=e[n>>2]|0,_0=u0>>16,J0=(_0|0)>-1,J0)J5=u0,d6=0,Q6=0,J6=1,M6=0,o4=0;else for(F5=u0,p3=_0,t9=0,h4=0;;)if(m3=F5&65535,V5=y+(m3<<2)|0,k3=+s[V5>>2],u3=0-p3|0,z3=y+(u3<<2)|0,G3=+s[z3>>2],z5=G3+k3,w3=o2+(m3<<2)|0,i6=+s[w3>>2],L3=o2+(u3<<2)|0,U3=+s[L3>>2],a3=i6-U3,l3=j2+(m3<<2)|0,c3=+s[l3>>2],C3=j2+(u3<<2)|0,H5=+s[C3>>2],U5=H5+c3,O5=n3+(m3<<2)|0,P3=+s[O5>>2],M5=n3+(u3<<2)|0,o6=+s[M5>>2],e3=o6+P3,A3=W5+(m3<<2)|0,R3=+s[A3>>2],u6=W5+(u3<<2)|0,Q3=+s[u6>>2],v3=R3-Q3,y3=e3*U5,j3=v3*a3,O3=y3-j3,K5=v3*z5,S3=e3*a3,g3=K5-S3,q3=U5*z5,l6=a3*a3,d3=q3-l6,k6=g3*h4,v6=k6+O3,B6=v6/d3,X3=B6<0,e9=X3?0:B6,c6=e9-c,p6=a+(t9<<2)|0,s[p6>>2]=c6,x6=t9+1|0,Y6=h4+1,C6=n+(x6<<2)|0,b3=e[C6>>2]|0,e6=b3>>16,t6=(e6|0)>-1,t6){J5=b3,d6=O3,Q6=g3,J6=d3,M6=x6,o4=Y6;break}else F5=b3,p3=e6,t9=x6,h4=Y6;if(h3=J5&65535,X5=(h3|0)<(t|0),X5)for(v=J5,Z3=h3,X6=M6,z9=o4;;)if(D3=v>>16,Y3=y+(Z3<<2)|0,b6=+s[Y3>>2],A6=y+(D3<<2)|0,t3=+s[A6>>2],O6=b6-t3,s3=o2+(Z3<<2)|0,a6=+s[s3>>2],Q=o2+(D3<<2)|0,_=+s[Q>>2],R=a6-_,L=j2+(Z3<<2)|0,F=+s[L>>2],M=j2+(D3<<2)|0,T=+s[M>>2],N=F-T,G=n3+(Z3<<2)|0,O=+s[G>>2],Y=n3+(D3<<2)|0,t0=+s[Y>>2],J=O-t0,W=W5+(Z3<<2)|0,e0=+s[W>>2],q=W5+(D3<<2)|0,X=+s[q>>2],U=e0-X,$0=J*N,Z=U*R,a0=$0-Z,s0=U*O6,i0=J*R,r0=s0-i0,V=N*O6,h0=R*R,o0=V-h0,c0=r0*z9,j=c0+a0,l0=j/o0,d0=l0<0,s9=d0?0:l0,w0=s9-c,C0=a+(X6<<2)|0,s[C0>>2]=w0,k0=X6+1|0,f0=z9+1,B0=n+(k0<<2)|0,p0=e[B0>>2]|0,I0=p0&65535,S0=(I0|0)<(t|0),S0)v=p0,Z3=I0,X6=k0,z9=f0;else{_3=a0,L6=r0,F3=o0,A9=k0,G9=f0;break}else _3=d6,L6=Q6,F3=J6,A9=M6,G9=o4;if(H3=(A9|0)<(t|0),H3)for(u9=A9,b9=G9;V0=b9*L6,Q0=V0+_3,R0=Q0/F3,M0=R0<0,R6=M0?0:R0,N0=R6-c,U0=a+(u9<<2)|0,s[U0>>2]=N0,y0=u9+1|0,H0=b9+1,y6=(y0|0)==(t|0),!y6;)u9=y0,b9=H0;if(L0=(u|0)<1,L0){C=D4;return}if(D0=(u|0)/2&-1,T0=D0-u|0,Y0=(T0|0)>-1,Y0)N6=_3,K6=L6,j6=F3,f9=0,E9=0;else for(P0=u-D0|0,q0=D0,i1=T0,d9=0,q6=0;;)if(r1=y+(q0<<2)|0,e1=+s[r1>>2],b0=0-i1|0,$1=y+(b0<<2)|0,u1=+s[$1>>2],g1=u1+e1,l1=o2+(q0<<2)|0,s1=+s[l1>>2],a1=o2+(b0<<2)|0,n1=+s[a1>>2],o1=s1-n1,z0=j2+(q0<<2)|0,I1=+s[z0>>2],m1=j2+(b0<<2)|0,d1=+s[m1>>2],E1=d1+I1,B1=n3+(q0<<2)|0,p1=+s[B1>>2],Q1=n3+(b0<<2)|0,x1=+s[Q1>>2],L1=x1+p1,w1=W5+(q0<<2)|0,S1=+s[w1>>2],F1=W5+(b0<<2)|0,G1=+s[F1>>2],k1=S1-G1,U1=L1*E1,Z1=k1*o1,N1=U1-Z1,D1=k1*g1,V1=L1*o1,O1=D1-V1,q1=E1*g1,Y1=o1*o1,j1=q1-Y1,r2=O1*q6,W1=r2+N1,P1=W1/j1,c2=P1-c,z1=a+(d9<<2)|0,u2=+s[z1>>2],s2=c2>2]=c2),E2=d9+1|0,h2=q6+1,a2=D0+E2|0,t2=a2-u|0,z6=(E2|0)==(P0|0),z6){N6=N1,K6=O1,j6=j1,f9=P0,E9=h2;break}else q0=a2,i1=t2,d9=E2,q6=h2;if(K0=f9+D0|0,G0=(K0|0)<(t|0),G0)for(O0=t-D0|0,b=K0,$9=f9,m4=E9;;)if(i2=b-u|0,A2=y+(b<<2)|0,X1=+s[A2>>2],n2=y+(i2<<2)|0,f2=+s[n2>>2],e2=X1-f2,v2=o2+(b<<2)|0,w2=+s[v2>>2],C2=o2+(i2<<2)|0,F2=+s[C2>>2],D2=w2-F2,N2=j2+(b<<2)|0,d2=+s[N2>>2],K2=j2+(i2<<2)|0,G2=+s[K2>>2],H2=d2-G2,P2=n3+(b<<2)|0,z2=+s[P2>>2],o5=n3+(i2<<2)|0,O2=+s[o5>>2],T1=z2-O2,X2=W5+(b<<2)|0,L5=+s[X2>>2],e5=W5+(i2<<2)|0,b5=+s[e5>>2],Z2=L5-b5,v5=T1*H2,P5=Z2*D2,l5=v5-P5,k2=Z2*e2,m5=T1*D2,n5=k2-m5,x2=H2*e2,_2=D2*D2,B2=x2-_2,C5=n5*m4,d5=C5+l5,D5=d5/B2,G5=D5-c,_5=a+($9<<2)|0,q2=+s[_5>>2],I5=G5>2]=G5),A5=$9+1|0,c5=m4+1,B5=A5+D0|0,D6=(A5|0)==(O0|0),D6){n6=l5,I6=n5,G6=B2,a9=O0,r9=c5;break}else b=B5,$9=A5,m4=c5;else n6=N6,I6=K6,G6=j6,a9=f9,r9=E9;if($2=(a9|0)<(t|0),$2)T9=a9,S4=r9;else{C=D4;return}for(;M1=S4*I6,g5=M1+n6,a5=g5/G6,W2=a5-c,g2=a+(T9<<2)|0,p5=+s[g2>>2],t5=W2>2]=W2),s5=T9+1|0,h5=S4+1,U6=(s5|0)==(t|0),!U6;)T9=s5,S4=h5;C=D4}function OS(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0;if(c1=C,u=A<<2,a=u,E=C,C=C+((1*a|0)+15&-16)|0,c=u,_=C,C=C+((1*c|0)+15&-16)|0,t0=(A|0)>0,t0)y0=0,P0=0;else{C=c1;return}for(;;){S0=(P0|0)<2;do if(S0)Q0=E+(P0<<2)|0,e[Q0>>2]=y0,I=t+(y0<<2)|0,m=e[I>>2]|0,p=_+(P0<<2)|0,e[p>>2]=m,q0=P0;else{for(V0=t+(y0<<2)|0,_0=+s[V0>>2],K0=P0;;){if(B=K0+-1|0,v=_+(B<<2)|0,b=+s[v>>2],w=_0>2]|0,L=R+n|0,F=(y0|0)<(L|0),M=(K0|0)>1,D0=M&F,!D0){O0=K0,i1=12;break}if(T=K0+-2|0,N=_+(T<<2)|0,G=+s[N>>2],O=!(b<=G),O){O0=K0,i1=12;break}if(z=E+(T<<2)|0,Y=e[z>>2]|0,J=Y+n|0,W=(y0|0)<(J|0),W)K0=B;else{O0=K0,i1=12;break}}if((i1|0)==8){i1=0,y=E+(G0<<2)|0,e[y>>2]=y0,D=_+(G0<<2)|0,s[D>>2]=_0,q0=G0;break}else if((i1|0)==12){i1=0,e0=E+(O0<<2)|0,e[e0>>2]=y0,q=_+(O0<<2)|0,s[q>>2]=_0,q0=O0;break}}while(!1);if(r1=q0+1|0,X=y0+1|0,U0=(X|0)==(A|0),U0){e1=q0,b0=r1;break}else y0=X,P0=r1}if(s0=(e1|0)>-1,!s0){C=c1;return}for(w0=n+1|0,H0=0,T0=0;;){if(U=(H0|0)<(e1|0),U?($0=H0+1|0,Z=_+($0<<2)|0,K=+s[Z>>2],a0=_+(H0<<2)|0,i0=+s[a0>>2],r0=K>i0,r0?(V=E+($0<<2)|0,h0=e[V>>2]|0,R0=h0):i1=17):i1=17,(i1|0)==17&&(i1=0,o0=E+(H0<<2)|0,c0=e[o0>>2]|0,j=w0+c0|0,R0=j),l0=(R0|0)>(A|0),L0=l0?A:R0,u0=(T0|0)<(L0|0),u0)for(d0=_+(H0<<2)|0,C0=e[d0>>2]|0,k0=(R0|0)<(A|0),f0=k0?R0:A,Y0=T0;;)if(B0=t+(Y0<<2)|0,e[B0>>2]=C0,p0=Y0+1|0,M0=(p0|0)==(f0|0),M0){J0=f0;break}else Y0=p0;else J0=T0;if(I0=H0+1|0,N0=(I0|0)==(b0|0),N0)break;H0=I0,T0=J0}C=c1}function EQ(t,n,A,a,c,u,E,I,m){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0,u=u|0,E=E|0,I=I|0,m=m|0;var p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,L1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0;if(c2=C,L=I<<2,D=L,F=C,C=C+((1*D|0)+15&-16)|0,e0=t+500|0,V=e[e0>>2]|0,f0=(V|0)==0,f0?p1=I:(U0=t+504|0,O0=e[U0>>2]|0,s1=O0-E|0,p1=s1),F1=(p1|0)>(I|0),Y1=F1?I:p1,M=(Y1|0)>0,M)for(T=(u|0)==0,N=(p1|0)<(I|0),G=N?p1:I,O1=0;;){T?P1=9:(t0=u+(O1<<2)|0,J=e[t0>>2]|0,W=(J|0)==0,W&&(P1=9));do if((P1|0)==9)if(P1=0,q=a+(O1<<2)|0,X=+s[q>>2],U=c+(O1<<2)|0,$0=+s[U>>2],Z=X/$0,K=A+(O1<<2)|0,a0=+s[K>>2],s0=a0<0,i0=Z,r0=+Nn(+i0),h0=+Oi(r0),s0){o0=-h0,c0=~~o0,j=m+(O1<<2)|0,e[j>>2]=c0;break}else{l0=~~h0,u0=m+(O1<<2)|0,e[u0>>2]=l0;break}while(!1);if(d0=O1+1|0,D1=(d0|0)==(G|0),D1){V1=G;break}else O1=d0}else V1=0;if(O=(V1|0)<(I|0),!O)return y=0,C=c2,+y;for(z=(u|0)!=0,Y=n-E|0,p=0,G1=0,q1=V1;;){z?(w0=u+(q1<<2)|0,C0=e[w0>>2]|0,k0=(C0|0)==0,k0?P1=15:(B=p,k1=G1)):P1=15;do if((P1|0)==15)if(P1=0,B0=a+(q1<<2)|0,p0=+s[B0>>2],I0=c+(q1<<2)|0,S0=+s[I0>>2],V0=p0/S0,_0=!(V0<.25),Q0=(q1|0)<(Y|0),j1=z&Q0,r2=_0|j1,r2){y0=A+(q1<<2)|0,H0=+s[y0>>2],L0=H0<0,D0=V0,T0=+Nn(+D0),J0=+Oi(T0),Y0=-J0,_=L0?Y0:J0,Q=~~_,P0=m+(q1<<2)|0,e[P0>>2]=Q,K0=r5(Q,Q)|0,G0=+(K0|0),r1=+s[I0>>2],q0=G0*r1,s[B0>>2]=q0,B=p,k1=G1;break}else{R0=V0+p,M0=G1+1|0,N0=F+(G1<<2)|0,e[N0>>2]=B0,B=R0,k1=M0;break}while(!1);if(e1=q1+1|0,N1=(e1|0)==(I|0),N1){v=B,U1=k1;break}else p=B,G1=k1,q1=e1}if(b0=(U1|0)==0,b0||(Th(F,U1,4,9),i1=(U1|0)>0,!i1))return y=v,C=c2,+y;for(c1=a,$1=t+512|0,u1=+A1[$1>>3],b=v,H1=0;;)if(g1=F+(H1<<2)|0,l1=e[g1>>2]|0,a1=l1,n1=a1-c1|0,o1=n1>>2,z0=b,I1=!(z0>=u1),I1?(w=b,R=0,W1=0):(h1=A+(o1<<2)|0,m1=e[h1>>2]|0,d1=m1&-2147483648,E1=d1|1065353216,B1=(e[p2>>2]=E1,+s[p2>>2]),Q1=~~B1,x1=b+-1,L1=c+(o1<<2)|0,w1=+s[L1>>2],w=x1,R=Q1,W1=w1),S1=m+(o1<<2)|0,e[S1>>2]=R,s[l1>>2]=W1,R1=H1+1|0,Z1=(R1|0)==(U1|0),Z1){y=w;break}else b=w,H1=R1;return C=c2,+y}function qS(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0;return b=C,A=e[t>>2]|0,a=+s[A>>2],c=e[n>>2]|0,u=+s[c>>2],E=au,p=m&1,B=I-p|0,B|0}function HS(t){t=t|0;var n=0,A=0,a=0;a=C,n=(t|0)==0,n||I2(t)}function YS(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0;if(W=C,A=(t|0)==0,!A){if(a=t+4|0,y=e[a>>2]|0,F=(y|0)>0,M=t+20|0,F)for(L=y,Y=0;T=e[M>>2]|0,N=T+(Y<<2)|0,G=e[N>>2]|0,O=(G|0)==0,O?u=L:(I2(G),n=e[a>>2]|0,u=n),z=Y+1|0,c=(z|0)<(u|0),c;)L=u,Y=z;if(E=e[M>>2]|0,I2(E),I=t+24|0,m=e[I>>2]|0,p=(m|0)>0,B=t+28|0,p)for(t0=0;v=e[B>>2]|0,b=v+(t0<<2)|0,w=e[b>>2]|0,I2(w),D=t0+1|0,Q=e[I>>2]|0,_=(D|0)<(Q|0),_;)t0=D;R=e[B>>2]|0,I2(R),I2(t)}}function JS(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0;if(l0=C,c=e[t>>2]|0,U2(n,c,24),u=t+4|0,Q=e[u>>2]|0,U2(n,Q,24),Y=t+8|0,U=e[Y>>2]|0,$0=U+-1|0,U2(n,$0,24),Z=t+12|0,K=e[Z>>2]|0,a0=K+-1|0,U2(n,a0,6),s0=t+20|0,E=e[s0>>2]|0,U2(n,E,8),I=e[Z>>2]|0,m=(I|0)>0,!!m){for(p=t+24|0,i0=0,V=0;;){if(b=p+(V<<2)|0,w=e[b>>2]|0,y=Tt(w)|0,D=(y|0)>3,_=e[b>>2]|0,D?(U2(n,_,3),U2(n,1,1),R=e[b>>2]|0,L=R>>3,U2(n,L,5)):U2(n,_,4),F=e[b>>2]|0,M=(F|0)==0,M)o0=0;else for(A=F,c0=0;;)if(T=A&1,N=T+c0|0,G=A>>>1,O=(G|0)==0,O){o0=N;break}else A=G,c0=N;if(z=o0+i0|0,t0=V+1|0,J=e[Z>>2]|0,W=(t0|0)<(J|0),W)i0=z,V=t0;else{a=z;break}}if(B=(a|0)>0,!!B)for(v=t+280|0,h0=0;e0=v+(h0<<2)|0,q=e[e0>>2]|0,U2(n,q,8),X=h0+1|0,r0=(X|0)==(a|0),!r0;)h0=X}}function VS(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0;n1=C,E=n4(1,2840)|0,I=t+28|0,R=e[I>>2]|0,J=W4(n,24)|0,e[E>>2]=J,i0=W4(n,24)|0,C0=E+4|0,e[C0>>2]=i0,M0=W4(n,24)|0,K0=M0+1|0,O0=E+8|0,e[O0>>2]=K0,r1=W4(n,6)|0,m=r1+1|0,p=E+12|0,e[p>>2]=m,B=W4(n,8)|0,v=E+20|0,e[v>>2]=B,b=(B|0)<0;e:do if(b)a1=26;else{if(w=(r1|0)>-1,w){for(y=E+24|0,e1=0,c1=0;;){if(_=W4(n,3)|0,L=W4(n,1)|0,F=(L|0)<0,F){a1=26;break e}if(M=(L|0)==0,M)b0=_;else{if(T=W4(n,5)|0,N=(T|0)<0,N){a1=26;break e}G=T<<3,O=G|_,b0=O}if(z=y+(c1<<2)|0,e[z>>2]=b0,Y=(b0|0)==0,Y)l1=0;else for(a=b0,s1=0;;)if(t0=a&1,W=t0+s1|0,e0=a>>>1,q=(e0|0)==0,q){l1=W;break}else a=e0,s1=W;if(X=l1+e1|0,U=c1+1|0,$0=e[p>>2]|0,Z=(U|0)<($0|0),Z)e1=X,c1=U;else{u=X;break}}if(D=(u|0)>0,D)for(Q=E+280|0,$1=0;;){if(K=W4(n,8)|0,a0=(K|0)<0,a0)break e;if(s0=Q+($1<<2)|0,e[s0>>2]=K,r0=$1+1|0,V=(r0|0)<(u|0),V)$1=r0;else{G0=D,q0=u;break}}else G0=0,q0=u}else G0=0,q0=0;if(h0=e[v>>2]|0,o0=R+24|0,c0=e[o0>>2]|0,j=(h0|0)<(c0|0),j){if(G0)for(l0=E+280|0,u1=0;;){if(w0=l0+(u1<<2)|0,k0=e[w0>>2]|0,f0=(k0|0)<(c0|0),!f0||(B0=(R+1824|0)+(k0<<2)|0,p0=e[B0>>2]|0,I0=p0+12|0,S0=e[I0>>2]|0,V0=(S0|0)==0,u0=u1+1|0,V0))break e;if(d0=(u0|0)<(q0|0),d0)u1=u0;else break}if(_0=(R+1824|0)+(h0<<2)|0,Q0=e[_0>>2]|0,R0=Q0+4|0,N0=e[R0>>2]|0,U0=e[Q0>>2]|0,y0=(U0|0)<1,!y0){for(H0=e[p>>2]|0,i1=U0,g1=1;;){if(T0=r5(H0,g1)|0,J0=(T0|0)>(N0|0),J0)break e;if(L0=i1+-1|0,D0=(i1|0)>1,D0)i1=L0,g1=T0;else{c=T0;break}}return Y0=E+16|0,e[Y0>>2]=c,A=E,A|0}}}while(!1);return(a1|0)==26&&(P0=(E|0)==0,P0)?(A=0,A|0):(I2(E),A=0,A|0)}function KS(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0;if(p1=C,u=n4(1,44)|0,E=t+4|0,_=e[E>>2]|0,t0=_+28|0,s0=e[t0>>2]|0,e[u>>2]=n,w0=n+12|0,R0=e[w0>>2]|0,P0=u+4|0,e[P0>>2]=R0,r1=s0+2848|0,q0=e[r1>>2]|0,I=u+12|0,e[I>>2]=q0,m=q0,p=n+20|0,B=e[p>>2]|0,v=m+(B*56|0)|0,b=u+16|0,e[b>>2]=v,w=e[v>>2]|0,y=n4(R0,4)|0,D=u+20|0,e[D>>2]=y,Q=(R0|0)>0,Q)for(R=n+24|0,L=n+280|0,e1=0,l1=0,h1=0;;){if(F=R+(l1<<2)|0,M=e[F>>2]|0,T=Tt(M)|0,N=(T|0)==0,N)c1=e1,m1=h1;else if(G=(T|0)>(h1|0),a=G?T:h1,O=n4(T,4)|0,z=y+(l1<<2)|0,e[z>>2]=O,Y=(T|0)>0,Y)for(J=e[F>>2]|0,W=y+(l1<<2)|0,b0=e1,o1=0;;)if(e0=1<>2]|0,$0=b0+1|0,Z=L+(b0<<2)|0,K=e[Z>>2]|0,a0=U+(K*56|0)|0,i0=e[W>>2]|0,r0=i0+(o1<<2)|0,e[r0>>2]=a0,i1=$0),V=o1+1|0,u1=(V|0)==(T|0),u1){c1=i1,m1=a;break}else b0=i1,o1=V;else c1=e1,m1=a;if(h0=l1+1|0,o0=(h0|0)<(R0|0),o0)e1=c1,l1=h0,h1=m1;else{I1=m1;break}}else I1=0;if(c0=u+24|0,e[c0>>2]=1,j=(w|0)>0,j){for(u0=1,s1=0;;)if(l0=r5(u0,R0)|0,d0=s1+1|0,$1=(d0|0)==(w|0),$1){A=l0;break}else u0=l0,s1=d0;e[c0>>2]=A,f0=A}else f0=1;if(C0=u+8|0,e[C0>>2]=I1,k0=f0<<2,B0=S9(k0)|0,p0=u+28|0,e[p0>>2]=B0,I0=(f0|0)>0,!I0)return u|0;if(S0=w<<2,!j){for(a1=0;Y0=S9(S0)|0,K0=B0+(a1<<2)|0,e[K0>>2]=Y0,G0=a1+1|0,O0=(G0|0)<(f0|0),O0;)a1=G0;return u|0}for(V0=e[p0>>2]|0,n1=0;;){for(D0=S9(S0)|0,T0=B0+(n1<<2)|0,e[T0>>2]=D0,J0=V0+(n1<<2)|0,H0=e[J0>>2]|0,c=f0,z0=0,E1=n1;d1=(c|0)/(R0|0)&-1,M0=(E1|0)/(d1|0)&-1,N0=r5(M0,d1)|0,U0=E1-N0|0,y0=H0+(z0<<2)|0,e[y0>>2]=M0,L0=z0+1|0,g1=(L0|0)==(w|0),!g1;)c=d1,z0=L0,E1=U0;if(_0=n1+1|0,Q0=(_0|0)<(f0|0),Q0)n1=_0;else break}return u|0}function zS(t,n,A,a,c){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0;var u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0;if(M=C,u=(c|0)>0,u)Q=0,_=0;else return 0;for(;;)if(E=a+(Q<<2)|0,I=e[E>>2]|0,m=(I|0)==0,m?R=_:(p=A+(Q<<2)|0,B=e[p>>2]|0,v=_+1|0,b=A+(_<<2)|0,e[b>>2]=B,R=v),w=Q+1|0,D=(w|0)==(c|0),D){L=R;break}else Q=w,_=R;return y=(L|0)==0,y||mQ(t,n,A,L,2),0}function ZS(t,n,A,a,c,u,E,I){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0,u=u|0,E=E|0,I=I|0;var m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0;if(G=C,m=(u|0)>0,m)L=0,F=0;else return 0;for(;;)if(p=c+(L<<2)|0,B=e[p>>2]|0,v=(B|0)==0,v?M=F:(b=a+(L<<2)|0,w=e[b>>2]|0,y=F+1|0,D=a+(F<<2)|0,e[D>>2]=w,M=y),Q=L+1|0,R=(Q|0)==(u|0),R){T=M;break}else L=Q,F=M;return _=(T|0)==0,_||CQ(t,A,a,T,E),0}function WS(t,n,A,a,c){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0;var u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0;if(B1=C,I=(c|0)>0,I)i1=0,h1=0;else return u=0,u|0;for(;;)if(m=a+(i1<<2)|0,L=e[m>>2]|0,W=(L|0)==0,W?m1=h1:(r0=A+(i1<<2)|0,k0=e[r0>>2]|0,N0=h1+1|0,J0=A+(h1<<2)|0,e[J0>>2]=k0,m1=N0),Y0=i1+1|0,O0=(Y0|0)==(c|0),O0){d1=m1;break}else i1=Y0,h1=m1;if(P0=(d1|0)==0,P0)return u=0,u|0;if(p=e[n>>2]|0,B=p+8|0,v=e[B>>2]|0,b=p+12|0,w=e[b>>2]|0,y=p+4|0,D=e[y>>2]|0,Q=e[p>>2]|0,_=D-Q|0,R=(_|0)/(v|0)&-1,F=d1<<2,M=qt(t,F)|0,T=+(v|0),N=100/T,G=N,O=(d1|0)>0,O)for(z=R<<2,c1=0;q=qt(t,z)|0,X=M+(c1<<2)|0,e[X>>2]=q,ae(q|0,0,z|0)|0,U=c1+1|0,b0=(U|0)==(d1|0),!b0;)c1=U;if(Y=(R|0)>0,Y)for(t0=(v|0)>0,J=w+-1|0,e0=(w|0)>1,$1=0;;){if($0=r5($1,v)|0,Z=e[p>>2]|0,K=Z+$0|0,O)for(g1=0;;){if(t0)for(a0=A+(g1<<2)|0,s0=e[a0>>2]|0,G0=0,l1=0,o1=0;;)if(i0=K+l1|0,V=s0+(i0<<2)|0,h0=e[V>>2]|0,u1=(h0|0)>-1,z0=0-h0|0,o0=u1?h0:z0,c0=(o0|0)>(o1|0),E=c0?o0:o1,j=o0+G0|0,l0=l1+1|0,r1=(l0|0)==(v|0),r1){K0=j,n1=E;break}else G0=j,l1=l0,o1=E;else K0=0,n1=0;u0=+(K0|0),d0=u0*G,w0=~~d0;e:do if(e0)for(a1=0;;){if(C0=(p+2328|0)+(a1<<2)|0,f0=e[C0>>2]|0,B0=(n1|0)>(f0|0),!B0&&(p0=(p+2584|0)+(a1<<2)|0,I0=e[p0>>2]|0,S0=(I0|0)<0,V0=(w0|0)<(I0|0),I1=S0|V0,I1)){s1=a1;break e}if(_0=a1+1|0,Q0=(_0|0)<(J|0),Q0)a1=_0;else{s1=_0;break}}else s1=0;while(!1);if(R0=M+(g1<<2)|0,M0=e[R0>>2]|0,U0=M0+($1<<2)|0,e[U0>>2]=s1,y0=g1+1|0,q0=(y0|0)==(d1|0),q0)break;g1=y0}if(H0=$1+1|0,e1=(H0|0)==(R|0),e1)break;$1=H0}return L0=n+40|0,D0=e[L0>>2]|0,T0=D0+1|0,e[L0>>2]=T0,u=M,u|0}function jS(t,n,A,a,c){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0;var u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0;if(M=C,u=(c|0)>0,u)Q=0,_=0;else return 0;for(;;)if(E=a+(Q<<2)|0,I=e[E>>2]|0,m=(I|0)==0,m?R=_:(p=A+(Q<<2)|0,B=e[p>>2]|0,v=_+1|0,b=A+(_<<2)|0,e[b>>2]=B,R=v),w=Q+1|0,D=(w|0)==(c|0),D){L=R;break}else Q=w,_=R;return y=(L|0)==0,y||mQ(t,n,A,L,3),0}function XS(t,n,A,a,c){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0;var u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0;if(z0=C,m=(c|0)>0,m)T0=0,n1=0;else return u=0,u|0;for(;;)if(p=a+(T0<<2)|0,F=e[p>>2]|0,g1=(F|0)!=0,e0=g1&1,s1=e0+n1|0,V=T0+1|0,H0=(V|0)==(c|0),H0){a1=s1;break}else T0=V,n1=s1;if(l1=(a1|0)==0,l1)return u=0,u|0;if(f0=e[n>>2]|0,V0=f0+8|0,_0=e[V0>>2]|0,Q0=f0+12|0,R0=e[Q0>>2]|0,B=f0+4|0,v=e[B>>2]|0,b=e[f0>>2]|0,w=v-b|0,y=(w|0)/(_0|0)&-1,D=qt(t,4)|0,Q=y<<2,_=qt(t,Q)|0,e[D>>2]=_,ae(_|0,0,Q|0)|0,R=(y|0)>0,R)for(L=e[f0>>2]|0,M=(L|0)/(c|0)&-1,T=(_0|0)>0,N=R0+-1|0,G=(R0|0)>1,O=e[D>>2]|0,z=(c|0)>1,J0=0,q0=M;;){if(T)for(Y=e[A>>2]|0,N0=0,K0=0,b0=q0,c1=0;;){if(t0=Y+(b0<<2)|0,J=e[t0>>2]|0,Y0=(J|0)>-1,$1=0-J|0,W=Y0?J:$1,q=(W|0)>(c1|0),I=q?W:c1,z)for(y0=N0,r1=1;;)if(X=A+(r1<<2)|0,U=e[X>>2]|0,$0=U+(b0<<2)|0,Z=e[$0>>2]|0,P0=(Z|0)>-1,u1=0-Z|0,K=P0?Z:u1,a0=(K|0)>(y0|0),E=a0?K:y0,s0=r1+1|0,L0=(s0|0)==(c|0),L0){U0=E;break}else y0=E,r1=s0;else U0=N0;if(i0=b0+1|0,r0=K0+c|0,h0=(r0|0)<(_0|0),h0)N0=U0,K0=r0,b0=i0,c1=I;else{M0=U0,e1=i0,i1=I;break}}else M0=0,e1=q0,i1=0;e:do if(G)for(O0=0;;){if(o0=(f0+2328|0)+(O0<<2)|0,c0=e[o0>>2]|0,j=(i1|0)>(c0|0),!j&&(l0=(f0+2584|0)+(O0<<2)|0,u0=e[l0>>2]|0,d0=(M0|0)>(u0|0),!d0)){G0=O0;break e}if(w0=O0+1|0,C0=(w0|0)<(N|0),C0)O0=w0;else{G0=w0;break}}else G0=0;while(!1);if(k0=O+(J0<<2)|0,e[k0>>2]=G0,B0=J0+1|0,D0=(B0|0)==(y|0),D0)break;J0=B0,q0=e1}return p0=n+40|0,I0=e[p0>>2]|0,S0=I0+1|0,e[p0>>2]=S0,u=D,u|0}function eb(t,n,A,a,c,u,E,I){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0,u=u|0,E=E|0,I=I|0;var m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0;if(s0=C,C=C+16|0,K=s0,m=n+36|0,p=e[m>>2]|0,F=(p|0)/2&-1,M=u<<2,T=r5(M,F)|0,N=qt(n,T)|0,e[K>>2]=N,G=(u|0)>0,!G)return C=s0,0;for(O=(p|0)>1,J=0,Z=0;;){if(z=a+(J<<2)|0,Y=e[z>>2]|0,B=c+(J<<2)|0,v=e[B>>2]|0,q=(v|0)!=0,b=q&1,U=b+Z|0,O)for(W=0,e0=J;w=Y+(W<<2)|0,y=e[w>>2]|0,D=N+(e0<<2)|0,e[D>>2]=y,Q=W+1|0,_=e0+u|0,R=(Q|0)<(F|0),R;)W=Q,e0=_;if(L=J+1|0,t0=(L|0)==(u|0),t0){$0=U;break}else J=L,Z=U}return X=($0|0)==0,X?(C=s0,0):(CQ(t,A,K,1,E),C=s0,0)}function tb(t,n,A,a,c){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0;var u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0;if(Q1=C,I=e[n>>2]|0,m=I+8|0,L=e[m>>2]|0,W=n+16|0,r0=e[W>>2]|0,k0=e[r0>>2]|0,N0=t+36|0,G0=e[N0>>2]|0,l1=r5(G0,c)|0,s1=l1>>1,p=I+4|0,B=e[p>>2]|0,v=(B|0)<(s1|0),u=v?B:s1,b=e[I>>2]|0,w=u-b|0,y=(w|0)>0,!y)return 0;D=(w|0)/(L|0)&-1,Q=k0+-1|0,_=Q+D|0,R=(_|0)/(k0|0)&-1,F=R<<2,M=qt(t,F)|0,T=(c|0)>0;e:do if(T)for(n1=0;;){if(N=a+(n1<<2)|0,G=e[N>>2]|0,O=(G|0)==0,!O){a1=n1;break e}if(z=n1+1|0,Y=(z|0)<(c|0),Y)n1=z;else{a1=z;break}}else a1=0;while(!1);if(t0=(a1|0)==(c|0),t0||(J=n+8|0,e0=e[J>>2]|0,q=(e0|0)>0,!q))return 0;X=(D|0)>0,U=t+4|0,$0=I+16|0,Z=n+28|0,K=(k0|0)>0,a0=n+20|0,g1=e0,B1=0;e:for(;;){if(X){for(s0=(B1|0)==0,i0=1<>2]|0,h0=jm(V,U)|0,o0=(h0|0)==-1,o0){p1=23;break e}if(c0=e[$0>>2]|0,j=(h0|0)<(c0|0),!j){p1=23;break e}if(l0=e[Z>>2]|0,u0=l0+(h0<<2)|0,d0=e[u0>>2]|0,w0=M+(m1<<2)|0,e[w0>>2]=d0,C0=(d0|0)==0,C0){p1=23;break e}}if(f0=(o1|0)<(D|0),E1=K&f0,E1)for(B0=M+(m1<<2)|0,I1=o1,h1=0;;){if(p0=e[B0>>2]|0,I0=p0+(h1<<2)|0,S0=e[I0>>2]|0,V0=(I+24|0)+(S0<<2)|0,_0=e[V0>>2]|0,Q0=_0&i0,R0=(Q0|0)==0,!R0&&(M0=e[a0>>2]|0,U0=M0+(S0<<2)|0,y0=e[U0>>2]|0,H0=y0+(B1<<2)|0,L0=e[H0>>2]|0,D0=(L0|0)==0,!D0&&(T0=r5(I1,L)|0,J0=e[I>>2]|0,Y0=J0+T0|0,P0=AS(L0,A,Y0,c,U,L)|0,K0=(P0|0)==-1,K0))){p1=23;break e}if(O0=h1+1|0,r1=I1+1|0,q0=(O0|0)<(k0|0),e1=(r1|0)<(D|0),d1=q0&e1,d1)I1=r1,h1=O0;else{z0=r1;break}}else z0=o1;if(b0=m1+1|0,i1=(z0|0)<(D|0),i1)o1=z0,m1=b0;else break}E=e[J>>2]|0,u1=E}else u1=g1;if(c1=B1+1|0,$1=(c1|0)<(u1|0),$1)g1=u1,B1=c1;else{p1=23;break}}return(p1|0)==23,0}function mQ(t,n,A,a,c){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0;var u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,L1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0;if(j1=C,p=e[n>>2]|0,B=p+8|0,M=e[B>>2]|0,q=n+16|0,h0=e[q>>2]|0,B0=e[h0>>2]|0,y0=t+36|0,r1=e[y0>>2]|0,a1=r1>>1,Q1=p+4|0,v=e[Q1>>2]|0,b=(v|0)<(a1|0),u=b?v:a1,w=e[p>>2]|0,y=u-w|0,D=(y|0)>0,!D){C=j1;return}if(Q=(y|0)/(M|0)&-1,_=a<<2,E=_,R=C,C=C+((1*E|0)+15&-16)|0,L=(a|0)>0,L)for(F=B0+-1|0,T=F+Q|0,N=(T|0)/(B0|0)&-1,G=N<<2,G1=0;$0=qt(t,G)|0,Z=R+(G1<<2)|0,e[Z>>2]=$0,K=G1+1|0,L1=(K|0)==(a|0),!L1;)G1=K;if(O=n+8|0,z=e[O>>2]|0,Y=(z|0)>0,!Y){C=j1;return}t0=(Q|0)>0,J=t+4|0,W=p+16|0,e0=n+28|0,X=(B0|0)>0,U=n+20|0,m=L^1,H1=0;e:for(;;){if(t0)for(a0=1<>2]|0,q0=jm(O0,J)|0,e1=(q0|0)==-1,e1){Y1=25;break e}if(b0=e[W>>2]|0,i1=(q0|0)<(b0|0),!i1){Y1=25;break e}if(c1=e[e0>>2]|0,$1=c1+(q0<<2)|0,u1=e[$1>>2]|0,g1=R+(k1<<2)|0,l1=e[g1>>2]|0,s1=l1+(D1<<2)|0,e[s1>>2]=u1,n1=(u1|0)==0,K0=k1+1|0,n1){Y1=25;break e}if(G0=(K0|0)<(a|0),G0)k1=K0;else break}s0=(w1|0)<(Q|0),q1=X&s0;t:do if(q1){if(L)F1=w1,N1=0;else for(R1=w1,Z1=0;;)if(o1=Z1+1|0,z0=R1+1|0,I1=(o1|0)<(B0|0),h1=(z0|0)<(Q|0),V1=I1&h1,V1)R1=z0,Z1=o1;else{S1=z0;break t}for(;;){for(l0=r5(F1,M)|0,U1=0;;){if(c0=e[p>>2]|0,j=c0+l0|0,u0=R+(U1<<2)|0,d0=e[u0>>2]|0,w0=d0+(D1<<2)|0,C0=e[w0>>2]|0,k0=C0+(N1<<2)|0,f0=e[k0>>2]|0,p0=(p+24|0)+(f0<<2)|0,I0=e[p0>>2]|0,S0=I0&a0,V0=(S0|0)==0,!V0&&(_0=e[U>>2]|0,Q0=_0+(f0<<2)|0,R0=e[Q0>>2]|0,M0=R0+(H1<<2)|0,N0=e[M0>>2]|0,U0=(N0|0)==0,!U0&&(H0=A+(U1<<2)|0,L0=e[H0>>2]|0,D0=L0+(j<<2)|0,T0=pB[c&3](N0,D0,J,M)|0,J0=(T0|0)==-1,J0))){Y1=25;break e}if(Y0=U1+1|0,P0=(Y0|0)<(a|0),P0)U1=Y0;else break}if(i0=N1+1|0,r0=F1+1|0,V=(i0|0)<(B0|0),o0=(r0|0)<(Q|0),O1=V&o0,O1)F1=r0,N1=i0;else{S1=r0;break}}}else S1=w1;while(!1);if(m1=D1+1|0,d1=(S1|0)<(Q|0),d1)w1=S1,D1=m1;else break}if(E1=H1+1|0,B1=e[O>>2]|0,p1=(E1|0)<(B1|0),p1)H1=E1;else{Y1=25;break}}if((Y1|0)==25){C=j1;return}}function CQ(t,n,A,a,c){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0;var u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,L1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,k3=0,u3=0,p3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,X3=0,c6=0,p6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,L6=0,K6=0,I6=0;if(I6=C,C=C+1088|0,t3=I6+1056|0,M5=I6+1024|0,O6=I6+512|0,s3=I6,Q=e[n>>2]|0,_=Q+8|0,a2=e[_>>2]|0,H2=Q+12|0,Z2=e[H2>>2]|0,C5=n+16|0,M1=e[C5>>2]|0,u5=e[M1>>2]|0,h3=Q+4|0,G3=e[h3>>2]|0,R=e[Q>>2]|0,J=G3-R|0,i0=(J|0)/(a2|0)&-1,ae(O6|0,0,512)|0,ae(s3|0,0,512)|0,C0=n+8|0,M0=e[C0>>2]|0,K0=(M0|0)>0,!K0){C=I6;return}for(g1=(i0|0)>0,E1=(a|0)>0,k1=(u5|0)>1,r2=n+36|0,t2=(u5|0)>0,v2=n+20|0,w2=n+32|0,C2=0-u5|0,y2=M0,a6=0;;){if(g1){for(F2=(a6|0)==0,D2=1<>2]|0,G5=D5+(K5<<2)|0,_5=e[G5>>2]|0,q2=e[C5>>2]|0,I5=q2+4|0,A5=e[I5>>2]|0,c5=(_5|0)<(A5|0),c5&&(B5=Fh(q2,_5,t)|0,S5=e[r2>>2]|0,g5=S5+B5|0,e[r2>>2]=g5),a5=C6+1|0,o6=(a5|0)==(a|0),o6)break e;C6=a5}for(;;){for(k2=c+(b3<<2)|0,f5=e[k2>>2]|0,m5=f5+(K5<<2)|0,n5=e[m5>>2]|0,f6=1,n6=n5;;)if(X2=r5(n6,Z2)|0,L5=f6+K5|0,e5=(L5|0)<(i0|0),e5?(b5=f5+(L5<<2)|0,v5=e[b5>>2]|0,P5=v5+X2|0,Q6=P5):Q6=X2,l5=f6+1|0,v3=(l5|0)==(u5|0),v3){L6=Q6;break}else f6=l5,n6=Q6;if(K2=e[C5>>2]|0,G2=K2+4|0,M2=e[G2>>2]|0,P2=(L6|0)<(M2|0),P2&&(z2=Fh(K2,L6,t)|0,o5=e[r2>>2]|0,O2=o5+z2|0,e[r2>>2]=O2),T1=b3+1|0,y3=(T1|0)==(a|0),y3)break;b3=T1}}while(!1);if(x2=(K5|0)<(i0|0),b6=t2&x2,b6){for(_2=K5-i0|0,B2=_2>>>0>>0,N6=B2?C2:_2,R5=0-N6|0,l6=K5,H3=0;;){if(W2=r5(l6,a2)|0,g2=e[Q>>2]|0,p5=g2+W2|0,E1)for(t6=0;;){if(t5=c+(t6<<2)|0,s5=e[t5>>2]|0,h5=s5+(l6<<2)|0,J2=e[h5>>2]|0,F2&&(i5=s3+(J2<<2)|0,x5=e[i5>>2]|0,j2=x5+a2|0,e[i5>>2]=j2),$5=(Q+24|0)+(J2<<2)|0,L2=e[$5>>2]|0,Q5=L2&D2,q5=(Q5|0)==0,!q5&&(j5=e[v2>>2]|0,E5=j5+(J2<<2)|0,f3=e[E5>>2]|0,J5=f3+(a6<<2)|0,X5=e[J5>>2]|0,n3=(X5|0)==0,!n3)){if(m3=A+(t6<<2)|0,F5=e[m3>>2]|0,V5=e[X5>>2]|0,k3=(a2|0)/(V5|0)&-1,u3=(k3|0)>0,u3){for(p3=X5+48|0,z3=X5+52|0,z5=X5+44|0,w3=X5+12|0,W5=X5+4|0,L=V5,k5=0,g3=0;;){i6=r5(g3,V5)|0,b=i6+p5|0,L3=F5+(b<<2)|0,U3=e[p3>>2]|0,a3=e[z3>>2]|0,l3=e[z5>>2]|0,c3=l3>>1,e[t3>>2]=0,e[t3+4>>2]=0,e[t3+8>>2]=0,e[t3+12>>2]=0,e[t3+16>>2]=0,e[t3+20>>2]=0,e[t3+24>>2]=0,e[t3+28>>2]=0,C3=(a3|0)==1,F=(L|0)>0;do if(C3){if(!F){X3=0;break}for(G=l3+-1|0,d3=0,B6=0,Y3=L;;)if(d0=Y3+-1|0,D=b+d0|0,w0=F5+(D<<2)|0,k0=e[w0>>2]|0,f0=k0-U3|0,B0=(f0|0)<(c3|0),B0?(p0=c3-f0|0,I0=p0<<1,S0=I0+-1|0,R0=S0):(V0=f0-c3|0,_0=V0<<1,R0=_0),Q0=r5(B6,l3)|0,N0=(R0|0)<0,U0=(R0|0)>=(l3|0),y0=U0?G:R0,H0=N0?0:y0,L0=H0+Q0|0,D0=t3+(d0<<2)|0,e[D0>>2]=k0,T0=d3+1|0,j3=(T0|0)==(L|0),j3){X3=L0;break}else d3=T0,B6=L0,Y3=d0}else{if(!F){X3=0;break}for(M=a3>>1,T=M-U3|0,N=l3+-1|0,S3=0,S6=0,D3=L;;)if(O=D3+-1|0,y=b+O|0,z=F5+(y<<2)|0,Y=e[z>>2]|0,t0=T+Y|0,W=(t0|0)/(a3|0)&-1,e0=(W|0)<(c3|0),e0?(q=c3-W|0,X=q<<1,U=X+-1|0,a0=U):($0=W-c3|0,Z=$0<<1,a0=Z),K=r5(S6,l3)|0,s0=(a0|0)<0,r0=(a0|0)>=(l3|0),V=r0?N:a0,h0=s0?0:V,o0=h0+K|0,c0=r5(W,a3)|0,j=c0+U3|0,l0=t3+(O<<2)|0,e[l0>>2]=j,u0=S3+1|0,O3=(u0|0)==(L|0),O3){X3=o0;break}else S3=u0,S6=o0,D3=O}while(!1);J0=e[w3>>2]|0,Y0=J0+8|0,P0=e[Y0>>2]|0,G0=P0+X3|0,O0=d[G0>>0]|0,r1=O0<<24>>24<1;do if(r1){if(e[M5>>2]=0,e[M5+4>>2]=0,e[M5+8>>2]=0,e[M5+12>>2]=0,e[M5+16>>2]=0,e[M5+20>>2]=0,e[M5+24>>2]=0,e[M5+28>>2]=0,q0=l3+-1|0,e1=r5(q0,a3)|0,b0=e1+U3|0,i1=e[W5>>2]|0,c1=(i1|0)>0,c1)H5=-1,k6=0,c6=X3;else{x6=X3;break}for(;;){$1=P0+k6|0,u1=d[$1>>0]|0,l1=u1<<24>>24>0;do if(l1){if(F)for(Y6=0,_3=0;;)if(s1=M5+(Y6<<2)|0,a1=e[s1>>2]|0,w=b+Y6|0,n1=F5+(w<<2)|0,o1=e[n1>>2]|0,z0=a1-o1|0,I1=r5(z0,z0)|0,h1=I1+_3|0,m1=Y6+1|0,r6=(m1|0)==(L|0),r6){d6=h1;break}else Y6=m1,_3=h1;else d6=0;if(d1=(H5|0)==-1,B1=(d6|0)<(H5|0),Z3=d1|B1,!Z3){U5=H5,p6=c6;break}e[t3>>2]=e[M5>>2]|0,e[t3+4>>2]=e[M5+4>>2]|0,e[t3+8>>2]=e[M5+8>>2]|0,e[t3+12>>2]=e[M5+12>>2]|0,e[t3+16>>2]=e[M5+16>>2]|0,e[t3+20>>2]=e[M5+20>>2]|0,e[t3+24>>2]=e[M5+24>>2]|0,e[t3+28>>2]=e[M5+28>>2]|0,U5=d6,p6=k6}else U5=H5,p6=c6;while(!1);if(p1=e[M5>>2]|0,Q1=(p1|0)<(b0|0),Q1)E=M5,I=p1;else for(L1=M5,e6=0;;)if(x1=e6+1|0,e[L1>>2]=0,w1=M5+(x1<<2)|0,S1=e[w1>>2]|0,R1=(S1|0)<(b0|0),R1){E=w1,I=S1;break}else L1=w1,e6=x1;if(F1=(I|0)>-1,F1?(G1=I+a3|0,e[E>>2]=G1,Z1=G1):Z1=I,U1=0-Z1|0,e[E>>2]=U1,N1=k6+1|0,e3=(N1|0)==(i1|0),e3){x6=p6;break}else H5=U5,k6=N1,c6=p6}}else x6=X3;while(!1);if(D1=(x6|0)>-1,A6=F&D1,A6)for(u=L3,v6=0;V1=t3+(v6<<2)|0,O1=e[V1>>2]|0,q1=u+4|0,H1=e[u>>2]|0,Y1=H1-O1|0,e[u>>2]=Y1,j1=v6+1|0,A3=(j1|0)==(L|0),!A3;)u=q1,v6=j1;if(W1=Fh(X5,x6,t)|0,P1=W1+k5|0,c2=g3+1|0,R3=(c2|0)==(k3|0),R3){m=P1;break}p=e[X5>>2]|0,L=p,k5=P1,g3=c2}B=e[t5>>2]|0,E2=B,O5=m}else E2=s5,O5=0;z1=e[w2>>2]|0,u2=z1+O5|0,e[w2>>2]=u2,s2=E2+(l6<<2)|0,o2=e[s2>>2]|0,K1=O6+(o2<<2)|0,h2=e[K1>>2]|0,$2=h2+O5|0,e[K1>>2]=$2}if(i2=t6+1|0,u6=(i2|0)==(a|0),u6)break;t6=i2}if(A2=H3+1|0,X1=l6+1|0,Q3=(A2|0)==(R5|0),Q3)break;l6=X1,H3=A2}N2=K5-N6|0,q3=N2}else q3=K5;if(d2=(q3|0)<(i0|0),d2)K5=q3;else break}v=e[C0>>2]|0,e2=v}else e2=y2;if(n2=a6+1|0,f2=(n2|0)<(e2|0),f2)y2=e2,a6=n2;else break}C=I6}function Tt(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0;if(p=C,A=(t|0)==0,A)E=0;else for(n=t,I=0;;)if(a=n>>>1,c=I+1|0,u=(a|0)==0,u){E=c;break}else n=a,I=c;return E|0}function BQ(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,L1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0;h2=C,C=C+144|0,P1=h2,m=(A|0)!=0,p=m?A:n,F=p<<2,e0=S9(F)|0,ae(P1|0,0,132)|0,V=(n|0)>0;do if(V){f0=P1+4|0,U0=(A|0)==0,O0=U0&1,p1=0,k1=0;e:for(;;){s1=t+k1|0,B1=d[s1>>0]|0,B=B1<<24>>24,v=B1<<24>>24>0;t:do if(v){if(b=P1+(B<<2)|0,w=e[b>>2]|0,y=B1<<24>>24>31,D=w>>>B,Q=(D|0)==0,c2=y|Q,!c2){K1=5;break e}_=e0+(p1<<2)|0,e[_>>2]=w,R=P1+(B<<2)|0,L=w&1,M=(L|0)==0;i:do if(M)for(q=w,X=R,V1=B;;){if(W=q+1|0,e[X>>2]=W,U=V1+-1|0,$0=(V1|0)>1,!$0)break i;if(u=P1+(U<<2)|0,I=e[u>>2]|0,Z=P1+(U<<2)|0,K=I&1,a0=(K|0)==0,a0)q=I,X=Z,V1=U;else{c=Z,D1=U,K1=8;break}}else c=R,D1=B,K1=8;while(!1);do if((K1|0)==8)if(K1=0,N=(D1|0)==1,N){G=e[f0>>2]|0,O=G+1|0,e[f0>>2]=O;break}else{z=D1+-1|0,Y=P1+(z<<2)|0,t0=e[Y>>2]|0,J=t0<<1,e[c>>2]=J;break}while(!1);if(Y1=B+1|0,T=(Y1|0)<33,T)for(R1=w,q1=B,j1=Y1;;){if(s0=P1+(j1<<2)|0,i0=e[s0>>2]|0,r0=i0>>>1,h0=(r0|0)==(R1|0),!h0){E=1;break t}if(o0=P1+(q1<<2)|0,c0=e[o0>>2]|0,j=c0<<1,e[s0>>2]=j,O1=j1+1|0,l0=(O1|0)<33,l0)H1=j1,R1=i0,j1=O1,q1=H1;else{E=1;break}}else E=1}else E=O0;while(!1);if(Q1=p1+E|0,u0=k1+1|0,d0=(u0|0)<(n|0),d0)p1=Q1,k1=u0;else{x1=Q1,K1=16;break}}if((K1|0)==5)return I2(e0),a=0,C=h2,a|0;if((K1|0)==16){if(z1=(x1|0)==1,!z1){U1=1,K1=27;break}if(w0=P1+8|0,C0=e[w0>>2]|0,k0=(C0|0)==2,k0)break;U1=1,K1=27;break}}else U1=1,K1=27;while(!1);e:do if((K1|0)==27){for(;K1=0,K0=P1+(U1<<2)|0,G0=e[K0>>2]|0,r1=32-U1|0,q0=-1>>>r1,e1=G0&q0,b0=(e1|0)==0,Y0=U1+1|0,!!b0;)if(P0=(Y0|0)<33,P0)U1=Y0,K1=27;else break e;return I2(e0),a=0,C=h2,a|0}while(!1);if(!V)return a=e0,C=h2,a|0;if(m)w1=0,N1=0;else{for(L1=0,Z1=0;;){if(i1=t+Z1|0,c1=d[i1>>0]|0,$1=c1<<24>>24>0,$1)for(u1=e0+(L1<<2)|0,g1=e[u1>>2]|0,l1=c1<<24>>24,r2=0,E2=0;;)if(a1=E2<<1,n1=g1>>>r2,o1=n1&1,z0=o1|a1,I1=r2+1|0,h1=(I1|0)<(l1|0),h1)r2=I1,E2=z0;else{u2=z0;break}else u2=0;if(m1=L1+1|0,d1=e0+(L1<<2)|0,e[d1>>2]=u2,E1=Z1+1|0,F1=(E1|0)==(n|0),F1){a=e0;break}else L1=m1,Z1=E1}return C=h2,a|0}for(;;){if(B0=t+N1|0,p0=d[B0>>0]|0,I0=p0<<24>>24>0,I0)for(J0=e0+(w1<<2)|0,N0=e[J0>>2]|0,T0=p0<<24>>24,W1=0,o2=0;;)if(R0=o2<<1,M0=N0>>>W1,y0=M0&1,H0=y0|R0,L0=W1+1|0,D0=(L0|0)<(T0|0),D0)W1=L0,o2=H0;else{s2=H0;break}else s2=0;if(S0=p0<<24>>24==0,S0?S1=w1:(V0=w1+1|0,_0=e0+(w1<<2)|0,e[_0>>2]=s2,S1=V0),Q0=N1+1|0,G1=(Q0|0)==(n|0),G1){a=e0;break}else w1=S1,N1=Q0}return C=h2,a|0}function ib(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0;if(q=C,a=t+4|0,c=e[a>>2]|0,D=e[t>>2]|0,Q=(D|0)>0,!Q)for(;;);for(_=+(c|0),R=_,L=+(D|0),F=1/L,M=F,T=+xh(+R,+M),u=+zA(+T),E=~~u,Y=E;;){for(b=Y+1|0,N=1,G=1,O=0;;)if(B=r5(N,Y)|0,v=r5(G,b)|0,w=O+1|0,y=(w|0)<(D|0),y)N=B,G=v,O=w;else{n=B,A=v;break}if(I=(n|0)<=(c|0),m=(A|0)>(c|0),z=I&m,z){W=Y;break}p=(n|0)>(c|0),J=p?-1:1,t0=Y+J|0,Y=t0}return W|0}function rb(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,L1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0;if(q5=C,p=t+12|0,B=e[p>>2]|0,m=B+-1|0,i5=m>>>0<2,!i5)return u=0,u|0;if(q0=t+16|0,n1=e[q0>>2]|0,x1=n1&2097151,D1=+(x1|0),z1=n1>>>21,A2=z1&1023,N2=(n1|0)<0,X2=-D1,a=N2?X2:D1,v=A2+-788|0,T=+tC(a,v),X=T,o0=t+20|0,p0=e[o0>>2]|0,H0=p0&2097151,K0=+(H0|0),G0=p0>>>21,O0=G0&1023,r1=(p0|0)<0,e1=-K0,c=r1?e1:K0,b0=O0+-788|0,i1=+tC(c,b0),c1=i1,$1=e[t>>2]|0,u1=r5($1,n)|0,g1=n4(u1,4)|0,(B|0)==1){if(B1=t+4|0,p1=e[B1>>2]|0,Q1=($1|0)>0,!Q1)for(;;);for(L1=+(p1|0),w1=L1,S1=+($1|0),R1=1/S1,F1=R1,G1=+xh(+w1,+F1),k1=+zA(+G1),U1=~~k1,$5=U1;;){for(u2=$5+1|0,n5=1,x2=1,I5=0;;)if(P1=r5(n5,$5)|0,c2=r5(x2,u2)|0,s2=I5+1|0,d5=(s2|0)==($1|0),d5){E=P1,I=c2;break}else n5=P1,x2=c2,I5=s2;if(Z1=(E|0)<=(p1|0),N1=(I|0)>(p1|0),u5=N1&Z1,u5){L2=$5;break}W1=(E|0)>(p1|0),j2=W1?-1:1,x5=j2+$5|0,$5=x5}if(V1=(p1|0)>0,!V1)return u=g1,u|0;for(O1=(A|0)==0,q1=t+8|0,H1=t+32|0,Y1=c1,j1=X,r2=t+28|0,_2=0,M1=0;;){if(O1)if(a2=e[H1>>2]|0,t2=e[r2>>2]|0,$2=(t2|0)==0,i2=r5($1,_2)|0,$2)for(B5=1,W2=0;;)if(b5=(M1|0)/(B5|0)&-1,Z2=(b5|0)%(L2|0)&-1,f5=a2+(Z2<<2)|0,v5=e[f5>>2]|0,P5=+(v5|0),q2=+Zi(+P5),l5=q2,k2=l5*Y1,m5=j1+k2,b=m5,w=i2+W2|0,y=g1+(w<<2)|0,s[y>>2]=b,D=r5(B5,L2)|0,Q=W2+1|0,_=(Q|0)<($1|0),_)B5=D,W2=Q;else{Q5=21;break}else for(A5=1,g5=0,t5=0;;)if(R=(M1|0)/(A5|0)&-1,L=(R|0)%(L2|0)&-1,F=a2+(L<<2)|0,M=e[F>>2]|0,N=+(M|0),G5=+Zi(+N),G=G5,O=G*Y1,z=t5,Y=z+j1,t0=Y+O,J=t0,W=i2+g5|0,e0=g1+(W<<2)|0,s[e0>>2]=J,q=r5(A5,L2)|0,U=g5+1|0,$0=(U|0)<($1|0),$0)A5=q,g5=U,t5=J;else{Q5=21;break}else if(E2=e[q1>>2]|0,o2=E2+M1|0,K1=d[o2>>0]|0,h2=K1<<24>>24==0,h2)B2=_2;else for(X1=e[H1>>2]|0,n2=e[r2>>2]|0,f2=(n2|0)==0,e2=A+(_2<<2)|0,y2=e[e2>>2]|0,v2=r5(y2,$1)|0,c5=1,a5=0,s5=0;;)if(w2=(M1|0)/(c5|0)&-1,C2=(w2|0)%(L2|0)&-1,F2=X1+(C2<<2)|0,D2=e[F2>>2]|0,d2=+(D2|0),_5=+Zi(+d2),K2=_5,G2=K2*Y1,H2=s5,M2=H2+j1,P2=M2+G2,z2=P2,p5=f2?s5:z2,o5=v2+a5|0,O2=g1+(o5<<2)|0,s[O2>>2]=z2,T1=r5(c5,L2)|0,L5=a5+1|0,e5=(L5|0)<($1|0),e5)c5=T1,a5=L5,s5=p5;else{Q5=21;break}if((Q5|0)==21&&(Q5=0,Z=_2+1|0,B2=Z),K=M1+1|0,a0=(K|0)<(p1|0),a0)_2=B2,M1=K;else{u=g1;break}}return u|0}else if((B|0)==2){if(l1=t+4|0,s1=e[l1>>2]|0,a1=(s1|0)>0,!a1)return u=g1,u|0;for(o1=(A|0)!=0,z0=t+8|0,I1=t+32|0,h1=c1,m1=X,d1=t+28|0,E1=($1|0)>0,C5=0,S5=0;;){if(o1?(s0=e[z0>>2]|0,i0=s0+S5|0,r0=d[i0>>0]|0,V=r0<<24>>24==0,V?R5=C5:Q5=25):Q5=25,(Q5|0)==25){if(Q5=0,E1)for(h0=e[I1>>2]|0,c0=e[d1>>2]|0,j=(c0|0)==0,l0=A+(C5<<2)|0,u0=r5($1,S5)|0,d0=r5($1,C5)|0,g2=0,J2=0;w0=u0+g2|0,C0=h0+(w0<<2)|0,k0=e[C0>>2]|0,f0=+(k0|0),D5=+Zi(+f0),B0=D5,I0=B0*h1,S0=J2,V0=S0+m1,_0=V0+I0,Q0=_0,h5=j?J2:Q0,o1?(R0=e[l0>>2]|0,M0=r5(R0,$1)|0,N0=M0+g2|0,U0=g1+(N0<<2)|0,s[U0>>2]=Q0):(y0=d0+g2|0,L0=g1+(y0<<2)|0,s[L0>>2]=Q0),D0=g2+1|0,T0=(D0|0)<($1|0),T0;)g2=D0,J2=h5;J0=C5+1|0,R5=J0}if(Y0=S5+1|0,P0=(Y0|0)<(s1|0),P0)C5=R5,S5=Y0;else{u=g1;break}}return u|0}else return u=g1,u|0;return 0}function EB(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0;v=C,n=t+36|0,A=e[n>>2]|0,a=(A|0)==0,!a&&(c=t+32|0,u=e[c>>2]|0,E=(u|0)==0,E||I2(u),I=t+8|0,m=e[I>>2]|0,p=(m|0)==0,p||I2(m),I2(t))}function nb(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0;R=C,n=t+16|0,A=e[n>>2]|0,m=(A|0)==0,m||I2(A),p=t+20|0,B=e[p>>2]|0,v=(B|0)==0,v||I2(B),b=t+24|0,w=e[b>>2]|0,y=(w|0)==0,y||I2(w),D=t+28|0,a=e[D>>2]|0,c=(a|0)==0,c||I2(a),u=t+32|0,E=e[u>>2]|0,I=(E|0)==0,I||I2(E),Q=t,L=Q+56|0;do e[Q>>2]=0,Q=Q+4|0;while((Q|0)<(L|0))}function pQ(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0;G0=C,P0=t,O0=P0+56|0;do e[P0>>2]=0,P0=P0+4|0;while((P0|0)<(O0|0));if(E=t+12|0,e[E>>2]=n,I=n+4|0,R=e[I>>2]|0,J=t+4|0,e[J>>2]=R,i0=t+8|0,e[i0>>2]=R,C0=e[n>>2]|0,e[t>>2]=C0,S0=n+8|0,V0=e[S0>>2]|0,_0=BQ(V0,R,0)|0,Q0=t+20|0,e[Q0>>2]=_0,m=e[I>>2]|0,p=e[n>>2]|0,B=(p|0)>0,!B)for(;;);for(v=+(m|0),b=v,w=+(p|0),y=1/w,D=y,Q=+xh(+b,+D),_=+zA(+Q),L=~~_,J0=L;;){for(O=J0+1|0,R0=1,M0=1,U0=0;;)if(N=r5(R0,J0)|0,G=r5(M0,O)|0,z=U0+1|0,N0=(z|0)==(p|0),N0){c=N,u=G;break}else R0=N,M0=G,U0=z;if(F=(c|0)<=(m|0),M=(u|0)>(m|0),y0=M&F,y0){Y0=J0;break}T=(c|0)>(m|0),T0=T?-1:1,D0=T0+J0|0,J0=D0}return Y=t+44|0,e[Y>>2]=Y0,t0=n+16|0,W=e[t0>>2]|0,e0=W&2097151,q=+(e0|0),X=W>>>21,U=X&1023,$0=(W|0)<0,Z=-q,A=$0?Z:q,K=U+-788|0,a0=+tC(A,K),s0=a0,H0=+SQ(s0),r0=~~H0,V=t+48|0,e[V>>2]=r0,h0=n+20|0,o0=e[h0>>2]|0,c0=o0&2097151,j=+(c0|0),l0=o0>>>21,u0=l0&1023,d0=(o0|0)<0,w0=-j,a=d0?w0:j,k0=u0+-788|0,f0=+tC(a,k0),B0=f0,L0=+SQ(B0),p0=~~L0,I0=t+52|0,e[I0>>2]=p0,0}function sb(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,L1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,k3=0,u3=0,p3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,X3=0,c6=0,p6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,L6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0;M3=C,y6=t,M6=y6+56|0;do e[y6>>2]=0,y6=y6+4|0;while((y6|0)<(M6|0));if(b=n+4|0,w=e[b>>2]|0,E2=(w|0)>0,E2)for(q2=n+8|0,p5=e[q2>>2]|0,H3=0,L6=0;;)if(Q5=p5+H3|0,V5=d[Q5>>0]|0,U3=V5<<24>>24>0,o6=U3&1,m=o6+L6|0,K5=H3+1|0,y=(K5|0)<(w|0),y)H3=K5,L6=m;else{l0=m;break}else l0=0;if(O=t+4|0,e[O>>2]=w,Z=t+8|0,e[Z>>2]=l0,V0=e[n>>2]|0,e[t>>2]=V0,T0=(l0|0)>0,!T0)return a=0,C=M3,a|0;if(i1=n+8|0,I1=e[i1>>2]|0,S1=BQ(I1,w,l0)|0,q1=l0<<2,u=q1,o2=C,C=C+((1*u|0)+15&-16)|0,e2=(S1|0)==0,e2){P2=t+16|0,z2=e[P2>>2]|0,o5=(z2|0)==0,o5||I2(z2),O2=t+20|0,T1=e[O2>>2]|0,X2=(T1|0)==0,X2||I2(T1),L5=t+24|0,e5=e[L5>>2]|0,b5=(e5|0)==0,b5||I2(e5),f5=t+28|0,v5=e[f5>>2]|0,P5=(v5|0)==0,P5||I2(v5),l5=t+32|0,k2=e[l5>>2]|0,m5=(k2|0)==0,m5||I2(k2),y6=t,M6=y6+56|0;do e[y6>>2]=0,y6=y6+4|0;while((y6|0)<(M6|0));return a=-1,C=M3,a|0}else D3=0;for(;H2=S1+(D3<<2)|0,Z2=e[H2>>2]|0,C5=Z2>>>16,R5=Z2<<16,d5=C5|R5,D5=d5>>>8,G5=D5&16711935,_5=d5<<8,I5=_5&-16711936,A5=G5|I5,c5=A5>>>4,B5=c5&252645135,M1=A5<<4,S5=M1&-252645136,g5=B5|S5,a5=g5>>>2,W2=a5&858993459,g2=g5<<2,t5=g2&-858993460,s5=W2|t5,h5=s5>>>1,J2=h5&1431655765,u5=s5<<1,i5=u5&-1431655766,x5=J2|i5,e[H2>>2]=x5,j2=o2+(D3<<2)|0,e[j2>>2]=H2,$5=D3+1|0,Y6=($5|0)==(l0|0),!Y6;)D3=$5;for(Th(o2,l0,4,10),E=q1,L2=C,C=C+((1*E|0)+15&-16)|0,q5=S9(q1)|0,j5=t+20|0,e[j5>>2]=q5,E5=S1,Y3=0;;)if(f3=o2+(Y3<<2)|0,h3=e[f3>>2]|0,J5=h3,X5=J5-E5|0,n3=X5>>2,m3=L2+(n3<<2)|0,e[m3>>2]=Y3,F5=Y3+1|0,x6=(F5|0)==(l0|0),x6){Z3=0;break}else Y3=F5;for(;k3=S1+(Z3<<2)|0,u3=e[k3>>2]|0,p3=L2+(Z3<<2)|0,z3=e[p3>>2]|0,G3=q5+(z3<<2)|0,e[G3>>2]=u3,z5=Z3+1|0,p6=(z5|0)==(l0|0),!p6;)Z3=z5;if(I2(S1),w3=rb(n,l0,L2)|0,W5=t+16|0,e[W5>>2]=w3,i6=S9(q1)|0,L3=t+24|0,e[L3>>2]=i6,a3=e[b>>2]|0,l3=(a3|0)>0,l3)for(p=e[i1>>2]|0,b6=0,I6=0;;)if(c3=p+b6|0,C3=d[c3>>0]|0,H5=C3<<24>>24>0,H5?(U5=I6+1|0,O5=L2+(I6<<2)|0,k5=e[O5>>2]|0,P3=i6+(k5<<2)|0,e[P3>>2]=b6,J6=U5):J6=I6,M5=b6+1|0,e3=(M5|0)<(a3|0),e3)b6=M5,I6=J6;else{K6=J6;break}else K6=0;if(A3=S9(K6)|0,R3=t+28|0,e[R3>>2]=A3,u6=t+40|0,e[u6>>2]=0,l3){for(B=e[i1>>2]|0,n5=0,v3=B,A6=0,j6=0;;)if(Q3=v3+A6|0,y3=d[Q3>>0]|0,r6=y3<<24>>24>0,r6?(j3=j6+1|0,O3=L2+(j6<<2)|0,S3=e[O3>>2]|0,g3=e[R3>>2]|0,q3=g3+S3|0,d[q3>>0]=y3,l6=e[i1>>2]|0,d3=l6+A6|0,k6=d[d3>>0]|0,v6=k6<<24>>24,S6=e[u6>>2]|0,B6=(v6|0)>(S6|0),B6?(e[u6>>2]=v6,x2=v6,_2=l6,G6=j3):(x2=S6,_2=l6,G6=j3)):(x2=n5,_2=v3,G6=j6),X3=A6+1|0,D=e[b>>2]|0,Q=(X3|0)<(D|0),Q)n5=x2,v3=_2,A6=X3,j6=G6;else{I=x2,e9=G6;break}if(_=(e9|0)==1,_){if(R=(I|0)==1,R)return L=t+36|0,e[L>>2]=1,F=n4(2,4)|0,M=t+32|0,e[M>>2]=F,T=F+4|0,e[T>>2]=1,e[F>>2]=1,a=0,C=M3,a|0;F3=1}else F3=e9}else F3=0;if(N=e[Z>>2]|0,G=(N|0)==0,G)R6=-4;else{for(c=N,U6=0;;)if(z=c>>>1,Y=U6+1|0,t0=(z|0)==0,t0){D6=U6;break}else c=z,U6=Y;s9=D6+-3|0,R6=s9}if(J=t+36|0,W=(R6|0)<5,A=W?5:R6,e0=(A|0)>8,z6=e0?8:A,e[J>>2]=z6,q=1<>2]=X,$0=(F3|0)>0,$0)for(r0=z6,t3=0;;){if(K=e[R3>>2]|0,a0=K+t3|0,s0=d[a0>>0]|0,i0=s0<<24>>24,V=(r0|0)<(i0|0),V)B2=r0;else if(h0=e[j5>>2]|0,o0=h0+(t3<<2)|0,c0=e[o0>>2]|0,j=c0>>>16,u0=c0<<16,d0=j|u0,w0=d0>>>8,C0=w0&16711935,k0=d0<<8,f0=k0&-16711936,B0=C0|f0,p0=B0>>>4,I0=p0&252645135,S0=B0<<4,_0=S0&-252645136,Q0=I0|_0,R0=Q0>>>2,M0=R0&858993459,N0=Q0<<2,U0=N0&-858993460,y0=M0|U0,H0=y0>>>1,L0=H0&1431655765,D0=y0<<1,J0=D0&-1431655766,Y0=L0|J0,P0=r0-i0|0,K0=(P0|0)==31,K0)B2=r0;else for(G0=t3+1|0,r1=i0,s3=0;;)if(O0=s3<>2]=G0,b0=s3+1|0,c1=e[J>>2]|0,$1=d[a0>>0]|0,u1=$1<<24>>24,g1=c1-u1|0,l1=1<>>16,p1=E1<<16,Q1=B1|p1,x1=Q1>>>8,L1=x1&16711935,w1=Q1<<8,R1=w1&-16711936,F1=L1|R1,G1=F1>>>4,k1=G1&252645135,U1=F1<<4,Z1=U1&-252645136,N1=k1|Z1,D1=N1>>>2,V1=D1&858993459,O1=N1<<2,H1=O1&-858993460,Y1=V1|H1,j1=Y1>>>1,r2=j1&1431655765,W1=Y1<<1,P1=W1&-1431655766,c2=r2|P1,z1=X+(c2<<2)|0,u2=e[z1>>2]|0,s2=(u2|0)==0,s2){for(d6=a6;;){if(K1=d6+1|0,h2=(K1|0)<(F3|0),!h2){_3=d6;break}if(a2=e[j5>>2]|0,t2=a2+(K1<<2)|0,$2=e[t2>>2]|0,i2=$2>>>0>E1>>>0,i2){_3=d6;break}else d6=K1}A2=(F3|0)>(C6|0);e:do if(A2)for(X1=e[j5>>2]|0,e6=C6;;){if(n2=X1+(e6<<2)|0,f2=e[n2>>2]|0,y2=f2&z0,v2=E1>>>0>>0,v2){b3=e6;break e}if(w2=e6+1|0,C2=(F3|0)>(w2|0),C2)e6=w2;else{b3=w2;break}}else b3=C6;while(!1);F2=F3-b3|0,D2=_3>>>0>32767,N2=F2>>>0>32767,f6=N2?32767:F2,N6=_3<<15,n6=N6|-2147483648,d2=D2?-1073774592:n6,K2=d2|f6,e[z1>>2]=K2,t6=b3,Q6=_3}else t6=C6,Q6=a6;if(G2=O6+1|0,M2=(G2|0)<(q|0),!M2){a=0;break}v=e[J>>2]|0,d1=v,C6=t6,O6=G2,a6=Q6}return C=M3,a|0}function ob(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0;return b=C,A=e[t>>2]|0,a=e[A>>2]|0,c=e[n>>2]|0,u=e[c>>2]|0,E=a>>>0>u>>>0,I=E&1,m=a>>>0>>0,p=m&1,B=I-p|0,B|0}function Ab(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0;if(V0=C,p=e[t>>2]|0,B=(p|0)==1,!B&&(M=t+4|0,q=e[M>>2]|0,i0=t+8|0,r0=e[i0>>2]|0,V=r0+4|0,h0=e[V>>2]|0,o0=(h0|0)>0,!!o0)){for(c0=h0+1|0,m=p+-1|0,d0=p,w0=0,C0=p,f0=1;;){v=c0-w0|0,b=r0+(v<<2)|0,w=e[b>>2]|0,y=(C0|0)/(w|0)&-1,D=(p|0)/(C0|0)&-1,Q=r5(D,y)|0,_=w+-1|0,R=r5(D,_)|0,L=d0-R|0,F=1-f0|0;do if((w|0)==2)if(Y=(F|0)==0,A=m+L|0,t0=q+(A<<2)|0,Y){kQ(D,y,n,q,t0),B0=0;break}else{kQ(D,y,q,n,t0),B0=F;break}else if((w|0)==4)if(T=L+D|0,N=(F|0)==0,a=m+L|0,G=q+(a<<2)|0,c=m+T|0,O=q+(c<<2)|0,u=m+D|0,E=u+T|0,z=q+(E<<2)|0,N){wQ(D,y,n,q,G,O,z),B0=0;break}else{wQ(D,y,q,n,G,O,z),B0=F;break}else if(J=(D|0)==1,k0=J?f0:F,W=(k0|0)==0,I=m+L|0,e0=q+(I<<2)|0,W){vQ(D,w,y,Q,n,n,n,q,q,e0),B0=1;break}else{vQ(D,w,y,Q,q,q,q,n,n,e0),B0=0;break}while(!1);if(X=w0+1|0,l0=(X|0)==(h0|0),l0){p0=B0;break}else d0=L,w0=X,C0=y,f0=B0}if(U=(p0|0)!=1,$0=(p|0)>0,I0=$0&U,I0)u0=0;else return;for(;Z=q+(u0<<2)|0,K=e[Z>>2]|0,a0=n+(u0<<2)|0,e[a0>>2]=K,s0=u0+1|0,j=(s0|0)==(p|0),!j;)u0=s0}}function QQ(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0;if(I1=C,e[t>>2]=n,E=n*3|0,I=n4(E,4)|0,R=t+4|0,e[R>>2]=I,J=n4(32,4)|0,i0=t+8|0,e[i0>>2]=J,C0=(n|0)==1,!C0){V0=J+8|0,q0=-1,$1=0,u1=n,l1=0;e:for(;;)for(_0=q0+1|0,Q0=(_0|0)<4,Q0?(R0=25768+(_0<<2)|0,m=e[R0>>2]|0,s1=m):(p=l1+2|0,s1=p),B=(s1|0)!=2,P0=$1,g1=u1;;){if(J0=P0+1|0,v=(g1|0)/(s1|0)&-1,b=r5(v,s1)|0,w=(g1|0)==(b|0),!w){q0=_0,$1=P0,u1=g1,l1=s1;continue e}if(y=P0+2|0,D=J+(y<<2)|0,e[D>>2]=s1,Q=(P0|0)==0,a1=B|Q,!a1){if(_=(P0|0)<1,!_)for(L0=1;L=J0-L0|0,F=L+1|0,M=J+(F<<2)|0,T=e[M>>2]|0,N=L+2|0,G=J+(N<<2)|0,e[G>>2]=T,O=L0+1|0,y0=(O|0)==(J0|0),!y0;)L0=O;e[V0>>2]=2}if(z=(v|0)==1,z){A=Q,Y0=J0,K0=P0;break e}else P0=J0,g1=v}if(e[J>>2]=n,Y=J+4|0,e[Y>>2]=Y0,t0=+(n|0),W=6.2831854820251465/t0,a=A^1,e0=(K0|0)>0,n1=e0&a,!!n1)for(q=n+1|0,G0=0,b0=0,i1=1;;){if(X=b0+2|0,U=J+(X<<2)|0,$0=e[U>>2]|0,Z=r5($0,i1)|0,K=(n|0)/(Z|0)&-1,a0=($0|0)>1,a0){for(s0=(K|0)>2,r0=$0+-1|0,r1=G0,e1=0,c1=0;;){if(V=c1+i1|0,h0=+(V|0),o0=h0*W,s0)for(H0=0,D0=r1,T0=2;c0=H0+1,j=o0*c0,M0=+ZA(+j),c=D0+n|0,l0=I+(c<<2)|0,s[l0>>2]=M0,o1=+Gn(+j),u0=D0+2|0,u=q+D0|0,d0=I+(u<<2)|0,s[d0>>2]=o1,w0=T0+2|0,k0=(w0|0)<(K|0),k0;)H0=c0,D0=u0,T0=w0;if(f0=r1+K|0,B0=e1+1|0,N0=(B0|0)==(r0|0),N0)break;r1=f0,e1=B0,c1=V}p0=r5(K,r0)|0,I0=p0+G0|0,O0=I0}else O0=G0;if(S0=b0+1|0,U0=(S0|0)==(K0|0),U0)break;G0=O0,b0=S0,i1=Z}}}function yQ(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0;p=C,n=(t|0)==0,!n&&(A=t+4|0,a=e[A>>2]|0,c=(a|0)==0,c||I2(a),u=t+8|0,E=e[u>>2]|0,I=(E|0)==0,I||I2(E),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0)}function wQ(t,n,A,a,c,u,E){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0,u=u|0,E=E|0;var I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,L1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0;if(f3=C,I=r5(n,t)|0,m=I<<1,m1=(n|0)>0,m1)for(F1=I*3|0,Y1=t<<2,K1=Y1+-1|0,y2=t<<1,g2=0,s5=I,u5=F1,j2=0,$5=m;M2=A+(s5<<2)|0,f5=+s[M2>>2],R5=A+(u5<<2)|0,p=+s[R5>>2],F=p+f5,e0=A+(j2<<2)|0,V=+s[e0>>2],f0=A+($5<<2)|0,U0=+s[f0>>2],O0=U0+V,s1=O0+F,I1=j2<<2,h1=a+(I1<<2)|0,s[h1>>2]=s1,d1=O0-F,E1=K1+I1|0,B1=a+(E1<<2)|0,s[B1>>2]=d1,p1=+s[e0>>2],Q1=+s[f0>>2],x1=p1-Q1,L1=I1+y2|0,w1=L1+-1|0,S1=a+(w1<<2)|0,s[S1>>2]=x1,R1=+s[R5>>2],G1=+s[M2>>2],k1=R1-G1,U1=a+(L1<<2)|0,s[U1>>2]=k1,Z1=s5+t|0,N1=u5+t|0,D1=j2+t|0,V1=$5+t|0,O1=g2+1|0,g5=(O1|0)==(n|0),!g5;)g2=O1,s5=Z1,u5=N1,j2=D1,$5=V1;if(q1=(t|0)<2,!q1){if(H1=(t|0)==2,!H1){if(m1)for(j1=t<<1,p5=0,h5=0;;){for(j=h5<<2,l0=j+j1|0,W2=2,i5=h5,L2=j,q5=l0;P1=i5+2|0,c2=L2+2|0,z1=q5+-2|0,u2=P1+I|0,s2=W2+-2|0,E2=c+(s2<<2)|0,o2=+s[E2>>2],h2=u2+-1|0,a2=A+(h2<<2)|0,t2=+s[a2>>2],$2=t2*o2,i2=W2+-1|0,A2=c+(i2<<2)|0,X1=+s[A2>>2],n2=A+(u2<<2)|0,f2=+s[n2>>2],e2=f2*X1,v2=e2+$2,w2=f2*o2,C2=X1*t2,F2=w2-C2,D2=u2+I|0,N2=u+(s2<<2)|0,d2=+s[N2>>2],K2=D2+-1|0,G2=A+(K2<<2)|0,H2=+s[G2>>2],P2=H2*d2,z2=u+(i2<<2)|0,o5=+s[z2>>2],O2=A+(D2<<2)|0,T1=+s[O2>>2],X2=T1*o5,L5=X2+P2,e5=T1*d2,b5=o5*H2,Z2=e5-b5,v5=D2+I|0,P5=E+(s2<<2)|0,l5=+s[P5>>2],k2=v5+-1|0,m5=A+(k2<<2)|0,n5=+s[m5>>2],x2=n5*l5,_2=E+(i2<<2)|0,B2=+s[_2>>2],C5=A+(v5<<2)|0,d5=+s[C5>>2],D5=d5*B2,G5=D5+x2,_5=d5*l5,q2=B2*n5,I5=_5-q2,A5=G5+v2,c5=G5-v2,B5=I5+F2,M1=F2-I5,B=A+(P1<<2)|0,v=+s[B>>2],b=v+Z2,w=v-Z2,y=i5+1|0,D=A+(y<<2)|0,Q=+s[D>>2],_=Q+L5,R=Q-L5,L=A5+_,M=L2|1,T=a+(M<<2)|0,s[T>>2]=L,N=B5+b,G=a+(c2<<2)|0,s[G>>2]=N,O=R-M1,z=q5+-3|0,Y=a+(z<<2)|0,s[Y>>2]=O,t0=c5-w,J=a+(z1<<2)|0,s[J>>2]=t0,W=M1+R,q=c2+j1|0,X=q+-1|0,U=a+(X<<2)|0,s[U>>2]=W,$0=c5+w,Z=a+(q<<2)|0,s[Z>>2]=$0,K=_-A5,a0=z1+j1|0,s0=a0+-1|0,i0=a+(s0<<2)|0,s[i0>>2]=K,r0=B5-b,h0=a+(a0<<2)|0,s[h0>>2]=r0,o0=W2+2|0,c0=(o0|0)<(t|0),c0;)W2=o0,i5=P1,L2=c2,q5=z1;if(r2=h5+t|0,W1=p5+1|0,a5=(W1|0)==(n|0),a5)break;p5=W1,h5=r2}if(u0=t&1,d0=(u0|0)==0,!d0)return}if(w0=t+-1|0,C0=w0+I|0,k0=t<<2,B0=t<<1,!!m1)for(p0=C0+m|0,t5=0,J2=C0,x5=p0,Q5=t,j5=t;I0=A+(J2<<2)|0,S0=+s[I0>>2],V0=A+(x5<<2)|0,_0=+s[V0>>2],Q0=_0+S0,R0=Q0*-.7071067690849304,M0=S0-_0,N0=M0*.7071067690849304,y0=j5+-1|0,H0=A+(y0<<2)|0,L0=+s[H0>>2],D0=N0+L0,T0=Q5+-1|0,J0=a+(T0<<2)|0,s[J0>>2]=D0,Y0=+s[H0>>2],P0=Y0-N0,K0=Q5+B0|0,G0=K0+-1|0,r1=a+(G0<<2)|0,s[r1>>2]=P0,q0=J2+I|0,e1=A+(q0<<2)|0,b0=+s[e1>>2],i1=R0-b0,c1=a+(Q5<<2)|0,s[c1>>2]=i1,$1=+s[e1>>2],u1=$1+R0,g1=a+(K0<<2)|0,s[g1>>2]=u1,l1=J2+t|0,a1=x5+t|0,n1=Q5+k0|0,o1=j5+t|0,z0=t5+1|0,S5=(z0|0)==(n|0),!S5;)t5=z0,J2=l1,x5=a1,Q5=n1,j5=o1}}function kQ(t,n,A,a,c){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0;var u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,L1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0;if(k1=C,u=r5(n,t)|0,E=t<<1,_=(n|0)>0,_)for(t0=E+-1|0,I1=0,d1=0,p1=u;s0=A+(d1<<2)|0,w0=+s[s0>>2],R0=A+(p1<<2)|0,P0=+s[R0>>2],u1=P0+w0,s1=d1<<1,I=a+(s1<<2)|0,s[I>>2]=u1,m=+s[s0>>2],p=+s[R0>>2],B=m-p,v=t0+s1|0,b=a+(v<<2)|0,s[b>>2]=B,w=d1+t|0,y=p1+t|0,D=I1+1|0,n1=(D|0)==(n|0),!n1;)I1=D,d1=w,p1=y;if(Q=(t|0)<2,!Q){if(R=(t|0)==2,!R){if(_)for(h1=0,E1=0,Q1=u;;){for(H0=E1<<1,L0=H0+E|0,z0=2,L1=Q1,S1=L0,R1=E1,F1=H0;T=L1+2|0,N=S1+-2|0,G=R1+2|0,O=F1+2|0,z=z0+-2|0,Y=c+(z<<2)|0,J=+s[Y>>2],W=L1+1|0,e0=A+(W<<2)|0,q=+s[e0>>2],X=q*J,U=z0+-1|0,$0=c+(U<<2)|0,Z=+s[$0>>2],K=A+(T<<2)|0,a0=+s[K>>2],i0=a0*Z,r0=i0+X,V=a0*J,h0=Z*q,o0=V-h0,c0=A+(G<<2)|0,j=+s[c0>>2],l0=o0+j,u0=a+(O<<2)|0,s[u0>>2]=l0,d0=+s[c0>>2],C0=o0-d0,k0=a+(N<<2)|0,s[k0>>2]=C0,f0=R1+1|0,B0=A+(f0<<2)|0,p0=+s[B0>>2],I0=p0+r0,S0=F1|1,V0=a+(S0<<2)|0,s[V0>>2]=I0,_0=+s[B0>>2],Q0=_0-r0,M0=S1+-3|0,N0=a+(M0<<2)|0,s[N0>>2]=Q0,U0=z0+2|0,y0=(U0|0)<(t|0),y0;)z0=U0,L1=T,S1=N,R1=G,F1=O;if(L=E1+t|0,F=Q1+t|0,M=h1+1|0,o1=(M|0)==(n|0),o1)break;h1=M,E1=L,Q1=F}if(D0=(t|0)%2&-1,T0=(D0|0)==1,T0)return}if(J0=t+-1|0,!!_)for(Y0=u+J0|0,m1=0,B1=t,x1=Y0,w1=J0;K0=A+(x1<<2)|0,G0=+s[K0>>2],O0=-G0,r1=a+(B1<<2)|0,s[r1>>2]=O0,q0=A+(w1<<2)|0,e1=e[q0>>2]|0,b0=B1+-1|0,i1=a+(b0<<2)|0,e[i1>>2]=e1,c1=B1+E|0,$1=x1+t|0,g1=w1+t|0,l1=m1+1|0,a1=(l1|0)==(n|0),!a1;)m1=l1,B1=c1,x1=$1,w1=g1}}function vQ(t,n,A,a,c,u,E,I,m,p){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0,u=u|0,E=E|0,I=I|0,m=m|0,p=p|0;var B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,L1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,k3=0,u3=0,p3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,X3=0,c6=0,p6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,L6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,L4=0,T4=0,j4=0,C4=0,N4=0,U9=0,G4=0,a4=0,R4=0,u4=0,Ce=0,q9=0,m9=0,Be=0,Ne=0,Xe=0,U4=0,Ge=0,P4=0,X4=0,be=0,e8=0,Z9=0,$e=0,f4=0,_6=0,O4=0,R9=0,$4=0,_4=0,le=0,W9=0,ce=0,ge=0,B4=0,ee=0,F4=0,he=0,C9=0,g6=0,Ue=0,l4=0,pe=0,p4=0,c4=0,P6=0,De=0,_e=0,t8=0,g4=0,k4=0,u8=0,J3=0,w9=0,B9=0,M4=0,te=0,$t=0,xe=0,lt=0,wt=0,z8=0,ct=0,gt=0,F8=0,M8=0,T8=0,N8=0,Z8=0,W8=0,kt=0,G8=0,U8=0,P8=0,k8=0,v8=0,f8=0,O8=0,q8=0,j8=0,X8=0,d8=0,Pe=0,Le=0,i8=0,S8=0,k9=0,ht=0,Qe=0,ut=0,vt=0,et=0,St=0,ie=0,tt=0,H8=0,b8=0,r8=0,q4=0,Re=0,n8=0,I8=0,D8=0,ue=0,j9=0,s8=0,E8=0,o8=0,m8=0,fe=0,ye=0,Oe=0,qe=0,X9=0,Fe=0,de=0,A8=0,we=0,Q4=0,C8=0,it=0,H4=0,I3=0,He=0,B8=0,re=0,H9=0,ne=0,D9=0,Ye=0,Y8=0,ft=0,rt=0,nt=0,J8=0,st=0,V8=0,a8=0,$8=0,_8=0,Y4=0,ot=0,x8=0,Je=0,p9=0,At=0,Ve=0,Nt=0,Ht=0,bt=0,at=0,Dt=0,se=0,Gt=0,Yt=0,l8=0,L8=0,_t=0,K8=0,Me=0,Ie=0,e4=0,xt=0,i7=0,G7=0,U7=0,P7=0,d7=0,Jt=0,I7=0,Vt=0,E7=0,Kt=0,m7=0,r7=0,oi=0,O7=0,C7=0,B7=0,Ai=0,p7=0,n7=0,ai=0,q7=0,H7=0,Y7=0,J7=0,s7=0,Q7=0,V7=0,zt=0,o7=0,Ut=0,Zt=0,$i=0,K7=0,li=0,y7=0,z7=0,w7=0,k7=0,Z7=0,v7=0,Wt=0,S7=0,W7=0,A7=0,Pt=0,b7=0,ke=0,D7=0,Lt=0,a7=0,n9=0,dt=0,p8=0;p8=C,b=+(n|0),w=6.2831854820251465/b,f8=+ZA(+w),Nt=+Gn(+w),E2=n+1|0,Q3=E2>>1,U9=t+-1|0,U4=U9>>1,R9=r5(A,t)|0,C9=r5(n,t)|0,g4=(t|0)==1;e:do if(!g4){if(wt=(a|0)>0,wt)for(we=0;l0=E+(we<<2)|0,V0=e[l0>>2]|0,T0=m+(we<<2)|0,e[T0>>2]=V0,i1=we+1|0,E8=(i1|0)==(a|0),!E8;)we=i1;if(O=(n|0)>1,O)for(Z=(A|0)>0,B8=1,Ht=0;;){if(I1=Ht+R9|0,Z)for(st=0,e4=I1;S1=u+(e4<<2)|0,q1=e[S1>>2]|0,o2=I+(e4<<2)|0,e[o2>>2]=q1,e2=e4+t|0,H2=st+1|0,j9=(H2|0)==(A|0),!j9;)st=H2,e4=e2;if(Z2=B8+1|0,s8=(Z2|0)==(n|0),s8)break;B8=Z2,Ht=I1}if(C5=0-t|0,M1=(U4|0)>(A|0),M1){if(O)for(G3=(A|0)>0,H5=(t|0)>2,I3=C5,H9=1,Dt=0;;){if(v3=Dt+R9|0,k6=I3+t|0,G3)for(e6=v3-t|0,s3=k6+-1|0,a8=0,xt=e6;;){if(F3=xt+t|0,H5)for(o8=2,de=s3,E7=F3;M3=de+2|0,E6=E7+2|0,E9=de+1|0,j4=p+(E9<<2)|0,N4=+s[j4>>2],G4=E7+1|0,a4=u+(G4<<2)|0,R4=+s[a4>>2],u4=R4*N4,Ce=p+(M3<<2)|0,q9=+s[Ce>>2],m9=u+(E6<<2)|0,Be=+s[m9>>2],Ne=Be*q9,Xe=Ne+u4,Ge=I+(G4<<2)|0,s[Ge>>2]=Xe,P4=+s[j4>>2],X4=+s[m9>>2],be=X4*P4,e8=+s[Ce>>2],Z9=+s[a4>>2],$e=Z9*e8,f4=be-$e,_6=I+(E6<<2)|0,s[_6>>2]=f4,O4=o8+2|0,$4=(O4|0)<(t|0),$4;)o8=O4,de=M3,E7=E6;if(_4=a8+1|0,n8=(_4|0)==(A|0),n8)break;a8=_4,xt=F3}if(le=H9+1|0,I8=(le|0)==(n|0),I8)break;I3=k6,H9=le,Dt=v3}}else if(O)for(u5=(t|0)>2,h3=(A|0)>0,He=C5,ne=1,Gt=0;;){if(W9=He+t|0,ce=Gt+R9|0,u5)for(ge=W9+-1|0,m8=2,A8=ge,i7=ce;;){if(B4=A8+2|0,ee=i7+2|0,h3)for(F4=A8+1|0,he=p+(F4<<2)|0,g6=p+(B4<<2)|0,$8=0,Kt=ee;Ue=+s[he>>2],l4=Kt+-1|0,pe=u+(l4<<2)|0,p4=+s[pe>>2],c4=p4*Ue,P6=+s[g6>>2],De=u+(Kt<<2)|0,_e=+s[De>>2],t8=_e*P6,k4=t8+c4,u8=I+(l4<<2)|0,s[u8>>2]=k4,J3=+s[he>>2],w9=+s[De>>2],B9=w9*J3,M4=+s[g6>>2],te=+s[pe>>2],$t=te*M4,xe=B9-$t,lt=I+(Kt<<2)|0,s[lt>>2]=xe,z8=Kt+t|0,ct=$8+1|0,D8=(ct|0)==(A|0),!D8;)$8=ct,Kt=z8;if(gt=m8+2|0,F8=(gt|0)<(t|0),F8)m8=gt,A8=B4,i7=ee;else break}if(M8=ne+1|0,ue=(M8|0)==(n|0),ue)break;He=W9,ne=M8,Gt=ce}if(T8=r5(R9,n)|0,N8=(U4|0)<(A|0),Z8=(Q3|0)>1,!N8){if(!Z8)break;for(W8=(A|0)>0,kt=(t|0)>2,Ye=1,l8=0,U7=T8;;){if(B0=l8+R9|0,p0=U7-R9|0,W8)for(Y4=0,r7=B0,n7=p0;;){if(kt)for(ye=2,zt=r7,y7=n7;I0=zt+2|0,S0=y7+2|0,_0=zt+1|0,Q0=I+(_0<<2)|0,R0=+s[Q0>>2],M0=y7+1|0,N0=I+(M0<<2)|0,U0=+s[N0>>2],y0=U0+R0,H0=u+(_0<<2)|0,s[H0>>2]=y0,L0=I+(I0<<2)|0,D0=+s[L0>>2],J0=I+(S0<<2)|0,Y0=+s[J0>>2],P0=D0-Y0,K0=u+(M0<<2)|0,s[K0>>2]=P0,G0=+s[L0>>2],O0=+s[J0>>2],r1=O0+G0,q0=u+(I0<<2)|0,s[q0>>2]=r1,e1=+s[N0>>2],b0=+s[Q0>>2],c1=e1-b0,$1=u+(S0<<2)|0,s[$1>>2]=c1,u1=ye+2|0,g1=(u1|0)<(t|0),g1;)ye=u1,zt=I0,y7=S0;if(l1=r7+t|0,s1=n7+t|0,a1=Y4+1|0,q4=(a1|0)==(A|0),q4)break;Y4=a1,r7=l1,n7=s1}if(n1=Ye+1|0,Re=(n1|0)==(Q3|0),Re)break e;Ye=n1,l8=B0,U7=p0}}if(Z8)for(D=(t|0)>2,Q=(A|0)>0,D9=1,Yt=0,G7=T8;;){if(_=Yt+R9|0,R=G7-R9|0,D)for(fe=2,m7=_,p7=R;;){if(L=m7+2|0,F=p7+2|0,Q)for(M=F-t|0,T=L-t|0,_8=0,V7=T,li=M;N=V7+t|0,G=li+t|0,z=N+-1|0,Y=I+(z<<2)|0,t0=+s[Y>>2],J=G+-1|0,W=I+(J<<2)|0,e0=+s[W>>2],q=e0+t0,X=u+(z<<2)|0,s[X>>2]=q,U=I+(N<<2)|0,$0=+s[U>>2],K=I+(G<<2)|0,a0=+s[K>>2],s0=$0-a0,i0=u+(J<<2)|0,s[i0>>2]=s0,r0=+s[U>>2],V=+s[K>>2],h0=V+r0,o0=u+(N<<2)|0,s[o0>>2]=h0,c0=+s[W>>2],j=+s[Y>>2],u0=c0-j,d0=u+(G<<2)|0,s[d0>>2]=u0,w0=_8+1|0,b8=(w0|0)==(A|0),!b8;)_8=w0,V7=N,li=G;if(C0=fe+2|0,k0=(C0|0)<(t|0),k0)fe=C0,m7=L,p7=F;else break}if(f0=D9+1|0,r8=(f0|0)==(Q3|0),r8)break;D9=f0,Yt=_,G7=R}}while(!1);if(y=(a|0)>0,y)for(Q4=0;o1=m+(Q4<<2)|0,z0=e[o1>>2]|0,h1=E+(Q4<<2)|0,e[h1>>2]=z0,m1=Q4+1|0,H8=(m1|0)==(a|0),!H8;)Q4=m1;if(d1=r5(a,n)|0,E1=(Q3|0)>1,E1){for(B1=(A|0)>0,Y8=1,L8=0,P7=d1;;){if(p1=L8+R9|0,Q1=P7-R9|0,B1)for(x1=Q1-t|0,L1=p1-t|0,ot=0,oi=L1,ai=x1;w1=oi+t|0,R1=ai+t|0,F1=I+(w1<<2)|0,G1=+s[F1>>2],k1=I+(R1<<2)|0,U1=+s[k1>>2],Z1=U1+G1,N1=u+(w1<<2)|0,s[N1>>2]=Z1,D1=+s[k1>>2],V1=+s[F1>>2],O1=D1-V1,H1=u+(R1<<2)|0,s[H1>>2]=O1,Y1=ot+1|0,ie=(Y1|0)==(A|0),!ie;)ot=Y1,oi=w1,ai=R1;if(j1=Y8+1|0,tt=(j1|0)==(Q3|0),tt)break;Y8=j1,L8=p1,P7=Q1}if(r2=n+-1|0,W1=r5(r2,a)|0,E1){for(P1=(Q3|0)>2,G8=0,P8=1,Ve=1,_t=0,d7=d1;;){if(c2=_t+a|0,z1=d7-a|0,u2=P8*f8,s2=G8*Nt,K1=u2-s2,h2=G8*f8,a2=P8*Nt,t2=a2+h2,y)for(C8=0,q7=c2,o7=z1,z7=W1,Wt=a;$2=E+(C8<<2)|0,i2=+s[$2>>2],A2=Wt+1|0,X1=E+(Wt<<2)|0,n2=+s[X1>>2],f2=n2*K1,y2=f2+i2,v2=q7+1|0,w2=m+(q7<<2)|0,s[w2>>2]=y2,C2=z7+1|0,F2=E+(z7<<2)|0,D2=+s[F2>>2],N2=D2*t2,d2=o7+1|0,K2=m+(o7<<2)|0,s[K2>>2]=N2,G2=C8+1|0,ut=(G2|0)==(a|0),!ut;)C8=G2,q7=v2,o7=d2,z7=C2,Wt=A2;if(P1)for(U8=t2,k8=K1,ft=2,H7=a,Ut=W1;;){if(M2=H7+a|0,P2=Ut-a|0,z2=k8*K1,o5=U8*t2,O2=z2-o5,T1=U8*K1,X2=k8*t2,L5=X2+T1,y)for(it=0,w7=c2,S7=z1,b7=M2,Lt=P2;e5=b7+1|0,b5=E+(b7<<2)|0,f5=+s[b5>>2],v5=f5*O2,P5=w7+1|0,l5=m+(w7<<2)|0,k2=+s[l5>>2],m5=k2+v5,s[l5>>2]=m5,n5=Lt+1|0,x2=E+(Lt<<2)|0,_2=+s[x2>>2],B2=_2*L5,R5=S7+1|0,d5=m+(S7<<2)|0,D5=+s[d5>>2],G5=D5+B2,s[d5>>2]=G5,_5=it+1|0,vt=(_5|0)==(a|0),!vt;)it=_5,w7=P5,S7=R5,b7=e5,Lt=n5;if(q2=ft+1|0,et=(q2|0)==(Q3|0),et)break;U8=L5,k8=O2,ft=q2,H7=M2,Ut=P2}if(I5=Ve+1|0,St=(I5|0)==(Q3|0),St)break;G8=t2,P8=K1,Ve=I5,_t=c2,d7=z1}if(E1)for(rt=1,K8=0;;){if(A5=K8+a|0,y)for(H4=0,Jt=A5;c5=Jt+1|0,B5=E+(Jt<<2)|0,S5=+s[B5>>2],g5=m+(H4<<2)|0,a5=+s[g5>>2],W2=a5+S5,s[g5>>2]=W2,g2=H4+1|0,ht=(g2|0)==(a|0),!ht;)H4=g2,Jt=c5;if(p5=rt+1|0,Qe=(p5|0)==(Q3|0),Qe)break;rt=p5,K8=A5}}}if(t5=(t|0)<(A|0),t5){if(J2=(t|0)>0,J2)for(i5=(A|0)>0,qe=0;;){if(i5)for(Je=0,Ie=qe,Vt=qe;J5=I+(Ie<<2)|0,X5=e[J5>>2]|0,n3=c+(Vt<<2)|0,e[n3>>2]=X5,m3=Ie+t|0,F5=Vt+C9|0,V5=Je+1|0,Le=(V5|0)==(A|0),!Le;)Je=V5,Ie=m3,Vt=F5;if(k3=qe+1|0,i8=(k3|0)==(t|0),i8)break;qe=k3}}else if(s5=(A|0)>0,s5)for(h5=(t|0)>0,x8=0,Me=0,I7=0;;){if(h5)for(Oe=0,O7=Me,Y7=I7;x5=O7+1|0,j2=I+(O7<<2)|0,$5=e[j2>>2]|0,L2=Y7+1|0,Q5=c+(Y7<<2)|0,e[Q5>>2]=$5,q5=Oe+1|0,S8=(q5|0)==(t|0),!S8;)Oe=q5,O7=x5,Y7=L2;if(j5=Me+t|0,E5=I7+C9|0,f3=x8+1|0,k9=(f3|0)==(A|0),k9)break;x8=f3,Me=j5,I7=E5}if(u3=t<<1,p3=r5(R9,n)|0,E1)for(z3=(A|0)>0,nt=1,bt=0,C7=0,J7=p3;;){if(z5=bt+u3|0,w3=C7+R9|0,W5=J7-R9|0,z3)for(p9=0,Zt=z5,k7=w3,W7=W5;i6=I+(k7<<2)|0,L3=e[i6>>2]|0,U3=Zt+-1|0,a3=c+(U3<<2)|0,e[a3>>2]=L3,l3=I+(W7<<2)|0,c3=e[l3>>2]|0,C3=c+(Zt<<2)|0,e[C3>>2]=c3,U5=Zt+C9|0,O5=k7+t|0,k5=W7+t|0,P3=p9+1|0,d8=(P3|0)==(A|0),!d8;)p9=P3,Zt=U5,k7=O5,W7=k5;if(M5=nt+1|0,Pe=(M5|0)==(Q3|0),Pe)break;nt=M5,bt=z5,C7=w3,J7=W5}if(!g4){if(o6=(U4|0)<(A|0),e3=0-t|0,!o6){if(!E1)return;for(B=(A|0)<1,v=(t|0)<3,v8=B|v,J8=1,at=e3,B7=0,s7=0,$i=p3;;){if(u6=at+u3|0,y3=B7+u3|0,r6=s7+R9|0,j3=$i-R9|0,!v8)for(At=0,Z7=u6,A7=y3,ke=r6,a7=j3;;){for(X9=2;l6=t-X9|0,d3=X9+ke|0,v6=d3+-1|0,S6=I+(v6<<2)|0,B6=+s[S6>>2],X3=X9+a7|0,c6=X3+-1|0,p6=I+(c6<<2)|0,x6=+s[p6>>2],Y6=x6+B6,C6=X9+A7|0,b3=C6+-1|0,t6=c+(b3<<2)|0,s[t6>>2]=Y6,f6=+s[S6>>2],H3=+s[p6>>2],D3=f6-H3,Y3=l6+Z7|0,Z3=Y3+-1|0,b6=c+(Z3<<2)|0,s[b6>>2]=D3,A6=I+(d3<<2)|0,t3=+s[A6>>2],O6=I+(X3<<2)|0,a6=+s[O6>>2],d6=a6+t3,_3=c+(C6<<2)|0,s[_3>>2]=d6,N6=+s[O6>>2],n6=+s[A6>>2],Q6=N6-n6,L6=c+(Y3<<2)|0,s[L6>>2]=Q6,K6=X9+2|0,I6=(K6|0)<(t|0),I6;)X9=K6;if(O3=Z7+C9|0,K5=A7+C9|0,S3=ke+t|0,g3=a7+t|0,q3=At+1|0,j8=(q3|0)==(A|0),j8)break;At=q3,Z7=O3,A7=K5,ke=S3,a7=g3}if(J6=J8+1|0,X8=(J6|0)==(Q3|0),X8)break;J8=J6,at=u6,B7=y3,s7=r6,$i=j3}return}if(E1)for(A3=(t|0)>2,R3=(A|0)>0,re=1,se=e3,Ai=0,Q7=0,K7=p3;;){if(j6=se+u3|0,G6=Ai+u3|0,e9=Q7+R9|0,s9=K7-R9|0,A3&&(R6=j6+t|0,R3))for(Fe=2;;){for(b4=Fe+s9|0,D4=Fe+e9|0,L4=Fe+G6|0,T4=R6-Fe|0,V8=0,v7=T4,Pt=L4,D7=D4,n9=b4;z6=D7+-1|0,y6=I+(z6<<2)|0,F6=+s[y6>>2],M6=n9+-1|0,t9=I+(M6<<2)|0,A9=+s[t9>>2],X6=A9+F6,u9=Pt+-1|0,f9=c+(u9<<2)|0,s[f9>>2]=X6,d9=+s[y6>>2],a9=+s[t9>>2],$9=d9-a9,T9=v7+-1|0,T6=c+(T9<<2)|0,s[T6>>2]=$9,i9=I+(D7<<2)|0,N9=+s[i9>>2],I9=I+(n9<<2)|0,E4=+s[I9>>2],o4=E4+N9,h4=c+(Pt<<2)|0,s[h4>>2]=o4,G9=+s[I9>>2],z9=+s[i9>>2],b9=G9-z9,q6=c+(v7<<2)|0,s[q6>>2]=b9,r9=v7+C9|0,m4=Pt+C9|0,S4=D7+t|0,A4=n9+t|0,y9=V8+1|0,O8=(y9|0)==(A|0),!O8;)V8=y9,v7=r9,Pt=m4,D7=S4,n9=A4;if(U6=Fe+2|0,D6=(U6|0)<(t|0),D6)Fe=U6;else break}if(C4=re+1|0,q8=(C4|0)==(Q3|0),q8)break;re=C4,se=j6,Ai=G6,Q7=e9,K7=s9}}}function ab(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,L1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,k3=0,u3=0,p3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,X3=0,c6=0,p6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,L6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,L4=0,T4=0,j4=0,C4=0,N4=0,U9=0,G4=0,a4=0,R4=0,u4=0,Ce=0,q9=0,m9=0,Be=0,Ne=0,Xe=0,U4=0,Ge=0,P4=0,X4=0,be=0,e8=0,Z9=0,$e=0,f4=0,_6=0,O4=0,R9=0,$4=0,_4=0,le=0,W9=0,ce=0,ge=0,B4=0,ee=0,F4=0,he=0,C9=0,g6=0,Ue=0,l4=0,pe=0,p4=0,c4=0,P6=0,De=0,_e=0,t8=0,g4=0,k4=0,u8=0,J3=0,w9=0,B9=0,M4=0,te=0,$t=0,xe=0,lt=0,wt=0,z8=0,ct=0,gt=0,F8=0,M8=0,T8=0,N8=0,Z8=0,W8=0,kt=0,G8=0,U8=0,P8=0,k8=0,v8=0,f8=0,O8=0,q8=0,j8=0,X8=0,d8=0,Pe=0,Le=0,i8=0,S8=0,k9=0,ht=0,Qe=0,ut=0,vt=0,et=0,St=0,ie=0,tt=0,H8=0,b8=0,r8=0,q4=0,Re=0,n8=0,I8=0,D8=0,ue=0,j9=0,s8=0,E8=0,o8=0,m8=0,fe=0,ye=0,Oe=0,qe=0,X9=0,Fe=0,de=0,A8=0,we=0,Q4=0,C8=0,it=0,H4=0,I3=0,He=0,B8=0,re=0,H9=0,ne=0,D9=0,Ye=0,Y8=0,ft=0,rt=0,nt=0,J8=0,st=0,V8=0,a8=0,$8=0,_8=0,Y4=0,ot=0,x8=0,Je=0,p9=0,At=0,Ve=0,Nt=0,Ht=0,bt=0,at=0,Dt=0,se=0,Gt=0,Yt=0,l8=0,L8=0,_t=0,K8=0,Me=0,Ie=0,e4=0,xt=0,i7=0,G7=0,U7=0,P7=0,d7=0,Jt=0,I7=0,Vt=0,E7=0,Kt=0,m7=0,r7=0,oi=0,O7=0,C7=0,B7=0,Ai=0,p7=0,n7=0,ai=0,q7=0,H7=0,Y7=0,J7=0,s7=0,Q7=0,V7=0,zt=0,o7=0,Ut=0,Zt=0,$i=0,K7=0,li=0,y7=0,z7=0,w7=0,k7=0,Z7=0,v7=0,Wt=0,S7=0,W7=0,A7=0,Pt=0,b7=0,ke=0,D7=0,Lt=0,a7=0,n9=0,dt=0,p8=0,It=0,Rt=0,zr=0,Er=0,eo=0,Pn=0,to=0,On=0,io=0,ro=0,qn=0,no=0,Zr=0,so=0,oo=0,Ao=0,Hn=0,ao=0,Yn=0,Jn=0,$o=0,Wr=0,Vn=0,jr=0,Kn=0,zn=0,lo=0,co=0,go=0,Xr=0,Zn=0,ho=0,mr=0,en=0,uo=0,fo=0,tn=0,ci=0,Wn=0,Io=0,Eo=0,jn=0,Xn=0,es=0,mo=0,gi=0,rn=0,Co=0,ts=0,Bo=0,po=0,Qo=0,is=0,yo=0,wo=0,ko=0,vo=0,rs=0,So=0,bo=0,nn=0,Cr=0,sn=0,Do=0,ji=0,_o=0,ns=0,on=0,ss=0,An=0,xo=0,os=0,As=0,Lo=0,as=0,$s=0,Ro=0,Br=0,ls=0,hi=0,an=0,pr=0,Xi=0,Qr=0,Hi=0,yr=0,cs=0,Yi=0,yi=0,wi=0,j7=0,ki=0,wr=0,er=0,tr=0,kr=0,ui=0,Fo=0,$7=0,tl=0,$n=0,ln=0,Nh=0,il=0,Mo=0,Gh=0,XA=0,rl=0,Uh=0,Ph=0,Oh=0,ea=0,nl=0,sl=0,ta=0,cn=0,ol=0,qh=0,To=0,ir=0,Hh=0,Yh=0,Jh=0,Vh=0,Kh=0,zh=0,Zh=0,Wh=0,jh=0,Xh=0,Al=0,vr=0,eu=0,tu=0,al=0,iu=0,ia=0,No=0,ra=0,ru=0,nu=0,na=0,$l=0,ll=0,cl=0,sa=0,gl=0,Go=0,su=0,ou=0,hl=0,Au=0,au=0,ul=0,$u=0,lu=0,fl=0,dl=0,Il=0,El=0,ml=0,gn=0,cu=0,Cl=0,gu=0,Bl=0,pl=0,hu=0,uu=0,fu=0,oa=0,Ql=0,yl=0,gs=0,wl=0,Aa=0,du=0,kl=0,Iu=0,vl=0,Eu=0,mu=0,Sl=0,bl=0,Cu=0,Uo=0,Bu=0,aa=0,Dl=0,_l=0,pu=0,Qu=0,yu=0,wu=0,ku=0,vu=0,Po=0,xl=0,Ll=0,Rl=0,Oo=0,Su=0,Fl=0,bu=0,Ml=0,Du=0,_u=0,Tl=0,$a=0,xu=0,Lu=0,qo=0,Ru=0,Ho=0,Fu=0,la=0,Mu=0,Tu=0,Nu=0,Nl=0,Gu=0,Uu=0,Pu=0,Ou=0,Gl=0,Ul=0,rr=0,Pl=0,Yo=0,ca=0,ga=0,hn=0,Ol=0,un=0,qu=0,ql=0,Hu=0,Yu=0,Ju=0,Vu=0,Jo=0,ha=0,Sr=0,Ku=0,zu=0,Hl=0,ua=0,Yl=0,Jl=0,Zu=0,Vl=0,Wu=0,fa=0,ju=0,Xu=0,P9=0,ef=0,Kl=0,tf=0,rf=0,da=0,nf=0,Ia=0,zl=0,sf=0,of=0,Zl=0,Wl=0,Af=0,Ea=0,ma=0,jl=0,Xl=0,af=0,ec=0,Ca=0,$f=0,tc=0,lf=0,cf=0,gf=0,hf=0,ic=0,rc=0,Ba=0,Vo=0,nc=0,uf=0,sc=0,oc=0,ff=0,df=0,If=0,Ac=0,Ef=0,mf=0,Cf=0,Bf=0,pf=0,Qf=0,ac=0,yf=0,$c=0,wf=0,fn=0,kf=0,lc=0,vf=0,hs=0,cc=0,pa=0,Sf=0,Ko=0,Qa=0,bf=0,ya=0,gc=0,Df=0,_f=0,xf=0,Lf=0,Rf=0,hc=0,Ff=0,Mf=0,Tf=0,zo=0,us=0,wa=0,Nf=0,ka=0,Gf=0,Uf=0,Pf=0,uc=0,Of=0,qf=0,Hf=0,Yf=0,Jf=0,Zo=0,Vf=0,Kf=0,fc=0,zf=0,Zf=0,Wf=0,jf=0,fi=0,dc=0,di=0,Ic=0,va=0,Xf=0,X7=0,fs=0,ed=0,td=0,id=0,rd=0,nd=0,Ec=0,sd=0,od=0,mc=0,Ad=0,ad=0,ds=0,Sa=0,$d=0,Cc=0,ld=0,cd=0,Wo=0,gd=0,hd=0,Bc=0,pc=0,ud=0,fd=0,dn=0,dd=0,Id=0,In=0,Ed=0,Qc=0,md=0,Cd=0,Is=0,yc=0,Bd=0,wc=0,pd=0,nr=0,ba=0,Qd=0,kc=0,vc=0,yd=0,wd=0,Sc=0,kd=0,vd=0,Sd=0,bc=0,bd=0,Es=0,Dd=0,En=0,_d=0,xd=0,Da=0,Ld=0,_a=0,xa=0,Rd=0,Dc=0,_c=0,Fd=0,xc=0,Lc=0,Rc=0,Md=0,Fc=0,Mc=0,Td=0,Nd=0,Tc=0,Nc=0,Gd=0,Gc=0,Uc=0,Ud=0,Pd=0,Pc=0,La=0,Oc=0,qc=0,Hc=0,Yc=0,Od=0,qd=0,Hd=0,Yd=0,Jd=0,Vd=0,Kd=0,zd=0,Jc=0,Ra=0,Zd=0,Wd=0,jd=0,Vc=0,Kc=0,Xd=0,zc=0,Fa=0,jo=0,Zc=0,eI=0,tI=0,iI=0,rI=0,Wc=0,Xo=0,nI=0,sI=0,oI=0,AI=0,aI=0,$I=0,lI=0,cI=0,jc=0,gI=0,hI=0,uI=0,fI=0,eA=0,Xc=0,dI=0,II=0,mn=0,eg=0,tg=0,Ma=0,EI=0,ig=0,mI=0,rg=0,ng=0,CI=0,BI=0,pI=0,QI=0,yI=0,tA=0,Ta=0,wI=0,kI=0,vI=0,SI=0,sg=0,bI=0,og=0,DI=0,_I=0,Ag=0,br=0,ag=0,$g=0,xI=0,lg=0,iA=0,LI=0,RI=0,FI=0,rA=0,cg=0,MI=0,TI=0,gg=0,NI=0,GI=0,Na=0,nA=0,UI=0,PI=0,OI=0,hg=0,ug=0,fg=0,qI=0,HI=0,ms=0,YI=0,dg=0,JI=0,Ga=0,Ig=0,VI=0,KI=0,zI=0,ZI=0,Eg=0,WI=0,jI=0,mg=0,sA=0,XI=0,eE=0,tE=0,Cs=0,Cg=0,Bg=0,iE=0,pg=0,Qg=0,vi=0,yg=0,sr=0,rE=0,nE=0,sE=0,oE=0,Ua=0,oA=0,wg=0,kg=0,AE=0,AA=0,Bs=0,aE=0,aA=0,Pa=0,$E=0,Oa=0,lE=0,cE=0,vg=0,$A=0,Sg=0,gE=0,hE=0,uE=0,fE=0,bg=0,dE=0,jt=0,y4=0,ei=0,IE=0,Dg=0,_g=0,qa=0,EE=0,Dr=0,ps=0,mE=0,CE=0,xg=0,Ha=0,BE=0,Lg=0,Rg=0,Fg=0,Ya=0,Ja=0,Mg=0,Qs=0,Va=0,Tg=0,pE=0,Cn=0,QE=0,Ng=0,lA=0,yE=0,Gg=0,Si=0,wE=0,kE=0,vE=0,SE=0,bE=0,DE=0,bi=0,_E=0,xE=0,LE=0,Ug=0,Ii=0,cA=0,Ka=0,Pg=0,Og=0,RE=0,qg=0,Hg=0,FE=0,ME=0,Yg=0,Jg=0,TE=0,NE=0,Vg=0,GE=0,ys=0,gA=0,hA=0,UE=0,za=0,PE=0,OE=0,Kg=0,ws=0,qE=0,HE=0,Za=0,Wa=0,uA=0,ja=0,Xa=0,or=0,_r=0,xr=0,e$=0,t$=0,ks=0,Ar=0,Bn=0,YE=0,ar=0,pn=0,JE=0,_7=0,x7=0,L7=0,fA=0,dA=0,zg=0,Zg=0,IA=0,i$=0,R7=0,EA=0,Lr=0,r$=0,VE=0,n$=0,KE=0,s$=0,Wg=0,mA=0,zE=0,ZE=0,CA=0,WE=0,BA=0,Qn=0,Ke=0,v4=0,jg=0,jE=0,o$=0,Xg=0,XE=0,em=0,pA=0,tm=0,im=0,rm=0,nm=0,eh=0,sm=0,om=0,Am=0,ti=0,QA=0,yn=0,A$=0,vs=0,Ss=0,Xt=0,bs=0,th=0,ih=0,yA=0,Ds=0,_s=0,xs=0,am=0,Ls=0,$r=0,rh=0,Rr=0,ii=0,a$=0,$$=0,Ji=0,l$=0,c$=0,g$=0,Fr=0,$6=0,wA=0,Mr=0,nh=0,ve=0,h$=0,Q8=0,Rs=0,wn=0,kn=0,F9=0,vn=0,Tr=0,J4=0,u$=0,wB=0,$m=0,nC=0,sC=0,kB=0,lm=0,NQ=0,GQ=0,UQ=0,PQ=0,OQ=0,qQ=0,HQ=0,YQ=0,JQ=0,VQ=0,KQ=0,zQ=0,vB=0,SB=0,ZQ=0,WQ=0,jQ=0,sh=0,oC=0,Ei=0,oh=0,Ah=0,ah=0,$h=0,cm=0,gm=0,hm=0,um=0,fm=0,dm=0,Im=0,Em=0,mm=0,Cm=0,AC=0,kA=0,lr=0,f$=0,lh=0,d$=0,bB=0,vA=0,Bm=0,I$=0,aC=0,$C=0,pm=0,lC=0,cC=0,gC=0,hC=0,uC=0,fC=0,dC=0,DB=0,_B=0,xB=0,LB=0,RB=0,SA=0,bA=0,DA=0,_A=0,XQ=0,cr=0,t4=0,Tb=0,xA=0,IC=0;if(Tb=C,c0=t+28|0,j=e[c0>>2]|0,X8=(j|0)==0,X8||(o7=j+3456|0,cs=e[o7>>2]|0,xl=(cs|0)==0,n=xl&1,hs=j+3496|0,xc=+A1[hs>>3],hg=xc>-80,hg?A1[hs>>3]=-80:(ME=xc<-200,ME&&(A1[hs>>3]=-200)),l0=j+3512|0,Z2=+A1[l0>>3],s3=Z2>0,s3?A1[l0>>3]=0:(C4=Z2<-99999,C4&&(A1[l0>>3]=-99999)),Ne=j+3396|0,_6=e[Ne>>2]|0,F4=(_6|0)==0,F4))return m=-131,m|0;if(_e=j+3392|0,e[_e>>2]=1,xe=j+3400|0,W8=+A1[xe>>3],d8=_6+24|0,St=e[d8>>2]|0,ue=_6+28|0,Fe=e[ue>>2]|0,re=~~W8,V8=St+(re<<2)|0,Nt=e[V8>>2]|0,K8=Fe+(re<<2)|0,I7=e[K8>>2]|0,e[j>>2]=Nt,p7=j+4|0,e[p7>>2]=I7,Ut=(Nt|0)==(I7|0),Wt=_6+144|0,dt=e[Wt>>2]|0,ro=(dt|0)>0,ro){for($o=_6+136|0,ho=_6+140|0,Xn=_6+148|0,ji=W8,Sr=j,AC=0;;){if(yo=~~ji,$s=e[$o>>2]|0,Yi=e[ho>>2]|0,$7=e[Xn>>2]|0,Ph=$7+(AC<<2)|0,Hh=e[Ph>>2]|0,vr=n4(1,1120)|0,$l=Hh+(yo<<2)|0,ul=e[$l>>2]|0,gu=Yi+(ul*1120|0)|0,s4(vr|0,gu|0,1120)|0,Aa=e[vr>>2]|0,Bu=(Aa|0)>0,Bu){for(Ll=vr+4|0,oC=0,dC=-1;;)if(Ca=Ll+(oC<<2)|0,nc=e[Ca>>2]|0,Bf=(nc|0)>(dC|0),t0=Bf?nc:dC,cc=oC+1|0,KQ=(cc|0)==(Aa|0),KQ){J=t0;break}else oC=cc,dC=t0;if(xu=(J|0)<0,!xu){for(Gu=vr+256|0,hn=Sr+24|0,ju=vr+192|0,sf=vr+320|0,d$=0,gC=-1;;){if(vc=Gu+(d$<<2)|0,En=e[vc>>2]|0,Lc=(En|0)>(gC|0),z=Lc?En:gC,Uc=e[hn>>2]|0,Hd=Uc+En|0,e[vc>>2]=Hd,Vc=ju+(d$<<2)|0,Wc=e[Vc>>2]|0,gI=(Wc|0)==31,gI)hC=z;else for(y9=Wc,lC=0,fC=z;;)if(Ma=(sf+(d$<<5)|0)+(lC<<2)|0,tA=e[Ma>>2]|0,Ag=(tA|0)>(fC|0),Y=Ag?tA:fC,cg=(tA|0)>-1,cg?(ug=e[hn>>2]|0,KI=ug+tA|0,e[Ma>>2]=KI,e0=e[Vc>>2]|0,Pa=e0):Pa=y9,Cs=lC+1|0,sE=1<>2]|0,Xf=e[Kf>>2]|0,mc=e[hn>>2]|0,hd=mc+1|0,e[hn>>2]=hd,md=(Sr+1824|0)+(mc<<2)|0,e[md>>2]=Xf,HQ=(uC|0)==0,!HQ))for(bB=0;Ja=bB+1|0,Z=e[$l>>2]|0,Gg=$s+(Z<<2)|0,LE=e[Gg>>2]|0,Yg=LE+(Ja<<2)|0,PE=e[Yg>>2]|0,or=e[hn>>2]|0,JE=or+1|0,e[hn>>2]=JE,EA=(Sr+1824|0)+(or<<2)|0,e[EA>>2]=PE,qQ=(Ja|0)==(uC|0),!qQ;)bB=Ja}}if(CA=Sr+16|0,em=e[CA>>2]|0,QA=(Sr+800|0)+(em<<2)|0,e[QA>>2]=1,_s=e[CA>>2]|0,l$=(Sr+1056|0)+(_s<<2)|0,e[l$>>2]=vr,u0=e[CA>>2]|0,_0=u0+1|0,e[CA>>2]=_0,J0=AC+1|0,c1=e[Wt>>2]|0,h1=(J0|0)<(c1|0),!h1)break;W=+A1[xe>>3],r0=e[c0>>2]|0,ji=W,Sr=r0,AC=J0}h0=e[c0>>2]|0,z5=h0}else z5=j;R1=j+3520|0,H1=+A1[R1>>3],o2=_6+124|0,e2=e[o2>>2]|0,H2=_6+128|0,f5=e[H2>>2]|0,R5=~~H1,S5=+(R5|0),i5=H1-S5,J5=z5+2868|0,U5=f5+(R5<<3)|0,v3=+A1[U5>>3],k6=~~v3,e6=e2+(k6*492|0)|0,s4(J5|0,e6|0,492)|0,a6=+A1[U5>>3],j6=1-i5,M6=a6*j6,T6=R5+1|0,q6=f5+(T6<<3)|0,b4=+A1[q6>>3],D4=b4*i5,L4=D4+M6,T4=~~L4,j4=+(T4|0),N4=L4-j4,U9=N4==0,G4=(T4|0)>0,DB=G4&U9,I=DB?1:N4,a4=DB<<31>>31,F=a4+T4|0,R4=1-I,u4=F+1|0,Ce=(e2+(F*492|0)|0)+4|0,q9=+s[Ce>>2],m9=q9,Be=R4*m9,Xe=(e2+(u4*492|0)|0)+4|0,U4=+s[Xe>>2],Ge=U4,P4=I*Ge,X4=Be+P4,be=X4,e8=z5+2872|0,s[e8>>2]=be,Z9=(e2+(F*492|0)|0)+32|0,$e=+s[Z9>>2],f4=$e,O4=R4*f4,R9=(e2+(u4*492|0)|0)+32|0,$4=+s[R9>>2],_4=$4,le=I*_4,W9=O4+le,ce=W9,ge=z5+2900|0,s[ge>>2]=ce,B4=(e2+(F*492|0)|0)+8|0,ee=+s[B4>>2],he=ee,C9=R4*he,g6=(e2+(u4*492|0)|0)+8|0,Ue=+s[g6>>2],l4=Ue,pe=I*l4,p4=C9+pe,c4=p4,P6=z5+2876|0,s[P6>>2]=c4,De=(e2+(F*492|0)|0)+36|0,t8=+s[De>>2],g4=t8,k4=R4*g4,u8=(e2+(u4*492|0)|0)+36|0,J3=+s[u8>>2],w9=J3,B9=w9*I,M4=B9+k4,te=M4,$t=z5+2904|0,s[$t>>2]=te,lt=(e2+(F*492|0)|0)+12|0,wt=+s[lt>>2],z8=wt,ct=z8*R4,gt=(e2+(u4*492|0)|0)+12|0,F8=+s[gt>>2],M8=F8,T8=M8*I,N8=T8+ct,Z8=N8,kt=z5+2880|0,s[kt>>2]=Z8,G8=(e2+(F*492|0)|0)+40|0,U8=+s[G8>>2],P8=U8,k8=P8*R4,v8=(e2+(u4*492|0)|0)+40|0,f8=+s[v8>>2],O8=f8,q8=O8*I,j8=q8+k8,Pe=j8,Le=z5+2908|0,s[Le>>2]=Pe,i8=(e2+(F*492|0)|0)+16|0,S8=+s[i8>>2],k9=S8,ht=k9*R4,Qe=(e2+(u4*492|0)|0)+16|0,ut=+s[Qe>>2],vt=ut,et=vt*I,ie=et+ht,tt=ie,H8=z5+2884|0,s[H8>>2]=tt,b8=(e2+(F*492|0)|0)+44|0,r8=+s[b8>>2],q4=r8,Re=q4*R4,n8=(e2+(u4*492|0)|0)+44|0,I8=+s[n8>>2],D8=I8,j9=D8*I,s8=j9+Re,E8=s8,o8=z5+2912|0,s[o8>>2]=E8,m8=z5+3512|0,fe=+A1[m8>>3],ye=fe,Oe=z5+2936|0,s[Oe>>2]=ye,qe=_6+132|0,X9=e[qe>>2]|0,de=j+3472|0,A8=+A1[de>>3],we=A8,Q4=~~we,C8=+(Q4|0),it=we-C8,H4=it,I3=e[c0>>2]|0,He=(X9|0)==0;e:do if(He)B8=I3+4|0,H9=e[I3>>2]|0,ne=I3+3240|0,e[ne>>2]=H9,D9=e[B8>>2]|0,Ye=I3+3300|0,e[Ye>>2]=D9,Y8=I3+3244|0,e[Y8>>2]=H9,ft=I3+3304|0,e[ft>>2]=D9,rt=I3+3248|0,e[rt>>2]=H9,nt=I3+3308|0,e[nt>>2]=D9,J8=I3+3252|0,e[J8>>2]=H9,st=I3+3312|0,e[st>>2]=D9,a8=I3+3256|0,e[a8>>2]=H9,$8=I3+3316|0,e[$8>>2]=D9,_8=I3+3260|0,e[_8>>2]=H9,Y4=I3+3320|0,e[Y4>>2]=D9,ot=I3+3264|0,e[ot>>2]=H9,x8=I3+3324|0,e[x8>>2]=D9,Je=I3+3268|0,e[Je>>2]=H9,p9=I3+3328|0,e[p9>>2]=D9,At=I3+3272|0,e[At>>2]=H9,Ve=I3+3332|0,e[Ve>>2]=D9,Ht=I3+3276|0,e[Ht>>2]=H9,bt=I3+3336|0,e[bt>>2]=D9,at=I3+3280|0,e[at>>2]=H9,Dt=I3+3340|0,e[Dt>>2]=D9,se=I3+3284|0,e[se>>2]=H9,Gt=I3+3344|0,e[Gt>>2]=D9,Yt=I3+3288|0,e[Yt>>2]=H9,l8=I3+3348|0,e[l8>>2]=D9,L8=I3+3292|0,e[L8>>2]=H9,_t=I3+3352|0,e[_t>>2]=D9,Me=I3+3296|0,e[Me>>2]=H9,Ie=I3+3356|0,e[Ie>>2]=D9;else{e4=I3+3120|0,xt=X9+(Q4*240|0)|0,cr=e4,xA=xt,IC=cr+60|0;do e[cr>>2]=e[xA>>2]|0,cr=cr+4|0,xA=xA+4|0;while((cr|0)<(IC|0));i7=I3+3180|0,G7=(X9+(Q4*240|0)|0)+60|0,cr=i7,xA=G7,IC=cr+60|0;do e[cr>>2]=e[xA>>2]|0,cr=cr+4|0,xA=xA+4|0;while((cr|0)<(IC|0));if(U7=j+3420|0,P7=e[U7>>2]|0,d7=(P7|0)==0,!d7)for(Jt=1-H4,Vt=Q4+1|0,E7=t+8|0,Kt=I3+4|0,X=e[E7>>2]|0,m7=+(X|0),lr=0;;){if(r7=((X9+(Q4*240|0)|0)+120|0)+(lr<<2)|0,oi=+s[r7>>2],O7=oi,C7=O7*Jt,B7=((X9+(Vt*240|0)|0)+120|0)+(lr<<2)|0,Ai=+s[B7>>2],n7=Ai,ai=n7*H4,q7=ai+C7,H7=q7,Y7=H7,J7=Y7*1e3,s7=J7/m7,Q7=e[I3>>2]|0,V7=+(Q7|0),zt=V7*s7,Zt=~~zt,$i=(I3+3e3|0)+(lr<<2)|0,e[$i>>2]=Zt,K7=e[Kt>>2]|0,li=+(K7|0),y7=li*s7,z7=~~y7,w7=(I3+3060|0)+(lr<<2)|0,e[w7>>2]=z7,k7=~~H7,Z7=(I3+2940|0)+(lr<<2)|0,e[Z7>>2]=k7,v7=((X9+(Q4*240|0)|0)+180|0)+(lr<<2)|0,S7=+s[v7>>2],W7=S7,A7=W7*Jt,Pt=((X9+(Vt*240|0)|0)+180|0)+(lr<<2)|0,b7=+s[Pt>>2],ke=b7,D7=ke*H4,Lt=D7+A7,a7=Lt,n9=a7,p8=n9*1e3,It=p8/m7,Rt=e[I3>>2]|0,zr=+(Rt|0),Er=zr*It,eo=~~Er,Pn=(I3+3240|0)+(lr<<2)|0,e[Pn>>2]=eo,to=e[Kt>>2]|0,On=+(to|0),io=On*It,qn=~~io,no=(I3+3300|0)+(lr<<2)|0,e[no>>2]=qn,Zr=lr+1|0,JQ=(Zr|0)==15,JQ)break e;lr=Zr}for(so=(X9+(Q4*240|0)|0)+148|0,oo=+s[so>>2],Ao=oo,Hn=1-H4,ao=Ao*Hn,Yn=Q4+1|0,Jn=(X9+(Yn*240|0)|0)+148|0,Wr=+s[Jn>>2],Vn=Wr,jr=Vn*H4,Kn=jr+ao,zn=Kn,lo=zn,co=lo*1e3,go=t+8|0,Xr=I3+4|0,Zn=~~zn,$0=e[go>>2]|0,mr=+($0|0),en=co/mr,lh=0;uo=e[I3>>2]|0,fo=+(uo|0),tn=fo*en,ci=~~tn,Wn=(I3+3e3|0)+(lh<<2)|0,e[Wn>>2]=ci,Io=e[Xr>>2]|0,Eo=+(Io|0),jn=Eo*en,es=~~jn,mo=(I3+3060|0)+(lh<<2)|0,e[mo>>2]=es,gi=(I3+2940|0)+(lh<<2)|0,e[gi>>2]=Zn,rn=lh+1|0,zQ=(rn|0)==15,!zQ;)lh=rn;for(Co=(X9+(Q4*240|0)|0)+208|0,ts=+s[Co>>2],Bo=ts,po=Bo*Hn,Qo=(X9+(Yn*240|0)|0)+208|0,is=+s[Qo>>2],wo=is,ko=wo*H4,vo=ko+po,rs=vo,So=rs,bo=So*1e3,nn=bo/mr,Bm=0;Cr=e[I3>>2]|0,sn=+(Cr|0),Do=sn*nn,_o=~~Do,ns=(I3+3240|0)+(Bm<<2)|0,e[ns>>2]=_o,on=e[Xr>>2]|0,ss=+(on|0),An=ss*nn,xo=~~An,os=(I3+3300|0)+(Bm<<2)|0,e[os>>2]=xo,As=Bm+1|0,YQ=(As|0)==15,!YQ;)Bm=As}while(!1);for(Lo=+A1[xe>>3],as=_6+92|0,Ro=e[as>>2]|0,Br=_6+100|0,ls=e[Br>>2]|0,hi=_6+108|0,an=e[hi>>2]|0,pr=e[c0>>2]|0,Xi=pr+2852|0,Qr=e[Xi>>2]|0,Hi=~~Lo,yr=pr+28|0,yi=e[yr>>2]|0,wi=(yi|0)>0,wi||(e[yr>>2]=1),j7=(Qr|0)==0,j7?(ki=n4(1,520)|0,e[Xi>>2]=ki,SA=ki):SA=Qr,s4(SA|0,25784,520)|0,e[SA>>2]=0,wr=pr+3460|0,er=e[wr>>2]|0,tr=(er|0)==0,tr||(kr=SA+500|0,e[kr>>2]=1,ui=Ro+(Hi<<2)|0,Fo=e[ui>>2]|0,tl=SA+504|0,e[tl>>2]=Fo,$n=ls+(Hi<<2)|0,ln=e[$n>>2]|0,Nh=SA+508|0,e[Nh>>2]=ln,il=an+(Hi<<3)|0,Mo=+A1[il>>3],Gh=SA+512|0,A1[Gh>>3]=Mo),XA=+A1[xe>>3],rl=e[as>>2]|0,Uh=e[Br>>2]|0,Oh=e[hi>>2]|0,ea=e[c0>>2]|0,nl=ea+2856|0,sl=e[nl>>2]|0,ta=~~XA,cn=ea+28|0,ol=e[cn>>2]|0,qh=(ol|0)>1,qh||(e[cn>>2]=2),To=(sl|0)==0,To?(ir=n4(1,520)|0,e[nl>>2]=ir,bA=ir):bA=sl,s4(bA|0,25784,520)|0,e[bA>>2]=0,Yh=ea+3460|0,Jh=e[Yh>>2]|0,Vh=(Jh|0)==0,Vh||(Kh=bA+500|0,e[Kh>>2]=1,zh=rl+(ta<<2)|0,Zh=e[zh>>2]|0,Wh=bA+504|0,e[Wh>>2]=Zh,jh=Uh+(ta<<2)|0,Xh=e[jh>>2]|0,Al=bA+508|0,e[Al>>2]=Xh,eu=Oh+(ta<<3)|0,tu=+A1[eu>>3],al=bA+512|0,A1[al>>3]=tu),Ut||(iu=+A1[xe>>3],ia=_6+96|0,No=e[ia>>2]|0,ra=_6+104|0,ru=e[ra>>2]|0,nu=e[hi>>2]|0,na=e[c0>>2]|0,ll=na+2860|0,cl=e[ll>>2]|0,sa=~~iu,gl=na+28|0,Go=e[gl>>2]|0,su=(Go|0)>2,su||(e[gl>>2]=3),ou=(cl|0)==0,ou?(hl=n4(1,520)|0,e[ll>>2]=hl,DA=hl):DA=cl,s4(DA|0,25784,520)|0,e[DA>>2]=1,Au=na+3460|0,au=e[Au>>2]|0,$u=(au|0)==0,$u||(lu=DA+500|0,e[lu>>2]=1,fl=No+(sa<<2)|0,dl=e[fl>>2]|0,Il=DA+504|0,e[Il>>2]=dl,El=ru+(sa<<2)|0,ml=e[El>>2]|0,gn=DA+508|0,e[gn>>2]=ml,cu=nu+(sa<<3)|0,Cl=+A1[cu>>3],Bl=DA+512|0,A1[Bl>>3]=Cl),pl=+A1[xe>>3],hu=e[ia>>2]|0,uu=e[ra>>2]|0,fu=e[hi>>2]|0,oa=e[c0>>2]|0,Ql=oa+2864|0,yl=e[Ql>>2]|0,gs=~~pl,wl=oa+28|0,du=e[wl>>2]|0,kl=(du|0)>3,kl||(e[wl>>2]=4),Iu=(yl|0)==0,Iu?(vl=n4(1,520)|0,e[Ql>>2]=vl,_A=vl):_A=yl,s4(_A|0,25784,520)|0,e[_A>>2]=1,Eu=oa+3460|0,mu=e[Eu>>2]|0,Sl=(mu|0)==0,Sl||(bl=_A+500|0,e[bl>>2]=1,Cu=hu+(gs<<2)|0,Uo=e[Cu>>2]|0,aa=_A+504|0,e[aa>>2]=Uo,Dl=uu+(gs<<2)|0,_l=e[Dl>>2]|0,pu=_A+508|0,e[pu>>2]=_l,Qu=fu+(gs<<3)|0,yu=+A1[Qu>>3],wu=_A+512|0,A1[wu>>3]=yu)),ku=(j+3528|0)+(n<<5)|0,vu=+A1[ku>>3],Po=_6+32|0,Rl=e[Po>>2]|0,Oo=_6+36|0,Su=e[Oo>>2]|0,Fl=_6+44|0,bu=e[Fl>>2]|0,Xm(t,vu,0,Rl,Su,bu),Ml=j+3560|0,Du=+A1[Ml>>3],_u=e[Po>>2]|0,Tl=e[Oo>>2]|0,$a=_6+52|0,Lu=e[$a>>2]|0,Xm(t,Du,1,_u,Tl,Lu),Ut||(qo=j+3592|0,Ru=+A1[qo>>3],Ho=e[Po>>2]|0,Fu=e[Oo>>2]|0,la=e[$a>>2]|0,Xm(t,Ru,2,Ho,Fu,la),Mu=j+3624|0,Tu=+A1[Mu>>3],Nu=e[Po>>2]|0,Nl=e[Oo>>2]|0,Uu=_6+48|0,Pu=e[Uu>>2]|0,Xm(t,Tu,3,Nu,Nl,Pu)),Ou=((j+3528|0)+(n<<5)|0)+24|0,Gl=+A1[Ou>>3],Ul=_6+80|0,rr=e[Ul>>2]|0,Pl=_6+84|0,Yo=e[Pl>>2]|0,ca=~~Gl,ga=+(ca|0),Ol=Gl-ga,un=e[c0>>2]|0,qu=un+2852|0,ql=e[qu>>2]|0,Hu=Yo+(ca<<3)|0,Yu=+A1[Hu>>3],Ju=1-Ol,Vu=Yu*Ju,Jo=ca+1|0,ha=Yo+(Jo<<3)|0,Ku=+A1[ha>>3],zu=Ku*Ol,Hl=zu+Vu,ua=~~Hl,Yl=+(ua|0),Jl=Hl-Yl,Zu=Jl==0,Vl=(ua|0)>0,_B=Vl&Zu,a=_B?1:Jl,Wu=_B<<31>>31,M=Wu+ua|0,fa=1-a,Xu=M+1|0,oh=0;P9=(rr+(M*160|0)|0)+(oh<<2)|0,ef=e[P9>>2]|0,Kl=+(ef|0),tf=Kl*fa,rf=(rr+(Xu*160|0)|0)+(oh<<2)|0,da=e[rf>>2]|0,nf=+(da|0),Ia=nf*a,zl=Ia+tf,of=zl,Zl=(ql+336|0)+(oh<<2)|0,s[Zl>>2]=of,Wl=oh+1|0,GQ=(Wl|0)==40,!GQ;)oh=Wl;for(Af=j+3584|0,Ea=+A1[Af>>3],ma=~~Ea,jl=+(ma|0),Xl=Ea-jl,af=un+2856|0,ec=e[af>>2]|0,$f=Yo+(ma<<3)|0,tc=+A1[$f>>3],lf=1-Xl,cf=tc*lf,gf=ma+1|0,hf=Yo+(gf<<3)|0,ic=+A1[hf>>3],rc=ic*Xl,Ba=rc+cf,Vo=~~Ba,uf=+(Vo|0),sc=Ba-uf,oc=sc==0,ff=(Vo|0)>0,xB=ff&oc,c=xB?1:sc,df=xB<<31>>31,T=df+Vo|0,If=1-c,Ac=T+1|0,Ah=0;Ef=(rr+(T*160|0)|0)+(Ah<<2)|0,mf=e[Ef>>2]|0,Cf=+(mf|0),pf=Cf*If,Qf=(rr+(Ac*160|0)|0)+(Ah<<2)|0,ac=e[Qf>>2]|0,yf=+(ac|0),$c=yf*c,wf=$c+pf,fn=wf,kf=(ec+336|0)+(Ah<<2)|0,s[kf>>2]=fn,lc=Ah+1|0,UQ=(lc|0)==40,!UQ;)Ah=lc;if(!Ut){for(vf=j+3616|0,pa=+A1[vf>>3],Sf=_6+88|0,Ko=e[Sf>>2]|0,Qa=~~pa,bf=+(Qa|0),ya=pa-bf,gc=un+2860|0,Df=e[gc>>2]|0,_f=Ko+(Qa<<3)|0,xf=+A1[_f>>3],Rf=1-ya,hc=xf*Rf,Ff=Qa+1|0,Mf=Ko+(Ff<<3)|0,Tf=+A1[Mf>>3],zo=Tf*ya,us=zo+hc,wa=~~us,Nf=+(wa|0),ka=us-Nf,Uf=ka==0,Pf=(wa|0)>0,LB=Pf&Uf,u=LB?1:ka,uc=LB<<31>>31,N=uc+wa|0,Of=1-u,qf=N+1|0,ah=0;Hf=(rr+(N*160|0)|0)+(ah<<2)|0,Yf=e[Hf>>2]|0,Jf=+(Yf|0),Zo=Jf*Of,Vf=(rr+(qf*160|0)|0)+(ah<<2)|0,fc=e[Vf>>2]|0,zf=+(fc|0),Zf=zf*u,Wf=Zf+Zo,jf=Wf,fi=(Df+336|0)+(ah<<2)|0,s[fi>>2]=jf,dc=ah+1|0,PQ=(dc|0)==40,!PQ;)ah=dc;for(di=j+3648|0,Ic=+A1[di>>3],va=~~Ic,X7=+(va|0),fs=Ic-X7,ed=un+2864|0,td=e[ed>>2]|0,id=Ko+(va<<3)|0,rd=+A1[id>>3],nd=1-fs,Ec=rd*nd,sd=va+1|0,od=Ko+(sd<<3)|0,Ad=+A1[od>>3],ad=Ad*fs,ds=ad+Ec,Sa=~~ds,$d=+(Sa|0),Cc=ds-$d,ld=Cc==0,cd=(Sa|0)>0,RB=cd&ld,E=RB?1:Cc,Wo=RB<<31>>31,G=Wo+Sa|0,gd=1-E,Bc=G+1|0,$h=0;pc=(rr+(G*160|0)|0)+($h<<2)|0,ud=e[pc>>2]|0,fd=+(ud|0),dn=fd*gd,dd=(rr+(Bc*160|0)|0)+($h<<2)|0,Id=e[dd>>2]|0,In=+(Id|0),Ed=In*E,Qc=Ed+dn,Cd=Qc,Is=(td+336|0)+($h<<2)|0,s[Is>>2]=Cd,yc=$h+1|0,OQ=(yc|0)==40,!OQ;)$h=yc}for(Bd=((j+3528|0)+(n<<5)|0)+8|0,wc=+A1[Bd>>3],pd=_6+40|0,nr=e[pd>>2]|0,ba=~~wc,Qd=+(ba|0),kc=wc-Qd,yd=nr+(ba<<2)|0,wd=e[yd>>2]|0,Sc=+(wd|0),kd=1-kc,vd=Sc*kd,Sd=ba+1|0,bc=nr+(Sd<<2)|0,bd=e[bc>>2]|0,Es=+(bd|0),Dd=Es*kc,_d=Dd+vd,xd=_d,Da=ql+32|0,s[Da>>2]=xd,Ld=j+3568|0,_a=+A1[Ld>>3],xa=~~_a,Rd=+(xa|0),Dc=_a-Rd,_c=nr+(xa<<2)|0,Fd=e[_c>>2]|0,Rc=+(Fd|0),Md=1-Dc,Fc=Rc*Md,Mc=xa+1|0,Td=nr+(Mc<<2)|0,Nd=e[Td>>2]|0,Tc=+(Nd|0),Nc=Tc*Dc,Gd=Nc+Fc,Gc=Gd,Ud=ec+32|0,s[Ud>>2]=Gc,Ut||(Pd=j+3600|0,Pc=+A1[Pd>>3],La=~~Pc,Oc=+(La|0),qc=Pc-Oc,Hc=un+2860|0,Yc=e[Hc>>2]|0,Od=nr+(La<<2)|0,qd=e[Od>>2]|0,Yd=+(qd|0),Jd=1-qc,Vd=Yd*Jd,Kd=La+1|0,zd=nr+(Kd<<2)|0,Jc=e[zd>>2]|0,Ra=+(Jc|0),Zd=Ra*qc,Wd=Zd+Vd,jd=Wd,Kc=Yc+32|0,s[Kc>>2]=jd,Xd=j+3632|0,zc=+A1[Xd>>3],Fa=~~zc,jo=+(Fa|0),Zc=zc-jo,eI=un+2864|0,tI=e[eI>>2]|0,iI=nr+(Fa<<2)|0,rI=e[iI>>2]|0,Xo=+(rI|0),nI=1-Zc,sI=Xo*nI,oI=Fa+1|0,AI=nr+(oI<<2)|0,aI=e[AI>>2]|0,$I=+(aI|0),lI=$I*Zc,cI=lI+sI,jc=cI,hI=tI+32|0,s[hI>>2]=jc),uI=((j+3528|0)+(n<<5)|0)+16|0,fI=+A1[uI>>3],eA=_6+76|0,Xc=e[eA>>2]|0,dI=_6+60|0,II=e[dI>>2]|0,mn=_6+56|0,eg=e[mn>>2]|0,xl?ig=0:(tg=j+3408|0,EI=+A1[tg>>3],ig=EI),eC(t,fI,0,Xc,II,eg,ig),mI=j+3576|0,rg=+A1[mI>>3],ng=e[eA>>2]|0,CI=_6+64|0,BI=e[CI>>2]|0,pI=e[mn>>2]|0,eC(t,rg,1,ng,BI,pI,0),Ut?(ms=e[c0>>2]|0,YI=ms+2852|0,dg=e[YI>>2]|0,JI=ms+3496|0,Ga=+A1[JI>>3],Ig=Ga,VI=dg+4|0,s[VI>>2]=Ig,zI=ms+3504|0,ZI=+A1[zI>>3],Eg=ZI,WI=dg+8|0,s[WI>>2]=Eg,jI=ms+2856|0,mg=e[jI>>2]|0,sA=mg+4|0,s[sA>>2]=Ig,XI=mg+8|0,s[XI>>2]=Eg,sr=ms):(QI=j+3608|0,yI=+A1[QI>>3],Ta=e[eA>>2]|0,wI=_6+68|0,kI=e[wI>>2]|0,vI=e[mn>>2]|0,eC(t,yI,2,Ta,kI,vI,0),SI=j+3640|0,sg=+A1[SI>>3],bI=e[eA>>2]|0,og=_6+72|0,DI=e[og>>2]|0,_I=e[mn>>2]|0,eC(t,sg,3,bI,DI,_I,0),br=e[c0>>2]|0,ag=br+2852|0,$g=e[ag>>2]|0,xI=br+3496|0,lg=+A1[xI>>3],iA=lg,LI=$g+4|0,s[LI>>2]=iA,RI=br+3504|0,FI=+A1[RI>>3],rA=FI,MI=$g+8|0,s[MI>>2]=rA,TI=br+2856|0,gg=e[TI>>2]|0,NI=gg+4|0,s[NI>>2]=iA,GI=gg+8|0,s[GI>>2]=rA,Na=br+2860|0,nA=e[Na>>2]|0,UI=nA+4|0,s[UI>>2]=iA,PI=nA+8|0,s[PI>>2]=rA,OI=br+2864|0,fg=e[OI>>2]|0,qI=fg+4|0,s[qI>>2]=iA,HI=fg+8|0,s[HI>>2]=rA,sr=br),eE=+A1[xe>>3],tE=_6+152|0,Cg=e[tE>>2]|0,Bg=~~eE,iE=Cg+(Bg<<3)|0,pg=e[iE>>2]|0,Qg=(Cg+(Bg<<3)|0)+4|0,vi=e[Qg>>2]|0,yg=e[sr>>2]|0,rE=sr+4|0,nE=e[rE>>2]|0,oE=(yg|0)==(nE|0),A=oE?1:2,Ua=sr+8|0,oA=sr+12|0,wg=t+8|0,kg=t+4|0,Ei=0;;){if(AE=n4(1,3208)|0,AA=(sr+544|0)+(Ei<<2)|0,e[AA>>2]=AE,Bs=n4(1,16)|0,aE=(sr+32|0)+(Ei<<2)|0,e[aE>>2]=Bs,aA=26304+(Ei<<4)|0,e[Bs>>2]=e[aA>>2]|0,e[Bs+4>>2]=e[aA+4>>2]|0,e[Bs+8>>2]=e[aA+8>>2]|0,e[Bs+12>>2]=e[aA+12>>2]|0,$E=e[Ua>>2]|0,Oa=(Ei|0)<($E|0),Oa||(lE=Ei+1|0,e[Ua>>2]=lE),cE=(sr+288|0)+(Ei<<2)|0,e[cE>>2]=0,vg=e[AA>>2]|0,$A=pg+(Ei*3208|0)|0,s4(vg|0,$A|0,3208)|0,Sg=e[oA>>2]|0,gE=(Ei|0)<(Sg|0),gE||(hE=Ei+1|0,e[oA>>2]=hE),uE=e[$A>>2]|0,bg=(uE|0)>0,bg)for($C=0;;){dE=((pg+(Ei*3208|0)|0)+1092|0)+($C<<2)|0,jt=e[dE>>2]|0,y4=e[c0>>2]|0,ei=S9(2840)|0,IE=(y4+1568|0)+(jt<<2)|0,e[IE>>2]=ei,Dg=(vi+(jt<<5)|0)+12|0,_g=e[Dg>>2]|0,s4(ei|0,_g|0,2840)|0,qa=y4+20|0,EE=e[qa>>2]|0,ps=(EE|0)>(jt|0),ps||(mE=jt+1|0,e[qa>>2]=mE),CE=(vi+(jt<<5)|0)+8|0,xg=e[CE>>2]|0,Ha=ei+8|0,e[Ha>>2]=xg,BE=vi+(jt<<5)|0,Lg=e[BE>>2]|0,Rg=(y4+1312|0)+(jt<<2)|0,e[Rg>>2]=Lg,Fg=y4+3420|0,Ya=e[Fg>>2]|0,Mg=(Ya|0)==0,Qs=ei+12|0,Va=e[Qs>>2]|0,Tg=(Va|0)>0;do if(Mg){if(Tg)for(Ng=(vi+(jt<<5)|0)+24|0,lA=e[Ng>>2]|0,yE=ei+24|0,vA=0;;)if(ar=yE+(vA<<2)|0,pn=lA+(vA<<4)|0,_7=e[pn>>2]|0,x7=(_7|0)==0,x7||(L7=e[ar>>2]|0,fA=L7|1,e[ar>>2]=fA),dA=(lA+(vA<<4)|0)+4|0,zg=e[dA>>2]|0,Zg=(zg|0)==0,Zg||(k2=e[ar>>2]|0,m5=k2|2,e[ar>>2]=m5),n5=(lA+(vA<<4)|0)+8|0,x2=e[n5>>2]|0,_2=(x2|0)==0,_2||(B2=e[ar>>2]|0,C5=B2|4,e[ar>>2]=C5),d5=(lA+(vA<<4)|0)+12|0,D5=e[d5>>2]|0,G5=(D5|0)==0,G5||(_5=e[ar>>2]|0,q2=_5|8,e[ar>>2]=q2),I5=vA+1|0,A5=e[Qs>>2]|0,c5=(I5|0)<(A5|0),c5)vA=I5;else{BA=A5;break}else BA=Va;IA=(vi+(jt<<5)|0)+16|0,i$=e[IA>>2]|0,R7=y4+24|0,Lr=e[R7>>2]|0,r$=(Lr|0)>0,VE=i$;e:do if(r$)for(Cm=0;;){if(n$=(y4+1824|0)+(Cm<<2)|0,KE=e[n$>>2]|0,s$=(KE|0)==(i$|0),s$){L=Cm;break e}if(Wg=Cm+1|0,mA=(Wg|0)<(Lr|0),mA)Cm=Wg;else{t4=116;break}}else t4=116;while(!1);if((t4|0)==116&&(t4=0,zE=Lr+1|0,e[R7>>2]=zE,L=Lr),ZE=ei+20|0,e[ZE>>2]=L,WE=(y4+1824|0)+(L<<2)|0,e[WE>>2]=VE,Qn=(BA|0)>0,!Qn)break;for(Ke=(vi+(jt<<5)|0)+24|0,v4=ei+280|0,Tr=0,I$=0;;){if(jg=e[Ke>>2]|0,jE=jg+(I$<<4)|0,o$=e[jE>>2]|0,Xg=(o$|0)==0,XE=o$,Xg)vs=jg,$m=Tr;else{pA=e[R7>>2]|0,tm=(pA|0)>0;e:do if(tm)for(fm=0;;){if(im=(y4+1824|0)+(fm<<2)|0,rm=e[im>>2]|0,nm=(rm|0)==(o$|0),nm){R=fm;break e}if(eh=fm+1|0,sm=(eh|0)<(pA|0),sm)fm=eh;else{t4=123;break}}else t4=123;while(!1);(t4|0)==123&&(t4=0,om=pA+1|0,e[R7>>2]=om,R=pA),Am=Tr+1|0,ti=v4+(Tr<<2)|0,e[ti>>2]=R,yn=(y4+1824|0)+(R<<2)|0,e[yn>>2]=XE,s0=e[Ke>>2]|0,vs=s0,$m=Am}if(A$=(vs+(I$<<4)|0)+4|0,Ss=e[A$>>2]|0,Xt=(Ss|0)==0,bs=Ss,Xt)E2=vs,J4=$m;else{V1=e[R7>>2]|0,O1=(V1|0)>0;e:do if(O1)for(gm=0;;){if(q1=(y4+1824|0)+(gm<<2)|0,Y1=e[q1>>2]|0,j1=(Y1|0)==(Ss|0),j1){D=gm;break e}if(r2=gm+1|0,W1=(r2|0)<(V1|0),W1)gm=r2;else{t4=147;break}}else t4=147;while(!1);(t4|0)==147&&(t4=0,P1=V1+1|0,e[R7>>2]=P1,D=V1),c2=$m+1|0,z1=v4+($m<<2)|0,e[z1>>2]=D,u2=(y4+1824|0)+(D<<2)|0,e[u2>>2]=bs,i0=e[Ke>>2]|0,E2=i0,J4=c2}if(s2=(E2+(I$<<4)|0)+8|0,K1=e[s2>>2]|0,h2=(K1|0)==0,a2=K1,h2)D2=E2,u$=J4;else{t2=e[R7>>2]|0,$2=(t2|0)>0;e:do if($2)for(hm=0;;){if(i2=(y4+1824|0)+(hm<<2)|0,A2=e[i2>>2]|0,X1=(A2|0)==(K1|0),X1){Q=hm;break e}if(n2=hm+1|0,f2=(n2|0)<(t2|0),f2)hm=n2;else{t4=153;break}}else t4=153;while(!1);(t4|0)==153&&(t4=0,y2=t2+1|0,e[R7>>2]=y2,Q=t2),v2=J4+1|0,w2=v4+(J4<<2)|0,e[w2>>2]=Q,C2=(y4+1824|0)+(Q<<2)|0,e[C2>>2]=a2,V=e[Ke>>2]|0,D2=V,u$=v2}if(F2=(D2+(I$<<4)|0)+12|0,N2=e[F2>>2]|0,d2=(N2|0)==0,K2=N2,d2)wB=u$;else{G2=e[R7>>2]|0,M2=(G2|0)>0;e:do if(M2)for(um=0;;){if(P2=(y4+1824|0)+(um<<2)|0,z2=e[P2>>2]|0,o5=(z2|0)==(N2|0),o5){_=um;break e}if(O2=um+1|0,T1=(O2|0)<(G2|0),T1)um=O2;else{t4=159;break}}else t4=159;while(!1);(t4|0)==159&&(t4=0,X2=G2+1|0,e[R7>>2]=X2,_=G2),L5=u$+1|0,e5=v4+(u$<<2)|0,e[e5>>2]=_,b5=(y4+1824|0)+(_<<2)|0,e[b5>>2]=K2,wB=L5}if(v5=I$+1|0,P5=e[Qs>>2]|0,l5=(v5|0)<(P5|0),l5)Tr=wB,I$=v5;else break}}else{if(Tg)for(pE=(vi+(jt<<5)|0)+28|0,Cn=e[pE>>2]|0,QE=ei+24|0,kA=0;;)if(Si=QE+(kA<<2)|0,wE=Cn+(kA<<4)|0,kE=e[wE>>2]|0,vE=(kE|0)==0,vE||(SE=e[Si>>2]|0,bE=SE|1,e[Si>>2]=bE),DE=(Cn+(kA<<4)|0)+4|0,bi=e[DE>>2]|0,_E=(bi|0)==0,_E||(o6=e[Si>>2]|0,e3=o6|2,e[Si>>2]=e3),A3=(Cn+(kA<<4)|0)+8|0,R3=e[A3>>2]|0,u6=(R3|0)==0,u6||(Q3=e[Si>>2]|0,y3=Q3|4,e[Si>>2]=y3),r6=(Cn+(kA<<4)|0)+12|0,j3=e[r6>>2]|0,O3=(j3|0)==0,O3||(K5=e[Si>>2]|0,S3=K5|8,e[Si>>2]=S3),g3=kA+1|0,q3=e[Qs>>2]|0,l6=(g3|0)<(q3|0),l6)kA=g3;else{Vg=q3;break}else Vg=Va;xE=(vi+(jt<<5)|0)+20|0,Ug=e[xE>>2]|0,Ii=y4+24|0,cA=e[Ii>>2]|0,Ka=(cA|0)>0,Pg=Ug;e:do if(Ka)for(cm=0;;){if(Og=(y4+1824|0)+(cm<<2)|0,RE=e[Og>>2]|0,qg=(RE|0)==(Ug|0),qg){B=cm;break e}if(Hg=cm+1|0,FE=(Hg|0)<(cA|0),FE)cm=Hg;else{t4=100;break}}else t4=100;while(!1);if((t4|0)==100&&(t4=0,Jg=cA+1|0,e[Ii>>2]=Jg,B=cA),TE=ei+20|0,e[TE>>2]=B,NE=(y4+1824|0)+(B<<2)|0,e[NE>>2]=Pg,GE=(Vg|0)>0,!GE)break;for(ys=(vi+(jt<<5)|0)+28|0,gA=ei+280|0,Rs=0,f$=0;;){if(hA=e[ys>>2]|0,UE=hA+(f$<<4)|0,za=e[UE>>2]|0,OE=(za|0)==0,Kg=za,OE)ks=hA,vn=Rs;else{ws=e[Ii>>2]|0,qE=(ws|0)>0;e:do if(qE)for(mm=0;;){if(HE=(y4+1824|0)+(mm<<2)|0,Za=e[HE>>2]|0,Wa=(Za|0)==(za|0),Wa){y=mm;break e}if(uA=mm+1|0,ja=(uA|0)<(ws|0),ja)mm=uA;else{t4=107;break}}else t4=107;while(!1);(t4|0)==107&&(t4=0,Xa=ws+1|0,e[Ii>>2]=Xa,y=ws),_r=Rs+1|0,xr=gA+(Rs<<2)|0,e[xr>>2]=y,e$=(y4+1824|0)+(y<<2)|0,e[e$>>2]=Kg,q=e[ys>>2]|0,ks=q,vn=_r}if(t$=(ks+(f$<<4)|0)+4|0,Ar=e[t$>>2]|0,Bn=(Ar|0)==0,YE=Ar,Bn)x5=ks,wn=vn;else{B5=e[Ii>>2]|0,M1=(B5|0)>0;e:do if(M1)for(dm=0;;){if(g5=(y4+1824|0)+(dm<<2)|0,a5=e[g5>>2]|0,W2=(a5|0)==(Ar|0),W2){v=dm;break e}if(g2=dm+1|0,p5=(g2|0)<(B5|0),p5)dm=g2;else{t4=171;break}}else t4=171;while(!1);(t4|0)==171&&(t4=0,t5=B5+1|0,e[Ii>>2]=t5,v=B5),s5=vn+1|0,h5=gA+(vn<<2)|0,e[h5>>2]=v,J2=(y4+1824|0)+(v<<2)|0,e[J2>>2]=YE,K=e[ys>>2]|0,x5=K,wn=s5}if(u5=(x5+(f$<<4)|0)+8|0,j2=e[u5>>2]|0,$5=(j2|0)==0,L2=j2,$5)u3=x5,kn=wn;else{Q5=e[Ii>>2]|0,q5=(Q5|0)>0;e:do if(q5)for(Im=0;;){if(j5=(y4+1824|0)+(Im<<2)|0,E5=e[j5>>2]|0,f3=(E5|0)==(j2|0),f3){b=Im;break e}if(h3=Im+1|0,X5=(h3|0)<(Q5|0),X5)Im=h3;else{t4=177;break}}else t4=177;while(!1);(t4|0)==177&&(t4=0,n3=Q5+1|0,e[Ii>>2]=n3,b=Q5),m3=wn+1|0,F5=gA+(wn<<2)|0,e[F5>>2]=b,V5=(y4+1824|0)+(b<<2)|0,e[V5>>2]=L2,a0=e[ys>>2]|0,u3=a0,kn=m3}if(k3=(u3+(f$<<4)|0)+12|0,p3=e[k3>>2]|0,z3=(p3|0)==0,G3=p3,z3)F9=kn;else{w3=e[Ii>>2]|0,W5=(w3|0)>0;e:do if(W5)for(Em=0;;){if(i6=(y4+1824|0)+(Em<<2)|0,L3=e[i6>>2]|0,U3=(L3|0)==(p3|0),U3){w=Em;break e}if(a3=Em+1|0,l3=(a3|0)<(w3|0),l3)Em=a3;else{t4=183;break}}else t4=183;while(!1);(t4|0)==183&&(t4=0,c3=w3+1|0,e[Ii>>2]=c3,w=w3),C3=kn+1|0,H5=gA+(kn<<2)|0,e[H5>>2]=w,O5=(y4+1824|0)+(w<<2)|0,e[O5>>2]=G3,F9=C3}if(k5=f$+1|0,P3=e[Qs>>2]|0,M5=(k5|0)<(P3|0),M5)Rs=F9,f$=k5;else break}}while(!1);th=y4+3480|0,ih=+A1[th>>3],yA=ih*1e3,Ds=(y4+1056|0)+(Ei<<2)|0,xs=e[Ds>>2]|0,am=e[wg>>2]|0,Ls=+(am|0),$r=Ls*.5,rh=y4+(Ei<<2)|0,Rr=e[rh>>2]|0,ii=Rr>>1,a$=yA>$r,vB=a$?$r:yA,$$=vB/$r,Ji=+(ii|0),c$=Ji*$$,g$=~~c$,Fr=xs+1116|0,e[Fr>>2]=g$,$6=(vi+(jt<<5)|0)+4|0,wA=e[$6>>2]|0;do if((wA|0)==2)sh=250;else if((wA|0)==1){if(Mr=e[Fg>>2]|0,nh=(Mr|0)==0,ve=y4+2996|0,h$=y4+2968|0,jQ=nh?h$:ve,WQ=e[jQ>>2]|0,ZQ=+(WQ|0),SB=ZQ*1e3,Q8=SB>$r,!Q8){sh=SB;break}sh=$r}else sh=vB;while(!1);d0=e[Rg>>2]|0,w0=(d0|0)==2;do if(w0){if(C0=y4+12|0,k0=e[C0>>2]|0,f0=(k0|0)>0,f0)for(aC=0;;){if(B0=(y4+544|0)+(aC<<2)|0,p0=e[B0>>2]|0,I0=e[p0>>2]|0,S0=(I0|0)>0,S0)for(pm=0;;){V0=(p0+1092|0)+(pm<<2)|0,Q0=e[V0>>2]|0,R0=(Q0|0)==(jt|0);do if(R0){if(M0=e[kg>>2]|0,N0=(M0|0)>0,N0)kB=0,cC=0;else{lm=0;break}for(;;)if(U0=(p0+4|0)+(cC<<2)|0,y0=e[U0>>2]|0,H0=(y0|0)==(pm|0),L0=H0&1,O=L0+kB|0,D0=cC+1|0,NQ=(D0|0)==(M0|0),NQ){lm=O;break}else kB=O,cC=D0}else lm=0;while(!1);if(T0=pm+1|0,Y0=(T0|0)<(I0|0),P0=(lm|0)==0,K0=Y0&P0,K0)pm=T0;else{sC=lm;break}}else sC=0;if(G0=aC+1|0,O0=(G0|0)<(k0|0),r1=(sC|0)==0,q0=O0&r1,q0)aC=G0;else{nC=sC;break}}else nC=0;if(e1=sh/$r,b0=+(nC|0),i1=b0*Ji,$1=i1*e1,u1=e[Ha>>2]|0,g1=+(u1|0),l1=$1/g1,s1=l1+.9,a1=~~s1,n1=r5(a1,u1)|0,o1=ei+4|0,e[o1>>2]=n1,z0=r5(nC,ii)|0,I1=(n1|0)>(z0|0),!I1){U=o1,Z1=n1,D1=u1;break}m1=(z0|0)%(u1|0)&-1,d1=z0-m1|0,e[o1>>2]=d1,U=o1,Z1=d1,D1=u1}else{if(E1=sh/$r,B1=E1*Ji,p1=e[Ha>>2]|0,Q1=+(p1|0),x1=B1/Q1,L1=x1+.9,w1=~~L1,S1=r5(w1,p1)|0,F1=ei+4|0,e[F1>>2]=S1,G1=(S1|0)>(ii|0),!G1){U=F1,Z1=S1,D1=p1;break}k1=(ii|0)%(p1|0)&-1,U1=ii-k1|0,e[F1>>2]=U1,U=F1,Z1=U1,D1=p1}while(!1);if(N1=(Z1|0)==0,N1&&(e[U>>2]=D1),d3=$C+1|0,v6=e[$A>>2]|0,S6=(d3|0)<(v6|0),S6)$C=d3;else break}if(B6=Ei+1|0,X3=(B6|0)<(A|0),X3)Ei=B6;else break}return c6=j+3428|0,p6=e[c6>>2]|0,x6=(p6|0)>0,x6?(Y6=t+16|0,e[Y6>>2]=p6):(C6=e[c0>>2]|0,b3=C6+3396|0,t6=e[b3>>2]|0,f6=C6+3400|0,H3=+A1[f6>>3],D3=~~H3,Y3=+(D3|0),Z3=H3-Y3,b6=t6+4|0,A6=e[b6>>2]|0,t3=(A6|0)==0,t3?p=-1:(O6=e[kg>>2]|0,d6=A6+(D3<<3)|0,_3=+A1[d6>>3],N6=1-Z3,n6=_3*N6,Q6=D3+1|0,L6=A6+(Q6<<3)|0,K6=+A1[L6>>3],I6=K6*Z3,J6=I6+n6,F3=+(O6|0),G6=J6*F3,XQ=~~G6,p=XQ),e9=t+16|0,e[e9>>2]=p),s9=j+3424|0,R6=e[s9>>2]|0,U6=t+20|0,e[U6>>2]=R6,D6=j+3440|0,z6=e[D6>>2]|0,y6=t+12|0,e[y6>>2]=z6,F6=(p6|0)==0,F6?o0=0:(M3=j+3444|0,t9=e[M3>>2]|0,A9=+(t9|0),X6=+(p6|0),u9=A9/X6,f9=~~u9,o0=f9),d9=t+24|0,e[d9>>2]=o0,a9=j+3420|0,$9=e[a9>>2]|0,T9=($9|0)==0,T9?(m=0,m|0):(E6=e[c6>>2]|0,i9=j+3360|0,e[i9>>2]=E6,N9=e[s9>>2]|0,I9=j+3364|0,e[I9>>2]=N9,E4=e[D6>>2]|0,o4=j+3368|0,e[o4>>2]=E4,h4=j+3444|0,G9=e[h4>>2]|0,z9=j+3372|0,e[z9>>2]=G9,b9=j+3448|0,E9=+A1[b9>>3],r9=j+3376|0,A1[r9>>3]=E9,m4=j+3432|0,S4=+A1[m4>>3],A4=j+3384|0,A1[A4>>3]=S4,m=0,m|0)}function $b(t,n,A,a){t=t|0,n=n|0,A=A|0,a=+a;var c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0;if(O=C,I=(A|0)<1,I)u=-131;else if(m=t+28|0,Q=e[m>>2]|0,_=a,R=_+1e-7,L=R,F=!(L>=1),E=F?L:.9998999834060669,M=Q+3416|0,s[M>>2]=E,T=E,N=Q+3400|0,p=lb(n,A,T,0,N)|0,B=Q+3396|0,e[B>>2]=p,v=(p|0)==0,v)u=-130;else return cb(t,n,A),b=Q+3420|0,e[b>>2]=0,w=Q+3464|0,e[w>>2]=1,y=ab(t)|0,D=(y|0)==0,D?(c=0,c|0):(fB(t),c=y,c|0);return fB(t),c=u,c|0}function Xm(t,n,A,a,c,u){t=t|0,n=+n,A=A|0,a=a|0,c=c|0,u=u|0;var E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0;for(B1=C,E=~~n,I=+(E|0),R=n-I,J=t+28|0,i0=e[J>>2]|0,C0=(i0+2852|0)+(A<<2)|0,M0=e[C0>>2]|0,K0=a+(E*20|0)|0,g1=e[K0>>2]|0,h1=+(g1|0),m=1-R,p=h1*m,B=E+1|0,v=a+(B*20|0)|0,b=e[v>>2]|0,w=+(b|0),y=w*R,D=y+p,Q=D,_=M0+12|0,s[_>>2]=Q,L=(a+(E*20|0)|0)+4|0,F=e[L>>2]|0,M=+(F|0),T=M*m,N=(a+(B*20|0)|0)+4|0,G=e[N>>2]|0,O=+(G|0),z=O*R,Y=z+T,t0=Y,W=M0+16|0,s[W>>2]=t0,e0=(a+(E*20|0)|0)+8|0,q=e[e0>>2]|0,X=+(q|0),U=X*m,$0=(a+(B*20|0)|0)+8|0,Z=e[$0>>2]|0,K=+(Z|0),a0=K*R,s0=a0+U,r0=s0,V=M0+20|0,s[V>>2]=r0,h0=(a+(E*20|0)|0)+12|0,o0=+s[h0>>2],c0=o0,j=c0*m,l0=(a+(B*20|0)|0)+12|0,u0=+s[l0>>2],d0=u0,w0=d0*R,k0=w0+j,f0=k0,B0=M0+24|0,s[B0>>2]=f0,p0=(a+(E*20|0)|0)+16|0,I0=+s[p0>>2],S0=I0,V0=S0*m,_0=(a+(B*20|0)|0)+16|0,Q0=+s[_0>>2],R0=Q0,N0=R0*R,U0=N0+V0,y0=U0,H0=M0+28|0,s[H0>>2]=y0,L0=c+(E<<2)|0,D0=e[L0>>2]|0,T0=+(D0|0),J0=T0*m,Y0=c+(B<<2)|0,P0=e[Y0>>2]|0,G0=+(P0|0),O0=G0*R,r1=O0+J0,q0=r1,e1=M0+496|0,s[e1>>2]=q0,d1=0;b0=(u+(E*68|0)|0)+(d1<<2)|0,i1=e[b0>>2]|0,c1=+(i1|0),$1=c1*m,u1=(u+(B*68|0)|0)+(d1<<2)|0,l1=e[u1>>2]|0,s1=+(l1|0),a1=s1*R,n1=a1+$1,o1=n1,z0=(M0+36|0)+(d1<<2)|0,s[z0>>2]=o1,I1=d1+1|0,m1=(I1|0)==17,!m1;)d1=I1}function eC(t,n,A,a,c,u,E){t=t|0,n=+n,A=A|0,a=a|0,c=c|0,u=u|0,E=+E;var I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,L1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0;for(w2=C,w=~~n,y=+(w|0),$0=n-y,j=t+28|0,S0=e[j>>2]|0,D0=(S0+2852|0)+(A<<2)|0,b0=e[D0>>2]|0,z0=a+(w<<2)|0,w1=e[z0>>2]|0,O1=+(w1|0),D=1-$0,z=O1*D,Y=w+1|0,t0=a+(Y<<2)|0,J=e[t0>>2]|0,W=+(J|0),e0=W*$0,q=e0+z,X=q,U=b0+108|0,s[U>>2]=X,Z=u+(A*12|0)|0,K=e[Z>>2]|0,a0=b0+120|0,e[a0>>2]=K,s0=(u+(A*12|0)|0)+4|0,i0=e[s0>>2]|0,r0=b0+124|0,e[r0>>2]=i0,V=(u+(A*12|0)|0)+8|0,h0=e[V>>2]|0,o0=b0+128|0,e[o0>>2]=h0,t2=0;;)if(c0=(c+(w*204|0)|0)+(t2<<2)|0,l0=e[c0>>2]|0,u0=+(l0|0),d0=u0*D,w0=(c+(Y*204|0)|0)+(t2<<2)|0,C0=e[w0>>2]|0,k0=+(C0|0),f0=k0*$0,B0=f0+d0,p0=B0,I0=(b0+132|0)+(t2<<2)|0,s[I0>>2]=p0,V0=t2+1|0,K1=(V0|0)==17,K1){$2=0;break}else t2=V0;for(;;)if(L1=((c+(w*204|0)|0)+68|0)+($2<<2)|0,S1=e[L1>>2]|0,R1=+(S1|0),F1=R1*D,G1=((c+(Y*204|0)|0)+68|0)+($2<<2)|0,k1=e[G1>>2]|0,U1=+(k1|0),Z1=U1*$0,N1=Z1+F1,D1=N1,V1=(b0+200|0)+($2<<2)|0,s[V1>>2]=D1,q1=$2+1|0,h2=(q1|0)==17,h2){i2=0;break}else $2=q1;for(;H1=((c+(w*204|0)|0)+136|0)+(i2<<2)|0,Y1=e[H1>>2]|0,j1=+(Y1|0),r2=j1*D,W1=((c+(Y*204|0)|0)+136|0)+(i2<<2)|0,P1=e[W1>>2]|0,c2=+(P1|0),z1=c2*$0,u2=z1+r2,Q=u2,_=(b0+268|0)+(i2<<2)|0,s[_>>2]=Q,R=i2+1|0,a2=(R|0)==17,!a2;)i2=R;for(L=b0+132|0,F=+s[L>>2],y0=F+6,M=b0+132|0,T=F,N=T+E,G=N,O=G>2]=y2,_0=1;I=(b0+132|0)+(_0<<2)|0,B=+s[I>>2],Q0=(b0+132|0)+(_0<<2)|0,R0=B,M0=R0+E,N0=M0,U0=N0>2]=A2,H0=_0+1|0,s2=(H0|0)==17,!s2;)_0=H0;for(L0=b0+200|0,T0=+s[L0>>2],J0=T0+6,Y0=b0+200|0,P0=T0,K0=P0+E,G0=K0,O0=G0>2]=n2,r1=1;m=(b0+200|0)+(r1<<2)|0,v=+s[m>>2],q0=(b0+200|0)+(r1<<2)|0,e1=v,i1=e1+E,c1=i1,$1=c1>2]=X1,u1=r1+1|0,E2=(u1|0)==17,!E2;)r1=u1;for(g1=b0+268|0,l1=+s[g1>>2],s1=l1+6,a1=b0+268|0,n1=l1,o1=n1+E,I1=o1,h1=I1>2]=e2,m1=1;p=(b0+268|0)+(m1<<2)|0,b=+s[p>>2],d1=(b0+268|0)+(m1<<2)|0,E1=b,B1=E1+E,p1=B1,Q1=p1>2]=f2,x1=m1+1|0,o2=(x1|0)==17,!o2;)m1=x1}function lb(t,n,A,a,c){t=t|0,n=n|0,A=+A,a=a|0,c=c|0;var u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0;Q1=C,w=(a|0)==0;e:do if(w){for(q=26336,z0=0;;){if(e0=e[q>>2]|0,X=e0+12|0,U=e[X>>2]|0,$0=(U|0)==-1,K=(U|0)==(t|0),d1=$0|K,d1&&(a0=e0+16|0,s0=e[a0>>2]|0,i0=(s0|0)>(n|0),!i0&&(r0=e0+20|0,V=e[r0>>2]|0,h0=(V|0)<(n|0),!h0&&(o0=e[e0>>2]|0,c0=e0+8|0,j=e[c0>>2]|0,u0=+A1[j>>3],d0=u0>A,!d0&&(k0=j+(o0<<3)|0,f0=+A1[k0>>3],B0=f0>2]|0,V0=Z+12|0,T0=e[V0>>2]|0,i1=(T0|0)==-1,s1=(T0|0)==(t|0),E1=i1|s1,E1&&(a1=Z+16|0,D=e[a1>>2]|0,Q=(D|0)>(n|0),!Q&&(_=Z+20|0,R=e[_>>2]|0,L=(R|0)<(n|0),!L&&(F=e[Z>>2]|0,M=Z+4|0,T=e[M>>2]|0,N=+A1[T>>3],G=O>3],t0=O>Y,!t0))))){E=O,I=F,m=l0,p=T,l1=N;break e}if(o1=I1+1|0,J=26336+(o1<<2)|0,W=(o1|0)==17,W){u=0;break}else l0=J,I1=o1}return u|0}while(!1);p0=(I|0)>0;e:do if(p0)for(S0=l1,m1=0;;){if(I0=!(E>=S0),b=m1+1|0,!I0&&(_0=p+(b<<3)|0,Q0=+A1[_0>>3],R0=E>3],S0=v,m1=b}else h1=0;while(!1);return N0=(h1|0)==(I|0),N0?(U0=+(I|0),y0=U0+-.001,B1=y0):(H0=p+(h1<<3)|0,L0=+A1[H0>>3],D0=L0,J0=h1+1|0,Y0=p+(J0<<3)|0,P0=+A1[Y0>>3],K0=P0,G0=D0,O0=E-G0,r1=K0-D0,q0=r1,e1=O0/q0,b0=e1,c1=+(h1|0),$1=b0+c1,u1=$1,B1=u1),A1[c>>3]=B1,g1=e[m>>2]|0,u=g1,u|0}function cb(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0;b0=C,I=t+28|0,m=e[I>>2]|0,L=m+3396|0,W=e[L>>2]|0,e[t>>2]=0,r0=t+4|0,e[r0>>2]=n,k0=t+8|0,e[k0>>2]=A,N0=m+3456|0,e[N0>>2]=1,G0=m+3460|0,e[G0>>2]=1,r1=m+3400|0,q0=+A1[r1>>3],p=~~q0,B=+(p|0),v=q0-B,b=m+3472|0,A1[b>>3]=q0,w=m+3488|0,y=e[w>>2]|0,D=(y|0)==0,D?(Q=W+120|0,_=e[Q>>2]|0,R=_+(p<<3)|0,F=+A1[R>>3],M=1-v,T=F*M,N=p+1|0,G=_+(N<<3)|0,O=+A1[G>>3],z=O*v,Y=z+T,t0=m+3480|0,A1[t0>>3]=Y,c=N,u=M):(a=1-v,E=p+1|0,c=E,u=a),J=W+112|0,e0=e[J>>2]|0,q=e0+(p<<2)|0,X=e[q>>2]|0,U=+(X|0),$0=U*u,Z=e0+(c<<2)|0,K=e[Z>>2]|0,a0=+(K|0),s0=a0*v,i0=s0+$0,V=m+3496|0,A1[V>>3]=i0,h0=W+116|0,o0=e[h0>>2]|0,c0=o0+(p<<2)|0,j=e[c0>>2]|0,l0=+(j|0),u0=l0*u,d0=o0+(c<<2)|0,w0=e[d0>>2]|0,C0=+(w0|0),f0=C0*v,B0=f0+u0,p0=m+3504|0,A1[p0>>3]=B0,I0=m+3512|0,A1[I0>>3]=-6,S0=m+3520|0,A1[S0>>3]=q0,V0=m+3528|0,A1[V0>>3]=q0,_0=m+3536|0,A1[_0>>3]=q0,Q0=m+3544|0,A1[Q0>>3]=q0,R0=m+3552|0,A1[R0>>3]=q0,M0=m+3560|0,A1[M0>>3]=q0,U0=m+3568|0,A1[U0>>3]=q0,y0=m+3576|0,A1[y0>>3]=q0,H0=m+3584|0,A1[H0>>3]=q0,L0=m+3592|0,A1[L0>>3]=q0,D0=m+3600|0,A1[D0>>3]=q0,T0=m+3608|0,A1[T0>>3]=q0,J0=m+3616|0,A1[J0>>3]=q0,Y0=m+3624|0,A1[Y0>>3]=q0,P0=m+3632|0,A1[P0>>3]=q0,K0=m+3640|0,A1[K0>>3]=q0,O0=m+3648|0,A1[O0>>3]=q0}function gb(t,n,A,a,c,u){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0,u=u|0;var E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0,T0=0,J0=0,Y0=0,P0=0;if(P0=C,I=(c|0)!=0,m=I?a:0,L=I?u:0,W=n+(m<<2)|0,r0=e[W>>2]|0,k0=520336+(r0<<2)|0,S0=e[k0>>2]|0,V0=n+(L<<2)|0,_0=e[V0>>2]|0,Q0=520336+(_0<<2)|0,p=e[Q0>>2]|0,B=A+(c<<2)|0,v=e[B>>2]|0,b=A+(m<<2)|0,w=e[b>>2]|0,y=A+(L<<2)|0,D=e[y>>2]|0,Q=(v|0)/4&-1,_=(w|0)/4&-1,R=Q-_|0,F=(w|0)/2&-1,M=R+F|0,T=(v|0)/2&-1,N=T+Q|0,E=(D|0)/-4&-1,G=N+E|0,O=(D|0)/2&-1,z=G+O|0,Y=(R|0)>0,Y?(t0=Q-_|0,J=t0<<2,ae(t|0,0,J|0)|0,M0=R):M0=0,e0=(M0|0)<(M|0),e0)for(q=Q+F|0,X=q-M0|0,U=X-_|0,N0=M0,H0=0;a0=S0+(H0<<2)|0,s0=+s[a0>>2],i0=t+(N0<<2)|0,V=+s[i0>>2],h0=V*s0,s[i0>>2]=h0,o0=N0+1|0,c0=H0+1|0,R0=(c0|0)==(U|0),!R0;)N0=o0,H0=c0;if($0=(D|0)>1,$0){for(Z=G+1|0,K=(z|0)>(Z|0),y0=G,D0=O;L0=D0+-1|0,d0=p+(L0<<2)|0,w0=+s[d0>>2],C0=t+(y0<<2)|0,f0=+s[C0>>2],B0=f0*w0,s[C0>>2]=B0,p0=y0+1|0,I0=(p0|0)<(z|0),I0;)y0=p0,D0=L0;J0=K?z:Z,U0=J0}else U0=G;j=(v|0)>(U0|0),j&&(T0=t+(U0<<2)|0,l0=v-U0|0,u0=l0<<2,ae(T0|0,0,u0|0)|0)}function hb(t,n,A){t=t|0,n=+n,A=+A;var a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0;if(V=C,C=C+64|0,i0=V+32|0,s0=V,a=S9(688)|0,c=a+408|0,kS(c),D=~~n,$b(c,t,D,A)|0,z=a+440|0,QS(z),yS(z,553008,553016),X=a+456|0,tS(X,c)|0,U=a+568|0,Xv(X,U)|0,$0=Xp(0)|0,Cb($0),Z=Bb()|0,Hv(a,Z)|0,K=a+680|0,e[K>>2]=0,a0=a+684|0,e[a0>>2]=0,u=a+360|0,vS(X,z,u,i0,s0)|0,Wm(a,u)|0,Wm(a,i0)|0,Wm(a,s0)|0,E=a+392|0,I=tQ(a,E)|0,m=(I|0)==0,m)return C=V,a|0;for(p=a+396|0,B=a+404|0,v=a+400|0;b=e[a0>>2]|0,w=e[p>>2]|0,y=w+b|0,Q=e[B>>2]|0,_=y+Q|0,R=(_|0)==0,R||(M=e[K>>2]|0,T=qi(M,_)|0,e[K>>2]=T,N=e[a0>>2]|0,G=T+N|0,O=e[E>>2]|0,Y=e[p>>2]|0,s4(G|0,O|0,Y|0)|0,t0=Y+N|0,e[a0>>2]=t0,J=T+t0|0,W=e[v>>2]|0,e0=e[B>>2]|0,s4(J|0,W|0,e0|0)|0,q=e0+t0|0,e[a0>>2]=q),L=tQ(a,E)|0,F=(L|0)==0,!F;);return C=V,a|0}function ub(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0;m=C,Yv(t)|0,n=t+568|0,eS(n)|0,A=t+456|0,sQ(A),a=t+440|0,wS(a),c=t+408|0,fB(c),u=t+680|0,E=e[u>>2]|0,I2(E),I2(t)}function fb(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0;return u=C,A=t+456|0,a=oQ(A,n)|0,a|0}function db(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0;if(V=C,A=t+456|0,iS(A,n)|0,a=t+568|0,y=AQ(A,a)|0,O=(y|0)==1,!!O)for($0=t+360|0,Z=t+392|0,K=t+684|0,a0=t+396|0,s0=t+404|0,i0=t+680|0,c=t+392|0,u=t+400|0;;){if(zv(a,0)|0,jv(a)|0,m=nQ(A,$0)|0,p=(m|0)==0,!p)for(;;){if(Wm(t,$0)|0,b=iQ(t,Z)|0,w=(b|0)==0,!w)for(;D=e[K>>2]|0,Q=e[a0>>2]|0,_=Q+D|0,R=e[s0>>2]|0,L=_+R|0,F=(L|0)==0,F||(N=e[i0>>2]|0,G=qi(N,L)|0,e[i0>>2]=G,z=e[K>>2]|0,Y=G+z|0,t0=e[c>>2]|0,J=e[a0>>2]|0,s4(Y|0,t0|0,J|0)|0,W=J+z|0,e[K>>2]=W,e0=G+W|0,q=e[u>>2]|0,X=e[s0>>2]|0,s4(e0|0,q|0,X|0)|0,U=X+W|0,e[K>>2]=U),M=iQ(t,Z)|0,T=(M|0)==0,!T;);if(B=nQ(A,$0)|0,v=(B|0)==0,v)break}if(E=AQ(A,a)|0,I=(E|0)==1,!I)break}}function Ib(t){t=t|0;var n=0,A=0,a=0,c=0;return c=C,n=t+684|0,A=e[n>>2]|0,A|0}function Eb(t){t=t|0;var n=0,A=0,a=0,c=0,u=0;return u=C,n=t+684|0,e[n>>2]=0,A=t+680|0,a=e[A>>2]|0,a|0}function tC(t,n){t=+t,n=n|0;var A=0,a=0,c=0;return c=C,A=+mb(t,n),+A}function Th(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,L1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,k3=0,u3=0,p3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0;if(R3=C,C=C+688|0,e3=R3+424|0,J5=R3+192|0,W5=R3,X=r5(A,n)|0,U=(X|0)==0,U){C=R3;return}for(J=X-A|0,H1=W5+4|0,e[H1>>2]=A,e[W5>>2]=A,e2=A,f5=A,k3=2;o2=e2+A|0,M2=o2+f5|0,R5=W5+(k3<<2)|0,e[R5>>2]=M2,S5=M2>>>0>>0,i5=k3+1|0,S5;)y2=f5,f5=M2,k3=i5,e2=y2;if($0=0-A|0,j=t+J|0,S0=(J|0)>0,S0)for(D0=(A|0)==0,b0=j,w1=1,z2=0,F5=t,U5=1;;){z0=w1&3,V1=(z0|0)==3;do if(V1){e[J5>>2]=F5,O1=(U5|0)>1;e:do if(O1){for(B=U5,Q=F5,P1=F5,z5=1;;){if(q1=Q+$0|0,Y1=B+-2|0,j1=W5+(Y1<<2)|0,r2=e[j1>>2]|0,M5=r2+A|0,W=0-M5|0,W1=Q+W|0,c2=f7[a&15](P1,W1)|0,z1=(c2|0)>-1,z1&&(u2=f7[a&15](P1,q1)|0,s2=(u2|0)>-1,s2)){u3=z5;break}if(E2=f7[a&15](W1,q1)|0,K1=(E2|0)>-1,h2=z5+1|0,a2=J5+(z5<<2)|0,K1?(e[a2>>2]=W1,t2=B+-1|0,u=W1,m=t2):(e[a2>>2]=q1,u=q1,m=Y1),$2=(m|0)>1,!$2){u3=h2;break}O=e[J5>>2]|0,B=m,Q=u,P1=O,z5=h2}if(i2=(u3|0)<2,!i2&&(A2=J5+(u3<<2)|0,e[A2>>2]=e3,!D0))for(y=A,G2=e3;;){for(d2=y>>>0>256,n2=d2?256:y,K2=e[J5>>2]|0,s4(G2|0,K2|0,n2|0)|0,D2=K2,z3=0;v2=J5+(z3<<2)|0,w2=z3+1|0,C2=J5+(w2<<2)|0,F2=e[C2>>2]|0,s4(D2|0,F2|0,n2|0)|0,N2=D2+n2|0,e[v2>>2]=N2,X5=(w2|0)==(u3|0),!X5;)D2=F2,z3=w2;if(X1=(y|0)==(n2|0),X1)break e;f2=y-n2|0,Y=e[A2>>2]|0,y=f2,G2=Y}}while(!1);H2=w1>>>2,P2=z2<<30,o5=H2|P2,O2=z2>>>2,T1=U5+2|0,r0=o5,D1=O2,O5=T1}else{if(X2=U5+-1|0,L5=W5+(X2<<2)|0,e5=e[L5>>2]|0,b5=F5,Z2=b0-b5|0,v5=e5>>>0>>0,v5){e[J5>>2]=F5,P5=(U5|0)>1;e:do if(P5){for(v=U5,_=F5,_2=F5,w3=1;;){if(l5=_+$0|0,k2=v+-2|0,m5=W5+(k2<<2)|0,n5=e[m5>>2]|0,o6=n5+A|0,e0=0-o6|0,x2=_+e0|0,B2=f7[a&15](_2,x2)|0,C5=(B2|0)>-1,C5&&(d5=f7[a&15](_2,l5)|0,D5=(d5|0)>-1,D5)){p3=w3;break}if(G5=f7[a&15](x2,l5)|0,_5=(G5|0)>-1,q2=w3+1|0,I5=J5+(w3<<2)|0,_5?(e[I5>>2]=x2,A5=v+-1|0,E=x2,p=A5):(e[I5>>2]=l5,E=l5,p=k2),c5=(p|0)>1,!c5){p3=q2;break}z=e[J5>>2]|0,v=p,_=E,_2=z,w3=q2}if(B5=(p3|0)<2,!B5&&(M1=J5+(p3<<2)|0,e[M1>>2]=e3,!D0))for(D=A,j2=e3;;){for(u5=D>>>0>256,a5=u5?256:D,x5=e[J5>>2]|0,s4(j2|0,x5|0,a5|0)|0,h5=x5,G3=0;g2=J5+(G3<<2)|0,p5=G3+1|0,t5=J5+(p5<<2)|0,s5=e[t5>>2]|0,s4(h5|0,s5|0,a5|0)|0,J2=h5+a5|0,e[g2>>2]=J2,n3=(p5|0)==(p3|0),!n3;)h5=s5,G3=p5;if(g5=(D|0)==(a5|0),g5)break e;W2=D-a5|0,t0=e[M1>>2]|0,D=W2,j2=t0}}while(!1)}else iC(F5,A,a,w1,z2,U5,0,W5);if($5=(U5|0)==1,$5){L2=z2<<1,Q5=w1>>>31,q5=Q5|L2,j5=w1<<1,r0=j5,D1=q5,O5=0;break}else{E5=X2>>>0>31,f3=U5+-33|0,c=E5?0:w1,R=E5?w1:z2,L=E5?f3:X2,h3=R<>>Z,a0=K|h3,s0=c<>>0>>0,h0)w1=i0,z2=D1,F5=V,U5=O5;else{T=D1,N=i0,m3=V,H5=O5;break}}else T=0,N=1,m3=t,H5=1;if(iC(m3,A,a,N,T,H5,0,W5),o0=(H5|0)==1,c0=(N|0)==1,C3=c0&o0,l0=(T|0)==0,c3=l0&C3,c3){C=R3;return}else w0=N,Q0=T,V5=m3,k5=H5;for(;;){if(u0=(k5|0)<2,!u0){O0=Q0<<2,r1=w0>>>30,q0=r1|O0,e1=k5+-2|0,i1=w0<<1,c1=i1&2147483646,$1=r1<<31,u1=c1|$1,g1=u1^3,l1=q0>>>1,s1=W5+(e1<<2)|0,a1=e[s1>>2]|0,P3=a1+A|0,q=0-P3|0,n1=V5+q|0,o1=k5+-1|0,iC(n1,A,a,g1,l1,o1,1,W5),I1=l1<<1,h1=r1&1,m1=I1|h1,d1=g1<<1,E1=d1|1,B1=V5+$0|0,iC(B1,A,a,E1,m1,e1,1,W5),w0=E1,Q0=m1,V5=B1,k5=e1;continue}d0=w0+-1|0,C0=(d0|0)==0;do if(C0)G0=32,A3=56;else{if(k0=d0&1,f0=(k0|0)==0,f0){for(b=d0,i6=0;;)if(B0=i6+1|0,p0=b>>>1,I0=p0&1,V0=(I0|0)==0,V0)b=p0,i6=B0;else{F=B0;break}_0=(F|0)==0,_0?A3=51:Y0=F}else A3=51;if((A3|0)==51){if(A3=0,R0=(Q0|0)==0,R0){G0=64,A3=56;break}if(M0=Q0&1,N0=(M0|0)==0,N0)w=Q0,L3=0;else{I=0,Q1=w0,S1=Q0,k1=0;break}for(;;)if(U0=L3+1|0,y0=w>>>1,H0=y0&1,L0=(H0|0)==0,L0)w=y0,L3=U0;else{M=U0,U3=L3;break}if(T0=U3+33|0,J0=(M|0)==0,J0){I=0,Q1=w0,S1=Q0,k1=0;break}else Y0=T0}P0=Y0>>>0>31,P0?(G0=Y0,A3=56):(I=Y0,Q1=w0,S1=Q0,k1=Y0)}while(!1);if((A3|0)==56&&(A3=0,K0=G0+-32|0,I=K0,Q1=Q0,S1=0,k1=G0),p1=Q1>>>I,x1=32-I|0,L1=S1<>>I,G1=k1+k5|0,G=V5+$0|0,U1=(G1|0)==1,Z1=(R1|0)==1,a3=Z1&U1,N1=(F1|0)==0,l3=N1&a3,l3)break;w0=R1,Q0=F1,V5=G,k5=G1}C=R3}function iC(t,n,A,a,c,u,E,I){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0,u=u|0,E=E|0,I=I|0;var m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,L1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0;B2=C,C=C+720|0,x2=B2+456|0,P2=B2+228|0,M2=B2,e[M2>>2]=t,U=0-n|0,$0=(a|0)!=1,Q0=(c|0)!=0,Y0=Q0|$0;e:do if(Y0)if($1=I+(u<<2)|0,m1=e[$1>>2]|0,F1=0-m1|0,Y1=t+F1|0,K1=f7[A&15](Y1,t)|0,y2=(K1|0)<1,y2)B=t,R=u,G=E,O2=1,_2=18;else for(w=t,T=u,O=E,I0=Y1,O0=c,b5=1,k2=a;;){if(Z=(O|0)==0,l0=(T|0)>1,l5=Z&l0,l5){if(k0=w+U|0,f0=T+-2|0,B0=I+(f0<<2)|0,p0=e[B0>>2]|0,S0=f7[A&15](k0,I0)|0,V0=(S0|0)>-1,V0){v=w,L=T,X2=b5;break e}if(m5=p0+n|0,q=0-m5|0,_0=w+q|0,R0=f7[A&15](_0,I0)|0,M0=(R0|0)>-1,M0){v=w,L=T,X2=b5;break e}}N0=b5+1|0,U0=M2+(b5<<2)|0,e[U0>>2]=I0,y0=k2+-1|0,H0=(y0|0)==0;do if(H0)o1=32,_2=15;else{if(L0=y0&1,D0=(L0|0)==0,D0){for(Q=y0,f5=0;;)if(T0=f5+1|0,J0=Q>>>1,P0=J0&1,K0=(P0|0)==0,K0)Q=J0,f5=T0;else{z=T0;break}G0=(z|0)==0,G0?_2=10:s1=z}else _2=10;if((_2|0)==10){if(_2=0,r1=(O0|0)==0,r1){o1=64,_2=15;break}if(q0=O0&1,e1=(q0|0)==0,e1)_=O0,v5=0;else{p=0,I1=k2,E1=O0,x1=0;break}for(;;)if(b0=v5+1|0,i1=_>>>1,c1=i1&1,u1=(c1|0)==0,u1)_=i1,v5=b0;else{Y=b0,P5=v5;break}if(g1=P5+33|0,l1=(Y|0)==0,l1){p=0,I1=k2,E1=O0,x1=0;break}else s1=g1}a1=s1>>>0>31,a1?(o1=s1,_2=15):(p=s1,I1=k2,E1=O0,x1=s1)}while(!1);if((_2|0)==15&&(_2=0,n1=o1+-32|0,p=n1,I1=O0,E1=0,x1=o1),z0=I1>>>p,h1=32-p|0,d1=E1<>>p,Q1=x1+T|0,L1=(B1|0)!=1,w1=(p1|0)!=0,S1=w1|L1,!S1){v=I0,L=Q1,X2=N0;break e}if(t0=e[M2>>2]|0,R1=I+(Q1<<2)|0,G1=e[R1>>2]|0,k1=0-G1|0,U1=I0+k1|0,Z1=f7[A&15](U1,t0)|0,N1=(Z1|0)<1,N1){B=I0,R=Q1,G=0,O2=N0,_2=18;break}else y=I0,T=Q1,O=0,I0=U1,O0=p1,b5=N0,k2=B1,w=y}else B=t,R=u,G=E,O2=1,_2=18;while(!1);if((_2|0)==18)if(D1=(G|0)==0,D1)v=B,L=R,X2=O2;else{C=B2;return}V1=(X2|0)<2;e:do if(!V1&&(O1=M2+(X2<<2)|0,e[O1>>2]=x2,q1=(n|0)==0,!q1))for(M=n,h2=x2;;){for(E2=M>>>0>256,j1=E2?256:M,o2=e[M2>>2]|0,s4(h2|0,o2|0,j1|0)|0,u2=o2,e5=0;W1=M2+(e5<<2)|0,P1=e5+1|0,c2=M2+(P1<<2)|0,z1=e[c2>>2]|0,s4(u2|0,z1|0,j1|0)|0,s2=u2+j1|0,e[W1>>2]=s2,o5=(P1|0)==(X2|0),!o5;)u2=z1,e5=P1;if(H1=(M|0)==(j1|0),H1)break e;r2=M-j1|0,e0=e[O1>>2]|0,M=r2,h2=e0}while(!1);e[P2>>2]=v,a2=(L|0)>1;e:do if(a2){for(D=L,N=v,n2=v,Z2=1;;){if(t2=N+U|0,$2=D+-2|0,i2=I+($2<<2)|0,A2=e[i2>>2]|0,n5=A2+n|0,X=0-n5|0,X1=N+X|0,f2=f7[A&15](n2,X1)|0,e2=(f2|0)>-1,e2&&(v2=f7[A&15](n2,t2)|0,w2=(v2|0)>-1,w2)){T1=Z2;break}if(C2=f7[A&15](X1,t2)|0,F2=(C2|0)>-1,D2=Z2+1|0,N2=P2+(Z2<<2)|0,F2?(e[N2>>2]=X1,d2=D+-1|0,m=X1,b=d2):(e[N2>>2]=t2,m=t2,b=$2),K2=(b|0)>1,!K2){T1=D2;break}J=e[P2>>2]|0,D=b,N=m,n2=J,Z2=D2}if(G2=(T1|0)<2,G2)C0=x2;else if(H2=P2+(T1<<2)|0,e[H2>>2]=x2,K=(n|0)==0,K)C0=x2;else for(F=n,w0=x2;;){for(u0=F>>>0>256,s0=u0?256:F,d0=e[P2>>2]|0,s4(w0|0,d0|0,s0|0)|0,c0=d0,L5=0;r0=P2+(L5<<2)|0,V=L5+1|0,h0=P2+(V<<2)|0,o0=e[h0>>2]|0,s4(c0|0,o0|0,s0|0)|0,j=c0+s0|0,e[r0>>2]=j,z2=(V|0)==(T1|0),!z2;)c0=o0,L5=V;if(a0=(F|0)==(s0|0),a0){C0=x2;break e}i0=F-s0|0,W=e[H2>>2]|0,F=i0,w0=W}}else C0=x2;while(!1);C=B2}function Oi(t){t=+t;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0;return L=C,A1[p2>>3]=t,A=e[p2>>2]|0,a=e[p2+4>>2]|0,p=a&2146435072,B=p>>>0>1126170624,v=!1,b=(p|0)==1126170624,w=b&v,y=B|w,y?(n=t,+n):(D=(a|0)<0,Q=t+-4503599627370496,c=Q+4503599627370496,u=t+4503599627370496,E=u+-4503599627370496,_=D?c:E,I=_==0,I?(m=D?-0:0,n=m,+n):(n=_,+n))}function SQ(t){t=+t;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0;return y=C,A=(s[p2>>2]=t,e[p2>>2]|0),a=A&2130706432,c=a>>>0>1249902592,c?(n=t,+n):(u=(A|0)<0,E=t+-8388608,I=E+8388608,m=t+8388608,p=m+-8388608,b=u?I:p,B=b==0,B?(v=u?-0:0,n=v,+n):(n=b,+n))}function mb(t,n){t=+t,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0;return z=C,u=(n|0)>1023,u?(E=t*898846567431158e293,Q=n+-1023|0,_=(Q|0)>1023,_?(R=E*898846567431158e293,L=n+-2046|0,F=(L|0)>1023,A=F?1023:L,a=A,G=R):(a=Q,G=E)):(M=(n|0)<-1022,M?(T=t*22250738585072014e-324,N=n+1022|0,I=(N|0)<-1022,I?(m=T*22250738585072014e-324,p=n+2044|0,B=(p|0)<-1022,c=B?-1022:p,a=c,G=m):(a=N,G=T)):(a=n,G=t)),v=a+1023|0,b=_Q(v|0,0,52)|0,w=H6,e[p2>>2]=b,e[p2+4>>2]=w,y=+A1[p2>>3],D=G*y,+D}function Cb(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0;I=C,n=t+-1|0,A=553040,a=A,e[a>>2]=n,c=A+4|0,u=c,e[u>>2]=0}function Bb(){var t=0,n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0;return _=C,t=553040,n=t,m=e[n>>2]|0,p=t+4|0,B=p,v=e[B>>2]|0,b=wb(m|0,v|0,1284865837,1481765933)|0,w=H6,y=Zs(b|0,w|0,1,0)|0,D=H6,A=553040,a=A,e[a>>2]=y,c=A+4|0,u=c,e[u>>2]=D,E=Ws(y|0,D|0,33)|0,I=H6,E|0}function S9(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,L1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,k3=0,u3=0,p3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,X3=0,c6=0,p6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,L6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,L4=0,T4=0,j4=0,C4=0,N4=0,U9=0,G4=0,a4=0,R4=0,u4=0,Ce=0,q9=0,m9=0,Be=0,Ne=0,Xe=0,U4=0,Ge=0,P4=0,X4=0,be=0,e8=0,Z9=0,$e=0,f4=0,_6=0,O4=0,R9=0,$4=0,_4=0,le=0,W9=0,ce=0,ge=0,B4=0,ee=0,F4=0,he=0,C9=0,g6=0,Ue=0,l4=0,pe=0,p4=0,c4=0,P6=0,De=0,_e=0,t8=0,g4=0,k4=0,u8=0,J3=0,w9=0,B9=0,M4=0,te=0,$t=0,xe=0,lt=0,wt=0,z8=0,ct=0,gt=0,F8=0,M8=0,T8=0,N8=0,Z8=0,W8=0,kt=0,G8=0,U8=0,P8=0,k8=0,v8=0,f8=0,O8=0,q8=0,j8=0,X8=0,d8=0,Pe=0,Le=0,i8=0,S8=0,k9=0,ht=0,Qe=0,ut=0,vt=0,et=0,St=0,ie=0,tt=0,H8=0,b8=0,r8=0,q4=0,Re=0,n8=0,I8=0,D8=0,ue=0,j9=0,s8=0,E8=0,o8=0,m8=0,fe=0,ye=0,Oe=0,qe=0,X9=0,Fe=0,de=0,A8=0,we=0,Q4=0,C8=0,it=0,H4=0,I3=0,He=0,B8=0,re=0,H9=0,ne=0,D9=0,Ye=0,Y8=0,ft=0,rt=0,nt=0,J8=0,st=0,V8=0,a8=0,$8=0,_8=0,Y4=0,ot=0,x8=0,Je=0,p9=0,At=0,Ve=0,Nt=0,Ht=0,bt=0,at=0,Dt=0,se=0,Gt=0,Yt=0,l8=0,L8=0,_t=0,K8=0,Me=0,Ie=0,e4=0,xt=0,i7=0,G7=0,U7=0,P7=0,d7=0,Jt=0,I7=0,Vt=0,E7=0,Kt=0,m7=0,r7=0,oi=0,O7=0,C7=0,B7=0,Ai=0,p7=0,n7=0,ai=0,q7=0,H7=0,Y7=0,J7=0,s7=0,Q7=0,V7=0,zt=0,o7=0,Ut=0,Zt=0,$i=0,K7=0,li=0,y7=0,z7=0,w7=0,k7=0,Z7=0,v7=0,Wt=0,S7=0,W7=0,A7=0,Pt=0,b7=0,ke=0,D7=0,Lt=0,a7=0,n9=0,dt=0,p8=0,It=0,Rt=0,zr=0,Er=0,eo=0,Pn=0,to=0,On=0,io=0,ro=0,qn=0,no=0,Zr=0,so=0,oo=0,Ao=0,Hn=0,ao=0,Yn=0,Jn=0,$o=0,Wr=0,Vn=0,jr=0,Kn=0,zn=0,lo=0,co=0,go=0,Xr=0,Zn=0,ho=0,mr=0,en=0,uo=0,fo=0,tn=0,ci=0,Wn=0,Io=0,Eo=0,jn=0,Xn=0,es=0,mo=0,gi=0,rn=0,Co=0,ts=0,Bo=0,po=0,Qo=0,is=0,yo=0,wo=0,ko=0,vo=0,rs=0,So=0,bo=0,nn=0,Cr=0,sn=0,Do=0,ji=0,_o=0,ns=0,on=0,ss=0,An=0,xo=0,os=0,As=0,Lo=0,as=0,$s=0,Ro=0,Br=0,ls=0,hi=0,an=0,pr=0,Xi=0,Qr=0,Hi=0,yr=0,cs=0,Yi=0,yi=0,wi=0,j7=0,ki=0,wr=0,er=0,tr=0,kr=0,ui=0,Fo=0,$7=0,tl=0,$n=0,ln=0,Nh=0,il=0,Mo=0,Gh=0,XA=0,rl=0,Uh=0,Ph=0,Oh=0,ea=0,nl=0,sl=0,ta=0,cn=0,ol=0,qh=0,To=0,ir=0,Hh=0,Yh=0,Jh=0,Vh=0,Kh=0,zh=0,Zh=0,Wh=0,jh=0,Xh=0,Al=0,vr=0,eu=0,tu=0,al=0,iu=0,ia=0,No=0,ra=0,ru=0,nu=0,na=0,$l=0,ll=0,cl=0,sa=0,gl=0,Go=0,su=0,ou=0,hl=0,Au=0,au=0,ul=0,$u=0,lu=0,fl=0,dl=0,Il=0,El=0,ml=0,gn=0,cu=0,Cl=0,gu=0,Bl=0,pl=0,hu=0,uu=0,fu=0,oa=0,Ql=0,yl=0,gs=0,wl=0,Aa=0,du=0,kl=0,Iu=0,vl=0,Eu=0,mu=0,Sl=0,bl=0,Cu=0,Uo=0,Bu=0,aa=0,Dl=0,_l=0,pu=0,Qu=0,yu=0,wu=0,ku=0,vu=0,Po=0,xl=0,Ll=0,Rl=0,Oo=0,Su=0,Fl=0,bu=0,Ml=0,Du=0,_u=0,Tl=0,$a=0,xu=0,Lu=0,qo=0,Ru=0,Ho=0,Fu=0,la=0,Mu=0,Tu=0,Nu=0,Nl=0,Gu=0,Uu=0,Pu=0,Ou=0,Gl=0,Ul=0,rr=0,Pl=0,Yo=0,ca=0,ga=0,hn=0,Ol=0,un=0,qu=0,ql=0,Hu=0,Yu=0,Ju=0,Vu=0,Jo=0,ha=0,Sr=0,Ku=0,zu=0,Hl=0,ua=0,Yl=0,Jl=0,Zu=0,Vl=0,Wu=0,fa=0,ju=0,Xu=0,P9=0,ef=0,Kl=0,tf=0,rf=0,da=0,nf=0,Ia=0,zl=0,sf=0,of=0,Zl=0,Wl=0,Af=0,Ea=0,ma=0,jl=0,Xl=0,af=0,ec=0,Ca=0,$f=0,tc=0,lf=0,cf=0,gf=0,hf=0,ic=0,rc=0,Ba=0,Vo=0,nc=0,uf=0,sc=0,oc=0,ff=0,df=0,If=0,Ac=0,Ef=0,mf=0,Cf=0,Bf=0,pf=0,Qf=0,ac=0,yf=0,$c=0,wf=0,fn=0,kf=0,lc=0,vf=0,hs=0,cc=0,pa=0,Sf=0,Ko=0,Qa=0,bf=0,ya=0,gc=0,Df=0,_f=0,xf=0,Lf=0,Rf=0,hc=0,Ff=0,Mf=0,Tf=0,zo=0,us=0,wa=0,Nf=0,ka=0,Gf=0,Uf=0,Pf=0,uc=0,Of=0,qf=0,Hf=0,Yf=0,Jf=0,Zo=0,Vf=0,Kf=0,fc=0,zf=0,Zf=0,Wf=0,jf=0,fi=0,dc=0,di=0,Ic=0,va=0,Xf=0,X7=0,fs=0,ed=0,td=0,id=0,rd=0,nd=0,Ec=0,sd=0,od=0,mc=0,Ad=0,ad=0,ds=0,Sa=0,$d=0,Cc=0,ld=0,cd=0,Wo=0,gd=0,hd=0,Bc=0,pc=0,ud=0,fd=0,dn=0,dd=0,Id=0,In=0,Ed=0,Qc=0,md=0,Cd=0,Is=0,yc=0,Bd=0,wc=0,pd=0,nr=0,ba=0,Qd=0,kc=0,vc=0,yd=0,wd=0,Sc=0,kd=0,vd=0,Sd=0,bc=0,bd=0,Es=0,Dd=0,En=0,_d=0,xd=0,Da=0,Ld=0,_a=0,xa=0,Rd=0,Dc=0,_c=0,Fd=0,xc=0,Lc=0,Rc=0,Md=0,Fc=0,Mc=0,Td=0,Nd=0,Tc=0,Nc=0,Gd=0,Gc=0,Uc=0,Ud=0,Pd=0,Pc=0,La=0,Oc=0,qc=0,Hc=0,Yc=0,Od=0,qd=0,Hd=0,Yd=0,Jd=0,Vd=0,Kd=0,zd=0,Jc=0,Ra=0,Zd=0,Wd=0,jd=0,Vc=0,Kc=0,Xd=0,zc=0,Fa=0,jo=0,Zc=0,eI=0,tI=0,iI=0,rI=0,Wc=0,Xo=0,nI=0,sI=0,oI=0,AI=0,aI=0,$I=0,lI=0,cI=0,jc=0,gI=0,hI=0,uI=0,fI=0,eA=0,Xc=0,dI=0,II=0,mn=0,eg=0,tg=0,Ma=0,EI=0,ig=0,mI=0,rg=0,ng=0,CI=0,BI=0,pI=0,QI=0,yI=0,tA=0,Ta=0,wI=0,kI=0,vI=0,SI=0,sg=0,bI=0,og=0,DI=0,_I=0,Ag=0,br=0,ag=0,$g=0,xI=0,lg=0,iA=0,LI=0,RI=0,FI=0,rA=0,cg=0,MI=0,TI=0,gg=0,NI=0,GI=0,Na=0,nA=0,UI=0,PI=0,OI=0,hg=0,ug=0,fg=0,qI=0,HI=0,ms=0,YI=0,dg=0,JI=0,Ga=0,Ig=0,VI=0,KI=0,zI=0,ZI=0,Eg=0,WI=0,jI=0,mg=0,sA=0,XI=0,eE=0,tE=0,Cs=0,Cg=0,Bg=0,iE=0,pg=0,Qg=0,vi=0,yg=0,sr=0,rE=0,nE=0,sE=0,oE=0,Ua=0,oA=0,wg=0,kg=0,AE=0,AA=0,Bs=0,aE=0,aA=0,Pa=0,$E=0,Oa=0,lE=0,cE=0,vg=0,$A=0,Sg=0,gE=0,hE=0,uE=0,fE=0,bg=0,dE=0,jt=0,y4=0,ei=0,IE=0,Dg=0,_g=0,qa=0,EE=0,Dr=0,ps=0,mE=0,CE=0,xg=0,Ha=0,BE=0,Lg=0,Rg=0,Fg=0,Ya=0,Ja=0,Mg=0,Qs=0,Va=0,Tg=0,pE=0,Cn=0,QE=0,Ng=0,lA=0,yE=0,Gg=0,Si=0,wE=0,kE=0,vE=0,SE=0,bE=0,DE=0,bi=0,_E=0,xE=0,LE=0,Ug=0,Ii=0,cA=0,Ka=0,Pg=0,Og=0,RE=0,qg=0,Hg=0,FE=0,ME=0,Yg=0,Jg=0,TE=0,NE=0,Vg=0,GE=0,ys=0,gA=0,hA=0,UE=0,za=0,PE=0,OE=0,Kg=0,ws=0,qE=0,HE=0,Za=0,Wa=0,uA=0,ja=0,Xa=0,or=0,_r=0,xr=0,e$=0,t$=0,ks=0,Ar=0,Bn=0,YE=0,ar=0,pn=0,JE=0,_7=0,x7=0,L7=0,fA=0,dA=0,zg=0,Zg=0,IA=0,i$=0,R7=0,EA=0,Lr=0,r$=0,VE=0,n$=0,KE=0,s$=0,Wg=0,mA=0,zE=0,ZE=0,CA=0,WE=0,BA=0,Qn=0,Ke=0,v4=0,jg=0,jE=0,o$=0,Xg=0,XE=0,em=0,pA=0,tm=0,im=0,rm=0,nm=0,eh=0,sm=0,om=0,Am=0,ti=0,QA=0,yn=0,A$=0,vs=0,Ss=0,Xt=0,bs=0,th=0,ih=0,yA=0,Ds=0,_s=0,xs=0,am=0,Ls=0,$r=0,rh=0,Rr=0,ii=0,a$=0,$$=0,Ji=0,l$=0,c$=0,g$=0,Fr=0,$6=0,wA=0,Mr=0,nh=0,ve=0,h$=0,Q8=0,Rs=0,wn=0,kn=0,F9=0,vn=0,Tr=0,J4=0,u$=0;u$=C,K1=t>>>0<245;do if(K1){if(h2=t>>>0<11,h4=t+11|0,q4=h4&-8,ke=h2?16:q4,Mo=ke>>>3,la=e[138262]|0,zo=la>>>Mo,qc=zo&3,mg=(qc|0)==0,!mg){a2=zo&1,u3=a2^1,l3=u3+Mo|0,A3=l3<<1,g3=553088+(A3<<2)|0,w0=A3+2|0,x6=553088+(w0<<2)|0,b6=e[x6>>2]|0,L6=b6+8|0,D6=e[L6>>2]|0,d9=(g3|0)==(D6|0);do if(d9)G9=1<>>0>>0,ce&&Q2(),p4=D6+12|0,B9=e[p4>>2]|0,M8=(B9|0)==(b6|0),M8){e[p4>>2]=g3,e[x6>>2]=D6;break}else Q2();while(!1);return f8=l3<<3,ht=f8|3,Re=b6+4|0,e[Re>>2]=ht,p0=f8|4,ye=b6+p0|0,H4=e[ye>>2]|0,rt=H4|1,e[ye>>2]=rt,Ke=L6,Ke|0}if(Je=e[138264]|0,Yt=ke>>>0>Je>>>0,Yt){if(U7=(zo|0)==0,!U7){O7=zo<>>12,nn=Bo&16,os=Wn>>>nn,Xi=os>>>5,er=Xi&8,Gh=er|nn,ol=os>>>er,Wh=ol>>>2,ra=Wh&4,ou=Gh|ra,ml=ol>>>ra,Ql=ml>>>1,Sl=Ql&2,wu=ou|Sl,Ml=ml>>>Sl,Mu=Ml>>>1,Pl=Mu&1,Ju=wu|Pl,Zu=Ml>>>Pl,da=Ju+Zu|0,jl=da<<1,ic=553088+(jl<<2)|0,U1=jl+2|0,Ac=553088+(U1<<2)|0,fn=e[Ac>>2]|0,ya=fn+8|0,us=e[ya>>2]|0,Yf=(ic|0)==(us|0);do if(Yf)dc=1<>>0>>0,nr&&Q2(),bc=us+12|0,Rd=e[bc>>2]|0,Nd=(Rd|0)==(fn|0),Nd){e[bc>>2]=ic,e[Ac>>2]=us,y=e[138264]|0,nA=y;break}else Q2();while(!1);return Hc=da<<3,Ra=Hc-ke|0,eI=ke|3,$I=fn+4|0,e[$I>>2]=eI,II=fn+ke|0,BI=Ra|1,j1=ke|4,bI=fn+j1|0,e[bI>>2]=BI,LI=fn+Hc|0,e[LI>>2]=Ra,dg=(nA|0)==0,dg||(sA=e[138267]|0,yg=nA>>>3,AA=yg<<1,Sg=553088+(AA<<2)|0,Dg=e[138262]|0,Lg=1<>2]|0,C2=e[138266]|0,o5=t2>>>0>>0,o5?Q2():(G=ys,uA=t2)),e[G>>2]=sA,l5=uA+12|0,e[l5>>2]=sA,G5=sA+8|0,e[G5>>2]=uA,W2=sA+12|0,e[W2>>2]=Sg),e[138264]=Ra,e[138267]=II,Ke=ya,Ke|0}if($5=e[138263]|0,m3=($5|0)==0,m3)v4=ke;else{for(V5=0-$5|0,k3=$5&V5,p3=k3+-1|0,z3=p3>>>12,G3=z3&16,z5=p3>>>G3,w3=z5>>>5,W5=w3&8,i6=W5|G3,L3=z5>>>W5,U3=L3>>>2,a3=U3&4,c3=i6|a3,C3=L3>>>a3,H5=C3>>>1,U5=H5&2,O5=c3|U5,k5=C3>>>U5,P3=k5>>>1,M5=P3&1,o6=O5|M5,e3=k5>>>M5,R3=o6+e3|0,u6=553352+(R3<<2)|0,Q3=e[u6>>2]|0,v3=Q3+4|0,y3=e[v3>>2]|0,r6=y3&-8,j3=r6-ke|0,QA=j3,$$=Q3,h$=Q3;;){if(O3=$$+16|0,K5=e[O3>>2]|0,S3=(K5|0)==0,S3)if(q3=$$+20|0,l6=e[q3>>2]|0,d3=(l6|0)==0,d3){yn=QA,Q8=h$;break}else v6=l6;else v6=K5;k6=v6+4|0,S6=e[k6>>2]|0,B6=S6&-8,X3=B6-ke|0,c6=X3>>>0>>0,q=c6?X3:QA,o2=c6?v6:h$,QA=q,$$=v6,h$=o2}p6=e[138266]|0,Y6=Q8>>>0>>0,Y6&&Q2(),C6=Q8+ke|0,b3=Q8>>>0>>0,b3||Q2(),e6=Q8+24|0,t6=e[e6>>2]|0,f6=Q8+12|0,H3=e[f6>>2]|0,D3=(H3|0)==(Q8|0);do if(D3){if(N6=Q8+20|0,n6=e[N6>>2]|0,Q6=(n6|0)==0,Q6)if(K6=Q8+16|0,I6=e[K6>>2]|0,J6=(I6|0)==0,J6){_7=0;break}else Ar=I6,fA=K6;else Ar=n6,fA=N6;for(;;){if(F3=Ar+20|0,j6=e[F3>>2]|0,G6=(j6|0)==0,!G6){Ar=j6,fA=F3;continue}if(e9=Ar+16|0,s9=e[e9>>2]|0,R6=(s9|0)==0,R6){ar=Ar,Zg=fA;break}else Ar=s9,fA=e9}if(U6=Zg>>>0>>0,U6)Q2();else{e[Zg>>2]=0,_7=ar;break}}else if(Y3=Q8+8|0,Z3=e[Y3>>2]|0,A6=Z3>>>0>>0,A6&&Q2(),t3=Z3+12|0,O6=e[t3>>2]|0,s3=(O6|0)==(Q8|0),s3||Q2(),a6=H3+8|0,d6=e[a6>>2]|0,_3=(d6|0)==(Q8|0),_3){e[t3>>2]=H3,e[a6>>2]=Z3,_7=H3;break}else Q2();while(!1);z6=(t6|0)==0;do if(!z6){if(y6=Q8+28|0,F6=e[y6>>2]|0,M3=553352+(F6<<2)|0,M6=e[M3>>2]|0,t9=(Q8|0)==(M6|0),t9){if(e[M3>>2]=_7,zE=(_7|0)==0,zE){A9=1<>>0>>0,$9&&Q2(),T9=t6+16|0,E6=e[T9>>2]|0,T6=(E6|0)==(Q8|0),T6?e[T9>>2]=_7:(i9=t6+20|0,e[i9>>2]=_7),N9=(_7|0)==0,N9)break;I9=e[138266]|0,E4=_7>>>0>>0,E4&&Q2(),o4=_7+24|0,e[o4>>2]=t6,z9=Q8+16|0,b9=e[z9>>2]|0,E9=(b9|0)==0;do if(!E9)if(q6=b9>>>0>>0,q6)Q2();else{r9=_7+16|0,e[r9>>2]=b9,m4=b9+24|0,e[m4>>2]=_7;break}while(!1);if(S4=Q8+20|0,A4=e[S4>>2]|0,y9=(A4|0)==0,!y9)if(b4=e[138266]|0,L4=A4>>>0>>0,L4)Q2();else{T4=_7+20|0,e[T4>>2]=A4,j4=A4+24|0,e[j4>>2]=_7;break}}while(!1);return C4=yn>>>0<16,C4?(N4=yn+ke|0,U9=N4|3,G4=Q8+4|0,e[G4>>2]=U9,Z1=N4+4|0,a4=Q8+Z1|0,R4=e[a4>>2]|0,u4=R4|1,e[a4>>2]=u4):(q9=ke|3,m9=Q8+4|0,e[m9>>2]=q9,Be=yn|1,h0=ke|4,Ne=Q8+h0|0,e[Ne>>2]=Be,c0=yn+ke|0,Xe=Q8+c0|0,e[Xe>>2]=yn,U4=e[138264]|0,Ge=(U4|0)==0,Ge||(P4=e[138267]|0,X4=U4>>>3,be=X4<<1,Z9=553088+(be<<2)|0,$e=e[138262]|0,f4=1<>2]|0,le=e[138266]|0,W9=_4>>>0>>0,W9?Q2():(T=$4,Wa=_4)),e[T>>2]=P4,ge=Wa+12|0,e[ge>>2]=P4,B4=P4+8|0,e[B4>>2]=Wa,ee=P4+12|0,e[ee>>2]=Z9),e[138264]=yn,e[138267]=C6),F4=Q8+8|0,Ke=F4,Ke|0}}else v4=ke}else if(he=t>>>0>4294967231,he)v4=-1;else if(C9=t+11|0,g6=C9&-8,Ue=e[138263]|0,l4=(Ue|0)==0,l4)v4=g6;else{pe=0-g6|0,c4=C9>>>8,P6=(c4|0)==0,P6?Qn=0:(De=g6>>>0>16777215,De?Qn=31:(_e=c4+1048320|0,t8=_e>>>16,g4=t8&8,k4=c4<>>16,w9=J3&4,M4=w9|g4,te=k4<>>16,lt=xe&2,wt=M4|lt,z8=14-wt|0,ct=te<>>15,F8=z8+gt|0,T8=F8<<1,N8=F8+7|0,Z8=g6>>>N8,W8=Z8&1,kt=W8|T8,Qn=kt)),G8=553352+(Qn<<2)|0,U8=e[G8>>2]|0,P8=(U8|0)==0;e:do if(P8)Ss=pe,l$=0,kn=0,J4=86;else for(k8=(Qn|0)==31,v8=Qn>>>1,O8=25-v8|0,q8=k8?0:O8,j8=g6<>2]|0,Pe=d8&-8,Le=Pe-g6|0,i8=Le>>>0>>0,i8)if(S8=(Pe|0)==(g6|0),S8){bs=Le,Fr=Ji,Tr=Ji,J4=90;break e}else vs=Le,wn=Ji;else vs=A$,wn=Rs;if(k9=Ji+20|0,Qe=e[k9>>2]|0,ut=yA>>>31,vt=(Ji+16|0)+(ut<<2)|0,et=e[vt>>2]|0,St=(Qe|0)==0,ie=(Qe|0)==(et|0),tm=St|ie,ih=tm?th:Qe,tt=(et|0)==0,H8=yA<<1,tt){Ss=vs,l$=ih,kn=wn,J4=86;break}else A$=vs,th=ih,yA=H8,Ji=et,Rs=wn}while(!1);if((J4|0)==86){if(b8=(l$|0)==0,r8=(kn|0)==0,XE=b8&r8,XE){if(n8=2<>>12,fe=m8&16,Oe=o8>>>fe,qe=Oe>>>5,X9=qe&8,Fe=X9|fe,de=Oe>>>X9,A8=de>>>2,we=A8&4,Q4=Fe|we,C8=de>>>we,it=C8>>>1,I3=it&2,He=Q4|I3,B8=C8>>>I3,re=B8>>>1,H9=re&1,ne=He|H9,D9=B8>>>H9,Ye=ne+D9|0,Y8=553352+(Ye<<2)|0,ft=e[Y8>>2]|0,c$=ft,vn=0}else c$=l$,vn=kn;nt=(c$|0)==0,nt?(Xt=Ss,F9=vn):(bs=Ss,Fr=c$,Tr=vn,J4=90)}if((J4|0)==90)for(;;){if(J4=0,J8=Fr+4|0,st=e[J8>>2]|0,V8=st&-8,a8=V8-g6|0,$8=a8>>>0>>0,X=$8?a8:bs,g$=$8?Fr:Tr,_8=Fr+16|0,Y4=e[_8>>2]|0,ot=(Y4|0)==0,!ot){bs=X,Fr=Y4,Tr=g$,J4=90;continue}if(x8=Fr+20|0,p9=e[x8>>2]|0,At=(p9|0)==0,At){Xt=X,F9=g$;break}else bs=X,Fr=p9,Tr=g$,J4=90}if(Ve=(F9|0)==0,Ve)v4=g6;else if(Nt=e[138264]|0,Ht=Nt-g6|0,bt=Xt>>>0>>0,bt){at=e[138266]|0,Dt=F9>>>0>>0,Dt&&Q2(),se=F9+g6|0,Gt=F9>>>0>>0,Gt||Q2(),l8=F9+24|0,L8=e[l8>>2]|0,_t=F9+12|0,K8=e[_t>>2]|0,Me=(K8|0)==(F9|0);do if(Me){if(Vt=F9+20|0,E7=e[Vt>>2]|0,Kt=(E7|0)==0,Kt)if(m7=F9+16|0,r7=e[m7>>2]|0,oi=(r7|0)==0,oi){L7=0;break}else pn=r7,IA=m7;else pn=E7,IA=Vt;for(;;){if(C7=pn+20|0,B7=e[C7>>2]|0,Ai=(B7|0)==0,!Ai){pn=B7,IA=C7;continue}if(p7=pn+16|0,n7=e[p7>>2]|0,ai=(n7|0)==0,ai){JE=pn,i$=IA;break}else pn=n7,IA=p7}if(q7=i$>>>0>>0,q7)Q2();else{e[i$>>2]=0,L7=JE;break}}else if(Ie=F9+8|0,e4=e[Ie>>2]|0,xt=e4>>>0>>0,xt&&Q2(),i7=e4+12|0,G7=e[i7>>2]|0,P7=(G7|0)==(F9|0),P7||Q2(),d7=K8+8|0,Jt=e[d7>>2]|0,I7=(Jt|0)==(F9|0),I7){e[i7>>2]=K8,e[d7>>2]=e4,L7=K8;break}else Q2();while(!1);H7=(L8|0)==0;do if(!H7){if(Y7=F9+28|0,J7=e[Y7>>2]|0,Q7=553352+(J7<<2)|0,V7=e[Q7>>2]|0,zt=(F9|0)==(V7|0),zt){if(e[Q7>>2]=L7,CA=(L7|0)==0,CA){o7=1<>>0>>0,li&&Q2(),y7=L8+16|0,w7=e[y7>>2]|0,k7=(w7|0)==(F9|0),k7?e[y7>>2]=L7:(Z7=L8+20|0,e[Z7>>2]=L7),v7=(L7|0)==0,v7)break;Wt=e[138266]|0,S7=L7>>>0>>0,S7&&Q2(),W7=L7+24|0,e[W7>>2]=L8,A7=F9+16|0,Pt=e[A7>>2]|0,b7=(Pt|0)==0;do if(!b7)if(Lt=Pt>>>0>>0,Lt)Q2();else{a7=L7+16|0,e[a7>>2]=Pt,n9=Pt+24|0,e[n9>>2]=L7;break}while(!1);if(dt=F9+20|0,p8=e[dt>>2]|0,It=(p8|0)==0,!It)if(Rt=e[138266]|0,zr=p8>>>0>>0,zr)Q2();else{Er=L7+20|0,e[Er>>2]=p8,eo=p8+24|0,e[eo>>2]=L7;break}}while(!1);to=Xt>>>0<16;e:do if(to)On=Xt+g6|0,io=On|3,ro=F9+4|0,e[ro>>2]=io,c1=On+4|0,qn=F9+c1|0,no=e[qn>>2]|0,Zr=no|1,e[qn>>2]=Zr;else{if(so=g6|3,oo=F9+4|0,e[oo>>2]=so,Ao=Xt|1,r0=g6|4,ao=F9+r0|0,e[ao>>2]=Ao,d0=Xt+g6|0,Yn=F9+d0|0,e[Yn>>2]=Xt,Jn=Xt>>>3,$o=Xt>>>0<256,$o){Wr=Jn<<1,Vn=553088+(Wr<<2)|0,jr=e[138262]|0,Kn=1<>2]|0,ho=e[138266]|0,mr=Zn>>>0>>0,mr?Q2():(M=Xr,Xa=Zn)),e[M>>2]=se,en=Xa+12|0,e[en>>2]=se,O0=g6+8|0,uo=F9+O0|0,e[uo>>2]=Xa,q0=g6+12|0,fo=F9+q0|0,e[fo>>2]=Vn;break}if(tn=Xt>>>8,ci=(tn|0)==0,ci?_r=0:(Io=Xt>>>0>16777215,Io?_r=31:(Eo=tn+1048320|0,jn=Eo>>>16,Xn=jn&8,es=tn<>>16,rn=gi&4,Co=rn|Xn,ts=es<>>16,is=Qo&2,yo=Co|is,wo=14-yo|0,ko=ts<>>15,rs=wo+vo|0,So=rs<<1,bo=rs+7|0,Cr=Xt>>>bo,sn=Cr&1,Do=sn|So,_r=Do)),ji=553352+(_r<<2)|0,g1=g6+28|0,_o=F9+g1|0,e[_o>>2]=_r,L1=g6+16|0,ns=F9+L1|0,D1=g6+20|0,on=F9+D1|0,e[on>>2]=0,e[ns>>2]=0,ss=e[138263]|0,An=1<<_r,xo=ss&An,As=(xo|0)==0,As){Lo=ss|An,e[138263]=Lo,e[ji>>2]=se,H1=g6+24|0,as=F9+H1|0,e[as>>2]=ji,r2=g6+12|0,$s=F9+r2|0,e[$s>>2]=se,P1=g6+8|0,Ro=F9+P1|0,e[Ro>>2]=se;break}Br=e[ji>>2]|0,ls=Br+4|0,hi=e[ls>>2]|0,an=hi&-8,pr=(an|0)==(Xt|0);t:do if(pr)R7=Br;else{for(Qr=(_r|0)==31,Hi=_r>>>1,yr=25-Hi|0,cs=Qr?0:yr,Yi=Xt<>>31,ui=(r$+16|0)+(kr<<2)|0,j7=e[ui>>2]|0,Fo=(j7|0)==0,Fo){w=ui,VE=r$;break}if(yi=e$<<1,wi=j7+4|0,ki=e[wi>>2]|0,wr=ki&-8,tr=(wr|0)==(Xt|0),tr){R7=j7;break t}else e$=yi,r$=j7}if($7=e[138266]|0,tl=w>>>0<$7>>>0,tl)Q2();else{e[w>>2]=se,f0=g6+24|0,$n=F9+f0|0,e[$n>>2]=VE,U0=g6+12|0,ln=F9+U0|0,e[ln>>2]=se,P0=g6+8|0,Nh=F9+P0|0,e[Nh>>2]=se;break e}}while(!1);if(il=R7+8|0,XA=e[il>>2]|0,rl=e[138266]|0,Uh=XA>>>0>=rl>>>0,jg=R7>>>0>=rl>>>0,Ph=Uh&jg,Ph){Oh=XA+12|0,e[Oh>>2]=se,e[il>>2]=se,c2=g6+8|0,ea=F9+c2|0,e[ea>>2]=XA,u2=g6+12|0,nl=F9+u2|0,e[nl>>2]=R7,C0=g6+24|0,sl=F9+C0|0,e[sl>>2]=0;break}else Q2()}while(!1);return ta=F9+8|0,Ke=ta,Ke|0}else v4=g6}while(!1);if(cn=e[138264]|0,qh=cn>>>0>>0,!qh)return To=cn-v4|0,ir=e[138267]|0,Hh=To>>>0>15,Hh?(Yh=ir+v4|0,e[138267]=Yh,e[138264]=To,Jh=To|1,u1=v4+4|0,Vh=ir+u1|0,e[Vh>>2]=Jh,Kh=ir+cn|0,e[Kh>>2]=To,zh=v4|3,Zh=ir+4|0,e[Zh>>2]=zh):(e[138264]=0,e[138267]=0,jh=cn|3,Xh=ir+4|0,e[Xh>>2]=jh,o0=cn+4|0,Al=ir+o0|0,vr=e[Al>>2]|0,eu=vr|1,e[Al>>2]=eu),tu=ir+8|0,Ke=tu,Ke|0;if(al=e[138265]|0,iu=al>>>0>v4>>>0,iu)return ia=al-v4|0,e[138265]=ia,No=e[138268]|0,ru=No+v4|0,e[138268]=ru,nu=ia|1,U=v4+4|0,na=No+U|0,e[na>>2]=nu,$l=v4|3,ll=No+4|0,e[ll>>2]=$l,cl=No+8|0,Ke=cl,Ke|0;sa=e[138380]|0,gl=(sa|0)==0;do if(gl)if(Go=Rv(30)|0,su=Go+-1|0,hl=su&Go,Au=(hl|0)==0,Au){e[138382]=Go,e[138381]=Go,e[138383]=-1,e[138384]=-1,e[138385]=0,e[138373]=0,au=Xp(0)|0,ul=au&-16,$u=ul^1431655768,e[138380]=$u;break}else Q2();while(!1);if(lu=v4+48|0,fl=e[138382]|0,dl=v4+47|0,Il=fl+dl|0,El=0-fl|0,gn=Il&El,cu=gn>>>0>v4>>>0,!cu||(Cl=e[138372]|0,gu=(Cl|0)==0,!gu&&(Bl=e[138370]|0,pl=Bl+gn|0,hu=pl>>>0<=Bl>>>0,uu=pl>>>0>Cl>>>0,pA=hu|uu,pA)))return Ke=0,Ke|0;fu=e[138373]|0,oa=fu&4,yl=(oa|0)==0;e:do if(yl){gs=e[138268]|0,wl=(gs|0)==0;t:do if(wl)J4=174;else{for(Ds=553496;;){if(Aa=e[Ds>>2]|0,du=Aa>>>0>gs>>>0,!du&&(kl=Ds+4|0,Iu=e[kl>>2]|0,vl=Aa+Iu|0,Eu=vl>>>0>gs>>>0,Eu)){v=Ds,b=kl;break}if(mu=Ds+8|0,bl=e[mu>>2]|0,Cu=(bl|0)==0,Cu){J4=174;break t}else Ds=bl}if(xu=e[138265]|0,Lu=Il-xu|0,qo=Lu&El,Ru=qo>>>0<2147483647,Ru)if(Ho=N7(qo|0)|0,Fu=e[v>>2]|0,Tu=e[b>>2]|0,Nu=Fu+Tu|0,Nl=(Ho|0)==(Nu|0),n=Nl?qo:0,Nl)if(Gu=(Ho|0)==-1,Gu)Mr=n;else{$6=Ho,ve=n,J4=194;break e}else mA=Ho,ii=qo,wA=n,J4=184;else Mr=0}while(!1);do if((J4|0)==174)if(Uo=N7(0)|0,Bu=(Uo|0)==-1,Bu)Mr=0;else if(aa=Uo,Dl=e[138381]|0,_l=Dl+-1|0,pu=_l&aa,Qu=(pu|0)==0,Qu?Rr=gn:(yu=_l+aa|0,ku=0-Dl|0,vu=yu&ku,Po=gn-aa|0,xl=Po+vu|0,Rr=xl),Ll=e[138370]|0,Rl=Ll+Rr|0,Oo=Rr>>>0>v4>>>0,Su=Rr>>>0<2147483647,em=Oo&Su,em){if(Fl=e[138372]|0,bu=(Fl|0)==0,!bu&&(Du=Rl>>>0<=Ll>>>0,_u=Rl>>>0>Fl>>>0,im=Du|_u,im)){Mr=0;break}if(Tl=N7(Rr|0)|0,$a=(Tl|0)==(Uo|0),rh=$a?Rr:0,$a){$6=Uo,ve=rh,J4=194;break e}else mA=Tl,ii=Rr,wA=rh,J4=184}else Mr=0;while(!1);t:do if((J4|0)==184){Uu=0-ii|0,Pu=(mA|0)!=-1,Ou=ii>>>0<2147483647,nm=Ou&Pu,Gl=lu>>>0>ii>>>0,sm=Gl&nm;do if(sm)if(Ul=e[138382]|0,rr=dl-ii|0,Yo=rr+Ul|0,ca=0-Ul|0,ga=Yo&ca,hn=ga>>>0<2147483647,hn)if(Ol=N7(ga|0)|0,un=(Ol|0)==-1,un){N7(Uu|0)|0,Mr=wA;break t}else{qu=ga+ii|0,a$=qu;break}else a$=ii;else a$=ii;while(!1);if(ql=(mA|0)==-1,ql)Mr=wA;else{$6=mA,ve=a$,J4=194;break e}}while(!1);Hu=e[138373]|0,Yu=Hu|4,e[138373]=Yu,nh=Mr,J4=191}else nh=0,J4=191;while(!1);if((J4|0)==191&&(Vu=gn>>>0<2147483647,Vu&&(Jo=N7(gn|0)|0,ha=N7(0)|0,Sr=(Jo|0)!=-1,Ku=(ha|0)!=-1,rm=Sr&Ku,zu=Jo>>>0>>0,om=zu&rm,om&&(Hl=ha,ua=Jo,Yl=Hl-ua|0,Jl=v4+40|0,Vl=Yl>>>0>Jl>>>0,E2=Vl?Yl:nh,Vl&&($6=Jo,ve=E2,J4=194)))),(J4|0)==194){Wu=e[138370]|0,fa=Wu+ve|0,e[138370]=fa,ju=e[138371]|0,Xu=fa>>>0>ju>>>0,Xu&&(e[138371]=fa),P9=e[138268]|0,ef=(P9|0)==0;e:do if(ef){for(Kl=e[138266]|0,tf=(Kl|0)==0,rf=$6>>>0>>0,Am=tf|rf,Am&&(e[138266]=$6),e[138374]=$6,e[138375]=ve,e[138377]=0,nf=e[138380]|0,e[138271]=nf,e[138270]=-1,BA=0;Ia=BA<<1,zl=553088+(Ia<<2)|0,$0=Ia+3|0,sf=553088+($0<<2)|0,e[sf>>2]=zl,j=Ia+2|0,of=553088+(j<<2)|0,e[of>>2]=zl,Zl=BA+1|0,WE=(Zl|0)==32,!WE;)BA=Zl;Wl=ve+-40|0,Af=$6+8|0,Ea=Af,ma=Ea&7,Xl=(ma|0)==0,af=0-Ea|0,ec=af&7,Ca=Xl?0:ec,$f=$6+Ca|0,tc=Wl-Ca|0,e[138268]=$f,e[138265]=tc,lf=tc|1,K=Ca+4|0,cf=$6+K|0,e[cf>>2]=lf,l1=ve+-36|0,gf=$6+l1|0,e[gf>>2]=40,hf=e[138384]|0,e[138269]=hf}else{for(xs=553496;;){if(rc=e[xs>>2]|0,Ba=xs+4|0,Vo=e[Ba>>2]|0,nc=rc+Vo|0,uf=($6|0)==(nc|0),uf){m=rc,p=Ba,B=Vo,am=xs,J4=204;break}if(sc=xs+8|0,oc=e[sc>>2]|0,ff=(oc|0)==0,ff)break;xs=oc}if((J4|0)==204&&(df=am+12|0,If=e[df>>2]|0,Ef=If&8,mf=(Ef|0)==0,mf&&(Cf=P9>>>0>=m>>>0,Bf=P9>>>0<$6>>>0,eh=Bf&Cf,eh))){pf=B+ve|0,e[p>>2]=pf,Qf=e[138265]|0,ac=Qf+ve|0,yf=P9+8|0,$c=yf,wf=$c&7,kf=(wf|0)==0,lc=0-$c|0,vf=lc&7,hs=kf?0:vf,cc=P9+hs|0,pa=ac-hs|0,e[138268]=cc,e[138265]=pa,Sf=pa|1,s0=hs+4|0,Ko=P9+s0|0,e[Ko>>2]=Sf,n1=ac+4|0,Qa=P9+n1|0,e[Qa>>2]=40,bf=e[138384]|0,e[138269]=bf;break}for(gc=e[138266]|0,Df=$6>>>0>>0,Df?(e[138266]=$6,Is=$6):Is=gc,_f=$6+ve|0,Ls=553496;;){if(xf=e[Ls>>2]|0,Lf=(xf|0)==(_f|0),Lf){I=Ls,$r=Ls,J4=212;break}if(Rf=Ls+8|0,hc=e[Rf>>2]|0,Ff=(hc|0)==0,Ff){_s=553496;break}else Ls=hc}if((J4|0)==212)if(Mf=$r+12|0,Tf=e[Mf>>2]|0,wa=Tf&8,Nf=(wa|0)==0,Nf){e[I>>2]=$6,ka=$r+4|0,Gf=e[ka>>2]|0,Uf=Gf+ve|0,e[ka>>2]=Uf,Pf=$6+8|0,uc=Pf,Of=uc&7,qf=(Of|0)==0,Hf=0-uc|0,Jf=Hf&7,Zo=qf?0:Jf,Vf=$6+Zo|0,I0=ve+8|0,Kf=$6+I0|0,fc=Kf,zf=fc&7,Zf=(zf|0)==0,Wf=0-fc|0,jf=Wf&7,fi=Zf?0:jf,S0=fi+ve|0,di=$6+S0|0,Ic=di,va=Vf,Xf=Ic-va|0,i0=Zo+v4|0,X7=$6+i0|0,fs=Xf-v4|0,ed=v4|3,u0=Zo+4|0,td=$6+u0|0,e[td>>2]=ed,id=(di|0)==(P9|0);t:do if(id)rd=e[138265]|0,Ec=rd+fs|0,e[138265]=Ec,e[138268]=X7,sd=Ec|1,q1=i0+4|0,od=$6+q1|0,e[od>>2]=sd;else{if(mc=e[138267]|0,Ad=(di|0)==(mc|0),Ad){ad=e[138264]|0,ds=ad+fs|0,e[138264]=ds,e[138267]=X7,Sa=ds|1,V1=i0+4|0,$d=$6+V1|0,e[$d>>2]=Sa,O1=ds+i0|0,Cc=$6+O1|0,e[Cc>>2]=ds;break}if(o1=ve+4|0,V0=o1+fi|0,cd=$6+V0|0,Wo=e[cd>>2]|0,gd=Wo&3,hd=(gd|0)==1,hd){Bc=Wo&-8,pc=Wo>>>3,ud=Wo>>>0<256;i:do if(ud){G1=fi|8,J0=G1+ve|0,fd=$6+J0|0,dn=e[fd>>2]|0,k1=ve+12|0,Y0=k1+fi|0,dd=$6+Y0|0,In=e[dd>>2]|0,Ed=pc<<1,Qc=553088+(Ed<<2)|0,md=(dn|0)==(Qc|0);do if(!md){if(Cd=dn>>>0>>0,Cd&&Q2(),yc=dn+12|0,Bd=e[yc>>2]|0,wc=(Bd|0)==(di|0),wc)break;Q2()}while(!1);if(pd=(In|0)==(dn|0),pd){ba=1<>>0>>0,wd&&Q2(),Sc=In+8|0,kd=e[Sc>>2]|0,vd=(kd|0)==(di|0),vd){N=Sc;break}Q2()}while(!1);Sd=dn+12|0,e[Sd>>2]=In,e[N>>2]=dn}else{R1=fi|24,_0=R1+ve|0,bd=$6+_0|0,Es=e[bd>>2]|0,Y1=ve+12|0,Q0=Y1+fi|0,Dd=$6+Q0|0,En=e[Dd>>2]|0,_d=(En|0)==(di|0);do if(_d){if(W1=fi|16,D0=o1+W1|0,Lc=$6+D0|0,Rc=e[Lc>>2]|0,Md=(Rc|0)==0,Md)if(T0=W1+ve|0,Fc=$6+T0|0,Mc=e[Fc>>2]|0,Td=(Mc|0)==0,Td){x7=0;break}else Bn=Mc,dA=Fc;else Bn=Rc,dA=Lc;for(;;){if(Tc=Bn+20|0,Nc=e[Tc>>2]|0,Gd=(Nc|0)==0,!Gd){Bn=Nc,dA=Tc;continue}if(Gc=Bn+16|0,Uc=e[Gc>>2]|0,Ud=(Uc|0)==0,Ud){YE=Bn,zg=dA;break}else Bn=Uc,dA=Gc}if(Pd=zg>>>0>>0,Pd)Q2();else{e[zg>>2]=0,x7=YE;break}}else if(F1=fi|8,R0=F1+ve|0,xd=$6+R0|0,Da=e[xd>>2]|0,Ld=Da>>>0>>0,Ld&&Q2(),_a=Da+12|0,xa=e[_a>>2]|0,Dc=(xa|0)==(di|0),Dc||Q2(),_c=En+8|0,Fd=e[_c>>2]|0,xc=(Fd|0)==(di|0),xc){e[_a>>2]=En,e[_c>>2]=Da,x7=En;break}else Q2();while(!1);if(Pc=(Es|0)==0,Pc)break;w1=ve+28|0,M0=w1+fi|0,La=$6+M0|0,Oc=e[La>>2]|0,Yc=553352+(Oc<<2)|0,Od=e[Yc>>2]|0,qd=(di|0)==(Od|0);do if(qd){if(e[Yc>>2]=x7,ZE=(x7|0)==0,!ZE)break;Hd=1<>>0>>0,zd&&Q2(),Jc=Es+16|0,Zd=e[Jc>>2]|0,Wd=(Zd|0)==(di|0),Wd?e[Jc>>2]=x7:(jd=Es+20|0,e[jd>>2]=x7),Vc=(x7|0)==0,Vc)break i;while(!1);Kc=e[138266]|0,Xd=x7>>>0>>0,Xd&&Q2(),zc=x7+24|0,e[zc>>2]=Es,S1=fi|16,N0=S1+ve|0,Fa=$6+N0|0,jo=e[Fa>>2]|0,Zc=(jo|0)==0;do if(!Zc)if(tI=jo>>>0>>0,tI)Q2();else{iI=x7+16|0,e[iI>>2]=jo,rI=jo+24|0,e[rI>>2]=x7;break}while(!1);if(H0=o1+S1|0,Wc=$6+H0|0,Xo=e[Wc>>2]|0,nI=(Xo|0)==0,nI)break;if(sI=e[138266]|0,oI=Xo>>>0>>0,oI)Q2();else{AI=x7+20|0,e[AI>>2]=Xo,aI=Xo+24|0,e[aI>>2]=x7;break}}while(!1);s2=Bc|fi,L0=s2+ve|0,lI=$6+L0|0,cI=Bc+fs|0,Xg=lI,ti=cI}else Xg=di,ti=fs;if(jc=Xg+4|0,gI=e[jc>>2]|0,hI=gI&-2,e[jc>>2]=hI,uI=ti|1,k0=i0+4|0,fI=$6+k0|0,e[fI>>2]=uI,B0=ti+i0|0,eA=$6+B0|0,e[eA>>2]=ti,Xc=ti>>>3,dI=ti>>>0<256,dI){mn=Xc<<1,eg=553088+(mn<<2)|0,tg=e[138262]|0,Ma=1<>2]|0,CI=e[138266]|0,pI=ng>>>0>>0,!pI){F=rg,ja=ng;break}Q2()}while(!1);e[F>>2]=X7,QI=ja+12|0,e[QI>>2]=X7,B1=i0+8|0,yI=$6+B1|0,e[yI>>2]=ja,p1=i0+12|0,tA=$6+p1|0,e[tA>>2]=eg;break}Ta=ti>>>8,wI=(Ta|0)==0;do if(wI)xr=0;else{if(kI=ti>>>0>16777215,kI){xr=31;break}vI=Ta+1048320|0,SI=vI>>>16,sg=SI&8,og=Ta<>>16,Ag=_I&4,br=Ag|sg,ag=og<>>16,lg=xI&2,iA=br|lg,RI=14-iA|0,FI=ag<>>15,cg=RI+rA|0,MI=cg<<1,TI=cg+7|0,gg=ti>>>TI,NI=gg&1,GI=NI|MI,xr=GI}while(!1);if(Na=553352+(xr<<2)|0,y0=i0+28|0,UI=$6+y0|0,e[UI>>2]=xr,K0=i0+16|0,PI=$6+K0|0,G0=i0+20|0,OI=$6+G0|0,e[OI>>2]=0,e[PI>>2]=0,hg=e[138263]|0,ug=1<>2]=X7,r1=i0+24|0,ms=$6+r1|0,e[ms>>2]=Na,e1=i0+12|0,YI=$6+e1|0,e[YI>>2]=X7,i1=i0+8|0,JI=$6+i1|0,e[JI>>2]=X7;break}Ga=e[Na>>2]|0,Ig=Ga+4|0,VI=e[Ig>>2]|0,KI=VI&-8,zI=(KI|0)==(ti|0);i:do if(zI)Lr=Ga;else{for(ZI=(xr|0)==31,Eg=xr>>>1,WI=25-Eg|0,jI=ZI?0:WI,XI=ti<>>31,Qg=(n$+16|0)+(pg<<2)|0,Cs=e[Qg>>2]|0,vi=(Cs|0)==0,vi){A=Qg,KE=n$;break}if(eE=ks<<1,tE=Cs+4|0,Cg=e[tE>>2]|0,Bg=Cg&-8,iE=(Bg|0)==(ti|0),iE){Lr=Cs;break i}else ks=eE,n$=Cs}if(sr=e[138266]|0,rE=A>>>0>>0,rE)Q2();else{e[A>>2]=X7,m1=i0+24|0,nE=$6+m1|0,e[nE>>2]=KE,d1=i0+12|0,sE=$6+d1|0,e[sE>>2]=X7,E1=i0+8|0,oE=$6+E1|0,e[oE>>2]=X7;break t}}while(!1);if(Ua=Lr+8|0,oA=e[Ua>>2]|0,wg=e[138266]|0,kg=oA>>>0>=wg>>>0,o$=Lr>>>0>=wg>>>0,AE=kg&o$,AE){Bs=oA+12|0,e[Bs>>2]=X7,e[Ua>>2]=X7,z0=i0+8|0,aE=$6+z0|0,e[aE>>2]=oA,I1=i0+12|0,aA=$6+I1|0,e[aA>>2]=Lr,h1=i0+24|0,Pa=$6+h1|0,e[Pa>>2]=0;break}else Q2()}while(!1);return $1=Zo|8,$E=$6+$1|0,Ke=$E,Ke|0}else _s=553496;for(;;){if(Oa=e[_s>>2]|0,lE=Oa>>>0>P9>>>0,!lE&&(cE=_s+4|0,vg=e[cE>>2]|0,$A=Oa+vg|0,gE=$A>>>0>P9>>>0,gE)){c=Oa,u=vg,E=$A;break}hE=_s+8|0,uE=e[hE>>2]|0,_s=uE}if(a0=u+-47|0,l0=u+-39|0,fE=c+l0|0,bg=fE,dE=bg&7,jt=(dE|0)==0,y4=0-bg|0,ei=y4&7,IE=jt?0:ei,a1=a0+IE|0,_g=c+a1|0,qa=P9+16|0,EE=_g>>>0>>0,Dr=EE?P9:_g,ps=Dr+8|0,mE=ve+-40|0,CE=$6+8|0,xg=CE,Ha=xg&7,BE=(Ha|0)==0,Rg=0-xg|0,Fg=Rg&7,Ya=BE?0:Fg,Ja=$6+Ya|0,Mg=mE-Ya|0,e[138268]=Ja,e[138265]=Mg,Qs=Mg|1,Z=Ya+4|0,Va=$6+Z|0,e[Va>>2]=Qs,s1=ve+-36|0,Tg=$6+s1|0,e[Tg>>2]=40,pE=e[138384]|0,e[138269]=pE,Cn=Dr+4|0,e[Cn>>2]=27,e[ps>>2]=e[138374]|0,e[ps+4>>2]=e[138375]|0,e[ps+8>>2]=e[138376]|0,e[ps+12>>2]=e[138377]|0,e[138374]=$6,e[138375]=ve,e[138377]=0,e[138376]=ps,Ng=Dr+28|0,e[Ng>>2]=7,lA=Dr+32|0,yE=lA>>>0>>0,yE)for(Si=Ng;Gg=Si+4|0,e[Gg>>2]=7,wE=Si+8|0,kE=wE>>>0>>0,kE;)Si=Gg;if(vE=(Dr|0)==(P9|0),!vE){if(SE=Dr,bE=P9,bi=SE-bE|0,_E=e[Cn>>2]|0,xE=_E&-2,e[Cn>>2]=xE,LE=bi|1,Ug=P9+4|0,e[Ug>>2]=LE,e[Dr>>2]=bi,Ii=bi>>>3,cA=bi>>>0<256,cA){Ka=Ii<<1,Pg=553088+(Ka<<2)|0,Og=e[138262]|0,qg=1<>2]|0,TE=e[138266]|0,NE=Jg>>>0>>0,NE?Q2():(L=Yg,Za=Jg)),e[L>>2]=P9,Vg=Za+12|0,e[Vg>>2]=P9,GE=P9+8|0,e[GE>>2]=Za,gA=P9+12|0,e[gA>>2]=Pg;break}if(hA=bi>>>8,UE=(hA|0)==0,UE?or=0:(za=bi>>>0>16777215,za?or=31:(PE=hA+1048320|0,OE=PE>>>16,Kg=OE&8,ws=hA<>>16,$2=HE&4,i2=$2|Kg,A2=ws<<$2,X1=A2+245760|0,n2=X1>>>16,f2=n2&2,e2=i2|f2,y2=14-e2|0,v2=A2<>>15,F2=y2+w2|0,D2=F2<<1,N2=F2+7|0,d2=bi>>>N2,K2=d2&1,G2=K2|D2,or=G2)),H2=553352+(or<<2)|0,M2=P9+28|0,e[M2>>2]=or,P2=P9+20|0,e[P2>>2]=0,e[qa>>2]=0,z2=e[138263]|0,O2=1<>2]=P9,e5=P9+24|0,e[e5>>2]=H2,b5=P9+12|0,e[b5>>2]=P9,Z2=P9+8|0,e[Z2>>2]=P9;break}f5=e[H2>>2]|0,v5=f5+4|0,P5=e[v5>>2]|0,k2=P5&-8,m5=(k2|0)==(bi|0);t:do if(m5)EA=f5;else{for(n5=(or|0)==31,x2=or>>>1,_2=25-x2|0,B2=n5?0:_2,C5=bi<>>31,c5=(s$+16|0)+(A5<<2)|0,D5=e[c5>>2]|0,B5=(D5|0)==0,B5){a=c5,Wg=s$;break}if(R5=t$<<1,d5=D5+4|0,_5=e[d5>>2]|0,q2=_5&-8,I5=(q2|0)==(bi|0),I5){EA=D5;break t}else t$=R5,s$=D5}if(M1=e[138266]|0,S5=a>>>0>>0,S5)Q2();else{e[a>>2]=P9,g5=P9+24|0,e[g5>>2]=Wg,a5=P9+12|0,e[a5>>2]=P9,g2=P9+8|0,e[g2>>2]=P9;break e}}while(!1);if(p5=EA+8|0,t5=e[p5>>2]|0,s5=e[138266]|0,h5=t5>>>0>=s5>>>0,jE=EA>>>0>=s5>>>0,J2=h5&jE,J2){u5=t5+12|0,e[u5>>2]=P9,e[p5>>2]=P9,i5=P9+8|0,e[i5>>2]=t5,x5=P9+12|0,e[x5>>2]=EA,j2=P9+24|0,e[j2>>2]=0;break}else Q2()}}while(!1);if(L2=e[138265]|0,Q5=L2>>>0>v4>>>0,Q5)return q5=L2-v4|0,e[138265]=q5,j5=e[138268]|0,E5=j5+v4|0,e[138268]=E5,f3=q5|1,V=v4+4|0,h3=j5+V|0,e[h3>>2]=f3,J5=v4|3,X5=j5+4|0,e[X5>>2]=J5,n3=j5+8|0,Ke=n3,Ke|0}return F5=jp()|0,e[F5>>2]=12,Ke=0,Ke|0}function I2(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,L1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,k3=0,u3=0,p3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,X3=0,c6=0,p6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,L6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,L4=0,T4=0,j4=0,C4=0,N4=0,U9=0,G4=0,a4=0,R4=0,u4=0,Ce=0,q9=0,m9=0,Be=0,Ne=0,Xe=0,U4=0,Ge=0,P4=0,X4=0,be=0,e8=0,Z9=0,$e=0,f4=0,_6=0,O4=0,R9=0,$4=0,_4=0,le=0,W9=0,ce=0,ge=0,B4=0,ee=0,F4=0,he=0,C9=0,g6=0,Ue=0,l4=0,pe=0,p4=0,c4=0,P6=0,De=0,_e=0,t8=0,g4=0,k4=0,u8=0,J3=0,w9=0,B9=0,M4=0,te=0,$t=0,xe=0;if(xe=C,X=(t|0)==0,!X){U=t+-8|0,K2=e[138266]|0,C6=U>>>0>>0,C6&&Q2(),y6=t+-4|0,$9=e[y6>>2]|0,z9=$9&3,L4=(z9|0)==1,L4&&Q2(),q9=$9&-8,p=q9+-8|0,Z9=t+p|0,$0=$9&1,j=($0|0)==0;do if(j){if(S0=e[U>>2]|0,D0=(z9|0)==0,D0)return;if(Q=-8-S0|0,b0=t+Q|0,z0=S0+q9|0,w1=b0>>>0>>0,w1&&Q2(),O1=e[138267]|0,s2=(b0|0)==(O1|0),s2){if(z=q9+-4|0,s0=t+z|0,i0=e[s0>>2]|0,r0=i0&3,V=(r0|0)==3,!V){J3=b0,w9=z0;break}e[138264]=z0,h0=i0&-2,e[s0>>2]=h0,o0=z0|1,_=Q+4|0,c0=t+_|0,e[c0>>2]=o0,e[Z9>>2]=z0;return}if(n2=S0>>>3,G2=S0>>>0<256,G2){if(Y=Q+8|0,b5=t+Y|0,B2=e[b5>>2]|0,t0=Q+12|0,B5=t+t0|0,J2=e[B5>>2]|0,f3=n2<<1,z3=553088+(f3<<2)|0,C3=(B2|0)==(z3|0),C3||(u6=B2>>>0>>0,u6&&Q2(),l6=B2+12|0,b3=e[l6>>2]|0,O6=(b3|0)==(b0|0),O6||Q2()),J6=(J2|0)==(B2|0),J6){G6=1<>>0>>0,D6&&Q2(),z6=J2+8|0,F6=e[z6>>2]|0,M3=(F6|0)==(b0|0),M3?c=z6:Q2()),M6=B2+12|0,e[M6>>2]=J2,e[c>>2]=B2,J3=b0,w9=z0;break}R=Q+24|0,t9=t+R|0,A9=e[t9>>2]|0,L=Q+12|0,X6=t+L|0,u9=e[X6>>2]|0,f9=(u9|0)==(b0|0);do if(f9){if(M=Q+20|0,o4=t+M|0,h4=e[o4>>2]|0,G9=(h4|0)==0,G9)if(F=Q+16|0,b9=t+F|0,E9=e[b9>>2]|0,q6=(E9|0)==0,q6){C9=0;break}else F4=E9,pe=b9;else F4=h4,pe=o4;for(;;){if(r9=F4+20|0,m4=e[r9>>2]|0,S4=(m4|0)==0,!S4){F4=m4,pe=r9;continue}if(A4=F4+16|0,y9=e[A4>>2]|0,b4=(y9|0)==0,b4){he=F4,p4=pe;break}else F4=y9,pe=A4}if(D4=p4>>>0>>0,D4)Q2();else{e[p4>>2]=0,C9=he;break}}else if(O=Q+8|0,d9=t+O|0,a9=e[d9>>2]|0,T9=a9>>>0>>0,T9&&Q2(),E6=a9+12|0,T6=e[E6>>2]|0,i9=(T6|0)==(b0|0),i9||Q2(),N9=u9+8|0,I9=e[N9>>2]|0,E4=(I9|0)==(b0|0),E4){e[E6>>2]=u9,e[N9>>2]=a9,C9=u9;break}else Q2();while(!1);if(T4=(A9|0)==0,T4)J3=b0,w9=z0;else{if(T=Q+28|0,j4=t+T|0,C4=e[j4>>2]|0,N4=553352+(C4<<2)|0,U9=e[N4>>2]|0,G4=(b0|0)==(U9|0),G4){if(e[N4>>2]=C9,g4=(C9|0)==0,g4){a4=1<>>0>>0,Be&&Q2(),Ne=A9+16|0,Xe=e[Ne>>2]|0,U4=(Xe|0)==(b0|0),U4?e[Ne>>2]=C9:(Ge=A9+20|0,e[Ge>>2]=C9),P4=(C9|0)==0,P4){J3=b0,w9=z0;break}X4=e[138266]|0,be=C9>>>0>>0,be&&Q2(),e8=C9+24|0,e[e8>>2]=A9,N=Q+16|0,$e=t+N|0,f4=e[$e>>2]|0,_6=(f4|0)==0;do if(!_6)if(O4=f4>>>0>>0,O4)Q2();else{R9=C9+16|0,e[R9>>2]=f4,$4=f4+24|0,e[$4>>2]=C9;break}while(!1);if(G=Q+20|0,_4=t+G|0,le=e[_4>>2]|0,W9=(le|0)==0,W9)J3=b0,w9=z0;else if(ce=e[138266]|0,Z=le>>>0>>0,Z)Q2();else{K=C9+20|0,e[K>>2]=le,a0=le+24|0,e[a0>>2]=C9,J3=b0,w9=z0;break}}}else J3=U,w9=q9;while(!1);if(l0=J3>>>0>>0,l0||Q2(),D=q9+-4|0,u0=t+D|0,d0=e[u0>>2]|0,w0=d0&1,C0=(w0|0)==0,C0&&Q2(),k0=d0&2,f0=(k0|0)==0,f0){if(B0=e[138268]|0,p0=(Z9|0)==(B0|0),p0){if(I0=e[138265]|0,V0=I0+w9|0,e[138265]=V0,e[138268]=J3,_0=V0|1,Q0=J3+4|0,e[Q0>>2]=_0,R0=e[138267]|0,M0=(J3|0)==(R0|0),!M0)return;e[138267]=0,e[138264]=0;return}if(N0=e[138267]|0,U0=(Z9|0)==(N0|0),U0){y0=e[138264]|0,H0=y0+w9|0,e[138264]=H0,e[138267]=J3,L0=H0|1,T0=J3+4|0,e[T0>>2]=L0,J0=J3+H0|0,e[J0>>2]=H0;return}Y0=d0&-8,P0=Y0+w9|0,K0=d0>>>3,G0=d0>>>0<256;do if(G0){if(O0=t+q9|0,r1=e[O0>>2]|0,y=q9|4,q0=t+y|0,e1=e[q0>>2]|0,i1=K0<<1,c1=553088+(i1<<2)|0,$1=(r1|0)==(c1|0),$1||(u1=e[138266]|0,g1=r1>>>0>>0,g1&&Q2(),l1=r1+12|0,s1=e[l1>>2]|0,a1=(s1|0)==(Z9|0),a1||Q2()),n1=(e1|0)==(r1|0),n1){o1=1<>>0>>0,B1&&Q2(),p1=e1+8|0,Q1=e[p1>>2]|0,x1=(Q1|0)==(Z9|0),x1?a=p1:Q2()),L1=r1+12|0,e[L1>>2]=e1,e[a>>2]=r1}else{J=q9+16|0,S1=t+J|0,R1=e[S1>>2]|0,W=q9|4,F1=t+W|0,G1=e[F1>>2]|0,k1=(G1|0)==(Z9|0);do if(k1){if(q=q9+12|0,W1=t+q|0,P1=e[W1>>2]|0,c2=(P1|0)==0,c2)if(e0=q9+8|0,z1=t+e0|0,u2=e[z1>>2]|0,E2=(u2|0)==0,E2){l4=0;break}else g6=u2,c4=z1;else g6=P1,c4=W1;for(;;){if(o2=g6+20|0,K1=e[o2>>2]|0,h2=(K1|0)==0,!h2){g6=K1,c4=o2;continue}if(a2=g6+16|0,t2=e[a2>>2]|0,$2=(t2|0)==0,$2){Ue=g6,P6=c4;break}else g6=t2,c4=a2}if(i2=e[138266]|0,A2=P6>>>0>>0,A2)Q2();else{e[P6>>2]=0,l4=Ue;break}}else if(U1=t+q9|0,Z1=e[U1>>2]|0,N1=e[138266]|0,D1=Z1>>>0>>0,D1&&Q2(),V1=Z1+12|0,q1=e[V1>>2]|0,H1=(q1|0)==(Z9|0),H1||Q2(),Y1=G1+8|0,j1=e[Y1>>2]|0,r2=(j1|0)==(Z9|0),r2){e[V1>>2]=G1,e[Y1>>2]=Z1,l4=G1;break}else Q2();while(!1);if(X1=(R1|0)==0,!X1){if(v=q9+20|0,f2=t+v|0,e2=e[f2>>2]|0,y2=553352+(e2<<2)|0,v2=e[y2>>2]|0,w2=(Z9|0)==(v2|0),w2){if(e[y2>>2]=l4,k4=(l4|0)==0,k4){C2=1<>>0>>0,H2&&Q2(),M2=R1+16|0,P2=e[M2>>2]|0,z2=(P2|0)==(Z9|0),z2?e[M2>>2]=l4:(o5=R1+20|0,e[o5>>2]=l4),O2=(l4|0)==0,O2)break;T1=e[138266]|0,X2=l4>>>0>>0,X2&&Q2(),L5=l4+24|0,e[L5>>2]=R1,b=q9+8|0,e5=t+b|0,Z2=e[e5>>2]|0,f5=(Z2|0)==0;do if(!f5)if(v5=Z2>>>0>>0,v5)Q2();else{P5=l4+16|0,e[P5>>2]=Z2,l5=Z2+24|0,e[l5>>2]=l4;break}while(!1);if(w=q9+12|0,k2=t+w|0,m5=e[k2>>2]|0,n5=(m5|0)==0,!n5)if(x2=e[138266]|0,_2=m5>>>0>>0,_2)Q2();else{C5=l4+20|0,e[C5>>2]=m5,R5=m5+24|0,e[R5>>2]=l4;break}}}while(!1);if(d5=P0|1,D5=J3+4|0,e[D5>>2]=d5,G5=J3+P0|0,e[G5>>2]=P0,_5=e[138267]|0,q2=(J3|0)==(_5|0),q2){e[138264]=P0;return}else B9=P0}else I5=d0&-2,e[u0>>2]=I5,A5=w9|1,c5=J3+4|0,e[c5>>2]=A5,M1=J3+w9|0,e[M1>>2]=w9,B9=w9;if(S5=B9>>>3,g5=B9>>>0<256,g5){a5=S5<<1,W2=553088+(a5<<2)|0,g2=e[138262]|0,p5=1<>2]|0,x5=e[138266]|0,j2=i5>>>0>>0,j2?Q2():(u=u5,ge=i5)),e[u>>2]=J3,$5=ge+12|0,e[$5>>2]=J3,L2=J3+8|0,e[L2>>2]=ge,Q5=J3+12|0,e[Q5>>2]=W2;return}q5=B9>>>8,j5=(q5|0)==0,j5?B4=0:(E5=B9>>>0>16777215,E5?B4=31:(h3=q5+1048320|0,J5=h3>>>16,X5=J5&8,n3=q5<>>16,V5=F5&4,k3=V5|X5,u3=n3<>>16,z5=G3&2,w3=k3|z5,W5=14-w3|0,i6=u3<>>15,U3=W5+L3|0,a3=U3<<1,l3=U3+7|0,c3=B9>>>l3,H5=c3&1,U5=H5|a3,B4=U5)),O5=553352+(B4<<2)|0,k5=J3+28|0,e[k5>>2]=B4,P3=J3+16|0,M5=J3+20|0,e[M5>>2]=0,e[P3>>2]=0,o6=e[138263]|0,e3=1<>2]=J3,v3=J3+24|0,e[v3>>2]=O5,y3=J3+12|0,e[y3>>2]=J3,r6=J3+8|0,e[r6>>2]=J3;else{j3=e[O5>>2]|0,O3=j3+4|0,K5=e[O3>>2]|0,S3=K5&-8,g3=(S3|0)==(B9|0);t:do if(g3)De=j3;else{for(q3=(B4|0)==31,d3=B4>>>1,k6=25-d3|0,v6=q3?0:k6,S6=B9<>>31,t6=(_e+16|0)+(e6<<2)|0,c6=e[t6>>2]|0,f6=(c6|0)==0,f6){n=t6,t8=_e;break}if(B6=ee<<1,X3=c6+4|0,p6=e[X3>>2]|0,x6=p6&-8,Y6=(x6|0)==(B9|0),Y6){De=c6;break t}else ee=B6,_e=c6}if(H3=e[138266]|0,D3=n>>>0

>>0,D3)Q2();else{e[n>>2]=J3,Y3=J3+24|0,e[Y3>>2]=t8,Z3=J3+12|0,e[Z3>>2]=J3,b6=J3+8|0,e[b6>>2]=J3;break e}}while(!1);if(A6=De+8|0,t3=e[A6>>2]|0,s3=e[138266]|0,a6=t3>>>0>=s3>>>0,u8=De>>>0>=s3>>>0,d6=a6&u8,d6){_3=t3+12|0,e[_3>>2]=J3,e[A6>>2]=J3,N6=J3+8|0,e[N6>>2]=t3,n6=J3+12|0,e[n6>>2]=De,Q6=J3+24|0,e[Q6>>2]=0;break}else Q2()}while(!1);if(L6=e[138270]|0,K6=L6+-1|0,e[138270]=K6,I6=(K6|0)==0,I6)te=553504;else return;for(;M4=e[te>>2]|0,F3=(M4|0)==0,j6=M4+8|0,!F3;)te=j6;e[138270]=-1}}function n4(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0;return _=C,a=(t|0)==0,a?D=0:(c=r5(n,t)|0,I=n|t,m=I>>>0>65535,m?(p=(c>>>0)/(t>>>0)&-1,B=(p|0)==(n|0),A=B?c:-1,D=A):D=c),v=S9(D)|0,b=(v|0)==0,b||(w=v+-4|0,y=e[w>>2]|0,u=y&3,E=(u|0)==0,E)||ae(v|0,0,D|0)|0,v|0}function qi(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0;return Y=C,A=(t|0)==0,A?(a=S9(n)|0,O=a,O|0):(y=n>>>0>4294967231,y?(R=jp()|0,e[R>>2]=12,O=0,O|0):(L=n>>>0<11,F=n+11|0,M=F&-8,T=L?16:M,N=t+-8|0,G=pb(N,T)|0,c=(G|0)==0,c?(E=S9(n)|0,I=(E|0)==0,I?(O=0,O|0):(m=t+-4|0,p=e[m>>2]|0,B=p&-8,v=p&3,b=(v|0)==0,w=b?8:4,D=B-w|0,Q=D>>>0>>0,_=Q?D:n,s4(E|0,t|0,_|0)|0,I2(t),O=E,O|0)):(u=G+8|0,O=u,O|0)))}function pb(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,L1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0;if(V5=C,N=t+4|0,G=e[N>>2]|0,k1=G&-8,r2=t+k1|0,a2=e[138266]|0,w2=G&3,f3=t>>>0>=a2>>>0,h3=(w2|0)!=1,J5=h3&f3,z2=t>>>0>>0,X5=J5&z2,X5||Q2(),_=k1|4,P5=t+_|0,D5=e[P5>>2]|0,a5=D5&1,O=(a5|0)==0,O&&Q2(),Z=(w2|0)==0,Z)return l0=n>>>0<256,l0?(E5=0,E5|0):(V0=n+4|0,T0=k1>>>0>>0,!T0&&(i1=k1-n|0,I1=e[138382]|0,S1=I1<<1,F1=i1>>>0>S1>>>0,!F1)?(E5=t,E5|0):(E5=0,E5|0));if(G1=k1>>>0>>0,!G1)return U1=k1-n|0,Z1=U1>>>0>15,Z1?(N1=t+n|0,D1=G&1,V1=D1|n,O1=V1|2,e[N>>2]=O1,Q=n+4|0,q1=t+Q|0,H1=U1|3,e[q1>>2]=H1,Y1=e[P5>>2]|0,j1=Y1|1,e[P5>>2]=j1,bQ(N1,U1),E5=t,E5|0):(E5=t,E5|0);if(W1=e[138268]|0,P1=(r2|0)==(W1|0),P1)return c2=e[138265]|0,z1=c2+k1|0,u2=z1>>>0>n>>>0,u2?(s2=z1-n|0,E2=t+n|0,o2=G&1,K1=o2|n,h2=K1|2,e[N>>2]=h2,D=n+4|0,t2=t+D|0,$2=s2|1,e[t2>>2]=$2,e[138268]=E2,e[138265]=s2,E5=t,E5|0):(E5=0,E5|0);if(i2=e[138267]|0,A2=(r2|0)==(i2|0),A2)return X1=e[138264]|0,n2=X1+k1|0,f2=n2>>>0>>0,f2?(E5=0,E5|0):(e2=n2-n|0,y2=e2>>>0>15,y2?(v2=t+n|0,C2=t+n2|0,F2=G&1,D2=F2|n,N2=D2|2,e[N>>2]=N2,b=n+4|0,d2=t+b|0,K2=e2|1,e[d2>>2]=K2,e[C2>>2]=e2,y=n2+4|0,G2=t+y|0,H2=e[G2>>2]|0,M2=H2&-2,e[G2>>2]=M2,n3=v2,m3=e2):(P2=G&1,o5=P2|n2,O2=o5|2,e[N>>2]=O2,v=n2+4|0,T1=t+v|0,X2=e[T1>>2]|0,L5=X2|1,e[T1>>2]=L5,n3=0,m3=0),e[138264]=m3,e[138267]=n3,E5=t,E5|0);if(e5=D5&2,b5=(e5|0)==0,!b5||(Z2=D5&-8,f5=Z2+k1|0,v5=f5>>>0>>0,v5))return E5=0,E5|0;l5=f5-n|0,k2=D5>>>3,m5=D5>>>0<256;do if(m5){if(p=k1+8|0,n5=t+p|0,x2=e[n5>>2]|0,B=k1+12|0,_2=t+B|0,B2=e[_2>>2]|0,C5=k2<<1,R5=553088+(C5<<2)|0,d5=(x2|0)==(R5|0),d5||(G5=x2>>>0>>0,G5&&Q2(),_5=x2+12|0,q2=e[_5>>2]|0,I5=(q2|0)==(r2|0),I5||Q2()),A5=(B2|0)==(x2|0),A5){c5=1<>>0>>0,W2&&Q2(),g2=B2+8|0,p5=e[g2>>2]|0,t5=(p5|0)==(r2|0),t5?a=g2:Q2()),s5=x2+12|0,e[s5>>2]=B2,e[a>>2]=x2}else{c=k1+24|0,h5=t+c|0,J2=e[h5>>2]|0,w=k1+12|0,u5=t+w|0,i5=e[u5>>2]|0,x5=(i5|0)==(r2|0);do if(x5){if(L=k1+20|0,$0=t+L|0,K=e[$0>>2]|0,a0=(K|0)==0,a0)if(R=k1+16|0,s0=t+R|0,i0=e[s0>>2]|0,r0=(i0|0)==0,r0){L2=0;break}else j2=i0,Q5=s0;else j2=K,Q5=$0;for(;;){if(V=j2+20|0,h0=e[V>>2]|0,o0=(h0|0)==0,!o0){j2=h0,Q5=V;continue}if(c0=j2+16|0,j=e[c0>>2]|0,u0=(j|0)==0,u0){$5=j2,q5=Q5;break}else j2=j,Q5=c0}if(d0=q5>>>0>>0,d0)Q2();else{e[q5>>2]=0,L2=$5;break}}else if(m=k1+8|0,z=t+m|0,Y=e[z>>2]|0,t0=Y>>>0>>0,t0&&Q2(),J=Y+12|0,W=e[J>>2]|0,e0=(W|0)==(r2|0),e0||Q2(),q=i5+8|0,X=e[q>>2]|0,U=(X|0)==(r2|0),U){e[J>>2]=i5,e[q>>2]=Y,L2=i5;break}else Q2();while(!1);if(w0=(J2|0)==0,!w0){if(u=k1+28|0,C0=t+u|0,k0=e[C0>>2]|0,f0=553352+(k0<<2)|0,B0=e[f0>>2]|0,p0=(r2|0)==(B0|0),p0){if(e[f0>>2]=L2,j5=(L2|0)==0,j5){I0=1<>>0>>0,M0&&Q2(),N0=J2+16|0,U0=e[N0>>2]|0,y0=(U0|0)==(r2|0),y0?e[N0>>2]=L2:(H0=J2+20|0,e[H0>>2]=L2),L0=(L2|0)==0,L0)break;D0=e[138266]|0,J0=L2>>>0>>0,J0&&Q2(),Y0=L2+24|0,e[Y0>>2]=J2,E=k1+16|0,P0=t+E|0,K0=e[P0>>2]|0,G0=(K0|0)==0;do if(!G0)if(O0=K0>>>0>>0,O0)Q2();else{r1=L2+16|0,e[r1>>2]=K0,q0=K0+24|0,e[q0>>2]=L2;break}while(!1);if(I=k1+20|0,e1=t+I|0,b0=e[e1>>2]|0,c1=(b0|0)==0,!c1)if($1=e[138266]|0,u1=b0>>>0<$1>>>0,u1)Q2();else{g1=L2+20|0,e[g1>>2]=b0,l1=b0+24|0,e[l1>>2]=L2;break}}}while(!1);return s1=l5>>>0<16,s1?(a1=G&1,n1=f5|a1,o1=n1|2,e[N>>2]=o1,T=f5|4,z0=t+T|0,h1=e[z0>>2]|0,m1=h1|1,e[z0>>2]=m1,E5=t,E5|0):(d1=t+n|0,E1=G&1,B1=E1|n,p1=B1|2,e[N>>2]=p1,F=n+4|0,Q1=t+F|0,x1=l5|3,e[Q1>>2]=x1,M=f5|4,L1=t+M|0,w1=e[L1>>2]|0,R1=w1|1,e[L1>>2]=R1,bQ(d1,l5),E5=t,E5|0)}function bQ(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,L1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,L5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,R5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,L2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,J5=0,X5=0,n3=0,m3=0,F5=0,V5=0,k3=0,u3=0,p3=0,z3=0,G3=0,z5=0,w3=0,W5=0,i6=0,L3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,R3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,K5=0,S3=0,g3=0,q3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,X3=0,c6=0,p6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,L6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,R6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,L4=0,T4=0,j4=0,C4=0,N4=0,U9=0,G4=0,a4=0,R4=0,u4=0,Ce=0,q9=0,m9=0,Be=0,Ne=0,Xe=0,U4=0,Ge=0,P4=0,X4=0,be=0,e8=0,Z9=0,$e=0,f4=0,_6=0,O4=0,R9=0,$4=0,_4=0,le=0,W9=0,ce=0,ge=0,B4=0,ee=0,F4=0,he=0,C9=0,g6=0,Ue=0,l4=0,pe=0,p4=0;p4=C,K=t+n|0,a0=t+4|0,P2=e[a0>>2]|0,f6=P2&1,J6=(f6|0)==0;do if(J6){if(F6=e[t>>2]|0,T9=P2&3,b9=(T9|0)==0,b9)return;if(T4=0-F6|0,m9=t+T4|0,s0=F6+n|0,w0=e[138266]|0,R0=m9>>>0>>0,R0&&Q2(),P0=e[138267]|0,u1=(m9|0)==(P0|0),u1){if(w=n+4|0,Z9=t+w|0,i0=e[Z9>>2]|0,r0=i0&3,V=(r0|0)==3,!V){A=m9,a=s0;break}e[138264]=s0,h0=i0&-2,e[Z9>>2]=h0,o0=s0|1,L=4-F6|0,c0=t+L|0,e[c0>>2]=o0,e[K>>2]=s0;return}if(d1=F6>>>3,G1=F6>>>0<256,G1){if(J=8-F6|0,j1=t+J|0,h2=e[j1>>2]|0,W=12-F6|0,v2=t+W|0,z2=e[v2>>2]|0,P5=d1<<1,D5=553088+(P5<<2)|0,a5=(h2|0)==(D5|0),a5||(j2=h2>>>0>>0,j2&&Q2(),n3=h2+12|0,W5=e[n3>>2]|0,k5=(W5|0)==(m9|0),k5||Q2()),r6=(z2|0)==(h2|0),r6){S6=1<>>0>>0,N6&&Q2(),n6=z2+8|0,Q6=e[n6>>2]|0,L6=(Q6|0)==(m9|0),L6?m=n6:Q2()),K6=h2+12|0,e[K6>>2]=z2,e[m>>2]=h2,A=m9,a=s0;break}F=24-F6|0,I6=t+F|0,F3=e[I6>>2]|0,M=12-F6|0,j6=t+M|0,G6=e[j6>>2]|0,e9=(G6|0)==(m9|0);do if(e9){if(T=16-F6|0,N=T+4|0,A9=t+N|0,X6=e[A9>>2]|0,u9=(X6|0)==0,u9)if(f9=t+T|0,d9=e[f9>>2]|0,a9=(d9|0)==0,a9){$4=0;break}else O4=d9,ce=f9;else O4=X6,ce=A9;for(;;){if($9=O4+20|0,E6=e[$9>>2]|0,T6=(E6|0)==0,!T6){O4=E6,ce=$9;continue}if(i9=O4+16|0,N9=e[i9>>2]|0,I9=(N9|0)==0,I9){R9=O4,ge=ce;break}else O4=N9,ce=i9}if(E4=ge>>>0>>0,E4)Q2();else{e[ge>>2]=0,$4=R9;break}}else if(t0=8-F6|0,s9=t+t0|0,R6=e[s9>>2]|0,U6=R6>>>0>>0,U6&&Q2(),D6=R6+12|0,z6=e[D6>>2]|0,y6=(z6|0)==(m9|0),y6||Q2(),M3=G6+8|0,M6=e[M3>>2]|0,t9=(M6|0)==(m9|0),t9){e[D6>>2]=G6,e[M3>>2]=R6,$4=G6;break}else Q2();while(!1);if(o4=(F3|0)==0,o4)A=m9,a=s0;else{if(O=28-F6|0,h4=t+O|0,G9=e[h4>>2]|0,z9=553352+(G9<<2)|0,E9=e[z9>>2]|0,q6=(m9|0)==(E9|0),q6){if(e[z9>>2]=$4,g6=($4|0)==0,g6){r9=1<>>0>>0,b4&&Q2(),D4=F3+16|0,L4=e[D4>>2]|0,j4=(L4|0)==(m9|0),j4?e[D4>>2]=$4:(C4=F3+20|0,e[C4>>2]=$4),N4=($4|0)==0,N4){A=m9,a=s0;break}U9=e[138266]|0,G4=$4>>>0>>0,G4&&Q2(),a4=$4+24|0,e[a4>>2]=F3,z=16-F6|0,R4=t+z|0,u4=e[R4>>2]|0,Ce=(u4|0)==0;do if(!Ce)if(q9=u4>>>0>>0,q9)Q2();else{Be=$4+16|0,e[Be>>2]=u4,Ne=u4+24|0,e[Ne>>2]=$4;break}while(!1);if(Y=z+4|0,Xe=t+Y|0,U4=e[Xe>>2]|0,Ge=(U4|0)==0,Ge)A=m9,a=s0;else if(P4=e[138266]|0,X4=U4>>>0>>0,X4)Q2();else{be=$4+20|0,e[be>>2]=U4,e8=U4+24|0,e[e8>>2]=$4,A=m9,a=s0;break}}}else A=t,a=n;while(!1);if(j=e[138266]|0,l0=K>>>0>>0,l0&&Q2(),y=n+4|0,u0=t+y|0,d0=e[u0>>2]|0,C0=d0&2,k0=(C0|0)==0,k0){if(f0=e[138268]|0,B0=(K|0)==(f0|0),B0){if(p0=e[138265]|0,I0=p0+a|0,e[138265]=I0,e[138268]=A,S0=I0|1,V0=A+4|0,e[V0>>2]=S0,_0=e[138267]|0,Q0=(A|0)==(_0|0),!Q0)return;e[138267]=0,e[138264]=0;return}if(M0=e[138267]|0,N0=(K|0)==(M0|0),N0){U0=e[138264]|0,y0=U0+a|0,e[138264]=y0,e[138267]=A,H0=y0|1,L0=A+4|0,e[L0>>2]=H0,D0=A+y0|0,e[D0>>2]=y0;return}T0=d0&-8,J0=T0+a|0,Y0=d0>>>3,K0=d0>>>0<256;do if(K0){if(_=n+8|0,G0=t+_|0,O0=e[G0>>2]|0,R=n+12|0,r1=t+R|0,q0=e[r1>>2]|0,e1=Y0<<1,b0=553088+(e1<<2)|0,i1=(O0|0)==(b0|0),i1||(c1=O0>>>0>>0,c1&&Q2(),$1=O0+12|0,g1=e[$1>>2]|0,l1=(g1|0)==(K|0),l1||Q2()),s1=(q0|0)==(O0|0),s1){a1=1<>>0>>0,h1&&Q2(),m1=q0+8|0,E1=e[m1>>2]|0,B1=(E1|0)==(K|0),B1?I=m1:Q2()),p1=O0+12|0,e[p1>>2]=q0,e[I>>2]=O0}else{G=n+24|0,Q1=t+G|0,x1=e[Q1>>2]|0,e0=n+12|0,L1=t+e0|0,w1=e[L1>>2]|0,S1=(w1|0)==(K|0);do if(S1){if(X=n+20|0,q1=t+X|0,H1=e[q1>>2]|0,Y1=(H1|0)==0,Y1)if(q=n+16|0,r2=t+q|0,W1=e[r2>>2]|0,P1=(W1|0)==0,P1){W9=0;break}else _4=W1,B4=r2;else _4=H1,B4=q1;for(;;){if(c2=_4+20|0,z1=e[c2>>2]|0,u2=(z1|0)==0,!u2){_4=z1,B4=c2;continue}if(s2=_4+16|0,E2=e[s2>>2]|0,o2=(E2|0)==0,o2){le=_4,ee=B4;break}else _4=E2,B4=s2}if(K1=ee>>>0>>0,K1)Q2();else{e[ee>>2]=0,W9=le;break}}else if(Q=n+8|0,R1=t+Q|0,F1=e[R1>>2]|0,k1=F1>>>0>>0,k1&&Q2(),U1=F1+12|0,Z1=e[U1>>2]|0,N1=(Z1|0)==(K|0),N1||Q2(),D1=w1+8|0,V1=e[D1>>2]|0,O1=(V1|0)==(K|0),O1){e[U1>>2]=w1,e[D1>>2]=F1,W9=w1;break}else Q2();while(!1);if(a2=(x1|0)==0,!a2){if($0=n+28|0,t2=t+$0|0,$2=e[t2>>2]|0,i2=553352+($2<<2)|0,A2=e[i2>>2]|0,X1=(K|0)==(A2|0),X1){if(e[i2>>2]=W9,Ue=(W9|0)==0,Ue){n2=1<<$2,f2=n2^-1,e2=e[138263]|0,y2=e2&f2,e[138263]=y2;break}}else if(w2=e[138266]|0,C2=x1>>>0>>0,C2&&Q2(),F2=x1+16|0,D2=e[F2>>2]|0,N2=(D2|0)==(K|0),N2?e[F2>>2]=W9:(d2=x1+20|0,e[d2>>2]=W9),K2=(W9|0)==0,K2)break;G2=e[138266]|0,H2=W9>>>0>>0,H2&&Q2(),M2=W9+24|0,e[M2>>2]=x1,Z=n+16|0,o5=t+Z|0,O2=e[o5>>2]|0,T1=(O2|0)==0;do if(!T1)if(X2=O2>>>0>>0,X2)Q2();else{L5=W9+16|0,e[L5>>2]=O2,e5=O2+24|0,e[e5>>2]=W9;break}while(!1);if(D=n+20|0,b5=t+D|0,Z2=e[b5>>2]|0,f5=(Z2|0)==0,!f5)if(v5=e[138266]|0,l5=Z2>>>0>>0,l5)Q2();else{k2=W9+20|0,e[k2>>2]=Z2,m5=Z2+24|0,e[m5>>2]=W9;break}}}while(!1);if(n5=J0|1,x2=A+4|0,e[x2>>2]=n5,_2=A+J0|0,e[_2>>2]=J0,B2=e[138267]|0,C5=(A|0)==(B2|0),C5){e[138264]=J0;return}else c=J0}else R5=d0&-2,e[u0>>2]=R5,d5=a|1,G5=A+4|0,e[G5>>2]=d5,_5=A+a|0,e[_5>>2]=a,c=a;if(q2=c>>>3,I5=c>>>0<256,I5){A5=q2<<1,c5=553088+(A5<<2)|0,B5=e[138262]|0,M1=1<>2]|0,t5=e[138266]|0,s5=p5>>>0>>0,s5?Q2():(p=g2,$e=p5)),e[p>>2]=A,h5=$e+12|0,e[h5>>2]=A,J2=A+8|0,e[J2>>2]=$e,u5=A+12|0,e[u5>>2]=c5;return}if(i5=c>>>8,x5=(i5|0)==0,x5?f4=0:($5=c>>>0>16777215,$5?f4=31:(L2=i5+1048320|0,Q5=L2>>>16,q5=Q5&8,j5=i5<>>16,h3=f3&4,J5=h3|q5,X5=j5<>>16,V5=F5&2,k3=J5|V5,u3=14-k3|0,p3=X5<>>15,G3=u3+z3|0,z5=G3<<1,w3=G3+7|0,i6=c>>>w3,L3=i6&1,U3=L3|z5,f4=U3)),a3=553352+(f4<<2)|0,l3=A+28|0,e[l3>>2]=f4,c3=A+16|0,C3=A+20|0,e[C3>>2]=0,e[c3>>2]=0,H5=e[138263]|0,U5=1<>2]=A,o6=A+24|0,e[o6>>2]=a3,e3=A+12|0,e[e3>>2]=A,A3=A+8|0,e[A3>>2]=A;return}R3=e[a3>>2]|0,u6=R3+4|0,Q3=e[u6>>2]|0,v3=Q3&-8,y3=(v3|0)==(c|0);e:do if(y3)F4=R3;else{for(j3=(f4|0)==31,O3=f4>>>1,K5=25-O3|0,S3=j3?0:K5,g3=c<>>31,c6=(he+16|0)+(X3<<2)|0,d3=e[c6>>2]|0,p6=(d3|0)==0,p6){u=c6,C9=he;break}if(q3=_6<<1,l6=d3+4|0,k6=e[l6>>2]|0,v6=k6&-8,B6=(v6|0)==(c|0),B6){F4=d3;break e}else _6=q3,he=d3}x6=e[138266]|0,Y6=u>>>0>>0,Y6&&Q2(),e[u>>2]=A,C6=A+24|0,e[C6>>2]=C9,b3=A+12|0,e[b3>>2]=A,e6=A+8|0,e[e6>>2]=A;return}while(!1);t6=F4+8|0,D3=e[t6>>2]|0,Y3=e[138266]|0,Z3=D3>>>0>=Y3>>>0,l4=F4>>>0>=Y3>>>0,b6=Z3&l4,b6||Q2(),A6=D3+12|0,e[A6>>2]=A,e[t6>>2]=A,t3=A+8|0,e[t3>>2]=D3,O6=A+12|0,e[O6>>2]=F4,s3=A+24|0,e[s3>>2]=0}function Qb(){e[6410]=O9}function ae(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,c=0,u=0,E=0;if(a=t+A|0,(A|0)>=20){if(n=n&255,E=t&3,c=n|n<<8|n<<16|n<<24,u=a&-4,E)for(E=t+4-E|0;(t|0)<(E|0);)d[t>>0]=n,t=t+1|0;for(;(t|0)<(u|0);)e[t>>2]=c,t=t+4|0}for(;(t|0)<(a|0);)d[t>>0]=n,t=t+1|0;return t-A|0}function X$(t){t=t|0;var n=0;for(n=t;d[n>>0]|0;)n=n+1|0;return n-t|0}function DQ(t,n){t=t|0,n=n|0;var A=0,a=0;a=t+(X$(t)|0)|0;do d[a+A>>0]=d[n+A>>0],A=A+1|0;while(d[n+(A-1)>>0]|0);return t|0}function _Q(t,n,A){t=t|0,n=n|0,A=A|0;var a=0;return(A|0)<32?(a=(1<>>32-A,t<>>0,u=n+a+(c>>>0>>0|0)>>>0,H6=u,c|0|0}function Ws(t,n,A){t=t|0,n=n|0,A=A|0;var a=0;return(A|0)<32?(a=(1<>>A,t>>>A|(n&a)<<32-A):(H6=0,n>>>A-32|0)}function s4(t,n,A){t=t|0,n=n|0,A=A|0;var a=0;if((A|0)>=4096)return Lv(t|0,n|0,A|0)|0;if(a=t|0,(t&3)==(n&3)){for(;t&3;){if(!(A|0))return a|0;d[t>>0]=d[n>>0]|0,t=t+1|0,n=n+1|0,A=A-1|0}for(;(A|0)>=4;)e[t>>2]=e[n>>2]|0,t=t+4|0,n=n+4|0,A=A-4|0}for(;(A|0)>0;)d[t>>0]=d[n>>0]|0,t=t+1|0,n=n+1|0,A=A-1|0;return a|0}function jA(t,n,A){t=t|0,n=n|0,A=A|0;var a=0;if((n|0)<(t|0)&(t|0)<(n+A|0)){for(a=t,n=n+A|0,t=t+A|0;(A|0)>0;)t=t-1|0,n=n-1|0,A=A-1|0,d[t>>0]=d[n>>0]|0;t=a}else s4(t,n,A)|0;return t|0}function mB(t,n){t=t|0,n=n|0;var A=0;do d[(t+A|0)>>0]=d[(n+A|0)>>0],A=A+1|0;while(d[n+(A-1)>>0]|0);return t|0}function js(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var c=0,u=0;return c=t-A>>>0,u=n-a>>>0,u=n-a-(A>>>0>t>>>0|0)>>>0,H6=u,c|0|0}function ZD(t,n,A){t=t|0,n=n|0,A=A|0;var a=0;return(A|0)<32?(a=(1<>A,t>>>A|(n&a)<<32-A):(H6=(n|0)<0?-1:0,n>>A-32|0)}function xQ(t){t=t|0;var n=0;return n=d[x9+(t&255)>>0]|0,(n|0)<8?n|0:(n=d[x9+(t>>8&255)>>0]|0,(n|0)<8?n+8|0:(n=d[x9+(t>>16&255)>>0]|0,(n|0)<8?n+16|0:(d[x9+(t>>>24)>>0]|0)+24|0))}function yb(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0;return A=t&65535,a=n&65535,c=r5(a,A)|0,u=t>>>16,E=(c>>>16)+(r5(a,u)|0)|0,I=n>>>16,m=r5(I,A)|0,H6=((E>>>16)+(r5(I,u)|0)|0)+(((E&65535)+m|0)>>>16)|0,0|(E+m<<16|c&65535)|0}function WD(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0;return c=n>>31|((n|0)<0?-1:0)<<1,u=((n|0)<0?-1:0)>>31|((n|0)<0?-1:0)<<1,E=a>>31|((a|0)<0?-1:0)<<1,I=((a|0)<0?-1:0)>>31|((a|0)<0?-1:0)<<1,m=js(c^t,u^n,c,u)|0,p=H6,B=js(E^A,I^a,E,I)|0,v=E^c,b=I^u,w=rC(m,p,B,H6,0)|0,y=js(w^v,H6^b,v,b)|0,y|0}function jD(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0;return y=C,C=C+8|0,c=y|0,u=n>>31|((n|0)<0?-1:0)<<1,E=((n|0)<0?-1:0)>>31|((n|0)<0?-1:0)<<1,I=a>>31|((a|0)<0?-1:0)<<1,m=((a|0)<0?-1:0)>>31|((a|0)<0?-1:0)<<1,p=js(u^t,E^n,u,E)|0,B=H6,v=js(I^A,m^a,I,m)|0,rC(p,B,v,H6,c)|0,b=js(e[c>>2]^u,e[c+4>>2]^E,u,E)|0,w=H6,C=y,H6=w,b|0}function wb(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var c=0,u=0,E=0,I=0,m=0;return c=t,u=A,E=yb(c,u)|0,I=H6,m=r5(n,u)|0,H6=((r5(a,c)|0)+m|0)+I|I&0,0|E&-1|0}function XD(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var c=0;return c=rC(t,n,A,a,0)|0,c|0}function e_(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var c=0,u=0;return u=C,C=C+8|0,c=u|0,rC(t,n,A,a,c)|0,C=u,H6=e[c+4>>2]|0,e[c>>2]|0|0}function rC(t,n,A,a,c){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0;var u=0,E=0,I=0,m=0,p=0,B=0,v=0,b=0,w=0,y=0,D=0,Q=0,_=0,R=0,L=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,s0=0,i0=0,r0=0,V=0,h0=0,o0=0,c0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,R0=0,M0=0,N0=0,U0=0,y0=0,H0=0,L0=0,D0=0;if(u=t,E=n,I=E,m=A,p=a,B=p,!(I|0))return v=(c|0)!=0,B|0?v?(e[c>>2]=t&-1,e[c+4>>2]=n&0,D0=0,L0=0,H6=D0,L0|0):(D0=0,L0=0,H6=D0,L0|0):(v&&(e[c>>2]=(u>>>0)%(m>>>0),e[c+4>>2]=0),D0=0,L0=(u>>>0)/(m>>>0)>>>0,H6=D0,L0|0);b=(B|0)==0;do if(m|0){if(!b){if(Y=zs(B|0)|0,t0=Y-(zs(I|0)|0)|0,t0>>>0<=31){J=t0+1|0,W=31-t0|0,e0=t0-31>>31,Z=J,$0=u>>>(J>>>0)&e0|I<>>(J>>>0)&e0,X=0,q=u<>2]=0|t&-1,e[c+4>>2]=E|n&0,D0=0,L0=0,H6=D0,L0|0):(D0=0,L0=0,H6=D0,L0|0)}if(R=m-1|0,R&m|0){F=(zs(m|0)|0)+33|0,M=F-(zs(I|0)|0)|0,T=64-M|0,N=32-M|0,G=N>>31,O=M-32|0,z=O>>31,Z=M,$0=N-1>>31&I>>>(O>>>0)|(I<>>(M>>>0))&z,U=z&I>>>(M>>>0),X=u<>>(O>>>0))&G|u<>31;break}return c|0&&(e[c>>2]=R&u,e[c+4>>2]=0),(m|0)==1?(D0=E|n&0,L0=0|t&-1,H6=D0,L0|0):(L=xQ(m|0)|0,D0=0|I>>>(L>>>0),L0=I<<32-L|u>>>(L>>>0)|0,H6=D0,L0|0)}else{if(b)return c|0&&(e[c>>2]=(I>>>0)%(m>>>0),e[c+4>>2]=0),D0=0,L0=(I>>>0)/(m>>>0)>>>0,H6=D0,L0|0;if(!(u|0))return c|0&&(e[c>>2]=0,e[c+4>>2]=(I>>>0)%(B>>>0)),D0=0,L0=(I>>>0)/(B>>>0)>>>0,H6=D0,L0|0;if(w=B-1|0,!(w&B|0))return c|0&&(e[c>>2]=0|t&-1,e[c+4>>2]=w&I|n&0),D0=0,L0=I>>>((xQ(B|0)|0)>>>0),H6=D0,L0|0;if(y=zs(B|0)|0,D=y-(zs(I|0)|0)|0,D>>>0<=30){Q=D+1|0,_=31-D|0,Z=Q,$0=I<<_|u>>>(Q>>>0),U=I>>>(Q>>>0),X=0,q=u<<_;break}return c|0?(e[c>>2]=0|t&-1,e[c+4>>2]=E|n&0,D0=0,L0=0,H6=D0,L0|0):(D0=0,L0=0,H6=D0,L0|0)}while(!1);if(!(Z|0))N0=q,M0=X,R0=U,Q0=$0,_0=0,V0=0;else{for(K=0|A&-1,a0=p|a&0,s0=Zs(K|0,a0|0,-1,-1)|0,i0=H6,j=q,c0=X,o0=U,h0=$0,V=Z,r0=0;l0=c0>>>31|j<<1,u0=r0|c0<<1,d0=0|(h0<<1|j>>>31),w0=h0>>>31|o0<<1|0,js(s0,i0,d0,w0)|0,C0=H6,k0=C0>>31|((C0|0)<0?-1:0)<<1,f0=k0&1,B0=js(d0,w0,k0&K,(((C0|0)<0?-1:0)>>31|((C0|0)<0?-1:0)<<1)&a0)|0,p0=B0,I0=H6,S0=V-1|0,S0|0;)j=l0,c0=u0,o0=I0,h0=p0,V=S0,r0=f0;N0=l0,M0=u0,R0=I0,Q0=p0,_0=0,V0=f0}return U0=M0,y0=0,H0=N0|y0,c|0&&(e[c>>2]=0|Q0,e[c+4>>2]=R0|0),D0=(0|U0)>>>31|H0<<1|(y0<<1|U0>>>31)&0|_0,L0=(U0<<1|0)&-2|V0,H6=D0,L0|0}function kb(t,n,A,a,c){return t=t|0,n=n|0,A=A|0,a=a|0,c=c|0,pB[t&3](n|0,A|0,a|0,c|0)|0}function vb(t,n){t=t|0,n=n|0,Xs[t&7](n|0)}function Sb(t,n,A){t=t|0,n=n|0,A=A|0,QB[t&3](n|0,A|0)}function bb(t,n){return t=t|0,n=n|0,FQ[t&1](n|0)|0}function Db(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0,MQ[t&1](n|0,A|0,a|0)}function _b(t,n,A,a,c,u,E,I,m){return t=t|0,n=n|0,A=A|0,a=a|0,c=c|0,u=u|0,E=E|0,I=I|0,m=m|0,TQ[t&3](n|0,A|0,a|0,c|0,u|0,E|0,I|0,m|0)|0}function xb(t,n,A){return t=t|0,n=n|0,A=A|0,f7[t&15](n|0,A|0)|0}function Lb(t,n,A,a,c,u){return t=t|0,n=n|0,A=A|0,a=a|0,c=c|0,u=u|0,yB[t&7](n|0,A|0,a|0,c|0,u|0)|0}function Rb(t,n,A,a){return t=t|0,n=n|0,A=A|0,a=a|0,Kr(0),0}function CB(t){t=t|0,Kr(1)}function LQ(t,n){t=t|0,n=n|0,Kr(2)}function Fb(t){return t=t|0,Kr(3),0}function Mb(t,n,A){t=t|0,n=n|0,A=A|0,Kr(4)}function RQ(t,n,A,a,c,u,E,I){return t=t|0,n=n|0,A=A|0,a=a|0,c=c|0,u=u|0,E=E|0,I=I|0,Kr(5),0}function el(t,n){return t=t|0,n=n|0,Kr(6),0}function BB(t,n,A,a,c){return t=t|0,n=n|0,A=A|0,a=a|0,c=c|0,Kr(7),0}var pB=[Rb,BS,sS,oS],Xs=[CB,ES,mS,_S,HS,YS,CB,CB],QB=[LQ,fS,JS,LQ],FQ=[Fb,xS],MQ=[Mb,bS],TQ=[RQ,ZS,eb,RQ],f7=[el,dS,IS,CS,DS,LS,VS,KS,pS,qS,ob,el,el,el,el,el],yB=[BB,zS,WS,jS,XS,tb,BB,BB];return{_memmove:jA,_strlen:X$,_strcat:DQ,_free:I2,_i64Add:Zs,_encoder_clear:ub,_encoder_transfer_data:Eb,_encoder_data_len:Ib,_memset:ae,_malloc:S9,_memcpy:s4,_encoder_init:hb,_encoder_process:db,_bitshift64Lshr:Ws,_bitshift64Shl:_Q,_strcpy:mB,_encoder_analysis_buffer:fb,runPostSets:Qb,stackAlloc:Mv,stackSave:Tv,stackRestore:Nv,establishStackSpace:Gv,setThrew:Uv,setTempRet0:Pv,getTempRet0:Ov,dynCall_iiiii:kb,dynCall_vi:vb,dynCall_vii:Sb,dynCall_ii:bb,dynCall_viii:Db,dynCall_iiiiiiiii:_b,dynCall_iii:xb,dynCall_iiiiii:Lb}}(o.asmGlobalArg,o.asmLibraryArg,Mi),wD=o.runPostSets=V9.runPostSets,Iv=o._strlen=V9._strlen,Ev=o._strcat=V9._strcat,AB=o._free=V9._free,kD=o._encoder_init=V9._encoder_init,mv=o._i64Add=V9._i64Add,Cv=o._memmove=V9._memmove,vD=o._encoder_transfer_data=V9._encoder_transfer_data,SD=o._encoder_process=V9._encoder_process,bD=o._encoder_data_len=V9._encoder_data_len,Bv=o._memset=V9._memset,_h=o._malloc=V9._malloc,pv=o._memcpy=V9._memcpy,DD=o._encoder_clear=V9._encoder_clear,Qv=o._bitshift64Lshr=V9._bitshift64Lshr,_D=o._encoder_analysis_buffer=V9._encoder_analysis_buffer,yv=o._strcpy=V9._strcpy,wv=o._bitshift64Shl=V9._bitshift64Shl,xD=o.dynCall_iiiii=V9.dynCall_iiiii,LD=o.dynCall_vi=V9.dynCall_vi,RD=o.dynCall_vii=V9.dynCall_vii,FD=o.dynCall_ii=V9.dynCall_ii,MD=o.dynCall_viii=V9.dynCall_viii,TD=o.dynCall_iiiiiiiii=V9.dynCall_iiiiiiiii,ND=o.dynCall_iii=V9.dynCall_iii,GD=o.dynCall_iiiiii=V9.dynCall_iiiiii;x.stackAlloc=V9.stackAlloc,x.stackSave=V9.stackSave,x.stackRestore=V9.stackRestore,x.establishStackSpace=V9.establishStackSpace,x.setTempRet0=V9.setTempRet0,x.getTempRet0=V9.getTempRet0;var UD=function(){var i={math:{}};i.math.Long=function(H,v0){this.low_=H|0,this.high_=v0|0},i.math.Long.IntCache_={},i.math.Long.fromInt=function(H){if(-128<=H&&H<128){var v0=i.math.Long.IntCache_[H];if(v0)return v0}var W0=new i.math.Long(H|0,H<0?-1:0);return-128<=H&&H<128&&(i.math.Long.IntCache_[H]=W0),W0},i.math.Long.fromNumber=function(H){return isNaN(H)||!isFinite(H)?i.math.Long.ZERO:H<=-i.math.Long.TWO_PWR_63_DBL_?i.math.Long.MIN_VALUE:H+1>=i.math.Long.TWO_PWR_63_DBL_?i.math.Long.MAX_VALUE:H<0?i.math.Long.fromNumber(-H).negate():new i.math.Long(H%i.math.Long.TWO_PWR_32_DBL_|0,H/i.math.Long.TWO_PWR_32_DBL_|0)},i.math.Long.fromBits=function(H,v0){return new i.math.Long(H,v0)},i.math.Long.fromString=function(H,v0){if(H.length==0)throw Error("number format error: empty string");var W0=v0||10;if(W0<2||36=0)throw Error('number format error: interior "-" character: '+H);for(var m2=i.math.Long.fromNumber(Math.pow(W0,8)),Z5=i.math.Long.ZERO,N5=0;N5=0?this.low_:i.math.Long.TWO_PWR_32_DBL_+this.low_},i.math.Long.prototype.getNumBitsAbs=function(){if(this.isNegative())return this.equals(i.math.Long.MIN_VALUE)?64:this.negate().getNumBitsAbs();for(var H=this.high_!=0?this.high_:this.low_,v0=31;v0>0&&!(H&1<0},i.math.Long.prototype.greaterThanOrEqual=function(H){return this.compare(H)>=0},i.math.Long.prototype.compare=function(H){if(this.equals(H))return 0;var v0=this.isNegative(),W0=H.isNegative();return v0&&!W0?-1:!v0&&W0?1:this.subtract(H).isNegative()?-1:1},i.math.Long.prototype.negate=function(){return this.equals(i.math.Long.MIN_VALUE)?i.math.Long.MIN_VALUE:this.not().add(i.math.Long.ONE)},i.math.Long.prototype.add=function(H){var v0=this.high_>>>16,W0=this.high_&65535,m2=this.low_>>>16,Z5=this.low_&65535,N5=H.high_>>>16,x3=H.high_&65535,Z6=H.low_>>>16,M9=H.low_&65535,L9=0,Z4=0,t7=0,Wi=0;return Wi+=Z5+M9,t7+=Wi>>>16,Wi&=65535,t7+=m2+Z6,Z4+=t7>>>16,t7&=65535,Z4+=W0+x3,L9+=Z4>>>16,Z4&=65535,L9+=v0+N5,L9&=65535,i.math.Long.fromBits(t7<<16|Wi,L9<<16|Z4)},i.math.Long.prototype.subtract=function(H){return this.add(H.negate())},i.math.Long.prototype.multiply=function(H){if(this.isZero())return i.math.Long.ZERO;if(H.isZero())return i.math.Long.ZERO;if(this.equals(i.math.Long.MIN_VALUE))return H.isOdd()?i.math.Long.MIN_VALUE:i.math.Long.ZERO;if(H.equals(i.math.Long.MIN_VALUE))return this.isOdd()?i.math.Long.MIN_VALUE:i.math.Long.ZERO;if(this.isNegative())return H.isNegative()?this.negate().multiply(H.negate()):this.negate().multiply(H).negate();if(H.isNegative())return this.multiply(H.negate()).negate();if(this.lessThan(i.math.Long.TWO_PWR_24_)&&H.lessThan(i.math.Long.TWO_PWR_24_))return i.math.Long.fromNumber(this.toNumber()*H.toNumber());var v0=this.high_>>>16,W0=this.high_&65535,m2=this.low_>>>16,Z5=this.low_&65535,N5=H.high_>>>16,x3=H.high_&65535,Z6=H.low_>>>16,M9=H.low_&65535,L9=0,Z4=0,t7=0,Wi=0;return Wi+=Z5*M9,t7+=Wi>>>16,Wi&=65535,t7+=m2*M9,Z4+=t7>>>16,t7&=65535,t7+=Z5*Z6,Z4+=t7>>>16,t7&=65535,Z4+=W0*M9,L9+=Z4>>>16,Z4&=65535,Z4+=m2*Z6,L9+=Z4>>>16,Z4&=65535,Z4+=Z5*x3,L9+=Z4>>>16,Z4&=65535,L9+=v0*M9+W0*Z6+m2*x3+Z5*N5,L9&=65535,i.math.Long.fromBits(t7<<16|Wi,L9<<16|Z4)},i.math.Long.prototype.div=function(H){if(H.isZero())throw Error("division by zero");if(this.isZero())return i.math.Long.ZERO;if(this.equals(i.math.Long.MIN_VALUE)){if(H.equals(i.math.Long.ONE)||H.equals(i.math.Long.NEG_ONE))return i.math.Long.MIN_VALUE;if(H.equals(i.math.Long.MIN_VALUE))return i.math.Long.ONE;var v0=this.shiftRight(1),W0=v0.div(H).shiftLeft(1);if(W0.equals(i.math.Long.ZERO))return H.isNegative()?i.math.Long.ONE:i.math.Long.NEG_ONE;var N5=this.subtract(H.multiply(W0)),m2=W0.add(N5.div(H));return m2}else if(H.equals(i.math.Long.MIN_VALUE))return i.math.Long.ZERO;if(this.isNegative())return H.isNegative()?this.negate().div(H.negate()):this.negate().div(H).negate();if(H.isNegative())return this.div(H.negate()).negate();for(var Z5=i.math.Long.ZERO,N5=this;N5.greaterThanOrEqual(H);){for(var W0=Math.max(1,Math.floor(N5.toNumber()/H.toNumber())),x3=Math.ceil(Math.log(W0)/Math.LN2),Z6=x3<=48?1:Math.pow(2,x3-48),M9=i.math.Long.fromNumber(W0),L9=M9.multiply(H);L9.isNegative()||L9.greaterThan(N5);)W0-=Z6,M9=i.math.Long.fromNumber(W0),L9=M9.multiply(H);M9.isZero()&&(M9=i.math.Long.ONE),Z5=Z5.add(M9),N5=N5.subtract(L9)}return Z5},i.math.Long.prototype.modulo=function(H){return this.subtract(this.div(H).multiply(H))},i.math.Long.prototype.not=function(){return i.math.Long.fromBits(~this.low_,~this.high_)},i.math.Long.prototype.and=function(H){return i.math.Long.fromBits(this.low_&H.low_,this.high_&H.high_)},i.math.Long.prototype.or=function(H){return i.math.Long.fromBits(this.low_|H.low_,this.high_|H.high_)},i.math.Long.prototype.xor=function(H){return i.math.Long.fromBits(this.low_^H.low_,this.high_^H.high_)},i.math.Long.prototype.shiftLeft=function(H){if(H&=63,H==0)return this;var v0=this.low_;if(H<32){var W0=this.high_;return i.math.Long.fromBits(v0<>>32-H)}else return i.math.Long.fromBits(0,v0<>>H|v0<<32-H,v0>>H)}else return i.math.Long.fromBits(v0>>H-32,v0>=0?0:-1)},i.math.Long.prototype.shiftRightUnsigned=function(H){if(H&=63,H==0)return this;var v0=this.high_;if(H<32){var W0=this.low_;return i.math.Long.fromBits(W0>>>H|v0<<32-H,v0>>>H)}else return H==32?i.math.Long.fromBits(v0,0):i.math.Long.fromBits(v0>>>H-32,0)};var $={appName:"Modern Browser"},h,d=0xdeadbeefcafe,P=(d&16777215)==15715070;function e(H,v0,W0){H!=null&&(typeof H=="number"?this.fromNumber(H,v0,W0):v0==null&&typeof H!="string"?this.fromString(H,256):this.fromString(H,v0))}function Z0(){return new e(null)}function t1(H,v0,W0,m2,Z5,N5){for(;--N5>=0;){var x3=v0*this[H++]+W0[m2]+Z5;Z5=Math.floor(x3/67108864),W0[m2++]=x3&67108863}return Z5}function b2(H,v0,W0,m2,Z5,N5){for(var x3=v0&32767,Z6=v0>>15;--N5>=0;){var M9=this[H]&32767,L9=this[H++]>>15,Z4=Z6*M9+L9*x3;M9=x3*M9+((Z4&32767)<<15)+W0[m2]+(Z5&1073741823),Z5=(M9>>>30)+(Z4>>>15)+Z6*L9+(Z5>>>30),W0[m2++]=M9&1073741823}return Z5}function s(H,v0,W0,m2,Z5,N5){for(var x3=v0&16383,Z6=v0>>14;--N5>=0;){var M9=this[H]&16383,L9=this[H++]>>14,Z4=Z6*M9+L9*x3;M9=x3*M9+((Z4&16383)<<14)+W0[m2]+Z5,Z5=(M9>>28)+(Z4>>14)+Z6*L9,W0[m2++]=M9&268435455}return Z5}P&&$.appName=="Microsoft Internet Explorer"?(e.prototype.am=b2,h=30):P&&$.appName!="Netscape"?(e.prototype.am=t1,h=26):(e.prototype.am=s,h=28),e.prototype.DB=h,e.prototype.DM=(1<=0;--v0)H[v0]=this[v0];H.t=this.t,H.s=this.s}function w8(H){this.t=1,this.s=H<0?-1:0,H>0?this[0]=H:H<-1?this[0]=H+DV:this.t=0}function K9(H){var v0=Z0();return v0.fromInt(H),v0}function h8(H,v0){var W0;if(v0==16)W0=4;else if(v0==8)W0=3;else if(v0==256)W0=8;else if(v0==2)W0=1;else if(v0==32)W0=5;else if(v0==4)W0=2;else{this.fromRadix(H,v0);return}this.t=0,this.s=0;for(var m2=H.length,Z5=!1,N5=0;--m2>=0;){var x3=W0==8?H[m2]&255:O9(H,m2);if(x3<0){H.charAt(m2)=="-"&&(Z5=!0);continue}Z5=!1,N5==0?this[this.t++]=x3:N5+W0>this.DB?(this[this.t-1]|=(x3&(1<>this.DB-N5):this[this.t-1]|=x3<=this.DB&&(N5-=this.DB)}W0==8&&H[0]&128&&(this.s=-1,N5>0&&(this[this.t-1]|=(1<0&&this[this.t-1]==H;)--this.t}function Ui(H){if(this.s<0)return"-"+this.negate().toString(H);var v0;if(H==16)v0=4;else if(H==8)v0=3;else if(H==2)v0=1;else if(H==32)v0=5;else if(H==4)v0=2;else return this.toRadix(H);var W0=(1<0)for(Z6>Z6)>0&&(Z5=!0,N5=x9(m2));x3>=0;)Z6>(Z6+=this.DB-v0)):(m2=this[x3]>>(Z6-=v0)&W0,Z6<=0&&(Z6+=this.DB,--x3)),m2>0&&(Z5=!0),Z5&&(N5+=x9(m2));return Z5?N5:"0"}function Pi(){var H=Z0();return e.ZERO.subTo(this,H),H}function Ir(){return this.s<0?this.negate():this}function Z$(H){var v0=this.s-H.s;if(v0!=0)return v0;var W0=this.t;if(v0=W0-H.t,v0!=0)return this.s<0?-v0:v0;for(;--W0>=0;)if((v0=this[W0]-H[W0])!=0)return v0;return 0}function zm(H){var v0=1,W0;return(W0=H>>>16)!=0&&(H=W0,v0+=16),(W0=H>>8)!=0&&(H=W0,v0+=8),(W0=H>>4)!=0&&(H=W0,v0+=4),(W0=H>>2)!=0&&(H=W0,v0+=2),(W0=H>>1)!=0&&(H=W0,v0+=1),v0}function _p(){return this.t<=0?0:this.DB*(this.t-1)+zm(this[this.t-1]^this.s&this.DM)}function xp(H,v0){var W0;for(W0=this.t-1;W0>=0;--W0)v0[W0+H]=this[W0];for(W0=H-1;W0>=0;--W0)v0[W0]=0;v0.t=this.t+H,v0.s=this.s}function Lp(H,v0){for(var W0=H;W0=0;--Z6)v0[Z6+N5+1]=this[Z6]>>m2|x3,x3=(this[Z6]&Z5)<=0;--Z6)v0[Z6]=0;v0[N5]=x3,v0.t=this.t+N5+1,v0.s=this.s,v0.clamp()}function Fp(H,v0){v0.s=this.s;var W0=Math.floor(H/this.DB);if(W0>=this.t){v0.t=0;return}var m2=H%this.DB,Z5=this.DB-m2,N5=(1<>m2;for(var x3=W0+1;x3>m2;m2>0&&(v0[this.t-W0-1]|=(this.s&N5)<>=this.DB;if(H.t>=this.DB;m2+=this.s}else{for(m2+=this.s;W0>=this.DB;m2-=H.s}v0.s=m2<0?-1:0,m2<-1?v0[W0++]=this.DV+m2:m2>0&&(v0[W0++]=m2),v0.t=W0,v0.clamp()}function Mp(H,v0){var W0=this.abs(),m2=H.abs(),Z5=W0.t;for(v0.t=Z5+m2.t;--Z5>=0;)v0[Z5]=0;for(Z5=0;Z5=0;)H[W0]=0;for(W0=0;W0=v0.DV&&(H[W0+v0.t]-=v0.DV,H[W0+v0.t+1]=1)}H.t>0&&(H[H.t-1]+=v0.am(W0,v0[W0],H,2*W0,0,1)),H.s=0,H.clamp()}function Np(H,v0,W0){var m2=H.abs();if(!(m2.t<=0)){var Z5=this.abs();if(Z5.t0?(m2.lShiftTo(M9,N5),Z5.lShiftTo(M9,W0)):(m2.copyTo(N5),Z5.copyTo(W0));var L9=N5.t,Z4=N5[L9-1];if(Z4!=0){var t7=Z4*(1<1?N5[L9-2]>>this.F2:0),Wi=this.FV/t7,Zp=(1<=0&&(W0[W0.t++]=1,W0.subTo(N7,W0)),e.ONE.dlShiftTo(L9,N7),N7.subTo(N5,N5);N5.t=0;){var Zm=W0[--WA]==Z4?this.DM:Math.floor(W0[WA]*Wi+(W0[WA-1]+Wp)*Zp);if((W0[WA]+=N5.am(0,Zm,W0,Lh,0,L9))0&&W0.rShiftTo(M9,W0),x3<0&&e.ZERO.subTo(W0,W0)}}}function Gp(H){var v0=Z0();return this.abs().divRemTo(H,null,v0),this.s<0&&v0.compareTo(e.ZERO)>0&&H.subTo(v0,v0),v0}function KA(H){this.m=H}function Up(H){return H.s<0||H.compareTo(this.m)>=0?H.mod(this.m):H}function Pp(H){return H}function Op(H){H.divRemTo(this.m,null,H)}function qp(H,v0,W0){H.multiplyTo(v0,W0),this.reduce(W0)}function zA(H,v0){H.squareTo(v0),this.reduce(v0)}KA.prototype.convert=Up,KA.prototype.revert=Pp,KA.prototype.reduce=Op,KA.prototype.mulTo=qp,KA.prototype.sqrTo=zA;function Zi(){if(this.t<1)return 0;var H=this[0];if(!(H&1))return 0;var v0=H&3;return v0=v0*(2-(H&15)*v0)&15,v0=v0*(2-(H&255)*v0)&255,v0=v0*(2-((H&65535)*v0&65535))&65535,v0=v0*(2-H*v0%this.DV)%this.DV,v0>0?this.DV-v0:-v0}function Nn(H){this.m=H,this.mp=H.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<0&&this.m.subTo(v0,v0),v0}function ZA(H){var v0=Z0();return H.copyTo(v0),this.reduce(v0),v0}function Gn(H){for(;H.t<=this.mt2;)H[H.t++]=0;for(var v0=0;v0>15)*this.mpl&this.um)<<15)&H.DM;for(W0=v0+this.m.t,H[W0]+=this.m.am(0,m2,H,v0,0,this.m.t);H[W0]>=H.DV;)H[W0]-=H.DV,H[++W0]++}H.clamp(),H.drShiftTo(this.m.t,H),H.compareTo(this.m)>=0&&H.subTo(this.m,H)}function Hp(H,v0){H.squareTo(v0),this.reduce(v0)}function Yp(H,v0,W0){H.multiplyTo(v0,W0),this.reduce(W0)}Nn.prototype.convert=xh,Nn.prototype.revert=ZA,Nn.prototype.reduce=Gn,Nn.prototype.mulTo=Yp,Nn.prototype.sqrTo=Hp;function Jp(){return(this.t>0?this[0]&1:this.s)==0}function Ks(H,v0){if(H>4294967295||H<1)return e.ONE;var W0=Z0(),m2=Z0(),Z5=v0.convert(this),N5=zm(H)-1;for(Z5.copyTo(W0);--N5>=0;)if(v0.sqrTo(W0,m2),(H&1<0)v0.mulTo(m2,Z5,W0);else{var x3=W0;W0=m2,m2=x3}return v0.revert(W0)}function Vp(H,v0){var W0;return H<256||v0.isEven()?W0=new KA(v0):W0=new Nn(v0),this.exp(H,W0)}e.prototype.copyTo=I4,e.prototype.fromInt=w8,e.prototype.fromString=h8,e.prototype.clamp=z4,e.prototype.dlShiftTo=xp,e.prototype.drShiftTo=Lp,e.prototype.lShiftTo=Rp,e.prototype.rShiftTo=Fp,e.prototype.subTo=H6,e.prototype.multiplyTo=Mp,e.prototype.squareTo=Tp,e.prototype.divRemTo=Np,e.prototype.invDigit=Zi,e.prototype.isEven=Jp,e.prototype.exp=Ks,e.prototype.toString=Ui,e.prototype.negate=Pi,e.prototype.abs=Ir,e.prototype.compareTo=Z$,e.prototype.bitLength=_p,e.prototype.mod=Gp,e.prototype.modPowInt=Vp,e.ZERO=K9(0),e.ONE=K9(1);function Un(H,v0){this.fromInt(0),v0==null&&(v0=10);for(var W0=this.chunkSize(v0),m2=Math.pow(v0,W0),Z5=!1,N5=0,x3=0,Z6=0;Z6=W0&&(this.dMultiply(m2),this.dAddOffset(x3,0),N5=0,x3=0)}N5>0&&(this.dMultiply(Math.pow(v0,N5)),this.dAddOffset(x3,0)),Z5&&e.ZERO.subTo(this,this)}function Vr(H){return Math.floor(Math.LN2*this.DB/Math.log(H))}function $B(){return this.s<0?-1:this.t<=0||this.t==1&&this[0]<=0?0:1}function r5(H){this[this.t]=this.am(0,H-1,this,0,0,this.t),++this.t,this.clamp()}function Kp(H,v0){if(H!=0){for(;this.t<=v0;)this[this.t++]=0;for(this[v0]+=H;this[v0]>=this.DV;)this[v0]-=this.DV,++v0>=this.t&&(this[this.t++]=0),++this[v0]}}function zs(H){if(H==null&&(H=10),this.signum()==0||H<2||H>36)return"0";var v0=this.chunkSize(H),W0=Math.pow(H,v0),m2=K9(W0),Z5=Z0(),N5=Z0(),x3="";for(this.divRemTo(m2,Z5,N5);Z5.signum()>0;)x3=(W0+N5.intValue()).toString(H).substr(1)+x3,Z5.divRemTo(m2,Z5,N5);return N5.intValue().toString(H)+x3}function Kr(){if(this.s<0){if(this.t==1)return this[0]-this.DV;if(this.t==0)return-1}else{if(this.t==1)return this[0];if(this.t==0)return 0}return(this[1]&(1<<32-this.DB)-1)<>=this.DB;if(H.t>=this.DB;m2+=this.s}else{for(m2+=this.s;W0>=this.DB;m2+=H.s}v0.s=m2<0?-1:0,m2>0?v0[W0++]=m2:m2<-1&&(v0[W0++]=this.DV+m2),v0.t=W0,v0.clamp()}e.prototype.fromRadix=Un,e.prototype.chunkSize=Vr,e.prototype.signum=$B,e.prototype.dMultiply=r5,e.prototype.dAddOffset=Kp,e.prototype.toRadix=zs,e.prototype.intValue=Kr,e.prototype.addTo=zp;var si={abs:function(H,v0){var W0=new i.math.Long(H,v0),m2;W0.isNegative()?m2=W0.negate():m2=W0,_9[y8>>2]=m2.low_,_9[y8+4>>2]=m2.high_},ensureTemps:function(){si.ensuredTemps||(si.ensuredTemps=!0,si.two32=new e,si.two32.fromString("4294967296",10),si.two64=new e,si.two64.fromString("18446744073709551616",10),si.temp1=new e,si.temp2=new e)},lh2bignum:function(H,v0){var W0=new e;W0.fromString(v0.toString(),10);var m2=new e;W0.multiplyTo(si.two32,m2);var Z5=new e;Z5.fromString(H.toString(),10);var N5=new e;return Z5.addTo(m2,N5),N5},stringify:function(H,v0,W0){var m2=new i.math.Long(H,v0).toString();if(W0&&m2[0]=="-"){si.ensureTemps();var Z5=new e;Z5.fromString(m2,10),m2=new e,si.two64.addTo(Z5,m2),m2=m2.toString(10)}return m2},fromString:function(H,v0,W0,m2,Z5){si.ensureTemps();var N5=new e;N5.fromString(H,v0);var x3=new e;x3.fromString(W0,10);var Z6=new e;if(Z6.fromString(m2,10),Z5&&N5.compareTo(e.ZERO)<0){var M9=new e;N5.addTo(si.two64,M9),N5=M9}var L9=!1;N5.compareTo(x3)<0?(N5=x3,L9=!0):N5.compareTo(Z6)>0&&(N5=Z6,L9=!0);var Z4=i.math.Long.fromString(N5.toString());if(_9[y8>>2]=Z4.low_,_9[y8+4>>2]=Z4.high_,L9)throw"range error"}};return si}();function VA(i){this.name="ExitStatus",this.message="Program terminated with exit("+i+")",this.status=i}VA.prototype=new Error,VA.prototype.constructor=VA;var vp,Km=null,kv=!1;Ni=function i(){o.calledRun||aB(),o.calledRun||(Ni=i)},o.callMain=o.callMain=function($){K4(Bt==0,"cannot call main when async dependencies remain! (listen on __ATMAIN__)"),K4(Om.length==0,"cannot call main when preRun functions remain to be called"),$=$||[],qs();var h=$.length+1;function d(){for(var t1=0;t1<3;t1++)P.push(0)}var P=[E3(Jr(o.thisProgram),"i8",HA)];d();for(var e=0;e0||(bh(),Bt>0)||o.calledRun)return;function $(){o.calledRun||(o.calledRun=!0,!F0&&(qs(),Ep(),g&&Km!==null&&o.printErr("pre-main prep time: "+(Date.now()-Km)+" ms"),o.onRuntimeInitialized&&o.onRuntimeInitialized(),o._main&&Dp&&o.callMain(i),q$()))}o.setStatus?(o.setStatus("Running..."),setTimeout(function(){setTimeout(function(){o.setStatus("")},1),$()},1)):$()}o.run=o.run=aB;function Sp(i,$){if(!($&&o.noExitRuntime))throw o.noExitRuntime||(F0=!0,b1=i,pi=vp,qm(),o.onExit&&o.onExit(i)),f?(process.stdout.once("drain",function(){process.exit(i)}),console.log(" "),setTimeout(function(){process.exit(i)},500)):n0&&typeof quit=="function"&&quit(i),new VA(i)}o.exit=o.exit=Sp;var bp=[];function Vs(i){i!==void 0?(o.print(i),o.printErr(i),i=JSON.stringify(i)):i="",F0=!0,b1=1;var $=` +If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.`,h="abort("+i+") at "+Gm()+$;throw bp&&bp.forEach(function(d){h=d(h,i)}),h}if(o.abort=o.abort=Vs,o.preInit)for(typeof o.preInit=="function"&&(o.preInit=[o.preInit]);o.preInit.length>0;)o.preInit.pop()();var Dp=!0;o.noInitialRun&&(Dp=!1),aB();var vv=o._encoder_init,Sv=o._encoder_clear,bv=o._encoder_analysis_buffer,Dv=o._encoder_process,_v=o._encoder_data_len,xv=o._encoder_transfer_data,Qi=o.HEAPU8,V$=o.HEAPU32,K$=o.HEAPF32,z$=function(i,$,h){this.numChannels=$,this.oggBuffers=[],this.encoder=vv(this.numChannels,i,h)};z$.prototype.encode=function(i){for(var $=i[0].length,h=bv(this.encoder,$)>>2,d=0;d>2);this.process($)},z$.prototype.finish=function(){this.process(0);let i=this.oggBuffers.slice();return this.cleanup(),i},z$.prototype.cancel=z$.prototype.cleanup=function(){Sv(this.encoder),delete this.encoder,delete this.oggBuffers},z$.prototype.process=function(i){Dv(this.encoder,i);var $=_v(this.encoder);if($>0){var h=xv(this.encoder);this.oggBuffers.push(new Uint8Array(Qi.subarray(h,h+$)))}},ZC.OggVorbisEncoder=z$}};typeof window<"u"&&window===self&&ZC.init();function Fk(o,r,l,g){let f=new ZC.OggVorbisEncoder(l,r,g);f.encode(o);let S=f.finish(),n0=S.reduce((g0,f1)=>g0+f1.length,0),E0=new Uint8Array(n0),m0=0;for(let g0 of S)E0.set(g0,m0),m0+=g0.length;return E0}var WC=class{constructor(r,l){let g=document.getElementsByClassName("drop_prompt")[0];document.body.addEventListener("dragover",f=>{f.preventDefault(),g.classList.remove("hidden")}),document.body.addEventListener("dragleave",()=>{g.classList.add("hidden")}),document.body.addEventListener("drop",async f=>{f.preventDefault(),g.classList.add("hidden");let S=f.dataTransfer.files[0];if(!S)return;let n0=S.name,E0=await S.arrayBuffer(),m0=E0.slice(0,4),g0=new TextDecoder;if(g0.decode(m0)==="RIFF"){let f1=E0.slice(8,12);if(g0.decode(f1)==="RMID"){r({buf:E0,name:n0});return}l(E0);return}r({buf:E0,name:n0})})}};document.body.classList.add("load");var Mk=!1,Ln=class{channelColors=["rgba(255, 99, 71, 1)","rgba(255, 165, 0, 1)","rgba(255, 215, 0, 1)","rgba(50, 205, 50, 1)","rgba(60, 179, 113, 1)","rgba(0, 128, 0, 1)","rgba(0, 191, 255, 1)","rgba(65, 105, 225, 1)","rgba(138, 43, 226, 1)","rgba(50, 120, 125, 1)","rgba(255, 0, 255, 1)","rgba(255, 20, 147, 1)","rgba(218, 112, 214, 1)","rgba(240, 128, 128, 1)","rgba(255, 192, 203, 1)","rgba(255, 255, 0, 1)"];sfError;constructor(r,l,g){this.localeManager=g,this.context=r,this.isExporting=!1,this.compressionFunc=Fk;let f;this.ready=new Promise(S=>f=S),this.initializeContext(r,l).then(()=>{f()})}saveBlob(r,l){let g=URL.createObjectURL(r),f=document.createElement("a");f.href=g,f.download=l,f.click(),Y5(f)}async initializeContext(r,l){if(!r.audioWorklet)throw alert("Audio worklet is not supported on your browser. Sorry!"),"Not supported.";for(let x of document.querySelectorAll("*[translate-path]"))this.localeManager.bindObjectProperty(x,"innerText",x.getAttribute("translate-path"));for(let x of document.querySelectorAll("*[translate-path-title]"))this.localeManager.bindObjectProperty(x,"innerText",x.getAttribute("translate-path-title")+".title"),this.localeManager.bindObjectProperty(x,"title",x.getAttribute("translate-path-title")+".description");let f=Mk?"synthetizer/worklet_system/worklet_processor.js":qC;Mk&&console.warn("DEBUG ENABLED! DEBUGGING ENABLED!!"),r.audioWorklet&&await r.audioWorklet.addModule(new URL("../../spessasynth_lib/"+f,import.meta.url)),this.soundFont=l;let S=new URL("../../spessasynth_lib/synthetizer/audio_effects/impulse_response_2.flac",import.meta.url),E0=await(await fetch(S)).arrayBuffer();this.impulseResponse=await r.decodeAudioData(E0),this.audioDelay=new DelayNode(r,{delayTime:0}),this.audioDelay.connect(r.destination),this.synth=new ch(this.audioDelay,this.soundFont,void 0,void 0,{chorusEnabled:!0,chorusConfig:void 0,reverbImpulseResponse:this.impulseResponse,reverbEnabled:!0}),this.synth.eventHandler.addEvent("soundfonterror","manager-sf-error",x=>{this.sfError&&this.sfError(x)}),await this.synth.isReady,this.midHandler=new RC,this.wml=new FC(this.synth),this.keyboard=new wm(this.channelColors,this.synth);let m0=document.getElementById("note_canvas");m0.width=window.innerWidth*window.devicePixelRatio,m0.height=window.innerHeight*window.devicePixelRatio,this.renderer=new _i(this.channelColors,this.synth,m0,this.audioDelay,window.SPESSASYNTH_VERSION),this.renderer.render(!0);let g0=!1,f1=()=>{if(m0.width=window.innerWidth*window.devicePixelRatio,m0.height=window.innerHeight*window.devicePixelRatio,this.renderer.computeColors(),bn){if(window.innerWidth/window.innerHeight>1){if(!g0){let x=document.getElementById("title_wrapper"),X0=document.getElementById("settings_div");g0=!0,x.parentElement.insertBefore(X0,x)}}else if(g0){let x=document.getElementById("title_wrapper"),X0=document.getElementById("settings_div");g0=!1,x.parentElement.insertBefore(x,X0)}}this.renderer.render(!1,!0)};f1(),window.addEventListener("resize",f1.bind(this)),window.addEventListener("orientationchange",f1.bind(this)),bn&&(this.renderer.keyRange={min:48,max:72},this.keyboard.setKeyRange({min:48,max:72},!1)),this.synthUI=new Pr(this.channelColors,document.getElementById("synthetizer_controls"),this.localeManager),this.synthUI.connectSynth(this.synth),this.playerUI=new PC(document.getElementById("player_info"),this.localeManager),this.seqUI=new Fs(document.getElementById("sequencer_controls"),this.localeManager,this.playerUI),this.settingsUI=new Bi(document.getElementById("settings_div"),this.synthUI,this.seqUI,this.renderer,this.keyboard,this.midHandler,this.playerUI,this.localeManager),this.dropFileHandler=new WC(x=>{this.play([{binary:x.buf,altName:x.name}]),x.name.length>20&&(x.name=x.name.substring(0,21)+"..."),document.getElementById("file_upload").textContent=x.name},x=>{this.reloadSf(x)}),document.addEventListener("keydown",x=>{switch(x.key.toLowerCase()){case e7.cinematicMode:this.seq&&this.seq.pause();let X0=window.prompt(`Cinematic mode activated! + Paste the link to the image for canvas (leave blank to disable)`,"");if(this.seq&&this.seq.play(),X0===null)return;m0.style.background=`linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)), center center / cover url("${X0}")`,document.getElementsByClassName("top_part")[0].style.display="none",document.getElementsByClassName("bottom_part")[0].style.display="none",document.body.requestFullscreen().then();break;case e7.videoMode:this.seq&&this.seq.pause();let F0=window.prompt(`Video mode! Paste the link to the video source (leave blank to disable) -Note: the video will be available in console as 'video'`,"");if(R1===null)return;let t2=document.createElement("video");t2.src=R1,t2.classList.add("secret_video"),c0.parentElement.appendChild(t2),t2.play(),window.video=t2,this.seq&&(t2.currentTime=parseFloat(window.prompt("Video offset to sync to midi, in seconds.","0")),t2.play(),this.seq.currentTime=0),document.addEventListener("keydown",y1=>{y1.key===" "&&(t2.paused?t2.play():t2.pause())});break}}),this.renderer.render(!1,!0)}doDLSCheck(){if(window.isLocalEdition!==!0){let r=this.soundFont.slice(8,12);Ee(new V3(r),4).toLowerCase()==="dls "&&mt(this.localeManager.getLocaleString("locale.convertDls.title"),[{type:"text",textContent:this.localeManager.getLocaleString("locale.convertDls.message")},{type:"button",textContent:this.localeManager.getLocaleString("locale.yes"),onClick:g=>{Ot(g.id),this.downloadDesfont()}},{type:"button",textContent:this.localeManager.getLocaleString("locale.no"),onClick:g=>{Ot(g.id)}}],99999999)}}async reloadSf(r){await this.synth.soundfontManager.reloadManager(r),this.soundFont=r,setTimeout(()=>{this.doDLSCheck()},3e3)}play(r){if(this.synth){if(this.seq){this.seq.loadNewSongList(r);return}this.seq=new bC(r,this.synth),this.seq.onError=l=>{document.getElementById("title").textContent=l},this.seqUI.connectSequencer(this.seq),this.playerUI.connectSequencer(this.seq),this.renderer.connectSequencer(this.seq),this.settingsUI.addSequencer(this.seq),this.seq.play(!0)}}downloadDesfont(){let r=Bh(this.soundFont),l=r.write(),g=new Blob([l.buffer],{type:"audio/soundfont"});this.saveBlob(g,`${r.soundFontInfo.INAM}.sf2`)}};Ln.prototype.exportSong=Lk;Ln.prototype._exportAudioData=nk;Ln.prototype._doExportAudioData=rk;Ln.prototype.exportMidi=sk;Ln.prototype._exportSoundfont=xk;Ln.prototype._exportRMIDI=Rk;var hD=44100,uD="GeneralUserGS.sf3",jC=document.getElementById("title"),PA=document.getElementById("midi_file_input"),fD=document.getElementById("sf_file_input"),Tk=document.getElementById("demo_song"),np=document.getElementById("export_button"),S$=document.getElementsByClassName("loading")[0],Ri=document.getElementById("loading_message"),dD=await(await fetch("package.json")).json();window.SPESSASYNTH_VERSION=dD.version;var ID="spessasynth-db",D$="soundFontStore";function Ap(o){let r=indexedDB.open(ID,1);r.onsuccess=()=>{let l=r.result;o(l)},r.onupgradeneeded=l=>{l.target.result.createObjectStore(D$,{keyPath:"id"})}}async function ED(){return await new Promise(o=>{Ap(r=>{let f=r.transaction([D$],"readonly").objectStore(D$).get("buffer");f.onerror=v=>{console.error("Database error"),console.error(v),o(void 0)},f.onsuccess=async()=>{let v=f.result;if(!v){o(void 0);return}o(v.data)}})})}function b$(o,r=!0){let l=S$.getElementsByClassName("loading_icon")[0];l.innerHTML=o,l.style.animation=r?"none":""}async function Nk(o){Ap(r=>{let g=r.transaction([D$],"readwrite").objectStore(D$);try{let f=g.put({id:"buffer",data:o});f.onsuccess=()=>{Y5("SoundFont stored successfully")},f.onerror=v=>{console.error("Error saving soundfont",v)}}catch(f){x4("Failed saving soundfont:",f)}})}async function mD(o){let r=new OC(o);try{let f=window.AudioContext||window.webkitAudioContext;window.audioContextMain=new f({sampleRate:hD})}catch(f){throw b$(Dm(256)),Ri.textContent=r.getLocaleString("locale.synthInit.noWebAudio"),f}Ri.textContent=r.getLocaleString("locale.synthInit.loadingSoundfont");let l=await ED(),g=!0;if(l===void 0){x4("Failed to load from db, fetching online instead"),g=!1;let f=document.getElementById("progress_bar"),v=r.getLocaleString("locale.synthInit.loadingBundledSoundfont");Ri.textContent=v,l=await CD(`soundfonts/${uD}`,n0=>{Ri.textContent=`${v} ${n0}%`}),f.style.width="0"}else Y5("Loaded the soundfont from the database succesfully");window.soundFontParser=l,g||(Ri.textContent=r.getLocaleString("locale.synthInit.savingSoundfont"),await Nk(l)),window.audioContextMain.state!=="running"&&document.addEventListener("mousedown",()=>{window.audioContextMain.state!=="running"&&window.audioContextMain.resume().then()}),Ri.textContent=r.getLocaleString("locale.synthInit.startingSynthesizer"),window.manager=new Ln(audioContextMain,soundFontParser,r),window.manager.sfError=f=>{b$(Dm(256)),g?(x4("Invalid soundfont in the database. Resetting."),Ap(v=>{let m0=v.transaction([D$],"readwrite").objectStore(D$).delete("buffer");m0.onsuccess=()=>{location.reload()}})):jC.innerHTML=`Error parsing soundfont:
${f}
`,Ri.innerHTML=`Error parsing soundfont:
${f}
`},await manager.ready,PA.files[0]?await sp(PA.files):(PA.onclick=void 0,PA.onchange=()=>{PA.files[0]&&sp(PA.files).then()}),b$(YB(256)),Ri.textContent=r.getLocaleString("locale.synthInit.done")}async function CD(o,r){let l=await fetch(o);if(!l.ok)throw jC.innerText="Error downloading soundfont!",l;let g=l.headers.get("content-length"),f=await(await l.body).getReader(),v=!1,n0=new Uint8Array(parseInt(g)),E0=0;do{let m0=await f.read();m0.value&&(n0.set(m0.value,E0),E0+=m0.value.length),v=m0.done;let c0=Math.round(E0/g*100);r(c0)}while(!v);return n0.buffer}async function sp(o){Tk.style.display="none";let r;o[0].name.length>20?r=o[0].name.substring(0,21)+"...":r=o[0].name,o.length>1&&(r+=` and ${o.length-1} others`),document.getElementById("file_upload").innerText=r,document.getElementById("file_upload").title=o[0].name;let l=[];for(let g of o)l.push({binary:await g.arrayBuffer(),altName:g.name});manager.synth.setLogLevel(!1,!1,!1,!1),manager.seq?manager.seq.loadNewSongList(l):manager.play(l),np.style.display="flex",np.onclick=window.manager.exportSong.bind(window.manager)}function BD(o){localStorage.setItem("spessasynth-settings",JSON.stringify(o)),Y5("saved as",o)}window.saveSettings=BD;var Lm=JSON.parse(localStorage.getItem("spessasynth-settings"));Lm!==null&&(window.savedSettings=new Promise(o=>{o(Lm)}));var op;Lm&&Lm.interface&&Lm.interface.language?op=(await savedSettings).interface.language||navigator.language.split("-")[0].toLowerCase():op=navigator.language.split("-")[0].toLowerCase();PA.value="";PA.focus();np.style.display="none";document.getElementById("sf_upload").style.display="none";document.getElementById("file_upload").style.display="none";async function pD(o){jC.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.genericLoading");let r=await fetch("https://spessasus.github.io/spessasynth-demo-songs/demo_songs/"+o);r.name=o,await sp([r])}mD(op).then(()=>{document.getElementById("sf_upload").style.display="flex",document.getElementById("file_upload").style.display="flex",S$.classList.add("done"),document.documentElement.classList.add("no_scroll"),document.body.classList.add("no_scroll"),setTimeout(()=>{S$.style.display="none",document.body.classList.remove("no_scroll"),document.documentElement.classList.remove("no_scroll"),bn&&window.chrome&&mt(window.manager.localeManager.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:window.manager.localeManager.getLocaleString("locale.warnings.chromeMobile")}],7)},1e3),fD.onchange=o=>{if(!o.target.files[0])return;let r=o.target.files[0];window.manager.seq&&window.manager.seq.pause(),document.getElementById("sf_upload").firstElementChild.innerText=r.name,S$.style.display="",setTimeout(async()=>{S$.classList.remove("done"),b$(Ty(256),!1),Ri.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.loadingSoundfont");let l=performance.now()/1e3,g;try{g=await r.arrayBuffer(),window.soundFontParser=g}catch(v){throw Ri.textContent=window.manager.localeManager.getLocaleString("locale.warnings.outOfMemory"),b$(Dm(256)),mt(manager.localeManager.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:window.manager.localeManager.getLocaleString("locale.warnings.outOfMemory")}]),v}window.manager.sfError=v=>{Ri.innerHTML=`Error parsing soundfont:
${v}
`,b$(Dm(256)),console.error(v)},Ri.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.startingSynthesizer"),await window.manager.reloadSf(g),window.manager.seq&&(window.manager.seq.currentTime-=.1),Ri.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.savingSoundfont"),await Nk(g);let f=performance.now()/1e3-l;await new Promise(v=>setTimeout(v,1e3-f)),b$(YB(256)),Ri.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.done"),S$.classList.add("done"),document.documentElement.classList.add("no_scroll"),document.body.classList.add("no_scroll"),setTimeout(()=>{S$.style.display="none",document.body.classList.remove("no_scroll"),document.documentElement.classList.remove("no_scroll")},1e3)},75)},Tk.onclick=async()=>{let o=[{type:"button",textContent:window.manager.localeManager.getLocaleString("locale.credits"),onClick:()=>{window.open("https://github.com/spessasus/spessasynth-demo-songs#readme")}},{type:"button",textContent:"Bundled SoundFont Credits",onClick:()=>{window.open("https://schristiancollins.com/generaluser.php")}}];jC.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.genericLoading");let r=await(await fetch("https://spessasus.github.io/spessasynth-demo-songs/demo_song_list.json")).text(),l=JSON.parse(r);for(let g of l)o.push({type:"button",textContent:g.name,onClick:async f=>{Ot(f.id),await pD(g.fileName)}});mt(window.manager.localeManager.getLocaleString("locale.demoSongButton"),o,999999,!0,void 0)}}); +Note: the video will be available in console as 'video'`,"");if(F0===null)return;let b1=document.createElement("video");b1.src=F0,b1.classList.add("secret_video"),m0.parentElement.appendChild(b1),b1.play(),window.video=b1,this.seq&&(b1.currentTime=parseFloat(window.prompt("Video offset to sync to midi, in seconds.","0")),b1.play(),this.seq.currentTime=0),document.addEventListener("keydown",l2=>{l2.key===" "&&(b1.paused?b1.play():b1.pause())});break}}),this.renderer.render(!1,!0)}doDLSCheck(){if(window.isLocalEdition!==!0){let r=this.soundFont.slice(8,12);Ee(new V3(r),4).toLowerCase()==="dls "&&mt(this.localeManager.getLocaleString("locale.convertDls.title"),[{type:"text",textContent:this.localeManager.getLocaleString("locale.convertDls.message")},{type:"button",textContent:this.localeManager.getLocaleString("locale.yes"),onClick:g=>{Ot(g.id),this.downloadDesfont()}},{type:"button",textContent:this.localeManager.getLocaleString("locale.no"),onClick:g=>{Ot(g.id)}}],99999999)}}async reloadSf(r){await this.synth.soundfontManager.reloadManager(r),this.soundFont=r,setTimeout(()=>{this.doDLSCheck()},3e3)}play(r){if(this.synth){if(this.seq){this.seq.loadNewSongList(r);return}this.seq=new bC(r,this.synth),this.seq.onError=l=>{document.getElementById("title").textContent=l},this.seqUI.connectSequencer(this.seq),this.playerUI.connectSequencer(this.seq),this.renderer.connectSequencer(this.seq),this.settingsUI.addSequencer(this.seq),this.seq.play(!0)}}downloadDesfont(){let r=Bh(this.soundFont),l=r.write(),g=new Blob([l.buffer],{type:"audio/soundfont"});this.saveBlob(g,`${r.soundFontInfo.INAM}.sf2`)}};Ln.prototype.exportSong=Lk;Ln.prototype._exportAudioData=nk;Ln.prototype._doExportAudioData=rk;Ln.prototype.exportMidi=sk;Ln.prototype._exportSoundfont=xk;Ln.prototype._exportRMIDI=Rk;var hD=44100,uD="GeneralUserGS.sf3",jC=document.getElementById("title"),PA=document.getElementById("midi_file_input"),fD=document.getElementById("sf_file_input"),Tk=document.getElementById("demo_song"),np=document.getElementById("export_button"),S$=document.getElementsByClassName("loading")[0],Ri=document.getElementById("loading_message"),dD=await(await fetch("package.json")).json();window.SPESSASYNTH_VERSION=dD.version;var ID="spessasynth-db",D$="soundFontStore";function Ap(o){let r=indexedDB.open(ID,1);r.onsuccess=()=>{let l=r.result;o(l)},r.onupgradeneeded=l=>{l.target.result.createObjectStore(D$,{keyPath:"id"})}}async function ED(){return await new Promise(o=>{Ap(r=>{let f=r.transaction([D$],"readonly").objectStore(D$).get("buffer");f.onerror=S=>{console.error("Database error"),console.error(S),o(void 0)},f.onsuccess=async()=>{let S=f.result;if(!S){o(void 0);return}o(S.data)}})})}function b$(o,r=!0){let l=S$.getElementsByClassName("loading_icon")[0];l.innerHTML=o,l.style.animation=r?"none":""}async function Nk(o){Ap(r=>{let g=r.transaction([D$],"readwrite").objectStore(D$);try{let f=g.put({id:"buffer",data:o});f.onsuccess=()=>{Y5("SoundFont stored successfully")},f.onerror=S=>{console.error("Error saving soundfont",S)}}catch(f){x4("Failed saving soundfont:",f)}})}async function mD(o){let r=new OC(o);try{let f=window.AudioContext||window.webkitAudioContext;window.audioContextMain=new f({sampleRate:hD})}catch(f){throw b$(Dm(256)),Ri.textContent=r.getLocaleString("locale.synthInit.noWebAudio"),f}Ri.textContent=r.getLocaleString("locale.synthInit.loadingSoundfont");let l=await ED(),g=!0;if(l===void 0){x4("Failed to load from db, fetching online instead"),g=!1;let f=document.getElementById("progress_bar"),S=r.getLocaleString("locale.synthInit.loadingBundledSoundfont");Ri.textContent=S,l=await CD(`soundfonts/${uD}`,n0=>{Ri.textContent=`${S} ${n0}%`}),f.style.width="0"}else Y5("Loaded the soundfont from the database succesfully");window.soundFontParser=l,g||(Ri.textContent=r.getLocaleString("locale.synthInit.savingSoundfont"),await Nk(l)),window.audioContextMain.state!=="running"&&document.addEventListener("mousedown",()=>{window.audioContextMain.state!=="running"&&window.audioContextMain.resume().then()}),Ri.textContent=r.getLocaleString("locale.synthInit.startingSynthesizer"),window.manager=new Ln(audioContextMain,soundFontParser,r),window.manager.sfError=f=>{b$(Dm(256)),g?(x4("Invalid soundfont in the database. Resetting."),Ap(S=>{let m0=S.transaction([D$],"readwrite").objectStore(D$).delete("buffer");m0.onsuccess=()=>{location.reload()}})):jC.innerHTML=`Error parsing soundfont:
${f}
`,Ri.innerHTML=`Error parsing soundfont:
${f}
`},await manager.ready,PA.files[0]?await sp(PA.files):(PA.onclick=void 0,PA.onchange=()=>{PA.files[0]&&sp(PA.files).then()}),b$(YB(256)),Ri.textContent=r.getLocaleString("locale.synthInit.done")}async function CD(o,r){let l=await fetch(o);if(!l.ok)throw jC.innerText="Error downloading soundfont!",l;let g=l.headers.get("content-length"),f=await(await l.body).getReader(),S=!1,n0=new Uint8Array(parseInt(g)),E0=0;do{let m0=await f.read();m0.value&&(n0.set(m0.value,E0),E0+=m0.value.length),S=m0.done;let g0=Math.round(E0/g*100);r(g0)}while(!S);return n0.buffer}async function sp(o){Tk.style.display="none";let r;o[0].name.length>20?r=o[0].name.substring(0,21)+"...":r=o[0].name,o.length>1&&(r+=` and ${o.length-1} others`),document.getElementById("file_upload").innerText=r,document.getElementById("file_upload").title=o[0].name;let l=[];for(let g of o)l.push({binary:await g.arrayBuffer(),altName:g.name});manager.synth.setLogLevel(!1,!1,!1,!1),manager.seq?manager.seq.loadNewSongList(l):manager.play(l),np.style.display="flex",np.onclick=window.manager.exportSong.bind(window.manager)}function BD(o){localStorage.setItem("spessasynth-settings",JSON.stringify(o)),Y5("saved as",o)}window.saveSettings=BD;var Lm=JSON.parse(localStorage.getItem("spessasynth-settings"));Lm!==null&&(window.savedSettings=new Promise(o=>{o(Lm)}));var op;Lm&&Lm.interface&&Lm.interface.language?op=(await savedSettings).interface.language||navigator.language.split("-")[0].toLowerCase():op=navigator.language.split("-")[0].toLowerCase();PA.value="";PA.focus();np.style.display="none";document.getElementById("sf_upload").style.display="none";document.getElementById("file_upload").style.display="none";async function pD(o){jC.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.genericLoading");let r=await fetch("https://spessasus.github.io/spessasynth-demo-songs/demo_songs/"+o);r.name=o,await sp([r])}mD(op).then(()=>{document.getElementById("sf_upload").style.display="flex",document.getElementById("file_upload").style.display="flex",S$.classList.add("done"),document.documentElement.classList.add("no_scroll"),document.body.classList.add("no_scroll"),setTimeout(()=>{S$.style.display="none",document.body.classList.remove("no_scroll"),document.documentElement.classList.remove("no_scroll"),bn&&window.chrome&&mt(window.manager.localeManager.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:window.manager.localeManager.getLocaleString("locale.warnings.chromeMobile")}],7)},1e3),fD.onchange=o=>{if(!o.target.files[0])return;let r=o.target.files[0];window.manager.seq&&window.manager.seq.pause(),document.getElementById("sf_upload").firstElementChild.innerText=r.name,S$.style.display="",setTimeout(async()=>{S$.classList.remove("done"),b$(Ty(256),!1),Ri.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.loadingSoundfont");let l=performance.now()/1e3,g;try{g=await r.arrayBuffer(),window.soundFontParser=g}catch(S){throw Ri.textContent=window.manager.localeManager.getLocaleString("locale.warnings.outOfMemory"),b$(Dm(256)),mt(manager.localeManager.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:window.manager.localeManager.getLocaleString("locale.warnings.outOfMemory")}]),S}window.manager.sfError=S=>{Ri.innerHTML=`Error parsing soundfont:
${S}
`,b$(Dm(256)),console.error(S)},Ri.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.startingSynthesizer"),await window.manager.reloadSf(g),window.manager.seq&&(window.manager.seq.currentTime-=.1),Ri.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.savingSoundfont"),await Nk(g);let f=performance.now()/1e3-l;await new Promise(S=>setTimeout(S,1e3-f)),b$(YB(256)),Ri.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.done"),S$.classList.add("done"),document.documentElement.classList.add("no_scroll"),document.body.classList.add("no_scroll"),setTimeout(()=>{S$.style.display="none",document.body.classList.remove("no_scroll"),document.documentElement.classList.remove("no_scroll")},1e3)},75)},Tk.onclick=async()=>{let o=[{type:"button",textContent:window.manager.localeManager.getLocaleString("locale.credits"),onClick:()=>{window.open("https://github.com/spessasus/spessasynth-demo-songs#readme")}},{type:"button",textContent:"Bundled SoundFont Credits",onClick:()=>{window.open("https://schristiancollins.com/generaluser.php")}}];jC.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.genericLoading");let r=await(await fetch("https://spessasus.github.io/spessasynth-demo-songs/demo_song_list.json")).text(),l=JSON.parse(r);for(let g of l)o.push({type:"button",textContent:g.name,onClick:async f=>{Ot(f.id),await pD(g.fileName)}});mt(window.manager.localeManager.getLocaleString("locale.demoSongButton"),o,999999,!0,void 0)}}); diff --git a/src/website/minified/local_main.min.js b/src/website/minified/local_main.min.js index 02102624..d44f1933 100644 --- a/src/website/minified/local_main.min.js +++ b/src/website/minified/local_main.min.js @@ -1,4 +1,4 @@ -var hC=(o=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(o,{get:(r,l)=>(typeof require<"u"?require:r)[l]}):o)(function(o){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+o+'" is not supported')});var V3=class extends Uint8Array{currentIndex;constructor(r){super(r),this.currentIndex=0}};function bn(o){let r=o.reduce((f,D)=>f+D.length,0),l=new V3(r),g=0;for(let f of o)l.set(f,g),g+=f.length;return l}function I$(o){o=Math.floor(o);let r=Math.floor(o/60),l=Math.round(o-r*60);return{minutes:r,seconds:l,time:`${r.toString().padStart(2,"0")}:${l.toString().padStart(2,"0")}`}}function DB(o){return o.trim().replaceAll(".mid","").replaceAll(".rmi","").replaceAll("_"," ")}var D1={warn:"color: orange;",unrecognized:"color: red;",info:"color: aqua;",recognized:"color: lime",value:"color: yellow; background-color: black;"};var mi=class{constructor(r,l,g){this.ticks=r,this.messageStatusByte=l,this.messageData=g}};var K3={noteOff:128,noteOn:144,polyPressure:160,controllerChange:176,programChange:192,channelPressure:208,pitchBend:224,systemExclusive:240,timecode:241,songPosition:242,songSelect:243,tuneRequest:246,clock:248,start:250,continue:251,stop:252,activeSensing:254,reset:255,sequenceNumber:0,text:1,copyright:2,trackName:3,instrumentName:4,lyric:5,marker:6,cuePoint:7,programName:8,midiChannelPrefix:32,midiPort:33,endOfTrack:47,setTempo:81,smpteOffset:84,timeSignature:88,keySignature:89,sequenceSpecific:127};function VQ(o){let r=o&240,l=o&15,g=-1,f=o;return r>=128&&r<=224&&(g=l,f=r),{status:f,channel:g}}var B3={bankSelect:0,modulationWheel:1,breathController:2,footController:4,portamentoTime:5,dataEntryMsb:6,mainVolume:7,balance:8,pan:10,expressionController:11,effectControl1:12,effectControl2:13,generalPurposeController1:16,generalPurposeController2:17,generalPurposeController3:18,generalPurposeController4:19,lsbForControl0BankSelect:32,lsbForControl1ModulationWheel:33,lsbForControl2BreathController:34,lsbForControl4FootController:36,lsbForControl5PortamentoTime:37,lsbForControl6DataEntry:38,lsbForControl7MainVolume:39,lsbForControl8Balance:40,lsbForControl10Pan:42,lsbForControl11ExpressionController:43,lsbForControl12EffectControl1:44,lsbForControl13EffectControl2:45,sustainPedal:64,portamentoOnOff:65,sostenutoPedal:66,softPedal:67,legatoFootswitch:68,hold2Pedal:69,soundVariation:70,timbreHarmonicContent:71,releaseTime:72,attackTime:73,brightness:74,soundController6:75,soundController7:76,soundController8:77,soundController9:78,soundController10:79,generalPurposeController5:80,generalPurposeController6:81,generalPurposeController7:82,generalPurposeController8:83,portamentoControl:84,reverbDepth:91,tremoloDepth:92,chorusDepth:93,detuneDepth:94,phaserDepth:95,dataIncrement:96,dataDecrement:97,NRPNLsb:98,NRPNMsb:99,RPNLsb:100,RPNMsb:101,allSoundOff:120,resetAllControllers:121,localControlOnOff:122,allNotesOff:123,omniModeOff:124,omniModeOn:125,monoModeOn:126,polyModeOn:127};var uC=class{constructor(){this.events={noteoff:{},noteon:{},pitchwheel:{},controllerchange:{},programchange:{},channelpressure:{},polypressure:{},drumchange:{},stopall:{},newchannel:{},mutechannel:{},presetlistchange:{},allcontrollerreset:{},soundfonterror:{}}}addEvent(r,l,g){this.events[r][l]=g}removeEvent(r,l){delete this.events[r][l]}callEvent(r,l){this.events[r]&&Object.values(this.events[r]).forEach(g=>g(l))}};var _B={nodesAmount:4,defaultDelay:.03,delayVariation:.01,stereoDifference:.02,oscillatorFrequency:.3,oscillatorFrequencyVariation:.05,oscillatorGain:.003},fC=class{constructor(r,l=_B){let g=r.context;this.input=new ChannelSplitterNode(g,{numberOfOutputs:2});let f=new ChannelMergerNode(g,{numberOfInputs:2}),D=[],o0=[],E0=l.oscillatorFrequency,m0=l.defaultDelay;for(let l0=0;l0{let D=await f.arrayBuffer();l.buffer=await o.decodeAudioData(D)})}return l}var c8={noteOff:0,noteOn:1,ccChange:2,programChange:3,channelPressure:4,polyPressure:5,killNote:6,ccReset:7,setChannelVibrato:8,soundFontManager:9,stopAll:10,killNotes:11,muteChannel:12,addNewChannel:13,customcCcChange:14,debugMessage:15,systemExclusive:16,setMasterParameter:17,setDrums:18,pitchWheel:19,transpose:20,highPerformanceMode:21,lockController:22,sequencerSpecific:23,requestSynthesizerSnapshot:24,setLogLevel:25},Cm={mainVolume:0,masterPan:1,voicesCap:2,interpolationType:3},Ci=-1,E$={channelProperties:0,eventCall:1,reportedCurrentTime:2,sequencerSpecific:3,synthesizerSnapshot:4,ready:5,soundfontError:6,identify:7};var zQ=!1,ZQ=!0,dC=!1,Lb=!0;function WQ(o,r,l,g){zQ=o,ZQ=r,dC=l,Lb=g}function W5(...o){zQ&&console.info(...o)}function Ie(...o){ZQ&&console.warn(...o)}function cr(...o){dC&&console.group(...o)}function ri(...o){dC&&console.groupCollapsed(...o)}function i4(){dC&&console.groupEnd()}var jQ={chorusEnabled:!0,chorusConfig:_B,reverbEnabled:!0,reverbImpulseResponse:void 0};var Bm={reloadSoundFont:0,addNewSoundFont:2,deleteSoundFont:3,rearrangeSoundFonts:4};var IC=class{constructor(r){this.soundfontList=[{id:"main",bankOffset:0}],this._port=r.worklet.port,this.synth=r}_sendToWorklet(r,l){this._port.postMessage({messageType:c8.soundFontManager,messageData:[r,l]})}async addNewSoundFont(r,l,g=0){if(this.soundfontList.find(f=>f.id===l)!==void 0)throw new Error("Cannot overwrite the existing soundfont. Use soundfontManager.delete(id) instead.");this._sendToWorklet(Bm.addNewSoundFont,[r,l,g]),await new Promise(f=>this.synth.resolveWhenReady=f),this.soundfontList.push({id:l,bankOffset:g})}deleteSoundFont(r){if(this.soundfontList.length===0){Ie("1 soundfont left. Aborting!");return}if(this.soundfontList.findIndex(l=>l.id===r)===-1){Ie(`No soundfont with id of "${r}" found. Aborting!`);return}this._sendToWorklet(Bm.deleteSoundFont,r)}rearrangeSoundFonts(r){this._sendToWorklet(Bm.rearrangeSoundFonts,r),this.soundfontList.sort((l,g)=>r.indexOf(l.id)-r.indexOf(g.id))}async reloadManager(r){this._sendToWorklet(Bm.reloadSoundFont,r),await new Promise(l=>this.synth.resolveWhenReady=l)}};var v1={INVALID:-1,startAddrsOffset:0,endAddrOffset:1,startloopAddrsOffset:2,endloopAddrsOffset:3,startAddrsCoarseOffset:4,modLfoToPitch:5,vibLfoToPitch:6,modEnvToPitch:7,initialFilterFc:8,initialFilterQ:9,modLfoToFilterFc:10,modEnvToFilterFc:11,endAddrsCoarseOffset:12,modLfoToVolume:13,unused1:14,chorusEffectsSend:15,reverbEffectsSend:16,pan:17,unused2:18,unused3:19,unused4:20,delayModLFO:21,freqModLFO:22,delayVibLFO:23,freqVibLFO:24,delayModEnv:25,attackModEnv:26,holdModEnv:27,decayModEnv:28,sustainModEnv:29,releaseModEnv:30,keyNumToModEnvHold:31,keyNumToModEnvDecay:32,delayVolEnv:33,attackVolEnv:34,holdVolEnv:35,decayVolEnv:36,sustainVolEnv:37,releaseVolEnv:38,keyNumToVolEnvHold:39,keyNumToVolEnvDecay:40,instrument:41,reserved1:42,keyRange:43,velRange:44,startloopAddrsCoarseOffset:45,keyNum:46,velocity:47,initialAttenuation:48,reserved2:49,endloopAddrsCoarseOffset:50,coarseTune:51,fineTune:52,sampleID:53,sampleModes:54,reserved3:55,scaleTuning:56,exclusiveClass:57,overridingRootKey:58,unused5:59,endOper:60},l9=[];l9[v1.startAddrsOffset]={min:0,max:32768,def:0};l9[v1.endAddrOffset]={min:-32768,max:32768,def:0};l9[v1.startloopAddrsOffset]={min:-32768,max:32768,def:0};l9[v1.endloopAddrsOffset]={min:-32768,max:32768,def:0};l9[v1.startAddrsCoarseOffset]={min:0,max:32768,def:0};l9[v1.modLfoToPitch]={min:-12e3,max:12e3,def:0};l9[v1.vibLfoToPitch]={min:-12e3,max:12e3,def:0};l9[v1.modEnvToPitch]={min:-12e3,max:12e3,def:0};l9[v1.initialFilterFc]={min:1500,max:13500,def:13500};l9[v1.initialFilterQ]={min:0,max:960,def:0};l9[v1.modLfoToFilterFc]={min:-12e3,max:12e3,def:0};l9[v1.modEnvToFilterFc]={min:-12e3,max:12e3,def:0};l9[v1.endAddrsCoarseOffset]={min:-32768,max:32768,def:0};l9[v1.modLfoToVolume]={min:-960,max:960,def:0};l9[v1.chorusEffectsSend]={min:0,max:1e3,def:0};l9[v1.reverbEffectsSend]={min:0,max:1e3,def:0};l9[v1.pan]={min:-500,max:500,def:0};l9[v1.delayModLFO]={min:-12e3,max:5e3,def:-12e3};l9[v1.freqModLFO]={min:-16e3,max:4500,def:0};l9[v1.delayVibLFO]={min:-12e3,max:5e3,def:-12e3};l9[v1.freqVibLFO]={min:-16e3,max:4500,def:0};l9[v1.delayModEnv]={min:-32768,max:5e3,def:-32768};l9[v1.attackModEnv]={min:-32768,max:8e3,def:-32768};l9[v1.holdModEnv]={min:-12e3,max:5e3,def:-12e3};l9[v1.decayModEnv]={min:-12e3,max:8e3,def:-12e3};l9[v1.sustainModEnv]={min:0,max:1e3,def:0};l9[v1.releaseModEnv]={min:-12e3,max:8e3,def:-12e3};l9[v1.keyNumToModEnvHold]={min:-1200,max:1200,def:0};l9[v1.keyNumToModEnvDecay]={min:-1200,max:1200,def:0};l9[v1.delayVolEnv]={min:-12e3,max:5e3,def:-12e3};l9[v1.attackVolEnv]={min:-12e3,max:8e3,def:-12e3};l9[v1.holdVolEnv]={min:-12e3,max:5e3,def:-12e3};l9[v1.decayVolEnv]={min:-12e3,max:8e3,def:-12e3};l9[v1.sustainVolEnv]={min:0,max:1440,def:0};l9[v1.releaseVolEnv]={min:-7200,max:8e3,def:-12e3};l9[v1.keyNumToVolEnvHold]={min:-1200,max:1200,def:0};l9[v1.keyNumToVolEnvDecay]={min:-1200,max:1200,def:0};l9[v1.startloopAddrsCoarseOffset]={min:-32768,max:32768,def:0};l9[v1.keyNum]={min:-1,max:127,def:-1};l9[v1.velocity]={min:-1,max:127,def:-1};l9[v1.initialAttenuation]={min:-250,max:1440,def:0};l9[v1.endloopAddrsCoarseOffset]={min:-32768,max:32768,def:0};l9[v1.coarseTune]={min:-120,max:120,def:0};l9[v1.fineTune]={min:-12700,max:12700,def:0};l9[v1.scaleTuning]={min:0,max:1200,def:100};l9[v1.exclusiveClass]={min:0,max:99999,def:0};l9[v1.overridingRootKey]={min:-1,max:127,def:-1};var W6=class{generatorType=v1.INVALID;generatorValue=0;constructor(r=v1.INVALID,l=0){if(this.generatorType=r,l===void 0)throw new Error("No value provided.");let g=l9[r];this.generatorValue=Math.round(l),g!==void 0&&(this.generatorValue=Math.max(g.min,Math.min(g.max,this.generatorValue)))}};var Rt={noController:0,noteOnVelocity:2,noteOnKeyNum:3,polyPressure:10,channelPressure:13,pitchWheel:14,pitchWheelRange:16,link:127},Nr={linear:0,concave:1,convex:2,switch:3},se=class o{currentValue=0;constructor(r){this.sourceEnum=r.srcEnum,this.modulatorDestination=r.dest,this.secondarySourceEnum=r.secSrcEnum,this.transformAmount=r.amt,this.transformType=r.transform,this.modulatorDestination>58&&(this.modulatorDestination=v1.INVALID),this.sourcePolarity=this.sourceEnum>>9&1,this.sourceDirection=this.sourceEnum>>8&1,this.sourceUsesCC=this.sourceEnum>>7&1,this.sourceIndex=this.sourceEnum&127,this.sourceCurveType=this.sourceEnum>>10&3,this.secSrcPolarity=this.secondarySourceEnum>>9&1,this.secSrcDirection=this.secondarySourceEnum>>8&1,this.secSrcUsesCC=this.secondarySourceEnum>>7&1,this.secSrcIndex=this.secondarySourceEnum&127,this.secSrcCurveType=this.secondarySourceEnum>>10&3}static copy(r){return new o({srcEnum:r.sourceEnum,secSrcEnum:r.secondarySourceEnum,transform:r.transformType,amt:r.transformAmount,dest:r.modulatorDestination})}static isIdentical(r,l){return r.sourceEnum===l.sourceEnum&&r.modulatorDestination===l.modulatorDestination&&r.secondarySourceEnum===l.secondarySourceEnum&&r.transformType===l.transformType}sumTransform(r){return new o({srcEnum:this.sourceEnum,secSrcEnum:this.secondarySourceEnum,dest:this.modulatorDestination,transform:this.transformType,amt:this.transformAmount+r.transformAmount})}debugString(){function r(f,D){return Object.keys(f).find(o0=>f[o0]===D)}let l=r(Nr,this.sourceCurveType);l+=this.sourcePolarity===0?" unipolar ":" bipolar ",l+=this.sourceDirection===0?"forwards ":"backwards ",this.sourceUsesCC?l+=r(B3,this.sourceIndex):l+=r(Rt,this.sourceIndex);let g=r(Nr,this.secSrcCurveType);return g+=this.secSrcPolarity===0?" unipolar ":" bipolar ",g+=this.secSrcCurveType===0?"forwards ":"backwards ",this.secSrcUsesCC?g+=r(B3,this.secSrcIndex):g+=r(Rt,this.secSrcIndex),`Modulator: +var hC=(o=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(o,{get:(r,l)=>(typeof require<"u"?require:r)[l]}):o)(function(o){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+o+'" is not supported')});var V3=class extends Uint8Array{currentIndex;constructor(r){super(r),this.currentIndex=0}};function bn(o){let r=o.reduce((f,D)=>f+D.length,0),l=new V3(r),g=0;for(let f of o)l.set(f,g),g+=f.length;return l}function I$(o){o=Math.floor(o);let r=Math.floor(o/60),l=Math.round(o-r*60);return{minutes:r,seconds:l,time:`${r.toString().padStart(2,"0")}:${l.toString().padStart(2,"0")}`}}function DB(o){return o.trim().replaceAll(".mid","").replaceAll(".rmi","").replaceAll("_"," ")}var _1={warn:"color: orange;",unrecognized:"color: red;",info:"color: aqua;",recognized:"color: lime",value:"color: yellow; background-color: black;"};var mi=class{constructor(r,l,g){this.ticks=r,this.messageStatusByte=l,this.messageData=g}};var K3={noteOff:128,noteOn:144,polyPressure:160,controllerChange:176,programChange:192,channelPressure:208,pitchBend:224,systemExclusive:240,timecode:241,songPosition:242,songSelect:243,tuneRequest:246,clock:248,start:250,continue:251,stop:252,activeSensing:254,reset:255,sequenceNumber:0,text:1,copyright:2,trackName:3,instrumentName:4,lyric:5,marker:6,cuePoint:7,programName:8,midiChannelPrefix:32,midiPort:33,endOfTrack:47,setTempo:81,smpteOffset:84,timeSignature:88,keySignature:89,sequenceSpecific:127};function VQ(o){let r=o&240,l=o&15,g=-1,f=o;return r>=128&&r<=224&&(g=l,f=r),{status:f,channel:g}}var B3={bankSelect:0,modulationWheel:1,breathController:2,footController:4,portamentoTime:5,dataEntryMsb:6,mainVolume:7,balance:8,pan:10,expressionController:11,effectControl1:12,effectControl2:13,generalPurposeController1:16,generalPurposeController2:17,generalPurposeController3:18,generalPurposeController4:19,lsbForControl0BankSelect:32,lsbForControl1ModulationWheel:33,lsbForControl2BreathController:34,lsbForControl4FootController:36,lsbForControl5PortamentoTime:37,lsbForControl6DataEntry:38,lsbForControl7MainVolume:39,lsbForControl8Balance:40,lsbForControl10Pan:42,lsbForControl11ExpressionController:43,lsbForControl12EffectControl1:44,lsbForControl13EffectControl2:45,sustainPedal:64,portamentoOnOff:65,sostenutoPedal:66,softPedal:67,legatoFootswitch:68,hold2Pedal:69,soundVariation:70,timbreHarmonicContent:71,releaseTime:72,attackTime:73,brightness:74,soundController6:75,soundController7:76,soundController8:77,soundController9:78,soundController10:79,generalPurposeController5:80,generalPurposeController6:81,generalPurposeController7:82,generalPurposeController8:83,portamentoControl:84,reverbDepth:91,tremoloDepth:92,chorusDepth:93,detuneDepth:94,phaserDepth:95,dataIncrement:96,dataDecrement:97,NRPNLsb:98,NRPNMsb:99,RPNLsb:100,RPNMsb:101,allSoundOff:120,resetAllControllers:121,localControlOnOff:122,allNotesOff:123,omniModeOff:124,omniModeOn:125,monoModeOn:126,polyModeOn:127};var uC=class{constructor(){this.events={noteoff:{},noteon:{},pitchwheel:{},controllerchange:{},programchange:{},channelpressure:{},polypressure:{},drumchange:{},stopall:{},newchannel:{},mutechannel:{},presetlistchange:{},allcontrollerreset:{},soundfonterror:{}}}addEvent(r,l,g){this.events[r][l]=g}removeEvent(r,l){delete this.events[r][l]}callEvent(r,l){this.events[r]&&Object.values(this.events[r]).forEach(g=>g(l))}};var _B={nodesAmount:4,defaultDelay:.03,delayVariation:.01,stereoDifference:.02,oscillatorFrequency:.3,oscillatorFrequencyVariation:.05,oscillatorGain:.003},fC=class{constructor(r,l=_B){let g=r.context;this.input=new ChannelSplitterNode(g,{numberOfOutputs:2});let f=new ChannelMergerNode(g,{numberOfInputs:2}),D=[],o0=[],E0=l.oscillatorFrequency,m0=l.defaultDelay;for(let c0=0;c0{let D=await f.arrayBuffer();l.buffer=await o.decodeAudioData(D)})}return l}var c8={noteOff:0,noteOn:1,ccChange:2,programChange:3,channelPressure:4,polyPressure:5,killNote:6,ccReset:7,setChannelVibrato:8,soundFontManager:9,stopAll:10,killNotes:11,muteChannel:12,addNewChannel:13,customcCcChange:14,debugMessage:15,systemExclusive:16,setMasterParameter:17,setDrums:18,pitchWheel:19,transpose:20,highPerformanceMode:21,lockController:22,sequencerSpecific:23,requestSynthesizerSnapshot:24,setLogLevel:25},Cm={mainVolume:0,masterPan:1,voicesCap:2,interpolationType:3},Ci=-1,E$={channelProperties:0,eventCall:1,reportedCurrentTime:2,sequencerSpecific:3,synthesizerSnapshot:4,ready:5,soundfontError:6,identify:7};var zQ=!1,ZQ=!0,dC=!1,Lb=!0;function WQ(o,r,l,g){zQ=o,ZQ=r,dC=l,Lb=g}function W5(...o){zQ&&console.info(...o)}function Ie(...o){ZQ&&console.warn(...o)}function cr(...o){dC&&console.group(...o)}function ri(...o){dC&&console.groupCollapsed(...o)}function i4(){dC&&console.groupEnd()}var jQ={chorusEnabled:!0,chorusConfig:_B,reverbEnabled:!0,reverbImpulseResponse:void 0};var Bm={reloadSoundFont:0,addNewSoundFont:2,deleteSoundFont:3,rearrangeSoundFonts:4};var IC=class{constructor(r){this.soundfontList=[{id:"main",bankOffset:0}],this._port=r.worklet.port,this.synth=r}_sendToWorklet(r,l){this._port.postMessage({messageType:c8.soundFontManager,messageData:[r,l]})}async addNewSoundFont(r,l,g=0){if(this.soundfontList.find(f=>f.id===l)!==void 0)throw new Error("Cannot overwrite the existing soundfont. Use soundfontManager.delete(id) instead.");this._sendToWorklet(Bm.addNewSoundFont,[r,l,g]),await new Promise(f=>this.synth.resolveWhenReady=f),this.soundfontList.push({id:l,bankOffset:g})}deleteSoundFont(r){if(this.soundfontList.length===0){Ie("1 soundfont left. Aborting!");return}if(this.soundfontList.findIndex(l=>l.id===r)===-1){Ie(`No soundfont with id of "${r}" found. Aborting!`);return}this._sendToWorklet(Bm.deleteSoundFont,r)}rearrangeSoundFonts(r){this._sendToWorklet(Bm.rearrangeSoundFonts,r),this.soundfontList.sort((l,g)=>r.indexOf(l.id)-r.indexOf(g.id))}async reloadManager(r){this._sendToWorklet(Bm.reloadSoundFont,r),await new Promise(l=>this.synth.resolveWhenReady=l)}};var v1={INVALID:-1,startAddrsOffset:0,endAddrOffset:1,startloopAddrsOffset:2,endloopAddrsOffset:3,startAddrsCoarseOffset:4,modLfoToPitch:5,vibLfoToPitch:6,modEnvToPitch:7,initialFilterFc:8,initialFilterQ:9,modLfoToFilterFc:10,modEnvToFilterFc:11,endAddrsCoarseOffset:12,modLfoToVolume:13,unused1:14,chorusEffectsSend:15,reverbEffectsSend:16,pan:17,unused2:18,unused3:19,unused4:20,delayModLFO:21,freqModLFO:22,delayVibLFO:23,freqVibLFO:24,delayModEnv:25,attackModEnv:26,holdModEnv:27,decayModEnv:28,sustainModEnv:29,releaseModEnv:30,keyNumToModEnvHold:31,keyNumToModEnvDecay:32,delayVolEnv:33,attackVolEnv:34,holdVolEnv:35,decayVolEnv:36,sustainVolEnv:37,releaseVolEnv:38,keyNumToVolEnvHold:39,keyNumToVolEnvDecay:40,instrument:41,reserved1:42,keyRange:43,velRange:44,startloopAddrsCoarseOffset:45,keyNum:46,velocity:47,initialAttenuation:48,reserved2:49,endloopAddrsCoarseOffset:50,coarseTune:51,fineTune:52,sampleID:53,sampleModes:54,reserved3:55,scaleTuning:56,exclusiveClass:57,overridingRootKey:58,unused5:59,endOper:60},l9=[];l9[v1.startAddrsOffset]={min:0,max:32768,def:0};l9[v1.endAddrOffset]={min:-32768,max:32768,def:0};l9[v1.startloopAddrsOffset]={min:-32768,max:32768,def:0};l9[v1.endloopAddrsOffset]={min:-32768,max:32768,def:0};l9[v1.startAddrsCoarseOffset]={min:0,max:32768,def:0};l9[v1.modLfoToPitch]={min:-12e3,max:12e3,def:0};l9[v1.vibLfoToPitch]={min:-12e3,max:12e3,def:0};l9[v1.modEnvToPitch]={min:-12e3,max:12e3,def:0};l9[v1.initialFilterFc]={min:1500,max:13500,def:13500};l9[v1.initialFilterQ]={min:0,max:960,def:0};l9[v1.modLfoToFilterFc]={min:-12e3,max:12e3,def:0};l9[v1.modEnvToFilterFc]={min:-12e3,max:12e3,def:0};l9[v1.endAddrsCoarseOffset]={min:-32768,max:32768,def:0};l9[v1.modLfoToVolume]={min:-960,max:960,def:0};l9[v1.chorusEffectsSend]={min:0,max:1e3,def:0};l9[v1.reverbEffectsSend]={min:0,max:1e3,def:0};l9[v1.pan]={min:-500,max:500,def:0};l9[v1.delayModLFO]={min:-12e3,max:5e3,def:-12e3};l9[v1.freqModLFO]={min:-16e3,max:4500,def:0};l9[v1.delayVibLFO]={min:-12e3,max:5e3,def:-12e3};l9[v1.freqVibLFO]={min:-16e3,max:4500,def:0};l9[v1.delayModEnv]={min:-32768,max:5e3,def:-32768};l9[v1.attackModEnv]={min:-32768,max:8e3,def:-32768};l9[v1.holdModEnv]={min:-12e3,max:5e3,def:-12e3};l9[v1.decayModEnv]={min:-12e3,max:8e3,def:-12e3};l9[v1.sustainModEnv]={min:0,max:1e3,def:0};l9[v1.releaseModEnv]={min:-12e3,max:8e3,def:-12e3};l9[v1.keyNumToModEnvHold]={min:-1200,max:1200,def:0};l9[v1.keyNumToModEnvDecay]={min:-1200,max:1200,def:0};l9[v1.delayVolEnv]={min:-12e3,max:5e3,def:-12e3};l9[v1.attackVolEnv]={min:-12e3,max:8e3,def:-12e3};l9[v1.holdVolEnv]={min:-12e3,max:5e3,def:-12e3};l9[v1.decayVolEnv]={min:-12e3,max:8e3,def:-12e3};l9[v1.sustainVolEnv]={min:0,max:1440,def:0};l9[v1.releaseVolEnv]={min:-7200,max:8e3,def:-12e3};l9[v1.keyNumToVolEnvHold]={min:-1200,max:1200,def:0};l9[v1.keyNumToVolEnvDecay]={min:-1200,max:1200,def:0};l9[v1.startloopAddrsCoarseOffset]={min:-32768,max:32768,def:0};l9[v1.keyNum]={min:-1,max:127,def:-1};l9[v1.velocity]={min:-1,max:127,def:-1};l9[v1.initialAttenuation]={min:-250,max:1440,def:0};l9[v1.endloopAddrsCoarseOffset]={min:-32768,max:32768,def:0};l9[v1.coarseTune]={min:-120,max:120,def:0};l9[v1.fineTune]={min:-12700,max:12700,def:0};l9[v1.scaleTuning]={min:0,max:1200,def:100};l9[v1.exclusiveClass]={min:0,max:99999,def:0};l9[v1.overridingRootKey]={min:-1,max:127,def:-1};var W6=class{generatorType=v1.INVALID;generatorValue=0;constructor(r=v1.INVALID,l=0){if(this.generatorType=r,l===void 0)throw new Error("No value provided.");let g=l9[r];this.generatorValue=Math.round(l),g!==void 0&&(this.generatorValue=Math.max(g.min,Math.min(g.max,this.generatorValue)))}};var Rt={noController:0,noteOnVelocity:2,noteOnKeyNum:3,polyPressure:10,channelPressure:13,pitchWheel:14,pitchWheelRange:16,link:127},Nr={linear:0,concave:1,convex:2,switch:3},se=class o{currentValue=0;constructor(r){this.sourceEnum=r.srcEnum,this.modulatorDestination=r.dest,this.secondarySourceEnum=r.secSrcEnum,this.transformAmount=r.amt,this.transformType=r.transform,this.modulatorDestination>58&&(this.modulatorDestination=v1.INVALID),this.sourcePolarity=this.sourceEnum>>9&1,this.sourceDirection=this.sourceEnum>>8&1,this.sourceUsesCC=this.sourceEnum>>7&1,this.sourceIndex=this.sourceEnum&127,this.sourceCurveType=this.sourceEnum>>10&3,this.secSrcPolarity=this.secondarySourceEnum>>9&1,this.secSrcDirection=this.secondarySourceEnum>>8&1,this.secSrcUsesCC=this.secondarySourceEnum>>7&1,this.secSrcIndex=this.secondarySourceEnum&127,this.secSrcCurveType=this.secondarySourceEnum>>10&3}static copy(r){return new o({srcEnum:r.sourceEnum,secSrcEnum:r.secondarySourceEnum,transform:r.transformType,amt:r.transformAmount,dest:r.modulatorDestination})}static isIdentical(r,l){return r.sourceEnum===l.sourceEnum&&r.modulatorDestination===l.modulatorDestination&&r.secondarySourceEnum===l.secondarySourceEnum&&r.transformType===l.transformType}sumTransform(r){return new o({srcEnum:this.sourceEnum,secSrcEnum:this.secondarySourceEnum,dest:this.modulatorDestination,transform:this.transformType,amt:this.transformAmount+r.transformAmount})}debugString(){function r(f,D){return Object.keys(f).find(o0=>f[o0]===D)}let l=r(Nr,this.sourceCurveType);l+=this.sourcePolarity===0?" unipolar ":" bipolar ",l+=this.sourceDirection===0?"forwards ":"backwards ",this.sourceUsesCC?l+=r(B3,this.sourceIndex):l+=r(Rt,this.sourceIndex);let g=r(Nr,this.secSrcCurveType);return g+=this.secSrcPolarity===0?" unipolar ":" bipolar ",g+=this.secSrcCurveType===0?"forwards ":"backwards ",this.secSrcUsesCC?g+=r(B3,this.secSrcIndex):g+=r(Rt,this.secSrcIndex),`Modulator: Source: ${l} Secondary source: ${g} Destination: ${r(v1,this.modulatorDestination)} @@ -6,8 +6,8 @@ var hC=(o=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(o,{get:(r,l)=>( Transform type: ${this.transformType} -`}},xB=960,RB=Nr.concave;function Tr(o,r,l,g,f){return o<<10|r<<9|l<<8|g<<7|f}var EC=[new se({srcEnum:Tr(RB,0,1,0,Rt.noteOnVelocity),dest:v1.initialAttenuation,amt:xB,secSrcEnum:0,transform:0}),new se({srcEnum:129,dest:v1.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new se({srcEnum:Tr(RB,0,1,1,B3.mainVolume),dest:v1.initialAttenuation,amt:xB,secSrcEnum:0,transform:0}),new se({srcEnum:13,dest:v1.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new se({srcEnum:526,dest:v1.fineTune,amt:12700,secSrcEnum:16,transform:0}),new se({srcEnum:650,dest:v1.pan,amt:1e3,secSrcEnum:0,transform:0}),new se({srcEnum:Tr(RB,0,1,1,B3.expressionController),dest:v1.initialAttenuation,amt:xB,secSrcEnum:0,transform:0}),new se({srcEnum:219,dest:v1.reverbEffectsSend,amt:750,secSrcEnum:0,transform:0}),new se({srcEnum:221,dest:v1.chorusEffectsSend,amt:750,secSrcEnum:0,transform:0}),new se({srcEnum:Tr(Nr.linear,0,0,0,Rt.polyPressure),dest:v1.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new se({srcEnum:Tr(Nr.linear,0,0,1,B3.tremoloDepth),dest:v1.modLfoToVolume,amt:24,secSrcEnum:0,transform:0}),new se({srcEnum:Tr(Nr.linear,1,0,1,B3.releaseTime),dest:v1.releaseVolEnv,amt:1200,secSrcEnum:0,transform:0}),new se({srcEnum:Tr(Nr.linear,1,0,1,B3.brightness),dest:v1.initialFilterFc,amt:6e3,secSrcEnum:0,transform:0}),new se({srcEnum:Tr(Nr.linear,1,0,1,B3.timbreHarmonicContent),dest:v1.initialFilterQ,amt:250,secSrcEnum:0,transform:0})];var m$=128,XQ=147,Fb=new Int16Array(XQ).fill(0),ni=(o,r)=>Fb[o]=r<<7;ni(B3.mainVolume,100);ni(B3.balance,64);ni(B3.expressionController,127);ni(B3.pan,64);ni(B3.timbreHarmonicContent,64);ni(B3.releaseTime,64);ni(B3.attackTime,64);ni(B3.brightness,64);ni(B3.soundController6,64);ni(B3.soundController7,64);ni(B3.soundController8,64);ni(B3.soundController9,64);ni(B3.generalPurposeController6,64);ni(B3.generalPurposeController8,64);ni(m$+Rt.pitchWheel,64);ni(m$+Rt.pitchWheelRange,2);var mC={channelTuning:0,channelTransposeFine:1,modulationMultiplier:2,masterTuning:3,channelTuningSemitones:4},ey=Object.keys(mC).length,Mb=new Float32Array(ey);Mb[mC.modulationMultiplier]=1;var ty={velocityOverride:128};var Tb="spessasynth-worklet-system",LB=350,Di=9,Nb=16;var ah=class{constructor(r,l,g=!0,f=void 0,D=jQ){W5("%cInitializing SpessaSynth synthesizer...",D1.info),this.context=r.context;let o0=f?.oneOutput===!0;this.eventHandler=new uC,this._voiceCap=LB,this._outputsAmount=Nb,this.channelsAmount=this._outputsAmount,this.resolveWhenReady=void 0,this.isReady=new Promise(l0=>this.resolveWhenReady=l0),this.channelProperties=[];for(let l0=0;l0this.handleMessage(l0.data),this.soundfontManager=new IC(this),this._snapshotCallback=void 0,this.sequencerCallbackFunction=void 0,D.reverbEnabled&&!o0&&(this.reverbProcessor=KQ(this.context,D.reverbImpulseResponse),this.reverbProcessor.connect(r),this.worklet.connect(this.reverbProcessor,0)),D.chorusEnabled&&!o0&&(this.chorusProcessor=new fC(r,D.chorusConfig),this.worklet.connect(this.chorusProcessor.input,1)),o0)this.worklet.connect(r,0);else for(let l0=2;l0{this.channelsAmount++})}get voiceCap(){return this._voiceCap}set voiceCap(r){this._setMasterParam(Cm.voicesCap,r),this._voiceCap=r}get highPerformanceMode(){return this._highPerformanceMode}set highPerformanceMode(r){this._highPerformanceMode=r}get currentTime(){return this.context.currentTime}get voicesAmount(){return this._voicesAmount}setLogLevel(r,l,g,f){this.post({channelNumber:Ci,messageType:c8.setLogLevel,messageData:[r,l,g,f]})}_setMasterParam(r,l){this.post({channelNumber:Ci,messageType:c8.setMasterParameter,messageData:[r,l]})}setInterpolationType(r){this._setMasterParam(Cm.interpolationType,r)}handleMessage(r){let l=r.messageData;switch(r.messageType){case E$.channelProperties:this.channelProperties=l,this._voicesAmount=this.channelProperties.reduce((g,f)=>g+f.voicesAmount,0);break;case E$.eventCall:this.eventHandler.callEvent(l.eventName,l.eventData);break;case E$.sequencerSpecific:this.sequencerCallbackFunction&&this.sequencerCallbackFunction(l.messageType,l.messageData);break;case E$.synthesizerSnapshot:this._snapshotCallback&&this._snapshotCallback(l);break;case E$.ready:this.resolveWhenReady();break;case E$.soundfontError:Ie(new Error(l)),this.eventHandler.callEvent("soundfonterror",l);break}}async getSynthesizerSnapshot(){return new Promise(r=>{this._snapshotCallback=l=>{this._snapshotCallback=void 0,r(l)},this.post({messageType:c8.requestSynthesizerSnapshot,messageData:void 0,channelNumber:Ci})})}addNewChannel(r=!0){this.channelProperties.push({voicesAmount:0,pitchBend:0,pitchBendRangeSemitones:0,isMuted:!1,isDrum:!1}),r&&this.post({channelNumber:0,messageType:c8.addNewChannel,messageData:null})}setVibrato(r,l){this.post({channelNumber:r,messageType:c8.setChannelVibrato,messageData:l})}connectIndividualOutputs(r){if(r.length!==this._outputsAmount)throw new Error(`input nodes amount differs from the system's outputs amount! - Expected ${this._outputsAmount} got ${r.length}`);for(let l=0;l127||l<0)throw new Error(`Invalid controller number: ${l}`);g=Math.floor(g),l=Math.floor(l),this.post({channelNumber:r,messageType:c8.ccChange,messageData:[l,g,f]})}resetControllers(){this.post({channelNumber:Ci,messageType:c8.ccReset,messageData:void 0})}channelPressure(r,l){this.post({channelNumber:r,messageType:c8.channelPressure,messageData:l})}polyPressure(r,l,g){this.post({channelNumber:r,messageType:c8.polyPressure,messageData:[l,g]})}post(r){this.worklet.port.postMessage(r)}pitchWheel(r,l,g){this.post({channelNumber:r,messageType:c8.pitchWheel,messageData:[l,g]})}transpose(r){this.transposeChannel(Ci,r,!1)}transposeChannel(r,l,g=!1){this.post({channelNumber:r,messageType:c8.transpose,messageData:[l,g]})}setMainVolume(r){this._setMasterParam(Cm.mainVolume,r)}setMasterPan(r){this._setMasterParam(Cm.masterPan,r)}setPitchBendRange(r,l){this.controllerChange(r,B3.RPNMsb,0),this.controllerChange(r,B3.dataEntryMsb,l),this.controllerChange(r,B3.RPNMsb,127),this.controllerChange(r,B3.RPNLsb,127),this.controllerChange(r,B3.dataEntryMsb,0)}programChange(r,l,g=!1){this.post({channelNumber:r,messageType:c8.programChange,messageData:[l,g]})}velocityOverride(r,l){this.post({channelNumber:r,messageType:c8.ccChange,messageData:[ty.velocityOverride,l,!0]})}lockController(r,l,g){this.post({channelNumber:r,messageType:c8.lockController,messageData:[l,g]})}muteChannel(r,l){this.post({channelNumber:r,messageType:c8.muteChannel,messageData:l})}async reloadSoundFont(r){Ie("reloadSoundFont is deprecated. Please use the soundfontManager property instead."),await this.soundfontManager.reloadManager(r)}systemExclusive(r){this.post({channelNumber:Ci,messageType:c8.systemExclusive,messageData:Array.from(r)})}setDrums(r,l){this.post({channelNumber:r,messageType:c8.setDrums,messageData:l})}sendMessage(r){let l=VQ(r[0]);switch(l.status){case K3.noteOn:let g=r[2];g>0?this.noteOn(l.channel,r[1],g):this.noteOff(l.channel,r[1]);break;case K3.noteOff:this.noteOff(l.channel,r[1]);break;case K3.pitchBend:this.pitchWheel(l.channel,r[2],r[1]);break;case K3.controllerChange:this.controllerChange(l.channel,r[1],r[2]);break;case K3.programChange:this.programChange(l.channel,r[1]);break;case K3.polyPressure:this.polyPressure(l.channel,r[0],r[1]);break;case K3.channelPressure:this.channelPressure(l.channel,r[1]);break;case K3.systemExclusive:this.systemExclusive(new V3(r.slice(1)));break;case K3.reset:this.stopAll(!0),this.resetControllers();break;default:break}}reverbateEverythingBecauseWhyNot(){for(let r=0;r{this.pressedKeys.delete(g),this.releaseNote(g,this.channel),this.synth.noteOff(this.channel,g)},r=(g,f)=>{let D;if(xA)D=127;else{let E0=this.keys[0].getBoundingClientRect();if(this.keyboard.classList.contains("sideways")){let m0=f.clientX-E0.left,l0=E0.width;D=Math.floor((l0-m0)/l0*127)}else{let m0=f.clientY-E0.top,l0=E0.height;D=Math.floor(m0/l0*127)}}this.synth.noteOn(this.channel,g,D,this.enableDebugging)},l=g=>{let f=g.touches?Array.from(g.touches):[g],D=new Set;f.forEach(o0=>{let E0=document.elementFromPoint(o0.clientX,o0.clientY),m0=parseInt(E0.id.replace("note",""));D.add(m0),!(isNaN(m0)||m0<0||this.pressedKeys.has(m0))&&(this.pressedKeys.add(m0),r(m0,o0))}),this.pressedKeys.forEach(o0=>{D.has(o0)||o(o0)})};xA||(document.addEventListener("mousedown",g=>{this.mouseHeld=!0,l(g)}),document.addEventListener("mouseup",()=>{this.mouseHeld=!1,this.pressedKeys.forEach(g=>{o(g)})}),this.keyboard.onmousemove=g=>{this.mouseHeld&&l(g)},this.keyboard.onmouseleave=()=>{this.pressedKeys.forEach(g=>{o(g)})}),this.keyboard.ontouchstart=l.bind(this),this.keyboard.ontouchend=l.bind(this),this.keyboard.ontouchmove=l.bind(this)}var ry=20,pm=class{constructor(r,l){this.mouseHeld=!1,this.pressedKeys=new Set,this.mode="light",this.enableDebugging=!1,this.sizeChangeAnimationId=-1,this.modeChangeAnimationId=-1,this._keyRange={min:0,max:127},document.addEventListener("keydown",g=>{g.key==="Shift"&&(this.synth.controllerChange(this.channel,B3.sustainPedal,127),this.keyboard.style.filter="brightness(0.5)")}),document.addEventListener("keyup",g=>{g.key==="Shift"&&(this.synth.controllerChange(this.channel,B3.sustainPedal,0),this.keyboard.style.filter="")}),this.synth=l,this.channel=0,this.channelColors=r,this._shown=!0,this._createKeyboard(),this.synth.eventHandler.addEvent("noteon","keyboard-note-on",g=>{this.pressNote(g.midiNote,g.channel,g.velocity)}),this.synth.eventHandler.addEvent("noteoff","keyboard-note-off",g=>{this.releaseNote(g.midiNote,g.channel)}),this.synth.eventHandler.addEvent("stopall","keyboard-stop-all",()=>{this.clearNotes()}),this.synth.eventHandler.addEvent("mutechannel","keyboard-mute-channel",g=>{if(g.isMuted)for(let f=0;f<128;f++)this.releaseNote(f,g.channel)})}get shown(){return this._shown}set shown(r){r===!0?this.keyboard.style.display="":this.keyboard.style.display="none",this._shown=r}get keyRange(){return this._keyRange}set keyRange(r){if(r.max===void 0||r.min===void 0)throw new TypeError("No min or max property!");if(r.min>r.max){let l=r.min;r.min=r.max,r.max=l}r.min=Math.max(0,r.min),r.max=Math.min(127,r.max),this.setKeyRange(r,!0)}_createKeyboard(){this.keyboard=document.getElementById("keyboard"),this.keyboard.innerHTML="",this.keys=[],this.keyColors=[];for(let r=this._keyRange.min;r=0&&(D=l(r-1)),r<127&&(o0=l(r+1)),o0&&D?g.classList.add("between_sharps"):D?g.classList.add("left_sharp"):o0&&g.classList.add("right_sharp")}return g}toggleMode(r=!0){if(this.mode==="light"?this.mode="dark":this.mode="light",!r){this.keys.forEach(g=>{g.classList.contains("flat_key")&&g.classList.toggle("flat_dark_key")});return}this.modeChangeAnimationId&&clearTimeout(this.modeChangeAnimationId),this.keyboard.classList.add("mode_transform"),document.body.scrollHeight<=window.innerHeight&&document.body.classList.add("no_scroll"),this.modeChangeAnimationId=setTimeout(()=>{this.keys.forEach(g=>{g.classList.contains("flat_key")&&g.classList.toggle("flat_dark_key")}),this.keyboard.classList.remove("mode_transform"),setTimeout(()=>document.body.classList.remove("no_scroll"),500)},500)}setKeyRange(r,l=!0){Math.abs(r.max-r.min)<12&&(r.min-=6,r.max=r.min+12);let f=900/(r.max-r.min+5),D=document.styleSheets[0].cssRules,o0;for(let E0 of D)if(E0.selectorText==="#keyboard .key"){o0=E0;break}if(o0.style.setProperty("--pressed-transform-skew",`${8e-4/(f/7)}`),l){this.sizeChangeAnimationId&&clearTimeout(this.sizeChangeAnimationId);let E0=getComputedStyle(this.keyboard),m0=parseFloat(E0.getPropertyValue("--current-min-height").replace(/[^\d.]+/g,"")),l0=this.keyboard.getBoundingClientRect().height,u1=f/m0,F=l0*u1-l0,q0=(this._keyRange.min+this._keyRange.max)/2,R0=(r.min+r.max)/2;this._keyRange=r;let L1=this.keys.find(Y2=>Y2.classList.contains("sharp_key")).getBoundingClientRect().width,t2=(q0-R0)*L1,y1=parseFloat(E0.getPropertyValue("--key-border-radius").replace(/[^\d.]+/g,""));this.keyboard.style.marginTop=`${F}px`,this.keyboard.style.transition="",this.keyboard.style.transform=`scale(${u1}) translateX(${t2}px)`,this.keyboard.style.setProperty("--key-border-radius",`${y1/u1}vmin`),this.sizeChangeAnimationId=setTimeout(()=>{this.keyboard.style.setProperty("--current-min-height",`${f}`),this.keyboard.style.transition="none",this.keyboard.style.transform="",this.keyboard.style.marginTop="",this.keyboard.style.setProperty("--key-border-radius",""),this._createKeyboard(),setTimeout(()=>this.keyboard.style.transition="",75)},500)}else this.keyboard.style.setProperty("--current-min-height",`${f}`),this._keyRange=r,this._createKeyboard()}selectChannel(r){this.channel=r}pressNote(r,l,g){let f=this.keys[r-this._keyRange.min];if(f===void 0)return;f.classList.add("pressed");let D=f.classList.contains("sharp_key"),o0=g/127,E0=this.channelColors[l%16].match(/\d+(\.\d+)?/g).map(parseFloat),m0;if(!D&&this.mode==="light"?m0=`rgba(${E0.slice(0,3).map(u1=>255-(255-u1)*o0).join(", ")}, ${E0[3]})`:m0=`rgba(${E0.slice(0,3).map(u1=>u1*o0).join(", ")}, ${E0[3]})`,f.style.background=m0,this.mode==="dark"){let l0=ry*o0;f.style.boxShadow=`${m0} 0px 0px ${l0}px ${l0/5}px`}this.keyColors[r-this._keyRange.min].push(this.channelColors[l%16])}releaseNote(r,l){let g=this.keys[r-this._keyRange.min];if(g===void 0)return;l%=this.channelColors.length;let f=this.keyColors[r-this._keyRange.min];if(!f)return;let D=f.findLastIndex(o0=>o0===this.channelColors[l]);D!==-1&&(f.splice(D,1),g.style.background=f[f.length-1],this.mode==="dark"&&(g.style.boxShadow=`0px 0px ${ry}px ${f[f.length-1]}`),f.length<1&&(g.classList.remove("pressed"),g.style.background="",g.style.boxShadow=""))}clearNotes(){this.keys.forEach((r,l)=>{r.classList.remove("pressed"),r.style.background="",r.style.boxShadow="",this.keyColors[l]=[]})}};pm.prototype._handlePointers=iy;function C$(o,r){let l=o.replace(/[^\d,]/g,"").split(",");return`rgb(${r(parseInt(l[0]))}, ${r(parseInt(l[1]))}, ${r(parseInt(l[2]))})`}var Ub="#000";function ny(o,r,l){o.forEach(g=>{if(g.pressedProgress===0)return;r.fillStyle=g.color;let f=g.pressedProgress*g.velocity;if(r.globalAlpha=.5*f,l){r.fillRect(g.xPos,g.yPos-g.height*f,g.width,g.height*(f*2+1)),r.globalAlpha=1;return}r.fillRect(g.xPos-g.width*f,g.yPos,g.width*(f*2+1),g.height),r.globalAlpha=1}),o.forEach(g=>{r.fillStyle=g.color,r.save(),r.translate(g.xPos,g.yPos),r.fillRect(0,0,g.width,g.height),r.restore(),r.strokeStyle=Ub,r.lineWidth=g.stroke,r.strokeRect(g.xPos,g.yPos,g.width,g.height)})}var FB=!1;function sy(o=!0,r=!1){let l=(this.seq===void 0||this?.seq?.paused===!0)&&this.synth.voicesAmount===0&&!r;if(!this.renderBool||l)if(FB){o&&requestAnimationFrame(this.render.bind(this));return}else FB=!0;else FB=!1;if(o&&this.drawingContext.clearRect(0,0,this.canvas.width,this.canvas.height),this.renderAnalysers&&!this.synth.highPerformanceMode&&this.renderWaveforms(),this.renderNotes&&this.noteTimes){let D=this.computeNotePositions(this.synth.highPerformanceMode);this.synth.highPerformanceMode||ny(D,this.drawingContext,this.sideways)}let g=performance.now()-this.frameTimeStart;this.frameTimeStart=performance.now();let f=1e3/g;this.drawingContext.textBaseline="hanging",this.drawingContext.textAlign="end",this.drawingContext.font=`${CC}px system-ui`,this.drawingContext.fillStyle="white",this.drawingContext.strokeStyle="white",this.drawingContext.fillText(`${this.notesOnScreen} notes`,this.canvas.width,CC*2+5),this.drawingContext.fillText(this.version,this.canvas.width,5),this.drawingContext.fillText(Math.round(f).toString()+" FPS",this.canvas.width,CC+5),this.onRender&&this.onRender(),o&&requestAnimationFrame(this.render.bind(this))}function oy(o=!1){this.notesOnScreen=0;let r=this.sideways?this.canvas.height:this.canvas.width,l=this.sideways?this.canvas.width:this.canvas.height,g=this.keyRange.max-this.keyRange.min,f=r/(g+1),D=f-p$*2,o0=this.noteFallingTimeMs/1e3,E0=this.noteAfterTriggerTimeMs/1e3,m0=this.seq.currentHighResolutionTime,l0=m0-E0,u1=o0+E0,F=l0+u1,q0=ay/u1,R0=[];this.synth.channelProperties.forEach(t2=>{if(this.showVisualPitch){let y1=t2.pitchBend-8192+this.visualPitchBendOffset;R0.push(t2.pitchBendRangeSemitones*(y1/8192*f))}else R0.push(0)});let L1=[];return this.noteTimes.forEach((t2,y1)=>{if(t2.renderStartIndex>=t2.notes.length||!this.renderChannels[y1])return;let Y2=t2.renderStartIndex,T2=t2.notes,V2=T2[Y2],i3=-1;for(;V2.start<=F&&(Y2++,!(this.notesOnScreen>$y));){let r3=V2.start+V2.length;if(r3>l0&&V2.length>0){let A0=V2.length/u1*l-p$*2;if(this.notesOnScreen<1e3||A0>q0){i3===-1&&(i3=Y2-1);let y5=(V2.start-l0)/u1*l,T3;if(this._notesFall?T3=l-A0-y5+p$:T3=y5+p$,V2.midiNotethis.keyRange.max){if(Y2>=T2.length)break;V2=T2[Y2];continue}let $3=V2.midiNote-this.keyRange.min,w6=f*$3+p$,s6,o9,J4,r4;if(this.sideways?(s6=T3,o9=w6,r4=D,J4=A0):(o9=T3,s6=w6,J4=D,r4=A0),this.notesOnScreen++,o)this.drawingContext.fillStyle=this.plainColors[y1],this.drawingContext.fillRect(s6+B$+p$,o9+B$,J4-B$*2,r4-B$*2);else{let V6;if(V2.start>m0||r3=T2.length)break;V2=T2[Y2]}i3>-1&&(t2.renderStartIndex=i3)}),L1.sort((t2,y1)=>y1.height-t2.height),L1}function ly(){let o=this.canvas.width/4,r=this.canvas.height/4;this.channelAnalysers.forEach((l,g)=>{let f=g%4,D=Math.floor(g/4),o0=!1;for(let F=g;F0){o0=!0;break}if(!o0){let F=this.canvas.width/4,q0=this.canvas.height/4,R0=F*f,L1=q0*D+q0/2;this.drawingContext.lineWidth=this.lineThickness,this.drawingContext.strokeStyle=this.channelColors[g],this.drawingContext.beginPath(),this.drawingContext.moveTo(R0,L1),this.drawingContext.lineTo(R0+F,L1),this.drawingContext.stroke();return}let E0=new Float32Array(l.frequencyBinCount);l.getFloatTimeDomainData(E0);let m0=o*f,l0=r*D+r/2,u1=this.waveMultiplier*r;if(this.drawingContext.lineWidth=this.lineThickness,this.drawingContext.strokeStyle=this.channelColors[g],this.drawingContext.beginPath(),this._stabilizeWaveforms){let F=E0.length/4,q0=o/F,R0=Math.floor(F/2),L1=E0.length-R0;for(let T2=L1;T2>=1;T2--)if(E0[T2-1]<0&&E0[T2]>=0){L1=T2;break}let t2=m0,y1=L1-R0,Y2=L1+R0;for(let T2=y1;T2{this.renderChannels[r.channel]=!r.isMuted}),this.updateFftSize()}function hy(){for(let o=0;o4096?this.delayNode.delayTime.value=f/this.synth.context.sampleRate/2:this.delayNode.delayTime.value=0)}}function uy(o){o.connectIndividualOutputs(this.channelAnalysers),o.eventHandler.addEvent("drumchange","renderer-drum-change",()=>{this.updateFftSize()})}function fy(){for(let o of this.channelAnalysers)o.disconnect();W5("%cAnalysers disconnected!",D1.recognized)}function dy(o){this.seq=o,this.seq.addOnTimeChangeEvent(()=>this.resetIndexes(),"renderer-time-change"),this.seq.addOnSongChangeEvent(async r=>{if(this.calculateNoteTimes(await this.seq.getMIDI()),this.resetIndexes(),r.RMIDInfo?.IPIC!==void 0){let l=new Blob([r.RMIDInfo?.IPIC.buffer]),g=URL.createObjectURL(l),f=this.canvas.classList.contains("light_mode")?0:.9;this.canvas.style.background=`linear-gradient(rgba(0, 0, 0, ${f}), rgba(0, 0, 0, ${f})), center center / cover url("${g}")`}else this.canvas.style.background=""},"renderer-song-change")}function Iy(){this.noteTimes&&this.noteTimes.forEach(o=>o.renderStartIndex=0)}function MB(o,r){let l=0;for(let g=8*(r-1);g>=0;g-=8)l|=o[o.currentIndex++]<>>0}function Qm(o,r){let l=new Array(r).fill(0);for(let g=r-1;g>=0;g--)l[g]=o&255,o>>=8;return l}var $h=.02;function Ey(o){function r(l0){return l0.messageData=new V3(l0.messageData.buffer),l0.messageData.currentIndex=0,6e7/MB(l0.messageData,3)}let l=[],f=o.tracks.flat();f.sort((l0,u1)=>l0.ticks-u1.ticks);for(let l0=0;l0<16;l0++)l.push({renderStartIndex:0,notes:[]});let D=0,o0=60/(120*o.timeDivision),E0=0,m0=0;for(;E0>4,F=l0.messageStatusByte&15;if(u1===8){let q0=l[F].notes.findLast(R0=>R0.midiNote===l0.messageData[0]&&R0.length===-1);if(q0){let R0=D-q0.start;q0.length=R0<$h&&F===Di?$h:R0}m0--}else if(u1===9)if(l0.messageData[1]===0){let q0=l[F].notes.findLast(R0=>R0.midiNote===l0.messageData[0]&&R0.length===-1);if(q0){let R0=D-q0.start;q0.length=R0<$h&&F===Di?$h:R0}m0--}else l[l0.messageStatusByte&15].notes.push({midiNote:l0.messageData[0],start:D,length:-1,velocity:l0.messageData[1]/127}),m0++;else l0.messageStatusByte===81&&(o0=60/(r(l0)*o.timeDivision));if(++E0>=f.length)break;D+=o0*(f[E0].ticks-l0.ticks)}m0>0&&l.forEach((l0,u1)=>l0.notes.filter(F=>F.length===-1).forEach(F=>{let q0=D-F.start;F.length=q0<$h&&u1===Di?$h:q0})),this.noteTimes=l,W5("%cFinished loading note times and ready to render the sequence!",D1.info)}var Pb=1024,Ob=4096,qb=2,Hb=2,BC=.6,pC=.5,B$=1,p$=1,CC=12,Ay=.6,ay=2,$y=81572,_i=class{onRender;constructor(r,l,g,f,D=""){this.noteFallingTimeMs=1e3,this.noteAfterTriggerTimeMs=0,this._keyRange={min:0,max:127},this.version="v"+D,this.visualPitchBendOffset=0,this.lineThickness=Hb,this._normalAnalyserFft=Pb,this._drumAnalyserFft=Ob,this.waveMultiplier=qb,this._notesFall=!0,this.sideways=!1,this._renderBool=!0,this.renderAnalysers=!0,this.renderNotes=!0,this.drawActiveNotes=!0,this.showVisualPitch=!0,this._stabilizeWaveforms=!0,this.renderChannels=Array(16).fill(!0),this.canvas=g,this.drawingContext=this.canvas.getContext("2d"),this.plainColors=r,this.computeColors(),this.synth=l,this.delayNode=f,this.notesOnScreen=0,this.channelAnalysers=[],this.createChannelAnalysers(l),this.connectChannelAnalysers(l)}get stabilizeWaveforms(){return this._stabilizeWaveforms}set stabilizeWaveforms(r){this._stabilizeWaveforms=r,this.updateFftSize()}get direction(){return this._notesFall?"down":"up"}set direction(r){this._notesFall=r==="down"}get normalAnalyserFft(){return this._normalAnalyserFft}set normalAnalyserFft(r){this._normalAnalyserFft=r,this.updateFftSize()}get drumAnalyserFft(){return this._drumAnalyserFft}set drumAnalyserFft(r){this._drumAnalyserFft=r,this.updateFftSize()}get renderBool(){return this._renderBool}set renderBool(r){this._renderBool=r,r===!0?this.connectChannelAnalysers(this.synth):this.disconnectChannelAnalysers()}get keyRange(){return this._keyRange}set keyRange(r){if(r.max===void 0||r.min===void 0)throw new TypeError("No min or max property!");if(r.min>r.max){let l=r.min;r.min=r.max,r.max=l}r.min=Math.max(0,r.min),r.max=Math.min(127,r.max),this._keyRange=r}toggleDarkMode(){this.canvas.classList.toggle("light_mode")}computeColors(){this.channelColors=this.plainColors.map(r=>{let l=this.drawingContext.createLinearGradient(0,0,this.canvas.width/128,0);return l.addColorStop(0,C$(r,g=>g*pC)),l.addColorStop(1,r),l}),this.darkerColors=this.plainColors.map(r=>{let l=this.drawingContext.createLinearGradient(0,0,this.canvas.width/128,0);return l.addColorStop(0,C$(r,g=>g*pC*BC)),l.addColorStop(1,C$(r,g=>g*BC)),l}),this.sidewaysChannelColors=this.plainColors.map(r=>{let l=this.drawingContext.createLinearGradient(0,0,0,this.canvas.width/128);return l.addColorStop(0,C$(r,g=>g*pC)),l.addColorStop(1,r),l}),this.sidewaysDarkerColors=this.plainColors.map(r=>{let l=this.drawingContext.createLinearGradient(0,0,0,this.canvas.width/128);return l.addColorStop(0,C$(r,g=>g*pC*BC)),l.addColorStop(1,C$(r,g=>g*BC)),l})}};_i.prototype.render=sy;_i.prototype.computeNotePositions=oy;_i.prototype.createChannelAnalysers=gy;_i.prototype.updateFftSize=hy;_i.prototype.connectChannelAnalysers=uy;_i.prototype.disconnectChannelAnalysers=fy;_i.prototype.connectSequencer=dy;_i.prototype.calculateNoteTimes=Ey;_i.prototype.resetIndexes=Iy;_i.prototype.renderWaveforms=ly;function o3(o,r){let l=0;for(let g=0;g>>0}function $7(o,r,l){for(let g=0;g>g*8&255}function Q9(o,r){o[o.currentIndex++]=r&255,o[o.currentIndex++]=r>>8}function l7(o,r){$7(o,r,4)}function RA(o,r){let l=r<<8|o;return l>32767?l-65536:l}function my(o){return o>127?o-256:o}function Ee(o,r,l=void 0,g=!0){if(l){let f=o.slice(o.currentIndex,o.currentIndex+r);return o.currentIndex+=r,new TextDecoder(l.replace(/[^\x20-\x7E]/g,"")).decode(f.buffer)}else{let f=!1,D="";for(let o0=0;o0127){if(g){f=!0;continue}else if(E0===0){f=!0;continue}}D+=String.fromCharCode(E0)}}return D}}function LA(o,r=0){let l=o.length;r>0&&(l=r);let g=new V3(l);return c7(g,o,r),g}function c7(o,r,l=0){l>0&&r.length>l&&(r=r.slice(0,l));for(let g=0;gr.length)for(let g=0;gl.header!=="LIST"?!1:(l.chunkData.currentIndex=0,Ee(l.chunkData,4)===r))}function QC(o){let r=[o&127];for(o>>=7;o>0;)r.unshift(o&127|128),o>>=7;return r}function yC(o){let r=[];for(let f of o.tracks){let D=[],o0=0,E0;for(let m0 of f){let l0=m0.ticks-o0,u1;m0.messageStatusByte<=K3.keySignature||m0.messageStatusByte===K3.sequenceSpecific?u1=[255,m0.messageStatusByte,...QC(m0.messageData.length),...m0.messageData]:m0.messageStatusByte===K3.systemExclusive?u1=[240,...QC(m0.messageData.length),...m0.messageData]:(u1=[],E0!==m0.messageStatusByte&&(E0=m0.messageStatusByte,u1.push(m0.messageStatusByte)),u1.push(...m0.messageData)),D.push(...QC(l0)),D.push(...u1),o0+=l0}r.push(new Uint8Array(D))}function l(f,D){for(let o0=0;o0{o.tracks.forEach((L1,t2)=>{if(o.midiPorts[t2]===R0)for(let y1=L1.length-1;y1>=0;y1--)L1[y1].messageStatusByte>=128&&L1[y1].messageStatusByte<240&&(L1[y1].messageStatusByte&15)===q0&&L1.splice(y1,1)})};g.forEach(q0=>{let R0=q0%16,L1=q0-R0,t2=o.midiPortChannelOffsets.findIndex(y1=>y1===L1);D(R0,t2),W5(`%cRemoving channel %c${q0}%c!`,D1.info,D1.recognized,D1.info)});let o0=!1,E0="gs",m0=[],l0=[];o.tracks.forEach((q0,R0)=>{q0.forEach(L1=>{let t2=L1.messageStatusByte&240;t2===K3.controllerChange?m0.push({track:R0,message:L1,channel:L1.messageStatusByte&15}):t2===K3.programChange?l0.push({track:R0,message:L1,channel:L1.messageStatusByte&15}):L1.messageStatusByte===K3.systemExclusive&&(L1.messageData[0]===67&&L1.messageData[2]===76&&L1.messageData[5]===126&&L1.messageData[6]===0?(W5("%cXG system on detected",D1.info),E0="xg",o0=!0):L1.messageData[0]===67&&L1.messageData[2]===76&&L1.messageData[3]===8&&L1.messageData[5]===3&&l0.push({track:R0,message:L1,channel:L1.messageData[4]}))})});let u1=(q0,R0,L1)=>o.tracks.reduce((t2,y1,Y2)=>{if(o.usedChannelsOnTrack[Y2].has(q0)&&o.midiPorts[Y2]===R0){let T2;L1?T2=y1.findIndex(V2=>(V2.messageStatusByte&240)===K3.noteOn):T2=y1.findIndex(V2=>V2.messageStatusByte>128&&V2.messageStatusByte<240&&(V2.messageStatusByte&15)===q0&&!(V2.messageStatusByte&K3.controllerChange===240&&(V2.messageData[0]===B3.resetAllControllers||V2.messageData[0]===B3.allNotesOff||V2.messageData[0]===B3.allSoundOff))),T2!==-1&&t2.push({index:T2,track:Y2})}return t2},[]),F=(q0,R0,L1)=>{let t2=m0.filter(y1=>y1.channel===q0&&y1.message.messageData[0]===L1&&o.midiPorts[y1.track]===R0);for(let y1=0;y1{let R0=q0.channel,L1=R0%16,t2=R0-L1,y1=o.midiPortChannelOffsets.findIndex(A0=>A0===t2),Y2=q0.controllerValue,T2=q0.controllerNumber;F(L1,y1,T2),W5(`%cNo controller %c${T2}%c on channel %c${R0}%c found. Adding it!`,D1.info,D1.unrecognized,D1.info,D1.value,D1.info);let V2=u1(L1,y1,!0);if(V2.length===0){Ie("Program change but no notes... ignoring!");return}let i3=V2.reduce((A0,y5)=>o.tracks[y5.track][y5.index].ticks{let R0=q0.channel%16,L1=q0.channel-R0,t2=o.midiPortChannelOffsets.findIndex($3=>$3===L1),y1=q0.isDrum?0:q0.bank,Y2=q0.program,T2=l0.filter($3=>o.midiPorts[$3.track]===t2&&$3.channel===R0);if(F(R0,t2,B3.bankSelect),F(R0,t2,B3.lsbForControl0BankSelect),(q0.isDrum||y1>0)&&!o0&&(o.tracks.forEach($3=>{for(let w6=0;w6<$3.length;w6++){let s6=$3[w6];if(s6.messageStatusByte===K3.systemExclusive)if(s6.messageData[0]===65&&s6.messageData[2]===66&&s6.messageData[6]===127){o0=!0,W5("%cGS on detected!",D1.recognized);break}else s6.messageData[0]===126&&s6.messageData[2]===9&&(W5("%cGM/2 on detected, removing!",D1.info),$3.splice(w6,1),w6--)}}),!o0)){let $3=0;o.tracks[0][0].messageStatusByte===K3.trackName&&$3++,o.tracks[0].splice($3,0,TB(0)),W5("%cGS on not detected. Adding it.",D1.info),o0=!0}for(let $3 of T2)o.tracks[$3.track].splice(o.tracks[$3.track].indexOf($3.message),1);let V2=u1(R0,t2,L1>0);if(V2.length===0){Ie("Program change but no notes... ignoring!");return}let i3=V2.reduce(($3,w6)=>o.tracks[w6.track][w6.index].ticks{if(o.midiPorts[T2]!==L1||!o.usedChannelsOnTrack[T2].has(R0))return;let V2=K3.noteOn|R0,i3=K3.noteOff|R0,r3=K3.polyPressure|R0;Y2.forEach(A0=>{A0.messageStatusByte!==V2&&A0.messageStatusByte!==i3&&A0.messageStatusByte!==r3||(A0.messageData[0]=Math.max(0,Math.min(127,A0.messageData[0]+t2)))})}),y1!==0){let Y2=o.tracks.find((s6,o9)=>o.usedChannelsOnTrack[o9].has(q0.channel));if(Y2===void 0){Ie(`Channel ${q0.channel} unused but transpose requested???`);continue}let T2=K3.noteOn|q0.channel%16,V2=Y2.findIndex(s6=>s6.messageStatusByte===T2);if(V2===-1){Ie(`No notes on channel ${q0.channel} but transpose requested???`);continue}let i3=Y2[V2].ticks,r3=y1*64+64,A0=K3.controllerChange|q0.channel%16,y5=new mi(i3,A0,new V3([B3.RPNMsb,0])),T3=new mi(i3,A0,new V3([B3.RPNLsb,1])),$3=new mi(i3,A0,new V3([B3.dataEntryMsb,r3])),w6=new mi(i3,A0,new V3([B3.lsbForControl6DataEntry,0]));Y2.splice(V2,0,w6),Y2.splice(V2,0,$3),Y2.splice(V2,0,T3),Y2.splice(V2,0,y5)}}i4()}function lh(o,r){let l=[],g=[],f=[],D=[];r.channelSnapshots.forEach((o0,E0)=>{if(o0.isMuted){g.push(E0);return}let m0=o0.channelTransposeKeyShift+o0.customControllers[mC.channelTransposeFine]/100;m0!==0&&l.push({channel:E0,keyShift:m0}),o0.lockPreset&&f.push({channel:E0,program:o0.program,bank:o0.bank,isDrum:o0.drumChannel}),o0.lockedControllers.forEach((l0,u1)=>{if(!l0||u1>127||u1===B3.bankSelect)return;let F=o0.midiControllers[u1]>>7;D.push({channel:E0,controllerNumber:u1,controllerValue:F})})}),Jb(o,f,D,g,l)}var Lt={name:"INAM",album:"IPRD",artist:"IART",genre:"IGNR",picture:"IPIC",copyright:"ICOP",creationDate:"ICRD",comment:"ICMT",engineer:"IENG",software:"ISFT",encoding:"IENC",midiEncoding:"MENC",bankOffset:"DBNK"},FA="utf-8",Vb="Created using SpessaSynth";function By(o,r,l,g=0,f="Shift_JIS",D={},o0=!0){if(cr("%cWriting the RMIDI File...",D1.info),W5(`%cConfiguration: Bank offset: %c${g}%c, encoding: %c${f}`,D1.info,D1.value,D1.info,D1.value),W5("metadata",D),W5("Initial bank offset",r.bankOffset),o0){let Y2=function(){let r3=0,A0=1/0;return r.tracks.forEach((y5,T3)=>{t2[T3]>=y5.length||y5[t2[T3]].ticksA0>r3?A0:r3),i3=[];for(let r3=0;r30;){let r3=Y2(),A0=r.tracks[r3];if(t2[r3]>=A0.length){y1--;continue}let y5=A0[t2[r3]];t2[r3]++;let T3=r.midiPortChannelOffsets[T2[r3]];if(y5.messageStatusByte===K3.midiPort){T2[r3]=y5.messageData[0];continue}let $3=y5.messageStatusByte&240;if($3!==K3.controllerChange&&$3!==K3.programChange&&$3!==K3.systemExclusive)continue;if($3===K3.systemExclusive){if(y5.messageData[0]!==65||y5.messageData[2]!==66||y5.messageData[3]!==18||y5.messageData[4]!==64||!(y5.messageData[5]&16)||y5.messageData[6]!==21){y5.messageData[0]===67&&y5.messageData[2]===76&&y5.messageData[5]===126&&y5.messageData[6]===0?R0="xg":y5.messageData[0]===65&&y5.messageData[2]===66&&y5.messageData[6]===127?R0="gs":y5.messageData[0]===126&&y5.messageData[2]===9&&(R0="gm",L1.push({tNum:r3,e:y5}));continue}let o9=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][y5.messageData[5]&15]+T3;i3[o9].drums=!!(y5.messageData[7]>0&&y5.messageData[5]>>4);continue}let w6=(y5.messageStatusByte&15)+T3,s6=i3[w6];if($3===K3.programChange){s6.drums?l.presets.findIndex(r4=>r4.program===y5.messageData[0]&&r4.bank===128)===-1&&(y5.messageData[0]=l.presets.find(r4=>r4.bank===128)?.program||0):l.presets.findIndex(r4=>r4.program===y5.messageData[0]&&r4.bank!==128)===-1&&(y5.messageData[0]=l.presets.find(r4=>r4.bank!==128)?.program||0),s6.program=y5.messageData[0];let o9=Math.max(0,s6.lastBank?.messageData[1]-r.bankOffset),J4=s6.drums?128:o9;if(s6.lastBank===void 0)continue;if(R0==="xg"&&s6.drums&&(i3[w6].lastBank.messageData[1]=127),l.presets.findIndex(r4=>r4.bank===J4&&r4.program===y5.messageData[0])===-1){let r4=l.presets.find(V6=>V6.program===y5.messageData[0])?.bank+g||g;s6.lastBank.messageData[1]=r4,W5(`%cNo preset %c${J4}:${y5.messageData[0]}%c. Changing bank to ${r4}.`,D1.info,D1.recognized,D1.info)}else{let V6=(J4===128?R0==="xg"?127:0:o9)+g;s6.lastBank.messageData[1]=V6,W5(`%cPreset %c${J4}:${y5.messageData[0]}%c exists. Changing bank to ${V6}.`,D1.info,D1.recognized,D1.info)}continue}y5.messageData[0]===B3.bankSelect&&(s6.hasBankSelect=!0,R0==="xg"&&(s6.drums=y5.messageData[1]===120||y5.messageData[1]===126||y5.messageData[1]===127),s6.lastBank=y5)}if(i3.forEach((r3,A0)=>{if(r3.hasBankSelect===!0)return;let y5=A0%16,T3=K3.programChange|y5,$3=Math.floor(A0/16)*16,w6=r.midiPortChannelOffsets.indexOf($3),s6=r.tracks.find((V6,We)=>r.midiPorts[We]===w6&&r.usedChannelsOnTrack[We].has(y5));if(s6===void 0)return;let o9=s6.findIndex(V6=>V6.messageStatusByte===T3);if(o9===-1){let V6=s6.findIndex(Ji=>Ji.messageStatusByte>128&&Ji.messageStatusByte<240&&(Ji.messageStatusByte&15)===y5);if(V6===-1)return;let We=s6[V6].ticks,qr=l.getPreset(0,0).program;s6.splice(V6,0,new mi(We,K3.programChange|y5,new V3([qr]))),o9=V6}W5(`%cAdding bank select for %c${A0}`,D1.info,D1.recognized);let J4=s6[o9].ticks,r4=l.getPreset(0,r3.program)?.bank+g||g;s6.splice(o9,0,new mi(J4,K3.controllerChange|y5,new V3([B3.bankSelect,r4])))}),R0!=="gs"&&R0!=="xg"){for(let A0 of L1)r.tracks[A0.tNum].splice(r.tracks[A0.tNum].indexOf(A0.e),1);let r3=0;r.tracks[0][0].messageStatusByte===K3.trackName&&r3++,r.tracks[0].splice(r3,0,TB(0))}}let E0=new V3(yC(r).buffer),m0=[LA("INFO")],l0=new TextEncoder;if(m0.push(Ze(Lt.software,l0.encode("SpessaSynth"),!0)),D.name!==void 0?(m0.push(Ze(Lt.name,l0.encode(D.name),!0)),f=FA):m0.push(Ze(Lt.name,r.rawMidiName,!0)),D.creationDate!==void 0)f=FA,m0.push(Ze(Lt.creationDate,l0.encode(D.creationDate),!0));else{let R0=new Date().toLocaleString(void 0,{weekday:"long",year:"numeric",month:"long",day:"numeric",hour:"numeric",minute:"numeric"});m0.push(Ze(Lt.creationDate,LA(R0),!0))}if(D.comment!==void 0&&(f=FA,m0.push(Ze(Lt.comment,l0.encode(D.comment)))),D.engineer!==void 0&&m0.push(Ze(Lt.engineer,l0.encode(D.engineer),!0)),D.album!==void 0&&(f=FA,m0.push(Ze(Lt.album,l0.encode(D.album),!0))),D.artist!==void 0&&(f=FA,m0.push(Ze(Lt.artist,l0.encode(D.artist),!0))),D.genre!==void 0&&(f=FA,m0.push(Ze(Lt.genre,l0.encode(D.genre),!0))),D.picture!==void 0&&m0.push(Ze(Lt.picture,new Uint8Array(D.picture))),D.copyright!==void 0)f=FA,m0.push(Ze(Lt.copyright,l0.encode(D.copyright),!0));else{let R0=r.copyright.length>0?r.copyright:Vb;m0.push(Ze(Lt.copyright,LA(R0)))}let u1=new V3(2);$7(u1,g,2),m0.push(Ze(Lt.bankOffset,u1)),D.midiEncoding!==void 0&&(m0.push(Ze(Lt.midiEncoding,l0.encode(D.midiEncoding))),f=FA),m0.push(Ze(Lt.encoding,LA(f)));let F=bn(m0),q0=bn([LA("RMID"),Ze("data",E0),Ze("LIST",F),o]);return W5("%cFinished!",D1.info),i4(),Ze("RIFF",q0)}function ym(o,r){let l=0;for(;o>0;){let g=r.tempoChanges.find(D=>D.ticks=128){this.MIDIout.send(g);return}break;case MA.songChange:let f=l[0];this.songIndex=l[1],this.midiData=f,this.hasDummyData=!1,this.absoluteStartTime=0,this.duration=this.midiData.duration,Object.entries(this.onSongChange).forEach(E0=>E0[1](f)),this.unpause();break;case MA.textEvent:let D=l;this.onTextEvent&&this.onTextEvent(D[0],D[1]);break;case MA.timeChange:let o0=this.synth.currentTime-l;Object.entries(this.onTimeChange).forEach(E0=>E0[1](o0)),this.unpause(),this._recalculateStartTime(o0);break;case MA.pause:this.pausedTime=this.currentTime,this.isFinished=l,this.isFinished&&Object.entries(this.onSongEnded).forEach(E0=>E0[1]());break;case MA.midiError:if(this.onError)this.onError(l);else throw new Error(l);return;case MA.getMIDI:this._getMIDIResolve&&this._getMIDIResolve(l)}}_recalculateStartTime(r){this.absoluteStartTime=this.synth.currentTime-r/this._playbackRate,this.highResTimeOffset=(this.synth.currentTime-performance.now()/1e3)*this._playbackRate}async getMIDI(){return new Promise(r=>{this._getMIDIResolve=r,this._sendMessage(Ri.getMIDI,void 0)})}loadNewSongList(r){this.pause(),this.midiData=py,this.hasDummyData=!0,this.duration=99999,this._sendMessage(Ri.loadNewSongList,r),this.songIndex=0,this.songsAmount=r.length,this.songsAmount>1&&(this.loop=!1)}connectMidiOutput(r){this.resetMIDIOut(),this.MIDIout=r,this._sendMessage(Ri.changeMIDIMessageSending,r!==void 0),this.currentTime-=.1}pause(){if(this.paused){Ie("Already paused");return}this.pausedTime=this.currentTime,this._sendMessage(Ri.pause)}unpause(){this.pausedTime=void 0,this.isFinished=!1}play(r=!1){this.isFinished&&(r=!0),this._recalculateStartTime(this.pausedTime||0),this.unpause(),this._sendMessage(Ri.play,r)}stop(){this._sendMessage(Ri.stop)}};var wm=["Shift_JIS","windows-1250","utf-8","utf-16","utf-16le","utf-16be","latin1","ISO-8859-1","ISO-8859-2","ISO-8859-3","ISO-8859-4","ISO-8859-5","ISO-8859-6","ISO-8859-7","ISO-8859-8","ISO-8859-9","ISO-8859-10","ISO-8859-11","ISO-8859-13","ISO-8859-14","ISO-8859-15","ISO-8859-16","windows-1251","windows-1252","windows-1253","windows-1254","windows-1255","windows-1256","windows-1257","windows-1258","EUC-JP","ISO-2022-JP","EUC-KR","Big5","GB18030"];function Qy(o){return` +`}},xB=960,RB=Nr.concave;function Tr(o,r,l,g,f){return o<<10|r<<9|l<<8|g<<7|f}var EC=[new se({srcEnum:Tr(RB,0,1,0,Rt.noteOnVelocity),dest:v1.initialAttenuation,amt:xB,secSrcEnum:0,transform:0}),new se({srcEnum:129,dest:v1.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new se({srcEnum:Tr(RB,0,1,1,B3.mainVolume),dest:v1.initialAttenuation,amt:xB,secSrcEnum:0,transform:0}),new se({srcEnum:13,dest:v1.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new se({srcEnum:526,dest:v1.fineTune,amt:12700,secSrcEnum:16,transform:0}),new se({srcEnum:650,dest:v1.pan,amt:500,secSrcEnum:0,transform:0}),new se({srcEnum:Tr(RB,0,1,1,B3.expressionController),dest:v1.initialAttenuation,amt:xB,secSrcEnum:0,transform:0}),new se({srcEnum:219,dest:v1.reverbEffectsSend,amt:750,secSrcEnum:0,transform:0}),new se({srcEnum:221,dest:v1.chorusEffectsSend,amt:750,secSrcEnum:0,transform:0}),new se({srcEnum:Tr(Nr.linear,0,0,0,Rt.polyPressure),dest:v1.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new se({srcEnum:Tr(Nr.linear,0,0,1,B3.tremoloDepth),dest:v1.modLfoToVolume,amt:24,secSrcEnum:0,transform:0}),new se({srcEnum:Tr(Nr.linear,1,0,1,B3.releaseTime),dest:v1.releaseVolEnv,amt:1200,secSrcEnum:0,transform:0}),new se({srcEnum:Tr(Nr.linear,1,0,1,B3.brightness),dest:v1.initialFilterFc,amt:6e3,secSrcEnum:0,transform:0}),new se({srcEnum:Tr(Nr.linear,1,0,1,B3.timbreHarmonicContent),dest:v1.initialFilterQ,amt:250,secSrcEnum:0,transform:0})];var m$=128,XQ=147,Fb=new Int16Array(XQ).fill(0),ni=(o,r)=>Fb[o]=r<<7;ni(B3.mainVolume,100);ni(B3.balance,64);ni(B3.expressionController,127);ni(B3.pan,64);ni(B3.timbreHarmonicContent,64);ni(B3.releaseTime,64);ni(B3.attackTime,64);ni(B3.brightness,64);ni(B3.soundController6,64);ni(B3.soundController7,64);ni(B3.soundController8,64);ni(B3.soundController9,64);ni(B3.generalPurposeController6,64);ni(B3.generalPurposeController8,64);ni(m$+Rt.pitchWheel,64);ni(m$+Rt.pitchWheelRange,2);var mC={channelTuning:0,channelTransposeFine:1,modulationMultiplier:2,masterTuning:3,channelTuningSemitones:4},ey=Object.keys(mC).length,Mb=new Float32Array(ey);Mb[mC.modulationMultiplier]=1;var ty={velocityOverride:128};var Tb="spessasynth-worklet-system",LB=350,Di=9,Nb=16;var ah=class{constructor(r,l,g=!0,f=void 0,D=jQ){W5("%cInitializing SpessaSynth synthesizer...",_1.info),this.context=r.context;let o0=f?.oneOutput===!0;this.eventHandler=new uC,this._voiceCap=LB,this._outputsAmount=Nb,this.channelsAmount=this._outputsAmount,this.resolveWhenReady=void 0,this.isReady=new Promise(c0=>this.resolveWhenReady=c0),this.channelProperties=[];for(let c0=0;c0this.handleMessage(c0.data),this.soundfontManager=new IC(this),this._snapshotCallback=void 0,this.sequencerCallbackFunction=void 0,D.reverbEnabled&&!o0&&(this.reverbProcessor=KQ(this.context,D.reverbImpulseResponse),this.reverbProcessor.connect(r),this.worklet.connect(this.reverbProcessor,0)),D.chorusEnabled&&!o0&&(this.chorusProcessor=new fC(r,D.chorusConfig),this.worklet.connect(this.chorusProcessor.input,1)),o0)this.worklet.connect(r,0);else for(let c0=2;c0{this.channelsAmount++})}get voiceCap(){return this._voiceCap}set voiceCap(r){this._setMasterParam(Cm.voicesCap,r),this._voiceCap=r}get highPerformanceMode(){return this._highPerformanceMode}set highPerformanceMode(r){this._highPerformanceMode=r}get currentTime(){return this.context.currentTime}get voicesAmount(){return this._voicesAmount}setLogLevel(r,l,g,f){this.post({channelNumber:Ci,messageType:c8.setLogLevel,messageData:[r,l,g,f]})}_setMasterParam(r,l){this.post({channelNumber:Ci,messageType:c8.setMasterParameter,messageData:[r,l]})}setInterpolationType(r){this._setMasterParam(Cm.interpolationType,r)}handleMessage(r){let l=r.messageData;switch(r.messageType){case E$.channelProperties:this.channelProperties=l,this._voicesAmount=this.channelProperties.reduce((g,f)=>g+f.voicesAmount,0);break;case E$.eventCall:this.eventHandler.callEvent(l.eventName,l.eventData);break;case E$.sequencerSpecific:this.sequencerCallbackFunction&&this.sequencerCallbackFunction(l.messageType,l.messageData);break;case E$.synthesizerSnapshot:this._snapshotCallback&&this._snapshotCallback(l);break;case E$.ready:this.resolveWhenReady();break;case E$.soundfontError:Ie(new Error(l)),this.eventHandler.callEvent("soundfonterror",l);break}}async getSynthesizerSnapshot(){return new Promise(r=>{this._snapshotCallback=l=>{this._snapshotCallback=void 0,r(l)},this.post({messageType:c8.requestSynthesizerSnapshot,messageData:void 0,channelNumber:Ci})})}addNewChannel(r=!0){this.channelProperties.push({voicesAmount:0,pitchBend:0,pitchBendRangeSemitones:0,isMuted:!1,isDrum:!1}),r&&this.post({channelNumber:0,messageType:c8.addNewChannel,messageData:null})}setVibrato(r,l){this.post({channelNumber:r,messageType:c8.setChannelVibrato,messageData:l})}connectIndividualOutputs(r){if(r.length!==this._outputsAmount)throw new Error(`input nodes amount differs from the system's outputs amount! + Expected ${this._outputsAmount} got ${r.length}`);for(let l=0;l127||l<0)throw new Error(`Invalid controller number: ${l}`);g=Math.floor(g),l=Math.floor(l),this.post({channelNumber:r,messageType:c8.ccChange,messageData:[l,g,f]})}resetControllers(){this.post({channelNumber:Ci,messageType:c8.ccReset,messageData:void 0})}channelPressure(r,l){this.post({channelNumber:r,messageType:c8.channelPressure,messageData:l})}polyPressure(r,l,g){this.post({channelNumber:r,messageType:c8.polyPressure,messageData:[l,g]})}post(r){this.worklet.port.postMessage(r)}pitchWheel(r,l,g){this.post({channelNumber:r,messageType:c8.pitchWheel,messageData:[l,g]})}transpose(r){this.transposeChannel(Ci,r,!1)}transposeChannel(r,l,g=!1){this.post({channelNumber:r,messageType:c8.transpose,messageData:[l,g]})}setMainVolume(r){this._setMasterParam(Cm.mainVolume,r)}setMasterPan(r){this._setMasterParam(Cm.masterPan,r)}setPitchBendRange(r,l){this.controllerChange(r,B3.RPNMsb,0),this.controllerChange(r,B3.dataEntryMsb,l),this.controllerChange(r,B3.RPNMsb,127),this.controllerChange(r,B3.RPNLsb,127),this.controllerChange(r,B3.dataEntryMsb,0)}programChange(r,l,g=!1){this.post({channelNumber:r,messageType:c8.programChange,messageData:[l,g]})}velocityOverride(r,l){this.post({channelNumber:r,messageType:c8.ccChange,messageData:[ty.velocityOverride,l,!0]})}lockController(r,l,g){this.post({channelNumber:r,messageType:c8.lockController,messageData:[l,g]})}muteChannel(r,l){this.post({channelNumber:r,messageType:c8.muteChannel,messageData:l})}async reloadSoundFont(r){Ie("reloadSoundFont is deprecated. Please use the soundfontManager property instead."),await this.soundfontManager.reloadManager(r)}systemExclusive(r){this.post({channelNumber:Ci,messageType:c8.systemExclusive,messageData:Array.from(r)})}setDrums(r,l){this.post({channelNumber:r,messageType:c8.setDrums,messageData:l})}sendMessage(r){let l=VQ(r[0]);switch(l.status){case K3.noteOn:let g=r[2];g>0?this.noteOn(l.channel,r[1],g):this.noteOff(l.channel,r[1]);break;case K3.noteOff:this.noteOff(l.channel,r[1]);break;case K3.pitchBend:this.pitchWheel(l.channel,r[2],r[1]);break;case K3.controllerChange:this.controllerChange(l.channel,r[1],r[2]);break;case K3.programChange:this.programChange(l.channel,r[1]);break;case K3.polyPressure:this.polyPressure(l.channel,r[0],r[1]);break;case K3.channelPressure:this.channelPressure(l.channel,r[1]);break;case K3.systemExclusive:this.systemExclusive(new V3(r.slice(1)));break;case K3.reset:this.stopAll(!0),this.resetControllers();break;default:break}}reverbateEverythingBecauseWhyNot(){for(let r=0;r{this.pressedKeys.delete(g),this.releaseNote(g,this.channel),this.synth.noteOff(this.channel,g)},r=(g,f)=>{let D;if(xA)D=127;else{let E0=this.keys[0].getBoundingClientRect();if(this.keyboard.classList.contains("sideways")){let m0=f.clientX-E0.left,c0=E0.width;D=Math.floor((c0-m0)/c0*127)}else{let m0=f.clientY-E0.top,c0=E0.height;D=Math.floor(m0/c0*127)}}this.synth.noteOn(this.channel,g,D,this.enableDebugging)},l=g=>{let f=g.touches?Array.from(g.touches):[g],D=new Set;f.forEach(o0=>{let E0=document.elementFromPoint(o0.clientX,o0.clientY),m0=parseInt(E0.id.replace("note",""));D.add(m0),!(isNaN(m0)||m0<0||this.pressedKeys.has(m0))&&(this.pressedKeys.add(m0),r(m0,o0))}),this.pressedKeys.forEach(o0=>{D.has(o0)||o(o0)})};xA||(document.addEventListener("mousedown",g=>{this.mouseHeld=!0,l(g)}),document.addEventListener("mouseup",()=>{this.mouseHeld=!1,this.pressedKeys.forEach(g=>{o(g)})}),this.keyboard.onmousemove=g=>{this.mouseHeld&&l(g)},this.keyboard.onmouseleave=()=>{this.pressedKeys.forEach(g=>{o(g)})}),this.keyboard.ontouchstart=l.bind(this),this.keyboard.ontouchend=l.bind(this),this.keyboard.ontouchmove=l.bind(this)}var ry=20,pm=class{constructor(r,l){this.mouseHeld=!1,this.pressedKeys=new Set,this.mode="light",this.enableDebugging=!1,this.sizeChangeAnimationId=-1,this.modeChangeAnimationId=-1,this._keyRange={min:0,max:127},document.addEventListener("keydown",g=>{g.key==="Shift"&&(this.synth.controllerChange(this.channel,B3.sustainPedal,127),this.keyboard.style.filter="brightness(0.5)")}),document.addEventListener("keyup",g=>{g.key==="Shift"&&(this.synth.controllerChange(this.channel,B3.sustainPedal,0),this.keyboard.style.filter="")}),this.synth=l,this.channel=0,this.channelColors=r,this._shown=!0,this._createKeyboard(),this.synth.eventHandler.addEvent("noteon","keyboard-note-on",g=>{this.pressNote(g.midiNote,g.channel,g.velocity)}),this.synth.eventHandler.addEvent("noteoff","keyboard-note-off",g=>{this.releaseNote(g.midiNote,g.channel)}),this.synth.eventHandler.addEvent("stopall","keyboard-stop-all",()=>{this.clearNotes()}),this.synth.eventHandler.addEvent("mutechannel","keyboard-mute-channel",g=>{if(g.isMuted)for(let f=0;f<128;f++)this.releaseNote(f,g.channel)})}get shown(){return this._shown}set shown(r){r===!0?this.keyboard.style.display="":this.keyboard.style.display="none",this._shown=r}get keyRange(){return this._keyRange}set keyRange(r){if(r.max===void 0||r.min===void 0)throw new TypeError("No min or max property!");if(r.min>r.max){let l=r.min;r.min=r.max,r.max=l}r.min=Math.max(0,r.min),r.max=Math.min(127,r.max),this.setKeyRange(r,!0)}_createKeyboard(){this.keyboard=document.getElementById("keyboard"),this.keyboard.innerHTML="",this.keys=[],this.keyColors=[];for(let r=this._keyRange.min;r=0&&(D=l(r-1)),r<127&&(o0=l(r+1)),o0&&D?g.classList.add("between_sharps"):D?g.classList.add("left_sharp"):o0&&g.classList.add("right_sharp")}return g}toggleMode(r=!0){if(this.mode==="light"?this.mode="dark":this.mode="light",!r){this.keys.forEach(g=>{g.classList.contains("flat_key")&&g.classList.toggle("flat_dark_key")});return}this.modeChangeAnimationId&&clearTimeout(this.modeChangeAnimationId),this.keyboard.classList.add("mode_transform"),document.body.scrollHeight<=window.innerHeight&&document.body.classList.add("no_scroll"),this.modeChangeAnimationId=setTimeout(()=>{this.keys.forEach(g=>{g.classList.contains("flat_key")&&g.classList.toggle("flat_dark_key")}),this.keyboard.classList.remove("mode_transform"),setTimeout(()=>document.body.classList.remove("no_scroll"),500)},500)}setKeyRange(r,l=!0){Math.abs(r.max-r.min)<12&&(r.min-=6,r.max=r.min+12);let f=900/(r.max-r.min+5),D=document.styleSheets[0].cssRules,o0;for(let E0 of D)if(E0.selectorText==="#keyboard .key"){o0=E0;break}if(o0.style.setProperty("--pressed-transform-skew",`${8e-4/(f/7)}`),l){this.sizeChangeAnimationId&&clearTimeout(this.sizeChangeAnimationId);let E0=getComputedStyle(this.keyboard),m0=parseFloat(E0.getPropertyValue("--current-min-height").replace(/[^\d.]+/g,"")),c0=this.keyboard.getBoundingClientRect().height,f1=f/m0,x=c0*f1-c0,X0=(this._keyRange.min+this._keyRange.max)/2,F0=(r.min+r.max)/2;this._keyRange=r;let b1=this.keys.find(Y2=>Y2.classList.contains("sharp_key")).getBoundingClientRect().width,l2=(X0-F0)*b1,y1=parseFloat(E0.getPropertyValue("--key-border-radius").replace(/[^\d.]+/g,""));this.keyboard.style.marginTop=`${x}px`,this.keyboard.style.transition="",this.keyboard.style.transform=`scale(${f1}) translateX(${l2}px)`,this.keyboard.style.setProperty("--key-border-radius",`${y1/f1}vmin`),this.sizeChangeAnimationId=setTimeout(()=>{this.keyboard.style.setProperty("--current-min-height",`${f}`),this.keyboard.style.transition="none",this.keyboard.style.transform="",this.keyboard.style.marginTop="",this.keyboard.style.setProperty("--key-border-radius",""),this._createKeyboard(),setTimeout(()=>this.keyboard.style.transition="",75)},500)}else this.keyboard.style.setProperty("--current-min-height",`${f}`),this._keyRange=r,this._createKeyboard()}selectChannel(r){this.channel=r}pressNote(r,l,g){let f=this.keys[r-this._keyRange.min];if(f===void 0)return;f.classList.add("pressed");let D=f.classList.contains("sharp_key"),o0=g/127,E0=this.channelColors[l%16].match(/\d+(\.\d+)?/g).map(parseFloat),m0;if(!D&&this.mode==="light"?m0=`rgba(${E0.slice(0,3).map(f1=>255-(255-f1)*o0).join(", ")}, ${E0[3]})`:m0=`rgba(${E0.slice(0,3).map(f1=>f1*o0).join(", ")}, ${E0[3]})`,f.style.background=m0,this.mode==="dark"){let c0=ry*o0;f.style.boxShadow=`${m0} 0px 0px ${c0}px ${c0/5}px`}this.keyColors[r-this._keyRange.min].push(this.channelColors[l%16])}releaseNote(r,l){let g=this.keys[r-this._keyRange.min];if(g===void 0)return;l%=this.channelColors.length;let f=this.keyColors[r-this._keyRange.min];if(!f)return;let D=f.findLastIndex(o0=>o0===this.channelColors[l]);D!==-1&&(f.splice(D,1),g.style.background=f[f.length-1],this.mode==="dark"&&(g.style.boxShadow=`0px 0px ${ry}px ${f[f.length-1]}`),f.length<1&&(g.classList.remove("pressed"),g.style.background="",g.style.boxShadow=""))}clearNotes(){this.keys.forEach((r,l)=>{r.classList.remove("pressed"),r.style.background="",r.style.boxShadow="",this.keyColors[l]=[]})}};pm.prototype._handlePointers=iy;function C$(o,r){let l=o.replace(/[^\d,]/g,"").split(",");return`rgb(${r(parseInt(l[0]))}, ${r(parseInt(l[1]))}, ${r(parseInt(l[2]))})`}var Ub="#000";function ny(o,r,l){o.forEach(g=>{if(g.pressedProgress===0)return;r.fillStyle=g.color;let f=g.pressedProgress*g.velocity;if(r.globalAlpha=.5*f,l){r.fillRect(g.xPos,g.yPos-g.height*f,g.width,g.height*(f*2+1)),r.globalAlpha=1;return}r.fillRect(g.xPos-g.width*f,g.yPos,g.width*(f*2+1),g.height),r.globalAlpha=1}),o.forEach(g=>{r.fillStyle=g.color,r.save(),r.translate(g.xPos,g.yPos),r.fillRect(0,0,g.width,g.height),r.restore(),r.strokeStyle=Ub,r.lineWidth=g.stroke,r.strokeRect(g.xPos,g.yPos,g.width,g.height)})}var FB=!1;function sy(o=!0,r=!1){let l=(this.seq===void 0||this?.seq?.paused===!0)&&this.synth.voicesAmount===0&&!r;if(!this.renderBool||l)if(FB){o&&requestAnimationFrame(this.render.bind(this));return}else FB=!0;else FB=!1;if(o&&this.drawingContext.clearRect(0,0,this.canvas.width,this.canvas.height),this.renderAnalysers&&!this.synth.highPerformanceMode&&this.renderWaveforms(),this.renderNotes&&this.noteTimes){let D=this.computeNotePositions(this.synth.highPerformanceMode);this.synth.highPerformanceMode||ny(D,this.drawingContext,this.sideways)}let g=performance.now()-this.frameTimeStart;this.frameTimeStart=performance.now();let f=1e3/g;this.drawingContext.textBaseline="hanging",this.drawingContext.textAlign="end",this.drawingContext.font=`${CC}px system-ui`,this.drawingContext.fillStyle="white",this.drawingContext.strokeStyle="white",this.drawingContext.fillText(`${this.notesOnScreen} notes`,this.canvas.width,CC*2+5),this.drawingContext.fillText(this.version,this.canvas.width,5),this.drawingContext.fillText(Math.round(f).toString()+" FPS",this.canvas.width,CC+5),this.onRender&&this.onRender(),o&&requestAnimationFrame(this.render.bind(this))}function oy(o=!1){this.notesOnScreen=0;let r=this.sideways?this.canvas.height:this.canvas.width,l=this.sideways?this.canvas.width:this.canvas.height,g=this.keyRange.max-this.keyRange.min,f=r/(g+1),D=f-p$*2,o0=this.noteFallingTimeMs/1e3,E0=this.noteAfterTriggerTimeMs/1e3,m0=this.seq.currentHighResolutionTime,c0=m0-E0,f1=o0+E0,x=c0+f1,X0=ay/f1,F0=[];this.synth.channelProperties.forEach(l2=>{if(this.showVisualPitch){let y1=l2.pitchBend-8192+this.visualPitchBendOffset;F0.push(l2.pitchBendRangeSemitones*(y1/8192*f))}else F0.push(0)});let b1=[];return this.noteTimes.forEach((l2,y1)=>{if(l2.renderStartIndex>=l2.notes.length||!this.renderChannels[y1])return;let Y2=l2.renderStartIndex,T2=l2.notes,V2=T2[Y2],i3=-1;for(;V2.start<=x&&(Y2++,!(this.notesOnScreen>$y));){let r3=V2.start+V2.length;if(r3>c0&&V2.length>0){let A0=V2.length/f1*l-p$*2;if(this.notesOnScreen<1e3||A0>X0){i3===-1&&(i3=Y2-1);let y5=(V2.start-c0)/f1*l,T3;if(this._notesFall?T3=l-A0-y5+p$:T3=y5+p$,V2.midiNotethis.keyRange.max){if(Y2>=T2.length)break;V2=T2[Y2];continue}let $3=V2.midiNote-this.keyRange.min,w6=f*$3+p$,s6,o9,J4,r4;if(this.sideways?(s6=T3,o9=w6,r4=D,J4=A0):(o9=T3,s6=w6,J4=D,r4=A0),this.notesOnScreen++,o)this.drawingContext.fillStyle=this.plainColors[y1],this.drawingContext.fillRect(s6+B$+p$,o9+B$,J4-B$*2,r4-B$*2);else{let V6;if(V2.start>m0||r3=T2.length)break;V2=T2[Y2]}i3>-1&&(l2.renderStartIndex=i3)}),b1.sort((l2,y1)=>y1.height-l2.height),b1}function ly(){let o=this.canvas.width/4,r=this.canvas.height/4;this.channelAnalysers.forEach((l,g)=>{let f=g%4,D=Math.floor(g/4),o0=!1;for(let x=g;x0){o0=!0;break}if(!o0){let x=this.canvas.width/4,X0=this.canvas.height/4,F0=x*f,b1=X0*D+X0/2;this.drawingContext.lineWidth=this.lineThickness,this.drawingContext.strokeStyle=this.channelColors[g],this.drawingContext.beginPath(),this.drawingContext.moveTo(F0,b1),this.drawingContext.lineTo(F0+x,b1),this.drawingContext.stroke();return}let E0=new Float32Array(l.frequencyBinCount);l.getFloatTimeDomainData(E0);let m0=o*f,c0=r*D+r/2,f1=this.waveMultiplier*r;if(this.drawingContext.lineWidth=this.lineThickness,this.drawingContext.strokeStyle=this.channelColors[g],this.drawingContext.beginPath(),this._stabilizeWaveforms){let x=E0.length/4,X0=o/x,F0=Math.floor(x/2),b1=E0.length-F0;for(let T2=b1;T2>=1;T2--)if(E0[T2-1]<0&&E0[T2]>=0){b1=T2;break}let l2=m0,y1=b1-F0,Y2=b1+F0;for(let T2=y1;T2{this.renderChannels[r.channel]=!r.isMuted}),this.updateFftSize()}function hy(){for(let o=0;o4096?this.delayNode.delayTime.value=f/this.synth.context.sampleRate/2:this.delayNode.delayTime.value=0)}}function uy(o){o.connectIndividualOutputs(this.channelAnalysers),o.eventHandler.addEvent("drumchange","renderer-drum-change",()=>{this.updateFftSize()})}function fy(){for(let o of this.channelAnalysers)o.disconnect();W5("%cAnalysers disconnected!",_1.recognized)}function dy(o){this.seq=o,this.seq.addOnTimeChangeEvent(()=>this.resetIndexes(),"renderer-time-change"),this.seq.addOnSongChangeEvent(async r=>{if(this.calculateNoteTimes(await this.seq.getMIDI()),this.resetIndexes(),r.RMIDInfo?.IPIC!==void 0){let l=new Blob([r.RMIDInfo?.IPIC.buffer]),g=URL.createObjectURL(l),f=this.canvas.classList.contains("light_mode")?0:.9;this.canvas.style.background=`linear-gradient(rgba(0, 0, 0, ${f}), rgba(0, 0, 0, ${f})), center center / cover url("${g}")`}else this.canvas.style.background=""},"renderer-song-change")}function Iy(){this.noteTimes&&this.noteTimes.forEach(o=>o.renderStartIndex=0)}function MB(o,r){let l=0;for(let g=8*(r-1);g>=0;g-=8)l|=o[o.currentIndex++]<>>0}function Qm(o,r){let l=new Array(r).fill(0);for(let g=r-1;g>=0;g--)l[g]=o&255,o>>=8;return l}var $h=.02;function Ey(o){function r(c0){return c0.messageData=new V3(c0.messageData.buffer),c0.messageData.currentIndex=0,6e7/MB(c0.messageData,3)}let l=[],f=o.tracks.flat();f.sort((c0,f1)=>c0.ticks-f1.ticks);for(let c0=0;c0<16;c0++)l.push({renderStartIndex:0,notes:[]});let D=0,o0=60/(120*o.timeDivision),E0=0,m0=0;for(;E0>4,x=c0.messageStatusByte&15;if(f1===8){let X0=l[x].notes.findLast(F0=>F0.midiNote===c0.messageData[0]&&F0.length===-1);if(X0){let F0=D-X0.start;X0.length=F0<$h&&x===Di?$h:F0}m0--}else if(f1===9)if(c0.messageData[1]===0){let X0=l[x].notes.findLast(F0=>F0.midiNote===c0.messageData[0]&&F0.length===-1);if(X0){let F0=D-X0.start;X0.length=F0<$h&&x===Di?$h:F0}m0--}else l[c0.messageStatusByte&15].notes.push({midiNote:c0.messageData[0],start:D,length:-1,velocity:c0.messageData[1]/127}),m0++;else c0.messageStatusByte===81&&(o0=60/(r(c0)*o.timeDivision));if(++E0>=f.length)break;D+=o0*(f[E0].ticks-c0.ticks)}m0>0&&l.forEach((c0,f1)=>c0.notes.filter(x=>x.length===-1).forEach(x=>{let X0=D-x.start;x.length=X0<$h&&f1===Di?$h:X0})),this.noteTimes=l,W5("%cFinished loading note times and ready to render the sequence!",_1.info)}var Pb=1024,Ob=4096,qb=2,Hb=2,BC=.6,pC=.5,B$=1,p$=1,CC=12,Ay=.6,ay=2,$y=81572,_i=class{onRender;constructor(r,l,g,f,D=""){this.noteFallingTimeMs=1e3,this.noteAfterTriggerTimeMs=0,this._keyRange={min:0,max:127},this.version="v"+D,this.visualPitchBendOffset=0,this.lineThickness=Hb,this._normalAnalyserFft=Pb,this._drumAnalyserFft=Ob,this.waveMultiplier=qb,this._notesFall=!0,this.sideways=!1,this._renderBool=!0,this.renderAnalysers=!0,this.renderNotes=!0,this.drawActiveNotes=!0,this.showVisualPitch=!0,this._stabilizeWaveforms=!0,this.renderChannels=Array(16).fill(!0),this.canvas=g,this.drawingContext=this.canvas.getContext("2d"),this.plainColors=r,this.computeColors(),this.synth=l,this.delayNode=f,this.notesOnScreen=0,this.channelAnalysers=[],this.createChannelAnalysers(l),this.connectChannelAnalysers(l)}get stabilizeWaveforms(){return this._stabilizeWaveforms}set stabilizeWaveforms(r){this._stabilizeWaveforms=r,this.updateFftSize()}get direction(){return this._notesFall?"down":"up"}set direction(r){this._notesFall=r==="down"}get normalAnalyserFft(){return this._normalAnalyserFft}set normalAnalyserFft(r){this._normalAnalyserFft=r,this.updateFftSize()}get drumAnalyserFft(){return this._drumAnalyserFft}set drumAnalyserFft(r){this._drumAnalyserFft=r,this.updateFftSize()}get renderBool(){return this._renderBool}set renderBool(r){this._renderBool=r,r===!0?this.connectChannelAnalysers(this.synth):this.disconnectChannelAnalysers()}get keyRange(){return this._keyRange}set keyRange(r){if(r.max===void 0||r.min===void 0)throw new TypeError("No min or max property!");if(r.min>r.max){let l=r.min;r.min=r.max,r.max=l}r.min=Math.max(0,r.min),r.max=Math.min(127,r.max),this._keyRange=r}toggleDarkMode(){this.canvas.classList.toggle("light_mode")}computeColors(){this.channelColors=this.plainColors.map(r=>{let l=this.drawingContext.createLinearGradient(0,0,this.canvas.width/128,0);return l.addColorStop(0,C$(r,g=>g*pC)),l.addColorStop(1,r),l}),this.darkerColors=this.plainColors.map(r=>{let l=this.drawingContext.createLinearGradient(0,0,this.canvas.width/128,0);return l.addColorStop(0,C$(r,g=>g*pC*BC)),l.addColorStop(1,C$(r,g=>g*BC)),l}),this.sidewaysChannelColors=this.plainColors.map(r=>{let l=this.drawingContext.createLinearGradient(0,0,0,this.canvas.width/128);return l.addColorStop(0,C$(r,g=>g*pC)),l.addColorStop(1,r),l}),this.sidewaysDarkerColors=this.plainColors.map(r=>{let l=this.drawingContext.createLinearGradient(0,0,0,this.canvas.width/128);return l.addColorStop(0,C$(r,g=>g*pC*BC)),l.addColorStop(1,C$(r,g=>g*BC)),l})}};_i.prototype.render=sy;_i.prototype.computeNotePositions=oy;_i.prototype.createChannelAnalysers=gy;_i.prototype.updateFftSize=hy;_i.prototype.connectChannelAnalysers=uy;_i.prototype.disconnectChannelAnalysers=fy;_i.prototype.connectSequencer=dy;_i.prototype.calculateNoteTimes=Ey;_i.prototype.resetIndexes=Iy;_i.prototype.renderWaveforms=ly;function o3(o,r){let l=0;for(let g=0;g>>0}function $7(o,r,l){for(let g=0;g>g*8&255}function Q9(o,r){o[o.currentIndex++]=r&255,o[o.currentIndex++]=r>>8}function l7(o,r){$7(o,r,4)}function RA(o,r){let l=r<<8|o;return l>32767?l-65536:l}function my(o){return o>127?o-256:o}function Ee(o,r,l=void 0,g=!0){if(l){let f=o.slice(o.currentIndex,o.currentIndex+r);return o.currentIndex+=r,new TextDecoder(l.replace(/[^\x20-\x7E]/g,"")).decode(f.buffer)}else{let f=!1,D="";for(let o0=0;o0127){if(g){f=!0;continue}else if(E0===0){f=!0;continue}}D+=String.fromCharCode(E0)}}return D}}function LA(o,r=0){let l=o.length;r>0&&(l=r);let g=new V3(l);return c7(g,o,r),g}function c7(o,r,l=0){l>0&&r.length>l&&(r=r.slice(0,l));for(let g=0;gr.length)for(let g=0;gl.header!=="LIST"?!1:(l.chunkData.currentIndex=0,Ee(l.chunkData,4)===r))}function QC(o){let r=[o&127];for(o>>=7;o>0;)r.unshift(o&127|128),o>>=7;return r}function yC(o){let r=[];for(let f of o.tracks){let D=[],o0=0,E0;for(let m0 of f){let c0=m0.ticks-o0,f1;m0.messageStatusByte<=K3.keySignature||m0.messageStatusByte===K3.sequenceSpecific?f1=[255,m0.messageStatusByte,...QC(m0.messageData.length),...m0.messageData]:m0.messageStatusByte===K3.systemExclusive?f1=[240,...QC(m0.messageData.length),...m0.messageData]:(f1=[],E0!==m0.messageStatusByte&&(E0=m0.messageStatusByte,f1.push(m0.messageStatusByte)),f1.push(...m0.messageData)),D.push(...QC(c0)),D.push(...f1),o0+=c0}r.push(new Uint8Array(D))}function l(f,D){for(let o0=0;o0{o.tracks.forEach((b1,l2)=>{if(o.midiPorts[l2]===F0)for(let y1=b1.length-1;y1>=0;y1--)b1[y1].messageStatusByte>=128&&b1[y1].messageStatusByte<240&&(b1[y1].messageStatusByte&15)===X0&&b1.splice(y1,1)})};g.forEach(X0=>{let F0=X0%16,b1=X0-F0,l2=o.midiPortChannelOffsets.findIndex(y1=>y1===b1);D(F0,l2),W5(`%cRemoving channel %c${X0}%c!`,_1.info,_1.recognized,_1.info)});let o0=!1,E0="gs",m0=[],c0=[];o.tracks.forEach((X0,F0)=>{X0.forEach(b1=>{let l2=b1.messageStatusByte&240;l2===K3.controllerChange?m0.push({track:F0,message:b1,channel:b1.messageStatusByte&15}):l2===K3.programChange?c0.push({track:F0,message:b1,channel:b1.messageStatusByte&15}):b1.messageStatusByte===K3.systemExclusive&&(b1.messageData[0]===67&&b1.messageData[2]===76&&b1.messageData[5]===126&&b1.messageData[6]===0?(W5("%cXG system on detected",_1.info),E0="xg",o0=!0):b1.messageData[0]===67&&b1.messageData[2]===76&&b1.messageData[3]===8&&b1.messageData[5]===3&&c0.push({track:F0,message:b1,channel:b1.messageData[4]}))})});let f1=(X0,F0,b1)=>o.tracks.reduce((l2,y1,Y2)=>{if(o.usedChannelsOnTrack[Y2].has(X0)&&o.midiPorts[Y2]===F0){let T2;b1?T2=y1.findIndex(V2=>(V2.messageStatusByte&240)===K3.noteOn):T2=y1.findIndex(V2=>V2.messageStatusByte>128&&V2.messageStatusByte<240&&(V2.messageStatusByte&15)===X0&&!(V2.messageStatusByte&K3.controllerChange===240&&(V2.messageData[0]===B3.resetAllControllers||V2.messageData[0]===B3.allNotesOff||V2.messageData[0]===B3.allSoundOff))),T2!==-1&&l2.push({index:T2,track:Y2})}return l2},[]),x=(X0,F0,b1)=>{let l2=m0.filter(y1=>y1.channel===X0&&y1.message.messageData[0]===b1&&o.midiPorts[y1.track]===F0);for(let y1=0;y1{let F0=X0.channel,b1=F0%16,l2=F0-b1,y1=o.midiPortChannelOffsets.findIndex(A0=>A0===l2),Y2=X0.controllerValue,T2=X0.controllerNumber;x(b1,y1,T2),W5(`%cNo controller %c${T2}%c on channel %c${F0}%c found. Adding it!`,_1.info,_1.unrecognized,_1.info,_1.value,_1.info);let V2=f1(b1,y1,!0);if(V2.length===0){Ie("Program change but no notes... ignoring!");return}let i3=V2.reduce((A0,y5)=>o.tracks[y5.track][y5.index].ticks{let F0=X0.channel%16,b1=X0.channel-F0,l2=o.midiPortChannelOffsets.findIndex($3=>$3===b1),y1=X0.isDrum?0:X0.bank,Y2=X0.program,T2=c0.filter($3=>o.midiPorts[$3.track]===l2&&$3.channel===F0);if(x(F0,l2,B3.bankSelect),x(F0,l2,B3.lsbForControl0BankSelect),(X0.isDrum||y1>0)&&!o0&&(o.tracks.forEach($3=>{for(let w6=0;w6<$3.length;w6++){let s6=$3[w6];if(s6.messageStatusByte===K3.systemExclusive)if(s6.messageData[0]===65&&s6.messageData[2]===66&&s6.messageData[6]===127){o0=!0,W5("%cGS on detected!",_1.recognized);break}else s6.messageData[0]===126&&s6.messageData[2]===9&&(W5("%cGM/2 on detected, removing!",_1.info),$3.splice(w6,1),w6--)}}),!o0)){let $3=0;o.tracks[0][0].messageStatusByte===K3.trackName&&$3++,o.tracks[0].splice($3,0,TB(0)),W5("%cGS on not detected. Adding it.",_1.info),o0=!0}for(let $3 of T2)o.tracks[$3.track].splice(o.tracks[$3.track].indexOf($3.message),1);let V2=f1(F0,l2,b1>0);if(V2.length===0){Ie("Program change but no notes... ignoring!");return}let i3=V2.reduce(($3,w6)=>o.tracks[w6.track][w6.index].ticks{if(o.midiPorts[T2]!==b1||!o.usedChannelsOnTrack[T2].has(F0))return;let V2=K3.noteOn|F0,i3=K3.noteOff|F0,r3=K3.polyPressure|F0;Y2.forEach(A0=>{A0.messageStatusByte!==V2&&A0.messageStatusByte!==i3&&A0.messageStatusByte!==r3||(A0.messageData[0]=Math.max(0,Math.min(127,A0.messageData[0]+l2)))})}),y1!==0){let Y2=o.tracks.find((s6,o9)=>o.usedChannelsOnTrack[o9].has(X0.channel));if(Y2===void 0){Ie(`Channel ${X0.channel} unused but transpose requested???`);continue}let T2=K3.noteOn|X0.channel%16,V2=Y2.findIndex(s6=>s6.messageStatusByte===T2);if(V2===-1){Ie(`No notes on channel ${X0.channel} but transpose requested???`);continue}let i3=Y2[V2].ticks,r3=y1*64+64,A0=K3.controllerChange|X0.channel%16,y5=new mi(i3,A0,new V3([B3.RPNMsb,0])),T3=new mi(i3,A0,new V3([B3.RPNLsb,1])),$3=new mi(i3,A0,new V3([B3.dataEntryMsb,r3])),w6=new mi(i3,A0,new V3([B3.lsbForControl6DataEntry,0]));Y2.splice(V2,0,w6),Y2.splice(V2,0,$3),Y2.splice(V2,0,T3),Y2.splice(V2,0,y5)}}i4()}function lh(o,r){let l=[],g=[],f=[],D=[];r.channelSnapshots.forEach((o0,E0)=>{if(o0.isMuted){g.push(E0);return}let m0=o0.channelTransposeKeyShift+o0.customControllers[mC.channelTransposeFine]/100;m0!==0&&l.push({channel:E0,keyShift:m0}),o0.lockPreset&&f.push({channel:E0,program:o0.program,bank:o0.bank,isDrum:o0.drumChannel}),o0.lockedControllers.forEach((c0,f1)=>{if(!c0||f1>127||f1===B3.bankSelect)return;let x=o0.midiControllers[f1]>>7;D.push({channel:E0,controllerNumber:f1,controllerValue:x})})}),Jb(o,f,D,g,l)}var Lt={name:"INAM",album:"IPRD",artist:"IART",genre:"IGNR",picture:"IPIC",copyright:"ICOP",creationDate:"ICRD",comment:"ICMT",engineer:"IENG",software:"ISFT",encoding:"IENC",midiEncoding:"MENC",bankOffset:"DBNK"},FA="utf-8",Vb="Created using SpessaSynth";function By(o,r,l,g=0,f="Shift_JIS",D={},o0=!0){if(cr("%cWriting the RMIDI File...",_1.info),W5(`%cConfiguration: Bank offset: %c${g}%c, encoding: %c${f}`,_1.info,_1.value,_1.info,_1.value),W5("metadata",D),W5("Initial bank offset",r.bankOffset),o0){let Y2=function(){let r3=0,A0=1/0;return r.tracks.forEach((y5,T3)=>{l2[T3]>=y5.length||y5[l2[T3]].ticksA0>r3?A0:r3),i3=[];for(let r3=0;r30;){let r3=Y2(),A0=r.tracks[r3];if(l2[r3]>=A0.length){y1--;continue}let y5=A0[l2[r3]];l2[r3]++;let T3=r.midiPortChannelOffsets[T2[r3]];if(y5.messageStatusByte===K3.midiPort){T2[r3]=y5.messageData[0];continue}let $3=y5.messageStatusByte&240;if($3!==K3.controllerChange&&$3!==K3.programChange&&$3!==K3.systemExclusive)continue;if($3===K3.systemExclusive){if(y5.messageData[0]!==65||y5.messageData[2]!==66||y5.messageData[3]!==18||y5.messageData[4]!==64||!(y5.messageData[5]&16)||y5.messageData[6]!==21){y5.messageData[0]===67&&y5.messageData[2]===76&&y5.messageData[5]===126&&y5.messageData[6]===0?F0="xg":y5.messageData[0]===65&&y5.messageData[2]===66&&y5.messageData[6]===127?F0="gs":y5.messageData[0]===126&&y5.messageData[2]===9&&(F0="gm",b1.push({tNum:r3,e:y5}));continue}let o9=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][y5.messageData[5]&15]+T3;i3[o9].drums=!!(y5.messageData[7]>0&&y5.messageData[5]>>4);continue}let w6=(y5.messageStatusByte&15)+T3,s6=i3[w6];if($3===K3.programChange){s6.drums?l.presets.findIndex(r4=>r4.program===y5.messageData[0]&&r4.bank===128)===-1&&(y5.messageData[0]=l.presets.find(r4=>r4.bank===128)?.program||0):l.presets.findIndex(r4=>r4.program===y5.messageData[0]&&r4.bank!==128)===-1&&(y5.messageData[0]=l.presets.find(r4=>r4.bank!==128)?.program||0),s6.program=y5.messageData[0];let o9=Math.max(0,s6.lastBank?.messageData[1]-r.bankOffset),J4=s6.drums?128:o9;if(s6.lastBank===void 0)continue;if(F0==="xg"&&s6.drums&&(i3[w6].lastBank.messageData[1]=127),l.presets.findIndex(r4=>r4.bank===J4&&r4.program===y5.messageData[0])===-1){let r4=l.presets.find(V6=>V6.program===y5.messageData[0])?.bank+g||g;s6.lastBank.messageData[1]=r4,W5(`%cNo preset %c${J4}:${y5.messageData[0]}%c. Changing bank to ${r4}.`,_1.info,_1.recognized,_1.info)}else{let V6=(J4===128?F0==="xg"?127:0:o9)+g;s6.lastBank.messageData[1]=V6,W5(`%cPreset %c${J4}:${y5.messageData[0]}%c exists. Changing bank to ${V6}.`,_1.info,_1.recognized,_1.info)}continue}y5.messageData[0]===B3.bankSelect&&(s6.hasBankSelect=!0,F0==="xg"&&(s6.drums=y5.messageData[1]===120||y5.messageData[1]===126||y5.messageData[1]===127),s6.lastBank=y5)}if(i3.forEach((r3,A0)=>{if(r3.hasBankSelect===!0)return;let y5=A0%16,T3=K3.programChange|y5,$3=Math.floor(A0/16)*16,w6=r.midiPortChannelOffsets.indexOf($3),s6=r.tracks.find((V6,We)=>r.midiPorts[We]===w6&&r.usedChannelsOnTrack[We].has(y5));if(s6===void 0)return;let o9=s6.findIndex(V6=>V6.messageStatusByte===T3);if(o9===-1){let V6=s6.findIndex(Ji=>Ji.messageStatusByte>128&&Ji.messageStatusByte<240&&(Ji.messageStatusByte&15)===y5);if(V6===-1)return;let We=s6[V6].ticks,qr=l.getPreset(0,0).program;s6.splice(V6,0,new mi(We,K3.programChange|y5,new V3([qr]))),o9=V6}W5(`%cAdding bank select for %c${A0}`,_1.info,_1.recognized);let J4=s6[o9].ticks,r4=l.getPreset(0,r3.program)?.bank+g||g;s6.splice(o9,0,new mi(J4,K3.controllerChange|y5,new V3([B3.bankSelect,r4])))}),F0!=="gs"&&F0!=="xg"){for(let A0 of b1)r.tracks[A0.tNum].splice(r.tracks[A0.tNum].indexOf(A0.e),1);let r3=0;r.tracks[0][0].messageStatusByte===K3.trackName&&r3++,r.tracks[0].splice(r3,0,TB(0))}}let E0=new V3(yC(r).buffer),m0=[LA("INFO")],c0=new TextEncoder;if(m0.push(Ze(Lt.software,c0.encode("SpessaSynth"),!0)),D.name!==void 0?(m0.push(Ze(Lt.name,c0.encode(D.name),!0)),f=FA):m0.push(Ze(Lt.name,r.rawMidiName,!0)),D.creationDate!==void 0)f=FA,m0.push(Ze(Lt.creationDate,c0.encode(D.creationDate),!0));else{let F0=new Date().toLocaleString(void 0,{weekday:"long",year:"numeric",month:"long",day:"numeric",hour:"numeric",minute:"numeric"});m0.push(Ze(Lt.creationDate,LA(F0),!0))}if(D.comment!==void 0&&(f=FA,m0.push(Ze(Lt.comment,c0.encode(D.comment)))),D.engineer!==void 0&&m0.push(Ze(Lt.engineer,c0.encode(D.engineer),!0)),D.album!==void 0&&(f=FA,m0.push(Ze(Lt.album,c0.encode(D.album),!0))),D.artist!==void 0&&(f=FA,m0.push(Ze(Lt.artist,c0.encode(D.artist),!0))),D.genre!==void 0&&(f=FA,m0.push(Ze(Lt.genre,c0.encode(D.genre),!0))),D.picture!==void 0&&m0.push(Ze(Lt.picture,new Uint8Array(D.picture))),D.copyright!==void 0)f=FA,m0.push(Ze(Lt.copyright,c0.encode(D.copyright),!0));else{let F0=r.copyright.length>0?r.copyright:Vb;m0.push(Ze(Lt.copyright,LA(F0)))}let f1=new V3(2);$7(f1,g,2),m0.push(Ze(Lt.bankOffset,f1)),D.midiEncoding!==void 0&&(m0.push(Ze(Lt.midiEncoding,c0.encode(D.midiEncoding))),f=FA),m0.push(Ze(Lt.encoding,LA(f)));let x=bn(m0),X0=bn([LA("RMID"),Ze("data",E0),Ze("LIST",x),o]);return W5("%cFinished!",_1.info),i4(),Ze("RIFF",X0)}function ym(o,r){let l=0;for(;o>0;){let g=r.tempoChanges.find(D=>D.ticks=128){this.MIDIout.send(g);return}break;case MA.songChange:let f=l[0];this.songIndex=l[1],this.midiData=f,this.hasDummyData=!1,this.absoluteStartTime=0,this.duration=this.midiData.duration,Object.entries(this.onSongChange).forEach(E0=>E0[1](f)),this.unpause();break;case MA.textEvent:let D=l;this.onTextEvent&&this.onTextEvent(D[0],D[1]);break;case MA.timeChange:let o0=this.synth.currentTime-l;Object.entries(this.onTimeChange).forEach(E0=>E0[1](o0)),this.unpause(),this._recalculateStartTime(o0);break;case MA.pause:this.pausedTime=this.currentTime,this.isFinished=l,this.isFinished&&Object.entries(this.onSongEnded).forEach(E0=>E0[1]());break;case MA.midiError:if(this.onError)this.onError(l);else throw new Error(l);return;case MA.getMIDI:this._getMIDIResolve&&this._getMIDIResolve(l)}}_recalculateStartTime(r){this.absoluteStartTime=this.synth.currentTime-r/this._playbackRate,this.highResTimeOffset=(this.synth.currentTime-performance.now()/1e3)*this._playbackRate}async getMIDI(){return new Promise(r=>{this._getMIDIResolve=r,this._sendMessage(Ri.getMIDI,void 0)})}loadNewSongList(r){this.pause(),this.midiData=py,this.hasDummyData=!0,this.duration=99999,this._sendMessage(Ri.loadNewSongList,r),this.songIndex=0,this.songsAmount=r.length,this.songsAmount>1&&(this.loop=!1)}connectMidiOutput(r){this.resetMIDIOut(),this.MIDIout=r,this._sendMessage(Ri.changeMIDIMessageSending,r!==void 0),this.currentTime-=.1}pause(){if(this.paused){Ie("Already paused");return}this.pausedTime=this.currentTime,this._sendMessage(Ri.pause)}unpause(){this.pausedTime=void 0,this.isFinished=!1}play(r=!1){this.isFinished&&(r=!0),this._recalculateStartTime(this.pausedTime||0),this.unpause(),this._sendMessage(Ri.play,r)}stop(){this._sendMessage(Ri.stop)}};var wm=["Shift_JIS","windows-1250","utf-8","utf-16","utf-16le","utf-16be","latin1","ISO-8859-1","ISO-8859-2","ISO-8859-3","ISO-8859-4","ISO-8859-5","ISO-8859-6","ISO-8859-7","ISO-8859-8","ISO-8859-9","ISO-8859-10","ISO-8859-11","ISO-8859-13","ISO-8859-14","ISO-8859-15","ISO-8859-16","windows-1251","windows-1252","windows-1253","windows-1254","windows-1255","windows-1256","windows-1257","windows-1258","EUC-JP","ISO-2022-JP","EUC-KR","Big5","GB18030"];function Qy(o){return` `}function Q$(o){return` @@ -68,7 +68,7 @@ var hC=(o=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(o,{get:(r,l)=>( `}function NB(o){return` -`}function gh(o,r){let l=document.createElement("div");return l.classList.add("control_buttons"),l.title=o,l.innerHTML=r,l}var Xt={synthesizerUIShow:"s",settingsShow:"r",blackMidiMode:"b",midiPanic:"backspace",playPause:" ",toggleLoop:"l",toggleLyrics:"t",seekBackwards:"arrowleft",seekForwards:"arrowright",previousSong:"[",nextSong:"]",cinematicMode:"c",videoMode:"v"};function Ry(){navigator.mediaSession&&(navigator.mediaSession.metadata=new MediaMetadata({title:this.currentSongTitle,artist:"SpessaSynth"}),navigator.mediaSession.setActionHandler("play",()=>{this.seqPlay()}),navigator.mediaSession.setActionHandler("pause",()=>{this.seqPause()}),navigator.mediaSession.setActionHandler("stop",()=>{this.seq.currentTime=0,this.seqPause()}),navigator.mediaSession.setActionHandler("seekbackward",o=>{this.seq.currentTime-=o.seekOffset||10}),navigator.mediaSession.setActionHandler("seekforward",o=>{this.seq.currentTime+=o.seekOffset||10}),navigator.mediaSession.setActionHandler("seekto",o=>{this.seq.currentTime=o.seekTime}),navigator.mediaSession.setActionHandler("previoustrack",()=>{this.switchToPreviousSong()}),navigator.mediaSession.setActionHandler("nexttrack",()=>{this.switchToNextSong()}),navigator.mediaSession.playbackState="playing")}function Ly(o=!0){if(this.seq?.hasDummyData===!0)this.currentSongTitle=this.locale.getLocaleString("locale.synthInit.genericLoading");else{let r=this.infoDecoder.decode(this.seq.midiData.rawMidiName.buffer).replace(/\0$/,"");this.currentSongTitle=DB(r)}if(this.seq.midiData){let r=this.seq.midiData.lyrics;this.currentLyrics=new Uint8Array(r.reduce((g,f)=>g+f.length,0));let l=0;for(let g of r)this.currentLyrics.set(g,l),l+=g.length;this.currentLyricsString=this.decodeTextFix(this.currentLyrics.buffer)||this.locale.getLocaleString("locale.sequencerController.lyrics.noLyrics"),this.setLyricsText(""),o&&(this.rawOtherTextEvents=[])}if(document.getElementById("title").innerText=this.currentSongTitle,document.title=this.currentSongTitle+" - SpessaSynth",this.musicModeUI.setTitle(this.currentSongTitle),!!navigator.mediaSession)try{navigator.mediaSession.setPositionState({duration:this.seq.duration,playbackRate:this.seq.playbackRate,position:this.seq.currentTime})}catch{}}var zb=parseFloat(getComputedStyle(document.body).fontSize);function Fy(){this.lyricsElement={};let o=document.createElement("div");o.classList.add("lyrics");let r=document.createElement("div");r.classList.add("lyrics_title_wrapper"),o.append(r),this.lyricsElement.titleWrapper=r;let l=document.createElement("h2");this.locale.bindObjectProperty(l,"textContent","locale.sequencerController.lyrics.title"),l.classList.add("lyrics_title"),r.appendChild(l),this.lyricsElement.title=l;let g=document.createElement("select");wm.forEach(u1=>{let F=document.createElement("option");F.innerText=u1,F.value=u1,g.appendChild(F)}),g.value=this.encoding,g.onchange=()=>this.changeEncoding(g.value),g.classList.add("lyrics_selector"),this.encodingSelector=g,r.appendChild(g);let f=document.createElement("p");f.classList.add("lyrics_text"),o.appendChild(f);let D=document.createElement("span");D.classList.add("lyrics_text_highlight"),f.appendChild(D);let o0=document.createElement("span");o0.classList.add("lyrics_text_gray"),f.appendChild(o0);let E0=document.createElement("details"),m0=document.createElement("summary");this.locale.bindObjectProperty(m0,"textContent","locale.sequencerController.lyrics.otherText.title"),E0.appendChild(m0);let l0=document.createElement("div");l0.innerText="",E0.appendChild(l0),o.appendChild(E0),this.lyricsElement.text={highlight:D,gray:o0,main:f,other:l0},this.lyricsElement.mainDiv=o,this.lyricsElement.selector=g,this.controls.appendChild(o),this.requiresTextUpdate=!0}function My(o){let r=this.lyricsElement.text.highlight,l=this.lyricsElement.text.gray;l.innerText=this.currentLyricsString.replace(o,""),r.innerText=o,this.lyricsElement.text.main.scrollTo(0,r.offsetHeight-zb*5)}function Ty(){let o="";for(let r of this.rawOtherTextEvents)o+=`
${Object.keys(K3).find(l=>K3[l]===r.type).replace(/([a-z])([A-Z])/g,"$1 $2")}:
${this.decodeTextFix(r.data.buffer)}

`;this.lyricsElement.text.other.innerHTML=o}var Gr=32,Ny="#ccc",Gy="#555",Zb="#333",Wb="#ddd",jb="Shift_JIS",Ls=class{constructor(r,l,g){this.iconColor=Ny,this.iconDisabledColor=Gy,this.controls=r,this.encoding=jb,this.decoder=new TextDecoder(this.encoding),this.infoDecoder=new TextDecoder(this.encoding),this.hasInfoDecoding=!1,this.text="",this.requiresTextUpdate=!1,this.rawLyrics=[],this.rawOtherTextEvents=[],this.mode="dark",this.locale=l,this.currentSongTitle="",this.currentLyrics=new Uint8Array(0),this.currentLyricsString="",this.musicModeUI=g}toggleDarkMode(){if(this.mode==="dark"?(this.mode="light",this.iconColor=Zb,this.iconDisabledColor=Wb):(this.mode="dark",this.iconColor=Ny,this.iconDisabledColor=Gy),!this.seq){this.requiresThemeUpdate=!0;return}this.progressBar.classList.toggle("note_progress_light"),this.progressBarBackground.classList.toggle("note_progress_background_light"),this.lyricsElement.mainDiv.classList.toggle("lyrics_light"),this.lyricsElement.titleWrapper.classList.toggle("lyrics_light"),this.lyricsElement.selector.classList.toggle("lyrics_light")}seqPlay(r=!0){r&&this.seq.play(),this.playPause.innerHTML=Q$(Gr),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),navigator.mediaSession&&(navigator.mediaSession.playbackState="playing")}seqPause(r=!0){r&&this.seq.pause(),this.playPause.innerHTML=Qy(Gr),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),navigator.mediaSession&&(navigator.mediaSession.playbackState="paused")}switchToNextSong(){this.seq.nextSong(),this.createNavigatorHandler(),this.updateTitleAndMediaStatus()}switchToPreviousSong(){this.seq.previousSong(),this.createNavigatorHandler(),this.updateTitleAndMediaStatus()}decodeTextFix(r,l=!1){let g=0;for(;;)try{return this.decoder.decode(r)}catch{g++,this.changeEncoding(wm[g]),this.encodingSelector.value=wm[g]}}connectSequencer(r){this.seq=r,this.createControls(),this.setSliderInterval(),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),this.seq.onTextEvent=(l,g)=>{let f=this.decodeTextFix(l.buffer);switch(g){default:return;case K3.text:case K3.copyright:case K3.cuePoint:case K3.trackName:case K3.instrumentName:case K3.programName:case K3.marker:this.rawOtherTextEvents.push({type:g,data:l}),this.requiresTextUpdate=!0;return;case K3.lyric:this.text+=f,this.rawLyrics.push(...l),this.setLyricsText(this.text);break}},this.seq.addOnTimeChangeEvent(()=>{this.text="",this.rawLyrics=[],this.seqPlay(!1)},"sequi-time-change"),this.seq.addOnSongChangeEvent(l=>{if(this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),this.seqPlay(!1),this.seq.songsAmount>1&&(this.seq.loop=!1,this.loopButton.firstElementChild.setAttribute("fill",this.iconDisabledColor)),this.hasInfoDecoding=this.seq.midiData.RMIDInfo?.[Lt.encoding]!==void 0,l.isEmbedded){let g=(E0,m0,l0,u1="")=>this.seq.midiData.RMIDInfo?.[E0]===void 0?m0:u1+l0.decode(this.seq.midiData.RMIDInfo?.[E0]).replace(/\0$/,""),f=new TextDecoder,D=g(Lt.midiEncoding,this.encoding,f),o0=g(Lt.encoding,"utf-8",f);this.infoDecoder=new TextDecoder(o0),this.changeEncoding(D)}},"sequi-song-change"),this.requiresThemeUpdate&&this.mode==="light"&&(this.mode="dark",this.toggleDarkMode())}changeEncoding(r){this.encoding=r,this.decoder=new TextDecoder(r),this.hasInfoDecoding||(this.infoDecoder=new TextDecoder(r)),this.updateOtherTextEvents(),this.text=this.decodeTextFix(new Uint8Array(this.rawLyrics).buffer),this.lyricsElement.selector.value=r,this.updateTitleAndMediaStatus(!1),this.setLyricsText(this.text)}createControls(){this.progressTime=document.createElement("p"),this.progressTime.id="note_time",this.progressTime.onclick=F=>{F.preventDefault();let q0=r.getBoundingClientRect(),R0=F.clientX-q0.left,L1=q0.width;this.seq.currentTime=R0/L1*this.seq.duration,g.innerHTML=Q$(Gr)},this.createLyrics();let r=document.createElement("div");r.id="note_progress_background",this.progressBarBackground=r,this.progressBar=document.createElement("div"),this.progressBar.id="note_progress",this.progressBar.min="0",this.progressBar.max=this.seq.duration.toString();let l=document.createElement("div"),g=gh("Play/Pause",Q$(Gr));this.playPause=g,this.locale.bindObjectProperty(g,"title","locale.sequencerController.playPause");let f=()=>{this.seq.paused?this.seqPlay():this.seqPause()};g.onclick=f;let D=gh("Previous song",vy(Gr));this.locale.bindObjectProperty(D,"title","locale.sequencerController.previousSong"),D.onclick=()=>this.switchToPreviousSong();let o0=gh("Next song",ky(Gr));this.locale.bindObjectProperty(o0,"title","locale.sequencerController.nextSong"),o0.onclick=()=>this.switchToNextSong();let E0=gh("Loop this",yy(Gr));this.locale.bindObjectProperty(E0,"title","locale.sequencerController.loopThis");let m0=()=>{this.seq.loop?this.seq.loop=!1:(this.seq.loop=!0,this.seq.currentTime>=this.seq.duration&&(this.seq.currentTime=0)),E0.firstElementChild.setAttribute("fill",this.seq.loop?this.iconColor:this.iconDisabledColor)};E0.onclick=m0,this.loopButton=E0;let l0=gh("Show lyrics",wy(Gr));this.locale.bindObjectProperty(l0,"title","locale.sequencerController.lyrics.show"),l0.firstElementChild.setAttribute("fill",this.iconDisabledColor);let u1=()=>{this.lyricsElement.mainDiv.classList.toggle("lyrics_show"),l0.firstElementChild.setAttribute("fill",this.lyricsElement.mainDiv.classList.contains("lyrics_show")?this.iconColor:this.iconDisabledColor)};l0.onclick=u1,document.addEventListener("keydown",F=>{switch(F.key.toLowerCase()){case Xt.playPause:F.preventDefault(),f();break;case Xt.toggleLoop:F.preventDefault(),m0();break;case Xt.toggleLyrics:F.preventDefault(),u1();break;default:break}}),l.appendChild(D),l.appendChild(E0),l.appendChild(g),l.appendChild(l0),l.appendChild(o0),this.controls.appendChild(r),r.appendChild(this.progressBar),this.controls.appendChild(this.progressTime),this.controls.appendChild(l),document.addEventListener("keydown",F=>{switch(F.key.toLowerCase()){case Xt.seekBackwards:F.preventDefault(),this.seq.currentTime-=5,g.innerHTML=Q$(Gr);break;case Xt.seekForwards:F.preventDefault(),this.seq.currentTime+=5,g.innerHTML=Q$(Gr);break;case Xt.previousSong:this.switchToPreviousSong();break;case Xt.nextSong:this.switchToNextSong();break;default:if(!isNaN(parseFloat(F.key))){F.preventDefault();let q0=parseInt(F.key);0<=q0&&q0<=9&&(this.seq.currentTime=this.seq.duration*(q0/10),g.innerHTML=Q$(Gr))}break}})}_updateInterval(){this.progressBar.style.width=`${this.seq.currentTime/this.seq.duration*100}%`;let r=I$(this.seq.currentTime),l=I$(this.seq.duration);this.progressTime.innerText=`${r.time} / ${l.time}`,this.requiresTextUpdate&&(this.updateOtherTextEvents(),this.requiresTextUpdate=!1)}setSliderInterval(){setInterval(this._updateInterval.bind(this),100)}};Ls.prototype.createNavigatorHandler=Ry;Ls.prototype.updateTitleAndMediaStatus=Ly;Ls.prototype.createLyrics=Fy;Ls.prototype.setLyricsText=My;Ls.prototype.updateOtherTextEvents=Ty;function Uy(){this.controllers.forEach(o=>{o.voiceMeter.hide(),o.pitchWheel.hide(),o.pan.hide(),o.expression.hide(),o.volume.hide(),o.mod.hide(),o.chorus.hide(),o.reverb.hide(),o.brightness.hide(),o.preset.hide()})}function Py(){this.controllers.forEach(o=>{o.voiceMeter.show(),o.pitchWheel.show(),o.pan.show(),o.expression.show(),o.volume.show(),o.mod.show(),o.chorus.show(),o.reverb.show(),o.brightness.show(),o.preset.show()})}function Oy(){this.mainControllerDiv.classList.toggle("synthui_controller_light"),this.mainButtons.forEach(o=>{o.classList.toggle("synthui_button"),o.classList.toggle("synthui_button_light")}),this.mainMeters.forEach(o=>{o.toggleMode(!0)}),this.controllers.forEach(o=>{o.voiceMeter.toggleMode(),o.pitchWheel.toggleMode(),o.pan.toggleMode(),o.expression.toggleMode(),o.volume.toggleMode(),o.mod.toggleMode(),o.chorus.toggleMode(),o.reverb.toggleMode(),o.brightness.toggleMode(),o.preset.toggleMode(),o.drumsToggle.classList.toggle("mute_button_light"),o.muteButton.classList.toggle("mute_button_light")})}var gr=class{constructor(r="none",l,g,f,D=0,o0=100,E0=!1,m0=void 0,l0=void 0,u1=void 0){if(this.meterText="",g.bindObjectProperty(this,"meterText",l+".title"),this.min=D,this.max=o0,this.currentValue=-1,this.isShown=!0,this.isVisualValueSet=!0,this.isLocked=!1,this.lockCallback=l0,this.unlockCallback=u1,this.div=document.createElement("div"),this.div.classList.add("voice_meter"),this.div.classList.add("controller_element"),r!=="none"&&r!==""&&(this.div.style.borderColor=r),g.bindObjectProperty(this.div,"title",l+".description",f),this.bar=document.createElement("div"),this.bar.classList.add("voice_meter_bar"),this.bar.style.background=r,this.div.appendChild(this.bar),this.text=document.createElement("p"),this.text.classList.add("voice_meter_text"),this.div.appendChild(this.text),this.isActive=!1,E0){if(m0===void 0)throw new Error("No editable function given!");this.div.onmousedown=F=>{F.preventDefault(),F.button===0?this.isActive=!0:this.lockMeter()},this.div.onmousemove=F=>{if(!this.isActive)return;let q0=F.currentTarget.getBoundingClientRect(),R0=q0.left,L1=q0.width,t2=F.clientX-R0,y1=Math.max(0,Math.min(1,t2/L1));m0(y1*(o0-D)+D)},this.div.onmouseup=()=>this.isActive=!1,this.div.onmouseleave=F=>{this.div.onmousemove(F),this.isActive=!1},this.text.oncontextmenu=F=>{F.preventDefault()},this.div.onclick=F=>{F.preventDefault(),this.isActive=!0,this.div.onmousemove(F),this.isActive=!1},this.div.classList.add("editable")}}lockMeter(){this.lockCallback!==void 0&&(this.isLocked?(this.text.classList.remove("locked_meter"),this.unlockCallback()):(this.text.classList.add("locked_meter"),this.lockCallback()),this.isLocked=!this.isLocked)}toggleMode(r=!1){r&&(this.bar.classList.toggle("voice_meter_light_color"),this.div.classList.toggle("voice_meter_light_color")),this.text.classList.toggle("voice_meter_text_light")}show(){if(this.isShown=!0,!this.isVisualValueSet){let r=Math.max(0,Math.min((this.currentValue-this.min)/(this.max-this.min),1));this.bar.style.width=`${r*100}%`,this.text.textContent=this.meterText+(Math.round(this.currentValue*100)/100).toString(),this.isVisualValueSet=!0}}hide(){this.isShown=!1}update(r,l=!1){if(!(r===this.currentValue&&l===!1))if(this.currentValue=r,this.isShown){let g=Math.max(0,Math.min((r-this.min)/(this.max-this.min),1));this.bar.style.width=`${g*100}%`,this.text.textContent=this.meterText+(Math.round(r*100)/100).toString(),this.isVisualValueSet=!0}else this.isVisualValueSet=!1}};var qy=["Acoustic Grand Piano","Bright Acoustic Piano","Electric Grand Piano","Honky-tonk Piano","Electric Piano 1","Electric Piano 2","Harpsichord","Clavi","Celesta","Glockenspiel","Music Box","Vibraphone","Marimba","Xylophone","Tubular Bells","Dulcimer","Drawbar Organ","Percussive Organ","Rock Organ","Church Organ","Reed Organ","Accordion","Harmonica","Tango Accordion","Acoustic Guitar (nylon)","Acoustic Guitar (steel)","Electric Guitar (jazz)","Electric Guitar (clean)","Electric Guitar (muted)","Overdriven Guitar","Distortion Guitar","Guitar Harmonics","Acoustic Bass","Electric Bass (finger)","Electric Bass (pick)","Fretless Bass","Slap Bass 1","Slap Bass 2","Synth Bass 1","Synth Bass 2","Violin","Viola","Cello","Contrabass","Tremolo Strings","Pizzicato Strings","Orchestral Harp","Timpani","String Ensemble 1","String Ensemble 2","Synth Strings 1","Synth Strings 2","Choir Aahs","VoiceGroup Oohs","Synth Choir","Orchestra Hit","Trumpet","Trombone","Tuba","Muted Trumpet","French Horn","Brass Section","Synth Brass 1","Synth Brass 2","Soprano Sax","Alto Sax","Tenor Sax","Baritone Sax","Oboe","English Horn","Bassoon","Clarinet","Piccolo","Flute","Recorder","Pan Flute","Blown Bottle","Shakuhachi","Whistle","Ocarina","Lead 1 (square)","Lead 2 (sawtooth)","Lead 3 (calliope)","Lead 4 (chiff)","Lead 5 (charang)","Lead 6 (voice)","Lead 7 (fifths)","Lead 8 (bass + lead)","Pad 1 (new age)","Pad 2 (warm)","Pad 3 (polysynth)","Pad 4 (choir)","Pad 5 (bowed)","Pad 6 (metallic)","Pad 7 (halo)","Pad 8 (sweep)","FX 1 (rain)","FX 2 (soundtrack)","FX 3 (crystal)","FX 4 (atmosphere)","FX 5 (brightness)","FX 6 (goblins)","FX 7 (echoes)","FX 8 (sci-fi)","Sitar","Banjo","Shamisen","Koto","Kalimba","Bagpipe","Fiddle","Shanai","Tinkle Bell","Agogo","Steel Drums","Woodblock","Taiko Drum","Melodic Tom","Synth Drum","Reverse Cymbal","Guitar Fret Noise","Breath Noise","Seashore","Bird Tweet","Telephone Ring","Attack Helicopter","Applause","Gunshot"];var bC=class{constructor(r,l,g,f,D=void 0,o0=void 0){this.isShown=!0,this.isReloaded=!0,this.elements=r.map(E0=>({name:E0.name,program:E0.program,bank:E0.bank,stringified:`${E0.bank.toString().padStart(3,"0")}:${E0.program.toString().padStart(3,"0")} ${E0.name}`})),this.elements.length>0?this.value=`${this.elements[0].bank}:${this.elements[0].program}`:this.value="",this.mainButton=document.createElement("button"),this.mainButton.classList.add("voice_selector"),this.mainButton.classList.add("controller_element"),l.bindObjectProperty(this.mainButton,"title",g+".description",f),this.locale=l,this.localePath=g,this.localeArgs=f,this.reload(),this.mainButton.onclick=()=>{this.showSelectionMenu()},this.editCallback=D,this.selectionMenu=void 0,this.lockCallback=o0,this.locked=!1,this.isWindowShown=!1}showSelectionMenu(){this.selectionMenu=document.createElement("div"),this.selectionMenu.classList.add("voice_selector_wrapper"),document.getElementsByClassName("spessasynth_main")[0].appendChild(this.selectionMenu);let r=document.createElement("div");r.classList.add("voice_selector_window");let l=document.createElement("h2");this.locale.bindObjectProperty(l,"textContent",this.localePath+".selectionPrompt",this.localeArgs),r.appendChild(l);let g=document.createElement("div");g.classList.add("voice_selector_search_wrapper"),r.appendChild(g);let f=document.createElement("input");f.type="text",this.locale.bindObjectProperty(f,"placeholder",this.localePath+".searchPrompt"),g.appendChild(f),f.onkeydown=E0=>E0.stopPropagation();let D=document.createElement("div");D.innerHTML=this.locked?SC(g7):NB(g7),this.locale.bindObjectProperty(D,"title",oe+"channelController.presetReset.description",this.localeArgs),D.classList.add("voice_reset"),this.mainButton.classList.contains("voice_selector_light")&&D.classList.add("voice_reset_light"),D.onclick=()=>{this.locked=!this.locked,this.lockCallback(this.locked),this.mainButton.classList.toggle("locked_selector"),this.locked?D.innerHTML=SC(g7):D.innerHTML=NB(g7)},g.appendChild(D),this.presetLock=D;let o0=document.createElement("div");o0.classList.add("voice_selector_table_wrapper"),r.appendChild(o0),this.generateTable(o0,this.elements),f.oninput=E0=>{E0.stopPropagation();let m0=f.value,l0=this.elements.filter(u1=>u1.stringified.search(new RegExp(m0,"i"))>=0);l0.length!==this.elements.length&&(o0.replaceChildren(),this.generateTable(o0,l0))},r.onclick=E0=>{E0.stopPropagation()},this.selectionMenu.appendChild(r),this.selectionMenu.onclick=E0=>{E0.stopPropagation(),this.hideSelectionMenu()},this.isWindowShown=!0,f.focus()}generateTable(r,l){let g=document.createElement("table");g.classList.add("voice_selector_table");let f=parseInt(this.value.split(":")[0]),D=parseInt(this.value.split(":")[1]),o0=-20;for(let E0 of l){let m0=document.createElement("tr"),l0=E0.program;if(l0===D&&E0.bank===f&&(m0.classList.add("voice_selector_selected"),setTimeout(()=>{m0.scrollIntoView({behavior:"instant",block:"center",inline:"center"})},20)),m0.onclick=()=>{let t2=`${E0.bank}:${l0}`;if(this.value===t2){this.hideSelectionMenu();return}this.editCallback(t2),this.locked=!0,this.presetLock.innerHTML=SC(g7),this.hideSelectionMenu()},l0!==o0&&(o0=l0,E0.bank!==128)){let t2=document.createElement("tr"),y1=document.createElement("th");y1.colSpan="3",y1.textContent=qy[o0],t2.appendChild(y1),g.appendChild(t2)}let u1=`${E0.program.toString().padStart(3,"0")}`,F=`${E0.bank.toString().padStart(3,"0")}`,q0=document.createElement("td");q0.classList.add("voice_selector_preset_name"),q0.textContent=E0.name;let R0=document.createElement("td");q0.classList.add("voice_selector_preset_program"),R0.textContent=u1;let L1=document.createElement("td");q0.classList.add("voice_selector_preset_program"),L1.textContent=F,m0.appendChild(L1),m0.appendChild(R0),m0.appendChild(q0),g.appendChild(m0)}r.appendChild(g)}hideSelectionMenu(){document.getElementsByClassName("spessasynth_main")[0].removeChild(this.selectionMenu),this.selectionMenu=void 0,this.isWindowShown=!1}toggleMode(){this.mainButton.classList.toggle("voice_selector_light")}reload(r=this.elements){if(this.elements=r.map(l=>({name:l.name,program:l.program,bank:l.bank,stringified:`${l.bank.toString().padStart(3,"0")}:${l.program.toString().padStart(3,"0")} ${l.name}`})),!this.isShown){this.isReloaded=!1;return}this.isReloaded=!0,this.elements.length>0&&(this.mainButton.textContent=this.getString(`${this.elements[0].bank}:${this.value.split(":")[1]}`))}set(r){if(this.value=r,this.isShown&&(this.isReloaded||this.reload(),this.mainButton.textContent=this.getString(this.value),this.isWindowShown)){let l=this.selectionMenu.getElementsByClassName("voice_selector_selected")[0];l!==void 0&&l.classList.remove("voice_selector_selected");let g=this.selectionMenu.getElementsByClassName("voice_selector_table")[0],f=parseInt(this.value.split(":")[0]),D=parseInt(this.value.split(":")[1]);for(let o0 of g.rows){if(o0.cells.length===1)continue;let E0=parseInt(o0.cells[0].textContent),m0=parseInt(o0.cells[1].textContent);E0===f&&m0===D&&(o0.classList.add("voice_selector_selected"),o0.scrollIntoView({behavior:"smooth",block:"center",inline:"center"}))}}}getString(r){let l=r.split(":"),g=parseInt(l[0]),f=parseInt(l[1]),D=this.elements.find(o0=>o0.bank===g&&o0.program===f);return D?g===128||this.elements.filter(o0=>o0.program===f&&o0.bank!==128).length<2?`${f}. ${D.name}`:`${g}:${f} ${D.name}`:""}show(){this.isShown=!0,this.isReloaded||this.reload(),this.mainButton.textContent=this.getString(this.value)}hide(){this.isShown=!1}};var g7=32;function Hy(o){this.soloChannels=new Set;let r=document.createElement("div");r.classList.add("channel_controller");let l=new gr(this.channelColors[o%this.channelColors.length],oe+"channelController.voiceMeter",this.locale,[o+1],0,100);l.bar.classList.add("voice_meter_bar_smooth"),r.appendChild(l.div);let g=new gr(this.channelColors[o%this.channelColors.length],oe+"channelController.pitchBendMeter",this.locale,[o+1],-8192,8191,!0,T2=>{let V2=g.isLocked;V2&&this.synth.lockController(o,m$+Rt.pitchWheel,!1),T2=Math.round(T2)+8192;let i3=T2>>7,r3=T2&127;this.synth.pitchWheel(o,i3,r3),V2&&this.synth.lockController(o,m$+Rt.pitchWheel,!0)},()=>this.synth.lockController(o,m$+Rt.pitchWheel,!0),()=>this.synth.lockController(o,m$+Rt.pitchWheel,!1));g.update(0),r.appendChild(g.div);let f=(T2,V2,i3)=>{i3.isLocked?(this.synth.lockController(o,T2,!1),this.synth.controllerChange(o,T2,V2),this.synth.lockController(o,T2,!0)):this.synth.controllerChange(o,T2,V2)},D=(T2,V2,i3)=>{let r3=new gr(this.channelColors[o%this.channelColors.length],oe+V2,this.locale,[o+1],0,127,!0,A0=>f(T2,Math.round(A0),r3),()=>this.synth.lockController(o,T2,!0),()=>this.synth.lockController(o,T2,!1));return r3.update(i3),r3},o0=D(B3.pan,"channelController.panMeter",64);r.appendChild(o0.div);let E0=D(B3.expressionController,"channelController.expressionMeter",127);r.appendChild(E0.div);let m0=D(B3.mainVolume,"channelController.volumeMeter",100);r.appendChild(m0.div);let l0=D(B3.modulationWheel,"channelController.modulationWheelMeter",0);r.appendChild(l0.div);let u1=D(B3.chorusDepth,"channelController.chorusMeter",0);r.appendChild(u1.div);let F=D(B3.reverbDepth,"channelController.reverbMeter",0);r.appendChild(F.div);let q0=D(B3.brightness,"channelController.filterMeter",64);r.appendChild(q0.div);let R0=new gr(this.channelColors[o%this.channelColors.length],oe+"channelController.transposeMeter",this.locale,[o+1],-36,36,!0,T2=>{T2=Math.round(T2),this.synth.transposeChannel(o,T2,!0),R0.update(T2)});R0.update(0),r.appendChild(R0.div);let L1=new bC([],this.locale,oe+"channelController.presetSelector",[o+1],async T2=>{let V2=T2.split(":");this.synth.lockController(o,Ci,!1),this.synth.controllerChange(o,B3.bankSelect,parseInt(V2[0]),!0),this.synth.programChange(o,parseInt(V2[1]),!0),L1.mainButton.classList.add("locked_selector"),this.synth.lockController(o,Ci,!0)},T2=>this.synth.lockController(o,Ci,T2));r.appendChild(L1.mainButton);let t2=document.createElement("div");t2.innerHTML=ch(g7),this.locale.bindObjectProperty(t2,"title",oe+"channelController.soloButton.description",[o+1]),t2.classList.add("controller_element"),t2.classList.add("mute_button"),t2.onclick=()=>{if(this.soloChannels.has(o)?this.soloChannels.delete(o):this.soloChannels.add(o),this.soloChannels.size===0||this.soloChannels.size>=this.synth.channelsAmount){for(let T2=0;T2=this.synth.channelsAmount&&this.soloChannels.clear();return}for(let T2=0;T2{if(y1.hasAttribute("is_muted")){y1.removeAttribute("is_muted");let T2=this.soloChannels.size===0||this.soloChannels.has(o);this.synth.muteChannel(o,!T2),y1.innerHTML=km(g7)}else this.synth.muteChannel(o,!0),y1.setAttribute("is_muted","true"),y1.innerHTML=by(g7)},r.appendChild(y1);let Y2=document.createElement("div");return Y2.innerHTML=o===Di?kC(g7):vC(g7),this.locale.bindObjectProperty(Y2,"title",oe+"channelController.drumToggleButton.description",[o+1]),Y2.classList.add("controller_element"),Y2.classList.add("mute_button"),Y2.onclick=()=>{this.synth.setDrums(o,!this.synth.channelProperties[o].isDrum)},r.appendChild(Y2),{controller:r,voiceMeter:l,pitchWheel:g,pan:o0,expression:E0,volume:m0,mod:l0,chorus:u1,reverb:F,brightness:q0,preset:L1,drumsToggle:Y2,soloButton:t2,muteButton:y1,transpose:R0}}function Yy(){let o=this.uiDiv.getElementsByClassName("synthui_controller")[0];this.controllers=[];for(let r=0;r{this.synth.setMainVolume(Math.round(l0)/100),this.volumeController.update(l0)}),this.volumeController.bar.classList.add("voice_meter_bar_smooth"),this.volumeController.div.classList.add("main_controller_element"),this.volumeController.update(100),this.panController=new gr("",oe+"mainPanMeter",this.locale,[],-1,1,!0,l0=>{this.synth.setMasterPan(l0),this.panController.update(l0)}),this.panController.bar.classList.add("voice_meter_bar_smooth"),this.panController.div.classList.add("main_controller_element"),this.panController.update(0),this.transposeController=new gr("",oe+"mainTransposeMeter",this.locale,[],-12,12,!0,l0=>{this.synth.transpose(Math.round(l0*2)/2),this.transposeController.update(Math.round(l0*2)/2)}),this.transposeController.bar.classList.add("voice_meter_bar_smooth"),this.transposeController.div.classList.add("main_controller_element"),this.transposeController.update(0);let r=document.createElement("button");this.locale.bindObjectProperty(r,"textContent",oe+"midiPanic.title"),this.locale.bindObjectProperty(r,"title",oe+"midiPanic.description"),r.classList.add("synthui_button"),r.classList.add("main_controller_element"),r.onclick=()=>this.synth.stopAll(!0);let l=document.createElement("button");this.locale.bindObjectProperty(l,"textContent",oe+"systemReset.title"),this.locale.bindObjectProperty(l,"title",oe+"systemReset.description"),l.classList.add("synthui_button"),l.classList.add("main_controller_element"),l.onclick=()=>{this.controllers.forEach((l0,u1)=>{l0.pitchWheel.isLocked&&l0.pitchWheel.lockMeter(),l0.pan.isLocked&&l0.pan.lockMeter(),l0.expression.isLocked&&l0.expression.lockMeter(),l0.volume.isLocked&&l0.volume.lockMeter(),l0.mod.isLocked&&l0.mod.lockMeter(),l0.chorus.isLocked&&l0.chorus.lockMeter(),l0.reverb.isLocked&&l0.reverb.lockMeter(),l0.brightness.isLocked&&l0.brightness.lockMeter(),l0.preset.mainButton.classList.contains("locked_selector")&&(this.synth.lockController(u1,Ci,!1),l0.preset.mainButton.classList.remove("locked_selector")),this.synth.transposeChannel(u1,0,!0),l0.transpose.update(0),l0.soloButton.innerHTML=ch(g7),l0.muteButton.innerHTML=km(g7),this.synth.muteChannel(u1,!1)}),this.synth.resetControllers()};let g=document.createElement("button");this.locale.bindObjectProperty(g,"textContent",oe+"blackMidiMode.title"),this.locale.bindObjectProperty(g,"title",oe+"blackMidiMode.description"),g.classList.add("synthui_button"),g.classList.add("main_controller_element"),g.onclick=()=>{this.synth.highPerformanceMode=!this.synth.highPerformanceMode};let f=document.createElement("button");this.locale.bindObjectProperty(f,"textContent",oe+"disableCustomVibrato.title"),this.locale.bindObjectProperty(f,"title",oe+"disableCustomVibrato.description"),f.classList.add("synthui_button"),f.classList.add("main_controller_element"),f.onclick=()=>{this.synth.disableGSNRPparams(),f.parentNode.removeChild(f)};let D=document.createElement("a");D.href="https://github.com/spessasus/SpessaSynth/wiki/How-To-Use-App#synthesizer-controller",D.target="#",D.classList.add("main_controller_element"),D.classList.add("synthui_button"),this.locale.bindObjectProperty(D,"textContent",oe+"helpButton.title"),this.locale.bindObjectProperty(D,"title",oe+"helpButton.description");let o0=document.createElement("select");o0.classList.add("main_controller_element"),o0.classList.add("synthui_button"),this.locale.bindObjectProperty(o0,"title",oe+"interpolation.description");{let l0=document.createElement("option");l0.value="0",this.locale.bindObjectProperty(l0,"textContent",oe+"interpolation.linear"),o0.appendChild(l0);let u1=document.createElement("option");u1.value="1",this.locale.bindObjectProperty(u1,"textContent",oe+"interpolation.nearestNeighbor"),o0.appendChild(u1);let F=document.createElement("option");F.value="2",F.selected=!0,this.locale.bindObjectProperty(F,"textContent",oe+"interpolation.cubic"),o0.appendChild(F),o0.onchange=()=>{this.synth.setInterpolationType(parseInt(o0.value))}}let E0=document.createElement("div");E0.classList.add("synthui_controller"),this.uiDiv.appendChild(E0);let m0=document.createElement("button");this.locale.bindObjectProperty(m0,"textContent",oe+"toggleButton.title"),this.locale.bindObjectProperty(m0,"title",oe+"toggleButton.description"),m0.classList.add("synthui_button"),m0.onclick=()=>{this.hideOnDocClick=!1,this.toggleVisibility()},o.appendChild(this.volumeController.div),o.appendChild(this.panController.div),o.appendChild(this.transposeController.div),o.appendChild(r),o.appendChild(l),o.appendChild(g),o.appendChild(f),o.appendChild(D),o.appendChild(o0),this.mainMeters=[this.volumeController,this.panController,this.transposeController,this.voiceMeter],this.mainButtons=[r,l,g,f,m0,D,o0],this.uiDiv.appendChild(this.voiceMeter.div),this.uiDiv.appendChild(m0),E0.appendChild(o),this.mainControllerDiv=E0,this.mainControllerDiv.onclick=l0=>l0.stopPropagation(),document.addEventListener("click",()=>{if(!this.hideOnDocClick){this.hideOnDocClick=!0;return}E0.classList.remove("synthui_controller_show"),this.isShown=!1,this.hideControllers()})}function Vy(){let o=this.uiDiv.getElementsByClassName("synthui_controller")[0];this.synth.eventHandler.addEvent("programchange","synthui-program-change",r=>{this.controllers[r.channel].preset.set(`${r.bank}:${r.program}`)}),this.synth.eventHandler.addEvent("allcontrollerreset","synthui-all-controller-reset",()=>{for(let r of this.controllers)r.pan.update(64),r.mod.update(0),r.chorus.update(0),r.pitchWheel.update(0),r.expression.update(127),r.volume.update(100),r.reverb.update(0),r.brightness.update(64)}),this.synth.eventHandler.addEvent("controllerchange","synthui-controller-change",r=>{let l=r.controllerNumber,g=r.channel,f=r.controllerValue;switch(l){default:break;case B3.expressionController:this.controllers[g].expression.update(f);break;case B3.mainVolume:this.controllers[g].volume.update(f);break;case B3.pan:this.controllers[g].pan.update(f);break;case B3.modulationWheel:this.controllers[g].mod.update(f);break;case B3.chorusDepth:this.controllers[g].chorus.update(f);break;case B3.reverbDepth:this.controllers[g].reverb.update(f);break;case B3.brightness:this.controllers[g].brightness.update(f)}}),this.synth.eventHandler.addEvent("pitchwheel","synthui-pitch-wheel",r=>{let l=r.MSB<<7|r.LSB;this.controllers[r.channel].pitchWheel.update(l-8192)}),this.synth.eventHandler.addEvent("drumchange","synthui-drum-change",r=>{this.controllers[r.channel].drumsToggle.innerHTML=r.isDrumChannel?kC(32):vC(32),this.controllers[r.channel].preset.reload(r.isDrumChannel?this.percussionList:this.instrumentList)}),this.synth.eventHandler.addEvent("newchannel","synthui-new-channel",()=>{let r=this.createChannelController(this.controllers.length);this.controllers.push(r),o.appendChild(r.controller),this.hideControllers()})}var oe="locale.synthesizerController.",Ur=class{constructor(r,l,g){this.channelColors=r;let f=l;this.uiDiv=document.createElement("div"),this.uiDiv.classList.add("wrapper"),f.appendChild(this.uiDiv),this.uiDiv.style.visibility="visible",this.isShown=!1,this.animationId=-1,this.locale=g,this.hideOnDocClick=!0}connectSynth(r){this.synth=r,this.getInstrumentList(),this.createMainSynthController(),this.createChannelControllers(),document.addEventListener("keydown",l=>{switch(l.key.toLowerCase()){case Xt.synthesizerUIShow:l.preventDefault(),this.toggleVisibility();break;case Xt.settingsShow:this.isShown=!0,this.toggleVisibility();break;case Xt.blackMidiMode:l.preventDefault(),this.synth.highPerformanceMode=!this.synth.highPerformanceMode;break;case Xt.midiPanic:l.preventDefault(),this.synth.stopAll(!0);break}}),this.locale.onLocaleChanged.push(()=>{this.voiceMeter.update(this.voiceMeter.currentValue,!0),this.volumeController.update(this.volumeController.currentValue,!0),this.panController.update(this.panController.currentValue,!0),this.panController.update(this.panController.currentValue,!0),this.transposeController.update(this.transposeController.currentValue,!0);for(let l of this.controllers)l.voiceMeter.update(l.voiceMeter.currentValue,!0),l.pitchWheel.update(l.pitchWheel.currentValue,!0),l.pan.update(l.pan.currentValue,!0),l.volume.update(l.volume.currentValue,!0),l.expression.update(l.expression.currentValue,!0),l.mod.update(l.mod.currentValue,!0),l.chorus.update(l.chorus.currentValue,!0),l.reverb.update(l.reverb.currentValue,!0),l.brightness.update(l.brightness.currentValue,!0),l.transpose.update(l.transpose.currentValue,!0)})}toggleVisibility(){this.animationId!==-1&&clearTimeout(this.animationId);let r=document.getElementsByClassName("synthui_controller")[0];this.isShown=!this.isShown,this.isShown?(r.style.display="block",document.getElementsByClassName("top_part")[0].classList.add("synthui_shown"),this.showControllers(),setTimeout(()=>{r.classList.add("synthui_controller_show")},75)):(document.getElementsByClassName("top_part")[0].classList.remove("synthui_shown"),this.hideControllers(),r.classList.remove("synthui_controller_show"),this.animationId=setTimeout(()=>{r.style.display="none"},200))}updateVoicesAmount(){this.voiceMeter.update(this.synth.voicesAmount),this.controllers.forEach((r,l)=>{let g=this.synth.channelProperties[l].voicesAmount;r.voiceMeter.update(g),g<1&&this.synth.voicesAmount>0?r.controller.classList.add("no_voices"):r.controller.classList.remove("no_voices")})}getInstrumentList(){this.synth.eventHandler.addEvent("presetlistchange","synthui-preset-list-change",r=>{let l=r;this.instrumentList=l.filter(g=>g.bank!==128).sort((g,f)=>g.program===f.program?g.bank-f.bank:g.program-f.program).map(g=>({name:g.presetName,bank:g.bank,program:g.program})),this.percussionList=l.filter(g=>g.bank===128).sort((g,f)=>g.program-f.program).map(g=>({name:g.presetName,bank:g.bank,program:g.program})),this.percussionList.length===0?this.percussionList=this.instrumentList:this.instrumentList.length===0&&(this.instrumentList=this.percussionList),this.controllers.forEach((g,f)=>{let D=this.synth.channelProperties[f].isDrum?this.percussionList:this.instrumentList;g.preset.reload(D),g.preset.set(`${D[0].bank}:${D[0].program}`)})})}};Ur.prototype.hideControllers=Uy;Ur.prototype.showControllers=Py;Ur.prototype.toggleDarkMode=Oy;Ur.prototype.createChannelController=Hy;Ur.prototype.createChannelControllers=Yy;Ur.prototype.createMainSynthController=Jy;Ur.prototype.setEventListeners=Vy;var vm=null,DC=class{constructor(){}async createMIDIDeviceHandler(){if(this.selectedInput=vm,this.selectedOutput=vm,navigator.requestMIDIAccess)try{let r=await navigator.requestMIDIAccess({sysex:!0,software:!0});return this.inputs=r.inputs,this.outputs=r.outputs,W5("%cMIDI handler created!",D1.recognized),!0}catch(r){return Ie("Could not get MIDI Devices:",r),this.inputs=[],this.outputs=[],!1}else return Ie("Web MIDI Api not supported!",D1.unrecognized),this.inputs=[],this.outputs=[],!1}connectMIDIOutputToSeq(r,l){this.selectedOutput=r,l.connectMidiOutput(r),W5(`%cPlaying MIDI to %c${r.name}`,D1.info,D1.recognized)}disconnectSeqFromMIDI(r){this.selectedOutput=vm,r.connectMidiOutput(void 0),W5("%cDisconnected from MIDI out.",D1.info)}connectDeviceToSynth(r,l){this.selectedInput=r,r.onmidimessage=g=>{l.sendMessage(g.data)},W5(`%cListening for messages on %c${r.name}`,D1.info,D1.recognized)}disconnectDeviceFromSynth(r){this.selectedInput=vm,r.onmidimessage=void 0,W5(`%cDisconnected from %c${r.name}`,D1.info,D1.recognized)}disconnectAllDevicesFromSynth(){this.selectedInput=vm;for(let r of this.inputs)r[1].onmidimessage=void 0}};var _C=class{constructor(r){window.addEventListener("message",l=>{if(typeof l.data!="string")return;let g=l.data.split(",");if(g[0]!=="midi")return;g.shift();let f=g.map(D=>parseInt(D,16));r.sendMessage(f)}),W5("%cWeb MIDI Link handler created!",D1.recognized)}};var TA="midi range";function Ky(o,r,l){let g=0,f=this.htmlControls.keyboard,D=()=>{let o0=document.createElement("option");o0.value=g.toString(),this.locale.bindObjectProperty(o0,"textContent","locale.settings.keyboardSettings.selectedChannel.channelOption",[g+1]),o0.style.background=r.channelColors[g%r.channelColors.length],o0.style.color="rgb(0, 0, 0)",f.channelSelector.appendChild(o0),g++};for(let o0=0;o0{o.selectChannel(parseInt(f.channelSelector.value))},f.sizeSelector.onchange=()=>{if(this.musicMode.visible){this.musicMode.setVisibility(!1,document.getElementById("keyboard_canvas_wrapper")),setTimeout(()=>{f.sizeSelector.value===TA?(this.autoKeyRange=!0,this?.sequi?.seq&&(o.keyRange=this.sequi.seq.midiData.keyRange,l.keyRange=this.sequi.seq.midiData.keyRange)):(this.autoKeyRange=!1,o.keyRange=this.keyboardSizes[f.sizeSelector.value],l.keyRange=this.keyboardSizes[f.sizeSelector.value]),this._saveSettings()},600);return}f.sizeSelector.value===TA?(this.autoKeyRange=!0,this?.sequi?.seq&&(o.keyRange=this.sequi.seq.midiData.keyRange,l.keyRange=this.sequi.seq.midiData.keyRange)):(this.autoKeyRange=!1,o.keyRange=this.keyboardSizes[f.sizeSelector.value],l.keyRange=this.keyboardSizes[f.sizeSelector.value]),this._saveSettings()},this.addSequencer=o0=>{o0.addOnSongChangeEvent(E0=>{this.autoKeyRange&&(o.keyRange=E0.keyRange,l.keyRange=E0.keyRange),E0.RMIDInfo?.IPIC!==void 0&&this.musicMode.visible===!1&&this.toggleMusicPlayerMode().then()},"settings-keyboard-handler-song-change")},r.synth.eventHandler.addEvent("newchannel","settings-new-channel",()=>{D()}),r.synth.eventHandler.addEvent("programchange","settings-keyboard-program-change",o0=>{o0.userCalled&&(o.selectChannel(o0.channel),f.channelSelector.value=o0.channel)}),r.synth.eventHandler.addEvent("mutechannel","settings-keuboard-mute-channel",o0=>{if(o0.isMuted&&o0.channel===o.channel){let E0=0;for(;r.synth.channelProperties[E0].isMuted;)E0++;E0{if(this.musicMode.visible){this.musicMode.setVisibility(!1,document.getElementById("keyboard_canvas_wrapper")),setTimeout(()=>{o.toggleMode(),this._saveSettings()},600);return}o.toggleMode(),this._saveSettings()},f.showSelector.onclick=()=>{o.shown=!o.shown,this._saveSettings()}}var zy=` +`}function gh(o,r){let l=document.createElement("div");return l.classList.add("control_buttons"),l.title=o,l.innerHTML=r,l}var Xt={synthesizerUIShow:"s",settingsShow:"r",blackMidiMode:"b",midiPanic:"backspace",playPause:" ",toggleLoop:"l",toggleLyrics:"t",seekBackwards:"arrowleft",seekForwards:"arrowright",previousSong:"[",nextSong:"]",cinematicMode:"c",videoMode:"v"};function Ry(){navigator.mediaSession&&(navigator.mediaSession.metadata=new MediaMetadata({title:this.currentSongTitle,artist:"SpessaSynth"}),navigator.mediaSession.setActionHandler("play",()=>{this.seqPlay()}),navigator.mediaSession.setActionHandler("pause",()=>{this.seqPause()}),navigator.mediaSession.setActionHandler("stop",()=>{this.seq.currentTime=0,this.seqPause()}),navigator.mediaSession.setActionHandler("seekbackward",o=>{this.seq.currentTime-=o.seekOffset||10}),navigator.mediaSession.setActionHandler("seekforward",o=>{this.seq.currentTime+=o.seekOffset||10}),navigator.mediaSession.setActionHandler("seekto",o=>{this.seq.currentTime=o.seekTime}),navigator.mediaSession.setActionHandler("previoustrack",()=>{this.switchToPreviousSong()}),navigator.mediaSession.setActionHandler("nexttrack",()=>{this.switchToNextSong()}),navigator.mediaSession.playbackState="playing")}function Ly(o=!0){if(this.seq?.hasDummyData===!0)this.currentSongTitle=this.locale.getLocaleString("locale.synthInit.genericLoading");else{let r=this.infoDecoder.decode(this.seq.midiData.rawMidiName.buffer).replace(/\0$/,"");this.currentSongTitle=DB(r)}if(this.seq.midiData){let r=this.seq.midiData.lyrics;this.currentLyrics=new Uint8Array(r.reduce((g,f)=>g+f.length,0));let l=0;for(let g of r)this.currentLyrics.set(g,l),l+=g.length;this.currentLyricsString=this.decodeTextFix(this.currentLyrics.buffer)||this.locale.getLocaleString("locale.sequencerController.lyrics.noLyrics"),this.setLyricsText(""),o&&(this.rawOtherTextEvents=[])}if(document.getElementById("title").innerText=this.currentSongTitle,document.title=this.currentSongTitle+" - SpessaSynth",this.musicModeUI.setTitle(this.currentSongTitle),!!navigator.mediaSession)try{navigator.mediaSession.setPositionState({duration:this.seq.duration,playbackRate:this.seq.playbackRate,position:this.seq.currentTime})}catch{}}var zb=parseFloat(getComputedStyle(document.body).fontSize);function Fy(){this.lyricsElement={};let o=document.createElement("div");o.classList.add("lyrics");let r=document.createElement("div");r.classList.add("lyrics_title_wrapper"),o.append(r),this.lyricsElement.titleWrapper=r;let l=document.createElement("h2");this.locale.bindObjectProperty(l,"textContent","locale.sequencerController.lyrics.title"),l.classList.add("lyrics_title"),r.appendChild(l),this.lyricsElement.title=l;let g=document.createElement("select");wm.forEach(f1=>{let x=document.createElement("option");x.innerText=f1,x.value=f1,g.appendChild(x)}),g.value=this.encoding,g.onchange=()=>this.changeEncoding(g.value),g.classList.add("lyrics_selector"),this.encodingSelector=g,r.appendChild(g);let f=document.createElement("p");f.classList.add("lyrics_text"),o.appendChild(f);let D=document.createElement("span");D.classList.add("lyrics_text_highlight"),f.appendChild(D);let o0=document.createElement("span");o0.classList.add("lyrics_text_gray"),f.appendChild(o0);let E0=document.createElement("details"),m0=document.createElement("summary");this.locale.bindObjectProperty(m0,"textContent","locale.sequencerController.lyrics.otherText.title"),E0.appendChild(m0);let c0=document.createElement("div");c0.innerText="",E0.appendChild(c0),o.appendChild(E0),this.lyricsElement.text={highlight:D,gray:o0,main:f,other:c0},this.lyricsElement.mainDiv=o,this.lyricsElement.selector=g,this.controls.appendChild(o),this.requiresTextUpdate=!0}function My(o){let r=this.lyricsElement.text.highlight,l=this.lyricsElement.text.gray;l.innerText=this.currentLyricsString.replace(o,""),r.innerText=o,this.lyricsElement.text.main.scrollTo(0,r.offsetHeight-zb*5)}function Ty(){let o="";for(let r of this.rawOtherTextEvents)o+=`
${Object.keys(K3).find(l=>K3[l]===r.type).replace(/([a-z])([A-Z])/g,"$1 $2")}:
${this.decodeTextFix(r.data.buffer)}

`;this.lyricsElement.text.other.innerHTML=o}var Gr=32,Ny="#ccc",Gy="#555",Zb="#333",Wb="#ddd",jb="Shift_JIS",Ls=class{constructor(r,l,g){this.iconColor=Ny,this.iconDisabledColor=Gy,this.controls=r,this.encoding=jb,this.decoder=new TextDecoder(this.encoding),this.infoDecoder=new TextDecoder(this.encoding),this.hasInfoDecoding=!1,this.text="",this.requiresTextUpdate=!1,this.rawLyrics=[],this.rawOtherTextEvents=[],this.mode="dark",this.locale=l,this.currentSongTitle="",this.currentLyrics=new Uint8Array(0),this.currentLyricsString="",this.musicModeUI=g}toggleDarkMode(){if(this.mode==="dark"?(this.mode="light",this.iconColor=Zb,this.iconDisabledColor=Wb):(this.mode="dark",this.iconColor=Ny,this.iconDisabledColor=Gy),!this.seq){this.requiresThemeUpdate=!0;return}this.progressBar.classList.toggle("note_progress_light"),this.progressBarBackground.classList.toggle("note_progress_background_light"),this.lyricsElement.mainDiv.classList.toggle("lyrics_light"),this.lyricsElement.titleWrapper.classList.toggle("lyrics_light"),this.lyricsElement.selector.classList.toggle("lyrics_light")}seqPlay(r=!0){r&&this.seq.play(),this.playPause.innerHTML=Q$(Gr),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),navigator.mediaSession&&(navigator.mediaSession.playbackState="playing")}seqPause(r=!0){r&&this.seq.pause(),this.playPause.innerHTML=Qy(Gr),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),navigator.mediaSession&&(navigator.mediaSession.playbackState="paused")}switchToNextSong(){this.seq.nextSong(),this.createNavigatorHandler(),this.updateTitleAndMediaStatus()}switchToPreviousSong(){this.seq.previousSong(),this.createNavigatorHandler(),this.updateTitleAndMediaStatus()}decodeTextFix(r,l=!1){let g=0;for(;;)try{return this.decoder.decode(r)}catch{g++,this.changeEncoding(wm[g]),this.encodingSelector.value=wm[g]}}connectSequencer(r){this.seq=r,this.createControls(),this.setSliderInterval(),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),this.seq.onTextEvent=(l,g)=>{let f=this.decodeTextFix(l.buffer);switch(g){default:return;case K3.text:case K3.copyright:case K3.cuePoint:case K3.trackName:case K3.instrumentName:case K3.programName:case K3.marker:this.rawOtherTextEvents.push({type:g,data:l}),this.requiresTextUpdate=!0;return;case K3.lyric:this.text+=f,this.rawLyrics.push(...l),this.setLyricsText(this.text);break}},this.seq.addOnTimeChangeEvent(()=>{this.text="",this.rawLyrics=[],this.seqPlay(!1)},"sequi-time-change"),this.seq.addOnSongChangeEvent(l=>{if(this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),this.seqPlay(!1),this.seq.songsAmount>1&&(this.seq.loop=!1,this.loopButton.firstElementChild.setAttribute("fill",this.iconDisabledColor)),this.hasInfoDecoding=this.seq.midiData.RMIDInfo?.[Lt.encoding]!==void 0,l.isEmbedded){let g=(E0,m0,c0,f1="")=>this.seq.midiData.RMIDInfo?.[E0]===void 0?m0:f1+c0.decode(this.seq.midiData.RMIDInfo?.[E0]).replace(/\0$/,""),f=new TextDecoder,D=g(Lt.midiEncoding,this.encoding,f),o0=g(Lt.encoding,"utf-8",f);this.infoDecoder=new TextDecoder(o0),this.changeEncoding(D)}},"sequi-song-change"),this.requiresThemeUpdate&&this.mode==="light"&&(this.mode="dark",this.toggleDarkMode())}changeEncoding(r){this.encoding=r,this.decoder=new TextDecoder(r),this.hasInfoDecoding||(this.infoDecoder=new TextDecoder(r)),this.updateOtherTextEvents(),this.text=this.decodeTextFix(new Uint8Array(this.rawLyrics).buffer),this.lyricsElement.selector.value=r,this.updateTitleAndMediaStatus(!1),this.setLyricsText(this.text)}createControls(){this.progressTime=document.createElement("p"),this.progressTime.id="note_time",this.progressTime.onclick=x=>{x.preventDefault();let X0=r.getBoundingClientRect(),F0=x.clientX-X0.left,b1=X0.width;this.seq.currentTime=F0/b1*this.seq.duration,g.innerHTML=Q$(Gr)},this.createLyrics();let r=document.createElement("div");r.id="note_progress_background",this.progressBarBackground=r,this.progressBar=document.createElement("div"),this.progressBar.id="note_progress",this.progressBar.min="0",this.progressBar.max=this.seq.duration.toString();let l=document.createElement("div"),g=gh("Play/Pause",Q$(Gr));this.playPause=g,this.locale.bindObjectProperty(g,"title","locale.sequencerController.playPause");let f=()=>{this.seq.paused?this.seqPlay():this.seqPause()};g.onclick=f;let D=gh("Previous song",vy(Gr));this.locale.bindObjectProperty(D,"title","locale.sequencerController.previousSong"),D.onclick=()=>this.switchToPreviousSong();let o0=gh("Next song",ky(Gr));this.locale.bindObjectProperty(o0,"title","locale.sequencerController.nextSong"),o0.onclick=()=>this.switchToNextSong();let E0=gh("Loop this",yy(Gr));this.locale.bindObjectProperty(E0,"title","locale.sequencerController.loopThis");let m0=()=>{this.seq.loop?this.seq.loop=!1:(this.seq.loop=!0,this.seq.currentTime>=this.seq.duration&&(this.seq.currentTime=0)),E0.firstElementChild.setAttribute("fill",this.seq.loop?this.iconColor:this.iconDisabledColor)};E0.onclick=m0,this.loopButton=E0;let c0=gh("Show lyrics",wy(Gr));this.locale.bindObjectProperty(c0,"title","locale.sequencerController.lyrics.show"),c0.firstElementChild.setAttribute("fill",this.iconDisabledColor);let f1=()=>{this.lyricsElement.mainDiv.classList.toggle("lyrics_show"),c0.firstElementChild.setAttribute("fill",this.lyricsElement.mainDiv.classList.contains("lyrics_show")?this.iconColor:this.iconDisabledColor)};c0.onclick=f1,document.addEventListener("keydown",x=>{switch(x.key.toLowerCase()){case Xt.playPause:x.preventDefault(),f();break;case Xt.toggleLoop:x.preventDefault(),m0();break;case Xt.toggleLyrics:x.preventDefault(),f1();break;default:break}}),l.appendChild(D),l.appendChild(E0),l.appendChild(g),l.appendChild(c0),l.appendChild(o0),this.controls.appendChild(r),r.appendChild(this.progressBar),this.controls.appendChild(this.progressTime),this.controls.appendChild(l),document.addEventListener("keydown",x=>{switch(x.key.toLowerCase()){case Xt.seekBackwards:x.preventDefault(),this.seq.currentTime-=5,g.innerHTML=Q$(Gr);break;case Xt.seekForwards:x.preventDefault(),this.seq.currentTime+=5,g.innerHTML=Q$(Gr);break;case Xt.previousSong:this.switchToPreviousSong();break;case Xt.nextSong:this.switchToNextSong();break;default:if(!isNaN(parseFloat(x.key))){x.preventDefault();let X0=parseInt(x.key);0<=X0&&X0<=9&&(this.seq.currentTime=this.seq.duration*(X0/10),g.innerHTML=Q$(Gr))}break}})}_updateInterval(){this.progressBar.style.width=`${this.seq.currentTime/this.seq.duration*100}%`;let r=I$(this.seq.currentTime),l=I$(this.seq.duration);this.progressTime.innerText=`${r.time} / ${l.time}`,this.requiresTextUpdate&&(this.updateOtherTextEvents(),this.requiresTextUpdate=!1)}setSliderInterval(){setInterval(this._updateInterval.bind(this),100)}};Ls.prototype.createNavigatorHandler=Ry;Ls.prototype.updateTitleAndMediaStatus=Ly;Ls.prototype.createLyrics=Fy;Ls.prototype.setLyricsText=My;Ls.prototype.updateOtherTextEvents=Ty;function Uy(){this.controllers.forEach(o=>{o.voiceMeter.hide(),o.pitchWheel.hide(),o.pan.hide(),o.expression.hide(),o.volume.hide(),o.mod.hide(),o.chorus.hide(),o.reverb.hide(),o.brightness.hide(),o.preset.hide()})}function Py(){this.controllers.forEach(o=>{o.voiceMeter.show(),o.pitchWheel.show(),o.pan.show(),o.expression.show(),o.volume.show(),o.mod.show(),o.chorus.show(),o.reverb.show(),o.brightness.show(),o.preset.show()})}function Oy(){this.mainControllerDiv.classList.toggle("synthui_controller_light"),this.mainButtons.forEach(o=>{o.classList.toggle("synthui_button"),o.classList.toggle("synthui_button_light")}),this.mainMeters.forEach(o=>{o.toggleMode(!0)}),this.controllers.forEach(o=>{o.voiceMeter.toggleMode(),o.pitchWheel.toggleMode(),o.pan.toggleMode(),o.expression.toggleMode(),o.volume.toggleMode(),o.mod.toggleMode(),o.chorus.toggleMode(),o.reverb.toggleMode(),o.brightness.toggleMode(),o.preset.toggleMode(),o.drumsToggle.classList.toggle("mute_button_light"),o.muteButton.classList.toggle("mute_button_light")})}var gr=class{constructor(r="none",l,g,f,D=0,o0=100,E0=!1,m0=void 0,c0=void 0,f1=void 0){if(this.meterText="",g.bindObjectProperty(this,"meterText",l+".title"),this.min=D,this.max=o0,this.currentValue=-1,this.isShown=!0,this.isVisualValueSet=!0,this.isLocked=!1,this.lockCallback=c0,this.unlockCallback=f1,this.div=document.createElement("div"),this.div.classList.add("voice_meter"),this.div.classList.add("controller_element"),r!=="none"&&r!==""&&(this.div.style.borderColor=r),g.bindObjectProperty(this.div,"title",l+".description",f),this.bar=document.createElement("div"),this.bar.classList.add("voice_meter_bar"),this.bar.style.background=r,this.div.appendChild(this.bar),this.text=document.createElement("p"),this.text.classList.add("voice_meter_text"),this.div.appendChild(this.text),this.isActive=!1,E0){if(m0===void 0)throw new Error("No editable function given!");this.div.onmousedown=x=>{x.preventDefault(),x.button===0?this.isActive=!0:this.lockMeter()},this.div.onmousemove=x=>{if(!this.isActive)return;let X0=x.currentTarget.getBoundingClientRect(),F0=X0.left,b1=X0.width,l2=x.clientX-F0,y1=Math.max(0,Math.min(1,l2/b1));m0(y1*(o0-D)+D)},this.div.onmouseup=()=>this.isActive=!1,this.div.onmouseleave=x=>{this.div.onmousemove(x),this.isActive=!1},this.text.oncontextmenu=x=>{x.preventDefault()},this.div.onclick=x=>{x.preventDefault(),this.isActive=!0,this.div.onmousemove(x),this.isActive=!1},this.div.classList.add("editable")}}lockMeter(){this.lockCallback!==void 0&&(this.isLocked?(this.text.classList.remove("locked_meter"),this.unlockCallback()):(this.text.classList.add("locked_meter"),this.lockCallback()),this.isLocked=!this.isLocked)}toggleMode(r=!1){r&&(this.bar.classList.toggle("voice_meter_light_color"),this.div.classList.toggle("voice_meter_light_color")),this.text.classList.toggle("voice_meter_text_light")}show(){if(this.isShown=!0,!this.isVisualValueSet){let r=Math.max(0,Math.min((this.currentValue-this.min)/(this.max-this.min),1));this.bar.style.width=`${r*100}%`,this.text.textContent=this.meterText+(Math.round(this.currentValue*100)/100).toString(),this.isVisualValueSet=!0}}hide(){this.isShown=!1}update(r,l=!1){if(!(r===this.currentValue&&l===!1))if(this.currentValue=r,this.isShown){let g=Math.max(0,Math.min((r-this.min)/(this.max-this.min),1));this.bar.style.width=`${g*100}%`,this.text.textContent=this.meterText+(Math.round(r*100)/100).toString(),this.isVisualValueSet=!0}else this.isVisualValueSet=!1}};var qy=["Acoustic Grand Piano","Bright Acoustic Piano","Electric Grand Piano","Honky-tonk Piano","Electric Piano 1","Electric Piano 2","Harpsichord","Clavi","Celesta","Glockenspiel","Music Box","Vibraphone","Marimba","Xylophone","Tubular Bells","Dulcimer","Drawbar Organ","Percussive Organ","Rock Organ","Church Organ","Reed Organ","Accordion","Harmonica","Tango Accordion","Acoustic Guitar (nylon)","Acoustic Guitar (steel)","Electric Guitar (jazz)","Electric Guitar (clean)","Electric Guitar (muted)","Overdriven Guitar","Distortion Guitar","Guitar Harmonics","Acoustic Bass","Electric Bass (finger)","Electric Bass (pick)","Fretless Bass","Slap Bass 1","Slap Bass 2","Synth Bass 1","Synth Bass 2","Violin","Viola","Cello","Contrabass","Tremolo Strings","Pizzicato Strings","Orchestral Harp","Timpani","String Ensemble 1","String Ensemble 2","Synth Strings 1","Synth Strings 2","Choir Aahs","VoiceGroup Oohs","Synth Choir","Orchestra Hit","Trumpet","Trombone","Tuba","Muted Trumpet","French Horn","Brass Section","Synth Brass 1","Synth Brass 2","Soprano Sax","Alto Sax","Tenor Sax","Baritone Sax","Oboe","English Horn","Bassoon","Clarinet","Piccolo","Flute","Recorder","Pan Flute","Blown Bottle","Shakuhachi","Whistle","Ocarina","Lead 1 (square)","Lead 2 (sawtooth)","Lead 3 (calliope)","Lead 4 (chiff)","Lead 5 (charang)","Lead 6 (voice)","Lead 7 (fifths)","Lead 8 (bass + lead)","Pad 1 (new age)","Pad 2 (warm)","Pad 3 (polysynth)","Pad 4 (choir)","Pad 5 (bowed)","Pad 6 (metallic)","Pad 7 (halo)","Pad 8 (sweep)","FX 1 (rain)","FX 2 (soundtrack)","FX 3 (crystal)","FX 4 (atmosphere)","FX 5 (brightness)","FX 6 (goblins)","FX 7 (echoes)","FX 8 (sci-fi)","Sitar","Banjo","Shamisen","Koto","Kalimba","Bagpipe","Fiddle","Shanai","Tinkle Bell","Agogo","Steel Drums","Woodblock","Taiko Drum","Melodic Tom","Synth Drum","Reverse Cymbal","Guitar Fret Noise","Breath Noise","Seashore","Bird Tweet","Telephone Ring","Attack Helicopter","Applause","Gunshot"];var bC=class{constructor(r,l,g,f,D=void 0,o0=void 0){this.isShown=!0,this.isReloaded=!0,this.elements=r.map(E0=>({name:E0.name,program:E0.program,bank:E0.bank,stringified:`${E0.bank.toString().padStart(3,"0")}:${E0.program.toString().padStart(3,"0")} ${E0.name}`})),this.elements.length>0?this.value=`${this.elements[0].bank}:${this.elements[0].program}`:this.value="",this.mainButton=document.createElement("button"),this.mainButton.classList.add("voice_selector"),this.mainButton.classList.add("controller_element"),l.bindObjectProperty(this.mainButton,"title",g+".description",f),this.locale=l,this.localePath=g,this.localeArgs=f,this.reload(),this.mainButton.onclick=()=>{this.showSelectionMenu()},this.editCallback=D,this.selectionMenu=void 0,this.lockCallback=o0,this.locked=!1,this.isWindowShown=!1}showSelectionMenu(){this.selectionMenu=document.createElement("div"),this.selectionMenu.classList.add("voice_selector_wrapper"),document.getElementsByClassName("spessasynth_main")[0].appendChild(this.selectionMenu);let r=document.createElement("div");r.classList.add("voice_selector_window");let l=document.createElement("h2");this.locale.bindObjectProperty(l,"textContent",this.localePath+".selectionPrompt",this.localeArgs),r.appendChild(l);let g=document.createElement("div");g.classList.add("voice_selector_search_wrapper"),r.appendChild(g);let f=document.createElement("input");f.type="text",this.locale.bindObjectProperty(f,"placeholder",this.localePath+".searchPrompt"),g.appendChild(f),f.onkeydown=E0=>E0.stopPropagation();let D=document.createElement("div");D.innerHTML=this.locked?SC(g7):NB(g7),this.locale.bindObjectProperty(D,"title",oe+"channelController.presetReset.description",this.localeArgs),D.classList.add("voice_reset"),this.mainButton.classList.contains("voice_selector_light")&&D.classList.add("voice_reset_light"),D.onclick=()=>{this.locked=!this.locked,this.lockCallback(this.locked),this.mainButton.classList.toggle("locked_selector"),this.locked?D.innerHTML=SC(g7):D.innerHTML=NB(g7)},g.appendChild(D),this.presetLock=D;let o0=document.createElement("div");o0.classList.add("voice_selector_table_wrapper"),r.appendChild(o0),this.generateTable(o0,this.elements),f.oninput=E0=>{E0.stopPropagation();let m0=f.value,c0=this.elements.filter(f1=>f1.stringified.search(new RegExp(m0,"i"))>=0);c0.length!==this.elements.length&&(o0.replaceChildren(),this.generateTable(o0,c0))},r.onclick=E0=>{E0.stopPropagation()},this.selectionMenu.appendChild(r),this.selectionMenu.onclick=E0=>{E0.stopPropagation(),this.hideSelectionMenu()},this.isWindowShown=!0,f.focus()}generateTable(r,l){let g=document.createElement("table");g.classList.add("voice_selector_table");let f=parseInt(this.value.split(":")[0]),D=parseInt(this.value.split(":")[1]),o0=-20;for(let E0 of l){let m0=document.createElement("tr"),c0=E0.program;if(c0===D&&E0.bank===f&&(m0.classList.add("voice_selector_selected"),setTimeout(()=>{m0.scrollIntoView({behavior:"instant",block:"center",inline:"center"})},20)),m0.onclick=()=>{let l2=`${E0.bank}:${c0}`;if(this.value===l2){this.hideSelectionMenu();return}this.editCallback(l2),this.locked=!0,this.presetLock.innerHTML=SC(g7),this.hideSelectionMenu()},c0!==o0&&(o0=c0,E0.bank!==128)){let l2=document.createElement("tr"),y1=document.createElement("th");y1.colSpan="3",y1.textContent=qy[o0],l2.appendChild(y1),g.appendChild(l2)}let f1=`${E0.program.toString().padStart(3,"0")}`,x=`${E0.bank.toString().padStart(3,"0")}`,X0=document.createElement("td");X0.classList.add("voice_selector_preset_name"),X0.textContent=E0.name;let F0=document.createElement("td");X0.classList.add("voice_selector_preset_program"),F0.textContent=f1;let b1=document.createElement("td");X0.classList.add("voice_selector_preset_program"),b1.textContent=x,m0.appendChild(b1),m0.appendChild(F0),m0.appendChild(X0),g.appendChild(m0)}r.appendChild(g)}hideSelectionMenu(){document.getElementsByClassName("spessasynth_main")[0].removeChild(this.selectionMenu),this.selectionMenu=void 0,this.isWindowShown=!1}toggleMode(){this.mainButton.classList.toggle("voice_selector_light")}reload(r=this.elements){if(this.elements=r.map(l=>({name:l.name,program:l.program,bank:l.bank,stringified:`${l.bank.toString().padStart(3,"0")}:${l.program.toString().padStart(3,"0")} ${l.name}`})),!this.isShown){this.isReloaded=!1;return}this.isReloaded=!0,this.elements.length>0&&(this.mainButton.textContent=this.getString(`${this.elements[0].bank}:${this.value.split(":")[1]}`))}set(r){if(this.value=r,this.isShown&&(this.isReloaded||this.reload(),this.mainButton.textContent=this.getString(this.value),this.isWindowShown)){let l=this.selectionMenu.getElementsByClassName("voice_selector_selected")[0];l!==void 0&&l.classList.remove("voice_selector_selected");let g=this.selectionMenu.getElementsByClassName("voice_selector_table")[0],f=parseInt(this.value.split(":")[0]),D=parseInt(this.value.split(":")[1]);for(let o0 of g.rows){if(o0.cells.length===1)continue;let E0=parseInt(o0.cells[0].textContent),m0=parseInt(o0.cells[1].textContent);E0===f&&m0===D&&(o0.classList.add("voice_selector_selected"),o0.scrollIntoView({behavior:"smooth",block:"center",inline:"center"}))}}}getString(r){let l=r.split(":"),g=parseInt(l[0]),f=parseInt(l[1]),D=this.elements.find(o0=>o0.bank===g&&o0.program===f);return g===128||this.elements.filter(o0=>o0.program===f&&o0.bank!==128).length<2?`${f}. ${D.name}`:`${g}:${f} ${D.name}`}show(){this.isShown=!0,this.isReloaded||this.reload(),this.mainButton.textContent=this.getString(this.value)}hide(){this.isShown=!1}};var g7=32;function Hy(o){this.soloChannels=new Set;let r=document.createElement("div");r.classList.add("channel_controller");let l=new gr(this.channelColors[o%this.channelColors.length],oe+"channelController.voiceMeter",this.locale,[o+1],0,100);l.bar.classList.add("voice_meter_bar_smooth"),r.appendChild(l.div);let g=new gr(this.channelColors[o%this.channelColors.length],oe+"channelController.pitchBendMeter",this.locale,[o+1],-8192,8191,!0,T2=>{let V2=g.isLocked;V2&&this.synth.lockController(o,m$+Rt.pitchWheel,!1),T2=Math.round(T2)+8192;let i3=T2>>7,r3=T2&127;this.synth.pitchWheel(o,i3,r3),V2&&this.synth.lockController(o,m$+Rt.pitchWheel,!0)},()=>this.synth.lockController(o,m$+Rt.pitchWheel,!0),()=>this.synth.lockController(o,m$+Rt.pitchWheel,!1));g.update(0),r.appendChild(g.div);let f=(T2,V2,i3)=>{i3.isLocked?(this.synth.lockController(o,T2,!1),this.synth.controllerChange(o,T2,V2),this.synth.lockController(o,T2,!0)):this.synth.controllerChange(o,T2,V2)},D=(T2,V2,i3)=>{let r3=new gr(this.channelColors[o%this.channelColors.length],oe+V2,this.locale,[o+1],0,127,!0,A0=>f(T2,Math.round(A0),r3),()=>this.synth.lockController(o,T2,!0),()=>this.synth.lockController(o,T2,!1));return r3.update(i3),r3},o0=D(B3.pan,"channelController.panMeter",64);r.appendChild(o0.div);let E0=D(B3.expressionController,"channelController.expressionMeter",127);r.appendChild(E0.div);let m0=D(B3.mainVolume,"channelController.volumeMeter",100);r.appendChild(m0.div);let c0=D(B3.modulationWheel,"channelController.modulationWheelMeter",0);r.appendChild(c0.div);let f1=D(B3.chorusDepth,"channelController.chorusMeter",0);r.appendChild(f1.div);let x=D(B3.reverbDepth,"channelController.reverbMeter",0);r.appendChild(x.div);let X0=D(B3.brightness,"channelController.filterMeter",64);r.appendChild(X0.div);let F0=new gr(this.channelColors[o%this.channelColors.length],oe+"channelController.transposeMeter",this.locale,[o+1],-36,36,!0,T2=>{T2=Math.round(T2),this.synth.transposeChannel(o,T2,!0),F0.update(T2)});F0.update(0),r.appendChild(F0.div);let b1=new bC([],this.locale,oe+"channelController.presetSelector",[o+1],async T2=>{let V2=T2.split(":");this.synth.lockController(o,Ci,!1),this.synth.controllerChange(o,B3.bankSelect,parseInt(V2[0]),!0),this.synth.programChange(o,parseInt(V2[1]),!0),b1.mainButton.classList.add("locked_selector"),this.synth.lockController(o,Ci,!0)},T2=>this.synth.lockController(o,Ci,T2));r.appendChild(b1.mainButton);let l2=document.createElement("div");l2.innerHTML=ch(g7),this.locale.bindObjectProperty(l2,"title",oe+"channelController.soloButton.description",[o+1]),l2.classList.add("controller_element"),l2.classList.add("mute_button"),l2.onclick=()=>{if(this.soloChannels.has(o)?this.soloChannels.delete(o):this.soloChannels.add(o),this.soloChannels.size===0||this.soloChannels.size>=this.synth.channelsAmount){for(let T2=0;T2=this.synth.channelsAmount&&this.soloChannels.clear();return}for(let T2=0;T2{if(y1.hasAttribute("is_muted")){y1.removeAttribute("is_muted");let T2=this.soloChannels.size===0||this.soloChannels.has(o);this.synth.muteChannel(o,!T2),y1.innerHTML=km(g7)}else this.synth.muteChannel(o,!0),y1.setAttribute("is_muted","true"),y1.innerHTML=by(g7)},r.appendChild(y1);let Y2=document.createElement("div");return Y2.innerHTML=o===Di?kC(g7):vC(g7),this.locale.bindObjectProperty(Y2,"title",oe+"channelController.drumToggleButton.description",[o+1]),Y2.classList.add("controller_element"),Y2.classList.add("mute_button"),Y2.onclick=()=>{this.synth.setDrums(o,!this.synth.channelProperties[o].isDrum)},r.appendChild(Y2),{controller:r,voiceMeter:l,pitchWheel:g,pan:o0,expression:E0,volume:m0,mod:c0,chorus:f1,reverb:x,brightness:X0,preset:b1,drumsToggle:Y2,soloButton:l2,muteButton:y1,transpose:F0}}function Yy(){let o=this.uiDiv.getElementsByClassName("synthui_controller")[0];this.controllers=[];for(let r=0;r{this.synth.setMainVolume(Math.round(c0)/100),this.volumeController.update(c0)}),this.volumeController.bar.classList.add("voice_meter_bar_smooth"),this.volumeController.div.classList.add("main_controller_element"),this.volumeController.update(100),this.panController=new gr("",oe+"mainPanMeter",this.locale,[],-1,1,!0,c0=>{this.synth.setMasterPan(c0),this.panController.update(c0)}),this.panController.bar.classList.add("voice_meter_bar_smooth"),this.panController.div.classList.add("main_controller_element"),this.panController.update(0),this.transposeController=new gr("",oe+"mainTransposeMeter",this.locale,[],-12,12,!0,c0=>{this.synth.transpose(Math.round(c0*2)/2),this.transposeController.update(Math.round(c0*2)/2)}),this.transposeController.bar.classList.add("voice_meter_bar_smooth"),this.transposeController.div.classList.add("main_controller_element"),this.transposeController.update(0);let r=document.createElement("button");this.locale.bindObjectProperty(r,"textContent",oe+"midiPanic.title"),this.locale.bindObjectProperty(r,"title",oe+"midiPanic.description"),r.classList.add("synthui_button"),r.classList.add("main_controller_element"),r.onclick=()=>this.synth.stopAll(!0);let l=document.createElement("button");this.locale.bindObjectProperty(l,"textContent",oe+"systemReset.title"),this.locale.bindObjectProperty(l,"title",oe+"systemReset.description"),l.classList.add("synthui_button"),l.classList.add("main_controller_element"),l.onclick=()=>{this.controllers.forEach((c0,f1)=>{c0.pitchWheel.isLocked&&c0.pitchWheel.lockMeter(),c0.pan.isLocked&&c0.pan.lockMeter(),c0.expression.isLocked&&c0.expression.lockMeter(),c0.volume.isLocked&&c0.volume.lockMeter(),c0.mod.isLocked&&c0.mod.lockMeter(),c0.chorus.isLocked&&c0.chorus.lockMeter(),c0.reverb.isLocked&&c0.reverb.lockMeter(),c0.brightness.isLocked&&c0.brightness.lockMeter(),c0.preset.mainButton.classList.contains("locked_selector")&&(this.synth.lockController(f1,Ci,!1),c0.preset.mainButton.classList.remove("locked_selector")),this.synth.transposeChannel(f1,0,!0),c0.transpose.update(0),c0.soloButton.innerHTML=ch(g7),c0.muteButton.innerHTML=km(g7),this.synth.muteChannel(f1,!1)}),this.synth.resetControllers()};let g=document.createElement("button");this.locale.bindObjectProperty(g,"textContent",oe+"blackMidiMode.title"),this.locale.bindObjectProperty(g,"title",oe+"blackMidiMode.description"),g.classList.add("synthui_button"),g.classList.add("main_controller_element"),g.onclick=()=>{this.synth.highPerformanceMode=!this.synth.highPerformanceMode};let f=document.createElement("button");this.locale.bindObjectProperty(f,"textContent",oe+"disableCustomVibrato.title"),this.locale.bindObjectProperty(f,"title",oe+"disableCustomVibrato.description"),f.classList.add("synthui_button"),f.classList.add("main_controller_element"),f.onclick=()=>{this.synth.disableGSNRPparams(),f.parentNode.removeChild(f)};let D=document.createElement("a");D.href="https://github.com/spessasus/SpessaSynth/wiki/How-To-Use-App#synthesizer-controller",D.target="#",D.classList.add("main_controller_element"),D.classList.add("synthui_button"),this.locale.bindObjectProperty(D,"textContent",oe+"helpButton.title"),this.locale.bindObjectProperty(D,"title",oe+"helpButton.description");let o0=document.createElement("select");o0.classList.add("main_controller_element"),o0.classList.add("synthui_button"),this.locale.bindObjectProperty(o0,"title",oe+"interpolation.description");{let c0=document.createElement("option");c0.value="0",this.locale.bindObjectProperty(c0,"textContent",oe+"interpolation.linear"),o0.appendChild(c0);let f1=document.createElement("option");f1.value="1",this.locale.bindObjectProperty(f1,"textContent",oe+"interpolation.nearestNeighbor"),o0.appendChild(f1);let x=document.createElement("option");x.value="2",x.selected=!0,this.locale.bindObjectProperty(x,"textContent",oe+"interpolation.cubic"),o0.appendChild(x),o0.onchange=()=>{this.synth.setInterpolationType(parseInt(o0.value))}}let E0=document.createElement("div");E0.classList.add("synthui_controller"),this.uiDiv.appendChild(E0);let m0=document.createElement("button");this.locale.bindObjectProperty(m0,"textContent",oe+"toggleButton.title"),this.locale.bindObjectProperty(m0,"title",oe+"toggleButton.description"),m0.classList.add("synthui_button"),m0.onclick=()=>{this.hideOnDocClick=!1,this.toggleVisibility()},o.appendChild(this.volumeController.div),o.appendChild(this.panController.div),o.appendChild(this.transposeController.div),o.appendChild(r),o.appendChild(l),o.appendChild(g),o.appendChild(f),o.appendChild(D),o.appendChild(o0),this.mainMeters=[this.volumeController,this.panController,this.transposeController,this.voiceMeter],this.mainButtons=[r,l,g,f,m0,D,o0],this.uiDiv.appendChild(this.voiceMeter.div),this.uiDiv.appendChild(m0),E0.appendChild(o),this.mainControllerDiv=E0,this.mainControllerDiv.onclick=c0=>c0.stopPropagation(),document.addEventListener("click",()=>{if(!this.hideOnDocClick){this.hideOnDocClick=!0;return}E0.classList.remove("synthui_controller_show"),this.isShown=!1,this.hideControllers()})}function Vy(){let o=this.uiDiv.getElementsByClassName("synthui_controller")[0];this.synth.eventHandler.addEvent("programchange","synthui-program-change",r=>{this.controllers[r.channel].preset.set(`${r.bank}:${r.program}`)}),this.synth.eventHandler.addEvent("allcontrollerreset","synthui-all-controller-reset",()=>{for(let r of this.controllers)r.pan.update(64),r.mod.update(0),r.chorus.update(0),r.pitchWheel.update(0),r.expression.update(127),r.volume.update(100),r.reverb.update(0),r.brightness.update(64)}),this.synth.eventHandler.addEvent("controllerchange","synthui-controller-change",r=>{let l=r.controllerNumber,g=r.channel,f=r.controllerValue;switch(l){default:break;case B3.expressionController:this.controllers[g].expression.update(f);break;case B3.mainVolume:this.controllers[g].volume.update(f);break;case B3.pan:this.controllers[g].pan.update(f);break;case B3.modulationWheel:this.controllers[g].mod.update(f);break;case B3.chorusDepth:this.controllers[g].chorus.update(f);break;case B3.reverbDepth:this.controllers[g].reverb.update(f);break;case B3.brightness:this.controllers[g].brightness.update(f)}}),this.synth.eventHandler.addEvent("pitchwheel","synthui-pitch-wheel",r=>{let l=r.MSB<<7|r.LSB;this.controllers[r.channel].pitchWheel.update(l-8192)}),this.synth.eventHandler.addEvent("drumchange","synthui-drum-change",r=>{this.controllers[r.channel].drumsToggle.innerHTML=r.isDrumChannel?kC(32):vC(32),this.controllers[r.channel].preset.reload(r.isDrumChannel?this.percussionList:this.instrumentList)}),this.synth.eventHandler.addEvent("newchannel","synthui-new-channel",()=>{let r=this.createChannelController(this.controllers.length);this.controllers.push(r),o.appendChild(r.controller),this.hideControllers()})}var oe="locale.synthesizerController.",Ur=class{constructor(r,l,g){this.channelColors=r;let f=l;this.uiDiv=document.createElement("div"),this.uiDiv.classList.add("wrapper"),f.appendChild(this.uiDiv),this.uiDiv.style.visibility="visible",this.isShown=!1,this.animationId=-1,this.locale=g,this.hideOnDocClick=!0}connectSynth(r){this.synth=r,this.getInstrumentList(),this.createMainSynthController(),this.createChannelControllers(),document.addEventListener("keydown",l=>{switch(l.key.toLowerCase()){case Xt.synthesizerUIShow:l.preventDefault(),this.toggleVisibility();break;case Xt.settingsShow:this.isShown=!0,this.toggleVisibility();break;case Xt.blackMidiMode:l.preventDefault(),this.synth.highPerformanceMode=!this.synth.highPerformanceMode;break;case Xt.midiPanic:l.preventDefault(),this.synth.stopAll(!0);break}}),this.locale.onLocaleChanged.push(()=>{this.voiceMeter.update(this.voiceMeter.currentValue,!0),this.volumeController.update(this.volumeController.currentValue,!0),this.panController.update(this.panController.currentValue,!0),this.panController.update(this.panController.currentValue,!0),this.transposeController.update(this.transposeController.currentValue,!0);for(let l of this.controllers)l.voiceMeter.update(l.voiceMeter.currentValue,!0),l.pitchWheel.update(l.pitchWheel.currentValue,!0),l.pan.update(l.pan.currentValue,!0),l.volume.update(l.volume.currentValue,!0),l.expression.update(l.expression.currentValue,!0),l.mod.update(l.mod.currentValue,!0),l.chorus.update(l.chorus.currentValue,!0),l.reverb.update(l.reverb.currentValue,!0),l.brightness.update(l.brightness.currentValue,!0),l.transpose.update(l.transpose.currentValue,!0)})}toggleVisibility(){this.animationId!==-1&&clearTimeout(this.animationId);let r=document.getElementsByClassName("synthui_controller")[0];this.isShown=!this.isShown,this.isShown?(r.style.display="block",document.getElementsByClassName("top_part")[0].classList.add("synthui_shown"),this.showControllers(),setTimeout(()=>{r.classList.add("synthui_controller_show")},75)):(document.getElementsByClassName("top_part")[0].classList.remove("synthui_shown"),this.hideControllers(),r.classList.remove("synthui_controller_show"),this.animationId=setTimeout(()=>{r.style.display="none"},200))}updateVoicesAmount(){this.voiceMeter.update(this.synth.voicesAmount),this.controllers.forEach((r,l)=>{let g=this.synth.channelProperties[l].voicesAmount;r.voiceMeter.update(g),g<1&&this.synth.voicesAmount>0?r.controller.classList.add("no_voices"):r.controller.classList.remove("no_voices")})}getInstrumentList(){this.synth.eventHandler.addEvent("presetlistchange","synthui-preset-list-change",r=>{let l=r;this.instrumentList=l.filter(g=>g.bank!==128).sort((g,f)=>g.program===f.program?g.bank-f.bank:g.program-f.program).map(g=>({name:g.presetName,bank:g.bank,program:g.program})),this.percussionList=l.filter(g=>g.bank===128).sort((g,f)=>g.program-f.program).map(g=>({name:g.presetName,bank:g.bank,program:g.program})),this.percussionList.length===0?this.percussionList=this.instrumentList:this.instrumentList.length===0&&(this.instrumentList=this.percussionList),this.controllers.forEach((g,f)=>{let D=this.synth.channelProperties[f].isDrum?this.percussionList:this.instrumentList;g.preset.reload(D),g.preset.set(`${D[0].bank}:${D[0].program}`)})})}};Ur.prototype.hideControllers=Uy;Ur.prototype.showControllers=Py;Ur.prototype.toggleDarkMode=Oy;Ur.prototype.createChannelController=Hy;Ur.prototype.createChannelControllers=Yy;Ur.prototype.createMainSynthController=Jy;Ur.prototype.setEventListeners=Vy;var vm=null,DC=class{constructor(){}async createMIDIDeviceHandler(){if(this.selectedInput=vm,this.selectedOutput=vm,navigator.requestMIDIAccess)try{let r=await navigator.requestMIDIAccess({sysex:!0,software:!0});return this.inputs=r.inputs,this.outputs=r.outputs,W5("%cMIDI handler created!",_1.recognized),!0}catch(r){return Ie("Could not get MIDI Devices:",r),this.inputs=[],this.outputs=[],!1}else return Ie("Web MIDI Api not supported!",_1.unrecognized),this.inputs=[],this.outputs=[],!1}connectMIDIOutputToSeq(r,l){this.selectedOutput=r,l.connectMidiOutput(r),W5(`%cPlaying MIDI to %c${r.name}`,_1.info,_1.recognized)}disconnectSeqFromMIDI(r){this.selectedOutput=vm,r.connectMidiOutput(void 0),W5("%cDisconnected from MIDI out.",_1.info)}connectDeviceToSynth(r,l){this.selectedInput=r,r.onmidimessage=g=>{l.sendMessage(g.data)},W5(`%cListening for messages on %c${r.name}`,_1.info,_1.recognized)}disconnectDeviceFromSynth(r){this.selectedInput=vm,r.onmidimessage=void 0,W5(`%cDisconnected from %c${r.name}`,_1.info,_1.recognized)}disconnectAllDevicesFromSynth(){this.selectedInput=vm;for(let r of this.inputs)r[1].onmidimessage=void 0}};var _C=class{constructor(r){window.addEventListener("message",l=>{if(typeof l.data!="string")return;let g=l.data.split(",");if(g[0]!=="midi")return;g.shift();let f=g.map(D=>parseInt(D,16));r.sendMessage(f)}),W5("%cWeb MIDI Link handler created!",_1.recognized)}};var TA="midi range";function Ky(o,r,l){let g=0,f=this.htmlControls.keyboard,D=()=>{let o0=document.createElement("option");o0.value=g.toString(),this.locale.bindObjectProperty(o0,"textContent","locale.settings.keyboardSettings.selectedChannel.channelOption",[g+1]),o0.style.background=r.channelColors[g%r.channelColors.length],o0.style.color="rgb(0, 0, 0)",f.channelSelector.appendChild(o0),g++};for(let o0=0;o0{o.selectChannel(parseInt(f.channelSelector.value))},f.sizeSelector.onchange=()=>{if(this.musicMode.visible){this.musicMode.setVisibility(!1,document.getElementById("keyboard_canvas_wrapper")),setTimeout(()=>{f.sizeSelector.value===TA?(this.autoKeyRange=!0,this?.sequi?.seq&&(o.keyRange=this.sequi.seq.midiData.keyRange,l.keyRange=this.sequi.seq.midiData.keyRange)):(this.autoKeyRange=!1,o.keyRange=this.keyboardSizes[f.sizeSelector.value],l.keyRange=this.keyboardSizes[f.sizeSelector.value]),this._saveSettings()},600);return}f.sizeSelector.value===TA?(this.autoKeyRange=!0,this?.sequi?.seq&&(o.keyRange=this.sequi.seq.midiData.keyRange,l.keyRange=this.sequi.seq.midiData.keyRange)):(this.autoKeyRange=!1,o.keyRange=this.keyboardSizes[f.sizeSelector.value],l.keyRange=this.keyboardSizes[f.sizeSelector.value]),this._saveSettings()},this.addSequencer=o0=>{o0.addOnSongChangeEvent(E0=>{this.autoKeyRange&&(o.keyRange=E0.keyRange,l.keyRange=E0.keyRange),E0.RMIDInfo?.IPIC!==void 0&&this.musicMode.visible===!1&&this.toggleMusicPlayerMode().then()},"settings-keyboard-handler-song-change")},r.synth.eventHandler.addEvent("newchannel","settings-new-channel",()=>{D()}),r.synth.eventHandler.addEvent("programchange","settings-keyboard-program-change",o0=>{o0.userCalled&&(o.selectChannel(o0.channel),f.channelSelector.value=o0.channel)}),r.synth.eventHandler.addEvent("mutechannel","settings-keuboard-mute-channel",o0=>{if(o0.isMuted&&o0.channel===o.channel){let E0=0;for(;r.synth.channelProperties[E0].isMuted;)E0++;E0{if(this.musicMode.visible){this.musicMode.setVisibility(!1,document.getElementById("keyboard_canvas_wrapper")),setTimeout(()=>{o.toggleMode(),this._saveSettings()},600);return}o.toggleMode(),this._saveSettings()},f.showSelector.onclick=()=>{o.shown=!o.shown,this._saveSettings()}}var zy=`

@@ -198,11 +198,11 @@ var hC=(o=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(o,{get:(r,l)=>(
-`;function Dn(o){return o.parentElement.nextElementSibling}function Zy(o){let r=o.getElementsByTagName("spessarange");for(let l of r)l.parentElement.insertBefore(GB(l,!0),l);for(;r.length>0;)r[0].parentNode.removeChild(r[0])}function GB(o,r=!0){let l=document.createElement("div");l.classList.add("settings_slider_wrapper");let g=o.getAttribute("min"),f=o.getAttribute("max"),D=o.getAttribute("value"),o0=o.getAttribute("units"),E0=o.getAttribute("input_id"),m0=document.createElement("input");m0.classList.add("settings_slider"),m0.type="range",m0.id=E0,m0.min=g,m0.max=f,m0.value=D;let l0;r&&(l0=document.createElement("span"),l0.textContent=D+o0);let u1=document.createElement("div");u1.classList.add("settings_visual_wrapper");let F=document.createElement("div");F.classList.add("settings_slider_progress"),u1.appendChild(F);let q0=document.createElement("div");return q0.classList.add("settings_slider_thumb"),u1.appendChild(q0),u1.appendChild(m0),m0.addEventListener("input",()=>{let R0=parseInt(u1.style.getPropertyValue("--visual-width").replace("%","")),L1=Math.round((m0.value-m0.min)/(m0.max-m0.min)*100);Math.abs((R0-L1)/100)>.05?u1.classList.add("settings_slider_transition"):u1.classList.remove("settings_slider_transition"),u1.style.setProperty("--visual-width",`${L1}%`)}),u1.style.setProperty("--visual-width",`${(m0.value-m0.min)/(m0.max-m0.min)*100}%`),l.appendChild(u1),r&&l.appendChild(l0),l}async function Wy(){let o=await window.savedSettings;if(!o.interface)return;W5("Loading saved settings...",o);let r=this.htmlControls.renderer,l=this.renderer,g=o.renderer;l.noteFallingTimeMs=g.noteFallingTimeMs,r.noteTimeSlider.value=g.noteFallingTimeMs,r.noteTimeSlider.dispatchEvent(new Event("input")),Dn(r.noteTimeSlider).innerText=`${g.noteFallingTimeMs}ms`,r.analyserThicknessSlider.value=g.waveformThickness,r.analyserThicknessSlider.dispatchEvent(new Event("input")),l.lineThickness=g.waveformThickness,Dn(r.analyserThicknessSlider).innerText=`${g.waveformThickness}px`;let f=g.sampleSize;r.analyserFftSlider.value=Math.log2(f),r.analyserFftSlider.dispatchEvent(new Event("input")),l.normalAnalyserFft=f,l.drumAnalyserFft=Math.pow(2,Math.min(15,Math.log2(f)+2)),l.updateFftSize(),Dn(r.analyserFftSlider).innerText=`${f}`,l.waveMultiplier=g.amplifier,r.waveMultiplierSlizer.value=g.amplifier,r.waveMultiplierSlizer.dispatchEvent(new Event("input")),Dn(r.waveMultiplierSlizer).innerText=g.amplifier.toString();let D=this.htmlControls.renderer;l.renderAnalysers=g.renderWaveforms,D.analyserToggler.checked=g.renderWaveforms,l.renderNotes=g.renderNotes,D.noteToggler.checked=g.renderNotes,l.drawActiveNotes=g.drawActiveNotes,D.activeNoteToggler.checked=g.drawActiveNotes,l.showVisualPitch=g.showVisualPitch,D.visualPitchToggler.checked=g.showVisualPitch,l.stabilizeWaveforms=g.stabilizeWaveforms,D.stabilizeWaveformsToggler.checked=g.stabilizeWaveforms,l.keyRange=g.keyRange;let o0=this.htmlControls.keyboard,E0=this.midiKeyboard,m0=o.keyboard;E0.setKeyRange(m0.keyRange,!1),m0.autoRange?(o0.sizeSelector.value=TA,this.autoKeyRange=!0):(this.autoKeyRange=!1,o0.sizeSelector.value=Object.keys(this.keyboardSizes).find(l0=>this.keyboardSizes[l0].min===m0.keyRange.min&&this.keyboardSizes[l0].max===m0.keyRange.max)),m0.mode==="dark"&&(E0.toggleMode(!1),this.htmlControls.keyboard.modeSelector.checked=!0),m0.show===!1&&(E0.shown=!1,this.htmlControls.keyboard.showSelector.checked=!1),this.locale.changeGlobalLocale(o.interface.language,!0),setTimeout(()=>{this.htmlControls.interface.languageSelector.value=o.interface.language},100),o.interface.mode==="light"?(this._toggleDarkMode(),this.htmlControls.interface.themeSelector.checked=!1):this.htmlControls.interface.themeSelector.checked=!0,this.htmlControls.interface.layoutSelector.value=o.interface.layout||"downwards",this._changeLayout(o.interface.layout||"downwards")}function jy(){window.saveSettings&&window.saveSettings(this._serializeSettings())}function Xy(){return{renderer:{noteFallingTimeMs:this.renderer.noteFallingTimeMs,waveformThickness:this.renderer.lineThickness,sampleSize:this.renderer.normalAnalyserFft,amplifier:this.renderer.waveMultiplier,renderWaveforms:this.renderer.renderAnalysers,renderNotes:this.renderer.renderNotes,drawActiveNotes:this.renderer.drawActiveNotes,showVisualPitch:this.renderer.showVisualPitch,stabilizeWaveforms:this.renderer.stabilizeWaveforms,keyRange:this.renderer.keyRange},keyboard:{selectedChannel:this.midiKeyboard.channel,keyRange:this.midiKeyboard.keyRange,mode:this.midiKeyboard.mode,autoRange:this.htmlControls.keyboard.sizeSelector.value===TA,show:this.htmlControls.keyboard.showSelector.checked===!0},midi:{input:this.midiDeviceHandler.selectedInput===null?null:this.midiDeviceHandler.selectedInput.name,output:this.midiDeviceHandler.selectedOutput===null?null:this.midiDeviceHandler.selectedOutput.name},interface:{mode:this.mode,language:this.htmlControls.interface.languageSelector.value,layout:this.htmlControls.interface.layoutSelector.value}}}function ew(){let o=this.htmlControls.interface.themeSelector;o.onclick=()=>{this._toggleDarkMode(),this._saveSettings()};let r=this.htmlControls.interface.languageSelector;for(let[g,f]of Object.entries(this.locales)){let D=document.createElement("option");D.value=g,D.textContent=f.localeName,r.appendChild(D)}r.onchange=()=>{this.locale.changeGlobalLocale(r.value),this._saveSettings()};let l=this.htmlControls.interface.layoutSelector;l.onchange=()=>{this._changeLayout(l.value),this._saveSettings(),l.blur()}}function tw(o){let r=document.getElementById("keyboard_canvas_wrapper"),l=document.getElementById("note_canvas"),g=document.getElementById("keyboard");switch(o){case"downwards":r.classList.remove("upwards"),r.classList.remove("left_to_right"),r.classList.remove("right_to_left"),l.classList.remove("sideways"),g.classList.remove("sideways"),this.renderer.direction="down",this.renderer.sideways=!1;break;case"upwards":r.classList.add("upwards"),r.classList.remove("left_to_right"),r.classList.remove("right_to_left"),l.classList.remove("sideways"),g.classList.remove("sideways"),this.renderer.direction="up",this.renderer.sideways=!1;break;case"left":r.classList.remove("upwards"),r.classList.add("left_to_right"),r.classList.remove("right_to_left"),l.classList.add("sideways"),g.classList.add("sideways"),this.renderer.direction="up",this.renderer.sideways=!0;break;case"right":r.classList.remove("upwards"),r.classList.remove("left_to_right"),r.classList.add("right_to_left"),l.classList.add("sideways"),g.classList.add("sideways"),this.renderer.direction="down",this.renderer.sideways=!0}}var xC={start:"#101010",end:"#212121"},RC={start:"#bbb",end:"#f0f0f0"},iw="#eee",rw="#333",LC={start:"#222",end:"#333"},FC={start:"#ccc",end:"#fff"},_n=.2;function nw(){this.mode==="dark"?(this.mode="light",this.renderer.drawActiveNotes=!1):(this.renderer.drawActiveNotes=!0,this.mode="dark"),this.renderer.toggleDarkMode(),this.synthui.toggleDarkMode(),this.sequi.toggleDarkMode(),this.musicMode.toggleDarkMode(),document.getElementsByClassName("spessasynth_main")[0].classList.toggle("light_mode"),document.getElementsByClassName("top_part")[0].classList.toggle("top_part_light"),this.mainDiv.classList.toggle("settings_menu_light");let o=document.styleSheets[0].cssRules;for(let r of o)if(r.selectorText==="*"){this.mode==="dark"?(xn(rw,iw,_n,r,"--font-color"),xn(FC.start,LC.start,_n,r,"--top-buttons-color-start"),xn(FC.end,LC.end,_n,r,"--top-buttons-color-end"),xn(RC.start,xC.start,_n,r,"--top-color-start"),xn(RC.end,xC.end,_n,r,"--top-color-end")):(xn(iw,rw,_n,r,"--font-color"),xn(LC.start,FC.start,_n,r,"--top-buttons-color-start"),xn(LC.end,FC.end,_n,r,"--top-buttons-color-end"),xn(xC.start,RC.start,_n,r,"--top-color-start"),xn(xC.end,RC.end,_n,r,"--top-color-end"));break}document.body.style.background=this.mode==="dark"?"black":"white"}var hh={};function xn(o,r,l,g,f){hh[f]&&(clearInterval(hh[f]),hh[f]=void 0);function D(F){F.length===4&&(F=`#${F[1]}${F[1]}${F[2]}${F[2]}${F[3]}${F[3]}`);let q0=parseInt(F.slice(1),16);return{r:q0>>16&255,g:q0>>8&255,b:q0&255}}function o0(F,q0,R0){return F+(q0-F)*R0}let E0=D(o),m0=D(r),l0=performance.now()/1e3;function u1(){let q0=performance.now()/1e3-l0,R0=Math.min(q0/l,1),L1=Math.round(o0(E0.r,m0.r,R0)),t2=Math.round(o0(E0.g,m0.g,R0)),y1=Math.round(o0(E0.b,m0.b,R0));g.style.setProperty(f,`rgb(${L1}, ${t2}, ${y1})`),R0>=1&&(clearInterval(hh[f]),hh[f]=void 0)}hh[f]=setInterval(u1,1e3/60)}function sw(o){let r=this.htmlControls.renderer;r.noteTimeSlider.addEventListener("input",()=>{o.noteFallingTimeMs=r.noteTimeSlider.value,Dn(r.noteTimeSlider).innerText=`${r.noteTimeSlider.value}ms`}),r.noteTimeSlider.onchange=()=>{this._saveSettings()},r.analyserThicknessSlider.addEventListener("input",()=>{o.lineThickness=parseInt(r.analyserThicknessSlider.value),Dn(r.analyserThicknessSlider).innerText=`${r.analyserThicknessSlider.value}px`}),r.analyserThicknessSlider.onchange=()=>{this._saveSettings()},r.analyserFftSlider.addEventListener("input",()=>{let l=Math.pow(2,parseInt(r.analyserFftSlider.value));o.normalAnalyserFft=l,o.drumAnalyserFft=Math.pow(2,Math.min(15,parseInt(r.analyserFftSlider.value)+2)),o.updateFftSize(),Dn(r.analyserFftSlider).innerText=`${l}`}),r.analyserFftSlider.onchange=()=>{this._saveSettings()},r.waveMultiplierSlizer.addEventListener("input",()=>{o.waveMultiplier=parseInt(r.waveMultiplierSlizer.value),Dn(r.waveMultiplierSlizer).innerText=r.waveMultiplierSlizer.value}),r.waveMultiplierSlizer.onchange=()=>{this._saveSettings()},r.analyserToggler.onclick=()=>{o.renderAnalysers=!o.renderAnalysers,this._saveSettings()},r.noteToggler.onclick=()=>{o.renderNotes=!o.renderNotes,this._saveSettings()},r.activeNoteToggler.onclick=()=>{o.drawActiveNotes=!o.drawActiveNotes,this._saveSettings()},r.visualPitchToggler.onclick=()=>{o.showVisualPitch=!o.showVisualPitch,this._saveSettings()},r.stabilizeWaveformsToggler.onclick=()=>{o.stabilizeWaveforms=!o.stabilizeWaveforms,this._saveSettings()}}function NA(o,r,l){if(r.textContent&&(o.textContent=r.textContent),r.translatePathTitle){if(!l)throw new Error("Translate path title provided but no locale provided.");l.bindObjectProperty(o,"textContent",r.translatePathTitle+".title"),l.bindObjectProperty(o,"title",r.translatePathTitle+".description")}}function ow(o,r){switch(o.type){case"button":let l=document.createElement("button");return NA(l,o,r),y$(o,[l]),l;case"text":let g=document.createElement("p");return NA(g,o,r),y$(o,[g]),g;case"input":let f=document.createElement("div");f.classList.add("notification_input_wrapper");let D=document.createElement("input");NA(D,o,r),D.addEventListener("keydown",Y2=>Y2.stopPropagation());let o0=document.createElement("label");return NA(o0,o,r),y$(o,[D,o0]),f.append(o0),f.appendChild(D),f;case"file":let E0=document.createElement("label");E0.classList.add("notification_input_wrapper");let m0=document.createElement("input");m0.type="file";let l0=document.createElement("label");l0.classList.add("notification_file_button"),NA(l0,o,r);let u1=document.createElement("label");return NA(u1,o,r),y$(o,[l0,m0,u1]),l0.appendChild(m0),E0.append(u1),E0.appendChild(l0),E0;case"progress":let F=document.createElement("div");F.classList.add("notification_progress_background");let q0=document.createElement("div");return q0.classList.add("notification_progress"),y$(o,[q0,F]),F.appendChild(q0),F;case"toggle":return Xb(o,r);case"range":let R0=document.createElement("input");R0.type="range";let L1=document.createElement("label");y$(o,[R0,L1]),NA(L1,o,r);let t2=GB(R0,!1),y1=document.createElement("div");return y1.classList.add("notification_slider_wrapper"),y1.appendChild(L1),y1.appendChild(t2),y1}}function y$(o,r){if(o.attributes)for(let[l,g]of Object.entries(o.attributes))for(let f of r)f.setAttribute(l,g)}function Xb(o,r){let l=document.createElement("label");l.classList.add("notification_switch_wrapper");let g=document.createElement("label");NA(g,o,r);let f=document.createElement("input");f.type="checkbox",y$(o,[g,f]);let D=document.createElement("div");D.classList.add("notification_switch"),D.appendChild(f);let o0=document.createElement("div");return o0.classList.add("notification_switch_slider"),D.appendChild(o0),l.appendChild(g),l.appendChild(D),l}var eD=13,tD=0,MC={};function Pt(o,r,l=eD,g=!0,f=void 0,D=void 0){let o0=document.createElement("div"),E0=tD++;o0.classList.add("notification"),o0.innerHTML=` +`;function Dn(o){return o.parentElement.nextElementSibling}function Zy(o){let r=o.getElementsByTagName("spessarange");for(let l of r)l.parentElement.insertBefore(GB(l,!0),l);for(;r.length>0;)r[0].parentNode.removeChild(r[0])}function GB(o,r=!0){let l=document.createElement("div");l.classList.add("settings_slider_wrapper");let g=o.getAttribute("min"),f=o.getAttribute("max"),D=o.getAttribute("value"),o0=o.getAttribute("units"),E0=o.getAttribute("input_id"),m0=document.createElement("input");m0.classList.add("settings_slider"),m0.type="range",m0.id=E0,m0.min=g,m0.max=f,m0.value=D;let c0;r&&(c0=document.createElement("span"),c0.textContent=D+o0);let f1=document.createElement("div");f1.classList.add("settings_visual_wrapper");let x=document.createElement("div");x.classList.add("settings_slider_progress"),f1.appendChild(x);let X0=document.createElement("div");return X0.classList.add("settings_slider_thumb"),f1.appendChild(X0),f1.appendChild(m0),m0.addEventListener("input",()=>{let F0=parseInt(f1.style.getPropertyValue("--visual-width").replace("%","")),b1=Math.round((m0.value-m0.min)/(m0.max-m0.min)*100);Math.abs((F0-b1)/100)>.05?f1.classList.add("settings_slider_transition"):f1.classList.remove("settings_slider_transition"),f1.style.setProperty("--visual-width",`${b1}%`)}),f1.style.setProperty("--visual-width",`${(m0.value-m0.min)/(m0.max-m0.min)*100}%`),l.appendChild(f1),r&&l.appendChild(c0),l}async function Wy(){let o=await window.savedSettings;if(!o.interface)return;W5("Loading saved settings...",o);let r=this.htmlControls.renderer,l=this.renderer,g=o.renderer;l.noteFallingTimeMs=g.noteFallingTimeMs,r.noteTimeSlider.value=g.noteFallingTimeMs,r.noteTimeSlider.dispatchEvent(new Event("input")),Dn(r.noteTimeSlider).innerText=`${g.noteFallingTimeMs}ms`,r.analyserThicknessSlider.value=g.waveformThickness,r.analyserThicknessSlider.dispatchEvent(new Event("input")),l.lineThickness=g.waveformThickness,Dn(r.analyserThicknessSlider).innerText=`${g.waveformThickness}px`;let f=g.sampleSize;r.analyserFftSlider.value=Math.log2(f),r.analyserFftSlider.dispatchEvent(new Event("input")),l.normalAnalyserFft=f,l.drumAnalyserFft=Math.pow(2,Math.min(15,Math.log2(f)+2)),l.updateFftSize(),Dn(r.analyserFftSlider).innerText=`${f}`,l.waveMultiplier=g.amplifier,r.waveMultiplierSlizer.value=g.amplifier,r.waveMultiplierSlizer.dispatchEvent(new Event("input")),Dn(r.waveMultiplierSlizer).innerText=g.amplifier.toString();let D=this.htmlControls.renderer;l.renderAnalysers=g.renderWaveforms,D.analyserToggler.checked=g.renderWaveforms,l.renderNotes=g.renderNotes,D.noteToggler.checked=g.renderNotes,l.drawActiveNotes=g.drawActiveNotes,D.activeNoteToggler.checked=g.drawActiveNotes,l.showVisualPitch=g.showVisualPitch,D.visualPitchToggler.checked=g.showVisualPitch,l.stabilizeWaveforms=g.stabilizeWaveforms,D.stabilizeWaveformsToggler.checked=g.stabilizeWaveforms,l.keyRange=g.keyRange;let o0=this.htmlControls.keyboard,E0=this.midiKeyboard,m0=o.keyboard;E0.setKeyRange(m0.keyRange,!1),m0.autoRange?(o0.sizeSelector.value=TA,this.autoKeyRange=!0):(this.autoKeyRange=!1,o0.sizeSelector.value=Object.keys(this.keyboardSizes).find(c0=>this.keyboardSizes[c0].min===m0.keyRange.min&&this.keyboardSizes[c0].max===m0.keyRange.max)),m0.mode==="dark"&&(E0.toggleMode(!1),this.htmlControls.keyboard.modeSelector.checked=!0),m0.show===!1&&(E0.shown=!1,this.htmlControls.keyboard.showSelector.checked=!1),this.locale.changeGlobalLocale(o.interface.language,!0),setTimeout(()=>{this.htmlControls.interface.languageSelector.value=o.interface.language},100),o.interface.mode==="light"?(this._toggleDarkMode(),this.htmlControls.interface.themeSelector.checked=!1):this.htmlControls.interface.themeSelector.checked=!0,this.htmlControls.interface.layoutSelector.value=o.interface.layout||"downwards",this._changeLayout(o.interface.layout||"downwards")}function jy(){window.saveSettings&&window.saveSettings(this._serializeSettings())}function Xy(){return{renderer:{noteFallingTimeMs:this.renderer.noteFallingTimeMs,waveformThickness:this.renderer.lineThickness,sampleSize:this.renderer.normalAnalyserFft,amplifier:this.renderer.waveMultiplier,renderWaveforms:this.renderer.renderAnalysers,renderNotes:this.renderer.renderNotes,drawActiveNotes:this.renderer.drawActiveNotes,showVisualPitch:this.renderer.showVisualPitch,stabilizeWaveforms:this.renderer.stabilizeWaveforms,keyRange:this.renderer.keyRange},keyboard:{selectedChannel:this.midiKeyboard.channel,keyRange:this.midiKeyboard.keyRange,mode:this.midiKeyboard.mode,autoRange:this.htmlControls.keyboard.sizeSelector.value===TA,show:this.htmlControls.keyboard.showSelector.checked===!0},midi:{input:this.midiDeviceHandler.selectedInput===null?null:this.midiDeviceHandler.selectedInput.name,output:this.midiDeviceHandler.selectedOutput===null?null:this.midiDeviceHandler.selectedOutput.name},interface:{mode:this.mode,language:this.htmlControls.interface.languageSelector.value,layout:this.htmlControls.interface.layoutSelector.value}}}function ew(){let o=this.htmlControls.interface.themeSelector;o.onclick=()=>{this._toggleDarkMode(),this._saveSettings()};let r=this.htmlControls.interface.languageSelector;for(let[g,f]of Object.entries(this.locales)){let D=document.createElement("option");D.value=g,D.textContent=f.localeName,r.appendChild(D)}r.onchange=()=>{this.locale.changeGlobalLocale(r.value),this._saveSettings()};let l=this.htmlControls.interface.layoutSelector;l.onchange=()=>{this._changeLayout(l.value),this._saveSettings(),l.blur()}}function tw(o){let r=document.getElementById("keyboard_canvas_wrapper"),l=document.getElementById("note_canvas"),g=document.getElementById("keyboard");switch(o){case"downwards":r.classList.remove("upwards"),r.classList.remove("left_to_right"),r.classList.remove("right_to_left"),l.classList.remove("sideways"),g.classList.remove("sideways"),this.renderer.direction="down",this.renderer.sideways=!1;break;case"upwards":r.classList.add("upwards"),r.classList.remove("left_to_right"),r.classList.remove("right_to_left"),l.classList.remove("sideways"),g.classList.remove("sideways"),this.renderer.direction="up",this.renderer.sideways=!1;break;case"left":r.classList.remove("upwards"),r.classList.add("left_to_right"),r.classList.remove("right_to_left"),l.classList.add("sideways"),g.classList.add("sideways"),this.renderer.direction="up",this.renderer.sideways=!0;break;case"right":r.classList.remove("upwards"),r.classList.remove("left_to_right"),r.classList.add("right_to_left"),l.classList.add("sideways"),g.classList.add("sideways"),this.renderer.direction="down",this.renderer.sideways=!0}}var xC={start:"#101010",end:"#212121"},RC={start:"#bbb",end:"#f0f0f0"},iw="#eee",rw="#333",LC={start:"#222",end:"#333"},FC={start:"#ccc",end:"#fff"},_n=.2;function nw(){this.mode==="dark"?(this.mode="light",this.renderer.drawActiveNotes=!1):(this.renderer.drawActiveNotes=!0,this.mode="dark"),this.renderer.toggleDarkMode(),this.synthui.toggleDarkMode(),this.sequi.toggleDarkMode(),this.musicMode.toggleDarkMode(),document.getElementsByClassName("spessasynth_main")[0].classList.toggle("light_mode"),document.getElementsByClassName("top_part")[0].classList.toggle("top_part_light"),this.mainDiv.classList.toggle("settings_menu_light");let o=document.styleSheets[0].cssRules;for(let r of o)if(r.selectorText==="*"){this.mode==="dark"?(xn(rw,iw,_n,r,"--font-color"),xn(FC.start,LC.start,_n,r,"--top-buttons-color-start"),xn(FC.end,LC.end,_n,r,"--top-buttons-color-end"),xn(RC.start,xC.start,_n,r,"--top-color-start"),xn(RC.end,xC.end,_n,r,"--top-color-end")):(xn(iw,rw,_n,r,"--font-color"),xn(LC.start,FC.start,_n,r,"--top-buttons-color-start"),xn(LC.end,FC.end,_n,r,"--top-buttons-color-end"),xn(xC.start,RC.start,_n,r,"--top-color-start"),xn(xC.end,RC.end,_n,r,"--top-color-end"));break}document.body.style.background=this.mode==="dark"?"black":"white"}var hh={};function xn(o,r,l,g,f){hh[f]&&(clearInterval(hh[f]),hh[f]=void 0);function D(x){x.length===4&&(x=`#${x[1]}${x[1]}${x[2]}${x[2]}${x[3]}${x[3]}`);let X0=parseInt(x.slice(1),16);return{r:X0>>16&255,g:X0>>8&255,b:X0&255}}function o0(x,X0,F0){return x+(X0-x)*F0}let E0=D(o),m0=D(r),c0=performance.now()/1e3;function f1(){let X0=performance.now()/1e3-c0,F0=Math.min(X0/l,1),b1=Math.round(o0(E0.r,m0.r,F0)),l2=Math.round(o0(E0.g,m0.g,F0)),y1=Math.round(o0(E0.b,m0.b,F0));g.style.setProperty(f,`rgb(${b1}, ${l2}, ${y1})`),F0>=1&&(clearInterval(hh[f]),hh[f]=void 0)}hh[f]=setInterval(f1,1e3/60)}function sw(o){let r=this.htmlControls.renderer;r.noteTimeSlider.addEventListener("input",()=>{o.noteFallingTimeMs=r.noteTimeSlider.value,Dn(r.noteTimeSlider).innerText=`${r.noteTimeSlider.value}ms`}),r.noteTimeSlider.onchange=()=>{this._saveSettings()},r.analyserThicknessSlider.addEventListener("input",()=>{o.lineThickness=parseInt(r.analyserThicknessSlider.value),Dn(r.analyserThicknessSlider).innerText=`${r.analyserThicknessSlider.value}px`}),r.analyserThicknessSlider.onchange=()=>{this._saveSettings()},r.analyserFftSlider.addEventListener("input",()=>{let l=Math.pow(2,parseInt(r.analyserFftSlider.value));o.normalAnalyserFft=l,o.drumAnalyserFft=Math.pow(2,Math.min(15,parseInt(r.analyserFftSlider.value)+2)),o.updateFftSize(),Dn(r.analyserFftSlider).innerText=`${l}`}),r.analyserFftSlider.onchange=()=>{this._saveSettings()},r.waveMultiplierSlizer.addEventListener("input",()=>{o.waveMultiplier=parseInt(r.waveMultiplierSlizer.value),Dn(r.waveMultiplierSlizer).innerText=r.waveMultiplierSlizer.value}),r.waveMultiplierSlizer.onchange=()=>{this._saveSettings()},r.analyserToggler.onclick=()=>{o.renderAnalysers=!o.renderAnalysers,this._saveSettings()},r.noteToggler.onclick=()=>{o.renderNotes=!o.renderNotes,this._saveSettings()},r.activeNoteToggler.onclick=()=>{o.drawActiveNotes=!o.drawActiveNotes,this._saveSettings()},r.visualPitchToggler.onclick=()=>{o.showVisualPitch=!o.showVisualPitch,this._saveSettings()},r.stabilizeWaveformsToggler.onclick=()=>{o.stabilizeWaveforms=!o.stabilizeWaveforms,this._saveSettings()}}function NA(o,r,l){if(r.textContent&&(o.textContent=r.textContent),r.translatePathTitle){if(!l)throw new Error("Translate path title provided but no locale provided.");l.bindObjectProperty(o,"textContent",r.translatePathTitle+".title"),l.bindObjectProperty(o,"title",r.translatePathTitle+".description")}}function ow(o,r){switch(o.type){case"button":let l=document.createElement("button");return NA(l,o,r),y$(o,[l]),l;case"text":let g=document.createElement("p");return NA(g,o,r),y$(o,[g]),g;case"input":let f=document.createElement("div");f.classList.add("notification_input_wrapper");let D=document.createElement("input");NA(D,o,r),D.addEventListener("keydown",Y2=>Y2.stopPropagation());let o0=document.createElement("label");return NA(o0,o,r),y$(o,[D,o0]),f.append(o0),f.appendChild(D),f;case"file":let E0=document.createElement("label");E0.classList.add("notification_input_wrapper");let m0=document.createElement("input");m0.type="file";let c0=document.createElement("label");c0.classList.add("notification_file_button"),NA(c0,o,r);let f1=document.createElement("label");return NA(f1,o,r),y$(o,[c0,m0,f1]),c0.appendChild(m0),E0.append(f1),E0.appendChild(c0),E0;case"progress":let x=document.createElement("div");x.classList.add("notification_progress_background");let X0=document.createElement("div");return X0.classList.add("notification_progress"),y$(o,[X0,x]),x.appendChild(X0),x;case"toggle":return Xb(o,r);case"range":let F0=document.createElement("input");F0.type="range";let b1=document.createElement("label");y$(o,[F0,b1]),NA(b1,o,r);let l2=GB(F0,!1),y1=document.createElement("div");return y1.classList.add("notification_slider_wrapper"),y1.appendChild(b1),y1.appendChild(l2),y1}}function y$(o,r){if(o.attributes)for(let[l,g]of Object.entries(o.attributes))for(let f of r)f.setAttribute(l,g)}function Xb(o,r){let l=document.createElement("label");l.classList.add("notification_switch_wrapper");let g=document.createElement("label");NA(g,o,r);let f=document.createElement("input");f.type="checkbox",y$(o,[g,f]);let D=document.createElement("div");D.classList.add("notification_switch"),D.appendChild(f);let o0=document.createElement("div");return o0.classList.add("notification_switch_slider"),D.appendChild(o0),l.appendChild(g),l.appendChild(D),l}var eD=13,tD=0,MC={};function Pt(o,r,l=eD,g=!0,f=void 0,D=void 0){let o0=document.createElement("div"),E0=tD++;o0.classList.add("notification"),o0.innerHTML=`

${o}

\xD7 -
`;let m0=document.createElement("div");if(m0.classList.add("notification_content"),D)for(let[u1,F]of Object.entries(D))m0.style[u1]=F;o0.appendChild(m0);for(let u1 of r){let F=ow(u1,f);u1.onClick&&(F.onclick=()=>u1.onClick({div:o0,id:E0},F)),m0.appendChild(F)}g?o0.getElementsByClassName("close_btn")[0].onclick=()=>{h7(E0)}:o0.getElementsByClassName("close_btn")[0].style.display="none",setTimeout(()=>{o0.classList.add("drop")},75);let l0=setTimeout(()=>{h7(E0)},l*1e3+75);return document.getElementsByClassName("notification_field")[0].appendChild(o0),MC[E0]={div:o0,timeout:l0},{div:o0,id:E0}}function h7(o){let r=MC[o].div;clearTimeout(MC[o].timeout),r.classList.remove("drop"),setTimeout(()=>r.parentElement.removeChild(r),500),MC[o]=void 0}function Aw(o,r,l){o.createMIDIDeviceHandler().then(g=>{g?(this._createMidiInputHandler(o,l.synth),this._createMidiOutputHandler(o,r)):(xA||Pt(this.locale.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:this.locale.getLocaleString("locale.warnings.noMidiSupport")}]),document.getElementById("midi_settings").style.display="none")})}function aw(o,r){if(o.inputs.length<1)return;let l=this.htmlControls.midi.inputSelector;for(let g of o.inputs){let f=document.createElement("option");f.value=g[0],f.innerText=g[1].name,l.appendChild(f)}l.onchange=()=>{l.value==="-1"?o.disconnectAllDevicesFromSynth():o.connectDeviceToSynth(o.inputs.get(l.value),r),this._saveSettings()}}function $w(o,r){if(!o.outputs){setTimeout(()=>{this._createMidiOutputHandler(o,r)},1e3);return}if(o.outputs.length<1)return;let l=this.htmlControls.midi.outputSelector;for(let g of o.outputs){let f=document.createElement("option");f.value=g[0],f.innerText=g[1].name,l.appendChild(f)}l.onchange=()=>{r.seq&&(l.value==="-1"?o.disconnectSeqFromMIDI(r.seq):o.connectMIDIOutputToSeq(o.outputs.get(l.value),r.seq),this._saveSettings())}}var lw={title:"Renderer settings",noteFallingTime:{title:"Note falling time (miliseconds)",description:"How fast the notes fall (visually)"},waveformThickness:{title:"Waveform line thickness (px)",description:"How thick the waveform lines are"},waveformSampleSize:{title:"Waveform sample size",description:"How detailed the waveforms are (Note: high values might impact performance)"},waveformAmplifier:{title:"Waveform amplifier",description:"How vibrant the waveforms are"},toggleWaveformsRendering:{title:"Enable waveforms rendering",description:"Enable rendering the channel waveforms (colorful lines showing audio)"},toggleNotesRendering:{title:"Enable notes rendering",description:"Enable rendering of the falling notes when playing a MIDI file"},toggleDrawingActiveNotes:{title:"Enable drawing active notes",description:"Enable notes lighting up and glowing when they get pressed"},toggleDrawingVisualPitch:{title:"Enable drawing visual pitch",description:"Enable notes sliding left or right when the pitch wheel is applied"},toggleStabilizeWaveforms:{title:"Stabilize waveforms",description:"Enable oscilloscope triggering"}};var cw={title:"MIDI Keyboard settings",selectedChannel:{title:"Selected channel",description:"The channel keyboard sends messages to",channelOption:"Channel {0}"},keyboardSize:{title:"Keyboard size",description:"The range of keys shown on the keyboard. Adjusts the MIDI note size accordingly",full:"128 keys (full)",piano:"88 keys (piano)",fiveOctaves:"5 octaves",useSongKeyRange:"Use song's key range",twoOctaves:"Two octaves"},toggleTheme:{title:"Use dark theme",description:"Use the dark MIDI keyboard theme"},show:{title:"Show",description:"Show/hide MIDI keyboard"}};var gw={title:"MIDI settings",midiInput:{title:"MIDI input",description:"The port to listen on for MIDI messages",disabled:"Disabled"},midiOutput:{title:"MIDI output",description:"The port to play the MIDI file to",disabled:"Use SpessaSynth"}};var hw={toggleButton:"Settings",mainTitle:"Program settings",rendererSettings:lw,keyboardSettings:cw,midiSettings:gw,interfaceSettings:{title:"Interface settings",toggleTheme:{title:"Use dark theme",description:"Enable the dark theme for the interface"},selectLanguage:{title:"Language",description:"Change the program language"},layoutDirection:{title:"Layout direction",description:"The layout direction of the renderer and keyboard",values:{downwards:"Downwards",upwards:"Upwards",leftToRight:"Left to right",rightToLeft:"Right to left"}}}};var uw={toggleButton:{title:"Toggle music player mode",description:"Toggle the simplified UI version, hiding the keyboard and note visualizations"},currentlyPlaying:"Currently playing:",nothingPlaying:"Nothing is playing",nothingPlayingCopyright:"Upload a MIDI!"};var fw={voiceMeter:{title:"Voices: ",description:"The current amount of voices playing on channel {0}"},pitchBendMeter:{title:"Pitch: ",description:"The current pitch bend applied to channel {0}"},panMeter:{title:"Pan: ",description:"The current stereo panning applied to channel {0} (right-click to lock)"},expressionMeter:{title:"Expression: ",description:"The current expression (loudness) of channel {0} (right-click to lock)"},volumeMeter:{title:"Volume: ",description:"The current volume of channel {0} (right-click to lock)"},modulationWheelMeter:{title:"Mod wheel: ",description:"The current modulation (usually vibrato) depth of channel {0} (right-click to lock)"},chorusMeter:{title:"Chorus: ",description:"The current level of chorus effect applied to channel {0} (right-click to lock)"},reverbMeter:{title:"Reverb: ",description:"The current level of reverb effect applied to channel {0} (right-click to lock)"},filterMeter:{title:"Filter: ",description:"The current level of low-pass filter cutoff applied to channel {0} (right-click to lock)"},transposeMeter:{title:"Transpose: ",description:"The current transposition (key shift) of channel {0}"},presetSelector:{description:"Change the patch (instrument) channel {0} is using",selectionPrompt:"Change instrument for channel {0}",searchPrompt:"Search..."},presetReset:{description:"Unlock channel {0} to allow program changes"},soloButton:{description:"Solo on channel {0}"},muteButton:{description:"Mute/unmute channel {0}"},drumToggleButton:{description:"Toggle drums on channel {0}"}};var dw={toggleButton:{title:"Synthesizer controller",description:"Show the synthesizer controller"},mainVoiceMeter:{title:"Voices: ",description:"The total amount of voices currently playing"},mainVolumeMeter:{title:"Volume: ",description:"The current master volume of the synthesizer"},mainPanMeter:{title:"Pan: ",description:"The current master stereo panning of the synthesizer"},mainTransposeMeter:{title:"Transpose: ",description:"Transposes the synthesizer (in semitones or keys)"},midiPanic:{title:"MIDI Panic",description:"Stops all voices immediately"},systemReset:{title:"System reset",description:"Resets all controllers to their default values"},blackMidiMode:{title:"Black MIDI mode",description:"Toggles the High Performance Mode, simplifying the look and killing the notes faster"},disableCustomVibrato:{title:"Disable custom vibrato",description:"Disables the custom (NRPN) Vibrato permamently. Reload the website to reenable it"},helpButton:{title:"Help",description:"Opens an external website with the usage guide"},interpolation:{description:"Select the synthesizer's interpolation method",linear:"Linear Interpolation",nearestNeighbor:"Nearest neighbor",cubic:"Cubic Interpolation"},channelController:fw};var Iw={previousSong:"Previous song",nextSong:"Next song",loopThis:"Loop this song",playPause:"Play/pause",lyrics:{show:"Show lyrics",title:"Decoded text",noLyrics:"No lyrics available...",otherText:{title:"Other text"}}};var Ew={button:{title:"Save Audio",description:"Save the composition to various formats"},formats:{title:"Choose format",formats:{wav:{button:{title:"WAV audio (.wav)",description:"Export the song with modifications as a .wav audio file"},options:{title:"WAV export options",confirm:"Export",normalizeVolume:{title:"Normalize volume",description:"Keep the volume at the same level, no matter how loud or quiet the MIDI is. Recommended."},additionalTime:{title:"Additional time (s)",description:"Additional time at the end of the song to allow for the sound to fade. (seconds)"},separateChannels:{title:"Separate channels",description:"Save each channel as a separate file. Useful for things like oscilloscope viewers. Note that this disables reverb and chorus.",saving:{title:"Channel files",save:"Save channel {0}"}},loopCount:{title:"Loop count",description:"The amount of times to loop the song"}},exportMessage:{message:"Exporting WAV audio...",estimated:"Remaining:",convertWav:"Converting to wav..."}},midi:{button:{title:"MIDI (.mid)",description:"Export the MIDI file with the controller and instrument changes applied"}},soundfont:{button:{title:"SoundFont (.sf2)",description:"Export a SoundFont2 file"},options:{title:"SF export options",confirm:"Export",trim:{title:"Trim",description:"Export the soundfont trimmed to only use instruments and samples that the MIDI file uses"},compress:{title:"Compress",description:"Compress samples with lossy Ogg Vorbis compression if uncompressed. Significantly reduces the file size.If the soundfont was already compressed, it won't be uncompressed even if this option is disabled"},quality:{title:"Compression quality",description:"The quality of compression. Higher is better"}}},rmidi:{button:{title:"Embedded MIDI (.rmi)",description:"Export the modified MIDI with the embedded trimmed soundfont as a single file. Note that this format isn't widely supported"},progress:{title:"Exporting embeded MIDI...",loading:"Loading Soundfont and MIDI...",modifyingMIDI:"Modifying MIDI...",modifyingSoundfont:"Trimming Soundfont...",saving:"Saving RMIDI...",done:"Done!"},options:{title:"RMIDI export options",confirm:"Export",compress:{title:"Compress",description:"Compress the Soundfont with lossy Ogg Vorbis compression. Significantly reduces the file size. Recommended."},quality:{title:"Compression quality",description:"The quality of compression. Higher is better."},bankOffset:{title:"Bank offset",description:"The bank offset of the file. Value of 0 is recommended. Only change if you know what you're doing."},adjust:{title:"Adjust MIDI",description:"Adjusts the MIDI file to the SoundFont. Leave this on unless you know what you're doing."}}}},metadata:{songTitle:{title:"Title:",description:"The song's title"},album:{title:"Album:",description:"The song's album"},artist:{title:"Artist:",description:"The song's artist"},albumCover:{title:"Album cover:",description:"The song's album cover"},creationDate:{title:"Created:",description:"The song's creation date"},genre:{title:"Genre:",description:"The song's genre"},comment:{title:"Comment:",description:"The song's comment"},duration:{title:"Duration:",description:"The song's duration"}}}};var mw={localeName:"English",titleMessage:"SpessaSynth: SoundFont2 Javascript Synthesizer",demoTitleMessage:"SpessaSynth: SoundFont2 Javascript Synthesizer Online Demo",synthInit:{genericLoading:"Loading...",loadingSoundfont:"Loading SoundFont...",loadingBundledSoundfont:"Loading bundled SoundFont...",startingSynthesizer:"Starting Synthesizer...",savingSoundfont:"Saving SoundFont for reuse...",noWebAudio:"Your browser does not support Web Audio.",done:"Ready!"},midiUploadButton:"Upload your MIDI files",exportAudio:Ew,yes:"Yes",no:"No",demoSoundfontUploadButton:"Upload the soundfont",demoGithubPage:"Project's page",demoSongButton:"Demo Song",credits:"Credits",dropPrompt:"Drop files here...",warnings:{outOfMemory:"Your browser ran out of memory. Consider using Firefox or SF3 soundfont instead. (see console for error).",noMidiSupport:"No MIDI ports detected, this functionality will be disabled.",chromeMobile:"SpessaSynth performs poorly on Chrome Mobile. Consider using Firefox Android instead.",warning:"Warning"},hideTopBar:{title:"Hide top bar",description:"Hide the top (title) bar to provide a more seamless experience"},convertDls:{title:"DLS Conversion",message:"Looks like you've uploaded a DLS file. Do you want to convert it to SF2?"},musicPlayerMode:uw,settings:hw,synthesizerController:dw,sequencerController:Iw};var Cw={title:"Ustawienia wizualizacji",noteFallingTime:{title:"Czas spadania nut (ms)",description:"Jak szybko spadaj\u0105 z g\xF3ry nuty (w milisekundach)"},waveformThickness:{title:"Grubo\u015B\u0107 lini fal (px)",description:"Jak grube s\u0105 linie fal d\u017Awi\u0119kowych"},waveformSampleSize:{title:"Rozmiar pr\xF3bki fali",description:"Jak szczeg\xF3\u0142owe s\u0105 linei fal d\u017Awi\u0119kowcyh (Uwaga: wysokie warto\u015Bci mog\u0105 pogorszy\u0107 wydajno\u015B\u0107)"},waveformAmplifier:{title:"Wzmacniasz fal",description:"Jak '\u017Cywe' s\u0105 fale. Kontroluje ich amplitud\u0119"},toggleWaveformsRendering:{title:"W\u0142\u0105cz rysowanie fal",description:"W\u0142\u0105cz rysowanie fal d\u017Awi\u0119kowych (16-tu kolorowych linii z ty\u0142u)"},toggleNotesRendering:{title:"W\u0142\u0105cz rysowanie nut",description:"W\u0142\u0105cz rysowanie spadaj\u0105cych nut podczas odtwarzania pliku MIDI"},toggleDrawingActiveNotes:{title:"W\u0142\u0105cz rysowanie aktywnych nut",description:"W\u0142\u0105cz efekt pod\u015Bwietlania si\u0119 nut przy aktywacji"},toggleDrawingVisualPitch:{title:"W\u0142\u0105cz wizualizacj\u0119 wysoko\u015Bci tonu",description:"W\u0142\u0105cz przesuwanie nut w lewo lub w prawo gdy wysoko\u015B\u0107 nut jest zmieniana"},toggleStabilizeWaveforms:{title:"W\u0142\u0105cz stabilizacj\u0119 fal",description:"W\u0142\u0105cz stabilizowanie fal d\u017Awi\u0119kowych"}};var Bw={title:"Ustawienia pianina",selectedChannel:{title:"Wybrany kana\u0142",description:"Kana\u0142, do kt\xF3rego b\u0119dzie pod\u0142\u0105czone pianino",channelOption:"Kana\u0142 {0}"},keyboardSize:{title:"Rozmiar pianina",description:"Zakres klawiszy widocznych na pianine. Dostosowuje r\xF3wnie\u017C szeroko\u015B\u0107 wizualizowanych nut",full:"128 klawiszy (pe\u0142en zakres)",piano:"88 klawiszy (fortepian)",fiveOctaves:"5 oktaw",twoOctaves:"Dwie oktawy",useSongKeyRange:"U\u017Cyj zakresu utworu"},toggleTheme:{title:"W\u0142\u0105cz ciemny motyw",description:"W\u0142\u0105cz ciemny motyw wbudowanego pianina"},show:{title:"Poka\u017C",description:"Poka\u017C/ukryj pianino"}};var pw={title:"Ustawienia MIDI",midiInput:{title:"Wej\u015Bcie MIDI",description:"Port MIDI, kt\xF3ry b\u0119dzie nas\u0142uchiwany",disabled:"Wy\u0142\u0105czony"},midiOutput:{title:"Wyj\u015Bcie MIDI",description:"Port MIDI, do kt\xF3rego b\u0119dzie grany utw\xF3r",disabled:"U\u017Cyj SpessaSynth"}};var Qw={toggleButton:"Ustawienia",mainTitle:"Ustawienia programu",rendererSettings:Cw,keyboardSettings:Bw,midiSettings:pw,interfaceSettings:{title:"Ustawienia interfejsu",toggleTheme:{title:"W\u0142\u0105cz ciemny motyw",description:"W\u0142\u0105cz ciemny motyw programu"},selectLanguage:{title:"J\u0119zyk",description:"Zmie\u0144 j\u0119zyk programu"},layoutDirection:{title:"Uk\u0142ad",description:"Kierunek uk\u0142adu wizualizacji i pianina",values:{downwards:"W d\xF3\u0142",upwards:"W g\xF3r\u0119",leftToRight:"Od lewej do prawej",rightToLeft:"Od prawej do lewej"}}}};var yw={toggleButton:{title:"Prze\u0142\u0105cz tryb odtwarzania muzyki",description:"Prze\u0142\u0105cz uproszczon\u0105 wersj\u0119 interfejsu, ukrywaj\u0105c pianino i wizualizacj\u0119 nut"},currentlyPlaying:"Teraz gramy:",nothingPlaying:"Nic teraz nie gra",nothingPlayingCopyright:"Wgraj jakie\u015B MIDI!"};var ww={voiceMeter:{title:"D\u017Awi\u0119ki: ",description:"Aktualna ilo\u015B\u0107 d\u017Awi\u0119k\xF3w na kanale {0}"},pitchBendMeter:{title:"Wysoko\u015B\u0107: ",description:"Aktualna wysoko\u015B\u0107 tonu na kanale {0}"},panMeter:{title:"Stereo: ",description:"Aktualny efekt stereo na kanale {0} (kliknij prawym aby zablokowa\u0107)"},expressionMeter:{title:"Ekspresja: ",description:"Aktualna ekspresja (g\u0142o\u015Bno\u015Bc) kana\u0142u {0} (kliknij prawym aby zablokowa\u0107)"},volumeMeter:{title:"G\u0142o\u015Bno\u015B\u0107: ",description:"Aktualna g\u0142o\u015Bno\u015B\u0107 kana\u0142u {0} (kliknij prawym aby zablokowa\u0107)"},modulationWheelMeter:{title:"Modulacja: ",description:"Aktualna g\u0142\u0119boko\u015B\u0107 modulacji (zazwyczaj vibrato) kana\u0142u {0} (kliknij prawym aby zablokowa\u0107)"},chorusMeter:{title:"Ch\xF3r: ",description:"Aktualny efekt ch\xF3ru na kanale {0} (kliknij prawym aby zablokowa\u0107)"},reverbMeter:{title:"Pog\u0142os: ",description:"Aktualny efekt pog\u0142osu na kanale {0} (kliknij prawym aby zablokowa\u0107)"},filterMeter:{title:"Filtr: ",description:"Aktualny poziom filtra niskopasmowego na kanale {0} (kliknij prawym aby zablokowa\u0107)"},transposeMeter:{title:"Transpozycja: ",description:"Aktualna transpozycja (przesuni\u0119cie klawiszy) kana\u0142u {0}"},presetSelector:{description:"Zmie\u0144 patch (instrument), kt\xF3rego u\u017Cywa kana\u0142 {0}",selectionPrompt:"Zmie\u0144 instrument kana\u0142u {0}",searchPrompt:"Wyszukaj..."},presetReset:{description:"Odblokuj kana\u0142 {0}, aby program m\xF3g\u0142 go zmienia\u0107"},soloButton:{description:"Solo na kanale {0}"},muteButton:{description:"Wycisz/odcisz kana\u0142 {0}"},drumToggleButton:{description:"Prze\u0142\u0105cz perkusj\u0119 na kanale {0}"}};var kw={toggleButton:{title:"Kontroler syntezatora",description:"Poka\u017C kontroler syntezatora"},mainVoiceMeter:{title:"D\u017Awi\u0119ki: ",description:"Ca\u0142kowita ilo\u015B\u0107 aktualnie odtwarzanych d\u017Awi\u0119k\xF3w"},mainVolumeMeter:{title:"G\u0142o\u015Bno\u015B\u0107: ",description:"Aktualna g\u0142o\u015Bno\u015B\u0107 syntezatora"},mainPanMeter:{title:"Stereo: ",description:"Aktualna pozycja stereo syntezatora"},mainTransposeMeter:{title:"Transpozycja: ",description:"Transpozycjonuje syntezator (w semitonach)"},midiPanic:{title:"MIDI Panic",description:"Zatrzymuje wszystkie d\u017Awi\u0119ki"},systemReset:{title:"Reset systemu",description:"Resetuje wszystkie kontroleru do ich domy\u015Blnych warto\u015Bci"},blackMidiMode:{title:"Tryb black MIDI",description:"Prze\u0142\u0105cza tryb wysokiej wydajno\u015Bci, upraszczaj\u0105c wygl\u0105d i pogarszaj\u0105c jako\u015B\u0107 d\u017Awi\u0119ku"},disableCustomVibrato:{title:"Wy\u0142\u0105cz niestandardowe vibrato",description:"Wy\u0142\u0105cza niestandardowe (NRPN) vibrato. Wymaga prze\u0142adowania strony aby je ponownie w\u0142\u0105czy\u0107"},helpButton:{title:"Pomoc",description:"Poka\u017C instrukcj\u0119 obs\u0142ugi"},interpolation:{description:"Wybierz metod\u0119 interpolacji",linear:"Interpolacja liniowa",nearestNeighbor:"Najbli\u017Cszy s\u0105siad",cubic:"Interpolacja Sze\u015Bcienna"},channelController:ww};var vw={previousSong:"Poprzedni utw\xF3r",nextSong:"Nast\u0119pny utw\xF3r",loopThis:"Odtwarzaj w p\u0119tli",playPause:"Odtw\xF3rz/wstrzymaj",lyrics:{show:"Poka\u017C tekst",title:"Odczytany tekst",noLyrics:"Brak dost\u0119pnego tekstu...",otherText:{title:"Inny tekst"}}};var Sw={button:{title:"Zapisz",description:"Zapisz w r\xF3\u017Cnych formatach"},formats:{title:"Wybierz format",formats:{wav:{button:{title:"Audio WAV (.wav)",description:"Eksportuj utw\xF3r ze zmianami jako plik audio .wav"},options:{title:"Opcje eksportu audio",confirm:"Eksportuj",normalizeVolume:{title:"Normalizuj g\u0142o\u015Bno\u015B\u0107",description:"Eksportuj audio z tak\u0105 sam\u0105 g\u0142o\u015Bno\u015Bci\u0105, niezale\u017Cnie od g\u0142o\u015Bno\u015Bci MIDI."},additionalTime:{title:"Dodatkowy czas (s)",description:"Dodatkowy czas na ko\u0144cu utworu aby pozwoli\u0107 na wyciszenie si\u0119 d\u017Awi\u0119ku. (sekundy)"},separateChannels:{title:"Rozdziel kana\u0142y",description:"Zapisz ka\u017Cdy kana\u0142 w osobnym pliuku. Przydatne dla rzeczy jak widok oscyloskopowy. Nale\u017Cy pami\u0119ta\u0107 \u017Ce to wy\u0142\u0105cza ekfet pog\u0142osu i ch\xF3ru",saving:{title:"Pliki audio kana\u0142\xF3w",save:"Zapisz kana\u0142 {0}"}},loopCount:{title:"Ilo\u015B\u0107 p\u0119tli",description:"Ilo\u015B\u0107 razy zap\u0119tlenia utworu"}},exportMessage:{message:"Eksportowanie audio...",estimated:"Pozosta\u0142o:",convertWav:"Konwertowanie do wav..."}},midi:{button:{title:"MIDI (.mid)",description:"Eksportuj plik MIDI wraz ze zmianami instrument\xF3w i kontroler\xF3w"}},soundfont:{button:{title:"SoundFont (.sf2)",description:"Eksportuj SoundFont"},options:{title:"Opcje eksportu soundfonta",confirm:"Eksportuj",trim:{title:"Zmniejsz",description:"Zmniejsz SoundFont aby zawiera\u0142 tylko klawisze u\u017Cyte w MIDI"},compress:{title:"Kompresuj",description:"Zkompresuj pr\xF3bki kt\xF3re nie s\u0105 zkompresowane przy u\u017Cyciu stratnego kodeka Ogg Vorbis. Znacznie zmniejsza rozmiar pliku.Je\u015Bli soundfont by\u0142 ju\u017C skompresowany, nie zostanie zdekompresowany nawet gdy ta opcja jest wy\u0142\u0105czona"},quality:{title:"Jako\u015B\u0107 kompresji",description:"Jako\u015B\u0107 skompresowanych pr\xF3bek. Im wy\u017Csza tym lepsza"}}},rmidi:{button:{title:"Osadzone MIDI (.rmi)",description:"Eksportuj zmodyfikowane MIDI wraz ze zmniejszonym soundfontem jako jeden plik. Uwaga: ten format nie jest szeroko wspierany"},progress:{title:"Exportowanie osadzonego MIDI...",loading:"Wczytywanie soundfonta i MIDI...",modifyingMIDI:"Modyfikowanie MIDI...",modifyingSoundfont:"Zmniejszanie Soundfonta...",saving:"Zapisywanie RMIDI...",done:"Gotowe!"},options:{title:"Opcje eksportu RMIDI",confirm:"Eksportuj",compress:{title:"Kompresuj",description:"Skompresuj osadzonego soundfonta za pomoc\u0105 stratnego kodeka Ogg Vorbis. Znacznie zmniejsza rozmiar pliku. Zalecane."},quality:{title:"Jako\u015B\u0107 kompresji",description:"Jako\u015B\u0107 skompresowanych pr\xF3bek. Im wy\u017Csza tym lepsza"},bankOffset:{title:"Przesuni\u0119cie banku",description:"Przesuni\u0119cie banku w pliku. Zalecane 0. Zmie\u0144 tylko je\u015Bli wiesz co robisz."},adjust:{title:"Dostosuj MIDI",description:"Dostosuj MIDI do SoundFonta. Pozostaw w\u0142\u0105czone, chyba \u017Ce wiesz co robisz."}}}},metadata:{songTitle:{title:"Tytu\u0142:",description:"Tytu\u0142 utworu"},album:{title:"Album:",description:"Album utworu"},artist:{title:"Tw\xF3rca:",description:"Tw\xF3rca utworu"},albumCover:{title:"Ok\u0142adka albumu:",description:"Ok\u0142adka albumu utworu"},creationDate:{title:"Stworzono:",description:"Data stworzenia utworu"},genre:{title:"Gatunek:",description:"Gatunek utworu"},comment:{title:"Komentarz:",description:"Komentarz do utworu"},duration:{title:"Czas trwania:",description:"Czas trwania utworu"}}}};var bw={localeName:"Polski",titleMessage:"SpessaSynth: JavaScriptowy Syntezator SoundFont2",demoTitleMessage:"SpessaSynth: JavaScriptowy Syntezator SoundFont2 Wersja Demo",synthInit:{genericLoading:"Wczytywanie...",loadingSoundfont:"Wczytywanie SoundFonta...",loadingBundledSoundfont:"Wczytywanie wbudowanego SoundFonta...",startingSynthesizer:"Uruchamianie syntezatora...",savingSoundfont:"Zapisywanie SoundFonta do przegl\u0105darki...",noWebAudio:"Twoja przegl\u0105darka nie wspiera Web Audio.",done:"Gotowe!"},midiUploadButton:"Wgraj Twoje pliki MIDI",midiRenderButton:{title:"Eksportuj audio",description:"Zapisz audio do pliku WAV lub MIDI"},exportAudio:Sw,yes:"Tak",no:"Nie",demoSoundfontUploadButton:"Wgraj SoundFonta",demoGithubPage:"Strona projektu",demoSongButton:"Piosenka demo",credits:"Tw\xF3rcy",dropPrompt:"Upu\u015B\u0107 pliki tutaj...",warnings:{outOfMemory:"Twojej przegl\u0105darce sko\u0144czy\u0142a si\u0119 pami\u0119\u0107. Rozwa\u017C u\u017Cycie Firefoxa albo plik\xF3w SF3. (Zobacz b\u0142\u0105d w konsoli)",noMidiSupport:"Nie wykryto MIDI. Korzystanie z port\xF3w MIDI nie b\u0119dzie dost\u0119pne.",chromeMobile:"SpessaSynth dzia\u0142a wolno na Chromie na telefon. Rozwa\u017C u\u017Cycie Firefoxa Android.",warning:"Uwaga"},hideTopBar:{title:"Ukryj g\xF3rny pasek",description:"Ukryj pasek tytu\u0142owy w celu poprawy widoczno\u015Bci na pionowych ekranach"},convertDls:{title:"Konwersja DLS",message:"Wygl\u0105da na to, \u017Ce wgra\u0142e\u015B plik DLS. Czy chcesz przekonwertowa\u0107 go do SF2?"},musicPlayerMode:yw,settings:Qw,synthesizerController:kw,sequencerController:vw};var Dw={title:"\u30EC\u30F3\u30C0\u30E9\u30FC\u8A2D\u5B9A",noteFallingTime:{title:"\u30CE\u30FC\u30C8\u306E\u843D\u4E0B\u6642\u9593\uFF08\u30DF\u30EA\u79D2\uFF09",description:"\u30CE\u30FC\u30C8\u304C\u843D\u3061\u308B\u901F\u3055\uFF08\u8996\u899A\u7684\u306B\uFF09"},waveformThickness:{title:"\u6CE2\u5F62\u306E\u7DDA\u306E\u592A\u3055\uFF08\u30D4\u30AF\u30BB\u30EB\uFF09",description:"\u6CE2\u5F62\u306E\u7DDA\u306E\u592A\u3055"},waveformSampleSize:{title:"\u6CE2\u5F62\u306E\u30B5\u30F3\u30D7\u30EB\u30B5\u30A4\u30BA",description:"\u6CE2\u5F62\u306E\u8A73\u7D30\u5EA6\uFF08\u6CE8\uFF1A\u9AD8\u3044\u5024\u306F\u30D1\u30D5\u30A9\u30FC\u30DE\u30F3\u30B9\u306B\u5F71\u97FF\u3092\u4E0E\u3048\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\uFF09"},waveformAmplifier:{title:"\u6CE2\u5F62\u306E\u5897\u5E45\u5668",description:"\u6CE2\u5F62\u306E\u9BAE\u3084\u304B\u3055"},toggleWaveformsRendering:{title:"\u6CE2\u5F62\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u306E\u5207\u308A\u66FF\u3048",description:"\u30C1\u30E3\u30F3\u30CD\u30EB\u6CE2\u5F62\u306E\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u3092\u5207\u308A\u66FF\u3048\u307E\u3059\uFF08\u30AA\u30FC\u30C7\u30A3\u30AA\u3092\u8868\u793A\u3059\u308B\u30AB\u30E9\u30D5\u30EB\u306A\u7DDA\uFF09"},toggleNotesRendering:{title:"\u30CE\u30FC\u30C8\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u306E\u5207\u308A\u66FF\u3048",description:"MIDI\u30D5\u30A1\u30A4\u30EB\u3092\u518D\u751F\u3059\u308B\u969B\u306E\u843D\u4E0B\u30CE\u30FC\u30C8\u306E\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},toggleDrawingActiveNotes:{title:"\u30A2\u30AF\u30C6\u30A3\u30D6\u30CE\u30FC\u30C8\u306E\u63CF\u753B\u3092\u5207\u308A\u66FF\u3048",description:"\u30CE\u30FC\u30C8\u304C\u62BC\u3055\u308C\u305F\u3068\u304D\u306B\u5149\u308A\u8F1D\u304F\u63CF\u753B\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},toggleDrawingVisualPitch:{title:"\u30D3\u30B8\u30E5\u30A2\u30EB\u30D4\u30C3\u30C1\u63CF\u753B\u306E\u5207\u308A\u66FF\u3048",description:"\u30D4\u30C3\u30C1\u30DB\u30A4\u30FC\u30EB\u304C\u9069\u7528\u3055\u308C\u305F\u3068\u304D\u306B\u30CE\u30FC\u30C8\u304C\u5DE6\u53F3\u306B\u30B9\u30E9\u30A4\u30C9\u3059\u308B\u63CF\u753B\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},toggleStabilizeWaveforms:{title:"\u6CE2\u5F62\u3092\u5B89\u5B9A\u3055\u305B\u308B",description:"\u30AA\u30FC\u30C7\u30A3\u30AA\u6CE2\u5F62\u3092\u5B89\u5B9A\u3055\u305B\u308B\u8A2D\u5B9A\u3092\u5207\u308A\u66FF\u3048\u3001\u6CE2\u5F62\u3092\u56FA\u5B9A\u3057\u307E\u3059\u3002"}};var _w={title:"\u30AD\u30FC\u30DC\u30FC\u30C9\u8A2D\u5B9A",selectedChannel:{title:"\u9078\u629E\u3055\u308C\u305F\u30C1\u30E3\u30F3\u30CD\u30EB",description:"\u30AD\u30FC\u30DC\u30FC\u30C9\u304C\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u9001\u4FE1\u3059\u308B\u30C1\u30E3\u30F3\u30CD\u30EB",channelOption:"\u30C1\u30E3\u30F3\u30CD\u30EB {0}"},keyboardSize:{title:"\u30AD\u30FC\u30DC\u30FC\u30C9\u30B5\u30A4\u30BA",description:"\u30AD\u30FC\u30DC\u30FC\u30C9\u306B\u8868\u793A\u3055\u308C\u308B\u30AD\u30FC\u306E\u7BC4\u56F2\u3002MIDI\u30CE\u30FC\u30C8\u306E\u30B5\u30A4\u30BA\u306B\u5FDC\u3058\u3066\u8ABF\u6574\u3055\u308C\u307E\u3059",full:"128\u30AD\u30FC\uFF08\u5168\u4F53\uFF09",piano:"88\u30AD\u30FC\uFF08\u30D4\u30A2\u30CE\uFF09",fiveOctaves:"5\u30AA\u30AF\u30BF\u30FC\u30D6",useSongKeyRange:"\u66F2\u306E\u30AD\u30FC\u7BC4\u56F2\u3092\u4F7F\u7528",twoOctaves:"\u30AA\u30AF\u30BF\u30FC\u30D6"},toggleTheme:{title:"\u30C6\u30FC\u30DE\u3092\u5207\u308A\u66FF\u3048",description:"\u30AD\u30FC\u30DC\u30FC\u30C9\u306E\u30C6\u30FC\u30DE\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},show:{title:"\u8868\u793A",description:"MIDI\u30AD\u30FC\u30DC\u30FC\u30C9\u3092\u8868\u793A/\u975E\u8868\u793A"}};var xw={title:"MIDI\u8A2D\u5B9A",midiInput:{title:"MIDI\u5165\u529B",description:"MIDI\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u53D7\u4FE1\u3059\u308B\u30DD\u30FC\u30C8",disabled:"\u7121\u52B9"},midiOutput:{title:"MIDI\u51FA\u529B",description:"MIDI\u30D5\u30A1\u30A4\u30EB\u3092\u518D\u751F\u3059\u308B\u30DD\u30FC\u30C8",disabled:"SpessaSynth\u3092\u4F7F\u7528"}};var Rw={toggleButton:"\u8A2D\u5B9A",mainTitle:"\u30D7\u30ED\u30B0\u30E9\u30E0\u8A2D\u5B9A",rendererSettings:Dw,keyboardSettings:_w,midiSettings:xw,interfaceSettings:{title:"\u30A4\u30F3\u30BF\u30FC\u30D5\u30A7\u30FC\u30B9\u8A2D\u5B9A",toggleTheme:{title:"\u30C6\u30FC\u30DE\u3092\u5207\u308A\u66FF\u3048",description:"\u30D7\u30ED\u30B0\u30E9\u30E0\u306E\u30C6\u30FC\u30DE\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},selectLanguage:{title:"\u8A00\u8A9E",description:"\u30D7\u30ED\u30B0\u30E9\u30E0\u306E\u8A00\u8A9E\u3092\u5909\u66F4\u3057\u307E\u3059"},layoutDirection:{title:"\u30EC\u30A4\u30A2\u30A6\u30C8\u306E\u65B9\u5411",description:"\u30EC\u30F3\u30C0\u30E9\u30FC\u3068\u30AD\u30FC\u30DC\u30FC\u30C9\u306E\u30EC\u30A4\u30A2\u30A6\u30C8\u65B9\u5411",values:{downwards:"\u4E0B\u5411\u304D",upwards:"\u4E0A\u5411\u304D",leftToRight:"\u5DE6\u304B\u3089\u53F3",rightToLeft:"\u53F3\u304B\u3089\u5DE6"}}}};var Lw={toggleButton:{title:"\u97F3\u697D\u30D7\u30EC\u30A4\u30E4\u30FC\u30E2\u30FC\u30C9\u306E\u5207\u308A\u66FF\u3048",description:"\u7C21\u7565\u5316\u3055\u308C\u305FUI\u30D0\u30FC\u30B8\u30E7\u30F3\u306B\u5207\u308A\u66FF\u3048\u3001\u30AD\u30FC\u30DC\u30FC\u30C9\u3068\u30CE\u30FC\u30C8\u306E\u8996\u899A\u5316\u3092\u96A0\u3057\u307E\u3059"},currentlyPlaying:"\u518D\u751F\u4E2D:",nothingPlaying:"\u518D\u751F\u3057\u3066\u3044\u308B\u3082\u306E\u306F\u3042\u308A\u307E\u305B\u3093",nothingPlayingCopyright:"MIDI\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u3057\u3066\u304F\u3060\u3055\u3044\uFF01"};var Fw={voiceMeter:{title:"\u30DC\u30A4\u30B9: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u3067\u518D\u751F\u4E2D\u306E\u30DC\u30A4\u30B9\u306E\u73FE\u5728\u306E\u6570"},pitchBendMeter:{title:"\u30D4\u30C3\u30C1: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u73FE\u5728\u306E\u30D4\u30C3\u30C1\u30D9\u30F3\u30C9"},panMeter:{title:"\u30D1\u30F3: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u73FE\u5728\u306E\u30B9\u30C6\u30EC\u30AA\u30D1\u30F3\u30CB\u30F3\u30B0\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},expressionMeter:{title:"\u30A8\u30AF\u30B9\u30D7\u30EC\u30C3\u30B7\u30E7\u30F3: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u73FE\u5728\u306E\u8868\u73FE\uFF08\u97F3\u91CF\uFF09\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},volumeMeter:{title:"\u30DC\u30EA\u30E5\u30FC\u30E0: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u73FE\u5728\u306E\u97F3\u91CF\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},modulationWheelMeter:{title:"\u30E2\u30B8\u30E5\u30EC\u30FC\u30B7\u30E7\u30F3\u30DB\u30A4\u30FC\u30EB: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u73FE\u5728\u306E\u30E2\u30B8\u30E5\u30EC\u30FC\u30B7\u30E7\u30F3\uFF08\u901A\u5E38\u306F\u30D3\u30D6\u30E9\u30FC\u30C8\uFF09\u306E\u6DF1\u3055\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},chorusMeter:{title:"\u30B3\u30FC\u30E9\u30B9: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u73FE\u5728\u306E\u30B3\u30FC\u30E9\u30B9\u30A8\u30D5\u30A7\u30AF\u30C8\u306E\u30EC\u30D9\u30EB\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},reverbMeter:{title:"\u30EA\u30D0\u30FC\u30D6: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u73FE\u5728\u306E\u30EA\u30D0\u30FC\u30D6\u30A8\u30D5\u30A7\u30AF\u30C8\u306E\u30EC\u30D9\u30EB\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},filterMeter:{title:"\u30D5\u30A3\u30EB\u30BF\u30FC: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u30ED\u30FC\u30D1\u30B9\u30D5\u30A3\u30EB\u30BF\u30FC\u306E\u30AB\u30C3\u30C8\u30AA\u30D5\u306E\u73FE\u5728\u306E\u30EC\u30D9\u30EB (\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF)"},transposeMeter:{title:"\u30C8\u30E9\u30F3\u30B9\u30DD\u30FC\u30BA: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u73FE\u5728\u306E\u79FB\u8ABF\uFF08\u30AD\u30FC\u30B7\u30D5\u30C8\uFF09"},presetSelector:{description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u304C\u4F7F\u7528\u3059\u308B\u30D1\u30C3\u30C1\uFF08\u697D\u5668\uFF09\u3092\u5909\u66F4",selectionPrompt:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u697D\u5668\u3092\u5909\u66F4\u3059\u308B",searchPrompt:"\u691C\u7D22..."},presetReset:{description:"\u30D7\u30ED\u30B0\u30E9\u30E0\u5909\u66F4\u3092\u8A31\u53EF\u3059\u308B\u305F\u3081\u306B\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u30ED\u30C3\u30AF\u3092\u89E3\u9664"},soloButton:{description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u3092\u5358\u72EC\u518D\u751F"},muteButton:{description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u3092\u30DF\u30E5\u30FC\u30C8/\u30DF\u30E5\u30FC\u30C8\u89E3\u9664"},drumToggleButton:{description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u3067\u30C9\u30E9\u30E0\u3092\u5207\u308A\u66FF\u3048"}};var Mw={toggleButton:{title:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u30FC",description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u30FC\u3092\u8868\u793A"},mainVoiceMeter:{title:"\u30DC\u30A4\u30B9: ",description:"\u73FE\u5728\u518D\u751F\u4E2D\u306E\u30DC\u30A4\u30B9\u306E\u7DCF\u6570"},mainVolumeMeter:{title:"\u30DC\u30EA\u30E5\u30FC\u30E0: ",description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u306E\u73FE\u5728\u306E\u30DE\u30B9\u30BF\u30FC\u30DC\u30EA\u30E5\u30FC\u30E0"},mainPanMeter:{title:"\u30D1\u30F3: ",description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u306E\u73FE\u5728\u306E\u30DE\u30B9\u30BF\u30FC\u30B9\u30C6\u30EC\u30AA\u30D1\u30F3\u30CB\u30F3\u30B0"},mainTransposeMeter:{title:"\u30C8\u30E9\u30F3\u30B9\u30DD\u30FC\u30BA: ",description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u3092\u79FB\u8ABF\u3057\u307E\u3059\uFF08\u30BB\u30DF\u30C8\u30FC\u30F3\u307E\u305F\u306F\u30AD\u30FC\uFF09"},midiPanic:{title:"MIDI\u30D1\u30CB\u30C3\u30AF",description:"\u3059\u3079\u3066\u306E\u30DC\u30A4\u30B9\u3092\u5373\u5EA7\u306B\u505C\u6B62"},systemReset:{title:"\u30B7\u30B9\u30C6\u30E0\u30EA\u30BB\u30C3\u30C8",description:"\u3059\u3079\u3066\u306E\u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u30FC\u3092\u30C7\u30D5\u30A9\u30EB\u30C8\u5024\u306B\u30EA\u30BB\u30C3\u30C8"},blackMidiMode:{title:"\u30D6\u30E9\u30C3\u30AFMIDI\u30E2\u30FC\u30C9",description:"\u9AD8\u6027\u80FD\u30E2\u30FC\u30C9\u3092\u5207\u308A\u66FF\u3048\u3001\u898B\u305F\u76EE\u3092\u7C21\u7D20\u5316\u3057\u3001\u30CE\u30FC\u30C8\u3092\u901F\u304F\u6D88\u53BB"},disableCustomVibrato:{title:"\u30AB\u30B9\u30BF\u30E0\u30D3\u30D6\u30E9\u30FC\u30C8\u3092\u7121\u52B9\u5316",description:"\u30AB\u30B9\u30BF\u30E0\uFF08NRPN\uFF09\u30D3\u30D6\u30E9\u30FC\u30C8\u3092\u6C38\u4E45\u306B\u7121\u52B9\u5316\u3002\u518D\u5EA6\u6709\u52B9\u5316\u3059\u308B\u306B\u306F\u30A6\u30A7\u30D6\u30B5\u30A4\u30C8\u3092\u30EA\u30ED\u30FC\u30C9"},helpButton:{title:"\u30D8\u30EB\u30D7",description:"\u4F7F\u7528\u30AC\u30A4\u30C9\u3092\u8868\u793A\u3057\u307E\u3059"},interpolation:{description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u306E\u88DC\u9593\u65B9\u6CD5\u3092\u9078\u629E",linear:"\u30EA\u30CB\u30A2",nearestNeighbor:"\u306A\u3057"},channelController:Fw};var Tw={previousSong:"\u524D\u306E\u66F2",nextSong:"\u6B21\u306E\u66F2",loopThis:"\u3053\u306E\u66F2\u3092\u30EB\u30FC\u30D7",playPause:"\u518D\u751F/\u4E00\u6642\u505C\u6B62",lyrics:{show:"\u6B4C\u8A5E\u3092\u8868\u793A",title:"\u30C7\u30B3\u30FC\u30C9\u3055\u308C\u305F\u30C6\u30AD\u30B9\u30C8",noLyrics:"\u6B4C\u8A5E\u304C\u3042\u308A\u307E\u305B\u3093...",otherText:{title:"\u305D\u306E\u4ED6\u306E\u30C6\u30AD\u30B9\u30C8"}}};var Nw={button:{title:"\u97F3\u58F0\u3092\u4FDD\u5B58",description:"\u97F3\u58F0\u3092WAV\u3001MIDI\u3001SF2\u3001\u307E\u305F\u306FRMI\u30D5\u30A1\u30A4\u30EB\u3068\u3057\u3066\u4FDD\u5B58"},formats:{title:"\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u3092\u9078\u629E",formats:{wav:{button:{title:"WAV\u97F3\u58F0 (.wav)",description:"\u5909\u66F4\u3092\u52A0\u3048\u305F\u66F2\u3092.wav\u30AA\u30FC\u30C7\u30A3\u30AA\u30D5\u30A1\u30A4\u30EB\u3068\u3057\u3066\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059"},options:{title:"WAV\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u30AA\u30D7\u30B7\u30E7\u30F3",confirm:"\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",normalizeVolume:{title:"\u97F3\u91CF\u306E\u6B63\u898F\u5316",description:"MIDI\u306E\u97F3\u91CF\u306B\u304B\u304B\u308F\u3089\u305A\u3001\u97F3\u91CF\u3092\u4E00\u5B9A\u306B\u4FDD\u3061\u307E\u3059\u3002\u63A8\u5968\u8A2D\u5B9A\u3067\u3059\u3002"},additionalTime:{title:"\u8FFD\u52A0\u6642\u9593\uFF08\u79D2\uFF09",description:"\u97F3\u304C\u30D5\u30A7\u30FC\u30C9\u30A2\u30A6\u30C8\u3059\u308B\u305F\u3081\u306B\u66F2\u306E\u6700\u5F8C\u306B\u8FFD\u52A0\u3059\u308B\u6642\u9593\u3067\u3059\u3002\uFF08\u79D2\uFF09"},separateChannels:{title:"\u30C1\u30E3\u30F3\u30CD\u30EB\u3092\u5206\u5272",description:"\u5404\u30C1\u30E3\u30F3\u30CD\u30EB\u3092\u5225\u3005\u306E\u30D5\u30A1\u30A4\u30EB\u3068\u3057\u3066\u4FDD\u5B58\u3057\u307E\u3059\u3002\u30AA\u30B7\u30ED\u30B9\u30B3\u30FC\u30D7\u30D3\u30E5\u30FC\u30A2\u306A\u3069\u306B\u4FBF\u5229\u3067\u3059\u3002\u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u4F7F\u7528\u3059\u308B\u3068\u30EA\u30D0\u30FC\u30D6\u3084\u30B3\u30FC\u30E9\u30B9\u304C\u7121\u52B9\u306B\u306A\u308A\u307E\u3059\u3002",saving:{title:"\u30C1\u30E3\u30F3\u30CD\u30EB\u30D5\u30A1\u30A4\u30EB",save:"\u30C1\u30E3\u30F3\u30CD\u30EB{0}\u3092\u4FDD\u5B58"}},loopCount:{title:"\u30EB\u30FC\u30D7\u56DE\u6570",description:"\u66F2\u3092\u30EB\u30FC\u30D7\u3059\u308B\u56DE\u6570"}},exportMessage:{message:"WAV\u97F3\u58F0\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u3066\u3044\u307E\u3059...",estimated:"\u6B8B\u308A\u6642\u9593:",convertWav:"WAV\u306B\u5909\u63DB\u4E2D..."}},midi:{button:{title:"MIDI (.mid)",description:"\u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u30FC\u3068\u697D\u5668\u306E\u5909\u66F4\u304C\u9069\u7528\u3055\u308C\u305FMIDI\u30D5\u30A1\u30A4\u30EB\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059"}},soundfont:{button:{title:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8 (.sf2)",description:"SoundFont2\u30D5\u30A1\u30A4\u30EB\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059"},options:{title:"SF\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u30AA\u30D7\u30B7\u30E7\u30F3",confirm:"\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",trim:{title:"\u30C8\u30EA\u30DF\u30F3\u30B0",description:"MIDI\u30D5\u30A1\u30A4\u30EB\u3067\u4F7F\u7528\u3055\u308C\u3066\u3044\u308B\u697D\u5668\u3068\u30B5\u30F3\u30D7\u30EB\u3060\u3051\u306B\u30C8\u30EA\u30DF\u30F3\u30B0\u3055\u308C\u305F\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059"},compress:{title:"\u5727\u7E2E",description:"\u672A\u5727\u7E2E\u306E\u5834\u5408\u306F\u3001Ogg Vorbis\u306E\u30ED\u30B9\u5727\u7E2E\u3067\u30B5\u30F3\u30D7\u30EB\u3092\u5727\u7E2E\u3057\u307E\u3059\u3002\u30D5\u30A1\u30A4\u30EB\u30B5\u30A4\u30BA\u304C\u5927\u5E45\u306B\u524A\u6E1B\u3055\u308C\u307E\u3059\u3002\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u304C\u3059\u3067\u306B\u5727\u7E2E\u3055\u308C\u3066\u3044\u308B\u5834\u5408\u3001\u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u7121\u52B9\u306B\u3057\u3066\u3082\u518D\u5727\u7E2E\u3055\u308C\u308B\u3053\u3068\u306F\u3042\u308A\u307E\u305B\u3093"},quality:{title:"\u5727\u7E2E\u54C1\u8CEA",description:"\u5727\u7E2E\u306E\u54C1\u8CEA\u3067\u3059\u3002\u9AD8\u3044\u307B\u3069\u826F\u3044\u3067\u3059"}}},rmidi:{button:{title:"\u57CB\u3081\u8FBC\u307FMIDI (.rmi)",description:"\u5909\u66F4\u3055\u308C\u305FMIDI\u3068\u30C8\u30EA\u30DF\u30F3\u30B0\u3055\u308C\u305F\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u30921\u3064\u306E\u30D5\u30A1\u30A4\u30EB\u306B\u57CB\u3081\u8FBC\u3093\u3067\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059\u3002\u3053\u306E\u5F62\u5F0F\u306F\u5E83\u304F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u306A\u3044\u3053\u3068\u306B\u6CE8\u610F\u3057\u3066\u304F\u3060\u3055\u3044"},progress:{title:"\u57CB\u3081\u8FBC\u307E\u308C\u305FMIDI\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u4E2D...",loading:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3068MIDI\u3092\u8AAD\u307F\u8FBC\u307F\u4E2D...",modifyingMIDI:"MIDI\u3092\u4FEE\u6B63\u4E2D...",modifyingSoundfont:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u30C8\u30EA\u30DF\u30F3\u30B0\u4E2D...",saving:"RMIDI\u3092\u4FDD\u5B58\u4E2D...",done:"\u5B8C\u4E86\u3057\u307E\u3057\u305F\uFF01"},options:{title:"RMIDI\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u30AA\u30D7\u30B7\u30E7\u30F3",confirm:"\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",compress:{title:"\u5727\u7E2E",description:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092Ogg Vorbis\u306E\u30ED\u30B9\u5727\u7E2E\u3067\u5727\u7E2E\u3057\u307E\u3059\u3002\u30D5\u30A1\u30A4\u30EB\u30B5\u30A4\u30BA\u304C\u5927\u5E45\u306B\u524A\u6E1B\u3055\u308C\u307E\u3059\u3002\u63A8\u5968\u8A2D\u5B9A\u3067\u3059\u3002"},quality:{title:"\u5727\u7E2E\u54C1\u8CEA",description:"\u5727\u7E2E\u306E\u54C1\u8CEA\u3067\u3059\u3002\u9AD8\u3044\u307B\u3069\u826F\u3044\u3067\u3059\u3002"},bankOffset:{title:"\u30D0\u30F3\u30AF\u30AA\u30D5\u30BB\u30C3\u30C8",description:"\u30D5\u30A1\u30A4\u30EB\u306E\u30D0\u30F3\u30AF\u30AA\u30D5\u30BB\u30C3\u30C8\u3067\u3059\u30020\u306E\u5024\u304C\u63A8\u5968\u3055\u308C\u307E\u3059\u3002\u5909\u66F4\u306F\u614E\u91CD\u306B\u884C\u3063\u3066\u304F\u3060\u3055\u3044\u3002"},adjust:{title:"MIDI\u3092\u8ABF\u6574",description:"MIDI\u30D5\u30A1\u30A4\u30EB\u3092\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u306B\u5408\u308F\u305B\u3066\u8ABF\u6574\u3057\u307E\u3059\u3002\u7279\u5225\u306A\u7406\u7531\u304C\u306A\u3044\u9650\u308A\u3001\u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u30AA\u30F3\u306E\u307E\u307E\u306B\u3057\u3066\u304F\u3060\u3055\u3044\u3002"}}}},metadata:{songTitle:{title:"\u30BF\u30A4\u30C8\u30EB:",description:"\u66F2\u306E\u30BF\u30A4\u30C8\u30EB"},album:{title:"\u30A2\u30EB\u30D0\u30E0:",description:"\u66F2\u306E\u30A2\u30EB\u30D0\u30E0"},artist:{title:"\u30A2\u30FC\u30C6\u30A3\u30B9\u30C8:",description:"\u66F2\u306E\u30A2\u30FC\u30C6\u30A3\u30B9\u30C8"},albumCover:{title:"\u30A2\u30EB\u30D0\u30E0\u30AB\u30D0\u30FC:",description:"\u66F2\u306E\u30A2\u30EB\u30D0\u30E0\u30AB\u30D0\u30FC"},creationDate:{title:"\u4F5C\u6210\u65E5:",description:"\u66F2\u306E\u4F5C\u6210\u65E5"},genre:{title:"\u30B8\u30E3\u30F3\u30EB:",description:"\u66F2\u306E\u30B8\u30E3\u30F3\u30EB"},comment:{title:"\u30B3\u30E1\u30F3\u30C8:",description:"\u66F2\u306E\u30B3\u30E1\u30F3\u30C8"},duration:{title:"\u9577\u3055:",description:"\u66F2\u306E\u9577\u3055"}}}};var Gw={localeName:"\u65E5\u672C\u8A9E",titleMessage:"SpessaSynth: SoundFont2 Javascript \u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC",demoTitleMessage:"SpessaSynth: SoundFont2 Javascript \u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC \u30AA\u30F3\u30E9\u30A4\u30F3\u30C7\u30E2",synthInit:{genericLoading:"\u8AAD\u307F\u8FBC\u307F\u4E2D...",loadingSoundfont:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u8AAD\u307F\u8FBC\u3093\u3067\u3044\u307E\u3059...",loadingBundledSoundfont:"\u30D0\u30F3\u30C9\u30EB\u3055\u308C\u305F\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u8AAD\u307F\u8FBC\u3093\u3067\u3044\u307E\u3059...",startingSynthesizer:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u3092\u8D77\u52D5\u3057\u3066\u3044\u307E\u3059...",savingSoundfont:"\u518D\u5229\u7528\u306E\u305F\u3081\u306B\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u4FDD\u5B58\u3057\u3066\u3044\u307E\u3059...",noWebAudio:"\u304A\u4F7F\u3044\u306E\u30D6\u30E9\u30A6\u30B6\u306FWeb Audio\u3092\u30B5\u30DD\u30FC\u30C8\u3057\u3066\u3044\u307E\u305B\u3093\u3002",done:"\u6E96\u5099\u5B8C\u4E86\uFF01"},midiUploadButton:"MIDI\u30D5\u30A1\u30A4\u30EB\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9",exportAudio:Nw,yes:"\u306F\u3044",no:"\u3044\u3044\u3048",demoSoundfontUploadButton:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9",demoGithubPage:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30DA\u30FC\u30B8",demoSongButton:"\u30C7\u30E2\u30BD\u30F3\u30B0",credits:"\u30AF\u30EA\u30A8\u30A4\u30BF\u30FC",dropPrompt:"\u3053\u3053\u306B\u30D5\u30A1\u30A4\u30EB\u3092\u30C9\u30ED\u30C3\u30D7...",warnings:{noMidiSupport:"\u3053\u306E\u30D6\u30E9\u30A6\u30B6\u306FMIDI\u5165\u529B\u3092\u30B5\u30DD\u30FC\u30C8\u3057\u3066\u3044\u306A\u3044\u305F\u3081\u3001\u3053\u306E\u6A5F\u80FD\u306F\u5229\u7528\u3067\u304D\u307E\u305B\u3093\u3002Chrome\u307E\u305F\u306FFirefox\u3092\u4F7F\u7528\u3059\u308B\u3053\u3068\u3092\u691C\u8A0E\u3057\u3066\u304F\u3060\u3055\u3044\u3002",outOfMemory:`\u30D6\u30E9\u30A6\u30B6\u306E\u30E1\u30E2\u30EA\u304C\u4E0D\u8DB3\u3057\u307E\u3057\u305F\u3002Firefox\u3084SF3\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u306E\u4F7F\u7528\u3092\u691C\u8A0E\u3057\u3066\u304F\u3060\u3055\u3044\u3002 + `;let m0=document.createElement("div");if(m0.classList.add("notification_content"),D)for(let[f1,x]of Object.entries(D))m0.style[f1]=x;o0.appendChild(m0);for(let f1 of r){let x=ow(f1,f);f1.onClick&&(x.onclick=()=>f1.onClick({div:o0,id:E0},x)),m0.appendChild(x)}g?o0.getElementsByClassName("close_btn")[0].onclick=()=>{h7(E0)}:o0.getElementsByClassName("close_btn")[0].style.display="none",setTimeout(()=>{o0.classList.add("drop")},75);let c0=setTimeout(()=>{h7(E0)},l*1e3+75);return document.getElementsByClassName("notification_field")[0].appendChild(o0),MC[E0]={div:o0,timeout:c0},{div:o0,id:E0}}function h7(o){let r=MC[o].div;clearTimeout(MC[o].timeout),r.classList.remove("drop"),setTimeout(()=>r.parentElement.removeChild(r),500),MC[o]=void 0}function Aw(o,r,l){o.createMIDIDeviceHandler().then(g=>{g?(this._createMidiInputHandler(o,l.synth),this._createMidiOutputHandler(o,r)):(xA||Pt(this.locale.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:this.locale.getLocaleString("locale.warnings.noMidiSupport")}]),document.getElementById("midi_settings").style.display="none")})}function aw(o,r){if(o.inputs.length<1)return;let l=this.htmlControls.midi.inputSelector;for(let g of o.inputs){let f=document.createElement("option");f.value=g[0],f.innerText=g[1].name,l.appendChild(f)}l.onchange=()=>{l.value==="-1"?o.disconnectAllDevicesFromSynth():o.connectDeviceToSynth(o.inputs.get(l.value),r),this._saveSettings()}}function $w(o,r){if(!o.outputs){setTimeout(()=>{this._createMidiOutputHandler(o,r)},1e3);return}if(o.outputs.length<1)return;let l=this.htmlControls.midi.outputSelector;for(let g of o.outputs){let f=document.createElement("option");f.value=g[0],f.innerText=g[1].name,l.appendChild(f)}l.onchange=()=>{r.seq&&(l.value==="-1"?o.disconnectSeqFromMIDI(r.seq):o.connectMIDIOutputToSeq(o.outputs.get(l.value),r.seq),this._saveSettings())}}var lw={title:"Renderer settings",noteFallingTime:{title:"Note falling time (miliseconds)",description:"How fast the notes fall (visually)"},waveformThickness:{title:"Waveform line thickness (px)",description:"How thick the waveform lines are"},waveformSampleSize:{title:"Waveform sample size",description:"How detailed the waveforms are (Note: high values might impact performance)"},waveformAmplifier:{title:"Waveform amplifier",description:"How vibrant the waveforms are"},toggleWaveformsRendering:{title:"Enable waveforms rendering",description:"Enable rendering the channel waveforms (colorful lines showing audio)"},toggleNotesRendering:{title:"Enable notes rendering",description:"Enable rendering of the falling notes when playing a MIDI file"},toggleDrawingActiveNotes:{title:"Enable drawing active notes",description:"Enable notes lighting up and glowing when they get pressed"},toggleDrawingVisualPitch:{title:"Enable drawing visual pitch",description:"Enable notes sliding left or right when the pitch wheel is applied"},toggleStabilizeWaveforms:{title:"Stabilize waveforms",description:"Enable oscilloscope triggering"}};var cw={title:"MIDI Keyboard settings",selectedChannel:{title:"Selected channel",description:"The channel keyboard sends messages to",channelOption:"Channel {0}"},keyboardSize:{title:"Keyboard size",description:"The range of keys shown on the keyboard. Adjusts the MIDI note size accordingly",full:"128 keys (full)",piano:"88 keys (piano)",fiveOctaves:"5 octaves",useSongKeyRange:"Use song's key range",twoOctaves:"Two octaves"},toggleTheme:{title:"Use dark theme",description:"Use the dark MIDI keyboard theme"},show:{title:"Show",description:"Show/hide MIDI keyboard"}};var gw={title:"MIDI settings",midiInput:{title:"MIDI input",description:"The port to listen on for MIDI messages",disabled:"Disabled"},midiOutput:{title:"MIDI output",description:"The port to play the MIDI file to",disabled:"Use SpessaSynth"}};var hw={toggleButton:"Settings",mainTitle:"Program settings",rendererSettings:lw,keyboardSettings:cw,midiSettings:gw,interfaceSettings:{title:"Interface settings",toggleTheme:{title:"Use dark theme",description:"Enable the dark theme for the interface"},selectLanguage:{title:"Language",description:"Change the program language"},layoutDirection:{title:"Layout direction",description:"The layout direction of the renderer and keyboard",values:{downwards:"Downwards",upwards:"Upwards",leftToRight:"Left to right",rightToLeft:"Right to left"}}}};var uw={toggleButton:{title:"Toggle music player mode",description:"Toggle the simplified UI version, hiding the keyboard and note visualizations"},currentlyPlaying:"Currently playing:",nothingPlaying:"Nothing is playing",nothingPlayingCopyright:"Upload a MIDI!"};var fw={voiceMeter:{title:"Voices: ",description:"The current amount of voices playing on channel {0}"},pitchBendMeter:{title:"Pitch: ",description:"The current pitch bend applied to channel {0}"},panMeter:{title:"Pan: ",description:"The current stereo panning applied to channel {0} (right-click to lock)"},expressionMeter:{title:"Expression: ",description:"The current expression (loudness) of channel {0} (right-click to lock)"},volumeMeter:{title:"Volume: ",description:"The current volume of channel {0} (right-click to lock)"},modulationWheelMeter:{title:"Mod wheel: ",description:"The current modulation (usually vibrato) depth of channel {0} (right-click to lock)"},chorusMeter:{title:"Chorus: ",description:"The current level of chorus effect applied to channel {0} (right-click to lock)"},reverbMeter:{title:"Reverb: ",description:"The current level of reverb effect applied to channel {0} (right-click to lock)"},filterMeter:{title:"Filter: ",description:"The current level of low-pass filter cutoff applied to channel {0} (right-click to lock)"},transposeMeter:{title:"Transpose: ",description:"The current transposition (key shift) of channel {0}"},presetSelector:{description:"Change the patch (instrument) channel {0} is using",selectionPrompt:"Change instrument for channel {0}",searchPrompt:"Search..."},presetReset:{description:"Unlock channel {0} to allow program changes"},soloButton:{description:"Solo on channel {0}"},muteButton:{description:"Mute/unmute channel {0}"},drumToggleButton:{description:"Toggle drums on channel {0}"}};var dw={toggleButton:{title:"Synthesizer controller",description:"Show the synthesizer controller"},mainVoiceMeter:{title:"Voices: ",description:"The total amount of voices currently playing"},mainVolumeMeter:{title:"Volume: ",description:"The current master volume of the synthesizer"},mainPanMeter:{title:"Pan: ",description:"The current master stereo panning of the synthesizer"},mainTransposeMeter:{title:"Transpose: ",description:"Transposes the synthesizer (in semitones or keys)"},midiPanic:{title:"MIDI Panic",description:"Stops all voices immediately"},systemReset:{title:"System reset",description:"Resets all controllers to their default values"},blackMidiMode:{title:"Black MIDI mode",description:"Toggles the High Performance Mode, simplifying the look and killing the notes faster"},disableCustomVibrato:{title:"Disable custom vibrato",description:"Disables the custom (NRPN) Vibrato permamently. Reload the website to reenable it"},helpButton:{title:"Help",description:"Opens an external website with the usage guide"},interpolation:{description:"Select the synthesizer's interpolation method",linear:"Linear Interpolation",nearestNeighbor:"Nearest neighbor",cubic:"Cubic Interpolation"},channelController:fw};var Iw={previousSong:"Previous song",nextSong:"Next song",loopThis:"Loop this song",playPause:"Play/pause",lyrics:{show:"Show lyrics",title:"Decoded text",noLyrics:"No lyrics available...",otherText:{title:"Other text"}}};var Ew={button:{title:"Save Audio",description:"Save the composition to various formats"},formats:{title:"Choose format",formats:{wav:{button:{title:"WAV audio (.wav)",description:"Export the song with modifications as a .wav audio file"},options:{title:"WAV export options",confirm:"Export",normalizeVolume:{title:"Normalize volume",description:"Keep the volume at the same level, no matter how loud or quiet the MIDI is. Recommended."},additionalTime:{title:"Additional time (s)",description:"Additional time at the end of the song to allow for the sound to fade. (seconds)"},separateChannels:{title:"Separate channels",description:"Save each channel as a separate file. Useful for things like oscilloscope viewers. Note that this disables reverb and chorus.",saving:{title:"Channel files",save:"Save channel {0}"}},loopCount:{title:"Loop count",description:"The amount of times to loop the song"}},exportMessage:{message:"Exporting WAV audio...",estimated:"Remaining:",convertWav:"Converting to wav..."}},midi:{button:{title:"MIDI (.mid)",description:"Export the MIDI file with the controller and instrument changes applied"}},soundfont:{button:{title:"SoundFont (.sf2)",description:"Export a SoundFont2 file"},options:{title:"SF export options",confirm:"Export",trim:{title:"Trim",description:"Export the soundfont trimmed to only use instruments and samples that the MIDI file uses"},compress:{title:"Compress",description:"Compress samples with lossy Ogg Vorbis compression if uncompressed. Significantly reduces the file size.If the soundfont was already compressed, it won't be uncompressed even if this option is disabled"},quality:{title:"Compression quality",description:"The quality of compression. Higher is better"}}},rmidi:{button:{title:"Embedded MIDI (.rmi)",description:"Export the modified MIDI with the embedded trimmed soundfont as a single file. Note that this format isn't widely supported"},progress:{title:"Exporting embeded MIDI...",loading:"Loading Soundfont and MIDI...",modifyingMIDI:"Modifying MIDI...",modifyingSoundfont:"Trimming Soundfont...",saving:"Saving RMIDI...",done:"Done!"},options:{title:"RMIDI export options",confirm:"Export",compress:{title:"Compress",description:"Compress the Soundfont with lossy Ogg Vorbis compression. Significantly reduces the file size. Recommended."},quality:{title:"Compression quality",description:"The quality of compression. Higher is better."},bankOffset:{title:"Bank offset",description:"The bank offset of the file. Value of 0 is recommended. Only change if you know what you're doing."},adjust:{title:"Adjust MIDI",description:"Adjusts the MIDI file to the SoundFont. Leave this on unless you know what you're doing."}}}},metadata:{songTitle:{title:"Title:",description:"The song's title"},album:{title:"Album:",description:"The song's album"},artist:{title:"Artist:",description:"The song's artist"},albumCover:{title:"Album cover:",description:"The song's album cover"},creationDate:{title:"Created:",description:"The song's creation date"},genre:{title:"Genre:",description:"The song's genre"},comment:{title:"Comment:",description:"The song's comment"},duration:{title:"Duration:",description:"The song's duration"}}}};var mw={localeName:"English",titleMessage:"SpessaSynth: SoundFont2 Javascript Synthesizer",demoTitleMessage:"SpessaSynth: SoundFont2 Javascript Synthesizer Online Demo",synthInit:{genericLoading:"Loading...",loadingSoundfont:"Loading SoundFont...",loadingBundledSoundfont:"Loading bundled SoundFont...",startingSynthesizer:"Starting Synthesizer...",savingSoundfont:"Saving SoundFont for reuse...",noWebAudio:"Your browser does not support Web Audio.",done:"Ready!"},midiUploadButton:"Upload your MIDI files",exportAudio:Ew,yes:"Yes",no:"No",demoSoundfontUploadButton:"Upload the soundfont",demoGithubPage:"Project's page",demoSongButton:"Demo Song",credits:"Credits",dropPrompt:"Drop files here...",warnings:{outOfMemory:"Your browser ran out of memory. Consider using Firefox or SF3 soundfont instead. (see console for error).",noMidiSupport:"No MIDI ports detected, this functionality will be disabled.",chromeMobile:"SpessaSynth performs poorly on Chrome Mobile. Consider using Firefox Android instead.",warning:"Warning"},hideTopBar:{title:"Hide top bar",description:"Hide the top (title) bar to provide a more seamless experience"},convertDls:{title:"DLS Conversion",message:"Looks like you've uploaded a DLS file. Do you want to convert it to SF2?"},musicPlayerMode:uw,settings:hw,synthesizerController:dw,sequencerController:Iw};var Cw={title:"Ustawienia wizualizacji",noteFallingTime:{title:"Czas spadania nut (ms)",description:"Jak szybko spadaj\u0105 z g\xF3ry nuty (w milisekundach)"},waveformThickness:{title:"Grubo\u015B\u0107 lini fal (px)",description:"Jak grube s\u0105 linie fal d\u017Awi\u0119kowych"},waveformSampleSize:{title:"Rozmiar pr\xF3bki fali",description:"Jak szczeg\xF3\u0142owe s\u0105 linei fal d\u017Awi\u0119kowcyh (Uwaga: wysokie warto\u015Bci mog\u0105 pogorszy\u0107 wydajno\u015B\u0107)"},waveformAmplifier:{title:"Wzmacniasz fal",description:"Jak '\u017Cywe' s\u0105 fale. Kontroluje ich amplitud\u0119"},toggleWaveformsRendering:{title:"W\u0142\u0105cz rysowanie fal",description:"W\u0142\u0105cz rysowanie fal d\u017Awi\u0119kowych (16-tu kolorowych linii z ty\u0142u)"},toggleNotesRendering:{title:"W\u0142\u0105cz rysowanie nut",description:"W\u0142\u0105cz rysowanie spadaj\u0105cych nut podczas odtwarzania pliku MIDI"},toggleDrawingActiveNotes:{title:"W\u0142\u0105cz rysowanie aktywnych nut",description:"W\u0142\u0105cz efekt pod\u015Bwietlania si\u0119 nut przy aktywacji"},toggleDrawingVisualPitch:{title:"W\u0142\u0105cz wizualizacj\u0119 wysoko\u015Bci tonu",description:"W\u0142\u0105cz przesuwanie nut w lewo lub w prawo gdy wysoko\u015B\u0107 nut jest zmieniana"},toggleStabilizeWaveforms:{title:"W\u0142\u0105cz stabilizacj\u0119 fal",description:"W\u0142\u0105cz stabilizowanie fal d\u017Awi\u0119kowych"}};var Bw={title:"Ustawienia pianina",selectedChannel:{title:"Wybrany kana\u0142",description:"Kana\u0142, do kt\xF3rego b\u0119dzie pod\u0142\u0105czone pianino",channelOption:"Kana\u0142 {0}"},keyboardSize:{title:"Rozmiar pianina",description:"Zakres klawiszy widocznych na pianine. Dostosowuje r\xF3wnie\u017C szeroko\u015B\u0107 wizualizowanych nut",full:"128 klawiszy (pe\u0142en zakres)",piano:"88 klawiszy (fortepian)",fiveOctaves:"5 oktaw",twoOctaves:"Dwie oktawy",useSongKeyRange:"U\u017Cyj zakresu utworu"},toggleTheme:{title:"W\u0142\u0105cz ciemny motyw",description:"W\u0142\u0105cz ciemny motyw wbudowanego pianina"},show:{title:"Poka\u017C",description:"Poka\u017C/ukryj pianino"}};var pw={title:"Ustawienia MIDI",midiInput:{title:"Wej\u015Bcie MIDI",description:"Port MIDI, kt\xF3ry b\u0119dzie nas\u0142uchiwany",disabled:"Wy\u0142\u0105czony"},midiOutput:{title:"Wyj\u015Bcie MIDI",description:"Port MIDI, do kt\xF3rego b\u0119dzie grany utw\xF3r",disabled:"U\u017Cyj SpessaSynth"}};var Qw={toggleButton:"Ustawienia",mainTitle:"Ustawienia programu",rendererSettings:Cw,keyboardSettings:Bw,midiSettings:pw,interfaceSettings:{title:"Ustawienia interfejsu",toggleTheme:{title:"W\u0142\u0105cz ciemny motyw",description:"W\u0142\u0105cz ciemny motyw programu"},selectLanguage:{title:"J\u0119zyk",description:"Zmie\u0144 j\u0119zyk programu"},layoutDirection:{title:"Uk\u0142ad",description:"Kierunek uk\u0142adu wizualizacji i pianina",values:{downwards:"W d\xF3\u0142",upwards:"W g\xF3r\u0119",leftToRight:"Od lewej do prawej",rightToLeft:"Od prawej do lewej"}}}};var yw={toggleButton:{title:"Prze\u0142\u0105cz tryb odtwarzania muzyki",description:"Prze\u0142\u0105cz uproszczon\u0105 wersj\u0119 interfejsu, ukrywaj\u0105c pianino i wizualizacj\u0119 nut"},currentlyPlaying:"Teraz gramy:",nothingPlaying:"Nic teraz nie gra",nothingPlayingCopyright:"Wgraj jakie\u015B MIDI!"};var ww={voiceMeter:{title:"D\u017Awi\u0119ki: ",description:"Aktualna ilo\u015B\u0107 d\u017Awi\u0119k\xF3w na kanale {0}"},pitchBendMeter:{title:"Wysoko\u015B\u0107: ",description:"Aktualna wysoko\u015B\u0107 tonu na kanale {0}"},panMeter:{title:"Stereo: ",description:"Aktualny efekt stereo na kanale {0} (kliknij prawym aby zablokowa\u0107)"},expressionMeter:{title:"Ekspresja: ",description:"Aktualna ekspresja (g\u0142o\u015Bno\u015Bc) kana\u0142u {0} (kliknij prawym aby zablokowa\u0107)"},volumeMeter:{title:"G\u0142o\u015Bno\u015B\u0107: ",description:"Aktualna g\u0142o\u015Bno\u015B\u0107 kana\u0142u {0} (kliknij prawym aby zablokowa\u0107)"},modulationWheelMeter:{title:"Modulacja: ",description:"Aktualna g\u0142\u0119boko\u015B\u0107 modulacji (zazwyczaj vibrato) kana\u0142u {0} (kliknij prawym aby zablokowa\u0107)"},chorusMeter:{title:"Ch\xF3r: ",description:"Aktualny efekt ch\xF3ru na kanale {0} (kliknij prawym aby zablokowa\u0107)"},reverbMeter:{title:"Pog\u0142os: ",description:"Aktualny efekt pog\u0142osu na kanale {0} (kliknij prawym aby zablokowa\u0107)"},filterMeter:{title:"Filtr: ",description:"Aktualny poziom filtra niskopasmowego na kanale {0} (kliknij prawym aby zablokowa\u0107)"},transposeMeter:{title:"Transpozycja: ",description:"Aktualna transpozycja (przesuni\u0119cie klawiszy) kana\u0142u {0}"},presetSelector:{description:"Zmie\u0144 patch (instrument), kt\xF3rego u\u017Cywa kana\u0142 {0}",selectionPrompt:"Zmie\u0144 instrument kana\u0142u {0}",searchPrompt:"Wyszukaj..."},presetReset:{description:"Odblokuj kana\u0142 {0}, aby program m\xF3g\u0142 go zmienia\u0107"},soloButton:{description:"Solo na kanale {0}"},muteButton:{description:"Wycisz/odcisz kana\u0142 {0}"},drumToggleButton:{description:"Prze\u0142\u0105cz perkusj\u0119 na kanale {0}"}};var kw={toggleButton:{title:"Kontroler syntezatora",description:"Poka\u017C kontroler syntezatora"},mainVoiceMeter:{title:"D\u017Awi\u0119ki: ",description:"Ca\u0142kowita ilo\u015B\u0107 aktualnie odtwarzanych d\u017Awi\u0119k\xF3w"},mainVolumeMeter:{title:"G\u0142o\u015Bno\u015B\u0107: ",description:"Aktualna g\u0142o\u015Bno\u015B\u0107 syntezatora"},mainPanMeter:{title:"Stereo: ",description:"Aktualna pozycja stereo syntezatora"},mainTransposeMeter:{title:"Transpozycja: ",description:"Transpozycjonuje syntezator (w semitonach)"},midiPanic:{title:"MIDI Panic",description:"Zatrzymuje wszystkie d\u017Awi\u0119ki"},systemReset:{title:"Reset systemu",description:"Resetuje wszystkie kontroleru do ich domy\u015Blnych warto\u015Bci"},blackMidiMode:{title:"Tryb black MIDI",description:"Prze\u0142\u0105cza tryb wysokiej wydajno\u015Bci, upraszczaj\u0105c wygl\u0105d i pogarszaj\u0105c jako\u015B\u0107 d\u017Awi\u0119ku"},disableCustomVibrato:{title:"Wy\u0142\u0105cz niestandardowe vibrato",description:"Wy\u0142\u0105cza niestandardowe (NRPN) vibrato. Wymaga prze\u0142adowania strony aby je ponownie w\u0142\u0105czy\u0107"},helpButton:{title:"Pomoc",description:"Poka\u017C instrukcj\u0119 obs\u0142ugi"},interpolation:{description:"Wybierz metod\u0119 interpolacji",linear:"Interpolacja liniowa",nearestNeighbor:"Najbli\u017Cszy s\u0105siad",cubic:"Interpolacja Sze\u015Bcienna"},channelController:ww};var vw={previousSong:"Poprzedni utw\xF3r",nextSong:"Nast\u0119pny utw\xF3r",loopThis:"Odtwarzaj w p\u0119tli",playPause:"Odtw\xF3rz/wstrzymaj",lyrics:{show:"Poka\u017C tekst",title:"Odczytany tekst",noLyrics:"Brak dost\u0119pnego tekstu...",otherText:{title:"Inny tekst"}}};var Sw={button:{title:"Zapisz",description:"Zapisz w r\xF3\u017Cnych formatach"},formats:{title:"Wybierz format",formats:{wav:{button:{title:"Audio WAV (.wav)",description:"Eksportuj utw\xF3r ze zmianami jako plik audio .wav"},options:{title:"Opcje eksportu audio",confirm:"Eksportuj",normalizeVolume:{title:"Normalizuj g\u0142o\u015Bno\u015B\u0107",description:"Eksportuj audio z tak\u0105 sam\u0105 g\u0142o\u015Bno\u015Bci\u0105, niezale\u017Cnie od g\u0142o\u015Bno\u015Bci MIDI."},additionalTime:{title:"Dodatkowy czas (s)",description:"Dodatkowy czas na ko\u0144cu utworu aby pozwoli\u0107 na wyciszenie si\u0119 d\u017Awi\u0119ku. (sekundy)"},separateChannels:{title:"Rozdziel kana\u0142y",description:"Zapisz ka\u017Cdy kana\u0142 w osobnym pliuku. Przydatne dla rzeczy jak widok oscyloskopowy. Nale\u017Cy pami\u0119ta\u0107 \u017Ce to wy\u0142\u0105cza ekfet pog\u0142osu i ch\xF3ru",saving:{title:"Pliki audio kana\u0142\xF3w",save:"Zapisz kana\u0142 {0}"}},loopCount:{title:"Ilo\u015B\u0107 p\u0119tli",description:"Ilo\u015B\u0107 razy zap\u0119tlenia utworu"}},exportMessage:{message:"Eksportowanie audio...",estimated:"Pozosta\u0142o:",convertWav:"Konwertowanie do wav..."}},midi:{button:{title:"MIDI (.mid)",description:"Eksportuj plik MIDI wraz ze zmianami instrument\xF3w i kontroler\xF3w"}},soundfont:{button:{title:"SoundFont (.sf2)",description:"Eksportuj SoundFont"},options:{title:"Opcje eksportu soundfonta",confirm:"Eksportuj",trim:{title:"Zmniejsz",description:"Zmniejsz SoundFont aby zawiera\u0142 tylko klawisze u\u017Cyte w MIDI"},compress:{title:"Kompresuj",description:"Zkompresuj pr\xF3bki kt\xF3re nie s\u0105 zkompresowane przy u\u017Cyciu stratnego kodeka Ogg Vorbis. Znacznie zmniejsza rozmiar pliku.Je\u015Bli soundfont by\u0142 ju\u017C skompresowany, nie zostanie zdekompresowany nawet gdy ta opcja jest wy\u0142\u0105czona"},quality:{title:"Jako\u015B\u0107 kompresji",description:"Jako\u015B\u0107 skompresowanych pr\xF3bek. Im wy\u017Csza tym lepsza"}}},rmidi:{button:{title:"Osadzone MIDI (.rmi)",description:"Eksportuj zmodyfikowane MIDI wraz ze zmniejszonym soundfontem jako jeden plik. Uwaga: ten format nie jest szeroko wspierany"},progress:{title:"Exportowanie osadzonego MIDI...",loading:"Wczytywanie soundfonta i MIDI...",modifyingMIDI:"Modyfikowanie MIDI...",modifyingSoundfont:"Zmniejszanie Soundfonta...",saving:"Zapisywanie RMIDI...",done:"Gotowe!"},options:{title:"Opcje eksportu RMIDI",confirm:"Eksportuj",compress:{title:"Kompresuj",description:"Skompresuj osadzonego soundfonta za pomoc\u0105 stratnego kodeka Ogg Vorbis. Znacznie zmniejsza rozmiar pliku. Zalecane."},quality:{title:"Jako\u015B\u0107 kompresji",description:"Jako\u015B\u0107 skompresowanych pr\xF3bek. Im wy\u017Csza tym lepsza"},bankOffset:{title:"Przesuni\u0119cie banku",description:"Przesuni\u0119cie banku w pliku. Zalecane 0. Zmie\u0144 tylko je\u015Bli wiesz co robisz."},adjust:{title:"Dostosuj MIDI",description:"Dostosuj MIDI do SoundFonta. Pozostaw w\u0142\u0105czone, chyba \u017Ce wiesz co robisz."}}}},metadata:{songTitle:{title:"Tytu\u0142:",description:"Tytu\u0142 utworu"},album:{title:"Album:",description:"Album utworu"},artist:{title:"Tw\xF3rca:",description:"Tw\xF3rca utworu"},albumCover:{title:"Ok\u0142adka albumu:",description:"Ok\u0142adka albumu utworu"},creationDate:{title:"Stworzono:",description:"Data stworzenia utworu"},genre:{title:"Gatunek:",description:"Gatunek utworu"},comment:{title:"Komentarz:",description:"Komentarz do utworu"},duration:{title:"Czas trwania:",description:"Czas trwania utworu"}}}};var bw={localeName:"Polski",titleMessage:"SpessaSynth: JavaScriptowy Syntezator SoundFont2",demoTitleMessage:"SpessaSynth: JavaScriptowy Syntezator SoundFont2 Wersja Demo",synthInit:{genericLoading:"Wczytywanie...",loadingSoundfont:"Wczytywanie SoundFonta...",loadingBundledSoundfont:"Wczytywanie wbudowanego SoundFonta...",startingSynthesizer:"Uruchamianie syntezatora...",savingSoundfont:"Zapisywanie SoundFonta do przegl\u0105darki...",noWebAudio:"Twoja przegl\u0105darka nie wspiera Web Audio.",done:"Gotowe!"},midiUploadButton:"Wgraj Twoje pliki MIDI",midiRenderButton:{title:"Eksportuj audio",description:"Zapisz audio do pliku WAV lub MIDI"},exportAudio:Sw,yes:"Tak",no:"Nie",demoSoundfontUploadButton:"Wgraj SoundFonta",demoGithubPage:"Strona projektu",demoSongButton:"Piosenka demo",credits:"Tw\xF3rcy",dropPrompt:"Upu\u015B\u0107 pliki tutaj...",warnings:{outOfMemory:"Twojej przegl\u0105darce sko\u0144czy\u0142a si\u0119 pami\u0119\u0107. Rozwa\u017C u\u017Cycie Firefoxa albo plik\xF3w SF3. (Zobacz b\u0142\u0105d w konsoli)",noMidiSupport:"Nie wykryto MIDI. Korzystanie z port\xF3w MIDI nie b\u0119dzie dost\u0119pne.",chromeMobile:"SpessaSynth dzia\u0142a wolno na Chromie na telefon. Rozwa\u017C u\u017Cycie Firefoxa Android.",warning:"Uwaga"},hideTopBar:{title:"Ukryj g\xF3rny pasek",description:"Ukryj pasek tytu\u0142owy w celu poprawy widoczno\u015Bci na pionowych ekranach"},convertDls:{title:"Konwersja DLS",message:"Wygl\u0105da na to, \u017Ce wgra\u0142e\u015B plik DLS. Czy chcesz przekonwertowa\u0107 go do SF2?"},musicPlayerMode:yw,settings:Qw,synthesizerController:kw,sequencerController:vw};var Dw={title:"\u30EC\u30F3\u30C0\u30E9\u30FC\u8A2D\u5B9A",noteFallingTime:{title:"\u30CE\u30FC\u30C8\u306E\u843D\u4E0B\u6642\u9593\uFF08\u30DF\u30EA\u79D2\uFF09",description:"\u30CE\u30FC\u30C8\u304C\u843D\u3061\u308B\u901F\u3055\uFF08\u8996\u899A\u7684\u306B\uFF09"},waveformThickness:{title:"\u6CE2\u5F62\u306E\u7DDA\u306E\u592A\u3055\uFF08\u30D4\u30AF\u30BB\u30EB\uFF09",description:"\u6CE2\u5F62\u306E\u7DDA\u306E\u592A\u3055"},waveformSampleSize:{title:"\u6CE2\u5F62\u306E\u30B5\u30F3\u30D7\u30EB\u30B5\u30A4\u30BA",description:"\u6CE2\u5F62\u306E\u8A73\u7D30\u5EA6\uFF08\u6CE8\uFF1A\u9AD8\u3044\u5024\u306F\u30D1\u30D5\u30A9\u30FC\u30DE\u30F3\u30B9\u306B\u5F71\u97FF\u3092\u4E0E\u3048\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\uFF09"},waveformAmplifier:{title:"\u6CE2\u5F62\u306E\u5897\u5E45\u5668",description:"\u6CE2\u5F62\u306E\u9BAE\u3084\u304B\u3055"},toggleWaveformsRendering:{title:"\u6CE2\u5F62\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u306E\u5207\u308A\u66FF\u3048",description:"\u30C1\u30E3\u30F3\u30CD\u30EB\u6CE2\u5F62\u306E\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u3092\u5207\u308A\u66FF\u3048\u307E\u3059\uFF08\u30AA\u30FC\u30C7\u30A3\u30AA\u3092\u8868\u793A\u3059\u308B\u30AB\u30E9\u30D5\u30EB\u306A\u7DDA\uFF09"},toggleNotesRendering:{title:"\u30CE\u30FC\u30C8\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u306E\u5207\u308A\u66FF\u3048",description:"MIDI\u30D5\u30A1\u30A4\u30EB\u3092\u518D\u751F\u3059\u308B\u969B\u306E\u843D\u4E0B\u30CE\u30FC\u30C8\u306E\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},toggleDrawingActiveNotes:{title:"\u30A2\u30AF\u30C6\u30A3\u30D6\u30CE\u30FC\u30C8\u306E\u63CF\u753B\u3092\u5207\u308A\u66FF\u3048",description:"\u30CE\u30FC\u30C8\u304C\u62BC\u3055\u308C\u305F\u3068\u304D\u306B\u5149\u308A\u8F1D\u304F\u63CF\u753B\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},toggleDrawingVisualPitch:{title:"\u30D3\u30B8\u30E5\u30A2\u30EB\u30D4\u30C3\u30C1\u63CF\u753B\u306E\u5207\u308A\u66FF\u3048",description:"\u30D4\u30C3\u30C1\u30DB\u30A4\u30FC\u30EB\u304C\u9069\u7528\u3055\u308C\u305F\u3068\u304D\u306B\u30CE\u30FC\u30C8\u304C\u5DE6\u53F3\u306B\u30B9\u30E9\u30A4\u30C9\u3059\u308B\u63CF\u753B\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},toggleStabilizeWaveforms:{title:"\u6CE2\u5F62\u3092\u5B89\u5B9A\u3055\u305B\u308B",description:"\u30AA\u30FC\u30C7\u30A3\u30AA\u6CE2\u5F62\u3092\u5B89\u5B9A\u3055\u305B\u308B\u8A2D\u5B9A\u3092\u5207\u308A\u66FF\u3048\u3001\u6CE2\u5F62\u3092\u56FA\u5B9A\u3057\u307E\u3059\u3002"}};var _w={title:"\u30AD\u30FC\u30DC\u30FC\u30C9\u8A2D\u5B9A",selectedChannel:{title:"\u9078\u629E\u3055\u308C\u305F\u30C1\u30E3\u30F3\u30CD\u30EB",description:"\u30AD\u30FC\u30DC\u30FC\u30C9\u304C\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u9001\u4FE1\u3059\u308B\u30C1\u30E3\u30F3\u30CD\u30EB",channelOption:"\u30C1\u30E3\u30F3\u30CD\u30EB {0}"},keyboardSize:{title:"\u30AD\u30FC\u30DC\u30FC\u30C9\u30B5\u30A4\u30BA",description:"\u30AD\u30FC\u30DC\u30FC\u30C9\u306B\u8868\u793A\u3055\u308C\u308B\u30AD\u30FC\u306E\u7BC4\u56F2\u3002MIDI\u30CE\u30FC\u30C8\u306E\u30B5\u30A4\u30BA\u306B\u5FDC\u3058\u3066\u8ABF\u6574\u3055\u308C\u307E\u3059",full:"128\u30AD\u30FC\uFF08\u5168\u4F53\uFF09",piano:"88\u30AD\u30FC\uFF08\u30D4\u30A2\u30CE\uFF09",fiveOctaves:"5\u30AA\u30AF\u30BF\u30FC\u30D6",useSongKeyRange:"\u66F2\u306E\u30AD\u30FC\u7BC4\u56F2\u3092\u4F7F\u7528",twoOctaves:"\u30AA\u30AF\u30BF\u30FC\u30D6"},toggleTheme:{title:"\u30C6\u30FC\u30DE\u3092\u5207\u308A\u66FF\u3048",description:"\u30AD\u30FC\u30DC\u30FC\u30C9\u306E\u30C6\u30FC\u30DE\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},show:{title:"\u8868\u793A",description:"MIDI\u30AD\u30FC\u30DC\u30FC\u30C9\u3092\u8868\u793A/\u975E\u8868\u793A"}};var xw={title:"MIDI\u8A2D\u5B9A",midiInput:{title:"MIDI\u5165\u529B",description:"MIDI\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u53D7\u4FE1\u3059\u308B\u30DD\u30FC\u30C8",disabled:"\u7121\u52B9"},midiOutput:{title:"MIDI\u51FA\u529B",description:"MIDI\u30D5\u30A1\u30A4\u30EB\u3092\u518D\u751F\u3059\u308B\u30DD\u30FC\u30C8",disabled:"SpessaSynth\u3092\u4F7F\u7528"}};var Rw={toggleButton:"\u8A2D\u5B9A",mainTitle:"\u30D7\u30ED\u30B0\u30E9\u30E0\u8A2D\u5B9A",rendererSettings:Dw,keyboardSettings:_w,midiSettings:xw,interfaceSettings:{title:"\u30A4\u30F3\u30BF\u30FC\u30D5\u30A7\u30FC\u30B9\u8A2D\u5B9A",toggleTheme:{title:"\u30C6\u30FC\u30DE\u3092\u5207\u308A\u66FF\u3048",description:"\u30D7\u30ED\u30B0\u30E9\u30E0\u306E\u30C6\u30FC\u30DE\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},selectLanguage:{title:"\u8A00\u8A9E",description:"\u30D7\u30ED\u30B0\u30E9\u30E0\u306E\u8A00\u8A9E\u3092\u5909\u66F4\u3057\u307E\u3059"},layoutDirection:{title:"\u30EC\u30A4\u30A2\u30A6\u30C8\u306E\u65B9\u5411",description:"\u30EC\u30F3\u30C0\u30E9\u30FC\u3068\u30AD\u30FC\u30DC\u30FC\u30C9\u306E\u30EC\u30A4\u30A2\u30A6\u30C8\u65B9\u5411",values:{downwards:"\u4E0B\u5411\u304D",upwards:"\u4E0A\u5411\u304D",leftToRight:"\u5DE6\u304B\u3089\u53F3",rightToLeft:"\u53F3\u304B\u3089\u5DE6"}}}};var Lw={toggleButton:{title:"\u97F3\u697D\u30D7\u30EC\u30A4\u30E4\u30FC\u30E2\u30FC\u30C9\u306E\u5207\u308A\u66FF\u3048",description:"\u7C21\u7565\u5316\u3055\u308C\u305FUI\u30D0\u30FC\u30B8\u30E7\u30F3\u306B\u5207\u308A\u66FF\u3048\u3001\u30AD\u30FC\u30DC\u30FC\u30C9\u3068\u30CE\u30FC\u30C8\u306E\u8996\u899A\u5316\u3092\u96A0\u3057\u307E\u3059"},currentlyPlaying:"\u518D\u751F\u4E2D:",nothingPlaying:"\u518D\u751F\u3057\u3066\u3044\u308B\u3082\u306E\u306F\u3042\u308A\u307E\u305B\u3093",nothingPlayingCopyright:"MIDI\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u3057\u3066\u304F\u3060\u3055\u3044\uFF01"};var Fw={voiceMeter:{title:"\u30DC\u30A4\u30B9: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u3067\u518D\u751F\u4E2D\u306E\u30DC\u30A4\u30B9\u306E\u73FE\u5728\u306E\u6570"},pitchBendMeter:{title:"\u30D4\u30C3\u30C1: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u73FE\u5728\u306E\u30D4\u30C3\u30C1\u30D9\u30F3\u30C9"},panMeter:{title:"\u30D1\u30F3: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u73FE\u5728\u306E\u30B9\u30C6\u30EC\u30AA\u30D1\u30F3\u30CB\u30F3\u30B0\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},expressionMeter:{title:"\u30A8\u30AF\u30B9\u30D7\u30EC\u30C3\u30B7\u30E7\u30F3: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u73FE\u5728\u306E\u8868\u73FE\uFF08\u97F3\u91CF\uFF09\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},volumeMeter:{title:"\u30DC\u30EA\u30E5\u30FC\u30E0: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u73FE\u5728\u306E\u97F3\u91CF\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},modulationWheelMeter:{title:"\u30E2\u30B8\u30E5\u30EC\u30FC\u30B7\u30E7\u30F3\u30DB\u30A4\u30FC\u30EB: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u73FE\u5728\u306E\u30E2\u30B8\u30E5\u30EC\u30FC\u30B7\u30E7\u30F3\uFF08\u901A\u5E38\u306F\u30D3\u30D6\u30E9\u30FC\u30C8\uFF09\u306E\u6DF1\u3055\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},chorusMeter:{title:"\u30B3\u30FC\u30E9\u30B9: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u73FE\u5728\u306E\u30B3\u30FC\u30E9\u30B9\u30A8\u30D5\u30A7\u30AF\u30C8\u306E\u30EC\u30D9\u30EB\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},reverbMeter:{title:"\u30EA\u30D0\u30FC\u30D6: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u73FE\u5728\u306E\u30EA\u30D0\u30FC\u30D6\u30A8\u30D5\u30A7\u30AF\u30C8\u306E\u30EC\u30D9\u30EB\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},filterMeter:{title:"\u30D5\u30A3\u30EB\u30BF\u30FC: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u30ED\u30FC\u30D1\u30B9\u30D5\u30A3\u30EB\u30BF\u30FC\u306E\u30AB\u30C3\u30C8\u30AA\u30D5\u306E\u73FE\u5728\u306E\u30EC\u30D9\u30EB (\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF)"},transposeMeter:{title:"\u30C8\u30E9\u30F3\u30B9\u30DD\u30FC\u30BA: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u73FE\u5728\u306E\u79FB\u8ABF\uFF08\u30AD\u30FC\u30B7\u30D5\u30C8\uFF09"},presetSelector:{description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u304C\u4F7F\u7528\u3059\u308B\u30D1\u30C3\u30C1\uFF08\u697D\u5668\uFF09\u3092\u5909\u66F4",selectionPrompt:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u697D\u5668\u3092\u5909\u66F4\u3059\u308B",searchPrompt:"\u691C\u7D22..."},presetReset:{description:"\u30D7\u30ED\u30B0\u30E9\u30E0\u5909\u66F4\u3092\u8A31\u53EF\u3059\u308B\u305F\u3081\u306B\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u30ED\u30C3\u30AF\u3092\u89E3\u9664"},soloButton:{description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u3092\u5358\u72EC\u518D\u751F"},muteButton:{description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u3092\u30DF\u30E5\u30FC\u30C8/\u30DF\u30E5\u30FC\u30C8\u89E3\u9664"},drumToggleButton:{description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u3067\u30C9\u30E9\u30E0\u3092\u5207\u308A\u66FF\u3048"}};var Mw={toggleButton:{title:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u30FC",description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u30FC\u3092\u8868\u793A"},mainVoiceMeter:{title:"\u30DC\u30A4\u30B9: ",description:"\u73FE\u5728\u518D\u751F\u4E2D\u306E\u30DC\u30A4\u30B9\u306E\u7DCF\u6570"},mainVolumeMeter:{title:"\u30DC\u30EA\u30E5\u30FC\u30E0: ",description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u306E\u73FE\u5728\u306E\u30DE\u30B9\u30BF\u30FC\u30DC\u30EA\u30E5\u30FC\u30E0"},mainPanMeter:{title:"\u30D1\u30F3: ",description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u306E\u73FE\u5728\u306E\u30DE\u30B9\u30BF\u30FC\u30B9\u30C6\u30EC\u30AA\u30D1\u30F3\u30CB\u30F3\u30B0"},mainTransposeMeter:{title:"\u30C8\u30E9\u30F3\u30B9\u30DD\u30FC\u30BA: ",description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u3092\u79FB\u8ABF\u3057\u307E\u3059\uFF08\u30BB\u30DF\u30C8\u30FC\u30F3\u307E\u305F\u306F\u30AD\u30FC\uFF09"},midiPanic:{title:"MIDI\u30D1\u30CB\u30C3\u30AF",description:"\u3059\u3079\u3066\u306E\u30DC\u30A4\u30B9\u3092\u5373\u5EA7\u306B\u505C\u6B62"},systemReset:{title:"\u30B7\u30B9\u30C6\u30E0\u30EA\u30BB\u30C3\u30C8",description:"\u3059\u3079\u3066\u306E\u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u30FC\u3092\u30C7\u30D5\u30A9\u30EB\u30C8\u5024\u306B\u30EA\u30BB\u30C3\u30C8"},blackMidiMode:{title:"\u30D6\u30E9\u30C3\u30AFMIDI\u30E2\u30FC\u30C9",description:"\u9AD8\u6027\u80FD\u30E2\u30FC\u30C9\u3092\u5207\u308A\u66FF\u3048\u3001\u898B\u305F\u76EE\u3092\u7C21\u7D20\u5316\u3057\u3001\u30CE\u30FC\u30C8\u3092\u901F\u304F\u6D88\u53BB"},disableCustomVibrato:{title:"\u30AB\u30B9\u30BF\u30E0\u30D3\u30D6\u30E9\u30FC\u30C8\u3092\u7121\u52B9\u5316",description:"\u30AB\u30B9\u30BF\u30E0\uFF08NRPN\uFF09\u30D3\u30D6\u30E9\u30FC\u30C8\u3092\u6C38\u4E45\u306B\u7121\u52B9\u5316\u3002\u518D\u5EA6\u6709\u52B9\u5316\u3059\u308B\u306B\u306F\u30A6\u30A7\u30D6\u30B5\u30A4\u30C8\u3092\u30EA\u30ED\u30FC\u30C9"},helpButton:{title:"\u30D8\u30EB\u30D7",description:"\u4F7F\u7528\u30AC\u30A4\u30C9\u3092\u8868\u793A\u3057\u307E\u3059"},interpolation:{description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u306E\u88DC\u9593\u65B9\u6CD5\u3092\u9078\u629E",linear:"\u30EA\u30CB\u30A2",nearestNeighbor:"\u306A\u3057"},channelController:Fw};var Tw={previousSong:"\u524D\u306E\u66F2",nextSong:"\u6B21\u306E\u66F2",loopThis:"\u3053\u306E\u66F2\u3092\u30EB\u30FC\u30D7",playPause:"\u518D\u751F/\u4E00\u6642\u505C\u6B62",lyrics:{show:"\u6B4C\u8A5E\u3092\u8868\u793A",title:"\u30C7\u30B3\u30FC\u30C9\u3055\u308C\u305F\u30C6\u30AD\u30B9\u30C8",noLyrics:"\u6B4C\u8A5E\u304C\u3042\u308A\u307E\u305B\u3093...",otherText:{title:"\u305D\u306E\u4ED6\u306E\u30C6\u30AD\u30B9\u30C8"}}};var Nw={button:{title:"\u97F3\u58F0\u3092\u4FDD\u5B58",description:"\u97F3\u58F0\u3092WAV\u3001MIDI\u3001SF2\u3001\u307E\u305F\u306FRMI\u30D5\u30A1\u30A4\u30EB\u3068\u3057\u3066\u4FDD\u5B58"},formats:{title:"\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u3092\u9078\u629E",formats:{wav:{button:{title:"WAV\u97F3\u58F0 (.wav)",description:"\u5909\u66F4\u3092\u52A0\u3048\u305F\u66F2\u3092.wav\u30AA\u30FC\u30C7\u30A3\u30AA\u30D5\u30A1\u30A4\u30EB\u3068\u3057\u3066\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059"},options:{title:"WAV\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u30AA\u30D7\u30B7\u30E7\u30F3",confirm:"\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",normalizeVolume:{title:"\u97F3\u91CF\u306E\u6B63\u898F\u5316",description:"MIDI\u306E\u97F3\u91CF\u306B\u304B\u304B\u308F\u3089\u305A\u3001\u97F3\u91CF\u3092\u4E00\u5B9A\u306B\u4FDD\u3061\u307E\u3059\u3002\u63A8\u5968\u8A2D\u5B9A\u3067\u3059\u3002"},additionalTime:{title:"\u8FFD\u52A0\u6642\u9593\uFF08\u79D2\uFF09",description:"\u97F3\u304C\u30D5\u30A7\u30FC\u30C9\u30A2\u30A6\u30C8\u3059\u308B\u305F\u3081\u306B\u66F2\u306E\u6700\u5F8C\u306B\u8FFD\u52A0\u3059\u308B\u6642\u9593\u3067\u3059\u3002\uFF08\u79D2\uFF09"},separateChannels:{title:"\u30C1\u30E3\u30F3\u30CD\u30EB\u3092\u5206\u5272",description:"\u5404\u30C1\u30E3\u30F3\u30CD\u30EB\u3092\u5225\u3005\u306E\u30D5\u30A1\u30A4\u30EB\u3068\u3057\u3066\u4FDD\u5B58\u3057\u307E\u3059\u3002\u30AA\u30B7\u30ED\u30B9\u30B3\u30FC\u30D7\u30D3\u30E5\u30FC\u30A2\u306A\u3069\u306B\u4FBF\u5229\u3067\u3059\u3002\u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u4F7F\u7528\u3059\u308B\u3068\u30EA\u30D0\u30FC\u30D6\u3084\u30B3\u30FC\u30E9\u30B9\u304C\u7121\u52B9\u306B\u306A\u308A\u307E\u3059\u3002",saving:{title:"\u30C1\u30E3\u30F3\u30CD\u30EB\u30D5\u30A1\u30A4\u30EB",save:"\u30C1\u30E3\u30F3\u30CD\u30EB{0}\u3092\u4FDD\u5B58"}},loopCount:{title:"\u30EB\u30FC\u30D7\u56DE\u6570",description:"\u66F2\u3092\u30EB\u30FC\u30D7\u3059\u308B\u56DE\u6570"}},exportMessage:{message:"WAV\u97F3\u58F0\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u3066\u3044\u307E\u3059...",estimated:"\u6B8B\u308A\u6642\u9593:",convertWav:"WAV\u306B\u5909\u63DB\u4E2D..."}},midi:{button:{title:"MIDI (.mid)",description:"\u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u30FC\u3068\u697D\u5668\u306E\u5909\u66F4\u304C\u9069\u7528\u3055\u308C\u305FMIDI\u30D5\u30A1\u30A4\u30EB\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059"}},soundfont:{button:{title:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8 (.sf2)",description:"SoundFont2\u30D5\u30A1\u30A4\u30EB\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059"},options:{title:"SF\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u30AA\u30D7\u30B7\u30E7\u30F3",confirm:"\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",trim:{title:"\u30C8\u30EA\u30DF\u30F3\u30B0",description:"MIDI\u30D5\u30A1\u30A4\u30EB\u3067\u4F7F\u7528\u3055\u308C\u3066\u3044\u308B\u697D\u5668\u3068\u30B5\u30F3\u30D7\u30EB\u3060\u3051\u306B\u30C8\u30EA\u30DF\u30F3\u30B0\u3055\u308C\u305F\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059"},compress:{title:"\u5727\u7E2E",description:"\u672A\u5727\u7E2E\u306E\u5834\u5408\u306F\u3001Ogg Vorbis\u306E\u30ED\u30B9\u5727\u7E2E\u3067\u30B5\u30F3\u30D7\u30EB\u3092\u5727\u7E2E\u3057\u307E\u3059\u3002\u30D5\u30A1\u30A4\u30EB\u30B5\u30A4\u30BA\u304C\u5927\u5E45\u306B\u524A\u6E1B\u3055\u308C\u307E\u3059\u3002\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u304C\u3059\u3067\u306B\u5727\u7E2E\u3055\u308C\u3066\u3044\u308B\u5834\u5408\u3001\u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u7121\u52B9\u306B\u3057\u3066\u3082\u518D\u5727\u7E2E\u3055\u308C\u308B\u3053\u3068\u306F\u3042\u308A\u307E\u305B\u3093"},quality:{title:"\u5727\u7E2E\u54C1\u8CEA",description:"\u5727\u7E2E\u306E\u54C1\u8CEA\u3067\u3059\u3002\u9AD8\u3044\u307B\u3069\u826F\u3044\u3067\u3059"}}},rmidi:{button:{title:"\u57CB\u3081\u8FBC\u307FMIDI (.rmi)",description:"\u5909\u66F4\u3055\u308C\u305FMIDI\u3068\u30C8\u30EA\u30DF\u30F3\u30B0\u3055\u308C\u305F\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u30921\u3064\u306E\u30D5\u30A1\u30A4\u30EB\u306B\u57CB\u3081\u8FBC\u3093\u3067\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059\u3002\u3053\u306E\u5F62\u5F0F\u306F\u5E83\u304F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u306A\u3044\u3053\u3068\u306B\u6CE8\u610F\u3057\u3066\u304F\u3060\u3055\u3044"},progress:{title:"\u57CB\u3081\u8FBC\u307E\u308C\u305FMIDI\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u4E2D...",loading:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3068MIDI\u3092\u8AAD\u307F\u8FBC\u307F\u4E2D...",modifyingMIDI:"MIDI\u3092\u4FEE\u6B63\u4E2D...",modifyingSoundfont:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u30C8\u30EA\u30DF\u30F3\u30B0\u4E2D...",saving:"RMIDI\u3092\u4FDD\u5B58\u4E2D...",done:"\u5B8C\u4E86\u3057\u307E\u3057\u305F\uFF01"},options:{title:"RMIDI\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u30AA\u30D7\u30B7\u30E7\u30F3",confirm:"\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",compress:{title:"\u5727\u7E2E",description:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092Ogg Vorbis\u306E\u30ED\u30B9\u5727\u7E2E\u3067\u5727\u7E2E\u3057\u307E\u3059\u3002\u30D5\u30A1\u30A4\u30EB\u30B5\u30A4\u30BA\u304C\u5927\u5E45\u306B\u524A\u6E1B\u3055\u308C\u307E\u3059\u3002\u63A8\u5968\u8A2D\u5B9A\u3067\u3059\u3002"},quality:{title:"\u5727\u7E2E\u54C1\u8CEA",description:"\u5727\u7E2E\u306E\u54C1\u8CEA\u3067\u3059\u3002\u9AD8\u3044\u307B\u3069\u826F\u3044\u3067\u3059\u3002"},bankOffset:{title:"\u30D0\u30F3\u30AF\u30AA\u30D5\u30BB\u30C3\u30C8",description:"\u30D5\u30A1\u30A4\u30EB\u306E\u30D0\u30F3\u30AF\u30AA\u30D5\u30BB\u30C3\u30C8\u3067\u3059\u30020\u306E\u5024\u304C\u63A8\u5968\u3055\u308C\u307E\u3059\u3002\u5909\u66F4\u306F\u614E\u91CD\u306B\u884C\u3063\u3066\u304F\u3060\u3055\u3044\u3002"},adjust:{title:"MIDI\u3092\u8ABF\u6574",description:"MIDI\u30D5\u30A1\u30A4\u30EB\u3092\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u306B\u5408\u308F\u305B\u3066\u8ABF\u6574\u3057\u307E\u3059\u3002\u7279\u5225\u306A\u7406\u7531\u304C\u306A\u3044\u9650\u308A\u3001\u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u30AA\u30F3\u306E\u307E\u307E\u306B\u3057\u3066\u304F\u3060\u3055\u3044\u3002"}}}},metadata:{songTitle:{title:"\u30BF\u30A4\u30C8\u30EB:",description:"\u66F2\u306E\u30BF\u30A4\u30C8\u30EB"},album:{title:"\u30A2\u30EB\u30D0\u30E0:",description:"\u66F2\u306E\u30A2\u30EB\u30D0\u30E0"},artist:{title:"\u30A2\u30FC\u30C6\u30A3\u30B9\u30C8:",description:"\u66F2\u306E\u30A2\u30FC\u30C6\u30A3\u30B9\u30C8"},albumCover:{title:"\u30A2\u30EB\u30D0\u30E0\u30AB\u30D0\u30FC:",description:"\u66F2\u306E\u30A2\u30EB\u30D0\u30E0\u30AB\u30D0\u30FC"},creationDate:{title:"\u4F5C\u6210\u65E5:",description:"\u66F2\u306E\u4F5C\u6210\u65E5"},genre:{title:"\u30B8\u30E3\u30F3\u30EB:",description:"\u66F2\u306E\u30B8\u30E3\u30F3\u30EB"},comment:{title:"\u30B3\u30E1\u30F3\u30C8:",description:"\u66F2\u306E\u30B3\u30E1\u30F3\u30C8"},duration:{title:"\u9577\u3055:",description:"\u66F2\u306E\u9577\u3055"}}}};var Gw={localeName:"\u65E5\u672C\u8A9E",titleMessage:"SpessaSynth: SoundFont2 Javascript \u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC",demoTitleMessage:"SpessaSynth: SoundFont2 Javascript \u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC \u30AA\u30F3\u30E9\u30A4\u30F3\u30C7\u30E2",synthInit:{genericLoading:"\u8AAD\u307F\u8FBC\u307F\u4E2D...",loadingSoundfont:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u8AAD\u307F\u8FBC\u3093\u3067\u3044\u307E\u3059...",loadingBundledSoundfont:"\u30D0\u30F3\u30C9\u30EB\u3055\u308C\u305F\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u8AAD\u307F\u8FBC\u3093\u3067\u3044\u307E\u3059...",startingSynthesizer:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u3092\u8D77\u52D5\u3057\u3066\u3044\u307E\u3059...",savingSoundfont:"\u518D\u5229\u7528\u306E\u305F\u3081\u306B\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u4FDD\u5B58\u3057\u3066\u3044\u307E\u3059...",noWebAudio:"\u304A\u4F7F\u3044\u306E\u30D6\u30E9\u30A6\u30B6\u306FWeb Audio\u3092\u30B5\u30DD\u30FC\u30C8\u3057\u3066\u3044\u307E\u305B\u3093\u3002",done:"\u6E96\u5099\u5B8C\u4E86\uFF01"},midiUploadButton:"MIDI\u30D5\u30A1\u30A4\u30EB\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9",exportAudio:Nw,yes:"\u306F\u3044",no:"\u3044\u3044\u3048",demoSoundfontUploadButton:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9",demoGithubPage:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30DA\u30FC\u30B8",demoSongButton:"\u30C7\u30E2\u30BD\u30F3\u30B0",credits:"\u30AF\u30EA\u30A8\u30A4\u30BF\u30FC",dropPrompt:"\u3053\u3053\u306B\u30D5\u30A1\u30A4\u30EB\u3092\u30C9\u30ED\u30C3\u30D7...",warnings:{noMidiSupport:"\u3053\u306E\u30D6\u30E9\u30A6\u30B6\u306FMIDI\u5165\u529B\u3092\u30B5\u30DD\u30FC\u30C8\u3057\u3066\u3044\u306A\u3044\u305F\u3081\u3001\u3053\u306E\u6A5F\u80FD\u306F\u5229\u7528\u3067\u304D\u307E\u305B\u3093\u3002Chrome\u307E\u305F\u306FFirefox\u3092\u4F7F\u7528\u3059\u308B\u3053\u3068\u3092\u691C\u8A0E\u3057\u3066\u304F\u3060\u3055\u3044\u3002",outOfMemory:`\u30D6\u30E9\u30A6\u30B6\u306E\u30E1\u30E2\u30EA\u304C\u4E0D\u8DB3\u3057\u307E\u3057\u305F\u3002Firefox\u3084SF3\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u306E\u4F7F\u7528\u3092\u691C\u8A0E\u3057\u3066\u304F\u3060\u3055\u3044\u3002 \uFF08\u30A8\u30E9\u30FC\u306B\u3064\u3044\u3066\u306F\u30B3\u30F3\u30BD\u30FC\u30EB\u3092\u53C2\u7167\u3057\u3066\u304F\u3060\u3055\u3044\uFF09\u3002`,chromeMobile:`SpessaSynth\u306FChrome Mobile\u3067\u306E\u52D5\u4F5C\u304C\u826F\u304F\u3042\u308A\u307E\u305B\u3093\u3002 @@ -213,7 +213,7 @@ Note : si la banque de sons \xE9tait d\xE9j\xE0 compress\xE9e, cette option ne d Note : ce format n'est pas support\xE9 par tous les lecteurs MIDI`},progress:{title:"Exportation du fichier MIDI embarqu\xE9...",loading:"Chargement de la banque de sons et du fichier MIDI...",modifyingMIDI:"Modification MIDI...",modifyingSoundfont:"All\xE8gement de la banque de sons...",saving:"Cr\xE9ation du fichier RMIDI...",done:"Termin\xE9 !"},options:{title:"Options de l'exportation RMIDI",confirm:"Exporter",compress:{title:"Compression",description:`Compacter les \xE9chantillons gr\xE2ce \xE0 l'algorithme de compression avec pertes Ogg Vorbis Ceci r\xE9duit de mani\xE8re significative le poids du fichier (option recommand\xE9e)`},quality:{title:"Qualit\xE9 de compression",description:"La qualit\xE9 de la compression, une valeur haute augmentant la qualit\xE9 du son mais aussi le poids du fichier"},bankOffset:{title:"D\xE9calage de banque",description:`D\xE9calage des num\xE9ros de banque dans le fichier (une valeur de 0 est recommand\xE9e sauf cas particulier)`},adjust:{title:"Ajustement MIDI",description:`Ajuste le fichier MIDI \xE0 la banque de sons -(il est conseill\xE9 de laisser cette option activ\xE9e sauf cas particulier)`}}}},metadata:{songTitle:{title:"Titre :",description:"Le titre du morceau"},album:{title:"Album :",description:"Le nom de l'album dans lequel se trouve le morceau"},artist:{title:"Artiste :",description:"Le ou les artiste(s) du morceau"},albumCover:{title:"Pochette d'album :",description:"La pochette de l'album dans lequel se trouve le morceau"},creationDate:{title:"Date de cr\xE9ation :",description:"La date de cr\xE9ation du morceau"},genre:{title:"Genre :",description:"Le genre du morceau"},comment:{title:"Commentaire :",description:"Le commentaire li\xE9 au morceau"},duration:{title:"Dur\xE9e :",description:"La dur\xE9e du morceau"}}}};var zw={localeName:"Fran\xE7ais",titleMessage:"SpessaSynth : synth\xE9tiseur compatible SoundFont2, \xE9crit en javascript",demoTitleMessage:"SpessaSynth : d\xE9mo en ligne du synth\xE9tiseur compatible SoundFont2",synthInit:{genericLoading:"Chargement...",loadingSoundfont:"Chargement de la banque de sons...",loadingBundledSoundfont:"Chargement de la banque de sons int\xE9gr\xE9e...",startingSynthesizer:"D\xE9marrage du synth\xE9tiseur...",savingSoundfont:"Sauvegarde de la banque de sons pour une utilisation ult\xE9rieure...",noWebAudio:"Votre navigateur ne supporte pas l'audio par le web.",done:"Pr\xEAt !"},midiUploadButton:"Charger des fichiers MIDI",exportAudio:Kw,yes:"Oui",no:"Non",demoSoundfontUploadButton:"Charger une banque de sons",demoGithubPage:"Page du projet",demoSongButton:"Morceau d\xE9mo",credits:"Cr\xE9dits",dropPrompt:"Rel\xE2chez les fichiers ici...",warnings:{outOfMemory:"Votre navigateur est \xE0 cours de m\xE9moire. L'usage de Firefox ou des banques de sons au format SF3 est recommand\xE9 (voir la console pour plus de d\xE9tails concernant l'erreur).",noMidiSupport:"Aucun port MIDI d\xE9tect\xE9, cette fonctionnalit\xE9 sera d\xE9sactiv\xE9e.",chromeMobile:"Les performances de SpessaSynth sont basses sur Chrome pour mobile. L'usage de Firefox est recommand\xE9.",warning:"Attention"},hideTopBar:{title:"Masquer la barre sup\xE9rieure",description:"Masquer la barre sup\xE9rieure (titre) pour offrir une meilleure exp\xE9rience"},convertDls:{title:"Conversion DLS",message:"Le fichier charg\xE9 semble \xEAtre au format DLS. Voulez-vous le convertir au format SF2 ?"},musicPlayerMode:Hw,settings:qw,synthesizerController:Jw,sequencerController:Vw};var UB="en",w$={en:mw,pl:bw,ja:Gw,fr:zw};var iD=.2,Bi=class{addSequencer;constructor(r,l,g,f,D,o0,E0,m0){this.mode="dark",this.autoKeyRange=!1,this.renderer=f,this.midiKeyboard=D,this.midiDeviceHandler=o0,this.synthui=l,this.sequi=g,this.locale=m0,this.musicMode=E0,this.locales=w$,this.keyboardSizes={full:{min:0,max:127},piano:{min:21,max:108},"5 octaves":{min:36,max:96},"two octaves":{min:53,max:77}};let l0=document.createElement("div");l0.style.position="relative",l0.classList.add("seamless_button"),l0.classList.add("settings_button"),r.appendChild(l0);let u1=document.createElement("div");u1.classList.add("seamless_button"),this.locale.bindObjectProperty(u1,"innerText","locale.musicPlayerMode.toggleButton.title"),this.locale.bindObjectProperty(u1,"title","locale.musicPlayerMode.toggleButton.description"),r.appendChild(u1);let F=document.createElement("div");F.classList.add("seamless_button"),this.locale.bindObjectProperty(F,"innerText","locale.hideTopBar.title"),this.locale.bindObjectProperty(F,"title","locale.hideTopBar.description"),r.appendChild(F);let q0=document.getElementsByClassName("show_top_button")[0];q0.innerHTML=xy(20);let R0=document.createElement("span");this.locale.bindObjectProperty(R0,"innerText","locale.settings.toggleButton"),l0.appendChild(R0);let L1=document.createElement("div");L1.innerHTML=Dy(24),L1.classList.add("gear"),l0.appendChild(L1),this.mainDiv=document.createElement("div"),this.mainDiv.classList.add("settings_menu"),this.visible=!1,this.animationId=-1,l0.onclick=()=>this.setVisibility(!this.visible),r.appendChild(this.mainDiv),u1.onclick=this.toggleMusicPlayerMode.bind(this),F.onclick=this.hideTopPart.bind(this),this.hideOnDocClick=!0,this.mainDiv.onclick=()=>{this.hideOnDocClick=!1},document.addEventListener("click",()=>{if(!this.hideOnDocClick){this.hideOnDocClick=!0;return}this.setVisibility(!1)}),this.mainDiv.innerHTML=zy,Zy(this.mainDiv);for(let y1 of this.mainDiv.querySelectorAll("*[translate-path]"))this.locale.bindObjectProperty(y1,"textContent",y1.getAttribute("translate-path"));for(let y1 of this.mainDiv.querySelectorAll("*[translate-path-title]")){let Y2=y1.getAttribute("translate-path-title");this.locale.bindObjectProperty(y1,"textContent",Y2+".title"),this.locale.bindObjectProperty(y1,"title",Y2+".description")}this.getHtmlControls(),document.addEventListener("keydown",y1=>{switch(y1.key.toLowerCase()){case Xt.settingsShow:this.setVisibility(!this.visible);break;case Xt.synthesizerUIShow:this.setVisibility(!1)}}),window.savedSettings?this._loadSettings().then(()=>{this.createHandlers(f,D,o0,g,l)}):this.createHandlers(f,D,o0,g,l),this.topPartVisible=!0;let t2=!1;window.addEventListener("resize",()=>{let y1=window.screen.height,Y2=window.screen.width,T2=window.outerHeight,V2=window.outerWidth,i3;i3=Y2===V2&&y1===T2,i3!==t2&&(t2=i3,i3?this.hideTopPart():this.showTopPart())}),document.addEventListener("fullscreenchange",()=>{document.fullscreenElement===null?this.showTopPart():this.hideTopPart()})}async toggleMusicPlayerMode(){this.musicMode.visible===!1&&this.hideTopPart(),this.musicMode.setVisibility(!this.musicMode.visible,document.getElementById("keyboard_canvas_wrapper")),this.renderer.renderBool=!this.musicMode.visible}showTopPart(){if(this.topPartVisible===!0)return;this.topPartVisible=!0;let r=document.getElementsByClassName("top_part")[0],l=document.getElementsByClassName("show_top_button")[0];r.style.display="",setTimeout(()=>{r.classList.remove("top_part_hidden")},75),l.classList.remove("shown"),l.style.display="none"}hideTopPart(){if(this.topPartVisible===!1)return;this.topPartVisible=!1;let r=document.getElementsByClassName("top_part")[0];r.classList.add("top_part_hidden"),setTimeout(()=>{r.style.display="none"},200);let l=document.getElementsByClassName("show_top_button")[0];l.style.display="flex",setTimeout(()=>{l.classList.add("shown")},75),l.onclick=this.showTopPart.bind(this)}setVisibility(r){this.animationId&&clearTimeout(this.animationId),r?(this.mainDiv.style.display="block",setTimeout(()=>{document.getElementsByClassName("top_part")[0].classList.add("settings_shown"),this.mainDiv.classList.add("settings_menu_show")},75),this.hideOnDocClick=!1):(document.getElementsByClassName("top_part")[0].classList.remove("settings_shown"),this.mainDiv.classList.remove("settings_menu_show"),this.animationId=setTimeout(()=>{this.mainDiv.style.display="none"},iD*1e3)),this.visible=r}createHandlers(r,l,g,f,D){this._createRendererHandler(r),this._createMidiSettingsHandler(g,f,D),this._createKeyboardHandler(l,D,r),this._createInterfaceSettingsHandler()}getHtmlControls(){this.htmlControls={renderer:{noteTimeSlider:document.getElementById("note_time_slider"),analyserToggler:document.getElementById("analyser_toggler"),noteToggler:document.getElementById("note_toggler"),activeNoteToggler:document.getElementById("active_note_toggler"),visualPitchToggler:document.getElementById("visual_pitch_toggler"),stabilizeWaveformsToggler:document.getElementById("stabilize_waveforms_toggler"),analyserThicknessSlider:document.getElementById("analyser_thickness_slider"),analyserFftSlider:document.getElementById("analyser_fft_slider"),waveMultiplierSlizer:document.getElementById("wave_multiplier_slider")},keyboard:{channelSelector:document.getElementById("channel_selector"),modeSelector:document.getElementById("mode_selector"),sizeSelector:document.getElementById("keyboard_size_selector"),showSelector:document.getElementById("keyboard_show")},midi:{outputSelector:document.getElementById("midi_output_selector"),inputSelector:document.getElementById("midi_input_selector")},interface:{themeSelector:document.getElementById("toggle_mode_button"),languageSelector:document.getElementById("language_selector"),layoutSelector:document.getElementById("layout_selector")}}}};Bi.prototype._toggleDarkMode=nw;Bi.prototype._createInterfaceSettingsHandler=ew;Bi.prototype._changeLayout=tw;Bi.prototype._createRendererHandler=sw;Bi.prototype._createMidiSettingsHandler=Aw;Bi.prototype._createMidiInputHandler=aw;Bi.prototype._createMidiOutputHandler=$w;Bi.prototype._createKeyboardHandler=Ky;Bi.prototype._loadSettings=Wy;Bi.prototype._serializeSettings=Xy;Bi.prototype._saveSettings=jy;var Zw=.5,TC=class{constructor(r,l){this.mainDiv=r,this.mainDiv.innerHTML=` +(il est conseill\xE9 de laisser cette option activ\xE9e sauf cas particulier)`}}}},metadata:{songTitle:{title:"Titre :",description:"Le titre du morceau"},album:{title:"Album :",description:"Le nom de l'album dans lequel se trouve le morceau"},artist:{title:"Artiste :",description:"Le ou les artiste(s) du morceau"},albumCover:{title:"Pochette d'album :",description:"La pochette de l'album dans lequel se trouve le morceau"},creationDate:{title:"Date de cr\xE9ation :",description:"La date de cr\xE9ation du morceau"},genre:{title:"Genre :",description:"Le genre du morceau"},comment:{title:"Commentaire :",description:"Le commentaire li\xE9 au morceau"},duration:{title:"Dur\xE9e :",description:"La dur\xE9e du morceau"}}}};var zw={localeName:"Fran\xE7ais",titleMessage:"SpessaSynth : synth\xE9tiseur compatible SoundFont2, \xE9crit en javascript",demoTitleMessage:"SpessaSynth : d\xE9mo en ligne du synth\xE9tiseur compatible SoundFont2",synthInit:{genericLoading:"Chargement...",loadingSoundfont:"Chargement de la banque de sons...",loadingBundledSoundfont:"Chargement de la banque de sons int\xE9gr\xE9e...",startingSynthesizer:"D\xE9marrage du synth\xE9tiseur...",savingSoundfont:"Sauvegarde de la banque de sons pour une utilisation ult\xE9rieure...",noWebAudio:"Votre navigateur ne supporte pas l'audio par le web.",done:"Pr\xEAt !"},midiUploadButton:"Charger des fichiers MIDI",exportAudio:Kw,yes:"Oui",no:"Non",demoSoundfontUploadButton:"Charger une banque de sons",demoGithubPage:"Page du projet",demoSongButton:"Morceau d\xE9mo",credits:"Cr\xE9dits",dropPrompt:"Rel\xE2chez les fichiers ici...",warnings:{outOfMemory:"Votre navigateur est \xE0 cours de m\xE9moire. L'usage de Firefox ou des banques de sons au format SF3 est recommand\xE9 (voir la console pour plus de d\xE9tails concernant l'erreur).",noMidiSupport:"Aucun port MIDI d\xE9tect\xE9, cette fonctionnalit\xE9 sera d\xE9sactiv\xE9e.",chromeMobile:"Les performances de SpessaSynth sont basses sur Chrome pour mobile. L'usage de Firefox est recommand\xE9.",warning:"Attention"},hideTopBar:{title:"Masquer la barre sup\xE9rieure",description:"Masquer la barre sup\xE9rieure (titre) pour offrir une meilleure exp\xE9rience"},convertDls:{title:"Conversion DLS",message:"Le fichier charg\xE9 semble \xEAtre au format DLS. Voulez-vous le convertir au format SF2 ?"},musicPlayerMode:Hw,settings:qw,synthesizerController:Jw,sequencerController:Vw};var UB="en",w$={en:mw,pl:bw,ja:Gw,fr:zw};var iD=.2,Bi=class{addSequencer;constructor(r,l,g,f,D,o0,E0,m0){this.mode="dark",this.autoKeyRange=!1,this.renderer=f,this.midiKeyboard=D,this.midiDeviceHandler=o0,this.synthui=l,this.sequi=g,this.locale=m0,this.musicMode=E0,this.locales=w$,this.keyboardSizes={full:{min:0,max:127},piano:{min:21,max:108},"5 octaves":{min:36,max:96},"two octaves":{min:53,max:77}};let c0=document.createElement("div");c0.style.position="relative",c0.classList.add("seamless_button"),c0.classList.add("settings_button"),r.appendChild(c0);let f1=document.createElement("div");f1.classList.add("seamless_button"),this.locale.bindObjectProperty(f1,"innerText","locale.musicPlayerMode.toggleButton.title"),this.locale.bindObjectProperty(f1,"title","locale.musicPlayerMode.toggleButton.description"),r.appendChild(f1);let x=document.createElement("div");x.classList.add("seamless_button"),this.locale.bindObjectProperty(x,"innerText","locale.hideTopBar.title"),this.locale.bindObjectProperty(x,"title","locale.hideTopBar.description"),r.appendChild(x);let X0=document.getElementsByClassName("show_top_button")[0];X0.innerHTML=xy(20);let F0=document.createElement("span");this.locale.bindObjectProperty(F0,"innerText","locale.settings.toggleButton"),c0.appendChild(F0);let b1=document.createElement("div");b1.innerHTML=Dy(24),b1.classList.add("gear"),c0.appendChild(b1),this.mainDiv=document.createElement("div"),this.mainDiv.classList.add("settings_menu"),this.visible=!1,this.animationId=-1,c0.onclick=()=>this.setVisibility(!this.visible),r.appendChild(this.mainDiv),f1.onclick=this.toggleMusicPlayerMode.bind(this),x.onclick=this.hideTopPart.bind(this),this.hideOnDocClick=!0,this.mainDiv.onclick=()=>{this.hideOnDocClick=!1},document.addEventListener("click",()=>{if(!this.hideOnDocClick){this.hideOnDocClick=!0;return}this.setVisibility(!1)}),this.mainDiv.innerHTML=zy,Zy(this.mainDiv);for(let y1 of this.mainDiv.querySelectorAll("*[translate-path]"))this.locale.bindObjectProperty(y1,"textContent",y1.getAttribute("translate-path"));for(let y1 of this.mainDiv.querySelectorAll("*[translate-path-title]")){let Y2=y1.getAttribute("translate-path-title");this.locale.bindObjectProperty(y1,"textContent",Y2+".title"),this.locale.bindObjectProperty(y1,"title",Y2+".description")}this.getHtmlControls(),document.addEventListener("keydown",y1=>{switch(y1.key.toLowerCase()){case Xt.settingsShow:this.setVisibility(!this.visible);break;case Xt.synthesizerUIShow:this.setVisibility(!1)}}),window.savedSettings?this._loadSettings().then(()=>{this.createHandlers(f,D,o0,g,l)}):this.createHandlers(f,D,o0,g,l),this.topPartVisible=!0;let l2=!1;window.addEventListener("resize",()=>{let y1=window.screen.height,Y2=window.screen.width,T2=window.outerHeight,V2=window.outerWidth,i3;i3=Y2===V2&&y1===T2,i3!==l2&&(l2=i3,i3?this.hideTopPart():this.showTopPart())}),document.addEventListener("fullscreenchange",()=>{document.fullscreenElement===null?this.showTopPart():this.hideTopPart()})}async toggleMusicPlayerMode(){this.musicMode.visible===!1&&this.hideTopPart(),this.musicMode.setVisibility(!this.musicMode.visible,document.getElementById("keyboard_canvas_wrapper")),this.renderer.renderBool=!this.musicMode.visible}showTopPart(){if(this.topPartVisible===!0)return;this.topPartVisible=!0;let r=document.getElementsByClassName("top_part")[0],l=document.getElementsByClassName("show_top_button")[0];r.style.display="",setTimeout(()=>{r.classList.remove("top_part_hidden")},75),l.classList.remove("shown"),l.style.display="none"}hideTopPart(){if(this.topPartVisible===!1)return;this.topPartVisible=!1;let r=document.getElementsByClassName("top_part")[0];r.classList.add("top_part_hidden"),setTimeout(()=>{r.style.display="none"},200);let l=document.getElementsByClassName("show_top_button")[0];l.style.display="flex",setTimeout(()=>{l.classList.add("shown")},75),l.onclick=this.showTopPart.bind(this)}setVisibility(r){this.animationId&&clearTimeout(this.animationId),r?(this.mainDiv.style.display="block",setTimeout(()=>{document.getElementsByClassName("top_part")[0].classList.add("settings_shown"),this.mainDiv.classList.add("settings_menu_show")},75),this.hideOnDocClick=!1):(document.getElementsByClassName("top_part")[0].classList.remove("settings_shown"),this.mainDiv.classList.remove("settings_menu_show"),this.animationId=setTimeout(()=>{this.mainDiv.style.display="none"},iD*1e3)),this.visible=r}createHandlers(r,l,g,f,D){this._createRendererHandler(r),this._createMidiSettingsHandler(g,f,D),this._createKeyboardHandler(l,D,r),this._createInterfaceSettingsHandler()}getHtmlControls(){this.htmlControls={renderer:{noteTimeSlider:document.getElementById("note_time_slider"),analyserToggler:document.getElementById("analyser_toggler"),noteToggler:document.getElementById("note_toggler"),activeNoteToggler:document.getElementById("active_note_toggler"),visualPitchToggler:document.getElementById("visual_pitch_toggler"),stabilizeWaveformsToggler:document.getElementById("stabilize_waveforms_toggler"),analyserThicknessSlider:document.getElementById("analyser_thickness_slider"),analyserFftSlider:document.getElementById("analyser_fft_slider"),waveMultiplierSlizer:document.getElementById("wave_multiplier_slider")},keyboard:{channelSelector:document.getElementById("channel_selector"),modeSelector:document.getElementById("mode_selector"),sizeSelector:document.getElementById("keyboard_size_selector"),showSelector:document.getElementById("keyboard_show")},midi:{outputSelector:document.getElementById("midi_output_selector"),inputSelector:document.getElementById("midi_input_selector")},interface:{themeSelector:document.getElementById("toggle_mode_button"),languageSelector:document.getElementById("language_selector"),layoutSelector:document.getElementById("layout_selector")}}}};Bi.prototype._toggleDarkMode=nw;Bi.prototype._createInterfaceSettingsHandler=ew;Bi.prototype._changeLayout=tw;Bi.prototype._createRendererHandler=sw;Bi.prototype._createMidiSettingsHandler=Aw;Bi.prototype._createMidiInputHandler=aw;Bi.prototype._createMidiOutputHandler=$w;Bi.prototype._createKeyboardHandler=Ky;Bi.prototype._loadSettings=Wy;Bi.prototype._serializeSettings=Xy;Bi.prototype._saveSettings=jy;var Zw=.5,TC=class{constructor(r,l){this.mainDiv=r,this.mainDiv.innerHTML=`
@@ -257,20 +257,20 @@ Ceci r\xE9duit de mani\xE8re significative le poids du fichier (option recommand
`;for(let g of this.mainDiv.querySelectorAll("*[translate-path]"))l.bindObjectProperty(g,"textContent",g.getAttribute("translate-path"));for(let g of this.mainDiv.querySelectorAll("*[translate-path-title]"))l.bindObjectProperty(g,"textContent",g.getAttribute("translate-path-title")+".title"),l.bindObjectProperty(g,"title",g.getAttribute("translate-path-title")+".description");this.timeoutId=-1,this.visible=!1,this.locale=l}toggleDarkMode(){this.mainDiv.getElementsByClassName("player_info_wrapper")[0].classList.toggle("light_mode")}setTitle(r){document.getElementById("player_info_title").textContent=r}connectSequencer(r){this.seq=r,this.seq.addOnSongChangeEvent(l=>{let g=l.copyright.replaceAll(` -`,""),f=(R0,L1,t2=!0)=>{let y1=document.getElementById(R0);if(L1.length>0)if(y1.parentElement.classList.remove("hidden"),y1.innerHTML="",L1.length>30&&t2){y1.classList.add("marquee");let Y2=document.createElement("span");Y2.textContent=L1,y1.appendChild(Y2)}else y1.textContent=L1;else y1.parentElement.classList.add("hidden")};f("player_info_detail",g),f("player_info_time",I$(this.seq.duration).time),f("player_info_file_name",l.fileName,!1);let D=(R0,L1,t2,y1="")=>this.seq.midiData.RMIDInfo?.[R0]===void 0?L1:y1+t2.decode(this.seq.midiData.RMIDInfo?.[R0]).replace(/\0$/,""),o0=D("IENC","ascii",new TextDecoder),E0=new TextDecoder(o0);f("player_info_album",D("IPRD","",E0)),f("player_info_artist",D("IART","",E0)),f("player_info_genre",D("IGNR","",E0)),f("player_info_creation",D("ICRD","",E0)+D("ICRT","",E0,` -`)),f("player_info_comment",D("ICMT","",E0));let m0=this.mainDiv.getElementsByTagName("svg")[0],l0=this.mainDiv.getElementsByTagName("img")[0],u1=document.getElementById("player_info_background_image");if(!l.isEmbedded){m0.style.display="",l0.style.display="none",u1.style.setProperty("--bg-image","undefined");return}if(l.RMIDInfo.IPIC===void 0){m0.style.display="",l0.style.display="none",u1.style.setProperty("--bg-image","undefined");return}m0.style.display="none",l0.style.display="";let F=new Blob([l.RMIDInfo.IPIC.buffer]),q0=URL.createObjectURL(F);l0.src=q0,u1.style.setProperty("--bg-image",`url('${q0}')`)},"player-js-song-change")}setVisibility(r,l){if(r===this.visible)return;this.visible=r,this.timeoutId&&clearTimeout(this.timeoutId);let g=this.mainDiv;if(r){l.classList.add("out_animation"),this.savedCKWrapperHeight=l.clientHeight;let f=l.clientHeight,D=l.getBoundingClientRect().top;g.style.position="absolute",g.style.top=`${D}px`,g.style.height=`${f}px`,g.style.display="flex",setTimeout(()=>{g.classList.add("player_info_show"),document.body.style.overflow="hidden"},75),this.timeoutId=setTimeout(async()=>{l.style.display="none",g.style.position="",g.style.top="",g.style.height="",document.body.style.overflow=""},Zw*1e3)}else{let f=g.getBoundingClientRect().top;l.style.display="",l.style.position="absolute",l.style.top=`${f}px`,l.style.height=`${this.savedCKWrapperHeight}px`,g.classList.remove("player_info_show"),setTimeout(()=>{l.classList.remove("out_animation"),document.body.style.overflow="hidden"},75),this.timeoutId=setTimeout(()=>{g.style.display="none",l.style.position="",l.style.top="",l.style.height="",document.body.style.overflow=""},Zw*1e3)}}};var NC=class{onLocaleChanged=[];constructor(r){this.locale=w$[r]||w$[UB],this.fallbackLocale=w$[UB],this.localeCode=r,this._boundObjectProperties=[]}getLocaleString(r,l=[]){let g=this._resolveLocalePath(r);return l.length>0?this._formatLocale(g,l):g}_applyPropertyInternal(r){if(r.isEdited)return;let l=this._resolveLocalePath(r.localePath);r.formattingArguments.length>0&&(l=this._formatLocale(l,r.formattingArguments)),r.object[r.propertyName]=l}_validatePropertyIntegrity(r){let l=this._resolveLocalePath(r.localePath);r.formattingArguments.length>0&&(l=this._formatLocale(l,r.formattingArguments)),r.object[r.propertyName]!==l&&(r.isEdited=!0)}_formatLocale(r,l){return r.replace(/{(\d+)}/g,(g,f)=>typeof l[f]<"u"?l[f]:g)}bindObjectProperty(r,l,g,f=[]){let D={object:r,propertyName:l,localePath:g,formattingArguments:f,isEdited:!1};this._applyPropertyInternal(D),this._boundObjectProperties.push(D)}_resolveLocalePath(r,l=!1){if(!r.startsWith("locale."))throw new Error(`Invalid locale path: ${r} (it should start with "locale.")`);let g=r.split("."),f=l?this.fallbackLocale:this.locale;for(let D=1;D{this._validatePropertyIntegrity(f)}),this.locale=g,this._boundObjectProperties.forEach(f=>{this._applyPropertyInternal(f)}),this.onLocaleChanged.forEach(f=>f())}};function PB(o,r=!0,l=0,g={},f=void 0){let D=o.getChannelData(l),o0=o.getChannelData(l+1),E0=D.length,m0=2,l0=new V3(0),u1=Object.keys(g).length>0;if(u1){let A0=new TextEncoder,y5=[LA("INFO"),Ze("ICMT",A0.encode("Created with SpessaSynth"),!0)];g.artist&&y5.push(Ze("IART",A0.encode(g.artist),!0)),g.album&&y5.push(Ze("IPRD",A0.encode(g.album),!0)),g.genre&&y5.push(Ze("IGNR",A0.encode(g.genre),!0)),g.title&&y5.push(Ze("INAM",A0.encode(g.title),!0)),l0=Ze("LIST",bn(y5))}let F=new V3(0),q0=f?.end!==void 0&&f?.start!==void 0;if(q0){let A0=Math.floor(f.start*o.sampleRate),y5=Math.floor(f.end*o.sampleRate),T3=new V3(24);$7(T3,0,4),$7(T3,0,4),c7(T3,"data"),$7(T3,0,4),$7(T3,0,4),$7(T3,A0,4);let $3=new V3(24);$7($3,1,4),$7($3,0,4),c7($3,"data"),$7($3,0,4),$7($3,0,4),$7($3,y5,4);let w6=bn([new V3([2,0,0,0]),T3,$3]);F=Ze("cue ",w6)}let R0=44,L1=E0*2*m0,t2=R0+L1+l0.length+F.length-8,y1=new Uint8Array(R0);y1.set([82,73,70,70],0),y1.set(new Uint8Array([t2&255,t2>>8&255,t2>>16&255,t2>>24&255]),4),y1.set([87,65,86,69],8),y1.set([102,109,116,32],12),y1.set([16,0,0,0],16),y1.set([1,0],20),y1.set([2,0],22);let Y2=o.sampleRate;y1.set(new Uint8Array([Y2&255,Y2>>8&255,Y2>>16&255,Y2>>24&255]),24);let T2=Y2*2*m0;y1.set(new Uint8Array([T2&255,T2>>8&255,T2>>16&255,T2>>24&255]),28),y1.set([4,0],32),y1.set([16,0],34),y1.set([100,97,116,97],36),y1.set(new Uint8Array([L1&255,L1>>8&255,L1>>16&255,L1>>24&255]),40);let V2=new Uint8Array(t2+8),i3=R0;V2.set(y1,0);let r3=32767;if(r){let A0=D.map((y5,T3)=>Math.max(Math.abs(y5),Math.abs(o0[T3]))).reduce((y5,T3)=>Math.max(y5,T3));r3=A0>0?32767/A0:1}for(let A0=0;A0>8&255,V2[i3++]=T3&255,V2[i3++]=T3>>8&255}return u1&&(V2.set(l0,i3),i3+=l0.length),q0&&V2.set(F,i3),new Blob([V2.buffer],{type:"audio/wav"})}var GC="synthetizer/worklet_processor.min.js";var Ww=1e3;async function jw(o=!0,r=2,l=!1,g={},f=0){if(this.isExporting=!0,!this.seq)throw new Error("No sequencer active");let D=manager.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.message"),o0=manager.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.estimated"),E0=manager.localeManager.getLocaleString("locale.synthInit.genericLoading"),m0=Pt(D,[{type:"text",textContent:E0},{type:"progress"}],9999999,!1),l0=await this.seq.getMIDI(),u1=ym(l0.loop.start,l0),F=ym(l0.loop.end,l0),q0=F-u1,R0=l0.duration+r+q0*f,L1=this.context.sampleRate,t2=L1*R0,y1=new OfflineAudioContext({numberOfChannels:l?32:2,sampleRate:L1,length:t2});await y1.audioWorklet.addModule(new URL("../../spessasynth_lib/"+GC,import.meta.url));let Y2=await this.synth.getSynthesizerSnapshot(),T2=this.soundFont,V2;try{V2=new ah(y1.destination,T2,!1,{parsedMIDI:l0,snapshot:Y2,oneOutput:l,loopCount:f},{reverbEnabled:!0,chorusEnabled:!0,chorusConfig:void 0,reverbImpulseResponse:this.impulseResponse})}catch(o9){throw Pt(this.localeManager.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}]),o9}let i3=m0.div.getElementsByTagName("p")[0],r3=m0.div.getElementsByClassName("notification_progress")[0],A0=Ww/1e3,y5=V2.currentTime,T3=R0,$3=.1,w6=setInterval(()=>{let o9=V2.currentTime-y5;y5=V2.currentTime;let J4=V2.currentTime/R0;r3.style.width=`${J4*100}%`;let r4=o9/A0,V6=(1-J4)/r4*R0;V6!==1/0&&(T3=$3*V6+(1-$3)*T3,i3.innerText=`${o0} ${I$(T3).time}`)},Ww),s6=await y1.startRendering();if(r3.style.width="100%",clearInterval(w6),i3.innerText=this.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.convertWav"),await new Promise(o9=>setTimeout(o9,75)),l){let o9="locale.exportAudio.formats.formats.wav.options.separateChannels.saving.",J4=[],r4=new Set;for(let We of l0.usedChannelsOnTrack)We.forEach(qr=>r4.add(qr));for(let We=0;We<16;We++){let qr=!0;for(let Ji=We;Ji{let Ms=PA.textContent;PA.textContent=this.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.convertWav"),await new Promise(KC=>setTimeout(KC,75));let bm=PB(s6,!1,We*2),S$=`${We+1} - ${Y2.channelSnapshots[We].patchName}.wav`;this.saveBlob(bm,S$),PA.classList.add("green_button"),PA.textContent=Ms}})}let V6=Pt(this.localeManager.getLocaleString(o9+"title"),J4,99999999,!0,void 0,{display:"flex",flexWrap:"wrap",flexDirection:"row"});V6.div.style.width="30rem"}else{let o9=ym(l0.firstNoteOn,l0),J4=u1-o9,r4=F-o9,V6;f===0&&(V6={start:J4,end:r4});let We=PB(s6,o,0,g,V6);this.saveBlob(We,`${this.seqUI.currentSongTitle||"unnamed_song"}.wav`)}h7(m0.id),this.isExporting=!1}async function Xw(){if(this.isExporting)return;let o="locale.exportAudio.formats.formats.wav.options.",r="locale.exportAudio.formats.metadata.",l=(l0,u1,F)=>this.seq.midiData.RMIDInfo?.[l0]===void 0?u1:F.decode(this.seq.midiData.RMIDInfo?.[l0]).replace(/\0$/,""),g=l("IENC","ascii",new TextDecoder),f=new TextDecoder(g),D=l("IPRD","",f),o0=l("IART","",f),E0=l("IGNR","",f),m0=[{type:"toggle",translatePathTitle:o+"normalizeVolume",attributes:{"normalize-volume-toggle":"1",checked:"true"}},{type:"input",translatePathTitle:o+"additionalTime",attributes:{value:"2",type:"number","additional-time":"1"}},{type:"input",translatePathTitle:o+"loopCount",attributes:{value:"0",type:"number","loop-count":"1"}},{type:"toggle",translatePathTitle:o+"separateChannels",attributes:{"separate-channels-toggle":"1"}},{type:"input",translatePathTitle:r+"songTitle",attributes:{name:"song_title",type:"text",value:this.seqUI.currentSongTitle}},{type:"input",translatePathTitle:r+"album",attributes:{value:D,name:"album",type:"text"}},{type:"input",translatePathTitle:r+"artist",attributes:{value:o0,name:"artist",type:"text"}},{type:"input",translatePathTitle:r+"genre",attributes:{value:E0,name:"genre",type:"text"}},{type:"button",textContent:this.localeManager.getLocaleString(o+"confirm"),onClick:l0=>{h7(l0.id);let u1=l0.div.querySelector("input[normalize-volume-toggle]").checked,F=l0.div.querySelector("input[additional-time]").value,q0=l0.div.querySelector("input[loop-count]").value,R0=l0.div.querySelector("input[separate-channels-toggle]").checked,L1=l0.div.querySelector("input[name='artist']").value,t2=l0.div.querySelector("input[name='album']").value,y1=l0.div.querySelector("input[name='song_title']").value,Y2=l0.div.querySelector("input[name='genre']").value,T2={artist:L1.length>0?L1:void 0,album:t2.length>0?t2:void 0,title:y1.length>0?y1:void 0,genre:Y2.length>0?Y2:void 0};this._doExportAudioData(u1,parseInt(F),R0,T2,parseInt(q0))}}];Pt(this.localeManager.getLocaleString(o+"title"),m0,9999999,!0,this.localeManager)}async function ek(){let o=await this.seq.getMIDI();lh(o,await this.synth.getSynthesizerSnapshot());let r=yC(o),l=new Blob([r],{type:"audio/mid"});this.saveBlob(l,`${this.seqUI.currentSongTitle||"unnamed_song"}.mid`)}function tk(o,r){ri("%cSearching for all used programs and keys...",D1.info);let l=16+o.midiPortChannelOffsets.reduce((F,q0)=>q0>F?q0:F),g=[];for(let F=0;F{o0[L1]>=R0.length||R0[o0[L1]].ticks0;){let F=m0(),q0=o.tracks[F];if(o0[F]>=q0.length){E0--;continue}let R0=q0[o0[F]];if(o0[F]++,R0.messageStatusByte===K3.midiPort){l0[F]=R0.messageData[0];continue}let L1=R0.messageStatusByte&240;if(L1!==K3.noteOn&&L1!==K3.controllerChange&&L1!==K3.programChange&&L1!==K3.systemExclusive)continue;let t2=(R0.messageStatusByte&15)+o.midiPortChannelOffsets[l0[F]]||0,y1=g[t2];switch(L1){case K3.programChange:y1.program=R0.messageData[0],f(y1);break;case K3.controllerChange:if(R0.messageData[0]!==B3.bankSelect||u1==="gs"&&y1.drums)continue;let Y2=R0.messageData[1],T2=Math.max(0,Y2-o.bankOffset);if(u1==="xg"){let r3=Y2===120||Y2===126||Y2===127;r3!==y1.drums?(y1.drums=r3,y1.bank=y1.drums?128:T2,f(y1)):y1.bank=y1.drums?128:T2;continue}g[t2].bank=T2;break;case K3.noteOn:if(R0.messageData[1]===0)continue;f(y1),D[y1.string].add(`${R0.messageData[0]}-${R0.messageData[1]}`);break;case K3.systemExclusive:if(R0.messageData[0]!==65||R0.messageData[2]!==66||R0.messageData[3]!==18||R0.messageData[4]!==64||!(R0.messageData[5]&16)||R0.messageData[6]!==21){R0.messageData[0]===67&&R0.messageData[2]===76&&R0.messageData[5]===126&&R0.messageData[6]===0&&(u1="xg");continue}let V2=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][R0.messageData[5]&15]+o.midiPortChannelOffsets[l0[F]],i3=!!(R0.messageData[7]>0&&R0.messageData[5]>>4);y1=g[V2],y1.drums=i3,y1.bank=i3?128:0,f(y1);break}}for(let F of Object.keys(D))D[F].size===0&&(W5(`%cDetected change but no keys for %c${F}`,D1.info,D1.value),delete D[F]);return i4(),D}function UC(o,r){function l(f,D){let o0=0;for(let E0=0;E0=l0.min&&q0.key<=l0.max&&q0.velocity>=u1.min&&q0.velocity<=u1.max){F=!0;break}F||(W5(`%c${m0.sample.sampleName} %cremoved from %c${f.instrumentName}%c. Use count: %c${m0.useCount-1}`,D1.recognized,D1.info,D1.recognized,D1.info,D1.recognized),f.safeDeleteZone(E0)&&(o0++,E0--,W5(`%c${m0.sample.sampleName} %cdeleted`,D1.recognized,D1.info)),m0.sample.useCount<1&&o.deleteSample(m0.sample))}return o0}cr("%cTrimming soundfont...",D1.info);let g=tk(r,o);ri("%cModifying soundfont...",D1.info),W5("Detected keys for midi:",g);for(let f=0;f{let F=u1.split("-");return{key:parseInt(F[0]),velocity:parseInt(F[1])}});ri(`%cTrimming %c${D.presetName}`,D1.info,D1.recognized),W5(`Keys for ${D.presetName}:`,m0);let l0=0;for(let u1=0;u1=q0.min&&t2.key<=q0.max&&t2.velocity>=R0.min&&t2.velocity<=R0.max){L1=!0;let y1=l(F.instrument,m0);W5(`%cTrimmed off %c${y1}%c zones from %c${F.instrument.instrumentName}`,D1.info,D1.recognized,D1.info,D1.recognized);break}L1||(l0++,D.deleteZone(u1),F.instrument.useCount<1&&o.deleteInstrument(F.instrument),u1--)}W5(`%cTrimmed off %c${l0}%c zones from %c${D.presetName}`,D1.info,D1.recognized,D1.info,D1.recognized),i4()}}o.removeUnusedElements(),o.soundFontInfo.ICMT=`NOTE: This soundfont was trimmed by SpessaSynth to only contain presets used in "${r.midiName}" +`,""),f=(F0,b1,l2=!0)=>{let y1=document.getElementById(F0);if(b1.length>0)if(y1.parentElement.classList.remove("hidden"),y1.innerHTML="",b1.length>30&&l2){y1.classList.add("marquee");let Y2=document.createElement("span");Y2.textContent=b1,y1.appendChild(Y2)}else y1.textContent=b1;else y1.parentElement.classList.add("hidden")};f("player_info_detail",g),f("player_info_time",I$(this.seq.duration).time),f("player_info_file_name",l.fileName,!1);let D=(F0,b1,l2,y1="")=>this.seq.midiData.RMIDInfo?.[F0]===void 0?b1:y1+l2.decode(this.seq.midiData.RMIDInfo?.[F0]).replace(/\0$/,""),o0=D("IENC","ascii",new TextDecoder),E0=new TextDecoder(o0);f("player_info_album",D("IPRD","",E0)),f("player_info_artist",D("IART","",E0)),f("player_info_genre",D("IGNR","",E0)),f("player_info_creation",D("ICRD","",E0)+D("ICRT","",E0,` +`)),f("player_info_comment",D("ICMT","",E0));let m0=this.mainDiv.getElementsByTagName("svg")[0],c0=this.mainDiv.getElementsByTagName("img")[0],f1=document.getElementById("player_info_background_image");if(!l.isEmbedded){m0.style.display="",c0.style.display="none",f1.style.setProperty("--bg-image","undefined");return}if(l.RMIDInfo.IPIC===void 0){m0.style.display="",c0.style.display="none",f1.style.setProperty("--bg-image","undefined");return}m0.style.display="none",c0.style.display="";let x=new Blob([l.RMIDInfo.IPIC.buffer]),X0=URL.createObjectURL(x);c0.src=X0,f1.style.setProperty("--bg-image",`url('${X0}')`)},"player-js-song-change")}setVisibility(r,l){if(r===this.visible)return;this.visible=r,this.timeoutId&&clearTimeout(this.timeoutId);let g=this.mainDiv;if(r){l.classList.add("out_animation"),this.savedCKWrapperHeight=l.clientHeight;let f=l.clientHeight,D=l.getBoundingClientRect().top;g.style.position="absolute",g.style.top=`${D}px`,g.style.height=`${f}px`,g.style.display="flex",setTimeout(()=>{g.classList.add("player_info_show"),document.body.style.overflow="hidden"},75),this.timeoutId=setTimeout(async()=>{l.style.display="none",g.style.position="",g.style.top="",g.style.height="",document.body.style.overflow=""},Zw*1e3)}else{let f=g.getBoundingClientRect().top;l.style.display="",l.style.position="absolute",l.style.top=`${f}px`,l.style.height=`${this.savedCKWrapperHeight}px`,g.classList.remove("player_info_show"),setTimeout(()=>{l.classList.remove("out_animation"),document.body.style.overflow="hidden"},75),this.timeoutId=setTimeout(()=>{g.style.display="none",l.style.position="",l.style.top="",l.style.height="",document.body.style.overflow=""},Zw*1e3)}}};var NC=class{onLocaleChanged=[];constructor(r){this.locale=w$[r]||w$[UB],this.fallbackLocale=w$[UB],this.localeCode=r,this._boundObjectProperties=[]}getLocaleString(r,l=[]){let g=this._resolveLocalePath(r);return l.length>0?this._formatLocale(g,l):g}_applyPropertyInternal(r){if(r.isEdited)return;let l=this._resolveLocalePath(r.localePath);r.formattingArguments.length>0&&(l=this._formatLocale(l,r.formattingArguments)),r.object[r.propertyName]=l}_validatePropertyIntegrity(r){let l=this._resolveLocalePath(r.localePath);r.formattingArguments.length>0&&(l=this._formatLocale(l,r.formattingArguments)),r.object[r.propertyName]!==l&&(r.isEdited=!0)}_formatLocale(r,l){return r.replace(/{(\d+)}/g,(g,f)=>typeof l[f]<"u"?l[f]:g)}bindObjectProperty(r,l,g,f=[]){let D={object:r,propertyName:l,localePath:g,formattingArguments:f,isEdited:!1};this._applyPropertyInternal(D),this._boundObjectProperties.push(D)}_resolveLocalePath(r,l=!1){if(!r.startsWith("locale."))throw new Error(`Invalid locale path: ${r} (it should start with "locale.")`);let g=r.split("."),f=l?this.fallbackLocale:this.locale;for(let D=1;D{this._validatePropertyIntegrity(f)}),this.locale=g,this._boundObjectProperties.forEach(f=>{this._applyPropertyInternal(f)}),this.onLocaleChanged.forEach(f=>f())}};function PB(o,r=!0,l=0,g={},f=void 0){let D=o.getChannelData(l),o0=o.getChannelData(l+1),E0=D.length,m0=2,c0=new V3(0),f1=Object.keys(g).length>0;if(f1){let A0=new TextEncoder,y5=[LA("INFO"),Ze("ICMT",A0.encode("Created with SpessaSynth"),!0)];g.artist&&y5.push(Ze("IART",A0.encode(g.artist),!0)),g.album&&y5.push(Ze("IPRD",A0.encode(g.album),!0)),g.genre&&y5.push(Ze("IGNR",A0.encode(g.genre),!0)),g.title&&y5.push(Ze("INAM",A0.encode(g.title),!0)),c0=Ze("LIST",bn(y5))}let x=new V3(0),X0=f?.end!==void 0&&f?.start!==void 0;if(X0){let A0=Math.floor(f.start*o.sampleRate),y5=Math.floor(f.end*o.sampleRate),T3=new V3(24);$7(T3,0,4),$7(T3,0,4),c7(T3,"data"),$7(T3,0,4),$7(T3,0,4),$7(T3,A0,4);let $3=new V3(24);$7($3,1,4),$7($3,0,4),c7($3,"data"),$7($3,0,4),$7($3,0,4),$7($3,y5,4);let w6=bn([new V3([2,0,0,0]),T3,$3]);x=Ze("cue ",w6)}let F0=44,b1=E0*2*m0,l2=F0+b1+c0.length+x.length-8,y1=new Uint8Array(F0);y1.set([82,73,70,70],0),y1.set(new Uint8Array([l2&255,l2>>8&255,l2>>16&255,l2>>24&255]),4),y1.set([87,65,86,69],8),y1.set([102,109,116,32],12),y1.set([16,0,0,0],16),y1.set([1,0],20),y1.set([2,0],22);let Y2=o.sampleRate;y1.set(new Uint8Array([Y2&255,Y2>>8&255,Y2>>16&255,Y2>>24&255]),24);let T2=Y2*2*m0;y1.set(new Uint8Array([T2&255,T2>>8&255,T2>>16&255,T2>>24&255]),28),y1.set([4,0],32),y1.set([16,0],34),y1.set([100,97,116,97],36),y1.set(new Uint8Array([b1&255,b1>>8&255,b1>>16&255,b1>>24&255]),40);let V2=new Uint8Array(l2+8),i3=F0;V2.set(y1,0);let r3=32767;if(r){let A0=D.map((y5,T3)=>Math.max(Math.abs(y5),Math.abs(o0[T3]))).reduce((y5,T3)=>Math.max(y5,T3));r3=A0>0?32767/A0:1}for(let A0=0;A0>8&255,V2[i3++]=T3&255,V2[i3++]=T3>>8&255}return f1&&(V2.set(c0,i3),i3+=c0.length),X0&&V2.set(x,i3),new Blob([V2.buffer],{type:"audio/wav"})}var GC="synthetizer/worklet_processor.min.js";var Ww=1e3;async function jw(o=!0,r=2,l=!1,g={},f=0){if(this.isExporting=!0,!this.seq)throw new Error("No sequencer active");let D=manager.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.message"),o0=manager.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.estimated"),E0=manager.localeManager.getLocaleString("locale.synthInit.genericLoading"),m0=Pt(D,[{type:"text",textContent:E0},{type:"progress"}],9999999,!1),c0=await this.seq.getMIDI(),f1=ym(c0.loop.start,c0),x=ym(c0.loop.end,c0),X0=x-f1,F0=c0.duration+r+X0*f,b1=this.context.sampleRate,l2=b1*F0,y1=new OfflineAudioContext({numberOfChannels:l?32:2,sampleRate:b1,length:l2});await y1.audioWorklet.addModule(new URL("../../spessasynth_lib/"+GC,import.meta.url));let Y2=await this.synth.getSynthesizerSnapshot(),T2=this.soundFont,V2;try{V2=new ah(y1.destination,T2,!1,{parsedMIDI:c0,snapshot:Y2,oneOutput:l,loopCount:f},{reverbEnabled:!0,chorusEnabled:!0,chorusConfig:void 0,reverbImpulseResponse:this.impulseResponse})}catch(o9){throw Pt(this.localeManager.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}]),o9}let i3=m0.div.getElementsByTagName("p")[0],r3=m0.div.getElementsByClassName("notification_progress")[0],A0=Ww/1e3,y5=V2.currentTime,T3=F0,$3=.1,w6=setInterval(()=>{let o9=V2.currentTime-y5;y5=V2.currentTime;let J4=V2.currentTime/F0;r3.style.width=`${J4*100}%`;let r4=o9/A0,V6=(1-J4)/r4*F0;V6!==1/0&&(T3=$3*V6+(1-$3)*T3,i3.innerText=`${o0} ${I$(T3).time}`)},Ww),s6=await y1.startRendering();if(r3.style.width="100%",clearInterval(w6),i3.innerText=this.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.convertWav"),await new Promise(o9=>setTimeout(o9,75)),l){let o9="locale.exportAudio.formats.formats.wav.options.separateChannels.saving.",J4=[],r4=new Set;for(let We of c0.usedChannelsOnTrack)We.forEach(qr=>r4.add(qr));for(let We=0;We<16;We++){let qr=!0;for(let Ji=We;Ji{let Ms=PA.textContent;PA.textContent=this.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.convertWav"),await new Promise(KC=>setTimeout(KC,75));let bm=PB(s6,!1,We*2),S$=`${We+1} - ${Y2.channelSnapshots[We].patchName}.wav`;this.saveBlob(bm,S$),PA.classList.add("green_button"),PA.textContent=Ms}})}let V6=Pt(this.localeManager.getLocaleString(o9+"title"),J4,99999999,!0,void 0,{display:"flex",flexWrap:"wrap",flexDirection:"row"});V6.div.style.width="30rem"}else{let o9=ym(c0.firstNoteOn,c0),J4=f1-o9,r4=x-o9,V6;f===0&&(V6={start:J4,end:r4});let We=PB(s6,o,0,g,V6);this.saveBlob(We,`${this.seqUI.currentSongTitle||"unnamed_song"}.wav`)}h7(m0.id),this.isExporting=!1}async function Xw(){if(this.isExporting)return;let o="locale.exportAudio.formats.formats.wav.options.",r="locale.exportAudio.formats.metadata.",l=(c0,f1,x)=>this.seq.midiData.RMIDInfo?.[c0]===void 0?f1:x.decode(this.seq.midiData.RMIDInfo?.[c0]).replace(/\0$/,""),g=l("IENC","ascii",new TextDecoder),f=new TextDecoder(g),D=l("IPRD","",f),o0=l("IART","",f),E0=l("IGNR","",f),m0=[{type:"toggle",translatePathTitle:o+"normalizeVolume",attributes:{"normalize-volume-toggle":"1",checked:"true"}},{type:"input",translatePathTitle:o+"additionalTime",attributes:{value:"2",type:"number","additional-time":"1"}},{type:"input",translatePathTitle:o+"loopCount",attributes:{value:"0",type:"number","loop-count":"1"}},{type:"toggle",translatePathTitle:o+"separateChannels",attributes:{"separate-channels-toggle":"1"}},{type:"input",translatePathTitle:r+"songTitle",attributes:{name:"song_title",type:"text",value:this.seqUI.currentSongTitle}},{type:"input",translatePathTitle:r+"album",attributes:{value:D,name:"album",type:"text"}},{type:"input",translatePathTitle:r+"artist",attributes:{value:o0,name:"artist",type:"text"}},{type:"input",translatePathTitle:r+"genre",attributes:{value:E0,name:"genre",type:"text"}},{type:"button",textContent:this.localeManager.getLocaleString(o+"confirm"),onClick:c0=>{h7(c0.id);let f1=c0.div.querySelector("input[normalize-volume-toggle]").checked,x=c0.div.querySelector("input[additional-time]").value,X0=c0.div.querySelector("input[loop-count]").value,F0=c0.div.querySelector("input[separate-channels-toggle]").checked,b1=c0.div.querySelector("input[name='artist']").value,l2=c0.div.querySelector("input[name='album']").value,y1=c0.div.querySelector("input[name='song_title']").value,Y2=c0.div.querySelector("input[name='genre']").value,T2={artist:b1.length>0?b1:void 0,album:l2.length>0?l2:void 0,title:y1.length>0?y1:void 0,genre:Y2.length>0?Y2:void 0};this._doExportAudioData(f1,parseInt(x),F0,T2,parseInt(X0))}}];Pt(this.localeManager.getLocaleString(o+"title"),m0,9999999,!0,this.localeManager)}async function ek(){let o=await this.seq.getMIDI();lh(o,await this.synth.getSynthesizerSnapshot());let r=yC(o),l=new Blob([r],{type:"audio/mid"});this.saveBlob(l,`${this.seqUI.currentSongTitle||"unnamed_song"}.mid`)}function tk(o,r){ri("%cSearching for all used programs and keys...",_1.info);let l=16+o.midiPortChannelOffsets.reduce((x,X0)=>X0>x?X0:x),g=[];for(let x=0;x{o0[b1]>=F0.length||F0[o0[b1]].ticks0;){let x=m0(),X0=o.tracks[x];if(o0[x]>=X0.length){E0--;continue}let F0=X0[o0[x]];if(o0[x]++,F0.messageStatusByte===K3.midiPort){c0[x]=F0.messageData[0];continue}let b1=F0.messageStatusByte&240;if(b1!==K3.noteOn&&b1!==K3.controllerChange&&b1!==K3.programChange&&b1!==K3.systemExclusive)continue;let l2=(F0.messageStatusByte&15)+o.midiPortChannelOffsets[c0[x]]||0,y1=g[l2];switch(b1){case K3.programChange:y1.program=F0.messageData[0],f(y1);break;case K3.controllerChange:if(F0.messageData[0]!==B3.bankSelect||f1==="gs"&&y1.drums)continue;let Y2=F0.messageData[1],T2=Math.max(0,Y2-o.bankOffset);if(f1==="xg"){let r3=Y2===120||Y2===126||Y2===127;r3!==y1.drums?(y1.drums=r3,y1.bank=y1.drums?128:T2,f(y1)):y1.bank=y1.drums?128:T2;continue}g[l2].bank=T2;break;case K3.noteOn:if(F0.messageData[1]===0)continue;f(y1),D[y1.string].add(`${F0.messageData[0]}-${F0.messageData[1]}`);break;case K3.systemExclusive:if(F0.messageData[0]!==65||F0.messageData[2]!==66||F0.messageData[3]!==18||F0.messageData[4]!==64||!(F0.messageData[5]&16)||F0.messageData[6]!==21){F0.messageData[0]===67&&F0.messageData[2]===76&&F0.messageData[5]===126&&F0.messageData[6]===0&&(f1="xg");continue}let V2=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][F0.messageData[5]&15]+o.midiPortChannelOffsets[c0[x]],i3=!!(F0.messageData[7]>0&&F0.messageData[5]>>4);y1=g[V2],y1.drums=i3,y1.bank=i3?128:0,f(y1);break}}for(let x of Object.keys(D))D[x].size===0&&(W5(`%cDetected change but no keys for %c${x}`,_1.info,_1.value),delete D[x]);return i4(),D}function UC(o,r){function l(f,D){let o0=0;for(let E0=0;E0=c0.min&&X0.key<=c0.max&&X0.velocity>=f1.min&&X0.velocity<=f1.max){x=!0;break}x||(W5(`%c${m0.sample.sampleName} %cremoved from %c${f.instrumentName}%c. Use count: %c${m0.useCount-1}`,_1.recognized,_1.info,_1.recognized,_1.info,_1.recognized),f.safeDeleteZone(E0)&&(o0++,E0--,W5(`%c${m0.sample.sampleName} %cdeleted`,_1.recognized,_1.info)),m0.sample.useCount<1&&o.deleteSample(m0.sample))}return o0}cr("%cTrimming soundfont...",_1.info);let g=tk(r,o);ri("%cModifying soundfont...",_1.info),W5("Detected keys for midi:",g);for(let f=0;f{let x=f1.split("-");return{key:parseInt(x[0]),velocity:parseInt(x[1])}});ri(`%cTrimming %c${D.presetName}`,_1.info,_1.recognized),W5(`Keys for ${D.presetName}:`,m0);let c0=0;for(let f1=0;f1=X0.min&&l2.key<=X0.max&&l2.velocity>=F0.min&&l2.velocity<=F0.max){b1=!0;let y1=l(x.instrument,m0);W5(`%cTrimmed off %c${y1}%c zones from %c${x.instrument.instrumentName}`,_1.info,_1.recognized,_1.info,_1.recognized);break}b1||(c0++,D.deleteZone(f1),x.instrument.useCount<1&&o.deleteInstrument(x.instrument),f1--)}W5(`%cTrimmed off %c${c0}%c zones from %c${D.presetName}`,_1.info,_1.recognized,_1.info,_1.recognized),i4()}}o.removeUnusedElements(),o.soundFontInfo.ICMT=`NOTE: This soundfont was trimmed by SpessaSynth to only contain presets used in "${r.midiName}" -`+o.soundFontInfo.ICMT,W5("%cSoundfont modified!",D1.recognized),i4(),i4()}function ik(){let o=4;for(let g of this.instruments)o+=g.instrumentZones.reduce((f,D)=>(D.generators=D.generators.filter(o0=>o0.generatorType!==v1.sampleID&&o0.generatorType!==v1.keyRange&&o0.generatorType!==v1.velRange),(D.velRange.max!==127||D.velRange.min!==0)&&D.generators.unshift({generatorType:v1.velRange,generatorValue:D.velRange.max<<8|D.velRange.min}),(D.keyRange.max!==127||D.keyRange.min!==0)&&D.generators.unshift({generatorType:v1.keyRange,generatorValue:D.keyRange.max<<8|D.keyRange.min}),D.isGlobal||D.generators.push({generatorType:v1.sampleID,generatorValue:this.samples.indexOf(D.sample)}),D.generators.length*4+f),0);let r=new V3(o),l=0;for(let g of this.instruments)for(let f of g.instrumentZones){f.generatorZoneStartIndex=l;for(let D of f.generators)Q9(r,D.generatorType),Q9(r,D.generatorValue),l++}return l7(r,0),ze(new me("igen",r.length,r))}function rk(o,r,l,g,f){let D=this.samples.map((l0,u1)=>{l&&l0.compressSample(g,f);let F=l0.getRawData();return W5(`%cEncoded sample %c${u1}. ${l0.sampleName}%c of %c${this.samples.length}`,D1.info,D1.recognized,D1.info,D1.recognized),F}),o0=this.samples.reduce((l0,u1,F)=>l0+D[F].length+46,0),E0=new V3(o0);this.samples.forEach((l0,u1)=>{let F=D[u1],q0,R0,L1=F.length;l0.isCompressed?(q0=E0.currentIndex,R0=q0+F.length):(q0=E0.currentIndex/2,R0=q0+F.length/2,L1+=46),o.push(q0),E0.set(F,E0.currentIndex),E0.currentIndex+=L1,r.push(R0)});let m0=ze(new me("smpl",E0.length,E0),new V3([115,100,116,97]));return ze(new me("LIST",m0.length,m0))}function nk(o,r){let g=new V3(46*(this.samples.length+1));return this.samples.forEach((f,D)=>{c7(g,f.sampleName,20);let o0=o[D];l7(g,o0);let E0=r[D];l7(g,E0);let m0=f.sampleLoopStartIndex+o0,l0=f.sampleLoopEndIndex+o0;f.isCompressed&&(m0-=o0,l0-=o0),l7(g,m0),l7(g,l0),l7(g,f.sampleRate),g[g.currentIndex++]=f.samplePitch,g[g.currentIndex++]=f.samplePitchCorrection,Q9(g,f.sampleLink),Q9(g,f.sampleType)}),c7(g,"EOS",46),ze(new me("shdr",g.length,g))}function sk(){let o=10;for(let g of this.instruments)o+=g.instrumentZones.reduce((f,D)=>D.modulators.length*10+f,0);let r=new V3(o),l=0;for(let g of this.instruments)for(let f of g.instrumentZones){f.modulatorZoneStartIndex=l;for(let D of f.modulators)Q9(r,D.sourceEnum),Q9(r,D.modulatorDestination),Q9(r,D.transformAmount),Q9(r,D.secondarySourceEnum),Q9(r,D.transformType),l++}return $7(r,0,10),ze(new me("imod",r.length,r))}function ok(){let o=this.instruments.reduce((D,o0)=>o0.instrumentZones.length*4+D,4),r=new V3(o),l=0,g=0,f=0;for(let D of this.instruments){D.instrumentZoneIndex=l;for(let o0 of D.instrumentZones)o0.zoneID=l,Q9(r,g),Q9(r,f),g+=o0.generators.length,f+=o0.modulators.length,l++}return Q9(r,g),Q9(r,f),ze(new me("ibag",r.length,r))}function Ak(){let o=this.instruments.length*22+22,r=new V3(o),l=0,g=0;for(let f of this.instruments)c7(r,f.instrumentName,20),Q9(r,l),l+=f.instrumentZones.length,f.instrumentID=g,g++;return c7(r,"EOI",20),Q9(r,l),ze(new me("inst",r.length,r))}function ak(){let o=4;for(let g of this.presets)o+=g.presetZones.reduce((f,D)=>(D.generators=D.generators.filter(o0=>o0.generatorType!==v1.instrument&&o0.generatorType!==v1.keyRange&&o0.generatorType!==v1.velRange),(D.velRange.max!==127||D.velRange.min!==0)&&D.generators.unshift({generatorType:v1.velRange,generatorValue:D.velRange.max<<8|D.velRange.min}),(D.keyRange.max!==127||D.keyRange.min!==0)&&D.generators.unshift({generatorType:v1.keyRange,generatorValue:D.keyRange.max<<8|D.keyRange.min}),D.isGlobal||D.generators.push({generatorType:v1.instrument,generatorValue:this.instruments.indexOf(D.instrument)}),D.generators.length*4+f),0);let r=new V3(o),l=0;for(let g of this.presets)for(let f of g.presetZones){f.generatorZoneStartIndex=l;for(let D of f.generators)Q9(r,D.generatorType),Q9(r,D.generatorValue);l+=f.generators.length}return Q9(r,0),Q9(r,0),ze(new me("pgen",r.length,r))}function $k(){let o=10;for(let g of this.presets)o+=g.presetZones.reduce((f,D)=>D.modulators.length*10+f,0);let r=new V3(o),l=0;for(let g of this.presets)for(let f of g.presetZones){f.modulatorZoneStartIndex=l;for(let D of f.modulators)Q9(r,D.sourceEnum),Q9(r,D.modulatorDestination),Q9(r,D.transformAmount),Q9(r,D.secondarySourceEnum),Q9(r,D.transformType),l++}return $7(r,0,10),ze(new me("pmod",r.length,r))}function lk(){let o=this.presets.reduce((D,o0)=>o0.presetZones.length*4+D,4),r=new V3(o),l=0,g=0,f=0;for(let D of this.presets){D.presetZoneStartIndex=l;for(let o0 of D.presetZones)o0.zoneID=l,Q9(r,g),Q9(r,f),g+=o0.generators.length,f+=o0.modulators.length,l++}return Q9(r,g),Q9(r,f),ze(new me("pbag",r.length,r))}function ck(){let o=this.presets.length*38+38,r=new V3(o),l=0;for(let g of this.presets)c7(r,g.presetName,20),Q9(r,g.program),Q9(r,g.bank),Q9(r,l),l7(r,g.library),l7(r,g.genre),l7(r,g.morphology),l+=g.presetZones.length;return c7(r,"EOP",20),Q9(r,0),Q9(r,0),Q9(r,l),l7(r,0),l7(r,0),l7(r,0),ze(new me("phdr",r.length,r))}var rD={compress:!1,compressionQuality:.5,compressionFunction:void 0};function gk(o=rD){if(o.compress&&typeof o.compressionFunction!="function")throw new TypeError("No compression function supplied but compression enabled.");ri("%cSaving soundfont...",D1.info),W5(`%cCompression: %c${o?.compress||"false"}%c quality: %c${o?.compressionQuality||"none"}`,D1.info,D1.recognized,D1.info,D1.recognized),W5("%cWriting INFO...",D1.info);let r=[];this.soundFontInfo.ISFT="SpessaSynth",o?.compress&&(this.soundFontInfo.ifil="3.0");for(let[i3,r3]of Object.entries(this.soundFontInfo))if(i3==="ifil"||i3==="iver"){let A0=parseInt(r3.split(".")[0]),y5=parseInt(r3.split(".")[1]),T3=new V3(4);Q9(T3,A0),Q9(T3,y5),r.push(ze(new me(i3,4,T3)))}else if(i3==="DMOD")r.push(ze(new me(i3,r3.length,r3)));else{let A0=new V3(r3.length);c7(A0,r3),r.push(ze(new me(i3,r3.length,A0)))}let l=bn([new V3([73,78,70,79]),...r]),g=ze(new me("LIST",l.length,l));W5("%cWriting SDTA...",D1.info);let f=[],D=[],o0=rk.call(this,f,D,o?.compress,o?.compressionQuality||.5,o.compressionFunction);W5("%cWriting PDTA...",D1.info),W5("%cWriting SHDR...",D1.info);let E0=nk.call(this,f,D);W5("%cWriting IGEN...",D1.info);let m0=ik.call(this);W5("%cWriting IMOD...",D1.info);let l0=sk.call(this);W5("%cWriting IBAG...",D1.info);let u1=ok.call(this);W5("%cWriting INST...",D1.info);let F=Ak.call(this),q0=ak.call(this);W5("%cWriting PMOD...",D1.info);let R0=$k.call(this);W5("%cWriting PBAG...",D1.info);let L1=lk.call(this);W5("%cWriting PHDR...",D1.info);let t2=ck.call(this),y1=bn([new V3([112,100,116,97]),t2,L1,R0,q0,F,u1,l0,m0,E0]),Y2=ze(new me("LIST",y1.length,y1));W5("%cWriting the output file...",D1.info);let T2=bn([new V3([115,102,98,107]),g,o0,Y2]),V2=ze(new me("RIFF",T2.length,T2));return W5(`%cSaved succesfully! Final file size: %c${V2.length}`,D1.info,D1.recognized),i4(),V2}var k$=class o{constructor(r=void 0){this.soundFontInfo={},this.presets=[],this.samples=[],this.instruments=[],this.defaultModulators=EC.map(l=>se.copy(l)),r?.presets&&(this.presets.push(...r.presets),this.soundFontInfo=r.info)}static mergeSoundfonts(...r){let l=r.shift(),g=l.presets;for(;r.length;)r.shift().presets.forEach(D=>{g.find(o0=>o0.bank===D.bank&&o0.program===D.program)===void 0&&g.push(D)});return new o({presets:g,info:l.soundFontInfo})}removeUnusedElements(){this.instruments.forEach(r=>{r.useCount<1&&r.instrumentZones.forEach(l=>{l.isGlobal||l.sample.useCount--})}),this.instruments=this.instruments.filter(r=>r.useCount>0),this.samples=this.samples.filter(r=>r.useCount>0)}deleteInstrument(r){if(r.useCount>0)throw new Error(`Cannot delete an instrument that has ${r.useCount} usages.`);this.instruments.splice(this.instruments.indexOf(r),1),r.deleteInstrument(),this.removeUnusedElements()}deletePreset(r){r.deletePreset(),this.presets.splice(this.presets.indexOf(r),1),this.removeUnusedElements()}deleteSample(r){if(r.useCount>0)throw new Error(`Cannot delete sample that has ${r.useCount} usages.`);this.samples.splice(this.samples.indexOf(r),1),this.removeUnusedElements()}setSampleIDOffset(r){this.presets.forEach(l=>l.sampleIDOffset=r)}getPresetNoFallback(r,l,g=!1){let f=this.presets.find(D=>D.bank===r&&D.program===l);if(f)return f;if(g!==!1)return r===128?this.presets.find(D=>D.bank===128):this.presets.find(D=>D.program===l)}getPreset(r,l){let g=this.presets.find(f=>f.bank===r&&f.program===l);return g||(r===128?(g=this.presets.find(f=>f.bank===128&&f.program===l),g||(g=this.presets.find(f=>f.bank===128))):g=this.presets.find(f=>f.program===l&&f.bank!==128),g&&Ie(`%cPreset ${r}.${l} not found. Replaced with %c${g.presetName} (${g.bank}.${g.program})`,D1.warn,D1.recognized)),g||(Ie(`Preset ${l} not found. Defaulting to`,this.presets[0].presetName),g=this.presets[0]),g}getPresetByName(r){let l=this.presets.find(g=>g.presetName===r);return l||(Ie("Preset not found. Defaulting to:",this.presets[0].presetName),l=this.presets[0]),l}};k$.prototype.write=gk;function hk(o){ri("%cLoading instruments...",D1.info);for(let r=0;rr.deleteZone()),this.presetZones.length=0}deleteZone(r){this.presetZones[r].deleteZone(),this.presetZones.splice(r,1)}preload(r,l){for(let g=r;g{D.sample.isSampleLoaded||D.sample.getAudioData()})}preloadSpecific(r,l){this.getSamplesAndGenerators(r,l).forEach(g=>{g.sample.isSampleLoaded||g.sample.getAudioData()})}getSamplesAndGenerators(r,l){let g=this.foundSamplesAndGenerators[r][l];if(g)return g;if(this.presetZones.length<1)return[];function f(F,q0,R0){return R0>=F&&R0<=q0}function D(F,q0){F.push(...q0.filter(R0=>!F.find(L1=>L1.generatorType===R0.generatorType)))}function o0(F,q0){F.push(...q0.filter(R0=>!F.find(L1=>se.isIdentical(R0,L1))))}let E0=[],m0=this.presetZones[0].isGlobal?[...this.presetZones[0].generators]:[],l0=this.presetZones[0].isGlobal?[...this.presetZones[0].modulators]:[];return this.presetZones.filter(F=>f(F.keyRange.min,F.keyRange.max,r)&&f(F.velRange.min,F.velRange.max,l)&&!F.isGlobal).forEach(F=>{if(F.instrument.instrumentZones.length<1)return;let q0=F.generators,R0=F.modulators,L1=F.instrument.instrumentZones[0].isGlobal?[...F.instrument.instrumentZones[0].generators]:[],t2=F.instrument.instrumentZones[0].isGlobal?[...F.instrument.instrumentZones[0].modulators]:[];F.instrument.instrumentZones.filter(Y2=>f(Y2.keyRange.min,Y2.keyRange.max,r)&&f(Y2.velRange.min,Y2.velRange.max,l)&&!Y2.isGlobal).forEach(Y2=>{let T2=[...Y2.generators],V2=[...Y2.modulators];D(q0,m0),D(T2,L1),o0(R0,l0),o0(V2,t2),o0(V2,this.defaultModulators);let i3=[...V2];for(let r3=0;r3se.isIdentical(A0,T3));y5!==-1?i3[y5]=i3[y5].sumTransform(A0):i3.push(A0)}E0.push({instrumentGenerators:T2,presetGenerators:q0,modulators:i3,sample:Y2.sample,sampleID:Y2.generators.find(r3=>r3.generatorType===v1.sampleID).generatorValue})})}),this.foundSamplesAndGenerators[r][l]=E0,E0}};var Sm=class{velRange={min:0,max:127};keyRange={min:0,max:127};isGlobal=!1;generators=[];modulators=[]};var GA=class extends Sm{sample=void 0;useCount=0;deleteZone(){this.useCount--,!this.isGlobal&&this.sample.useCount--}},fh=class extends Sm{instrument=void 0;deleteZone(){this.isGlobal||this.instrument.removeUseCount()}};var dh=class{constructor(){this.instrumentName="",this.instrumentZones=[],this._useCount=0}get useCount(){return this._useCount}addUseCount(){this._useCount++,this.instrumentZones.forEach(r=>r.useCount++)}removeUseCount(){this._useCount--;for(let r=0;rr.deleteZone()),this.instrumentZones.length=0}safeDeleteZone(r){return this.instrumentZones[r].useCount--,this.instrumentZones[r].useCount<1?(this.deleteZone(r),!0):!1}deleteZone(r){this.instrumentZones[r].deleteZone(),this.instrumentZones.splice(r,1)}};var PC=class extends uh{constructor(r,l){super(EC),this.program=l&127,this.bank=r>>8&127,r>>31&&(this.bank=128),this.DLSInstrument=new dh,this.DLSInstrument.addUseCount();let f=new fh;f.instrument=this.DLSInstrument,this.presetZones=[f]}};function uk(o){this.verifyHeader(o,"LIST"),this.verifyText(Ee(o.chunkData,4),"ins ");let r=[];for(;o.chunkData.length>o.chunkData.currentIndex;)r.push(d4(o.chunkData));let l=r.find(R0=>R0.header==="insh");if(!l)throw i4(),new Error("No instrument header!");let g=o3(l.chunkData,4),f=o3(l.chunkData,4),D=o3(l.chunkData,4),o0=new PC(f,D),E0="unnamedPreset",m0=xi(r,"INFO");if(m0){let R0=d4(m0.chunkData);for(;R0.header!=="INAM";)R0=d4(m0.chunkData);E0=Ee(R0.chunkData,R0.chunkData.length).trim()}o0.presetName=E0,o0.DLSInstrument.instrumentName=E0,cr(`%cParsing %c"${E0}"%c...`,D1.info,D1.recognized,D1.info);let l0=xi(r,"lrgn");if(!l0)throw i4(),new Error("No region list!");let u1=new GA;u1.isGlobal=!0;let F=xi(r,"lart"),q0=xi(r,"lar2");this.readLart(F,q0,u1),o0.DLSInstrument.instrumentZones.push(u1);for(let R0=0;R0>10&15;Y2===Nr.linear&&y1!==Nr.linear&&(Y2=y1);let T2=g>>14&1,V2=g>>15&1;o0===v1.initialAttenuation&&(V2=!V2),F=Tr(Y2,T2,V2,E0.isCC,E0.enum)}let q0=g>>4&15,R0=g>>8&1,L1=g>>9&1,t2=Tr(q0,R0,L1,u1.isCC,u1.enum);if(m0){let y1=t2;t2=F,F=y1}return new se({srcEnum:F,secSrcEnum:t2,dest:o0,transform:0,amt:f})}function OB(o,r){let l=o.chunkData,g=[],f=[];o3(l,4);let D=o3(l,4);for(let o0=0;o0>16;if(E0===0&&m0===0&&u1===0){let R0;switch(l0){case m6.pan:R0=new W6(v1.pan,q0);break;case m6.gain:R0=new W6(v1.initialAttenuation,-q0*10/.4);break;case m6.filterCutoff:R0=new W6(v1.initialFilterFc,q0);break;case m6.filterQ:R0=new W6(v1.initialFilterQ,q0);break;case m6.modLfoFreq:R0=new W6(v1.freqModLFO,q0);break;case m6.modLfoDelay:R0=new W6(v1.delayModLFO,q0);break;case m6.vibLfoFreq:R0=new W6(v1.freqVibLFO,q0);break;case m6.vibLfoDelay:R0=new W6(v1.delayVibLFO,q0);break;case m6.volEnvDelay:R0=new W6(v1.delayVolEnv,q0);break;case m6.volEnvAttack:R0=new W6(v1.attackVolEnv,q0);break;case m6.volEnvHold:R0=new W6(v1.holdVolEnv,q0);break;case m6.volEnvDecay:R0=new W6(v1.decayVolEnv,q0);break;case m6.volEnvRelease:R0=new W6(v1.releaseVolEnv,q0);break;case m6.volEnvSustain:let L1=(1e3-q0)/10;R0=new W6(v1.sustainVolEnv,L1*10);break;case m6.modEnvDelay:R0=new W6(v1.delayModEnv,q0);break;case m6.modEnvAttack:R0=new W6(v1.attackModEnv,q0);break;case m6.modEnvHold:R0=new W6(v1.holdModEnv,q0);break;case m6.modEnvDecay:R0=new W6(v1.decayModEnv,q0);break;case m6.modEnvRelease:R0=new W6(v1.releaseModEnv,q0);break;case m6.modEnvSustain:let t2=1e3-q0;R0=new W6(v1.sustainModEnv,t2);break;case m6.reverbSend:R0=new W6(v1.reverbEffectsSend,q0);break;case m6.chorusSend:R0=new W6(v1.chorusEffectsSend,q0);break;case m6.pitch:let y1=Math.floor(q0/100),Y2=Math.floor(q0-y1*100);R0=new W6(v1.fineTune,Y2),g.push(new W6(v1.coarseTune,y1));break}R0&&g.push(R0)}else{let R0=!0;if(m0===w4.none)if(E0===w4.modLfo&&l0===m6.pitch)g.push(new W6(v1.modLfoToPitch,q0));else if(E0===w4.modLfo&&l0===m6.gain)g.push(new W6(v1.modLfoToVolume,q0));else if(E0===w4.modLfo&&l0===m6.filterCutoff)g.push(new W6(v1.modLfoToFilterFc,q0));else if(E0===w4.vibratoLfo&&l0===m6.pitch)g.push(new W6(v1.vibLfoToPitch,q0));else if(E0===w4.modEnv&&l0===m6.pitch)g.push(new W6(v1.modEnvToPitch,q0));else if(E0===w4.modEnv&&l0===m6.filterCutoff)g.push(new W6(v1.modEnvToFilterFc,q0));else if(E0===w4.keyNum&&l0===m6.volEnvHold){g.push(new W6(v1.keyNumToVolEnvHold,q0/-128));let L1=Math.round(60/128*q0);g.forEach(t2=>{t2.generatorType===v1.holdVolEnv&&(t2.generatorValue+=L1)})}else if(E0===w4.keyNum&&l0===m6.volEnvDecay){g.push(new W6(v1.keyNumToVolEnvDecay,q0/-128));let L1=Math.round(60/128*q0);g.forEach(t2=>{t2.generatorType===v1.decayVolEnv&&(t2.generatorValue+=L1)})}else if(E0===w4.keyNum&&l0===m6.modEnvHold){g.push(new W6(v1.keyNumToModEnvHold,q0/-128));let L1=Math.round(60/128*q0);g.forEach(t2=>{t2.generatorType===v1.holdModEnv&&(t2.generatorValue+=L1)})}else if(E0===w4.keyNum&&l0===m6.modEnvDecay){g.push(new W6(v1.keyNumToModEnvDecay,q0/-128));let L1=Math.round(60/128*q0);g.forEach(t2=>{t2.generatorType===v1.decayModEnv&&(t2.generatorValue+=L1)})}else R0=!1;else R0=!1;if(R0===!1){let L1=dk(E0,m0,l0,u1,q0);L1?(f.push(L1),W5("%cSucceeded converting to SF2 Modulator!",D1.recognized)):Ie("Failed converting to SF2 Modulator!")}}}return f.find(o0=>o0.modulatorDestination===v1.reverbEffectsSend)===void 0&&f.push(new se({srcEnum:219,dest:v1.reverbEffectsSend,amt:1e3,secSrcEnum:0,transform:0})),f.find(o0=>o0.modulatorDestination===v1.chorusEffectsSend)===void 0&&f.push(new se({srcEnum:221,dest:v1.chorusEffectsSend,amt:1e3,secSrcEnum:0,transform:0})),r&&f.push(new se({srcEnum:129,dest:v1.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0}),new se({srcEnum:13,dest:v1.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0})),{modulators:f,generators:g}}function Ik(o,r,l){if(o)for(;o.chunkData.currentIndexo.chunkData.currentIndex;)r.push(d4(o.chunkData));let l=r.find(T3=>T3.header==="rgnh"),g=o3(l.chunkData,2),f=o3(l.chunkData,2),D=o3(l.chunkData,2),o0=o3(l.chunkData,2),E0=new OC({min:g,max:f},{min:D,max:o0});o3(l.chunkData,2);let m0=o3(l.chunkData,2);m0!==0&&E0.generators.push(new W6(v1.exclusiveClass,m0));let l0=xi(r,"lart"),u1=xi(r,"lar2");this.readLart(l0,u1,E0),E0.isGlobal=!1;let F=r.find(T3=>T3.header==="wsmp");o3(F.chunkData,4);let q0=o3(F.chunkData,2),R0=RA(F.chunkData[F.chunkData.currentIndex++],F.chunkData[F.chunkData.currentIndex++]),t2=(o3(F.chunkData,4)|0)/-655360;o3(F.chunkData,4);let y1=o3(F.chunkData,4),Y2,T2={start:0,end:0};if(y1===0)Y2=0;else{o3(F.chunkData,4),o3(F.chunkData,4)===0?Y2=1:Y2=3,T2.start=o3(F.chunkData,4);let $3=o3(F.chunkData,4);T2.end=T2.start+$3}let V2=r.find(T3=>T3.header==="wlnk");if(V2===void 0)return;o3(V2.chunkData,2),o3(V2.chunkData,2),o3(V2.chunkData,4);let i3=o3(V2.chunkData,4),r3=this.samples[i3];if(r3===void 0)throw new Error("Invalid sample ID!");let y5=(t2||r3.sampleDbAttenuation)*10/.4;return E0.setWavesample(y5,Y2,T2,q0,r3,i3,R0),E0}var Ih=class{constructor(r,l,g,f,D,o0,E0,m0){this.sampleName=r,this.sampleRate=l,this.samplePitch=g,this.samplePitchCorrection=f,this.sampleLink=D,this.sampleType=o0,this.sampleLoopStartIndex=E0,this.sampleLoopEndIndex=m0,this.isCompressed=(o0&16)>0,this.compressedData=void 0,this.useCount=0}getRawData(){let r=new Error("Not implemented");throw r.name="NotImplementedError",r}compressSample(r,l){if(!this.isCompressed)try{this.compressedData=l([this.getAudioData()],1,this.sampleRate,r),this.sampleType|=16,this.isCompressed=!0}catch{Ie(`Failed to compress ${this.sampleName}. Leaving as uncompressed!`),this.isCompressed=!1,this.compressedData=void 0,this.sampleType&=-17}}getAudioData(){let r=new Error("Not implemented");throw r.name="NotImplementedError",r}};var qC=class extends Ih{sampleDbAttenuation;sampleData;constructor(r,l,g,f,D,o0,E0,m0){super(r,l,g,f,0,1,D,o0-1),this.sampleData=E0,this.sampleDbAttenuation=m0}getAudioData(){return this.sampleData}getRawData(){if(this.isCompressed){if(!this.compressedData)throw new Error("Compressed but no data??");return this.compressedData}let r=new Uint8Array(this.sampleData.length*2);for(let l=0;l>8&255}return r}};function mk(o){ri("%cLoading Wave samples...",D1.recognized);let r=0;for(;o.chunkData.currentIndex$3.header==="fmt ");if(!f)throw new Error("No fmt chunk in the wave file!");if(o3(f.chunkData,2)!==1)throw new Error("Only PCM format in WAVE is supported.");if(o3(f.chunkData,2)!==1)throw new Error("Only mono samples are supported.");let E0=o3(f.chunkData,4);o3(f.chunkData,4),o3(f.chunkData,2);let m0=o3(f.chunkData,2),l0=m0/8,u1=Math.pow(2,l0*8-1),F=Math.pow(2,l0*8),q0,R0=!1;m0===8?(q0=255,R0=!0):q0=u1;let L1=g.find($3=>$3.header==="data");if(!L1)throw new Error("No data chunk in the wave chunk!");let t2=L1.size/l0,y1=new Float32Array(t2);for(let $3=0;$3=u1&&(w6-=F),y1[$3]=w6/q0)}let Y2=60,T2=0,V2=0,i3=y1.length-1,r3=0,A0=g.find($3=>$3.header==="wsmp");if(A0){if(o3(A0.chunkData,4),Y2=o3(A0.chunkData,2),T2=RA(A0.chunkData[A0.chunkData.currentIndex++],A0.chunkData[A0.chunkData.currentIndex++]),r3=(o3(A0.chunkData,4)|0)/-655360,o3(A0.chunkData,4),o3(A0.chunkData,4)===1){o3(A0.chunkData,8),V2=o3(A0.chunkData,4);let s6=o3(A0.chunkData,4);i3=V2+s6}}else Ie("No wsmp chunk in wave... using sane defaults.");let y5=xi(g,"INFO"),T3=`Unnamed ${r}`;if(y5){let $3=d4(y5.chunkData);for(;$3.header!=="INAM"&&y5.chunkData.currentIndex(D.generators=D.generators.filter(o0=>o0.generatorType!==v1.sampleID&&o0.generatorType!==v1.keyRange&&o0.generatorType!==v1.velRange),(D.velRange.max!==127||D.velRange.min!==0)&&D.generators.unshift({generatorType:v1.velRange,generatorValue:D.velRange.max<<8|D.velRange.min}),(D.keyRange.max!==127||D.keyRange.min!==0)&&D.generators.unshift({generatorType:v1.keyRange,generatorValue:D.keyRange.max<<8|D.keyRange.min}),D.isGlobal||D.generators.push({generatorType:v1.sampleID,generatorValue:this.samples.indexOf(D.sample)}),D.generators.length*4+f),0);let r=new V3(o),l=0;for(let g of this.instruments)for(let f of g.instrumentZones){f.generatorZoneStartIndex=l;for(let D of f.generators)Q9(r,D.generatorType),Q9(r,D.generatorValue),l++}return l7(r,0),ze(new me("igen",r.length,r))}function rk(o,r,l,g,f){let D=this.samples.map((c0,f1)=>{l&&c0.compressSample(g,f);let x=c0.getRawData();return W5(`%cEncoded sample %c${f1}. ${c0.sampleName}%c of %c${this.samples.length}`,_1.info,_1.recognized,_1.info,_1.recognized),x}),o0=this.samples.reduce((c0,f1,x)=>c0+D[x].length+46,0),E0=new V3(o0);this.samples.forEach((c0,f1)=>{let x=D[f1],X0,F0,b1=x.length;c0.isCompressed?(X0=E0.currentIndex,F0=X0+x.length):(X0=E0.currentIndex/2,F0=X0+x.length/2,b1+=46),o.push(X0),E0.set(x,E0.currentIndex),E0.currentIndex+=b1,r.push(F0)});let m0=ze(new me("smpl",E0.length,E0),new V3([115,100,116,97]));return ze(new me("LIST",m0.length,m0))}function nk(o,r){let g=new V3(46*(this.samples.length+1));return this.samples.forEach((f,D)=>{c7(g,f.sampleName,20);let o0=o[D];l7(g,o0);let E0=r[D];l7(g,E0);let m0=f.sampleLoopStartIndex+o0,c0=f.sampleLoopEndIndex+o0;f.isCompressed&&(m0-=o0,c0-=o0),l7(g,m0),l7(g,c0),l7(g,f.sampleRate),g[g.currentIndex++]=f.samplePitch,g[g.currentIndex++]=f.samplePitchCorrection,Q9(g,f.sampleLink),Q9(g,f.sampleType)}),c7(g,"EOS",46),ze(new me("shdr",g.length,g))}function sk(){let o=10;for(let g of this.instruments)o+=g.instrumentZones.reduce((f,D)=>D.modulators.length*10+f,0);let r=new V3(o),l=0;for(let g of this.instruments)for(let f of g.instrumentZones){f.modulatorZoneStartIndex=l;for(let D of f.modulators)Q9(r,D.sourceEnum),Q9(r,D.modulatorDestination),Q9(r,D.transformAmount),Q9(r,D.secondarySourceEnum),Q9(r,D.transformType),l++}return $7(r,0,10),ze(new me("imod",r.length,r))}function ok(){let o=this.instruments.reduce((D,o0)=>o0.instrumentZones.length*4+D,4),r=new V3(o),l=0,g=0,f=0;for(let D of this.instruments){D.instrumentZoneIndex=l;for(let o0 of D.instrumentZones)o0.zoneID=l,Q9(r,g),Q9(r,f),g+=o0.generators.length,f+=o0.modulators.length,l++}return Q9(r,g),Q9(r,f),ze(new me("ibag",r.length,r))}function Ak(){let o=this.instruments.length*22+22,r=new V3(o),l=0,g=0;for(let f of this.instruments)c7(r,f.instrumentName,20),Q9(r,l),l+=f.instrumentZones.length,f.instrumentID=g,g++;return c7(r,"EOI",20),Q9(r,l),ze(new me("inst",r.length,r))}function ak(){let o=4;for(let g of this.presets)o+=g.presetZones.reduce((f,D)=>(D.generators=D.generators.filter(o0=>o0.generatorType!==v1.instrument&&o0.generatorType!==v1.keyRange&&o0.generatorType!==v1.velRange),(D.velRange.max!==127||D.velRange.min!==0)&&D.generators.unshift({generatorType:v1.velRange,generatorValue:D.velRange.max<<8|D.velRange.min}),(D.keyRange.max!==127||D.keyRange.min!==0)&&D.generators.unshift({generatorType:v1.keyRange,generatorValue:D.keyRange.max<<8|D.keyRange.min}),D.isGlobal||D.generators.push({generatorType:v1.instrument,generatorValue:this.instruments.indexOf(D.instrument)}),D.generators.length*4+f),0);let r=new V3(o),l=0;for(let g of this.presets)for(let f of g.presetZones){f.generatorZoneStartIndex=l;for(let D of f.generators)Q9(r,D.generatorType),Q9(r,D.generatorValue);l+=f.generators.length}return Q9(r,0),Q9(r,0),ze(new me("pgen",r.length,r))}function $k(){let o=10;for(let g of this.presets)o+=g.presetZones.reduce((f,D)=>D.modulators.length*10+f,0);let r=new V3(o),l=0;for(let g of this.presets)for(let f of g.presetZones){f.modulatorZoneStartIndex=l;for(let D of f.modulators)Q9(r,D.sourceEnum),Q9(r,D.modulatorDestination),Q9(r,D.transformAmount),Q9(r,D.secondarySourceEnum),Q9(r,D.transformType),l++}return $7(r,0,10),ze(new me("pmod",r.length,r))}function lk(){let o=this.presets.reduce((D,o0)=>o0.presetZones.length*4+D,4),r=new V3(o),l=0,g=0,f=0;for(let D of this.presets){D.presetZoneStartIndex=l;for(let o0 of D.presetZones)o0.zoneID=l,Q9(r,g),Q9(r,f),g+=o0.generators.length,f+=o0.modulators.length,l++}return Q9(r,g),Q9(r,f),ze(new me("pbag",r.length,r))}function ck(){let o=this.presets.length*38+38,r=new V3(o),l=0;for(let g of this.presets)c7(r,g.presetName,20),Q9(r,g.program),Q9(r,g.bank),Q9(r,l),l7(r,g.library),l7(r,g.genre),l7(r,g.morphology),l+=g.presetZones.length;return c7(r,"EOP",20),Q9(r,0),Q9(r,0),Q9(r,l),l7(r,0),l7(r,0),l7(r,0),ze(new me("phdr",r.length,r))}var rD={compress:!1,compressionQuality:.5,compressionFunction:void 0};function gk(o=rD){if(o.compress&&typeof o.compressionFunction!="function")throw new TypeError("No compression function supplied but compression enabled.");ri("%cSaving soundfont...",_1.info),W5(`%cCompression: %c${o?.compress||"false"}%c quality: %c${o?.compressionQuality||"none"}`,_1.info,_1.recognized,_1.info,_1.recognized),W5("%cWriting INFO...",_1.info);let r=[];this.soundFontInfo.ISFT="SpessaSynth",o?.compress&&(this.soundFontInfo.ifil="3.0");for(let[i3,r3]of Object.entries(this.soundFontInfo))if(i3==="ifil"||i3==="iver"){let A0=parseInt(r3.split(".")[0]),y5=parseInt(r3.split(".")[1]),T3=new V3(4);Q9(T3,A0),Q9(T3,y5),r.push(ze(new me(i3,4,T3)))}else if(i3==="DMOD")r.push(ze(new me(i3,r3.length,r3)));else{let A0=new V3(r3.length);c7(A0,r3),r.push(ze(new me(i3,r3.length,A0)))}let l=bn([new V3([73,78,70,79]),...r]),g=ze(new me("LIST",l.length,l));W5("%cWriting SDTA...",_1.info);let f=[],D=[],o0=rk.call(this,f,D,o?.compress,o?.compressionQuality||.5,o.compressionFunction);W5("%cWriting PDTA...",_1.info),W5("%cWriting SHDR...",_1.info);let E0=nk.call(this,f,D);W5("%cWriting IGEN...",_1.info);let m0=ik.call(this);W5("%cWriting IMOD...",_1.info);let c0=sk.call(this);W5("%cWriting IBAG...",_1.info);let f1=ok.call(this);W5("%cWriting INST...",_1.info);let x=Ak.call(this),X0=ak.call(this);W5("%cWriting PMOD...",_1.info);let F0=$k.call(this);W5("%cWriting PBAG...",_1.info);let b1=lk.call(this);W5("%cWriting PHDR...",_1.info);let l2=ck.call(this),y1=bn([new V3([112,100,116,97]),l2,b1,F0,X0,x,f1,c0,m0,E0]),Y2=ze(new me("LIST",y1.length,y1));W5("%cWriting the output file...",_1.info);let T2=bn([new V3([115,102,98,107]),g,o0,Y2]),V2=ze(new me("RIFF",T2.length,T2));return W5(`%cSaved succesfully! Final file size: %c${V2.length}`,_1.info,_1.recognized),i4(),V2}var k$=class o{constructor(r=void 0){this.soundFontInfo={},this.presets=[],this.samples=[],this.instruments=[],this.defaultModulators=EC.map(l=>se.copy(l)),r?.presets&&(this.presets.push(...r.presets),this.soundFontInfo=r.info)}static mergeSoundfonts(...r){let l=r.shift(),g=l.presets;for(;r.length;)r.shift().presets.forEach(D=>{g.find(o0=>o0.bank===D.bank&&o0.program===D.program)===void 0&&g.push(D)});return new o({presets:g,info:l.soundFontInfo})}removeUnusedElements(){this.instruments.forEach(r=>{r.useCount<1&&r.instrumentZones.forEach(l=>{l.isGlobal||l.sample.useCount--})}),this.instruments=this.instruments.filter(r=>r.useCount>0),this.samples=this.samples.filter(r=>r.useCount>0)}deleteInstrument(r){if(r.useCount>0)throw new Error(`Cannot delete an instrument that has ${r.useCount} usages.`);this.instruments.splice(this.instruments.indexOf(r),1),r.deleteInstrument(),this.removeUnusedElements()}deletePreset(r){r.deletePreset(),this.presets.splice(this.presets.indexOf(r),1),this.removeUnusedElements()}deleteSample(r){if(r.useCount>0)throw new Error(`Cannot delete sample that has ${r.useCount} usages.`);this.samples.splice(this.samples.indexOf(r),1),this.removeUnusedElements()}setSampleIDOffset(r){this.presets.forEach(l=>l.sampleIDOffset=r)}getPresetNoFallback(r,l,g=!1){let f=this.presets.find(D=>D.bank===r&&D.program===l);if(f)return f;if(g!==!1)return r===128?this.presets.find(D=>D.bank===128):this.presets.find(D=>D.program===l)}getPreset(r,l){let g=this.presets.find(f=>f.bank===r&&f.program===l);return g||(r===128?(g=this.presets.find(f=>f.bank===128&&f.program===l),g||(g=this.presets.find(f=>f.bank===128))):g=this.presets.find(f=>f.program===l&&f.bank!==128),g&&Ie(`%cPreset ${r}.${l} not found. Replaced with %c${g.presetName} (${g.bank}.${g.program})`,_1.warn,_1.recognized)),g||(Ie(`Preset ${l} not found. Defaulting to`,this.presets[0].presetName),g=this.presets[0]),g}getPresetByName(r){let l=this.presets.find(g=>g.presetName===r);return l||(Ie("Preset not found. Defaulting to:",this.presets[0].presetName),l=this.presets[0]),l}};k$.prototype.write=gk;function hk(o){ri("%cLoading instruments...",_1.info);for(let r=0;rr.deleteZone()),this.presetZones.length=0}deleteZone(r){this.presetZones[r].deleteZone(),this.presetZones.splice(r,1)}preload(r,l){for(let g=r;g{D.sample.isSampleLoaded||D.sample.getAudioData()})}preloadSpecific(r,l){this.getSamplesAndGenerators(r,l).forEach(g=>{g.sample.isSampleLoaded||g.sample.getAudioData()})}getSamplesAndGenerators(r,l){let g=this.foundSamplesAndGenerators[r][l];if(g)return g;if(this.presetZones.length<1)return[];function f(x,X0,F0){return F0>=x&&F0<=X0}function D(x,X0){x.push(...X0.filter(F0=>!x.find(b1=>b1.generatorType===F0.generatorType)))}function o0(x,X0){x.push(...X0.filter(F0=>!x.find(b1=>se.isIdentical(F0,b1))))}let E0=[],m0=this.presetZones[0].isGlobal?[...this.presetZones[0].generators]:[],c0=this.presetZones[0].isGlobal?[...this.presetZones[0].modulators]:[];return this.presetZones.filter(x=>f(x.keyRange.min,x.keyRange.max,r)&&f(x.velRange.min,x.velRange.max,l)&&!x.isGlobal).forEach(x=>{if(x.instrument.instrumentZones.length<1)return;let X0=x.generators,F0=x.modulators,b1=x.instrument.instrumentZones[0].isGlobal?[...x.instrument.instrumentZones[0].generators]:[],l2=x.instrument.instrumentZones[0].isGlobal?[...x.instrument.instrumentZones[0].modulators]:[];x.instrument.instrumentZones.filter(Y2=>f(Y2.keyRange.min,Y2.keyRange.max,r)&&f(Y2.velRange.min,Y2.velRange.max,l)&&!Y2.isGlobal).forEach(Y2=>{let T2=[...Y2.generators],V2=[...Y2.modulators];D(X0,m0),D(T2,b1),o0(F0,c0),o0(V2,l2),o0(V2,this.defaultModulators);let i3=[...V2];for(let r3=0;r3se.isIdentical(A0,T3));y5!==-1?i3[y5]=i3[y5].sumTransform(A0):i3.push(A0)}E0.push({instrumentGenerators:T2,presetGenerators:X0,modulators:i3,sample:Y2.sample,sampleID:Y2.generators.find(r3=>r3.generatorType===v1.sampleID).generatorValue})})}),this.foundSamplesAndGenerators[r][l]=E0,E0}};var Sm=class{velRange={min:0,max:127};keyRange={min:0,max:127};isGlobal=!1;generators=[];modulators=[]};var GA=class extends Sm{sample=void 0;useCount=0;deleteZone(){this.useCount--,!this.isGlobal&&this.sample.useCount--}},fh=class extends Sm{instrument=void 0;deleteZone(){this.isGlobal||this.instrument.removeUseCount()}};var dh=class{constructor(){this.instrumentName="",this.instrumentZones=[],this._useCount=0}get useCount(){return this._useCount}addUseCount(){this._useCount++,this.instrumentZones.forEach(r=>r.useCount++)}removeUseCount(){this._useCount--;for(let r=0;rr.deleteZone()),this.instrumentZones.length=0}safeDeleteZone(r){return this.instrumentZones[r].useCount--,this.instrumentZones[r].useCount<1?(this.deleteZone(r),!0):!1}deleteZone(r){this.instrumentZones[r].deleteZone(),this.instrumentZones.splice(r,1)}};var PC=class extends uh{constructor(r,l){super(EC),this.program=l&127,this.bank=r>>8&127,r>>31&&(this.bank=128),this.DLSInstrument=new dh,this.DLSInstrument.addUseCount();let f=new fh;f.instrument=this.DLSInstrument,this.presetZones=[f]}};function uk(o){this.verifyHeader(o,"LIST"),this.verifyText(Ee(o.chunkData,4),"ins ");let r=[];for(;o.chunkData.length>o.chunkData.currentIndex;)r.push(d4(o.chunkData));let l=r.find(F0=>F0.header==="insh");if(!l)throw i4(),new Error("No instrument header!");let g=o3(l.chunkData,4),f=o3(l.chunkData,4),D=o3(l.chunkData,4),o0=new PC(f,D),E0="unnamedPreset",m0=xi(r,"INFO");if(m0){let F0=d4(m0.chunkData);for(;F0.header!=="INAM";)F0=d4(m0.chunkData);E0=Ee(F0.chunkData,F0.chunkData.length).trim()}o0.presetName=E0,o0.DLSInstrument.instrumentName=E0,cr(`%cParsing %c"${E0}"%c...`,_1.info,_1.recognized,_1.info);let c0=xi(r,"lrgn");if(!c0)throw i4(),new Error("No region list!");let f1=new GA;f1.isGlobal=!0;let x=xi(r,"lart"),X0=xi(r,"lar2");this.readLart(x,X0,f1),o0.DLSInstrument.instrumentZones.push(f1);for(let F0=0;F0>10&15;Y2===Nr.linear&&y1!==Nr.linear&&(Y2=y1);let T2=g>>14&1,V2=g>>15&1;o0===v1.initialAttenuation&&(V2=!V2),x=Tr(Y2,T2,V2,E0.isCC,E0.enum)}let X0=g>>4&15,F0=g>>8&1,b1=g>>9&1,l2=Tr(X0,F0,b1,f1.isCC,f1.enum);if(m0){let y1=l2;l2=x,x=y1}return new se({srcEnum:x,secSrcEnum:l2,dest:o0,transform:0,amt:f})}function OB(o,r){let l=o.chunkData,g=[],f=[];o3(l,4);let D=o3(l,4);for(let o0=0;o0>16;if(E0===0&&m0===0&&f1===0){let F0;switch(c0){case m6.pan:F0=new W6(v1.pan,X0);break;case m6.gain:F0=new W6(v1.initialAttenuation,-X0*10/.4);break;case m6.filterCutoff:F0=new W6(v1.initialFilterFc,X0);break;case m6.filterQ:F0=new W6(v1.initialFilterQ,X0);break;case m6.modLfoFreq:F0=new W6(v1.freqModLFO,X0);break;case m6.modLfoDelay:F0=new W6(v1.delayModLFO,X0);break;case m6.vibLfoFreq:F0=new W6(v1.freqVibLFO,X0);break;case m6.vibLfoDelay:F0=new W6(v1.delayVibLFO,X0);break;case m6.volEnvDelay:F0=new W6(v1.delayVolEnv,X0);break;case m6.volEnvAttack:F0=new W6(v1.attackVolEnv,X0);break;case m6.volEnvHold:F0=new W6(v1.holdVolEnv,X0);break;case m6.volEnvDecay:F0=new W6(v1.decayVolEnv,X0);break;case m6.volEnvRelease:F0=new W6(v1.releaseVolEnv,X0);break;case m6.volEnvSustain:let b1=(1e3-X0)/10;F0=new W6(v1.sustainVolEnv,b1*10);break;case m6.modEnvDelay:F0=new W6(v1.delayModEnv,X0);break;case m6.modEnvAttack:F0=new W6(v1.attackModEnv,X0);break;case m6.modEnvHold:F0=new W6(v1.holdModEnv,X0);break;case m6.modEnvDecay:F0=new W6(v1.decayModEnv,X0);break;case m6.modEnvRelease:F0=new W6(v1.releaseModEnv,X0);break;case m6.modEnvSustain:let l2=1e3-X0;F0=new W6(v1.sustainModEnv,l2);break;case m6.reverbSend:F0=new W6(v1.reverbEffectsSend,X0);break;case m6.chorusSend:F0=new W6(v1.chorusEffectsSend,X0);break;case m6.pitch:let y1=Math.floor(X0/100),Y2=Math.floor(X0-y1*100);F0=new W6(v1.fineTune,Y2),g.push(new W6(v1.coarseTune,y1));break}F0&&g.push(F0)}else{let F0=!0;if(m0===w4.none)if(E0===w4.modLfo&&c0===m6.pitch)g.push(new W6(v1.modLfoToPitch,X0));else if(E0===w4.modLfo&&c0===m6.gain)g.push(new W6(v1.modLfoToVolume,X0));else if(E0===w4.modLfo&&c0===m6.filterCutoff)g.push(new W6(v1.modLfoToFilterFc,X0));else if(E0===w4.vibratoLfo&&c0===m6.pitch)g.push(new W6(v1.vibLfoToPitch,X0));else if(E0===w4.modEnv&&c0===m6.pitch)g.push(new W6(v1.modEnvToPitch,X0));else if(E0===w4.modEnv&&c0===m6.filterCutoff)g.push(new W6(v1.modEnvToFilterFc,X0));else if(E0===w4.keyNum&&c0===m6.volEnvHold){g.push(new W6(v1.keyNumToVolEnvHold,X0/-128));let b1=Math.round(60/128*X0);g.forEach(l2=>{l2.generatorType===v1.holdVolEnv&&(l2.generatorValue+=b1)})}else if(E0===w4.keyNum&&c0===m6.volEnvDecay){g.push(new W6(v1.keyNumToVolEnvDecay,X0/-128));let b1=Math.round(60/128*X0);g.forEach(l2=>{l2.generatorType===v1.decayVolEnv&&(l2.generatorValue+=b1)})}else if(E0===w4.keyNum&&c0===m6.modEnvHold){g.push(new W6(v1.keyNumToModEnvHold,X0/-128));let b1=Math.round(60/128*X0);g.forEach(l2=>{l2.generatorType===v1.holdModEnv&&(l2.generatorValue+=b1)})}else if(E0===w4.keyNum&&c0===m6.modEnvDecay){g.push(new W6(v1.keyNumToModEnvDecay,X0/-128));let b1=Math.round(60/128*X0);g.forEach(l2=>{l2.generatorType===v1.decayModEnv&&(l2.generatorValue+=b1)})}else F0=!1;else F0=!1;if(F0===!1){let b1=dk(E0,m0,c0,f1,X0);b1?(f.push(b1),W5("%cSucceeded converting to SF2 Modulator!",_1.recognized)):Ie("Failed converting to SF2 Modulator!")}}}return f.find(o0=>o0.modulatorDestination===v1.reverbEffectsSend)===void 0&&f.push(new se({srcEnum:219,dest:v1.reverbEffectsSend,amt:1e3,secSrcEnum:0,transform:0})),f.find(o0=>o0.modulatorDestination===v1.chorusEffectsSend)===void 0&&f.push(new se({srcEnum:221,dest:v1.chorusEffectsSend,amt:1e3,secSrcEnum:0,transform:0})),r&&f.push(new se({srcEnum:129,dest:v1.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0}),new se({srcEnum:13,dest:v1.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0})),{modulators:f,generators:g}}function Ik(o,r,l){if(o)for(;o.chunkData.currentIndexo.chunkData.currentIndex;)r.push(d4(o.chunkData));let l=r.find(T3=>T3.header==="rgnh"),g=o3(l.chunkData,2),f=o3(l.chunkData,2),D=o3(l.chunkData,2),o0=o3(l.chunkData,2),E0=new OC({min:g,max:f},{min:D,max:o0});o3(l.chunkData,2);let m0=o3(l.chunkData,2);m0!==0&&E0.generators.push(new W6(v1.exclusiveClass,m0));let c0=xi(r,"lart"),f1=xi(r,"lar2");this.readLart(c0,f1,E0),E0.isGlobal=!1;let x=r.find(T3=>T3.header==="wsmp");o3(x.chunkData,4);let X0=o3(x.chunkData,2),F0=RA(x.chunkData[x.chunkData.currentIndex++],x.chunkData[x.chunkData.currentIndex++]),l2=(o3(x.chunkData,4)|0)/-655360;o3(x.chunkData,4);let y1=o3(x.chunkData,4),Y2,T2={start:0,end:0};if(y1===0)Y2=0;else{o3(x.chunkData,4),o3(x.chunkData,4)===0?Y2=1:Y2=3,T2.start=o3(x.chunkData,4);let $3=o3(x.chunkData,4);T2.end=T2.start+$3}let V2=r.find(T3=>T3.header==="wlnk");if(V2===void 0)return;o3(V2.chunkData,2),o3(V2.chunkData,2),o3(V2.chunkData,4);let i3=o3(V2.chunkData,4),r3=this.samples[i3];if(r3===void 0)throw new Error("Invalid sample ID!");let y5=(l2||r3.sampleDbAttenuation)*10/.4;return E0.setWavesample(y5,Y2,T2,X0,r3,i3,F0),E0}var Ih=class{constructor(r,l,g,f,D,o0,E0,m0){this.sampleName=r,this.sampleRate=l,this.samplePitch=g,this.samplePitchCorrection=f,this.sampleLink=D,this.sampleType=o0,this.sampleLoopStartIndex=E0,this.sampleLoopEndIndex=m0,this.isCompressed=(o0&16)>0,this.compressedData=void 0,this.useCount=0}getRawData(){let r=new Error("Not implemented");throw r.name="NotImplementedError",r}compressSample(r,l){if(!this.isCompressed)try{this.compressedData=l([this.getAudioData()],1,this.sampleRate,r),this.sampleType|=16,this.isCompressed=!0}catch{Ie(`Failed to compress ${this.sampleName}. Leaving as uncompressed!`),this.isCompressed=!1,this.compressedData=void 0,this.sampleType&=-17}}getAudioData(){let r=new Error("Not implemented");throw r.name="NotImplementedError",r}};var qC=class extends Ih{sampleDbAttenuation;sampleData;constructor(r,l,g,f,D,o0,E0,m0){super(r,l,g,f,0,1,D,o0-1),this.sampleData=E0,this.sampleDbAttenuation=m0}getAudioData(){return this.sampleData}getRawData(){if(this.isCompressed){if(!this.compressedData)throw new Error("Compressed but no data??");return this.compressedData}let r=new Uint8Array(this.sampleData.length*2);for(let l=0;l>8&255}return r}};function mk(o){ri("%cLoading Wave samples...",_1.recognized);let r=0;for(;o.chunkData.currentIndex$3.header==="fmt ");if(!f)throw new Error("No fmt chunk in the wave file!");if(o3(f.chunkData,2)!==1)throw new Error("Only PCM format in WAVE is supported.");if(o3(f.chunkData,2)!==1)throw new Error("Only mono samples are supported.");let E0=o3(f.chunkData,4);o3(f.chunkData,4),o3(f.chunkData,2);let m0=o3(f.chunkData,2),c0=m0/8,f1=Math.pow(2,c0*8-1),x=Math.pow(2,c0*8),X0,F0=!1;m0===8?(X0=255,F0=!0):X0=f1;let b1=g.find($3=>$3.header==="data");if(!b1)throw new Error("No data chunk in the wave chunk!");let l2=b1.size/c0,y1=new Float32Array(l2);for(let $3=0;$3=f1&&(w6-=x),y1[$3]=w6/X0)}let Y2=60,T2=0,V2=0,i3=y1.length-1,r3=0,A0=g.find($3=>$3.header==="wsmp");if(A0){if(o3(A0.chunkData,4),Y2=o3(A0.chunkData,2),T2=RA(A0.chunkData[A0.chunkData.currentIndex++],A0.chunkData[A0.chunkData.currentIndex++]),r3=(o3(A0.chunkData,4)|0)/-655360,o3(A0.chunkData,4),o3(A0.chunkData,4)===1){o3(A0.chunkData,8),V2=o3(A0.chunkData,4);let s6=o3(A0.chunkData,4);i3=V2+s6}}else Ie("No wsmp chunk in wave... using sane defaults.");let y5=xi(g,"INFO"),T3=`Unnamed ${r}`;if(y5){let $3=d4(y5.chunkData);for(;$3.header!=="INAM"&&y5.chunkData.currentIndexm0.header==="colh");if(!D)throw i4(),new Error("No colh chunk!");this.instrumentAmount=o3(D.chunkData,4),W5(`%cInstruments amount: %c${this.instrumentAmount}`,D1.info,D1.recognized);let o0=xi(g,"wvpl");this.readDLSSamples(o0);let E0=xi(g,"lins");if(!E0)throw i4(),new Error("No lins chunk!");this.readDLSInstrumentList(E0),this.presets.sort((m0,l0)=>m0.program-l0.program+(m0.bank-l0.bank)),W5(`%cParsing finished! %c"${this.soundFontInfo.INAM||"UNNAMED"}"%c has %c${this.presets.length} %cpresets, - %c${this.instruments.length}%c instruments and %c${this.samples.length}%c samples.`,D1.info,D1.recognized,D1.info,D1.recognized,D1.info,D1.recognized,D1.info,D1.recognized,D1.info),i4()}verifyHeader(r,l){if(r.header.toLowerCase()!==l.toLowerCase())throw i4(),new SyntaxError(`Invalid DLS chunk header! Expected "${l.toLowerCase()}" got "${r.header.toLowerCase()}"`)}verifyText(r,l){if(r.toLowerCase()!==l.toLowerCase())throw i4(),new SyntaxError(`Invalid DLS soundfont! Expected "${l.toLowerCase()}" got "${r.toLowerCase()}"`)}};Fs.prototype.readDLSInstrumentList=hk;Fs.prototype.readDLSInstrument=uk;Fs.prototype.readRegion=Ek;Fs.prototype.readLart=Ik;Fs.prototype.readDLSSamples=mk;var UA=UA!==void 0?UA:{},Ck=!1,Bk;UA.isInitialized=new Promise(o=>Bk=o);var oD=function(o){var r,l,g,f,D,o0,E0,m0="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",l0="",u1=0;o=o.replace(/[^A-Za-z0-9\+\/\=]/g,"");do f=m0.indexOf(o.charAt(u1++)),D=m0.indexOf(o.charAt(u1++)),o0=m0.indexOf(o.charAt(u1++)),E0=m0.indexOf(o.charAt(u1++)),r=f<<2|D>>4,l=(15&D)<<4|o0>>2,g=(3&o0)<<6|E0,l0+=String.fromCharCode(r),o0!==64&&(l0+=String.fromCharCode(l)),E0!==64&&(l0+=String.fromCharCode(g));while(u11&&(A0.thisProgram=process.argv[1].replace(/\\/g,"/")),A0.arguments=process.argv.slice(2),typeof module<"u",process.on("uncaughtException",function(x0){if(!(x0 instanceof O$))throw x0}),process.on("unhandledRejection",function(x0,X0){process.exit(1)}),A0.quit=function(x0){process.exit(x0)},A0.inspect=function(){return"[Emscripten Module object]"}):s6?(typeof read<"u"&&(A0.read=function(X0){return read(X0)}),A0.readBinary=function(X0){var C1;return typeof readbuffer=="function"?new Uint8Array(readbuffer(X0)):(hr(typeof(C1=read(X0,"binary"))=="object"),C1)},typeof scriptArgs<"u"?A0.arguments=scriptArgs:typeof arguments<"u"&&(A0.arguments=arguments),typeof quit=="function"&&(A0.quit=function(x0){quit(x0)})):(T3||$3)&&(T3?document.currentScript&&(o9=document.currentScript.src):o9=self.location.href,o9=o9.indexOf("blob:")!==0?o9.split("/").slice(0,-1).join("/")+"/":"",A0.read=function(X0){var C1=new XMLHttpRequest;return C1.open("GET",X0,!1),C1.send(null),C1.responseText},$3&&(A0.readBinary=function(X0){var C1=new XMLHttpRequest;return C1.open("GET",X0,!1),C1.responseType="arraybuffer",C1.send(null),new Uint8Array(C1.response)}),A0.readAsync=function(X0,C1,S2){var W3=new XMLHttpRequest;W3.open("GET",X0,!0),W3.responseType="arraybuffer",W3.onload=function(){if(W3.status==200||W3.status==0&&W3.response){C1(W3.response);return}S2()},W3.onerror=S2,W3.send(null)},A0.setWindowTitle=function(x0){document.title=x0});var r4=A0.print||(typeof console<"u"?console.log.bind(console):typeof print<"u"?print:null),V6=A0.printErr||(typeof printErr<"u"?printErr:typeof console<"u"&&console.warn.bind(console)||r4);for(o in y5)y5.hasOwnProperty(o)&&(A0[o]=y5[o]);function We(x0){var X0=R0;return R0=R0+x0+15&-16,X0}function qr(x0){var X0=m0[V2>>2],C1=X0+x0+15&-16;return m0[V2>>2]=C1,C1>=_9&&!Hr()?(m0[V2>>2]=X0,0):X0}function Ji(x0,X0){return X0||(X0=16),x0=Math.ceil(x0/X0)*X0}function PA(x0){switch(x0){case"i1":case"i8":return 1;case"i16":return 2;case"i32":case"float":return 4;case"i64":case"double":return 8;default:if(x0[x0.length-1]==="*")return 4;if(x0[0]!=="i")return 0;var X0=parseInt(x0.substr(1));return hr(X0%8==0),X0/8}}function Ms(x0){Ms.shown||(Ms.shown={}),Ms.shown[x0]||(Ms.shown[x0]=1,V6(x0))}y5=void 0;var bm={"f64-rem":function(x0,X0){return x0%X0},debugger:function(){}},S$=[];function KC(x0,X0){for(var C1=0,S2=C1;S2>>0)+4294967296*+(X0>>>0):+(x0>>>0)+4294967296*+(0|X0)}function b$(x0,X0,C1){return C1&&C1.length?A0["dynCall_"+x0].apply(null,[X0].concat(C1)):A0["dynCall_"+x0].call(null,X0)}var OA=0,mh=0;function hr(x0,X0){x0||Vi("Assertion failed: "+X0)}function qA(x0){var X0=A0["_"+x0];return hr(X0,"Cannot call unknown function "+x0+", make sure it is exported"),X0}var Dm={stackSave:function(){Gm()},stackRestore:function(){P$()},arrayToC:function(x0){var X0,C1,S2=HA(x0.length);return X0=x0,C1=S2,f.set(X0,C1),S2},stringToC:function(x0){var X0=0;if(x0!=null&&x0!==0){var C1=(x0.length<<2)+1;X0=HA(C1),xm(x0,X0,C1)}return X0}},Ts={string:Dm.stringToC,array:Dm.arrayToC};function Ch(x0,X0,C1,S2,W3){var g9=qA(x0),J9=[],h6=0;if(S2)for(var Et=0;Et>0]=X0;break;case"i16":o0[x0>>1]=X0;break;case"i32":m0[x0>>2]=X0;break;case"i64":tempI64=[X0>>>0,+Qh(tempDouble=X0)>=1?tempDouble>0?(0|wh(+yh(tempDouble/4294967296),4294967295))>>>0:~~+G$((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0],m0[x0>>2]=tempI64[0],m0[x0+4>>2]=tempI64[1];break;case"float":u1[x0>>2]=X0;break;case"double":F[x0>>3]=X0;break;default:Vi("invalid type for setValue: "+C1)}}function E3(x0,X0,C1){switch((X0=X0||"i8").charAt(X0.length-1)==="*"&&(X0="i32"),X0){case"i1":case"i8":return f[x0>>0];case"i16":return o0[x0>>1];case"i32":case"i64":return m0[x0>>2];case"float":return u1[x0>>2];case"double":return F[x0>>3];default:Vi("invalid type for getValue: "+X0)}return null}function tp(x0,X0,C1,S2){typeof x0=="number"?(g9=!0,J9=x0):(g9=!1,J9=x0.length);var W3=typeof X0=="string"?X0:null;if(h6=C1==4?S2:[typeof qs=="function"?qs:We,HA,We,qr][C1===void 0?2:C1](Math.max(J9,W3?1:X0.length)),g9){for(S2=h6,hr((3&h6)==0),Et=h6+(-4&J9);S2>2]=0;for(Et=h6+J9;S2>0]=0;return h6}if(W3==="i8")return x0.subarray||x0.slice?D.set(x0,h6):D.set(new Uint8Array(x0),h6),h6;for(var g9,J9,h6,Et,Te,je,Se,h9=0;h9>0],(S2!=0||X0)&&(J9++,!X0||J9!=X0););X0||(X0=J9);var h6="";if(g9<128){for(;X0>0;)W3=String.fromCharCode.apply(String,D.subarray(x0,x0+Math.min(X0,1024))),h6=h6?h6+W3:W3,x0+=1024,X0-=1024;return h6}return C1=x0,function(Te,je){for(var Se=je;Te[Se];)++Se;if(Se-je>16&&Te.subarray&&_m)return _m.decode(Te.subarray(je,Se));for(var h9,M7,Mi,mt,T7,Ti,Ni="";;){if(!(h9=Te[je++]))return Ni;if(!(128&h9)){Ni+=String.fromCharCode(h9);continue}if(M7=63&Te[je++],(224&h9)==192){Ni+=String.fromCharCode((31&h9)<<6|M7);continue}if(Mi=63&Te[je++],(240&h9)==224?h9=(15&h9)<<12|M7<<6|Mi:(mt=63&Te[je++],(248&h9)==240?h9=(7&h9)<<18|M7<<12|Mi<<6|mt:(T7=63&Te[je++],h9=(252&h9)==248?(3&h9)<<24|M7<<18|Mi<<12|mt<<6|T7:(1&h9)<<30|M7<<24|Mi<<18|mt<<12|T7<<6|(Ti=63&Te[je++]))),h9<65536)Ni+=String.fromCharCode(h9);else{var Fn=h9-65536;Ni+=String.fromCharCode(55296|Fn>>10,56320|1023&Fn)}}}(D,C1)}function ip(x0){for(var X0="";;){var C1=f[x0++>>0];if(!C1)return X0;X0+=String.fromCharCode(C1)}}function Ns(x0,X0){return function(S2,W3,g9){for(var J9=0;J9>0]=S2.charCodeAt(J9);g9||(f[W3>>0]=0)}(x0,X0,!1)}var _m=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function Rn(x0,X0,C1,S2){if(!(S2>0))return 0;for(var W3=C1,g9=C1+S2-1,J9=0;J9=55296&&h6<=57343&&(h6=65536+((1023&h6)<<10)|1023&x0.charCodeAt(++J9)),h6<=127){if(C1>=g9)break;X0[C1++]=h6}else if(h6<=2047){if(C1+1>=g9)break;X0[C1++]=192|h6>>6,X0[C1++]=128|63&h6}else if(h6<=65535){if(C1+2>=g9)break;X0[C1++]=224|h6>>12,X0[C1++]=128|h6>>6&63,X0[C1++]=128|63&h6}else if(h6<=2097151){if(C1+3>=g9)break;X0[C1++]=240|h6>>18,X0[C1++]=128|h6>>12&63,X0[C1++]=128|h6>>6&63,X0[C1++]=128|63&h6}else if(h6<=67108863){if(C1+4>=g9)break;X0[C1++]=248|h6>>24,X0[C1++]=128|h6>>18&63,X0[C1++]=128|h6>>12&63,X0[C1++]=128|h6>>6&63,X0[C1++]=128|63&h6}else{if(C1+5>=g9)break;X0[C1++]=252|h6>>30,X0[C1++]=128|h6>>24&63,X0[C1++]=128|h6>>18&63,X0[C1++]=128|h6>>12&63,X0[C1++]=128|h6>>6&63,X0[C1++]=128|63&h6}}return X0[C1]=0,C1-W3}function xm(x0,X0,C1){return Rn(x0,D,X0,C1)}function Gs(x0){for(var X0=0,C1=0;C1=55296&&S2<=57343&&(S2=65536+((1023&S2)<<10)|1023&x0.charCodeAt(++C1)),S2<=127?++X0:S2<=2047?X0+=2:S2<=65535?X0+=3:S2<=2097151?X0+=4:S2<=67108863?X0+=5:X0+=6}return X0}var Rm=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function rp(x0){for(var X0=x0,C1=X0>>1;o0[C1];)++C1;if((X0=C1<<1)-x0>32&&Rm)return Rm.decode(D.subarray(x0,X0));for(var S2=0,W3="";;){var g9=o0[x0+2*S2>>1];if(g9==0)return W3;++S2,W3+=String.fromCharCode(g9)}}function np(x0,X0,C1){if(C1===void 0&&(C1=2147483647),C1<2)return 0;for(var S2=X0,W3=(C1-=2)<2*x0.length?C1/2:x0.length,g9=0;g9>1]=J9,X0+=2}return o0[X0>>1]=0,X0-S2}function sp(x0){return 2*x0.length}function op(x0){for(var X0=0,C1="";;){var S2=m0[x0+4*X0>>2];if(S2==0)return C1;if(++X0,S2>=65536){var W3=S2-65536;C1+=String.fromCharCode(55296|W3>>10,56320|1023&W3)}else C1+=String.fromCharCode(S2)}}function Ap(x0,X0,C1){if(C1===void 0&&(C1=2147483647),C1<4)return 0;for(var S2=X0,W3=S2+C1-4,g9=0;g9=55296&&J9<=57343&&(J9=65536+((1023&J9)<<10)|1023&x0.charCodeAt(++g9)),m0[X0>>2]=J9,(X0+=4)+4>W3)break}return m0[X0>>2]=0,X0-S2}function ap(x0){for(var X0=0,C1=0;C1=55296&&S2<=57343&&++C1,X0+=4}return X0}function $p(x0){var X0=Gs(x0)+1,C1=qs(X0);return C1&&Rn(x0,f,C1,X0),C1}function lp(x0){var X0=Gs(x0)+1,C1=HA(X0);return Rn(x0,f,C1,X0),C1}function Lm(x0){return x0}function ZC(){var x0,X0=function(){var S2=Error();if(!S2.stack){try{throw Error(0)}catch(W3){S2=W3}if(!S2.stack)return"(no stack trace available)"}return S2.stack.toString()}();return A0.extraStackTrace&&(X0+=` -`+A0.extraStackTrace()),(x0=X0).replace(/__Z[\w\d_]+/g,function(C1){var S2,W3=S2=C1;return C1===W3?C1:C1+" ["+W3+"]"})}function Bh(x0,X0){return x0%X0>0&&(x0+=X0-x0%X0),x0}function Fm(x0){A0.buffer=g=x0}function Y9(){A0.HEAP8=f=new Int8Array(g),A0.HEAP16=o0=new Int16Array(g),A0.HEAP32=m0=new Int32Array(g),A0.HEAPU8=D=new Uint8Array(g),A0.HEAPU16=E0=new Uint16Array(g),A0.HEAPU32=l0=new Uint32Array(g),A0.HEAPF32=u1=new Float32Array(g),A0.HEAPF64=F=new Float64Array(g)}function Hr(){var x0=A0.usingWasm?65536:16777216,X0=2147483648-x0;if(m0[V2>>2]>X0)return!1;var C1=_9;for(_9=Math.max(_9,16777216);_9>2];)_9=_9<=536870912?Bh(2*_9,x0):Math.min(Bh((3*_9+2147483648)/4,x0),X0);var S2=A0.reallocBuffer(_9);return S2&&S2.byteLength==_9?(Fm(S2),Y9(),!0):(_9=C1,!1)}q0=R0=t2=y1=Y2=T2=V2=0,L1=!1,A0.reallocBuffer||(A0.reallocBuffer=function(x0){try{if(ArrayBuffer.transfer)X0=ArrayBuffer.transfer(g,x0);else{var X0,C1=f;X0=new ArrayBuffer(x0),new Int8Array(X0).set(C1)}}catch{return!1}return!!XC(X0)&&X0});try{(i3=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get))(new ArrayBuffer(4))}catch{i3=function(X0){return X0.byteLength}}var x$=A0.TOTAL_STACK||5242880,_9=A0.TOTAL_MEMORY||16777216;function R$(){return _9}function Us(x0){for(;x0.length>0;){var X0=x0.shift();if(typeof X0=="function"){X0();continue}var C1=X0.func;typeof C1=="number"?X0.arg===void 0?A0.dynCall_v(C1):A0.dynCall_vi(C1,X0.arg):C1(X0.arg===void 0?null:X0.arg)}}_9=0?x0:X0<=32?2*Math.abs(1<=S2&&(X0<=32||x0>S2)&&(x0=-2*S2+x0),x0}var Qh=Math.abs,G$=Math.ceil,yh=Math.floor,wh=Math.min,Ln=0,kh=null,Os=null;function cp(x0){return x0}A0.preloadedImages={},A0.preloadedAudios={};var Nm="data:application/octet-stream;base64,";function U$(x0){return String.prototype.startsWith?x0.startsWith(Nm):x0.indexOf(Nm)===0}(function(){var X0="main.wast",C1="main.wasm",S2="main.temp.asm.js";U$(X0)||(X0=J4(X0)),U$(C1)||(C1=J4(C1)),U$(S2)||(S2=J4(S2));var W3={global:null,env:null,asm2wasm:bm,parent:A0},g9=null;function J9(Se){return Se}function h6(){try{if(A0.wasmBinary)return new Uint8Array(A0.wasmBinary);if(A0.readBinary)return A0.readBinary(C1);throw"both async and sync fetching of the wasm failed"}catch(Se){Vi(Se)}}A0.asmPreload=A0.asm;var Et=A0.reallocBuffer,Te=function(Se){Se=Bh(Se,A0.usingWasm?65536:16777216);var h9=A0.buffer.byteLength;if(A0.usingWasm)try{var M7=A0.wasmMemory.grow((Se-h9)/65536);return M7!==-1?A0.buffer=A0.wasmMemory.buffer:null}catch{return null}};A0.reallocBuffer=function(Se){return je==="asmjs"?Et(Se):Te(Se)};var je="";A0.asm=function(Se,h9,M7){var Mi;if(!(h9=Mi=h9).table){var mt,T7=A0.wasmTableSize;T7===void 0&&(T7=1024);var Ti=A0.wasmMaxTableSize;typeof WebAssembly=="object"&&typeof WebAssembly.Table=="function"?Ti!==void 0?h9.table=new WebAssembly.Table({initial:T7,maximum:Ti,element:"anyfunc"}):h9.table=new WebAssembly.Table({initial:T7,element:"anyfunc"}):h9.table=Array(T7),A0.wasmTable=h9.table}return h9.memoryBase||(h9.memoryBase=A0.STATIC_BASE),h9.tableBase||(h9.tableBase=0),mt=function(Fn,ur,Um){if(typeof WebAssembly!="object")return V6("no native wasm support detected"),!1;if(!(A0.wasmMemory instanceof WebAssembly.Memory))return V6("no native wasm Memory in use"),!1;function vh(fr,Ki){if((g9=fr.exports).memory){var YA,Hs,Ys;YA=g9.memory,Hs=A0.buffer,YA.byteLength0?C1:Gs(x0)+1,W3=Array(S2),g9=Rn(x0,W3,0,W3.length);return X0&&(W3.length=g9),W3}function jC(x0){for(var X0=[],C1=0;C1255&&(S2&=255),X0.push(String.fromCharCode(S2))}return X0.join("")}R0+=16,V2=We(4),Y2=(t2=y1=Ji(R0))+x$,T2=Ji(Y2),m0[V2>>2]=T2,L1=!0,A0.wasmTableSize=4,A0.wasmMaxTableSize=4,A0.asmGlobalArg={},A0.asmLibraryArg={abort:Vi,assert:hr,enlargeMemory:Hr,getTotalMemory:R$,abortOnCannotGrowMemory:function(){Vi("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+_9+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")},invoke_iii:function(X0,C1,S2){var W3=Gm();try{return A0.dynCall_iii(X0,C1,S2)}catch(g9){if(P$(W3),typeof g9!="number"&&g9!=="longjmp")throw g9;A0.setThrew(1,0)}},___assert_fail:function(X0,C1,S2,W3){Vi("Assertion failed: "+_$(X0)+", at: "+[C1?_$(C1):"unknown filename",S2,W3?_$(W3):"unknown function"])},___setErrNo:function(X0){return A0.___errno_location&&(m0[A0.___errno_location()>>2]=X0),X0},_abort:function(){A0.abort()},_emscripten_memcpy_big:function(X0,C1,S2){return D.set(D.subarray(C1,C1+S2),X0),X0},_llvm_floor_f64:yh,DYNAMICTOP_PTR:V2,tempDoublePtr:F7,ABORT:OA,STACKTOP:y1,STACK_MAX:Y2};var Vr=A0.asm(A0.asmGlobalArg,A0.asmLibraryArg,g);A0.asm=Vr,A0.___errno_location=function(){return A0.asm.___errno_location.apply(null,arguments)};var XC=A0._emscripten_replace_memory=function(){return A0.asm._emscripten_replace_memory.apply(null,arguments)};A0._free=function(){return A0.asm._free.apply(null,arguments)};var qs=A0._malloc=function(){return A0.asm._malloc.apply(null,arguments)};A0._memcpy=function(){return A0.asm._memcpy.apply(null,arguments)},A0._memset=function(){return A0.asm._memset.apply(null,arguments)},A0._sbrk=function(){return A0.asm._sbrk.apply(null,arguments)},A0._stb_vorbis_js_channels=function(){return A0.asm._stb_vorbis_js_channels.apply(null,arguments)},A0._stb_vorbis_js_close=function(){return A0.asm._stb_vorbis_js_close.apply(null,arguments)},A0._stb_vorbis_js_decode=function(){return A0.asm._stb_vorbis_js_decode.apply(null,arguments)},A0._stb_vorbis_js_open=function(){return A0.asm._stb_vorbis_js_open.apply(null,arguments)},A0._stb_vorbis_js_sample_rate=function(){return A0.asm._stb_vorbis_js_sample_rate.apply(null,arguments)},A0.establishStackSpace=function(){return A0.asm.establishStackSpace.apply(null,arguments)},A0.getTempRet0=function(){return A0.asm.getTempRet0.apply(null,arguments)},A0.runPostSets=function(){return A0.asm.runPostSets.apply(null,arguments)},A0.setTempRet0=function(){return A0.asm.setTempRet0.apply(null,arguments)},A0.setThrew=function(){return A0.asm.setThrew.apply(null,arguments)};var HA=A0.stackAlloc=function(){return A0.asm.stackAlloc.apply(null,arguments)},P$=A0.stackRestore=function(){return A0.asm.stackRestore.apply(null,arguments)},Gm=A0.stackSave=function(){return A0.asm.stackSave.apply(null,arguments)};function O$(x0){this.name="ExitStatus",this.message="Program terminated with exit("+x0+")",this.status=x0}function q$(x0){x0=x0||A0.arguments,!(Ln>0)&&(function(){if(A0.preRun)for(typeof A0.preRun=="function"&&(A0.preRun=[A0.preRun]);A0.preRun.length;)WC(A0.preRun.shift());Us(Yr)}(),!(Ln>0)&&(A0.calledRun||(A0.setStatus?(A0.setStatus("Running..."),setTimeout(function(){setTimeout(function(){A0.setStatus("")},1),X0()},1)):X0())));function X0(){!A0.calledRun&&(A0.calledRun=!0,OA||(M$||(M$=!0,Us(L$)),Us(ph),A0.onRuntimeInitialized&&A0.onRuntimeInitialized(),function(){if(A0.postRun)for(typeof A0.postRun=="function"&&(A0.postRun=[A0.postRun]);A0.postRun.length;)Fi(A0.postRun.shift());Us(F$)}()))}}function eB(x0,X0){(!X0||!A0.noExitRuntime||x0!==0)&&(A0.noExitRuntime||(OA=!0,mh=x0,y1=r3,Us(pi),Li=!0,A0.onExit&&A0.onExit(x0)),A0.quit(x0,new O$(x0)))}function Vi(x0){throw A0.onAbort&&A0.onAbort(x0),x0!==void 0?(r4(x0),V6(x0),x0=JSON.stringify(x0)):x0="",OA=!0,mh=1,"abort("+x0+"). Build with -s ASSERTIONS=1 for more info."}if(A0.dynCall_iii=function(){return A0.asm.dynCall_iii.apply(null,arguments)},A0.asm=Vr,A0.ccall=Ch,A0.cwrap=function(X0,C1,S2,W3){var g9=(S2=S2||[]).every(function(J9){return J9==="number"});return C1!=="string"&&g9&&!W3?qA(X0):function(){return Ch(X0,C1,S2,arguments,W3)}},O$.prototype=Error(),O$.prototype.constructor=O$,Os=function x0(){A0.calledRun||q$(),A0.calledRun||(Os=x0)},A0.run=q$,A0.abort=Vi,A0.preInit)for(typeof A0.preInit=="function"&&(A0.preInit=[A0.preInit]);A0.preInit.length>0;)A0.preInit.pop()();A0.noExitRuntime=!0,q$(),A0.onRuntimeInitialized=()=>{Ck=!0,Bk()},UA.decode=function(x0){return function(C1){if(!Ck)throw Error("Not initialized");var S2={};function W3(ur){return new Int32Array(A0.HEAPU8.buffer,ur,1)[0]}function g9(ur,Um){var vh=new ArrayBuffer(Um*Float32Array.BYTES_PER_ELEMENT),y8=new Float32Array(vh);return y8.set(new Float32Array(A0.HEAPU8.buffer,ur,Um)),y8}S2.open=A0.cwrap("stb_vorbis_js_open","number",[]),S2.close=A0.cwrap("stb_vorbis_js_close","void",["number"]),S2.channels=A0.cwrap("stb_vorbis_js_channels","number",["number"]),S2.sampleRate=A0.cwrap("stb_vorbis_js_sample_rate","number",["number"]),S2.decode=A0.cwrap("stb_vorbis_js_decode","number",["number","number","number","number","number"]);var J9,h6,Et,Te,je=S2.open(),Se=(J9=C1,h6=C1.byteLength,Et=A0._malloc(h6),(Te=new Uint8Array(A0.HEAPU8.buffer,Et,h6)).set(new Uint8Array(J9,0,h6)),Te),h9=A0._malloc(4),M7=A0._malloc(4),Mi=S2.decode(je,Se.byteOffset,Se.byteLength,h9,M7);if(A0._free(Se.byteOffset),Mi<0)throw S2.close(je),A0._free(h9),Error("stbvorbis decode failed: "+Mi);for(var mt=S2.channels(je),T7=Array(mt),Ti=new Int32Array(A0.HEAPU32.buffer,W3(h9),mt),Ni=0;Nio.chunkData.currentIndex;){let D=AD(f,o.chunkData,r,l);g.push(D),f++}return g.length>1&&g.pop(),g}function AD(o,r,l,g){let f=Ee(r,20),D=o3(r,4)*2,o0=o3(r,4)*2,E0=o3(r,4),m0=o3(r,4),l0=o3(r,4),u1=r[r.currentIndex++];u1===255&&(u1=60);let F=my(r[r.currentIndex++]),q0=o3(r,2),R0=o3(r,2);return new qB(f,D,o0,E0,m0,l0,u1,F,q0,R0,l,o,g)}var HB=class extends W6{constructor(r){super();let l=r.currentIndex;this.generatorType=r[l+1]<<8|r[l],this.generatorValue=RA(r[l+2],r[l+3]),r.currentIndex+=4}};function YB(o){let r=[];for(;o.chunkData.length>o.chunkData.currentIndex;)r.push(new HB(o.chunkData));return r.length>1&&r.pop(),r}var JB=class extends dh{constructor(r){super(),this.instrumentName=Ee(r.chunkData,20).trim(),this.instrumentZoneIndex=o3(r.chunkData,2),this.instrumentZonesAmount=0}getInstrumentZones(r,l){this.instrumentZonesAmount=r;for(let g=this.instrumentZoneIndex;go.chunkData.currentIndex;){let g=new JB(o);if(l.length>0){let f=g.instrumentZoneIndex-l[l.length-1].instrumentZoneIndex;l[l.length-1].getInstrumentZones(f,r)}l.push(g)}return l.length>1&&l.pop(),l}var VB=class extends GA{constructor(r){super(),this.generatorZoneStartIndex=o3(r,2),this.modulatorZoneStartIndex=o3(r,2),this.modulatorZoneSize=0,this.generatorZoneSize=0,this.isGlobal=!0}setZoneSize(r,l){this.modulatorZoneSize=r,this.generatorZoneSize=l}getGenerators(r){for(let l=this.generatorZoneStartIndex;lg.generatorType===v1.sampleID);l&&(this.sample=r[l.generatorValue],this.isGlobal=!1,this.sample.useCount++)}getKeyRange(){let r=this.generators.find(l=>l.generatorType===v1.keyRange);r&&(this.keyRange.min=r.generatorValue&127,this.keyRange.max=r.generatorValue>>8&127)}getVelRange(){let r=this.generators.find(l=>l.generatorType===v1.velRange);r&&(this.velRange.min=r.generatorValue&127,this.velRange.max=r.generatorValue>>8&127)}};function yk(o,r,l,g){let f=[];for(;o.chunkData.length>o.chunkData.currentIndex;){let D=new VB(o.chunkData);if(f.length>0){let o0=D.modulatorZoneStartIndex-f[f.length-1].modulatorZoneStartIndex,E0=D.generatorZoneStartIndex-f[f.length-1].generatorZoneStartIndex;f[f.length-1].setZoneSize(o0,E0),f[f.length-1].getGenerators(r),f[f.length-1].getModulators(l),f[f.length-1].getSample(g),f[f.length-1].getKeyRange(),f[f.length-1].getVelRange()}f.push(D)}return f.length>1&&f.pop(),f}var KB=class extends fh{constructor(r){super(),this.generatorZoneStartIndex=o3(r,2),this.modulatorZoneStartIndex=o3(r,2),this.modulatorZoneSize=0,this.generatorZoneSize=0,this.isGlobal=!0}setZoneSize(r,l){this.modulatorZoneSize=r,this.generatorZoneSize=l}getGenerators(r){for(let l=this.generatorZoneStartIndex;lg.generatorType===v1.instrument);l&&(this.instrument=r[l.generatorValue],this.instrument.addUseCount(),this.isGlobal=!1)}getKeyRange(){let r=this.generators.find(l=>l.generatorType===v1.keyRange);r&&(this.keyRange.min=r.generatorValue&127,this.keyRange.max=r.generatorValue>>8&127)}getVelRange(){let r=this.generators.find(l=>l.generatorType===v1.velRange);r&&(this.velRange.min=r.generatorValue&127,this.velRange.max=r.generatorValue>>8&127)}};function wk(o,r,l,g){let f=[];for(;o.chunkData.length>o.chunkData.currentIndex;){let D=new KB(o.chunkData);if(f.length>0){let o0=D.modulatorZoneStartIndex-f[f.length-1].modulatorZoneStartIndex,E0=D.generatorZoneStartIndex-f[f.length-1].generatorZoneStartIndex;f[f.length-1].setZoneSize(o0,E0),f[f.length-1].getGenerators(r),f[f.length-1].getModulators(l),f[f.length-1].getInstrument(g),f[f.length-1].getKeyRange(),f[f.length-1].getVelRange()}f.push(D)}return f.length>1&&f.pop(),f}var zB=class extends uh{constructor(r,l){super(l),this.presetName=Ee(r.chunkData,20).trim().replace(/\d{3}:\d{3}/,""),this.program=o3(r.chunkData,2),this.bank=o3(r.chunkData,2),this.presetZoneStartIndex=o3(r.chunkData,2),this.library=o3(r.chunkData,4),this.genre=o3(r.chunkData,4),this.morphology=o3(r.chunkData,4),this.presetZonesAmount=0}getPresetZones(r,l){this.presetZonesAmount=r;for(let g=this.presetZoneStartIndex;go.chunkData.currentIndex;){let f=new zB(o,l);if(g.length>0){let D=f.presetZoneStartIndex-g[g.length-1].presetZoneStartIndex;g[g.length-1].getPresetZones(D,r)}g.push(f)}return g.length>1&&g.pop(),g}var ZB=class extends se{constructor(r){super({srcEnum:o3(r,2),dest:o3(r,2),amt:RA(r[r.currentIndex++],r[r.currentIndex++]),secSrcEnum:o3(r,2),transform:o3(r,2)})}};function HC(o){let r=[];for(;o.chunkData.length>o.chunkData.currentIndex;)r.push(new ZB(o.chunkData));return r}var YC=class extends k${constructor(r,l=!0){if(super(),l&&console.warn("Using the constructor directly is deprecated. Use loadSoundFont instead."),this.dataArray=new V3(r),cr("%cParsing SoundFont...",D1.info),!this.dataArray)throw i4(),new TypeError("No data!");let g=d4(this.dataArray,!1);this.verifyHeader(g,"riff");let f=Ee(this.dataArray,4).toLowerCase();if(f!=="sfbk"&&f!=="sfpk")throw i4(),new SyntaxError(`Invalid soundFont! Expected "sfbk" or "sfpk" got "${f}"`);let D=f==="sfpk",o0=d4(this.dataArray);for(this.verifyHeader(o0,"list"),Ee(o0.chunkData,4);o0.chunkData.length>o0.chunkData.currentIndex;){let w6=d4(o0.chunkData),s6;switch(w6.header.toLowerCase()){case"ifil":case"iver":s6=`${o3(w6.chunkData,2)}.${o3(w6.chunkData,2)}`,this.soundFontInfo[w6.header]=s6;break;case"icmt":s6=Ee(w6.chunkData,w6.chunkData.length,void 0,!1),this.soundFontInfo[w6.header]=s6;break;case"dmod":let o9=HC(w6);o9.pop(),s6=`Modulators: ${o9.length}`;let J4=this.defaultModulators;this.defaultModulators=o9,this.defaultModulators.push(...J4.filter(r4=>!this.defaultModulators.find(V6=>se.isIdentical(r4,V6)))),this.soundFontInfo[w6.header]=w6.chunkData;break;default:s6=Ee(w6.chunkData,w6.chunkData.length),this.soundFontInfo[w6.header]=s6}W5(`%c"${w6.header}": %c"${s6}"`,D1.info,D1.recognized)}let E0=d4(this.dataArray,!1);this.verifyHeader(E0,"list"),this.verifyText(Ee(this.dataArray,4),"sdta"),W5("%cVerifying smpl chunk...",D1.warn);let m0=d4(this.dataArray,!1);this.verifyHeader(m0,"smpl");let l0;if(D){W5("%cSF2Pack detected, attempting to decode the smpl chunk...",D1.info);try{l0=UA.decode(this.dataArray.buffer.slice(this.dataArray.currentIndex,this.dataArray.currentIndex+E0.size-12)).data[0]}catch(w6){throw i4(),new Error(`SF2Pack Ogg Vorbis decode error: ${w6}`)}W5(`%cDecoded the smpl chunk! Length: %c${l0.length}`,D1.info,D1.value)}else l0=this.dataArray,this.sampleDataStartIndex=this.dataArray.currentIndex;W5(`%cSkipping sample chunk, length: %c${E0.size-12}`,D1.info,D1.value),this.dataArray.currentIndex+=E0.size-12,W5("%cLoading preset data chunk...",D1.warn);let u1=d4(this.dataArray);this.verifyHeader(u1,"list"),Ee(u1.chunkData,4);let F=d4(u1.chunkData);this.verifyHeader(F,"phdr");let q0=d4(u1.chunkData);this.verifyHeader(q0,"pbag");let R0=d4(u1.chunkData);this.verifyHeader(R0,"pmod");let L1=d4(u1.chunkData);this.verifyHeader(L1,"pgen");let t2=d4(u1.chunkData);this.verifyHeader(t2,"inst");let y1=d4(u1.chunkData);this.verifyHeader(y1,"ibag");let Y2=d4(u1.chunkData);this.verifyHeader(Y2,"imod");let T2=d4(u1.chunkData);this.verifyHeader(T2,"igen");let V2=d4(u1.chunkData);this.verifyHeader(V2,"shdr"),this.dataArray.currentIndex=this.sampleDataStartIndex,this.samples.push(...pk(V2,l0,!D));let i3=YB(T2),r3=HC(Y2),A0=yk(y1,i3,r3,this.samples);this.instruments=Qk(t2,A0);let y5=YB(L1),T3=HC(R0),$3=wk(q0,y5,T3,this.instruments);this.presets.push(...kk(F,$3,this.defaultModulators)),this.presets.sort((w6,s6)=>w6.program-s6.program+(w6.bank-s6.bank)),W5(`%cParsing finished! %c"${this.soundFontInfo.INAM}"%c has %c${this.presets.length} %cpresets, - %c${this.instruments.length}%c instruments and %c${this.samples.length}%c samples.`,D1.info,D1.recognized,D1.info,D1.recognized,D1.info,D1.recognized,D1.info,D1.recognized,D1.info),i4(),D&&delete this.dataArray}verifyHeader(r,l){if(r.header.toLowerCase()!==l.toLowerCase())throw i4(),new SyntaxError(`Invalid chunk header! Expected "${l.toLowerCase()}" got "${r.header.toLowerCase()}"`)}verifyText(r,l){if(r.toLowerCase()!==l.toLowerCase())throw i4(),new SyntaxError(`Invalid soundFont! Expected "${l.toLowerCase()}" got "${r.toLowerCase()}"`)}};function Eh(o){let r=o.slice(8,12),l=new V3(r);return Ee(l,4,void 0,!1).toLowerCase()==="dls "?new Fs(o):new YC(o,!1)}async function vk(){let o="locale.exportAudio.formats.formats.soundfont.options.";Pt(this.localeManager.getLocaleString(o+"title"),[{type:"toggle",translatePathTitle:o+"trim",attributes:{"trim-toggle":"1",checked:"checked"}},{type:"toggle",translatePathTitle:o+"compress",attributes:{"compress-toggle":"1"}},{type:"range",translatePathTitle:o+"quality",attributes:{min:"0",max:"10",value:"5"}},{type:"button",textContent:this.localeManager.getLocaleString(o+"confirm"),onClick:async r=>{let l=r.div.querySelector("input[trim-toggle='1']").checked,g=r.div.querySelector("input[compress-toggle='1']").checked,f=parseInt(r.div.querySelector("input[type='range']").value)/10;h7(r.id),cr("%cExporting minified soundfont...",D1.info);let D=await this.seq.getMIDI(),o0=Eh(D.embeddedSoundFont||this.soundFont);lh(D,await this.synth.getSynthesizerSnapshot()),l&&UC(o0,D);let E0=o0.write({compress:g,compressionQuality:f,compressionFunction:this.compressionFunc}),m0=new Blob([E0.buffer],{type:"audio/soundfont"}),l0=o0.soundFontInfo.ifil.split(".")[0]==="3"?"sf3":"sf2";this.saveBlob(m0,`${o0.soundFontInfo.INAM||"unnamed"}.${l0}`),i4()}}],99999999,!0,this.localeManager)}async function Sk(){let o="locale.exportAudio.formats.";Pt(this.localeManager.getLocaleString(o+"title"),[{type:"button",translatePathTitle:o+"formats.wav.button",onClick:r=>{h7(r.id),this._exportAudioData()}},{type:"button",translatePathTitle:o+"formats.midi.button",onClick:r=>{h7(r.id),this.exportMidi()}},{type:"button",translatePathTitle:o+"formats.soundfont.button",onClick:r=>{h7(r.id);try{this._exportSoundfont()}catch{Pt("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}},{type:"button",translatePathTitle:o+"formats.rmidi.button",onClick:r=>{h7(r.id);try{this._exportRMIDI()}catch{Pt("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}}],999999,!0,this.localeManager,{display:"flex",flexWrap:"wrap",justifyContent:"center"})}async function bk(){let o=(F,q0,R0)=>this.seq.midiData.RMIDInfo?.[F]===void 0?q0:R0.decode(this.seq.midiData.RMIDInfo?.[F]).replace(/\0$/,""),r=o("IENC","ascii",new TextDecoder),l=new TextDecoder(r),g=o("IPRD","",l),f=o("IART","",l),D=o("IGNR","",l),o0=o("ICMT","Created using SpessaSynth: https://spessasus.github.io/SpessaSynth",l),E0="locale.exportAudio.formats.formats.rmidi.options.",m0="locale.exportAudio.formats.metadata.",u1=Pt(this.localeManager.getLocaleString(E0+"title"),[{type:"toggle",translatePathTitle:E0+"compress",attributes:{"compress-toggle":"1",checked:"true"}},{type:"range",translatePathTitle:E0+"quality",attributes:{min:"0",max:"10",value:"5"}},{type:"input",translatePathTitle:m0+"songTitle",attributes:{name:"song_title",type:"text",value:this.seqUI.currentSongTitle}},{type:"input",translatePathTitle:m0+"album",attributes:{value:g,name:"album",type:"text"}},{type:"input",translatePathTitle:m0+"artist",attributes:{value:f,name:"artist",type:"text"}},{type:"input",translatePathTitle:m0+"genre",attributes:{value:D,name:"genre",type:"text"}},{type:"input",translatePathTitle:m0+"comment",attributes:{value:o0,name:"comment",type:"text"}},{type:"file",translatePathTitle:m0+"albumCover",attributes:{value:this.seq.midiData.RMIDInfo?.IPIC!==void 0?this.seq.midiData.RMIDInfo.IPIC:"",name:"cover",accept:"image/*"}},{type:"input",translatePathTitle:E0+"bankOffset",attributes:{value:this.seq.midiData.bankOffset,name:"bank_offset",type:"number"}},{type:"toggle",translatePathTitle:E0+"adjust",attributes:{name:"adjust",checked:"checked"}},{type:"button",textContent:this.localeManager.getLocaleString(E0+"confirm"),onClick:async F=>{let q0=F.div.querySelector("input[compress-toggle='1']").checked,R0=parseInt(F.div.querySelector("input[type='range']").value)/10,L1=F.div.querySelector("input[name='album']").value,t2=F.div.querySelector("input[name='artist']").value,y1=F.div.querySelector("input[name='song_title']").value,Y2=F.div.querySelector("input[name='comment']").value,T2=F.div.querySelector("input[name='genre']").value,V2=parseInt(F.div.querySelector("input[name='bank_offset']").value),i3=F.div.querySelector("input[name='adjust']").checked,r3=F.div.querySelector("input[type='file']")?.files[0];h7(F.id),ri("%cExporting RMIDI...",D1.info);let A0="locale.exportAudio.formats.formats.rmidi.progress.",y5=Pt(this.localeManager.getLocaleString(A0+"title"),[{type:"text",textContent:this.localeManager.getLocaleString(A0+"loading"),attributes:{class:"export_rmidi_message"}}],9999999,!1);await new Promise(V6=>setTimeout(V6,500));let T3=y5.div.getElementsByClassName("export_rmidi_message")[0],$3=await this.seq.getMIDI(),w6=Eh($3.embeddedSoundFont||this.soundFont);T3.textContent=this.localeManager.getLocaleString(A0+"modifyingMIDI"),await new Promise(V6=>setTimeout(V6,75)),lh($3,await this.synth.getSynthesizerSnapshot()),T3.textContent=this.localeManager.getLocaleString(A0+"modifyingSoundfont"),await new Promise(V6=>setTimeout(V6,75)),UC(w6,$3);let s6=w6.write({compress:q0,compressionQuality:R0,compressionFunction:this.compressionFunc});T3.textContent=this.localeManager.getLocaleString(A0+"saving"),await new Promise(V6=>setTimeout(V6,75));let o9;r3?.type.split("/")[0]==="image"?o9=await r3.arrayBuffer():$3.RMIDInfo?.IPIC!==void 0&&(o9=$3.RMIDInfo.IPIC.buffer);let J4=By(s6,$3,w6,V2,this.seqUI.encoding,{name:y1,comment:Y2,engineer:w6.soundFontInfo.IENG,picture:o9,album:L1.length>0?L1:void 0,artist:t2.length>0?t2:void 0,genre:T2.length>0?T2:void 0,midiEncoding:this.seqUI.encoding},i3),r4=new Blob([J4.buffer],{type:"audio/rmid"});this.saveBlob(r4,`${y1||"unnamed_song"}.rmi`),T3.textContent=this.localeManager.getLocaleString(A0+"done"),h7(y5.id),i4()}}],9999999,!0,this.localeManager).div.querySelector("input[type='file']");u1.oninput=()=>{u1.files[0]&&(u1.parentElement.firstChild.textContent=u1.files[0].name)}}var JC={init:function(){var o;o||(o=(typeof o<"u"?o:null)||{});var r={};for(var l in o)o.hasOwnProperty(l)&&(r[l]=o[l]);var g=typeof window=="object",f=typeof process=="object"&&typeof hC=="function"&&!g,D=typeof importScripts=="function",o0=!g&&!f&&!D;if(f){o.print||(o.print=function($){process.stdout.write($+` +`+this.soundFontInfo.ISBJ,delete this.soundFontInfo.ISBJ);for(let[m0,c0]of Object.entries(this.soundFontInfo))W5(`%c"${m0}": %c"${c0}"`,_1.info,_1.recognized);let D=g.find(m0=>m0.header==="colh");if(!D)throw i4(),new Error("No colh chunk!");this.instrumentAmount=o3(D.chunkData,4),W5(`%cInstruments amount: %c${this.instrumentAmount}`,_1.info,_1.recognized);let o0=xi(g,"wvpl");this.readDLSSamples(o0);let E0=xi(g,"lins");if(!E0)throw i4(),new Error("No lins chunk!");this.readDLSInstrumentList(E0),this.presets.sort((m0,c0)=>m0.program-c0.program+(m0.bank-c0.bank)),W5(`%cParsing finished! %c"${this.soundFontInfo.INAM||"UNNAMED"}"%c has %c${this.presets.length} %cpresets, + %c${this.instruments.length}%c instruments and %c${this.samples.length}%c samples.`,_1.info,_1.recognized,_1.info,_1.recognized,_1.info,_1.recognized,_1.info,_1.recognized,_1.info),i4()}verifyHeader(r,l){if(r.header.toLowerCase()!==l.toLowerCase())throw i4(),new SyntaxError(`Invalid DLS chunk header! Expected "${l.toLowerCase()}" got "${r.header.toLowerCase()}"`)}verifyText(r,l){if(r.toLowerCase()!==l.toLowerCase())throw i4(),new SyntaxError(`Invalid DLS soundfont! Expected "${l.toLowerCase()}" got "${r.toLowerCase()}"`)}};Fs.prototype.readDLSInstrumentList=hk;Fs.prototype.readDLSInstrument=uk;Fs.prototype.readRegion=Ek;Fs.prototype.readLart=Ik;Fs.prototype.readDLSSamples=mk;var UA=UA!==void 0?UA:{},Ck=!1,Bk;UA.isInitialized=new Promise(o=>Bk=o);var oD=function(o){var r,l,g,f,D,o0,E0,m0="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",c0="",f1=0;o=o.replace(/[^A-Za-z0-9\+\/\=]/g,"");do f=m0.indexOf(o.charAt(f1++)),D=m0.indexOf(o.charAt(f1++)),o0=m0.indexOf(o.charAt(f1++)),E0=m0.indexOf(o.charAt(f1++)),r=f<<2|D>>4,l=(15&D)<<4|o0>>2,g=(3&o0)<<6|E0,c0+=String.fromCharCode(r),o0!==64&&(c0+=String.fromCharCode(l)),E0!==64&&(c0+=String.fromCharCode(g));while(f11&&(A0.thisProgram=process.argv[1].replace(/\\/g,"/")),A0.arguments=process.argv.slice(2),typeof module<"u",process.on("uncaughtException",function(x0){if(!(x0 instanceof O$))throw x0}),process.on("unhandledRejection",function(x0,j0){process.exit(1)}),A0.quit=function(x0){process.exit(x0)},A0.inspect=function(){return"[Emscripten Module object]"}):s6?(typeof read<"u"&&(A0.read=function(j0){return read(j0)}),A0.readBinary=function(j0){var C1;return typeof readbuffer=="function"?new Uint8Array(readbuffer(j0)):(hr(typeof(C1=read(j0,"binary"))=="object"),C1)},typeof scriptArgs<"u"?A0.arguments=scriptArgs:typeof arguments<"u"&&(A0.arguments=arguments),typeof quit=="function"&&(A0.quit=function(x0){quit(x0)})):(T3||$3)&&(T3?document.currentScript&&(o9=document.currentScript.src):o9=self.location.href,o9=o9.indexOf("blob:")!==0?o9.split("/").slice(0,-1).join("/")+"/":"",A0.read=function(j0){var C1=new XMLHttpRequest;return C1.open("GET",j0,!1),C1.send(null),C1.responseText},$3&&(A0.readBinary=function(j0){var C1=new XMLHttpRequest;return C1.open("GET",j0,!1),C1.responseType="arraybuffer",C1.send(null),new Uint8Array(C1.response)}),A0.readAsync=function(j0,C1,S2){var W3=new XMLHttpRequest;W3.open("GET",j0,!0),W3.responseType="arraybuffer",W3.onload=function(){if(W3.status==200||W3.status==0&&W3.response){C1(W3.response);return}S2()},W3.onerror=S2,W3.send(null)},A0.setWindowTitle=function(x0){document.title=x0});var r4=A0.print||(typeof console<"u"?console.log.bind(console):typeof print<"u"?print:null),V6=A0.printErr||(typeof printErr<"u"?printErr:typeof console<"u"&&console.warn.bind(console)||r4);for(o in y5)y5.hasOwnProperty(o)&&(A0[o]=y5[o]);function We(x0){var j0=F0;return F0=F0+x0+15&-16,j0}function qr(x0){var j0=m0[V2>>2],C1=j0+x0+15&-16;return m0[V2>>2]=C1,C1>=_9&&!Hr()?(m0[V2>>2]=j0,0):j0}function Ji(x0,j0){return j0||(j0=16),x0=Math.ceil(x0/j0)*j0}function PA(x0){switch(x0){case"i1":case"i8":return 1;case"i16":return 2;case"i32":case"float":return 4;case"i64":case"double":return 8;default:if(x0[x0.length-1]==="*")return 4;if(x0[0]!=="i")return 0;var j0=parseInt(x0.substr(1));return hr(j0%8==0),j0/8}}function Ms(x0){Ms.shown||(Ms.shown={}),Ms.shown[x0]||(Ms.shown[x0]=1,V6(x0))}y5=void 0;var bm={"f64-rem":function(x0,j0){return x0%j0},debugger:function(){}},S$=[];function KC(x0,j0){for(var C1=0,S2=C1;S2>>0)+4294967296*+(j0>>>0):+(x0>>>0)+4294967296*+(0|j0)}function b$(x0,j0,C1){return C1&&C1.length?A0["dynCall_"+x0].apply(null,[j0].concat(C1)):A0["dynCall_"+x0].call(null,j0)}var OA=0,mh=0;function hr(x0,j0){x0||Vi("Assertion failed: "+j0)}function qA(x0){var j0=A0["_"+x0];return hr(j0,"Cannot call unknown function "+x0+", make sure it is exported"),j0}var Dm={stackSave:function(){Gm()},stackRestore:function(){P$()},arrayToC:function(x0){var j0,C1,S2=HA(x0.length);return j0=x0,C1=S2,f.set(j0,C1),S2},stringToC:function(x0){var j0=0;if(x0!=null&&x0!==0){var C1=(x0.length<<2)+1;j0=HA(C1),xm(x0,j0,C1)}return j0}},Ts={string:Dm.stringToC,array:Dm.arrayToC};function Ch(x0,j0,C1,S2,W3){var g9=qA(x0),J9=[],h6=0;if(S2)for(var Et=0;Et>0]=j0;break;case"i16":o0[x0>>1]=j0;break;case"i32":m0[x0>>2]=j0;break;case"i64":tempI64=[j0>>>0,+Qh(tempDouble=j0)>=1?tempDouble>0?(0|wh(+yh(tempDouble/4294967296),4294967295))>>>0:~~+G$((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0],m0[x0>>2]=tempI64[0],m0[x0+4>>2]=tempI64[1];break;case"float":f1[x0>>2]=j0;break;case"double":x[x0>>3]=j0;break;default:Vi("invalid type for setValue: "+C1)}}function E3(x0,j0,C1){switch((j0=j0||"i8").charAt(j0.length-1)==="*"&&(j0="i32"),j0){case"i1":case"i8":return f[x0>>0];case"i16":return o0[x0>>1];case"i32":case"i64":return m0[x0>>2];case"float":return f1[x0>>2];case"double":return x[x0>>3];default:Vi("invalid type for getValue: "+j0)}return null}function tp(x0,j0,C1,S2){typeof x0=="number"?(g9=!0,J9=x0):(g9=!1,J9=x0.length);var W3=typeof j0=="string"?j0:null;if(h6=C1==4?S2:[typeof qs=="function"?qs:We,HA,We,qr][C1===void 0?2:C1](Math.max(J9,W3?1:j0.length)),g9){for(S2=h6,hr((3&h6)==0),Et=h6+(-4&J9);S2>2]=0;for(Et=h6+J9;S2>0]=0;return h6}if(W3==="i8")return x0.subarray||x0.slice?D.set(x0,h6):D.set(new Uint8Array(x0),h6),h6;for(var g9,J9,h6,Et,Te,je,Se,h9=0;h9>0],(S2!=0||j0)&&(J9++,!j0||J9!=j0););j0||(j0=J9);var h6="";if(g9<128){for(;j0>0;)W3=String.fromCharCode.apply(String,D.subarray(x0,x0+Math.min(j0,1024))),h6=h6?h6+W3:W3,x0+=1024,j0-=1024;return h6}return C1=x0,function(Te,je){for(var Se=je;Te[Se];)++Se;if(Se-je>16&&Te.subarray&&_m)return _m.decode(Te.subarray(je,Se));for(var h9,M7,Mi,mt,T7,Ti,Ni="";;){if(!(h9=Te[je++]))return Ni;if(!(128&h9)){Ni+=String.fromCharCode(h9);continue}if(M7=63&Te[je++],(224&h9)==192){Ni+=String.fromCharCode((31&h9)<<6|M7);continue}if(Mi=63&Te[je++],(240&h9)==224?h9=(15&h9)<<12|M7<<6|Mi:(mt=63&Te[je++],(248&h9)==240?h9=(7&h9)<<18|M7<<12|Mi<<6|mt:(T7=63&Te[je++],h9=(252&h9)==248?(3&h9)<<24|M7<<18|Mi<<12|mt<<6|T7:(1&h9)<<30|M7<<24|Mi<<18|mt<<12|T7<<6|(Ti=63&Te[je++]))),h9<65536)Ni+=String.fromCharCode(h9);else{var Fn=h9-65536;Ni+=String.fromCharCode(55296|Fn>>10,56320|1023&Fn)}}}(D,C1)}function ip(x0){for(var j0="";;){var C1=f[x0++>>0];if(!C1)return j0;j0+=String.fromCharCode(C1)}}function Ns(x0,j0){return function(S2,W3,g9){for(var J9=0;J9>0]=S2.charCodeAt(J9);g9||(f[W3>>0]=0)}(x0,j0,!1)}var _m=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function Rn(x0,j0,C1,S2){if(!(S2>0))return 0;for(var W3=C1,g9=C1+S2-1,J9=0;J9=55296&&h6<=57343&&(h6=65536+((1023&h6)<<10)|1023&x0.charCodeAt(++J9)),h6<=127){if(C1>=g9)break;j0[C1++]=h6}else if(h6<=2047){if(C1+1>=g9)break;j0[C1++]=192|h6>>6,j0[C1++]=128|63&h6}else if(h6<=65535){if(C1+2>=g9)break;j0[C1++]=224|h6>>12,j0[C1++]=128|h6>>6&63,j0[C1++]=128|63&h6}else if(h6<=2097151){if(C1+3>=g9)break;j0[C1++]=240|h6>>18,j0[C1++]=128|h6>>12&63,j0[C1++]=128|h6>>6&63,j0[C1++]=128|63&h6}else if(h6<=67108863){if(C1+4>=g9)break;j0[C1++]=248|h6>>24,j0[C1++]=128|h6>>18&63,j0[C1++]=128|h6>>12&63,j0[C1++]=128|h6>>6&63,j0[C1++]=128|63&h6}else{if(C1+5>=g9)break;j0[C1++]=252|h6>>30,j0[C1++]=128|h6>>24&63,j0[C1++]=128|h6>>18&63,j0[C1++]=128|h6>>12&63,j0[C1++]=128|h6>>6&63,j0[C1++]=128|63&h6}}return j0[C1]=0,C1-W3}function xm(x0,j0,C1){return Rn(x0,D,j0,C1)}function Gs(x0){for(var j0=0,C1=0;C1=55296&&S2<=57343&&(S2=65536+((1023&S2)<<10)|1023&x0.charCodeAt(++C1)),S2<=127?++j0:S2<=2047?j0+=2:S2<=65535?j0+=3:S2<=2097151?j0+=4:S2<=67108863?j0+=5:j0+=6}return j0}var Rm=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function rp(x0){for(var j0=x0,C1=j0>>1;o0[C1];)++C1;if((j0=C1<<1)-x0>32&&Rm)return Rm.decode(D.subarray(x0,j0));for(var S2=0,W3="";;){var g9=o0[x0+2*S2>>1];if(g9==0)return W3;++S2,W3+=String.fromCharCode(g9)}}function np(x0,j0,C1){if(C1===void 0&&(C1=2147483647),C1<2)return 0;for(var S2=j0,W3=(C1-=2)<2*x0.length?C1/2:x0.length,g9=0;g9>1]=J9,j0+=2}return o0[j0>>1]=0,j0-S2}function sp(x0){return 2*x0.length}function op(x0){for(var j0=0,C1="";;){var S2=m0[x0+4*j0>>2];if(S2==0)return C1;if(++j0,S2>=65536){var W3=S2-65536;C1+=String.fromCharCode(55296|W3>>10,56320|1023&W3)}else C1+=String.fromCharCode(S2)}}function Ap(x0,j0,C1){if(C1===void 0&&(C1=2147483647),C1<4)return 0;for(var S2=j0,W3=S2+C1-4,g9=0;g9=55296&&J9<=57343&&(J9=65536+((1023&J9)<<10)|1023&x0.charCodeAt(++g9)),m0[j0>>2]=J9,(j0+=4)+4>W3)break}return m0[j0>>2]=0,j0-S2}function ap(x0){for(var j0=0,C1=0;C1=55296&&S2<=57343&&++C1,j0+=4}return j0}function $p(x0){var j0=Gs(x0)+1,C1=qs(j0);return C1&&Rn(x0,f,C1,j0),C1}function lp(x0){var j0=Gs(x0)+1,C1=HA(j0);return Rn(x0,f,C1,j0),C1}function Lm(x0){return x0}function ZC(){var x0,j0=function(){var S2=Error();if(!S2.stack){try{throw Error(0)}catch(W3){S2=W3}if(!S2.stack)return"(no stack trace available)"}return S2.stack.toString()}();return A0.extraStackTrace&&(j0+=` +`+A0.extraStackTrace()),(x0=j0).replace(/__Z[\w\d_]+/g,function(C1){var S2,W3=S2=C1;return C1===W3?C1:C1+" ["+W3+"]"})}function Bh(x0,j0){return x0%j0>0&&(x0+=j0-x0%j0),x0}function Fm(x0){A0.buffer=g=x0}function Y9(){A0.HEAP8=f=new Int8Array(g),A0.HEAP16=o0=new Int16Array(g),A0.HEAP32=m0=new Int32Array(g),A0.HEAPU8=D=new Uint8Array(g),A0.HEAPU16=E0=new Uint16Array(g),A0.HEAPU32=c0=new Uint32Array(g),A0.HEAPF32=f1=new Float32Array(g),A0.HEAPF64=x=new Float64Array(g)}function Hr(){var x0=A0.usingWasm?65536:16777216,j0=2147483648-x0;if(m0[V2>>2]>j0)return!1;var C1=_9;for(_9=Math.max(_9,16777216);_9>2];)_9=_9<=536870912?Bh(2*_9,x0):Math.min(Bh((3*_9+2147483648)/4,x0),j0);var S2=A0.reallocBuffer(_9);return S2&&S2.byteLength==_9?(Fm(S2),Y9(),!0):(_9=C1,!1)}X0=F0=l2=y1=Y2=T2=V2=0,b1=!1,A0.reallocBuffer||(A0.reallocBuffer=function(x0){try{if(ArrayBuffer.transfer)j0=ArrayBuffer.transfer(g,x0);else{var j0,C1=f;j0=new ArrayBuffer(x0),new Int8Array(j0).set(C1)}}catch{return!1}return!!XC(j0)&&j0});try{(i3=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get))(new ArrayBuffer(4))}catch{i3=function(j0){return j0.byteLength}}var x$=A0.TOTAL_STACK||5242880,_9=A0.TOTAL_MEMORY||16777216;function R$(){return _9}function Us(x0){for(;x0.length>0;){var j0=x0.shift();if(typeof j0=="function"){j0();continue}var C1=j0.func;typeof C1=="number"?j0.arg===void 0?A0.dynCall_v(C1):A0.dynCall_vi(C1,j0.arg):C1(j0.arg===void 0?null:j0.arg)}}_9=0?x0:j0<=32?2*Math.abs(1<=S2&&(j0<=32||x0>S2)&&(x0=-2*S2+x0),x0}var Qh=Math.abs,G$=Math.ceil,yh=Math.floor,wh=Math.min,Ln=0,kh=null,Os=null;function cp(x0){return x0}A0.preloadedImages={},A0.preloadedAudios={};var Nm="data:application/octet-stream;base64,";function U$(x0){return String.prototype.startsWith?x0.startsWith(Nm):x0.indexOf(Nm)===0}(function(){var j0="main.wast",C1="main.wasm",S2="main.temp.asm.js";U$(j0)||(j0=J4(j0)),U$(C1)||(C1=J4(C1)),U$(S2)||(S2=J4(S2));var W3={global:null,env:null,asm2wasm:bm,parent:A0},g9=null;function J9(Se){return Se}function h6(){try{if(A0.wasmBinary)return new Uint8Array(A0.wasmBinary);if(A0.readBinary)return A0.readBinary(C1);throw"both async and sync fetching of the wasm failed"}catch(Se){Vi(Se)}}A0.asmPreload=A0.asm;var Et=A0.reallocBuffer,Te=function(Se){Se=Bh(Se,A0.usingWasm?65536:16777216);var h9=A0.buffer.byteLength;if(A0.usingWasm)try{var M7=A0.wasmMemory.grow((Se-h9)/65536);return M7!==-1?A0.buffer=A0.wasmMemory.buffer:null}catch{return null}};A0.reallocBuffer=function(Se){return je==="asmjs"?Et(Se):Te(Se)};var je="";A0.asm=function(Se,h9,M7){var Mi;if(!(h9=Mi=h9).table){var mt,T7=A0.wasmTableSize;T7===void 0&&(T7=1024);var Ti=A0.wasmMaxTableSize;typeof WebAssembly=="object"&&typeof WebAssembly.Table=="function"?Ti!==void 0?h9.table=new WebAssembly.Table({initial:T7,maximum:Ti,element:"anyfunc"}):h9.table=new WebAssembly.Table({initial:T7,element:"anyfunc"}):h9.table=Array(T7),A0.wasmTable=h9.table}return h9.memoryBase||(h9.memoryBase=A0.STATIC_BASE),h9.tableBase||(h9.tableBase=0),mt=function(Fn,ur,Um){if(typeof WebAssembly!="object")return V6("no native wasm support detected"),!1;if(!(A0.wasmMemory instanceof WebAssembly.Memory))return V6("no native wasm Memory in use"),!1;function vh(fr,Ki){if((g9=fr.exports).memory){var YA,Hs,Ys;YA=g9.memory,Hs=A0.buffer,YA.byteLength0?C1:Gs(x0)+1,W3=Array(S2),g9=Rn(x0,W3,0,W3.length);return j0&&(W3.length=g9),W3}function jC(x0){for(var j0=[],C1=0;C1255&&(S2&=255),j0.push(String.fromCharCode(S2))}return j0.join("")}F0+=16,V2=We(4),Y2=(l2=y1=Ji(F0))+x$,T2=Ji(Y2),m0[V2>>2]=T2,b1=!0,A0.wasmTableSize=4,A0.wasmMaxTableSize=4,A0.asmGlobalArg={},A0.asmLibraryArg={abort:Vi,assert:hr,enlargeMemory:Hr,getTotalMemory:R$,abortOnCannotGrowMemory:function(){Vi("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+_9+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")},invoke_iii:function(j0,C1,S2){var W3=Gm();try{return A0.dynCall_iii(j0,C1,S2)}catch(g9){if(P$(W3),typeof g9!="number"&&g9!=="longjmp")throw g9;A0.setThrew(1,0)}},___assert_fail:function(j0,C1,S2,W3){Vi("Assertion failed: "+_$(j0)+", at: "+[C1?_$(C1):"unknown filename",S2,W3?_$(W3):"unknown function"])},___setErrNo:function(j0){return A0.___errno_location&&(m0[A0.___errno_location()>>2]=j0),j0},_abort:function(){A0.abort()},_emscripten_memcpy_big:function(j0,C1,S2){return D.set(D.subarray(C1,C1+S2),j0),j0},_llvm_floor_f64:yh,DYNAMICTOP_PTR:V2,tempDoublePtr:F7,ABORT:OA,STACKTOP:y1,STACK_MAX:Y2};var Vr=A0.asm(A0.asmGlobalArg,A0.asmLibraryArg,g);A0.asm=Vr,A0.___errno_location=function(){return A0.asm.___errno_location.apply(null,arguments)};var XC=A0._emscripten_replace_memory=function(){return A0.asm._emscripten_replace_memory.apply(null,arguments)};A0._free=function(){return A0.asm._free.apply(null,arguments)};var qs=A0._malloc=function(){return A0.asm._malloc.apply(null,arguments)};A0._memcpy=function(){return A0.asm._memcpy.apply(null,arguments)},A0._memset=function(){return A0.asm._memset.apply(null,arguments)},A0._sbrk=function(){return A0.asm._sbrk.apply(null,arguments)},A0._stb_vorbis_js_channels=function(){return A0.asm._stb_vorbis_js_channels.apply(null,arguments)},A0._stb_vorbis_js_close=function(){return A0.asm._stb_vorbis_js_close.apply(null,arguments)},A0._stb_vorbis_js_decode=function(){return A0.asm._stb_vorbis_js_decode.apply(null,arguments)},A0._stb_vorbis_js_open=function(){return A0.asm._stb_vorbis_js_open.apply(null,arguments)},A0._stb_vorbis_js_sample_rate=function(){return A0.asm._stb_vorbis_js_sample_rate.apply(null,arguments)},A0.establishStackSpace=function(){return A0.asm.establishStackSpace.apply(null,arguments)},A0.getTempRet0=function(){return A0.asm.getTempRet0.apply(null,arguments)},A0.runPostSets=function(){return A0.asm.runPostSets.apply(null,arguments)},A0.setTempRet0=function(){return A0.asm.setTempRet0.apply(null,arguments)},A0.setThrew=function(){return A0.asm.setThrew.apply(null,arguments)};var HA=A0.stackAlloc=function(){return A0.asm.stackAlloc.apply(null,arguments)},P$=A0.stackRestore=function(){return A0.asm.stackRestore.apply(null,arguments)},Gm=A0.stackSave=function(){return A0.asm.stackSave.apply(null,arguments)};function O$(x0){this.name="ExitStatus",this.message="Program terminated with exit("+x0+")",this.status=x0}function q$(x0){x0=x0||A0.arguments,!(Ln>0)&&(function(){if(A0.preRun)for(typeof A0.preRun=="function"&&(A0.preRun=[A0.preRun]);A0.preRun.length;)WC(A0.preRun.shift());Us(Yr)}(),!(Ln>0)&&(A0.calledRun||(A0.setStatus?(A0.setStatus("Running..."),setTimeout(function(){setTimeout(function(){A0.setStatus("")},1),j0()},1)):j0())));function j0(){!A0.calledRun&&(A0.calledRun=!0,OA||(M$||(M$=!0,Us(L$)),Us(ph),A0.onRuntimeInitialized&&A0.onRuntimeInitialized(),function(){if(A0.postRun)for(typeof A0.postRun=="function"&&(A0.postRun=[A0.postRun]);A0.postRun.length;)Fi(A0.postRun.shift());Us(F$)}()))}}function eB(x0,j0){(!j0||!A0.noExitRuntime||x0!==0)&&(A0.noExitRuntime||(OA=!0,mh=x0,y1=r3,Us(pi),Li=!0,A0.onExit&&A0.onExit(x0)),A0.quit(x0,new O$(x0)))}function Vi(x0){throw A0.onAbort&&A0.onAbort(x0),x0!==void 0?(r4(x0),V6(x0),x0=JSON.stringify(x0)):x0="",OA=!0,mh=1,"abort("+x0+"). Build with -s ASSERTIONS=1 for more info."}if(A0.dynCall_iii=function(){return A0.asm.dynCall_iii.apply(null,arguments)},A0.asm=Vr,A0.ccall=Ch,A0.cwrap=function(j0,C1,S2,W3){var g9=(S2=S2||[]).every(function(J9){return J9==="number"});return C1!=="string"&&g9&&!W3?qA(j0):function(){return Ch(j0,C1,S2,arguments,W3)}},O$.prototype=Error(),O$.prototype.constructor=O$,Os=function x0(){A0.calledRun||q$(),A0.calledRun||(Os=x0)},A0.run=q$,A0.abort=Vi,A0.preInit)for(typeof A0.preInit=="function"&&(A0.preInit=[A0.preInit]);A0.preInit.length>0;)A0.preInit.pop()();A0.noExitRuntime=!0,q$(),A0.onRuntimeInitialized=()=>{Ck=!0,Bk()},UA.decode=function(x0){return function(C1){if(!Ck)throw Error("Not initialized");var S2={};function W3(ur){return new Int32Array(A0.HEAPU8.buffer,ur,1)[0]}function g9(ur,Um){var vh=new ArrayBuffer(Um*Float32Array.BYTES_PER_ELEMENT),y8=new Float32Array(vh);return y8.set(new Float32Array(A0.HEAPU8.buffer,ur,Um)),y8}S2.open=A0.cwrap("stb_vorbis_js_open","number",[]),S2.close=A0.cwrap("stb_vorbis_js_close","void",["number"]),S2.channels=A0.cwrap("stb_vorbis_js_channels","number",["number"]),S2.sampleRate=A0.cwrap("stb_vorbis_js_sample_rate","number",["number"]),S2.decode=A0.cwrap("stb_vorbis_js_decode","number",["number","number","number","number","number"]);var J9,h6,Et,Te,je=S2.open(),Se=(J9=C1,h6=C1.byteLength,Et=A0._malloc(h6),(Te=new Uint8Array(A0.HEAPU8.buffer,Et,h6)).set(new Uint8Array(J9,0,h6)),Te),h9=A0._malloc(4),M7=A0._malloc(4),Mi=S2.decode(je,Se.byteOffset,Se.byteLength,h9,M7);if(A0._free(Se.byteOffset),Mi<0)throw S2.close(je),A0._free(h9),Error("stbvorbis decode failed: "+Mi);for(var mt=S2.channels(je),T7=Array(mt),Ti=new Int32Array(A0.HEAPU32.buffer,W3(h9),mt),Ni=0;Nio.chunkData.currentIndex;){let D=AD(f,o.chunkData,r,l);g.push(D),f++}return g.length>1&&g.pop(),g}function AD(o,r,l,g){let f=Ee(r,20),D=o3(r,4)*2,o0=o3(r,4)*2,E0=o3(r,4),m0=o3(r,4),c0=o3(r,4),f1=r[r.currentIndex++];f1===255&&(f1=60);let x=my(r[r.currentIndex++]),X0=o3(r,2),F0=o3(r,2);return new qB(f,D,o0,E0,m0,c0,f1,x,X0,F0,l,o,g)}var HB=class extends W6{constructor(r){super();let l=r.currentIndex;this.generatorType=r[l+1]<<8|r[l],this.generatorValue=RA(r[l+2],r[l+3]),r.currentIndex+=4}};function YB(o){let r=[];for(;o.chunkData.length>o.chunkData.currentIndex;)r.push(new HB(o.chunkData));return r.length>1&&r.pop(),r}var JB=class extends dh{constructor(r){super(),this.instrumentName=Ee(r.chunkData,20).trim(),this.instrumentZoneIndex=o3(r.chunkData,2),this.instrumentZonesAmount=0}getInstrumentZones(r,l){this.instrumentZonesAmount=r;for(let g=this.instrumentZoneIndex;go.chunkData.currentIndex;){let g=new JB(o);if(l.length>0){let f=g.instrumentZoneIndex-l[l.length-1].instrumentZoneIndex;l[l.length-1].getInstrumentZones(f,r)}l.push(g)}return l.length>1&&l.pop(),l}var VB=class extends GA{constructor(r){super(),this.generatorZoneStartIndex=o3(r,2),this.modulatorZoneStartIndex=o3(r,2),this.modulatorZoneSize=0,this.generatorZoneSize=0,this.isGlobal=!0}setZoneSize(r,l){this.modulatorZoneSize=r,this.generatorZoneSize=l}getGenerators(r){for(let l=this.generatorZoneStartIndex;lg.generatorType===v1.sampleID);l&&(this.sample=r[l.generatorValue],this.isGlobal=!1,this.sample.useCount++)}getKeyRange(){let r=this.generators.find(l=>l.generatorType===v1.keyRange);r&&(this.keyRange.min=r.generatorValue&127,this.keyRange.max=r.generatorValue>>8&127)}getVelRange(){let r=this.generators.find(l=>l.generatorType===v1.velRange);r&&(this.velRange.min=r.generatorValue&127,this.velRange.max=r.generatorValue>>8&127)}};function yk(o,r,l,g){let f=[];for(;o.chunkData.length>o.chunkData.currentIndex;){let D=new VB(o.chunkData);if(f.length>0){let o0=D.modulatorZoneStartIndex-f[f.length-1].modulatorZoneStartIndex,E0=D.generatorZoneStartIndex-f[f.length-1].generatorZoneStartIndex;f[f.length-1].setZoneSize(o0,E0),f[f.length-1].getGenerators(r),f[f.length-1].getModulators(l),f[f.length-1].getSample(g),f[f.length-1].getKeyRange(),f[f.length-1].getVelRange()}f.push(D)}return f.length>1&&f.pop(),f}var KB=class extends fh{constructor(r){super(),this.generatorZoneStartIndex=o3(r,2),this.modulatorZoneStartIndex=o3(r,2),this.modulatorZoneSize=0,this.generatorZoneSize=0,this.isGlobal=!0}setZoneSize(r,l){this.modulatorZoneSize=r,this.generatorZoneSize=l}getGenerators(r){for(let l=this.generatorZoneStartIndex;lg.generatorType===v1.instrument);l&&(this.instrument=r[l.generatorValue],this.instrument.addUseCount(),this.isGlobal=!1)}getKeyRange(){let r=this.generators.find(l=>l.generatorType===v1.keyRange);r&&(this.keyRange.min=r.generatorValue&127,this.keyRange.max=r.generatorValue>>8&127)}getVelRange(){let r=this.generators.find(l=>l.generatorType===v1.velRange);r&&(this.velRange.min=r.generatorValue&127,this.velRange.max=r.generatorValue>>8&127)}};function wk(o,r,l,g){let f=[];for(;o.chunkData.length>o.chunkData.currentIndex;){let D=new KB(o.chunkData);if(f.length>0){let o0=D.modulatorZoneStartIndex-f[f.length-1].modulatorZoneStartIndex,E0=D.generatorZoneStartIndex-f[f.length-1].generatorZoneStartIndex;f[f.length-1].setZoneSize(o0,E0),f[f.length-1].getGenerators(r),f[f.length-1].getModulators(l),f[f.length-1].getInstrument(g),f[f.length-1].getKeyRange(),f[f.length-1].getVelRange()}f.push(D)}return f.length>1&&f.pop(),f}var zB=class extends uh{constructor(r,l){super(l),this.presetName=Ee(r.chunkData,20).trim().replace(/\d{3}:\d{3}/,""),this.program=o3(r.chunkData,2),this.bank=o3(r.chunkData,2),this.presetZoneStartIndex=o3(r.chunkData,2),this.library=o3(r.chunkData,4),this.genre=o3(r.chunkData,4),this.morphology=o3(r.chunkData,4),this.presetZonesAmount=0}getPresetZones(r,l){this.presetZonesAmount=r;for(let g=this.presetZoneStartIndex;go.chunkData.currentIndex;){let f=new zB(o,l);if(g.length>0){let D=f.presetZoneStartIndex-g[g.length-1].presetZoneStartIndex;g[g.length-1].getPresetZones(D,r)}g.push(f)}return g.length>1&&g.pop(),g}var ZB=class extends se{constructor(r){super({srcEnum:o3(r,2),dest:o3(r,2),amt:RA(r[r.currentIndex++],r[r.currentIndex++]),secSrcEnum:o3(r,2),transform:o3(r,2)})}};function HC(o){let r=[];for(;o.chunkData.length>o.chunkData.currentIndex;)r.push(new ZB(o.chunkData));return r}var YC=class extends k${constructor(r,l=!0){if(super(),l&&console.warn("Using the constructor directly is deprecated. Use loadSoundFont instead."),this.dataArray=new V3(r),cr("%cParsing SoundFont...",_1.info),!this.dataArray)throw i4(),new TypeError("No data!");let g=d4(this.dataArray,!1);this.verifyHeader(g,"riff");let f=Ee(this.dataArray,4).toLowerCase();if(f!=="sfbk"&&f!=="sfpk")throw i4(),new SyntaxError(`Invalid soundFont! Expected "sfbk" or "sfpk" got "${f}"`);let D=f==="sfpk",o0=d4(this.dataArray);for(this.verifyHeader(o0,"list"),Ee(o0.chunkData,4);o0.chunkData.length>o0.chunkData.currentIndex;){let w6=d4(o0.chunkData),s6;switch(w6.header.toLowerCase()){case"ifil":case"iver":s6=`${o3(w6.chunkData,2)}.${o3(w6.chunkData,2)}`,this.soundFontInfo[w6.header]=s6;break;case"icmt":s6=Ee(w6.chunkData,w6.chunkData.length,void 0,!1),this.soundFontInfo[w6.header]=s6;break;case"dmod":let o9=HC(w6);o9.pop(),s6=`Modulators: ${o9.length}`;let J4=this.defaultModulators;this.defaultModulators=o9,this.defaultModulators.push(...J4.filter(r4=>!this.defaultModulators.find(V6=>se.isIdentical(r4,V6)))),this.soundFontInfo[w6.header]=w6.chunkData;break;default:s6=Ee(w6.chunkData,w6.chunkData.length),this.soundFontInfo[w6.header]=s6}W5(`%c"${w6.header}": %c"${s6}"`,_1.info,_1.recognized)}let E0=d4(this.dataArray,!1);this.verifyHeader(E0,"list"),this.verifyText(Ee(this.dataArray,4),"sdta"),W5("%cVerifying smpl chunk...",_1.warn);let m0=d4(this.dataArray,!1);this.verifyHeader(m0,"smpl");let c0;if(D){W5("%cSF2Pack detected, attempting to decode the smpl chunk...",_1.info);try{c0=UA.decode(this.dataArray.buffer.slice(this.dataArray.currentIndex,this.dataArray.currentIndex+E0.size-12)).data[0]}catch(w6){throw i4(),new Error(`SF2Pack Ogg Vorbis decode error: ${w6}`)}W5(`%cDecoded the smpl chunk! Length: %c${c0.length}`,_1.info,_1.value)}else c0=this.dataArray,this.sampleDataStartIndex=this.dataArray.currentIndex;W5(`%cSkipping sample chunk, length: %c${E0.size-12}`,_1.info,_1.value),this.dataArray.currentIndex+=E0.size-12,W5("%cLoading preset data chunk...",_1.warn);let f1=d4(this.dataArray);this.verifyHeader(f1,"list"),Ee(f1.chunkData,4);let x=d4(f1.chunkData);this.verifyHeader(x,"phdr");let X0=d4(f1.chunkData);this.verifyHeader(X0,"pbag");let F0=d4(f1.chunkData);this.verifyHeader(F0,"pmod");let b1=d4(f1.chunkData);this.verifyHeader(b1,"pgen");let l2=d4(f1.chunkData);this.verifyHeader(l2,"inst");let y1=d4(f1.chunkData);this.verifyHeader(y1,"ibag");let Y2=d4(f1.chunkData);this.verifyHeader(Y2,"imod");let T2=d4(f1.chunkData);this.verifyHeader(T2,"igen");let V2=d4(f1.chunkData);this.verifyHeader(V2,"shdr"),this.dataArray.currentIndex=this.sampleDataStartIndex,this.samples.push(...pk(V2,c0,!D));let i3=YB(T2),r3=HC(Y2),A0=yk(y1,i3,r3,this.samples);this.instruments=Qk(l2,A0);let y5=YB(b1),T3=HC(F0),$3=wk(X0,y5,T3,this.instruments);this.presets.push(...kk(x,$3,this.defaultModulators)),this.presets.sort((w6,s6)=>w6.program-s6.program+(w6.bank-s6.bank)),W5(`%cParsing finished! %c"${this.soundFontInfo.INAM}"%c has %c${this.presets.length} %cpresets, + %c${this.instruments.length}%c instruments and %c${this.samples.length}%c samples.`,_1.info,_1.recognized,_1.info,_1.recognized,_1.info,_1.recognized,_1.info,_1.recognized,_1.info),i4(),D&&delete this.dataArray}verifyHeader(r,l){if(r.header.toLowerCase()!==l.toLowerCase())throw i4(),new SyntaxError(`Invalid chunk header! Expected "${l.toLowerCase()}" got "${r.header.toLowerCase()}"`)}verifyText(r,l){if(r.toLowerCase()!==l.toLowerCase())throw i4(),new SyntaxError(`Invalid soundFont! Expected "${l.toLowerCase()}" got "${r.toLowerCase()}"`)}};function Eh(o){let r=o.slice(8,12),l=new V3(r);return Ee(l,4,void 0,!1).toLowerCase()==="dls "?new Fs(o):new YC(o,!1)}async function vk(){let o="locale.exportAudio.formats.formats.soundfont.options.";Pt(this.localeManager.getLocaleString(o+"title"),[{type:"toggle",translatePathTitle:o+"trim",attributes:{"trim-toggle":"1",checked:"checked"}},{type:"toggle",translatePathTitle:o+"compress",attributes:{"compress-toggle":"1"}},{type:"range",translatePathTitle:o+"quality",attributes:{min:"0",max:"10",value:"5"}},{type:"button",textContent:this.localeManager.getLocaleString(o+"confirm"),onClick:async r=>{let l=r.div.querySelector("input[trim-toggle='1']").checked,g=r.div.querySelector("input[compress-toggle='1']").checked,f=parseInt(r.div.querySelector("input[type='range']").value)/10;h7(r.id),cr("%cExporting minified soundfont...",_1.info);let D=await this.seq.getMIDI(),o0=Eh(D.embeddedSoundFont||this.soundFont);lh(D,await this.synth.getSynthesizerSnapshot()),l&&UC(o0,D);let E0=o0.write({compress:g,compressionQuality:f,compressionFunction:this.compressionFunc}),m0=new Blob([E0.buffer],{type:"audio/soundfont"}),c0=o0.soundFontInfo.ifil.split(".")[0]==="3"?"sf3":"sf2";this.saveBlob(m0,`${o0.soundFontInfo.INAM||"unnamed"}.${c0}`),i4()}}],99999999,!0,this.localeManager)}async function Sk(){let o="locale.exportAudio.formats.";Pt(this.localeManager.getLocaleString(o+"title"),[{type:"button",translatePathTitle:o+"formats.wav.button",onClick:r=>{h7(r.id),this._exportAudioData()}},{type:"button",translatePathTitle:o+"formats.midi.button",onClick:r=>{h7(r.id),this.exportMidi()}},{type:"button",translatePathTitle:o+"formats.soundfont.button",onClick:r=>{h7(r.id);try{this._exportSoundfont()}catch{Pt("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}},{type:"button",translatePathTitle:o+"formats.rmidi.button",onClick:r=>{h7(r.id);try{this._exportRMIDI()}catch{Pt("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}}],999999,!0,this.localeManager,{display:"flex",flexWrap:"wrap",justifyContent:"center"})}async function bk(){let o=(x,X0,F0)=>this.seq.midiData.RMIDInfo?.[x]===void 0?X0:F0.decode(this.seq.midiData.RMIDInfo?.[x]).replace(/\0$/,""),r=o("IENC","ascii",new TextDecoder),l=new TextDecoder(r),g=o("IPRD","",l),f=o("IART","",l),D=o("IGNR","",l),o0=o("ICMT","Created using SpessaSynth: https://spessasus.github.io/SpessaSynth",l),E0="locale.exportAudio.formats.formats.rmidi.options.",m0="locale.exportAudio.formats.metadata.",f1=Pt(this.localeManager.getLocaleString(E0+"title"),[{type:"toggle",translatePathTitle:E0+"compress",attributes:{"compress-toggle":"1",checked:"true"}},{type:"range",translatePathTitle:E0+"quality",attributes:{min:"0",max:"10",value:"5"}},{type:"input",translatePathTitle:m0+"songTitle",attributes:{name:"song_title",type:"text",value:this.seqUI.currentSongTitle}},{type:"input",translatePathTitle:m0+"album",attributes:{value:g,name:"album",type:"text"}},{type:"input",translatePathTitle:m0+"artist",attributes:{value:f,name:"artist",type:"text"}},{type:"input",translatePathTitle:m0+"genre",attributes:{value:D,name:"genre",type:"text"}},{type:"input",translatePathTitle:m0+"comment",attributes:{value:o0,name:"comment",type:"text"}},{type:"file",translatePathTitle:m0+"albumCover",attributes:{value:this.seq.midiData.RMIDInfo?.IPIC!==void 0?this.seq.midiData.RMIDInfo.IPIC:"",name:"cover",accept:"image/*"}},{type:"input",translatePathTitle:E0+"bankOffset",attributes:{value:this.seq.midiData.bankOffset,name:"bank_offset",type:"number"}},{type:"toggle",translatePathTitle:E0+"adjust",attributes:{name:"adjust",checked:"checked"}},{type:"button",textContent:this.localeManager.getLocaleString(E0+"confirm"),onClick:async x=>{let X0=x.div.querySelector("input[compress-toggle='1']").checked,F0=parseInt(x.div.querySelector("input[type='range']").value)/10,b1=x.div.querySelector("input[name='album']").value,l2=x.div.querySelector("input[name='artist']").value,y1=x.div.querySelector("input[name='song_title']").value,Y2=x.div.querySelector("input[name='comment']").value,T2=x.div.querySelector("input[name='genre']").value,V2=parseInt(x.div.querySelector("input[name='bank_offset']").value),i3=x.div.querySelector("input[name='adjust']").checked,r3=x.div.querySelector("input[type='file']")?.files[0];h7(x.id),ri("%cExporting RMIDI...",_1.info);let A0="locale.exportAudio.formats.formats.rmidi.progress.",y5=Pt(this.localeManager.getLocaleString(A0+"title"),[{type:"text",textContent:this.localeManager.getLocaleString(A0+"loading"),attributes:{class:"export_rmidi_message"}}],9999999,!1);await new Promise(V6=>setTimeout(V6,500));let T3=y5.div.getElementsByClassName("export_rmidi_message")[0],$3=await this.seq.getMIDI(),w6=Eh($3.embeddedSoundFont||this.soundFont);T3.textContent=this.localeManager.getLocaleString(A0+"modifyingMIDI"),await new Promise(V6=>setTimeout(V6,75)),lh($3,await this.synth.getSynthesizerSnapshot()),T3.textContent=this.localeManager.getLocaleString(A0+"modifyingSoundfont"),await new Promise(V6=>setTimeout(V6,75)),UC(w6,$3);let s6=w6.write({compress:X0,compressionQuality:F0,compressionFunction:this.compressionFunc});T3.textContent=this.localeManager.getLocaleString(A0+"saving"),await new Promise(V6=>setTimeout(V6,75));let o9;r3?.type.split("/")[0]==="image"?o9=await r3.arrayBuffer():$3.RMIDInfo?.IPIC!==void 0&&(o9=$3.RMIDInfo.IPIC.buffer);let J4=By(s6,$3,w6,V2,this.seqUI.encoding,{name:y1,comment:Y2,engineer:w6.soundFontInfo.IENG,picture:o9,album:b1.length>0?b1:void 0,artist:l2.length>0?l2:void 0,genre:T2.length>0?T2:void 0,midiEncoding:this.seqUI.encoding},i3),r4=new Blob([J4.buffer],{type:"audio/rmid"});this.saveBlob(r4,`${y1||"unnamed_song"}.rmi`),T3.textContent=this.localeManager.getLocaleString(A0+"done"),h7(y5.id),i4()}}],9999999,!0,this.localeManager).div.querySelector("input[type='file']");f1.oninput=()=>{f1.files[0]&&(f1.parentElement.firstChild.textContent=f1.files[0].name)}}var JC={init:function(){var o;o||(o=(typeof o<"u"?o:null)||{});var r={};for(var l in o)o.hasOwnProperty(l)&&(r[l]=o[l]);var g=typeof window=="object",f=typeof process=="object"&&typeof hC=="function"&&!g,D=typeof importScripts=="function",o0=!g&&!f&&!D;if(f){o.print||(o.print=function($){process.stdout.write($+` `)}),o.printErr||(o.printErr=function($){process.stderr.write($+` -`)});var E0=void 0,m0=void 0;o.read=function($,h){$=m0.normalize($);var d=E0.readFileSync($);return!d&&$!=m0.resolve($)&&($=path.join(__dirname,"..","src",$),d=E0.readFileSync($)),d&&!h&&(d=d.toString()),d},o.readBinary=function($){return o.read($,!0)},o.load=function($){u1(read($))},o.thisProgram||(process.argv.length>1?o.thisProgram=process.argv[1].replace(/\\/g,"/"):o.thisProgram="unknown-program"),o.arguments=process.argv.slice(2),typeof module<"u"&&o!=null,process.on("uncaughtException",function(i){if(!(i instanceof JA))throw i}),o.inspect=function(){return"[Emscripten Module object]"}}else if(o0)o.print||(o.print=print),typeof printErr<"u"&&(o.printErr=printErr),typeof read<"u"?o.read=read:o.read=function(){throw"no read() available (jsc?)"},o.readBinary=function($){if(typeof readbuffer=="function")return new Uint8Array(readbuffer($));var h=read($,"binary");return V4(typeof h=="object"),h},typeof scriptArgs<"u"?o.arguments=scriptArgs:typeof arguments<"u"&&(o.arguments=arguments);else if(g||D){if(o.read=function($){var h=new XMLHttpRequest;return h.open("GET",$,!1),h.send(null),h.responseText},typeof arguments<"u"&&(o.arguments=arguments),typeof console<"u")o.print||(o.print=function($){console.log($)}),o.printErr||(o.printErr=function($){console.log($)});else{var l0=!1;o.print||(o.print=l0&&typeof dump<"u"?function(i){dump(i)}:function(i){})}D&&(o.load=importScripts),typeof o.setWindowTitle>"u"&&(o.setWindowTitle=function(i){document.title=i})}else throw"Unknown runtime environment. Where are we?";function u1(i){eval.call(null,i)}!o.load&&o.read&&(o.load=function($){u1(o.read($))}),o.print||(o.print=function(){}),o.printErr||(o.printErr=o.print),o.arguments||(o.arguments=[]),o.thisProgram||(o.thisProgram="./this.program"),o.print=o.print,o.printErr=o.printErr,o.preRun=[],o.postRun=[];for(var l in r)r.hasOwnProperty(l)&&(o[l]=r[l]);var F={setTempRet0:function(i){V6=i},getTempRet0:function(){return V6},stackSave:function(){return pi},stackRestore:function(i){pi=i},getNativeTypeSize:function(i){switch(i){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(i[i.length-1]==="*")return F.QUANTUM_SIZE;if(i[0]==="i"){var $=parseInt(i.substr(1));return V4($%8===0),$/8}else return 0}}},getNativeFieldSize:function(i){return Math.max(F.getNativeTypeSize(i),F.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(i,$){return $==="double"||$==="i64"?i&7&&(V4((i&7)===4),i+=4):V4((i&3)===0),i},getAlignSize:function(i,$,h){return!h&&(i=="i64"||i=="double")?8:i?Math.min($||(i?F.getNativeFieldSize(i):0),F.QUANTUM_SIZE):Math.min($,8)},dynCall:function(i,$,h){return h&&h.length?(h.splice||(h=Array.prototype.slice.call(h)),h.splice(0,0,$),o["dynCall_"+i].apply(null,h)):o["dynCall_"+i].call(null,$)},functionPointers:[],addFunction:function(i){for(var $=0;$=Ps){var h=WC();if(!h)return Li=$,0}return $},alignMemory:function(i,$){var h=i=Math.ceil(i/($||16))*($||16);return h},makeBigInt:function(i,$,h){var d=h?+(i>>>0)+ +($>>>0)*4294967296:+(i>>>0)+ +($|0)*4294967296;return d},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};o.Runtime=F;var q0=0,R0=!1,L1=0,t2=0,y1,Y2,T2,V2,i3,r3,A0,y5,T3,$3,w6,s6,o9,J4,r4,V6,We,qr,Ji,PA,Ms,bm,S$,KC,Fk;function V4(i,$){i||Js("Assertion failed: "+$)}var Mk=this;function zC(i){var $=o["_"+i];if(!$)try{$=void("_"+i)}catch{}return V4($,"Cannot call unknown function "+i+" (perhaps LLVM optimizations or closure removed it?)"),$}var b$,OA;(function(){var i={stackSave:function(){F.stackSave()},stackRestore:function(){F.stackRestore()},arrayToC:function(W0){var t1=F.stackAlloc(W0.length);return HA(W0,t1),t1},stringToC:function(W0){var t1=0;return W0!=null&&W0!==0&&(t1=F.stackAlloc((W0.length<<2)+1),qs(W0,t1)),t1}},$={string:i.stringToC,array:i.arrayToC};OA=function(t1,b2,s,A1,C){var w5=zC(t1),p2=[],T5=0;if(A1)for(var x9=0;x9>0]=$;break;case"i8":Y9[i>>0]=$;break;case"i16":Hr[i>>1]=$;break;case"i32":_9[i>>2]=$;break;case"i64":J4=[$>>>0,(s6=$,+q$(s6)>=1?s6>0?(M7(+Te(s6/4294967296),4294967295)|0)>>>0:~~+Et((s6-+(~~s6>>>0))/4294967296)>>>0:0)],_9[i>>2]=J4[0],_9[i+4>>2]=J4[1];break;case"float":Y$[i>>2]=$;break;case"double":R$[i>>3]=$;break;default:Js("invalid type for setValue: "+h)}}o.setValue=mh;function hr(i,$,h){switch($=$||"i8",$.charAt($.length-1)==="*"&&($="i32"),$){case"i1":return Y9[i>>0];case"i8":return Y9[i>>0];case"i16":return Hr[i>>1];case"i32":return _9[i>>2];case"i64":return _9[i>>2];case"float":return Y$[i>>2];case"double":return R$[i>>3];default:Js("invalid type for setValue: "+$)}return null}o.getValue=hr;var qA=0,Dm=1,Ts=2,Ch=3,N3=4;o.ALLOC_NORMAL=qA,o.ALLOC_STACK=Dm,o.ALLOC_STATIC=Ts,o.ALLOC_DYNAMIC=Ch,o.ALLOC_NONE=N3;function E3(i,$,h,d){var P,e;typeof i=="number"?(P=!0,e=i):(P=!1,e=i.length);var W0=typeof $=="string"?$:null,t1;if(h==N3?t1=d:t1=[Sh,F.stackAlloc,F.staticAlloc,F.dynamicAlloc][h===void 0?Ts:h](Math.max(e,W0?1:$.length)),P){var d=t1,b2;for(V4((t1&3)==0),b2=t1+(e&-4);d>2]=0;for(b2=t1+e;d>0]=0;return t1}if(W0==="i8")return i.subarray||i.slice?Qi.set(i,t1):Qi.set(new Uint8Array(i),t1),t1;for(var s=0,A1,C,w5;s>0],h|=d,!(d==0&&!$||(P++,$&&P==$)););$||($=P);var e="";if(h<128){for(var W0=1024,t1;$>0;)t1=String.fromCharCode.apply(String,Qi.subarray(i,i+Math.min($,W0))),e=e?e+t1:t1,i+=W0,$-=W0;return e}return o.UTF8ToString(i)}o.Pointer_stringify=D$;function _$(i){for(var $="";;){var h=Y9[i++>>0];if(!h)return $;$+=String.fromCharCode(h)}}o.AsciiToString=_$;function ip(i,$){return P$(i,$,!1)}o.stringToAscii=ip;function Ns(i,$){for(var h,d,P,e,W0,t1,b2="";;){if(h=i[$++],!h)return b2;if(!(h&128)){b2+=String.fromCharCode(h);continue}if(d=i[$++]&63,(h&224)==192){b2+=String.fromCharCode((h&31)<<6|d);continue}if(P=i[$++]&63,(h&240)==224?h=(h&15)<<12|d<<6|P:(e=i[$++]&63,(h&248)==240?h=(h&7)<<18|d<<12|P<<6|e:(W0=i[$++]&63,(h&252)==248?h=(h&3)<<24|d<<18|P<<12|e<<6|W0:(t1=i[$++]&63,h=(h&1)<<30|d<<24|P<<18|e<<12|W0<<6|t1))),h<65536)b2+=String.fromCharCode(h);else{var s=h-65536;b2+=String.fromCharCode(55296|s>>10,56320|s&1023)}}}o.UTF8ArrayToString=Ns;function _m(i){return Ns(Qi,i)}o.UTF8ToString=_m;function Rn(i,$,h,d){if(!(d>0))return 0;for(var P=h,e=h+d-1,W0=0;W0=55296&&t1<=57343&&(t1=65536+((t1&1023)<<10)|i.charCodeAt(++W0)&1023),t1<=127){if(h>=e)break;$[h++]=t1}else if(t1<=2047){if(h+1>=e)break;$[h++]=192|t1>>6,$[h++]=128|t1&63}else if(t1<=65535){if(h+2>=e)break;$[h++]=224|t1>>12,$[h++]=128|t1>>6&63,$[h++]=128|t1&63}else if(t1<=2097151){if(h+3>=e)break;$[h++]=240|t1>>18,$[h++]=128|t1>>12&63,$[h++]=128|t1>>6&63,$[h++]=128|t1&63}else if(t1<=67108863){if(h+4>=e)break;$[h++]=248|t1>>24,$[h++]=128|t1>>18&63,$[h++]=128|t1>>12&63,$[h++]=128|t1>>6&63,$[h++]=128|t1&63}else{if(h+5>=e)break;$[h++]=252|t1>>30,$[h++]=128|t1>>24&63,$[h++]=128|t1>>18&63,$[h++]=128|t1>>12&63,$[h++]=128|t1>>6&63,$[h++]=128|t1&63}}return $[h]=0,h-P}o.stringToUTF8Array=Rn;function xm(i,$,h){return Rn(i,Qi,$,h)}o.stringToUTF8=xm;function Gs(i){for(var $=0,h=0;h=55296&&d<=57343&&(d=65536+((d&1023)<<10)|i.charCodeAt(++h)&1023),d<=127?++$:d<=2047?$+=2:d<=65535?$+=3:d<=2097151?$+=4:d<=67108863?$+=5:$+=6}return $}o.lengthBytesUTF8=Gs;function Rm(i){for(var $=0,h="";;){var d=Hr[i+$*2>>1];if(d==0)return h;++$,h+=String.fromCharCode(d)}}o.UTF16ToString=Rm;function rp(i,$,h){if(h===void 0&&(h=2147483647),h<2)return 0;h-=2;for(var d=$,P=h>1]=W0,$+=2}return Hr[$>>1]=0,$-d}o.stringToUTF16=rp;function np(i){return i.length*2}o.lengthBytesUTF16=np;function sp(i){for(var $=0,h="";;){var d=_9[i+$*4>>2];if(d==0)return h;if(++$,d>=65536){var P=d-65536;h+=String.fromCharCode(55296|P>>10,56320|P&1023)}else h+=String.fromCharCode(d)}}o.UTF32ToString=sp;function op(i,$,h){if(h===void 0&&(h=2147483647),h<4)return 0;for(var d=$,P=d+h-4,e=0;e=55296&&W0<=57343){var t1=i.charCodeAt(++e);W0=65536+((W0&1023)<<10)|t1&1023}if(_9[$>>2]=W0,$+=4,$+4>P)break}return _9[$>>2]=0,$-d}o.stringToUTF32=op;function Ap(i){for(var $=0,h=0;h=55296&&d<=57343&&++h,$+=4}return $}o.lengthBytesUTF32=Ap;function ap(i){var $=!!o.___cxa_demangle;if($)try{var h=Sh(i.length);qs(i.substr(1),h);var d=Sh(4),P=o.___cxa_demangle(h,0,0,d);if(hr(d,"i32")===0&&P)return D$(P)}catch{}finally{h&&iB(h),d&&iB(d),P&&iB(P)}var e=3,W0={v:"void",b:"bool",c:"char",s:"short",i:"int",l:"long",f:"float",d:"double",w:"wchar_t",a:"signed char",h:"unsigned char",t:"unsigned short",j:"unsigned int",m:"unsigned long",x:"long long",y:"unsigned long long",z:"..."},t1=[],b2=!0;function s(p2){p2&&o.print(p2),o.print(i);for(var T5="",x9=0;x9"}else O9=K9;e:for(;e0;){var dr=i[e++];if(dr in W0)I4.push(W0[dr]);else switch(dr){case"P":I4.push(C(!0,1,!0)[0]+"*");break;case"R":I4.push(C(!0,1,!0)[0]+"&");break;case"L":{e++;var V$=i.indexOf("E",e),h8=V$-e;I4.push(i.substr(e,h8)),e+=h8+2;break}case"A":{var h8=parseInt(i.substr(e));if(e+=h8.toString().length,i[e]!=="_")throw"?";e++,I4.push(C(!0,1,!0)[0]+" ["+h8+"]");break}case"E":break e;default:O9+="?"+dr;break e}}return!x9&&I4.length===1&&I4[0]==="void"&&(I4=[]),p2?(O9&&I4.push(O9+"?"),I4):O9+w8()}var w5=i;try{if(i=="Object._main"||i=="_main")return"main()";if(typeof i=="number"&&(i=D$(i)),i[0]!=="_"||i[1]!=="_"||i[2]!=="Z")return i;switch(i[3]){case"n":return"operator new()";case"d":return"operator delete()"}w5=C()}catch{w5+="?"}return w5.indexOf("?")>=0&&!$&&F.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),w5}function $p(i){return i.replace(/__Z[\w\d_]+/g,function($){var h=ap($);return $===h?$:$+" ["+h+"]"})}function lp(){var i=new Error;if(!i.stack){try{throw new Error(0)}catch($){i=$}if(!i.stack)return"(no stack trace available)"}return i.stack.toString()}function Lm(){return $p(lp())}o.stackTrace=Lm;var ZC=4096;function Bh(i){return i%4096>0&&(i+=4096-i%4096),i}var Fm,Y9,Qi,Hr,x$,_9,H$,Y$,R$,Us=0,Yr=0,L$=!1,ph=0,pi=0,F$=0,M$=0,Li=0;function WC(){Js("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+Ps+", (2) compile with ALLOW_MEMORY_GROWTH which adjusts the size at runtime but prevents some optimizations, or (3) set Module.TOTAL_MEMORY before the program runs.")}for(var Mm=o.TOTAL_STACK||5242880,Ps=o.TOTAL_MEMORY||16777216,Jr=64*1024;Jr0;){var $=i.shift();if(typeof $=="function"){$();continue}var h=$.func;typeof h=="number"?$.arg===void 0?F.dynCall("v",h):F.dynCall("vi",h,[$.arg]):h($.arg===void 0?null:$.arg)}}var Tm=[],N$=[],Qh=[],G$=[],yh=[],wh=!1,Ln=!1;function kh(){if(o.preRun)for(typeof o.preRun=="function"&&(o.preRun=[o.preRun]);o.preRun.length;)F7(o.preRun.shift());T$(Tm)}function Os(){wh||(wh=!0,T$(N$))}function cp(){T$(Qh)}function Nm(){T$(G$),Ln=!0}function U$(){if(o.postRun)for(typeof o.postRun=="function"&&(o.postRun=[o.postRun]);o.postRun.length;)jC(o.postRun.shift());T$(yh)}function F7(i){Tm.unshift(i)}o.addOnPreRun=o.addOnPreRun=F7;function gp(i){N$.unshift(i)}o.addOnInit=o.addOnInit=gp;function hp(i){Qh.unshift(i)}o.addOnPreMain=o.addOnPreMain=hp;function up(i){G$.unshift(i)}o.addOnExit=o.addOnExit=up;function jC(i){yh.unshift(i)}o.addOnPostRun=o.addOnPostRun=jC;function Vr(i,$,h){var d=h>0?h:Gs(i)+1,P=new Array(d),e=Rn(i,P,0,P.length);return $&&(P.length=e),P}o.intArrayFromString=Vr;function XC(i){for(var $=[],h=0;h255&&(d&=255),$.push(String.fromCharCode(d))}return $.join("")}o.intArrayToString=XC;function qs(i,$,h){for(var d=Vr(i,h),P=0;P>0]=e,P=P+1}}o.writeStringToMemory=qs;function HA(i,$){for(var h=0;h>0]=i[h]}o.writeArrayToMemory=HA;function P$(i,$,h){for(var d=0;d>0]=i.charCodeAt(d);h||(Y9[$>>0]=0)}o.writeAsciiToMemory=P$;function Gm(i,$,h){return i>=0?i:$<=32?2*Math.abs(1<<$-1)+i:Math.pow(2,$)+i}function O$(i,$,h){if(i<=0)return i;var d=$<=32?Math.abs(1<<$-1):Math.pow(2,$-1);return i>=d&&($<=32||i>d)&&(i=-2*d+i),i}(!Math.imul||Math.imul(4294967295,5)!==-5)&&(Math.imul=function($,h){var d=$>>>16,P=$&65535,e=h>>>16,W0=h&65535;return P*W0+(d*W0+P*e<<16)|0}),Math.imul=Math.imul,Math.clz32||(Math.clz32=function(i){i=i>>>0;for(var $=0;$<32;$++)if(i&1<<31-$)return $;return 32}),Math.clz32=Math.clz32;var q$=Math.abs,eB=Math.cos,Vi=Math.sin,x0=Math.tan,X0=Math.acos,C1=Math.asin,S2=Math.atan,W3=Math.atan2,g9=Math.exp,J9=Math.log,h6=Math.sqrt,Et=Math.ceil,Te=Math.floor,je=Math.pow,Se=Math.imul,h9=Math.fround,M7=Math.min,Mi=Math.clz32,mt=0,T7=null,Ti=null;function Ni(i){return i}function Fn(i){mt++,o.monitorRunDependencies&&o.monitorRunDependencies(mt)}o.addRunDependency=Fn;function ur(i){if(mt--,o.monitorRunDependencies&&o.monitorRunDependencies(mt),mt==0&&(T7!==null&&(clearInterval(T7),T7=null),Ti)){var $=Ti;Ti=null,$()}}o.removeRunDependency=ur,o.preloadedImages={},o.preloadedAudios={};var Um=null,vh=[];Us=8,Yr=Us+553552,N$.push(),E3([0,0,0,0,1,0,0,0,3,0,0,0,7,0,0,0,15,0,0,0,31,0,0,0,63,0,0,0,127,0,0,0,255,0,0,0,255,1,0,0,255,3,0,0,255,7,0,0,255,15,0,0,255,31,0,0,255,63,0,0,255,127,0,0,255,255,0,0,255,255,1,0,255,255,3,0,255,255,7,0,255,255,15,0,255,255,31,0,255,255,63,0,255,255,127,0,255,255,255,0,255,255,255,1,255,255,255,3,255,255,255,7,255,255,255,15,255,255,255,31,255,255,255,63,255,255,255,127,255,255,255,255,0,0,0,0,0,0,0,0,183,29,193,4,110,59,130,9,217,38,67,13,220,118,4,19,107,107,197,23,178,77,134,26,5,80,71,30,184,237,8,38,15,240,201,34,214,214,138,47,97,203,75,43,100,155,12,53,211,134,205,49,10,160,142,60,189,189,79,56,112,219,17,76,199,198,208,72,30,224,147,69,169,253,82,65,172,173,21,95,27,176,212,91,194,150,151,86,117,139,86,82,200,54,25,106,127,43,216,110,166,13,155,99,17,16,90,103,20,64,29,121,163,93,220,125,122,123,159,112,205,102,94,116,224,182,35,152,87,171,226,156,142,141,161,145,57,144,96,149,60,192,39,139,139,221,230,143,82,251,165,130,229,230,100,134,88,91,43,190,239,70,234,186,54,96,169,183,129,125,104,179,132,45,47,173,51,48,238,169,234,22,173,164,93,11,108,160,144,109,50,212,39,112,243,208,254,86,176,221,73,75,113,217,76,27,54,199,251,6,247,195,34,32,180,206,149,61,117,202,40,128,58,242,159,157,251,246,70,187,184,251,241,166,121,255,244,246,62,225,67,235,255,229,154,205,188,232,45,208,125,236,119,112,134,52,192,109,71,48,25,75,4,61,174,86,197,57,171,6,130,39,28,27,67,35,197,61,0,46,114,32,193,42,207,157,142,18,120,128,79,22,161,166,12,27,22,187,205,31,19,235,138,1,164,246,75,5,125,208,8,8,202,205,201,12,7,171,151,120,176,182,86,124,105,144,21,113,222,141,212,117,219,221,147,107,108,192,82,111,181,230,17,98,2,251,208,102,191,70,159,94,8,91,94,90,209,125,29,87,102,96,220,83,99,48,155,77,212,45,90,73,13,11,25,68,186,22,216,64,151,198,165,172,32,219,100,168,249,253,39,165,78,224,230,161,75,176,161,191,252,173,96,187,37,139,35,182,146,150,226,178,47,43,173,138,152,54,108,142,65,16,47,131,246,13,238,135,243,93,169,153,68,64,104,157,157,102,43,144,42,123,234,148,231,29,180,224,80,0,117,228,137,38,54,233,62,59,247,237,59,107,176,243,140,118,113,247,85,80,50,250,226,77,243,254,95,240,188,198,232,237,125,194,49,203,62,207,134,214,255,203,131,134,184,213,52,155,121,209,237,189,58,220,90,160,251,216,238,224,12,105,89,253,205,109,128,219,142,96,55,198,79,100,50,150,8,122,133,139,201,126,92,173,138,115,235,176,75,119,86,13,4,79,225,16,197,75,56,54,134,70,143,43,71,66,138,123,0,92,61,102,193,88,228,64,130,85,83,93,67,81,158,59,29,37,41,38,220,33,240,0,159,44,71,29,94,40,66,77,25,54,245,80,216,50,44,118,155,63,155,107,90,59,38,214,21,3,145,203,212,7,72,237,151,10,255,240,86,14,250,160,17,16,77,189,208,20,148,155,147,25,35,134,82,29,14,86,47,241,185,75,238,245,96,109,173,248,215,112,108,252,210,32,43,226,101,61,234,230,188,27,169,235,11,6,104,239,182,187,39,215,1,166,230,211,216,128,165,222,111,157,100,218,106,205,35,196,221,208,226,192,4,246,161,205,179,235,96,201,126,141,62,189,201,144,255,185,16,182,188,180,167,171,125,176,162,251,58,174,21,230,251,170,204,192,184,167,123,221,121,163,198,96,54,155,113,125,247,159,168,91,180,146,31,70,117,150,26,22,50,136,173,11,243,140,116,45,176,129,195,48,113,133,153,144,138,93,46,141,75,89,247,171,8,84,64,182,201,80,69,230,142,78,242,251,79,74,43,221,12,71,156,192,205,67,33,125,130,123,150,96,67,127,79,70,0,114,248,91,193,118,253,11,134,104,74,22,71,108,147,48,4,97,36,45,197,101,233,75,155,17,94,86,90,21,135,112,25,24,48,109,216,28,53,61,159,2,130,32,94,6,91,6,29,11,236,27,220,15,81,166,147,55,230,187,82,51,63,157,17,62,136,128,208,58,141,208,151,36,58,205,86,32,227,235,21,45,84,246,212,41,121,38,169,197,206,59,104,193,23,29,43,204,160,0,234,200,165,80,173,214,18,77,108,210,203,107,47,223,124,118,238,219,193,203,161,227,118,214,96,231,175,240,35,234,24,237,226,238,29,189,165,240,170,160,100,244,115,134,39,249,196,155,230,253,9,253,184,137,190,224,121,141,103,198,58,128,208,219,251,132,213,139,188,154,98,150,125,158,187,176,62,147,12,173,255,151,177,16,176,175,6,13,113,171,223,43,50,166,104,54,243,162,109,102,180,188,218,123,117,184,3,93,54,181,180,64,247,177,1,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,0,0,0,0,88,105,112,104,46,79,114,103,32,108,105,98,86,111,114,98,105,115,32,73,32,50,48,49,53,48,49,48,53,32,40,226,155,132,226,155,132,226,155,132,226,155,132,41,0,0,0,0,1,0,0,0,4,0,0,0,3,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,0,0,76,194,0,0,80,194,0,0,84,194,0,0,88,194,0,0,92,194,0,0,96,194,0,0,100,194,0,0,104,194,0,0,108,194,0,0,112,194,0,0,116,194,0,0,120,194,0,0,124,194,0,0,128,194,0,0,130,194,0,0,132,194,0,0,134,194,0,0,136,194,0,0,138,194,0,0,140,194,0,0,142,194,0,0,144,194,0,0,146,194,0,0,148,194,0,0,150,194,0,0,152,194,0,0,154,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,164,194,0,0,166,194,0,0,168,194,0,0,170,194,0,0,172,194,0,0,174,194,0,0,176,194,0,0,176,194,0,0,178,194,0,0,178,194,0,0,180,194,0,0,182,194,0,0,182,194,0,0,184,194,0,0,186,194,0,0,188,194,0,0,190,194,0,0,192,194,0,0,192,194,0,0,194,194,0,0,196,194,0,0,196,194,0,0,198,194,0,0,198,194,0,0,200,194,0,0,200,194,0,0,202,194,0,0,204,194,0,0,206,194,0,0,208,194,0,0,212,194,0,0,214,194,0,0,214,194,0,0,214,194,0,0,214,194,0,0,210,194,0,0,206,194,0,0,204,194,0,0,202,194,0,0,198,194,0,0,196,194,0,0,192,194,0,0,190,194,0,0,190,194,0,0,192,194,0,0,194,194,0,0,192,194,0,0,190,194,0,0,186,194,0,0,180,194,0,0,160,194,0,0,140,194,0,0,72,194,0,0,32,194,0,0,240,193,0,0,240,193,0,0,240,193,0,0,240,193,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,4,64,0,0,0,0,0,0,18,64,0,0,0,0,0,0,33,64,0,0,0,0,0,128,48,64,0,0,0,4,107,244,52,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,4,64,0,0,0,0,0,0,18,64,0,0,0,0,0,0,33,64,0,0,0,4,107,244,52,66,62,180,228,51,9,145,243,51,139,178,1,52,60,32,10,52,35,26,19,52,96,169,28,52,167,215,38,52,75,175,49,52,80,59,61,52,112,135,73,52,35,160,86,52,184,146,100,52,85,109,115,52,136,159,129,52,252,11,138,52,147,4,147,52,105,146,156,52,50,191,166,52,63,149,177,52,147,31,189,52,228,105,201,52,173,128,214,52,54,113,228,52,166,73,243,52,136,140,1,53,192,247,9,53,6,239,18,53,118,123,28,53,192,166,38,53,55,123,49,53,218,3,61,53,94,76,73,53,59,97,86,53,185,79,100,53,252,37,115,53,138,121,129,53,134,227,137,53,124,217,146,53,133,100,156,53,82,142,166,53,51,97,177,53,37,232,188,53,220,46,201,53,206,65,214,53,65,46,228,53,87,2,243,53,143,102,1,54,79,207,9,54,245,195,18,54,152,77,28,54,232,117,38,54,50,71,49,54,116,204,60,54,94,17,73,54,101,34,86,54,206,12,100,54,184,222,114,54,151,83,129,54,28,187,137,54,114,174,146,54,175,54,156,54,129,93,166,54,53,45,177,54,199,176,188,54,228,243,200,54,1,3,214,54,96,235,227,54,30,187,242,54,162,64,1,55,235,166,9,55,241,152,18,55,201,31,28,55,30,69,38,55,61,19,49,55,30,149,60,55,111,214,72,55,162,227,85,55,247,201,99,55,137,151,114,55,175,45,129,55,190,146,137,55,116,131,146,55,230,8,156,55,190,44,166,55,71,249,176,55,121,121,188,55,254,184,200,55,71,196,213,55,146,168,227,55,248,115,242,55,192,26,1,56,147,126,9,56,249,109,18,56,6,242,27,56,98,20,38,56,86,223,48,56,216,93,60,56,146,155,72,56,242,164,85,56,51,135,99,56,110,80,114,56,211,7,129,56,107,106,137,56,130,88,146,56,42,219,155,56,9,252,165,56,104,197,176,56,59,66,188,56,41,126,200,56,160,133,213,56,217,101,227,56,232,44,242,56,233,244,0,57,70,86,9,57,14,67,18,57,81,196,27,57,181,227,37,57,127,171,48,57,162,38,60,57,197,96,72,57,83,102,85,57,131,68,99,57,104,9,114,57,1,226,128,57,36,66,137,57,157,45,146,57,123,173,155,57,99,203,165,57,153,145,176,57,13,11,188,57,102,67,200,57,11,71,213,57,50,35,227,57,237,229,241,57,29,207,0,58,5,46,9,58,48,24,18,58,169,150,27,58,21,179,37,58,183,119,48,58,124,239,59,58,10,38,72,58,199,39,85,58,230,1,99,58,120,194,113,58,59,188,128,58,233,25,137,58,198,2,146,58,219,127,155,58,203,154,165,58,216,93,176,58,239,211,187,58,179,8,200,58,136,8,213,58,159,224,226,58,7,159,241,58,92,169,0,59,208,5,9,59,94,237,17,59,15,105,27,59,132,130,37,59,253,67,48,59,103,184,59,59,97,235,71,59,77,233,84,59,93,191,98,59,156,123,113,59,127,150,128,59,186,241,136,59,249,215,145,59,71,82,155,59,65,106,165,59,39,42,176,59,226,156,187,59,18,206,199,59,23,202,212,59,32,158,226,59,53,88,241,59,166,131,0,60,167,221,8,60,152,194,17,60,130,59,27,60,1,82,37,60,84,16,48,60,97,129,59,60,200,176,71,60,229,170,84,60,232,124,98,60,212,52,113,60,207,112,128,60,150,201,136,60,58,173,145,60,192,36,155,60,197,57,165,60,133,246,175,60,229,101,187,60,130,147,199,60,185,139,212,60,180,91,226,60,121,17,241,60,251,93,0,61,137,181,8,61,223,151,17,61,2,14,27,61,141,33,37,61,185,220,47,61,109,74,59,61,64,118,71,61,145,108,84,61,133,58,98,61,34,238,112,61,42,75,128,61,127,161,136,61,136,130,145,61,72,247,154,61,88,9,165,61,242,194,175,61,248,46,187,61,3,89,199,61,109,77,212,61,92,25,226,61,209,202,240,61,91,56,0,62,119,141,8,62,51,109,17,62,144,224,26,62,39,241,36,62,46,169,47,62,135,19,59,62,202,59,71,62,77,46,84,62,55,248,97,62,132,167,112,62,143,37,128,62,115,121,136,62,226,87,145,62,220,201,154,62,249,216,164,62,109,143,175,62,27,248,186,62,149,30,199,62,51,15,212,62,23,215,225,62,61,132,240,62,198,18,0,63,114,101,8,63,147,66,17,63,43,179,26,63,206,192,36,63,177,117,47,63,178,220,58,63,101,1,71,63,29,240,83,63,251,181,97,63,251,96,112,63,0,0,128,63,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,120,194,0,0,120,194,0,0,130,194,0,0,146,194,0,0,138,194,0,0,136,194,0,0,136,194,0,0,134,194,0,0,140,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,150,194,0,0,158,194,0,0,158,194,0,0,160,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,84,194,0,0,116,194,0,0,132,194,0,0,132,194,0,0,136,194,0,0,134,194,0,0,140,194,0,0,152,194,0,0,152,194,0,0,144,194,0,0,146,194,0,0,150,194,0,0,152,194,0,0,156,194,0,0,158,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,24,194,0,0,32,194,0,0,40,194,0,0,56,194,0,0,64,194,0,0,84,194,0,0,92,194,0,0,120,194,0,0,130,194,0,0,104,194,0,0,96,194,0,0,96,194,0,0,116,194,0,0,112,194,0,0,130,194,0,0,134,194,0,0,138,194,0,0,142,194,0,0,154,194,0,0,154,194,0,0,156,194,0,0,160,194,0,0,164,194,0,0,168,194,0,0,176,194,0,0,186,194,0,0,196,194,0,0,212,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,208,193,0,0,216,193,0,0,232,193,0,0,0,194,0,0,24,194,0,0,64,194,0,0,80,194,0,0,80,194,0,0,72,194,0,0,64,194,0,0,64,194,0,0,76,194,0,0,80,194,0,0,88,194,0,0,112,194,0,0,134,194,0,0,134,194,0,0,132,194,0,0,136,194,0,0,138,194,0,0,146,194,0,0,146,194,0,0,152,194,0,0,160,194,0,0,162,194,0,0,162,194,0,0,170,194,0,0,170,194,0,0,172,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,136,193,0,0,152,193,0,0,160,193,0,0,176,193,0,0,208,193,0,0,224,193,0,0,248,193,0,0,32,194,0,0,60,194,0,0,28,194,0,0,28,194,0,0,32,194,0,0,40,194,0,0,44,194,0,0,60,194,0,0,76,194,0,0,100,194,0,0,80,194,0,0,92,194,0,0,92,194,0,0,112,194,0,0,104,194,0,0,120,194,0,0,124,194,0,0,140,194,0,0,134,194,0,0,138,194,0,0,144,194,0,0,146,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,166,194,0,0,174,194,0,0,180,194,0,0,188,194,0,0,196,194,0,0,208,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,32,193,0,0,48,193,0,0,112,193,0,0,152,193,0,0,200,193,0,0,240,193,0,0,8,194,0,0,248,193,0,0,240,193,0,0,248,193,0,0,232,193,0,0,0,194,0,0,12,194,0,0,40,194,0,0,64,194,0,0,40,194,0,0,48,194,0,0,56,194,0,0,72,194,0,0,72,194,0,0,76,194,0,0,80,194,0,0,108,194,0,0,88,194,0,0,92,194,0,0,92,194,0,0,104,194,0,0,120,194,0,0,124,194,0,0,132,194,0,0,144,194,0,0,146,194,0,0,152,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,160,194,0,0,162,194,0,0,168,194,0,0,176,194,0,0,180,194,0,0,188,194,0,0,196,194,0,0,202,194,0,0,212,194,0,0,220,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,134,194,0,0,134,194,0,0,134,194,0,0,152,194,0,0,144,194,0,0,142,194,0,0,148,194,0,0,152,194,0,0,152,194,0,0,150,194,0,0,156,194,0,0,158,194,0,0,158,194,0,0,162,194,0,0,166,194,0,0,172,194,0,0,178,194,0,0,186,194,0,0,194,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,64,194,0,0,76,194,0,0,92,194,0,0,108,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,134,194,0,0,132,194,0,0,136,194,0,0,138,194,0,0,140,194,0,0,148,194,0,0,158,194,0,0,154,194,0,0,154,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,164,194,0,0,168,194,0,0,172,194,0,0,176,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,216,194,0,0,232,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,20,194,0,0,20,194,0,0,36,194,0,0,48,194,0,0,64,194,0,0,76,194,0,0,104,194,0,0,120,194,0,0,112,194,0,0,100,194,0,0,108,194,0,0,108,194,0,0,112,194,0,0,124,194,0,0,130,194,0,0,144,194,0,0,142,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,154,194,0,0,152,194,0,0,156,194,0,0,162,194,0,0,162,194,0,0,160,194,0,0,166,194,0,0,172,194,0,0,182,194,0,0,192,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,240,193,0,0,0,194,0,0,0,194,0,0,4,194,0,0,12,194,0,0,36,194,0,0,68,194,0,0,72,194,0,0,68,194,0,0,60,194,0,0,64,194,0,0,64,194,0,0,80,194,0,0,76,194,0,0,100,194,0,0,130,194,0,0,116,194,0,0,108,194,0,0,116,194,0,0,128,194,0,0,138,194,0,0,140,194,0,0,148,194,0,0,154,194,0,0,154,194,0,0,156,194,0,0,162,194,0,0,168,194,0,0,170,194,0,0,174,194,0,0,180,194,0,0,184,194,0,0,192,194,0,0,200,194,0,0,214,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,160,193,0,0,168,193,0,0,184,193,0,0,216,193,0,0,240,193,0,0,12,194,0,0,16,194,0,0,36,194,0,0,56,194,0,0,48,194,0,0,40,194,0,0,32,194,0,0,36,194,0,0,36,194,0,0,44,194,0,0,64,194,0,0,92,194,0,0,84,194,0,0,80,194,0,0,84,194,0,0,96,194,0,0,108,194,0,0,104,194,0,0,112,194,0,0,134,194,0,0,132,194,0,0,138,194,0,0,142,194,0,0,144,194,0,0,150,194,0,0,158,194,0,0,162,194,0,0,168,194,0,0,174,194,0,0,180,194,0,0,186,194,0,0,194,194,0,0,202,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,48,193,0,0,64,193,0,0,64,193,0,0,112,193,0,0,128,193,0,0,160,193,0,0,184,193,0,0,240,193,0,0,20,194,0,0,8,194,0,0,4,194,0,0,8,194,0,0,248,193,0,0,0,194,0,0,0,194,0,0,24,194,0,0,60,194,0,0,48,194,0,0,36,194,0,0,32,194,0,0,60,194,0,0,68,194,0,0,56,194,0,0,56,194,0,0,104,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,104,194,0,0,120,194,0,0,128,194,0,0,134,194,0,0,134,194,0,0,140,194,0,0,144,194,0,0,152,194,0,0,158,194,0,0,166,194,0,0,174,194,0,0,182,194,0,0,192,194,0,0,200,194,0,0,208,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,124,194,0,0,128,194,0,0,132,194,0,0,134,194,0,0,132,194,0,0,136,194,0,0,150,194,0,0,144,194,0,0,152,194,0,0,150,194,0,0,152,194,0,0,156,194,0,0,158,194,0,0,164,194,0,0,168,194,0,0,170,194,0,0,180,194,0,0,188,194,0,0,202,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,112,194,0,0,112,194,0,0,116,194,0,0,124,194,0,0,132,194,0,0,142,194,0,0,136,194,0,0,140,194,0,0,140,194,0,0,142,194,0,0,144,194,0,0,144,194,0,0,150,194,0,0,162,194,0,0,156,194,0,0,158,194,0,0,164,194,0,0,166,194,0,0,172,194,0,0,180,194,0,0,194,194,0,0,206,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,88,194,0,0,92,194,0,0,100,194,0,0,96,194,0,0,100,194,0,0,92,194,0,0,116,194,0,0,130,194,0,0,112,194,0,0,112,194,0,0,120,194,0,0,124,194,0,0,124,194,0,0,132,194,0,0,136,194,0,0,148,194,0,0,146,194,0,0,150,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,160,194,0,0,164,194,0,0,170,194,0,0,180,194,0,0,192,194,0,0,202,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,64,194,0,0,76,194,0,0,100,194,0,0,76,194,0,0,68,194,0,0,72,194,0,0,76,194,0,0,84,194,0,0,88,194,0,0,108,194,0,0,132,194,0,0,112,194,0,0,120,194,0,0,134,194,0,0,134,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,152,194,0,0,156,194,0,0,162,194,0,0,170,194,0,0,176,194,0,0,188,194,0,0,194,194,0,0,208,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,28,194,0,0,36,194,0,0,40,194,0,0,40,194,0,0,28,194,0,0,24,194,0,0,36,194,0,0,44,194,0,0,80,194,0,0,48,194,0,0,32,194,0,0,28,194,0,0,20,194,0,0,20,194,0,0,32,194,0,0,60,194,0,0,88,194,0,0,72,194,0,0,64,194,0,0,72,194,0,0,92,194,0,0,116,194,0,0,108,194,0,0,120,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,138,194,0,0,138,194,0,0,146,194,0,0,148,194,0,0,148,194,0,0,150,194,0,0,154,194,0,0,158,194,0,0,164,194,0,0,174,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,216,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,224,193,0,0,208,193,0,0,192,193,0,0,176,193,0,0,160,193,0,0,160,193,0,0,184,193,0,0,232,193,0,0,240,193,0,0,248,193,0,0,224,193,0,0,216,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,12,194,0,0,32,194,0,0,4,194,0,0,0,194,0,0,232,193,0,0,240,193,0,0,240,193,0,0,240,193,0,0,20,194,0,0,52,194,0,0,36,194,0,0,20,194,0,0,24,194,0,0,52,194,0,0,60,194,0,0,60,194,0,0,64,194,0,0,84,194,0,0,68,194,0,0,64,194,0,0,72,194,0,0,68,194,0,0,68,194,0,0,76,194,0,0,80,194,0,0,104,194,0,0,96,194,0,0,100,194,0,0,96,194,0,0,112,194,0,0,116,194,0,0,120,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,156,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,212,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,200,194,0,0,190,194,0,0,182,194,0,0,174,194,0,0,166,194,0,0,160,194,0,0,156,194,0,0,152,194,0,0,156,194,0,0,156,194,0,0,162,194,0,0,166,194,0,0,170,194,0,0,172,194,0,0,170,194,0,0,172,194,0,0,174,194,0,0,180,194,0,0,194,194,0,0,214,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,162,194,0,0,154,194,0,0,146,194,0,0,140,194,0,0,134,194,0,0,134,194,0,0,136,194,0,0,150,194,0,0,146,194,0,0,140,194,0,0,138,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,158,194,0,0,168,194,0,0,166,194,0,0,168,194,0,0,172,194,0,0,176,194,0,0,178,194,0,0,178,194,0,0,186,194,0,0,196,194,0,0,210,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,152,194,0,0,142,194,0,0,136,194,0,0,136,194,0,0,130,194,0,0,124,194,0,0,124,194,0,0,120,194,0,0,120,194,0,0,128,194,0,0,130,194,0,0,128,194,0,0,116,194,0,0,120,194,0,0,124,194,0,0,128,194,0,0,132,194,0,0,136,194,0,0,146,194,0,0,146,194,0,0,148,194,0,0,150,194,0,0,152,194,0,0,162,194,0,0,166,194,0,0,170,194,0,0,176,194,0,0,178,194,0,0,184,194,0,0,190,194,0,0,200,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,160,194,0,0,150,194,0,0,142,194,0,0,136,194,0,0,130,194,0,0,124,194,0,0,120,194,0,0,116,194,0,0,116,194,0,0,116,194,0,0,116,194,0,0,108,194,0,0,96,194,0,0,100,194,0,0,84,194,0,0,72,194,0,0,104,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,80,194,0,0,84,194,0,0,88,194,0,0,104,194,0,0,134,194,0,0,124,194,0,0,134,194,0,0,136,194,0,0,144,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,162,194,0,0,164,194,0,0,170,194,0,0,178,194,0,0,180,194,0,0,186,194,0,0,194,194,0,0,202,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,130,194,0,0,116,194,0,0,108,194,0,0,100,194,0,0,96,194,0,0,92,194,0,0,92,194,0,0,96,194,0,0,96,194,0,0,100,194,0,0,92,194,0,0,84,194,0,0,80,194,0,0,60,194,0,0,48,194,0,0,48,194,0,0,72,194,0,0,48,194,0,0,36,194,0,0,28,194,0,0,28,194,0,0,40,194,0,0,32,194,0,0,56,194,0,0,76,194,0,0,68,194,0,0,72,194,0,0,84,194,0,0,88,194,0,0,124,194,0,0,112,194,0,0,116,194,0,0,120,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,140,194,0,0,146,194,0,0,148,194,0,0,150,194,0,0,152,194,0,0,150,194,0,0,158,194,0,0,170,194,0,0,178,194,0,0,182,194,0,0,192,194,0,0,204,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,80,194,0,0,72,194,0,0,68,194,0,0,68,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,68,194,0,0,72,194,0,0,72,194,0,0,68,194,0,0,56,194,0,0,44,194,0,0,28,194,0,0,12,194,0,0,4,194,0,0,24,194,0,0,16,194,0,0,0,194,0,0,232,193,0,0,0,194,0,0,0,194,0,0,0,194,0,0,12,194,0,0,48,194,0,0,28,194,0,0,24,194,0,0,24,194,0,0,56,194,0,0,72,194,0,0,52,194,0,0,56,194,0,0,84,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,88,194,0,0,84,194,0,0,84,194,0,0,96,194,0,0,100,194,0,0,108,194,0,0,132,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,158,194,0,0,166,194,0,0,170,194,0,0,180,194,0,0,194,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,172,194,0,0,160,194,0,0,150,194,0,0,150,194,0,0,158,194,0,0,160,194,0,0,158,194,0,0,160,194,0,0,162,194,0,0,164,194,0,0,176,194,0,0,190,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,176,194,0,0,166,194,0,0,158,194,0,0,156,194,0,0,150,194,0,0,142,194,0,0,134,194,0,0,136,194,0,0,146,194,0,0,146,194,0,0,144,194,0,0,146,194,0,0,150,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,202,194,0,0,192,194,0,0,180,194,0,0,172,194,0,0,162,194,0,0,154,194,0,0,146,194,0,0,138,194,0,0,132,194,0,0,116,194,0,0,120,194,0,0,132,194,0,0,128,194,0,0,120,194,0,0,130,194,0,0,132,194,0,0,140,194,0,0,144,194,0,0,152,194,0,0,162,194,0,0,160,194,0,0,168,194,0,0,180,194,0,0,190,194,0,0,204,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,206,194,0,0,194,194,0,0,184,194,0,0,176,194,0,0,166,194,0,0,158,194,0,0,148,194,0,0,140,194,0,0,132,194,0,0,108,194,0,0,84,194,0,0,104,194,0,0,120,194,0,0,92,194,0,0,88,194,0,0,88,194,0,0,88,194,0,0,104,194,0,0,116,194,0,0,120,194,0,0,144,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,160,194,0,0,166,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,132,194,0,0,120,194,0,0,96,194,0,0,64,194,0,0,48,194,0,0,64,194,0,0,56,194,0,0,56,194,0,0,44,194,0,0,56,194,0,0,64,194,0,0,64,194,0,0,76,194,0,0,104,194,0,0,104,194,0,0,108,194,0,0,112,194,0,0,120,194,0,0,120,194,0,0,116,194,0,0,116,194,0,0,130,194,0,0,128,194,0,0,130,194,0,0,136,194,0,0,140,194,0,0,148,194,0,0,150,194,0,0,156,194,0,0,162,194,0,0,172,194,0,0,190,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,130,194,0,0,116,194,0,0,92,194,0,0,68,194,0,0,28,194,0,0,4,194,0,0,32,194,0,0,12,194,0,0,0,194,0,0,24,194,0,0,32,194,0,0,4,194,0,0,12,194,0,0,20,194,0,0,56,194,0,0,36,194,0,0,52,194,0,0,48,194,0,0,56,194,0,0,40,194,0,0,52,194,0,0,56,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,88,194,0,0,92,194,0,0,100,194,0,0,120,194,0,0,128,194,0,0,132,194,0,0,136,194,0,0,140,194,0,0,152,194,0,0,162,194,0,0,180,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,170,194,0,0,164,194,0,0,166,194,0,0,160,194,0,0,156,194,0,0,168,194,0,0,158,194,0,0,160,194,0,0,166,194,0,0,174,194,0,0,178,194,0,0,182,194,0,0,186,194,0,0,198,194,0,0,212,194,0,0,234,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,136,194,0,0,148,194,0,0,144,194,0,0,148,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,170,194,0,0,174,194,0,0,184,194,0,0,178,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,212,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,166,194,0,0,150,194,0,0,142,194,0,0,124,194,0,0,128,194,0,0,134,194,0,0,120,194,0,0,128,194,0,0,134,194,0,0,140,194,0,0,146,194,0,0,154,194,0,0,162,194,0,0,168,194,0,0,166,194,0,0,170,194,0,0,178,194,0,0,180,194,0,0,186,194,0,0,196,194,0,0,208,194,0,0,218,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,206,194,0,0,192,194,0,0,176,194,0,0,162,194,0,0,150,194,0,0,136,194,0,0,104,194,0,0,88,194],"i8",N3,F.GLOBAL_BASE),E3([0,0,96,194,0,0,88,194,0,0,96,194,0,0,96,194,0,0,104,194,0,0,112,194,0,0,124,194,0,0,132,194,0,0,148,194,0,0,138,194,0,0,144,194,0,0,144,194,0,0,150,194,0,0,148,194,0,0,154,194,0,0,162,194,0,0,162,194,0,0,164,194,0,0,168,194,0,0,174,194,0,0,186,194,0,0,192,194,0,0,198,194,0,0,208,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,204,194,0,0,192,194,0,0,182,194,0,0,170,194,0,0,160,194,0,0,148,194,0,0,136,194,0,0,112,194,0,0,76,194,0,0,56,194,0,0,64,194,0,0,56,194,0,0,44,194,0,0,52,194,0,0,60,194,0,0,60,194,0,0,68,194,0,0,64,194,0,0,96,194,0,0,84,194,0,0,92,194,0,0,104,194,0,0,100,194,0,0,124,194,0,0,104,194,0,0,112,194,0,0,132,194,0,0,128,194,0,0,134,194,0,0,140,194,0,0,140,194,0,0,148,194,0,0,154,194,0,0,168,194,0,0,172,194,0,0,178,194,0,0,182,194,0,0,186,194,0,0,188,194,0,0,202,194,0,0,218,194,0,0,236,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,176,194,0,0,166,194,0,0,156,194,0,0,146,194,0,0,136,194,0,0,112,194,0,0,84,194,0,0,48,194,0,0,12,194,0,0,24,194,0,0,24,194,0,0,8,194,0,0,8,194,0,0,16,194,0,0,32,194,0,0,36,194,0,0,48,194,0,0,76,194,0,0,52,194,0,0,56,194,0,0,60,194,0,0,56,194,0,0,88,194,0,0,72,194,0,0,68,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,76,194,0,0,88,194,0,0,100,194,0,0,104,194,0,0,112,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,128,194,0,0,130,194,0,0,136,194,0,0,154,194,0,0,164,194,0,0,174,194,0,0,190,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,204,194,0,0,194,194,0,0,184,194,0,0,174,194,0,0,166,194,0,0,156,194,0,0,150,194,0,0,164,194,0,0,158,194,0,0,166,194,0,0,170,194,0,0,178,194,0,0,184,194,0,0,190,194,0,0,196,194,0,0,202,194,0,0,210,194,0,0,218,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,172,194,0,0,162,194,0,0,156,194,0,0,148,194,0,0,138,194,0,0,148,194,0,0,148,194,0,0,152,194,0,0,158,194,0,0,166,194,0,0,168,194,0,0,172,194,0,0,178,194,0,0,184,194,0,0,194,194,0,0,186,194,0,0,200,194,0,0,206,194,0,0,214,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,174,194,0,0,166,194,0,0,160,194,0,0,150,194,0,0,138,194,0,0,112,194,0,0,132,194,0,0,132,194,0,0,136,194,0,0,140,194,0,0,148,194,0,0,156,194,0,0,158,194,0,0,162,194,0,0,162,194,0,0,166,194,0,0,168,194,0,0,174,194,0,0,186,194,0,0,192,194,0,0,198,194,0,0,206,194,0,0,214,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,178,194,0,0,170,194,0,0,164,194,0,0,156,194,0,0,142,194,0,0,120,194,0,0,92,194,0,0,104,194,0,0,104,194,0,0,88,194,0,0,88,194,0,0,92,194,0,0,108,194,0,0,116,194,0,0,120,194,0,0,140,194,0,0,132,194,0,0,132,194,0,0,134,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,156,194,0,0,168,194,0,0,168,194,0,0,168,194,0,0,176,194,0,0,182,194,0,0,180,194,0,0,190,194,0,0,196,194,0,0,204,194,0,0,206,194,0,0,212,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,188,194,0,0,180,194,0,0,174,194,0,0,164,194,0,0,158,194,0,0,146,194,0,0,134,194,0,0,104,194,0,0,60,194,0,0,72,194,0,0,52,194,0,0,36,194,0,0,52,194,0,0,64,194,0,0,48,194,0,0,48,194,0,0,68,194,0,0,88,194,0,0,76,194,0,0,64,194,0,0,60,194,0,0,68,194,0,0,72,194,0,0,76,194,0,0,100,194,0,0,104,194,0,0,112,194,0,0,124,194,0,0,138,194,0,0,140,194,0,0,138,194,0,0,142,194,0,0,148,194,0,0,156,194,0,0,164,194,0,0,180,194,0,0,190,194,0,0,202,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,202,194,0,0,194,194,0,0,186,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,154,194,0,0,144,194,0,0,130,194,0,0,96,194,0,0,64,194,0,0,20,194,0,0,32,194,0,0,16,194,0,0,8,194,0,0,32,194,0,0,72,194,0,0,60,194,0,0,24,194,0,0,36,194,0,0,60,194,0,0,24,194,0,0,12,194,0,0,28,194,0,0,24,194,0,0,44,194,0,0,32,194,0,0,52,194,0,0,72,194,0,0,52,194,0,0,48,194,0,0,60,194,0,0,72,194,0,0,92,194,0,0,64,194,0,0,64,194,0,0,80,194,0,0,132,194,0,0,140,194,0,0,152,194,0,0,164,194,0,0,180,194,0,0,194,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,172,194,0,0,158,194,0,0,152,194,0,0,166,194,0,0,162,194,0,0,170,194,0,0,174,194,0,0,178,194,0,0,186,194,0,0,196,194,0,0,204,194,0,0,214,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,172,194,0,0,158,194,0,0,142,194,0,0,154,194,0,0,148,194,0,0,154,194,0,0,158,194,0,0,162,194,0,0,168,194,0,0,170,194,0,0,180,194,0,0,184,194,0,0,186,194,0,0,184,194,0,0,196,194,0,0,202,194,0,0,216,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,174,194,0,0,156,194,0,0,136,194,0,0,130,194,0,0,132,194,0,0,120,194,0,0,130,194,0,0,134,194,0,0,140,194,0,0,146,194,0,0,150,194,0,0,156,194,0,0,164,194,0,0,164,194,0,0,166,194,0,0,168,194,0,0,182,194,0,0,186,194,0,0,196,194,0,0,204,194,0,0,212,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,164,194,0,0,148,194,0,0,120,194,0,0,100,194,0,0,104,194,0,0,96,194,0,0,76,194,0,0,80,194,0,0,80,194,0,0,88,194,0,0,88,194,0,0,104,194,0,0,132,194,0,0,108,194,0,0,112,194,0,0,124,194,0,0,132,194,0,0,138,194,0,0,146,194,0,0,158,194,0,0,166,194,0,0,168,194,0,0,160,194,0,0,162,194,0,0,162,194,0,0,164,194,0,0,176,194,0,0,184,194,0,0,196,194,0,0,210,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,204,194,0,0,194,194,0,0,184,194,0,0,168,194,0,0,158,194,0,0,138,194,0,0,100,194,0,0,60,194,0,0,80,194,0,0,60,194,0,0,48,194,0,0,52,194,0,0,72,194,0,0,80,194,0,0,40,194,0,0,40,194,0,0,84,194,0,0,44,194,0,0,44,194,0,0,64,194,0,0,76,194,0,0,96,194,0,0,92,194,0,0,80,194,0,0,100,194,0,0,108,194,0,0,116,194,0,0,120,194,0,0,134,194,0,0,142,194,0,0,156,194,0,0,166,194,0,0,172,194,0,0,188,194,0,0,196,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,168,194,0,0,156,194,0,0,140,194,0,0,116,194,0,0,76,194,0,0,36,194,0,0,32,194,0,0,24,194,0,0,32,194,0,0,56,194,0,0,80,194,0,0,76,194,0,0,36,194,0,0,32,194,0,0,56,194,0,0,32,194,0,0,24,194,0,0,24,194,0,0,36,194,0,0,56,194,0,0,36,194,0,0,56,194,0,0,60,194,0,0,44,194,0,0,44,194,0,0,52,194,0,0,36,194,0,0,52,194,0,0,96,194,0,0,134,194,0,0,136,194,0,0,166,194,0,0,174,194,0,0,180,194,0,0,190,194,0,0,204,194,0,0,214,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,218,194,0,0,210,194,0,0,202,194,0,0,192,194,0,0,182,194,0,0,168,194,0,0,154,194,0,0,164,194,0,0,164,194,0,0,170,194,0,0,178,194,0,0,188,194,0,0,200,194,0,0,212,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,206,194,0,0,196,194,0,0,184,194,0,0,170,194,0,0,160,194,0,0,142,194,0,0,150,194,0,0,144,194,0,0,152,194,0,0,160,194,0,0,168,194,0,0,172,194,0,0,178,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,208,194,0,0,202,194,0,0,194,194,0,0,184,194,0,0,176,194,0,0,168,194,0,0,160,194,0,0,128,194,0,0,132,194,0,0,124,194,0,0,128,194,0,0,132,194,0,0,138,194,0,0,146,194,0,0,154,194,0,0,166,194,0,0,166,194,0,0,172,194,0,0,182,194,0,0,196,194,0,0,208,194,0,0,222,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,208,194,0,0,202,194,0,0,194,194,0,0,184,194,0,0,180,194,0,0,168,194,0,0,148,194,0,0,100,194,0,0,104,194,0,0,80,194,0,0,92,194,0,0,88,194,0,0,72,194,0,0,80,194,0,0,72,194,0,0,80,194,0,0,124,194,0,0,120,194,0,0,138,194,0,0,152,194,0,0,154,194,0,0,156,194,0,0,156,194,0,0,158,194,0,0,164,194,0,0,176,194,0,0,188,194,0,0,200,194,0,0,212,194,0,0,222,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,204,194,0,0,196,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,166,194,0,0,156,194,0,0,140,194,0,0,72,194,0,0,72,194,0,0,36,194,0,0,48,194,0,0,68,194,0,0,60,194,0,0,72,194,0,0,72,194,0,0,48,194,0,0,92,194,0,0,56,194,0,0,60,194,0,0,64,194,0,0,64,194,0,0,88,194,0,0,68,194,0,0,68,194,0,0,104,194,0,0,120,194,0,0,142,194,0,0,162,194,0,0,174,194,0,0,184,194,0,0,194,194,0,0,204,194,0,0,216,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,204,194,0,0,196,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,166,194,0,0,156,194,0,0,140,194,0,0,52,194,0,0,44,194,0,0,36,194,0,0,60,194,0,0,72,194,0,0,76,194,0,0,72,194,0,0,68,194,0,0,52,194,0,0,60,194,0,0,36,194,0,0,48,194,0,0,36,194,0,0,28,194,0,0,44,194,0,0,24,194,0,0,20,194,0,0,32,194,0,0,36,194,0,0,48,194,0,0,72,194,0,0,104,194,0,0,130,194,0,0,146,194,0,0,158,194,0,0,170,194,0,0,184,194,0,0,194,194,0,0,202,194,0,0,210,194,0,0,218,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,200,194,0,0,190,194,0,0,174,194,0,0,162,194,0,0,170,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,202,194,0,0,190,194,0,0,176,194,0,0,166,194,0,0,152,194,0,0,146,194,0,0,144,194,0,0,158,194,0,0,168,194,0,0,180,194,0,0,190,194,0,0,200,194,0,0,210,194,0,0,220,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,208,194,0,0,196,194,0,0,184,194,0,0,174,194,0,0,162,194,0,0,140,194,0,0,130,194,0,0,120,194,0,0,134,194,0,0,142,194,0,0,148,194,0,0,160,194,0,0,170,194,0,0,182,194,0,0,190,194,0,0,198,194,0,0,206,194,0,0,216,194,0,0,222,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,206,194,0,0,194,194,0,0,180,194,0,0,170,194,0,0,152,194,0,0,112,194,0,0,96,194,0,0,88,194,0,0,112,194,0,0,120,194,0,0,116,194,0,0,96,194,0,0,124,194,0,0,130,194,0,0,146,194,0,0,148,194,0,0,154,194,0,0,150,194,0,0,156,194,0,0,162,194,0,0,172,194,0,0,174,194,0,0,176,194,0,0,182,194,0,0,188,194,0,0,196,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,194,194,0,0,184,194,0,0,172,194,0,0,162,194,0,0,158,194,0,0,140,194,0,0,100,194,0,0,76,194,0,0,60,194,0,0,76,194,0,0,104,194,0,0,112,194,0,0,96,194,0,0,84,194,0,0,72,194,0,0,104,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,84,194,0,0,92,194,0,0,128,194,0,0,138,194,0,0,142,194,0,0,170,194,0,0,164,194,0,0,156,194,0,0,162,194,0,0,170,194,0,0,190,194,0,0,204,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,194,194,0,0,184,194,0,0,170,194,0,0,166,194,0,0,158,194,0,0,144,194,0,0,68,194,0,0,32,194,0,0,44,194,0,0,44,194,0,0,88,194,0,0,96,194,0,0,76,194,0,0,72,194,0,0,32,194,0,0,44,194,0,0,24,194,0,0,16,194,0,0,12,194,0,0,20,194,0,0,24,194,0,0,20,194,0,0,48,194,0,0,88,194,0,0,112,194,0,0,100,194,0,0,112,194,0,0,140,194,0,0,150,194,0,0,168,194,0,0,184,194,0,0,206,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,204,194,0,0,190,194,0,0,178,194,0,0,164,194,0,0,166,194,0,0,168,194,0,0,180,194,0,0,184,194,0,0,198,194,0,0,214,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,202,194,0,0,190,194,0,0,178,194,0,0,166,194,0,0,144,194,0,0,148,194,0,0,156,194,0,0,170,194,0,0,176,194,0,0,176,194,0,0,180,194,0,0,184,194,0,0,196,194,0,0,210,194,0,0,222,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,218,194,0,0,206,194,0,0,194,194,0,0,186,194,0,0,174,194,0,0,162,194,0,0,140,194,0,0,140,194,0,0,134,194,0,0,150,194,0,0,146,194,0,0,152,194,0,0,158,194,0,0,162,194,0,0,166,194,0,0,176,194,0,0,178,194,0,0,194,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,200,194,0,0,188,194,0,0,176,194,0,0,166,194,0,0,150,194,0,0,124,194,0,0,108,194,0,0,108,194,0,0,124,194,0,0,132,194,0,0,112,194,0,0,120,194,0,0,134,194,0,0,134,194,0,0,154,194,0,0,152,194,0,0,162,194,0,0,176,194,0,0,172,194,0,0,184,194,0,0,192,194,0,0,204,194,0,0,218,194,0,0,232,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,184,194,0,0,172,194,0,0,162,194,0,0,146,194,0,0,96,194,0,0,80,194,0,0,60,194,0,0,92,194,0,0,112,194,0,0,104,194,0,0,80,194,0,0,76,194,0,0,52,194,0,0,68,194,0,0,72,194,0,0,84,194,0,0,88,194,0,0,116,194,0,0,142,194,0,0,140,194,0,0,138,194,0,0,156,194,0,0,158,194,0,0,174,194,0,0,180,194,0,0,192,194,0,0,208,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,206,194,0,0,192,194,0,0,180,194,0,0,172,194,0,0,156,194,0,0,140,194,0,0,76,194,0,0,40,194,0,0,60,194,0,0,64,194,0,0,92,194,0,0,88,194,0,0,88,194,0,0,84,194,0,0,40,194,0,0,12,194,0,0,224,193,0,0,4,194,0,0,24,194,0,0,20,194,0,0,48,194,0,0,60,194,0,0,68,194,0,0,88,194,0,0,124,194,0,0,136,194,0,0,156,194,0,0,164,194,0,0,178,194,0,0,188,194,0,0,198,194,0,0,208,194,0,0,218,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,180,194,0,0,158,194,0,0,170,194,0,0,162,194,0,0,164,194,0,0,164,194,0,0,178,194,0,0,188,194,0,0,198,194,0,0,206,194,0,0,218,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,194,194,0,0,170,194,0,0,144,194,0,0,148,194,0,0,140,194,0,0,140,194,0,0,140,194,0,0,152,194,0,0,170,194,0,0,182,194,0,0,186,194,0,0,194,194,0,0,206,194,0,0,218,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,224,194,0,0,186,194,0,0,162,194,0,0,136,194,0,0,120,194,0,0,112,194,0,0,112,194,0,0,100,194,0,0,124,194,0,0,140,194,0,0,154,194,0,0,164,194,0,0,180,194,0,0,186,194,0,0,196,194,0,0,208,194,0,0,218,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,226,194,0,0,200,194,0,0,186,194,0,0,168,194,0,0,124,194,0,0,104,194,0,0,64,194,0,0,84,194,0,0,88,194,0,0,80,194,0,0,80,194,0,0,100,194,0,0,128,194,0,0,132,194,0,0,152,194,0,0,166,194,0,0,162,194,0,0,170,194,0,0,170,194,0,0,180,194,0,0,190,194,0,0,196,194,0,0,202,194,0,0,206,194,0,0,212,194,0,0,216,194,0,0,222,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,190,194,0,0,172,194,0,0,148,194,0,0,84,194,0,0,72,194,0,0,24,194,0,0,44,194,0,0,68,194,0,0,44,194,0,0,40,194,0,0,28,194,0,0,28,194,0,0,56,194,0,0,80,194,0,0,100,194,0,0,96,194,0,0,144,194,0,0,138,194,0,0,148,194,0,0,162,194,0,0,174,194,0,0,184,194,0,0,188,194,0,0,194,194,0,0,198,194,0,0,204,194,0,0,210,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,198,194,0,0,180,194,0,0,152,194,0,0,132,194,0,0,52,194,0,0,44,194,0,0,36,194,0,0,48,194,0,0,60,194,0,0,44,194,0,0,60,194,0,0,32,194,0,0,240,193,0,0,248,193,0,0,248,193,0,0,28,194,0,0,4,194,0,0,32,194,0,0,36,194,0,0,44,194,0,0,84,194,0,0,108,194,0,0,140,194,0,0,146,194,0,0,154,194,0,0,158,194,0,0,164,194,0,0,168,194,0,0,174,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,182,194,0,0,152,194,0,0,150,194,0,0,170,194,0,0,186,194,0,0,196,194,0,0,208,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,182,194,0,0,140,194,0,0,140,194,0,0,150,194,0,0,172,194,0,0,178,194,0,0,188,194,0,0,196,194,0,0,202,194,0,0,212,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,190,194,0,0,160,194,0,0,112,194,0,0,130,194,0,0,128,194,0,0,148,194,0,0,166,194,0,0,176,194,0,0,182,194,0,0,190,194,0,0,198,194,0,0,206,194,0,0,214,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,190,194,0,0,160,194,0,0,104,194,0,0,92,194,0,0,68,194,0,0,132,194,0,0,136,194,0,0,142,194,0,0,156,194,0,0,156,194,0,0,160,194,0,0,176,194,0,0,170,194,0,0,178,194,0,0,194,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,190,194,0,0,160,194,0,0,84,194,0,0,80,194,0,0,36,194,0,0,108,194,0,0,108,194,0,0,68,194,0,0,104,194,0,0,96,194,0,0,124,194,0,0,172,194,0,0,158,194,0,0,180,194,0,0,186,194,0,0,196,194,0,0,206,194,0,0,214,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,194,194,0,0,182,194,0,0,146,194,0,0,52,194,0,0,32,194,0,0,4,194,0,0,84,194,0,0,116,194,0,0,68,194,0,0,88,194,0,0,72,194,0,0,72,194,0,0,112,194,0,0,80,194,0,0,134,194,0,0,148,194,0,0,162,194,0,0,184,194,0,0,192,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,226,194,0,0,212,194,0,0,198,194,0,0,184,194,0,0,154,194,0,0,160,194,0,0,176,194,0,0,194,194,0,0,212,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196],"i8",N3,F.GLOBAL_BASE+10240),E3([0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,232,194,0,0,218,194,0,0,204,194,0,0,190,194,0,0,178,194,0,0,148,194,0,0,144,194,0,0,176,194,0,0,174,194,0,0,190,194,0,0,204,194,0,0,218,194,0,0,232,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,232,194,0,0,218,194,0,0,204,194,0,0,190,194,0,0,178,194,0,0,150,194,0,0,132,194,0,0,148,194,0,0,154,194,0,0,156,194,0,0,172,194,0,0,174,194,0,0,180,194,0,0,192,194,0,0,210,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,230,194,0,0,216,194,0,0,202,194,0,0,188,194,0,0,176,194,0,0,132,194,0,0,96,194,0,0,116,194,0,0,140,194,0,0,130,194,0,0,156,194,0,0,144,194,0,0,166,194,0,0,168,194,0,0,186,194,0,0,196,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,190,194,0,0,178,194,0,0,164,194,0,0,100,194,0,0,80,194,0,0,80,194,0,0,108,194,0,0,96,194,0,0,108,194,0,0,104,194,0,0,138,194,0,0,134,194,0,0,176,194,0,0,164,194,0,0,164,194,0,0,178,194,0,0,188,194,0,0,200,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,202,194,0,0,192,194,0,0,180,194,0,0,166,194,0,0,154,194,0,0,88,194,0,0,44,194,0,0,24,194,0,0,72,194,0,0,64,194,0,0,80,194,0,0,64,194,0,0,40,194,0,0,40,194,0,0,76,194,0,0,80,194,0,0,84,194,0,0,108,194,0,0,130,194,0,0,142,194,0,0,156,194,0,0,170,194,0,0,190,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,240,194,0,0,210,194,0,0,172,194,0,0,136,194,0,0,156,194,0,0,158,194,0,0,180,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,240,194,0,0,210,194,0,0,172,194,0,0,132,194,0,0,146,194,0,0,154,194,0,0,176,194,0,0,192,194,0,0,210,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,240,194,0,0,210,194,0,0,184,194,0,0,160,194,0,0,116,194,0,0,128,194,0,0,136,194,0,0,160,194,0,0,174,194,0,0,184,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,240,194,0,0,208,194,0,0,182,194,0,0,158,194,0,0,80,194,0,0,112,194,0,0,88,194,0,0,128,194,0,0,138,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,168,194,0,0,170,194,0,0,174,194,0,0,176,194,0,0,180,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,236,194,0,0,200,194,0,0,174,194,0,0,154,194,0,0,68,194,0,0,72,194,0,0,48,194,0,0,104,194,0,0,116,194,0,0,116,194,0,0,134,194,0,0,130,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,130,194,0,0,136,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,230,194,0,0,196,194,0,0,168,194,0,0,120,194,0,0,68,194,0,0,48,194,0,0,24,194,0,0,56,194,0,0,68,194,0,0,68,194,0,0,56,194,0,0,28,194,0,0,20,194,0,0,28,194,0,0,32,194,0,0,40,194,0,0,44,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,176,194,0,0,148,194,0,0,154,194,0,0,164,194,0,0,164,194,0,0,170,194,0,0,180,194,0,0,188,194,0,0,198,194,0,0,208,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,176,194,0,0,132,194,0,0,140,194,0,0,162,194,0,0,160,194,0,0,162,194,0,0,168,194,0,0,176,194,0,0,182,194,0,0,186,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,176,194,0,0,116,194,0,0,124,194,0,0,140,194,0,0,142,194,0,0,148,194,0,0,154,194,0,0,160,194,0,0,166,194,0,0,170,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,172,194,0,0,120,194,0,0,124,194,0,0,120,194,0,0,120,194,0,0,104,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,80,194,0,0,88,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,236,194,0,0,216,194,0,0,168,194,0,0,84,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,92,194,0,0,60,194,0,0,52,194,0,0,32,194,0,0,32,194,0,0,32,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,236,194,0,0,200,194,0,0,146,194,0,0,44,194,0,0,20,194,0,0,40,194,0,0,44,194,0,0,84,194,0,0,24,194,0,0,20,194,0,0,12,194,0,0,12,194,0,0,24,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,182,194,0,0,168,194,0,0,148,194,0,0,160,194,0,0,160,194,0,0,160,194,0,0,160,194,0,0,160,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,182,194,0,0,168,194,0,0,148,194,0,0,136,194,0,0,136,194,0,0,136,194,0,0,136,194,0,0,136,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,172,194,0,0,156,194,0,0,140,194,0,0,112,194,0,0,52,194,0,0,240,193,0,0,168,193,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,174,194,0,0,156,194,0,0,134,194,0,0,64,194,0,0,24,194,0,0,232,193,0,0,168,193,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,172,194,0,0,138,194,0,0,96,194,0,0,52,194,0,0,12,194,0,0,4,194,0,0,232,193,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,166,194,0,0,142,194,0,0,64,194,0,0,216,193,0,0,24,194,0,0,20,194,0,0,8,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,0,0,144,4,0,0,72,100,0,0,104,100,0,0,136,100,0,0,0,0,0,0,224,4,0,0,0,0,0,0,0,0,0,0,6,0,0,0,7,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,6,0,0,0,7,0,0,0,4,0,0,0,5,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,2,0,0,0,6,0,0,0,7,0,0,0,4,0,0,0,5,0,0,0,4,0,0,0,2,0,0,0,5,0,0,0,4,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,0,12,195,0,0,12,195,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,194,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,128,0,0,0,63,0,0,0,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,66,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,40,103,0,0,200,103,0,0,104,104,0,0,8,105,0,0,168,105,0,0,72,106,0,0,232,106,0,0,136,107,0,0,40,108,0,0,200,108,0,0,104,109,0,0,8,110,0,0,168,110,0,0,72,111,0,0,232,111,0,0,136,112,0,0,40,113,0,0,0,0,0,0,11,0,0,0,48,240,7,0,64,164,1,0,2,0,0,0,64,156,0,0,80,195,0,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,200,160,2,0,0,0,0,0,11,0,0,0,160,87,5,0,64,164,1,0,6,0,0,0,64,156,0,0,112,17,1,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,3,0,0,0,120,217,1,0,0,88,5,0,0,0,0,0,11,0,0,0,64,87,5,0,64,164,1,0,255,255,255,255,64,156,0,0,80,195,0,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,136,217,1,0,0,0,0,0,11,0,0,0,224,86,5,0,64,164,1,0,2,0,0,0,144,101,0,0,64,156,0,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,128,86,5,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,200,160,2,0,0,0,0,0,11,0,0,0,32,86,5,0,64,164,1,0,255,255,255,255,144,101,0,0,64,156,0,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,128,86,5,0,24,120,0,0,24,217,1,0,0,0,0,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,136,217,1,0,0,0,0,0,3,0,0,0,0,86,5,0,16,172,4,0,2,0,0,0,56,74,0,0,144,101,0,0,48,172,4,0,64,172,4,0,80,172,4,0,136,114,0,0,184,114,0,0,160,172,4,0,160,172,4,0,160,172,4,0,176,173,4,0,224,173,4,0,16,177,4,0,16,177,4,0,64,180,4,0,56,118,0,0,104,118,0,0,112,183,4,0,112,183,4,0,144,183,4,0,144,183,4,0,160,183,4,0,160,183,4,0,176,183,4,0,208,183,4,0,224,183,4,0,224,85,5,0,24,120,0,0,16,184,4,0,48,184,4,0,160,132,0,0,208,132,0,0,2,0,0,0,240,187,4,0,8,240,4,0,0,0,0,0,3,0,0,0,192,85,5,0,16,172,4,0,255,255,255,255,56,74,0,0,144,101,0,0,48,172,4,0,64,172,4,0,80,172,4,0,136,114,0,0,184,114,0,0,160,172,4,0,160,172,4,0,160,172,4,0,176,173,4,0,224,173,4,0,16,177,4,0,16,177,4,0,64,180,4,0,56,118,0,0,104,118,0,0,112,183,4,0,112,183,4,0,144,183,4,0,144,183,4,0,160,183,4,0,160,183,4,0,176,183,4,0,208,183,4,0,224,183,4,0,224,85,5,0,24,120,0,0,16,184,4,0,48,184,4,0,160,132,0,0,208,132,0,0,2,0,0,0,240,187,4,0,248,187,4,0,0,0,0,0,3,0,0,0,232,239,4,0,16,172,4,0,2,0,0,0,152,58,0,0,56,74,0,0,48,172,4,0,64,172,4,0,80,172,4,0,136,114,0,0,184,114,0,0,160,172,4,0,160,172,4,0,160,172,4,0,176,173,4,0,224,173,4,0,16,177,4,0,16,177,4,0,64,180,4,0,56,118,0,0,104,118,0,0,112,183,4,0,112,183,4,0,144,183,4,0,144,183,4,0,160,183,4,0,160,183,4,0,176,183,4,0,208,183,4,0,224,183,4,0,240,183,4,0,24,120,0,0,16,184,4,0,48,184,4,0,160,132,0,0,208,132,0,0,2,0,0,0,240,187,4,0,8,240,4,0,0,0,0,0,3,0,0,0,240,171,4,0,16,172,4,0,255,255,255,255,152,58,0,0,56,74,0,0,48,172,4,0,64,172,4,0,80,172,4,0,136,114,0,0,184,114,0,0,160,172,4,0,160,172,4,0,160,172,4,0,176,173,4,0,224,173,4,0,16,177,4,0,16,177,4,0,64,180,4,0,56,118,0,0,104,118,0,0,112,183,4,0,112,183,4,0,144,183,4,0,144,183,4,0,160,183,4,0,160,183,4,0,176,183,4,0,208,183,4,0,224,183,4,0,240,183,4,0,24,120,0,0,16,184,4,0,48,184,4,0,160,132,0,0,208,132,0,0,2,0,0,0,240,187,4,0,248,187,4,0,0,0,0,0,2,0,0,0,216,171,4,0,0,168,4,0,2,0,0,0,40,35,0,0,152,58,0,0,24,168,4,0,24,168,4,0,32,168,4,0,136,114,0,0,184,114,0,0,96,168,4,0,0,0,0,0,96,168,4,0,184,115,0,0,48,169,4,0,48,169,4,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,152,171,4,0,224,119,0,0,240,119,0,0,176,171,4,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,200,171,4,0,184,47,1,0,0,0,0,0,2,0,0,0,232,167,4,0,0,168,4,0,255,255,255,255,40,35,0,0,152,58,0,0,24,168,4,0,24,168,4,0,32,168,4,0,136,114,0,0,184,114,0,0,96,168,4,0,0,0,0,0,96,168,4,0,184,115,0,0,48,169,4,0,48,169,4,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,152,171,4,0,224,119,0,0,240,119,0,0,176,171,4,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,200,171,4,0,248,180,0,0,0,0,0,0,2,0,0,0,208,167,4,0,40,114,0,0,2,0,0,0,64,31,0,0,40,35,0,0,64,114,0,0,64,114,0,0,72,114,0,0,136,114,0,0,184,114,0,0,232,114,0,0,0,0,0,0,232,114,0,0,184,115,0,0,208,115,0,0,208,115,0,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,208,119,0,0,224,119,0,0,240,119,0,0,0,120,0,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,240,180,0,0,184,47,1,0,0,0,0,0,2,0,0,0,184,167,4,0,40,114,0,0,255,255,255,255,64,31,0,0,40,35,0,0,64,114,0,0,64,114,0,0,72,114,0,0,136,114,0,0,184,114,0,0,232,114,0,0,0,0,0,0,232,114,0,0,184,115,0,0,208,115,0,0,208,115,0,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,208,119,0,0,224,119,0,0,240,119,0,0,0,120,0,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,240,180,0,0,248,180,0,0,0,0,0,0,11,0,0,0,200,113,0,0,64,164,1,0,2,0,0,0,80,195,0,0,64,13,3,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,200,160,2,0,0,0,0,0,11,0,0,0,200,113,0,0,64,164,1,0,255,255,255,255,80,195,0,0,64,13,3,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,0,0,0,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,136,217,1,0,0,0,0,0,2,0,0,0,200,113,0,0,40,114,0,0,2,0,0,0,0,0,0,0,64,31,0,0,64,114,0,0,64,114,0,0,72,114,0,0,136,114,0,0,184,114,0,0,232,114,0,0,0,0,0,0,232,114,0,0,184,115,0,0,208,115,0,0,208,115,0,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,208,119,0,0,224,119,0,0,240,119,0,0,0,120,0,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,240,180,0,0,184,47,1,0,0,0,0,0,2,0,0,0,200,113,0,0,40,114,0,0,255,255,255,255,0,0,0,0,64,31,0,0,64,114,0,0,64,114,0,0,72,114,0,0,136,114,0,0,184,114,0,0,232,114,0,0,0,0,0,0,232,114,0,0,184,115,0,0,208,115,0,0,208,115,0,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,208,119,0,0,224,119,0,0,240,119,0,0,0,120,0,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,240,180,0,0,248,180,0,0,0,0,0,0,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,154,153,153,153,153,153,185,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,2,0,0,0,2,0,0,32,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,30,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,242,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,90,0,0,0,90,0,0,0,95,0,0,0,95,0,0,0,95,0,0,0,95,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,232,255,255,255,226,255,255,255,216,255,255,255,216,255,255,255,211,255,255,255,211,255,255,255,211,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,0,0,0,0,10,0,0,0,10,0,0,0,255,255,255,255,10,0,0,0,10,0,0,0,255,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,226,255,255,255,216,255,255,255,216,255,255,255,211,255,255,255,211,255,255,255,211,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,14,0,0,0,14,0,0,0,15,0,0,0,15,0,0,0,16,0,0,0,16,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,18,0,0,0,18,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,64,0,0,0,64,0,0,0,8,0,0,0,8,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,156,255,255,255,156,255,255,255,151,255,255,255,0,0,0,0,126,255,255,255,126,255,255,255,116,255,255,255,0,0,0,0,0,0,0,0,0,0,8,64],"i8",N3,F.GLOBAL_BASE+20480),E3([0,0,0,0,0,0,16,64,0,0,0,0,0,0,16,64,8,0,0,0,0,0,160,65,0,0,96,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,112,194,0,0,240,193,0,0,32,194,0,0,32,194,0,0,32,194,0,0,32,194,0,0,32,194,0,0,0,64,0,0,150,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,96,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,194,0,0,240,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,0,64,0,0,160,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,64,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,160,193,0,0,160,193,0,0,112,193,0,0,112,193,0,0,112,193,0,0,112,193,0,0,112,193,0,0,0,0,0,0,160,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,32,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,160,193,0,0,112,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,0,0,0,0,160,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,32,65,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,112,193,0,0,112,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,0,0,0,0,170,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,8,64,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,3,1,0,24,3,1,0,48,3,1,0,80,3,1,0,112,3,1,0,160,3,1,0,208,3,1,0,232,3,1,0,40,4,1,0,104,4,1,0,152,4,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,128,0,0,0,33,0,0,0,8,0,0,0,16,0,0,0,70,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,128,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,1,0,0,66,0,0,0,16,0,0,0,32,0,0,0,140,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,0,1,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,128,0,0,0,14,0,0,0,4,0,0,0,58,0,0,0,2,0,0,0,8,0,0,0,28,0,0,0,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,128,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,1,0,0,28,0,0,0,8,0,0,0,116,0,0,0,4,0,0,0,16,0,0,0,56,0,0,0,180,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,0,1,0,0,4,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,6,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,128,0,0,0,8,0,0,0,33,0,0,0,4,0,0,0,16,0,0,0,70,0,0,0,2,0,0,0,6,0,0,0,12,0,0,0,23,0,0,0,46,0,0,0,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,128,0,0,0,6,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,6,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,128,0,0,0,12,0,0,0,46,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,23,0,0,0,33,0,0,0,70,0,0,0,2,0,0,0,6,0,0,0,10,0,0,0,14,0,0,0,19,0,0,0,28,0,0,0,39,0,0,0,58,0,0,0,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,128,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2],"i8",N3,F.GLOBAL_BASE+30720),E3([1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,1,0,0,66,0,0,0,16,0,0,0,32,0,0,0,140,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,0,1,0,0,8,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,12,0,0,0,13,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,4,0,0,93,0,0,0,23,0,0,0,116,1,0,0,6,0,0,0,46,0,0,0,186,0,0,0,238,2,0,0,14,0,0,0,33,0,0,0,65,0,0,0,130,0,0,0,4,1,0,0,44,2,0,0,3,0,0,0,10,0,0,0,18,0,0,0,28,0,0,0,39,0,0,0,55,0,0,0,79,0,0,0,111,0,0,0,158,0,0,0,220,0,0,0,56,1,0,0,208,1,0,0,138,2,0,0,82,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,64,64,0,0,144,65,0,4,0,0,8,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,12,0,0,0,13,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,8,0,0,186,0,0,0,46,0,0,0,232,2,0,0,12,0,0,0,92,0,0,0,116,1,0,0,220,5,0,0,28,0,0,0,66,0,0,0,130,0,0,0,4,1,0,0,8,2,0,0,88,4,0,0,6,0,0,0,20,0,0,0,36,0,0,0,56,0,0,0,78,0,0,0,110,0,0,0,158,0,0,0,222,0,0,0,60,1,0,0,184,1,0,0,112,2,0,0,160,3,0,0,20,5,0,0,164,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,64,64,0,0,144,65,0,8,0,0,6,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,6,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,2,0,0,46,0,0,0,186,0,0,0,16,0,0,0,33,0,0,0,65,0,0,0,93,0,0,0,130,0,0,0,22,1,0,0,7,0,0,0,23,0,0,0,39,0,0,0,55,0,0,0,79,0,0,0,110,0,0,0,156,0,0,0,232,0,0,0,104,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,10,0,0,0,248,2,1,0,0,0,0,0,8,181,0,0,24,206,0,0,8,181,0,0,56,206,0,0,1],"i8",N3,F.GLOBAL_BASE+41032),E3([1],"i8",N3,F.GLOBAL_BASE+49544),E3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],"i8",N3,F.GLOBAL_BASE+50572),E3([1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,8,245,0,0,8,245,0,0,48,245,0,0,48,245,0,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,112,217,0,0,112,217,0,0,152,217,0,0,152,217,0,0,0,0,0,0,255,255,255,255,255,255,255,255,10,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,F.GLOBAL_BASE+52752),E3([1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,16,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,30,0,0,0,255,255,255,255,50,0,0,0,255,255,255,255,80,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,136,233,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,219,0,0,0,0,0,0,72,219,0,0,112,219,0,0,0,0,0,0,0,0,0,0,152,219,0,0,192,219,0,0,0,0,0,0,0,0,0,0,232,219,0,0,16,220,0,0,56,220,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,81,0,0,0,32,233,0,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,120,233,0,0,0,0,0,0,4,0,0,0,81,0,0,0,184,232,0,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,16,233,0,0,0,0,0,0,4,0,0,0,113,2,0,0,40,230,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,232,0,0,0,0,0,0,4,0,0,0,113,2,0,0,152,227,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,230,0,0,0,0,0,0,2,0,0,0,81,0,0,0,24,227,0,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,112,227,0,0,0,0,0,0,2,0,0,0,81,0,0,0,152,226,0,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,240,226,0,0,0,0,0,0,4,0,0,0,81,0,0,0,48,226,0,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,136,226,0,0,0,0,0,0,2,0,0,0,121,0,0,0,128,225,0,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,0,226,0,0,0,0,0,0,2,0,0,0,121,0,0,0,208,224,0,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,80,225,0,0,0,0,0,0,2,0,0,0,121,0,0,0,32,224,0,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,160,224,0,0,0,0,0,0,2,0,0,0,225,0,0,0,248,222,0,0,1,0,0,0,0,228,91,225,0,224,255,96,4,0,0,0,0,0,0,0,224,223,0,0,0,0,0,0,2,0,0,0,225,0,0,0,208,221,0,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,184,222,0,0,0,0,0,0,2,0,0,0,33,1,0,0,96,220,0,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,136,221,0,0,0,0,0,0,2,5,4,6,6,8,8,8,8,8,9,9,9,9,9,9,9,5,6,6,7,7,8,8,9,8,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,8,9,9,9,9,9,9,9,9,9,7,7,7,8,8,9,9,9,9,9,9,9,9,9,10,10,9,7,7,7,8,8,9,9,9,9,9,9,9,9,9,9,10,10,8,8,8,9,9,9,9,10,10,10,9,10,10,10,10,10,10,8,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,7,7,9,9,7,7,8,8,10,10,11,11,4,7,7,9,9,10,10,8,8,10,10,10,11,10,11,4,7,7,9,9,10,10,8,8,10,9,11,11,11,11,7,9,9,12,12,11,12,10,10,11,10,12,11,11,11,7,9,9,11,11,13,12,9,9,11,10,11,11,12,11,9,10,10,12,12,14,14,10,10,11,12,12,11,11,11,9,10,11,11,13,14,13,10,11,11,11,12,11,12,12,7,8,8,10,9,11,10,11,12,12,11,12,14,12,13,7,8,8,9,10,10,11,12,12,12,11,12,12,12,13,9,9,9,11,11,13,12,12,12,12,11,12,12,13,12,8,10,10,11,10,11,12,12,12,12,12,12,14,12,12,9,11,11,11,12,12,12,12,13,13,12,12,13,13,12,10,11,11,12,11,12,12,12,11,12,13,12,12,12,13,11,11,12,12,12,13,12,12,11,12,13,13,12,12,13,12,11,12,12,13,13,12,13,12,13,13,13,13,14,13,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,4,4,11,11,11,11,11,11,11,11,11,11,11,11,3,11,8,11,11,11,11,11,11,11,11,11,11,11,11,3,9,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,5,5,6,6,7,7,7,7,8,8,5,6,6,7,7,7,7,8,8,8,8,5,6,6,7,7,7,7,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,7,8,8,8,8,8,8,9,8,9,9,8,8,8,8,8,8,8,9,9,9,9,8,8,8,8,8,8,8,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,10,11,11,4,6,6,7,7,9,9,11,11,13,12,4,6,6,7,7,9,9,11,11,12,12,6,7,7,9,9,11,11,12,12,13,13,6,7,7,9,9,11,11,12,12,13,13,8,9,9,11,11,12,12,13,13,14,14,8,9,9,11,11,12,12,13,13,14,14,9,11,11,12,12,13,13,14,14,15,15,9,11,11,12,12,13,13,14,14,15,14,11,12,12,13,13,14,14,15,15,16,16,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,4,5,5,7,7,8,8,9,9,9,9,4,5,5,7,7,8,8,9,9,9,9,6,7,7,8,8,8,8,9,9,9,9,6,7,7,8,8,8,8,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,9,9,8,10,10,8,10,10,5,9,9,7,10,10,8,10,10,4,10,10,9,12,12,9,11,11,7,12,11,10,11,13,10,13,13,7,12,12,10,13,12,10,13,13,4,10,10,9,12,12,9,12,12,7,12,12,10,13,13,10,12,13,7,11,12,10,13,13,10,13,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,6,6,7,7,9,9,4,4,5,6,6,7,7,9,9,4,4,4,6,6,7,7,9,9,6,6,6,7,7,8,8,9,9,6,6,6,7,7,8,8,9,9,7,7,7,8,8,8,9,10,10,7,7,7,8,8,9,8,10,10,9,9,9,9,9,10,10,10,10,9,9,9,9,9,10,10,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,5,8,7,8,8,10,10,4,6,6,8,8,8,8,10,10,7,8,8,9,9,9,9,11,11,7,8,8,9,9,9,9,11,11,8,8,8,9,9,10,10,12,11,8,8,8,9,9,10,10,11,11,9,10,10,11,11,11,11,13,12,9,10,10,11,11,12,12,12,13,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,9,9,6,7,7,9,9,6,7,7,9,9,9,9,9,11,11,9,9,9,11,11,6,7,7,9,9,7,7,8,9,10,7,7,8,9,10,9,9,10,10,11,9,9,10,10,12,6,7,7,9,9,7,8,7,10,9,7,8,7,10,9,9,10,9,12,11,10,10,9,12,10,9,10,10,12,11,9,10,10,12,11,9,10,10,12,12,11,11,12,12,13,11,11,12,12,13,9,9,10,12,11,9,10,10,12,12,10,10,10,12,12,11,12,11,13,12,11,12,11,13,12,6,7,7,9,9,7,8,8,10,10,7,8,7,10,9,10,10,10,12,12,10,10,10,12,11,7,8,7,10,10,7,7,9,10,11,8,9,9,11,10,10,10,11,10,12,10,10,11,12,12,7,8,8,10,10,7,9,8,11,10,8,8,9,11,11,10,11,10,12,11,10,11,11,12,12,9,10,10,12,12,9,10,10,12,12,10,11,11,13,12,11,10,12,10,14,12,12,12,13,14,9,10,10,12,12,9,11,10,12,12,10,11,11,12,12,11,12,11,14,12,12,12,12,14,14,5,7,7,9,9,7,7,7,9,10,7,8,8,10,10,10,10,10,11,11,10,10,10,12,12,7,8,8,10,10,8,9,8,11,10,7,8,9,10,11,10,10,10,11,12,10,10,11,11,13,6,7,8,10,10,8,9,9,10,10,7,9,7,11,10,10,11,10,12,12,10,11,10,12,10,9,10,10,12,12,10,11,11,13,12,9,10,10,12,12,12,12,12,14,13,11,11,12,11,14,9,10,10,11,12,10,11,11,12,13,9,10,10,12,12,12,12,12,14,13,11,12,10,14,11,9,9,10,11,12,9,10,10,12,12,9,10,10,12,12,12,12,12,14,14,11,12,12,13,12,9,10,9,12,12,9,10,11,12,13,10,11,10,13,11,12,12,13,13,14,12,12,12,13,13,9,10,10,12,12,10,11,10,13,12,10,10,11,12,13,12,13,12,14,13,12,12,12,13,14,11,12,11,14,13,10,10,11,13,13,12,12,12,14,13,12,10,14,10,15,13,14,14,14,14,11,11,12,13,14,10,12,11,13,13,12,12,12,13,15,12,13,11,15,12,13,13,14,14,14,9,10,9,12,12,9,10,10,12,12,10,10,10,12,12,11,11,12,12,13,12,12,12,14,14,9,10,10,12,12,10,11,10,13,12,10,10,11,12,13,12,12,12,14,13,12,12,13,13,14,9,10,10,12,13,10,10,11,11,12,9,11,10,13,12,12,12,12,13,14,12,13,12,14,13,11,12,11,13,13,12,13,12,14,13,10,11,12,13,13,13,13,13,14,15,12,11,14,12,14,11,11,12,12,13,12,12,12,13,14,10,12,10,14,13,13,13,13,14,15,12,14,11,15,10,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,7,7,6,7,7,9,9,6,7,7,9,9,8,10,9,11,11,9,9,9,11,11,6,8,8,10,10,8,10,10,11,11,8,9,10,11,11,10,11,11,12,12,10,11,11,12,13,6,8,8,10,10,8,10,9,11,11,8,10,9,11,11,10,11,11,12,12,10,11,11,12,12,9,11,11,14,13,10,12,11,14,14,10,12,11,14,13,12,13,13,15,14,12,13,13,15,14,8,11,11,13,14,10,11,12,13,15,10,11,12,14,14,12,13,13,14,15,12,13,13,14,15,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,13,11,12,12,13,14,8,10,10,12,12,9,11,12,13,14,10,12,12,13,13,12,12,13,14,14,11,13,13,15,15,7,10,10,12,12,9,12,11,14,12,10,11,12,13,14,12,13,12,14,14,12,13,13,15,16,10,12,12,15,14,11,12,13,15,15,11,13,13,15,16,14,14,15,15,16,13,14,15,17,15,9,12,12,14,15,11,13,12,15,15,11,13,13,15,15,13,14,13,15,14,13,14,14,17,0,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,14,7,10,10,12,12,10,12,12,13,13,9,11,12,12,13,11,12,13,15,15,11,12,13,14,15,8,10,10,12,12,10,12,11,13,13,10,12,11,13,13,11,13,13,15,14,12,13,12,15,13,9,12,12,14,14,11,13,13,16,15,11,12,13,16,15,13,14,15,16,16,13,13,15,15,16,10,12,12,15,14,11,13,13,14,16,11,13,13,15,16,13,15,15,16,17,13,15,14,16,15,8,11,11,14,15,10,12,12,15,15,10,12,12,15,16,14,15,15,16,17,13,14,14,16,16,9,12,12,15,15,11,13,14,15,17,11,13,13,15,16,14,15,16,19,17,13,15,15,0,17,9,12,12,15,15,11,14,13,16,15,11,13,13,15,16,15,15,15,18,17,13,15,15,17,17,11,15,14,18,16,12,14,15,17,17,12,15,15,18,18,15,15,16,15,19,14,16,16,0,0,11,14,14,16,17,12,15,14,18,17,12,15,15,18,18,15,17,15,18,16,14,16,16,18,18,7,11,11,14,14,10,12,12,15,15,10,12,13,15,15,13,14,15,16,16,14,15,15,18,18,9,12,12,15,15,11,13,13,16,15,11,12,13,16,16,14,15,15,17,16,15,16,16,17,17,9,12,12,15,15,11,13,13,15,17,11,14,13,16,15,13,15,15,17,17,15,15,15,18,17,11,14,14,17,15,12,14,15,17,18,13,13,15,17,17,14,16,16,19,18,16,15,17,17,0,11,14,14,17,17,12,15,15,18,0,12,15,14,18,16,14,17,17,19,0,16,18,15,0,16,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,5,5,6,6,5,6,6,5,7,6,6,7,8,6,7,8,5,6,6,6,8,7,6,8,7,5,6,6,7,8,8,6,7,7,6,8,7,7,7,9,8,9,9,6,7,8,7,9,7,8,9,9,5,6,6,6,7,7,7,8,8,6,8,7,8,9,9,7,7,9,6,7,8,8,9,9,7,9,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,7,9,10,7,9,9,5,8,8,7,10,9,7,9,9,5,8,8,8,10,10,8,10,10,7,10,10,9,10,12,10,12,12,7,10,10,9,12,11,10,12,12,5,8,8,8,10,10,8,10,10,7,10,10,10,12,12,9,11,12,7,10,10,10,12,12,9,12,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,13,9,15,9,16,8,10,13,7,5,8,6,9,7,10,7,10,11,11,6,7,8,8,9,9,9,12,16,8,5,8,6,8,6,9,7,10,12,11,7,7,7,6,7,7,7,11,15,7,5,8,6,7,5,7,6,9,13,13,9,9,8,6,6,5,5,9,14,8,6,8,6,6,4,5,3,5,13,9,9,11,8,10,7,8,4,5,12,11,16,17,15,17,12,13,8,8,15,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,8,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,F.GLOBAL_BASE+55148),E3([1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,25,0,0,0,255,255,255,255,45,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,184,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,245,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,246,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,246,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,246,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,246,0,0,0,0,0,0,184,246,0,0,224,246,0,0,0,0,0,0,0,0,0,0,8,247,0,0,48,247,0,0,88,247,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,81,0,0,0,80,2,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,2,1,0,0,0,0,0,4,0,0,0,81,0,0,0,232,1,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,64,2,1,0,0,0,0,0,4,0,0,0,113,2,0,0,88,255,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,1,1,0,0,0,0,0,4,0,0,0,113,2,0,0,200,252,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,255,0,0,0,0,0,0,2,0,0,0,81,0,0,0,72,252,0,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,160,252,0,0,0,0,0,0,2,0,0,0,169,0,0,0,96,251,0,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,16,252,0,0,0,0,0,0,2,0,0,0,25,0,0,0,40,251,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,251,0,0,0,0,0,0,4,0,0,0,81,0,0,0,192,250,0,0,1,0,0,0,0,176,19,225,0,176,19,97,2,0,0,0,0,0,0,0,24,251,0,0,0,0,0,0,2,0,0,0,225,0,0,0,152,249,0,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,128,250,0,0,0,0,0,0,2,0,0,0,185,1,0,0,128,247,0,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,64,249,0,0,0,0,0,0,1,6,5,7,7,9,9,9,9,10,12,12,10,11,11,10,11,11,11,10,11,6,8,8,9,9,10,10,9,10,11,11,10,11,11,11,11,10,11,11,11,11,6,7,8,9,9,9,10,11,10,11,12,11,10,11,11,11,11,11,11,12,10,8,9,9,10,9,10,10,9,10,10,10,10,10,9,10,10,10,10,9,10,10,9,9,9,9,10,10,9,9,10,10,11,10,9,12,10,11,10,9,10,10,10,8,9,9,10,9,10,9,9,10,10,9,10,9,11,10,10,10,10,10,9,10,8,8,9,9,10,9,11,9,8,9,9,10,11,10,10,10,11,12,9,9,11,8,9,8,11,10,11,10,10,9,11,10,10,10,10,10,10,10,11,11,11,11,8,9,9,9,10,10,10,11,11,12,11,12,11,10,10,10,12,11,11,11,10,8,10,9,11,10,10,11,12,10,11,12,11,11,12,11,12,12,10,11,11,10,9,9,10,11,12,10,10,10,11,10,11,11,10,12,12,10,11,10,11,12,10,9,10,10,11,10,11,11,11,11,11,12,11,11,11,9,11,10,11,10,11,10,9,9,10,11,11,11,10,10,11,12,12,11,12,11,11,11,12,12,12,12,11,9,11,11,12,10,11,11,11,11,11,11,12,11,11,12,11,11,11,10,11,11,9,11,10,11,11,11,10,10,10,11,11,11,12,10,11,10,11,11,11,11,12,9,11,10,11,11,10,10,11,11,9,11,11,12,10,10,10,10,10,11,11,10,9,10,11,11,12,11,10,10,12,11,11,12,11,12,11,11,10,10,11,11,10,12,11,10,11,10,11,10,10,10,11,11,10,10,11,11,11,11,10,10,10,12,11,11,11,11,10,9,10,11,11,11,12,11,11,11,12,10,11,11,11,9,10,11,11,11,11,11,11,10,10,11,11,12,11,10,11,12,11,10,10,11,9,10,11,11,11,11,11,10,11,11,10,12,11,11,11,12,11,11,11,10,10,11,11,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,5,5,5,5,10,10,11,11,11,11,11,11,11,11,5,7,6,8,8,9,10,11,11,11,11,11,11,11,11,6,6,7,9,7,11,10,11,11,11,11,11,11,11,11,5,6,6,11,8,11,11,11,11,11,11,11,11,11,11,5,6,6,9,10,11,10,11,11,11,11,11,11,11,11,7,10,10,11,11,11,11,11,11,11,11,11,11,11,11,7,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,4,6,5,7,7,4,5,6,7,7,6,7,7,7,7,6,7,7,7,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,9,9,11,11,12,12,16,16,3,6,6,9,9,11,11,12,12,13,14,18,16,3,6,7,9,9,11,11,13,12,14,14,17,16,7,9,9,11,11,12,12,14,14,14,14,17,16,7,9,9,11,11,13,12,13,13,14,14,17,0,9,11,11,12,13,14,14,14,13,15,14,17,17,9,11,11,12,12,14,14,13,14,14,15,0,0,11,12,12,15,14,15,14,15,14,15,16,17,0,11,12,13,13,13,14,14,15,14,15,15,0,0,12,14,14,15,15,14,16,15,15,17,16,0,18,13,14,14,15,14,15,14,15,16,17,16,0,0,17,17,18,0,16,18,16,0,0,0,17,0,0,16,0,0,16,16,0,15,0,17,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,7,8,8,10,10,4,6,6,8,8,8,8,10,10,6,8,8,9,9,9,9,11,11,7,8,8,9,9,9,9,11,11,7,8,8,9,9,10,10,12,11,7,8,8,9,9,10,10,11,11,9,10,10,11,11,11,12,12,12,9,10,10,11,11,12,12,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,5,6,7,9,9,6,7,6,9,9,9,9,9,10,11,9,9,9,11,10,6,7,7,10,10,7,7,8,10,10,7,8,8,10,10,10,10,10,10,11,9,10,10,11,12,6,7,7,10,10,7,8,8,10,10,7,8,7,10,10,9,10,10,12,11,10,10,10,11,10,9,10,10,12,11,10,10,10,13,11,9,10,10,12,12,11,11,12,12,13,11,11,11,12,13,9,10,10,12,12,10,10,11,12,12,10,10,11,12,12,11,11,11,13,13,11,12,12,13,13,5,7,7,10,10,7,8,8,10,10,7,8,8,10,10,10,11,11,12,12,10,11,10,12,12,7,8,8,11,11,7,8,9,10,11,8,9,9,11,11,11,10,11,10,12,10,11,11,12,13,7,8,8,10,11,8,9,8,12,10,8,9,9,11,12,10,11,10,13,11,10,11,11,13,12,9,11,10,13,12,10,10,11,12,12,10,11,11,13,13,12,10,13,11,14,11,12,12,15,13,9,11,11,13,13,10,11,11,13,12,10,11,11,12,14,12,13,11,14,12,12,12,12,14,14,5,7,7,10,10,7,8,8,10,10,7,8,8,11,10,10,11,11,12,12,10,11,10,12,12,7,8,8,10,11,8,9,9,12,11,8,8,9,10,11,10,11,11,12,13,11,10,11,11,13,6,8,8,10,11,8,9,9,11,11,7,9,7,11,10,10,11,11,12,12,10,11,10,13,10,9,11,10,13,12,10,12,11,13,13,10,10,11,12,13,11,12,13,15,14,11,11,13,12,13,9,10,11,12,13,10,11,11,12,13,10,11,10,13,12,12,13,13,13,14,12,12,11,14,11,8,10,10,12,13,10,11,11,13,13,10,11,10,13,13,12,13,14,15,14,12,12,12,14,13,9,10,10,13,12,10,10,12,13,13,10,11,11,15,12,12,12,13,15,14,12,13,13,15,13,9,10,11,12,13,10,12,10,13,12,10,11,11,12,13,12,14,12,15,13,12,12,12,15,14,11,12,11,14,13,11,11,12,14,14,12,13,13,14,13,13,11,15,11,15,14,14,14,16,15,11,12,12,13,14,11,13,11,14,14,12,12,13,14,15,12,14,12,15,12,13,15,14,16,15,8,10,10,12,12,10,10,10,12,13,10,11,11,13,13,12,12,12,13,14,13,13,13,15,15,9,10,10,12,12,10,11,11,13,12,10,10,11,13,13,12,12,12,14,14,12,12,13,15,14,9,10,10,13,12,10,10,12,12,13,10,11,10,13,13,12,13,13,14,14,12,13,12,14,13,11,12,12,14,13,12,13,12,14,14,10,12,12,14,14,14,14,14,16,14,13,12,14,12,15,10,12,12,14,15,12,13,13,14,16,11,12,11,15,14,13,14,14,14,15,13,14,11,14,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,7,7,6,7,7,9,9,6,7,7,9,9,8,10,9,11,11,8,9,9,11,11,6,8,8,10,10,8,10,10,11,11,8,10,10,11,11,10,11,11,12,12,10,11,11,12,13,6,8,8,10,10,8,10,10,11,11,8,10,10,11,11,9,10,11,12,12,10,11,11,12,12,8,11,11,14,13,10,12,11,15,13,10,12,11,14,14,12,13,12,16,14,12,14,12,16,15,8,11,11,13,14,10,11,12,13,15,10,11,12,13,15,11,12,13,14,15,12,12,14,14,16,5,8,8,11,11,9,11,11,12,12,8,10,11,12,12,11,12,12,15,14,11,12,12,14,14,7,11,10,13,12,10,11,12,13,14,10,12,12,14,13,12,13,13,14,15,12,13,13,15,15,7,10,11,12,13,10,12,11,14,13,10,12,13,13,15,12,13,12,14,14,11,13,13,15,16,9,12,12,15,14,11,13,13,15,16,11,13,13,16,16,13,14,15,15,15,12,14,15,17,16,9,12,12,14,15,11,13,13,15,16,11,13,13,16,18,13,14,14,17,16,13,15,15,17,18,5,8,9,11,11,8,11,11,12,12,8,10,11,12,12,11,12,12,14,14,11,12,12,14,15,7,11,10,12,13,10,12,12,14,13,10,11,12,13,14,11,13,13,15,14,12,13,13,14,15,7,10,11,13,13,10,12,12,13,14,10,12,12,13,13,11,13,13,16,16,12,13,13,15,14,9,12,12,16,15,10,13,13,15,15,11,13,13,17,15,12,15,15,18,17,13,14,14,15,16,9,12,12,15,15,11,13,13,15,16,11,13,13,15,15,12,15,15,16,16,13,15,14,17,15,7,11,11,15,15,10,13,13,16,15,10,13,13,15,16,14,15,15,17,19,13,15,14,15,18,9,12,12,16,16,11,13,14,17,16,11,13,13,17,16,15,15,16,17,19,13,15,16,0,18,9,12,12,16,15,11,14,13,17,17,11,13,14,16,16,15,16,16,19,18,13,15,15,17,19,11,14,14,19,16,12,14,15,0,18,12,16,15,18,17,15,15,18,16,19,14,15,17,19,19,11,14,14,18,19,13,15,14,19,19,12,16,15,18,17,15,17,15,0,16,14,17,16,19,0,7,11,11,14,14,10,12,12,15,15,10,13,13,16,15,13,15,15,17,0,14,15,15,16,19,9,12,12,16,16,11,14,14,16,16,11,13,13,16,16,14,17,16,19,0,14,18,17,17,19,9,12,12,15,16,11,13,13,15,17,12,14,13,19,16,13,15,15,17,19,15,17,16,17,19,11,14,14,19,16,12,15,15,19,17,13,14,15,17,19,14,16,17,19,19,16,15,16,17,19,11,15,14,16,16,12,15,15,19,0,12,14,15,19,19,14,16,16,0,18,15,19,14,18,16,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,6,7,8,6,7,8,5,7,7,6,8,8,7,9,7,5,7,7,7,9,9,7,8,8,6,9,8,7,7,10,8,10,10,6,8,8,8,10,8,8,10,10,5,7,7,7,8,8,7,8,9,6,8,8,8,10,10,8,8,10,6,8,9,8,10,10,7,10,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,8,10,10,7,10,10,5,8,8,7,10,10,8,10,10,4,9,8,8,11,11,8,11,11,7,11,11,10,11,13,10,13,13,7,11,11,10,13,12,10,13,13,5,9,8,8,11,11,8,11,11,7,11,11,9,13,13,10,12,13,7,11,11,10,13,13,10,13,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,11,9,12,8,7,10,6,4,5,5,7,5,6,16,9,5,5,6,7,7,9,16,7,4,6,5,7,5,7,17,10,7,7,8,7,7,8,18,7,5,6,4,5,4,5,15,7,6,7,5,6,4,5,15,12,13,18,12,17,11,9,17,6,0,0,0,6,0,0,0,120,45,1,0,160,45,1,0,200,45,1,0,240,45,1,0,24,46,1,0,0,0,0,0,56,43,1,0,96,43,1,0,136,43,1,0,176,43,1,0,216,43,1,0,0,0,0,0,216,39,1,0,0,40,1,0,40,40,1,0,80,40,1,0,120,40,1,0,160,40,1,0,200,40,1,0,240,40,1,0,120,36,1,0,160,36,1,0,200,36,1,0,240,36,1,0,24,37,1,0,64,37,1,0,104,37,1,0,144,37,1,0,80,31,1,0,120,31,1,0,160,31,1,0,200,31,1,0,240,31,1,0,24,32,1,0,64,32,1,0,104,32,1,0,144,32,1,0,184,32,1,0,224,32,1,0,8,33,1,0,40,26,1,0,80,26,1,0,120,26,1,0,160,26,1,0,200,26,1,0,240,26,1,0,24,27,1,0,64,27,1,0,104,27,1,0,144,27,1,0,184,27,1,0,224,27,1,0,232,23,1,0,16,24,1,0,56,24,1,0,96,24,1,0,136,24,1,0,0,0,0,0,216,16,1,0,0,17,1,0,40,17,1,0,80,17,1,0,120,17,1,0,160,17,1,0,200,17,1,0,240,17,1,0,24,18,1,0,64,18,1,0,104,18,1,0,144,18,1,0,184,18,1,0,224,18,1,0,8,19,1,0,0,0,0,0,200,9,1,0,240,9,1,0,24,10,1,0,64,10,1,0,104,10,1,0,144,10,1,0,184,10,1,0,224,10,1,0,8,11,1,0,48,11,1,0,88,11,1,0,128,11,1,0,168,11,1,0,208,11,1,0,248,11,1,0,0,0,0,0,160,4,1,0,200,4,1,0,240,4,1,0,24,5,1,0,64,5,1,0,104,5,1,0,144,5,1,0,184,5,1,0,224,5,1,0,8,6,1,0,48,6,1,0,88,6,1,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,192,9,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,128,9,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,64,9,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,192,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,160,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,32,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,8,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,208,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,80,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,56,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,0,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,128,6,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,8,4,8,4,8,4,8,5,8,5,8,6,8,4,8,4,8,5,8,5,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,3,4,3,5,4,6,4,6,5,7,6,7,6,8,6,8,7,9,8,10,8,12,9,13,10,15,10,15,11,14,0,0,0,0,0,0,0,4,4,4,4,4,4,3,4,4,4,4,4,5,4,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,4,3,4,4,5,5,6,6,7,7,7,8,8,11,8,9,9,9,10,11,11,11,9,10,10,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,4,3,4,4,5,4,5,4,6,4,6,5,6,5,7,5,7,6,8,6,8,6,8,7,8,7,9,7,9,8,0,0,0,0,0,0,0,4,5,4,4,4,5,4,4,4,5,4,5,4,5,3,5,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,5,3,5,4,5,4,5,4,5,5,5,5,6,5,6,5,7,5,8,6,8,6,8,6,8,6,8,7,9,7,9,7,11,9,11,11,12,11,14,12,14,16,14,16,13,16,14,16,12,15,13,16,14,16,13,14,12,15,13,15,13,13,13,15,12,14,14,15,13,15,12,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,2,4,5,4,5,4,5,4,5,5,5,5,5,5,6,5,6,5,6,6,7,6,7,6,8,7,8,7,8,7,8,7,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,5,6,6,6,6,5,6,6,7,6,7,6,7,6,7,6,8,7,8,7,8,7,8,7,8,7,9,7,9,7,9,7,9,8,9,8,10,8,10,8,10,7,10,6,10,8,10,8,11,7,10,7,11,8,11,11,12,12,11,11,12,11,13,11,13,11,13,12,15,12,13,13,14,14,14,14,14,15,15,15,16,14,17,19,19,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,2,4,6,17,4,5,7,17,8,7,10,17,17,17,17,17,3,4,6,15,3,3,6,15,7,6,9,17,17,17,17,17,6,8,10,17,6,6,8,16,9,8,10,17,17,15,16,17,17,17,17,17,12,15,15,16,12,15,15,16,16,16,16,16,3,3,3,14,5,4,4,11,8,6,6,10,17,12,11,17,6,5,5,15,5,3,4,11,8,5,5,8,16,9,10,14,10,8,9,17,8,6,6,13,10,7,7,10,16,11,13,14,17,17,17,17,17,16,16,16,16,15,16,16,16,16,16,16,1,2,3,6,5,4,7,7,1,0,0,0,16,0,0,0,200,16,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,192,16,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,192,15,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,128,15,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,0,15,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,224,14,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,96,14,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,64,14,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,192,13,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,168,13,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,112,13,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,240,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,216,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,160,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,32,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,6,5,7,5,7,7,7,7,7,5,7,5,7,5,7,5,7,7,7,7,7,4,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,4,3,4,4,4,5,5,6,5,6,5,7,6,6,6,7,7,7,8,9,9,9,12,10,11,10,10,12,10,10,0,0,0,0,0,0,0,3,4,4,4,4,4,4,4,4,5,4,5,4,5,4,4,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,6,3,7,3,7,5,7,7,7,7,7,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,4,4,4,4,4,4,5,5,5,5,6,6,7,6,7,6,8,6,9,7,9,7,9,9,11,9,12,10,12,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,3,4,3,4,4,5,4,5,5,5,6,6,6,7,6,8,6,8,6,9,7,10,7,10,7,10,7,12,7,12,7,12,9,12,11,12,10,12,10,12,11,12,12,12,10,12,10,12,10,12,9,12,11,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,10,10,12,12,12,12,12,10,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,2,4,5,4,5,4,5,4,5,5,5,5,5,5,6,5,6,5,6,6,6,6,7,7,7,7,7,7,8,8,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,5,7,5,7,4,7,4,8,4,8,4,8,4,8,3,8,4,9,4,9,4,9,4,9,4,9,5,9,5,9,6,9,7,9,8,9,9,9,10,9,11,9,14,9,15,10,15,10,15,10,15,10,15,11,15,10,14,12,14,11,14,13,14,13,15,15,15,12,15,15,15,13,15,13,15,13,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,14,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,7,6,7,6,7,6,7,6,5,5,5,5,5,5,6,5,6,5,6,5,6,5,6,5,6,5,7,5,7,5,7,5,8,5,8,5,8,5,9,5,9,6,10,6,10,6,11,6,11,6,11,6,11,6,11,6,11,6,11,6,12,7,11,7,11,7,11,7,11,7,10,7,11,7,11,7,12,7,11,8,11,8,11,8,11,8,13,8,12,9,11,9,11,9,11,10,12,10,12,9,12,10,12,11,14,12,16,12,12,11,14,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,16,16,16,16,2,4,7,13,4,5,7,15,8,7,10,16,16,14,16,16,2,4,7,16,3,4,7,14,8,8,10,16,16,16,15,16,6,8,11,16,7,7,9,16,11,9,13,16,16,16,15,16,16,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16,3,3,6,16,5,5,7,16,9,8,11,16,16,16,16,16,5,5,8,16,5,5,7,16,8,7,9,16,16,16,16,16,9,9,12,16,6,8,11,16,9,10,11,16,16,16,16,16,16,16,16,16,13,16,16,16,15,16,16,16,16,16,16,16,5,4,7,16,6,5,8,16,9,8,10,16,16,16,16,16,5,5,7,15,5,4,6,15,7,6,8,16,16,16,16,16,9,9,11,15,7,7,9,16,8,8,9,16,16,16,16,16,16,16,16,16,15,15,15,16,15,15,14,16,16,16,16,16,8,8,11,16,8,9,10,16,11,10,14,16,16,16,16,16,6,8,10,16,6,7,10,16,8,8,11,16,14,16,16,16,10,11,14,16,9,9,11,16,10,10,11,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,12,16,15,16,12,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,1,2,3,6,4,7,5,7,2,6,8,9,7,11,13,13,1,3,5,5,6,6,12,10,1,0,0,0,16,0,0,0,216,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,208,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,208,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,144,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,16,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,240,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,112,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,80,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,208,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,184,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,128,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,0,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,232,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,176,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,48,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,5,2,6,3,6,4,7,4,7,5,9,5,11,6,11,6,11,7,11,6,11,6,11,9,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,2,4,2,5,3,5,4,6,6,6,7,7,8,7,8,7,8,7,9,8,9,8,9,8,10,8,11,9,12,9,12,0,0,0,0,0,0,0,4,5,4,5,4,5,4,5,3,5,3,5,3,5,4,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,7,3,8,3,10,3,8,3,9,3,8,4,9,4,9,5,9,6,10,6,9,7,11,7,12,9,13,10,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,4,3,4,4,4,4,5,5,5,5,5,6,5,7,5,8,6,8,6,9,7,10,7,10,8,10,8,11,9,11,0,0,0,0,0,0,0,4,5,4,5,3,5,3,5,3,5,4,4,4,4,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,4,3,4,4,5,4,5,4,5,5,6,5,6,5,7,5,7,6,7,6,8,7,8,7,8,7,9,8,9,9,9,9,10,10,10,11,9,12,9,12,9,15,10,14,9,13,10,13,10,12,10,12,10,13,10,12,11,13,11,14,12,13,13,14,14,13,14,15,14,16,13,13,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,15,1,5,5,5,5,5,5,5,6,5,6,5,6,5,6,5,6,6,7,7,7,7,8,7,8,8,9,8,10,9,10,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,8,4,9,4,9,4,9,4,9,4,9,4,9,4,9,4,9,4,9,4,8,4,8,4,9,5,9,5,9,5,9,5,9,6,10,6,10,7,10,8,11,9,11,11,12,13,12,14,13,15,13,15,14,16,14,17,15,17,15,15,16,16,15,16,16,16,15,18,16,15,17,17,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,2,5,5,4,5,4,5,4,5,4,6,5,6,5,6,5,6,5,7,5,7,6,8,6,8,6,8,6,9,6,9,6,5,5,5,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,7,5,7,5,7,5,7,5,8,6,8,6,8,6,9,6,9,6,10,6,10,6,11,6,11,7,11,7,12,7,12,7,12,7,12,7,12,7,12,7,12,7,12,8,13,8,12,8,12,8,13,8,13,9,13,9,13,9,13,9,12,10,12,10,13,10,14,11,14,12,14,13,14,13,14,14,15,16,15,15,15,14,15,17,21,22,22,21,22,22,22,22,22,22,21,21,21,21,21,21,21,21,21,21,2,3,7,13,4,4,7,15,8,6,9,17,21,16,15,21,2,5,7,11,5,5,7,14,9,7,10,16,17,15,16,21,4,7,10,17,7,7,9,15,11,9,11,16,21,18,15,21,18,21,21,21,15,17,17,19,21,19,18,20,21,21,21,20,1,5,7,21,5,8,9,21,10,9,12,20,20,16,20,20,4,8,9,20,6,8,9,20,11,11,13,20,20,15,17,20,9,11,14,20,8,10,15,20,11,13,15,20,20,20,20,20,20,20,20,20,13,20,20,20,18,18,20,20,20,20,20,20,3,6,8,20,6,7,9,20,10,9,12,20,20,20,20,20,5,7,9,20,6,6,9,20,10,9,12,20,20,20,20,20,8,10,13,20,8,9,12,20,11,10,12,20,20,20,20,20,18,20,20,20,15,17,18,20,18,17,18,20,20,20,20,20,7,10,12,20,8,9,11,20,14,13,14,20,20,20,20,20,6,9,12,20,7,8,11,20,12,11,13,20,20,20,20,20,9,11,15,20,8,10,14,20,12,11,14,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,11,16,18,20,15,15,17,20,20,17,20,20,20,20,20,20,9,14,16,20,12,12,15,20,17,15,18,20,20,20,20,20,16,19,18,20,15,16,20,20,17,17,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,1,4,2,6,3,7,5,7,2,10,8,14,7,12,11,14,1,5,3,7,4,9,7,13,1,0,0,0,0,1,0,0,40,25,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,32,25,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,10,0,0,0,16,25,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,240,24,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,176,24,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,2,4,3,5,4,5,5,5,5,6,6,6,6,6,6,6,7,7,8,6,9,7,12,11,16,13,16,12,15,13,15,12,14,12,15,15,15,0,0,0,0,0,0,0,0,0,0,3,3,3,4,3,4,4,4,4,4,5,5,5,6,6,0,0,0,0,0,0,0,0,0,0,0,2,3,2,3,3,3,0,0,0,0,0,0,1,3,2,3,0,0,0,0,4,5,6,11,5,5,6,10,7,7,6,6,14,13,9,9,6,6,6,10,6,6,6,9,8,7,7,9,14,12,8,11,8,7,7,11,8,8,7,11,9,9,7,9,13,11,9,13,19,19,18,19,15,16,16,19,11,11,10,13,10,10,9,15,5,5,6,13,6,6,6,11,8,7,6,7,14,11,10,11,6,6,6,12,7,6,6,11,8,7,7,11,13,11,9,11,9,7,6,12,8,7,6,12,9,8,8,11,13,10,7,13,19,19,17,19,17,14,14,19,12,10,8,12,13,10,9,16,7,8,7,12,7,7,7,11,8,7,7,8,12,12,11,11,8,8,7,12,8,7,6,11,8,7,7,10,10,11,10,11,9,8,8,13,9,8,7,12,10,9,7,11,9,8,7,11,18,18,15,18,18,16,17,18,15,11,10,18,11,9,9,18,16,16,13,16,12,11,10,16,12,11,9,6,15,12,11,13,16,16,14,14,13,11,12,16,12,9,9,13,13,10,10,12,17,18,17,17,14,15,14,16,14,12,14,15,12,10,11,12,18,18,18,18,18,18,18,18,18,12,13,18,16,11,9,18,1,0,0,0,8,0,0,0,72,31,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,8,31,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,200,30,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,72,30,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,40,30,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,168,29,1],"i8",N3,F.GLOBAL_BASE+62212),E3([1,0,0,0,18,0,0,0,144,29,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,88,29,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,216,28,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,192,28,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,136,28,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,8,28,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,4,3,4,4,4,5,4,7,5,8,5,11,6,10,6,12,7,12,7,12,8,12,8,12,10,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,3,6,3,6,4,7,4,7,4,7,4,8,4,8,4,8,4,8,4,9,4,9,5,10,5,10,7,10,8,10,8,0,0,0,0,0,0,0,4,4,4,4,4,4,4,5,3,5,3,5,4,6,4,6,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,1,5,3,5,3,5,4,7,5,10,7,10,7,12,10,14,10,14,9,14,11,14,14,14,13,13,13,13,13,13,13,0,0,0,0,0,0,0,4,5,4,6,4,8,3,9,3,9,2,9,3,8,4,9,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,5,3,5,3,6,3,6,4,6,4,7,4,7,5,8,5,8,6,9,7,9,7,9,8,10,9,10,9,11,10,11,11,11,11,11,11,12,12,12,13,12,13,12,14,12,15,12,14,12,16,13,17,13,17,14,17,14,16,13,17,14,17,14,17,15,17,15,15,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,16,16,16,16,16,16,16,16,16,16,2,5,5,4,5,4,5,4,5,5,5,5,5,5,6,5,6,5,6,5,7,6,7,6,7,6,8,6,9,7,9,7,5,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,7,5,7,5,7,5,7,5,7,5,7,5,8,5,8,5,8,5,8,5,8,6,8,6,8,6,9,6,9,6,9,6,9,6,9,7,9,7,9,7,9,7,10,7,10,8,10,8,10,8,10,8,10,8,11,8,11,8,11,8,11,8,11,9,12,9,12,9,12,9,12,9,12,10,12,10,13,11,13,11,14,12,14,13,15,14,16,14,17,15,18,16,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,3,6,10,17,4,8,11,20,8,10,11,20,20,20,20,20,2,4,8,18,4,6,8,17,7,8,10,20,20,17,20,20,3,5,8,17,3,4,6,17,8,8,10,17,17,12,16,20,13,13,15,20,10,10,12,20,15,14,15,20,20,20,19,19,1,4,10,19,3,8,13,19,7,12,19,19,19,19,19,19,2,6,11,19,8,13,19,19,9,11,19,19,19,19,19,19,6,7,13,19,9,13,19,19,10,13,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,1,3,4,7,2,5,6,7,1,0,0,0,8,0,0,0,112,36,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,48,36,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,240,35,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,112,35,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,80,35,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,208,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,184,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,128,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,0,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,232,33,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,176,33,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,48,33,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,1,6,3,7,3,8,4,8,5,8,8,8,9,7,8,8,7,7,7,8,9,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,3,5,4,6,4,6,4,7,4,7,4,8,4,8,4,9,4,9,4,10,4,10,5,10,5,11,5,12,6,12,6,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,5,4,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,8,3,8,4,8,4,8,6,8,5,8,4,8,4,8,6,8,7,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,4,4,4,4,5,4,5,4,6,5,7,5,7,6,8,6,8,6,9,7,9,7,10,7,9,8,11,8,11,0,0,0,0,0,0,0,4,5,4,5,4,5,3,5,3,5,3,5,4,4,4,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,3,5,3,6,4,6,4,7,4,7,4,7,4,8,4,8,4,9,5,9,5,9,5,9,6,10,6,10,6,11,7,10,7,10,8,11,9,11,9,11,10,11,11,12,11,11,12,15,15,12,14,11,14,12,14,11,14,13,14,12,14,11,14,11,14,12,14,11,14,11,14,13,13,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,2,5,5,5,5,5,5,4,5,5,5,5,5,5,5,5,6,5,6,5,6,5,7,6,7,6,7,6,8,6,8,6,5,5,5,5,5,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,6,6,6,7,6,7,6,7,6,7,6,7,6,7,6,8,6,8,6,8,7,8,7,8,7,8,7,9,7,9,8,9,8,9,8,10,8,10,9,10,9,10,9,11,9,11,9,10,10,11,10,11,10,11,11,11,11,11,11,12,13,14,14,14,15,15,16,16,16,17,15,16,15,16,16,17,17,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,7,6,9,17,7,6,8,17,12,9,11,16,16,16,16,16,5,4,7,16,5,3,6,14,9,6,8,15,16,16,16,16,5,4,6,13,3,2,4,11,7,4,6,13,16,11,10,14,12,12,12,16,9,7,10,15,12,9,11,16,16,15,15,16,1,6,12,16,4,12,15,16,9,15,16,16,16,16,16,16,2,5,11,16,5,11,13,16,9,13,16,16,16,16,16,16,4,8,12,16,5,9,12,16,9,13,15,16,16,16,16,16,15,16,16,16,11,14,13,16,12,15,16,16,16,16,16,15,1,6,3,7,2,4,5,7,1,0,0,0,64,0,0,0,152,39,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,152,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,136,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,104,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,40,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,24,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,248,37,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,184,37,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,4,3,6,3,7,3,8,5,8,6,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,0,0,0,0,0,0,0,0,0,2,3,3,4,3,4,4,5,4,6,5,6,7,6,8,8,0,0,0,0,0,0,0,0,3,3,3,3,2,4,3,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,5,2,5,3,5,3,6,3,6,4,7,6,7,8,7,9,8,9,9,9,10,9,11,13,11,13,10,10,13,13,13,13,13,13,12,12,12,12,0,0,0,0,0,0,0,0,0,3,4,3,4,3,5,3,6,3,6,4,6,4,7,5,7,0,0,0,0,0,0,0,0,2,3,3,3,3,4,3,4,0,0,0,0,0,0,0,5,6,8,15,6,9,10,15,10,11,12,15,15,15,15,15,4,6,7,15,6,7,8,15,9,8,9,15,15,15,15,15,6,8,9,15,7,7,8,15,10,9,10,15,15,15,15,15,15,13,15,15,15,10,11,15,15,13,13,15,15,15,15,15,4,6,7,15,6,8,9,15,10,10,12,15,15,15,15,15,2,5,6,15,5,6,7,15,8,6,7,15,15,15,15,15,5,6,8,15,5,6,7,15,9,6,7,15,15,15,15,15,14,12,13,15,12,10,11,15,15,15,15,15,15,15,15,15,7,8,9,15,9,10,10,15,15,14,14,15,15,15,15,15,5,6,7,15,7,8,9,15,12,9,10,15,15,15,15,15,7,7,9,15,7,7,8,15,12,8,9,15,15,15,15,15,13,13,14,15,12,11,12,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,13,13,13,15,15,15,15,15,15,15,15,15,15,15,15,15,15,12,13,15,15,12,13,15,15,14,15,15,15,15,15,15,15,15,15,15,15,15,13,15,15,15,15,15,15,15,15,15,7,5,5,9,9,6,6,9,12,8,7,8,11,8,9,15,6,3,3,7,7,4,3,6,9,6,5,6,8,6,8,15,8,5,5,9,8,5,4,6,10,7,5,5,11,8,7,15,14,15,13,13,13,13,8,11,15,10,7,6,11,9,10,15,1,0,0,0,64,0,0,0,248,42,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,248,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,232,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,200,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,136,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,120,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,88,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,24,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,7,2,7,3,8,4,9,5,9,8,10,11,11,12,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,13,13,13,13,0,0,0,0,0,0,0,0,0,3,4,3,6,3,6,3,6,3,7,3,8,4,9,4,9,0,0,0,0,0,0,0,0,3,3,2,3,3,4,3,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,5,3,5,3,5,4,5,4,5,5,5,5,6,5,6,5,6,5,6,5,6,5,7,8,9,11,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,0,0,3,3,3,4,4,4,4,5,4,5,4,5,4,6,4,6,0,0,0,0,0,0,0,0,3,3,3,3,3,3,3,3,0,0,0,0,0,0,0,8,13,17,17,8,11,17,17,11,13,17,17,17,17,17,17,6,10,16,17,6,10,15,17,8,10,16,17,17,17,17,17,9,13,15,17,8,11,17,17,10,12,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,6,11,15,17,7,10,15,17,8,10,17,17,17,15,17,17,4,8,13,17,4,7,13,17,6,8,15,17,16,15,17,17,6,11,15,17,6,9,13,17,8,10,17,17,15,17,17,17,16,17,17,17,12,14,15,17,13,14,15,17,17,17,17,17,5,10,14,17,5,9,14,17,7,9,15,17,15,15,17,17,3,7,12,17,3,6,11,17,5,7,13,17,12,12,17,17,5,9,14,17,3,7,11,17,5,8,13,17,13,11,16,17,12,17,17,17,9,14,15,17,10,11,14,17,16,14,17,17,8,12,17,17,8,12,17,17,10,12,17,17,17,17,17,17,5,10,17,17,5,9,15,17,7,9,17,17,13,13,17,17,7,11,17,17,6,10,15,17,7,9,15,17,12,11,17,17,12,15,17,17,11,14,17,17,11,10,15,17,17,16,17,17,10,7,8,13,9,6,7,11,10,8,8,12,17,17,17,17,7,5,5,9,6,4,4,8,8,5,5,8,16,14,13,16,7,5,5,7,6,3,3,5,8,5,4,7,14,12,12,15,10,7,8,9,7,5,5,6,9,6,5,5,15,12,9,10,1,0,0,0,0,1,0,0,120,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,112,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,10,0,0,0,96,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,64,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,0,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,3,5,3,5,3,6,4,7,4,7,5,7,6,7,6,7,8,10,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,4,3,4,3,4,3,5,3,5,4,5,4,6,4,6,0,0,0,0,0,0,0,0,0,0,0,2,2,3,3,3,3,0,0,0,0,0,0,2,2,2,2,0,0,0,0,6,7,7,12,6,6,7,12,7,6,6,10,15,12,11,13,7,7,8,13,7,7,8,12,7,7,7,11,12,12,11,13,10,9,9,11,9,9,9,10,10,8,8,12,14,12,12,14,11,11,12,14,11,12,11,15,15,12,13,15,15,15,15,15,6,6,7,10,6,6,6,11,7,6,6,9,14,12,11,13,7,7,7,10,6,6,7,9,7,7,6,10,13,12,10,12,9,9,9,11,9,9,8,9,9,8,8,10,13,12,10,12,12,12,11,13,12,12,11,12,15,13,12,15,15,15,14,14,6,6,6,8,6,6,5,6,7,7,6,5,11,10,9,8,7,6,6,7,6,6,5,6,7,7,6,6,11,10,9,8,8,8,8,9,8,8,7,8,8,8,6,7,11,10,9,9,14,11,10,14,14,11,10,15,13,11,9,11,15,12,12,11,11,9,8,8,10,9,8,9,11,10,9,8,12,11,12,11,13,10,8,9,11,10,8,9,10,9,8,9,10,8,12,12,15,11,10,10,13,11,10,10,8,8,7,12,10,9,11,12,15,12,11,15,13,11,11,15,12,14,11,13,15,15,13,13,1,0,0,0,0,1,0,0,184,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,176,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,10,0,0,0,160,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,128,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,64,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,3,5,3,5,3,5,4,6,5,6,5,7,6,6,7,7,9,9,11,11,16,11,14,10,11,11,13,16,15,15,15,15,15,15,15,15,15,0,0,0,0,0,0,0,0,0,0,3,3,4,3,4,3,4,4,5,4,5,4,6,5,6,0,0,0,0,0,0,0,0,0,0,0,3,2,3,2,3,3,0,0,0,0,0,0,2,2,2,2,0,0,0,0,7,7,7,11,6,6,7,11,7,6,6,10,12,10,10,13,7,7,8,11,7,7,7,11,7,6,7,10,11,10,10,13,10,10,9,12,9,9,9,11,8,8,8,11,13,11,10,14,15,15,14,15,15,14,13,14,15,12,12,17,17,17,17,17,7,7,6,9,6,6,6,9,7,6,6,8,11,11,10,12,7,7,7,9,7,6,6,9,7,6,6,9,13,10,10,11,10,9,8,10,9,8,8,10,8,8,7,9,13,12,10,11,17,14,14,13,15,14,12,13,17,13,12,15,17,17,14,17,7,6,6,7,6,6,5,7,6,6,6,6,11,9,9,9,7,7,6,7,7,6,6,7,6,6,6,6,10,9,8,9,10,9,8,8,9,8,7,8,8,7,6,8,11,10,9,10,17,17,12,15,15,15,12,14,14,14,10,12,15,13,12,13,11,10,8,10,11,10,8,8,10,9,7,7,10,9,9,11,11,11,9,10,11,10,8,9,10,8,6,8,10,9,9,11,14,13,10,12,12,11,10,10,8,7,8,10,10,11,11,12,17,17,15,17,17,17,17,17,17,13,12,17,17,17,14,17,200,47,1,0,216,72,1,0,200,47,1,0,248,72,1,0,1],"i8",N3,F.GLOBAL_BASE+72464),E3([1],"i8",N3,F.GLOBAL_BASE+78916),E3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],"i8",N3,F.GLOBAL_BASE+79944),E3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],"i8",N3,F.GLOBAL_BASE+81996),E3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,120,124,1,0,120,124,1,0,160,124,1,0,160,124,1,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,48,84,1,0,48,84,1,0,88,84,1,0,88,84,1,0,0,0,0,0,255,255,255,255,255,255,255,255,10,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,F.GLOBAL_BASE+83152),E3([1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,231,3,0,0,0,0,0,0,231,3,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,16,124,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,85,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,85,1,0,0,0,0,0,0,0,0,0,0,0,0,0,104,85,1,0,0,0,0,0,0,0,0,0,0,0,0,0,144,85,1,0,0,0,0,0,0,0,0,0,0,0,0,0,184,85,1,0,0,0,0,0,224,85,1,0,8,86,1,0,0,0,0,0,0,0,0,0,48,86,1,0,88,86,1,0,0,0,0,0,0,0,0,0,128,86,1,0,168,86,1,0,208,86,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,88,98,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,0,124,1,0,0,0,0,0,4,0,0,0,113,2,0,0,200,95,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,98,1,0,0,0,0,0,2,0,0,0,81,0,0,0,72,95,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,160,95,1,0,0,0,0,0,2,0,0,0,81,0,0,0,200,94,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,32,95,1,0,0,0,0,0,2,0,0,0,33,1,0,0,88,93,1,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,128,94,1,0,0,0,0,0,4,0,0,0,81,0,0,0,240,92,1,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,72,93,1,0,0,0,0,0,2,0,0,0,121,0,0,0,64,92,1,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,192,92,1,0,0,0,0,0,2,0,0,0,169,0,0,0,88,91,1,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,8,92,1,0,0,0,0,0,2,0,0,0,25,0,0,0,32,91,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,91,1,0,0,0,0,0,2,0,0,0,169,0,0,0,56,90,1,0,1,0,0,0,0,136,93,225,0,176,19,97,4,0,0,0,0,0,0,0,232,90,1,0,0,0,0,0,2,0,0,0,225,0,0,0,16,89,1,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,248,89,1,0,0,0,0,0,2,0,0,0,185,1,0,0,248,86,1,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,184,88,1,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,9,8,9,9,9,9,9,9,9,9,11,11,12,7,7,7,7,8,8,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,7,7,7,7,8,8,9,8,9,9,9,9,9,9,10,10,10,10,11,11,12,8,8,8,8,8,8,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,7,7,8,8,8,8,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,12,11,9,9,8,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,8,8,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,12,11,12,11,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,12,11,12,11,11,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,12,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,12,11,11,12,11,10,10,10,10,10,10,10,10,10,10,10,10,11,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,12,11,12,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,12,11,12,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,12,11,11,12,11,11,12,10,10,11,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,12,12,11,12,11,11,12,12,12,11,11,10,10,10,10,10,10,10,10,10,11,12,12,11,12,12,11,12,11,11,11,11,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,5,5,7,7,9,9,11,11,12,12,13,13,6,5,5,6,6,9,9,10,10,12,12,12,13,15,14,6,5,5,7,7,9,9,10,10,12,12,12,13,14,13,17,7,7,8,8,10,10,11,11,12,13,13,13,13,13,17,7,7,8,8,10,10,11,11,13,13,13,13,14,14,17,11,11,9,9,11,11,12,12,12,13,13,14,15,13,17,12,12,9,9,11,11,12,12,13,13,13,13,14,16,17,17,17,11,12,12,12,13,13,13,14,15,14,15,15,17,17,17,12,12,11,11,13,13,14,14,15,14,15,15,17,17,17,15,15,13,13,14,14,15,14,15,15,16,15,17,17,17,15,15,13,13,13,14,14,15,15,15,15,16,17,17,17,17,16,14,15,14,14,15,14,14,15,15,15,17,17,17,17,17,14,14,16,14,15,15,15,15,15,15,17,17,17,17,17,17,16,16,15,17,15,15,14,17,15,17,16,17,17,17,17,16,15,14,15,15,15,15,15,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,3,10,10,10,10,10,10,10,10,10,10,5,6,6,10,10,10,10,10,10,10,10,10,10,6,7,8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,8,8,9,9,10,10,7,5,5,7,7,8,8,8,8,9,10,11,11,7,5,5,7,7,8,8,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,9,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,9,10,9,10,11,11,11,0,13,12,9,8,9,9,10,10,11,11,12,11,0,0,0,9,9,9,9,10,10,11,11,12,12,0,0,0,10,10,9,9,10,10,11,11,12,12,0,0,0,13,13,10,10,11,11,12,11,13,12,0,0,0,14,14,10,10,11,10,11,11,12,12,0,0,0,0,0,12,12,11,11,12,12,13,13,0,0,0,0,0,12,12,11,10,12,11,13,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,7,7,7,7,7,7,10,10,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,6,7,6,6,4,7,7,10,9,9,10,9,9,5,7,7,10,9,9,10,9,9,6,10,10,10,10,10,11,10,10,6,9,9,10,9,10,11,10,10,6,9,9,10,9,9,11,9,10,7,10,10,11,11,11,11,10,10,6,9,9,10,10,10,11,9,9,6,9,9,10,10,10,10,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,5,5,8,8,8,8,9,9,10,10,11,11,11,11,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,9,9,8,8,10,10,10,10,11,11,12,12,12,12,0,0,0,9,9,8,8,10,10,10,10,11,11,12,12,12,12,0,0,0,10,10,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,10,10,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,11,11,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,11,12,12,13,13,0,0,0,0,0,10,10,11,11,11,11,12,12,13,12,13,13,0,0,0,0,0,0,0,11,10,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,13,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,4,5,6,6,8,8,0,0,0,8,8,7,7,9,9,0,0,0,8,8,7,7,9,9,0,0,0,9,10,8,8,9,9,0,0,0,10,10,8,8,9,9,0,0,0,11,10,8,8,10,10,0,0,0,11,11,8,8,10,10,0,0,0,12,12,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,2,3,7,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,8,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,8,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,8,10,8],"i8",N3,F.GLOBAL_BASE+86572),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,18,8,11,8,8,9,9,10,4,4,18,5,9,5,6,7,8,10,18,18,18,18,17,17,17,17,17,17,7,5,17,6,11,6,7,8,9,12,12,9,17,12,8,8,9,10,10,13,7,5,17,6,8,4,5,6,8,10,6,5,17,6,8,5,4,5,7,9,7,7,17,8,9,6,5,5,6,8,8,8,17,9,11,8,6,6,6,7,9,10,17,12,12,10,9,7,7,8,0,0,0,0,2,0,0,0,100,0,0,0,216,163,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,125,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,125,1,0,0,0,0,0,0,0,0,0,0,0,0,0,176,125,1,0,0,0,0,0,0,0,0,0,0,0,0,0,216,125,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,126,1,0,0,0,0,0,40,126,1,0,80,126,1,0,0,0,0,0,0,0,0,0,120,126,1,0,160,126,1,0,0,0,0,0,0,0,0,0,200,126,1,0,240,126,1,0,24,127,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,32,138,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,200,163,1,0,0,0,0,0,4,0,0,0,113,2,0,0,144,135,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,8,138,1,0,0,0,0,0,2,0,0,0,81,0,0,0,16,135,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,104,135,1,0,0,0,0,0,2,0,0,0,81,0,0,0,144,134,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,232,134,1,0,0,0,0,0,2,0,0,0,33,1,0,0,32,133,1,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,72,134,1,0,0,0,0,0,4,0,0,0,81,0,0,0,184,132,1,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,16,133,1,0,0,0,0,0,2,0,0,0,121,0,0,0,8,132,1,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,136,132,1,0,0,0,0,0,2,0,0,0,169,0,0,0,32,131,1,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,208,131,1,0,0,0,0,0,2,0,0,0,25,0,0,0,232,130,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,8,131,1,0,0,0,0,0,4,0,0,0,81,0,0,0,128,130,1,0,1,0,0,0,0,176,19,225,0,176,19,97,2,0,0,0,0,0,0,0,216,130,1,0,0,0,0,0,2,0,0,0,225,0,0,0,88,129,1,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,64,130,1,0,0,0,0,0,2,0,0,0,185,1,0,0,64,127,1,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,0,129,1,0,0,0,0,0,1,5,5,7,7,8,7,8,8,10,10,9,9,10,10,10,11,11,10,12,11,12,12,12,9,8,8,8,8,8,9,10,10,10,10,11,11,11,10,11,11,12,12,11,12,8,8,7,7,8,9,10,10,10,9,10,10,9,10,10,11,11,11,11,11,11,9,9,9,9,8,9,10,10,11,10,10,11,11,12,10,10,12,12,11,11,10,9,9,10,8,9,10,10,10,9,10,10,11,11,10,11,10,10,10,12,12,12,9,10,9,10,9,9,10,10,11,11,11,11,10,10,10,11,12,11,12,11,12,10,11,10,11,9,10,9,10,9,10,10,9,10,10,11,10,11,11,11,11,12,11,9,10,10,10,10,11,11,11,11,11,10,11,11,11,11,10,12,10,12,12,11,12,10,10,11,10,9,11,10,11,9,10,11,10,10,10,11,11,11,11,12,12,10,9,9,11,10,9,12,11,10,12,12,11,11,11,11,10,11,11,12,11,10,12,9,11,10,11,10,10,11,10,11,9,10,10,10,11,12,11,11,12,11,10,10,11,11,9,10,10,12,10,11,10,10,10,9,10,10,10,10,9,10,10,11,11,11,11,12,11,10,10,10,10,11,11,10,11,11,9,11,10,12,10,12,11,10,11,10,10,10,11,10,10,11,11,10,11,10,10,10,10,11,11,12,10,10,10,11,10,11,12,11,10,11,10,10,11,11,10,12,10,9,10,10,11,11,11,10,12,10,10,11,11,11,10,10,11,10,10,10,11,10,11,10,12,11,11,10,10,10,12,10,10,11,9,10,11,11,11,10,10,11,10,10,9,11,11,12,12,11,12,11,11,11,11,11,11,9,10,11,10,12,10,10,10,10,11,10,10,11,10,10,12,10,10,10,10,10,9,12,10,10,10,10,12,9,11,10,10,11,10,12,12,10,12,12,12,10,10,10,10,9,10,11,10,10,12,10,10,12,11,10,11,10,10,12,11,10,12,10,10,11,9,11,10,9,10,9,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,5,5,10,8,11,11,11,11,11,11,11,11,6,6,6,7,6,11,10,11,11,11,11,11,11,11,11,7,5,6,6,6,8,7,11,11,11,11,11,11,11,11,11,7,8,8,8,9,9,11,11,11,11,11,11,11,11,11,9,8,7,8,9,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,4,5,5,7,6,6,6,5,7,7,7,6,6,7,7,7,6,6,7,7,7,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,6,7,7,7,7,8,8,9,9,7,6,6,7,7,8,8,7,7,8,9,10,10,7,6,6,7,7,8,7,7,7,9,9,10,12,0,8,8,8,8,8,9,8,8,9,9,10,10,0,8,8,8,8,8,9,8,9,9,9,11,10,0,0,13,9,8,9,9,9,9,10,10,11,11,0,13,0,9,9,9,9,9,9,11,10,11,11,0,0,0,8,9,10,9,10,10,13,11,12,12,0,0,0,8,9,9,9,10,10,13,12,12,13,0,0,0,12,0,10,10,12,11,10,11,12,12,0,0,0,13,13,10,10,10,11,12,0,13,0,0,0,0,0,0,13,11,0,12,12,12,13,12,0,0,0,0,0,0,13,13,11,13,13,11,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,6,6,8,8,9,9,9,9,10,10,10,7,7,8,8,9,9,9,9,10,10,9,7,7,8,8,9,9,9,9,10,10,10,8,8,9,9,9,9,9,9,10,10,10,8,8,9,9,9,9,8,9,10,10,10,8,8,9,9,9,10,10,10,10,10,10,9,9,9,9,9,9,10,10,11,10,11,9,9,9,9,10,10,10,10,11,11,11,10,10,9,9,10,10,10,9,11,10,10,10,10,10,10,9,9,10,10,11,11,10,10,10,9,9,9,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,11,9,10,12,9,10,4,7,7,10,10,10,11,9,9,6,11,10,11,11,12,11,11,11,6,10,10,11,11,12,11,10,10,6,9,10,11,11,11,11,10,10,7,10,11,12,11,11,12,11,12,6,9,9,10,9,9,11,10,10,6,9,9,10,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,6,6,8,8,9,9,8,8,10,9,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,11,0,0,0,8,8,9,9,10,10,9,9,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,9,9,11,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,11,12,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,10,10,10,10,11,11,10,10,11,11,12,12,13,13,0,0,0,0,0,10,9,10,11,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,9,10,11,12,12,13,13,14,13,0,0,0,0,0,9,9,9,10,10,10,11,11,13,12,13,13,0,0,0,0,0,10,10,10,10,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,10,10,11,11,12,12,13,13,13,14,0,0,0,0,0,0,0,11,11,11,11,12,12,13,14,14,14,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,14,13,0,0,0,0,0,0,0,11,11,12,12,13,13,14,14,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,5,5,7,6,8,8,0,0,0,7,7,7,7,8,8,0,0,0,7,7,7,7,8,9,0,0,0,8,8,8,8,9,9,0,0,0,8,8,8,8,9,9,0,0,0,9,9,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,10,10,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,2,3,7,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,8,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,6,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,4,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,9,0,0,0,0,0,0,8,9,11,0,0,0,0,0,0,9,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,9,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,11,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,9,11,11,0,0,0,0,0,0,8,11,9],"i8",N3,F.GLOBAL_BASE+97272),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,5,18,7,10,6,7,8,9,10,5,2,18,5,7,5,6,7,8,11,17,17,17,17,17,17,17,17,17,17,7,4,17,6,9,6,8,10,12,15,11,7,17,9,6,6,7,9,11,15,6,4,17,6,6,4,5,8,11,16,6,6,17,8,6,5,6,9,13,16,8,9,17,11,9,8,8,11,13,17,9,12,17,15,14,13,12,13,14,17,12,15,17,17,17,17,17,16,17,17,0,0,0,0,154,153,153,153,153,153,185,191,0,0,0,0,0,0,0,0,154,153,153,153,153,153,185,63,154,153,153,153,153,153,201,63,51,51,51,51,51,51,211,63,154,153,153,153,153,153,217,63,0,0,0,0,0,0,224,63,51,51,51,51,51,51,227,63,102,102,102,102,102,102,230,63,154,153,153,153,153,153,233,63,205,204,204,204,204,204,236,63,0,0,0,0,0,0,240,63,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,16,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,0,0,0,35,0,0,0,21,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,30,0,0,0,20,0,0,0,8,0,0,0,0,0,0,192,0,0,160,63,25,0,0,0,12,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,9,0,0,0,253,255,255,255,0,0,0,0,0,0,0,0,20,0,0,0,9,0,0,0,252,255,255,255,0,0,0,0,0,0,0,0,20,0,0,0,9,0,0,0,252,255,255,255,0,0,0,0,0,0,0,0,20,0,0,0,6,0,0,0,250,255,255,255,0,0,0,0,0,0,0,0,20,0,0,0,3,0,0,0,246,255,255,255,0,0,0,0,0,0,0,0,18,0,0,0,1,0,0,0,242,255,255,255,0,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,240,255,255,255,0,0,0,0,0,0,0,0,18,0,0,0,254,255,255,255,240,255,255,255,0,0,0,0,0,0,0,0,12,0,0,0,254,255,255,255,236,255,255,255,0,0,0,0,0,0,0,0,253,255,255,255,248,255,255,255,243,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,247,255,255,255,247,255,255,255,247,255,255,255,247,255,255,255,247,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,252,255,255,255,246,255,255,255,242,255,255,255,240,255,255,255,242,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,245,255,255,255,245,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,250,255,255,255,244,255,255,255,242,255,255,255,240,255,255,255,241,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,254,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,244,255,255,255,243,255,255,255,242,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,251,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,243,255,255,255,245,255,255,255,246,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,243,255,255,255,245,255,255,255,246,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,248,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,253,255,255,255,248,255,255,255,243,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,255,255,255,246,255,255,255,242,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,245,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,250,255,255,255,244,255,255,255,242,255,255,255,240,255,255,255,241,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,254,255,255,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,244,255,255,255,243,255,255,255,242,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,250,255,255,255,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,243,255,255,255,245,255,255,255,246,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,243,255,255,255,245,255,255,255,246,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,248,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,3,0,0,0,3,0,0,0,15,0,0,0,3,0,0,0,3,0,0,0,15,0,0,0,10,0,0,0,10,0,0,0,100,0,0,0,10,0,0,0,10,0,0,0,100,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,250,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,2,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,16,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,252,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,14,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,252,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,250,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,252,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,6,0,0,0,11,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,234,255,255,255,240,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,247,255,255,255,251,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,6,0,0,0,11,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,228,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,240,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,6,0,0,0,11,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,234,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,224,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,234,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,3,0,0,0,3,0,0,0,5,0,0,0,10,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,224,255,255,255,224,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,224,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,2,0,0,0,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,224,255,255,255,224,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,224,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,244,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,221,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,2,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,8,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,16,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,2,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,14,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,2,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,250,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,2,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,234,255,255,255,240,255,255,255,244,255,255,255,250,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,0,0,0,0,4,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,253,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,253,255,255,255,255,255,255,255,4,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,245,255,255,255,248,255,255,255,250,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,240,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,251,255,255,255,253,255,255,255,1,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,234,255,255,255,238,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,11,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,249,255,255,255,251,255,255,255,254,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,228,255,255,255,234,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,242,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,6,0,0,0,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,224,255,255,255,224,255,255,255,232,255,255,255,240,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,224,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,238,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,221,255,255,255,226,255,255,255,231,255,255,255,231,255,255,255,231,255,255,255,231,255,255,255,231,255,255,255,231,255,255,255,241,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,250,255,255,255,252,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,1,0,0,0,4,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,3,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,249,255,255,255,252,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,8,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,252,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,255,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,255,255,255,255,1,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,252,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,255,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,234,255,255,255,240,255,255,255,244,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,253,255,255,255,255,255,255,255,0,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,247,255,255,255,251,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,255,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,251,255,255,255,254,255,255,255,0,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,234,255,255,255,237,255,255,255,237,255,255,255,237,255,255,255,237,255,255,255,238,255,255,255,239,255,255,255,240,255,255,255,244,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,255,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,240,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,234,255,255,255,236,255,255,255,241,255,255,255,246,255,255,255,248,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,7,0,0,0,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,249,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,226,255,255,255,228,255,255,255,230,255,255,255,232,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,2,0,0,0,218,255,255,255,218,255,255,255,218,255,255,255,218,255,255,255,220,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,218,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,228,255,255,255,236,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,221,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,236,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,20,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,246,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,6,0,0,0,15,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,10,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,252,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,10,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,1,0,0,0,4,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4],"i8",N3,F.GLOBAL_BASE+107456),E3([4,0,0,0,5,0,0,0,6,0,0,0,10,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,3,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,252,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,8,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,251,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,255,255,255,255,1,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,249,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,240,255,255,255,244,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,253,255,255,255,255,255,255,255,0,0,0,0,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,247,255,255,255,248,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,251,255,255,255,254,255,255,255,0,0,0,0,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,238,255,255,255,240,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,243,255,255,255,243,255,255,255,244,255,255,255,246,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,0,0,0,0,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,237,255,255,255,237,255,255,255,237,255,255,255,237,255,255,255,238,255,255,255,239,255,255,255,240,255,255,255,244,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,7,0,0,0,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,240,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,2,0,0,0,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,234,255,255,255,238,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,249,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,236,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,18,0,0,0,18,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,13,0,0,0,14,0,0,0,14,0,0,0,14,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,16,0,0,0,16,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,18,0,0,0,18,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,7,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,205,204,204,204,204,204,244,63,154,153,153,153,153,153,249,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,12,64,0,0,0,0,0,0,16,64,0,0,0,0,0,0,16,64,51,51,51,51,51,51,17,64,102,102,102,102,102,102,18,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,32,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,32,0,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,0,0,0,0,0,1,0,0,128,0,0,0,128,0,0,0,0,1,0,0,0,2,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,0,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,0,0,0,0,154,153,153,153,153,153,201,63,154,153,153,153,153,153,201,63,154,153,153,153,153,153,201,63,154,153,153,153,153,153,217,63,51,51,51,51,51,51,227,63,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,156,255,255,255,156,255,255,255,156,255,255,255,156,255,255,255,156,255,255,255,156,255,255,255,151,255,255,255,151,255,255,255,151,255,255,255,151,255,255,255,146,255,255,255,136,255,255,255,126,255,255,255,126,255,255,255,126,255,255,255,126,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,106,255,255,255,205,204,204,204,204,204,43,64,51,51,51,51,51,51,46,64,154,153,153,153,153,153,47,64,0,0,0,0,0,128,48,64,51,51,51,51,51,51,49,64,102,102,102,102,102,230,50,64,154,153,153,153,153,25,52,64,0,0,0,0,0,0,72,64,0,0,0,0,0,56,143,64,0,0,0,0,0,56,143,64,0,0,0,0,0,56,143,64,0,0,0,0,0,56,143,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,4,64,154,153,153,153,153,153,5,64,0,0,0,0,0,0,8,64,154,153,153,153,153,153,13,64,0,0,0,0,0,0,16,64,0,0,0,0,0,0,16,64,248,148,2,0,40,149,2,0,88,149,2,0,0,0,0,0,8,181,0,0,224,217,1,0,8,181,0,0,32,218,1,0,8,181,0,0,96,218,1,0,8,181,0,0,160,218,1,0,8,181,0,0,224,218,1,0,8,181,0,0,32,219,1,0,8,181,0,0,96,219,1,0,8,181,0,0,160,219,1,0,8,181,0,0,224,219,1,0,8,181,0,0,32,220,1,0,8,181,0,0,96,220,1,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,232,133,2,0,232,133,2,0,16,134,2,0,16,134,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,208,134,2,0,208,134,2,0,16,134,2,0,16,134,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,216,118,2,0,216,118,2,0,0,119,2,0,0,119,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,192,119,2,0,192,119,2,0,0,119,2,0,0,119,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,0,106,2,0,0,106,2,0,40,106,2,0,40,106,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,232,106,2,0,232,106,2,0,40,106,2,0,40,106,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,0,93,2,0,0,93,2,0,40,93,2,0,40,93,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,232,93,2,0,232,93,2,0,40,93,2,0,40,93,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,56,79,2,0,56,79,2,0,96,79,2,0,96,79,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,32,80,2,0,32,80,2,0,96,79,2,0,96,79,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,8,65,2,0,8,65,2,0,48,65,2,0,48,65,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,240,65,2,0,240,65,2,0,48,65,2,0,48,65,2,0,1,0,0,0,0,0,0,0,16,0,0,0,88,206,0,0,56,48,2,0,56,48,2,0,96,48,2,0,96,48,2,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,32,49,2,0,32,49,2,0,96,48,2,0,96,48,2,0,1,0,0,0,0,0,0,0,16,0,0,0,88,206,0,0,40,31,2,0,40,31,2,0,80,31,2,0,80,31,2,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,16,32,2,0,16,32,2,0,80,31,2,0,80,31,2,0,1,0,0,0,0,0,0,0,16,0,0,0,88,206,0,0,64,15,2,0,64,15,2,0,104,15,2,0,104,15,2,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,40,16,2,0,40,16,2,0,104,15,2,0,104,15,2,0,1,0,0,0,0,0,0,0,16,0,0,0,160,220,1,0,208,251,1,0,208,251,1,0,248,251,1,0,248,251,1,0,1,0,0,0,0,0,0,0,32,0,0,0,160,220,1,0,184,252,1,0,184,252,1,0,248,251,1,0,248,251,1,0,1,0,0,0,0,0,0,0,16,0,0,0,160,220,1,0,184,231,1,0,184,231,1,0,224,231,1,0,224,231,1,0,1,0,0,0,0,0,0,0,32,0,0,0,160,220,1,0,160,232,1,0,160,232,1,0,224,231,1,0,224,231,1,0,0,0,0,0,255,255,255,255,255,255,255,255,10,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,F.GLOBAL_BASE+117696),E3([1,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,71,0,0,0,157,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,104,251,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,233,1,0,0,0,0,0,0,0,0,0,0,0,0,0,88,233,1,0,0,0,0,0,0,0,0,0,0,0,0,0,128,233,1,0,0,0,0,0,0,0,0,0,0,0,0,0,168,233,1,0,0,0,0,0,208,233,1,0,248,233,1,0,0,0,0,0,0,0,0,0,32,234,1,0,72,234,1,0,0,0,0,0,0,0,0,0,112,234,1,0,152,234,1,0,0,0,0,0,0,0,0,0,192,234,1,0,232,234,1,0,0,0,0,0,0,0,0,0,16,235,1,0,56,235,1,0,96,235,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,200,232,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,13,13,14,15,14,14,15,15,5,5,9,10,12,12,13,14,16,15,10,6,6,6,8,11,12,13,16,15,11,7,5,3,5,8,10,12,15,15,10,10,7,4,3,5,8,10,12,12,12,12,9,7,5,4,6,8,10,13,13,12,11,9,7,5,5,6,9,12,14,12,12,10,8,6,6,6,7,11,13,12,14,13,10,8,7,7,7,10,11,11,12,13,12,11,10,8,8,9,0,0,0,0,4,0,0,0,81,0,0,0,0,251,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,88,251,1,0,0,0,0,0,4,0,0,0,113,2,0,0,112,248,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,250,1,0,0,0,0,0,2,0,0,0,81,0,0,0,240,247,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,72,248,1,0,0,0,0,0,2,0,0,0,33,1,0,0,128,246,1,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,168,247,1,0,0,0,0,0,4,0,0,0,81,0,0,0,24,246,1,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,112,246,1,0,0,0,0,0,2,0,0,0,121,0,0,0,104,245,1,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,232,245,1,0,0,0,0,0,2,0,0,0,169,0,0,0,128,244,1,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,48,245,1,0,0,0,0,0,2,0,0,0,25,0,0,0,72,244,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,104,244,1,0,0,0,0,0,2,0,0,0,169,0,0,0,96,243,1,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,16,244,1,0,0,0,0,0,2,0,0,0,121,0,0,0,176,242,1,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,48,243,1,0,0,0,0,0,2,0,0,0,225,0,0,0,136,241,1,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,112,242,1,0,0,0,0,0,2,0,0,0,185,1,0,0,112,239,1,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,48,241,1,0,0,0,0,0,2,0,0,0,225,0,0,0,72,238,1,0,1,0,0,0,0,117,153,225,0,24,61,97,4,0,0,0,0,0,0,0,48,239,1,0,0,0,0,0,2,0,0,0,105,1,0,0,136,236,1,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,248,237,1,0,0,0,0,0,1,0,0,0,49,0,0,0,136,235,1,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,192,235,1,0,0,0,0,0,2,4,4,5,4,5,5,5,5,6,6,6,6,6,6,6,6,6,6,7,6,7,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,8,7,8,7,9,8,10,9,10,10,11,11,12,12,4,7,6,9,9,10,9,9,8,10,10,11,10,12,10,13,12,13,12,4,6,6,9,9,9,9,9,9,10,10,11,11,11,12,12,12,12,12,7,9,8,11,10,10,10,11,10,11,11,12,12,13,12,13,13,13,13,7,8,9,10,10,11,11,10,10,11,11,11,12,13,13,13,13,14,14,8,9,9,11,11,12,11,12,12,13,12,12,13,13,14,15,14,14,14,8,9,9,10,11,11,11,12,12,13,12,13,13,14,14,14,15,14,16,8,9,9,11,10,12,12,12,12,15,13,13,13,17,14,15,15,15,14,8,9,9,10,11,11,12,13,12,13,13,13,14,15,14,14,14,16,15,9,11,10,12,12,13,13,13,13,14,14,16,15,14,14,14,15,15,17,9,10,10,11,11,13,13,13,14,14,13,15,14,15,14,15,16,15,16,10,11,11,12,12,13,14,15,14,15,14,14,15,17,16,15,15,17,17,10,12,11,13,12,14,14,13,14,15,15,15,15,16,17,17,15,17,16,11,12,12,14,13,15,14,15,16,17,15,17,15,17,15,15,16,17,15,11,11,12,14,14,14,14,14,15,15,16,15,17,17,17,16,17,16,15,12,12,13,14,14,14,15,14,15,15,16,16,17,16,17,15,17,17,16,12,14,12,14,14,15,15,15,14,14,16,16,16,15,16,16,15,17,15,12,13,13,14,15,14,15,17,15,17,16,17,17,17,16,17,16,17,17,12,13,13,14,16,15,15,15,16,15,17,17,15,17,15,17,16,16,17,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,3,3,11,11,11,11,11,11,11,11,11,11,11,11,4,10,11,11,11,11,11,11,11,11,11,11,11,11,11,4,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,4,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,6,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,6,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,8,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,8,8,8,9,9,9,9,9,9,9,9,9,9,10,9,10,9,10,10,10,10,8,8,8,9,9,9,9,9,9,9,9,9,9,10,10,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,8,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,8,9,9,10,9,11,10,4,6,6,8,8,9,9,9,9,10,10,11,10,12,10,4,6,6,8,8,9,10,9,9,10,10,11,11,12,12,7,8,8,10,10,11,11,10,10,11,11,12,12,13,12,7,8,8,10,10,11,11,10,10,11,11,12,12,12,13,8,10,9,11,11,12,12,11,11,12,12,13,13,14,13,8,9,9,11,11,12,12,11,12,12,12,13,13,14,13,8,9,9,10,10,12,11,13,12,13,13,14,13,15,14,8,9,9,10,10,11,12,12,12,13,13,13,14,14,14,9,10,10,12,11,13,12,13,13,14,13,14,14,14,15,9,10,10,11,12,12,12,13,13,14,14,14,15,15,15,10,11,11,12,12,13,13,14,14,14,14,15,14,16,15,10,11,11,12,12,13,13,13,14,14,14,14,14,15,16,11,12,12,13,13,14,13,14,14,15,14,15,16,16,16,11,12,12,13,13,14,13,14,14,15,15,15,16,15,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,5,6,6,7,7,7,7,7,7,7,7,6,6,6,7,7,7,7,7,7,7,7,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,7,7,7,7,7,7,7,8,7,8,8,7,7,7,7,7,7,7,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,5,6,6,7,7,8,9,10,10,11,11,5,6,6,7,7,8,8,9,9,10,10,11,11,5,6,6,7,7,8,8,9,9,10,10,11,11,6,7,7,8,8,9,9,10,10,11,11,12,12,6,7,7,8,8,9,9,10,10,11,11,12,12,8,8,8,9,9,10,10,11,11,12,12,13,13,8,8,8,9,9,10,10,11,11,12,12,13,13,9,9,9,10,10,11,11,12,12,13,13,13,13,9,9,9,10,10,11,11,12,12,13,13,14,14,10,10,10,11,11,12,12,13,13,14,13,15,14,10,10,10,11,11,12,12,13,13,14,14,14,14,11,11,12,12,12,13,13,14,14,14,14,15,15,11,11,12,12,12,13,13,14,14,14,15,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,4,4,4,5,5,4,5,4,5,5,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,9,9,10,10,4,6,5,7,7,8,8,8,8,9,9,10,10,4,5,6,7,7,8,8,8,8,9,9,10,10,6,7,7,8,8,8,8,9,9,10,10,10,10,6,7,7,8,8,8,8,9,9,10,10,10,10,7,8,8,8,8,9,9,9,9,10,10,11,11,7,8,8,8,8,9,9,9,9,10,10,11,11,8,8,8,9,9,9,9,9,10,10,10,11,11,8,8,8,9,9,9,9,10,9,10,10,11,11,9,9,9,10,10,10,10,10,11,11,11,11,12,9,9,9,10,10,10,10,10,10,11,10,12,11,10,10,10,10,10,11,11,11,11,11,12,12,12,10,10,10,10,10,11,11,11,11,12,11,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,5,5,5,6,6,7,7,7,7,7,7,5,6,6,6,6,7,7,7,7,8,7,5,6,6,6,6,7,7,7,7,7,7,6,6,6,7,7,7,7,7,7,8,8,6,6,6,7,7,7,7,7,7,8,8,7,7,7,7,7,8,7,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,8,7,8,8,8,8,8,8,7,7,7,7,8,8,8,8,8,8,8,7,8,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,8,9,9,7,9,9,5,8,8,7,9,9,8,9,9,5,8,8,8,10,10,8,10,10,7,10,10,9,10,12,9,11,11,7,10,10,9,11,10,9,11,12,5,8,8,8,10,10,8,10,10,7,10,10,9,12,11,9,10,11,7,10,10,9,11,11,10,12,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,5,5,6,6,7,7,8,8,8,8,9,9,10,10,11,11,5,5,5,6,6,7,7,8,8,8,8,9,9,10,10,11,11,5,5,5,6,6,7,7,8,8,8,8,9,9,10,10,11,11,6,6,6,7,6,7,7,8,8,9,9,10,10,11,11,12,11,6,6,6,6,7,7,7,8,8,9,9,10,10,11,11,11,12,7,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,7,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,8,8,8,8,8,9,8,10,9,10,10,11,10,12,11,13,12,8,8,8,8,8,9,9,9,10,10,10,10,11,11,12,12,12,8,8,8,9,9,9,9,10,10,11,10,12,11,12,12,13,12,8,8,8,9,9,9,9,10,10,10,11,11,11,12,12,12,13,9,9,9,10,10,10,10,11,10,11,11,12,11,13,12,13,13,9,9,10,10,10,10,10,10,11,11,11,11,12,12,13,13,13,10,11,10,11,11,11,11,12,11,12,12,13,12,13,13,14,13,10,10,10,11,11,11,11,11,12,12,12,12,13,13,13,13,14,11,11,11,12,11,12,12,12,12,13,13,13,13,14,13,14,14,11,11,11,11,12,12,12,12,12,12,13,13,13,13,14,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,3,4,4,5,5,7,7,8,8,4,5,5,6,6,7,7,9,9,4,4,5,6,6,7,7,9,9,5,6,6,7,7,8,8,9,9,5,6,6,7,7,8,8,9,9,7,7,7,8,8,9,9,10,10,7,7,7,8,8,9,9,10,10,8,9,9,10,9,10,10,11,11,8,9,9,9,10,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,5,7,7,9,9,6,7,7,9,9,8,9,9,11,10,8,9,9,11,11,6,7,7,9,9,7,8,8,10,10,7,8,8,9,10,9,10,10,11,11,9,9,10,11,11,6,7,7,9,9,7,8,8,10,9,7,8,8,10,10,9,10,9,11,11,9,10,10,11,11,8,9,9,11,11,9,10,10,12,11,9,10,10,11,12,11,11,11,13,13,11,11,11,12,13,8,9,9,11,11,9,10,10,11,11,9,10,10,12,11,11,12,11,13,12,11,11,12,13,13,6,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,11,9,10,10,11,12,7,8,8,10,10,8,9,9,11,11,8,9,9,10,10,10,11,11,12,12,10,10,11,12,12,7,8,8,10,10,8,9,8,10,10,8,9,9,10,10,10,11,10,12,11,10,10,11,12,12,9,10,10,11,12,10,11,11,12,12,10,11,10,12,12,12,12,12,13,13,11,12,12,13,13,9,10,10,11,11,9,10,10,12,12,10,11,11,12,13,11,12,11,13,12,12,12,12,13,14,6,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,11,11,9,10,10,11,12,7,8,8,10,10,8,9,9,11,10,8,8,9,10,10,10,11,10,12,12,10,10,11,11,12,7,8,8,10,10,8,9,9,10,10,8,9,9,10,10,10,11,10,12,12,10,11,10,12,12,9,10,10,12,11,10,11,11,12,12,9,10,10,12,12,12,12,12,13,13,11,11,12,12,14,9,10,10,11,12,10,11,11,12,12,10,11,11,12,12,11,12,12,14,14,12,12,12,13,13,8,9,9,11,11,9,10,10,12,11,9,10,10,12,12,11,12,11,13,13,11,11,12,13,13,9,10,10,12,12,10,11,11,12,12,10,11,11,12,12,12,12,12,14,14,12,12,12,13,13,9,10,10,12,11,10,11,10,12,12,10,11,11,12,12,11,12,12,14,13,12,12,12,13,14,11,12,11,13,13,11,12,12,13,13,12,12,12,14,14,13,13,13,13,15,13,13,14,15,15,11,11,11,13,13,11,12,11,13,13,11,12,12,13,13,12,13,12,15,13,13,13,14,14,15,8,9,9,11,11,9,10,10,11,12,9,10,10,11,12,11,12,11,13,13,11,12,12,13,13,9,10,10,11,12,10,11,10,12,12,10,10,11,12,13,12,12,12,14,13,11,12,12,13,14,9,10,10,12,12,10,11,11,12,12,10,11,11,12,12,12,12,12,14,13,12,12,12,14,13,11,11,11,13,13,11,12,12,14,13,11,11,12,13,13,13,13,13,15,14,12,12,13,13,15,11,12,12,13,13,12,12,12,13,14,11,12,12,13,13,13,13,14,14,15,13,13,13,14,14,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,7,5,7,7,5,7,7,7,9,9,7,9,9,5,7,7,7,9,9,7,9,9,5,7,7,7,9,9,7,9,9,8,9,9,9,10,11,9,11,11,7,9,9,9,11,10,9,11,11,5,7,7,7,9,9,8,9,10,7,9,9,9,11,11,9,10,11,7,9,10,9,11,11,9,11,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,9,16,18,18,17,17,17,17,17,17,5,8,11,12,11,12,17,17,16,16,6,6,8,8,9,10,14,15,16,16,6,7,7,4,6,9,13,16,16,16,6,6,7,4,5,8,11,15,17,16,7,6,7,6,6,8,9,10,14,16,11,8,8,7,6,6,3,4,10,15,14,12,12,10,5,6,3,3,8,13,15,17,15,11,6,8,6,6,9,14,17,15,15,12,8,10,9,9,12,15,0,0,0,0,2,0,0,0,100,0,0,0,216,14,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,253,1,0,0,0,0,0,0,0,0,0,0,0,0,0,112,253,1,0,0,0,0,0,0,0,0,0,0,0,0,0,152,253,1,0,0,0,0,0,0,0,0,0,0,0,0,0,192,253,1,0,0,0,0,0,232,253,1,0,16,254,1,0,0,0,0,0,0,0,0,0,56,254,1,0,96,254,1,0,0,0,0,0,0,0,0,0,136,254,1,0,176,254,1,0,0,0,0,0,0,0,0,0,216,254,1,0,0,255,1,0,0,0,0,0,0,0,0,0,40,255,1,0,80,255,1,0,120,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,224,252,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,13,14,14,15,14,14,15,15,5,4,6,8,10,12,12,14,15,15,9,5,4,5,8,10,11,13,16,16,10,7,4,3,5,7,9,11,13,13,10,9,7,4,4,6,8,10,12,14,13,11,9,6,5,5,6,8,12,14,13,11,10,8,7,6,6,7,10,14,13,11,12,10,8,7,6,6,9,13,12,11,14,12,11,9,8,7,9,11,11,12,14,13,14,11,10,8,8,9,0,0,0,0,4,0,0,0,81,0,0,0,112,14,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,200,14,2,0,0,0,0,0,4,0,0,0,113,2,0,0,224,11,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,14,2,0,0,0,0,0,2,0,0,0,81,0,0,0,96,11,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,184,11,2,0,0,0,0,0,2,0,0,0,33,1,0,0,240,9,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,24,11,2,0,0,0,0,0,4,0,0,0,81,0,0,0,136,9,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,224,9,2,0,0,0,0,0,2,0,0,0,121,0,0,0,216,8,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,88,9,2,0,0,0,0,0,2,0,0,0,169,0,0,0,240,7,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,160,8,2,0,0,0,0,0,2,0,0,0,25,0,0,0,184,7,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,7,2,0,0,0,0,0,2,0,0,0,169,0,0,0,208,6,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,128,7,2,0,0,0,0,0,2,0,0,0,121,0,0,0,32,6,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,160,6,2,0,0,0,0,0,2,0,0,0,225,0,0,0,248,4,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,224,5,2,0,0,0,0,0,2,0,0,0,185,1,0,0,224,2,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,160,4,2,0,0,0,0,0,2,0,0,0,81,0,0,0,96,2,2,0,1,0,0,0,0,24,125,225,0,24,61,97,4,0,0,0,0,0,0,0,184,2,2,0,0,0,0,0,2,0,0,0,105,1,0,0,160,0,2,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,16,2,2,0,0,0,0,0,1,0,0,0,49,0,0,0,160,255,1,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,216,255,1,0,0,0,0,0,2,3,4,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,8,7,8,6,9,7,10,8,11,10,11,11,11,11,4,7,6,9,9,10,9,9,9,10,10,11,10,11,10,11,11,13,11,4,7,7,9,9,9,9,9,9,10,10,11,10,11,11,11,12,11,12,7,9,8,11,11,11,11,10,10,11,11,12,12,12,12,12,12,14,13,7,8,9,10,11,11,11,10,10,11,11,11,11,12,12,14,12,13,14,8,9,9,11,11,11,11,11,11,12,12,14,12,15,14,14,14,15,14,8,9,9,11,11,11,11,12,11,12,12,13,13,13,13,13,13,14,14,8,9,9,11,10,12,11,12,12,13,13,13,13,15,14,14,14,16,16,8,9,9,10,11,11,12,12,12,13,13,13,14,14,14,15,16,15,15,9,10,10,11,12,12,13,13,13,14,14,16,14,14,16,16,16,16,15,9,10,10,11,11,12,13,13,14,15,14,16,14,15,16,16,16,16,15,10,11,11,12,13,13,14,15,15,15,15,15,16,15,16,15,16,15,15,10,11,11,13,13,14,13,13,15,14,15,15,16,15,15,15,16,15,16,10,12,12,14,14,14,14,14,16,16,15,15,15,16,16,16,16,16,16,11,12,12,14,14,14,14,15,15,16,15,16,15,16,15,16,16,16,16,12,12,13,14,14,15,16,16,16,16,16,16,15,16,16,16,16,16,16,12,13,13,14,14,14,14,15,16,15,16,16,16,16,16,16,16,16,16,12,13,14,14,14,16,15,16,15,16,16,16,16,16,16,16,16,16,16,12,14,13,14,15,15,15,16,15,16,16,15,16,16,16,16,16,16,16,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,3,3,9,9,9,9,9,9,4,9,9,9,9,9,9,9,9,5,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,6,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,9,8,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,10,9,10,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,9,10,10,9,10,8,9,8,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,8,9,8,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,9,10,10,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,7,9,8,10,9,11,10,4,6,6,8,8,10,9,9,9,10,10,11,10,12,10,4,6,6,8,8,10,10,9,9,10,10,11,11,11,12,7,8,8,10,10,11,11,11,10,12,11,12,12,13,11,7,8,8,10,10,11,11,10,10,11,11,12,12,13,13,8,10,10,11,11,12,11,12,11,13,12,13,12,14,13,8,10,9,11,11,12,12,12,12,12,12,13,13,14,13,8,9,9,11,10,12,11,13,12,13,13,14,13,14,13,8,9,9,10,11,12,12,12,12,13,13,14,15,14,14,9,10,10,12,11,13,12,13,13,14,13,14,14,14,14,9,10,10,12,12,12,12,13,13,14,14,14,15,14,14,10,11,11,13,12,13,12,14,14,14,14,14,14,15,15,10,11,11,12,12,13,13,14,14,14,15,15,14,16,15,11,12,12,13,12,14,14,14,13,15,14,15,15,15,17,11,12,12,13,13,14,14,14,15,15,14,15,15,14,17,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,7,7,5,6,6,7,7,7,7,7,7,7,7,5,6,6,7,7,7,7,7,7,7,7,6,7,7,7,7,7,7,7,7,8,8,6,7,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,8,8,8,8,7,7,7,8,7,8,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,5,6,6,7,7,8,8,10,10,11,11,5,6,6,7,7,8,8,9,9,11,10,12,11,5,6,6,7,7,8,8,9,9,10,11,11,12,6,7,7,8,8,9,9,10,10,11,11,12,12,6,7,7,8,8,9,9,10,10,11,12,13,12,7,8,8,9,9,10,10,11,11,12,12,13,13,8,8,8,9,9,10,10,11,11,12,12,13,13,9,9,9,10,10,11,11,12,12,13,13,14,14,9,9,9,10,10,11,11,12,12,13,13,14,14,10,11,11,12,11,13,12,13,13,14,14,15,15,10,11,11,11,12,12,13,13,14,14,14,15,15,11,12,12,13,13,14,13,15,14,15,15,16,15,11,11,12,13,13,13,14,14,14,15,15,15,16,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,4,4,5,5,4,5,5,5,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,9,9,10,10,4,6,5,7,7,8,8,8,8,9,9,10,10,4,6,6,7,7,8,8,8,8,9,9,10,10,6,7,7,7,8,8,8,8,9,9,10,10,10,6,7,7,8,8,8,8,9,8,10,9,11,10,7,8,8,8,8,8,9,9,9,10,10,11,11,7,8,8,8,8,9,8,9,9,10,10,11,11,8,8,8,9,9,9,9,9,10,10,10,11,11,8,8,8,9,9,9,9,10,9,10,10,11,11,9,9,9,9,10,10,10,10,10,10,11,11,12,9,9,9,10,9,10,10,10,10,11,10,12,11,10,10,10,10,10,11,11,11,11,11,12,12,12,10,10,10,10,11,11,11,11,11,12,11,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,8,8,5,5,5,6,6,7,7,8,8,8,8,5,5,5,6,6,7,7,7,8,8,8,6,6,6,7,7,7,7,8,8,8,8,6,6,6,7,7,7,7,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,8,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,8,8,8,8,8,8,8,8,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,8,9,9,7,9,9,5,8,8,7,9,9,8,9,9,5,8,8,8,10,10,8,10,10,7,10,10,9,10,12,9,12,11,7,10,10,9,11,10,9,11,12,5,8,8,8,10,10,8,10,10,7,10,10,9,11,11,9,10,11,7,10,10,9,11,11,10,12,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,4,4,6,6,7,7,8,8,8,8,10,10,11,11,11,11,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,6,6,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,6,6,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,7,7,7,8,8,9,8,10,9,10,9,11,10,12,11,13,12,7,7,7,8,8,8,9,9,10,9,10,10,11,11,12,12,13,8,8,8,9,9,9,9,10,10,11,10,11,11,12,12,13,13,8,8,8,9,9,9,10,10,10,10,11,11,11,12,12,12,13,8,9,9,9,9,10,9,11,10,11,11,12,11,13,12,13,13,8,9,9,9,9,9,10,10,11,11,11,11,12,12,13,13,13,10,10,10,10,10,11,10,11,11,12,11,13,12,13,13,14,13,10,10,10,10,10,10,11,11,11,11,12,12,13,13,13,13,14,11,11,11,11,11,12,11,12,12,13,12,13,13,14,13,14,14,11,11,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,11,12,12,12,12,13,12,13,12,13,13,14,13,14,14,14,14,11,12,12,12,12,12,12,13,13,13,13,13,14,14,14,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,3,4,4,5,5,7,7,9,9,4,5,4,6,6,7,7,9,9,4,4,5,6,6,7,7,9,9,5,6,6,7,7,8,8,10,10,6,6,6,7,7,8,8,10,10,7,7,7,8,8,9,9,11,10,7,7,7,8,8,9,9,10,11,9,9,9,10,10,11,10,12,11,9,9,9,9,10,11,11,11,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,5,7,6,9,9,5,6,7,9,9,8,9,9,11,11,8,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,11,12,5,7,7,9,9,7,8,7,10,10,7,8,8,10,10,9,10,9,12,11,9,10,10,12,12,8,9,9,12,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,14,11,11,12,13,14,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,11,13,13,11,12,12,14,14,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,11,12,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,11,12,13,10,11,11,12,13,6,8,8,10,10,8,9,8,11,10,8,9,9,11,11,10,11,10,13,12,10,11,11,13,13,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,12,13,13,14,12,13,13,14,14,9,10,10,12,12,10,11,10,13,12,10,11,11,13,13,11,13,12,14,13,12,13,13,14,14,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,12,12,7,8,8,10,10,8,9,9,11,11,8,8,9,10,11,10,11,11,13,13,10,10,11,12,13,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,11,13,13,10,11,11,13,12,9,10,10,12,12,10,11,11,13,13,10,10,11,12,13,12,13,13,14,14,12,12,13,13,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,15,14,12,13,13,14,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,12,12,12,14,13,11,12,12,14,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,14,15,12,13,13,14,15,9,10,10,12,12,10,11,10,13,12,10,11,11,13,13,12,13,12,15,14,12,13,13,14,15,11,12,12,14,14,12,13,13,14,14,12,13,13,15,14,14,14,14,14,16,14,14,15,16,16,11],"i8",N3,F.GLOBAL_BASE+124340),E3([12,12,14,14,11,12,12,14,14,12,13,13,14,15,13,14,13,16,14,14,14,14,16,16,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,14,14,9,10,10,12,12,10,11,11,13,13,10,10,11,12,13,12,13,13,15,14,12,12,13,13,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,14,14,12,13,13,15,14,11,12,12,14,13,12,13,13,15,14,11,12,12,13,14,14,15,14,16,15,13,13,14,13,16,11,12,12,14,14,12,13,13,14,15,12,13,12,15,14,14,14,14,16,15,14,15,13,16,14,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,7,5,7,7,5,7,7,8,9,9,7,9,9,5,7,7,7,9,9,8,9,9,5,7,7,7,9,9,7,9,9,7,9,9,9,10,11,9,11,10,7,9,9,9,11,10,9,10,11,5,7,7,7,9,9,7,9,9,7,9,9,9,11,10,9,10,10,8,9,9,9,11,11,9,11,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,6,14,18,18,17,17,17,17,17,17,4,7,9,9,10,13,15,17,17,17,6,7,5,6,8,11,16,17,16,17,5,7,5,4,6,10,14,17,17,17,6,6,6,5,7,10,13,16,17,17,7,6,7,7,7,8,7,10,15,16,12,9,9,6,6,5,3,5,11,15,14,14,13,5,5,7,3,4,8,15,17,17,13,7,7,10,6,6,10,15,17,17,16,10,11,14,10,10,15,17,0,0,0,0,2,0,0,0,100,0,0,0,192,30,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,16,2,0,0,0,0,0,0,0,0,0,0,0,0,0,224,16,2,0,0,0,0,0,0,0,0,0,0,0,0,0,8,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0,48,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0,88,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0,128,17,2,0,0,0,0,0,168,17,2,0,208,17,2,0,0,0,0,0,0,0,0,0,248,17,2,0,32,18,2,0,0,0,0,0,0,0,0,0,72,18,2,0,112,18,2,0,152,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,80,16,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,14,13,15,14,16,13,13,14,5,5,7,7,8,9,11,10,12,15,10,6,5,6,6,9,10,10,13,16,10,6,6,6,6,8,9,9,12,15,14,7,6,6,5,6,6,8,12,15,10,8,7,7,6,7,7,7,11,13,14,10,9,8,5,6,4,5,9,12,10,9,9,8,6,6,5,3,6,11,12,11,12,12,10,9,8,5,5,8,10,11,15,13,13,13,12,8,6,7,0,0,0,0,4,0,0,0,81,0,0,0,88,30,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,176,30,2,0,0,0,0,0,4,0,0,0,81,0,0,0,240,29,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,72,30,2,0,0,0,0,0,4,0,0,0,113,2,0,0,96,27,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,29,2,0,0,0,0,0,4,0,0,0,113,2,0,0,208,24,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,27,2,0,0,0,0,0,2,0,0,0,81,0,0,0,80,24,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,168,24,2,0,0,0,0,0,2,0,0,0,81,0,0,0,208,23,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,40,24,2,0,0,0,0,0,4,0,0,0,81,0,0,0,104,23,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,192,23,2,0,0,0,0,0,2,0,0,0,121,0,0,0,184,22,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,56,23,2,0,0,0,0,0,2,0,0,0,121,0,0,0,8,22,2,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,136,22,2,0,0,0,0,0,2,0,0,0,121,0,0,0,88,21,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,216,21,2,0,0,0,0,0,2,0,0,0,121,0,0,0,168,20,2,0,1,0,0,0,0,226,120,225,0,232,51,97,4,0,0,0,0,0,0,0,40,21,2,0,0,0,0,0,2,0,0,0,169,0,0,0,192,19,2,0,1,0,0,0,0,96,18,225,0,128,184,96,4,0,0,0,0,0,0,0,112,20,2,0,0,0,0,0,1,0,0,0,49,0,0,0,192,18,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,248,18,2,0,0,0,0,0,2,4,4,4,4,5,5,5,5,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,6,5,8,6,9,8,10,9,11,10,4,6,6,8,8,9,9,11,10,11,11,11,11,4,6,6,8,8,10,9,11,11,11,11,11,12,6,8,8,10,10,11,11,12,12,13,12,13,13,6,8,8,10,10,11,11,12,12,12,13,14,13,8,10,10,11,11,12,13,14,14,14,14,15,15,8,10,10,11,12,12,13,13,14,14,14,14,15,9,11,11,13,13,14,14,15,14,16,15,17,15,9,11,11,12,13,14,14,15,14,15,15,15,16,10,12,12,13,14,15,15,15,15,16,17,16,17,10,13,12,13,14,14,16,16,16,16,15,16,17,11,13,13,14,15,14,17,15,16,17,17,17,17,11,13,13,14,15,15,15,15,17,17,16,17,16,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,10,10,10,10,10,10,10,10,4,10,10,10,10,10,10,10,10,10,10,4,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,7,7,5,6,6,7,7,7,7,7,7,7,7,5,6,6,6,7,7,7,7,7,7,7,6,7,7,7,7,7,7,7,7,8,8,6,7,7,7,7,7,7,7,7,8,8,7,7,7,7,7,8,7,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,10,11,11,4,6,6,7,7,9,9,11,10,12,12,5,6,5,7,7,9,9,10,11,12,12,6,7,7,8,8,10,10,11,11,13,13,6,7,7,8,8,10,10,11,12,13,13,8,9,9,10,10,11,11,12,12,14,14,8,9,9,10,10,11,11,12,12,14,14,10,10,10,11,11,13,12,14,14,15,15,10,10,10,12,12,13,13,14,14,15,15,11,12,12,13,13,14,14,15,14,16,15,11,12,12,13,13,14,14,15,15,15,16,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,3,4,4,6,6,7,7,8,8,8,8,4,5,5,6,6,8,7,8,8,8,8,4,5,5,6,6,7,8,8,8,8,8,6,7,6,7,7,8,8,9,9,9,9,6,6,7,7,7,8,8,9,9,9,9,7,8,7,8,8,9,9,9,9,9,9,7,7,8,8,8,9,9,9,9,9,9,8,8,8,9,9,9,9,10,9,9,9,8,8,8,9,9,9,9,9,9,9,10,8,8,8,9,9,9,9,10,9,10,10,8,8,8,9,9,9,9,9,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,9,8,8,9,9,7,10,10,5,8,9,7,9,10,8,9,9,4,9,9,9,11,10,8,10,10,7,11,10,10,10,12,10,12,12,7,10,10,10,12,11,10,12,12,5,9,9,8,10,10,9,11,11,7,11,10,10,12,12,10,11,12,7,10,11,10,12,12,10,12,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,9,9,4,5,4,6,6,8,7,9,9,4,4,5,6,6,7,7,9,9,5,6,6,7,7,8,8,10,10,5,6,6,7,7,8,8,10,10,7,8,7,8,8,10,9,11,11,7,7,8,8,8,9,10,11,11,9,9,9,10,10,11,10,12,11,9,9,9,10,10,11,11,11,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,7,8,10,10,4,5,5,8,7,8,8,11,11,3,5,5,7,7,8,9,11,11,6,8,7,9,9,10,10,12,12,6,7,8,9,10,10,10,12,12,8,8,8,10,10,12,11,13,13,8,8,9,10,10,11,11,13,13,10,11,11,12,12,13,13,14,14,10,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,6,7,6,9,9,6,6,7,9,9,8,9,9,11,11,8,9,9,10,11,6,7,7,9,9,7,8,8,10,10,6,7,8,9,10,9,10,10,12,12,9,9,10,11,12,6,7,7,9,9,6,8,7,10,9,7,8,8,10,10,9,10,9,12,11,9,10,10,12,11,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,13,14,11,11,12,13,13,8,9,9,11,11,9,10,10,12,11,9,10,10,12,12,11,12,11,13,13,11,12,12,13,13,6,7,7,9,9,7,8,7,10,10,7,7,8,10,10,9,10,10,12,11,9,10,10,12,12,7,8,8,10,10,8,8,9,11,11,8,9,9,11,11,10,11,11,12,12,10,10,11,12,13,6,7,7,10,10,7,9,8,11,10,8,8,9,10,11,10,11,10,13,11,10,11,11,12,12,9,10,10,12,12,10,10,11,13,13,10,11,11,13,12,12,12,13,13,14,12,12,13,14,14,9,10,10,12,12,9,10,10,12,12,10,11,11,13,13,11,12,11,14,12,12,13,13,14,14,6,7,7,9,9,7,8,7,10,10,7,7,8,10,10,9,10,10,12,11,9,10,10,11,12,6,7,7,10,10,8,9,8,11,10,7,8,9,10,11,10,11,11,13,12,10,10,11,11,13,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,10,13,12,10,11,11,12,12,9,10,10,12,12,10,11,11,13,12,9,10,10,12,13,12,13,12,14,14,11,11,12,12,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,12,14,14,12,13,12,14,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,13,13,9,10,10,12,12,10,11,11,13,13,10,11,11,13,12,12,13,13,14,14,12,12,13,14,14,9,10,10,12,12,9,11,10,13,12,10,10,11,12,13,11,13,12,14,13,12,12,13,14,14,11,12,12,13,13,11,12,13,14,14,12,13,13,14,14,13,13,14,14,16,13,14,14,16,16,11,11,11,13,13,11,12,11,14,13,12,12,13,14,15,13,14,12,16,13,14,14,14,15,16,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,13,14,9,10,10,12,12,10,11,10,13,12,9,10,11,12,13,12,13,12,14,14,12,12,13,13,14,9,10,10,12,12,10,11,11,12,13,10,11,11,13,13,12,13,12,14,14,12,13,13,14,14,11,12,12,13,13,12,13,12,14,14,11,11,12,13,14,13,15,14,16,15,13,12,14,13,16,11,12,12,13,13,12,13,13,14,14,12,12,12,14,14,13,14,14,15,15,13,14,13,16,14,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,4,8,8,5,7,6,9,9,5,6,7,9,9,8,9,9,13,12,8,9,10,12,13,5,7,7,10,9,7,9,9,11,11,6,8,9,11,11,10,11,11,14,14,9,10,11,13,14,5,7,7,9,9,7,9,8,11,11,7,9,9,11,11,9,11,10,14,13,10,11,11,14,14,8,10,10,14,13,10,11,12,15,14,9,11,11,15,14,13,14,14,16,16,12,13,14,17,16,8,10,10,13,13,9,11,11,14,15,10,11,12,14,15,12,14,13,16,16,13,14,15,15,17,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,12,11,15,14,10,11,12,14,14,7,9,9,12,12,9,11,11,13,13,9,11,11,13,13,11,13,13,14,17,11,13,13,15,16,6,9,9,11,11,8,11,10,13,12,9,11,11,13,13,11,13,12,16,14,11,13,13,16,16,10,12,12,15,15,11,13,13,16,16,11,13,13,16,15,14,16,17,17,19,14,16,16,18,0,9,11,11,14,15,10,13,12,16,15,11,13,13,16,16,14,15,14,0,16,14,16,16,18,0,5,7,7,10,10,7,9,9,12,11,7,9,9,11,12,10,11,11,15,14,10,11,12,14,14,6,9,9,11,11,9,11,11,13,13,8,10,11,12,13,11,13,13,17,15,11,12,13,14,15,7,9,9,11,12,9,11,11,13,13,9,11,11,13,13,11,13,12,16,16,11,13,13,15,14,9,11,11,14,15,11,13,13,16,15,10,12,13,16,16,15,16,16,0,0,14,13,15,16,18,10,11,11,15,15,11,13,14,16,18,11,13,13,16,15,15,16,16,19,0,14,15,15,16,16,8,10,10,13,13,10,12,11,16,15,10,11,11,16,15,13,15,16,18,0,13,14,15,17,17,9,11,11,15,15,11,13,13,16,18,11,13,13,16,17,15,16,16,0,0,15,18,16,0,17,9,11,11,15,15,11,13,12,17,15,11,13,14,16,17,15,18,15,0,17,15,16,16,18,19,13,15,14,0,18,14,16,16,19,18,14,16,15,19,19,16,18,19,0,0,16,17,0,0,0,12,14,14,17,17,13,16,14,0,18,14,16,15,18,0,16,18,16,19,17,18,19,17,0,0,8,10,10,14,14,9,12,11,15,15,10,11,12,15,17,13,15,15,18,16,14,16,15,18,17,9,11,11,16,15,11,13,13,0,16,11,12,13,16,15,15,16,16,0,17,15,15,16,18,17,9,12,11,15,17,11,13,13,16,16,11,14,13,16,16,15,15,16,18,19,16,18,16,0,0,12,14,14,0,16,14,16,16,0,18,13,14,15,16,0,17,16,18,0,0,16,16,17,19,0,13,14,14,17,0,14,17,16,0,19,14,15,15,18,19,17,16,18,0,0,15,19,16,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,5,6,6,5,6,6,5,6,6,6,8,8,6,7,8,5,6,6,6,8,7,6,8,8,5,6,6,6,8,7,6,8,8,6,8,8,8,9,9,8,9,9,6,8,7,7,9,8,8,9,9,5,6,6,6,8,7,6,8,8,6,8,8,8,9,9,7,8,9,6,8,8,8,9,9,8,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,4,7,7,5,7,7,5,8,8,8,10,10,7,10,10,5,8,8,7,10,10,8,10,10,5,8,8,8,11,10,8,10,10,8,10,10,10,12,13,10,13,13,7,10,10,10,13,12,10,13,13,5,8,8,8,11,10,8,10,11,7,10,10,10,13,13,10,12,13,8,11,11,10,13,13,10,13,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,12,17,16,16,17,17,17,17,17,4,7,11,11,12,9,17,10,17,17,7,7,8,9,7,9,11,10,15,17,7,9,10,11,10,12,14,12,16,17,7,8,5,7,4,7,7,8,16,16,6,10,9,10,7,10,11,11,16,17,6,8,8,9,5,7,5,8,16,17,5,5,8,7,6,7,7,6,6,14,12,10,12,11,7,11,4,4,2,7,17,15,15,15,8,15,6,8,5,9,0,0,0,0,2,0,0,0,100,0,0,0,208,47,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,200,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,240,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,24,33,2,0,0,0,0,0,0,0,0,0,0,0,0,0,64,33,2,0,0,0,0,0,0,0,0,0,0,0,0,0,104,33,2,0,0,0,0,0,144,33,2,0,184,33,2,0,0,0,0,0,0,0,0,0,224,33,2,0,8,34,2,0,0,0,0,0,0,0,0,0,48,34,2,0,88,34,2,0,128,34,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,56,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,14,13,14,13,16,12,13,14,5,4,6,6,8,9,11,10,12,15,10,5,5,6,6,8,10,10,13,16,10,6,6,6,6,8,9,9,12,14,13,7,6,6,4,6,6,7,11,14,10,7,7,7,6,6,6,7,10,13,15,10,9,8,5,6,5,6,10,14,10,9,8,8,6,6,5,4,6,11,11,11,12,11,10,9,9,5,5,9,10,12,15,13,13,13,13,8,7,7,0,0,0,0,4,0,0,0,81,0,0,0,104,47,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,192,47,2,0,0,0,0,0,4,0,0,0,81,0,0,0,0,47,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,88,47,2,0,0,0,0,0,4,0,0,0,113,2,0,0,112,44,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,46,2,0,0,0,0,0,4,0,0,0,113,2,0,0,224,41,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,44,2,0,0,0,0,0,2,0,0,0,81,0,0,0,96,41,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,184,41,2,0,0,0,0,0,2,0,0,0,81,0,0,0,224,40,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,56,41,2,0,0,0,0,0,4,0,0,0,81,0,0,0,120,40,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,208,40,2,0,0,0,0,0,2,0,0,0,121,0,0,0,200,39,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,72,40,2,0,0,0,0,0,2,0,0,0,121,0,0,0,24,39,2,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,152,39,2,0,0,0,0,0,2,0,0,0,121,0,0,0,104,38,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,232,38,2,0,0,0,0,0,2,0,0,0,225,0,0,0,64,37,2,0,1,0,0,0,0,228,91,225,0,224,255,96,4,0,0,0,0,0,0,0,40,38,2,0,0,0,0,0,2,0,0,0,225,0,0,0,24,36,2,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,0,37,2,0,0,0,0,0,2,0,0,0,33,1,0,0,168,34,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,208,35,2,0,0,0,0,0,3,5,5,7,7,8,8,8,8,8,8,9,8,8,9,9,9,5,6,6,7,7,8,8,8,8,8,8,9,9,9,9,9,9,5,6,6,7,7,8,8,8,8,8,8,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,9,9,9,9,9,9,9,9,9,9,9,10,9,9,9,10,9,9,9,9,9,9,9,9,9,9,10,9,9,9,10,9,9,10,9,9,9,9,9,9,9,9,9,10,10,10,9,10,9,10,10,9,9,9,9,9,9,9,9,9,10,10,9,10,10,9,9,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,7,7,8,9,8,8,9,8,9,8,9,9,4,7,6,8,8,9,9,9,9,9,9,9,9,9,9,4,7,6,9,9,10,10,9,9,10,10,10,10,11,11,7,9,8,10,10,11,11,10,10,11,11,11,11,11,11,7,8,9,10,10,11,11,10,10,11,11,11,11,11,12,8,10,10,11,11,12,12,11,11,12,12,12,12,13,12,8,10,10,11,11,12,11,11,11,11,12,12,12,12,13,8,9,9,11,10,11,11,12,12,12,12,13,12,13,12,8,9,9,11,11,11,11,12,12,12,12,12,13,13,13,9,10,10,11,12,12,12,12,12,13,13,13,13,13,13,9,10,10,11,11,12,12,12,12,13,13,13,13,14,13,10,10,10,12,11,12,12,13,13,13,13,13,13,13,13,10,10,11,11,11,12,12,13,13,13,13,13,13,13,13,10,11,11,12,12,13,12,12,13,13,13,13,13,13,14,10,11,11,12,12,13,12,13,13,13,14,13,13,14,13,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,2,9,8,15,15,15,15,15,15,15,15,15,15,4,8,9,13,14,14,14,14,14,14,14,14,14,14,14,5,8,9,14,14,14,14,14,14,14,14,14,14,14,14,11,14,14,14,14,14,14,14,14,14,14,14,14,14,14,11,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,3,5,5,6,6,7,7,7,7,7,7,5,6,5,7,7,7,7,8,7,8,8,5,5,6,6,7,7,7,7,7,8,8,6,7,7,7,7,8,7,8,8,8,8,6,6,7,7,7,7,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,7,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,10,10,4,6,6,7,7,9,9,10,10,11,11,4,6,6,7,7,9,9,10,10,11,11,6,8,8,9,9,10,10,11,11,12,12,6,8,8,9,9,10,10,11,11,12,12,8,9,9,10,10,11,11,12,12,13,13,8,9,9,10,10,11,11,12,12,13,13,10,10,10,11,11,13,13,13,13,15,14,9,10,10,12,11,12,13,13,13,14,15,11,12,12,13,13,13,13,15,14,15,15,11,11,12,13,13,14,14,14,15,15,15,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,3,4,4,6,6,7,7,8,8,8,8,4,5,5,7,6,8,8,8,8,8,8,4,5,5,6,7,8,8,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,7,8,8,8,8,8,8,9,9,9,9,7,8,8,8,8,8,8,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,9,8,7,10,10,8,10,10,5,8,9,7,10,10,7,10,9,4,8,8,9,11,11,8,11,11,7,11,11,10,10,13,10,13,13,7,11,11,10,13,12,10,13,13,5,9,8,8,11,11,9,11,11,7,11,11,10,13,13,10,12,13,7,11,11,10,13,13,9,13,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,9,9,4,5,4,6,6,7,7,9,9,4,4,5,6,6,7,8,9,9,5,6,6,7,7,8,8,10,10,5,6,6,7,7,8,8,10,10,7,8,7,8,8,10,9,11,11,7,7,8,8,8,9,10,10,11,9,9,9,10,10,11,11,12,11,9,9,9,10,10,11,11,11,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,8,8,10,10,4,5,5,8,7,8,8,11,11,3,5,5,7,8,8,8,11,11,6,8,7,9,9,10,9,12,11,6,7,8,9,9,9,10,11,12,8,8,8,10,9,12,11,13,13,8,8,9,9,10,11,12,13,13,10,11,11,12,12,13,13,14,14,10,10,11,11,12,13,13,14,14,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,6,7,6,9,9,6,6,7,9,9,8,9,9,11,11,8,9,9,11,11,6,7,7,9,9,7,8,8,10,10,7,7,8,9,10,9,10,10,11,11,9,9,10,11,12,6,7,7,9,9,7,8,7,10,9,7,8,8,10,10,9,10,9,12,11,9,10,10,12,11,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,11,12,13,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,11,13,12,11,12,12,13,13,5,7,7,9,9,7,8,7,10,10,7,7,8,10,10,9,10,10,12,11,9,10,10,11,12,7,8,8,10,10,8,8,9,11,11,8,9,9,11,11,10,10,11,12,13,10,10,11,12,12,6,7,7,10,10,7,9,8,11,10,8,8,9,10,11,10,11,10,13,11,10,11,11,12,12,9,10,10,12,12,10,10,11,13,13,10,11,11,12,13,12,12,12,13,14,12,12,13,14,14,9,10,10,12,12,9,10,10,13,12,10,11,11,13,13,11,12,11,14,12,12,13,13,14,14,6,7,7,9,9,7,8,7,10,10,7,8,8,10,10,9,10,10,12,11,9,10,10,11,12,6,7,7,10,10,8,9,8,11,10,7,8,9,10,11,10,11,11,12,12,10,10,11,11,13,7,8,8,10,10,8,9,9,11,11,8,9,8,11,11,10,11,10,13,12,10,11,11,13,12,9,10,10,12,12,10,11,11,13,12,9,10,10,12,13,12,13,12,14,14,11,11,12,12,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,12,12,14,14,12,13,12,14,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,13,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,12,13,14,15,12,12,13,14,14,9,10,10,12,12,9,11,10,13,12,10,10,11,12,13,12,13,12,14,13,12,12,13,14,15,11,12,12,14,13,11,12,12,14,14,12,13,13,14,14,13,13,14,14,16,13,14,14,15,15,11,12,11,13,13,11,12,11,14,13,12,12,13,14,15,12,14,12,15,12,13,14,15,15,16,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,13,13,9,10,10,12,12,10,11,10,13,12,9,10,11,12,13,12,13,12,14,14,12,12,13,13,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,12,14,14,12,13,13,14,14,11,11,11,13,13,12,13,12,14,14,11,11,12,13,14,14,14,14,16,15,12,12,14,12,15,11,12,12,13,14,12,13,13,14,15,11,12,12,14,14,13,14,14,16,16,13,14,13,16,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,4,8,8,5,7,6,9,9,5,6,7,9,9,8,9,9,13,12,8,9,10,12,13,5,7,7,10,9,7,9,9,11,11,7,8,9,11,11,10,11,11,14,14,9,10,11,13,14,5,7,7,9,10,6,9,8,11,11,7,9,9,11,11,9,11,10,14,13,10,11,11,14,13,8,10,10,13,13,10,11,11,15,15,9,11,11,14,14,13,14,14,17,16,12,13,14,16,16,8,10,10,13,14,9,11,11,14,15,10,11,12,14,15,12,14,13,16,15,13,14,14,15,17,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,12,11,14,14,10,11,11,14,14,7,9,9,12,11,9,11,11,13,13,9,11,11,13,13,11,13,13,14,15,11,12,13,15,16,6,9,9,11,12,8,11,10,13,12,9,11,11,13,14,11,13,12,16,14,11,13,13,15,16,10,12,11,14,15,11,13,13,15,17,11,13,13,17,16,15,15,16,17,16,14,15,16,18,0,9,11,11,14,15,10,12,12,16,15,11,13,13,16,16,13,15,14,18,15,14,16,16,0,0,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,11,11,14,14,10,11,12,14,14,6,9,9,11,11,9,11,11,13,13,8,10,11,12,13,11,13,13,16,15,11,12,13,14,16,7,9,9,11,12,9,11,11,13,13,9,11,11,13,13,11,13,13,16,15,11,13,12,15,15,9,11,11,15,14,11,13,13,17,16,10,12,13,15,16,14,16,16,0,18,14,14,15,15,17,10,11,12,15,15,11,13,13,16,16,11,13,13,16,16,14,16,16,19,17,14,15,15,17,17,8,10,10,14,14,10,12,11,15,15,10,11,12,16,15,14,15,15,18,20,13,14,16,17,18,9,11,11,15,16,11,13,13,17,17,11,13,13,17,16,15,16,16,0,0,15,16,16,0,0,9,11,11,15,15,10,13,12,17,15,11,13,13,17,16,15,17,15,20,19,15,16,16,19,0,13,15,14,0,17,14,15,16,0,20,15,16,16,0,19,17,18,0,0,0,16,17,18,0,0,12,14,14,19,18,13,15,14,0,17,14,15,16,19,19,16,18,16,0,19,19,20,17,20,0,8,10,10,13,14,10,11,11,15,15,10,12,12,15,16,14,15,14,19,16,14,15,15,0,18,9,11,11,16,15,11,13,13,0,16,11,12,13,16,17,14,16,17,0,19,15,16,16,18,0,9,11,11,15,16,11,13,13,16,16,11,14,13,18,17,15,16,16,18,20,15,17,19,0,0,12,14,14,17,17,14,16,15,0,0,13,14,15,19,0,16,18,20,0,0,16,16,18,18,0,12,14,14,17,20,14,16,16,19,0,14,16,14,0,20,16,20,17,0,0,17,0,15,0,19,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,5,6,6,5,6,6,5,6,6,6,8,8,6,7,8,5,6,6,6,8,7,6,8,8,5,6,6,6,8,8,6,8,8,6,8,8,8,9,9,8,9,9,6,7,7,7,9,8,8,9,9,5,6,6,6,8,7,6,8,8,6,8,8,8,9,9,7,8,9,6,8,8,8,9,9,8,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,4,8,7,5,7,7,5,8,8,8,10,10,7,9,10,5,8,8,7,10,9,8,10,10,5,8,8,8,10,10,8,10,10,8,10,10,10,12,13,10,13,13,7,10,10,10,13,11,10,13,13,5,8,8,8,11,10,8,10,10,7,10,10,10,13,13,10,11,13,8,10,11,10,13,13,10,13,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,11,16,13,17,13,17,16,17,17,4,7,9,9,13,10,16,12,16,17,7,6,5,7,8,9,12,12,16,17,6,9,7,9,10,10,15,15,17,17,6,7,5,7,5,7,7,10,16,17,7,9,8,9,8,10,11,11,15,17,7,7,7,8,5,8,8,9,15,17,8,7,9,9,7,8,7,2,7,15,14,13,13,15,5,10,4,3,6,17,17,15,13,17,7,11,7,6,9,16,0,0,0,0,2,0,0,0,100,0,0,0,160,64,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,49,2,0,0,0,0,0,0,0,0,0,0,0,0,0,216,49,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,2,0,0,0,0,0,0,0,0,0,0,0,0,0,40,50,2,0,0,0,0,0,0,0,0,0,0,0,0,0,80,50,2,0,0,0,0,0,0,0,0,0,0,0,0,0,120,50,2,0,0,0,0,0,160,50,2,0,200,50,2,0,0,0,0,0,0,0,0,0,240,50,2,0,24,51,2,0,0,0,0,0,0,0,0,0,64,51,2,0,104,51,2,0,144,51,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,72,49,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,13,12,14,12,16,11,13,14,5,4,5,6,7,8,10,9,12,15,10,5,5,5,6,8,9,9,13,15,10,5,5,6,6,7,8,8,11,13,12,7,5,6,4,6,7,7,11,14,11,7,7,6,6,6,7,6,10,14,14,9,8,8,6,7,7,7,11,16,11,8,8,7,6,6,7,4,7,12,10,10,12,10,10,9,10,5,6,9,10,12,15,13,14,14,14,8,7,8,0,0,0,0,4,0,0,0,81,0,0,0,56,64,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,144,64,2,0,0,0,0,0,4,0,0,0,81,0,0,0,208,63,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,40,64,2,0,0,0,0,0,4,0,0,0,113,2,0,0,64,61,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,184,63,2,0,0,0,0,0,4,0,0,0,113,2,0,0,176,58,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,40,61,2,0,0,0,0,0,2,0,0,0,81,0,0,0,48,58,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,136,58,2,0,0,0,0,0,2,0,0,0,81,0,0,0,176,57,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,8,58,2,0,0,0,0,0,4,0,0,0,81,0,0,0,72,57,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,160,57,2,0,0,0,0,0,2,0,0,0,121,0,0,0,152,56,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,24,57,2,0,0,0,0,0,2,0,0,0,121,0,0,0,232,55,2,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,104,56,2,0,0,0,0,0,2,0,0,0,121,0,0,0,56,55,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,184,55,2,0,0,0,0,0,2,0,0,0,169,0,0,0,80,54,2,0,1,0,0,0,0,232,87,225,0,224,255,96,4,0,0,0,0,0,0,0,0,55,2,0,0,0,0,0,2,0,0,0,225,0,0,0,40,53,2,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,16,54,2,0,0,0,0,0,2,0,0,0,33,1,0,0,184,51,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,52,2,0,0,0,0,0,2,5,5,7,7,8,8,8,8,8,8,9,9,9,9,9,9,5,6,6,7,7,8,8,9,8,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,9,8,9,9,9,9,9,9,9,9,7,7,7,8,8,9,8,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,9,8,9,9,9,9,9,9,9,9,9,9,8,8,8,8,9,9,9,9,9,9,9,9,10,9,10,10,10,8,8,8,9,8,9,9,9,9,9,9,9,10,9,10,9,10,8,9,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,8,9,9,9,9,9,9,10,9,10,9,10,10,10,10,10,10,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,9,10,9,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,10,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,7,8,7,9,8,9,9,4,7,6,9,8,10,10,9,8,9,9,9,9,9,8,5,6,6,8,9,10,10,9,9,9,10,10,10,10,11,7,8,8,10,10,11,11,10,10,11,11,11,12,11,11,7,8,8,10,10,11,11,10,10,11,11,12,11,11,11,8,9,9,11,11,12,12,11,11,12,11,12,12,12,12,8,9,10,11,11,12,12,11,11,12,12,12,12,12,12,8,9,9,10,10,12,11,12,12,12,12,12,12,12,13,8,9,9,11,11,11,11,12,12,12,12,13,12,13,13,9,10,10,11,11,12,12,12,13,12,13,13,13],"i8",N3,F.GLOBAL_BASE+134580),E3([14,13,9,10,10,11,11,12,12,12,13,13,12,13,13,14,13,9,11,10,12,11,13,12,12,13,13,13,13,13,13,14,9,10,10,12,12,12,12,12,13,13,13,13,13,14,14,10,11,11,12,12,12,13,13,13,14,14,13,14,14,14,10,11,11,12,12,12,12,13,12,13,14,13,14,14,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,2,12,10,13,13,13,13,13,13,13,13,4,9,9,13,13,13,13,13,13,13,13,13,13,5,10,9,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,6,6,7,7,7,7,7,7,5,6,5,7,6,7,7,8,8,8,8,5,5,5,6,6,7,7,8,8,8,8,6,7,6,7,7,8,8,8,8,8,8,6,6,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,10,10,4,6,6,7,7,9,9,10,10,11,11,4,6,6,7,7,9,9,10,10,11,11,6,8,7,9,9,10,10,11,11,13,12,6,8,8,9,9,10,10,11,11,12,13,8,9,9,10,10,12,12,13,12,14,13,8,9,9,10,10,12,12,13,13,14,14,9,11,11,12,12,13,13,14,14,15,14,9,11,11,12,12,13,13,14,14,15,14,11,12,12,13,13,14,14,15,14,15,14,11,11,12,13,13,14,14,14,14,15,15,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,4,5,5,7,7,8,8,9,8,8,9,4,5,5,7,7,8,8,9,9,8,9,6,7,7,8,8,9,8,9,9,9,9,6,7,7,8,8,9,9,9,9,9,9,7,8,8,9,9,9,9,9,9,9,9,7,8,8,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,9,9,8,11,10,7,11,10,5,9,9,7,10,10,8,10,11,4,9,9,9,12,12,9,12,12,8,12,12,11,12,12,10,12,13,7,12,12,11,12,12,10,12,13,4,9,9,9,12,12,9,12,12,7,12,11,10,13,13,11,12,12,7,12,12,10,13,13,11,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,9,9,4,5,4,6,6,7,7,9,9,4,4,5,6,6,7,7,9,9,5,6,6,7,7,8,8,10,10,6,6,6,7,7,8,8,10,10,7,7,7,8,8,9,9,11,10,7,7,7,8,8,9,9,10,11,9,9,9,10,10,11,10,11,11,9,9,9,10,10,11,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,8,8,10,10,4,5,5,8,7,8,8,11,10,3,5,5,7,8,8,8,10,11,6,8,7,10,9,10,10,11,11,6,7,8,9,9,9,10,11,12,8,8,8,10,10,11,11,13,12,8,8,9,9,10,11,11,12,13,10,11,10,12,11,13,12,14,14,10,10,11,11,12,12,13,14,14,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,6,7,6,9,9,6,6,7,9,9,8,9,9,11,11,8,9,9,11,11,6,7,7,9,9,7,8,8,10,10,6,7,8,9,10,9,10,10,11,12,9,9,10,11,12,6,7,7,9,9,6,8,7,10,9,7,8,8,10,10,9,10,9,12,11,9,10,10,12,11,8,9,9,12,11,9,10,10,12,12,9,10,10,12,12,11,12,12,13,14,11,11,12,13,14,8,9,9,11,12,9,10,10,12,12,9,10,10,12,12,11,12,11,14,13,11,12,12,13,13,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,12,12,7,8,8,10,10,8,8,9,10,11,8,9,9,11,11,10,10,11,11,13,10,11,11,12,13,6,7,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,13,11,10,11,11,12,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,11,13,12,15,12,13,13,14,15,9,10,10,12,12,9,11,10,13,12,10,11,11,13,13,11,13,11,14,12,12,13,13,14,15,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,12,12,6,8,7,10,10,8,9,9,11,11,7,8,9,10,11,10,11,11,12,12,10,10,11,11,13,7,8,8,10,10,8,9,9,11,11,8,9,8,11,10,10,11,11,13,12,10,11,10,13,11,9,10,10,12,12,10,11,11,13,12,9,10,10,12,13,12,13,13,14,15,11,11,13,12,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,13,13,14,14,12,13,11,14,12,8,9,9,12,12,9,10,10,12,12,9,10,10,12,12,12,12,12,14,14,11,12,12,14,13,9,10,10,12,12,10,11,11,13,13,10,11,11,13,12,12,12,13,14,15,12,13,13,15,14,9,10,10,12,12,10,11,10,13,12,10,11,11,12,13,12,13,12,15,13,12,13,13,14,15,11,12,12,14,13,11,12,12,14,15,12,13,13,15,14,13,12,14,12,16,13,14,14,15,15,11,11,12,14,14,11,12,11,14,13,12,13,13,14,15,13,14,12,16,12,14,14,15,16,16,8,9,9,11,12,9,10,10,12,12,9,10,10,12,13,11,12,12,13,13,12,12,13,14,14,9,10,10,12,12,10,11,10,13,12,10,10,11,12,13,12,13,13,15,14,12,12,13,13,15,9,10,10,12,13,10,11,11,12,13,10,11,11,13,13,12,13,13,14,15,12,13,12,15,14,11,12,11,14,13,12,13,13,15,14,11,11,12,13,14,14,15,14,16,15,13,12,14,13,16,11,12,12,13,14,12,13,13,14,15,11,12,11,14,14,14,14,14,15,16,13,15,12,16,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,5,8,8,5,7,6,9,9,5,6,7,9,9,8,10,9,13,12,8,9,10,12,12,5,7,7,10,10,7,9,9,11,11,6,8,9,11,11,10,11,11,14,14,9,10,11,13,14,5,7,7,9,10,7,9,8,11,11,7,9,9,11,11,9,11,10,14,13,10,11,11,14,14,8,10,10,13,13,10,11,11,15,14,9,11,11,14,14,13,14,14,17,16,12,13,13,15,16,8,10,10,13,13,9,11,11,14,15,10,11,11,14,15,12,14,13,16,16,13,15,14,15,17,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,11,11,14,14,10,11,12,14,14,7,9,9,12,11,9,11,11,13,13,9,11,11,13,13,12,13,13,15,16,11,12,13,15,16,6,9,9,11,11,8,11,10,13,12,9,11,11,13,14,11,13,12,16,14,11,13,13,16,17,10,12,11,15,15,11,13,13,16,16,11,13,13,17,16,14,15,15,17,17,14,16,16,17,18,9,11,11,14,15,10,12,12,15,15,11,13,13,16,17,13,15,13,17,15,14,15,16,18,0,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,11,11,14,14,10,11,12,14,15,6,9,9,12,11,9,11,11,13,13,8,10,11,12,13,11,13,13,16,15,11,12,13,14,15,7,9,9,11,12,9,11,11,13,13,9,11,11,13,13,11,13,13,15,16,11,13,13,15,14,9,11,11,15,14,11,13,13,17,15,10,12,12,15,15,14,16,16,17,17,13,13,15,15,17,10,11,12,15,15,11,13,13,16,16,11,13,13,15,15,14,15,15,18,18,14,15,15,17,17,8,10,10,13,13,10,12,11,15,15,10,11,12,15,15,14,15,15,18,18,13,14,14,18,18,9,11,11,15,16,11,13,13,17,17,11,13,13,16,16,15,15,16,17,0,14,15,17,0,0,9,11,11,15,15,10,13,12,18,16,11,13,13,15,16,14,16,15,20,20,14,15,16,17,0,13,14,14,20,16,14,15,16,19,18,14,15,15,19,0,18,16,0,20,20,16,18,18,0,0,12,14,14,18,18,13,15,14,18,16,14,15,16,18,20,16,19,16,0,17,17,18,18,19,0,8,10,10,14,14,10,11,11,14,15,10,11,12,15,15,13,15,14,19,17,13,15,15,17,0,9,11,11,16,15,11,13,13,16,16,10,12,13,15,17,14,16,16,18,18,14,15,15,18,0,9,11,11,15,15,11,13,13,16,17,11,13,13,18,17,14,18,16,18,18,15,17,17,18,0,12,14,14,18,18,14,15,15,20,0,13,14,15,17,0,16,18,17,0,0,16,16,0,17,20,12,14,14,18,18,14,16,15,0,18,14,16,15,18,0,16,19,17,0,0,17,18,16,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,5,6,6,5,6,6,5,6,6,6,8,8,6,7,8,5,6,6,6,8,7,6,8,8,5,6,6,6,8,8,6,8,8,6,8,8,8,9,9,8,9,9,6,8,7,7,9,8,8,9,9,5,6,6,6,8,7,6,8,8,6,8,7,8,9,9,7,8,9,6,8,8,8,9,9,8,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,7,5,8,8,8,10,10,7,9,10,5,8,8,7,10,9,8,10,10,5,8,8,8,10,10,8,10,10,8,10,10,10,12,13,10,13,13,7,10,10,10,13,11,10,13,13,4,8,8,8,11,10,8,10,10,7,10,10,10,13,13,10,11,13,8,10,11,10,13,13,10,13,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,10,17,13,17,13,17,17,17,17,3,6,8,9,11,9,15,12,16,17,6,5,5,7,7,8,10,11,17,17,7,8,7,9,9,10,13,13,17,17,8,6,5,7,4,7,5,8,14,17,9,9,8,9,7,9,8,10,16,17,12,10,7,8,4,7,4,7,16,17,12,11,9,10,6,9,5,7,14,17,14,13,10,15,4,8,3,5,14,17,17,14,11,15,6,10,6,8,15,17,0,0,0,0,2,0,0,0,64,0,0,0,248,78,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,128,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,168,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,208,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,248,66,2,0,0,0,0,0,32,67,2,0,72,67,2,0,0,0,0,0,0,0,0,0,112,67,2,0,152,67,2,0,192,67,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,24,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,12,12,13,12,11,13,5,4,6,7,8,8,9,13,9,5,4,5,5,7,9,13,9,6,5,6,6,7,8,12,12,7,5,6,4,5,8,13,11,7,6,6,5,5,6,12,10,8,8,7,7,5,3,8,10,12,13,12,12,9,6,7,4,0,0,0,81,0,0,0,144,78,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,232,78,2,0,0,0,0,0,4,0,0,0,81,0,0,0,40,78,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,128,78,2,0,0,0,0,0,4,0,0,0,113,2,0,0,152,75,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,78,2,0,0,0,0,0,4,0,0,0,113,2,0,0,8,73,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,128,75,2,0,0,0,0,0,2,0,0,0,81,0,0,0,136,72,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,224,72,2,0,0,0,0,0,2,0,0,0,169,0,0,0,160,71,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,80,72,2,0,0,0,0,0,2,0,0,0,25,0,0,0,104,71,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,71,2,0,0,0,0,0,2,0,0,0,169,0,0,0,128,70,2,0,1,0,0,0,0,232,87,225,0,224,255,96,4,0,0,0,0,0,0,0,48,71,2,0,0,0,0,0,2,0,0,0,225,0,0,0,88,69,2,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,64,70,2,0,0,0,0,0,2,0,0,0,33,1,0,0,232,67,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,16,69,2,0,0,0,0,0,2,5,5,7,7,7,7,8,8,8,8,9,9,9,9,9,9,5,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,7,7,7,8,8,8,8,9,9,9,9,10,9,10,9,10,10,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,8,9,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,8,8,8,9,9,9,9,9,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,10,10,10,10,10,10,10,10,11,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,10,10,10,10,10,10,10,10,10,10,11,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,9,8,10,8,10,9,11,11,4,7,6,8,7,9,9,10,10,11,10,11,10,12,10,4,6,7,8,8,9,9,10,10,11,11,11,11,12,12,6,8,8,10,9,11,10,12,11,12,12,12,12,13,13,6,8,8,10,10,10,11,11,11,12,12,13,12,13,13,8,9,9,11,11,12,11,12,12,13,13,13,13,13,13,8,9,9,11,11,11,12,12,12,13,13,13,13,13,13,9,10,10,12,11,13,13,13,13,14,13,13,14,14,14,9,10,11,11,12,12,13,13,13,13,13,14,15,14,14,10,11,11,12,12,13,13,14,14,14,14,14,15,16,16,10,11,11,12,13,13,13,13,15,14,14,15,16,15,16,10,12,12,13,13,14,14,14,15,15,15,15,15,15,16,11,12,12,13,13,14,14,14,15,15,15,16,15,17,16,11,12,12,13,13,13,15,15,14,16,16,16,16,16,17,11,12,12,13,13,14,14,15,14,15,15,17,17,16,16,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,3,12,12,12,12,12,12,12,12,12,12,3,12,11,12,12,12,12,12,12,12,12,12,12,4,11,10,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,6,5,4,5,5,5,6,5,6,5,6,6,5,5,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,11,10,13,13,4,6,5,8,8,9,9,10,10,11,11,14,14,4,6,6,8,8,9,9,10,10,11,11,14,14,6,8,8,9,9,10,10,11,11,12,12,15,15,6,8,8,9,9,10,11,11,11,12,12,15,15,8,9,9,11,10,11,11,12,12,13,13,16,16,8,9,9,10,10,11,11,12,12,13,13,16,16,10,10,10,12,11,12,12,13,13,14,14,16,16,10,10,10,11,12,12,12,13,13,13,14,16,17,11,12,11,12,12,13,13,14,14,15,14,18,17,11,11,12,12,12,13,13,14,14,14,15,19,18,14,15,14,15,15,17,16,17,17,17,17,21,0,14,15,15,16,16,16,16,17,17,18,17,20,21,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,7,7,9,9,4,5,5,7,7,8,8,10,9,4,5,5,7,7,8,8,10,10,6,7,7,8,8,9,9,11,10,6,7,7,8,8,9,9,10,11,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,10,10,11,10,11,11,12,12,9,10,10,10,11,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,5,7,6,9,9,5,6,7,9,9,9,9,9,11,11,8,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,7,8,10,10,9,10,10,11,12,9,10,10,11,12,5,7,7,9,9,7,8,7,10,10,7,8,8,10,10,9,10,10,12,11,9,10,10,12,11,9,10,9,12,12,9,10,10,13,12,9,10,10,12,12,12,12,12,14,14,11,12,12,13,14,9,9,10,12,12,9,10,10,13,13,9,10,10,12,13,11,12,12,14,13,11,12,12,14,14,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,9,10,10,12,12,7,8,8,11,10,8,8,9,11,11,8,9,9,11,11,11,11,11,12,13,10,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,13,11,10,11,11,13,13,9,11,10,13,12,10,11,11,13,14,10,11,11,14,13,12,12,13,12,15,12,13,13,15,15,9,10,10,12,13,10,11,10,13,12,10,11,11,13,14,12,13,11,15,13,13,13,13,15,15,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,10,10,11,12,13,6,8,8,10,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,7,8,8,10,11,8,9,9,11,11,8,9,8,11,11,10,11,11,13,13,11,12,11,13,12,9,10,10,13,12,10,11,11,14,13,10,10,11,12,13,12,13,13,15,15,12,11,13,13,14,9,10,11,12,13,10,11,11,13,14,10,11,11,13,13,12,13,13,15,15,12,13,12,15,12,8,9,9,12,12,9,11,10,13,13,9,10,10,13,13,12,13,13,15,15,12,12,12,14,14,9,10,10,13,13,10,11,11,13,14,10,11,11,14,13,13,13,14,14,16,13,13,13,15,15,9,10,10,13,13,10,11,10,14,13,10,11,11,13,14,12,14,13,16,14,12,13,13,14,15,11,12,12,15,14,11,12,13,14,15,12,13,13,16,15,14,12,15,12,16,14,15,15,16,16,11,12,12,14,14,11,13,12,15,14,12,13,13,15,16,13,15,13,17,13,14,15,15,16,17,8,9,9,12,12,9,10,10,12,13,9,10,10,13,13,12,12,12,14,14,12,13,13,15,15,9,10,10,13,12,10,11,11,14,13,10,10,11,13,14,13,13,13,15,15,12,13,14,14,16,9,10,10,13,13,10,11,11,13,14,10,11,11,14,14,13,13,13,15,15,13,14,13,16,14,11,12,12,15,14,12,13,13,16,15,11,12,13,14,15,14,15,15,17,16,13,13,15,13,16,11,12,13,14,15,13,13,13,15,16,11,13,12,15,14,14,15,15,16,16,14,15,12,17,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,8,8,5,7,7,9,9,5,7,7,9,9,8,10,9,12,12,8,9,10,12,12,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,12,11,14,14,9,10,11,13,14,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,9,11,10,14,13,10,11,11,14,14,8,10,10,14,13,10,12,12,15,14,9,11,11,15,14,13,14,14,17,17,12,14,14,16,16,8,10,10,14,14,9,11,11,14,15,10,12,12,14,15,12,14,13,16,16,13,14,15,15,18,4,7,7,10,10,7,9,9,12,11,7,9,9,11,12,10,12,11,15,14,10,11,12,14,15,7,9,9,12,12,9,11,12,13,13,9,11,12,13,13,12,13,13,15,16,11,13,13,15,16,7,9,9,12,12,9,11,10,13,12,9,11,12,13,14,11,13,12,16,14,12,13,13,15,16,10,12,12,16,15,11,13,13,17,16,11,13,13,17,16,14,15,15,17,17,14,16,16,18,20,9,11,11,15,16,11,13,12,16,16,11,13,13,16,17,14,15,14,18,16,14,16,16,17,20,5,7,7,10,10,7,9,9,12,11,7,9,10,11,12,10,12,11,15,15,10,12,12,14,14,7,9,9,12,12,9,12,11,14,13,9,10,11,12,13,12,13,14,16,16,11,12,13,14,16,7,9,9,12,12,9,12,11,13,13,9,12,11,13,13,11,13,13,16,16,12,13,13,16,15,9,11,11,16,14,11,13,13,16,16,11,12,13,16,16,14,16,16,17,17,13,14,15,16,17,10,12,12,15,15,11,13,13,16,17,11,13,13,16,16,14,16,15,19,19,14,15,15,17,18,8,10,10,14,14,10,12,12,15,15,10,12,12,16,16,14,16,15,20,19,13,15,15,17,16,9,12,12,16,16,11,13,13,16,18,11,14,13,16,17,16,17,16,20,0,15,16,18,18,20,9,11,11,15,15,11,14,12,17,16,11,13,13,17,17,15,17,15,20,20,14,16,16,17,0,13,15,14,18,16,14,15,16,0,18,14,16,16,0,0,18,16,0,0,20,16,18,18,0,0,12,14,14,17,18,13,15,14,20,18,14,16,15,19,19,16,20,16,0,18,16,19,17,19,0,8,10,10,14,14,10,12,12,16,15,10,12,12,16,16,13,15,15,18,17,14,16,16,19,0,9,11,11,16,15,11,14,13,18,17,11,12,13,17,18,14,17,16,18,18,15,16,17,18,18,9,12,12,16,16,11,13,13,16,18,11,14,13,17,17,15,16,16,18,20,16,17,17,20,20,12,14,14,18,17,14,16,16,0,19,13,14,15,18,0,16,0,0,0,0,16,16,0,19,20,13,15,14,0,0,14,16,16,18,19,14,16,15,0,20,16,20,18,0,20,17,20,17,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,6,6,5,6,6,5,6,6,7,8,8,6,8,8,5,6,6,6,8,8,7,8,8,5,7,6,6,8,8,6,8,8,6,8,8,8,9,10,8,10,10,6,8,8,8,10,8,8,10,10,5,6,6,6,8,8,6,8,8,6,8,8,8,10,10,8,8,10,6,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,10,11,8,10,11,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,11,11,11,13,14,11,15,14,8,11,11,10,13,12,11,14,14,4,8,8,8,11,11,8,11,11,7,11,11,11,15,14,10,12,14,8,11,11,11,14,14,11,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,14,17,15,17,16,14,13,16,10,7,7,10,13,10,15,16,9,4,4,6,5,7,9,16,12,8,7,8,8,8,11,16,14,7,4,6,3,5,8,15,13,8,5,7,4,5,7,16,12,9,6,8,3,3,5,16,14,13,7,10,5,5,7,15,2,0,0,0,64,0,0,0,192,92,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,80,2,0,0,0,0,0,0,0,0,0,0,0,0,0,176,80,2,0,0,0,0,0,0,0,0,0,0,0,0,0,216,80,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,81,2,0,0,0,0,0,0,0,0,0,0,0,0,0,40,81,2,0,0,0,0,0,80,81,2,0,120,81,2,0,0,0,0,0,0,0,0,0,160,81,2,0,200,81,2,0,240,81,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,72,80,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,9,13,12,14,11,10,13,8,4,5,7,8,7,8,12,11,4,3,5,5,7,9,14,11,6,5,6,6,6,7,13,13,7,5,6,4,5,7,14,11,7,6,6,5,5,6,13,9,7,8,6,7,5,3,9,9,12,13,12,14,10,6,7,4,0,0,0,81,0,0,0,88,92,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,176,92,2,0,0,0,0,0,4,0,0,0,81,0,0,0,240,91,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,72,92,2,0,0,0,0,0,4,0,0,0,113,2,0,0,96,89,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,91,2,0,0,0,0,0,4,0,0,0,113,2,0,0,208,86,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,89,2,0,0,0,0,0,2,0,0,0,81,0,0,0,80,86,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,168,86,2,0,0,0,0,0,2,0,0,0,169,0,0,0,104,85,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,24,86,2,0,0,0,0,0,2,0,0,0,25,0,0,0,48,85,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,80,85,2,0,0,0,0,0,2,0,0,0,81,0,0,0,176,84,2,0,1,0,0,0,0,224,63,225,0,224,255,96,4,0,0,0,0,0,0,0,8,85,2,0,0,0,0,0,2,0,0,0,225,0,0,0,136,83,2,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,112,84,2,0,0,0,0,0,2,0,0,0,33,1,0,0,24,82,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,64,83,2,0,0,0,0,0,2,5,5,7,6,7,7,8,8,8,8,9,9,9,9,9,9,5,6,6,7,7,8,8,8,8,9,9,9,9,9,9,10,10,5,6,6,7,7,8,8,8,8,9,8,9,9,9,9,10,9,7,7,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,7,7,7,8,8,8,8,9,9,9,9,10,9,10,10,10,10,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,7,8,8,9,8,9,9,9,9,10,9,10,10,10,10,10,10,8,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,8,9,8,9,9,9,9,10,9,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,11,11,11,10,11,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,6,8,7,9,8,10,9,11,11,4,7,7,8,7,9,9,10,10,11,11,11,11,12,12,4,7,7,7,7,9,9,10,10,11,11,12,12,12,11,6,8,8,9,9,10,10,11,11,12,12,13,12,13,13,6,8,8,9,9,10,11,11,11,12,12,13,14,13,13,8,9,9,11,11,12,12,12,13,14,13,14,14,14,15,8,9,9,11,11,11,12,13,14,13,14,15,17,14,15,9,10,10,12,12,13,13,13,14,15,15,15,16,16,16,9,11,11,12,12,13,13,14,14,14,15,16,16,16,16,10,12,12,13,13,14,14,15,15,15,16,17,17,17,17,10,12,11,13,13,15,14,15,14,16,17,16,16,16,16,11,13,12,14,14,14,14,15,16,17,16,17,17,17,17,11,13,12,14,14,14,15,17,16,17,17,17,17,17,17,12,13,13,15,16,15,16,17,17,16,16,17,17,17,17,12,13,13,15,15,15,16,17,17,17,16,17,16,17,17,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,3,10,10,10,10,10,10,4,10,10,10,10,10,10,10,10,4,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,6,5,4,5,5,5,6,5,6,5,6,6,5,5,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,10,11,13,14,4,6,5,8,8,9,9,10,10,11,11,14,14,4,6,6,8,8,9,9,10,10,11,11,14,14,6,8,8,9,9,10,10,11,11,12,12,15,15,6,8,8,9,9,10,11,11,11,12,12,15,15,8,9,9,11,10,11,11,12,12,13,13,15,16,8,9,9,10,11,11,11,12,12,13,13,16,16,10,10,11,11,11,12,12,13,13,13,14,17,16,9,10,11,12,11,12,12,13,13,13,13,16,18,11,12,11,12,12,13,13,13,14,15,14,17,17,11,11,12,12,12,13,13,13,14,14,15,18,17,14,15,15,15,15,16,16,17,17,19,18,0,20,14,15,14,15,15,16,16,16,17,18,16,20,18,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,7,7,9,9,4,5,5,7,7,8,8,10,10,4,5,5,7,7,8,8,10,10,6,7,7,8,8,9,9,11,10,6,7,7,8,8,9,9,10,10,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,10,10,11,10,11,11,12,12,9,10,10,10,10,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,5,7,6,9,9,5,6,7,9,9,9,9,9,11,11,9,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,7,8,10,10,9,10,10,11,12,9,10,10,11,12,5,7,7,9,9,7,8,7,10,10,7,8,8,10,10,9,10,9,12,11,9,10,10,12,11,9,10,9,12,12,9,10,10,13,12,9,10,10,12,13,12,12,12,14,14,11,12,12,13,14,9,9,10,12,12,9,10,10,12,12,9,10,10,12,13,11,12,11,14,13,12,12,12,14,13,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,9,10,10,12,12,7,8,8,11,10,8,8,9,11,11,8,9,9,11,11,11,11,11,12,13,10,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,13,11,10,11,11,13,13,9,11,10,13,12,10,11,11,13,13,10,11,11,13,13,12,12,13,12,15,12,13,13,15,15,9,10,10,12,13,10,11,10,13,12,10,11,11,13,14,12,13,11,15,13,12,13,13,15,15,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,10,10,11,12,12,6,8,8,10,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,11,13,13,11,11,11,13,12,9,10,10,13,12,10,11,11,14,13,10,10,11,12,13,12,13,13,15,15,12,11,13,13,14,9,10,11,12,13,10,11,11,13,13,10,11,11,13,13,12,13,13,15,15,12,13,12,15,12,8,9,9,12,12,9,11,10,13,13,9,10,10,13,13,12,13,13,15,14,12,12,12,14,13,9,10,10,13,12,10,11,11,13,13,10,11,11,14,12,13,13,14,14,16,12,13,13,15,15,9,10,10,13,13,10,11,10,14,13,10,11,11,13,14,12,14,13,15,14,13,13,13,15,15,11,13,12,15,14,11,12,13,14,15,12,13,13,16,14,14,12,15,12,16,14,15,15,17,15,11,12,12,14,14,11,13,11,15,14,12,13,13,15,15,13,15,12,17,13,14,15,15,16,16,8,9,9,12,12,9,10,10,12,13,9,10,10,13,13,12,12,12,14,14,12,13,13,15,15,9,10,10,13,12,10,11,11,14,13,10,10,11,13,14,12,13,13,15,15,12,12,13,14,16,9,10,10,13,13,10,11,11,13,14,10,11,11,14,13,12,13,13,14,15,13,14,13,16,14,11,12,12,14,14,12,13,13,15,14,11,12,13,14,15,14,15,15,16,16,13,13,15,13,16,11,12,12,14,15,12,13,13,14,15,11,13,12,15,14,14,15,15,16,16,14,15,12,16,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,7,7,5,7,7,9,9,5,7,7,9,9,8,9,9,12,12,8,9,9,11,12,5,7,7,10,10,7,9,9,11,11,7,9,9,10,11,10,11,11,13,13,9,10,11,13,13,5,7,7,10,10,7,9,9,11,10,7,9,9,11,11,9,11,10,13,13,10,11,11,14,13,8,10,10,14,13,10,11,11,15,14,9,11,11,14,14,13,14,13,16,16,12,13,13,15,15,8,10,10,13,14,9,11,11,14,14,10,11,11,14,15,12,13,13,15,15,13,14,14,15,16,5,7,7,10,10,7,9,9,11,11,7,9,9,11,12,10,11,11,14,14,10,11,11,14,14,7,9,9,12,12,9,11,11,13,13,9,11,11,13,13,12,12,13,15,15,11,12,13,15,16,7,9,9,11,11,8,11,10,13,12,9,11,11,13,13,11,13,12,15,13,11,13,13,15,16,9,12,11,15,14,11,12,13,16,15,11,13,13,15,16,14,14,15,17,16,13,15,16,0,17,9,11,11,15,15,10,13,12,15,15,11,13,13,15,16,13,15,13,16,15,14,16,15,0,19,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,12,11,14,14,10,11,12,14,14,7,9,9,12,12,9,11,11,14,13,9,10,11,12,13,11,13,13,16,16,11,12,13,13,16,7,9,9,12,12,9,11,11,13,13,9,11,11,13,13,11,13,13,15,15,12,13,12,15,14,9,11,11,15,14,11,13,12,16,16,10,12,12,15,15,13,15,15,17,19,13,14,15,16,17,10,12,12,15,15,11,13,13,16,16,11,13,13,15,16,13,15,15,0,0,14,15,15,16,16,8,10,10,14,14,10,12,12,15,15,10,12,11,15,16,14,15,15,19,20,13,14,14,18,16,9,11,11,15,15,11,13,13,17,16,11,13,13,16,16,15,17,17,20,20,14,15,16,17,20,9,11,11,15,15,10,13,12,16,15,11,13,13,15,17,14,16,15,18,0,14,16,15,18,20,12,14,14,0,0,14,14,16,0,0,13,16,15,0,0,17,17,18,0,0,16,17,19,19,0,12,14,14,18,0,12,16,14,0,17,13,15,15,18,0,16,18,17,0,17,16,18,17,0,0,7,10,10,14,14,10,12,11,15,15,10,12,12,16,15,13,15,15,18,0,14,15,15,17,0,9,11,11,15,15,11,13,13,16,16,11,12,13,16,16,14,15,16,17,17,14,16,16,16,18,9,11,12,16,16,11,13,13,17,17,11,14,13,20,17,15,16,16,19,0,15,16,17,0,19,11,13,14,17,16,14,15,15,20,18,13,14,15,17,19,16,18,18,0,20,16,16,19,17,0,12,15,14,17,0,14,15,15,18,19,13,16,15,19,20,15,18,18,0,20,17,0,16,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,4,5,6,6,5,6,6,5,6,6,7,8,8,6,8,8,5,6,6,6,8,8,7,8,8,5,7,6,7,8,8,6,8,8,7,8,8,8,9,10,8,10,10,6,8,8,8,10,8,8,10,10,5,6,6,6,8,8,7,8,8,6,8,8,8,10,10,8,8,10,7,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,10,11,8,10,11,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,11,11,11,13,14,11,14,14,8,11,11,10,14,12,11,14,14,4,8,8,8,11,11,8,11,11,7,11,11,11,14,14,10,12,14,8,11,11,11,14,14,11,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,14,14,14,15,13,15,12,16,10,8,7,9,9,8,12,16,10,5,4,6,5,6,9,16,14,8,6,8,7,8,10,16,14,7,4,6,3,5,8,16,15,9,5,7,4,4,7,16,13,10,6,7,4,3,4,13,13,12,7,9,5,5,6,12,2,0,0,0,64,0,0,0,192,105,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,120,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,160,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,200,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,240,94,2,0,0,0,0,0,24,95,2,0,64,95,2,0,0,0,0,0,0,0,0,0,104,95,2,0,144,95,2,0,184,95,2],"i8",N3,F.GLOBAL_BASE+144820),E3([2,0,0,0,64,0,0,0,16,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,9,14,12,15,13,10,13,7,4,5,6,8,7,8,12,13,4,3,5,5,6,9,15,12,6,5,6,6,6,7,14,14,7,4,6,4,6,8,15,12,6,6,5,5,5,6,14,9,7,8,6,7,5,4,10,10,13,14,14,15,10,6,8,4,0,0,0,81,0,0,0,88,105,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,176,105,2,0,0,0,0,0,4,0,0,0,81,0,0,0,240,104,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,72,105,2,0,0,0,0,0,4,0,0,0,113,2,0,0,96,102,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,104,2,0,0,0,0,0,4,0,0,0,113,2,0,0,208,99,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,102,2,0,0,0,0,0,2,0,0,0,81,0,0,0,80,99,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,168,99,2,0,0,0,0,0,2,0,0,0,169,0,0,0,104,98,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,24,99,2,0,0,0,0,0,2,0,0,0,25,0,0,0,48,98,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,80,98,2,0,0,0,0,0,2,0,0,0,81,0,0,0,176,97,2,0,1,0,0,0,0,32,53,225,0,32,245,96,4,0,0,0,0,0,0,0,8,98,2,0,0,0,0,0,2,0,0,0,169,0,0,0,200,96,2,0,1,0,0,0,0,128,211,224,0,0,122,96,4,0,0,0,0,0,0,0,120,97,2,0,0,0,0,0,2,0,0,0,169,0,0,0,224,95,2,0,1,0,0,0,0,0,88,224,0,0,16,96,4,0,0,0,0,0,0,0,144,96,2,0,0,0,0,0,2,5,5,6,6,7,7,8,7,8,8,8,8,5,6,6,7,7,8,8,8,8,8,8,8,8,5,6,6,7,7,8,7,8,8,8,8,8,8,6,7,7,7,8,8,8,8,8,9,9,9,9,6,7,7,8,7,8,8,9,9,9,9,9,9,7,8,8,8,8,8,8,9,9,9,9,9,9,7,8,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,9,9,9,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,9,9,9,9,8,8,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,6,7,6,8,7,9,7,9,8,4,7,6,8,8,9,8,10,9,10,10,11,11,4,7,7,8,8,8,8,9,10,11,11,11,11,6,8,8,10,10,10,10,11,11,12,12,12,12,7,8,8,10,10,10,10,11,11,12,12,13,13,7,9,9,11,10,12,12,13,13,14,13,14,14,7,9,9,10,11,11,12,13,13,13,13,16,14,9,10,10,12,12,13,13,14,14,15,16,15,16,9,10,10,12,12,12,13,14,14,14,15,16,15,10,12,12,13,13,15,13,16,16,15,17,17,17,10,11,11,12,14,14,14,15,15,17,17,15,17,11,12,12,14,14,14,15,15,15,17,16,17,17,10,12,12,13,14,14,14,17,15,17,17,17,17,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,12,12,12,12,12,12,4,12,12,12,12,12,12,12,12,5,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,6,5,4,5,5,5,6,5,6,5,6,6,5,5,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,10,11,11,14,13,4,6,5,8,8,9,9,11,10,12,11,15,14,4,5,6,8,8,9,9,11,11,11,11,14,14,6,8,8,10,9,11,11,11,11,12,12,15,15,6,8,8,9,9,11,11,11,12,12,12,15,15,8,10,10,11,11,11,11,12,12,13,13,15,16,8,10,10,11,11,11,11,12,12,13,13,16,16,10,11,11,12,12,12,12,13,13,13,13,17,16,10,11,11,12,12,12,12,13,13,13,14,16,17,11,12,12,13,13,13,13,14,14,15,14,18,17,11,12,12,13,13,13,13,14,14,14,15,19,18,14,15,15,15,15,16,16,18,19,18,18,0,0,14,15,15,16,15,17,17,16,18,17,18,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,8,8,9,9,4,6,5,8,8,8,8,10,10,4,5,6,8,8,8,8,10,10,7,8,8,9,9,9,9,11,11,7,8,8,9,9,9,9,11,11,8,8,8,9,9,10,11,12,12,8,8,8,9,9,10,10,12,12,10,10,10,11,11,12,12,13,13,10,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,5,7,6,9,9,5,6,7,9,9,9,9,9,11,11,9,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,7,8,10,10,10,10,10,11,12,9,10,10,11,12,5,7,7,9,9,6,8,7,10,10,7,8,8,10,10,9,10,10,12,11,9,10,10,12,11,9,10,10,12,12,10,10,10,13,12,9,10,10,12,13,12,12,12,14,14,11,12,12,13,14,9,10,10,12,12,9,10,10,12,13,10,10,10,12,13,11,12,12,14,13,12,12,12,14,13,5,7,7,10,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,10,10,10,12,12,7,8,8,11,10,8,8,9,11,11,8,9,9,11,11,10,11,11,12,13,10,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,13,11,10,11,11,13,13,9,10,10,13,13,10,11,11,13,13,10,11,11,14,13,12,11,13,12,15,12,13,13,15,15,9,10,10,12,13,10,11,10,13,13,10,11,11,13,13,12,13,11,15,13,12,13,13,15,15,5,7,7,9,10,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,10,10,11,12,12,6,8,8,10,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,7,8,8,10,11,8,9,9,11,11,8,9,8,11,11,10,11,11,13,13,10,11,11,13,12,9,10,10,13,12,10,11,11,14,13,10,10,11,13,13,12,13,13,15,15,12,11,13,12,14,9,10,10,12,13,10,11,11,13,14,10,11,11,13,13,12,13,13,15,15,12,13,12,15,12,8,9,9,12,12,9,11,10,13,13,9,10,10,13,13,12,13,13,15,15,12,12,12,14,14,9,10,10,13,13,10,11,11,13,14,10,11,11,14,12,13,13,14,14,16,12,13,13,15,14,9,10,10,13,13,10,11,10,14,13,10,11,11,13,14,12,14,13,16,14,13,13,13,14,15,11,13,12,15,14,11,12,13,14,15,12,13,13,16,15,14,12,15,12,16,14,15,15,17,16,11,12,12,14,15,11,13,11,15,14,12,13,13,15,16,13,15,12,17,13,14,15,15,16,16,8,9,9,12,12,9,10,10,13,13,9,10,10,13,13,12,13,12,14,14,12,13,13,15,15,9,10,10,13,13,10,11,11,14,13,10,10,11,13,14,12,13,13,15,14,12,12,14,14,16,9,10,10,13,13,10,11,11,13,14,10,11,11,14,13,13,13,13,15,15,13,14,13,16,14,11,12,12,14,14,12,13,13,16,15,11,12,13,14,15,14,15,15,16,16,14,13,15,13,17,11,12,12,14,15,12,13,13,15,16,11,13,12,15,15,14,15,14,16,16,14,15,12,17,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,7,8,5,7,7,9,9,5,7,7,9,9,8,9,9,12,11,8,9,9,11,12,5,7,7,10,10,7,9,9,11,11,7,9,9,10,11,10,11,11,13,13,9,10,11,12,13,5,7,7,10,10,7,9,9,11,10,7,9,9,11,11,9,11,10,13,13,10,11,11,13,13,8,10,10,14,13,10,11,11,15,14,9,11,11,15,14,13,14,13,16,14,12,13,13,15,16,8,10,10,13,14,9,11,11,14,15,10,11,11,14,15,12,13,13,15,15,12,13,14,15,16,5,7,7,10,10,7,9,9,11,11,7,9,9,11,12,10,11,11,14,13,10,11,11,14,14,7,9,9,12,12,9,11,11,13,13,9,11,11,13,13,12,13,12,14,14,11,12,13,15,15,7,9,9,12,12,8,11,10,13,12,9,11,11,13,13,11,13,12,15,13,11,13,13,15,16,9,12,11,15,15,11,12,12,16,15,11,12,13,16,16,13,14,15,16,15,13,15,15,17,17,9,11,11,14,15,10,12,12,15,15,11,13,12,15,16,13,15,14,16,16,13,15,15,17,19,5,7,7,10,10,7,9,9,12,11,7,9,9,11,11,10,11,11,14,14,10,11,11,13,14,7,9,9,12,12,9,11,11,13,13,9,10,11,12,13,11,13,12,16,15,11,12,12,14,15,7,9,9,12,12,9,11,11,13,13,9,11,11,13,12,11,13,12,15,16,12,13,13,15,14,9,11,11,15,14,11,13,12,16,15,10,11,12,15,15,13,14,14,18,17,13,14,14,15,17,10,11,11,14,15,11,13,12,15,17,11,13,12,15,16,13,15,14,18,17,14,15,15,16,18,7,10,10,14,14,10,12,12,15,15,10,12,12,15,15,14,15,15,18,17,13,15,15,16,16,9,11,11,16,15,11,13,13,16,18,11,13,13,16,16,15,16,16,0,0,14,15,16,18,17,9,11,11,15,15,10,13,12,17,16,11,12,13,16,17,14,15,16,19,19,14,15,15,0,20,12,14,14,0,0,13,14,16,19,18,13,15,16,20,17,16,18,0,0,0,15,16,17,18,19,11,14,14,0,19,12,15,14,17,17,13,15,15,0,0,16,17,15,20,19,15,17,16,19,0,8,10,10,14,15,10,12,11,15,15,10,11,12,16,15,13,14,14,19,17,14,15,15,0,0,9,11,11,16,15,11,13,13,17,16,10,12,13,16,17,14,15,15,18,18,14,15,16,20,19,9,12,12,0,15,11,13,13,16,17,11,13,13,19,17,14,16,16,18,17,15,16,16,17,19,11,14,14,18,18,13,14,15,0,0,12,14,15,19,18,15,16,19,0,19,15,16,19,19,17,12,14,14,16,19,13,15,15,0,17,13,15,14,18,18,15,16,15,0,18,16,17,17,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,6,6,5,6,6,5,6,6,7,8,8,6,8,8,5,6,6,6,8,7,7,8,8,5,6,6,7,8,8,6,8,8,6,8,8,8,9,10,8,10,10,6,8,8,7,10,8,8,10,10,5,6,6,6,8,8,7,8,8,6,8,8,8,10,10,8,8,10,6,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,11,11,8,10,11,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,11,11,11,13,14,11,13,13,7,11,11,10,13,12,11,14,14,4,8,8,8,11,11,8,11,11,8,11,11,11,14,13,10,12,13,8,11,11,11,13,13,11,13,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,13,15,17,17,15,15,12,17,11,9,7,10,10,9,12,17,10,6,3,6,5,7,10,17,15,10,6,9,8,9,11,17,15,8,4,7,3,5,9,16,16,10,5,8,4,5,8,16,13,11,5,8,3,3,5,14,13,12,7,10,5,5,7,14,2,0,0,0,64,0,0,0,152,118,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,120,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,160,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,200,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,240,107,2,0,0,0,0,0,24,108,2,0,64,108,2,0,0,0,0,0,0,0,0,0,104,108,2,0,144,108,2,0,184,108,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,16,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,13,10,17,11,11,15,7,2,4,5,8,7,9,16,13,4,3,5,6,8,11,20,10,4,5,5,7,6,8,18,15,7,6,7,8,10,14,20,10,6,7,6,9,7,8,17,9,8,10,8,10,5,4,11,12,17,19,14,16,10,7,12,4,0,0,0,81,0,0,0,48,118,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,136,118,2,0,0,0,0,0,4,0,0,0,81,0,0,0,200,117,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,32,118,2,0,0,0,0,0,4,0,0,0,113,2,0,0,56,115,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,176,117,2,0,0,0,0,0,4,0,0,0,113,2,0,0,168,112,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,32,115,2,0,0,0,0,0,2,0,0,0,81,0,0,0,40,112,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,112,2,0,0,0,0,0,2,0,0,0,169,0,0,0,64,111,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,240,111,2,0,0,0,0,0,2,0,0,0,25,0,0,0,8,111,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,40,111,2,0,0,0,0,0,2,0,0,0,49,0,0,0,176,110,2,0,1,0,0,0,0,176,31,225,0,32,245,96,3,0,0,0,0,0,0,0,232,110,2,0,0,0,0,0,2,0,0,0,169,0,0,0,200,109,2,0,1,0,0,0,0,128,211,224,0,0,122,96,4,0,0,0,0,0,0,0,120,110,2,0,0,0,0,0,2,0,0,0,169,0,0,0,224,108,2,0,1,0,0,0,0,0,88,224,0,0,16,96,4,0,0,0,0,0,0,0,144,109,2,0,0,0,0,0,2,5,4,6,6,7,7,8,8,8,8,9,8,5,5,6,7,7,8,8,8,8,9,9,9,9,5,6,5,7,7,8,8,8,8,9,9,9,9,6,7,7,8,8,8,8,9,8,9,9,9,9,6,7,7,8,7,8,8,9,9,9,9,9,9,7,8,8,8,8,9,9,9,9,9,9,9,9,7,8,8,9,8,9,8,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,9,9,10,10,8,8,9,9,9,9,9,9,9,9,10,9,10,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,10,9,9,10,10,9,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,6,6,6,6,7,7,8,8,9,9,5,7,7,8,7,7,7,9,8,10,9,10,11,5,7,7,8,8,7,7,8,9,10,10,11,11,6,8,8,9,9,9,9,11,10,12,12,15,12,6,8,8,9,9,9,9,11,11,12,11,14,12,7,8,8,10,10,12,12,13,13,13,15,13,13,7,8,8,10,10,11,11,13,12,14,15,15,15,9,10,10,11,12,13,13,14,15,14,15,14,15,8,10,10,12,12,14,14,15,14,14,15,15,14,10,12,12,14,14,15,14,15,15,15,14,15,15,10,12,12,13,14,15,14,15,15,14,15,15,15,12,15,13,15,14,15,15,15,15,15,15,15,15,13,13,15,15,15,15,15,15,15,15,15,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,5,5,4,5,5,5,5,5,6,6,6,6,5,6,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,9,11,10,14,13,4,6,5,8,8,9,9,11,10,11,11,14,14,4,5,6,8,8,9,9,10,10,11,11,14,14,6,8,8,9,9,10,10,11,11,12,12,16,15,7,8,8,9,9,10,10,11,11,12,12,15,15,9,10,10,10,10,11,11,12,12,12,12,15,15,9,10,9,10,11,11,11,12,12,12,13,15,15,10,10,11,11,11,12,12,13,12,13,13,16,15,10,11,11,11,11,12,12,13,12,13,13,16,17,11,11,12,12,12,13,13,13,14,14,15,17,17,11,11,12,12,12,13,13,13,14,14,14,16,18,14,15,15,15,15,16,16,16,16,17,18,0,0,14,15,15,15,15,17,16,17,18,17,17,18,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,8,8,8,9,9,4,6,6,8,8,8,8,9,9,7,8,8,9,9,9,9,11,10,7,8,8,9,9,9,9,10,10,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,9,9,10,10,11,11,12,12,9,9,9,10,11,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,9,9,5,6,6,9,9,5,6,6,9,9,9,10,9,12,12,9,9,10,12,12,5,7,7,10,10,7,7,8,10,10,6,7,8,10,10,10,10,10,11,13,10,9,10,12,13,5,7,7,10,10,6,8,7,10,10,7,8,7,10,10,9,10,10,12,12,10,10,10,13,11,9,10,10,13,13,10,11,10,13,13,10,10,10,13,13,12,12,13,14,14,12,12,13,14,14,9,10,10,13,13,10,10,10,13,13,10,10,10,13,13,12,13,12,15,14,12,13,12,15,15,5,7,6,10,10,7,8,8,10,10,7,8,8,10,10,10,11,10,13,13,10,10,10,12,12,7,8,8,11,10,8,8,9,10,11,8,9,9,11,11,11,10,11,11,14,11,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,14,11,10,11,11,13,13,10,11,11,14,13,10,10,11,14,13,10,11,11,14,14,12,11,13,12,16,13,14,14,15,15,10,10,11,13,14,10,11,10,14,13,10,11,11,14,14,12,13,12,15,13,13,13,14,15,16,5,7,7,10,10,7,8,8,10,10,7,8,8,10,10,10,10,10,13,13,10,10,11,12,13,6,8,8,11,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,6,8,8,10,11,8,9,9,11,11,8,9,8,12,10,10,11,11,13,13,10,11,10,14,11,10,10,10,14,13,10,11,11,14,13,10,10,11,13,13,12,14,14,16,16,12,12,13,13,15,10,11,11,13,14,10,11,11,14,15,10,11,10,13,13,13,14,13,16,16,12,13,11,15,12,9,10,10,13,13,10,11,11,14,13,10,10,11,13,14,13,14,13,16,16,13,13,13,15,16,9,10,10,13,13,10,10,11,13,14,10,11,11,15,13,13,13,14,14,18,13,13,14,16,15,9,10,10,13,14,10,11,10,14,13,10,11,11,13,14,13,14,13,16,15,13,13,14,15,16,12,13,12,16,14,11,11,13,15,15,13,14,13,16,15,15,12,16,12,17,14,15,15,17,17,12,13,13,14,16,11,13,11,16,15,12,13,14,15,16,14,15,13,0,14,14,16,16,0,0,9,10,10,13,13,10,11,10,14,14,10,11,11,13,13,12,13,13,14,16,13,14,14,16,16,9,10,10,14,14,11,11,11,14,13,10,10,11,14,14,13,13,13,16,16,13,13,14,14,17,9,10,10,13,14,10,11,11,13,15,10,11,10,14,14,13,13,13,14,17,13,14,13,17,14,12,13,13,16,14,13,14,13,16,15,12,12,13,15,16,15,15,16,18,16,15,13,15,14,0,12,12,13,14,16,13,13,14,15,16,11,12,11,16,14,15,16,16,17,17,14,15,12,17,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,8,8,5,8,7,9,9,5,7,8,9,9,9,10,9,12,12,9,9,10,12,12,6,8,8,11,10,8,10,10,11,11,8,9,10,11,11,10,11,11,14,13,10,11,11,13,13,5,8,8,10,10,8,10,10,11,11,8,10,10,11,11,10,11,11,13,13,10,11,11,13,13,9,11,11,15,14,10,12,12,15,14,10,12,11,15,14,13,14,14,16,16,12,14,13,17,15,9,11,11,14,15,10,11,12,14,16,10,11,12,14,16,12,13,14,16,16,13,13,15,15,18,5,8,8,11,11,8,10,10,12,12,8,10,10,12,13,11,12,12,14,14,11,12,12,15,15,8,10,10,13,13,10,12,12,13,13,10,12,12,14,14,12,13,13,15,15,12,13,13,16,16,7,10,10,12,12,10,12,11,13,13,10,12,12,13,14,12,13,12,15,14,12,13,13,16,16,10,12,12,17,16,12,13,13,16,15,11,13,13,17,17,15,15,15,16,17,14,15,15,19,19,10,12,12,15,16,11,13,12,15,18,11,13,13,16,16,14,15,15,17,17,14,15,15,17,19,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,16,15,11,12,12,14,15,7,10,10,13,13,10,12,12,14,13,10,11,12,13,13,12,13,13,16,16,12,12,13,15,15,8,10,10,13,13,10,12,12,14,14,10,12,12,13,13,12,13,13,16,16,12,13,13,15,15,10,12,12,16,15,11,13,13,17,16,11,12,13,16,15,13,15,15,19,17,14,15,14,17,16,10,12,12,16,16,11,13,13,16,17,12,13,13,15,17,14,15,15,17,19,14,15,15,17,17,8,11,11,16,16,10,13,12,17,17,10,12,13,16,16,15,17,16,20,19,14,15,17,18,19,9,12,12,16,17,11,13,14,17,18,11,13,13,19,18,16,17,18,19,19,15,16,16,19,19,9,12,12,16,17,11,14,13,18,17,11,13,13,17,17,16,17,16,20,19,14,16,16,18,18,12,15,15,19,17,14,15,16,0,20,13,15,16,20,17,18,16,20,0,0,15,16,19,20,0,12,15,14,18,19,13,16,15,20,19,13,16,15,20,18,17,18,17,0,20,16,17,16,0,0,8,11,11,16,15,10,12,12,17,17,10,13,13,17,16,14,16,15,18,20,15,16,16,19,19,9,12,12,16,16,11,13,13,17,16,11,13,14,17,18,15,15,16,20,20,16,16,17,19,19,9,13,12,16,17,11,14,13,17,17,11,14,14,18,17,14,16,15,18,19,16,17,18,18,19,12,14,15,19,18,13,15,16,18,0,13,14,15,0,0,16,16,17,20,0,17,17,20,20,0,12,15,15,19,20,13,15,15,0,0,14,16,15,0,0,15,18,16,0,0,17,18,16,0,19,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,7,8,8,6,8,8,5,7,7,6,8,8,7,8,8,4,7,7,7,8,8,7,8,8,7,8,8,8,9,10,8,10,10,6,8,8,8,10,8,8,10,10,5,7,7,7,8,8,7,8,8,6,8,8,8,10,10,8,8,10,6,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,11,11,8,10,10,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,12,11,11,13,13,11,13,14,7,11,11,10,13,12,11,13,14,4,8,8,8,11,11,8,11,12,8,11,11,11,13,13,10,12,13,8,11,11,11,14,13,11,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,12,13,14,13,17,12,15,17,5,5,6,10,10,11,15,16,4,3,3,7,5,7,10,16,7,7,7,10,9,11,12,16,6,5,5,9,5,6,10,16,8,7,7,9,6,7,9,16,11,7,3,6,4,5,8,16,12,9,4,8,5,7,9,16,2,0,0,0,64,0,0,0,168,133,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,120,2,0,0,0,0,0,0,0,0,0,0,0,0,0,80,120,2,0,0,0,0,0,0,0,0,0,0,0,0,0,120,120,2,0,0,0,0,0,0,0,0,0,0,0,0,0,160,120,2,0,0,0,0,0,0,0,0,0,0,0,0,0,200,120,2,0,0,0,0,0,240,120,2,0,24,121,2,0,0,0,0,0,0,0,0,0,64,121,2,0,104,121,2,0,144,121,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,232,119,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,13,10,17,11,11,15,7,2,4,5,8,7,9,16,13,4,3,5,6,8,11,20,10,4,5,5,7,6,8,18,15,7,6,7,8,10,14,20,10,6,7,6,9,7,8,17,9,8,10,8,10,5,4,11,12,17,19,14,16,10,7,12,4,0,0,0,81,0,0,0,64,133,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,152,133,2,0,0,0,0,0,4,0,0,0,81,0,0,0,216,132,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,48,133,2,0,0,0,0,0,4,0,0,0,113,2,0,0,72,130,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,132,2,0,0,0,0,0,4,0,0,0,113,2,0,0,184,127,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,48,130,2,0,0,0,0,0,2,0,0,0,81,0,0,0,56,127,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,144,127,2,0,0,0,0,0,2,0,0,0,169,0,0,0,80,126,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,0,127,2,0,0,0,0,0,2,0,0,0,25,0,0,0,24,126,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,126,2,0,0,0,0,0,4,0,0,0,113,2,0,0,136,123,2,0,1,0,0,0,0,32,21,225,0,32,245,96,3,0,0,0,0,0,0,0,0,126,2,0,0,0,0,0,2,0,0,0,169,0,0,0,160,122,2,0,1,0,0,0,0,128,211,224,0,0,122,96,4,0,0,0,0,0,0,0,80,123,2,0,0,0,0,0,2,0,0,0,169,0,0,0,184,121,2,0,1,0,0,0,0,0,88,224,0,0,16,96,4,0,0,0,0,0,0,0,104,122,2,0,0,0,0,0,2,5,4,6,6,7,7,8,8,8,8,9,8,5,5,6,7,7,8,8,8,8,9,9,9,9,5,6,5,7,7,8,8,8,8,9,9,9,9,6,7,7,8,8,8,8,9,8,9,9,9,9,6,7,7,8,7,8,8,9,9,9,9,9,9,7,8,8,8,8,9,9,9,9,9,9,9,9,7,8,8,9,8,9,8,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,9,9,10,10,8,8,9,9,9,9,9,9,9,9,10,9,10,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,10,9,9,10,10,9,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,6,6,6,6,7,7,8,8,9,9,5,7,7,8,7,7,7,9,8,10,9,10,11,5,7,7,8,8,7,7,8,9,10,10,11,11,6,8,8,9,9,9,9,11,10,12,12,15,12,6,8,8,9,9,9,9,11,11,12,11,14,12,7,8,8,10,10,12,12,13,13,13,15,13,13,7,8,8,10,10,11,11,13,12,14,15,15,15,9,10,10,11,12,13,13,14,15,14,15,14,15,8,10,10,12,12,14,14,15,14,14,15,15,14,10,12,12,14,14,15,14,15,15,15,14,15,15,10,12,12,13,14,15,14,15,15,14,15,15,15,12,15,13,15,14,15,15,15,15,15,15,15,15,13,13,15,15,15,15,15,15,15,15,15,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,11,11,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,5,5,4,5,5,5,5,5,6,6,6,6,5,6,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,9,11,10,14,13,4,6,5,8,8,9,9,11,10,11,11,14,14,4,5,6,8,8,9,9,10,10,11,11,14,14,6,8,8,9,9,10,10,11,11,12,12,16,15,7,8,8,9,9,10,10,11,11,12,12,15,15,9,10,10,10,10,11,11,12,12,12,12,15,15,9,10,9,10,11,11,11,12,12,12,13,15,15,10,10,11,11,11,12,12,13,12,13,13,16,15,10,11,11,11,11,12,12,13,12,13,13,16,17,11,11,12,12,12,13,13,13,14,14,15,17,17,11,11,12,12,12,13,13,13,14,14,14,16,18,14,15,15,15,15,16,16,16,16,17,18,0,0,14,15,15,15,15,17,16,17,18,17,17,18,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,8,8,8,9,9,4,6,6,8,8,8,8,9,9,7,8,8,9,9,9,9,11,10,7,8,8,9,9,9,9,10,10,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,9,9,10,10,11,11,12,12,9,9,9,10,11,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,9,9,5,6,6,9,9,5,6,6,9,9,9,10,9,12,12,9,9,10,12,12,5,7,7,10,10,7,7,8,10,10,6,7,8,10,10,10,10,10,11,13,10,9,10,12,13,5,7,7,10,10,6,8,7,10,10,7,8,7,10,10,9,10,10,12,12,10,10,10,13,11,9,10,10,13,13,10,11,10,13,13,10,10,10,13,13,12,12,13,14,14,12,12,13,14,14,9,10,10,13,13,10,10,10,13,13,10,10,10,13,13,12,13,12,15,14,12,13,12,15,15,5,7,6,10,10,7,8,8,10,10,7,8,8,10,10,10,11,10,13,13,10,10,10,12,12,7,8,8,11,10,8,8,9,10,11,8,9,9,11,11,11,10,11,11,14,11,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,14,11,10,11,11,13,13,10,11,11,14,13,10,10,11,14,13,10,11,11,14,14,12,11,13,12,16,13,14,14,15,15,10,10,11,13,14,10,11,10,14,13,10,11,11,14,14,12,13,12,15,13,13,13,14,15,16,5,7,7,10,10,7,8,8,10,10,7,8,8,10,10,10,10,10,13,13,10,10,11,12,13,6,8,8,11,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,6,8,8,10,11,8,9,9,11,11,8,9,8,12,10,10,11,11,13,13,10,11,10,14,11,10,10,10,14,13,10,11,11,14,13,10,10,11,13,13,12,14,14,16,16,12,12,13,13,15,10,11,11,13,14,10,11,11,14,15,10,11,10,13,13,13,14,13,16,16,12,13,11,15,12,9,10,10,13,13,10,11,11,14,13,10,10,11,13,14,13,14,13,16,16,13,13,13,15,16,9,10,10,13,13,10,10,11,13,14,10,11,11,15,13,13,13,14,14,18,13,13,14,16,15,9,10,10,13,14,10,11,10,14,13,10,11,11,13,14,13,14,13,16,15,13,13,14,15,16,12,13,12,16,14,11,11,13,15,15,13,14,13,16,15,15,12,16,12,17,14,15,15,17,17,12,13,13,14,16,11,13,11,16,15,12,13,14,15,16,14,15,13,0,14,14,16,16,0,0,9,10,10,13,13,10,11,10,14,14,10,11,11,13,13,12,13,13,14,16,13,14,14,16,16,9,10,10,14,14,11,11,11,14,13,10,10,11,14,14,13,13,13,16,16,13,13,14,14,17,9,10,10,13,14,10,11,11,13,15,10,11,10,14,14,13,13,13,14,17,13,14,13,17,14,12,13,13,16,14,13,14,13,16,15,12,12,13,15,16,15,15,16,18,16,15,13,15,14,0,12,12,13,14,16,13,13,14,15,16,11,12,11,16,14,15,16,16,17,17,14,15,12,17,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,8,8,5,8,7,9,9,5,7,8,9,9,9,10,9,12,12,9,9,10,12,12,6,8,8,11,10,8,10,10,11,11,8,9,10,11,11,10,11,11,14,13,10,11,11,13,13,5,8,8,10,10,8,10,10,11,11,8,10,10,11,11,10,11,11,13,13,10,11,11,13,13,9,11,11,15,14,10,12,12,15,14,10,12,11,15,14,13,14,14,16,16,12,14,13,17,15,9,11,11,14,15,10,11,12,14,16,10,11,12,14,16,12,13,14,16,16,13,13,15,15,18,5,8,8,11,11,8,10,10,12,12,8,10,10,12,13,11,12,12,14,14,11,12,12,15,15,8,10,10,13,13,10,12,12,13,13,10,12,12,14,14,12,13,13,15,15,12,13,13,16,16,7,10,10,12,12,10,12,11,13,13,10,12,12,13,14,12,13,12,15,14,12,13,13,16,16,10,12,12,17,16,12,13,13,16,15,11,13,13,17,17,15,15,15,16,17,14,15,15,19,19,10,12,12,15,16,11,13,12,15,18,11,13,13,16,16,14,15,15,17,17,14,15,15,17,19,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,16,15,11,12,12,14,15,7,10,10,13,13,10,12,12,14,13,10,11,12,13,13,12,13,13,16,16,12,12,13,15,15,8,10,10,13,13,10,12,12,14,14,10,12,12,13,13,12,13,13,16,16,12,13,13,15,15,10,12,12,16,15,11,13,13,17,16,11,12,13,16,15,13,15,15,19,17,14,15,14,17,16,10,12,12,16,16,11,13,13,16,17,12,13,13,15,17,14,15,15,17,19,14,15,15,17,17,8,11,11,16,16,10,13,12,17,17,10,12,13,16,16,15,17,16,20,19,14,15,17,18,19,9,12,12,16,17,11,13,14,17,18,11,13,13,19,18,16,17,18,19,19,15,16,16,19,19,9,12,12,16,17,11,14,13,18,17,11,13,13,17,17,16,17,16,20,19,14,16,16,18,18,12,15,15,19,17,14,15,16,0,20,13,15,16,20,17,18,16,20,0,0,15,16,19,20,0,12,15,14,18,19,13,16,15,20,19,13,16,15,20,18,17,18,17,0,20,16,17,16,0,0,8,11,11,16,15,10,12,12,17,17,10,13,13,17,16,14,16,15,18,20,15,16,16,19,19,9,12,12,16,16,11,13,13,17,16,11,13,14,17,18,15,15,16,20,20,16,16,17,19,19,9,13,12,16,17,11,14,13,17,17,11,14,14,18,17,14,16,15,18,19,16,17,18,18,19,12,14,15,19,18,13,15,16,18,0,13,14,15,0,0,16,16,17,20,0,17,17,20,20,0,12,15,15,19,20,13,15,15,0,0,14,16,15,0,0,15,18,16,0,0,17,18,16,0,19,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,7,8,8,6,8,8,5,7,7,6,8,8,7,8,8,4,7,7,7,8,8,7,8,8,7,8,8,8,9,10,8,10,10,6,8,8,8,10,8,8,10,10,5,7,7,7,8,8,7,8,8,6,8,8,8,10,10,8,8,10,6,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,11,11,8,10,10,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,12,11,11,13,13,11,13,14,7,11,11,10,13,12,11,13,14,4,8,8,8,11,11,8,11,12,8,11,11,11,13,13,10,12,13,8,11,11,11,14,13,11,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,12,13,14,13,17,12,15,17,5,5,6,10,10,11,15,16,4,3,3,7,5,7,10,16,7,7,7,10,9,11,12,16,6,5,5,9,5,6,10,16,8,7,7,9,6,7,9,16,11,7,3,6,4,5,8,16,12,9,4,8,5,7,9,16],"i8",N3,F.GLOBAL_BASE+155104),E3([2,0,0,0,64,0,0,0,184,148,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,135,2,0,0,0,0,0,0,0,0,0,0,0,0,0,96,135,2,0,0,0,0,0,0,0,0,0,0,0,0,0,136,135,2,0,0,0,0,0,0,0,0,0,0,0,0,0,176,135,2,0,0,0,0,0,0,0,0,0,0,0,0,0,216,135,2,0,0,0,0,0,0,136,2,0,40,136,2,0,0,0,0,0,0,0,0,0,80,136,2,0,120,136,2,0,160,136,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,248,134,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,6,12,9,14,9,9,19,6,1,5,5,8,7,9,19,12,4,4,7,7,9,11,18,9,5,6,6,8,7,8,17,14,8,7,8,8,10,12,18,9,6,8,6,8,6,8,18,9,8,11,8,11,7,5,15,16,18,18,18,17,15,11,18,4,0,0,0,81,0,0,0,80,148,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,148,2,0,0,0,0,0,4,0,0,0,81,0,0,0,232,147,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,64,148,2,0,0,0,0,0,4,0,0,0,113,2,0,0,88,145,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,147,2,0,0,0,0,0,4,0,0,0,113,2,0,0,200,142,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,145,2,0,0,0,0,0,2,0,0,0,81,0,0,0,72,142,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,160,142,2,0,0,0,0,0,2,0,0,0,169,0,0,0,96,141,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,16,142,2,0,0,0,0,0,2,0,0,0,25,0,0,0,40,141,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,141,2,0,0,0,0,0,4,0,0,0,113,2,0,0,152,138,2,0,1,0,0,0,0,32,21,225,0,32,245,96,3,0,0,0,0,0,0,0,16,141,2,0,0,0,0,0,2,0,0,0,169,0,0,0,176,137,2,0,1,0,0,0,0,128,211,224,0,0,122,96,4,0,0,0,0,0,0,0,96,138,2,0,0,0,0,0,2,0,0,0,169,0,0,0,200,136,2,0,1,0,0,0,0,0,88,224,0,0,16,96,4,0,0,0,0,0,0,0,120,137,2,0,0,0,0,0,3,4,4,6,6,7,7,8,8,9,9,9,8,4,5,5,6,6,8,8,9,8,9,9,9,9,4,5,5,7,6,8,8,8,8,9,8,9,8,6,7,7,7,8,8,8,9,9,9,9,9,9,6,7,7,7,7,8,8,9,9,9,9,9,9,7,8,8,8,8,9,8,9,9,10,9,9,10,7,8,8,8,8,9,9,9,9,9,9,10,10,8,9,9,9,9,9,9,9,9,10,10,9,10,8,9,9,9,9,9,9,9,9,9,9,10,10,9,9,9,10,9,9,10,9,9,10,10,10,10,9,9,9,9,9,9,9,10,9,10,10,10,10,9,9,9,10,9,9,10,10,9,10,10,10,10,9,9,9,10,9,9,9,10,10,10,10,10,10,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,6,6,6,6,9,8,9,8,8,8,5,7,7,7,7,8,8,8,10,8,10,8,9,5,7,7,8,7,7,8,10,10,11,10,12,11,7,8,8,9,9,9,10,11,11,11,11,11,11,7,8,8,8,9,9,9,10,10,10,11,11,12,7,8,8,9,9,10,11,11,12,11,12,11,11,7,8,8,9,9,10,10,11,11,11,12,12,11,8,10,10,10,10,11,11,14,11,12,12,12,13,9,10,10,10,10,12,11,14,11,14,11,12,13,10,11,11,11,11,13,11,14,14,13,13,13,14,11,11,11,12,11,12,12,12,13,14,14,13,14,12,11,12,12,12,12,13,13,13,14,13,14,14,11,12,12,14,12,13,13,12,13,13,14,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,5,3,11,11,11,11,11,11,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,5,5,4,5,5,6,5,5,6,5,6,6,5,6,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,10,11,11,15,15,4,5,5,8,8,9,9,11,11,12,12,16,16,4,5,6,8,8,9,9,11,11,12,12,14,14,7,8,8,9,9,10,10,11,12,13,13,16,17,7,8,8,9,9,10,10,12,12,12,13,15,15,9,10,10,10,10,11,11,12,12,13,13,15,16,9,9,9,10,10,11,11,13,12,13,13,17,17,10,11,11,11,12,12,12,13,13,14,15,0,18,10,11,11,12,12,12,13,14,13,14,14,17,16,11,12,12,13,13,14,14,14,14,15,16,17,16,11,12,12,13,13,14,14,14,14,15,15,17,17,14,15,15,16,16,16,17,17,16,0,17,0,18,14,15,15,16,16,0,15,18,18,0,16,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,8,8,9,9,4,6,5,8,7,8,8,10,9,4,6,6,8,8,8,8,10,10,7,8,7,9,9,9,9,11,10,7,8,8,9,9,9,9,10,11,8,8,8,9,9,10,10,11,11,8,8,8,9,9,10,10,11,11,9,10,10,11,10,11,11,12,12,9,10,10,10,11,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,9,9,5,6,6,10,9,5,6,6,9,10,10,10,10,12,11,9,10,10,12,12,5,7,7,10,10,7,7,8,10,11,7,7,8,10,11,10,10,11,11,13,10,10,11,11,13,6,7,7,10,10,7,8,7,11,10,7,8,7,10,10,10,11,9,13,11,10,11,10,13,11,10,10,10,14,13,10,11,11,14,13,10,10,11,13,14,12,12,13,15,15,12,12,13,13,14,10,10,10,12,13,10,11,10,13,13,10,11,11,13,13,12,13,12,14,13,12,13,13,14,13,5,7,7,10,10,7,8,8,11,10,7,8,8,10,10,11,11,11,13,13,10,11,11,12,12,7,8,8,11,11,7,8,9,10,12,8,9,9,11,11,11,10,12,11,14,11,11,12,13,13,6,8,8,10,11,7,9,7,12,10,8,9,10,11,12,10,12,10,14,11,11,12,11,13,13,10,11,11,14,14,10,10,11,13,14,11,12,12,15,13,12,11,14,12,16,12,13,14,15,16,10,10,11,13,14,10,11,10,14,12,11,12,12,13,14,12,13,11,15,12,14,14,14,15,15,5,7,7,10,10,7,8,8,10,10,7,8,8,10,11,10,11,10,12,12,10,11,11,12,13,6,8,8,11,11,8,9,9,12,11,7,7,9,10,12,11,11,11,12,13,11,10,12,11,15,7,8,8,11,11,8,9,9,11,11,7,9,8,12,10,11,12,11,13,12,11,12,10,15,11,10,11,10,14,12,11,12,11,14,13,10,10,11,13,14,13,13,13,17,15,12,11,14,12,15,10,10,11,13,14,11,12,12,14,14,10,11,10,14,13,13,14,13,16,17,12,14,11,16,12,9,10,10,14,13,10,11,10,14,14,10,11,11,13,13,13,14,14,16,15,12,13,13,14,14,9,11,10,14,13,10,10,12,13,14,11,12,11,14,13,13,14,14,14,15,13,14,14,15,15,9,10,11,13,14,10,11,10,15,13,11,11,12,12,15,13,14,12,15,14,13,13,14,14,15,12,13,12,16,14,11,11,12,15,14,13,15,13,16,14,13,12,15,12,17,15,16,15,16,16,12,12,13,13,15,11,13,11,15,14,13,13,14,15,17,13,14,12,0,13,14,15,14,15,0,9,10,10,13,13,10,11,11,13,13,10,11,11,13,13,12,13,12,14,14,13,14,14,15,17,9,10,10,13,13,11,12,11,15,12,10,10,11,13,16,13,14,13,15,14,13,13,14,15,16,10,10,11,13,14,11,11,12,13,14,10,12,11,14,14,13,13,13,14,15,13,15,13,16,15,12,13,12,15,13,12,15,13,15,15,11,11,13,14,15,15,15,15,15,17,13,12,14,13,17,12,12,14,14,15,13,13,14,14,16,11,13,11,16,15,14,16,16,17,0,14,13,11,16,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,8,8,5,8,7,9,9,5,7,8,9,9,9,10,9,12,12,9,9,10,11,12,6,8,8,10,10,8,10,10,11,11,8,9,10,11,11,10,11,11,13,13,10,11,11,12,13,6,8,8,10,10,8,10,9,11,11,8,10,10,11,11,10,11,11,13,12,10,11,11,13,12,9,11,11,15,13,10,12,11,15,13,10,11,11,15,14,12,14,13,16,15,12,13,13,17,16,9,11,11,13,15,10,11,12,14,15,10,11,12,14,15,12,13,13,15,16,12,13,13,16,16,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,14,8,11,10,13,12,10,11,12,12,13,10,12,12,13,13,12,12,13,13,15,11,12,13,15,14,7,10,10,12,12,9,12,11,13,12,10,12,12,13,14,12,13,12,15,13,11,13,12,14,15,10,12,12,16,14,11,12,12,16,15,11,13,12,17,16,13,13,15,15,17,13,15,15,20,17,10,12,12,14,16,11,12,12,15,15,11,13,13,15,18,13,14,13,15,15,13,15,14,16,16,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,15,7,10,10,13,12,10,12,12,14,13,9,10,12,12,13,11,13,13,15,15,11,12,13,13,15,8,10,10,12,13,10,12,12,13,13,10,12,11,13,13,11,13,12,15,15,12,13,12,15,13,10,12,12,16,14,11,12,12,16,15,10,12,12,16,14,14,15,14,18,16,13,13,14,15,16,10,12,12,14,16,11,13,13,16,16,11,13,12,14,16,13,15,15,18,18,13,15,13,16,14,8,11,11,16,16,10,13,13,17,16,10,12,12,16,15,14,16,15,20,17,13,14,14,17,17,9,12,12,16,16,11,13,14,16,17,11,13,13,16,16,15,15,19,18,0,14,15,15,18,18,9,12,12,17,16,11,13,12,17,16,11,12,13,15,17,15,16,15,0,19,14,15,14,19,18,12,14,14,0,16,13,14,14,19,18,13,15,16,17,16,15,15,17,18,0,14,16,16,19,0,12,14,14,16,18,13,15,13,17,18,13,15,14,17,18,15,18,14,18,18,16,17,16,0,17,8,11,11,15,15,10,12,12,16,16,10,13,13,16,16,13,15,14,17,17,14,15,17,17,18,9,12,12,16,15,11,13,13,16,16,11,12,13,17,17,14,14,15,17,17,14,15,16,0,18,9,12,12,16,17,11,13,13,16,17,11,14,13,18,17,14,16,14,17,17,15,17,17,18,18,12,14,14,0,16,13,15,15,19,0,12,13,15,0,0,14,17,16,19,0,16,15,18,18,0,12,14,14,17,0,13,14,14,17,0,13,15,14,0,18,15,16,16,0,18,15,18,15,0,17,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,7,8,8,6,7,9,5,7,7,6,8,7,7,9,8,4,7,7,7,9,8,7,8,8,7,9,8,8,8,10,9,10,10,6,8,8,7,10,8,9,10,10,5,7,7,7,8,8,7,8,9,6,8,8,9,10,10,7,8,10,6,8,9,9,10,10,8,10,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,10,11,8,10,11,5,8,8,8,11,10,8,11,10,4,9,9,8,11,11,8,11,11,8,12,11,10,12,14,11,13,13,7,11,11,10,13,11,11,13,14,4,8,9,8,11,11,8,11,12,7,11,11,11,14,13,10,11,13,8,11,12,11,13,13,10,14,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,12,12,14,12,14,14,14,14,12,6,6,8,9,9,11,14,12,4,2,6,6,7,11,14,13,6,5,7,8,9,11,14,13,8,5,8,6,8,12,14,12,7,7,8,8,8,10,14,12,6,3,4,4,4,7,14,11,7,4,6,6,6,8,14,1,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,0,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,0,0,128,63,0,0,0,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,224,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,64,65,0,0,72,65,0,0,80,65,0,0,88,65,0,0,96,65,0,0,104,65,0,0,112,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,0,0,128,63,0,0,0,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,64,65,0,0,72,65,0,0,80,65,0,0,88,65,0,0,96,65,0,0,104,65,0,0,112,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,0,0,128,63,0,0,0,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,64,64,0,0,128,64,0,0,128,64,0,0,160,64,0,0,160,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,128,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,2,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,2,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,64,0,0,224,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,32,65,0,0,32,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,200,47,1,0,32,161,2,0,200,47,1,0,96,161,2,0,200,47,1,0,160,161,2,0,200,47,1,0,224,161,2,0,200,47,1,0,32,162,2,0,200,47,1,0,96,162,2,0,200,47,1,0,160,162,2,0,200,47,1,0,224,162,2,0,200,47,1,0,32,163,2,0,200,47,1,0,96,163,2,0,200,47,1,0,160,163,2,0,2,0,0,0,0,0,0,0,32,0,0,0,64,171,3,0,216,86,4,0,0,87,4,0,40,87,4,0,232,87,4,0,2,0,0,0,0,0,0,0,32,0,0,0,64,171,3,0,168,88,4,0,208,88,4,0,40,87,4,0,232,87,4,0,2,0,0,0,0,0,0,0,16,0,0,0,64,171,3,0,248,5,4,0,32,6,4,0,72,6,4,0,8,7,4,0,2,0,0,0,0,0,0,0,32,0,0,0,64,171,3,0,200,7,4,0,240,7,4,0,72,6,4,0,8,7,4,0,2,0,0,0,0,0,0,0,16,0,0,0,64,171,3,0,88,182,3,0,128,182,3,0,168,182,3,0,104,183,3,0,2,0,0,0,0,0,0,0,32,0,0,0,64,171,3,0,40,184,3,0,80,184,3,0,168,182,3,0,104,183,3,0,2,0,0,0,0,0,0,0,16,0,0,0,24,73,1,0,152,128,3,0,152,128,3,0,192,128,3,0,192,128,3,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,128,129,3,0,128,129,3,0,192,128,3,0,192,128,3,0,2,0,0,0,0,0,0,0,16,0,0,0,24,73,1,0,176,85,3,0,176,85,3,0,216,85,3,0,216,85,3,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,152,86,3,0,152,86,3,0,216,85,3,0,216,85,3,0,2,0,0,0,0,0,0,0,16,0,0,0,24,73,1,0,32,42,3,0,32,42,3,0,72,42,3,0,72,42,3,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,8,43,3,0,8,43,3,0,72,42,3,0,72,42,3,0,2,0,0,0,0,0,0,0,16,0,0,0,24,73,1,0,8,254,2,0,8,254,2,0,48,254,2,0,48,254,2,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,240,254,2,0,240,254,2,0,48,254,2,0,48,254,2,0,2,0,0,0,0,0,0,0,16,0,0,0,224,163,2,0,8,235,2,0,8,235,2,0,48,235,2,0,48,235,2,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,240,235,2,0,240,235,2,0,48,235,2,0,48,235,2,0,2,0,0,0,0,0,0,0,16,0,0,0,224,163,2,0,8,216,2,0,8,216,2,0,48,216,2,0,48,216,2,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,240,216,2,0,240,216,2,0,48,216,2,0,48,216,2,0,2,0,0,0,0,0,0,0,16,0,0,0,224,163,2,0,168,195,2,0,168,195,2,0,208,195,2,0,208,195,2,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,144,196,2,0,144,196,2,0,208,195,2,0,208,195,2,0,2,0,0,0,0,0,0,0,16,0,0,0,224,163,2,0,248,174,2,0,248,174,2,0,32,175,2,0,32,175,2,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,224,175,2,0,224,175,2,0,32,175,2,0,32,175,2,0,0,0,0,0,255,255,255,255,255,255,255,255,10,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,F.GLOBAL_BASE+165344),E3([1,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,71,0,0,0,157,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,71,0,0,0,157,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,64,195,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,152,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,192,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,232,176,2,0,0,0,0,0,16,177,2,0,56,177,2,0,0,0,0,0,0,0,0,0,96,177,2,0,136,177,2,0,0,0,0,0,0,0,0,0,176,177,2,0,216,177,2,0,0,0,0,0,0,0,0,0,0,178,2,0,40,178,2,0,0,0,0,0,0,0,0,0,80,178,2,0,120,178,2,0,160,178,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,8,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,12,14,15,15,15,13,15,15,6,5,8,10,12,12,13,12,14,13,10,6,5,6,8,9,11,11,13,13,13,8,5,4,5,6,8,10,11,13,14,10,7,5,4,5,7,9,11,12,13,11,8,6,5,4,5,7,9,11,12,11,10,8,7,5,4,5,9,10,13,13,11,10,8,6,5,4,7,9,15,14,13,12,10,9,8,7,8,9,12,12,14,13,12,11,10,9,8,9,0,0,0,0,4,0,0,0,81,0,0,0,216,194,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,48,195,2,0,0,0,0,0,4,0,0,0,113,2,0,0,72,192,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,194,2,0,0,0,0,0,2,0,0,0,81,0,0,0,200,191,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,32,192,2,0,0,0,0,0,2,0,0,0,33,1,0,0,88,190,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,128,191,2,0,0,0,0,0,4,0,0,0,81,0,0,0,240,189,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,72,190,2,0,0,0,0,0,2,0,0,0,121,0,0,0,64,189,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,192,189,2,0,0,0,0,0,2,0,0,0,169,0,0,0,88,188,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,8,189,2,0,0,0,0,0,2,0,0,0,25,0,0,0,32,188,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,188,2,0,0,0,0,0,2,0,0,0,169,0,0,0,56,187,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,232,187,2,0,0,0,0,0,2,0,0,0,121,0,0,0,136,186,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,8,187,2,0,0,0,0,0,2,0,0,0,225,0,0,0,96,185,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,72,186,2,0,0,0,0,0,2,0,0,0,185,1,0,0,72,183,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,8,185,2,0,0,0,0,0,2,0,0,0,105,1,0,0,136,181,2,0,1,0,0,0,128,93,176,225,0,24,61,97,5,0,0,0,0,0,0,0,248,182,2,0,0,0,0,0,2,0,0,0,105,1,0,0,200,179,2,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,56,181,2,0,0,0,0,0,1,0,0,0,49,0,0,0,200,178,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,0,179,2,0,0,0,0,0,2,4,4,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,8,7,9,8,9,9,10,10,11,11,11,11,6,5,5,8,8,9,9,9,8,10,9,11,10,12,12,13,12,13,13,5,5,5,8,8,9,9,9,9,10,10,11,11,12,12,13,12,13,13,17,8,8,9,9,9,9,9,9,10,10,12,11,13,12,13,13,13,13,18,8,8,9,9,9,9,9,9,11,11,12,12,13,13,13,13,13,13,17,13,12,9,9,10,10,10,10,11,11,12,12,12,13,13,13,14,14,18,13,12,9,9,10,10,10,10,11,11,12,12,13,13,13,14,14,14,17,18,18,10,10,10,10,11,11,11,12,12,12,14,13,14,13,13,14,18,18,18,10,9,10,9,11,11,12,12,12,12,13,13,15,14,14,14,18,18,16,13,14,10,11,11,11,12,13,13,13,13,14,13,13,14,14,18,18,18,14,12,11,9,11,10,13,12,13,13,13,14,14,14,13,14,18,18,17,18,18,11,12,12,12,13,13,14,13,14,14,13,14,14,14,18,18,18,18,17,12,10,12,9,13,11,13,14,14,14,14,14,15,14,18,18,17,17,18,14,15,12,13,13,13,14,13,14,14,15,14,15,14,18,17,18,18,18,15,15,12,10,14,10,14,14,13,13,14,14,14,14,18,16,18,18,18,18,17,14,14,13,14,14,13,13,14,14,14,15,15,18,18,18,18,17,17,17,14,14,14,12,14,13,14,14,15,14,15,14,18,18,18,18,18,18,18,17,16,13,13,13,14,14,14,14,15,16,15,18,18,18,18,18,18,18,17,17,13,13,13,13,14,13,14,15,15,15,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,4,3,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,4,5,6,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,4,6,6,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,4,6,6,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,7,7,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,10,9,9,9,10,10,10,10,10,10,10,9,9,9,9,9,9,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,9,9,10,9,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,9,9,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,10,10,9,9,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,9,9,9,9,9,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,6,8,8,8,8,9,9,10,10,11,10,6,5,5,7,7,9,9,8,9,10,10,11,11,12,12,6,5,5,7,7,9,9,9,9,10,10,11,11,12,12,21,7,8,8,8,9,9,9,9,10,10,11,11,12,12,21,8,8,8,8,9,9,9,9,10,10,11,11,12,12,21,11,12,9,9,10,10,10,10,10,11,11,12,12,12,21,12,12,9,8,10,10,10,10,11,11,12,12,13,13,21,21,21,9,9,9,9,11,11,11,11,12,12,12,13,21,20,20,9,9,9,9,10,11,11,11,12,12,13,13,20,20,20,13,13,10,10,11,11,12,12,13,13,13,13,20,20,20,13,13,10,10,11,11,12,12,13,13,13,13,20,20,20,20,20,12,12,12,12,12,12,13,13,14,14,20,20,20,20,20,12,12,12,11,13,12,13,13,14,14,20,20,20,20,20,15,16,13,12,13,13,14,13,14,14,20,20,20,20,20,16,15,12,12,13,12,14,13,14,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,5,6,6,6,6,7,7,7,7,7,7,7,6,6,6,6,7,7,7,7,7,7,7,6,6,6,6,7,7,7,7,7,7,8,6,6,6,6,7,7,7,7,7,7,8,8,8,6,6,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,10,10,11,11,6,4,4,6,6,8,8,9,9,10,10,12,12,6,4,5,6,6,8,8,9,9,10,10,12,12,20,6,6,6,6,8,8,9,10,11,11,12,12,20,6,6,6,6,8,8,10,10,11,11,12,12,20,10,10,7,7,9,9,10,10,11,11,12,12,20,11,11,7,7,9,9,10,10,11,11,12,12,20,20,20,9,9,9,9,11,11,12,12,13,13,20,20,20,9,9,9,9,11,11,12,12,13,13,20,20,20,13,13,10,10,11,11,12,13,13,13,20,20,20,13,13,10,10,11,11,12,13,13,13,20,20,20,20,19,12,12,12,12,13,13,14,15,19,19,19,19,19,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,4,4,4,5,5,5,4,4,5,5,5,4,4,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,9,9,5,4,4,6,6,8,8,9,9,9,9,10,10,6,4,4,6,6,8,8,9,9,9,9,10,10,0,6,6,7,7,8,8,9,9,10,10,11,11,0,6,6,7,7,8,8,9,9,10,10,11,11,0,10,10,8,8,9,9,10,10,11,11,12,12,0,11,11,8,8,9,9,10,10,11,11,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,7,7,11,5,5,6,6,7,7,7,7,8,8,11,5,5,6,6,7,7,7,7,8,8,11,5,5,6,6,7,7,8,8,8,8,11,11,11,6,6,7,7,7,8,8,8,11,11,11,6,6,7,7,7,8,8,8,11,11,11,6,6,7,7,7,7,8,8,11,11,11,7,7,7,7,7,7,8,8,11,11,11,10,10,7,7,7,7,8,8,11,11,11,11,11,7,7,7,7,7,7,11,11,11,11,11,7,7,7,7,7,7,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,7,6,9,10,10,10,10,9,4,6,7,9,10,10,10,9,10,5,9,9,9,11,11,10,11,11,7,10,9,11,12,11,12,12,12,7,9,10,11,11,12,12,12,12,6,10,10,10,12,12,10,12,11,7,10,10,11,12,12,11,12,12,7,10,10,11,12,12,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,10,10,0,5,4,5,5,7,7,8,8,8,8,9,9,10,10,11,11,0,5,5,6,6,7,7,8,8,8,8,9,9,10,10,11,11,0,6,5,6,6,7,7,8,8,9,9,10,10,11,11,11,12,0,0,0,6,6,7,7,8,8,9,9,10,10,11,11,12,12,0,0,0,7,7,7,7,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,7,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,3,4,4,5,5,6,6,8,8,0,4,4,5,5,6,7,8,8,0,4,4,5,5,7,7,8,8,0,5,5,6,6,7,7,9,9,0,0,0,6,6,7,7,9,9,0,0,0,7,7,8,8,9,9,0,0,0,7,7,8,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,0,5,5,8,8,0,5,5,8,8,0,7,7,9,9,0,0,0,9,9,6,7,7,9,8,0,8,8,9,9,0,8,7,9,9,0,9,10,10,10,0,0,0,11,10,6,7,7,8,9,0,8,8,9,9,0,7,8,9,9,0,10,9,11,10,0,0,0,10,10,8,9,8,10,10,0,10,10,12,11,0,10,10,11,11,0,12,13,13,13,0,0,0,13,12,8,8,9,10,10,0,10,10,11,12,0,10,10,11,11,0,13,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,7,10,10,0,7,7,10,9,0,7,7,10,10,0,9,9,10,10,0,0,0,10,10,6,7,8,10,10,0,7,7,9,10,0,7,7,10,10,0,9,9,10,10,0,0,0,10,10,8,9,9,11,11,0,10,10,11,11,0,10,10,11,11,0,12,12,12,12,0,0,0,12,12,8,9,10,11,11,0,9,10,11,11,0,10,10,11,11,0,12,12,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,10,10,0,7,7,10,10,0,7,7,10,9,0,9,9,10,10,0,0,0,10,10,6,7,8,10,10,0,7,7,10,10,0,7,7,9,10,0,9,9,10,10,0,0,0,10,10,8,10,9,12,11,0,10,10,12,11,0,10,9,11,11,0,11,12,12,12,0,0,0,12,12,8,9,10,11,12,0,10,10,11,11,0,9,10,11,11,0,12,11,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,9,12,12,0,9,9,12,11,0,9,9,11,11,0,10,10,12,11,0,0,0,11,12,7,9,10,12,12,0,9,9,11,12,0,9,9,11,11,0,10,10,11,12,0,0,0,11,11,9,11,10,13,12,0,10,10,12,12,0,10,10,12,12,0,11,11,12,12,0,0,0,13,12,9,10,11,12,13,0,10,10,12,12,0,10,10,12,12,0,11,12,12,12,0,0,0,12,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,10,13,13,0,10,10,12,12,0,10,10,12,12,0,11,12,12,12,0,0,0,12,12,9,10,11,13,13,0,10,10,12,12,0,10,10,12,12,0,12,11,13,12,0,0,0,12,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,5,5,0,5,5,6,8,8,0,9,8,0,9,8,6,8,8,0,8,9,0,8,9,0,0,0,0,0,0,0,0,0,5,8,8,0,7,7,0,8,8,5,8,8,0,7,8,0,8,8,0,0,0,0,0,0,0,0,0,5,9,8,0,8,8,0,7,7,5,8,9,0,8,8,0,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,13,18,16,17,17,19,18,19,19,5,7,10,11,12,12,13,16,17,18,6,6,7,7,9,9,10,14,17,19,8,7,6,5,6,7,9,12,19,17,8,7,7,6,5,6,8,11,15,19,9,8,7,6,5,5,6,8,13,15,11,10,8,8,7,5,4,4,10,14,12,13,11,9,7,6,4,2,6,12,18,16,16,13,8,7,7,5,8,13,16,17,18,15,11,9,9,8,10,13,0,0,0,0,2,0,0,0,100,0,0,0,160,215,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,197,2,0,0,0,0,0,0,0,0,0,0,0,0,0,72,197,2,0,0,0,0,0,0,0,0,0,0,0,0,0,112,197,2,0,0,0,0,0,0,0,0,0,0,0,0,0,152,197,2,0,0,0,0,0,192,197,2,0,232,197,2,0,0,0,0,0,0,0,0,0,16,198,2,0,56,198,2,0,0,0,0,0,0,0,0,0,96,198,2,0,136,198,2,0,0,0,0,0,0,0,0,0,176,198,2,0,216,198,2,0,0,0,0,0,0,0,0,0,0,199,2,0,40,199,2,0,80,199,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,184,196,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,12,13,14,14,14,13,14,14,6,4,5,8,10,10,11,11,14,13,9,5,4,5,7,8,9,10,13,13,12,7,5,4,5,6,8,9,12,13,13,9,6,5,5,5,7,9,11,14,12,10,7,6,5,4,6,7,10,11,12,11,9,8,7,5,5,6,10,10,13,12,10,9,8,6,6,5,8,10,14,13,12,12,11,10,9,7,8,10,12,13,14,14,13,12,11,9,9,10,0,0,0,0,4,0,0,0,81,0,0,0,56,215,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,144,215,2,0,0,0,0,0,4,0,0,0,113,2,0,0,168,212,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,32,215,2,0,0,0,0,0,2,0,0,0,81,0,0,0,40,212,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,212,2,0,0,0,0,0,2,0,0,0,33,1,0,0,184,210,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,211,2,0,0,0,0,0,4,0,0,0,81,0,0,0,80,210,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,168,210,2,0,0,0,0,0,2,0,0,0,121,0,0,0,160,209,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,32,210,2,0,0,0,0,0,2,0,0,0,169,0,0,0,184,208,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,104,209,2,0,0,0,0,0,2,0,0,0,25,0,0,0,128,208,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,208,2,0,0,0,0,0,2,0,0,0,169,0,0,0,152,207,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,72,208,2,0,0,0,0,0,2,0,0,0,121,0,0,0,232,206,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,104,207,2,0,0,0,0,0,2,0,0,0,225,0,0,0,192,205,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,168,206,2,0,0,0,0,0,2,0,0,0,185,1,0,0,168,203,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,104,205,2,0,0,0,0,0,2,0,0,0,33,1,0,0,56,202,2,0,1,0,0,0,0,24,157,225,0,24,61,97,5,0,0,0,0,0,0,0,96,203,2,0,0,0,0,0,2,0,0,0,105,1,0,0,120,200,2,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,232,201,2,0,0,0,0,0,1,0,0,0,49,0,0,0,120,199,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,176,199,2,0,0,0,0,0,2,4,4,4,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,6,7,7,7,7,8,8,9,9,10,10,10,10,11,11,6,6,6,8,8,9,8,8,7,10,8,11,10,12,11,12,12,13,13,5,5,6,8,8,9,9,8,8,10,9,11,11,12,12,13,13,13,13,17,8,8,9,9,9,9,9,9,10,9,12,10,12,12,13,12,13,13,17,9,8,9,9,9,9,9,9,10,10,12,12,12,12,13,13,13,13,17,13,13,9,9,10,10,10,10,11,11,12,11,13,12,13,13,14,15,17,13,13,9,8,10,9,10,10,11,11,12,12,14,13,15,13,14,15,17,17,17,9,10,9,10,11,11,12,12,12,12,13,13,14,14,15,15,17,17,17,9,8,9,8,11,11,12,12,12,12,14,13,14,14,14,15,17,17,17,12,14,9,10,11,11,12,12,14,13,13,14,15,13,15,15,17,17,17,13,11,10,8,11,9,13,12,13,13,13,13,13,14,14,14,17,17,17,17,17,11,12,11,11,13,13,14,13,15,14,13,15,16,15,17,17,17,17,17,11,11,12,8,13,12,14,13,17,14,15,14,15,14,17,17,17,17,17,15,15,12,12,12,12,13,14,14,14,15,14,17,14,17,17,17,17,17,16,17,12,12,13,12,13,13,14,14,14,14,14,14,17,17,17,17,17,17,17,14,14,13,12,13,13,15,15,14,13,15,17,17,17,17,17,17,17,17,13,14,13,13,13,13,14,15,15,15,14,15,17,17,17,17,17,17,17,16,15,13,14,13,13,14,14,15,14,14,16,17,17,17,17,17,17,17,16,16,13,14,13,13,14,14,15,14,15,14,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,4,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,4,7,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,4,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,4,5,5,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,10,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,9,10,10,9,10,10,10,10,9,10,9,10,10,9,10,10,10,10,10,10,10,9,10,10,10,10,10,10,9,9,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,9,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,10,9,10,9,9,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,6,8,8,8,7,9,8,10,10,11,10,6,5,5,7,7,9,9,8,8,10,10,11,11,12,11,6,5,5,7,7,9,9,9,9,10,10,11,11,12,12,20,8,8,8,8,9,9,9,9,10,10,11,11,12,12,20,8,8,8,8,10,9,9,9,10,10,11,11,12,12,20,12,12,9,9,10,10,10,10,10,11,12,12,12,12,20,12,12,9,9,10,10,10,10,11,11,12,12,13,13,20,20,20,9,9,9,9,11,10,11,11,12,12,12,13,20,19,19,9,9,9,9,11,11,11,12,12,12,13,13,19,19,19,13,13,10,10,11,11,12,12,13,13,13,13,19,19,19,14,13,11,10,11,11,12,12,12,13,13,13,19,19,19,19,19,12,12,12,12,13,13,13,13,14,13,19,19,19,19,19,12,12,12,11,12,12,13,14,14,14,19,19,19,19,19,16,15,13,12,13,13,13,14,14,14,19,19,19,19,19,17,17,13,12,13,11,14,13,15,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,4,5,6,6,6,7,7,7,7,7,7,8,6,6,6,7,7,7,7,7,7,7,8,6,6,6,6,7,7,7,7,7,7,8,6,6,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,7,9,9,10,10,12,12,6,5,5,7,7,8,8,10,10,11,11,12,12,7,5,5,7,7,8,8,10,10,11,11,12,12,21,7,7,7,7,8,9,10,10,11,11,12,12,21,7,7,7,7,9,9,10,10,12,12,13,13,21,11,11,8,8,9,9,11,11,12,12,13,13,21,11,11,8,8,9,9,11,11,12,12,13,13,21,21,21,10,10,10,10,11,11,12,13,13,13,21,21,21,10,10,10,10,11,11,13,13,14,13,21,21,21,13,13,11,11,12,12,13,13,14,14,21,21,21,14,14,11,11,12,12,13,13,14,14,21,21,21,21,20,13,13,13,12,14,14,16,15,20,20,20,20,20,13,13,13,13,14,13,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,4,4,5,5,5,4,4,5,5,5,4,4,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,9,9,10,10,11,11,6,5,5,7,7,8,8,9,9,10,10,11,11,0,7,7,7,7,9,9,10,10,10,10,11,11,0,7,7,7,7,9,9,10,10,10,10,11,11,0,11,11,9,9,10,10,11,11,11,11,12,12,0,12,12,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,6,6,7,7,8,8,8,8,11,4,5,6,6,7,7,8,8,8,8,11,5,5,6,6,7,7,8,8,8,9,12,5,5,6,6,7,7,8,8,9,9,12,12,12,6,6,7,7,8,8,9,9,11,11,11,6,6,7,7,8,8,8,8,11,11,11,6,6,7,7,8,8,8,8,11,11,11,7,7,7,8,8,8,8,8,11,11,11,11,11,7,7,8,8,8,8,11,11,11,11,11,7,7,7,7,8,8,11,11,11,11,11,7,7,7,7,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,7,6,10,10,10,10,10,10,4,6,6,10,10,10,10,9,10,5,10,10,9,11,11,10,11,11,7,10,10,11,12,12,12,12,12,7,10,10,11,12,12,12,12,12,6,10,10,10,12,12,10,12,12,7,10,10,11,12,12,12,12,12,7,10,10,11,12,12,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,8,8,8,8,9,9,10,10,11,11,0,4,4,6,6,7,7,8,8,9,8,10,10,11,11,11,11,0,4,4,6,6,7,7,8,8,9,9,10,10,11,11,11,11,0,6,5,6,6,7,7,9,9,9,9,10,10,11,11,12,12,0,0,0,6,6,7,7,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,11,12,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,11,12,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,4,5,5,7,7,9,9,0,4,4,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,5,5,6,6,8,8,10,10,0,0,0,6,6,8,8,10,10,0,0,0,7,7,9,9,10,10,0,0,0,7,7,8,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,0,5,5,8,8,0,5,5,8,8,0,7,7,9,9,0,0,0,9,9,5,7,7,9,9,0,8,7,10,9,0,8,7,10,9,0,10,10,11,11,0,0,0,11,11,5,7,7,9,9,0,7,8,9,10,0,7,8,9,10,0,10,10,11,11,0,0,0,11,11,8,9,9,11,10,0,11,10,12],"i8",N3,F.GLOBAL_BASE+175348),E3([11,0,11,10,12,12,0,13,13,14,14,0,0,0,14,13,8,9,9,10,11,0,10,11,12,12,0,10,11,12,12,0,13,13,14,14,0,0,0,13,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,11,10,0,7,7,10,10,0,7,7,10,10,0,9,9,10,10,0,0,0,11,10,5,7,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,10,0,0,0,10,10,8,10,9,12,12,0,10,10,12,11,0,10,10,12,12,0,12,12,13,12,0,0,0,13,12,8,9,10,12,12,0,10,10,11,12,0,10,10,11,12,0,12,12,13,13,0,0,0,12,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,7,11,10,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,10,10,6,7,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,10,0,0,0,10,10,9,10,9,12,12,0,10,10,12,12,0,10,10,12,11,0,12,12,13,13,0,0,0,13,12,8,9,10,12,12,0,10,10,12,12,0,10,10,11,12,0,12,12,13,13,0,0,0,12,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,13,13,0,9,9,12,12,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,7,10,10,13,13,0,9,9,12,12,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,9,11,11,14,13,0,10,10,13,12,0,11,10,13,12,0,12,12,13,12,0,0,0,13,13,9,11,11,13,14,0,10,11,12,13,0,10,11,13,13,0,12,12,12,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,11,14,14,0,10,11,13,13,0,11,10,13,13,0,11,12,13,13,0,0,0,13,12,9,11,11,14,14,0,11,10,13,13,0,10,11,13,13,0,12,12,13,13,0,0,0,12,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,5,5,0,5,5,5,7,7,0,9,8,0,9,8,6,7,7,0,8,9,0,8,9,0,0,0,0,0,0,0,0,0,5,9,8,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,0,0,5,9,8,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,11,13,14,15,15,18,17,19,17,5,6,8,9,10,10,12,15,19,19,6,6,6,6,8,8,11,14,18,19,8,6,5,4,6,7,10,13,16,17,9,7,6,5,6,7,9,12,15,19,10,8,7,6,6,6,7,9,13,15,12,10,9,8,7,6,4,5,10,15,13,13,11,8,6,6,4,2,7,12,17,15,16,10,8,8,7,6,9,12,19,18,17,13,11,10,10,9,11,14,0,0,0,0,2,0,0,0,100,0,0,0,160,234,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,217,2,0,0,0,0,0,0,0,0,0,0,0,0,0,168,217,2,0,0,0,0,0,0,0,0,0,0,0,0,0,208,217,2,0,0,0,0,0,0,0,0,0,0,0,0,0,248,217,2,0,0,0,0,0,32,218,2,0,72,218,2,0,0,0,0,0,0,0,0,0,112,218,2,0,152,218,2,0,0,0,0,0,0,0,0,0,192,218,2,0,232,218,2,0,0,0,0,0,0,0,0,0,16,219,2,0,56,219,2,0,0,0,0,0,0,0,0,0,96,219,2,0,136,219,2,0,176,219,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,24,217,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,11,13,15,14,14,13,15,14,6,4,5,7,9,10,11,11,14,13,10,4,3,5,7,8,9,10,13,13,12,7,4,4,5,6,8,9,12,14,13,9,6,5,5,6,8,9,12,14,12,9,7,6,5,5,6,8,11,11,12,11,9,8,7,6,6,7,10,11,13,11,10,9,8,7,6,6,9,11,13,13,12,12,12,10,9,8,9,11,12,14,15,15,14,12,11,10,10,12,0,0,0,0,4,0,0,0,81,0,0,0,56,234,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,144,234,2,0,0,0,0,0,4,0,0,0,113,2,0,0,168,231,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,32,234,2,0,0,0,0,0,2,0,0,0,81,0,0,0,40,231,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,231,2,0,0,0,0,0,2,0,0,0,33,1,0,0,184,229,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,230,2,0,0,0,0,0,4,0,0,0,81,0,0,0,80,229,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,168,229,2,0,0,0,0,0,2,0,0,0,121,0,0,0,160,228,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,32,229,2,0,0,0,0,0,2,0,0,0,169,0,0,0,184,227,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,104,228,2,0,0,0,0,0,2,0,0,0,25,0,0,0,128,227,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,227,2,0,0,0,0,0,2,0,0,0,169,0,0,0,152,226,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,72,227,2,0,0,0,0,0,2,0,0,0,121,0,0,0,232,225,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,104,226,2,0,0,0,0,0,2,0,0,0,225,0,0,0,192,224,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,168,225,2,0,0,0,0,0,2,0,0,0,185,1,0,0,168,222,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,104,224,2,0,0,0,0,0,2,0,0,0,169,0,0,0,192,221,2,0,1,0,0,0,0,220,125,225,0,232,51,97,4,0,0,0,0,0,0,0,112,222,2,0,0,0,0,0,2,0,0,0,169,0,0,0,216,220,2,0,1,0,0,0,0,96,18,225,0,128,184,96,4,0,0,0,0,0,0,0,136,221,2,0,0,0,0,0,1,0,0,0,49,0,0,0,216,219,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,16,220,2,0,0,0,0,0,2,4,3,4,5,5,5,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,6,8,8,8,8,6,6,6,8,8,9,8,8,7,9,8,11,10,5,6,6,8,8,9,8,8,8,10,9,11,11,16,8,8,9,8,9,9,9,8,10,9,11,10,16,8,8,9,9,10,10,9,9,10,10,11,11,16,13,13,9,9,10,10,9,10,11,11,12,11,16,13,13,9,8,10,9,10,10,10,10,11,11,16,14,16,8,9,9,9,11,10,11,11,12,11,16,16,16,9,7,10,7,11,10,11,11,12,11,16,16,16,12,12,9,10,11,11,12,11,12,12,16,16,16,12,10,10,7,11,8,12,11,12,12,16,16,15,16,16,11,12,10,10,12,11,12,12,16,16,16,15,15,11,11,10,10,12,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,11,11,11,11,11,11,11,11,11,11,4,6,6,11,11,11,11,11,11,11,11,11,11,4,7,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,7,6,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,11,10,10,10,9,9,9,9,9,9,9,9,9,9,10,9,9,10,9,9,10,11,10,11,10,9,9,9,9,9,9,9,10,10,10,9,10,9,9,9,9,11,10,11,10,10,9,9,9,9,9,9,10,9,9,10,9,9,10,9,9,10,11,10,10,11,10,9,9,9,9,9,10,10,9,10,10,10,10,9,10,10,10,10,10,10,11,11,11,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,9,10,11,11,10,11,10,11,10,9,10,10,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,10,11,11,10,10,10,10,10,10,9,10,9,10,10,9,10,9,10,10,10,11,10,11,10,11,11,10,10,10,10,10,10,9,10,10,10,10,10,10,10,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,10,11,11,10,10,10,10,9,9,10,10,9,9,10,9,10,10,10,10,11,11,10,10,10,10,10,10,10,9,9,10,10,10,9,9,10,10,10,10,10,11,10,11,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,7,9,8,9,9,10,10,6,5,5,7,7,9,9,8,8,10,9,11,10,12,11,6,5,5,8,7,9,9,8,8,10,10,11,11,12,11,19,8,8,8,8,10,10,9,9,10,10,11,11,12,11,19,8,8,8,8,10,10,9,9,10,10,11,11,12,12,19,12,12,9,9,10,10,9,10,10,10,11,11,12,12,19,12,12,9,9,10,10,10,10,10,10,12,12,12,12,19,19,19,9,9,9,9,11,10,11,11,12,11,13,13,19,19,19,9,9,9,9,11,10,11,11,11,12,13,13,19,19,19,13,13,10,10,11,11,12,12,12,12,13,12,19,19,19,14,13,10,10,11,11,12,12,12,13,13,13,19,19,19,19,19,12,12,12,11,12,13,14,13,13,13,19,19,19,19,19,12,12,12,11,12,12,13,14,13,14,19,19,19,19,19,16,16,12,13,12,13,13,14,15,14,19,18,18,18,18,16,15,12,11,12,11,14,12,14,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,7,7,8,6,6,7,7,7,7,7,7,7,7,8,6,6,6,7,7,7,7,7,7,7,8,6,6,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,7,8,9,9,10,10,12,11,6,5,5,7,7,8,8,9,10,11,11,12,12,7,5,5,7,7,8,8,10,10,11,11,12,12,20,7,7,7,7,8,9,10,10,11,11,12,13,20,7,7,7,7,9,9,10,10,11,12,13,13,20,11,11,8,8,9,9,11,11,12,12,13,13,20,11,11,8,8,9,9,11,11,12,12,13,13,20,20,20,10,10,10,10,12,12,13,13,13,13,20,20,20,10,10,10,10,12,12,13,13,13,14,20,20,20,14,14,11,11,12,12,13,13,14,14,20,20,20,14,14,11,11,12,12,13,13,14,14,20,20,20,20,19,13,13,13,13,14,14,15,14,19,19,19,19,19,13,13,13,13,14,14,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,4,4,5,5,5,4,4,5,5,5,4,4,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,7,9,8,10,10,6,5,5,7,7,8,8,9,9,9,10,11,11,7,5,5,7,7,8,8,9,9,10,10,11,11,0,7,7,7,7,9,8,9,9,10,10,11,11,0,8,8,7,7,8,9,9,9,10,10,11,11,0,11,11,9,9,10,10,11,10,11,11,12,12,0,12,12,9,9,10,10,11,11,11,11,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,6,6,7,7,8,8,8,8,11,4,4,6,6,7,7,8,8,9,9,11,4,4,6,6,7,7,8,8,9,9,12,5,5,6,6,7,7,9,9,9,9,12,12,12,6,6,7,7,9,9,9,9,11,11,11,7,7,7,7,8,8,9,9,11,11,11,7,7,7,7,8,8,9,9,11,11,11,7,7,8,8,8,8,9,9,11,11,11,11,11,8,8,8,8,8,9,11,11,11,11,11,8,8,8,8,8,8,11,11,11,11,11,7,7,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,6,7,10,10,10,10,10,9,4,6,6,10,10,10,10,9,10,5,10,10,9,11,12,10,11,12,7,10,10,11,12,12,12,12,12,7,10,10,11,12,12,12,12,12,6,10,10,10,12,12,11,12,12,7,10,10,12,12,12,12,11,12,7,10,10,11,12,12,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,8,8,8,8,9,9,10,10,11,11,0,4,4,6,6,7,7,8,8,9,9,10,10,11,11,12,12,0,4,4,6,6,7,7,8,8,9,9,10,10,11,11,12,12,0,5,5,6,6,8,8,9,9,9,9,10,10,11,12,12,12,0,0,0,6,6,8,7,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,13,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,12,13,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,4,5,5,7,7,9,9,0,4,4,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,5,5,6,6,8,8,10,10,0,0,0,6,6,8,8,10,10,0,0,0,7,7,9,9,10,10,0,0,0,7,7,8,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,0,5,5,8,8,0,5,5,8,8,0,7,7,9,9,0,0,0,9,9,5,7,7,9,9,0,8,8,10,10,0,8,7,10,9,0,10,10,11,11,0,0,0,11,11,5,7,7,9,9,0,8,8,10,10,0,7,8,9,10,0,10,10,11,11,0,0,0,11,11,8,9,9,11,10,0,11,11,12,12,0,11,10,12,12,0,13,14,14,14,0,0,0,14,13,8,9,9,10,11,0,11,11,12,12,0,10,11,12,12,0,13,13,14,14,0,0,0,13,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,11,10,0,7,7,10,10,0,7,7,10,10,0,9,9,11,10,0,0,0,11,11,5,7,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,11,11,8,10,9,12,12,0,10,10,12,12,0,10,10,12,12,0,12,12,13,13,0,0,0,13,13,8,9,10,12,12,0,10,10,12,12,0,10,10,11,12,0,12,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,11,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,11,10,5,8,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,11,10,0,0,0,10,11,9,10,10,12,12,0,10,10,12,12,0,10,10,12,12,0,12,13,13,13,0,0,0,13,12,9,10,10,12,12,0,10,10,12,12,0,10,10,12,12,0,13,12,13,13,0,0,0,12,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,14,13,0,9,9,12,12,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,7,10,10,13,14,0,9,9,12,13,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,9,11,11,14,13,0,11,10,13,12,0,11,11,13,13,0,12,12,13,13,0,0,0,13,13,9,11,11,13,14,0,10,11,12,13,0,11,11,13,13,0,12,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,11,14,14,0,10,11,13,13,0,11,10,13,13,0,12,12,13,13,0,0,0,13,12,9,11,11,14,14,0,11,10,13,13,0,10,11,13,13,0,12,12,14,13,0,0,0,13,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,5,5,0,5,5,5,8,7,0,9,9,0,9,8,5,7,8,0,9,9,0,8,9,0,0,0,0,0,0,0,0,0,5,9,9,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,0,0,5,9,9,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,11,12,14,15,15,17,17,18,18,5,6,6,8,9,10,13,17,18,19,7,5,4,6,8,9,11,15,19,19,8,6,5,5,6,7,11,14,16,17,9,7,7,6,7,7,10,13,15,19,10,8,7,6,7,6,7,9,14,16,12,10,9,7,7,6,4,5,10,15,14,13,11,7,6,6,4,2,7,13,16,16,15,9,8,8,8,6,9,13,19,19,17,12,11,10,10,9,11,14,0,0,0,0,2,0,0,0,100,0,0,0,160,253,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,236,2,0,0,0,0,0,0,0,0,0,0,0,0,0,168,236,2,0,0,0,0,0,0,0,0,0,0,0,0,0,208,236,2,0,0,0,0,0,0,0,0,0,0,0,0,0,248,236,2,0,0,0,0,0,32,237,2,0,72,237,2,0,0,0,0,0,0,0,0,0,112,237,2,0,152,237,2,0,0,0,0,0,0,0,0,0,192,237,2,0,232,237,2,0,0,0,0,0,0,0,0,0,16,238,2,0,56,238,2,0,0,0,0,0,0,0,0,0,96,238,2,0,136,238,2,0,176,238,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,24,236,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,11,13,14,14,13,13,16,14,6,3,4,7,9,9,10,11,14,13,10,4,3,5,7,7,9,10,13,15,12,7,4,4,6,6,8,10,13,15,12,8,6,6,6,6,8,10,13,14,11,9,7,6,6,6,7,8,12,11,13,10,9,8,7,6,6,7,11,11,13,11,10,9,9,7,7,6,10,11,13,13,13,13,13,11,9,8,10,12,12,15,15,16,15,12,11,10,10,12,0,0,0,0,4,0,0,0,81,0,0,0,56,253,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,144,253,2,0,0,0,0,0,4,0,0,0,113,2,0,0,168,250,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,32,253,2,0,0,0,0,0,2,0,0,0,81,0,0,0,40,250,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,250,2,0,0,0,0,0,2,0,0,0,33,1,0,0,184,248,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,249,2,0,0,0,0,0,4,0,0,0,81,0,0,0,80,248,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,168,248,2,0,0,0,0,0,2,0,0,0,121,0,0,0,160,247,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,32,248,2,0,0,0,0,0,2,0,0,0,169,0,0,0,184,246,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,104,247,2,0,0,0,0,0,2,0,0,0,25,0,0,0,128,246,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,246,2,0,0,0,0,0,2,0,0,0,169,0,0,0,152,245,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,72,246,2,0,0,0,0,0,2,0,0,0,121,0,0,0,232,244,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,104,245,2,0,0,0,0,0,2,0,0,0,225,0,0,0,192,243,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,168,244,2,0,0,0,0,0,2,0,0,0,185,1,0,0,168,241,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,104,243,2,0,0,0,0,0,2,0,0,0,169,0,0,0,192,240,2,0,1,0,0,0,0,220,125,225,0,232,51,97,4,0,0,0,0,0,0,0,112,241,2,0,0,0,0,0,2,0,0,0,169,0,0,0,216,239,2,0,1,0,0,0,0,96,18,225,0,128,184,96,4,0,0,0,0,0,0,0,136,240,2,0,0,0,0,0,1,0,0,0,49,0,0,0,216,238,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,16,239,2,0,0,0,0,0,2,4,3,4,5,5,5,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,6,8,8,8,8,6,6,6,8,8,8,8,8,7,9,8,10,10,5,6,6,8,8,9,9,8,8,10,10,10,10,16,9,9,9,9,9,9,9,8,10,9,11,11,16,8,9,9,9,9,9,9,9,10,10,11,11,16,13,13,9,9,10,9,9,10,11,11,11,12,16,13,14,9,8,10,8,9,9,10,10,12,11,16,14,16,9,9,9,9,11,11,12,11,12,11,16,16,16,9,7,9,6,11,11,11,10,11,11,16,16,16,11,12,9,10,11,11,12,11,13,13,16,16,16,12,11,10,7,12,10,12,12,12,12,16,16,15,16,16,10,11,10,11,13,13,14,12,16,16,16,15,15,12,10,11,11,13,11,12,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,11,11,11,11,11,11,11,11,11,11,4,7,7,11,11,11,11,11,11,11,11,11,11,5,8,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,6,6,7,7,7,7,8,7,8,8,8,8,8,8,8,8,8,8,10,6,6,7,7,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,8,8,9,8,9,9,9,9,9,9,9,9,10,7,7,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,10,11,11,8,7,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,9,11,11,11,11,11,9,9,9,9,9,9,10,9,9,10,9,10,9,9,10,9,11,11,11,11,11,9,9,9,9,9,9,9,10,10,10,10,9,10,10,9,10,11,11,11,11,11,9,9,9,9,10,10,10,9,10,10,10,10,9,10,10,9,11,11,11,11,11,11,11,9,9,9,9,10,10,10,10,9,10,10,10,10,10,11,11,11,11,11,11,11,10,9,10,10,10,10,10,10,10,9,10,9,10,10,11,11,11,11,11,11,11,10,9,10,9,10,10,9,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,9,10,10,10,10,10,9,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,9,10,10,11,11,11,11,11,11,11,11,11,10,10,10,9,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,10,11,9,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,7,7,8,7,9,8,10,9,6,5,5,8,8,9,9,8,8,9,9,11,10,11,10,6,5,5,8,8,9,9,8,8,9,9,10,10,11,11,18,8,8,9,8,10,10,9,9,10,10,10,10,11,10,18,8,8,9,9,10,10,9,9,10,10,11,11,12,12,18,12,13,9,10,10,10,9,10,10,10,11,11,12,11,18,13,13,9,9,10,10,10,10,10,10,11,11,12,12,18,18,18,10,10,9,9,11,11,11,11,11,12,12,12,18,18,18,10,9,10,9,11,10,11,11,11,11,13,12,18,18,18,14,13,10,10,11,11,12,12,12,12,12,12,18,18,18,14,13,10,10,11,10,12,12,12,12,12,12,18,18,18,18,18,12,12,11,11,12,12,13,13,13,14,18,18,18,18,18,12,12,11,11,12,11,13,13,14,13,18,18,18,18,18,16,16,11,12,12,13,13,13,14,13,18,18,18,18,18,16,15,12,11,12,11,13,11,15,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,3,5,5,6,6,7,7,7,7,7,7,9,5,5,6,6,7,7,7,7,8,7,8,5,5,6,6,7,7,7,7,7,7,9,6,6,7,7,7,7,8,7,7,8,9,9,9,7,7,7,7,7,7,7,8,9,9,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,7,7,8,8,9,9,9,8,8,8,8,7,7,8,8,9,9,9,9,8,8,8,7,7,8,8,9,9,9,8,8,8,8,7,7,8,8,9,9,9,8,8,7,7,7,7,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,8,8,10,10,11,10,6,5,5,7,7,8,8,9,9,10,10,12,11,6,5,5,7,7,8,8,9,9,10,10,12,11,21,7,7,7,7,9,9,10,10,11,11,12,12,21,7,7,7,7,9,9,10,10,11,11,12,12,21,12,12,9,9,10,10,11,11,11,11,12,12,21,12,12,9,9,10,10,11,11,12,12,12,12,21,21,21,11,11,10,10,11,12,12,12,13,13,21,21,21,11,11,10,10,12,12,12,12,13,13,21,21,21,15,15,11,11,12,12,13,13,13,13,21,21,21,15,16,11,11,12,12,13,13,14,14,21,21,21,21,20,13,13,13,13,13,13,14,14,20,20,20,20,20,13,13,13,13,13,13,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,4,4,5,5,5,4,4,5,5,5,4,4,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,8,8,10,9,10,10,6,5,5,7,7,9,9,9,9,10,10,11,11,6,5,5,7,7,9,9,10,9,11,10,11,11,0,6,6,7,7,9,9,10,10,11,11,12,12,0,7,7,7,7,9,9,10,10,11,11,12,12,0,11,11,8,8,10,10,11,11,12,12,12,12,0,11,12,9,8,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,4,6,6,7,7,8,8,8,8,11,4,4,6,6,7,7,8,8,8,8,11,4,4,6,6,7,7,8,8,8,8,11,6,6,6,6,8,8,8,8,9,9,11,11,11,6,6,7,8,8,8,8,9,11,11,11,7,7,8,8,8,8,8,8,11,11,11,7,7,8,8,8,8,8,8,11,11,11,8,8,8,8,8,8,8,8,11,11,11,10,10,8,8,8,8,8,8,11,11,11,10,10,8,8,8,8,8,8,11,11,11,10,10,7,7,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,6,6,9,9,10,10,10,9,4,6,6,9,10,9,10,9,10,6,9,9,10,12,11,10,11,11,7,10,9,11,12,12,12,12,12,7,10,10,11,12,12,12,12,12,6,10,10,10,12,12,11,12,12,7,9,10,11,12,12,12,12,12,7,10,9,12,12,12,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,9,9,9,10,10,10,0,4,4,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,4,4,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,7,7,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,3,4,6,6,7,7,9,9,0,4,4,6,6,7,7,9,10,0,4,4,6,6,7,7,10,9,0,5,5,7,7,8,8,10,10,0,0,0,7,6,8,8,10,10,0,0,0,7,7,9,9,11,11,0,0,0,7,7,9,9,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,0,5,5,8,8,0,5,5,8,8,0,7,7,9,9,0,0,0,9,9,5,7,7,9,9,0,8,8,10,10,0,8,7,10,9,0,10,10,11,11,0,0,0,11,11,5,7,7,9,9,0,8,8,10,10,0,7,8,9,10,0,10,10,11,11,0,0,0,11,11,8,9,9,11,11,0,11,11,12,12,0,11,10,12,12,0,13,14,14,14,0,0,0,14,13,8,9,9,11,11,0,11,11,12,12,0,10,11,12,12,0,14,13,14,14,0,0,0,13,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,11,10,0,7,7,10,10,0,7,7,10,10,0,9,9,11,10,0,0,0,11,11,5,7,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,11,11,8,10,9,12,12,0,10,10,12,12,0,10,10,12,12,0,12,12,13,13,0,0,0,13,13,8,9,10,12,12,0,10,10,11,12,0,10,10,12,12,0,12,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,11,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,11,10,5,8,8,11,11,0,7,7,10,10,0,7,7,10,10,0,9,9,11,11,0,0,0,10,11,8,10,10,12,12,0,10,10,12,12,0,10,10,12,12,0,12,13,13,13,0,0,0,14,13,8,10,10,12,12,0,10,10,12,12,0,10,10,12,12,0,13,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,14,13,0,9,9,13,12,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,7,10,10,13,14,0,9,9,12,13,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,9,11,11,14,13,0,11,10,14,13,0,11,11,13,13,0,12,12,13,13,0,0,0,13,13,9,11,11,13,14,0,10,11,13,14,0,11,11,13,13,0,12,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,11,14,14,0,11,11,13,13,0,11,10,13,13,0,12,12,13,13],"i8",N3,F.GLOBAL_BASE+185588),E3([13,13,9,11,11,14,14,0,11,11,13,13,0,10,11,13,13,0,12,12,14,13,0,0,0,13,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,5,5,0,5,5,5,8,7,0,9,9,0,9,8,5,7,8,0,9,9,0,8,9,0,0,0,0,0,0,0,0,0,5,9,8,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,0,0,5,9,9,0,8,8,0,8,8,5,9,9,0,8,8,0,8,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,9,11,11,13,14,19,17,17,19,5,4,5,8,10,10,13,16,18,19,7,4,4,5,8,9,12,14,17,19,8,6,5,5,7,7,10,13,16,18,10,8,7,6,5,5,8,11,17,19,11,9,7,7,5,4,5,8,17,19,13,11,8,7,7,5,5,7,16,18,14,13,8,6,6,5,5,7,16,18,18,16,10,8,8,7,7,9,16,18,18,18,12,10,10,9,9,10,17,18,0,0,0,0,2,0,0,0,100,0,0,0,184,41,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,168,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,208,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,248,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,72,0,3,0,0,0,0,0,112,0,3,0,152,0,3,0,0,0,0,0,0,0,0,0,192,0,3,0,232,0,3,0,0,0,0,0,0,0,0,0,16,1,3,0,56,1,3,0,96,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,24,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,9,13,10,12,12,12,12,12,6,4,6,8,6,8,10,10,11,12,8,5,4,10,4,7,8,9,10,11,13,8,10,8,9,9,11,12,13,14,10,6,4,9,3,5,6,8,10,11,11,8,6,9,5,5,6,7,9,11,12,9,7,11,6,6,6,7,8,10,12,11,9,12,7,7,6,6,7,9,13,12,10,13,9,8,7,7,7,8,11,15,11,15,11,10,9,8,7,7,0,0,0,0,8,0,0,0,161,25,0,0,0,16,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,41,3,0,0,0,0,0,4,0,0,0,113,2,0,0,112,13,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,15,3,0,0,0,0,0,4,0,0,0,113,2,0,0,224,10,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,13,3,0,0,0,0,0,2,0,0,0,81,0,0,0,96,10,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,184,10,3,0,0,0,0,0,2,0,0,0,81,0,0,0,224,9,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,56,10,3,0,0,0,0,0,2,0,0,0,33,1,0,0,112,8,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,152,9,3,0,0,0,0,0,4,0,0,0,81,0,0,0,8,8,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,96,8,3,0,0,0,0,0,2,0,0,0,121,0,0,0,88,7,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,216,7,3,0,0,0,0,0,2,0,0,0,169,0,0,0,112,6,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,32,7,3,0,0,0,0,0,2,0,0,0,25,0,0,0,56,6,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,6,3,0,0,0,0,0,2,0,0,0,225,0,0,0,16,5,3,0,1,0,0,0,0,134,115,225,0,80,22,97,4,0,0,0,0,0,0,0,248,5,3,0,0,0,0,0,2,0,0,0,33,1,0,0,160,3,3,0,1,0,0,0,0,0,245,224,0,0,149,96,5,0,0,0,0,0,0,0,200,4,3,0,0,0,0,0,2,0,0,0,185,1,0,0,136,1,3,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,72,3,3,0,0,0,0,0,3,5,5,6,6,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,9,11,5,6,7,7,8,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,11,5,5,7,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,11,7,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,10,9,10,11,11,11,7,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,5,5,7,7,9,8,10,9,10,10,11,10,11,11,6,5,5,7,7,8,9,10,10,11,10,12,11,12,11,13,12,6,5,5,7,7,9,9,10,10,11,11,12,12,13,12,13,13,18,8,8,8,8,9,9,10,11,11,11,12,11,13,11,13,12,18,8,8,8,8,10,10,11,11,12,12,13,13,13,13,13,14,18,12,12,9,9,11,11,11,11,12,12,13,12,13,12,13,13,20,13,12,9,9,11,11,11,11,12,12,13,13,13,14,14,13,20,18,19,11,12,11,11,12,12,13,13,13,13,13,13,14,13,18,19,19,12,11,11,11,12,12,13,12,13,13,13,14,14,13,18,17,19,14,15,12,12,12,13,13,13,14,14,14,14,14,14,19,19,19,16,15,12,11,13,12,14,14,14,13,13,14,14,14,19,18,19,18,19,13,13,13,13,14,14,14,13,14,14,14,14,18,17,19,19,19,13,13,13,11,13,11,13,14,14,14,14,14,19,17,17,18,18,16,16,13,13,13,13,14,13,15,15,14,14,19,19,17,17,18,16,16,13,11,14,10,13,12,14,14,14,14,19,19,19,19,19,18,17,13,14,13,11,14,13,14,14,15,15,19,19,19,17,19,18,18,14,13,12,11,14,11,15,15,15,15,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,13,13,13,13,13,13,13,13,13,13,13,13,4,7,7,13,13,13,13,13,13,13,13,13,13,13,13,3,8,6,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,4,4,5,5,6,5,5,5,5,6,4,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,8,9,10,10,10,10,7,5,5,7,7,8,8,9,9,10,10,10,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,10,10,10,10,10,11,11,0,13,13,9,9,9,9,10,10,11,11,11,11,0,0,0,10,10,10,10,10,10,11,11,11,11,0,0,0,10,10,10,10,10,10,11,11,12,12,0,0,0,14,14,11,11,11,11,12,12,12,12,0,0,0,14,14,11,11,11,11,12,12,12,12,0,0,0,0,0,12,12,12,12,12,12,13,13,0,0,0,0,0,12,12,12,12,12,12,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,6,6,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,9,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,11,11,10,11,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,7,11,11,12,11,11,12,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,4,4,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,4,4,6,6,8,8,9,9,9,9,10,10,11,11,12,12,0,4,4,6,6,8,8,9,9,9,9,10,10,11,11,12,12,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,7,7,8,9,10,10,10,10,11,11,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,9,10,10,10,11,11,12,12,12,12,0,0,0,0,0,10,10,10,10,11,11,11,12,12,12,13,13,0,0,0,0,0,0,0,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,13,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,12,12,12,12,13,12,13,13,13,13,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,3,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,6,6,7,7,7,7,9,9,0,0,0,7,6,7,7,9,9,0,0,0,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,9,9,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,5,5,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,7,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,3,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,5,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,6,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,5,5,0,0,0,5,5,0,0,0,8,7,0,0,0,0,0,0,0,4,6,6,0,0,0,8,8,0,0,0,8,7,0,0,0,10,10,0,0,0,0,0,0,0,4,6,6,0,0,0,8,8,0,0,0,7,8,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,5,7,8,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,5,8,8,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,10,10,0,0,0,10,10,0,0,0,9,10,0,0,0,11,10,0,0,0,0,0,0,0,8,10,10,0,0,0,10,10,0,0,0,10,10,0,0,0,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,4,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,11,10],"i8",N3,F.GLOBAL_BASE+195830),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,8,10,14,11,11,12,16,15,17,5,5,7,9,7,8,10,13,17,17,7,5,5,10,5,7,8,11,13,15,10,8,10,8,8,8,11,15,18,18,8,5,5,8,3,4,6,10,14,16,9,7,6,7,4,3,5,9,14,18,10,9,8,10,6,5,6,9,14,18,12,12,11,12,8,7,8,11,14,18,14,13,12,10,7,5,6,9,14,18,14,14,13,10,6,5,6,8,11,16,0,0,0,0,2,0,0,0,100,0,0,0,72,85,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,192,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,232,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,16,44,3,0,0,0,0,0,0,0,0,0,0,0,0,0,56,44,3,0,0,0,0,0,0,0,0,0,0,0,0,0,96,44,3,0,0,0,0,0,136,44,3,0,176,44,3,0,0,0,0,0,0,0,0,0,216,44,3,0,0,45,3,0,0,0,0,0,0,0,0,0,40,45,3,0,80,45,3,0,120,45,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,48,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,11,11,11,11,10,11,12,11,5,2,11,5,6,6,7,9,11,12,11,9,6,10,6,7,8,9,10,11,11,5,11,7,8,8,9,11,13,14,11,6,5,8,4,5,7,8,10,11,10,6,7,7,5,5,6,8,9,11,10,7,8,9,6,6,6,7,8,9,11,9,9,11,7,7,6,6,7,9,12,12,10,13,9,8,7,7,7,8,11,13,11,14,11,10,9,8,7,7,0,0,0,0,8,0,0,0,161,25,0,0,144,59,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,56,85,3,0,0,0,0,0,4,0,0,0,113,2,0,0,0,57,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,59,3,0,0,0,0,0,4,0,0,0,113,2,0,0,112,54,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,56,3,0,0,0,0,0,2,0,0,0,81,0,0,0,240,53,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,72,54,3,0,0,0,0,0,2,0,0,0,81,0,0,0,112,53,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,200,53,3,0,0,0,0,0,2,0,0,0,33,1,0,0,0,52,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,40,53,3,0,0,0,0,0,4,0,0,0,81,0,0,0,152,51,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,240,51,3,0,0,0,0,0,2,0,0,0,121,0,0,0,232,50,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,104,51,3,0,0,0,0,0,2,0,0,0,169,0,0,0,0,50,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,176,50,3,0,0,0,0,0,2,0,0,0,25,0,0,0,200,49,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,49,3,0,0,0,0,0,2,0,0,0,169,0,0,0,224,48,3,0,1,0,0,0,0,136,93,225,0,176,19,97,4,0,0,0,0,0,0,0,144,49,3,0,0,0,0,0,2,0,0,0,225,0,0,0,184,47,3,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,160,48,3,0,0,0,0,0,2,0,0,0,185,1,0,0,160,45,3,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,96,47,3,0,0,0,0,0,2,5,5,6,6,7,7,7,7,8,8,8,8,8,8,8,8,9,9,9,9,11,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,10,11,6,6,7,7,8,8,8,8,9,9,9,9,9,9,10,9,10,10,10,10,11,7,7,7,7,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,12,11,11,7,7,8,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,12,11,12,8,8,8,8,9,9,9,9,9,10,10,10,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,12,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,12,11,11,11,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,12,12,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,12,11,12,11,11,11,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,12,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,12,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,12,11,11,12,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,12,12,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,12,12,12,11,11,11,12,11,11,11,10,10,10,10,10,10,10,10,10,10,10,12,11,12,12,12,12,12,11,12,11,11,10,10,10,10,10,10,10,10,10,10,12,12,12,12,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,5,5,7,7,9,8,10,9,10,10,10,10,6,5,5,7,7,9,8,10,9,11,10,12,12,13,13,6,5,5,7,7,9,9,10,10,11,11,12,12,12,13,19,8,8,8,8,9,9,10,10,12,11,12,12,13,13,19,8,8,8,8,9,9,11,11,12,12,13,13,13,13,19,12,12,9,9,11,11,11,11,12,11,13,12,13,13,18,12,12,9,9,11,10,11,11,12,12,12,13,13,14,19,18,18,11,11,11,11,12,12,13,12,13,13,14,14,16,18,18,11,11,11,10,12,11,13,13,13,13,13,14,17,18,18,14,15,11,12,12,13,13,13,13,14,14,14,18,18,18,15,15,12,10,13,10,13,13,13,13,13,14,18,17,18,17,18,12,13,12,13,13,13,14,14,16,14,18,17,18,18,17,13,12,13,10,12,12,14,14,14,14,17,18,18,18,18,14,15,12,12,13,12,14,14,15,15,18,18,18,17,18,15,14,12,11,12,12,14,14,14,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,3,12,12,12,12,12,12,12,12,12,12,4,7,7,12,12,12,12,12,12,12,12,12,12,3,8,8,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,5,6,5,5,5,5,6,5,4,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,8,8,9,10,11,11,7,5,5,7,7,8,8,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,9,10,10,10,10,11,11,0,13,13,9,9,10,9,10,10,11,11,11,12,0,0,0,10,10,10,10,10,10,11,11,12,12,0,0,0,10,10,10,10,10,10,11,11,12,12,0,0,0,14,14,11,11,11,11,12,12,12,12,0,0,0,14,14,11,11,11,11,12,12,12,13,0,0,0,0,0,12,12,12,12,12,12,13,13,0,0,0,0,0,13,12,12,12,12,12,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,6,6,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,9,8,10,10,10,10,10,8,8,8,8,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,11,11,10,11,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,7,11,11,12,11,11,12,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,4,4,6,6,8,8,9,9,8,8,9,9,10,10,11,11,0,4,4,6,6,8,8,9,9,9,9,10,10,11,11,11,11,0,4,4,7,6,8,8,9,9,9,9,10,10,11,11,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,9,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,9,9,10,10,11,11,11,12,12,12,0,0,0,0,0,10,10,10,10,11,11,11,11,12,12,13,12,0,0,0,0,0,0,0,10,10,11,11,11,11,12,12,12,12,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,12,12,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,0,0,12,12,12,12,12,13,13,13,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,3,3,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,4,5,6,6,7,7,9,9,0,6,6,7,7,8,8,10,10,0,0,0,7,7,8,8,10,9,0,0,0,9,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,10,10,9,9,11,11,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,5,5,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,8,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,0,0,0,5,5,0,0,0,5,5,0,0,0,7,7,0,0,0,0,0,0,0,5,6,6,0,0,0,7,7,0,0,0,7,7,0,0,0,10,10,0,0,0,0,0,0,0,5,6,6,0,0,0,7,7,0,0,0,7,7,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,5,7,8,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,9,9,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,8,10,10,0,0,0,9,9,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,5,6,6,0,0,0,0,0,0,5,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,6,8,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9],"i8",N3,F.GLOBAL_BASE+207264),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,14,10,15,10,12,15,16,15,4,2,11,5,10,6,8,11,14,14,14,10,7,11,6,8,10,11,13,15,9,4,11,5,9,6,9,12,14,15,14,9,6,9,4,5,7,10,12,13,9,5,7,6,5,5,7,10,13,13,10,8,9,8,7,6,8,10,14,14,13,11,10,10,7,7,8,11,14,15,13,12,9,9,6,5,7,10,14,17,15,13,11,10,6,6,7,9,12,17,0,0,0,0,2,0,0,0,100,0,0,0,48,128,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,80,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,120,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,160,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,200,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,240,87,3,0,0,0,0,0,24,88,3,0,64,88,3,0,0,0,0,0,0,0,0,0,104,88,3,0,144,88,3,0,0,0,0,0,0,0,0,0,184,88,3,0,224,88,3,0,8,89,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,192,86,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,6,11,11,11,11,10,10,12,11,5,2,11,5,6,6,7,9,11,13,13,10,7,11,6,7,8,9,10,12,11,5,11,6,8,7,9,11,14,15,11,6,6,8,4,5,7,8,10,13,10,5,7,7,5,5,6,8,10,11,10,7,7,8,6,5,5,7,9,9,11,8,8,11,8,7,6,6,7,9,12,11,10,13,9,9,7,7,7,9,11,13,12,15,12,11,9,8,8,8,0,0,0,0,8,0,0,0,161,25,0,0,120,102,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,32,128,3,0,0,0,0,0,4,0,0,0,113,2,0,0,232,99,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,96,102,3,0,0,0,0,0,4,0,0,0,113,2,0,0,88,97,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,99,3,0,0,0,0,0,2,0,0,0,81,0,0,0,216,96,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,48,97,3,0,0,0,0,0,2,0,0,0,81,0,0,0,88,96,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,176,96,3,0,0,0,0,0,2,0,0,0,33,1,0,0,232,94,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,16,96,3,0,0,0,0,0,4,0,0,0,81,0,0,0,128,94,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,216,94,3,0,0,0,0,0,2,0,0,0,121,0,0,0,208,93,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,80,94,3,0,0,0,0,0,2,0,0,0,169,0,0,0,232,92,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,152,93,3,0,0,0,0,0,2,0,0,0,25,0,0,0,176,92,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,92,3,0,0,0,0,0,2,0,0,0,169,0,0,0,200,91,3,0,1,0,0,0,0,232,87,225,0,224,255,96,4,0,0,0,0,0,0,0,120,92,3,0,0,0,0,0,2,0,0,0,225,0,0,0,160,90,3,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,136,91,3,0,0,0,0,0,2,0,0,0,33,1,0,0,48,89,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,88,90,3,0,0,0,0,0,2,5,5,6,6,7,7,7,7,7,7,8,8,8,8,8,8,10,6,6,7,7,8,7,8,8,8,8,8,9,9,9,9,9,10,6,6,7,7,7,7,8,8,8,8,9,9,9,9,9,9,10,7,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,8,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,8,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,10,11,11,11,9,9,9,9,9,9,10,10,9,9,10,9,11,10,11,11,11,9,9,9,9,9,9,9,9,10,10,10,9,11,11,11,11,11,9,9,9,9,10,10,9,9,9,9,10,9,11,11,11,11,11,11,11,9,9,9,9,9,9,10,10,10,10,11,11,11,11,11,11,11,10,9,10,10,9,10,9,9,10,9,11,10,10,11,11,11,11,9,10,9,9,9,9,10,10,10,10,11,11,11,11,11,11,10,10,10,9,9,10,9,10,9,10,10,10,10,11,11,11,11,11,11,11,9,9,9,9,9,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,7,9,9,10,10,10,10,6,5,5,7,7,8,8,10,8,11,10,12,12,13,13,6,5,5,7,7,8,8,10,9,11,11,12,12,13,12,18,8,8,8,8,9,9,10,9,11,10,12,12,13,13,18,8,8,8,8,9,9,10,10,11,11,13,12,14,13,18,11,11,9,9,10,10,11,11,11,12,13,12,13,14,18,11,11,9,8,11,10,11,11,11,11,12,12,14,13,18,18,18,10,11,10,11,12,12,12,12,13,12,14,13,18,18,18,10,11,11,9,12,11,12,12,12,13,13,13,18,18,17,14,14,11,11,12,12,13,12,14,12,14,13,18,18,18,14,14,11,10,12,9,12,13,13,13,13,13,18,18,17,16,18,13,13,12,12,13,11,14,12,14,14,17,18,18,17,18,13,12,13,10,12,11,14,14,14,14,17,18,18,18,18,15,16,12,12,13,10,14,12,14,15,18,18,18,16,17,16,14,12,11,13,10,13,13,14,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,4,4,12,12,12,12,12,12,12,12,12,12,4,9,8,12,12,12,12,12,12,12,12,12,12,2,9,7,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,5,6,5,5,5,5,6,4,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,8,8,9,9,10,10,7,5,5,7,7,8,8,8,8,9,9,11,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,12,0,13,13,9,9,10,10,10,10,11,11,12,12,0,0,0,10,10,10,10,11,11,12,12,12,12,0,0,0,10,10,10,10,11,11,12,12,12,12,0,0,0,14,14,11,11,11,11,12,12,13,13,0,0,0,14,14,11,11,11,11,12,12,13,13,0,0,0,0,0,12,12,12,12,13,13,14,13,0,0,0,0,0,13,13,12,12,13,12,14,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,6,6,7,7,8,8,8,8,8,8,10,10,10,7,7,8,7,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,7,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,9,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,11,11,10,12,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,7,11,11,11,11,11,12,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,6,6,7,7,8,8,8,8,9,9,10,10,11,10,0,5,5,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,5,5,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,10,11,11,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,8,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,8,8,9,9,10,10,11,11,12,11,12,12,0,0,0,0,0,9,10,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,0,0,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,4,6,6,7,7,9,9,0,5,5,7,7,7,8,9,9,0,5,5,7,7,8,8,9,9,0,7,7,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,9,9,9,9,10,10,0,0,0,9,9,9,9,10,10,0,0,0,10,10,10,10,11,11,0,0,0,0,0,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,5,5,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,8,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,3,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,0,0,0,5,5,0,0,0,5,5,0,0,0,7,8,0,0,0,0,0,0,0,5,6,6,0,0,0,7,7,0,0,0,7,7,0,0,0,10,10,0,0,0,0,0,0,0,5,6,6,0,0,0,7,7,0,0,0,7,7,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,10,10,0,0,0,9,9,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,8,10,10,0,0,0,9,9,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,5,6,6,0,0,0,0,0,0,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,6,7,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,6,8,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,8,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,8],"i8",N3,F.GLOBAL_BASE+218416),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,10,9,13,11,14,10,12,13,13,14,7,2,12,5,10,5,7,10,12,14,12,6,9,8,7,7,9,11,13,16,10,4,12,5,10,6,8,12,14,16,12,6,8,7,6,5,7,11,12,16,10,4,8,5,6,4,6,9,13,16,10,6,10,7,7,6,7,9,13,15,12,9,11,9,8,6,7,10,12,14,14,11,10,9,6,5,6,9,11,13,15,13,11,10,6,5,6,8,9,11,0,0,0,0,2,0,0,0,100,0,0,0,216,170,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,56,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,96,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,136,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,176,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,216,130,3,0,0,0,0,0,0,131,3,0,40,131,3,0,0,0,0,0,0,0,0,0,80,131,3,0,120,131,3,0,0,0,0,0,0,0,0,0,160,131,3,0,200,131,3,0,240,131,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,168,129,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,12,10,10,10,9,10,12,12,6,1,10,5,6,6,7,9,11,14,12,9,8,11,7,8,9,11,13,15,10,5,12,7,8,7,9,12,14,15,10,6,7,8,5,6,7,9,12,14,9,6,8,7,6,6,7,9,12,12,9,7,9,9,7,6,6,7,10,10,10,9,10,11,8,7,6,6,8,10,12,11,13,13,11,10,8,8,8,10,11,13,15,15,14,13,10,8,8,9,0,0,0,0,8,0,0,0,161,25,0,0,32,145,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,200,170,3,0,0,0,0,0,4,0,0,0,113,2,0,0,144,142,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,8,145,3,0,0,0,0,0,4,0,0,0,113,2,0,0,0,140,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,142,3,0,0,0,0,0,2,0,0,0,81,0,0,0,128,139,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,216,139,3,0,0,0,0,0,2,0,0,0,81,0,0,0,0,139,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,88,139,3,0,0,0,0,0,2,0,0,0,33,1,0,0,144,137,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,184,138,3,0,0,0,0,0,4,0,0,0,81,0,0,0,40,137,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,128,137,3,0,0,0,0,0,2,0,0,0,121,0,0,0,120,136,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,248,136,3,0,0,0,0,0,2,0,0,0,169,0,0,0,144,135,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,64,136,3,0,0,0,0,0,2,0,0,0,25,0,0,0,88,135,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,135,3,0,0,0,0,0,2,0,0,0,169,0,0,0,112,134,3,0,1,0,0,0,0,184,84,225,0,160,251,96,4,0,0,0,0,0,0,0,32,135,3,0,0,0,0,0,2,0,0,0,169,0,0,0,136,133,3,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,56,134,3,0,0,0,0,0,2,0,0,0,33,1,0,0,24,132,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,64,133,3,0,0,0,0,0,2,4,4,6,6,7,7,7,7,7,7,8,8,8,8,8,8,10,7,7,7,7,7,7,8,8,8,8,9,9,9,9,9,9,10,7,7,7,7,8,8,8,8,8,8,9,9,9,9,9,9,10,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,8,7,8,8,8,8,9,9,9,9,9,9,9,9,10,11,11,8,8,8,8,9,9,9,9,9,9,10,9,9,9,10,11,10,8,8,8,8,9,9,9,9,9,9,9,10,10,10,10,11,10,8,8,9,9,9,9,9,9,10,9,9,10,9,10,11,10,11,11,11,8,8,9,9,9,9,9,9,9,9,10,10,11,11,11,11,11,9,9,9,9,9,9,10,9,9,9,10,10,11,11,11,11,11,9,9,9,9,9,9,9,9,9,10,9,10,11,11,11,11,11,9,9,9,9,10,10,9,9,9,10,10,10,11,11,11,11,11,11,11,9,9,9,10,9,9,10,10,10,10,11,11,10,11,11,11,11,10,9,10,10,9,9,9,9,10,10,11,10,11,11,11,11,11,9,9,9,9,10,9,10,10,10,10,11,10,11,11,11,11,11,10,10,9,9,10,9,10,10,10,10,10,10,10,11,11,11,11,11,11,9,9,10,9,10,9,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,6,8,8,10,9,10,10,6,5,5,7,7,8,7,10,9,11,11,12,13,6,5,5,7,7,8,8,10,10,11,11,13,13,18,8,8,8,8,9,9,10,10,12,12,12,13,18,8,8,8,8,9,9,10,10,12,12,13,13,18,11,11,8,8,10,10,11,11,12,11,13,12,18,11,11,9,7,10,10,11,11,11,12,12,13,17,17,17,10,10,11,11,12,12,12,10,12,12,17,17,17,11,10,11,10,13,12,11,12,12,12,17,17,17,15,14,11,11,12,11,13,10,13,12,17,17,17,14,14,12,10,11,11,13,13,13,13,17,17,16,17,16,13,13,12,10,13,10,14,13,17,16,17,16,17,13,12,12,10,13,11,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,5,4,12,12,12,12,12,12,12,12,12,12,4,9,8,11,11,11,11,11,11,11,11,11,11,2,8,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,4,6,5,5,5,5,6,5,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,6,5,5,7,7,8,8,8,8,9,9,10,10,7,6,5,7,7,8,8,8,8,9,9,10,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,11,0,13,13,9,9,10,10,10,10,11,11,12,12,0,0,0,10,10,10,10,11,11,12,12,12,13,0,0,0,10,10,10,10,11,11,12,12,12,12,0,0,0,14,14,10,11,11,11,12,12,13,13,0,0,0,14,14,11,10,11,11,13,12,13,13,0,0,0,0,0,12,12,11,12,13,12,14,14,0,0,0,0,0,12,12,12,12,13,12,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,4,6,6,7,7,7,7,7,7,9,7,7,6,6,7,7,8,8,8,8,9,6,6,6,6,7,7,8,8,8,8,10,7,7,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,10,9,9,7,10,10,11,10,11,11,10,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,10,11,11,11,12,11,11,6,9,9,11,10,10,11,11,10,6,9,9,11,10,10,12,10,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,6,6,8,8,9,9,9,9,9,9,10,10,11,11,0,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,11,0,7,7,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,8,8,7,7,9,9,10,10,9,9,10,10,11,11,12,12,0,0,0,7,7,9,9,10,10,10,9,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,10,10,10,10,11,11,12,12,13,12,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,7,7,9,9,0,7,7,7,7,7,7,9,9,0,7,7,7,7,7,7,9,9,0,8,8,7,7,8,8,10,10,0,0,0,7,7,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,10,10,9,9,11,11,0,0,0,0,0,9,9,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,3,6,6,0,0,0,0,0,6,6,6,6,0,0,0,0,0,6,6,6,6,0,0,0,0,0,7,7,6,6,0,0,0,0,0,0,0,6,7,0,0,0,0,0,0,0,7,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,3,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,0,0,0,7,7,0,0,0,7,7,0,0,0,8,8,0,0,0,0,0,0,0,4,6,6,0,0,0,8,8,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,4,6,6,0,0,0,8,8,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,11,11,0,0,0,11,11,0,0,0,12,11,0,0,0,0,0,0,0,7,8,8,0,0,0,10,11,0,0,0,11,11,0,0,0,11,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,11,11,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,6,8,8,0,0,0,10,11,0,0,0,10,11,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,9,0,0,0,11,12,0,0,0,11,12,0,0,0,12,11,0,0,0,0,0,0,0,8,10,9,0,0,0,12,11,0,0,0,12,11,0,0,0,11,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,5,6,6,0,0,0,0,0,0,5,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,6,8,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9],"i8",N3,F.GLOBAL_BASE+229400),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,11,9,13,12,12,11,12,12,13,15,8,2,11,4,8,5,7,10,12,15,13,7,10,9,8,8,10,13,17,17,11,4,12,5,9,5,8,11,14,16,12,6,8,7,6,6,8,11,13,16,11,4,9,5,6,4,6,10,13,16,11,6,11,7,7,6,7,10,13,15,13,9,12,9,8,6,8,10,12,14,14,10,10,8,6,5,6,9,11,13,15,11,11,9,6,5,6,8,9,12,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,9,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,F.GLOBAL_BASE+240320),E3([1,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,231,3,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,160,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,72,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,223,3,0,0,0,0,0,0,0,0,0,0,0,0,0,96,223,3,0,0,0,0,0,0,0,0,0,0,0,0,0,136,223,3,0,0,0,0,0,0,0,0,0,0,0,0,0,176,223,3,0,0,0,0,0,0,0,0,0,0,0,0,0,216,223,3,0,0,0,0,0,0,224,3,0,40,224,3,0,0,0,0,0,0,0,0,0,80,224,3,0,120,224,3,0,0,0,0,0,0,0,0,0,160,224,3,0,200,224,3,0,240,224,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,185,3,0,0,0,0,0,0,0,0,0,0,0,0,0,80,185,3,0,0,0,0,0,0,0,0,0,0,0,0,0,120,185,3,0,0,0,0,0,0,0,0,0,0,0,0,0,160,185,3,0,0,0,0,0,0,0,0,0,0,0,0,0,200,185,3,0,0,0,0,0,240,185,3,0,24,186,3,0,0,0,0,0,0,0,0,0,64,186,3,0,104,186,3,0,0,0,0,0,0,0,0,0,144,186,3,0,184,186,3,0,224,186,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,208,184,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,120,184,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,4,8,10,9,9,10,11,12,4,2,5,6,6,8,10,11,13,8,4,6,8,7,9,12,12,14,10,6,8,4,5,6,9,11,12,9,5,6,5,5,6,9,11,11,9,7,9,6,5,5,7,10,10,10,9,11,8,7,6,7,9,11,11,12,13,10,10,9,8,9,11,11,15,15,12,13,11,9,10,11,0,0,0,0,0,0,0,5,5,9,10,9,9,10,11,12,5,1,5,6,6,7,10,12,14,9,5,6,8,8,10,12,14,14,10,5,8,5,6,8,11,13,14,9,5,7,6,6,8,10,12,11,9,7,9,7,6,6,7,10,10,10,9,12,9,8,7,7,10,12,11,11,13,12,10,9,8,9,11,11,14,15,15,13,11,9,9,11,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,128,197,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,40,223,3,0,0,0,0,0,4,0,0,0,113,2,0,0,240,194,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,104,197,3,0,0,0,0,0,2,0,0,0,81,0,0,0,112,194,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,200,194,3,0,0,0,0,0,2,0,0,0,81,0,0,0,240,193,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,72,194,3,0,0,0,0,0,2,0,0,0,33,1,0,0,128,192,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,168,193,3,0,0,0,0,0,4,0,0,0,81,0,0,0,24,192,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,112,192,3,0,0,0,0,0,2,0,0,0,121,0,0,0,104,191,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,232,191,3,0,0,0,0,0,2,0,0,0,169,0,0,0,128,190,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,48,191,3,0,0,0,0,0,2,0,0,0,25,0,0,0,72,190,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,104,190,3,0,0,0,0,0,2,0,0,0,169,0,0,0,96,189,3,0,1,0,0,0,0,184,84,225,0,160,251,96,4,0,0,0,0,0,0,0,16,190,3,0,0,0,0,0,2,0,0,0,169,0,0,0,120,188,3,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,40,189,3,0,0,0,0,0,2,0,0,0,33,1,0,0,8,187,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,48,188,3,0,0,0,0,0,2,5,5,6,6,7,6,7,7,8,8,8,8,8,8,8,8,10,6,6,7,7,7,7,8,8,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,7,7,7,7,8,8,8,9,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,9,9,9,9,9,9,9,9,9,9,10,11,11,8,8,8,8,9,9,9,9,9,9,10,10,9,10,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,10,10,11,10,10,8,8,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,11,11,8,8,9,9,9,9,9,9,9,9,9,9,11,11,11,11,11,9,9,9,9,9,9,9,9,10,9,10,9,11,11,11,11,11,9,8,9,9,9,9,9,9,9,10,10,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,10,10,9,11,11,11,11,11,11,11,9,9,10,9,9,9,9,10,9,10,10,11,10,11,11,11,11,9,10,10,10,9,9,9,9,9,9,10,11,11,11,11,11,11,9,9,9,9,9,9,9,9,10,9,11,11,10,11,11,11,11,10,10,9,9,9,9,9,9,10,9,10,11,10,11,11,11,11,11,11,9,9,10,9,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,9,9,10,11,12,12,6,5,5,7,7,8,7,10,10,11,11,12,12,6,5,5,7,7,8,8,10,10,11,11,12,12,16,7,7,8,8,9,9,11,11,12,12,13,13,17,7,7,8,7,9,9,11,10,12,12,13,13,19,11,10,8,8,10,10,11,11,12,12,13,13,19,11,11,9,7,11,10,11,11,12,12,13,12,19,19,19,10,10,10,10,11,12,12,12,13,14,18,19,19,11,9,11,9,13,12,12,12,13,13,19,20,19,13,15,11,11,12,12,13,13,14,13,18,19,20,15,13,12,10,13,10,13,13,13,14,20,20,20,20,20,13,14,12,12,13,12,13,13,20,20,20,20,20,13,12,12,12,14,12,14,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,13,13,13,13,13,13,13,13,13,13,3,6,6,13,13,13,13,13,13,13,13,13,13,4,8,7,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,4,5,6,5,5,5,5,6,5,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,7,5,5,7,7,8,8,8,8,9,9,10,10,7,5,6,7,7,8,8,8,8,9,9,11,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,11,0,13,13,9,9,9,9,10,10,11,11,12,12,0,0,0,9,10,9,10,11,11,12,11,13,12,0,0,0,10,10,9,9,11,11,12,12,13,12,0,0,0,13,13,10,10,11,11,12,12,13,13,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,11,12,11,11,12,13,14,13,0,0,0,0,0,12,12,11,11,13,12,14,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,7,7,7,7,8,8,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,9,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,10,11,11,11,10,10,6,9,9,11,11,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,11,11,11,11,11,11,11,6,9,9,11,10,10,11,11,10,6,9,9,10,10,10,11,10,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,6,6,7,7,8,8,8,8,9,9,10,10,11,11,0,5,5,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,5,5,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,10,10,10,11,11,11,12,12,0,0,0,8,8,8,8,9,9,10,10,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,7,7,9,9,0,6,6,7,7,8,8,9,9,0,6,6,7,7,8,8,9,9,0,7,7,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,8,8,9,9,11,11,0,0,0,9,9,9,9,11,11,0,0,0,10,10,10,10,11,11,0,0,0,0,0,9,9,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,3,7,7,0,0,0,0,0,5,5,6,6,0,0,0,0,0,5,5,7,7,0,0,0,0,0,7,7,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,9,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,9,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,10,9],"i8",N3,F.GLOBAL_BASE+242772),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,144,235,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,56,5,4,0,0,0,0,0,4,0,0,0,113,2,0,0,0,233,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,235,3,0,0,0,0,0,2,0,0,0,81,0,0,0,128,232,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,216,232,3,0,0,0,0,0,2,0,0,0,81,0,0,0,0,232,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,88,232,3,0,0,0,0,0,2,0,0,0,33,1,0,0,144,230,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,184,231,3,0,0,0,0,0,4,0,0,0,81,0,0,0,40,230,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,128,230,3,0,0,0,0,0,2,0,0,0,121,0,0,0,120,229,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,248,229,3,0,0,0,0,0,2,0,0,0,169,0,0,0,144,228,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,64,229,3,0,0,0,0,0,2,0,0,0,25,0,0,0,88,228,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,228,3,0,0,0,0,0,2,0,0,0,169,0,0,0,112,227,3,0,1,0,0,0,0,184,84,225,0,160,251,96,4,0,0,0,0,0,0,0,32,228,3,0,0,0,0,0,2,0,0,0,169,0,0,0,136,226,3,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,56,227,3,0,0,0,0,0,2,0,0,0,33,1,0,0,24,225,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,64,226,3,0,0,0,0,0,2,4,4,6,6,6,6,7,7,8,8,8,8,8,8,8,8,10,10,10,7,7,7,7,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,7,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,8,9,9,9,9,9,9,10,9,9,10,10,10,7,7,8,8,9,8,9,9,9,9,10,9,9,10,10,11,11,8,8,8,8,9,9,9,9,9,9,10,9,9,10,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,10,10,11,11,11,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,10,11,11,11,8,8,9,9,9,9,10,9,9,9,9,9,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,10,10,11,11,9,9,9,9,9,9,9,9,9,10,10,10,10,11,10,11,11,9,9,9,9,9,9,9,9,9,10,10,9,10,10,11,11,11,11,11,9,9,9,10,9,9,9,9,9,9,10,11,11,11,11,11,11,10,10,10,10,9,9,9,9,9,9,10,11,11,11,11,11,11,9,10,9,9,9,9,10,9,9,9,11,11,11,11,11,11,11,10,10,9,9,9,9,9,9,10,9,11,11,10,11,11,11,11,10,11,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,5,7,7,9,9,10,10,12,12,6,5,5,7,7,8,8,10,10,12,11,12,12,6,5,5,7,7,8,8,10,10,11,11,12,12,15,7,7,8,8,9,9,11,11,12,12,13,12,15,8,8,8,7,9,9,10,10,12,12,13,13,16,11,10,8,8,10,10,11,11,12,12,13,13,16,11,11,9,8,11,10,11,11,12,12,13,12,16,16,16,10,11,10,11,12,12,12,12,13,13,16,16,16,11,9,11,9,14,12,12,12,13,13,16,16,16,12,14,11,12,12,12,13,13,14,13,16,16,16,15,13,12,10,13,10,13,14,13,13,16,16,16,16,16,13,14,12,13,13,12,13,13,16,16,16,16,16,13,12,12,11,14,12,15,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,3,10,10,10,10,10,10,10,10,10,10,4,8,6,10,10,10,10,10,10,10,10,10,10,4,8,7,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,10,9,7,5,6,7,7,8,8,8,8,9,9,10,10,7,5,5,7,7,8,8,8,8,9,9,10,10,0,8,8,8,8,9,9,9,9,10,10,11,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,10,10,10,11,11,11,11,0,13,13,9,9,9,9,10,10,11,11,11,11,0,0,0,10,10,10,10,11,11,12,11,12,12,0,0,0,10,10,10,9,11,11,12,11,13,12,0,0,0,13,13,10,10,11,11,12,12,13,13,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,11,12,11,11,12,12,14,13,0,0,0,0,0,12,11,11,11,13,10,14,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,7,7,7,7,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,6,10,10,11,11,11,11,10,10,6,9,9,11,10,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,10,11,11,11,12,11,11,7,9,9,11,10,10,11,11,10,6,9,9,10,10,10,12,10,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,6,6,7,7,8,8,8,8,9,9,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,11,0,0,0,8,8,9,9,9,10,10,10,10,10,11,11,12,12,0,0,0,8,8,9,9,10,9,10,10,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,11,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,10,10,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,12,12,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,5,6,6,8,8,0,0,0,7,7,7,7,9,9,0,0,0,7,7,7,7,9,9,0,0,0,7,7,8,8,10,10,0,0,0,7,7,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,10,10,9,9,11,11,0,0,0,0,0,9,9,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,2,7,7,0,0,0,0,0,13,13,6,6,0,0,0,0,0,12,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,9,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,4,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,5,7,6,0,0,0,0,0,0,5,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,8,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9],"i8",N3,F.GLOBAL_BASE+253728),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,13,14,14,15,16,18,18,4,2,5,8,7,9,12,15,15,10,4,5,10,6,8,11,15,17,12,5,7,5,6,8,11,14,17,11,5,6,6,5,6,9,13,17,12,6,7,6,5,6,8,12,14,14,7,8,6,6,7,9,11,14,14,8,9,6,5,6,9,11,13,16,10,10,7,6,7,8,10,11,0,0,0,0,0,0,0,6,8,13,12,13,14,15,16,16,4,2,4,7,6,8,11,13,15,10,4,4,8,6,8,11,14,17,11,5,6,5,6,8,12,14,17,11,5,5,6,5,7,10,13,16,12,6,7,8,7,8,10,13,15,13,8,8,7,7,8,10,12,15,15,7,7,5,5,7,9,12,14,15,8,8,6,6,7,8,10,11,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,128,86,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,40,86,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,46,4,0,0,0,0,0,0,0,0,0,0,0,0,0,152,46,4,0,0,0,0,0,0,0,0,0,0,0,0,0,192,46,4,0,0,0,0,0,0,0,0,0,0,0,0,0,232,46,4,0,0,0,0,0,0,0,0,0,0,0,0,0,16,47,4,0,0,0,0,0,56,47,4,0,96,47,4,0,0,0,0,0,0,0,0,0,136,47,4,0,176,47,4,0,0,0,0,0,0,0,0,0,216,47,4,0,0,48,4,0,40,48,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,240,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,24,9,4,0,0,0,0,0,0,0,0,0,0,0,0,0,64,9,4,0,0,0,0,0,0,0,0,0,0,0,0,0,104,9,4,0,0,0,0,0,144,9,4,0,184,9,4,0,0,0,0,0,0,0,0,0,224,9,4,0,8,10,4,0,0,0,0,0,0,0,0,0,48,10,4,0,88,10,4,0,128,10,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,112,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,24,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,4,9,10,9,10,11,12,13,4,1,5,7,7,9,11,12,14,8,5,7,9,8,10,13,13,13,10,7,9,4,6,7,10,12,14,9,6,7,6,6,7,10,12,12,9,8,9,7,6,7,8,11,12,11,11,11,9,8,7,8,10,12,12,13,14,12,11,9,9,9,12,12,17,17,15,16,12,10,11,13,0,0,0,0,0,0,0,5,4,8,9,8,9,10,12,15,4,1,5,5,6,8,11,12,12,8,5,8,9,9,11,13,12,12,9,5,8,5,7,9,12,13,13,8,6,8,7,7,9,11,11,11,9,7,9,7,7,7,7,10,12,10,10,11,9,8,7,7,9,11,11,12,13,12,11,9,8,9,11,13,16,16,15,15,12,10,11,12,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,184,20,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,96,46,4,0,0,0,0,0,4,0,0,0,113,2,0,0,40,18,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,20,4,0,0,0,0,0,2,0,0,0,81,0,0,0,168,17,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,0,18,4,0,0,0,0,0,2,0,0,0,81,0,0,0,40,17,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,17,4,0,0,0,0,0,2,0,0,0,33,1,0,0,184,15,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,16,4,0,0,0,0,0,4,0,0,0,81,0,0,0,80,15,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,168,15,4,0,0,0,0,0,2,0,0,0,121,0,0,0,160,14,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,32,15,4,0,0,0,0,0,2,0,0,0,169,0,0,0,184,13,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,104,14,4,0,0,0,0,0,2,0,0,0,25,0,0,0,128,13,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,13,4,0,0,0,0,0,2,0,0,0,81,0,0,0,0,13,4,0,1,0,0,0,0,160,59,225,0,160,251,96,4,0,0,0,0,0,0,0,88,13,4,0,0,0,0,0,2,0,0,0,169,0,0,0,24,12,4,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,200,12,4,0,0,0,0,0,2,0,0,0,33,1,0,0,168,10,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,208,11,4,0,0,0,0,0,2,5,5,6,6,7,7,7,7,8,8,8,8,8,8,8,8,10,6,6,7,7,7,7,8,8,9,9,9,9,9,9,9,9,10,6,6,7,7,8,7,8,8,9,9,9,9,9,9,9,9,10,7,7,7,7,8,8,8,9,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,9,8,9,9,9,9,10,9,9,10,10,10,11,8,8,8,8,9,9,9,9,9,9,9,10,9,10,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,10,10,11,10,10,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,11,11,8,8,9,9,9,9,9,9,9,9,9,10,11,11,11,11,11,9,9,9,9,9,9,9,9,10,9,10,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,9,10,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,9,10,9,11,10,11,11,11,11,11,9,9,10,9,9,9,9,9,9,9,10,11,10,11,11,11,11,10,10,10,10,9,9,9,9,9,9,10,11,11,11,11,11,11,9,10,9,9,9,9,9,9,9,9,11,11,10,11,11,11,10,10,10,9,9,9,9,9,9,9,9,10,11,10,11,11,11,11,11,11,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,9,9,10,11,12,12,6,5,5,7,7,8,8,10,10,12,11,12,12,6,5,5,7,7,8,8,10,10,12,11,12,12,17,7,7,8,8,9,9,10,10,12,12,13,13,18,7,7,8,7,9,9,10,10,12,12,12,13,19,10,10,8,8,10,10,11,11,12,12,13,14,19,11,10,8,7,10,10,11,11,12,12,13,12,19,19,19,10,10,10,10,11,11,12,12,13,13,19,19,19,11,9,11,9,14,12,13,12,13,13,19,20,18,13,14,11,11,12,12,13,13,14,13,20,20,20,15,13,11,10,13,11,13,13,14,13,20,20,20,20,20,13,14,12,12,13,13,13,13,20,20,20,20,20,13,13,12,12,16,13,15,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,11,11,11,11,11,11,3,7,6,11,11,11,11,11,11,4,8,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,4,4,6,5,5,5,5,6,5,5,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,7,5,5,7,7,8,8,8,8,9,9,10,10,7,6,5,7,7,8,8,8,8,9,9,10,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,11,0,13,13,9,9,9,9,10,10,11,11,11,12,0,0,0,9,10,10,10,11,11,12,11,12,12,0,0,0,10,10,9,9,11,11,12,12,12,12,0,0,0,13,13,10,10,11,11,12,12,13,13,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,11,12,11,11,13,12,13,13,0,0,0,0,0,12,12,11,11,13,12,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,7,8,9,5,5,6,6,7,7,8,8,8,8,9,5,5,6,6,7,7,8,8,8,8,10,7,7,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,10,11,11,11,10,10,6,9,9,11,11,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,10,11,11,11,11,11,11,6,9,9,11,10,10,11,11,10,6,9,9,11,10,10,11,10,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,8,8,8,8,8,8,9,9,10,10,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,10,11,11,11,0,5,6,7,7,8,8,9,9,9,9,10,10,10,11,11,11,0,7,7,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,12,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,10,11,11,12,12,13,13,0,0,0,0,0,10,10,10,10,11,11,12,12,12,13,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,12,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,12,11,12,12,13,13,13,13,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,3,6,6,7,7,9,9,0,5,5,7,7,8,7,9,9,0,5,5,7,7,8,8,9,9,0,7,7,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,9,9,9,9,11,11,0,0,0,9,9,9,9,11,11,0,0,0,10,10,10,10,11,11,0,0,0,0,0,9,9,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,3,7,7,0,0,0,0,0,5,4,7,7,0,0,0,0,0,5,5,7,7,0,0,0,0,0,6,7,8,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,10,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,10,10],"i8",N3,F.GLOBAL_BASE+263472),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,112,60,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,24,86,4,0,0,0,0,0,4,0,0,0,113,2,0,0,224,57,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,60,4,0,0,0,0,0,2,0,0,0,81,0,0,0,96,57,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,184,57,4,0,0,0,0,0,2,0,0,0,81,0,0,0,224,56,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,56,57,4,0,0,0,0,0,2,0,0,0,33,1,0,0,112,55,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,152,56,4,0,0,0,0,0,4,0,0,0,81,0,0,0,8,55,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,96,55,4,0,0,0,0,0,2,0,0,0,121,0,0,0,88,54,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,216,54,4,0,0,0,0,0,2,0,0,0,169,0,0,0,112,53,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,32,54,4,0,0,0,0,0,2,0,0,0,25,0,0,0,56,53,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,53,4,0,0,0,0,0,4,0,0,0,113,2,0,0,168,50,4,0,1,0,0,0,0,160,27,225,0,160,251,96,3,0,0,0,0,0,0,0,32,53,4,0,0,0,0,0,2,0,0,0,169,0,0,0,192,49,4,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,112,50,4,0,0,0,0,0,2,0,0,0,33,1,0,0,80,48,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,120,49,4,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,8,8,8,8,8,8,10,10,10,7,7,7,8,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,7,7,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,8,8,9,9,9,9,9,10,9,9,10,10,10,7,7,8,8,9,8,9,9,9,9,10,9,9,10,10,10,10,8,8,8,8,9,8,9,9,9,9,9,10,9,10,10,10,10,7,7,8,8,9,9,9,9,9,9,10,9,10,10,10,10,10,8,8,8,9,9,9,9,9,9,9,10,10,10,9,11,10,10,10,10,8,8,9,9,9,9,9,10,9,9,9,10,10,10,10,11,11,9,9,9,9,9,9,9,9,10,9,9,10,11,10,10,11,11,9,9,9,9,9,9,9,9,9,9,10,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,9,10,9,11,10,10,11,11,11,11,9,9,9,9,9,9,9,9,9,9,10,10,10,11,11,11,11,9,10,9,10,9,9,9,9,10,9,10,11,10,11,10,10,10,10,10,9,9,9,10,9,9,9,10,11,11,10,11,11,10,11,10,10,10,9,9,9,9,10,9,9,10,11,10,11,11,11,11,10,11,10,10,9,10,9,9,9,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,9,9,11,12,13,12,6,5,5,7,7,8,8,10,9,12,12,12,12,6,5,5,7,7,8,8,10,9,12,11,11,13,16,7,7,8,8,9,9,10,10,12,12,13,12,16,7,7,8,7,9,9,10,10,11,12,12,13,16,10,10,8,8,10,10,11,12,12,12,13,13,16,11,10,8,7,11,10,11,11,12,11,13,13,16,16,16,10,10,10,10,11,11,13,12,13,13,16,16,16,11,9,11,9,15,13,12,13,13,13,16,16,16,15,13,11,11,12,13,12,12,14,13,16,16,16,14,13,11,11,13,12,14,13,13,13,16,16,16,16,16,13,13,13,12,14,13,14,14,16,16,16,16,16,13,13,12,12,14,14,15,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,5,5,10,10,6,9,8,10,10,6,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,7,5,5,7,7,8,8,8,8,9,9,10,10,7,5,6,7,7,8,8,8,8,9,9,10,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,11,0,13,13,9,9,9,9,10,10,11,11,11,12,0,0,0,10,10,10,10,11,11,11,11,12,12,0,0,0,10,10,9,9,11,11,11,12,12,12,0,0,0,13,13,10,10,11,11,12,12,13,13,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,11,11,11,11,13,12,13,13,0,0,0,0,0,12,12,11,11,12,12,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,7,7,7,7,7,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,8,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,10,9,9,4,6,7,10,9,9,11,9,9,7,10,10,11,11,11,12,10,11,6,9,9,11,10,11,11,10,10,6,9,9,11,10,11,11,10,10,7,11,10,12,11,11,11,11,11,7,9,9,10,10,10,11,11,10,6,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,6,6,8,7,8,8,8,8,9,9,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,9,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,8,8,9,9,9,9,10,10,10,10,11,11,12,12,0,0,0,8,8,9,9,9,9,10,10,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,11,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,10,10,11,11,11,11,11,12,12,12,13,13,0,0,0,0,0,0,0,11,10,11,11,11,11,12,12,13,13,0,0,0,0,0,0,0,11,11,12,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,11,12,12,12,12,13,13,13,0,0,0,0,0,0,0,12,12,12,12,12,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,6,6,8,8,0,0,0,7,7,7,7,9,9,0,0,0,7,7,7,7,9,9,0,0,0,7,7,7,8,9,9,0,0,0,7,7,7,7,9,9,0,0,0,9,9,8,8,10,10,0,0,0,8,9,8,8,10,10,0,0,0,10,10,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,2,8,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,6,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,9,9,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,9,11,10],"i8",N3,F.GLOBAL_BASE+274008),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,6,6,12,13,13,14,16,17,17,4,2,5,8,7,9,12,15,15,9,4,5,9,7,9,12,16,18,11,6,7,4,6,8,11,14,18,10,5,6,5,5,7,10,14,17,10,5,7,7,6,7,10,13,16,11,5,7,7,7,8,10,12,15,13,6,7,5,5,7,9,12,13,16,8,9,6,6,7,9,10,12,0,0,0,0,0,0,0,9,8,12,11,12,13,14,14,16,6,1,5,6,6,9,12,14,17,9,4,5,9,7,9,13,15,16,8,5,8,6,8,10,13,17,17,9,6,7,7,8,9,13,15,17,11,8,9,9,9,10,12,16,16,13,7,8,7,7,9,12,14,15,13,6,7,5,5,7,10,13,13,14,7,8,5,6,7,9,10,12,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,96,167,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,8,167,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,127,4,0,0,0,0,0,0,0,0,0,0,0,0,0,120,127,4,0,0,0,0,0,0,0,0,0,0,0,0,0,160,127,4,0,0,0,0,0,0,0,0,0,0,0,0,0,200,127,4,0,0,0,0,0,0,0,0,0,0,0,0,0,240,127,4,0,0,0,0,0,24,128,4,0,64,128,4,0,0,0,0,0,0,0,0,0,104,128,4,0,144,128,4,0,0,0,0,0,0,0,0,0,184,128,4,0,224,128,4,0,8,129,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,89,4,0,0,0,0,0,0,0,0,0,0,0,0,0,208,89,4,0,0,0,0,0,0,0,0,0,0,0,0,0,248,89,4,0,0,0,0,0,0,0,0,0,0,0,0,0,32,90,4,0,0,0,0,0,0,0,0,0,0,0,0,0,72,90,4,0,0,0,0,0,112,90,4,0,152,90,4,0,0,0,0,0,0,0,0,0,192,90,4,0,232,90,4,0,0,0,0,0,0,0,0,0,16,91,4,0,56,91,4,0,96,91,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,80,89,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,248,88,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,8,8,8,8,10,12,14,3,2,6,7,7,8,10,12,16,7,6,7,9,8,10,12,14,16,8,6,8,4,5,7,9,11,13,7,6,8,5,6,7,9,11,14,8,8,10,7,7,6,8,10,13,9,11,12,9,9,7,8,10,12,10,13,15,11,11,10,9,10,13,13,16,17,14,15,14,13,14,17,0,0,0,0,0,0,0,4,4,7,8,7,8,10,12,17,3,1,6,6,7,8,10,12,15,7,6,9,9,9,11,12,14,17,8,6,9,6,7,9,11,13,17,7,6,9,7,7,8,9,12,15,8,8,10,8,7,7,7,10,14,9,10,12,10,8,8,8,10,14,11,13,15,13,12,11,11,12,16,17,18,18,19,20,18,16,16,20,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,152,101,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,64,127,4,0,0,0,0,0,4,0,0,0,113,2,0,0,8,99,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,128,101,4,0,0,0,0,0,2,0,0,0,81,0,0,0,136,98,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,224,98,4,0,0,0,0,0,2,0,0,0,81,0,0,0,8,98,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,96,98,4,0,0,0,0,0,2,0,0,0,33,1,0,0,152,96,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,192,97,4,0,0,0,0,0,4,0,0,0,81,0,0,0,48,96,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,136,96,4,0,0,0,0,0,2,0,0,0,121,0,0,0,128,95,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,0,96,4,0,0,0,0,0,2,0,0,0,169,0,0,0,152,94,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,72,95,4,0,0,0,0,0,2,0,0,0,25,0,0,0,96,94,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,128,94,4,0,0,0,0,0,2,0,0,0,81,0,0,0,224,93,4,0,1,0,0,0,0,160,59,225,0,160,251,96,4,0,0,0,0,0,0,0,56,94,4,0,0,0,0,0,2,0,0,0,169,0,0,0,248,92,4,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,168,93,4,0,0,0,0,0,2,0,0,0,33,1,0,0,136,91,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,176,92,4,0,0,0,0,0,3,4,4,6,6,7,7,8,8,8,8,9,9,9,9,9,9,10,6,6,6,6,7,7,8,8,8,9,9,9,9,9,9,9,10,6,6,6,6,7,7,8,8,8,8,9,9,9,9,9,9,10,7,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,7,8,8,8,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,8,8,9,9,9,9,9,9,9,9,11,10,11,8,8,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,11,11,8,8,8,8,9,9,9,9,9,9,9,9,11,10,11,11,11,9,9,9,9,9,9,9,9,9,9,9,9,10,11,10,11,11,9,9,9,9,9,9,9,9,9,9,9,10,11,11,10,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,10,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,10,11,11,11,11,11,11,9,10,10,10,9,9,9,9,9,9,11,10,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,11,11,11,11,11,11,11,10,10,9,9,9,9,9,9,9,9,10,11,11,11,11,11,11,11,11,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,10,11,11,11,6,5,5,7,7,8,8,10,10,10,11,11,11,6,5,5,7,7,8,8,10,10,11,12,12,12,14,7,7,7,8,9,9,11,11,11,12,11,12,17,7,7,8,7,9,9,11,11,12,12,12,12,14,11,11,8,8,10,10,11,12,12,13,11,12,14,11,11,8,8,10,10,11,12,12,13,13,12,14,15,14,10,10,10,10,11,12,12,12,12,11,14,13,16,10,10,10,9,12,11,12,12,13,14,14,15,14,14,13,10,10,11,11,12,11,13,11,14,12,15,13,14,11,10,12,10,12,12,13,13,13,13,14,15,15,12,12,11,11,12,11,13,12,14,14,14,14,17,12,12,11,10,13,11,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,12,11,13,13,14,14,4,7,7,11,13,14,14,14,14,3,8,3,14,14,14,14,14,14,14,10,12,14,14,14,14,14,14,14,14,5,14,8,14,14,14,14,14,12,14,13,14,14,14,14,14,14,14,13,14,10,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,4,5,6,5,5,5,5,6,5,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,9,9,10,10,7,5,5,7,7,8,8,8,8,10,9,11,10,7,5,5,7,7,8,8,8,8,9,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,10,10,10,11,11,12,12,0,13,13,9,9,9,9,10,10,11,11,12,12,0,0,0,10,10,10,10,11,11,12,12,12,13,0,0,0,10,10,10,10,11,11,12,12,12,12,0,0,0,14,14,11,11,11,11,12,13,13,13,0,0,0,14,14,11,10,11,11,12,12,13,13,0,0,0,0,0,12,12,12,12,13,13,13,14,0,0,0,0,0,13,12,12,12,13,13,13,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,5,7,7,7,7,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,7,7,7,7,8,8,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,9,9,10,10,10,10,10,8,8,8,8,9,9,10,10,10,10,10,9,9,9,9,8,9,10,10,10,10,10,8,9,8,8,9,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,6,10,9,9,11,9,9,4,6,7,10,9,9,11,9,9,7,10,10,10,11,11,11,11,10,6,9,9,11,10,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,11,11,11,11,12,11,11,7,9,9,11,10,10,12,10,10,7,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,8,8,9,9,10,10,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,6,5,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,13,13,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,13,13,13,0,0,0,0,0,10,10,11,11,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,12,12,12,13,13,13,14,14,14,14,0,0,0,0,0,0,0,0,0,12,12,13,13,14,14,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,3,6,6,7,7,9,9,0,5,5,7,7,8,7,9,9,0,5,5,7,7,8,8,9,9,0,7,7,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,9,9,9,9,10,10,0,0,0,9,9,9,9,10,10,0,0,0,10,10,10,10,11,11,0,0,0,0,0,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,4,7,7,0,0,0,0,0,4,4,7,7,0,0,0,0,0,4,5,7,7,0,0,0,0,0,6,7,8,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,10,9,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,9,0,0,0,0,0,0,9,9,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,10,9],"i8",N3,F.GLOBAL_BASE+284176),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,80,141,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,248,166,4,0,0,0,0,0,4,0,0,0,113,2,0,0,192,138,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,141,4,0,0,0,0,0,2,0,0,0,81,0,0,0,64,138,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,152,138,4,0,0,0,0,0,2,0,0,0,81,0,0,0,192,137,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,24,138,4,0,0,0,0,0,2,0,0,0,33,1,0,0,80,136,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,120,137,4,0,0,0,0,0,4,0,0,0,81,0,0,0,232,135,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,64,136,4,0,0,0,0,0,2,0,0,0,121,0,0,0,56,135,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,184,135,4,0,0,0,0,0,2,0,0,0,169,0,0,0,80,134,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,0,135,4,0,0,0,0,0,2,0,0,0,25,0,0,0,24,134,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,134,4,0,0,0,0,0,4,0,0,0,113,2,0,0,136,131,4,0,1,0,0,0,0,160,27,225,0,160,251,96,3,0,0,0,0,0,0,0,0,134,4,0,0,0,0,0,2,0,0,0,169,0,0,0,160,130,4,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,80,131,4,0,0,0,0,0,2,0,0,0,33,1,0,0,48,129,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,88,130,4,0,0,0,0,0,3,4,3,6,6,7,7,8,8,9,9,9,9,9,9,9,9,10,11,11,6,6,7,7,8,8,9,9,9,9,9,9,9,9,10,10,10,6,6,7,7,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,7,8,8,8,9,9,9,9,9,9,10,9,10,11,10,7,6,7,7,8,8,9,9,9,9,9,9,9,10,10,10,11,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,8,8,9,9,9,9,9,9,9,10,11,11,11,8,8,8,8,8,8,9,9,9,9,9,9,9,9,11,10,10,11,11,8,8,8,9,9,9,9,9,9,10,9,10,10,10,10,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,10,10,10,10,11,10,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,10,10,11,11,11,11,9,9,9,9,9,9,9,9,10,10,10,11,11,10,11,11,11,9,10,10,9,9,9,9,9,9,9,10,11,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,11,11,11,11,11,11,11,10,10,9,9,9,9,9,9,9,9,11,11,11,10,11,11,11,11,11,9,9,9,10,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,10,10,11,11,11,6,5,5,7,7,8,8,9,10,9,11,11,12,5,5,5,7,7,8,9,10,10,12,12,14,13,15,7,7,8,8,9,10,11,11,10,12,10,11,15,7,8,8,8,9,9,11,11,13,12,12,13,15,10,10,8,8,10,10,12,12,11,14,10,10,15,11,11,8,8,10,10,12,13,13,14,15,13,15,15,15,10,10,10,10,12,12,13,12,13,10,15,15,15,10,10,11,10,13,11,13,13,15,13,15,15,15,13,13,10,11,11,11,12,10,14,11,15,15,14,14,13,10,10,12,11,13,13,14,14,15,15,15,15,15,11,11,11,11,12,11,15,12,15,15,15,15,15,12,12,11,11,14,12,13,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,7,7,11,11,8,11,11,11,11,4,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,8,8,9,9,11,11,7,5,5,7,7,8,8,8,8,9,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,10,10,10,11,11,11,12,0,13,13,9,9,9,9,10,10,11,11,11,12,0,0,0,10,10,10,10,11,11,12,12,12,13,0,0,0,10,10,10,10,11,11,12,12,13,12,0,0,0,14,14,11,10,11,12,12,13,13,14,0,0,0,15,15,11,11,12,11,12,12,14,13,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,13,13,12,12,13,13,13,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,8,8,10,10,10,7,6,8,8,8,8,8,8,10,10,10,7,6,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,6,6,10,9,9,11,9,9,4,6,6,10,9,9,10,9,9,7,10,10,11,11,11,12,11,11,7,9,9,11,11,10,11,10,10,7,9,9,11,10,11,11,10,10,7,10,10,11,11,11,12,11,11,7,9,9,11,10,10,11,10,10,7,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,6,6,7,7,8,8,8,8,9,9,10,10,10,10,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,8,8,9,9,9,9,10,10,10,10,11,11,12,12,0,0,0,8,8,9,9,9,9,10,10,10,11,11,11,12,12,0,0,0,9,9,10,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,11,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,10,10,11,10,11,11,11,12,13,12,13,13,0,0,0,0,0,0,0,11,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,12,12,12,13,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,13,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,6,6,8,8,0,0,0,6,6,7,7,9,9,0,0,0,6,6,7,7,9,9,0,0,0,7,7,8,8,10,10,0,0,0,7,7,8,8,10,10,0,0,0,9,9,9,9,10,10,0,0,0,9,9,9,9,10,10,0,0,0,10,10,10,10,11,11,0,0,0,0,0,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,2,3,7,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,9,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,7,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,10,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,9,9,11,0,0,0,0,0,0,10,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,9,11,9,0,0,0,0,0,0,10,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,10,11,11,0,0,0,0,0,0,9,9,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,10,11,11,0,0,0,0,0,0,9,11,9],"i8",N3,F.GLOBAL_BASE+294712),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,6,12,14,12,14,16,17,18,4,2,5,11,7,10,12,14,15,9,4,5,11,7,10,13,15,18,15,6,7,5,6,8,11,13,16,11,5,6,5,5,6,9,13,15,12,5,7,6,5,6,9,12,14,12,6,7,8,6,7,9,12,13,14,8,8,7,5,5,8,10,12,16,9,9,8,6,6,7,9,9,0,0,0,0,0,0,0,10,9,12,15,12,13,16,14,16,7,1,5,14,7,10,13,16,16,9,4,6,16,8,11,16,16,16,14,4,7,16,9,12,14,16,16,10,5,7,14,9,12,14,15,15,13,8,9,14,10,12,13,14,15,13,9,9,7,6,8,11,12,12,14,8,8,5,4,5,8,11,12,16,10,10,6,5,6,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,64,191,64,0,0,0,0,0,88,203,64,0,0,0,0,0,130,228,64,0,0,0,0,0,112,183,64,0,0,0,0,0,148,193,64,0,0,0,0,0,64,223,64,0,0,0,0,0,112,199,64,0,0,0,0,0,136,211,64,0,0,0,0,0,106,232,64,154,153,153,153,153,153,185,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,2,0,0,0,2,0,0,30,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,30,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,242,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,2,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,0,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,12,0,0,0,12,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,10,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,12,0,0,0,12,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,0,0,0,0,51,51,51,51,51,51,211,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,18,64,0,0,0,0,0,0,22,64,0,0,0,0,0,0,62,64,208,171,4,0,0,0,0,0,6,0,0,0,6,0,0,0,0,0,0,0,0,64,191,64,0,0,0,0,0,100,201,64,0,0,0,0,0,124,229,64,0,0,0,0,0,64,207,64,0,0,0,0,0,88,219,64,0,0,0,0,0,64,239,64,0,0,0,0,0,106,248,64,154,153,153,153,153,153,185,191,154,153,153,153,153,153,169,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,4,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,0,30,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,25,0,0,0,22,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,0,0,0,242,255,255,255,0,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,246,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,10,0,0,0,255,255,255,255,10,0,0,0,10,0,0,0,255,255,255,255,20,0,0,0,20,0,0,0,255,255,255,255,20,0,0,0,20,0,0,0,255,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,4,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,15,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,10,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,244,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,249,255,255,255,251,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,238,255,255,255,238,255,255,255,238,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,4,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,4,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,20,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,4,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,12,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,244,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,5,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,14,0,0,0,20,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,20,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,12,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,244,255,255,255,236,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,5,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,0,0,0,0,0,0,0,0,154,153,153,153,153,153,233,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,1,0,0,0,1,0,0,15,39,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,51,51,51,51,51,51,211,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,156,255,255,255,156,255,255,255,156,255,255,255,151,255,255,255,126,255,255,255,126,255,255,255,126,255,255,255,116,255,255,255,0,0,0,0,0,0,26,64,0,0,0,0,0,0,32,64,0,0,0,0,0,0,62,64,0,0,0,0,0,192,88,64,0,0,0,0,0,0,240,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,8,64,0,0,0,0,0,0,16,64,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,64,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,200,239,4,0,216,239,4,0,8,181,0,0,16,188,4,0,8,181,0,0,48,188,4,0,8,181,0,0,112,188,4,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,216,225,4,0,216,225,4,0,0,226,4,0,0,226,4,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,200,208,4,0,200,208,4,0,240,208,4,0,240,208,4,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,176,209,4,0,176,209,4,0,240,208,4,0,240,208,4,0,1,0,0,0,0,0,0,0,32,0,0,0,160,220,1,0,176,188,4,0,176,188,4,0,216,188,4,0,216,188,4,0,1,0,0,0,0,0,0,0,32,0,0,0,160,220,1,0,152,189,4,0,152,189,4,0,216,188,4,0,216,188,4,0,2,0,0,0,100,0,0,0,96,208,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,190,4,0,0,0,0,0,0,0,0,0,0,0,0,0,80,190,4,0,0,0,0,0,0,0,0,0,0,0,0,0,120,190,4,0,0,0,0,0,0,0,0,0,0,0,0,0,160,190,4,0,0,0,0,0,200,190,4,0,240,190,4,0,0,0,0,0,0,0,0,0,24,191,4,0,64,191,4,0,0,0,0,0,0,0,0,0,104,191,4,0,144,191,4,0,0,0,0,0,0,0,0,0,184,191,4,0,224,191,4,0,0,0,0,0,0,0,0,0,8,192,4,0,48,192,4,0,88,192,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,192,189,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,10,10,10,11,11,12,14,18,7,5,5,6,8,9,10,12,14,17,9,5,4,5,6,8,10,11,13,19,9,5,4,4,5,6,9,10,12,17,8,6,5,4,4,5,7,10,11,15,8,7,7,6,5,5,6,9,11,14,8,9,8,7,6,5,6,7,11,14,9,11,11,9,7,6,6,6,9,14,11,14,15,13,9,8,7,7,9,14,13,15,19,17,12,11,10,9,10,14,0,0,0,0,4,0,0,0,81,0,0,0,248,207,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,80,208,4,0,0,0,0,0,4,0,0,0,113,2,0,0,104,205,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,224,207,4,0,0,0,0,0,2,0,0,0,81,0,0,0,232,204,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,64,205,4,0,0,0,0,0,2,0,0,0,33,1,0,0,120,203,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,160,204,4,0,0,0,0,0,4,0,0,0,81,0,0,0,16,203,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,104,203,4,0,0,0,0,0,2,0,0,0,121,0,0,0,96,202,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,224,202,4,0,0,0,0,0,2,0,0,0,169,0,0,0,120,201,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,40,202,4,0,0,0,0,0,2,0,0,0,25,0,0,0,64,201,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,96,201,4,0,0,0,0,0,2,0,0,0,169,0,0,0,88,200,4,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,8,201,4,0,0,0,0,0,2,0,0,0,121,0,0,0,168,199,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,40,200,4,0,0,0,0,0,2,0,0,0,225,0,0,0,128,198,4,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,104,199,4,0,0,0,0,0,2,0,0,0,185,1,0,0,104,196,4,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,40,198,4,0,0,0,0,0,2,0,0,0,225,0,0,0,64,195,4,0,1,0,0,0,0,117,153,225,0,24,61,97,4,0,0,0,0,0,0,0,40,196,4,0,0,0,0,0,2,0,0,0,105,1,0,0,128,193,4,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,240,194,4,0,0,0,0,0,1,0,0,0,49,0,0,0,128,192,4,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,184,192,4,0,0,0,0,0,2,3,4,4,4,5,5,6,5,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,7,8,8,8,8,8,8,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,6,9,7,10,8,12,12,13,13,14,14,4,7,7,9,9,9,8,9,8,10,9,11,9,14,9,14,10,13,11,4,7,7,9,9,9,9,8,9,10,10,11,11,12,13,12,13,14,15,7,9,9,10,11,10,10,10,10,11,12,13,13,13,14,17,14,15,16,7,9,9,10,10,10,10,10,10,11,12,13,13,14,14,15,15,18,18,8,9,9,11,10,11,11,11,12,13,12,14,14,16,15,15,17,18,15,8,9,9,10,10,11,11,11,11,13,13,14,14,15,15,15,16,16,18,7,9,8,10,10,11,11,12,12,14,14,15,15,16,16,15,17,16,18,8,9,9,10,10,11,12,12,12,13,13,16,15,17,16,17,18,17,18,9,10,10,12,11,13,13,14,13,14,14,15,17,16,18,17,18,17,18,9,10,10,12,11,12,13,13,14,15,16,14,15,16,18,18,18,18,17,11,11,11,13,13,14,14,16,15,15,15,16,15,15,18,18,18,17,16,11,11,12,13,13,15,14,15,16,16,16,17,16,15,18,17,18,16,18,12,13,13,15,15,15,16,18,16,17,16,17,16,17,17,17,18,18,17,13,13,13,15,13,16,15,17,16,16,16,18,18,18,18,16,17,17,18,13,15,14,15,15,18,17,18,18,18,16,18,17,18,17,18,16,17,17,14,14,14,15,16,17,16,18,18,18,17,18,17,18,18,18,16,16,16,14,17,16,17,15,16,18,18,17,18,17,18,17,18,18,18,17,18,17,15,16,15,18,15,18,17,16,18,18,18,18,18,18,17,18,16,18,17,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,5,3,9,8,9,9,9,9,9,9,9,9,9,9,5,7,8,9,9,9,9,9,9,9,9,9,9,9,9,5,7,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,3,5,5,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,10,5,6,6,7,7,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,9,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,7,7,7,8,8,9,9,9,9,9,9,9,9,10,9,10,10,10,9,10,9,8,8,8,9,8,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,8,8,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,8,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,7,7,9,8,10,9,11,11,4,7,6,9,8,9,9,9,9,10,9,11,9,12,9,4,6,7,8,8,9,9,9,9,10,10,10,11,11,12,7,9,8,10,10,11,11,10,10,11,11,12,12,13,12,7,8,8,10,10,10,11,10,10,11,11,11,12,12,13,8,9,9,11,11,11,11,11,11,12,12,13,13,13,13,8,9,9,11,11,11,11,11,11,12,12,13,13,13,14,8,9,9,10,10,11,11,12,11,13,13,14,13,14,14,8,9,9,10,10,11,11,12,12,12,12,13,13,14,14,9,10,10,11,11,12,12,13,12,13,13,14,14,15,15,9,10,10,11,11,12,12,12,13,13,13,14,14,14,15,10,11,11,12,12,13,13,14,13,14,14,15,14,15,15,10,11,11,12,12,13,12,13,14,14,14,14,14,15,15,11,12,12,13,13,13,13,14,14,15,14,15,15,16,16,11,12,12,13,13,13,13,14,14,14,15,15,15,16,16,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,5,5,7,7,7,7,7,7,8,8,5,6,6,7,7,7,7,8,8,8,8,5,6,6,7,7,7,7,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,8,9,9,10,10,4,6,6,8,8,9,9,9,9,10,10,11,10,4,6,6,8,8,9,9,9,9,10,10,11,11,7,8,8,10,9,10,10,10,10,11,11,12,12,7,8,8,10,10,10,10,10,10,11,11,12,12,8,9,9,10,10,11,11,11,11,12,12,13,13,8,9,9,10,10,11,11,11,11,12,12,13,13,8,9,9,11,10,11,11,12,12,13,13,14,13,8,9,9,10,10,11,11,12,12,13,13,13,13,9,10,10,11,11,12,12,13,13,13,13,14,14,9,10,10,11,11,12,12,13,13,13,13,14,14,10,11,11,12,12,13,13,14,13,14,14,15,14,10,11,11,12,12,13,13,14,13,14,14,15,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,4,7,7,8,8,8,8,10,10,11,11,4,6,6,7,7,9,9,9,9,10,10,11,11,4,6,6,7,7,9,9,9,9,10,10,11,11,7,8,8,9,9,9,9,10,10,11,11,12,12,7,7,7,9,8,10,9,10,10,11,11,12,12,8,9,9,9,10,10,10,11,11,12,12,13,13,8,9,9,10,9,10,10,11,11,12,12,13,13,8,9,9,10,10,11,11,11,11,12,12,13,13,8,9,9,10,10,11,11,12,11,12,12,13,13,10,10,10,11,11,12,12,12,12,13,13,14,14,10,10,10,11,11,12,12,12,12,13,13,14,14,11,11,11,12,12,13,13,13,13,14,14,14,14,11,11,11,12,12,13,13,13,13,14,14,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,5,5,6,6,7,7,8,8,8,8,5,6,6,7,7,7,7,8,8,8,8,5,6,6,6,7,7,7,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,8,8,8,8,8,8,8,8,9,9,8,8,8,8,8,8,8,9,9,9,9,8,8,8,8,8,8,8,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,7,9,9,7,9,10,5,8,8,7,10,9,7,10,9,5,8,8,8,11,10,8,10,10,7,10,10,9,9,12,10,12,12,7,10,10,9,12,10,10,11,12,5,8,8,8,10,10,8,11,11,7,11,10,10,12,11,9,10,12,7,10,11,10,12,12,9,12,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,5,6,6,7,7,8,8,9,9,10,10,11,11,11,11,5,5,5,7,6,8,7,9,9,9,9,10,10,11,11,12,12,5,5,5,6,6,7,8,8,9,9,9,10,10,11,11,12,12,6,7,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,6,6,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,7,8,8,8,8,9,9,9,9,10,10,11,11,11,11,12,12,7,7,8,8,8,9,9,9,9,10,10,11,11,11,11,12,12,8,9,9,9,9,9,9,10,10,10,10,11,11,12,12,12,12,8,9,9,9,9,9,9,10,10,10,10,11,11,12,12,12,12,9,9,9,9,9,10,10,10,10,10,11,11,11,12,12,13,13,9,9,9,9,9,10,10,10,10,11,10,11,11,12,12,13,13,10,10,10,10,10,11,11,11,11,11,11,11,12,12,12,13,13,10,10,10,10,10,11,11,11,11,11,11,12,11,12,12,13,13,11,11,11,11,11,11,11,12,12,12,12,12,12,13,13,13,13,11,11,11,11,11,11,11,12,12,12,12,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,13,13,13,13,13,14,14,11,12,12,12,12,12,12,12,13,13,13,13,13,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,4,6,6,7,7,9,9,4,5,5,6,6,8,7,9,9,4,5,5,6,6,7,8,9,9,6,6,6,7,7,8,8,10,10,6,6,6,7,7,8,8,10,10,7,8,7,8,8,9,9,11,10,7,7,8,8,8,9,9,10,11,9,9,9,10,10,11,10,11,11,9,9,9,10,10,10,11,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,5,7,7,9,9,5,7,7,9,9,9,10,9,11,11,9,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,9,10,10,11,12,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,11,10,10,10,12,12,9,10,10,12,12,10,10,10,12,12,9,10,10,12,12,12,12,12,14,14,11,12,12,13,14,9,10,10,12,12,9,10,10,12,12,10,10,10,12,12,11,12,12,14,13,12,12,12,14,13,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,10,10,10,12,12,7,8,8,11,10,8,9,9,11,11,8,9,9,11,11,10,11,11,12,13,10,11,11,12,13,7,8,8,10,10,8,9,8,11,10,8,9,9,11,11,10,11,10,13,12,10,11,11,13,13,10,11,10,13,12,10,11,11,13,13,10,11,11,13,13,12,12,13,13,14,12,13,13,14,14,9,10,10,12,12,10,11,10,13,12,10,11,11,13,13,12,13,12,14,13,12,13,13,14,15,5,7,7,9,10,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,10,10,11,12,12,7,8,8,10,10,8,9,9,11,11,8,8,9,10,11,10,11,11,13,13,10,10,11,12,13,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,11,13,12,10,11,11,13,12,9,10,10,12,12,10,11,11,13,13,10,10,11,12,13,12,13,13,15,14,12,12,13,12,14,9,10,11,12,13,10,11,11,13,13,10,11,11,13,13,12,13,13,14,14,12,13,12,14,13,8,10,10,12,12,9,11,10,13,12,9,10,10,12,13,12,13,13,14,14,12,12,12,14,14],"i8",N3,F.GLOBAL_BASE+304880),E3([9,10,10,13,13,10,11,11,13,13,10,11,11,13,13,13,13,13,14,15,12,13,13,14,15,9,10,10,12,13,10,11,10,13,13,10,11,11,12,13,12,13,12,15,14,12,13,13,14,15,11,12,12,15,14,12,12,13,14,15,12,13,13,15,14,13,13,15,14,16,14,14,14,16,15,11,12,12,14,14,11,12,12,14,14,12,13,13,14,15,13,14,13,15,13,14,14,14,15,16,8,9,10,12,12,9,10,10,13,12,9,10,11,12,13,12,12,12,14,14,12,13,13,14,14,9,10,10,13,12,10,11,11,13,13,10,10,11,13,13,12,13,13,15,14,12,12,13,14,15,9,10,10,13,13,10,11,11,13,13,10,11,11,13,13,12,13,13,14,14,13,13,13,15,15,11,12,12,14,13,12,13,13,15,14,11,12,12,14,14,14,14,14,16,15,13,13,14,13,16,11,12,12,14,14,12,13,13,14,15,12,13,12,14,14,14,14,14,16,16,14,15,13,16,14,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,7,5,7,7,5,7,7,7,9,9,7,9,9,5,7,7,7,9,9,8,9,9,5,7,7,8,9,9,7,9,9,7,9,9,9,10,11,9,10,10,7,9,9,9,10,9,9,10,11,5,8,7,7,9,9,8,9,9,7,9,9,9,11,10,9,9,10,7,9,9,9,10,10,9,11,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,8,11,13,13,15,16,19,19,19,19,11,8,8,9,9,11,13,15,19,20,14,8,7,7,8,9,12,13,15,20,15,9,6,5,5,7,10,12,14,18,14,9,7,5,3,4,7,10,12,16,13,10,8,6,3,3,5,8,11,14,11,10,9,7,5,4,4,6,11,14,10,10,10,8,6,5,5,6,10,14,10,10,10,9,8,7,7,7,10,14,11,12,12,12,11,10,10,10,12,16,0,0,0,0,2,0,0,0,100,0,0,0,112,225,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,104,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,144,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,184,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,224,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,8,211,4,0,0,0,0,0,48,211,4,0,88,211,4,0,0,0,0,0,0,0,0,0,128,211,4,0,168,211,4,0,0,0,0,0,0,0,0,0,208,211,4,0,248,211,4,0,32,212,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,216,209,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,6,10,8,12,8,14,8,14,19,5,3,5,5,7,6,11,7,16,19,7,5,6,7,7,9,11,12,19,19,6,4,7,5,7,6,10,7,18,18,8,6,7,7,7,7,8,9,18,18,7,5,8,5,7,5,8,6,18,18,12,9,10,9,9,9,8,9,18,18,8,7,10,6,8,5,6,4,11,18,11,15,16,12,11,8,8,6,9,18,14,18,18,18,16,16,16,13,16,18,0,0,0,0,4,0,0,0,81,0,0,0,8,225,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,96,225,4,0,0,0,0,0,4,0,0,0,81,0,0,0,160,224,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,248,224,4,0,0,0,0,0,4,0,0,0,113,2,0,0,16,222,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,224,4,0,0,0,0,0,4,0,0,0,113,2,0,0,128,219,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,248,221,4,0,0,0,0,0,2,0,0,0,81,0,0,0,0,219,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,88,219,4,0,0,0,0,0,2,0,0,0,81,0,0,0,128,218,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,216,218,4,0,0,0,0,0,4,0,0,0,81,0,0,0,24,218,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,112,218,4,0,0,0,0,0,2,0,0,0,121,0,0,0,104,217,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,232,217,4,0,0,0,0,0,2,0,0,0,121,0,0,0,184,216,4,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,56,217,4,0,0,0,0,0,2,0,0,0,121,0,0,0,8,216,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,136,216,4,0,0,0,0,0,2,0,0,0,225,0,0,0,224,214,4,0,1,0,0,0,0,228,91,225,0,224,255,96,4,0,0,0,0,0,0,0,200,215,4,0,0,0,0,0,2,0,0,0,225,0,0,0,184,213,4,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,160,214,4,0,0,0,0,0,2,0,0,0,33,1,0,0,72,212,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,112,213,4,0,0,0,0,0,1,6,6,7,8,8,11,10,9,9,11,9,10,9,11,11,9,6,7,6,11,8,11,9,10,10,11,9,11,10,10,10,11,9,5,7,7,8,8,10,11,8,8,11,9,9,10,11,9,10,11,8,9,6,8,8,9,9,10,10,11,11,11,9,11,10,9,11,8,8,8,9,8,9,10,11,9,9,11,11,10,9,9,11,10,8,11,8,9,8,11,9,10,9,10,11,11,10,10,9,10,10,8,8,9,10,10,10,9,11,9,10,11,11,11,11,10,9,11,9,9,11,11,10,8,11,11,11,9,10,10,11,10,11,11,9,11,10,9,11,10,10,10,10,9,11,10,11,10,9,9,10,11,9,8,10,11,11,10,10,11,9,11,10,11,11,10,11,9,9,8,10,8,9,11,9,8,10,10,9,11,10,11,10,11,9,11,8,10,11,11,11,11,10,10,11,11,11,11,10,11,11,10,9,8,10,10,9,11,10,11,11,11,9,9,9,11,11,11,10,10,9,9,10,9,11,11,11,11,8,10,11,10,11,11,10,11,11,9,9,9,10,9,11,9,11,11,11,11,11,10,11,11,10,11,10,11,11,9,11,10,11,10,9,10,9,10,10,11,11,11,11,9,10,9,10,11,11,10,11,11,11,11,11,11,10,11,11,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,6,5,9,9,10,10,6,7,9,9,10,10,10,10,5,10,8,10,8,10,10,8,8,10,9,10,10,10,10,5,8,9,10,10,10,10,8,10,10,10,10,10,10,10,9,10,10,10,10,10,10,9,9,10,10,10,10,10,10,9,9,8,9,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,8,10,10,10,10,10,10,10,10,10,10,10,10,10,6,8,8,10,10,10,8,10,10,10,10,10,10,10,10,5,8,8,10,10,10,9,9,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,5,5,6,6,7,7,8,8,8,8,4,6,6,7,7,8,7,8,8,8,8,4,6,6,7,7,7,7,8,8,8,8,6,7,7,7,7,8,8,8,8,8,9,6,7,7,7,7,8,8,8,8,9,9,7,7,7,8,8,8,8,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,9,8,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,5,8,8,10,10,12,12,4,7,7,8,8,9,9,12,11,14,13,4,7,7,7,8,9,10,11,11,13,12,5,8,8,9,9,11,11,12,13,15,14,5,7,8,9,9,11,11,13,13,17,15,8,9,10,11,11,12,13,17,14,17,16,8,10,9,11,11,12,12,13,15,15,17,10,11,11,12,13,14,15,15,16,16,17,9,11,11,12,12,14,15,17,15,15,16,11,14,12,14,15,16,15,16,16,16,15,11,13,13,14,14,15,15,16,16,15,16,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,4,6,5,7,7,8,8,8,8,8,8,4,5,6,7,7,8,8,8,8,8,8,6,7,7,8,8,8,8,9,9,9,9,6,7,7,8,8,8,8,9,9,9,9,7,8,8,8,8,9,9,9,10,9,10,7,8,8,8,8,9,9,9,9,10,9,8,8,8,9,9,10,10,10,10,10,10,8,8,8,9,9,9,9,10,10,10,10,8,8,8,9,9,9,10,10,10,10,10,8,8,8,9,9,10,10,10,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,4,8,8,4,8,8,5,11,9,8,12,11,8,12,11,5,10,11,8,11,12,8,11,12,4,11,11,11,14,13,10,13,13,8,14,13,12,14,16,12,16,15,8,14,14,13,16,14,12,15,16,4,11,11,10,14,13,11,14,14,8,15,14,12,15,15,12,14,16,8,14,14,11,16,15,12,15,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,6,6,7,7,9,9,4,4,4,6,6,8,8,9,9,4,4,4,6,6,7,7,9,9,6,6,6,7,7,8,8,10,9,6,6,6,7,7,8,8,9,10,7,8,7,8,8,9,9,10,10,7,8,8,8,8,9,9,10,10,9,9,9,10,10,10,10,11,11,9,9,9,10,10,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,8,8,8,10,10,4,5,6,8,8,8,8,10,10,7,8,8,9,9,9,9,11,11,7,8,8,9,9,9,9,11,11,7,8,8,10,9,11,11,12,11,7,8,8,9,9,11,11,12,12,9,10,10,11,11,12,12,13,12,9,10,10,11,11,12,12,12,13,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,6,6,7,9,9,6,6,6,9,9,9,10,9,11,11,9,9,10,11,11,6,7,7,10,9,7,7,8,9,10,7,7,8,10,10,10,10,10,10,12,9,9,10,11,12,6,7,7,9,9,7,8,7,10,10,7,8,7,10,10,9,10,9,12,11,10,10,9,12,10,9,10,10,12,11,10,10,10,12,12,9,10,10,12,12,12,11,12,13,13,11,11,12,12,13,9,10,10,11,12,9,10,10,12,12,10,10,10,12,12,11,12,11,14,13,11,12,12,14,13,5,7,7,10,10,7,8,8,10,10,7,8,7,10,10,10,10,10,12,12,10,10,10,12,12,6,8,7,10,10,7,7,9,10,11,8,9,9,11,10,10,10,11,11,13,10,10,11,12,13,6,8,8,10,10,7,9,8,11,10,8,9,9,10,11,10,11,10,13,11,10,11,10,12,12,10,11,10,12,11,10,10,10,12,13,10,11,11,13,12,11,11,13,11,14,12,12,13,14,14,9,10,10,12,13,10,11,10,13,12,10,11,11,12,13,11,12,11,14,12,12,13,13,15,14,5,7,7,10,10,7,7,8,10,10,7,8,8,10,10,10,10,10,11,12,10,10,10,12,12,7,8,8,10,10,8,9,8,11,10,7,8,9,10,11,10,11,11,12,12,10,10,11,11,13,7,7,8,10,10,8,8,9,10,11,7,9,7,11,10,10,11,11,13,12,11,11,10,13,11,9,10,10,12,12,10,11,11,13,12,10,10,11,12,12,12,13,13,14,14,11,11,12,12,14,10,10,11,12,12,10,11,11,12,13,10,10,10,13,12,12,13,13,15,14,12,13,10,14,11,8,10,10,12,12,10,11,10,13,13,9,10,10,12,12,12,13,13,15,14,11,12,12,13,13,9,10,10,13,12,10,10,11,13,13,10,11,10,13,12,12,12,13,14,15,12,13,12,15,13,9,10,10,12,13,10,11,10,13,12,10,10,11,12,13,12,14,12,15,13,12,12,13,14,15,11,12,11,14,13,11,11,12,14,15,12,13,12,15,14,13,11,15,11,16,13,14,14,16,15,11,12,12,14,14,11,12,11,14,13,12,12,13,14,15,13,14,12,16,12,14,14,14,15,15,8,10,10,12,12,9,10,10,12,12,10,10,11,13,13,11,12,12,13,13,12,13,13,14,15,9,10,10,13,12,10,11,11,13,12,10,10,11,13,13,12,13,12,15,14,12,12,13,13,16,9,9,10,12,13,10,10,11,12,13,10,11,10,13,13,12,12,13,13,15,13,13,12,15,13,11,12,12,14,14,12,13,12,15,14,11,11,12,13,14,14,14,14,16,15,13,12,15,12,16,11,11,12,13,14,12,13,13,14,15,10,12,11,14,13,14,15,14,16,16,13,14,11,15,11,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,8,8,6,7,7,9,9,5,7,7,9,9,9,10,9,11,11,9,9,10,11,11,6,8,8,10,10,8,9,10,11,11,8,9,10,11,11,10,11,11,12,13,10,11,11,13,13,6,8,8,10,10,8,10,9,11,11,8,10,9,11,11,10,11,11,13,13,10,11,11,13,12,9,11,11,14,13,10,12,12,15,14,10,12,11,14,13,12,13,13,15,15,12,13,13,16,14,9,11,11,13,14,10,11,12,14,14,10,12,12,14,15,12,13,13,14,15,12,13,14,15,16,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,14,8,10,10,12,12,9,11,12,12,13,10,12,12,13,13,12,12,13,14,15,11,13,13,15,15,7,10,10,12,12,9,12,11,13,12,10,11,12,13,13,12,13,12,15,14,11,12,13,15,15,10,12,12,15,14,11,13,13,16,15,11,13,13,16,15,14,13,14,15,16,13,15,15,17,17,10,12,12,14,15,11,12,12,15,15,11,13,13,15,16,13,15,13,16,15,13,15,15,16,17,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,14,7,10,10,12,12,10,12,12,14,13,9,11,12,12,13,12,13,13,15,15,12,12,13,13,15,7,10,10,12,13,10,11,12,13,13,10,12,11,13,13,11,13,13,15,15,12,13,12,15,14,9,12,12,15,14,11,13,13,15,15,11,12,13,15,15,13,14,14,17,19,13,13,14,16,16,10,12,12,14,15,11,13,13,15,16,11,13,12,16,15,13,15,15,17,18,14,15,13,16,15,8,11,11,15,14,10,12,12,16,15,10,12,12,16,16,14,15,15,18,17,13,14,15,16,18,9,12,12,15,15,11,12,14,16,17,11,13,13,16,15,15,15,15,17,18,14,15,16,17,17,9,12,12,15,15,11,14,13,16,16,11,13,13,16,16,15,16,15,17,18,14,16,15,17,16,12,14,14,17,16,12,14,15,18,17,13,15,15,17,17,15,15,18,16,20,15,16,17,18,18,11,14,14,16,17,13,15,14,18,17,13,15,15,17,17,15,17,15,18,17,15,17,16,19,18,8,11,11,14,15,10,12,12,15,15,10,12,12,16,16,13,14,14,17,16,14,15,15,17,17,9,12,12,15,16,11,13,13,16,16,11,12,13,16,16,14,16,15,20,17,14,16,16,17,17,9,12,12,15,16,11,13,13,16,17,11,13,13,17,16,14,15,15,17,18,15,15,15,18,18,11,14,14,17,16,13,15,15,17,17,13,14,14,18,17,15,16,16,18,19,15,15,17,17,19,11,14,14,16,17,13,15,14,17,19,13,15,14,18,17,15,17,16,18,18,15,17,15,18,16,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,5,6,6,5,6,6,5,6,6,6,7,8,6,7,8,5,6,6,6,8,7,6,8,7,5,6,6,6,8,8,6,8,8,6,8,8,7,7,10,8,9,9,6,8,8,7,9,8,8,9,10,5,6,6,6,8,8,7,8,8,6,8,8,8,10,9,7,8,9,6,8,8,8,9,9,7,10,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,7,7,10,10,7,9,10,5,7,8,7,10,9,7,10,10,5,8,8,8,10,10,8,10,10,7,10,10,10,11,12,10,12,13,7,10,10,9,13,11,10,12,13,5,8,8,8,10,10,8,10,10,7,10,10,10,12,12,9,11,12,7,10,11,10,12,12,10,13,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,7,10,9,11,10,15,11,13,16,6,4,6,6,7,7,10,9,12,16,10,6,5,6,6,7,10,11,16,16,9,6,7,6,7,7,10,8,14,16,11,6,5,4,5,6,8,9,15,16,9,6,6,5,6,6,9,8,14,16,12,7,6,6,5,6,6,7,13,16,8,6,7,6,5,5,4,4,11,16,9,8,9,9,7,7,6,5,13,16,14,14,16,15,16,15,16,16,16,16,0,0,0,0,2,0,0,0,64,0,0,0,136,239,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,226,4,0,0,0,0,0,0,0,0,0,0,0,0,0,232,226,4,0,0,0,0,0,0,0,0,0,0,0,0,0,16,227,4,0,0,0,0,0,0,0,0,0,0,0,0,0,56,227,4,0,0,0,0,0,0,0,0,0,0,0,0,0,96,227,4,0,0,0,0,0,136,227,4,0,176,227,4,0,0,0,0,0,0,0,0,0,216,227,4,0,0,228,4,0,40,228,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,81,0,0,0,32,239,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,120,239,4,0,0,0,0,0,4,0,0,0,81,0,0,0,184,238,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,16,239,4,0,0,0,0,0,4,0,0,0,113,2,0,0,40,236,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,238,4,0,0,0,0,0,4,0,0,0,113,2,0,0,152,233,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,236,4,0,0,0,0,0,2,0,0,0,81,0,0,0,24,233,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,112,233,4,0,0,0,0,0,2,0,0,0,169,0,0,0,48,232,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,224,232,4,0,0,0,0,0,2,0,0,0,25,0,0,0,248,231,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,24,232,4,0,0,0,0,0,4,0,0,0,81,0,0,0,144,231,4,0,1,0,0,0,0,176,19,225,0,176,19,97,2,0,0,0,0,0,0,0,232,231,4,0,0,0,0,0,2,0,0,0,225,0,0,0,104,230,4,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,80,231,4,0,0,0,0,0,2,0,0,0,185,1,0,0,80,228,4,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,16,230,4,0,0,0,0,0,1,6,6,7,8,7,7,10,9,10,9,11,10,9,11,10,9,9,9,9,10,6,8,7,9,9,8,8,10,10,9,11,11,12,12,10,9,11,9,12,10,9,6,9,8,9,12,8,8,11,9,11,11,12,11,12,12,10,11,11,10,10,11,7,10,9,9,9,9,9,10,9,10,9,10,10,12,10,10,10,11,12,10,10,7,9,9,9,10,9,9,10,10,9,9,9,11,11,10,10,10,10,9,9,12,7,9,10,9,11,9,10,9,10,11,11,11,10,11,12,9,12,11,10,10,10,7,9,9,9,9,10,12,10,9,11,12,10,11,12,12,11,9,10,11,10,11,7,9,10,10,11,10,9,10,11,11,11,10,12,12,12,11,11,10,11,11,12,8,9,10,12,11,10,10,12,12,12,12,12,10,11,11,9,11,10,12,11,11,8,9,10,10,11,12,11,11,10,10,10,12,12,12,9,10,12,12,12,12,12,8,10,11,10,10,12,9,11,12,12,11,12,12,12,12,10,12,10,10,10,10,8,12,11,11,11,10,10,11,12,12,12,12,11,12,12,12,11,11,11,12,10,9,10,10,12,10,12,10,12,12,10,10,10,11,12,12,12,11,12,12,12,11,10,11,12,12,12,11,12,12,11,12,12,11,12,12,12,12,11,12,12,10,10,10,10,11,11,12,11,12,12,12,12,12,12,12,11,12,11,10,11,11,12,11,11,9,10,10,10,12,10,10,11,9,11,12,11,12,11,12,12,10,11,10,12,9,9,9,12,11,10,11,10,12,10,12,10,12,12,12,11,11,11,11,11,10,9,10,10,11,10,11,11,12,11,10,11,12,12,12,11,11,9,12,10,12,9,10,12,10,10,11,10,11,11,12,11,10,11,10,11,11,11,11,12,11,11,10,9,10,10,10,9,11,11,10,9,12,10,11,12,11,12,12,11,12,11,12,11,10,11,10,12,11,12,11,12,11,12,10,11,10,10,12,11,10,11,11,11,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,5,5,6,5,9,10,11,11,10,10,10,10,10,10,5,8,8,8,10,10,10,10,10,10,10,10,10,10,10,5,8,9,9,9,10,10,10,10,10,10,10,10,10,10,5,10,8,10,10,10,10,10,10,10,10,10,10,10,10,4,8,9,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,5,6,6,4,6,6,6,6,4,6,6,6,6,6,6,6,7,7,6,6,6,7,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,10,10,12,12,13,13,18,17,3,6,6,9,9,11,11,13,13,14,14,18,17,3,6,6,9,9,11,11,13,13,14,14,17,18,7,9,9,11,11,13,13,14,14,15,15,0,0,7,9,9,11,11,13,13,14,14,15,16,19,18,10,11,11,13,13,14,14,16,15,17,18,0,0,10,11,11,13,13,14,14,15,15,16,18,0,0,11,13,13,14,14,15,15,17,17,0,19,0,0,11,13,13,14,14,14,15,16,18,0,19,0,0,13,14,14,15,15,18,17,18,18,0,19,0,0,13,14,14,15,16,16,16,18,18,19,0,0,0,16,17,17,0,17,19,19,0,19,0,0,0,0,16,19,16,17,18,0,19,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,8,8,8,9,9,4,6,6,8,8,8,8,9,9,7,8,8,9,9,9,9,11,10,7,8,8,9,9,9,9,10,11,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,9,9,10,10,11,11,12,12,9,9,9,10,10,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,6,6,6,9,9,6,6,6,9,9,9,10,9,11,11,9,9,9,11,11,6,7,7,10,10,7,7,8,10,10,7,7,8,10,10,10,10,10,11,12,9,10,10,11,12,6,7,7,10,10,7,8,7,10,10,7,8,7,10,10,10,11,10,12,11,10,10,10,13,10,9,10,10,12,12,10,11,10,14,12,9,11,11,13,13,11,12,13,13,13,11,12,12,15,13,9,10,10,12,13,9,11,10,12,13,10,10,11,12,13,11,12,12,12,13,11,12,12,13,13,5,7,7,10,10,7,8,8,10,10,7,8,8,10,10,10,11,10,12,13,10,10,11,12,12,6,8,8,11,10,7,8,9,10,12,8,9,9,11,11,11,10,11,11,12,10,11,11,13,12,7,8,8,10,11,8,9,8,11,10,8,9,9,11,11,10,12,10,13,11,10,11,11,13,13,10,11,10,14,13,10,10,11,13,13,10,12,11,14,13,12,11,13,12,13,13,12,13,14,14,10,11,11,13,13,10,11,10,12,13,10,12,12,12,14,12,12,12,14,12,12,13,12,17,15,5,7,7,10,10,7,8,8,10,10,7,8,8,11,10,10,10,11,12,12,10,11,11,12,13,6,8,8,11,10,8,9,9,11,11,7,8,9,10,11,11,11,11,12,12,10,10,11,12,13,6,8,8,10,11,8,9,9,11,11,7,9,7,11,10,10,12,12,13,13,11,11,10,13,11,9,11,10,14,13,11,11,11,15,13,10,10,11,13,13,12,13,13,14,14,12,11,12,12,13,10,11,11,12,13,10,11,12,13,13,10,11,10,13,12,12,12,13,14,0,12,13,11,13,11,8,10,10,13,13,10,11,11,14,13,10,11,11,13,12,13,14,14,14,15,12,12,12,15,14,9,11,10,13,12,10,10,11,13,14,11,11,11,15,12,13,12,14,15,16,13,13,13,14,13,9,11,11,12,12,10,12,11,13,13,10,11,11,13,14,13,13,13,15,15,13,13,14,17,15,11,12,12,14,14,10,11,12,13,15,12,13,13,0,15,13,11,14,12,16,14,16,14,0,15,11,12,12,14,16,11,13,12,16,15,12,13,13,14,15,12,14,12,15,13,15,14,14,16,16,8,10,10,13,13,10,11,10,13,14,10,11,11,13,13,13,13,12,14,14,14,13,13,16,17,9,10,10,12,14,10,12,11,14,13,10,11,12,13,14,12,12,12,15,15,13,13,13,14,14,9,10,10,13,13,10,11,12,12,14,10,11,10,13,13,13,13,13,14,16,13,13,13,14,14,11,12,13,15,13,12,14,13,14,16,12,12,13,13,14,13,14,14,17,15,13,12,17,13,16,11,12,13,14,15,12,13,14,14,17,11,12,11,14,14,13,16,14,16,0,14,15,11,15,11,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,7,7,6,7,7,8,8,6,7,8,8,8,8,9,9,11,11,8,9,9,11,11,6,9,8,10,10,8,10,10,11,11,8,10,10,11,11,10,11,10,13,12,9,11,10,13,13,6,8,9,10,10,8,10,10,11,11,8,10,10,11,11,9,10,11,13,12,10,10,11,12,12,8,11,11,14,13,10,12,11,15,13,9,12,11,15,14,12,14,13,16,14,12,13,13,17,14,8,11,11,13,14,9,11,12,14,15,10,11,12,13,15,11,13,13,14,16,12,13,14,14,16,5,9,9,11,11,9,11,11,12,12,8,11,11,12,12,11,12,12,15,14,10,12,12,15,15,8,11,11,13,12,10,12,12,13,13,10,12,12,14,13,12,12,13,14,15,11,13,13,17,16,7,11,11,13,13,10,12,12,14,13,10,12,12,13,14,12,13,12,15,14,11,13,13,15,14,9,12,12,16,15,11,13,13,17,16,10,13,13,16,16,13,14,15,15,16,13,15,14,19,17,9,12,12,14,16,11,13,13,15,16,10,13,13,17,16,13,14,13,17,15,12,15,15,16,17,5,9,9,11,11,8,11,11,13,12,9,11,11,12,12,10,12,12,14,15,11,12,12,14,14,7,11,10,13,12,10,12,12,14,13,10,11,12,13,13,11,13,13,15,16,12,12,13,15,15,7,11,11,13,13,10,13,13,14,14,10,12,12,13,13,11,13,13,16,15,12,13,13,15,14,9,12,12,15,15,10,13,13,17,16,11,12,13,15,15,12,15,14,18,18,13,14,14,16,17,9,12,12,15,16,10,13,13,15,16,11,13,13,15,16,13,15,15,17,17,13,15,14,16,15,7,11,11,15,16,10,13,12,16,17,10,12,13,15,17,15,16,16,18,17,13,15,15,17,18,8,12,12,16,16,11,13,14,17,18,11,13,13,18,16,15,17,16,17,19,14,15,15,17,16,8,12,12,16,15,11,14,13,18,17,11,13,14,18,17,15,16,16,18,17,13,16,16,18,18,11,15,14,18,17,13,14,15,18,0,12,15,15,0,17,17,16,17,17,18,14,16,18,18,0,11,14,14,17,0,12,15,14,17,19,12,15,14,18,0,15,18,16,0,17,14,18,16,18,0,7,11,11,16,15,10,12,12,18,16,10,13,13,16,15,13,15,14,17,17,14,16,16,19,18,8,12,12,16,16,11,13,13,18,16,11,13,14,17,16,14,15,15,19,18,15,16,16,0,19,8,12,12,16,17,11,13,13,17,17,11,14,13,17,17,13,15,15,17,19,15,17,17,19,0,11,14,15,19,17,12,15,16,18,18,12,14,15,19,17,14,16,17,0,18,16,16,19,17,0,11,14,14,18,19,12,15,14,17,17,13,16,14,17,16,14,17,16,18,18,15,18,15,0,18,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,7,8,9,7,8,9,5,7,7,7,9,8,7,9,7,4,7,7,7,9,9,7,8,8,6,9,8,7,8,11,9,11,10,6,8,9,8,11,8,9,10,11,4,7,7,7,8,8,7,9,9,6,9,8,9,11,10,8,8,11,6,8,9,9,10,11,8,11,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,8,5,8,8,8,10,10,8,10,11,5,8,8,8,10,10,8,10,10,4,9,9,9,12,11,8,11,11,8,12,11,10,12,14,10,13,13,7,11,11,10,14,12,11,14,14,4,9,9,8,11,11,9,11,12,7,11,11,10,13,14,10,12,14,8,11,12,10,14,14,10,13,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,5,8,7,14,8,9,19,5,2,5,5,9,6,9,19,8,4,5,7,8,9,13,19,7,4,6,5,9,6,9,19,12,8,7,9,10,11,13,19,8,5,8,6,9,6,7,19,8,8,10,7,7,4,5,19,12,17,19,15,18,13,11,18,9,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,9,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,112,199,64,0,0,0,0,0,136,211,64,0,0,0,0,0,124,229,64,0,0,0,0,0,255,244,64,200,47,1,0,32,240,4,0,200,47,1,0,64,240,4,0,200,47,1,0,128,240,4,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,248,45,5,0,248,45,5,0,32,46,5,0,32,46,5,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,32,5,5,0,32,5,5,0,72,5,5,0,72,5,5,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,8,6,5,0,8,6,5,0,72,5,5,0,72,5,5,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,192,240,4,0,192,240,4,0,232,240,4,0,232,240,4,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,168,241,4,0,168,241,4,0,232,240,4,0,232,240,4,0,2,0,0,0,100,0,0,0,184,4,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,242,4,0,0,0,0,0,0,0,0,0,0,0,0,0,96,242,4,0,0,0,0,0,0,0,0,0,0,0,0,0,136,242,4,0,0,0,0,0,0,0,0,0,0,0,0,0,176,242,4,0,0,0,0,0,216,242,4,0,0,243,4,0,0,0,0,0,0,0,0,0,40,243,4,0,80,243,4,0,0,0,0,0,0,0,0,0,120,243,4,0,160,243,4,0,0,0,0,0,0,0,0,0,200,243,4,0,240,243,4,0,0,0,0,0,0,0,0,0,24,244,4,0,64,244,4,0,104,244,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,208,241,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,9,9,9,8,9,10,13,16,5,4,5,6,7,7,8,9,12,16,6,5,5,5,7,7,9,10,12,15,7,6,5,4,5,6,8,9,10,13,8,7,7,5,5,5,7,9,10,12,7,7,7,6,5,5,6,7,10,12,8,8,8,7,7,5,5,6,9,11,8,9,9,8,8,6,6,5,8,11,10,11,12,12,11,9,9,8,9,12,13,14,15,15,14,12,12,11,11,13,0,0,0,0,4,0,0,0,81,0,0,0,80,4,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,4,5,0,0,0,0,0,4,0,0,0,113,2,0,0,192,1,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,4,5,0,0,0,0,0,2,0,0,0,81,0,0,0,64,1,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,152,1,5,0,0,0,0,0,2,0,0,0,33,1,0,0,208,255,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,248,0,5,0,0,0,0,0,4,0,0,0,81,0,0,0,104,255,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,192,255,4,0,0,0,0,0,2,0,0,0,121,0,0,0,184,254,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,56,255,4,0,0,0,0,0,2,0,0,0,169,0,0,0,208,253,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,128,254,4,0,0,0,0,0,2,0,0,0,25,0,0,0,152,253,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,184,253,4,0,0,0,0,0,2,0,0,0,169,0,0,0,176,252,4,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,96,253,4,0,0,0,0,0,2,0,0,0,121,0,0,0,0,252,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,128,252,4,0,0,0,0,0,2,0,0,0,225,0,0,0,216,250,4,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,192,251,4,0,0,0,0,0,2,0,0,0,185,1,0,0,192,248,4,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,128,250,4,0,0,0,0,0,2,0,0,0,33,1,0,0,80,247,4,0,1,0,0,0,0,24,157,225,0,24,61,97,5,0,0,0,0,0,0,0,120,248,4,0,0,0,0,0,2,0,0,0,105,1,0,0,144,245,4,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,0,247,4,0,0,0,0,0,1,0,0,0,49,0,0,0,144,244,4,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,200,244,4,0,0,0,0,0,2,4,4,4,4,5,5,5,5,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,7,8,8,10,9,11,10,13,11,14,13,6,6,6,8,8,8,8,8,7,9,8,11,9,13,11,14,12,14,13,5,6,6,8,8,8,8,8,8,9,9,11,11,13,11,14,13,15,15,17,8,8,8,8,9,9,9,8,11,9,12,10,13,11,14,12,14,13,17,8,8,8,8,9,9,9,9,10,10,11,11,13,13,13,14,16,15,17,12,12,8,8,9,9,10,10,11,11,12,11,13,12,13,12,14,13,16,12,12,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,17,17,17,9,9,9,9,11,11,12,12,12,13,13,13,16,14,14,14,17,17,17,9,8,9,8,11,10,12,12,13,13,14,14,15,15,16,16,17,17,17,12,12,10,10,11,12,12,13,13,14,13,15,15,14,16,15,17,17,17,12,12,10,8,12,9,13,12,14,14,15,14,15,16,16,16,17,17,17,17,17,11,11,12,12,14,14,14,16,15,16,15,16,15,17,17,17,17,17,17,11,9,12,10,13,11,15,14,16,16,17,16,16,15,17,17,17,17,17,15,15,12,12,14,14,15,16,16,15,16,16,17,17,17,17,17,17,17,14,14,12,10,14,11,15,12,17,16,15,16,17,16,17,17,17,17,17,17,17,13,13,14,14,14,16,17,17,16,17,17,17,17,17,17,17,17,17,17,13,9,13,12,15,13,16,16,17,17,17,17,17,17,17,17,17,17,17,15,17,14,14,15,16,16,17,16,17,16,17,17,17,17,17,17,17,17,17,17,14,13,15,16,16,17,16,17,17],"i8",N3,F.GLOBAL_BASE+315120),E3([17,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,4,3,10,8,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,11,11,11,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,11,10,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,10,9,10,10,10,10,11,11,11,8,8,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,11,11,11,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,10,10,6,6,6,8,8,9,9,8,8,9,9,10,10,11,11,6,5,5,8,7,9,9,8,8,9,9,10,10,11,11,20,8,8,8,8,9,9,9,9,10,10,11,10,12,11,20,8,8,8,8,9,9,9,9,10,10,11,11,12,12,20,12,12,9,9,10,10,10,10,11,11,12,12,13,12,20,13,13,9,9,10,10,10,10,11,11,12,12,13,13,20,20,20,9,9,9,9,10,10,11,11,12,12,13,12,20,20,20,9,9,9,8,10,10,12,11,12,12,13,13,20,20,20,13,13,10,10,11,11,12,12,13,13,13,13,20,20,20,13,13,10,10,11,10,12,11,13,13,14,14,20,20,20,20,20,11,11,11,11,12,12,13,13,14,14,20,20,20,20,20,11,10,11,11,13,11,13,13,14,14,20,20,21,21,21,14,14,11,12,13,13,13,13,14,14,21,21,21,21,21,15,15,12,11,13,12,14,13,15,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,7,7,9,9,9,6,7,7,7,7,7,8,8,9,9,9,6,6,7,7,7,7,8,8,9,9,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,7,7,8,8,9,9,9,7,7,8,8,7,7,8,8,9,9,9,9,9,8,8,7,7,8,8,9,9,9,9,9,8,8,7,7,8,8,9,9,9,9,9,7,7,7,7,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,8,10,9,10,10,5,5,5,7,7,9,9,10,10,11,10,12,11,6,5,5,7,7,9,9,10,10,11,11,12,12,20,7,7,7,7,9,9,10,10,11,11,12,12,20,7,7,7,7,9,9,11,10,12,11,12,12,20,11,11,8,8,10,10,11,11,12,12,13,13,20,12,12,8,8,9,9,11,11,12,12,13,13,20,20,21,10,10,10,10,11,11,12,12,13,13,21,21,21,10,10,10,10,11,11,12,12,13,13,21,21,21,14,14,11,11,12,12,13,13,13,14,21,21,21,16,15,11,11,12,11,13,13,14,14,21,21,21,21,21,13,13,12,12,13,13,14,14,21,21,21,21,21,13,13,12,12,13,13,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,7,8,8,9,9,10,10,5,5,5,7,7,9,9,9,9,11,11,12,12,6,5,5,7,7,9,9,10,9,11,11,12,12,0,7,7,7,7,9,9,10,10,11,11,12,12,0,7,7,7,7,9,9,10,10,11,11,12,12,0,11,11,8,8,10,10,11,11,12,12,13,13,0,12,12,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,6,6,7,7,7,7,11,10,10,6,6,7,7,8,8,8,8,10,10,10,6,6,7,7,8,8,8,8,11,11,11,7,7,8,8,8,8,9,9,11,11,11,6,7,8,8,8,8,9,9,11,11,11,7,7,8,8,8,8,8,8,11,11,11,7,7,8,8,8,8,9,9,11,11,11,8,8,8,8,8,8,8,8,11,11,11,11,11,8,8,8,8,8,8,12,11,11,11,11,8,8,8,8,8,8,12,11,11,11,11,7,7,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,6,6,10,11,10,10,10,11,4,6,6,10,10,11,10,11,10,5,10,10,9,12,11,10,12,12,7,10,10,12,12,12,12,13,13,7,11,10,11,12,12,12,13,13,6,11,10,10,12,12,11,12,12,7,11,10,12,13,13,12,12,12,7,10,11,12,13,13,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,6,7,7,8,8,8,8,9,9,0,0,0,6,6,7,7,8,8,8,8,9,9,10,10,11,10,0,0,0,6,6,7,7,8,8,8,8,9,9,10,10,10,10,0,0,0,6,6,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,6,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,10,10,11,11,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,11,11,12,12,0,0,0,7,8,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,5,5,7,7,8,8,0,0,0,6,6,8,8,9,9,0,0,0,6,6,8,8,9,9,0,0,0,7,7,8,9,10,10,0,0,0,7,7,9,9,10,10,0,0,0,8,8,9,9,11,11,0,0,0,7,7,9,9,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,7,7,0,0,0,8,8,0,0,0,8,8,0,0,0,8,8,0,0,0,8,8,4,4,4,8,7,0,0,0,8,8,0,0,0,8,8,0,0,0,9,9,0,0,0,9,9,4,4,4,7,8,0,0,0,8,8,0,0,0,8,8,0,0,0,9,9,0,0,0,9,9,7,8,8,10,9,0,0,0,12,11,0,0,0,11,12,0,0,0,14,13,0,0,0,14,14,7,8,8,9,10,0,0,0,11,12,0,0,0,11,11,0,0,0,14,14,0,0,0,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,8,11,11,0,0,0,12,11,0,0,0,12,12,0,0,0,13,12,0,0,0,13,13,8,8,8,11,11,0,0,0,11,11,0,0,0,12,12,0,0,0,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,8,12,11,0,0,0,12,12,0,0,0,12,11,0,0,0,13,13,0,0,0,13,13,8,8,8,11,12,0,0,0,11,12,0,0,0,11,12,0,0,0,13,14,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,9,14,14,0,0,0,13,13,0,0,0,13,13,0,0,0,13,12,0,0,0,13,13,8,9,9,14,14,0,0,0,13,13,0,0,0,13,13,0,0,0,12,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,9,14,14,0,0,0,13,13,0,0,0,13,13,0,0,0,13,13,0,0,0,13,12,8,9,9,14,14,0,0,0,13,13,0,0,0,13,13,0,0,0,13,13,0,0,0,12,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,3,3,0,0,0,0,0,0,4,5,5,0,0,0,0,0,0,4,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,7,10,12,11,12,13,15,16,18,15,10,8,8,8,9,10,12,13,14,17,10,7,7,7,7,8,10,12,15,18,10,7,7,5,5,6,8,10,13,15,10,7,6,5,4,4,6,9,12,15,11,7,7,5,4,3,4,7,11,13,12,9,8,7,5,4,4,5,10,13,11,11,11,9,7,5,5,5,9,12,13,12,13,12,10,8,8,7,9,13,14,14,14,14,13,11,11,10,10,13,0,0,0,0,2,0,0,0,100,0,0,0,144,45,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,232,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,16,7,5,0,0,0,0,0,0,0,0,0,0,0,0,0,56,7,5,0,0,0,0,0,96,7,5,0,136,7,5,0,0,0,0,0,0,0,0,0,176,7,5,0,216,7,5,0,0,0,0,0,0,0,0,0,0,8,5,0,40,8,5,0,80,8,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,48,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,5,20,7,10,7,8,10,11,11,4,2,20,5,8,6,7,9,10,10,20,20,20,20,19,19,19,19,19,19,7,5,19,6,10,7,9,11,13,17,11,8,19,10,7,7,8,10,11,15,7,5,19,7,7,5,6,9,11,16,7,6,19,8,7,6,6,7,9,13,9,9,19,11,9,8,6,7,8,13,12,14,19,16,13,10,9,8,9,13,14,17,19,18,18,17,12,11,11,13,0,0,0,0,8,0,0,0,161,25,0,0,216,19,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,128,45,5,0,0,0,0,0,4,0,0,0,113,2,0,0,72,17,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,19,5,0,0,0,0,0,2,0,0,0,81,0,0,0,200,16,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,32,17,5,0,0,0,0,0,2,0,0,0,81,0,0,0,72,16,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,160,16,5,0,0,0,0,0,2,0,0,0,33,1,0,0,216,14,5,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,0,16,5,0,0,0,0,0,4,0,0,0,81,0,0,0,112,14,5,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,200,14,5,0,0,0,0,0,2,0,0,0,121,0,0,0,192,13,5,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,64,14,5,0,0,0,0,0,2,0,0,0,169,0,0,0,216,12,5,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,136,13,5,0,0,0,0,0,2,0,0,0,25,0,0,0,160,12,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,12,5,0,0,0,0,0,2,0,0,0,169,0,0,0,184,11,5,0,1,0,0,0,0,136,93,225,0,176,19,97,4,0,0,0,0,0,0,0,104,12,5,0,0,0,0,0,2,0,0,0,225,0,0,0,144,10,5,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,120,11,5,0,0,0,0,0,2,0,0,0,185,1,0,0,120,8,5,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,56,10,5,0,0,0,0,0,1,4,4,6,6,7,7,8,7,8,8,9,9,9,9,10,10,10,9,10,10,11,12,12,8,8,8,8,9,9,9,9,10,10,10,10,10,11,11,10,12,11,11,13,11,7,7,8,8,8,8,9,9,9,10,10,10,10,9,10,10,11,11,12,11,11,8,8,8,8,9,9,10,10,10,10,11,11,11,11,11,11,11,12,11,12,12,8,8,9,9,9,9,9,10,10,10,10,10,10,11,11,11,11,11,11,12,11,9,9,9,9,10,10,10,10,11,10,11,11,11,11,11,11,12,12,12,12,11,9,9,9,9,10,10,10,10,11,11,11,11,11,11,11,11,11,12,12,12,13,9,10,10,9,11,10,10,10,10,11,11,11,11,11,10,11,12,11,12,12,11,12,11,10,9,10,10,11,10,11,11,11,11,11,11,11,11,11,12,12,11,12,12,12,10,10,10,11,10,11,11,11,11,11,11,11,11,11,11,11,12,13,12,12,11,9,10,10,11,11,10,11,11,11,12,11,11,11,11,11,12,12,13,13,12,13,10,10,12,10,11,11,11,11,11,11,11,11,11,12,12,11,13,12,12,12,12,13,12,11,11,11,11,11,11,12,11,12,11,11,11,11,12,12,13,12,11,12,12,11,11,11,11,11,12,11,11,11,11,12,11,11,12,11,12,13,13,12,12,12,12,11,11,11,11,11,12,11,11,12,11,12,11,11,11,11,13,12,12,12,12,13,11,11,11,12,12,11,11,11,12,11,12,12,12,11,12,13,12,11,11,12,12,11,12,11,11,11,12,12,11,12,11,11,11,12,12,12,12,13,12,13,12,12,12,12,11,11,12,11,11,11,11,11,11,12,12,12,13,12,11,13,13,12,12,11,12,10,11,11,11,11,12,11,12,12,11,12,12,13,12,12,13,12,12,12,12,12,11,12,12,12,11,12,11,11,11,12,13,12,13,13,13,13,13,12,13,13,12,12,13,11,11,11,11,11,12,11,11,12,11,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,4,4,8,8,12,13,14,14,14,14,14,14,6,6,6,6,6,10,9,14,14,14,14,14,14,14,14,7,6,5,6,6,10,9,12,13,13,13,13,13,13,13,13,7,7,9,9,11,11,12,13,13,13,13,13,13,13,13,7,7,8,8,11,12,13,13,13,13,13,13,13,13,13,12,12,10,10,13,12,13,13,13,13,13,13,13,13,13,12,12,10,10,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,6,5,5,7,8,8,9,8,8,9,9,10,11,6,5,5,8,8,9,9,8,8,9,10,10,11,0,8,8,8,9,9,9,9,9,10,10,11,11,0,9,9,9,8,9,9,9,9,10,10,11,11,0,13,13,9,9,10,10,10,10,11,11,12,12,0,14,13,9,9,10,10,10,10,11,11,12,12,0,0,0,10,10,9,9,11,11,12,12,13,12,0,0,0,10,10,9,9,10,10,12,12,13,13,0,0,0,13,14,11,10,11,11,12,12,13,14,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,12,12,12,12,13,13,14,15,0,0,0,0,0,12,12,12,12,13,13,14,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,6,7,7,7,7,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,9,9,10,10,10,10,10,8,8,8,8,9,9,10,10,10,10,10,9,9,8,8,9,9,10,10,10,10,10,8,8,8,8,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,6,7,6,6,4,7,7,10,9,10,10,10,9,4,7,7,10,10,10,11,10,10,6,10,10,11,11,11,11,10,10,6,10,9,11,11,11,11,10,10,6,10,10,11,11,11,11,10,10,7,11,11,11,11,11,12,12,11,6,10,10,11,10,10,11,11,11,6,10,10,10,11,10,11,11,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,6,6,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,9,10,9,10,10,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,11,12,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,10,10,11,10,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,5,5,6,6,8,8,0,0,0,7,7,7,7,9,9,0,0,0,7,7,7,7,9,9,0,0,0,8,8,8,8,9,9,0,0,0,8,8,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,10,10,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,2,3,7,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,8,9,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,9,11,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,11,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,8,9,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,9,11,9],"i8",N3,F.GLOBAL_BASE+325360),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,6,17,8,12,9,10,10,12,13,5,2,17,4,9,5,7,8,11,13,16,16,16,16,16,16,16,16,16,16,6,4,16,5,10,5,7,10,14,16,13,9,16,11,8,7,8,9,13,16,7,4,16,5,7,4,6,8,11,13,8,6,16,7,8,5,5,7,9,13,9,8,16,9,8,6,6,7,9,13,11,11,16,10,10,7,7,7,9,13,13,13,16,13,13,9,9,9,10,13,0,0,0,0,2,0,0,0,100,0,0,0,88,85,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,46,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,47,5,0,0,0,0,0,0,0,0,0,0,0,0,0,48,47,5,0,0,0,0,0,0,0,0,0,0,0,0,0,88,47,5,0,0,0,0,0,0,0,0,0,0,0,0,0,128,47,5,0,0,0,0,0,168,47,5,0,208,47,5,0,0,0,0,0,0,0,0,0,248,47,5,0,32,48,5,0,0,0,0,0,0,0,0,0,72,48,5,0,112,48,5,0,152,48,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,160,59,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,72,85,5,0,0,0,0,0,4,0,0,0,113,2,0,0,16,57,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,59,5,0,0,0,0,0,2,0,0,0,81,0,0,0,144,56,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,232,56,5,0,0,0,0,0,2,0,0,0,81,0,0,0,16,56,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,104,56,5,0,0,0,0,0,2,0,0,0,33,1,0,0,160,54,5,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,200,55,5,0,0,0,0,0,4,0,0,0,81,0,0,0,56,54,5,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,144,54,5,0,0,0,0,0,2,0,0,0,121,0,0,0,136,53,5,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,8,54,5,0,0,0,0,0,2,0,0,0,169,0,0,0,160,52,5,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,80,53,5,0,0,0,0,0,2,0,0,0,25,0,0,0,104,52,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,52,5,0,0,0,0,0,4,0,0,0,81,0,0,0,0,52,5,0,1,0,0,0,0,176,19,225,0,176,19,97,2,0,0,0,0,0,0,0,88,52,5,0,0,0,0,0,2,0,0,0,225,0,0,0,216,50,5,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,192,51,5,0,0,0,0,0,2,0,0,0,185,1,0,0,192,48,5,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,128,50,5,0,0,0,0,0,1,5,5,7,8,8,7,9,9,9,12,12,11,12,12,10,10,11,12,12,12,11,12,12,8,9,8,7,9,10,10,11,11,10,11,12,10,12,10,12,12,12,11,12,11,9,8,8,9,10,9,8,9,10,12,12,11,11,12,11,10,11,12,11,12,12,8,9,9,9,10,11,12,11,12,11,11,11,11,12,12,11,11,12,12,11,11,9,9,8,9,9,11,9,9,10,9,11,11,11,11,12,11,11,10,12,12,12,9,12,11,10,11,11,11,11,12,12,12,11,11,11,12,10,12,12,12,10,10,9,10,9,10,10,9,9,9,10,10,12,10,11,11,9,11,11,10,11,11,11,10,10,10,9,9,10,10,9,9,10,11,11,10,11,10,11,10,11,11,10,11,11,11,10,9,10,10,9,10,9,9,11,9,9,11,10,10,11,11,10,10,11,10,11,8,9,11,11,10,9,10,11,11,10,11,11,10,10,10,11,10,9,10,10,11,9,10,10,9,11,10,10,10,10,11,10,11,11,9,11,10,11,10,10,11,11,10,10,10,9,10,10,11,11,11,9,10,10,10,10,10,11,10,10,10,9,10,10,11,10,10,10,10,10,9,10,11,10,10,10,10,11,11,11,10,10,10,10,10,11,10,11,10,11,10,10,10,9,11,11,10,10,10,11,11,10,10,10,10,10,10,10,10,11,11,9,10,10,10,11,10,11,10,10,10,11,9,10,11,10,11,10,10,9,10,10,10,11,10,11,10,10,10,10,10,11,11,10,11,11,10,10,11,11,10,9,9,10,10,10,10,10,9,11,9,10,10,10,11,11,10,10,10,10,11,11,11,10,9,9,10,10,11,10,10,10,10,10,11,11,11,10,10,10,11,11,11,9,10,10,10,10,9,10,9,10,11,10,11,10,10,11,11,10,11,11,11,11,11,10,11,10,10,10,9,11,11,10,11,11,11,11,11,11,11,11,11,10,11,10,10,10,10,11,10,10,11,9,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,5,5,5,5,9,11,11,10,10,10,10,10,10,10,7,6,6,6,6,10,10,10,10,10,10,10,10,10,10,7,6,6,6,6,10,9,10,10,10,10,10,10,10,10,10,7,7,8,9,10,10,10,10,10,10,10,10,10,10,10,8,7,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,5,5,7,7,7,6,6,7,7,7,5,5,7,7,7,6,6,7,7,7,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,6,8,8,10,10,6,5,6,8,8,8,8,8,8,8,9,10,10,7,6,6,8,8,8,8,8,8,8,8,10,10,0,8,8,8,8,9,8,9,9,9,10,10,10,0,9,8,8,8,9,9,8,8,9,9,10,10,0,12,11,8,8,9,9,9,9,10,10,11,10,0,12,13,8,8,9,10,9,9,11,11,11,12,0,0,0,8,8,8,8,10,9,12,13,12,14,0,0,0,8,8,8,9,10,10,12,12,13,14,0,0,0,13,13,9,9,11,11,0,0,14,0,0,0,0,14,14,10,10,12,11,12,14,14,14,0,0,0,0,0,11,11,13,13,14,13,14,14,0,0,0,0,0,12,13,13,12,13,14,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,4,6,6,7,7,8,8,8,8,10,10,10,7,7,8,8,8,9,9,9,10,10,10,6,7,8,8,8,8,9,8,10,10,10,7,7,8,8,9,9,9,9,10,10,10,7,7,8,8,9,9,8,9,10,10,10,8,8,9,9,9,9,9,9,11,11,11,8,8,9,9,9,9,9,10,10,11,11,9,9,9,9,9,9,9,10,11,11,11,10,11,9,9,9,9,10,9,11,11,11,10,11,10,10,9,9,10,10,11,11,11,11,11,9,9,9,9,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,6,7,6,6,4,7,7,11,10,10,11,11,10,4,7,7,10,10,10,11,10,10,6,10,10,11,11,11,11,11,10,6,9,9,11,12,12,11,9,9,6,9,10,11,12,12,11,9,10,7,11,11,11,11,11,12,13,12,6,9,10,11,10,10,12,13,13,6,10,9,11,10,10,11,12,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,4,6,6,7,7,8,8,8,8,9,9,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,11,11,11,0,0,0,6,6,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,13,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,10,10,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,13,13,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,13,13,13,14,0,0,0,0,0,10,10,10,11,11,11,12,12,13,13,13,14,0,0,0,0,0,0,0,10,10,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,12,13,13,14,15,14,0,0,0,0,0,0,0,12,12,12,12,13,13,13,14,14,15,0,0,0,0,0,0,0,0,0,12,12,13,13,14,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,6,6,8,8,0,0,0,7,7,7,7,8,8,0,0,0,7,7,7,7,8,8,0,0,0,7,7,8,8,9,9,0,0,0,7,7,8,8,9,9,0,0,0,8,9,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,10,10,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,2,7,8,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,6,6,7,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,6,6,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,9,9,12,0,0,0,0,0,0,10,12,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,9,12,10,0,0,0,0,0,0,10,11,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,10,12,11,0,0,0,0,0,0,9,10,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,10,11,12,0,0,0,0,0,0,9,12,9],"i8",N3,F.GLOBAL_BASE+339320),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,19,7,9,7,8,11,9,12,4,1,19,6,7,7,8,10,11,13,18,18,18,18,18,18,18,18,18,18,8,6,18,8,9,9,11,12,14,18,9,6,18,9,7,8,9,11,12,18,7,6,18,8,7,7,7,9,11,17,8,8,18,9,7,6,6,8,11,17,10,10,18,12,9,8,7,9,12,18,13,15,18,15,13,11,10,11,15,18,14,18,18,18,18,18,16,16,18,18,0,0,0,0,0,0,0,0,0,64,207,64,0,0,0,0,0,88,219,64,0,0,0,0,0,106,232,64,0,0,0,0,0,249,245,64,0,0,0,0,0,0,35,64,0,0,0,0,0,0,38,64,0,0,0,0,0,0,62,64,0,0,0,0,0,192,88,64,0,0,0,0,0,76,205,64,0,0,0,0,0,136,211,64,0,0,0,0,0,124,229,64,0,0,0,0,0,255,244,64,0,0,0,0,0,76,221,64,0,0,0,0,0,130,228,64,0,0,0,0,0,100,233,64,0,0,0,0,0,64,239,64,0,0,0,0,0,148,241,64,0,0,0,0,0,11,243,64,0,0,0,0,0,255,244,64,0,0,0,0,0,118,246,64,0,0,0,0,0,219,250,64,0,0,0,0,0,76,253,64,0,0,0,0,0,23,1,65,0,0,0,0,128,49,7,65,154,153,153,153,153,153,40,64,0,0,0,0,0,0,42,64,0,0,0,0,0,0,42,64,0,0,0,0,0,0,44,64,0,0,0,0,0,0,46,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,148,209,64,0,0,0,0,0,88,219,64,0,0,0,0,0,23,225,64,0,0,0,0,0,249,229,64,0,0,0,0,0,88,235,64,0,0,0,0,0,76,237,64,0,0,0,0,128,79,242,64,0,0,0,0,0,249,245,64,0,0,0,0,0,106,248,64,0,0,0,0,128,19,252,64,0,0,0,0,128,79,2,65,0,0,0,0,128,49,7,65,0,0,0,0,0,64,223,64,0,0,0,0,0,112,231,64,0,0,0,0,0,76,237,64,0,0,0,0,0,23,241,64,0,0,0,0,0,136,243,64,0,0,0,0,0,255,244,64,0,0,0,0,0,112,247,64,0,0,0,0,0,219,250,64,0,0,0,0,0,76,253,64,0,0,0,0,0,23,1,65,0,0,0,0,0,136,3,65,0,0,0,0,8,76,13,65,0,0,0,0,0,88,203,64,0,0,0,0,0,136,211,64,0,0,0,0,0,88,219,64,0,0,0,0,0,142,226,64,0,0,0,0,0,118,230,64,0,0,0,0,0,94,234,64,0,0,0,0,128,79,242,64,0,0,0,0,0,112,247,64,0,0,0,0,0,76,253,64,0,0,0,0,0,23,1,65,0,0,0,0,0,249,5,65,0,0,0,0,8,76,13,65,88,88,5,0,104,113,5,0,88,88,5,0,200,113,5,0,88,88,5,0,40,114,5,0,88,88,5,0,136,114,5,0,88,88,5,0,232,114,5,0,88,88,5,0,72,115,5,0,168,115,5,0,184,140,5,0,168,115,5,0,24,141,5,0,168,115,5,0,120,141,5,0,168,115,5,0,216,141,5,0,168,115,5,0,56,142,5,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,30,0,0,0,208,111,7,0,24,201,7,0,24,201,7,0,64,201,7,0,64,201,7,0,2,0,0,0,0,0,0,0,30,0,0,0,208,111,7,0,0,202,7,0,0,202,7,0,64,201,7,0,64,201,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,40,202,7,0,40,202,7,0,80,202,7,0,80,202,7,0,2,0,0,0,0,0,0,0,15,0,0,0,208,111,7,0,0,162,7,0,0,162,7,0,40,162,7,0,40,162,7,0,2,0,0,0,0,0,0,0,30,0,0,0,208,111,7,0,232,162,7,0,232,162,7,0,40,162,7,0,40,162,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,16,163,7,0,16,163,7,0,56,163,7,0,56,163,7,0,2,0,0,0,0,0,0,0,15,0,0,0,208,111,7,0,232,122,7,0,232,122,7,0,16,123,7,0,16,123,7,0,2,0,0,0,0,0,0,0,30,0,0,0,208,111,7,0,208,123,7,0,208,123,7,0,16,123,7,0,16,123,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,248,123,7,0,248,123,7,0,32,124,7,0,32,124,7,0,2,0,0,0,0,0,0,0,15,0,0,0,72,198,6,0,0,59,7,0,0,59,7,0,40,59,7,0,40,59,7,0,2,0,0,0,0,0,0,0,30,0,0,0,72,198,6,0,232,59,7,0,232,59,7,0,40,59,7,0,40,59,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,16,60,7,0,16,60,7,0,56,60,7,0,56,60,7,0,2,0,0,0,0,0,0,0,15,0,0,0,72,198,6,0,48,6,7,0,48,6,7,0,88,6,7,0,88,6,7,0,2,0,0,0,0,0,0,0,30,0,0,0,72,198,6,0,24,7,7,0,24,7,7,0,88,6,7,0,88,6,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,64,7,7,0,64,7,7,0,104,7,7,0,104,7,7,0,2,0,0,0,0,0,0,0,15,0,0,0,72,198,6,0,96,209,6,0,96,209,6,0,136,209,6,0,136,209,6,0,2,0,0,0,0,0,0,0,30,0,0,0,72,198,6,0,72,210,6,0,72,210,6,0,136,209,6,0,136,209,6,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,112,210,6,0,112,210,6,0,152,210,6,0,152,210,6,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2],"i8",N3,F.GLOBAL_BASE+349504),E3([2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2],"i8",N3,F.GLOBAL_BASE+360488),E3([2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,120,145,6,0,120,145,6,0,160,145,6,0,160,145,6,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,96,146,6,0,96,146,6,0,160,145,6,0,160,145,6,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,136,146,6,0,136,146,6,0,176,146,6,0,176,146,6,0,2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,176,96,6,0,176,96,6,0,216,96,6,0,216,96,6,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,152,97,6,0,152,97,6,0,216,96,6,0,216,96,6,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,216,165,5,0,216,165,5,0,0,166,5,0,0,166,5,0,2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,136,46,6,0,136,46,6,0,176,46,6,0,176,46,6,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,112,47,6,0,112,47,6,0,176,46,6,0,176,46,6,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,216,165,5,0,216,165,5,0,0,166,5,0,0,166,5,0,2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,24,241,5,0,24,241,5,0,64,241,5,0,64,241,5,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,0,242,5,0,0,242,5,0,64,241,5,0,64,241,5,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,216,165,5,0,216,165,5,0,0,166,5,0,0,166,5,0,2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,176,153,5,0,176,153,5,0,216,153,5,0,216,153,5,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,152,154,5,0,152,154,5,0,216,153,5,0,216,153,5,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,216,165,5,0,216,165,5,0,0,166,5,0,0,166,5,0,0,0,0,0,255,255,255,255,255,255,255,255,8,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,F.GLOBAL_BASE+363696),E3([1,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,16,241,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,169,5,0,0,0,0,0,0,0,0,0,16,170,5,0,0,0,0,0,0,0,0,0,56,170,5,0,96,170,5,0,0,0,0,0,0,0,0,0,136,170,5,0,176,170,5,0,0,0,0,0,0,0,0,0,216,170,5,0,0,171,5,0,0,0,0,0,0,0,0,0,40,171,5,0,80,171,5,0,0,171,5,0,0,0,0,0,120,171,5,0,160,171,5,0,200,171,5,0,240,171,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,224,169,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,2,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,F.GLOBAL_BASE+366508),E3([32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,216,169,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,166,5,0,232,166,5,0,0,0,0,0,0,0,0,0,16,167,5,0,56,167,5,0,96,167,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,240,168,5,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,160,169,5,0,0,0,0,0,2,0,0,0,25,0,0,0,184,168,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,168,5,0,0,0,0,0,2,0,0,0,9,0,0,0,152,168,5,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,168,168,5,0,0,0,0,0,1,0,0,0,25,0,0,0,16,168,5,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,48,168,5,0,0,0,0,0,1,0,0,0,25,0,0,0,136,167,5,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,168,167,5,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,2,3,4,5,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,5,6,6,6,6,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,4,4,5,5,4,5,5,5,5,4,5,5,5,5,5,5,5,4,5,5,5,5,5,4,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,10,10,12,12,12,12,13,12,5,5,5,8,6,11,9,12,12,13,12,12,12,4,5,5,6,8,9,11,12,12,13,12,12,12,7,7,8,9,9,11,8,12,9,12,12,12,12,7,8,8,9,9,8,11,9,12,12,12,11,12,10,10,10,11,11,11,11,11,10,11,11,12,11,10,10,10,11,11,11,11,10,11,11,11,11,12,11,11,11,12,11,12,11,12,11,13,11,13,11,11,11,11,11,12,11,12,10,13,11,12,11,13,12,12,12,13,12,13,13,13,12,14,12,14,13,12,12,12,12,13,13,13,12,14,12,14,13,14,13,14,14,14,14,14,14,14,14,15,14,15,14,13,14,13,14,14,14,14,14,15,14,14,14,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,1,3,0,0,0,0,3,3,3,3,3,3,3,3,5,0,0,0,243,0,0,0,8,240,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,0,241,5,0,0,0,0,0,5,0,0,0,53,12,0,0,184,227,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,240,239,5,0,0,0,0,0,5,0,0,0,243,0,0,0,176,226,5,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,168,227,5,0,0,0,0,0,5,0,0,0,243,0,0,0,168,225,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,160,226,5,0,0,0,0,0,5,0,0,0,243,0,0,0,160,224,5,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,152,225,5,0,0,0,0,0,5,0,0,0,53,12,0,0,80,212,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,224,5,0,0,0,0,0,5,0,0,0,53,12,0,0,0,200,5,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,56,212,5,0,0,0,0,0,1,0,0,0,7,0,0,0,216,199,5,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,224,199,5,0,0,0,0,0,5,0,0,0,243,0,0,0,208,198,5,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,200,199,5,0,0,0,0,0,5,0,0,0,243,0,0,0,200,197,5,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,192,198,5,0,0,0,0,0,5,0,0,0,53,12,0,0,120,185,5,0,1,0,0,0,0,106,152,225,0,106,120,97,3,0,0,0,0,0,0,0,176,197,5,0,0,0,0,0,5,0,0,0,53,12,0,0,40,173,5,0,1,0,0,0,0,136,83,225,0,136,51,97,3,0,0,0,0,0,0,0,96,185,5,0,0,0,0,0,1,0,0,0,25,0,0,0,160,172,5,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,192,172,5,0,0,0,0,0,1,0,0,0,25,0,0,0,24,172,5,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,56,172,5,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,10,10,10,11,11,11,12,12,12,13,13,13,13,13,13,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,16,16,4,9,11,15,16,4,12,8,16,16,12,16,16,16,16,13,16,16,16,16,5,8,10,16,16,9,9,14,15,16,12,14,14,16,16,16,16,16,16,16,16,16,16,16,16,5,11,8,16,15,12,14,16,16,16,9,15,9,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,6,11,11,16,16,12,13,16,16,16,12,16,14,16,16,16,16,16,16,16,16,16,16,16,16,11,15,15,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,15,16,16,16,16,16,16,16,16,14,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,5,11,11,16,16,12,15,16,16,16,12,16,14,16,16,16,16,16,16,16,16,16,16,16,16,12,15,15,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,11,15,15,16,16,16,16,16,16,16,15,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,6,11,12,16,16,11,15,16,16,16,13,16,14,16,16,16,16,16,16,16,16,16,16,16,16,11,16,14,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,14,14,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,8,13,15,16,16,15,15,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,7,12,12,16,16,13,12,16,16,16,14,16,14,16,16,16,16,16,16,16,16,16,16,16,16,13,16,16,16,16,14,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,14,16,16,16,16,16,16,16,16,14,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,6,11,11,16,16,13,15,16,16,16,11,15,14,16,16,16,16,16,16,16,14,16,16,16,16,11,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,11,16,14,16,16,14,16,16,16,16,13,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,7,11,11,16,16,13,13,16,16,16,13,16,13,16,16,16,16,16,16,16,16,16,16,16,16,12,16,15,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,14,16,16,16,16,16,16,16,16,14,16,13,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,8,13,14,16,16,15,16,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,15,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,6,7,7,7,7,7,7,7,7,7,7,8,7,8,8,7,8,8,7,8,7,7,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,8,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,5,5,7,7,5,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,5,7,8,8,9,10,8,9,10,8,9,10,10,10,12,10,11,11,8,10,10,10,11,12,10,11,10,5,8,7,8,10,10,8,10,9,8,10,10,10,10,11,10,12,11,8,10,9,10,11,11,10,12,10,5,8,8,7,9,10,8,10,9,7,9,10,9,10,11,9,11,11,8,10,9,10,11,11,9,11,10,7,9,9,9,10,11,9,11,11,9,9,11,10,10,13,11,12,12,9,11,11,11,12,13,11,13,11,7,9,9,9,10,11,9,11,10,9,11,10,10,10,12,11,13,12,9,11,11,11,12,12,10,12,10,5,8,8,8,9,10,7,10,9,8,9,10,9,10,11,10,11,11,7,10,9,9,11,11,9,11,10,7,9,9,9,10,11,9,11,10,9,11,11,10,10,12,11,12,12,9,10,11,11,12,13,10,12,10,7,9,9,9,11,11,9,11,10,9,11,11,11,11,13,11,13,12,9,11,9,11,12,12,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,4,6,6,9,9,6,7,8,10,11,6,8,7,10,10,8,10,10,12,12,8,10,10,12,12,6,7,8,10,10,7,8,9,10,11,8,9,9,11,11,10,10,11,12,13,10,11,11,13,13,6,8,7,10,10,8,9,9,11,11,7,9,8,11,10,10,11,11,13,13,10,11,10,13,12,9,10,10,11,12,10,10,11,12,13,10,11,11,12,13,12,12,13,12,14,12,13,13,14,14,9,10,10,12,11,10,11,11,13,12,10,11,10,13,12,12,13,13,14,14,12,13,12,14,12,7,8,8,10,11,8,9,10,11,12,8,9,9,11,12,10,11,12,13,14,10,11,11,13,13,8,9,10,11,12,9,10,11,12,13,10,10,11,12,12,11,12,12,13,14,11,12,12,14,14,8,9,9,11,12,10,10,11,12,13,9,10,10,12,12,11,12,12,14,14,11,12,12,14,13,11,11,12,12,13,11,12,12,13,14,12,12,13,14,14,13,13,14,14,16,13,14,14,15,15,11,12,11,13,13,12,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,15,14,7,8,8,11,10,8,10,9,12,11,8,10,9,12,11,10,11,11,13,13,10,12,11,14,13,8,9,9,12,11,9,10,10,12,12,10,11,10,13,12,11,12,12,13,14,11,12,12,14,14,8,10,9,12,11,10,11,10,12,12,9,11,10,13,11,11,12,12,14,14,11,12,12,14,13,11,11,12,13,13,11,12,12,13,14,12,12,12,14,14,13,13,14,14,15,13,14,14,15,15,11,12,11,13,12,12,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,15,14,10,11,11,12,13,11,12,12,13,14,11,12,12,13,14,13,13,14,14,16,13,14,14,15,15,11,12,12,12,14,12,12,13,13,15,12,13,13,13,15,14,14,15,15,16,14,14,15,15,16,11,12,12,13,14,12,13,13,14,15,12,13,13,14,14,14,14,15,15,16,14,14,14,15,15,13,14,14,14,15,14,14,15,15,16,14,15,15,15,16,15,15,16,16,18,16,16,16,17,17,13,14,14,15,15,14,14,15,16,16,14,14,14,16,15,16,16,16,17,17,15,16,16,17,16,10,11,11,13,12,11,12,12,14,13,11,12,12,14,13,13,14,14,15,15,13,14,13,16,14,11,12,12,14,13,12,13,13,14,14,12,13,13,15,14,14,14,14,15,15,14,15,14,16,15,11,12,12,14,12,12,13,13,15,14,12,13,12,15,13,14,15,14,16,15,14,15,14,16,15,13,14,14,15,15,14,14,14,15,16,14,15,14,16,16,15,16,16,16,17,16,16,16,17,17,13,14,14,15,14,14,15,15,16,15,14,15,14,16,15,16,16,16,17,17,15,16,15,18,16,6,8,8,11,11,8,9,10,11,12,8,10,9,12,12,10,11,11,13,13,10,12,11,14,13,8,9,9,11,12,9,10,10,12,12,9,10,10,12,12,11,11,12,13,14,11,12,12,14,14,8,10,9,12,11,10,11,11,12,12,9,11,10,13,12,11,12,12,14,14,11,12,12,14,13,10,11,11,13,13,11,12,12,13,14,11,12,12,14,14,13,13,14,13,15,13,14,14,15,15,11,12,11,13,13,12,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,15,14,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,13,14,11,12,12,14,14,9,9,10,11,12,10,10,11,12,13,10,10,11,12,13,12,12,13,13,15,12,12,13,14,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,14,15,12,13,12,14,14,11,11,12,12,14,12,12,13,13,14,12,12,13,13,14,13,13,14,14,16,14,14,14,15,15,11,12,12,14,13,12,13,13,14,14,12,13,13,15,14,14,14,14,16,16,13,14,14,16,14,7,9,9,12,11,9,10,10,12,12,9,11,10,13,12,11,12,12,13,14,11,13,12,14,13,9,10,10,12,12,10,10,11,12,13,10,12,11,13,13,12,12,13,13,14,12,13,13,15,14,9,10,10,12,12,11,11,11,13,13,10,12,10,13,12,12,13,13,14,15,12,13,12,15,13,11,12,12,14,13,12,12,13,13,14,12,13,13,15,14,13,13,14,13,16,14,15,14,16,15,12,12,12,14,14,13,13,13,14],"i8",N3,F.GLOBAL_BASE+369616),E3([14,12,13,12,14,13,14,15,15,16,16,13,14,13,16,13,10,11,12,13,14,11,12,13,13,15,12,12,13,14,14,13,14,14,15,16,13,14,14,16,15,12,12,13,12,14,12,12,13,13,15,13,13,13,13,15,14,14,15,14,16,14,15,15,15,16,12,13,12,14,14,13,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,15,16,16,13,14,14,13,16,14,14,15,14,16,14,14,15,14,16,15,15,16,15,18,16,16,16,16,17,14,14,14,16,15,14,15,15,16,16,14,15,15,16,16,16,16,16,17,17,15,16,16,17,16,10,12,11,14,13,12,13,13,14,14,12,13,12,15,14,14,14,14,15,15,14,15,14,16,15,12,13,12,14,13,12,13,13,15,14,13,14,13,15,14,14,15,15,16,16,14,15,15,17,15,12,13,12,14,14,13,14,14,15,15,13,14,13,15,14,15,15,15,16,16,14,15,15,17,15,14,14,14,16,15,14,15,15,16,16,14,15,15,16,15,16,16,16,16,17,16,17,16,18,17,14,14,14,16,15,15,15,15,16,16,14,15,14,16,15,16,16,17,17,17,15,16,15,17,16,6,8,8,11,11,8,9,10,12,12,8,10,9,12,11,10,11,12,13,13,10,11,11,13,13,8,9,10,11,12,9,10,11,12,13,10,11,11,12,12,11,12,12,13,14,11,12,12,14,14,8,9,9,12,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,14,11,12,11,14,13,11,11,12,13,13,11,12,12,13,14,12,12,12,14,14,13,13,14,14,15,13,14,14,15,15,10,11,11,13,13,11,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,15,13,7,9,9,11,12,9,10,11,12,13,9,10,10,12,12,11,12,13,13,14,11,12,12,14,14,9,10,10,12,12,10,10,11,12,13,11,12,11,13,13,12,12,13,13,15,12,13,13,15,14,9,10,10,12,12,10,11,12,13,13,10,11,10,13,12,12,13,13,14,15,12,13,12,14,13,12,12,12,14,14,12,12,13,13,14,13,13,13,15,14,14,13,14,13,16,14,15,15,16,16,11,12,12,13,14,12,13,13,14,15,12,13,12,14,13,14,14,15,15,16,13,14,13,15,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,14,11,12,11,14,13,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,12,13,14,15,12,13,13,15,14,9,10,9,12,11,10,11,10,13,12,10,11,10,13,12,12,13,12,14,14,12,13,12,15,13,11,12,12,13,14,12,13,13,14,14,12,13,13,14,14,14,14,14,14,16,14,14,14,16,15,11,12,11,14,12,12,13,12,15,13,12,13,12,15,13,14,14,14,16,15,13,14,13,16,14,10,11,12,13,14,12,12,13,13,15,12,13,13,14,14,14,14,15,15,16,14,14,14,15,16,12,12,13,14,14,12,13,14,14,15,13,14,14,15,15,14,15,15,15,17,15,15,15,16,16,12,12,13,13,14,13,13,14,14,15,12,13,13,14,15,15,15,15,15,17,14,15,15,15,15,14,14,14,16,16,14,15,15,15,16,15,15,15,16,16,16,15,16,16,18,16,16,17,17,17,14,14,14,15,16,15,15,15,16,17,14,15,14,16,16,16,16,17,17,18,16,16,15,17,16,10,12,11,14,13,12,12,12,14,14,11,13,12,14,13,13,14,14,15,15,13,14,13,16,15,12,12,13,14,14,12,13,13,15,15,13,13,13,15,15,14,15,15,16,16,14,15,15,17,16,12,13,12,14,12,13,13,13,15,13,12,13,12,15,13,14,15,15,16,15,14,15,14,16,14,14,14,14,16,16,14,15,15,16,16,14,15,15,16,16,15,16,16,16,17,16,17,16,18,17,13,14,14,16,13,14,15,15,16,14,14,15,14,16,14,16,16,16,17,16,15,16,15,18,15,9,11,11,13,13,11,12,12,14,14,11,12,12,14,14,13,14,14,15,15,13,14,14,15,15,11,12,12,14,14,11,12,13,14,15,12,13,13,15,14,13,14,14,15,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,14,14,14,14,16,16,14,15,14,16,15,12,13,13,14,15,12,13,14,15,16,13,14,14,16,16,14,14,15,16,17,15,15,15,17,17,13,14,14,15,15,14,15,14,16,16,14,15,14,16,15,15,16,16,17,17,15,16,15,17,16,10,12,12,13,14,11,12,13,14,14,12,13,12,14,14,13,14,14,15,16,13,14,14,16,15,11,12,12,14,14,12,12,13,14,15,12,13,13,15,15,13,13,15,15,17,14,14,15,16,16,12,13,12,14,14,12,13,13,15,15,12,13,13,15,14,14,15,15,16,16,14,15,14,16,16,13,12,14,13,16,13,13,15,14,16,14,13,15,15,16,14,14,16,15,17,15,15,16,16,17,13,14,14,16,15,14,15,15,16,16,14,15,14,16,15,16,16,16,17,17,15,16,16,18,16,10,12,12,14,14,12,12,13,14,14,12,13,12,15,14,13,14,14,15,16,14,15,14,16,15,11,12,12,14,14,12,13,13,14,15,13,14,13,15,15,14,14,15,15,16,14,15,15,17,16,12,13,13,14,14,13,13,14,15,15,12,14,13,15,15,14,15,15,16,16,14,15,15,17,15,13,14,13,15,15,13,14,14,15,16,14,15,14,17,16,15,15,15,15,17,16,16,16,18,17,14,14,14,16,16,15,15,15,16,16,14,15,14,16,16,16,16,17,17,17,16,16,16,17,16,11,12,13,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,15,17,16,12,13,13,14,15,13,13,14,14,16,13,14,14,15,16,15,14,16,15,17,15,15,16,16,17,12,13,13,15,15,13,14,14,16,16,13,14,14,16,15,15,15,16,17,17,15,16,15,17,16,14,14,15,13,16,15,14,16,14,17,15,15,16,14,17,16,15,17,15,18,16,16,17,16,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,16,17,17,18,18,16,17,15,18,16,11,12,12,14,14,13,13,14,14,15,13,14,13,16,14,15,15,15,16,16,15,16,15,17,16,12,13,13,15,14,13,13,14,15,15,14,15,14,16,15,15,15,16,15,16,16,16,16,18,16,12,13,13,15,15,14,14,15,15,16,13,14,13,16,15,16,16,16,17,17,15,16,15,17,15,14,15,14,16,15,14,15,15,16,16,15,16,15,17,16,16,15,16,15,17,17,18,17,18,17,15,15,15,16,16,16,16,16,17,17,14,15,15,17,16,17,17,18,18,18,16,17,15,18,15,9,11,11,13,13,11,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,15,15,11,12,12,14,14,12,13,13,14,15,12,13,13,14,14,14,14,15,15,16,14,14,14,16,16,11,12,12,14,14,12,13,13,14,15,11,13,12,14,14,13,14,14,16,16,13,14,14,16,15,13,14,14,15,15,14,14,15,15,16,14,15,14,16,16,15,15,16,16,17,15,16,16,17,17,12,13,13,15,15,13,14,14,16,15,12,14,13,16,15,15,16,15,17,17,14,15,15,17,15,10,12,12,14,14,12,12,13,14,15,12,13,12,14,14,14,14,15,15,16,13,14,14,16,16,12,13,13,14,14,13,13,14,14,15,13,14,13,15,15,14,15,15,15,17,14,15,15,16,16,11,12,12,14,14,13,13,14,15,15,12,13,13,15,14,14,15,15,16,17,14,15,14,16,15,14,14,14,16,16,14,15,15,16,16,15,15,15,16,16,15,16,16,16,18,16,17,16,18,17,13,13,14,15,15,14,14,15,16,16,13,14,14,16,15,16,16,17,17,17,15,15,15,17,15,10,12,12,14,13,12,12,13,14,14,11,13,12,14,14,13,14,14,16,16,13,14,14,16,15,12,12,13,14,14,12,13,13,14,15,13,13,13,15,15,14,14,15,16,16,14,15,15,16,16,11,12,12,14,14,12,13,13,15,15,12,13,12,15,14,14,15,14,16,16,13,15,13,16,15,13,14,14,15,16,14,15,15,15,17,14,15,15,16,16,16,15,16,16,17,16,16,16,17,17,13,14,12,16,13,14,15,13,16,15,13,15,13,16,14,15,16,15,17,16,15,16,14,17,15,11,12,12,14,15,13,13,14,14,16,13,14,13,15,14,15,15,16,16,17,15,15,15,16,16,12,13,13,15,15,13,13,14,15,16,14,15,14,16,15,15,15,16,15,17,16,16,16,17,17,12,13,13,14,15,14,14,15,15,16,13,14,13,15,15,16,16,16,17,17,15,16,15,16,15,15,15,15,16,16,14,15,15,16,17,16,16,16,17,17,16,15,17,15,18,17,18,17,18,18,14,14,15,15,17,15,15,16,16,17,14,15,15,16,16,17,17,17,17,18,16,16,15,17,15,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,14,17,16,13,13,13,15,15,13,14,14,15,16,13,14,14,16,16,15,15,16,16,17,15,16,16,17,17,12,13,13,15,14,13,14,14,16,15,13,14,13,16,14,15,16,16,17,16,15,16,14,17,15,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,15,17,16,18,16,17,17,18,18,14,15,14,16,13,15,16,15,17,14,15,16,14,17,14,16,17,16,18,16,16,17,15,18,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,6,8,8,10,9,8,9,9,10,10,8,9,9,10,10,8,10,10,10,10,8,10,10,10,10,9,9,9,10,10,9,10,10,10,11,9,10,10,11,11,10,10,10,11,11,10,10,10,11,11,9,9,9,10,10,9,10,10,11,11,9,10,10,11,10,10,10,10,11,11,10,10,10,11,11,10,10,10,10,11,10,10,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,11,10,10,11,11,11,11,10,11,10,11,11,11,11,11,11,11,10,11,11,11,11,9,10,10,10,11,10,10,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,10,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,12,12,12,11,11,11,12,12,10,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,9,10,10,11,10,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,12,12,12,11,11,11,12,12,10,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,11,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,7,10,10,11,11,10,10,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,10,10,11,11,10,11,11,11,11,11,11,11,11,12,11,11,11,12,12,11,11,11,12,12,10,11,11,11,11,11,11,11,12,11,11,11,11,12,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,11,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,12,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,10,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,11,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,7,10,10,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,12,12,12,11,11,11,12,12,10,10,10,11,11,11,11,11,12,11,10,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,11,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,10,10,10,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,11,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,13,12,13,12,12,13,13,13,13,12,13,13,13,13,8,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,8,11,11,11,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,13,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,13,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,4,7,7,4,7,6,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,6,7,8,8,9,10,8,10,10,8,9,10,10,11,12,10,11,12,8,10,10,10,11,12,10,12,11,6,8,7,8,10,10,8,10,9,8,10,10,10,11,12,10,12,12,8,10,9,10,12,11,10,12,11,5,8,8,8,10,10,8,10,10,7,9,10,9,10,11,10,11,11,8,10,10,10,12,12,10,12,11,7,9,9,9,11,11,9,11,11,9,10,11,11,11,12,11,12,12,9,11,11,11,12,12,11,12,12,7,9,9,10,11,12,10,12,11,9,11,10,11,11,12,12,13,13,9,11,11,12,13,13,11,13,11,5,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,12,7,9,9,9,11,11,9,11,10,7,9,9,10,11,12,10,12,11,9,11,11,11,11,13,12,13,13,9,10,11,12,13,13,11,12,11,7,9,9,9,11,11,9,11,11,9,11,11,11,12,12,11,12,12,9,11,10,11,12,12,10,12,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,6,7,7,6,7,7,6,7,7,7,7,8,7,7,8,6,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,5,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,8,8,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,7,8,8,8,9,9,8,9,9,8,9,8,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,6,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,7,8,8,8,9,9,8,9,9,8,8,9,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,8,8,8,8,9,9,8,9,9,8,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,4,4,7,7,4,7,6,5,6,7,7,8,9,7,9,9,5,7,6,7,9,9,7,9,8,6,8,8,8,10,10,8,10,10,8,9,10,10,11,12,10,12,12,8,10,10,10,12,12,10,12,11,6,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,12,8,10,9,10,12,11,10,12,11,5,8,8,8,10,10,8,10,10,8,9,10,10,11,11,10,11,11,8,10,10,10,11,12,10,12,11,8,10,10,10,11,11,10,11,11,10,11,11,11,12,13,11,12,13,10,11,11,11,13,13,11,13,13,7,9,9,10,11,12,10,12,11,9,11,11,11,12,13,12,14,13,9,11,11,12,13,14,11,13,12,5,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,12,8,10,9,10,12,11,9,11,11,7,9,9,10,11,12,10,12,11,9,11,11,11,12,13,12,14,13,9,11,11,12,13,14,11,13,12,8,10,10,10,11,11,10,11,11,10,11,11,11,13,13,11,13,13,10,11,10,11,13,12,11,13,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,8,8,5,7,7,9,9,5,7,7,9,9,6,8,8,11,11,6,8,8,11,11,6,7,7,9,9,7,8,9,10,11,7,9,9,11,10,8,9,10,12,12,8,10,10,12,12,6,7,7,9,9,7,9,9,10,10,7,9,8,11,10,8,10,10,12,12,8,10,9,12,12,8,9,9,11,11,9,10,10,12,12,9,11,11,12,13,11,12,12,13,14,11,12,12,14,14,8,9,9,11,11,9,11,10,13,12,9,10,10,13,12,11,12,12,14,14,11,12,12,14,13,7,8,9,10,10,8,10,10,11,11,8,10,10,11,11,10,11,11,13,13,10,11,11,13,13,8,9,10,10,11,10,11,11,12,13,10,11,11,12,12,11,11,12,13,14,11,12,12,14,14,8,10,10,11,11,10,11,11,12,13,10,11,11,12,12,11,12,12,14,14,11,12,12,14,14,10,11,11,12,13,11,12,12,13,14,12,13,13,14,14,13,13,14,14,16,13,14,14,15,16,10,11,11,13,13,12,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,16,15,7,8,8,10,10,8,10,10,11,11,8,10,10,12,11,10,11,11,13,13,10,11,11,13,13,8,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,14,14,11,12,12,14,14,8,10,9,11,10,10,11,11,13,12,10,11,10,13,12,11,12,12,14,14,11,12,11,14,13,10,11,11,13,13,11,12,12,14,14,12,12,12,14,14,13,14,14,15,16,13,14,14,15,15,10,11,11,13,12,12,12,12,14,14,11,12,12,14,13,13,14,14,16,15,13,14,13,16,14,10,11,11,13,13,12,12,13,14,15,12,13,13,14,15,13,14,15,15,16,13,14,14,16,16,11,12,13,14,14,13,13,14,15,16,13,14,14,15,16,14,15,15,16,17,14,15,16,17,17,11,12,12,14,14,13,14,14,15,16,13,14,14,15,15,14,15,15,16,18,14,15,15,17,16,13,14,15,15,16,15,15,16,16,18,15,15,15,17,17,16,16,17,17,18,16,16,16,18,18,14,14,14,16,16,15,15,15,16,17,15,15,15,16,17,16,17,17,18,18,16,16,17,18,17,10,11,11,14,13,12,13,13,15,14,11,13,13,15,14,13,15,15,16,16,13,14,14,16,16,11,12,12,14,14,13,13,13,15,15,13,14,13,15,15,15,15,15,17,16,14,15,15,17,16,11,13,12,14,14,13,14,13,15,15,13,14,13,15,15,14,15,15,17,17,14,15,15,17,16,14,14,14,16,16,14,15,15,17,17,15,15,16,17,16,17,16,17,18,18,16,17,17,18,18,13,14,14,16,15,15,15,15,17,17,14,16,15,16,16,17,17,17,18,18,16,17,16,20,19,6,8,8,10,10,8,10,10,11,11,8,10,10,12,11,10,11,11,13,13,10,11,11,13,13,8,9,10,11,11,10,11,11,12,12,10,11,11,13,12,11,12,12,14,14,11,12,12,14,14,9,10,10,11,11,10,11,11,12,12,10,11,11,13,12,11,12,12,14,14,11,12,12,14,14,10,10,11,12,13,11,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,15,16,10,11,11,13,13,12,12,12,14,14,12,13,12,14,14,13,14,14,16,16,13,14,14,15,15,9,10,10,11,12,10,11,11,12,13,10,11,11,13,12,11,12,12,14,14,11,12,12,14,14,10,10,11,12,13,11,12,12,13,14,11,12,12,13,14,12,13,14,14,15,12,13,13,15,15,10,11,11,13,13,11,12,12,13,14,11,12,12,14,13,12,13,13,15,15,12,13,13,15,15,12,11,13,12,14,13,13,14,14,15,13,13,14,14,15,14,15,15,16,17,14,15,15,16,17,12,13,12,14,14,13,14,14,15,15,13,14,14,15,15,14,15,15,16,17,14,15,15,16,17,8,9,9,11,11,10,11,11,12,13,10,11,11,13,12,12,13,13,14,15,11,13,12,15,14,9,11,10,12,12,11,12,12,13,14,11,12,12,14,13,13,13,14,15,15,13,14,13,15,15,9,11,11,12,12,11,12,12,14,14,11,12,12,14,13,13,14,14,15,16,13,14,13,15,14,11,12,12,14,13,12,13,13,14,15,13,14,14,16,15,15,15,15,15,16,15,16,15,17,17,11,12,12,14,14,13,14,14,15,15,12,13,13,15,14,15,15,15,17,17,14,15,15,17,15,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,16,16,12,13,13,14,15,13,14,14,16,16,14,14,14,15,16,15,16,16,17,17,15,16,16,17,17,12,13,13,15,15,14,14,14,16,16,14,14,15,16,16,15,16,16,17,17,15,16,16,17,17,14,15,15,15,16,15,15,16,16,18,15,16,16,17,17,17,17,17,18,18,16,17,17,19,18,14,15,15,16,17,15,16,16,17,17,15,16,16,18,17,16,17,17,19,18,17,17,17,19,18,10,12,12,14,14,13,13,14,15,15,12,14,13,16,15,15,15,15,17,17,14,15,15,17,16,12,13,13,15,14,13,14,14,16,16,14,14,15,17,16,15,16,16,17,17,15,16,16,18,17,12,13,13,15,14,14,15,15,16,16,13,15,14,16,15,16,17,16,19,17,15,16,16,17,17,14,15,15,17,15,15,16,15,17,17,16,17,16,18,17,17,17,18,18,18,17,17,18,19,18,14,15,15,16,16,15,16,16,17,18,15,16,16,18,16,17,18,18,19,19,17,18,17,18,19,6,8,8,10,10,8,10,10,11,11,8,10,10,12,11,10,11,11,13,13,9,11,11,13,13,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,14,14,11,12,12,14,14,8,10,9,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,14,14,11,12,12,14,14,10,11,11,13,13,11,12,13,14,14,12,12,12,14,14,13,14,14,15,16,13,14,14,16,16,10,11,10,13,12,11,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,16,15,8,9,9,11,11,10,11,11,12,13,10,11,11,13,12,12,13,13,14,15,12,13,13,15,14,10,11,11,12,12,11,11,12,13,14,11,12,12,14,14,13,13,14,15,16,13,14,14,15,15,9,10,11,12,12,11,12,12,13,14,11,12,12,14,13,13,14,14,15,16,12,14,13,15,15,11,12,12,14,14,12,13,13,14,15,13,14,14,16,15,14,15,15,15,17,15,15,16,16,17,11,12,12,13,14,13,14,14,15,15,12,13,13,15,14,15,16,15,16,17,14,16,15,17,15,9,10,10,12,11,10,11,11,13,13,10,11,11,13,12,11,12,12,14,14,11,12,12,14,14,10,11,11,12,13,11,12,12,13,14,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,10,11,10,13,12,11,12,12,13,13,11,12,12,14,13,12,13,13,15,15,12,13,13,15,14,12,13,12,14,14,13,14,14,15,15,13,14,14,15,15,14,15,15,16,16,14,15,15,16,16,11,13,11,14,12,13,13,13,15,14,12,14,13,15,14,15,15,15,17,16,14,15,14,17,15,10,12,12,14,14,13,13,14,15,16,12,14,13,15,15,14,15,16,17,17,14,15,16,17,17,12,13,13,14,15,13,14,14,16,16,14,14,15,16,16,16,16,16,17,17,16,16,16,18,18,12,13,13,14,15,14,14,15,16,16,13,14,14,16,15,16,16,16,17,18,15,16,16,17,17,14,15,15,16,16,15,15,16,17,17,15,16,16,17,18,17,18,18,18,19,17,18,18,19,19,14,15,15,16,16,15,16,16,17,17,15,16,16,17,17,17,17,18,20,18,17,18,17,18,18,11,12,12,14,14,12,13,14,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,17,12,13,13,15,15,14,14,14,16,16,14,14,14,16,16,15,16,16,17,17,15,16,16,17,17,12,13,13,15,14,13,14,14,16,15,14,15,14,16,15,15,16,16,17,17,15,16,16,17,16,14,15,15,16,16,15,16,16,17,17,16,16,16,17,17,17,17,17,19,18,17,17,17,18,19,14,15,14,17,15,15,16,16,17,17,15,16,15,17,17,16,17,17,18,18,16,17,17,18,17,6,11,11,13,13,11,12,12,14,14,11,12,12,14,14,13,14,14,16,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,17,18,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,16,16,13,14,14,15,16,14,15,15,16,17,14,15,15,17,16,15,16,17,18,17,16,16,16,18,17,14,14,15,16,16,14,15,15,18,16,14,15,15,17,16,16,17,17,18,18,16,17,16,18,17,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,16,16,12,13,13,15,15,13,14,14,15,16,13,14,14,16,16,15,16,16,17,17,15,15,16,17,17,12,13,13,15,15,14,14,14,16,16,13,14,14,16,16,15,16,16,17,17,15,16,16,17,17,14,14,15,15,16,15,15,16,16,17,15,15,16,16,17,16,17,17,17,18,16,17,17,18,18,14,15,15,16,16,15,16,16,17,17,15,16,16,17,17,17,17,17,18,19,17,17,17,18,18,10,12,12,14,14,12,13,14,15,16,13,14,13,15,15,14,15,15,17,17,14,15,16,17,17,12,13,13,15,15,13,14,14,15,15,14,15,14,16,16,15,16,16,17,18,15,17,16,18,17,12,13,13,15,15,14,14,14,16,16,13,14,14,16,15,15,16,16,17,18,15,16,16,17,17,14,14,14,16,16,15,15,16,17,17,15,16,16,17,17,17,17,17,18,20,17,17,17,19,19,14,15,15,16,16,15,17,16,18,18,15,16,15,17,16,17,18,19,19,19,17,17,17,18,17,13,14,14,16,16,14,15,15,17,17,14,15,15,16,17,15,17,17,18,18,16,16,17,18,17,14,15,15,16,17,15,16,16,17,17,15,16,16,17,17,16,17,17,18,18,17,17,17,18,19,14,15,15,16,17,15,16,16,17,17,15,16,16,17,17,16,17,17,18,18,17,17,17,19,19,16,16,16,16,18,16,17,17,17,18,17,17,17,17,19,18,18,18,19,19,18,18,18,19,20,16,16,17,18,18,16,18,17,18,18,17,17,17,20,19,18,18,19,21,20,18,20,18,18,19,10,12,12,14,14,14,14,15,15,17,14,15,14,17,15,16,16,17,18,18,16,18,17,19,18,12,14,13,16,15,14,14,15,15,17,15,16,16,18,17,16,17,18,17,19,17,19,18,20,19,12,13,13,15,15,15,16,17,17,18,14,16,14,17,16,17,18,18,19,19,17,17,17,18,18,15,15,15,17,16,15,16,16,17,17,17,19,17,18,18,18,18,18,18,21,19,20,19,20,19,15,15,16,16,17,17,17,18,20,20,15,16,16,18,17,18,19,19,19,20,18,19,18,19,17,6,11,11,13,13,11,12,12,14,14,11,12,12,14,14,13,14,14,16,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,17,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,15,16,16,13,14,14,16,16,15,15,15,16,16,14,15,15,17,16,16,17,17,19,18,16,17,17,18,18,13,14,14,15,15,14,15,15,17,16,14,15,15,17,16,16,17,16,17,18,15,16,16,18,18,10,12,12,14,14,12,13,14,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,17,16,12,13,13,15,15,14,14,14,15,16,14,15,15,16,16,15,16,16,17,18,16,16,16,18,18,12,13,13,14,14,14,14,15,16,16,13,14,14,16,16,15,16,16,18,18,15,16,16,19,17,14,15,15,16,17,15,15,16,17,17,16,17,16,17,18,17,17,18,17,19,17,17,18,18,19,14,14,14,16,16,15,16,16,17,17,15,16,15,17,17,17,17,17,19,20,16,17,17,18,18,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,14,16,16,12,13,13,15,15,14,14,14,16,16,13,14,14,16,16,15,16,16,18,17,15,16,16,17,17,12,13,13,15,15,13,14,14,16,16,13,14,14,16,16,15,16,15,18,18,15,16,15,17,16,14,15,15,16,16,15,16,16,17,17,15,16,16,18,17,16,17,17,18,18,16,17,17,18,18,14,15,14,16,15,15,16,15,17,17,15,16,15,17,16,16,17,17,18,18,17,17,16,19,17,10,12,12,14,15,14,14,15,15,17,14,15,14,17,15,16,17,17,17,18,16,17,17,18,18,12,14,13,16,15,14,14,16,15,17,15,17,16,18,17,17,17,18,17,19,18,18,18,19,18,12,13,14,15,15,15,16,16,16,17,14,15,14,18,16,18,17,18,19,19,17,18,17,20,18,15,15,15,17,17,15,16,16,17,18,18,18,18,19,18,18,18,19,18,20,18,19,19,21,21,15,15,16,16,17,17,18,18,18,18,15,16,16,17,17,17,19,20,19,20,17,18,18,19,17,13,14,14,16,16,14,15,15,16,17,14,15,15,17,17,16,16,17,17,18,15,17,16,17,17,14,15,15,16,16,15,16,16,17,17,16,16,16,17,17,17,17,18,17,18,17,17,17,18,20,14,15,15,17,16,15,16,16,17,17,15,16,16,17,17,17,17,17,18,18,16,17,17,19,18,16,16,17,17,17,17,18,17,19,18,17,17,17,18,19,17,20,18,19,21,17,19,18,19,20,15,17,15,17,16,16,17,17,18,18,17,17,17,18,17,18,19,18,19,21,18,18,17,19,19,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,4,8,8,4,8,8,5,7,8,8,9,10,8,10,10,5,8,7,8,10,10,8,10,9,7,9,9,9,11,11,9,11,11,9,11,11,11,12,13,11,13,13,9,11,11,11,13,13,11,13,13,7,9,9,9,11,11,9,11,11,9,11,11,11,13,13,11,13,13,9,11,11,11,13,13,11,13,12,5,9,9,9,11,11,9,11,11,9,11,11,11,12,13,11,13,13,9,11,11,11,13,13,11,13,13,9,11,12,11,13,13,12,13,13,11,12,13,13,14,15,13,14,14,12,13,13,13,15,15,13,15,14,8,10,10,11,13,13,12,14,13,11,12,12,13,14,15,13,15,15,11,12,12,13,15,15,13,15,14,5,9,9,9,11,11,9,11,11,9,11,11,11,13,13,11,13,13,9,11,10,11,13,13,11,13,12,8,10,10,11,13,13,12,13,13,11,12,12,13,14,15,14,15,15,10,12,12,13,14,15,13,15,14,9,12,11,12,13,13,11,13,13,12,13,13,13,15,15,13,14,15,11,13,12,13,15,14,13,15,14,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,3,3,3,3,3,3,3,2,0,0,0,64,0,0,0,72,46,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,242,5,0,0,0,0,0,0,0,0,0,144,242,5,0,0,0,0,0,0,0,0,0,184,242,5,0,224,242,5,0,0,0,0,0,0,0,0,0,8,243,5,0,48,243,5,0,0,0,0,0,0,0,0,0,88,243,5,0,128,243,5,0,0,0,0,0,0,0,0,0,168,243,5,0,208,243,5,0,128,243,5,0,0,0,0,0,248,243,5,0,32,244,5,0,72,244,5,0,112,244,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,40,242,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,14,16,17,18,20,21,7,4,6,8,11,12,14,16,13,5,4,4,8,9,11,13,15,8,4,3,5,7,9,10,17,11,8,4,4,6,9,9,17,11,9,7,6,5,7,8,19,13,11,9,9,7,8,8,21,15,13,11,10,8,8,7,5,0,0,0,243,0,0,0,64,45,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,56,46,6,0,0,0,0,0,5,0,0,0,53,12,0,0,240,32,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,40,45,6,0,0,0,0,0,5,0,0,0,243,0,0,0,232,31,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,224,32,6,0,0,0,0,0,5,0,0,0,243,0,0,0,224,30,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,216,31,6,0,0,0,0,0,5,0,0,0,243,0,0,0,216,29,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,208,30,6,0,0,0,0,0,5,0,0,0,53,12,0,0,136,17,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,29,6,0,0,0,0,0,5,0,0,0,53,12,0,0,56,5,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,112,17,6,0,0,0,0,0,1,0,0,0,7,0,0,0,16,5,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,24,5,6,0,0,0,0,0,5,0,0,0,243,0,0,0,8,4,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,0,5,6,0,0,0,0,0,5,0,0,0,243],"i8",N3,F.GLOBAL_BASE+379856),E3([3,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,248,3,6,0,0,0,0,0,5,0,0,0,243,0,0,0,248,1,6,0,1,0,0,0,0,106,120,225,0,106,120,97,2,0,0,0,0,0,0,0,240,2,6,0,0,0,0,0,5,0,0,0,53,12,0,0,168,245,5,0,1,0,0,0,0,136,83,225,0,136,51,97,3,0,0,0,0,0,0,0,224,1,6,0,0,0,0,0,1,0,0,0,25,0,0,0,32,245,5,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,64,245,5,0,0,0,0,0,1,0,0,0,25,0,0,0,152,244,5,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,184,244,5,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,4,5,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,7,7,12,12,5,11,12,12,12,5,12,11,12,12,12,12,12,12,12,12,13,13,13,13,7,11,11,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,7,13,10,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,7,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,7,7,7,8,7,8,7,7,7,8,7,8,8,8,8,8,7,8,7,8,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,9,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,9,9,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,8,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,8,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,5,7,7,5,7,7,5,7,7,7,7,9,7,9,9,6,7,7,8,9,9,7,9,7,6,8,8,8,9,10,8,9,9,8,9,10,9,9,10,10,10,10,8,9,9,10,10,11,9,10,10,6,8,8,8,9,9,8,10,9,8,9,9,9,10,10,10,11,10,8,10,9,10,11,10,9,11,9,6,8,8,7,9,9,7,9,9,7,9,9,8,9,10,9,10,10,8,9,9,9,10,10,9,10,9,7,9,9,9,9,10,9,10,10,9,9,10,10,9,11,10,11,11,9,10,10,10,11,11,10,11,10,6,9,8,9,9,10,9,10,9,8,10,10,9,9,10,10,11,11,9,10,10,10,11,11,9,11,9,6,8,8,7,9,9,7,9,9,8,9,9,9,9,10,9,10,10,7,9,9,9,10,10,8,10,9,6,8,9,9,9,10,9,10,9,9,10,10,9,9,11,10,11,11,8,9,10,10,11,11,9,10,9,7,9,9,9,10,10,9,10,9,9,10,10,10,10,11,10,11,11,9,10,9,10,11,11,10,11,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,9,9,5,7,8,10,11,5,8,7,11,10,8,10,11,12,13,8,11,10,13,12,6,7,8,10,11,7,8,10,10,12,8,9,9,12,12,10,10,12,12,14,10,12,12,14,13,6,8,7,11,10,8,9,9,12,12,7,10,8,12,11,10,12,12,13,14,10,12,10,14,12,9,10,11,11,13,10,10,11,11,13,11,12,12,13,14,12,12,13,11,15,13,14,14,15,14,9,11,10,13,11,11,12,12,13,13,10,11,10,13,11,13,14,14,15,15,12,13,12,15,11,6,8,9,11,12,8,9,11,12,13,8,10,10,13,13,11,12,13,14,15,11,12,13,14,14,9,9,10,12,13,10,10,12,12,14,10,11,11,13,14,12,12,14,14,15,13,13,14,15,15,9,10,10,13,13,10,11,11,13,14,10,11,10,14,13,13,13,14,15,15,12,14,13,15,14,12,12,13,13,14,12,13,14,13,15,13,14,14,15,15,14,14,15,14,16,15,15,15,16,16,12,13,13,14,14,13,14,14,15,15,12,14,13,15,14,14,15,15,16,16,14,15,14,16,14,6,9,8,12,11,8,10,10,13,13,8,11,9,13,12,11,12,12,14,14,11,13,12,15,14,9,10,10,13,13,10,10,11,13,14,10,12,11,14,13,12,13,14,14,15,13,13,13,15,14,9,10,9,13,12,10,11,11,14,13,10,12,10,14,12,13,14,13,15,15,12,14,12,15,14,12,13,13,14,14,13,13,13,14,15,13,14,14,15,15,14,14,15,14,16,14,15,15,16,16,12,13,12,14,13,13,14,14,15,15,12,14,13,15,13,15,15,15,16,16,14,15,14,16,14,11,12,12,13,14,12,13,14,14,16,12,13,13,15,15,14,14,16,15,17,14,15,15,16,16,12,13,14,14,15,13,13,15,15,16,14,14,14,15,16,15,15,16,16,17,15,15,16,16,17,13,13,13,15,15,14,14,15,15,16,13,14,14,15,16,15,15,16,16,17,15,16,15,17,16,14,15,15,16,16,15,15,16,16,17,15,16,16,17,17,16,16,17,16,18,16,17,17,17,17,15,15,15,16,16,15,16,16,17,17,15,16,16,17,16,16,17,17,18,18,16,17,16,17,16,11,12,12,15,13,13,13,13,15,15,12,14,13,16,14,14,15,15,16,16,14,15,14,17,15,13,13,13,15,14,13,14,14,16,15,14,14,14,16,15,15,15,16,16,17,15,16,15,17,16,12,14,13,15,14,14,14,14,16,15,13,14,13,16,15,15,16,16,17,16,15,16,15,17,16,15,15,15,16,16,15,15,16,16,17,15,16,16,17,17,16,16,17,17,17,17,17,17,18,17,14,15,15,16,16,15,16,16,17,16,15,16,15,17,16,17,17,17,18,17,16,17,16,18,16,6,9,9,12,12,8,10,10,12,13,8,10,10,13,12,10,12,12,14,15,11,13,12,15,14,8,9,10,12,13,9,10,11,13,14,10,11,11,14,13,12,12,13,14,15,12,13,13,15,15,8,10,10,13,13,10,11,11,13,14,10,12,10,14,13,12,13,13,15,15,12,14,13,15,14,11,12,12,13,14,12,12,13,13,15,12,13,13,15,15,14,13,15,14,16,14,15,15,16,16,12,13,13,14,14,13,13,14,15,14,12,14,13,15,14,14,15,15,16,15,14,15,14,16,14,7,9,10,12,12,9,10,11,13,14,9,11,10,13,13,11,12,13,14,15,12,13,13,15,14,9,10,11,12,13,10,10,12,13,14,11,11,12,14,14,12,12,14,14,15,13,13,14,15,15,9,11,11,13,13,11,12,12,14,14,10,12,10,14,13,13,14,14,15,15,13,14,13,16,14,12,12,13,14,15,13,13,14,14,16,13,14,14,15,15,14,14,15,14,17,14,15,15,16,16,12,13,13,15,14,13,14,14,15,15,13,14,13,16,14,15,15,15,16,16,14,15,14,16,14,7,10,9,13,12,10,11,12,12,14,10,12,11,14,12,12,13,13,14,15,12,14,13,15,14,9,11,10,13,13,10,11,12,13,14,12,13,12,15,13,13,13,14,13,15,13,14,14,16,15,10,11,11,13,13,12,12,13,14,14,11,12,11,14,13,14,14,14,15,16,13,14,13,16,13,12,13,13,14,14,12,13,13,14,15,14,14,14,15,15,14,13,15,13,16,15,15,15,17,16,13,13,13,14,14,14,14,14,15,15,12,13,13,15,14,15,16,16,16,16,14,15,14,16,13,11,12,13,14,15,12,13,14,15,16,13,14,14,15,15,14,14,15,15,17,14,15,15,16,16,13,13,14,14,15,13,13,15,14,16,14,14,15,15,16,15,14,16,15,17,15,16,16,16,17,13,14,14,15,15,14,14,15,16,16,13,15,14,16,16,15,16,16,17,17,15,16,15,17,16,14,15,15,15,17,15,15,16,15,17,15,16,16,16,17,16,16,17,16,18,17,17,17,17,18,15,15,15,17,16,15,16,16,17,17,15,16,16,17,16,16,17,17,18,18,16,17,16,18,17,11,13,12,15,14,13,13,14,15,15,13,14,13,16,14,15,15,15,16,16,15,16,15,17,16,13,14,13,15,14,13,13,14,15,15,14,15,14,16,15,15,15,16,16,16,15,16,15,18,16,13,14,14,15,15,14,15,15,15,16,13,15,13,16,15,15,16,16,17,17,15,16,15,17,16,15,15,15,16,16,15,15,15,16,17,16,16,16,17,16,16,16,17,16,17,17,17,17,18,17,15,15,15,16,16,16,16,16,17,17,15,16,15,17,16,17,17,17,18,18,16,17,16,17,15,6,9,9,12,12,8,10,10,12,13,8,10,10,13,12,11,12,13,14,15,10,12,12,14,14,9,10,10,13,13,10,10,12,13,14,10,11,11,14,13,12,13,14,14,15,12,13,13,15,15,8,10,9,13,12,10,11,11,13,14,9,11,10,14,13,12,13,13,15,15,12,13,12,15,14,12,13,13,14,14,12,13,13,14,15,13,14,14,14,15,14,14,15,14,16,14,15,15,16,16,11,12,12,14,13,13,13,13,15,15,12,13,12,15,13,14,15,15,16,16,14,15,14,16,14,7,9,10,12,13,10,10,12,12,14,10,12,11,14,13,12,13,14,14,15,12,13,13,15,14,10,11,11,13,13,11,11,12,13,14,12,13,12,14,14,13,13,14,13,16,14,14,14,15,15,9,10,11,13,14,12,12,13,13,15,10,12,10,14,13,13,14,14,15,16,13,14,13,15,13,13,14,13,14,15,12,13,13,14,15,14,14,14,15,15,14,13,15,13,16,15,16,16,16,16,12,13,13,14,14,14,14,14,15,15,12,13,13,15,14,15,15,16,16,16,14,15,13,16,13,7,10,9,12,12,9,10,11,13,13,9,11,10,14,13,12,13,13,14,15,11,13,12,15,14,9,11,11,13,13,10,10,12,13,14,11,12,12,14,14,13,13,14,14,16,13,14,14,16,15,9,11,10,13,12,11,12,11,14,14,10,12,10,14,13,13,14,13,15,15,12,14,12,16,14,12,13,13,14,15,13,13,14,14,16,13,14,14,15,15,14,14,15,14,16,15,15,15,16,16,12,13,12,15,14,13,14,14,15,15,12,14,13,16,14,14,15,15,16,16,14,15,14,17,14,11,12,13,14,15,13,13,14,14,16,13,14,13,15,15,15,15,16,16,17,15,15,15,16,16,13,14,13,15,15,13,13,15,15,16,14,15,15,16,16,15,15,16,15,17,16,16,16,17,17,13,13,14,14,15,14,14,15,15,16,13,14,13,15,15,15,16,16,16,17,15,16,15,16,16,15,15,15,16,16,15,15,16,16,17,16,16,16,17,17,16,16,17,16,18,17,17,17,18,18,15,15,15,16,16,16,16,16,17,17,15,15,15,16,16,17,17,17,17,18,16,16,16,17,15,11,13,12,15,14,13,13,14,15,15,12,14,13,16,14,14,15,15,16,16,14,15,14,16,15,13,14,14,15,15,13,14,14,16,16,14,15,14,16,16,15,15,16,17,17,15,16,16,17,17,13,14,13,15,14,14,14,14,16,15,13,15,13,16,14,15,16,15,17,16,15,16,14,17,15,14,16,15,16,17,15,16,16,16,17,15,16,16,17,17,16,16,17,17,18,16,17,17,18,17,14,15,15,17,15,15,16,16,17,16,15,16,15,17,15,16,17,17,18,17,16,17,16,18,15,10,12,12,14,14,12,13,13,15,15,12,13,13,15,15,13,14,14,15,16,14,15,14,16,16,12,13,13,15,15,12,13,14,15,15,13,14,14,15,15,14,14,15,16,17,14,15,15,17,16,12,13,13,15,15,13,14,14,15,16,13,14,14,16,15,14,15,15,16,17,14,15,15,17,16,13,14,14,15,16,14,14,15,15,16,14,15,15,16,16,15,15,16,16,17,15,16,16,17,17,14,15,15,16,16,15,15,15,16,16,15,15,15,16,16,16,17,16,17,17,16,16,16,18,16,11,12,12,14,14,12,13,14,15,15,12,13,13,15,15,13,14,15,16,16,14,15,15,16,16,12,13,13,15,15,13,13,14,15,16,13,14,14,15,16,14,14,15,16,17,15,15,15,16,17,12,13,13,15,15,13,14,14,15,16,13,14,14,16,15,15,15,15,16,17,15,16,15,17,16,14,14,15,15,16,14,14,15,15,17,15,15,16,16,17,15,15,16,15,18,16,16,16,17,17,14,15,15,16,16,15,16,16,17,17,15,15,15,17,16,16,17,16,17,17,16,16,16,18,16,11,12,12,14,14,13,13,14,15,15,13,14,13,15,15,14,15,15,16,16,14,15,15,16,16,12,13,13,15,15,13,13,14,15,15,14,14,14,16,15,15,15,15,15,16,15,16,15,17,16,12,13,13,15,15,14,14,15,15,16,13,14,13,16,15,15,15,16,16,17,15,16,15,17,15,14,15,14,16,16,14,15,15,16,16,15,16,15,17,16,15,15,16,15,17,16,17,16,17,17,14,15,15,16,16,15,16,16,16,17,14,15,15,16,16,16,17,17,17,18,16,16,16,17,16,12,13,13,15,15,13,13,14,15,16,13,14,14,16,15,14,15,15,16,17,14,15,15,17,16,13,14,14,15,16,14,14,15,15,17,14,15,15,16,16,15,14,16,15,17,15,16,16,17,17,13,14,14,16,16,14,15,15,16,16,14,15,14,16,16,15,16,16,17,17,15,16,15,17,16,15,15,16,15,17,15,15,16,15,17,15,16,16,16,17,16,15,17,15,18,17,17,17,17,17,15,15,15,17,17,16,16,16,17,17,15,16,15,17,17,16,17,17,18,18,16,17,15,18,15,11,12,12,15,15,13,13,15,14,16,13,14,13,16,14,15,15,16,16,17,15,16,15,17,15,12,14,13,16,14,13,13,14,14,16,14,15,14,16,15,15,15,16,15,17,16,16,16,17,16,12,13,14,15,16,15,15,15,15,16,13,15,13,16,14,16,16,16,17,17,15,16,15,17,15,15,16,15,16,15,14,14,15,16,16,16,16,16,17,16,15,15,16,15,17,17,17,17,18,17,15,15,15,16,16,16,16,16,16,17,14,15,15,17,16,17,17,17,17,18,15,16,15,18,14,10,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,14,15,15,16,13,15,14,16,16,12,13,13,15,15,13,14,14,15,16,13,14,14,15,15,14,15,15,16,17,14,15,15,17,16,12,13,13,15,15,13,14,14,15,15,12,14,13,15,15,14,15,15,16,17,14,15,14,17,15,14,15,15,16,16,14,15,15,16,17,15,15,15,17,16,16,16,16,16,17,16,16,16,17,17,13,14,14,16,15,14,15,15,16,16,14,15,14,16,16,15,16,16,17,17,15,16,15,17,16,11,12,12,14,15,13,13,14,14,15,13,14,13,15,15,14,15,15,16,16,14,15,15,16,16,12,14,13,15,15,13,13,14,15,16,14,15,14,16,15,15,15,16,15,17,15,16,16,17,16,12,13,13,15,15,14,14,15,15,16,13,14,13,16,15,15,15,16,16,17,15,15,15,16,16,14,15,15,16,16,14,15,15,16,16,15,16,16,17,17,16,16,16,16,17,16,17,17,18,17,14,14,15,15,16,15,15,16,16,17,14,15,15,16,16,16,16,16,17,17,15,16,15,17,15,11,12,12,14,14,12,13,14,15,15,12,13,13,15,15,14,15,15,16,16,13,15,14,16,16,12,13,13,15,15,13,14,14,15,16,13,14,14,16,16,15,15,15,16,17,15,15,15,17,16,12,13,13,15,15,13,14,14,16,15,13,14,13,16,15,15,16,15,17,17,14,15,14,17,16,14,15,15,16,16,15,15,16,16,17,15,16,16,17,17,16,16,16,16,18,16,17,16,18,17,14,15,14,16,15,15,15,15,17,16,14,15,14,17,15,16,17,16,17,17,15,16,15,17,15,11,12,12,15,15,13,13,15,14,16,13,15,13,16,14,15,15,16,15,17,15,16,15,17,16,12,14,13,15,15,13,13,15,15,16,15,15,15,16,15,15,15,16,15,17,16,16,16,17,16,12,13,14,15,16,14,14,15,15,16,13,14,13,16,14,16,16,16,16,17,15,16,15,17,15,15,16,15,16,16,14,15,15,16,16,16,16,16,17,16,15,15,16,15,17,17,17,17,18,17,15,15,15,15,16,16,16,16,16,17,14,15,14,16,15,17,17,17,17,18,15,16,15,17,15,12,13,13,15,15,13,14,14,15,16,13,14,14,16,15,14,15,15,16,17,14,15,15,17,16,13,14,14,16,15,13,14,15,16,16,14,15,15,16,16,15,15,16,16,17,15,16,16,17,17,13,14,13,16,15,14,15,15,16,16,13,15,14,16,15,15,16,16,17,17,15,16,14,17,15,15,15,16,17,17,15,15,16,16,17,16,16,16,17,17,16,15,17,16,18,17,17,17,18,18,15,15,15,17,14,16,16,16,17,16,15,16,15,17,15,16,17,17,18,17,16,17,15,18,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,7,9,9,10,10,9,10,10,10,11,9,10,10,11,10,9,10,10,11,11,9,10,10,11,11,9,10,10,11,11,10,10,10,11,11,10,10,10,11,11,10,11,11,11,11,10,11,11,11,11,9,10,10,11,11,10,10,10,11,11,9,10,10,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,10,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,9,10,10,11,11,10,10,11,11,11,10,10,11,11,11,10,11,11,11,12,10,11,11,12,12,10,10,11,11,11,10,11,11,11,12,11,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,11,11,11,11,11,11,11,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,10,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,11,10,11,11,11,11,10,11,11,11,12,11,11,11,12,12,11,11,12,12,12,11,11,11,12,12,10,11,10,11,11,11,11,11,12,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,10,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,13,12,13,12,9,10,10,11,11,10,10,11,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,11,11,11,10,11,11,11,12,10,11,11,12,12,11,11,12,12,12,11,11,11,12,12,10,11,10,11,11,11,11,11,12,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,10,11,11,11,10,11,11,12,12,10,11,11,12,12,11,11,11,12,12,11,11,12,12,12,10,11,11,11,12,11,11,12,12,12,11,11,12,12,12,11,11,12,12,12,11,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,11,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,10,11,11,12,11,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,9,10,10,11,11,10,10,11,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,10,11,11,11,11,10,11,11,12,12,11,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,11,10,11,11,10,11,11,12,12,10,11,11,12,11,11,12,11,12,12,11,11,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,11,12,10,11,11,12,11,11,11,12,12,12,11,11,12,12,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,12,12,12,12,12,12,12,13,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,12,10,11,11,12,12,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,12,13,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,13,12,13,12,12,12,12,13,12,12,13,12,13,12,13,13,12,13,12,12,12,12,12,12,13,13,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,13,12,12,12,12,12,12,12,13,12,13,12,12,12,12,13,12,12,13,13,13,12,12,13,12,13,12,10,11,11,12,12,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,11],"i8",N3,F.GLOBAL_BASE+390097),E3([12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,12,13,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,13,13,13,12,12,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,13,12,13,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,13,12,13,12,12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,13,12,13,12,12,13,12,13,12,12,13,12,13,12,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,4,7,8,4,8,7,5,7,8,7,7,10,8,9,9,5,7,7,8,9,9,7,10,7,5,7,8,8,9,11,8,10,10,8,9,10,10,10,12,11,12,12,8,10,10,10,12,12,10,12,11,5,8,7,8,10,10,8,11,9,8,10,10,10,11,12,10,12,12,8,10,9,11,12,12,10,12,10,5,8,8,7,10,10,8,11,10,7,9,10,9,10,12,10,12,12,8,10,10,10,12,12,10,12,11,7,9,10,9,11,12,10,12,11,9,9,12,10,10,13,12,12,13,10,12,11,12,13,13,11,13,11,7,10,9,10,11,12,10,13,11,9,11,11,11,11,13,12,14,13,10,11,11,12,14,14,11,14,11,5,8,8,8,10,11,7,10,10,8,10,10,10,11,12,10,12,12,7,10,9,10,12,12,9,12,10,7,9,10,10,11,13,10,12,11,10,11,11,11,11,14,12,14,14,9,11,11,12,13,14,11,13,11,7,10,9,10,11,12,9,12,10,10,11,12,11,11,13,12,13,13,9,12,9,12,13,12,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,6,7,7,7,7,8,7,8,7,7,7,8,7,8,8,8,8,8,7,8,7,7,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,8,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,5,5,7,7,5,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,5,7,8,7,9,10,8,9,9,8,9,10,9,10,12,10,11,11,8,10,9,10,11,12,9,11,10,5,8,7,8,10,9,7,10,9,8,9,10,9,10,11,10,12,11,8,10,9,10,11,11,9,12,10,5,8,8,7,9,10,8,10,9,7,9,10,9,10,11,9,11,11,8,10,9,10,11,11,10,12,10,7,9,10,9,10,12,9,11,11,9,9,12,11,10,13,11,11,13,10,12,11,11,13,13,11,13,12,7,9,9,9,11,11,9,12,11,9,11,10,10,11,12,11,13,12,9,11,11,12,13,13,11,13,11,5,8,8,8,9,10,7,10,9,8,9,10,10,10,12,10,11,11,7,10,9,9,11,11,9,11,10,7,9,9,9,11,12,9,11,11,9,11,11,11,11,13,12,13,13,9,10,11,11,12,13,10,12,11,7,10,9,9,11,11,9,12,10,10,11,12,11,12,13,12,13,13,9,12,9,11,13,11,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,9,9,6,8,8,10,10,6,8,8,10,10,8,9,10,12,12,8,10,9,12,12,6,8,8,10,10,8,8,9,10,11,8,9,9,11,11,9,10,11,12,13,10,11,11,13,13,6,8,8,10,10,8,9,9,11,11,8,9,8,11,10,10,11,11,13,13,9,11,10,13,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,12,15,12,13,13,15,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,13,13,14,15,12,13,12,15,12,7,8,8,10,11,8,9,10,11,12,8,9,9,11,11,10,11,11,13,14,10,11,11,13,13,8,9,9,11,12,9,10,11,11,13,9,10,10,12,12,11,11,12,13,15,11,12,12,14,14,8,9,9,11,11,9,10,11,12,13,9,10,10,12,12,11,12,12,14,15,11,12,12,14,14,10,11,12,13,13,11,12,12,13,14,12,12,12,14,14,13,13,14,14,16,14,14,14,16,15,10,11,11,13,13,12,12,12,14,14,11,12,12,14,13,14,14,14,15,16,13,14,13,16,14,7,8,8,11,10,8,9,9,11,11,8,10,9,12,11,10,11,11,13,13,10,11,11,14,13,8,9,9,12,11,9,10,10,12,12,9,11,10,13,12,11,12,12,13,14,11,12,12,15,14,8,9,9,12,11,9,10,10,12,12,9,11,10,13,11,11,12,12,14,14,11,12,12,14,13,10,11,11,13,13,11,12,12,13,14,12,13,12,14,14,13,13,14,14,16,13,14,14,16,15,10,11,11,13,13,12,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,16,14,9,10,11,12,13,11,11,12,12,14,11,11,12,13,14,13,13,14,14,16,13,13,14,15,15,11,11,12,12,14,12,12,13,13,15,12,12,13,13,15,14,14,15,15,16,14,14,14,15,16,11,12,12,13,14,12,12,13,14,15,12,13,12,14,14,14,14,15,15,16,14,14,14,16,16,13,13,14,15,16,14,14,15,15,16,14,15,15,16,16,15,15,16,16,18,16,16,16,17,17,13,14,14,15,15,14,14,15,16,16,14,15,14,16,16,16,16,16,17,18,15,16,16,17,16,9,11,10,13,12,11,12,11,14,13,11,12,11,14,12,13,14,13,15,14,13,14,13,16,14,11,12,12,14,13,12,12,13,14,14,12,13,12,15,14,14,14,14,16,16,14,15,14,17,15,11,12,11,14,12,12,13,12,15,13,12,13,12,15,13,14,14,14,16,15,14,15,14,16,15,13,14,14,15,15,14,14,15,16,16,14,15,14,16,16,15,15,16,16,17,16,16,16,17,17,13,14,14,16,15,14,15,15,16,16,14,15,14,17,15,16,16,16,17,17,15,16,15,18,16,7,8,8,10,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,11,11,14,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,13,14,11,12,12,14,14,8,9,9,12,11,9,10,11,12,13,9,11,10,13,12,11,12,12,14,14,11,12,12,14,13,10,11,11,13,13,11,12,12,13,14,11,12,12,14,14,13,13,14,14,16,13,14,14,16,15,10,12,11,13,13,12,12,12,14,14,11,12,12,14,13,14,14,14,15,16,13,14,14,16,14,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,11,12,13,14,11,12,12,14,14,9,9,10,11,12,10,10,11,12,13,10,10,11,12,13,12,12,13,14,15,12,12,13,14,15,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,15,15,12,13,13,15,14,11,11,12,13,14,12,12,13,13,15,12,12,13,14,15,14,14,15,14,16,14,14,15,15,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,14,14,15,15,16,16,14,15,14,17,15,8,9,9,11,11,9,10,10,12,12,9,11,10,13,12,11,12,12,14,14,11,13,12,15,13,9,10,10,12,12,10,10,11,12,13,10,12,11,13,13,12,12,13,13,15,12,13,13,15,14,9,10,10,12,12,11,11,12,13,13,10,12,10,13,12,12,13,13,15,15,12,13,13,15,13,11,12,12,14,14,12,12,13,14,14,12,13,13,15,14,13,13,14,13,16,14,15,14,16,16,11,12,12,14,14,13,13,13,15,15,12,13,12,15,14,14,15,15,16,17,14,15,13,16,13,10,11,11,13,14,11,12,12,13,15,11,12,12,14,14,13,14,14,15,16,13,14,14,16,16,11,11,12,12,14,12,12,13,13,15,12,13,13,13,15,14,14,15,14,17,14,14,15,15,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,16,13,14,14,14,16,14,14,15,14,17,14,15,15,14,17,16,16,17,15,18,16,16,17,16,18,13,14,14,16,16,14,15,15,17,16,14,15,15,17,16,16,17,17,18,18,16,17,16,18,17,10,11,11,14,13,11,12,12,14,14,11,13,12,15,14,14,14,14,16,15,14,15,14,16,15,11,12,12,14,13,12,13,13,15,14,13,14,13,15,14,14,15,15,16,16,14,15,15,17,15,11,12,12,14,14,13,13,13,15,15,12,13,13,15,14,15,15,15,17,17,14,15,15,17,15,13,14,14,16,15,14,15,15,16,16,15,15,15,17,16,16,16,16,16,17,16,17,16,18,17,14,14,14,16,16,15,15,15,16,16,14,15,14,17,16,16,17,17,17,18,16,17,16,18,16,7,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,11,10,13,12,11,12,12,13,14,11,12,12,14,14,8,9,9,11,11,9,10,10,12,12,9,10,10,13,12,11,12,12,14,14,11,12,11,14,13,10,11,12,13,13,11,12,12,13,14,12,13,12,14,14,13,13,14,14,16,13,14,14,16,15,10,11,11,13,13,11,12,12,14,14,11,12,12,14,13,13,14,14,15,16,13,14,13,16,14,8,9,9,11,11,9,10,11,12,13,9,10,10,12,12,11,12,13,13,14,11,12,12,14,14,9,10,10,12,12,10,10,11,12,13,11,12,11,13,13,12,12,13,13,15,12,13,13,15,15,9,10,10,12,12,10,11,12,13,14,10,11,10,13,12,12,13,13,14,15,12,13,12,15,13,12,12,12,14,14,12,12,13,14,15,13,13,13,15,15,14,14,15,13,16,14,15,15,16,16,11,12,12,14,14,12,13,13,14,15,12,13,12,14,14,14,14,15,16,16,13,14,13,16,14,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,14,11,12,11,14,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,14,15,12,13,13,15,14,9,10,9,12,11,10,11,10,13,12,10,11,10,13,12,12,13,12,15,14,12,13,12,15,14,11,12,12,14,14,12,13,13,14,15,12,13,13,15,15,14,14,15,15,17,14,15,15,16,16,11,12,11,14,13,12,13,12,15,14,12,13,12,15,13,14,15,14,16,15,13,15,14,17,14,10,11,11,13,14,11,12,13,13,15,11,12,12,14,14,14,14,15,15,17,13,14,14,15,16,11,12,12,14,14,12,12,13,14,15,13,13,13,15,15,14,15,15,15,17,15,15,15,16,16,11,12,12,13,14,13,13,14,14,15,12,13,13,14,15,14,15,15,16,17,14,15,15,16,16,14,14,14,16,16,14,14,15,15,17,15,15,15,17,16,16,16,17,16,18,16,17,17,18,17,13,14,14,15,16,14,15,15,16,17,14,15,15,16,16,16,17,17,17,18,16,16,16,17,16,10,11,11,14,13,11,12,12,14,14,11,12,12,15,13,13,14,14,16,15,13,14,14,16,15,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,17,16,11,12,11,14,12,12,13,13,15,13,12,13,12,15,13,14,15,15,16,15,14,15,14,17,14,13,14,14,16,16,14,15,15,16,17,14,15,15,16,17,16,16,17,17,18,16,17,17,18,18,13,14,14,16,13,14,15,15,17,14,14,15,14,17,14,16,17,16,17,16,16,17,16,18,15,8,11,11,13,13,10,12,12,14,14,11,12,12,14,14,13,13,14,15,16,13,14,14,16,15,10,11,11,14,14,11,12,12,14,15,11,12,12,15,14,13,14,14,15,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,12,15,14,14,14,15,16,16,14,15,14,16,16,12,13,13,15,15,12,13,14,15,16,13,14,14,16,16,14,15,15,16,17,15,15,16,17,17,13,14,14,16,15,14,15,15,16,16,14,15,14,16,16,16,16,16,17,17,15,16,16,18,16,10,11,11,13,14,11,12,12,14,15,11,12,12,15,14,13,14,14,16,16,13,14,14,16,16,11,11,12,14,14,12,12,13,14,15,12,13,13,15,15,14,14,15,15,17,14,14,15,16,16,11,12,12,15,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,17,16,13,12,14,14,16,13,13,15,14,17,14,13,15,15,17,15,14,16,15,18,16,15,16,16,18,13,14,14,16,16,14,15,15,17,17,14,15,15,17,16,16,17,17,18,18,16,17,16,18,17,10,11,11,14,13,11,12,12,14,14,11,13,12,15,14,13,14,14,15,16,13,14,14,16,16,11,12,12,14,14,12,13,13,14,15,12,13,13,15,15,14,14,15,15,16,14,15,15,17,16,11,12,12,14,14,13,13,13,15,15,12,13,13,15,14,14,15,15,16,17,14,15,14,17,15,13,14,13,16,15,14,14,14,15,16,14,15,14,16,16,15,15,16,16,17,16,16,16,18,17,14,14,14,16,16,15,15,15,17,16,14,15,14,17,16,16,16,17,17,18,16,17,16,18,16,11,13,13,15,15,12,13,14,15,16,12,14,14,15,15,14,15,15,16,17,14,15,15,17,17,12,13,14,14,16,13,14,14,14,16,14,14,14,15,16,15,15,16,15,18,15,16,16,17,17,13,14,14,16,16,14,14,15,16,16,14,15,14,16,16,15,16,16,17,18,15,16,16,18,17,14,14,16,13,17,15,15,16,14,18,15,15,16,14,18,16,16,18,15,19,17,17,18,16,18,15,16,15,17,17,15,16,17,18,18,16,16,16,18,17,17,18,18,19,19,17,18,17,19,18,11,12,12,15,14,13,13,14,15,16,13,14,13,16,14,15,15,15,16,17,15,16,15,17,16,12,13,13,15,14,13,13,14,15,15,14,15,14,16,15,15,15,16,16,17,16,16,16,18,17,12,13,13,15,15,14,14,15,16,16,13,14,13,16,15,16,16,16,17,18,15,16,15,17,16,14,15,14,17,15,14,15,15,16,16,15,16,15,17,16,16,15,16,15,17,17,18,17,18,17,15,15,15,16,17,16,16,16,17,17,15,16,15,17,16,17,18,18,18,18,16,17,16,18,15,8,11,11,13,13,11,12,12,14,14,10,12,12,14,14,13,14,14,15,16,13,14,13,16,15,11,12,12,14,14,12,12,13,14,15,12,13,13,15,15,14,14,15,15,16,14,14,14,16,16,10,11,11,14,14,11,12,12,14,15,11,12,12,15,14,13,14,14,16,16,13,14,14,16,15,13,14,14,15,16,14,14,15,16,16,14,15,15,16,16,15,16,16,16,18,16,16,16,17,17,12,13,13,15,15,13,14,14,16,16,12,14,13,16,15,15,16,15,17,17,14,16,15,17,16,10,11,11,13,14,11,12,13,14,15,11,13,12,14,14,14,14,15,16,16,13,14,14,16,16,11,12,12,14,14,12,13,13,14,15,13,14,13,15,15,14,15,15,16,17,14,15,15,17,16,11,12,12,14,14,12,13,13,15,15,12,13,12,15,14,14,15,15,16,17,14,15,15,16,16,14,14,14,16,16,14,14,15,16,16,15,15,15,16,16,16,16,17,16,18,16,17,17,18,18,13,13,14,15,16,14,14,15,16,17,13,14,14,16,16,16,16,17,17,18,15,16,15,17,16,10,11,11,14,13,11,12,12,14,14,11,12,12,15,14,13,14,14,16,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,17,16,11,12,11,14,14,12,13,13,15,15,12,13,12,15,14,14,15,14,16,16,14,15,14,17,16,14,14,14,16,16,14,15,15,16,17,14,15,15,17,17,16,16,17,17,18,16,17,17,18,18,13,14,12,16,14,14,15,13,17,15,13,15,13,17,14,16,16,15,18,16,15,17,14,18,15,11,12,12,14,15,13,13,14,14,16,13,14,13,15,14,15,15,16,16,17,15,16,15,17,16,12,13,13,15,15,13,13,14,15,16,14,15,14,16,16,15,15,16,15,18,16,16,16,18,17,12,13,13,15,15,14,14,15,15,16,13,14,13,15,15,16,16,16,16,18,15,16,15,17,16,15,15,15,17,16,15,15,16,16,17,16,16,16,18,17,16,16,17,15,18,17,18,17,19,18,14,14,15,15,17,15,15,16,16,17,14,15,15,16,16,17,17,18,17,19,16,17,15,17,15,11,13,12,15,15,12,14,14,15,15,12,14,13,16,15,15,15,15,17,17,14,15,15,17,16,12,14,14,16,16,14,14,15,16,16,14,14,14,16,16,15,16,17,17,18,15,16,16,18,17,12,14,13,16,14,13,14,14,16,15,13,15,14,16,14,15,16,16,17,17,15,16,15,18,15,15,15,16,17,17,15,16,16,17,18,16,16,16,18,18,17,17,18,18,19,17,17,18,19,19,14,15,14,17,13,15,16,15,18,14,15,16,15,18,14,17,18,17,18,16,16,18,16,19,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,4,7,7,4,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,6,7,8,8,9,10,8,9,10,8,9,10,10,10,12,10,11,12,8,10,10,10,11,12,10,11,11,6,8,7,8,10,9,8,10,9,8,10,10,10,11,11,10,12,11,8,10,9,10,12,11,10,12,10,5,8,8,8,10,10,8,10,10,7,9,10,9,10,11,9,11,11,8,10,10,10,12,12,10,12,11,7,9,9,9,10,11,9,11,11,9,9,11,10,11,12,10,11,12,9,11,11,11,12,12,11,12,12,7,9,9,10,11,11,10,12,11,9,11,10,11,11,12,11,13,12,10,11,11,12,13,13,11,13,11,5,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,11,7,10,9,9,11,11,9,11,10,7,9,9,10,11,12,10,11,11,10,11,11,11,11,13,12,13,13,9,10,11,12,12,13,11,12,11,7,9,9,9,11,11,9,11,10,9,11,11,11,12,12,11,12,12,9,11,9,10,12,11,10,12,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,9,15,17,20,21,22,23,5,5,7,9,11,13,17,20,9,5,5,6,8,10,15,18,11,7,5,4,6,9,13,17,14,9,7,5,6,7,10,14,17,10,8,6,6,4,5,8,20,14,13,10,8,4,3,4,23,17,16,14,12,6,4,4,2,0,0,0,64,0,0,0,112,96,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,216,47,6,0,0,0,0,0,0,0,0,0,0,48,6,0,0,0,0,0,0,0,0,0,40,48,6,0,80,48,6,0,0,0,0,0,0,0,0,0,120,48,6,0,160,48,6,0,0,0,0,0,0,0,0,0,200,48,6,0,240,48,6,0,0,0,0,0,0,0,0,0,24,49,6,0,64,49,6,0,240,48,6,0,0,0,0,0,104,49,6,0,144,49,6,0,184,49,6,0,224,49,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,152,47,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,14,16,17,17,18,20,6,3,5,8,10,11,13,15,13,5,3,5,8,9,11,12,15,7,4,3,5,7,9,11,16,10,7,5,6,7,9,10,17,11,8,7,7,6,8,8,19,13,11,9,9,8,8,9,20,14,13,11,10,8,9,9,5,0,0,0,243,0,0,0,104,95,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,96,96,6,0,0,0,0,0,5,0,0,0,53,12,0,0,24,83,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,80,95,6,0,0,0,0,0,5,0,0,0,243,0,0,0,16,82,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,8,83,6,0,0,0,0,0,5,0,0,0,243,0,0,0,8,81,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,0,82,6,0,0,0,0,0,5,0,0,0,243,0,0,0,0,80,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,248,80,6,0,0,0,0,0,5,0,0,0,53,12,0,0,176,67,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,79,6,0,0,0,0,0,5,0,0,0,53,12,0,0,96,55,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,152,67,6,0,0,0,0,0,1,0,0,0,7,0,0,0,56,55,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,64,55,6,0,0,0,0,0,5,0,0,0,243,0,0,0,48,54,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,40,55,6,0,0,0,0,0,5,0,0,0,243,0,0,0,40,53,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,32,54,6,0,0,0,0,0,5,0,0,0,243,0,0,0,32,52,6,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,24,53,6,0,0,0,0,0,5,0,0,0,243,0,0,0,24,51,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,16,52,6,0,0,0,0,0,1,0,0,0,25,0,0,0,144,50,6,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,176,50,6,0,0,0,0,0,1,0,0,0,25,0,0,0,8,50,6,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,40,50,6,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,4,5,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,5,5,4,10,10,5,10,10,5,10,10,10,10,10,10,10,10,5,10,10,10,10,10,9,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,7,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,7,6,7,8,6,8,7,7,7,8,7,7,8,8,8,8,7,7,7,8,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,9,8,9,8,8,8,8,8,8,9,8,9,9,8,8,8,9,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,9,9,9,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,6,5,7,8,5,8,7,5,7,7,7,7,9,8,9,9,5,7,7,8,9,9,7,9,7,6,8,8,8,9,10,8,9,9,8,9,10,9,9,11,10,10,11,8,10,9,10,10,11,9,10,10,6,8,8,8,9,9,8,10,9,8,9,10,9,10,10,10,11,10,8,10,9,10,11,10,9,11,9,6,8,8,7,9,9,8,9,9,7,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,10,9,7,9,9,9,10,10,9,10,10,9,9,10,10,9,11,10,11,11,9,10,10,10,11,11,10,11,10,6,9,8,9,10,10,9,10,9,8,10,10,9,9,10,10,11,11,9,10,10,10,11,11,9,11,9,6,8,8,8,9,9,7,9,9,8,9,9,9,9,10,9,10,10,7,9,9,9,10,10,9,10,9,6,8,9,9,9,10,9,10,10,9,10,10,9,9,11,10,11,11,8,10,10,10,11,11,9,10,9,7,9,9,9,10,10,9,10,10,9,10,10,10,10,11,10,11,11,9,10,9,10,11,11,10,11,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,9,9,5,7,8,10,11,5,8,7,11,10,8,10,11,12,13,8,11,10,13,12,6,7,8,10,11,7,8,10,10,12,8,9,9,12,11,10,10,12,11,14,10,11,12,14,13,6,8,7,11,10,8,9,9,11,12,7,10,8,12,10,10,12,12,13,14,10,12,10,14,11,9,10,11,11,12,10,10,11,11,13,11,12,12,13,13,12,11,13,11,15,13,14,13,14,14,9,11,10,12,11,11,12,12,13,13,10,11,10,13,11,13,13,14,14,14,12,13,11,14,11,7,8,9,11,12,9,9,11,12,13,9,10,10,13,12,11,12,13,13,15,11,12,12,14,14,9,10,10,12,13,10,10,12,12,14,11,11,11,13,13,12,12,13,13,15,12,13,13,15,14,9,10,10,12,13,10,11,11,13,14,10,12,11,14,13,12,13,13,14,15,12,13,13,15,14,12,12,13,13,14,12,13,13,13,15,13,14,14,14,15,14,14,15,14,16,14,15,15,16,16,12,13,13,14,14,13,13,14,15,14,12,13,13,15,14,14,15,15,15,16,14,15,14,16,14,7,9,8,12,11,9,10,10,12,13,9,11,9,13,12,11,12,12,14,14,11,13,12,15,13,9,10,10,13,12,10,11,12,13,14,10,12,11,14,13,12,13,13,14,15,13,13,13,15,14,9,10,10,13,12,11,11,11,13,13,10,12,10,14,12,13,13,13,14,15,12,13,12,15,13,12,13,13,14,14,12,13,13,14,15,13,14,13,15,15,14,14,15,14,16,14,15,15,16,15,12,13,12,14,13,13,13,13,15,14,12,13,13,15,13,14,15,15,16,15,14,15,14,16,14,11,12,12,13,14,12,13,14,14,15,12,13,13,14,15,14,14,15,15,16,14,15,15,16,16,12,13,13,14,15,13,13,14,14,16,13,14,14,15,15,15,15,16,15,17,15,15,15,16,16,12,13,13,14,15,13,14,14,15,16,13,14,14,15,15,15,15,16,16,17,15,15,15,17,16,14,15,15,16,16,15,15,16,15,16,15,16,16,16,17,16,16,17,16,18,16,16,17,18,17,14,15,15,16,16,15,16,16,16,17,15,16,15,17,16,16,17,17,17,18,16,16,16,17,16,11,12,12,14,13,12,13,13,15,14,12,14,13,15,14,14,15,15,16,16,14,15,14,16,15,12,13,13,15,14,13,14,14,15,15,13,14,14,16,15,15,15,15,16,16,15,16,15,17,16,12,13,13,15,14,13,14,14,15,15,13,14,13,16,14,15,15,15,16,16,15,15,15,17,15,14,15,15,16,16,15,15,15,16,16,15,16,16,17,17,16,16,17,17,17,16,17,17,18,17,14,15,15,16,15,15,15,16,16,16,15,15,15,17,15,17,17,17,18,17,16,17,16,18,16,6,9,9,12,12,8,10,10,12,13,9,11,10,13,12,10,12,12,14,14,11,13,12,14,14,8,10,10,12,12,9,10,11,12,14,10,11,11,13,13,12,12,13,13,15,12,13,13,15,14,9,10,10,13,13,10,11,11,13,13,10,12,10,14,13,12,13,13,14,15,12,13,13,15,14,11,12,12,13,14,12,12,13,13,15,12,13,13,14,14,13,13,14,13,16,14,15,15,16,15,11,12,12,14,14,13,13,13,15,14,12,13,13,15,14,14,15,15,16,15,14,14,14,16,14,7,9,10,12,12,9,10,11,13,13,9,11,10,13,13,11,12,13,14,15,12,13,13,15,14,9,10,11,12,13,10,10,12,13,14,11,11,12,14,14,12,12,14,14,15,13,13,13,15,15,9,11,11,13,13,11,12,12,14,14,10,12,10,14,13,13,14,13,15,15,12,14,13,15,14,12,12,13,13,15,12,12,14,13,15,13,14,14,15,15,14,14,15,14,17,14,15,15,16,16,12,13,13,15,14,13,14,14,15,15,12,14,13,15,14,14,15,15,16,16,14,15,14,16,14,7,10,10,12,12,10,11,11,12,13,10,12,10,14,12,12,13,13,14,15,12,13,13,15,14,9,11,10,13,12,10,10,12,12,14,11,13,12,14,13,13,13,14,13,15,13,14,14,15,14,10,11,11,13,13,12,12,12,13,14,10,12,10,14,12,13,14,14,15,15,13,14,13,15,13,12,13,13,14,14,12,12,13,14,15,13,14,14,15,15,13,13,14,13,15,14,15,15,16,16,12,13,13,14,14,13,14,14,15,15,12,13,13,15,13,15,15,15,16,16,13,14,13,16,13,11,12,13,14,14,12,13,14,14,15,12,13,13,15,15,14,14,15,15,17,14,15,15,16,16,12,13,14,14,15,13,13,14,14,16,13,14,14,15,16,14,14,16,15,17,15,15,16,16,16,12,13,13,15,15,13,14,14,15,16,13,14,14,15,16,15,15,16,17,17,15,16,15,17,16,14,15,15,15,16,15,15,16,15,17,15,15,16,16,17,16,16,16,16,18,16,16,17,17,17,14,15,15,16,16,15,16,16,16,17,15,16,15,17,16,16,17,17,17,17,16,17,16,18,17,11,12,12,14,14,13,13,14,14,15,13,14,13,15,14,14,15,15,15,16,14,15,15,17,15,12,13,13,15,14,13,13,14,15,15,14,15,14,16,15,15,15,15,15,16,15,16,15,17,16,12,13,13,15,15,14,14,14,15,16,13,14,13,16,15,15,15,16,16,17,15,16,15,17,15,14,15,15,16,16,14,15,15,16,16,15,16,16,17,16,15,15,16,15,17,16,17,17,18,17,14,15,15,16,16,15,16,16,16,17,14,15,15,17,16,17,17,17,17,18,15,16,16,18,15,6,9,9,12,12,9,10,11,12,13,8,10,10,13,12,11,12,13,14,14,10,12,12,14,13,9,10,10,12,13,10,10,12,13,14,10,11,11,13,13,12,13,13,14,15,12,13,13,15,14,8,10,10,12,12,10,11,11,13,13,9,11,10,13,13,12,13,13,14,15,12,13,12,15,13,11,12,12,14,14,12,13,13,13,15,13,13,13,14,15,14,14,15,14,16,14,15,15,15,15,11,12,12,14,13,12,13,13,15,14,12,13,12,15,13,14,14,15,16,16,13,14,13,16,13,7,10,10,12,12,10,10,12,12,14,10,11,11,13,12,12,13,13,13,15,12,13,13,15,14,10,11,11,13,13,10,10,12,12,14,12,12,12,14,13,13,13,14,13,15,13,14,14,15,14,9,10,11,13,13,11,12,12,13,14,10,12,10,14,12,13,13,14,14,15,13,13,12,15,13,12,13,13,14,14,12,13,13,14,15,13,14,14,15,15,13,13,15,13,16,15,15,15,16,16,12,13,13,14,14,13,14,14,15,15,12,13,12,15,14,15,15,15,16,16,13,14,13,15,13,7,10,9,12,12,9,10,11,13,13,9,11,10,13,13,11,13,13,14,15,11,13,12,15,14,9,11,11,13,13,10,10,12,13,14,11,12,12,14,14,12,13,14,14,15,13,13,13,15,15,9,11,10,13,12,11,12,11,14,14,10,12,10,14,13,13,14,13,15,15,12,14,12,15,14,12,13,13,14,15,13,13,14,14,15,13,14,14,15,15,14,14,15,14,17,14,15,15,16,16,12,13,12,15,13,13,14,14,15,15,12,14,13,15,13,14,15,15,16,16,14,15,14,16,14,11,12,12,14,14,13,13,14,14,15,13,14,13,15,15,14,15,15,16,17,14,15,15,16,15,12,13,13,15,15,13,13,14,15,16,14,14,14,16,15,15,15,16,15,17,15,16,15,17,16,12,13,13,14,15,14,14,15,15,16,13,14,13,15,15,15,15,16,16,17,15,15,15,16,15,14,15,15,16,16,14,15,15,16,17,15,16,16,17,17,16,15,16,15,17,16,17,17,17,17,14,15,15,15,16,15,15,16,16,17,14,15,15,16,16,16,16,17,17,18,15,16,15,17,15,11,13,12,14,14,12,13,13,15,15,12,14,13,15,14,14,15,15,16,16,14,15,14,16,15,12,13,13,15,15,13,14,14,15,16,13,14,14,16,16,15,15,16,16,17,15,16,15,17,16,12,13,13,15,14,13,14,14,16,15,13,14,13,16,14,15,16,15,17,16,15,15,14,18,15,14,15,15,16,16,15,15,16,16,17,15,16,15,17,16,16,16,17,17,18,16,17,17,18,17,14,15,15,16,15,15,16,15,17,16,15,15,15,17,15,16,17,17,18,17,16,17,16,18,15,10,12,12,14,14,12,13,13,14,14,12,13,13,14,14,13,14,14,15,15,13,14,14,16,15,11,12,13,14,14,12,13,13,15,15,12,13,13,15,15,13,14,15,15,16,14,15,15,16,16,12,13,13,14,14,13,13,14,15,15,13,14,13,15,15,14,15,15,16,16,14,15,14,16,15,13,14,14,15,15,13,14,14,15,16,14,14,15,16,16,14,15,15,15,17,15,16,16,17,17,13,14,14,15,15,14,15,15,16,16,14,15,15,16,16,15,16,16,16,17,15,16,15,17,16,11,12,12,14,14,12,13,13,14,15,12,13,13,15,14,13,14,14,15,16,13,14,14,16,15,12,13,13,14,15,13,13,14,15,15,13,14,14,15,15,14,14,15,15,17,14,15,15,16,16,12,13,13,15,15,13,14,14,15,15,13,14,13,15,15,14,15,15,16,17,14,15,15,16,16,13,13,14,15,16,14,14,15,15,16,14,15,15,16,16,15,15,16,15,18,15,16,16,17,17,14,15,15,16,16,15,15,15,16,16,14,15,15,17,16,16,16,16,17,17,15,16,16,17,16,10,12,12,14,14,12,13,13,14,15,12,13,13,15,14,14,14,15,15,16,14,15,14,16,15,12,13,13,15,14,13,13,14,15,15,13,14,14,15,15,14,14,15,15,16,14,15,15,16,16,12,13,13,15,15,13,14,14,15,16,13,14,13,15,14,15,15,15,16,16,14,15,15,16,15,13,14,14,16,15,14,14,14,15,16,14,15,15,16,16,15,15,16,15,17,16,17,16,17,17,14,14,15,15,16,15,15,16,16,16,14,15,14,16,15,16,16,16,17,17,15,16,15,17,15,11,13,13,14,15,13,13,14,15,15,13,14,13,15,15,14,15,15,15,16,14,15,15,17,15,13,13,14,15,15,13,14,15,15,16,14,14,14,16,16,15,14,16,15,17,15,16,16,17,16,13,14,14,15,15,14,14,14,16,16,13,15,14,16,15,15,15,16,17,17,15,16,15,17,16,14,15,15,15,16,15,15,16,15,17,15,16,16,16,17,16,16,17,15,18,16,17,17,17,17,14,15,15,16,16,15,16,16,17,17,15,16,15,17,16,16,17,17,18,18,16,17,15,18,16,10,12,12,14,14,13,13,14,14,15,13,14,13,15,14,14,15,15,15,16,15,15,15,16,15,12,13,13,15,14,12,12,14,14,15,14,15,14,16,15,15,14,15,14,17,15,16,16,17,16,12,13,13,14,15,14,14,15,15,16,13,14,12,16,14,15,16,16,16,17,15,16,14,17,15,14,15,14,16,15,14,14,15,15,15,15,16,15,17,16,15,14,16,14,16,16,17,17,18,17,14,14,15,15,16,15,16,16,16,17,14,15,14,16,15,16,16,17,17,17,15,16,14,17,14,10,12,12,14,13,12,13,13,14,14,11,13,12,14,14,13,14,14,15,16,13,14,14,16,15,12,13,13,14,14,13,13,14,15,15,13,14,13,15,15,14,14,15,15,16,14,15,15,16,16,11,13,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,13,14,14,16,15,13,14,14,15,15,14,15,15,15,16,14,15,15,16,16,15,16,16,16,17,16,16,16,17,17,13,14,14,15,15,14,15,15,16,16,13,14,14,16,15,15,16,16,17,17,15,15,15,17,15,11,12,12,14,14,12,13,13,14,15,12,13,13,15,14,14,14,15,15,16,14,14,14,16,15,12,13,13,15,14,13,13,14,15,15,13,14,14,16,15,14,15,15,15,16,15,15,15,16,16,12,13,13,14,15,13,13,14,15,15,13,14,13,15,15,15,15,15,16,16,14,15,14,16,15,14,14,15,16,16,14,15,15,15,16,15,16,15,16,16,15,15,16,15,17,16,16,16,17,17,13,14,14,15,16,14,15,15,16,16,14,14,14,16,16,16,16,16,17,17,15,15,15,17,15,11,12,12,14,14,12,13,13,14,15,12,13,13,15,14,14,14,14,15,16,13,14,14,16,15,12,13,13,15,15,13,13,14,15,16,13,14,14,15,15,14,15,15,16,17,14,15,15,17,16,12,13,13,15,14,13,14,14,15,15,13,14,13,15,15,14,15,15,16,16,14,15,14,17,15,14,15,15,16,16,14,15,15,16,17,15,15,15,17,17,15,16,16,16,17,16,17,16,17,17,13,15,14,16,15,14,15,15,16,16,14,15,14,16,15,16,16,16,17,17,15,16,15,17,15,10,12,12,14,14,13,13,14,14,15,13,14,13,15,14,14,15,15,15,17,14,15,15,16,15,12,13,13,15,14,12,12,14,14,15,14,15,14,16,15,15,14,16,15,17,15,16,16,17,16,12,13,13,14,15,14,14,15,15,16,12,14,12,15,14,15,16,16,16,17,15,16,14,17,14,14,15,14,16,16,14,14,15,15,16,15,16,16,17,16,15,14,16,14,17,16,17,17,18,17,14,14,15,15,16,15,15,16,16,17,14,15,14,16,15,16,17,17,17,18,15,16,14,17,14,11,13,13,15,14,13,13,14,15,15,12,14,13,15,15,14,15,15,15,17,14,15,14,16,15,13,14,14,15,15,13,14,15,15,16,14,15,14,16,16,15,15,16,16,17,15,16,16,17,17,13,14,13,15,15,14,14,14,16,16,13,15,14,16,15,15,16,16,17,17,15,16,14,17,15,15,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,15,17,16,17,17,17,17,18,18,14,15,15,17,15,15,16,16,17,16,15,16,15,17,15,16,17,17,17,17,16,17,15,18,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,7,8,8,10,10,8,9,9,10,11,8,9,9,10,10,9,10,10,11,11,9,10,10,11,11,8,9,9,10,10,9,9,10,11,11,9,10,10,11,11,10],"i8",N3,F.GLOBAL_BASE+400337),E3([10,11,11,11,10,11,11,11,11,8,9,9,10,10,9,10,10,11,11,9,10,9,11,11,10,11,11,11,11,10,11,10,11,11,10,10,10,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,11,12,11,11,11,11,12,10,10,10,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,12,11,11,11,11,12,11,8,9,10,11,11,9,10,11,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,10,11,11,10,10,11,11,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,10,10,11,11,10,11,11,12,12,10,11,11,12,11,11,12,12,12,12,11,12,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,8,10,9,11,11,9,10,10,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,10,10,11,11,10,11,11,12,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,11,12,11,11,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,13,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,10,11,11,12,11,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,12,12,13,13,13,13,13,13,13,13,13,8,10,10,11,11,9,10,10,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,11,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,10,10,11,11,10,11,11,12,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,11,12,10,11,11,12,12,11,11,11,12,12,11,11,11,12,12,10,10,11,11,12,11,11,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,10,11,11,12,12,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,12,12,12,13,12,12,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,11,12,12,12,12,12,12,12,13,12,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,11,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,10,10,11,11,9,10,10,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,10,11,11,10,11,11,11,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,11,12,12,11,12,11,12,12,10,11,11,12,12,11,11,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,10,12,11,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,11,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,11,11,12,12,11,12,12,12,12,11,12,11,13,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,12,13,13,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,11,12,12,12,11,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,12,13,12,13,12,12,13,13,13,12,12,13,13,13,12,13,13,13,13,12,12,12,12,13,12,12,13,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,11,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,13,13,13,13,12,13,13,12,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,13,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,11,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,12,13,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,11,12,12,12,12,12,13,13,11,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,13,13,13,13,13,12,13,12,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,13,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,13,13,13,13,13,13,13,13,13,12,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,8,5,8,7,5,7,8,7,8,10,8,10,10,5,8,7,8,10,10,7,10,8,6,8,9,9,10,12,9,11,11,9,10,11,11,11,13,11,13,13,9,11,11,11,12,13,11,13,11,6,9,8,9,11,11,9,12,10,9,11,11,11,11,13,11,13,13,9,11,10,11,13,13,11,13,11,6,9,9,8,10,11,9,12,11,8,10,11,10,11,13,11,13,13,9,11,11,11,13,12,11,13,11,8,10,10,9,11,12,10,12,12,10,10,12,11,11,14,12,13,14,10,12,12,12,13,13,11,14,11,8,11,10,11,12,13,11,14,12,10,12,11,11,12,14,13,15,14,10,12,12,13,14,15,12,14,12,5,9,9,9,11,12,8,11,10,9,11,11,11,11,13,11,12,13,8,11,10,11,13,13,10,13,11,8,10,11,11,12,14,11,13,12,10,12,12,12,12,14,14,15,14,10,11,12,13,14,15,11,14,12,8,10,10,10,12,12,9,12,11,10,12,12,11,11,14,12,13,13,10,12,10,12,14,13,11,13,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,6,7,7,7,7,7,7,7,7,7,7,8,7,8,8,7,8,8,7,8,7,7,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,8,8,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,8,8,8,8,8,9,8,8,9,8,7,8,8,7,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,7,8,8,8,8,9,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,9,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,7,8,8,7,8,8,8,8,8,8,8,9,8,8,9,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,9,8,8,8,8,8,9,9,9,9,9,8,8,8,8,9,9,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,5,4,7,7,4,7,7,5,7,8,7,8,10,8,9,9,5,7,7,8,9,9,7,10,8,5,7,8,8,9,10,8,10,10,8,9,10,10,10,12,10,12,12,8,10,10,10,12,12,10,12,11,5,8,7,8,10,10,8,10,9,8,10,10,10,11,12,10,12,12,8,10,9,10,12,12,10,12,10,5,8,8,7,10,10,8,10,10,7,9,10,9,10,12,10,12,12,8,10,10,10,12,12,10,12,11,7,9,10,9,11,12,10,12,11,9,9,12,11,10,14,12,12,13,10,12,11,12,13,13,11,14,12,7,10,9,10,11,11,10,12,11,9,11,11,11,11,13,12,14,13,10,12,12,12,14,14,11,14,12,5,8,8,8,10,10,7,10,10,8,10,10,10,11,12,10,12,12,7,10,9,10,12,12,9,12,10,7,9,10,10,11,12,10,11,11,10,12,12,11,12,14,12,14,14,9,11,11,12,13,14,11,13,11,7,10,9,10,11,12,9,12,11,10,11,12,11,12,14,12,13,13,9,12,9,12,13,12,11,14,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,9,9,6,8,8,10,10,6,8,8,10,10,8,10,10,12,13,8,10,10,13,12,6,8,8,10,10,8,8,9,10,11,8,9,9,11,11,10,10,11,12,13,10,11,11,13,13,6,8,8,10,10,8,9,9,11,11,8,9,8,11,10,10,11,11,13,13,10,11,10,13,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,12,15,13,13,13,15,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,13,13,14,15,12,13,12,15,12,6,8,8,10,11,8,9,10,11,12,8,9,9,11,11,10,11,12,13,14,10,11,11,13,13,8,9,9,11,12,9,10,11,12,13,9,10,10,12,13,11,12,13,13,15,11,12,12,14,14,8,9,9,11,12,9,10,11,12,13,9,10,10,13,12,11,12,13,14,15,11,12,12,14,13,10,11,12,13,14,11,12,13,13,15,12,13,13,14,14,13,13,14,14,16,14,15,14,16,15,10,12,11,14,13,12,12,13,14,14,11,12,12,14,14,14,14,15,15,16,13,14,14,16,14,6,8,8,11,10,8,9,9,11,11,8,10,9,12,11,10,11,11,13,13,10,12,11,14,13,8,9,9,12,11,9,10,10,12,13,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,8,9,9,12,11,9,10,10,13,12,9,11,10,13,12,11,12,12,14,14,11,13,12,15,13,10,11,12,13,14,11,12,13,13,14,12,13,12,14,14,13,13,14,14,16,14,15,14,16,16,10,12,11,14,13,12,13,13,14,14,11,13,12,15,13,14,14,15,16,16,13,14,13,16,14,9,10,11,12,13,11,11,12,13,14,11,11,12,13,14,13,13,14,14,16,13,14,14,15,15,11,11,12,13,14,12,12,13,13,15,12,13,13,14,15,14,14,15,15,17,14,14,15,16,16,11,12,12,13,14,12,12,13,14,15,12,13,12,14,15,14,14,15,15,17,14,15,14,16,16,13,14,14,15,16,14,14,15,15,17,14,15,15,16,16,15,16,17,16,18,16,17,16,17,17,13,14,14,16,15,14,15,15,16,16,14,15,14,16,15,16,16,17,17,18,16,16,16,17,16,9,11,10,13,12,11,12,11,14,13,11,12,11,14,13,13,14,14,16,15,13,14,13,16,14,11,12,12,14,13,12,12,13,14,14,12,13,13,15,14,14,14,15,16,16,14,15,14,17,15,11,12,11,14,13,12,13,13,15,14,12,13,12,15,13,14,15,14,16,16,14,15,14,17,15,13,14,14,15,16,14,14,15,16,16,14,15,15,16,16,15,16,16,16,17,16,16,16,17,17,13,14,14,16,15,14,15,15,17,16,14,15,14,17,15,16,17,17,17,17,16,16,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,11,11,14,13,8,9,9,11,12,9,10,10,12,13,9,10,10,13,12,11,11,12,13,15,11,12,12,15,14,8,9,9,12,11,9,10,11,12,13,9,11,10,13,12,11,12,12,14,15,11,13,12,15,14,10,11,11,13,14,11,12,12,13,14,11,12,12,14,14,13,13,14,14,16,13,14,14,16,15,11,12,11,14,13,12,13,13,14,14,11,13,12,14,13,14,14,15,16,16,13,14,14,16,14,8,9,9,11,12,9,10,10,12,13,9,10,10,13,12,11,12,12,14,15,11,12,12,14,14,9,9,10,11,13,10,10,12,12,14,10,10,11,13,13,12,12,13,14,16,12,12,13,15,15,9,10,10,13,12,10,11,11,13,14,10,12,11,14,13,12,13,13,15,15,12,13,13,15,15,11,11,12,13,15,12,12,13,13,15,12,13,13,14,15,14,14,15,15,17,14,15,15,16,16,11,13,12,15,14,13,13,13,15,15,12,14,13,15,14,15,15,15,16,16,14,15,15,17,15,7,9,9,12,11,9,10,10,12,12,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,9,10,10,12,12,10,10,11,12,13,10,11,11,14,13,12,12,13,14,15,12,13,13,15,14,9,10,10,12,12,10,11,11,13,13,10,11,10,14,12,12,13,13,15,15,12,13,12,15,13,11,12,12,14,14,12,12,13,14,15,12,13,13,15,15,14,13,14,13,16,14,15,15,16,16,11,12,12,14,14,13,13,14,15,15,12,13,12,15,14,15,15,15,16,16,14,15,14,17,14,10,11,12,13,14,11,12,13,14,15,11,12,12,14,15,13,14,15,15,17,14,14,14,16,16,11,12,13,12,15,12,12,14,13,16,13,13,14,13,16,14,14,15,14,17,15,15,15,15,17,11,13,12,15,15,13,13,14,15,16,12,14,13,16,15,15,15,15,17,17,15,15,15,17,16,14,14,15,14,16,14,14,16,14,17,15,15,15,14,17,16,16,17,15,18,17,17,17,16,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,17,17,17,18,18,16,17,16,18,17,10,11,11,14,13,11,12,12,14,14,11,13,12,15,14,14,14,14,16,16,14,15,14,16,15,11,12,12,15,13,12,13,13,15,14,13,14,13,16,14,14,15,15,16,16,15,16,15,17,16,11,13,12,15,14,13,13,14,15,15,12,14,13,16,14,15,15,15,17,17,14,16,15,17,16,14,14,14,16,15,14,15,15,16,16,15,16,15,17,16,16,16,16,16,17,16,17,17,18,17,14,15,15,16,16,15,15,16,17,16,14,15,15,17,16,17,17,17,18,18,16,17,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,12,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,11,10,13,12,11,12,13,14,15,11,12,12,15,14,8,9,9,12,11,9,10,10,12,13,9,10,10,13,12,11,12,12,14,15,11,12,12,14,13,11,11,12,13,14,11,12,13,13,15,12,13,13,14,14,13,14,14,14,16,14,15,14,16,16,10,11,11,14,13,11,12,12,14,14,11,12,12,14,13,13,14,14,15,16,13,14,13,16,14,7,9,9,11,11,9,10,11,12,13,9,10,10,12,12,11,12,13,14,15,11,12,12,14,14,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,13,15,12,13,13,15,15,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,13,13,14,15,12,13,12,15,13,11,12,12,14,14,12,12,13,14,15,13,14,13,15,15,14,13,15,13,16,15,15,15,16,16,11,12,12,14,14,12,13,13,14,15,12,13,12,15,14,14,15,15,16,17,13,14,13,16,13,8,9,9,12,11,9,10,10,12,13,9,10,10,13,12,11,12,12,14,15,11,12,12,15,14,9,10,10,12,13,10,11,12,13,14,10,11,11,14,13,12,13,13,15,15,12,13,13,15,15,9,10,9,13,11,10,11,10,13,13,10,12,10,14,12,12,13,12,15,15,12,13,12,15,14,11,12,13,14,15,12,13,14,14,15,13,13,13,15,15,14,15,15,15,17,15,15,15,16,16,11,12,11,15,13,12,13,13,15,14,12,13,12,16,13,14,15,15,16,16,14,15,14,17,14,10,11,11,13,14,11,12,13,14,15,11,12,12,14,14,14,14,15,15,17,14,14,14,15,16,11,12,13,14,15,12,13,14,14,16,13,14,13,15,15,14,15,16,15,17,15,15,15,17,17,11,12,12,13,15,13,13,14,14,16,12,13,13,14,15,15,15,15,16,17,14,15,15,16,16,14,15,15,16,16,14,15,15,16,17,15,15,16,16,17,16,16,17,16,18,17,17,17,18,18,14,14,15,15,16,15,15,15,16,17,14,15,15,16,16,16,17,17,17,18,16,16,16,17,16,10,11,11,14,13,11,13,12,15,14,11,13,12,15,14,14,15,14,16,16,13,15,14,17,15,11,12,13,15,15,12,13,14,15,16,13,14,13,16,15,15,15,15,16,17,15,15,15,17,16,11,13,11,15,12,13,14,13,16,13,12,14,12,16,13,15,15,15,17,15,14,16,14,17,14,14,15,15,16,17,15,15,16,16,17,15,16,15,17,17,16,16,17,17,18,16,17,17,18,18,14,15,14,17,13,15,16,15,17,15,15,16,15,17,14,16,17,16,18,16,16,17,16,18,15,9,11,11,13,13,10,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,16,16,10,11,12,14,14,11,12,13,14,15,11,13,13,15,15,13,14,14,15,16,14,15,15,16,16,11,12,12,14,14,12,13,13,15,15,12,13,12,15,14,14,15,15,16,16,14,15,14,17,16,12,13,13,15,16,13,13,14,15,16,13,14,14,16,16,14,15,16,16,17,15,16,16,17,17,13,14,14,16,15,14,15,15,17,16,14,15,14,17,15,16,16,17,17,17,16,16,16,18,16,10,11,12,14,14,11,12,13,14,15,11,13,12,15,15,13,14,15,16,16,14,15,15,17,16,11,11,13,14,15,12,12,14,14,16,12,13,14,15,15,14,14,15,16,17,15,15,15,17,17,12,13,12,15,15,13,14,14,16,15,13,14,13,16,15,15,16,15,17,17,15,16,15,17,16,13,12,15,14,16,14,13,15,14,17,14,13,15,15,17,15,14,17,15,18,16,15,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,16,17,17,18,18,16,17,16,18,17,10,11,11,14,14,11,12,12,14,15,11,13,12,15,14,13,14,14,16,16,14,15,14,16,16,11,12,12,14,14,12,12,13,15,15,12,13,13,15,15,14,14,15,16,16,14,15,15,17,16,11,12,12,15,15,13,13,13,15,15,12,13,13,15,15,15,15,15,17,17,14,15,15,17,16,13,14,13,16,15,14,14,14,16,16,14,15,14,17,16,15,15,16,16,17,16,17,16,18,17,14,15,15,16,16,15,15,15,17,17,14,15,15,17,16,16,17,17,18,18,16,17,16,18,16,12,13,13,15,15,13,14,14,16,16,13,14,14,16,16,14,15,16,16,18,15,16,16,17,17,13,13,14,14,16,14,14,15,15,17,14,14,15,15,17,15,15,17,15,18,16,16,17,17,18,13,14,14,16,16,14,15,15,16,17,14,15,15,17,16,16,17,16,17,18,16,17,16,18,17,15,14,16,13,18,16,15,17,14,18,16,15,17,14,18,17,16,18,15,19,17,17,18,16,19,15,16,16,17,17,16,17,17,18,18,16,17,16,18,17,18,18,18,19,18,17,18,17,19,17,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,15,15,16,17,15,16,15,17,16,12,13,13,15,15,13,13,14,15,16,14,15,14,16,15,15,15,16,16,17,16,16,16,18,17,12,13,13,15,15,14,14,15,16,16,13,14,13,16,15,16,16,16,17,17,15,16,15,18,16,15,15,15,17,15,14,15,15,16,16,16,17,16,17,16,16,16,17,16,17,17,18,17,19,18,15,15,16,17,17,16,16,16,17,17,15,16,15,17,16,17,18,18,18,18,16,17,16,18,16,9,11,11,13,13,11,12,12,14,14,10,12,12,14,14,13,14,14,15,16,13,14,14,16,15,11,12,12,14,14,12,12,13,14,15,12,13,13,15,15,14,14,15,16,17,14,15,15,16,16,10,12,11,14,14,11,13,13,15,15,11,13,12,15,14,14,14,15,16,16,13,14,14,16,15,13,14,14,15,16,14,14,15,15,17,14,15,15,16,17,16,16,16,16,18,16,16,17,17,17,12,13,13,16,15,13,14,14,16,16,12,14,13,16,15,15,16,16,17,17,14,16,15,17,16,10,11,11,14,14,11,12,13,14,15,11,12,12,15,14,14,14,15,16,16,13,14,14,16,16,11,12,12,14,15,12,13,14,15,15,13,13,13,15,15,14,15,15,16,17,15,15,15,16,17,11,12,12,14,14,12,13,13,15,15,12,13,12,15,15,14,15,15,16,17,14,15,14,16,16,14,14,15,16,16,14,15,15,16,17,15,16,15,17,17,16,16,17,16,18,16,17,17,18,18,13,13,14,15,16,14,14,15,16,17,14,14,14,16,15,16,16,17,17,18,15,16,15,17,16,10,12,11,14,14,11,13,13,15,15,11,13,12,15,15,14,15,15,16,16,13,15,14,16,16,12,12,13,15,15,13,13,14,15,16,13,14,14,16,15,15,15,16,16,17,15,15,15,17,17,11,13,11,15,14,12,14,13,16,15,12,14,12,16,14,15,15,15,17,17,14,15,14,17,15,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,17,18,16,17,17,18,18,13,14,12,16,14,14,15,13,17,15,14,15,13,17,14,16,17,15,18,17,15,17,14,18,15,11,12,12,14,15,13,13,14,15,16,13,14,13,16,15,15,15,16,16,17,15,15,15,16,16,12,13,13,15,15,13,13,14,15,16,14,15,14,16,16,15,15,16,16,18,16,16,16,18,17,12,13,13,15,15,14,14,15,15,16,13,14,13,15,15,16,16,16,17,18,15,16,15,17,16,15,16,15,17,16,15,15,16,16,17,16,17,16,17,17,16,16,17,16,18,17,18,18,18,18,14,15,15,15,17,16,15,17,16,17,14,15,15,16,16,17,17,18,18,19,16,16,16,17,16,12,13,13,15,15,13,14,14,16,16,13,14,14,16,16,15,16,16,17,17,15,16,15,18,16,13,14,14,16,16,14,15,15,16,17,14,15,15,17,16,16,16,17,17,18,16,17,16,18,18,13,14,13,16,14,14,15,14,17,15,14,15,14,17,14,16,17,16,18,17,15,17,15,18,15,15,16,16,17,18,16,16,17,17,18,16,17,17,17,18,17,17,18,18,19,17,18,18,19,18,15,16,14,17,13,16,17,15,18,14,16,17,15,18,14,18,18,17,19,16,17,18,16,19,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,4,7,7,4,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,6,7,8,8,9,10,8,9,10,8,9,10,10,10,12,10,11,11,8,10,10,10,11,12,10,11,11,6,8,7,8,10,9,8,10,9,8,10,10,10,11,11,10,12,11,8,10,9,10,11,11,10,12,10,5,8,8,8,10,10,8,10,10,7,9,10,9,10,11,9,11,11,8,10,10,10,11,12,10,12,11,7,9,9,9,10,11,9,11,11,9,9,11,10,11,12,11,11,12,9,11,11,11,12,12,11,12,12,7,9,9,10,11,11,10,12,11,9,11,10,11,11,12,11,13,12,10,11,11,12,13,13,11,13,11,5,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,11,7,10,9,9,11,11,9,11,10,7,9,9,10,11,12,10,11,11,10,11,11,11,11,13,12,13,13,9,10,11,11,12,13,11,12,11,7,9,9,9,11,11,9,11,10,9,11,11,11,12,12,11,12,12,9,11,9,11,12,11,10,12,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,9,14,16,17,19,22,22,5,4,6,9,11,13,17,20,9,5,5,6,9,11,15,19,11,7,5,5,7,9,13,17,14,9,7,6,6,7,11,14,16,11,9,7,6,4,4,8,19,15,13,11,9,4,3,4,21,16,16,15,12,6,4,4,2,0,0,0,64,0,0,0,56,145,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,6,0,0,0,0,0,0,0,0,0,40,98,6,0,0,0,0,0,0,0,0,0,80,98,6,0,120,98,6,0,0,0,0,0,0,0,0,0,160,98,6,0,200,98,6,0,0,0,0,0,0,0,0,0,240,98,6,0,24,99,6,0,0,0,0,0,0,0,0,0,64,99,6,0,104,99,6,0,24,99,6,0,0,0,0,0,144,99,6,0,184,99,6,0,56,167,5,0,96,167,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,192,97,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,13,15,16,17,19,20,6,3,4,7,9,10,12,15,13,4,3,4,7,8,11,13,14,7,4,4,6,7,10,11,16,9,7,6,7,8,9,10,16,9,8,7,7,6,8,8,18,12,10,10,9,8,8,9,20,14,13,12,11,8,9,9,5,0,0,0,243,0,0,0,48,144,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,40,145,6,0,0,0,0,0,5,0,0,0,53,12,0,0,224,131,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,24,144,6,0,0,0,0,0,5,0,0,0,243,0,0,0,216,130,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,208,131,6,0,0,0,0,0,5,0,0,0,243,0,0,0,208,129,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,200,130,6,0,0,0,0,0,5,0,0,0,243,0,0,0,200,128,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,192,129,6,0,0,0,0,0,5,0,0,0,53,12,0,0,120,116,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,176,128,6,0,0,0,0,0,5,0,0,0,53,12,0,0,40,104,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,96,116,6,0,0,0,0,0,1,0,0,0,7,0,0,0,0,104,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,8,104,6,0,0,0,0,0,5,0,0,0,243,0,0,0,248,102,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,240,103,6,0,0,0,0,0,5,0,0,0,243,0,0,0,240,101,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,232,102,6,0,0,0,0,0,5,0,0,0,243,0,0,0,232,100,6,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,224,101,6,0,0,0,0,0,5,0,0,0,243,0,0,0,224,99,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,216,100,6,0,0,0,0,0,1,4,5,5,10,10,5,10,10,5,10,10,10,10,10,10,10,10,5,10,10,10,10,10,10,10,10,7,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,6,7,8,6,8,7,6,7,7,7,7,8,7,8,8,6,7,7,7,8,8,7,8,7,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,10,9,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,9,9,10,9,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,9,10,8,9,9,9,10,9,9,10,9,7,8,8,8,9,9,8,9,9,8,8,9,9,9,9,9,9,9,8,9,9,9,10,9,9,9,9,7,9,9,9,9,10,9,10,9,9,9,9,9,9,10,10,10,10,9,9,9,10,10,10,9,10,9,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,9,9,10,9,7,9,9,9,9,10,9,10,9,9,9,9,9,9,10,10,10,10,9,9,9,10,10,10,9,10,9,7,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,9,10,8,9,8,9,9,9,9,10,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,5,7,9,5,9,7,5,7,8,7,7,10,9,10,10,5,8,7,9,10,10,7,10,7,6,9,9,9,10,12,9,11,11,9,10,11,11,11,13,12,13,13,9,11,11,12,13,13,11,13,11,6,9,9,9,11,11,9,12,10,9,11,11,11,11,13,12,13,13,9,11,10,12,13,13,11,13,11,6,9,9,9,11,12,9,12,11,9,10,11,10,10,13,12,13,13,9,11,11,12,13,12,11,13,11,7,9,10,9,10,12,10,12,11,10,10,12,10,10,12,12,12,13,10,11,11,12,12,13,10,12,10,7,10,10,11,11,14,11,14,11,10,12,11,11,11,14,14,14,14,10,11,12,14,14,14,11,14,11,6,9,9,9,11,12,9,12,11,9,11,11,11,11,13,12,12,13,9,11,10,12,13,13,10,13,10,7,10,10,11,11,14,11,14,11,10,12,11,11,11,14,14,15,14,10,11,12,13,14,15,11,14,11,7,10,9,10,11,12,9,12,10,10,11,11,10,10,12,12,13,12,9,12,10,12,13,12,10,12,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,10,10,5,7,8,11,12,5,8,7,12,11,9,11,11,13,15,9,11,11,15,13,6,7,8,11,11,7,7,9,11,13,8,9,9,13,12,11,11,12,12,15,11,12,12,15,14,6,8,7,11,11,8,9,9,12,13,7,9,7,13,11,11,12,12,14,15,11,12,11,15,12,10,11,11,12,14,10,11,12,12,15,12,13,13,14,15,13,12,14,12,16,15,15,15,16,16,10,11,11,14,12,12,13,13,15,14,10,12,11,15,12,15,15,15,16,17,13,14,12,17,12,6,8,8,12,12,8,9,10,13,13,8,9,9,13,13,12,12,13,15,16,12,13,13,16,15,8,9,10,12,13,9,9,11,13,14,10,11,11,14,14,13,13,14,15,16,13,14,14,16,16,8,10,9,13,13,10,11,11,14,14,9,10,10,14,13,13,14,14,16,17,13,13,13,16,15,12,13,13,14,16,13,13,14,14,16,14,14,14,16,16,15,15,16,15,18,16,17,17,18,18,12,13,13,15,15,14,14,14,16,16,13,14,13,16,15,16,16,17,18,18,15,16,15,18,15,6,8,8,12,12,8,9,9,13,13,8,10,9,13,13,12,13,13,15,16,12,13,12,16,15,8,9,10,13,13,9,10,10,13,14,10,11,11,14,14,13,13,13,15,16,13,14,14,17,16,8,10,9,13,13,10,11,11,14,14,9,11,9,14,13,13,14,14,16,16,13,14,13,16,14,12,13,13,15,16,13,13,14,15,16,14,14,14,16,16,15,15,16,15,18,17,17,17,18,18,12,13,13,16,14,14,14,14,16,16,13,14,13,16,14,16,17,17,18,18,15,16,15,18,15,11,12,13,14,16,13,13,14,15,17,13,14,14,16,17,16,16,17,17,19,16,17,17,18,19,13,13,14,16,16,14,14,15,16,17,14,15,15,17,17,17,16,17,17,19,17,17,18,19,19,13,14,14,16,16,14,14,15,17,18,14,15,14,17,17,17,17,18,18,19,17,17,17,18,19,16,16,16,17,18,17,17,17,18,19,17,17,17,18,19,18,18,19,18,20,19,20,19,21,20,16,17,17,18,18,17,17,18,19,19,17,17,17,19,18,19,19,19,19,20,19,19,19,20,19,11,13,12,16,14,13,14,14,17,16,13,14,13,17,15,16,17,17,18,18,16,17,16,19,17,13,14,14,16,16,14,14,14,17,17,14,15,15,17,16,17,17,17,19,19,17,18,17,19,18,13,14,13,17,16,14,15,15,17,17,14,15,14,18,16,17,17,17,19,19,17,17,16,19,17,16,17,17,18,19,17,17,17,18,18,17,18,17,19,18,18,19,18,19,19,19,20,19,20,20,16,17,16,18,17,17,17,17,18,18,17,18,17,19,17,19,19,19,19,20,18,19,19,20,18,6,8,8,12,12,8,9,9,13,13,8,10,9,13,13,11,13,13,15,16,12,13,13,16,15,8,9,9,13,13,9,9,10,13,14,10,11,11,14,14,12,12,13,14,16,13,14,14,17,16,8,10,9,13,13,10,11,11,14,14,9,11,10,14,13,13,14,14,16,16,13,14,13,16,15,12,13,13,14,16,12,13,14,14,16,13,14,14,16,16,15,14,16,15,18,16,17,17,18,17,12,13,13,16,15,14,14,14,16,16,13,14,13,16,15,16,16,17,17,17,15,16,15,18,15,7,9,9,13,13,9,9,11,13,14,9,10,10,14,13,12,13,14,15,16,12,14,13,17,15,9,9,10,13,14,10,9,11,13,15,11,11,11,14,14,13,12,14,14,17,14,14,14,17,16,9,10,10,14,13,11,11,11,14,14,10,11,10,15,13,14,14,14,16,17,13,14,13,17,14,13,13,14,14,16,13,13,14,14,17,14,14,14,16,16,15,14,16,15,18,17,17,17,18,18,13,14,13,16,15,14,14,15,17,16,13,14,13,17,15,17,16,17,17,17,15,16,14,18,14,7,9,9,13,13,9,10,10,13,14,9,11,10,14,13,13,14,14,16,16,13,14,14,17,15,9,10,10,14,13,9,10,11,13,14,11,12,11,15,14,13,13,14,14,16,14,15,15,17,17,9,10,10,14,14,11,12,12,14,15,10,11,10,15,13,14,15,15,17,17],"i8",N3,F.GLOBAL_BASE+410577),E3([14,15,13,17,14,13,14,13,16,16,13,13,14,15,16,14,15,15,17,17,15,14,16,15,18,17,18,17,20,18,13,14,14,16,16,15,15,15,17,17,13,14,13,17,15,17,17,18,18,18,15,16,14,19,14,12,13,13,15,16,13,13,15,16,17,13,14,14,16,16,15,15,17,17,19,16,17,17,19,18,13,13,14,15,17,14,13,15,15,17,14,15,15,16,17,16,15,18,16,19,17,17,17,18,19,13,14,14,17,16,14,15,15,17,17,14,15,14,17,16,17,17,17,18,19,16,17,16,19,17,16,16,17,16,18,16,16,17,16,19,17,17,18,18,19,18,17,18,17,21,19,19,19,20,19,16,17,17,18,18,17,17,18,18,19,16,17,16,18,18,19,19,19,19,20,18,18,17,20,18,11,13,13,16,15,13,14,14,16,17,13,15,14,17,16,16,17,17,18,18,17,17,17,19,18,13,14,13,17,16,14,13,14,16,17,15,16,15,18,16,17,16,17,17,19,18,18,18,20,18,13,14,14,16,17,15,15,15,17,18,14,15,14,18,16,18,18,18,19,20,17,18,16,20,17,16,17,16,18,18,16,16,17,18,18,17,18,18,19,18,18,17,19,17,20,19,20,19,22,20,16,16,17,18,18,18,17,17,19,19,16,17,16,18,17,19,20,19,22,21,18,19,18,21,17,6,8,8,12,12,8,9,10,13,13,8,9,9,13,13,12,13,13,15,16,11,13,13,16,15,8,9,10,13,13,9,10,11,13,14,10,11,11,14,14,13,13,14,15,16,13,14,14,16,16,8,9,9,13,13,10,11,11,14,14,9,10,9,14,13,13,14,14,16,17,12,14,12,16,14,12,13,13,15,16,13,13,14,15,16,13,14,14,15,17,15,15,16,15,18,16,16,17,17,17,12,13,13,16,14,13,14,14,16,16,12,14,13,16,14,16,17,17,18,18,15,15,14,18,14,7,9,9,13,13,9,10,11,13,14,9,10,10,14,13,13,14,14,15,17,13,14,14,16,15,9,10,10,14,14,10,10,11,13,15,11,12,12,15,14,14,13,15,14,17,14,15,15,17,17,9,10,10,13,14,11,11,12,14,15,9,11,10,14,13,14,15,15,16,18,13,14,13,16,14,13,14,14,16,16,13,13,14,15,17,15,15,15,16,17,15,14,16,15,18,17,17,18,19,18,13,14,14,16,16,14,15,15,17,17,13,14,13,16,15,17,17,18,18,18,15,16,14,18,15,7,9,9,13,13,9,10,10,13,14,9,11,10,14,13,12,13,14,15,16,12,14,13,16,15,9,10,10,13,14,10,10,11,13,14,11,11,11,15,14,13,13,14,14,16,14,14,14,17,16,9,10,9,14,13,11,11,11,14,14,10,11,9,15,13,14,14,14,16,16,13,14,12,17,14,13,13,14,15,16,13,13,14,15,16,14,15,14,16,17,15,14,16,14,18,16,17,17,18,18,13,14,13,16,14,14,14,14,16,16,13,14,13,17,14,17,17,17,18,18,15,16,14,18,15,11,13,13,16,16,13,14,15,16,17,13,14,14,17,16,16,17,17,18,19,17,17,17,19,18,13,14,14,17,17,13,13,15,16,18,15,15,15,17,17,17,16,18,17,20,18,17,18,19,19,13,14,14,16,17,15,15,16,16,18,14,15,14,16,16,17,17,18,18,20,17,18,16,18,17,16,17,16,19,18,16,16,17,18,19,18,18,18,19,19,18,17,18,17,21,20,19,19,21,21,16,16,17,18,18,17,17,18,19,19,16,17,16,19,18,20,20,20,19,21,18,18,17,20,18,12,13,13,16,15,13,14,14,16,16,13,14,13,17,16,16,17,17,18,18,15,17,15,19,17,13,14,14,16,17,14,14,15,16,17,14,15,15,17,17,16,16,17,17,18,17,17,17,19,19,13,14,13,17,15,14,15,15,17,16,14,15,13,17,15,17,18,17,19,18,16,17,15,20,16,16,17,17,18,18,16,16,17,18,18,17,18,17,19,18,17,17,18,18,20,19,20,19,20,19,16,16,16,19,16,17,17,17,19,18,16,17,16,19,16,19,19,19,19,19,18,19,17,19,17,11,13,13,16,16,13,14,14,17,17,13,14,14,17,17,15,17,17,19,19,16,18,17,20,19,12,14,14,17,17,13,14,15,17,18,14,15,15,17,18,16,16,17,18,20,17,18,18,20,18,13,14,14,17,17,14,15,15,17,18,14,15,15,17,17,17,18,17,19,19,17,18,17,19,19,15,16,16,18,18,15,16,17,18,19,16,17,17,19,19,17,17,18,18,21,18,19,19,21,19,16,17,17,18,18,17,17,18,19,19,17,18,17,19,19,19,19,19,20,20,18,19,18,21,19,12,13,13,16,16,13,14,14,16,17,13,15,14,17,16,15,16,17,17,19,16,17,17,19,18,13,13,14,16,17,14,13,15,16,17,14,15,15,17,17,15,15,17,17,20,17,17,18,19,18,13,14,14,17,16,15,15,15,17,18,14,15,14,17,16,17,17,17,18,18,16,17,16,19,17,16,15,17,17,19,16,15,17,16,19,17,16,17,18,19,17,16,19,16,20,19,18,19,19,19,16,17,17,18,18,17,17,17,18,19,16,17,16,19,18,20,19,19,20,19,18,18,17,20,17,11,13,13,16,16,13,14,15,16,17,14,15,14,18,16,17,17,17,18,21,17,18,17,20,19,13,14,14,17,16,13,14,15,16,18,15,16,15,18,17,17,16,17,17,19,17,18,18,20,19,13,14,14,16,17,15,15,16,17,18,14,15,14,18,17,17,18,18,19,20,17,18,16,19,17,16,17,15,19,18,16,16,16,18,18,17,18,17,20,19,18,17,18,17,20,20,20,19,22,20,16,17,17,18,19,18,18,18,19,20,16,17,16,19,18,20,19,19,20,20,18,19,17,20,17,13,14,14,16,17,14,14,16,16,18,14,16,15,17,16,16,16,17,17,18,17,17,16,19,18,14,14,15,16,17,14,14,16,16,18,16,16,16,17,17,16,15,17,16,19,18,18,18,19,19,14,15,15,17,17,15,16,16,17,18,14,16,14,18,16,17,17,18,18,19,16,17,16,19,17,16,16,17,16,18,16,16,17,16,19,18,18,18,17,18,17,16,18,16,20,19,19,19,19,19,16,17,17,18,18,17,17,18,19,19,16,17,16,19,17,18,19,19,19,20,17,18,16,20,16,11,14,13,17,17,14,14,16,16,18,14,16,14,19,16,18,18,19,18,19,18,19,18,21,18,13,15,14,18,16,14,14,16,16,18,16,17,16,19,17,18,16,19,17,20,19,19,19,21,19,13,14,15,17,18,17,16,17,17,19,14,16,14,18,16,20,19,19,20,21,18,19,16,21,17,17,18,16,19,17,16,16,17,18,18,19,19,18,21,18,17,17,18,17,20,20,20,20,22,20,17,17,18,18,20,19,19,19,18,20,16,17,17,19,19,21,21,21,20,21,17,19,17,23,17,11,13,13,16,16,13,14,14,17,17,13,14,14,17,17,16,17,17,19,20,15,16,16,19,19,13,14,14,16,17,14,15,15,17,18,14,15,15,17,17,17,17,18,19,19,17,17,18,19,19,13,14,14,17,16,14,15,15,17,17,13,15,14,18,17,17,18,18,19,20,16,17,16,19,18,16,16,17,18,18,17,17,17,18,19,17,18,17,19,19,19,19,19,19,20,19,20,19,20,20,15,16,16,18,17,16,17,17,20,18,15,16,16,19,17,19,19,19,20,20,17,18,17,21,17,11,13,13,16,16,13,14,15,16,17,13,15,14,17,16,17,17,18,18,20,17,17,17,19,19,13,14,14,17,17,14,14,15,17,18,15,15,15,18,17,17,17,18,17,20,18,18,17,20,18,13,14,14,16,17,15,15,16,17,18,14,15,13,17,17,17,18,18,19,20,17,17,16,19,17,16,17,17,18,18,16,16,17,18,18,18,18,18,19,19,18,17,19,18,21,19,20,20,20,20,16,15,17,18,18,17,17,18,18,20,16,16,16,18,17,20,19,20,21,22,17,18,17,20,17,12,13,13,16,16,13,14,15,16,17,13,14,14,17,16,16,17,18,18,19,15,16,16,19,18,13,14,14,16,17,14,14,15,16,17,14,15,15,17,17,16,16,17,17,19,17,17,17,19,18,13,14,13,17,16,14,15,15,17,17,13,15,13,17,16,17,17,17,19,19,15,17,15,19,17,16,17,17,18,18,16,16,17,17,19,17,18,17,19,19,18,17,19,17,19,19,19,19,20,19,15,17,15,19,16,17,17,16,19,18,16,17,15,18,16,19,19,19,20,19,17,19,16,19,16,11,14,14,17,17,15,14,16,16,18,15,16,14,18,16,18,18,19,18,21,18,19,18,20,18,13,15,14,18,17,14,14,16,16,18,16,17,16,19,17,17,17,19,17,22,19,19,19,21,19,13,14,15,17,18,17,16,17,17,19,14,16,14,18,16,19,19,19,20,21,18,18,16,20,17,17,18,16,19,18,15,17,17,19,19,19,19,18,21,19,18,17,20,17,21,22,21,20,21,21,17,16,19,18,20,19,18,19,18,20,16,17,16,19,18,21,20,21,19,23,18,19,16,20,17,13,14,14,17,16,14,14,15,16,18,14,16,14,17,16,16,16,17,17,19,16,17,16,19,17,14,15,15,17,17,14,14,16,16,17,15,16,16,18,17,16,16,17,17,19,17,18,17,19,18,14,15,14,17,16,16,16,16,17,17,14,16,14,17,16,18,18,18,18,19,16,17,15,19,16,17,17,17,18,18,16,15,17,17,18,18,18,18,19,19,17,16,18,16,19,19,19,19,19,19,16,17,16,19,16,18,18,17,19,18,16,17,16,19,16,19,19,20,19,19,17,18,16,20,16,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,6,8,8,10,10,8,9,9,10,11,8,10,9,11,10,9,10,10,11,11,9,10,10,11,11,8,9,9,10,10,9,9,10,11,11,10,10,10,11,11,10,11,11,11,11,10,11,11,11,11,8,9,9,11,10,10,10,10,11,11,9,10,9,11,11,10,11,11,11,11,10,11,10,11,11,10,10,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,10,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,9,10,11,11,10,10,11,11,11,10,10,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,11,11,11,10,10,11,11,12,11,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,10,10,11,11,11,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,8,10,9,11,11,10,10,10,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,10,11,11,10,11,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,10,11,11,11,11,11,12,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,11,12,11,11,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,12,12,12,13,12,10,11,11,12,11,11,11,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,12,13,12,8,10,10,11,11,10,10,11,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,11,11,11,10,10,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,10,11,11,11,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,11,11,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,11,11,12,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,12,13,13,12,13,13,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,13,12,13,12,12,13,13,13,13,12,13,13,13,13,8,10,10,11,11,10,10,11,11,11,9,11,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,11,11,11,10,11,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,9,11,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,12,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,12,13,12,12,13,12,13,12,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,12,13,13,13,12,12,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,12,13,12,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,13,13,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,12,13,12,13,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,12,12,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,13,12,13,12,12,13,13,13,13,12,13,12,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,7,8,5,8,7,5,7,7,7,7,9,7,9,9,5,7,7,8,9,9,7,9,7,6,8,8,8,9,10,8,9,9,8,9,10,9,9,11,10,11,11,8,9,9,10,11,11,9,11,10,6,8,8,8,9,9,8,10,9,8,9,9,9,10,11,10,11,10,8,10,9,10,11,11,9,11,9,6,8,8,7,9,9,8,10,9,7,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,11,10,7,9,9,8,10,10,9,10,10,9,9,10,10,10,11,10,11,11,9,10,10,10,11,11,10,11,10,7,9,9,9,9,10,9,10,9,8,10,9,9,9,11,10,11,11,9,10,10,10,11,11,9,11,9,6,8,8,8,9,10,7,9,9,8,9,9,9,10,10,9,10,10,7,9,9,9,10,10,9,10,9,7,9,9,9,9,10,9,10,9,9,10,10,9,9,11,10,11,11,8,9,10,10,11,11,9,11,9,7,9,9,9,10,10,8,10,10,9,10,10,10,10,11,10,11,11,9,10,9,10,11,11,10,11,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,7,7,6,7,7,6,7,7,6,7,7,7,8,8,7,8,8,6,7,7,7,8,8,7,8,8,7,7,8,7,8,8,7,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,7,7,8,8,7,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,6,8,8,7,8,8,7,8,8,7,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,9,8,9,9,8,8,9,8,9,9,9,9,9,8,9,9,9,9,9,9,9,9,7,8,8,8,9,9,8,9,8,8,8,8,8,9,9,9,9,9,8,9,8,9,9,9,9,9,9,6,8,8,7,8,8,7,8,8,8,8,8,8,8,9,8,9,9,7,8,8,8,9,9,8,9,8,7,8,8,8,8,9,8,9,8,8,8,9,9,9,9,9,9,9,8,8,8,9,9,9,8,9,9,7,8,8,8,9,9,8,9,8,8,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,5,7,8,5,8,7,5,7,8,8,8,10,8,10,10,5,8,7,8,10,10,8,10,8,6,8,9,8,10,12,9,11,11,9,10,11,11,11,13,12,13,13,9,11,11,11,13,13,11,13,12,6,9,8,9,11,11,8,12,10,9,11,11,11,12,13,11,13,13,9,11,10,11,13,13,11,13,11,5,9,9,8,11,11,9,12,11,8,10,11,10,11,13,11,13,13,9,11,11,11,13,13,11,13,12,8,10,11,10,12,13,10,13,12,10,10,13,11,11,14,12,13,14,11,13,12,13,14,14,12,14,12,8,11,10,11,12,13,11,14,12,10,13,12,12,12,13,13,15,14,11,12,13,13,14,15,12,14,12,5,9,9,9,11,12,8,11,11,9,11,11,11,12,13,11,13,13,8,11,10,11,13,13,10,13,11,8,10,11,11,12,14,11,13,12,11,13,12,12,12,14,13,15,14,10,12,13,13,14,15,12,13,12,8,11,10,10,12,13,10,13,12,11,12,13,12,12,14,13,14,14,10,13,10,12,14,13,11,14,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,9,9,6,7,8,10,10,6,8,7,10,10,8,10,10,12,13,8,10,10,13,12,6,8,8,10,10,7,8,9,10,11,8,9,9,11,11,10,10,11,12,13,10,11,11,14,13,6,8,8,10,10,8,9,9,11,11,7,9,8,11,10,10,11,11,13,14,10,11,10,13,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,12,15,13,14,13,15,14,9,10,10,13,12,10,11,11,13,13,10,11,10,13,12,13,13,14,14,15,12,13,12,15,12,6,8,8,10,11,8,9,10,11,12,8,9,9,11,11,10,11,12,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,10,11,12,13,11,11,13,13,15,11,12,12,14,14,8,9,9,12,12,9,10,11,12,13,9,10,10,13,12,11,12,13,14,15,11,12,12,14,14,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,13,13,14,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,14,14,11,13,12,14,13,14,15,15,16,16,13,14,14,16,14,6,8,8,11,10,8,9,9,12,11,8,10,9,12,11,10,11,11,13,13,10,12,11,14,13,8,9,9,12,12,9,10,10,12,13,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,8,9,9,12,11,9,10,10,13,12,9,11,10,13,12,12,12,12,14,14,11,13,12,15,13,11,11,12,13,14,11,12,13,13,14,12,13,13,14,15,13,13,14,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,15,13,14,15,15,16,16,13,15,13,16,14,9,10,11,12,13,11,11,12,13,14,11,12,12,13,14,13,13,14,14,16,13,14,14,15,16,11,11,12,13,14,12,12,13,14,15,12,13,13,14,15,14,14,15,15,17,14,15,15,16,17,11,12,12,14,14,12,13,13,14,15,12,13,12,15,15,14,15,15,16,17,14,15,15,16,16,13,14,14,15,16,14,14,15,15,17,15,15,15,16,17,16,16,17,16,18,16,17,17,18,18,13,14,14,16,15,14,15,15,17,16,14,15,15,16,16,16,17,17,18,18,16,16,16,17,16,9,11,10,13,12,11,12,12,14,13,11,12,11,15,13,13,14,14,16,15,13,14,13,17,14,11,12,12,14,14,12,12,13,15,15,12,13,13,15,14,14,14,15,16,16,14,15,15,17,16,11,12,11,14,13,12,13,13,15,14,12,13,12,15,13,14,15,15,16,16,14,15,14,17,15,13,14,14,15,16,14,15,15,16,17,14,15,15,16,17,16,16,16,17,17,16,17,17,18,18,13,15,14,16,15,15,15,15,17,16,14,15,14,17,15,16,17,17,18,18,16,17,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,12,11,14,13,7,9,9,11,12,9,10,10,12,13,9,10,10,13,12,11,11,12,13,15,11,12,12,15,14,8,9,9,12,11,9,10,10,13,13,9,11,10,13,12,12,12,12,14,15,11,13,12,15,13,10,11,11,13,14,11,12,12,13,15,11,12,12,14,14,13,13,14,14,16,14,15,14,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,15,13,14,15,15,16,16,13,14,14,16,14,8,9,9,11,12,9,10,11,12,13,9,10,10,13,12,11,12,13,14,15,11,12,12,15,14,9,9,11,11,13,10,10,12,12,14,10,10,11,13,14,12,12,13,14,16,12,13,13,15,15,9,11,10,13,12,10,11,11,13,14,10,12,11,14,13,12,13,13,15,16,12,13,13,15,15,11,11,13,13,15,12,12,14,13,15,13,13,14,14,15,14,14,15,14,17,15,15,15,16,16,12,13,12,15,14,13,14,14,15,15,12,14,13,15,14,15,15,15,17,17,14,15,14,17,15,7,9,9,12,11,9,10,10,12,12,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,9,10,10,12,12,10,10,11,12,13,10,11,11,14,13,12,12,13,14,15,12,13,13,16,15,9,10,10,13,12,10,11,11,13,13,10,11,10,14,12,13,13,13,15,15,12,13,12,15,14,11,12,12,14,14,12,12,13,14,15,13,14,13,15,15,14,13,15,14,16,15,16,15,17,16,12,12,12,14,14,13,13,14,15,15,12,13,12,15,14,15,15,16,16,17,14,15,14,17,14,10,11,12,13,14,11,12,13,14,15,11,12,13,14,15,13,14,15,15,17,14,15,15,16,16,11,12,13,12,15,12,12,14,13,16,13,13,14,13,16,14,14,16,14,18,15,15,16,16,17,12,13,12,15,15,13,14,14,15,16,13,14,13,16,15,15,15,16,17,18,15,15,15,17,16,14,14,15,14,17,15,14,16,14,17,15,15,16,15,18,16,16,17,16,19,17,17,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,18,16,17,17,18,18,18,16,17,16,18,17,10,11,11,14,13,11,12,12,15,14,11,13,12,15,14,14,15,15,16,16,14,15,15,17,16,11,12,12,15,14,12,13,13,15,14,13,14,13,16,14,14,15,15,16,16,15,16,15,18,16,11,13,12,15,15,13,14,14,15,15,12,14,13,16,15,15,16,16,17,17,15,16,15,17,16,14,15,14,16,16,14,15,15,16,16,15,16,15,17,16,16,16,17,16,17,17,18,17,19,18,14,15,15,17,16,15,16,16,17,17,15,15,15,18,16,17,18,18,18,18,16,17,16,19,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,12,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,10,10,13,13,11,12,13,13,15,11,12,12,15,14,7,9,9,12,11,9,10,10,12,13,9,10,10,13,12,11,12,12,14,15,11,12,11,14,13,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,13,14,14,14,16,14,15,15,16,16,10,11,11,14,13,11,12,12,14,14,11,12,12,15,13,14,14,14,16,16,13,14,13,16,14,7,9,9,11,12,9,10,10,12,13,9,10,10,12,12,11,12,13,14,15,11,12,12,14,14,9,10,10,12,13,10,10,11,12,14,10,11,11,13,13,12,12,13,14,15,13,13,13,15,15,9,10,10,12,12,10,11,11,13,14,10,11,10,13,12,12,13,13,15,16,12,13,12,15,14,11,12,13,14,14,12,12,13,14,15,13,14,13,15,15,14,14,15,14,17,15,16,15,17,16,11,12,12,14,14,13,13,13,15,15,12,13,12,15,14,15,15,15,16,17,14,15,14,16,14,8,9,9,12,11,9,10,10,12,13,9,11,10,13,12,11,12,12,14,15,11,12,12,15,14,9,10,11,13,13,10,11,12,13,14,10,11,11,14,13,12,13,13,15,15,12,13,13,16,15,9,11,9,13,11,10,11,10,14,13,10,12,10,14,12,12,13,13,15,15,12,13,12,16,14,12,12,13,14,15,12,13,14,14,16,13,14,14,15,15,14,14,15,15,17,15,16,15,17,16,11,13,11,15,13,13,14,13,15,14,12,14,12,16,13,15,15,15,16,16,14,15,14,17,14,10,11,11,13,14,11,12,13,14,15,11,12,12,14,15,14,14,15,16,17,14,15,15,16,16,11,12,13,14,15,12,13,14,15,16,13,14,14,15,16,15,15,16,16,18,15,16,16,17,17,11,12,12,14,15,13,13,14,14,16,12,13,13,15,15,15,15,16,16,18,14,15,15,16,16,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,16,19,17,18,17,18,18,14,14,15,16,16,15,15,16,16,17,14,15,15,16,16,17,17,18,18,19,16,17,16,17,16,10,12,11,14,13,11,13,12,15,14,11,13,12,15,14,14,15,15,16,16,13,15,14,17,15,12,13,13,15,15,13,13,14,15,16,13,14,14,16,16,14,15,15,17,17,15,16,16,17,17,11,13,12,15,12,13,14,13,16,13,12,14,12,16,13,15,16,15,17,16,14,16,14,18,14,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,17,18,17,18,17,18,18,14,15,14,17,14,15,16,15,18,15,15,16,15,18,14,17,17,17,18,17,16,17,16,19,16,9,11,11,13,13,10,12,12,14,14,11,12,12,15,14,13,14,14,16,16,13,14,14,16,16,10,11,12,14,14,11,12,13,14,15,12,13,13,15,15,13,14,15,16,16,14,15,15,17,16,11,12,12,15,14,12,13,13,15,15,12,13,12,15,15,14,15,15,16,17,14,15,14,17,16,12,13,14,15,16,13,13,14,15,16,13,14,15,16,16,14,15,16,16,18,15,16,16,18,18,13,14,14,16,15,14,15,15,17,16,14,15,15,17,16,16,17,17,18,18,16,17,16,18,17,10,12,12,14,14,11,12,13,15,15,12,13,13,15,15,13,14,15,16,17,14,15,15,17,16,11,11,13,14,15,12,12,14,15,16,13,13,14,15,16,14,14,15,16,17,15,15,16,17,17,12,13,12,15,15,13,14,14,16,16,13,14,13,16,15,15,16,15,17,17,15,16,15,18,16,13,12,15,14,17,14,13,16,14,17,14,14,16,15,18,15,14,17,16,18,16,16,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,18,16,17,17,17,18,18,16,17,16,19,17,10,11,11,14,14,11,12,12,15,15,11,13,12,15,15,14,15,14,16,16,14,15,15,17,16,11,12,12,15,14,12,12,13,15,15,13,14,13,16,15,14,15,15,16,16,15,16,15,18,17,11,13,12,15,15,13,14,13,15,15,12,14,13,16,15,15,16,15,17,17,15,16,15,18,16,13,14,13,16,16,14,15,14,16,16,14,15,15,17,16,16,16,16,16,18,16,18,17,19,18,14,15,15,17,16,15,16,16,17,17,15,15,15,17,16,17,17,18,18,19,16,17,16,18,16,12,13,13,15,16,13,14,14,16,17,13,14,14,16,16,15,15,16,17,18,15,16,16,18,17,13,13,14,14,17,14,14,15,15,17,14,14,15,16,17,15,15,17,16,18,16,17,17,18,18,13,14,14,17,16,14,15,15,17,17,14,15,14,17,16,16,17,17,18,18,16,17,16,18,17,15,14,16,13,18,16,15,17,14,19,16,16,17,15,18,17,16,18,15,19,18,18,18,17,19,15,16,16,18,17,16,17,17,18,18,16,17,16,19,17,18,19,18,19,19,17,18,17,20,18,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,16,16,17,17,15,16,16,18,17,12,14,13,16,15,13,13,14,15,16,14,15,14,17,16,16,16,16,16,17,16,17,17,19,17,12,13,14,16,16,14,15,15,16,17,13,15,13,17,15,16,17,17,18,18,16,17,16,18,16,15,16,15,17,16,15,15,15,17,17,16,17,16,18,17,17,16,17,16,18,18,19,18,20,18,15,16,16,17,17,16,17,17,18,18,15,16,15,18,17,18,18,19,19,19,17,18,16,19,16,9,11,11,13,13,11,12,12,14,15,10,12,12,14,14,13,14,14,16,16,13,14,14,16,16,11,12,12,14,14,12,12,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,16,10,12,11,14,14,12,13,13,15,15,11,13,12,15,14,14,15,15,16,17,13,15,14,17,16,13,14,14,15,16,14,15,15,16,17,14,15,15,16,17,16,16,17,17,18,16,17,17,18,18,12,14,13,16,15,13,15,14,17,16,13,14,13,17,15,15,16,16,18,18,15,16,15,18,16,10,11,11,14,14,11,12,13,14,15,11,12,12,15,15,14,15,15,16,17,14,15,15,16,16,11,12,13,15,15,12,13,14,15,16,13,14,14,15,16,15,15,16,16,18,15,15,16,17,17,11,12,12,14,15,13,13,14,15,16,12,13,13,15,15,15,15,16,17,18,14,15,15,17,16,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,16,19,17,17,18,19,18,13,13,14,16,16,14,15,16,17,17,14,14,15,16,16,16,16,17,18,18,16,16,16,18,16,10,12,12,14,14,12,13,13,15,15,11,13,12,15,15,14,15,15,16,17,13,15,14,17,16,12,13,13,15,15,13,13,14,15,16,13,14,14,16,16,15,15,16,17,18,15,15,16,17,17,11,13,12,15,14,13,14,13,16,15,12,14,12,16,14,15,16,15,17,17,14,16,14,17,16,14,15,15,16,17,15,15,16,16,18,15,16,16,17,17,16,17,17,17,19,17,17,17,18,18,13,15,12,17,14,14,16,14,17,15,14,15,13,17,14,16,17,16,18,17,15,17,14,19,15,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,16,16,17,18,15,16,16,17,17,12,14,13,16,16,13,13,15,15,17,14,15,15,17,16,16,16,17,16,19,16,17,17,18,18,12,13,14,15,16,14,14,15,16,17,13,14,13,16,15,16,17,17,18,19,15,16,16,17,16,15,16,16,18,17,15,15,16,17,18,16,17,17,18,18,16,16,18,16,19,18,19,19,20,19,15,15,16,16,17,16,16,17,17,18,15,15,15,17,16,18,18,19,18,20,17,17,16,18,16,12,13,13,16,15,13,14,14,16,16,13,14,14,16,16,15,16,16,17,18,15,16,15,18,17,13,14,14,16,16,14,15,15,16,17,14,15,15,17,17,16,17,17,18,18,16,17,17,18,18,13,14,13,17,14,14,15,14,17,16,14,15,14,17,15,16,17,17,18,18,15,17,15,19,15,16,16,16,17,18,16,16,17,17,19,16,17,17,18,19,17,17,18,18,20,18,18,18,19,19,15,16,14,18,13,16,17,16,19,15,16,17,15,19,14,18,18,18,19,17,17,18,16,20,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,7,7,5,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,5,7,8,8,9,10,8,9,9,8,9,10,9,10,12,10,11,11,8,9,10,10,11,11,9,11,11,5,8,7,8,9,9,8,10,9,8,10,9,9,11,11,10,11,11,8,10,9,10,11,11,9,12,10,5,8,8,7,9,10,8,10,9,7,9,9,9,10,11,9,11,11,8,10,10,10,11,11,10,12,11,7,9,9,9,10,11,9,11,11,9,9,11,10,10,13,11,11,12,9,11,11,11,12,13,11,13,12,7,9,9,9,11,11,9,12,10,9,11,10,10,11,12,11,13,12,9,11,11,11,13,13,11,13,11,5,8,8,8,9,10,7,10,9,8,10,10,10,11,11,10,11,11,7,9,9,9,11,11,9,11,10,7,9,9,9,10,12,9,11,11,9,11,11,11,11,13,11,13,13,9,10,11,11,12,13,10,12,11,7,9,9,9,11,11,9,11,10,9,11,11,11,12,13,11,13,12,9,11,9,11,12,11,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,8,13,15,16,18,21,22,5,4,6,8,10,12,17,21,9,5,5,6,8,11,15,19,11,6,5,5,6,7,12,14,14,8,7,5,4,4,9,11,16,11,9,7,4,3,7,10,22,15,14,12,8,7,9,11,21,16,15,12,9,5,6,8,2,0,0,0,64,0,0,0,8,198,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,150,6,0,0,0,0,0,0,0,0,0,248,150,6,0,0,0,0,0,0,0,0,0,32,151,6,0,72,151,6,0,0,0,0,0,0,0,0,0,112,151,6,0,152,151,6,0,0,0,0,0,0,0,0,0,192,151,6,0,232,151,6,0,0,0,0,0,0,0,0,0,16,152,6,0,56,152,6,0,232,151,6,0,0,0,0,0,96,152,6,0,136,152,6,0,232,147,6,0,16,148,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,144,150,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,136,150,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,147,6,0,152,147,6,0,0,0,0,0,0,0,0,0,192,147,6,0,232,147,6,0,16,148,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,160,149,6,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,80,150,6,0,0,0,0,0,2,0,0,0,25,0,0,0,104,149,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,149,6,0,0,0,0,0,2,0,0,0,9,0,0,0,72,149,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2],"i8",N3,F.GLOBAL_BASE+420817),E3([0,0,0,0,0,0,0,88,149,6,0,0,0,0,0,1,0,0,0,25,0,0,0,192,148,6,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,224,148,6,0,0,0,0,0,1,0,0,0,25,0,0,0,56,148,6,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,88,148,6,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,2,3,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,14,14,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,4,4,5,5,4,5,5,5,5,4,5,4,4,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,8,8,10,10,10,10,9,8,11,11,4,6,5,8,6,10,10,10,10,10,9,10,9,4,5,6,6,9,10,10,10,10,9,10,9,10,8,9,8,9,8,9,9,10,9,11,10,12,10,8,8,9,8,9,9,9,9,10,10,11,10,12,9,10,10,11,10,11,10,12,11,12,11,13,11,9,10,10,10,11,10,11,11,12,11,12,11,12,11,12,12,12,12,13,12,13,12,13,12,13,13,11,12,12,12,12,12,12,12,13,13,13,13,13,12,12,12,13,13,13,13,13,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,12,13,13,13,14,14,13,13,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,7,12,14,14,16,18,19,6,2,4,6,8,9,12,14,12,3,3,5,7,8,11,13,13,6,4,5,7,8,10,11,14,8,7,7,7,7,9,10,15,9,8,7,7,6,8,9,17,11,11,10,9,8,9,9,19,14,13,11,10,9,9,9,5,0,0,0,243,0,0,0,0,197,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,248,197,6,0,0,0,0,0,5,0,0,0,53,12,0,0,176,184,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,196,6,0,0,0,0,0,5,0,0,0,243,0,0,0,168,183,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,160,184,6,0,0,0,0,0,5,0,0,0,243,0,0,0,160,182,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,152,183,6,0,0,0,0,0,5,0,0,0,243,0,0,0,152,181,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,144,182,6,0,0,0,0,0,5,0,0,0,53,12,0,0,72,169,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,128,181,6,0,0,0,0,0,5,0,0,0,53,12,0,0,248,156,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,48,169,6,0,0,0,0,0,1,0,0,0,7,0,0,0,208,156,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,216,156,6,0,0,0,0,0,5,0,0,0,243,0,0,0,200,155,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,192,156,6,0,0,0,0,0,5,0,0,0,243,0,0,0,192,154,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,184,155,6,0,0,0,0,0,5,0,0,0,243,0,0,0,184,153,6,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,176,154,6,0,0,0,0,0,5,0,0,0,243,0,0,0,176,152,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,168,153,6,0,0,0,0,0,1,7,7,6,9,9,7,9,9,6,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,5,7,8,5,8,7,6,7,7,7,7,8,8,8,8,6,7,7,7,8,8,7,8,7,6,8,8,8,9,10,8,9,9,8,9,9,9,9,10,10,10,10,8,9,9,10,10,10,9,10,10,6,8,8,8,9,9,8,10,9,9,9,9,9,9,10,10,10,10,8,9,9,10,10,10,9,10,9,6,8,9,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,10,9,7,8,9,8,9,9,9,9,9,8,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,7,9,9,9,10,10,9,10,10,9,10,9,9,9,10,10,10,10,9,10,9,10,10,10,9,10,9,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,10,9,7,9,9,9,10,10,9,10,9,9,9,10,10,9,10,10,10,10,9,9,9,10,10,10,9,10,9,7,9,8,8,9,9,8,9,9,9,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,5,7,9,5,9,7,5,7,8,7,7,10,9,9,10,5,8,7,9,10,9,7,10,7,6,9,9,9,10,12,10,12,11,9,10,11,11,10,13,12,12,13,10,11,11,12,13,13,11,13,11,6,9,9,10,11,12,9,12,11,10,11,11,11,11,13,12,13,13,9,11,10,12,13,13,11,13,10,6,9,10,9,11,12,10,12,11,9,10,11,10,10,13,11,13,13,10,11,11,12,13,12,11,13,11,7,9,10,9,10,12,10,11,11,10,10,11,10,10,12,12,11,12,10,11,10,12,12,12,10,12,10,7,10,10,11,11,13,11,13,11,10,12,11,11,10,13,13,14,13,10,11,12,13,13,14,11,13,10,6,10,9,10,11,12,9,12,11,9,11,11,11,11,13,12,12,13,9,11,10,12,13,13,10,13,10,7,10,10,11,11,14,11,13,11,10,12,11,11,10,14,13,14,13,10,11,12,13,13,14,11,13,10,7,10,9,10,10,12,9,12,10,10,11,11,10,10,12,12,12,12,9,11,10,11,12,12,10,12,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,1,6,6,10,10,6,7,9,11,13,5,9,7,13,11,8,11,12,13,15,8,12,11,15,13,6,7,8,11,11,7,8,10,11,13,9,10,10,13,13,11,11,13,12,16,12,13,13,16,15,6,8,7,11,11,9,10,10,13,13,7,10,7,13,11,12,13,13,15,16,11,13,11,16,12,10,11,11,11,13,11,11,13,12,15,13,13,13,14,15,13,12,15,12,17,15,16,16,16,16,10,11,11,14,11,13,13,13,15,14,11,13,11,15,12,15,15,16,16,16,13,15,12,17,12,6,8,9,12,12,9,10,12,13,15,9,11,11,15,14,12,13,15,16,18,13,14,14,17,16,9,10,11,13,14,11,10,13,14,16,11,12,12,15,15,14,13,16,15,18,14,15,15,17,17,9,11,11,14,14,11,12,13,15,16,11,13,11,15,14,15,15,15,17,18,14,15,14,17,15,13,14,14,15,16,14,14,15,15,17,15,16,15,17,17,16,16,17,15,19,17,18,18,19,18,13,14,14,16,15,15,15,16,17,17,14,15,14,18,15,17,17,17,19,19,16,17,15,19,16,6,9,8,13,12,9,11,11,14,15,9,12,10,15,13,13,14,14,16,17,12,15,13,18,16,9,11,11,14,14,11,11,13,14,15,11,13,12,16,15,14,14,15,15,18,14,15,15,18,17,9,11,10,14,13,11,12,12,15,15,11,13,10,16,14,14,15,15,16,18,14,16,13,18,15,13,14,14,16,16,14,14,15,15,17,15,16,15,17,17,16,16,17,16,19,17,18,17,18,19,13,14,14,16,15,15,15,15,17,17,14,15,14,17,15,17,17,17,18,19,16,17,15,19,15,11,13,13,15,16,13,14,15,16,18,14,15,15,17,17,16,16,18,18,20,17,18,17,19,20,13,14,14,16,17,15,15,16,17,18,15,16,16,17,17,18,17,19,18,19,18,18,18,19,21,14,14,15,16,17,15,15,16,18,18,15,16,16,17,18,18,18,19,19,21,18,19,19,22,20,16,16,17,17,19,17,17,17,18,20,17,18,18,20,19,19,19,20,19,0,19,19,20,20,21,17,17,17,19,18,18,18,20,19,19,18,18,18,20,20,19,19,20,20,20,20,21,20,21,19,11,13,13,16,15,14,15,15,17,17,14,15,14,18,16,16,18,18,20,19,16,19,17,21,18,13,14,15,16,17,15,15,16,18,18,15,16,15,19,18,18,18,18,19,19,18,18,18,22,20,13,14,14,16,16,15,16,16,18,17,15,16,15,18,17,18,18,18,19,19,17,18,17,21,18,16,17,17,18,18,17,18,19,19,19,18,20,18,19,19,19,20,21,19,21,20,20,20,0,21,16,17,17,19,19,18,18,18,19,21,17,18,18,19,18,20,19,21,20,21,19,20,20,22,19,7,9,9,13,13,8,10,11,14,15,9,12,11,15,14,11,13,14,16,17,13,15,14,17,16,8,10,11,14,14,10,10,12,14,16,11,12,12,16,15,13,12,15,15,18,14,15,15,19,17,9,11,11,14,14,11,12,12,15,15,11,13,11,16,14,14,15,14,17,17,14,16,14,18,15,12,13,14,15,16,13,13,15,14,17,15,15,15,17,17,15,14,17,14,19,17,18,18,19,18,13,14,14,16,16,15,15,15,17,17,14,15,14,18,15,17,18,17,18,17,16,18,16,19,15,7,10,10,13,13,9,10,12,14,15,10,12,11,15,14,12,13,14,16,17,13,15,14,18,16,10,10,12,13,14,10,10,13,13,16,12,12,13,15,15,13,12,15,15,18,15,15,16,18,17,10,11,11,14,14,12,13,13,15,16,10,13,10,16,14,14,15,15,17,17,14,15,13,17,15,13,13,14,15,16,14,13,15,14,18,15,15,16,16,17,16,15,18,15,18,17,18,18,18,18,13,15,14,17,16,15,16,16,17,17,14,15,13,17,15,17,17,18,18,18,16,17,14,20,14,8,10,10,14,14,11,11,13,14,16,11,13,11,16,14,14,15,16,16,18,14,16,15,18,16,10,12,11,15,14,11,11,13,14,16,13,14,13,16,15,15,14,16,15,19,16,17,16,20,18,10,11,12,14,15,13,13,14,16,16,11,14,11,16,14,16,16,17,18,19,15,17,14,20,15,14,15,14,17,16,13,14,15,15,18,16,17,16,19,18,16,15,18,15,19,18,19,18,21,21,14,14,15,16,17,16,16,17,18,18,13,15,14,17,15,18,18,19,18,22,16,18,15,21,15,12,13,14,16,16,14,14,16,16,18,14,15,15,17,18,16,16,18,18,20,18,18,17,20,20,13,14,15,15,17,15,14,16,16,18,16,16,16,17,19,17,15,18,17,21,18,18,18,19,19,14,15,15,18,17,15,16,16,18,19,15,16,15,18,18,17,18,18,20,21,17,19,17,20,19,16,16,17,16,19,17,17,18,17,20,18,18,18,18,19,19,18,20,17,22,20,20,19,20,20,17,17,18,18,19,18,18,20,21,20,17,18,17,20,20,21,21,21,21,21,19,21,18,22,20,11,13,13,17,16,14,14,16,16,18,14,16,14,18,16,17,18,19,19,20,18,19,18,21,19,14,15,14,17,16,14,14,16,18,18,16,17,16,18,17,18,17,19,18,20,19,19,18,20,20,13,14,15,16,17,16,16,17,18,19,14,16,14,19,17,18,19,18,20,20,18,20,17,21,18,17,17,17,19,18,16,17,18,18,19,18,19,18,21,21,18,18,20,17,21,19,20,20,22,21,16,17,18,18,19,18,18,19,21,20,16,17,17,20,18,21,21,22,21,22,18,21,18,0,18,7,9,9,13,13,9,11,12,14,15,8,11,10,15,14,13,14,15,16,18,11,14,13,17,15,9,11,11,14,14,11,11,13,14,16,11,12,12,15,15,14,14,16,15,18,14,14,15,17,17,8,11,10,14,14,11,12,12,15,15,10,12,10,16,14,14,15,15,17,18,13,15,12,18,15,13,14,14,16,16,14,14,15,15,17,15,15,15,16,17,16,15,17,15,19,17,17,17,18,18,12,14,13,16,15,15,15,15,17,17,13,15,13,17,14,17,18,18,18,19,15,17,14,19,14,8,10,10,14,14,11,11,13,14,16,11,13,11,16,14,14,15,16,17,19,14,16,15,18,17,10,12,11,15,14,11,11,14,14,17,13,14,13,17,15,15,14,17,15,19,16,17,16,19,17,10,11,12,14,15,13,13,14,15,17,11,13,11,17,14,16,16,17,18,19,15,16,14,18,15,14,15,14,16,16,13,14,15,15,18,16,16,16,18,18,16,15,18,15,20,18,19,18,21,18,14,14,15,16,17,16,16,17,17,18,13,15,14,17,16,19,19,19,19,19,15,18,15,20,15,7,10,10,13,13,10,11,12,14,15,9,12,10,15,14,13,14,15,16,17,12,15,13,17,16,10,11,11,14,14,10,10,13,14,16,12,13,13,16,15,14,13,16,15,18,15,15,16,17,17,10,12,10,14,13,12,13,12,15,15,10,13,10,16,13,15,16,15,17,18,13,16,12,18,15,13,14,14,16,17,14,13,15,15,18,15,16,15,17,17,16,14,17,15,19,17,18,18,19,19,13,15,13,17,14,15,15,15,18,17,14,15,13,17,14,18,17,18,18,19,15,17,15,19,15,11,13,13,16,17,14,14,16,16,18,14,16,15,18,17,17,18,19,18,21,18,18,17,20,18,13,15,14,17,16,14,14,16,17,18,16,17,16,19,17,18,17,19,18,22,18,19,19,21,21,13,14,15,16,18,16,16,17,17,20,14,16,14,18,17,18,18,19,19,21,17,18,17,21,18,17,18,17,19,18,16,17,17,18,19,18,18,18,22,22,18,17,19,17,0,20,21,19,21,20,17,17,18,18,21,18,18,18,19,21,17,17,17,19,19,20,20,22,21,21,19,20,18,20,17,12,14,13,17,16,14,15,15,17,18,14,16,14,18,16,17,18,18,21,20,16,18,16,21,18,14,15,15,17,17,15,15,16,18,18,15,17,16,18,18,17,17,19,19,20,18,19,18,20,19,14,15,14,17,15,15,16,16,18,17,15,16,14,19,15,18,18,18,19,20,17,20,15,21,17,16,17,18,18,19,17,17,18,18,20,18,19,18,19,21,19,18,19,19,21,20,0,19,21,20,16,17,16,19,16,18,18,18,19,19,17,18,17,20,17,19,20,20,22,0,19,20,17,21,17,11,13,14,16,17,14,15,15,17,18,14,15,15,18,18,16,17,17,19,20,16,18,17,19,21,13,14,15,17,17,14,15,16,17,19,15,16,16,18,19,16,17,18,19,21,17,18,20,21,21,13,15,15,17,17,15,16,16,18,19,15,16,16,18,19,17,17,18,19,22,17,19,18,22,19,15,16,17,19,19,16,17,18,18,20,17,18,18,19,20,19,18,20,18,22,20,19,19,22,21,16,17,17,18,19,18,18,18,19,20,17,18,18,20,19,20,19,20,22,20,19,20,21,21,20,12,14,14,16,16,13,14,16,17,18,14,16,15,18,18,15,17,17,19,19,17,18,18,19,19,13,14,15,16,17,14,14,16,16,20,15,16,16,17,19,16,15,18,17,20,18,17,19,19,19,14,15,15,17,17,16,16,16,18,18,15,16,15,19,18,17,18,18,20,21,17,18,17,21,18,16,15,17,17,19,17,15,18,17,20,19,17,18,19,20,18,16,19,17,22,20,19,20,19,20,17,17,18,19,19,18,18,19,20,20,17,18,17,18,18,21,21,20,20,21,18,20,17,21,19,11,14,14,16,17,15,14,16,17,19,14,16,14,18,17,18,18,19,19,21,17,19,18,20,20,13,15,14,17,17,14,14,16,17,18,16,17,16,19,18,18,17,19,18,20,18,21,18,20,20,13,15,15,16,17,16,16,17,18,19,14,16,15,19,18,19,19,19,21,20,18,19,17,20,18,16,17,16,19,18,16,17,17,19,20,17,19,18,20,19,18,17,21,18,0,21,20,20,0,20,17,17,18,18,19,18,19,19,20,22,16,17,17,20,18,21,22,20,20,22,18,22,18,22,18,12,14,14,17,17,14,15,16,17,19,14,16,15,17,17,17,17,18,18,21,17,19,17,20,19,14,15,15,16,18,15,14,16,16,19,16,17,16,19,18,17,16,20,17,20,18,20,19,19,20,14,15,15,18,17,16,16,17,18,19,14,16,15,19,17,18,21,18,19,21,17,18,17,19,18,17,17,18,17,20,17,16,18,17,21,18,19,19,19,19,18,17,19,17,20,20,21,20,21,20,17,17,17,19,19,19,18,18,20,21,16,18,16,19,18,20,20,21,21,20,18,19,16,0,17,12,14,14,17,17,15,15,18,17,19,15,18,15,20,16,20,19,21,18,22,20,20,20,22,19,14,16,14,20,17,14,15,17,17,20,18,18,17,20,18,18,17,19,17,21,20,21,20,0,21,14,15,16,17,19,18,17,19,18,21,14,18,15,21,17,21,20,21,20,0,18,21,17,21,17,18,19,17,20,18,16,17,17,19,19,19,21,20,0,20,18,17,21,17,0,22,0,21,0,22,17,17,19,18,20,20,20,21,19,22,16,17,18,20,18,22,22,0,22,0,17,21,17,22,17,11,14,13,16,16,14,15,15,17,18,14,15,14,18,17,17,18,18,19,20,16,17,17,21,19,13,14,15,17,17,15,16,16,18,18,15,16,16,19,18,18,18,18,19,20,17,18,18,20,19,13,15,14,17,17,15,16,16,17,18,14,16,15,19,17,17,18,19,21,21,17,18,17,20,18,16,17,17,19,19,17,18,19,19,20,18,19,18,21,21,21,20,19,21,22,20,20,19,21,20,15,17,16,19,19,17,18,18,20,21,16,18,17,20,18,19,19,21,21,21,19,19,19,20,18,11,14,13,17,16,14,14,16,16,19,14,16,15,19,16,18,18,18,19,22,17,18,17,20,19,13,15,14,17,17,15,15,16,17,19,16,17,16,20,18,18,17,19,18,21,19,19,18,22,0,13,14,15,17,18,16,16,17,17,19,14,16,15,19,18,18,19,19,20,21,18,18,17,20,18,17,18,17,20,18,16,17,17,18,20,18,19,18,20,20,18,18,21,17,21,20,21,21,0,19,16,16,18,18,19,19,18,20,19,20,16,17,17,20,18,21,20,21,22,22,18,20,17,21,17,12,14,14,17,16,14,15,16,18,18,13,15,14,18,17,17,18,18,19,19,15,17,16,19,19,14,15,15,17,17,15,15,16,18,19,15,16,16,19,18,17,17,18,18,20,18,18,18,21,20,13,15,14,17,16,15,16,15,18,18,14,16,14,18,17,18,18,18,19,21,16,18,16,20,17,17,18,17,18,19,17,17,18,18,19,18,19,19,21,19,19,18,20,18,21,21,20,20,21,20,16,17,15,20,17,17,19,17,19,19,17,18,15,20,17,19,20,19,21,22,17,20,16,0,17,12,14,14,17,18,16,15,18,16,20,16,18,15,21,17,20,18,21,19,22,19,21,19,0,19,14,16,15,19,17,14,15,17,16,21,18,19,18,21,17,19,17,21,17,22,20,21,21,0,21,14,15,16,17,19,18,17,19,18,21,14,17,15,20,17,21,22,21,20,22,18,21,17,21,17,17,19,17,21,18,16,17,17,19,20,19,21,20,21,20,17,18,20,17,21,0,22,20,21,22,17,17,20,18,21,21,20,22,20,21,16,17,17,21,19,0,22,0,21,21,18,22,17,21,17,12,14,14,17,16,14,15,16,17,18,14,16,15,18,17,17,17,20,19,20,16,18,17,21,18,14,15,15,17,17,14,15,16,17,19,16,17,16,18,18,17,16,19,18,19,18,19,18,21,20,14,15,15,18,17,16,16,16,19,18,15,16,14,20,16,18,18,19,19,20,16,19,16,21,17,17,17,18,19,19,16,16,18,18,19,19,19,18,20,20,18,16,19,18,20,22,21,20,19,20,16,18,17,20,16,18,19,18,19,18,16,18,16,20,17,21,20,21,20,20,18,19,17,21,16,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,5,7,7,10,10,7,8,9,10,11,7,9,8,11,10,9,10,10,11,11,9,10,10,11,11,7,9,9,10,10,8,9,10,10,11,9,10,10,11,11,10,10,11,11,11,10,11,11,12,12,7,9,9,10,10,9,10,10,11,11,8,10,9,11,10,10,11,11,11,11,10,11,10,11,11,10,10,10,11,11,10,10,11,11,11,11,11,11,11,11,11,11,12,11,12,11,12,11,12,12,10,10,10,11,11,10,11,11,11,11,10,11,10,11,11,11,12,11,12,12,11,12,11,12,11,8,9,9,11,11,9,10,10,11,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,11,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,8,9,9,11,11,9,10,10,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,11,11,12,12,12,12,11,12,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,13,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,13,12,12,12,12,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,9,9,11,11,9,10,10,11,11,9,10,10,12,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,11,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,10,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,10,11,11,12,11,11,12,12,12,11,11,12,12,12,11,11,12,12,13,12,12,12,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,8,10,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,12,12,12,10,11,10,12,12,10,10,11,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,10,11,11,12,12,11,12,12,12,12,10,12,11,12,12,12,12,12,13,13,12,13,12,13,12,11,12,12,12,12,11,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,13,11,12,12,12,12,12,12,12,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,13,13,13,12,12,13,13,13,13,13,13,13,13,11,12,12,12,12,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,12,12,13,12,12,13,12,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,9,9,11,11,9,10,10,11,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,8,10,10,11,11,10,10,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,12,10,11,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,10,10,11,12,12,11,12,12,12,12,10,11,10,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,11,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,11,12,12,13,12,12,13,13,13,13,12,13,12,13,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,12,12,12,12,13,12,12,12,13,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,12,12,12,12,12,12,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,13,13,11,12,11,12,12,12,12,12,13,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,12,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,12,13,13,13,12,13,13,13,13,11,12,12,12,13,12,12,13,13,13,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,11,12,12,12,12,12,12,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,13,13,13,12,13,12,13,13,11,12,12,12,12,12,12,13,13,13,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,13,12,13,13,12,12,12,13,12,13,13,13,13,13,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,11,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,13,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,13,13,13,13,12,13,12,13,13,11,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,11,12,12,13,12,12,13,12,13,13,12,13,12,13,13,13,13,13,13,13,12,13,13,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,13,13,13,13,12,13,13,12,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,12,13,13,13,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,13,12,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,13,13,13,13,13,11,12,12,12,12,12,13,12,13,13,12,13,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,11,12,12,12,12,12,13,13,11,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,12,13,13,13,12,13,13,13,13,11,12,12,13,13,12,12,13,13,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,11,12,12,13,12,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,12,11,12,12,11,12,12,12,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,13,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,13,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,13,12,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,13,13,13,12,13,13,13,13,12,12,13,13,13,13,13,13,13,13,11,12,12,12,12,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,13,13,13,13,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,13,13,13,12,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,13,13,13,13,13,13,13,13,13,12,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,9,5,9,7,5,7,8,7,7,10,9,10,10,5,8,7,9,10,10,7,10,7,6,8,9,9,10,12,9,11,11,9,10,11,11,11,13,12,13,13,9,11,11,11,12,13,11,13,11,6,9,8,9,11,11,9,12,10,9,11,11,11,11,13,11,13,12,9,11,10,12,13,13,11,13,11,6,9,9,8,10,11,9,12,11,9,10,11,10,10,12,11,13,13,9,11,11,11,13,12,11,13,11,8,10,10,9,10,12,10,12,11,10,10,12,10,10,13,12,13,13,10,12,11,12,13,13,10,13,10,7,10,10,11,11,13,11,14,11,10,12,11,11,11,13,13,14,13,10,12,12,14,14,14,11,14,11,6,9,9,9,11,12,8,11,10,9,11,11,11,11,13,11,12,13,8,11,10,11,13,13,10,12,10,7,10,10,11,11,14,11,13,11,10,12,12,11,11,14,14,14,14,10,11,12,13,13,14,11,13,11,8,10,10,10,11,12,9,12,10,10,11,12,11,10,13,12,13,13,10,12,10,12,13,13,11,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,6,6,6,7,7,6,7,7,6,7,7,7,7,8,7,8,8,6,7,7,7,8,8,7,8,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,9,7,8,7,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,8,6,8,8,7,8,8,7,8,8,7,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,9,9,8,9,9,8,8,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,7,8,8,8,8,9,8,9,8,8,8,8,8,9,9,9,9,9,8,9,8,9,9,9,8,9,9,6,8,8,7,8,8,7,8,8,8,8,8,8,8,9,8,9,9,7,8,8,8,9,9,8,9,8,7,8,8,8,8,9,8,9,8,8,8,9,8,9,9,9,9,9,8,8,8,9,9,9,8,9,9,7,8,8,8,9,9,8,9,9,8,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,6,5,7,8,5,8,7,5,7,8,7,8,10,8,10,10,5,8,7,8,10,10,7,10,8,6,8,9,8,10,11,9,10,10,9,10,11,10,11,12,11,12,12,9,11,10,11,12,12,10,12,11,6,9,8,9,10,10,8,11,10,9,10,11,10,11,12,11,12,12,9,11,10,11,12,12,10,12,11,6,9,9,8,10,11,9,11,10,8,10,10,10,10,12,11,12,12,9,11,10,11,12,12,10,12,11,8,10,10,10,11,12,10,12,11,10,10,12,11,11,13,12,13,13,10,12,11,12,13,13,11,13,11,7,10,10,10,11,12,10,12,11,10,12,11,11,11,12,12,14,13,10,12,12,12,14,14,11,13,11,6,9,9,9,10,11,8,11,10,9,10,11,10,11,12,11,12,12,8,11,10,11,12,12,10,12,10,7,10,10,10,11,12,10,12,11,10,12,12,11,11,13,12,13,13,10,11,12,12,13,14,11,12,11,8,10,10,10,11,12,10,12,11,10,11,12,11,11,13,12,13,13,10,12,10,12,13,13,11,13,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,9,9,6,7,8,10,10,6,8,7,10,10,8,10,10,12,13,8,10,10,13,12,6,7,8,10,10,7,8,9,10,11,8,9,9,11,11,10,10,11,12,14,10,11,11,14,13,6,8,7,10,10,8,9,9,11,11,7,9,8,11,10,10,11,11,13,14,10,11,10,14,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,12,15,13,14,13,15,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,13,13,14,14,15,12,13,12,15,12,6,7,8,10,11,8,9,10,11,12,8,9,9,11,12,10,11,12,13,14,10,11,11,14,13,8,9,10,11,12,9,10,11,12,13,9,10,11,12,13,11,12,13,13,15,12,12,13,15,14,8,9,9,12,12,9,10,11,12,13,9,10,10,13,12,12,12,13,14,15,11,12,12,14,14,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,14,13,15,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,14,13,14,15,15,15,16,13,14,14,16,14,6,8,7,11,10,8,9,9,11,12,8,10,9,12,11,10,11,11,13,14,10,12,11,14,13,8,9,9,12,12,9,10,10,12,13,9,11,10,13,12,11,12,12,13,14,12,13,12,15,14,8,10,9,12,11,9,11,10,13,12,9,11,10,13,12,12,13,12,14,15,11,13,12,15,13,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,13,14,14,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,15,13,14,15,15,16,16,13,15,13,16,14,9,10,11,12,14,11,11,12,13,15,11,12,12,13,14,13,14,15,15,17,13,14,14,15,16,11,11,12,13,15,12,12,13,14,16,12,13,13,14,15,14,14,16,15,17,15,15,15,16,17,11,12,12,14,14,12,13,13,15,16,12,13,13,15,15,15,15,15,16,17,14,15,15,16,16,14,14,15,15,17,14,15,15,15,17,15,15,16,16,17,16,16,17,16,18,17,17,17,18,18,14,15,14,16,16,15,15,16,17,17,14,15,15,17,16,17,17,17,18,18,16,16,16,17,17,9,11,10,14,12,11,12,12,14,13,11,12,11,15,13,13,14,14,16,15,13,15,14,17,15,11,12,12,15,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,15,15,15,17,16,11,12,11,15,13,12,13,13,15,14,12,13,12,16,14,15,15,15,17,16,14,15,14,17,15,14,14,15,16,16,14,15,15,16,16,15,16,15,17,17,16,16,16,17,17,17,17,17,18,17,14,15,14,16,15,15,15,15,17,16,15,15,15,17,15,17,17,17,18,18,16,17,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,12,11,14,13,7,9,9,11,12,9,10,10,12,13,9,10,10,13,13,11,11,12,13,15,11,12,12,15,14,8,9,9,12,11,9,11,10,13,13,9,11,10,13,12,12,13,12,14,15,11,13,12,15,13,10,11,12,13,14,11,12,12,13,15,12,12,13,14,15,13,13,14,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,15,13,14,15,15,15,16,13,14,14,16,14,7,9,9,11,12,9,10,11,12,13,9,10,10,13,12,11,12,12,14,15,11,12,12,15,14,9,9,11,11,13,10,10,12,12,14,10,11,12,13,14,12,12,13,14,16,12,13,13,15,15,9,11,10,13,13,10,12,12,13],"i8",N3,F.GLOBAL_BASE+431057),E3([14,10,12,11,14,13,12,13,13,15,16,12,13,13,15,14,11,11,13,13,15,12,12,14,13,16,13,13,13,14,15,14,14,15,14,17,15,15,15,16,16,12,13,12,15,14,13,14,14,15,15,12,14,13,16,14,15,15,16,16,17,14,15,14,17,15,7,9,9,12,11,9,10,10,12,13,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,9,10,10,13,12,10,10,11,12,13,10,12,11,14,13,12,12,13,13,15,12,14,13,16,15,9,10,10,13,12,11,11,12,13,13,10,12,10,14,12,13,13,13,15,15,12,13,12,15,13,11,12,12,14,14,12,12,13,14,15,13,14,13,15,15,14,13,15,13,16,15,16,15,17,16,12,13,12,14,14,13,14,14,15,15,12,13,12,15,14,15,15,16,16,17,14,15,13,16,13,10,11,12,13,14,11,12,13,14,15,12,13,13,15,15,14,14,15,15,17,14,15,15,16,16,12,12,13,12,15,12,12,14,13,16,13,13,14,14,16,14,14,16,15,17,15,15,16,16,17,12,13,13,15,15,13,14,14,16,16,13,14,13,16,15,15,16,16,17,17,14,15,15,17,16,14,14,15,14,17,15,15,16,15,17,15,15,16,15,17,16,16,17,16,18,17,17,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,17,17,17,18,18,16,17,16,18,17,10,12,11,14,14,12,13,13,15,15,12,13,12,15,14,14,15,15,16,16,14,15,15,17,16,11,13,12,15,14,12,13,13,15,15,13,14,13,16,14,15,15,15,16,16,15,16,15,17,16,12,13,13,15,15,13,14,14,16,16,12,14,13,16,15,15,16,16,17,17,15,16,15,17,16,14,15,15,16,16,14,15,15,16,16,15,16,16,17,16,16,16,16,16,17,17,18,17,18,17,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,17,17,18,18,18,16,17,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,12,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,10,11,13,13,11,12,13,13,15,12,12,12,15,14,7,9,9,12,11,9,10,10,13,13,9,10,10,13,12,11,12,12,14,15,11,12,11,15,13,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,13,14,14,14,16,14,15,15,16,16,10,12,11,14,13,12,13,12,14,14,11,12,12,15,13,14,15,15,16,16,13,14,13,16,14,7,9,9,11,12,9,10,11,12,13,9,10,10,13,12,11,12,13,14,15,11,12,12,14,14,9,10,10,12,13,10,10,12,12,14,11,12,11,13,13,12,12,14,13,15,13,13,13,15,15,9,10,10,12,13,10,11,12,13,14,10,11,10,13,12,13,13,14,15,16,12,13,12,15,13,12,13,13,14,14,12,12,13,14,15,13,14,14,15,15,14,13,15,13,16,15,16,15,17,16,11,12,12,14,14,13,13,14,15,15,12,13,12,15,14,15,15,16,16,17,14,14,13,16,13,7,9,9,12,11,9,10,10,12,13,9,11,10,13,12,11,12,12,14,15,11,12,12,15,14,9,10,11,13,13,10,11,12,13,14,10,12,12,14,13,12,13,13,14,16,12,13,13,16,15,9,11,9,13,11,10,12,11,13,13,10,12,10,14,12,12,13,13,15,15,12,13,12,16,14,12,12,13,14,15,12,13,14,14,15,13,14,14,15,15,14,14,15,15,17,15,16,15,17,16,11,13,11,15,13,13,14,13,15,14,12,14,12,16,13,15,15,15,16,16,14,15,14,17,14,10,11,12,14,14,12,12,13,14,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,16,12,12,13,15,15,13,13,14,15,16,13,14,14,16,16,15,15,16,16,17,15,16,16,17,17,11,12,13,14,15,13,13,14,15,16,12,13,13,15,15,15,15,16,16,17,15,15,15,16,16,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,16,18,17,17,17,18,18,14,15,15,16,16,15,16,16,16,17,15,15,15,16,16,17,17,17,18,18,16,16,16,17,16,10,12,11,14,13,12,13,13,15,15,11,13,12,15,14,14,15,15,16,16,14,15,14,17,15,12,13,13,15,15,13,13,14,16,16,13,14,14,16,16,15,15,15,16,17,15,16,16,17,17,12,13,12,15,12,13,14,13,16,14,12,14,12,16,13,15,16,15,17,16,14,16,14,17,15,14,15,15,16,17,15,15,16,17,17,15,16,16,17,17,16,16,17,17,18,17,18,17,18,18,14,15,14,17,14,15,16,15,17,15,15,16,15,17,15,17,17,17,18,17,16,17,16,18,16,9,11,11,14,14,11,12,12,14,14,11,12,12,15,14,13,14,14,16,16,13,15,14,16,16,10,11,12,14,14,11,12,13,15,15,12,13,13,15,15,13,14,15,16,17,14,15,15,17,16,11,12,12,15,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,15,17,16,12,13,14,15,16,13,14,14,15,16,13,14,15,16,16,15,15,16,16,18,16,16,16,18,17,14,14,14,16,15,15,15,15,17,16,14,15,15,17,16,16,17,17,18,17,16,16,16,18,16,10,12,12,14,14,11,12,13,15,15,12,13,13,15,15,13,14,15,16,17,14,15,15,17,16,11,12,13,14,15,12,12,14,15,16,13,13,14,15,16,14,14,15,16,17,15,15,16,17,17,12,13,13,15,15,13,14,14,16,16,13,14,13,16,15,15,16,15,17,17,15,16,15,17,16,13,13,15,14,17,14,13,16,15,17,15,14,16,15,17,15,15,17,16,18,16,16,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,17,17,17,18,18,16,17,16,18,17,10,12,11,14,14,11,12,13,15,15,12,13,12,15,15,14,15,15,16,16,14,15,15,17,16,11,12,12,15,15,12,13,13,15,15,13,14,13,16,15,14,15,15,16,16,15,16,15,17,16,11,13,13,15,15,13,14,14,15,15,12,14,13,16,15,15,16,15,17,17,15,16,15,17,16,13,15,14,16,16,14,15,14,16,16,15,16,15,17,16,15,16,16,16,17,16,17,16,18,17,14,15,15,16,16,15,16,16,17,17,15,15,15,17,16,17,17,17,18,18,16,16,16,18,16,12,13,13,15,16,13,14,14,15,16,13,14,14,16,16,15,15,16,16,18,15,16,16,17,17,13,13,14,15,16,14,14,15,15,17,14,15,15,16,17,15,15,17,16,18,16,16,17,17,17,13,14,14,16,16,14,15,15,17,17,14,15,14,17,16,16,17,16,17,18,16,17,16,18,17,15,15,16,14,17,16,15,17,14,18,16,16,16,15,18,16,16,18,15,19,18,18,18,17,19,15,16,16,18,17,16,17,17,18,17,16,17,16,18,17,18,18,18,19,19,17,18,16,18,17,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,16,16,16,17,15,16,16,17,16,12,14,13,16,15,13,13,14,15,16,14,15,14,17,15,15,15,16,16,17,16,17,16,18,17,12,13,14,15,16,14,15,15,16,16,13,14,13,16,15,16,16,16,17,17,15,16,15,17,15,15,16,15,17,16,15,15,15,16,16,16,17,16,18,16,16,15,16,15,17,17,18,17,18,17,15,15,16,17,17,16,16,17,17,17,15,16,15,17,16,18,18,18,18,18,16,17,16,18,15,9,11,11,14,14,11,12,12,14,15,10,12,12,15,14,13,14,15,16,16,13,14,14,16,16,11,12,12,14,15,12,12,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,16,10,12,12,14,14,12,13,13,15,15,11,13,12,15,15,14,15,15,16,17,13,15,14,16,16,14,14,14,15,16,14,15,15,16,17,14,15,15,16,17,16,16,17,16,18,16,17,17,17,17,12,14,13,16,15,13,15,14,16,16,13,14,14,16,15,16,16,16,17,17,15,16,15,17,16,10,11,11,14,14,12,12,13,14,15,11,13,12,15,14,14,15,15,16,17,14,15,15,16,16,12,13,13,15,15,12,13,14,15,16,13,14,14,15,15,15,15,16,16,17,15,15,16,17,17,11,12,12,15,15,13,13,14,15,16,12,13,13,15,15,15,15,16,16,17,14,15,15,16,16,14,15,15,16,16,15,15,15,16,17,15,16,16,17,17,16,16,17,16,18,17,17,17,17,18,13,14,15,16,16,15,15,16,16,17,14,14,14,16,16,16,16,17,17,18,16,16,16,17,16,10,12,12,14,14,12,13,13,15,15,11,13,12,15,15,14,15,15,16,17,13,15,14,17,16,12,13,13,15,15,13,13,14,15,16,13,14,14,16,16,15,15,16,16,17,15,15,16,17,17,11,13,12,15,14,13,14,13,16,15,12,14,12,16,15,15,16,15,17,17,14,15,14,17,16,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,17,18,17,17,17,18,18,13,15,13,17,14,14,16,14,17,16,14,15,13,17,15,16,17,16,18,17,15,17,15,18,16,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,16,16,16,17,15,16,16,17,16,12,14,13,16,15,13,13,14,15,16,14,15,15,16,16,16,15,16,16,17,16,16,16,17,17,12,13,14,15,16,14,14,15,15,17,13,14,13,16,15,16,16,17,17,18,15,16,15,17,15,15,16,15,17,17,15,15,16,16,17,16,17,16,17,17,16,15,17,15,18,17,18,17,18,18,15,15,16,16,17,16,16,17,16,18,15,15,15,16,16,17,17,18,17,18,16,16,15,17,15,12,13,13,15,15,13,14,14,16,16,13,14,14,16,16,15,16,16,17,18,15,16,15,18,16,13,14,14,16,16,14,14,15,16,17,14,15,15,17,17,16,16,17,17,18,16,16,17,18,17,13,14,13,16,14,14,15,15,17,16,14,15,14,17,15,16,17,17,18,17,15,17,15,18,16,15,16,16,17,17,16,16,17,17,18,16,17,17,18,18,17,16,18,17,19,18,18,18,18,18,15,16,15,17,14,16,16,16,18,15,16,17,15,18,14,18,18,18,18,17,17,18,16,19,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,7,7,5,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,5,7,8,8,9,10,8,9,10,8,9,10,9,10,12,10,11,11,8,10,10,10,11,11,9,11,11,5,8,7,8,9,9,8,10,9,8,10,10,9,11,11,10,11,11,8,10,9,10,11,11,9,12,10,5,8,8,7,9,10,8,10,9,7,9,9,9,10,11,9,11,11,8,10,9,10,11,11,10,11,11,7,9,9,9,10,11,9,11,11,9,9,11,10,10,13,11,11,12,9,11,11,11,12,13,11,13,12,7,9,9,9,11,11,9,11,10,9,11,10,10,11,12,11,13,12,9,11,11,11,12,13,11,13,11,5,8,8,8,9,10,7,10,9,8,9,10,10,11,11,10,11,11,7,9,9,9,11,11,9,11,10,7,9,9,9,10,11,9,11,11,9,11,11,11,11,13,11,13,12,9,10,11,11,12,13,10,12,11,7,9,9,9,11,11,9,11,10,9,11,11,11,12,13,11,13,12,9,11,9,11,12,11,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,12,14,15,18,20,20,5,3,4,6,9,11,15,19,9,4,3,4,7,9,13,18,11,6,3,3,5,8,13,19,14,9,6,5,7,10,16,20,16,11,9,8,10,10,14,16,21,14,13,11,8,7,11,14,21,14,13,9,6,5,10,12,0,0,0,0,255,255,255,255,255,255,255,255,8,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,F.GLOBAL_BASE+441297),E3([1,0,0,0,1,0,0,0,2,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,240,5,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,214,6,0,0,0,0,0,0,0,0,0,224,214,6,0,0,0,0,0,0,0,0,0,8,215,6,0,48,215,6,0,0,0,0,0,0,0,0,0,88,215,6,0,128,215,6,0,0,0,0,0,0,0,0,0,168,215,6,0,208,215,6,0,0,0,0,0,0,0,0,0,248,215,6,0,32,216,6,0,208,215,6,0,0,0,0,0,72,216,6,0,112,216,6,0,208,211,6,0,248,211,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,120,214,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,112,214,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,211,6,0,128,211,6,0,0,0,0,0,0,0,0,0,168,211,6,0,208,211,6,0,248,211,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,136,213,6,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,56,214,6,0,0,0,0,0,2,0,0,0,25,0,0,0,80,213,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,112,213,6,0,0,0,0,0,2,0,0,0,9,0,0,0,48,213,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,64,213,6,0,0,0,0,0,1,0,0,0,25,0,0,0,168,212,6,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,200,212,6,0,0,0,0,0,1,0,0,0,25,0,0,0,32,212,6,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,64,212,6,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,4,4,5,5,5,4,5,4,5,5,5,5,6,5,6,5,6,5,6,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,8,8,9,8,9,9,10,10,10,10,4,6,5,8,7,9,9,9,9,10,9,10,10,4,5,6,7,8,9,9,9,9,9,10,9,10,8,9,8,9,8,10,9,11,9,12,10,11,10,8,8,9,8,9,9,10,9,11,10,11,10,12,9,10,10,11,10,11,11,12,11,12,12,12,12,9,10,10,11,11,11,11,11,12,12,12,12,12,10,11,11,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,13,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,11,13,12,12,12,13,12,12,12,12,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,5,13,9,9,12,16,18,4,2,20,6,7,10,15,20,10,7,5,5,6,8,10,13,8,5,5,3,5,7,10,11,9,7,6,5,5,7,9,9,11,10,8,7,6,6,8,8,15,15,10,10,9,7,8,9,17,19,13,12,10,8,9,9,5,0,0,0,243,0,0,0,232,4,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,224,5,7,0,0,0,0,0,5,0,0,0,53,12,0,0,152,248,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,4,7,0,0,0,0,0,5,0,0,0,243,0,0,0,144,247,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,136,248,6,0,0,0,0,0,5,0,0,0,243,0,0,0,136,246,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,128,247,6,0,0,0,0,0,5,0,0,0,243,0,0,0,128,245,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,120,246,6,0,0,0,0,0,5,0,0,0,53,12,0,0,48,233,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,104,245,6,0,0,0,0,0,5,0,0,0,53,12,0,0,224,220,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,24,233,6,0,0,0,0,0,1,0,0,0,7,0,0,0,184,220,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,192,220,6,0,0,0,0,0,5,0,0,0,243,0,0,0,176,219,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,168,220,6,0,0,0,0,0,5,0,0,0,243,0,0,0,168,218,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,160,219,6,0,0,0,0,0,5,0,0,0,243,0,0,0,160,217,6,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,152,218,6,0,0,0,0,0,5,0,0,0,243,0,0,0,152,216,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,144,217,6,0,0,0,0,0,1,9,9,7,9,9,8,8,9,9,9,9,9,9,9,8,9,9,7,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,6,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,5,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,5,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,6,7,7,7,7,7,7,8,8,9,9,9,9,7,7,8,8,8,9,9,9,9,8,8,6,7,7,8,8,8,8,8,8,9,8,8,9,8,9,9,8,8,10,8,8,10,9,9,10,8,8,6,6,6,8,6,6,8,7,7,8,7,7,10,8,8,9,7,7,9,7,7,10,8,8,9,7,7,7,7,7,10,8,8,11,9,9,10,9,9,11,9,9,11,8,8,11,9,9,12,9,9,12,8,8,7,7,7,10,9,9,10,9,9,10,9,9,11,10,10,10,9,9,11,9,10,11,10,11,10,9,9,9,8,8,10,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,9,9,11,10,10,11,9,9,8,8,8,11,9,9,11,9,9,11,9,9,12,9,9,12,8,8,11,9,9,12,9,9,12,8,8,8,7,7,10,9,9,10,9,9,10,9,9,11,11,11,11,9,9,11,10,10,11,11,11,11,9,9,10,9,9,11,9,9,11,9,10,11,10,10,11,10,10,11,9,9,11,10,10,11,10,10,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,7,7,7,8,8,7,8,8,7,9,9,11,11,11,9,8,8,8,9,9,12,11,12,9,8,8,6,7,7,10,11,11,10,10,10,11,11,11,14,14,14,12,11,12,11,11,11,15,15,14,13,12,12,5,6,6,8,5,5,8,7,7,8,7,7,12,10,10,10,7,6,9,8,8,12,10,10,10,6,6,7,8,8,12,10,10,12,10,10,11,10,10,16,14,14,13,10,10,12,10,10,15,14,14,14,10,10,7,7,7,13,11,11,13,11,11,12,11,11,16,14,14,14,12,12,12,11,11,18,15,15,14,12,12,10,9,10,14,11,11,13,11,11,12,11,11,17,14,14,14,11,11,13,11,11,16,15,15,14,11,11,7,8,8,13,11,11,12,10,10,12,10,10,16,14,13,13,10,10,12,10,10,17,14,14,14,10,10,8,7,7,12,11,11,13,11,11,12,11,11,16,15,14,14,12,12,12,11,11,16,15,15,14,12,12,11,10,10,14,11,11,13,11,11,13,11,11,17,14,14,14,11,11,13,11,11,18,14,15,15,11,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,1,7,6,15,15,7,8,8,15,15,8,8,8,15,15,0,13,13,16,16,0,14,14,16,16,7,9,9,16,16,10,11,11,17,17,10,8,8,15,16,0,14,14,18,18,0,14,14,16,16,9,9,9,16,16,12,11,11,17,17,10,9,9,15,15,0,14,14,19,19,0,14,14,16,16,0,15,15,18,17,0,0,0,20,20,0,13,13,16,16,0,17,17,22,20,0,15,15,17,17,0,15,15,18,18,0,22,21,20,21,0,13,13,16,16,0,18,18,0,22,0,15,15,17,17,6,7,7,13,13,9,10,10,15,15,11,10,10,15,15,0,21,22,18,18,0,0,0,18,18,10,10,10,15,15,12,13,13,17,17,12,11,11,15,15,0,22,22,18,18,0,0,21,18,18,12,11,11,15,15,15,14,14,18,18,13,11,11,15,15,0,0,21,18,19,0,21,22,18,19,0,22,0,18,19,0,0,0,0,0,0,21,21,18,18,0,22,0,0,21,0,0,0,19,18,0,0,0,18,19,0,0,0,0,0,0,20,20,18,17,0,0,22,0,21,0,0,0,19,19,6,6,6,13,13,8,6,6,11,11,9,7,7,13,13,0,10,10,11,11,0,12,12,14,14,9,8,8,14,14,12,10,10,13,13,10,7,7,13,13,0,11,11,15,15,0,11,11,13,13,9,8,8,14,14,13,10,10,13,14,11,7,7,13,13,0,11,11,15,15,0,11,11,13,13,0,12,12,15,15,0,21,21,17,17,0,10,10,13,13,0,14,14,20,20,0,12,12,13,13,0,12,12,15,15,0,21,22,17,18,0,10,10,13,13,0,16,16,20,21,0,12,12,13,13,0,11,11,13,13,0,12,12,16,16,0,12,12,16,16,0,16,16,0,21,0,17,18,0,0,0,12,12,15,15,0,15,15,18,18,0,12,12,16,16,0,16,16,21,22,0,17,17,22,21,0,12,12,16,16,0,15,15,19,19,0,12,12,16,16,0,16,16,22,22,0,17,16,22,0,0,17,18,0,0,0,0,0,0,0,0,15,15,21,20,0,19,20,0,22,0,18,18,0,0,0,18,17,0,0,0,0,0,0,0,0,16,16,22,21,0,20,20,0,22,0,20,19,0,0,0,11,11,12,12,0,10,10,11,11,0,11,11,12,12,0,12,12,10,10,0,13,13,12,12,0,11,11,13,13,0,13,13,12,12,0,10,10,12,12,0,13,13,14,13,0,12,12,12,12,0,12,12,13,13,0,14,14,13,13,0,10,10,12,12,0,13,13,14,14,0,13,12,12,12,0,14,14,14,14,0,21,21,16,16,0,12,12,12,12,0,16,16,20,21,0,13,13,11,11,0,14,14,14,14,0,20,20,16,15,0,12,12,12,12,0,17,17,20,20,0,13,13,11,11,7,8,8,16,16,11,10,10,15,15,12,10,10,17,17,0,14,14,16,15,0,15,15,17,17,11,9,9,16,16,14,12,12,17,17,13,9,9,16,15,0,14,14,19,18,0,14,14,16,16,12,10,10,17,18,16,13,13,17,18,14,10,10,16,16,0,14,14,19,19,0,14,15,17,17,0,15,15,18,19,0,0,0,20,20,0,13,13,17,17,0,17,18,0,22,0,15,15,16,17,0,15,15,18,18,0,0,0,20,21,0,14,14,17,17,0,19,18,0,0,0,16,16,17,17,8,7,7,14,14,12,11,11,15,15,13,11,11,15,15,0,0,0,18,19,0,21,20,18,18,12,10,11,15,16,14,13,13,18,18,14,11,11,15,15,0,20,20,19,18,0,20,0,18,18,13,11,11,16,16,17,15,15,19,19,14,12,12,15,15,0,21,0,18,20,0,22,22,18,19,0,22,22,19,19,0,0,0,0,0,0,21,22,19,18,0,0,0,0,21,0,0,0,19,19,0,0,22,20,20,0,0,0,0,0,0,22,0,18,18,0,0,0,0,22,0,0,0,19,20,11,10,10,14,14,14,11,11,13,13,14,11,11,15,15,0,14,13,12,12,0,15,15,16,16,13,11,11,15,15,16,13,13,15,15,15,10,10,14,15,0,14,14,16,16,0,14,14,15,15,13,11,11,15,15,18,14,14,15,15,15,10,10,15,14,0,14,14,16,16,0,14,14,15,15,0,15,15,17,16,0,21,22,18,18,0,13,13,14,14,0,18,17,20,21,0,15,15,14,14,0,15,16,16,17,0,0,0,19,18,0,13,13,15,14,0,19,19,0,0,0,15,15,14,14,0,12,12,14,13,0,13,13,16,16,0,12,12,16,16,0,16,16,22,0,0,17,18,0,22,0,13,13,16,16,0,15,15,18,18,0,12,12,16,16,0,16,16,22,22,0,17,17,0,0,0,13,13,17,17,0,16,16,19,20,0,12,12,17,17,0,17,17,22,0,0,17,17,22,21,0,18,18,0,0,0,0,0,0,0,0,16,16,21,21,0,19,19,0,0,0,18,18,0,22,0,18,18,0,22,0,0,0,0,0,0,16,16,22,0,0,20,20,0,0,0,19,18,0,0,0,12,12,15,15,0,12,12,15,14,0,13,13,15,15,0,14,14,14,14,0,15,15,16,16,0,13,13,15,16,0,15,15,16,16,0,12,12,15,15,0,14,14,16,16,0,14,14,15,15,0,13,13,15,16,0,15,15,16,16,0,12,12,15,15,0,15,15,17,17,0,14,14,15,15,0,15,15,17,17,0,21,21,19,19,0,13,13,14,14,0,17,17,22,0,0,14,14,15,15,0,15,15,17,17,0,22,0,18,20,0,13,13,15,15,0,18,18,0,22,0,15,15,14,15,8,8,8,17,16,12,10,10,16,16,13,10,10,17,16,0,15,15,17,17,0,15,15,17,17,12,11,11,18,18,15,12,12,18,18,15,10,10,16,17,0,14,14,18,18,0,14,14,17,17,13,10,10,16,16,17,14,14,17,17,15,10,10,16,15,0,15,15,19,20,0,14,14,15,16,0,16,16,19,19,0,0,0,21,22,0,13,13,17,17,0,18,17,0,21,0,15,15,17,17,0,15,15,18,19,0,0,22,0,21,0,13,13,16,17,0,19,19,0,22,0,16,15,16,16,9,8,8,14,14,12,11,11,15,15,13,11,11,15,15,0,21,20,19,18,0,0,0,19,18,12,11,11,16,15,15,13,13,17,18,14,11,11,15,15,0,22,22,19,18,0,22,21,18,18,14,11,11,15,15,17,14,14,18,18,15,12,12,15,15,0,22,22,20,19,0,0,21,18,18,0,0,22,20,20,0,0,0,0,0,0,20,21,18,18,0,0,0,21,21,0,0,0,20,19,0,22,21,19,19,0,0,0,0,0,0,0,22,17,18,0,0,22,0,22,0,22,0,19,19,0,11,11,15,15,0,11,11,14,14,0,12,12,15,15,0,15,15,14,14,0,16,16,16,16,0,12,12,16,16,0,14,14,16,16,0,11,11,15,15,0,15,15,17,17,0,15,15,15,15,0,12,12,16,16,0,14,14,15,15,0,11,11,15,15,0,15,15,17,17,0,15,15,14,15,0,16,16,17,17,0,0,0,19,19,0,14,14,15,15,0,18,18,21,0,0,15,15,14,15,0,16,16,17,17,0,21,0,19,19,0,14,14,15,15,0,20,20,22,0,0,16,15,14,14,0,12,12,13,13,0,12,12,16,16,0,12,12,16,16,0,16,16,22,21,0,18,17,21,0,0,13,13,16,16,0,15,15,18,19,0,12,12,16,16,0,16,17,22,0,0,17,17,0,22,0,13,13,17,16,0,15,15,19,19,0,12,12,16,16,0,16,16,21,20,0,17,16,22,0,0,18,18,22,21,0,0,0,0,0,0,15,16,21,21,0,19,19,0,0,0,18,17,0,0,0,18,18,21,0,0,0,0,0,0,0,16,16,22,22,0,20,21,0,0,0,18,19,0,22,0,13,13,16,16,0,12,12,15,15,0,13,13,16,16,0,14,14,15,15,0,15,15,17,17,0,13,13,17,16,0,15,15,17,17,0,12,12,16,16,0,15,15,17,17,0,14,14,16,16,0,13,13,16,17,0,15,15,17,17,0,12,12,16,16,0,14,14,17,17,0,14,14,16,16,0,16,16,17,17,0,21,0,21,19,0,13,13,16,16,0,17,17,0,0,0,15,15,16,16,0,16,15,18,18,0,22,0,20,20,0,13,13,15,15,0,18,18,0,0,0,15,15,15,15,0,12,12,17,17,0,14,14,17,17,0,14,14,17,17,0,17,17,18,17,0,17,17,19,18,0,13,13,17,17,0,16,16,18,18,0,13,13,16,16,0,17,17,19,19,0,16,16,17,17,0,13,13,18,18,0,17,17,18,18,0,13,13,17,17,0,17,17,19,19,0,16,17,17,17,0,17,17,19,19,0,21,0,21,19,0,14,14,16,16,0,20,19,0,21,0,16,16,16,16,0,17,18,19,19,0,0,0,0,21,0,15,15,16,17,0,21,20,0,0,0,17,18,16,17,0,9,9,14,14,0,14,14,15,16,0,14,14,15,15,0,0,0,18,18,0,21,0,18,19,0,12,12,15,15,0,16,16,17,17,0,14,14,14,14,0,22,0,19,18,0,22,0,17,18,0,14,14,16,15,0,18,18,19,18,0,14,15,15,15,0,0,21,20,20,0,0,0,18,18,0,21,21,19,19,0,0,0,0,0,0,21,21,18,18,0,22,0,20,20,0,22,0,19,19,0,22,0,19,20,0,0,0,0,0,0,0,21,17,18,0,0,0,22,22,0,0,0,19,18,0,18,20,16,16,0,21,20,17,17,0,0,21,18,18,0,22,21,18,18,0,0,22,19,19,0,20,20,17,17,0,0,0,18,18,0,19,20,17,17,0,22,0,19,21,0,22,21,18,18,0,20,19,17,18,0,0,0,19,19,0,20,20,17,17,0,22,22,21,21,0,20,0,18,18,0,22,22,18,18,0,0,0,20,22,0,20,20,16,16,0,0,0,21,0,0,21,20,16,17,0,22,0,19,20,0,0,0,21,20,0,19,21,17,17,0,0,0,0,0,0,21,21,17,17,0,12,12,13,13,0,14,14,16,16,0,14,14,16,16,0,18,18,0,0,0,19,18,22,0,0,13,13,16,16,0,16,16,18,18,0,13,13,16,16,0,17,18,21,0,0,18,18,21,0,0,13,13,16,16,0,17,17,19,20,0,13,13,16,17,0,18,18,21,0,0,18,18,21,0,0,18,19,0,21,0,0,0,0,0,0,16,16,21,20,0,20,20,0,0,0,18,19,0,0,0,18,18,0,0,0,0,0,0,0,0,16,16,0,21,0,22,22,0,0,0,19,19,0,0,0,16,16,19,20,0,17,16,22,21,0,17,17,21,20,0,19,18,0,22,0,19,19,22,22,0,16,15,22,22,0,19,19,0,21,0,15,15,20,20,0,18,19,0,21,0,18,18,22,22,0,16,16,21,20,0,20,19,21,22,0,16,15,20,20,0,19,19,0,22,0,18,18,21,0,0,19,18,21,22,0,0,0,0,0,0,16,16,19,21,0,20,22,0,22,0,18,18,20,21,0,19,18,0,22,0,0,0,22,0,0,16,16,20,20,0,21,21,0,0,0,18,18,21,0,0,12,12,17,17,0,15,14,17,17,0,14,14,18,18,0,17,17,17,18,0,18,18,18,18,0,13,13,18,18,0,16,17,19,18,0,13,13,16,17,0,17,17,18,19,0,17,17,17,17,0,13,13,17,17,0,17,18,18,18,0,13,13,16,16,0,18,18,19,20,0,16,17,17,16,0,17,18,19,18,0,0,0,22,21,0,15,15,16,16,0,20,20,21,22,0,17,17,16,16,0,16,17,18,18,0,0,0,21,21,0,15,15,16,16,0,21,20,0,0,0,17,17,16,16,0,10,10,14,14,0,14,14,15,15,0,14,14,15,15,0,22,0,18,18,0,0,0,19,19,0,13,13,15,16,0,17,16,18,18,0,14,14,15,15,0,21,21,19,18,0,22,21,18,17,0,14,14,15,15,0,18,18,19,18,0,15,15,14,14,0,22,21,19,19,0,22,21,17,18,0,0,0,19,19,0,0,0,0,0,0,20,22,17,17,0,0,22,22,20,0,0,0,19,18,0,21,22,19,18,0,0,0,0,0,0,22,22,17,18,0,0,0,21,22,0,0,0,19,18,0,20,20,17,17,0,21,21,17,18,0,21,22,18,18,0,21,0,18,18,0,22,0,19,19,0,19,21,18,18,0,0,22,18,18,0,22,21,17,17,0,22,0,20,20,0,0,0,18,18,0,22,21,18,18,0,21,0,19,19,0,20,21,17,17,0,0,22,22,20,0,21,22,17,17,0,0,21,19,18,0,0,0,21,21,0,21,20,16,17,0,0,0,0,0,0,21,0,17,17,0,21,0,19,20,0,0,0,20,22,0,20,20,17,17,0,0,0,0,0,0,21,21,17,17,0,12,12,13,13,0,14,14,16,16,0,14,14,16,16,0,18,18,21,0,0,19,19,22,0,0,13,13,16,16,0,16,16,18,18,0,13,13,16,16,0,18,18,21,22,0,18,18,0,22,0,13,13,16,16,0,17,17,20,18,0,13,13,16,16,0,19,18,0,22,0,18,18,22,21,0,18,19,0,0,0,0,0,0,0,0,16,16,21,21,0,21,21,0,0,0,18,19,0,0,0,19,19,21,0,0,0,0,0,0,0,16,16,0,21,0,20,20,0,0,0,20,20,0,0,0,16,16,21,20,0,18,17,21,22,0,17,18,0,21,0,18,19,22,22,0,19,19,0,22,0,16,17,21,22,0,20,19,0,0,0,16,16,20,21,0,19,19,0,0,0,19,19,0,22,0,17,17,21,21,0,19,20,0,0,0,16,16,0,20,0,19,20,0,21,0,18,18,0,22,0,19,20,22,22,0,0,0,0,22,0,17,17,0,21,0,21,21,0,0,0,18,19,23,21,0,20,19,0,0,0,0,0,0,0,0,17,17,0,20,0,0,0,0,0,0,19,19,23,22,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,4,5,5,9,9,12,9,9,12,12,12,10,10,13,13,13,11,11,12,12,13,13,13,12,12,13,10,10,13,13,13,13,13,13,13,13,10,10,13,12,13,11,11,13,13,13,14,14,13,12,13,10,10,13,13,12,13,13,13,13,13,10,10,12,12,13,11,11,13,13,13,14,14,12,12,13,12,12,13,13,13,13,13,13,13,13,11,11,12,12,13,11,11,13,13,13,14,14,12,12,13,14,14,13,13,14,13,13,14,14,14,14,14,12,12,13,14,14,13,13,14,14,14,12,12,12,8,8,12,12,13,12,12,11,11,13,11,11,11,11,14,12,12,11,11,14,12,12,10,11,14,12,12,12,12,14,12,12,12,12,13,13,13,11,11,14,12,12,11,11,14,12,12,12,12,14,12,12,12,12,14,12,12,12,12,14,13,13,11,11,14,12,12,11,11,14,12,12,12,12,14,13,13,12,12,14,12,12,12,12,14,13,13,11,11,14,12,12,11,11,14,13,13,11,11,15,13,13,12,12,14,12,12,12,12,15,13,13,12,12,14,12,12,11,11,15,13,13,11,11,12,9,9,11,11,13,7,7,11,11,13,8,8,12,12,14,10,10,10,10,14,14,14,11,11,14,8,8,12,12,14,14,14,12,12,14,7,7,11,11,14,9,9,12,12,14,14,14,11,11,14,8,8,12,12,14,14,14,12,12,14,7,7,11,11,14,9,9,12,12,14,14,14,11,11,14,10,10,12,12,14,14,14,13,13,14,9,9,11,11,14,10,10,12,11,15,14,14,11,11,14,15,15,12,12,15,14,14,14,14,15,14,14,11,11,15,14,14,12,12,15,14,14,11,11,14,11,11,10,10,15,10,10,10,10,15,10,10,10,10,15,11,11,9,9,15,12,13,9,9,15,11,11,11,11,15,13,13,11,11,15,10,10,10,10,15,11,11,10,10,15,13,13,11,11,15,11,11,11,11,15,13,13,11,11,15,10,10,10,10,15,11,11,10,10,15,13,13,10,11,15,12,12,11,11,15,13,13,11,10,15,11,11,10,10,15,11,12,10,9,15,13,13,10,10,15,14,14,11,11,15,13,13,11,11,15,14,14,10,10,15,13,13,10,10,15,14,14,10,10,14,13,13,10,10,15,13,13,10,10,15,13,13,10,10,14,14,14,8,9,15,14,14,9,9,15,14,14,11,11,15,14,14,10,10,15,14,14,10,10,15,14,14,11,11,15,14,14,10,10,15,14,14,11,11,15,14,14,10,10,15,14,14,10,10,15,14,14,10,10,15,14,14,9,9,15,14,14,11,11,15,14,14,11,11,15,14,14,10,10,15,14,14,10,10,14,14,14,9,9,15,15,15,11,11,15,14,14,12,12,15,15,15,10,10,15,14,15,10,10,15,15,15,9,9,15,10,10,13,13,17,8,8,12,12,17,10,9,13,13,18,11,11,12,12,18,14,14,12,12,17,9,9,13,13,17,13,13,12,12,18,8,8,12,12,18,10,10,12,12,18,14,14,12,12,18,10,10,13,13,18,13,13,13,13,18,9,9,12,12,18,10,10,13,13,18,14,14,12,12,18,11,11,13,13,18,14,14,13,13,18,10,10,12,12,17,11,11,12,12,18,14,14,12,12,18,14,14,13,13,18,14,14,13,13,19,14,15,12,12,18,14,14,12,12,18,15,15,12,12,13,7,7,11,11,14,15,15,11,11,14,16,15,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,11,12,14,15,15,12,12,13,15,15,11,11,14,15,15,11,11,15,15,15,12,12,14,15,15,12,12,14,16,16,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,15,15,15,12,12,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,14,15,12,12,15,15,15,12,12,15,16,16,12,12,15,15,15,12,12,14,15,15,12,12,15,15,15,12,12,13,13,13,11,11,14,14,15,11,11,14,14,14,12,12,14,15,15,10,10,15,15,15,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,15,15,12,12,15,15,15,11,11,14,15,15,12,12,14,14,15,11,11,14,15,15,11,11,14,15,15,12,12,15,15,15,11,11,15,15,15,12,12,14,15,15,12,12,14,15,15,10,10,14,15,15,11,11,15,15,15,10,10,15,15,15,12,12,15,15,15,14,14,15,15,15,11,11,15,15,15,11,11,15,15,15,11,11,14,10,10,10,10,15,9,9,12,11,15,10,10,12,12,15,11,11,11,11,15,13,13,12,12,16,10,10,12,12,15,13,13,12,12,15,9,9,11,11,15,10,10,13,12,15,13,13,11,11,15,10,10,12,12,15,13,13,12,12,15,9,9,11,11,15,10,10,12,12,15,13,13,11,11,15,11,11,12,12,15,13,13,13,13,15,10,10,11,11,15,11,11,12,12,15,13,14,11,11,15,14,14,13,13,16,14,14,20,19,15,14,14,11,11,15,13,14,12,12,15,14,14,11,11,14,13,13,10,10,14,14,13,11,11,15,13,14,12,12,15,14,14,12,12,15,14,14,11,11,15,14,14,12,12,15,15,14,13,13,15,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,13,13,15,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,15,14,14,11,11,15,15,15,12,12,15,15,15,13,13,16,14,14,12,12,15,15,15,13,13,15,15,15,12,12,15,15,15,12,12,14,10,10,13,13,17,9,9,12,12,17,9,9,13,13,17,11,11,12,12,18,14,14,12,12,18,10,10,13,13,18,14,13,12,12,18,9,9,12,12,18,10,10,12,13,18,14,14,12,12,17,9,9,12,12,17,13,14,12,12,17,9,9,12,12,17,10,10,12,12,17,14,14,11,11,18,11,11,12,12,18,14,14,12,13,18,10,10,12,12,18,11,11,12,12,18,14,14,11,11,18,15,15,12,12,18,14,14,13,13,18,14,15,12,12,17,14,14,12,12,17,15,15,12,12,13,7,7,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,14,15,15,11,11,14,15,15,12,12,14,15,15,11,11,15,15,15,11,11,15,15,15,12,12,14,15,15,12,12,14,15,16,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,15,15,15,12,12,15,16,16,12,12,15,15,15,12,12,15,15,15,12,12,15,15,15,12,12,13,13,13,12,12,14,14,14,11,11,14,14,14,12,12,14,14,14,10,10,15,15,15,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,14,14,12,12,15,15,14,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,14,14,11,11,15,14,14,10,10,14,15,15,12,12,14,14,14,12,12,14,15,15,10,10,14,15,15,11,11,15,15,15,10,10,15,15,15,12,12,15,14,14,13,13,15,15,15,10,10,15,14,14,11,11,15,15,15,10,10,14,10,10,10,10,14,9,9,12,12,15,10,10,12,12,14,11,11,11,11,15,13,14,12,12,15,10,10,13,13,15,13,13,12,12,15,9,9,12,12,15,10,10,13,13,15,13,14,11,11,15,10,10,12,12,15,13,13,12,12,15,9,9,11,11,15,10,10,12,12,15,13,13,11,11,15,11,11,12,12,15,13,13,13,13,15,10,10,11,11,15,11,11,12,12,15,14,14,11,11,15,14,14,13,13,15,14,14,20,19,15,14,14,11,11,15,14,14,12,12,15,14,14,11,11,14,13,13,11,11,15,13,13,11,11,15,14,13,12,12,15,14,14,11,12,15,14,14,11,11,15,14,14,12,12,14,14,14,13,13,15,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,13,13,14,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,15,14,14,11,11,14,14,14,12,12,15,15,15,13,13,16,14,14,12,12,15,15,15,13,13,15,14,14,12,12,15,15,15,12,12,15,11,11,13,13,18,10,10,12,12,17,11,11,12,12,18,12,12,11,11,18,14,14,12,12,18,10,10,13,13,18,14,14,12,12,18,10,10,12,12,18,11,11,12,12,18,14,14,12,12,18,11,11,12,13,18,14,14,12,12,18,10,10,12,12,18,11,11,12,12,18,14,14,11,11,18,11,11,12,12,18,14,14,12,12,17,10,10,11,11,17,12,12,11,11,17,14,14,11,11,18,15,15,12,12,18,14,14,13,13,18,15,15,11,11,18,15,14,12,12,18,15,15,11,11,14,8,8,11,11,14,15,15,10,10,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,15,15,15,11,11,15,15,15,12,12,14,15,15,10,10,15,15,15,11,11,15,15,15,12,12,15,15,15,11,11,15,15,15,13,13,14,15,15,10,10,15,15,15,11,11,15,15,15,12,12,15,15,15,12,12,15,16,16,12,12,15,14,14,11,11,15,15,15,11,11,15,15,15,12,12,16,15,15,13,13,15,16,16,13,13,16,15,15,12,12,15,15,15,12,12,15,15,15,12,12,14,13,13,11,11,14,14,14,11,11,14,14,14,12,12,15,14,14,11,11,15,15,14,11,11,15,14,14,12,12,15,14,14,12,12,14,15,15,11,11,15,14,14,12,12,15,14,14,11,11,15,14,15,12,12,15,14,14,12,12,14,15,15,11,11,15,14,14,11,11,15,14,14,11,11,15,15,14,12,12,15,14,14,12,12,15,15,15,10,11,15,14,14,11,11,15,15,15,10,10,15,15,15,12,12,16,14,14,13,13,15,15,15,11,11,15,14,14,11,11,15,15,15,11,11,14,11,11,9,9,14,10,10,12,12,15,11,11,12,12,15,12,12,12,12,15,14,14,13,13,15,11,11,12,12,15,14,14,13,13,14,10,10,12,12,15,11,11,13,13,15,14,14,12,12,15,10,10,12,12,14,14,14,13,13,14,10,10,11,11,15,11,11,12,12,15,14,14,12,12,15,12,12,13,13,15,14,14,14,14,15,11,11,11,11,15,12,11,12,12,15,14,14,11,11,15,15,15,13,14,15,14,14,20,19,15,14,14,12,12,15,14,14,13,13,15,14,14,12,12,14,13,13,10,10,14,13,13,11,11,14,13,13,11,11,15,14,14,12,12,15,14,14,12,12,15,14,14,12,11,14,14,14,13,13,15,14,14,11,11,15,14,14,11,11,15,14,14,14,14,15,14,14,11,12,15,14,14,13,13,14,14,14,11,11,15,14,14,11,11,15,14,14,14,14,15,14,14,12,12,15,14,14,13,13,15,14,14,11,11,14,14,14,12,12,15,14,14,13,13,15,15,15,13,13,15,14,14,13,13,15,15,15,13,13,15,14,14,13,13,15,15,15,13,13,15,14,14,13,13,18,15,15,12,12,18,15,15,12,12,18,16,16,11,11,18,17,17,12,12,18,15,15,13,13,18,17,17,12,12,18,15,15,12,12,18,15,16,12,12,18,17,17,12,12,18,15,15,13,12,17,16,17,12,12,17,15,15,11,12,18,15,15,12,12,18,17,17,11,11,18,16,16,12,12,18,17,16,12,12,18,15,15,11,11,18,15,15,12,12,18,17,17,11,11,18,17,17,12,12,18,16,16,13,13,18,17,17,11,11,17,16,16,11,11,18,17,17,11,11,15,15,15,11,11,16,15,15,11,11,16,15,15,11,11,16,15,15,12,12,17,15,15,14,14,16,15,15,11,11,17,15,15,14,14,16,15,15,11,11,16,15,15,12,12,18,15,15,13,13,16,15,15,11,11,17,15,15,14,14,16,15,15,11,11,16,15,15,12,12,17,15,15,13,13,16,15,15,12,12,17,16,15,14,14,16,15,15,11,11,16,15,15,12,12,18,15,15,13,13,17,15,15,14,14,17,16,16,15,15,18,14,15,13,13,18,15,15,14,14,18,15,15,13,13,15,13,13,12,12,15,14,14,12,12,16,14,14,12,12,16,14,14,12,12,17,14,15,12,12,16,14,14,12,12,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,17,14,14,12,12,16,14,14,12,12,17,14,14,13,13,15,15,15,11,11,16,14,14,12,12,17,14,14,12,12,16,15,15,12,12,17,14,14,13,12,16,15,15,11,11,16,14,14,12,12,17,15,15,11,11,17,15,15,13,13,17,14,14,13,13,18,15,15,12,12,17,14,14,12,12,17,15,15,12,12,14,15,15,9,9,14,15,15,12,12,15,16,15,13,13,15,15,15,14,14,15,15,15,21,19,15,15,15,13,13,15,15,15,19,19,15,15,15,12,12,15,16,16,14,14,15,15,15,19,19,15,16,15,13,13,15,16,16,19,20,15,15,15,12,13,15,16,16,14,14,15,15,15,20,19,15,15,15,14,14,15,16,16,19,19,15,15,15,14,13,15,15,15,14,14,15,15,15,19,19,15,16,16,20,19,15,17,16,21,20,15,15,15,20,19,15,16,16,20,20,15,15,15,19,20,14,13,13,10,10,14,14,14,11,11,14,14,14,12,12,15,14,14,13,13,15,15,14,20,20,15,14,14,12,12,14,14,14,19,19,15,14,14,11,11,15,14,14,12,12,15,14,14,20,19,15,14,14,12,12,14,14,14,20,20,14,14,14,11,11,15,14,14,12,12,15,14,14,20,21,15,14,14,13,13,15,14,14,20,20,15,14,14,12,12,15,14,14,13,13,14,15,15,20,20,15,15,15,20,19,15,14,14,20,19,15,15,15,20,20,15,14,14,21,20,15,15,15,20,20,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,6,7,7,7,8,8,7,8,8,10,11,11,9,8,8,8,8,8,11,11,12,9,8,8,5,7,7,9,11,11,10,11,11,10,11,11,12,14,14,11,12,12,10,12,12,13,14,14,12,12,12,5,6,6,7,6,6,8,7,7,8,7,7,11,10,10,10,7,7,9,8,8,12,11,11,10,7,7,7,7,7,11,10,10,12,10,10,11,10,10,15,13,13,13,10,10,12,11,11,15,13,13,14,11,11,7,7,7,11,11,11,12,11,11,12,11,11,14,14,14,13,12,12,12,12,12,16,15,15,14,12,12,0,10,10,0,11,11,0,12,12,0,11,11,0,14,14,0,11,11,0,12,12,0,15,15,0,11,11,7,8,8,12,11,10,12,10,10,12,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,12,11,11,12,11,11,15,14,14,14,12,12,13,12,12,15,14,14,15,13,13,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,13,13,0,15,14,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,5,5,0,8,8,0,8,8,0,9,9,0,10,10,0,8,8,0,8,8,0,10,10,0,8,8,0,7,7,0,8,8,0,7,7,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,7,7,0,6,6,0,7,7,0,7,7,0,10,10,0,6,6,0,7,7,0,10,10,0,5,5,0,8,8,0,7,7,0,8,8,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,7,7,0,6,6,0,9,10,0,10,10,0,10,10,0,11,11,0,9,9,0,10,10,0,11,11,0,9,9,0,8,8,0,8,8,0,8,8,0,9,9,0,9,9,0,7,7,0,8,8,0,9,9,0,7,7,0,8,8,0,7,7,0,7,7,0,8,8,0,9,9,0,7,7,0,7,7,0,8,8,0,6,6,0,6,6,0,10,10,0,10,10,0,10,10,0,12,12,0,9,9,0,10,10,0,12,12,0,9,9,0,8,8],"i8",N3,F.GLOBAL_BASE+446300),E3([7,7,0,7,7,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,6,6,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,6,6,5,7,8,0,8,8,6,9,9,7,10,10,0,8,8,0,9,9,0,12,12,0,8,8,4,7,7,6,10,10,0,12,12,7,11,11,8,12,12,0,12,12,0,13,12,0,15,15,0,12,12,0,7,7,0,7,7,0,7,7,0,8,8,0,10,10,0,7,7,0,8,8,0,11,11,0,7,7,5,7,7,8,9,9,0,10,10,8,9,9,11,11,11,0,10,9,0,11,11,0,13,13,0,10,10,6,7,7,8,10,10,0,12,12,9,10,10,10,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,10,10,0,11,11,0,11,11,0,11,11,0,13,13,0,11,11,0,11,11,0,15,15,0,10,10,0,8,8,0,10,10,0,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,11,11,0,7,7,0,10,10,0,12,12,0,10,10,0,12,12,0,12,12,0,13,13,0,14,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,9,9,0,0,0,8,8,0,0,0,9,9,0,0,0,12,12,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,5,5,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,5,5,0,0,0,7,7,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,5,5,0,0,0,7,7,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,11,0,0,0,9,9,0,0,0,10,10,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,7,7,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,8,8,0,0,0,10,11,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,7,7,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,7,8,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,9,9,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,9,9,0,0,0,10,10,0,0,0,12,12,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,5,16,9,9,13,18,21,4,2,21,6,6,10,15,21,16,19,6,5,7,10,13,16,8,6,5,4,4,8,13,16,8,5,6,4,4,7,12,15,13,10,9,7,7,9,13,16,18,15,13,12,9,7,10,14,21,18,13,13,7,5,8,12,2,0,0,0,64,0,0,0,192,58,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,11,7,0,0,0,0,0,0,0,0,0,176,11,7,0,0,0,0,0,0,0,0,0,216,11,7,0,0,12,7,0,0,0,0,0,0,0,0,0,40,12,7,0,80,12,7,0,0,0,0,0,0,0,0,0,120,12,7,0,160,12,7,0,0,0,0,0,0,0,0,0,200,12,7,0,240,12,7,0,160,12,7,0,0,0,0,0,24,13,7,0,64,13,7,0,160,8,7,0,200,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,72,11,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,64,11,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,8,7,0,80,8,7,0,0,0,0,0,0,0,0,0,120,8,7,0,160,8,7,0,200,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,88,10,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,8,11,7,0,0,0,0,0,2,0,0,0,25,0,0,0,32,10,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,10,7,0,0,0,0,0,2,0,0,0,9,0,0,0,0,10,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,16,10,7,0,0,0,0,0,1,0,0,0,25,0,0,0,120,9,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,152,9,7,0,0,0,0,0,1,0,0,0,25,0,0,0,240,8,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,16,9,7,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,4,4,5,5,5,4,5,4,5,5,5,5,6,5,6,5,6,5,6,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,8,8,8,8,9,9,10,10,10,10,4,6,5,8,7,9,9,9,9,10,9,11,9,4,5,6,7,8,9,9,9,9,9,10,9,10,8,9,8,9,8,10,9,11,9,12,10,12,10,8,8,9,8,9,9,10,9,11,10,12,10,12,9,10,10,11,10,12,11,12,11,12,12,12,12,9,10,10,11,11,11,11,11,12,12,12,12,12,10,11,11,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,13,12,13,12,13,12,12,11,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,12,13,12,12,12,13,12,13,12,13,12,13,12,13,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,4,13,9,9,12,15,17,4,2,18,5,7,10,14,18,11,8,6,5,6,8,11,14,8,5,5,3,5,8,11,13,9,6,7,5,5,7,9,10,11,10,9,8,6,6,8,10,14,14,11,11,9,8,9,10,17,17,14,13,10,9,10,10,5,0,0,0,243,0,0,0,184,57,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,176,58,7,0,0,0,0,0,5,0,0,0,53,12,0,0,104,45,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,57,7,0,0,0,0,0,5,0,0,0,243,0,0,0,96,44,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,88,45,7,0,0,0,0,0,5,0,0,0,243,0,0,0,88,43,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,80,44,7,0,0,0,0,0,5,0,0,0,243,0,0,0,80,42,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,72,43,7,0,0,0,0,0,5,0,0,0,53,12,0,0,0,30,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,42,7,0,0,0,0,0,5,0,0,0,53,12,0,0,176,17,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,232,29,7,0,0,0,0,0,1,0,0,0,7,0,0,0,136,17,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,144,17,7,0,0,0,0,0,5,0,0,0,243,0,0,0,128,16,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,120,17,7,0,0,0,0,0,5,0,0,0,243,0,0,0,120,15,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,112,16,7,0,0,0,0,0,5,0,0,0,243,0,0,0,112,14,7,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,104,15,7,0,0,0,0,0,5,0,0,0,243,0,0,0,104,13,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,96,14,7,0,0,0,0,0,1,9,9,6,9,9,5,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,7,7,7,7,7,7,7,8,8,9,9,9,9,7,7,8,8,8,9,9,9,9,7,8,6,7,7,8,8,8,8,8,8,9,8,8,10,9,9,10,8,8,10,8,8,10,9,9,10,8,8,6,6,6,8,6,6,8,7,7,8,7,7,10,8,8,9,7,7,9,7,7,10,8,9,9,7,7,7,7,7,10,8,8,11,8,8,10,8,8,12,9,9,12,8,8,11,9,9,12,9,9,11,8,8,7,7,7,10,9,9,10,9,9,10,9,9,11,10,10,10,9,9,11,9,9,11,10,10,11,9,9,9,8,8,10,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,9,9,11,10,10,11,9,9,8,8,8,11,9,9,11,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,9,9,12,8,8,8,7,7,10,9,9,10,9,9,11,9,9,11,11,11,11,9,9,11,10,10,11,11,11,11,9,9,10,9,9,11,9,9,11,9,10,11,10,9,11,10,10,11,9,9,11,9,10,11,10,10,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,6,6,7,7,7,7,8,8,7,9,9,11,11,11,9,8,8,8,9,9,12,11,11,9,8,8,6,7,7,10,11,10,10,10,10,11,11,10,14,13,14,12,11,11,11,11,11,15,14,14,13,12,12,5,6,6,8,5,5,8,7,7,8,8,8,12,10,10,9,7,7,9,7,8,12,10,10,10,7,7,7,8,8,12,10,10,12,10,10,11,10,10,15,13,13,13,10,10,11,10,10,16,13,14,14,10,10,7,7,7,12,11,11,12,11,11,11,11,11,16,15,15,14,12,12,12,11,11,16,15,16,14,12,12,10,9,9,14,11,11,13,11,11,12,11,11,16,14,14,14,11,11,12,11,11,17,15,15,14,11,11,7,8,8,12,11,11,12,10,10,12,10,10,16,14,13,14,10,10,12,10,10,17,14,14,14,10,10,8,7,7,13,11,11,12,11,11,12,11,11,16,15,14,14,12,12,12,11,11,16,15,14,15,12,12,11,10,10,13,11,11,13,12,11,13,11,11,17,14,14,14,11,11,13,11,11,17,14,15,14,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,14,14,6,7,7,14,14,7,7,7,15,15,0,12,12,15,15,0,13,13,15,15,7,8,8,15,15,10,10,10,16,16,9,8,8,15,15,0,13,13,18,17,0,13,13,16,16,8,8,8,15,15,12,11,11,16,16,9,8,8,15,15,0,13,13,18,18,0,13,13,16,16,0,14,14,17,17,0,20,0,19,20,0,12,12,16,16,0,16,16,20,22,0,14,14,16,16,0,14,14,17,17,0,20,22,20,19,0,13,13,15,16,0,17,18,0,21,0,15,15,16,16,5,7,7,13,13,8,9,9,14,14,10,10,10,14,14,0,20,22,18,18,0,22,21,18,17,9,10,10,14,14,12,12,12,17,17,12,10,10,14,14,0,0,20,17,17,0,22,21,17,18,11,10,10,14,14,14,13,13,18,18,12,11,11,14,14,0,22,21,18,19,0,20,0,17,17,0,22,0,18,18,0,0,0,0,0,0,20,20,17,17,0,22,0,22,21,0,21,0,19,18,0,22,22,18,18,0,0,0,0,0,0,21,0,17,17,0,22,0,20,20,0,0,0,19,18,6,6,6,12,12,8,6,6,10,10,8,6,6,13,12,0,10,10,11,11,0,11,11,13,13,8,7,7,13,13,11,9,9,13,13,10,6,6,12,12,0,10,10,14,14,0,10,10,13,13,9,7,7,13,13,12,10,10,13,13,10,6,6,12,12,0,11,11,15,15,0,10,10,13,13,0,12,12,15,14,0,19,20,16,17,0,9,9,13,13,0,14,14,20,21,0,12,11,13,12,0,12,12,15,14,0,20,19,17,17,0,10,10,12,13,0,15,15,22,21,0,12,12,12,13,0,10,10,12,12,0,11,11,15,15,0,11,11,15,15,0,15,15,22,22,0,16,17,0,0,0,11,11,15,15,0,14,14,18,18,0,11,11,16,16,0,16,15,0,21,0,16,16,0,0,0,12,12,15,15,0,14,14,19,19,0,11,11,15,15,0,15,15,22,0,0,16,16,22,0,0,16,16,0,21,0,0,0,0,0,0,15,15,19,20,0,18,18,0,0,0,17,17,0,0,0,17,17,0,0,0,0,0,0,0,0,16,15,22,21,0,20,20,0,0,0,18,18,0,0,0,10,10,12,12,0,10,10,11,11,0,11,11,12,12,0,11,11,9,9,0,13,12,12,12,0,11,11,13,13,0,13,13,12,12,0,10,10,12,12,0,13,12,13,13,0,12,12,12,12,0,11,11,13,13,0,13,13,12,12,0,10,10,12,12,0,13,13,14,13,0,12,12,12,12,0,14,13,13,14,0,20,21,15,15,0,11,11,12,12,0,15,16,20,20,0,12,13,10,10,0,13,13,14,13,0,20,20,15,15,0,11,11,12,12,0,16,17,21,21,0,13,13,11,11,6,7,7,16,15,11,9,9,14,15,12,9,9,16,16,0,13,13,15,15,0,14,14,17,17,10,9,9,16,16,14,12,12,16,16,12,9,9,15,15,0,13,13,17,18,0,13,13,15,15,12,10,10,17,17,15,12,12,17,17,13,9,9,16,16,0,13,13,18,19,0,14,14,16,16,0,15,15,18,18,0,0,0,20,19,0,12,12,17,16,0,16,17,0,21,0,14,15,16,16,0,15,15,18,18,0,0,22,19,21,0,13,13,16,16,0,18,17,22,22,0,15,15,16,16,7,7,7,13,13,11,10,10,15,15,12,10,10,14,14,0,21,0,18,17,0,21,22,18,18,11,10,10,15,15,14,12,12,17,17,14,11,11,14,14,0,21,20,18,18,0,22,21,18,17,12,11,10,16,16,16,14,14,17,19,14,11,11,15,15,0,0,22,19,19,0,21,22,18,18,0,21,0,18,19,0,0,0,22,0,0,22,21,17,17,0,0,0,20,22,0,0,21,18,18,0,0,0,19,20,0,0,0,0,0,0,0,21,17,17,0,0,0,22,21,0,0,0,19,19,10,9,9,14,13,13,10,10,12,12,13,10,10,14,14,0,13,13,12,12,0,15,14,16,15,13,10,10,14,14,15,12,12,14,14,15,10,10,14,14,0,14,14,15,15,0,14,13,14,14,13,10,10,15,15,17,13,13,15,15,14,10,10,14,14,0,14,14,15,16,0,14,14,15,15,0,15,15,16,16,0,21,22,17,18,0,12,12,14,14,0,17,17,20,21,0,14,14,14,14,0,15,15,16,16,0,21,22,18,18,0,13,13,14,14,0,18,18,22,0,0,15,15,14,14,0,11,11,13,13,0,12,12,16,15,0,12,12,16,16,0,16,16,0,0,0,16,17,0,22,0,12,12,16,16,0,14,14,17,18,0,11,11,16,16,0,15,15,0,21,0,16,16,21,22,0,12,12,16,16,0,15,15,19,19,0,12,12,17,16,0,16,16,21,22,0,16,16,0,0,0,17,17,0,22,0,0,0,0,0,0,15,15,19,20,0,17,19,0,0,0,17,17,22,0,0,17,17,0,22,0,0,0,0,0,0,15,15,21,0,0,19,20,0,0,0,19,18,22,0,0,11,12,14,14,0,11,11,14,14,0,12,12,15,15,0,13,13,13,13,0,14,14,16,16,0,12,12,15,15,0,14,14,16,15,0,11,11,15,15,0,13,13,16,16,0,13,13,15,15,0,12,12,15,15,0,15,14,16,16,0,11,11,15,15,0,14,14,17,17,0,13,13,15,15,0,15,15,16,16,0,0,0,18,18,0,12,12,14,14,0,16,16,22,0,0,14,14,15,15,0,15,15,16,17,0,21,22,18,18,0,13,13,15,14,0,18,17,22,0,0,14,14,15,15,8,8,8,16,15,12,10,10,16,15,12,10,10,16,16,0,14,14,16,17,0,14,14,17,16,12,10,10,17,18,14,12,12,18,18,14,10,10,16,16,0,14,14,18,18,0,14,14,16,16,12,9,9,16,16,17,13,13,16,17,14,9,9,15,15,0,14,14,18,19,0,13,13,15,15,0,15,15,18,19,0,0,0,22,21,0,13,13,16,16,0,16,16,22,0,0,15,15,16,16,0,14,14,18,17,0,0,0,20,0,0,13,13,16,16,0,18,18,0,0,0,15,15,16,16,8,7,7,13,13,12,10,10,15,15,12,10,10,14,14,0,22,22,19,18,0,0,0,18,18,12,10,10,15,15,14,13,13,17,17,14,11,11,15,15,0,19,20,18,18,0,22,21,17,18,13,11,11,15,15,16,13,13,18,18,14,11,11,14,15,0,22,21,20,19,0,22,21,17,17,0,0,22,19,18,0,0,0,0,0,0,22,20,17,17,0,0,0,21,20,0,0,0,19,17,0,0,22,19,19,0,0,0,0,0,0,22,20,18,17,0,0,0,0,0,0,0,0,18,18,0,10,10,14,14,0,11,11,14,14,0,11,11,15,15,0,14,14,14,14,0,15,15,16,16,0,11,11,16,16,0,13,13,16,16,0,11,11,15,15,0,14,14,16,16,0,14,14,15,15,0,11,11,15,15,0,13,13,15,15,0,10,10,15,15,0,15,15,17,17,0,14,14,14,14,0,16,16,16,16,0,0,22,19,19,0,13,13,14,14,0,17,17,0,0,0,15,15,14,14,0,16,16,17,17,0,0,22,18,18,0,13,13,14,14,0,21,18,0,0,0,15,15,14,14,0,11,11,13,13,0,12,12,15,15,0,12,12,16,15,0,16,16,0,0,0,17,17,22,22,0,12,12,16,16,0,14,14,18,18,0,11,12,16,16,0,15,16,0,21,0,16,16,22,21,0,12,12,16,16,0,15,15,19,20,0,11,12,16,16,0,15,15,20,22,0,16,16,0,22,0,17,17,22,0,0,0,0,0,0,0,15,15,21,22,0,19,18,0,0,0,17,17,0,0,0,17,17,0,22,0,0,0,0,0,0,16,15,22,0,0,19,19,0,0,0,17,18,0,0,0,12,12,15,15,0,12,12,15,15,0,12,12,15,15,0,13,13,14,14,0,15,15,16,17,0,12,12,16,16,0,14,14,16,16,0,12,11,15,16,0,14,14,16,17,0,14,14,16,16,0,13,12,16,16,0,15,15,16,16,0,11,11,15,15,0,14,14,16,16,0,14,14,15,15,0,15,15,18,17,0,0,22,0,20,0,13,13,15,15,0,16,17,22,22,0,14,14,15,15,0,15,15,17,18,0,20,0,19,19,0,13,13,15,15,0,18,18,22,0,0,14,14,15,15,0,11,11,16,16,0,14,14,17,16,0,13,13,17,17,0,16,16,17,17,0,17,17,18,19,0,12,12,16,17,0,15,15,18,18,0,12,12,16,16,0,16,16,19,18,0,16,16,17,16,0,12,13,17,17,0,17,16,18,17,0,13,12,16,16,0,16,16,18,19,0,16,16,16,17,0,16,16,18,18,0,22,0,22,22,0,13,13,16,16,0,19,18,22,20,0,16,15,16,16,0,16,17,18,18,0,0,0,22,20,0,14,14,16,16,0,19,19,0,0,0,16,16,16,16,0,9,9,13,13,0,13,13,15,15,0,14,14,15,15,0,0,22,17,18,0,22,0,18,19,0,12,12,15,15,0,15,16,17,17,0,14,14,14,14,0,22,0,18,18,0,21,22,17,17,0,13,13,15,15,0,17,17,17,18,0,14,14,15,15,0,22,21,21,19,0,20,21,17,17,0,21,21,19,18,0,0,0,0,0,0,21,21,17,17,0,0,0,22,22,0,0,22,19,18,0,0,21,19,18,0,0,0,0,22,0,19,20,17,17,0,0,0,0,22,0,0,0,19,18,0,19,19,15,16,0,21,19,16,17,0,0,21,17,17,0,0,22,17,17,0,22,22,18,19,0,20,20,16,16,0,0,22,18,18,0,20,19,16,17,0,22,21,20,19,0,0,21,17,17,0,21,20,17,17,0,0,0,18,18,0,19,19,17,16,0,22,0,19,19,0,21,22,17,18,0,0,22,19,18,0,0,0,19,20,0,19,19,16,16,0,22,22,22,0,0,20,22,16,16,0,22,20,18,19,0,0,0,20,19,0,20,20,16,16,0,0,0,0,0,0,22,20,17,16,0,11,11,13,13,0,14,13,15,15,0,13,13,16,15,0,18,17,21,0,0,18,18,21,0,0,12,12,15,15,0,15,16,17,18,0,12,12,15,15,0,17,17,22,20,0,17,18,22,0,0,12,12,17,16,0,16,17,19,19,0,13,13,16,16,0,17,17,0,22,0,17,17,0,21,0,18,18,20,22,0,0,0,0,0,0,15,15,21,20,0,20,19,0,0,0,18,18,22,0,0,17,17,22,0,0,0,0,0,0,0,15,16,20,22,0,20,21,0,0,0,19,18,0,0,0,15,15,19,19,0,17,16,20,20,0,16,17,20,21,0,18,17,0,0,0,19,19,0,0,0,15,15,21,19,0,19,19,0,0,0,15,15,22,22,0,18,18,0,22,0,17,18,22,21,0,15,15,20,19,0,19,19,0,0,0,15,15,20,22,0,18,19,20,0,0,18,17,21,21,0,18,18,19,22,0,0,0,0,0,0,15,15,20,19,0,19,19,0,0,0,18,18,21,22,0,18,18,22,0,0,0,0,0,0,0,15,15,19,20,0,21,21,0,0,0,17,17,20,20,0,12,12,17,17,0,14,14,16,17,0,13,14,17,17,0,16,16,17,17,0,17,17,17,19,0,13,13,17,17,0,16,16,18,18,0,13,13,16,16,0,16,16,18,18,0,16,16,17,17,0,13,13,17,17,0,17,17,18,17,0,12,12,15,16,0,17,18,19,20,0,16,16,16,16,0,17,16,18,19,0,0,22,21,22,0,14,14,16,16,0,19,19,0,0,0,16,16,16,16,0,16,16,18,17,0,0,22,21,21,0,14,14,16,16,0,22,20,22,0,0,16,16,15,15,0,9,9,13,13,0,14,14,15,15,0,14,14,14,14,0,22,22,18,18,0,0,22,18,18,0,12,12,15,15,0,16,16,18,17,0,14,14,14,14,0,20,21,18,18,0,22,21,17,17,0,13,13,15,15,0,17,17,18,18,0,14,14,14,14,0,0,21,18,19,0,0,22,17,17,0,22,22,19,18,0,0,0,0,0,0,19,21,17,17,0,0,0,22,20,0,0,21,18,19,0,0,22,18,18,0,0,0,0,22,0,20,22,17,17,0,0,0,20,22,0,0,0,18,18,0,19,21,16,16,0,20,22,16,17,0,20,0,17,17,0,22,0,18,17,0,21,0,18,19,0,20,20,17,17,0,22,0,18,18,0,21,20,17,17,0,0,20,20,19,0,0,21,18,17,0,21,21,17,17,0,22,0,18,17,0,19,19,17,17,0,0,22,20,21,0,0,21,17,17,0,22,0,18,18,0,0,0,20,22,0,20,19,16,16,0,0,0,0,0,0,22,22,17,17,0,22,0,18,19,0,0,0,21,20,0,19,21,16,17,0,0,0,0,0,0,22,22,17,16,0,11,11,13,13,0,13,13,15,15,0,13,13,15,15,0,17,17,22,21,0,18,18,22,0,0,12,13,16,15,0,15,16,18,18,0,13,13,16,16,0,17,17,0,22,0,17,17,22,22,0,13,13,16,16,0,16,16,19,18,0,13,13,16,16,0,18,17,0,20,0,18,17,20,0,0,17,17,21,0,0,0,0,0,0,0,15,15,21,22,0,19,20,0,0,0,18,18,0,0,0,18,17,0,0,0,0,0,0,0,0,16,16,22,22,0,20,20,0,0,0,21,19,0,0,0,15,15,20,19,0,16,16,22,20,0,17,17,0,22,0,18,18,0,22,0,19,17,0,0,0,15,16,22,20,0,18,19,0,0,0,16,16,22,20,0,18,18,0,22,0,18,18,22,0,0,16,16,21,20,0,19,20,0,22,0,16,16,0,22,0,18,18,0,22,0,18,18,0,21,0,19,18,0,22,0,0,0,0,0,0,16,16,21,20,0,20,0,0,0,0,18,18,21,0,0,18,18,0,0,0,0,0,0,0,0,16,16,21,19,0,0,0,0,0,0,18,18,0,21,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,5,8,8,12,10,10,12,12,12,10,10,12,12,13,11,11,12,12,13,12,12,12,12,13,10,10,13,13,13,13,13,13,13,13,10,10,13,13,13,11,11,13,13,14,13,13,12,12,13,10,10,13,13,13,13,13,13,13,13,10,10,12,12,13,11,11,13,13,13,13,13,12,12,13,12,12,13,13,13,13,13,13,13,14,11,11,12,12,14,12,12,13,12,14,14,14,12,12,13,14,14,13,13,14,13,13,13,13,14,14,14,12,12,14,13,13,13,13,14,14,14,12,12,12,8,8,11,11,12,12,12,11,11,12,11,11,10,10,13,12,12,10,10,13,12,12,10,10,13,12,12,12,12,14,12,12,12,12,13,13,13,11,11,14,12,12,11,11,14,12,12,12,12,14,12,12,12,12,13,12,12,12,12,13,13,13,11,11,14,12,12,11,11,14,12,12,12,12,14,13,13,12,12,14,12,12,12,11,14,13,13,11,11,14,13,12,11,11,14,13,13,11,11,14,13,13,12,12,14,12,12,12,12,15,13,13,12,12,14,12,12,11,11,14,13,13,11,11,12,9,9,10,10,12,7,7,11,11,12,9,9,12,12,13,10,10,10,10,14,14,14,11,11,13,9,9,12,12,14,14,14,12,12,13,8,8,11,11,14,9,9,12,12,14,14,14,11,11,13,9,9,12,12,14,14,14,12,12,14,8,8,11,11,14,9,9,12,12,14,14,14,11,11,14,10,10,12,12,14,14,14,13,13,14,9,9,11,11,14,10,10,12,12,14,14,14,11,11,14,14,15,12,12,15],"i8",N3,F.GLOBAL_BASE+456540),E3([14,14,14,14,15,14,14,11,11,14,14,14,12,12,14,14,14,11,11,14,11,11,10,10,14,10,10,10,10,14,10,10,10,10,15,11,11,9,9,14,12,12,9,9,15,11,11,11,11,15,13,13,11,11,15,10,10,10,10,15,11,11,10,10,15,13,13,11,11,15,11,11,11,11,15,13,13,11,11,15,10,10,10,10,15,11,11,10,10,15,13,13,11,11,15,12,12,11,11,15,13,13,11,11,15,11,11,10,10,15,12,12,10,10,15,13,13,10,10,15,14,14,11,11,15,13,13,11,11,15,14,14,10,11,15,13,13,10,10,15,13,14,10,10,14,13,13,10,10,14,13,13,10,10,14,13,13,10,10,14,13,13,9,9,14,14,14,9,9,15,14,14,11,11,15,14,14,10,10,15,14,14,10,10,15,14,14,11,11,15,14,14,10,10,15,14,14,11,11,15,14,14,10,10,14,14,14,10,10,15,14,14,10,10,14,14,14,10,10,15,14,14,11,11,15,14,14,11,11,14,14,14,10,10,15,14,14,10,10,14,14,14,9,9,15,15,15,11,11,15,14,14,12,12,15,15,14,10,10,15,14,14,10,10,14,15,15,9,9,14,10,10,12,12,17,9,9,12,12,17,10,10,13,13,17,11,11,12,12,18,14,14,12,12,17,10,10,13,13,17,14,14,12,12,17,9,9,12,12,17,11,11,12,12,17,14,14,12,12,18,10,10,13,13,18,14,14,13,13,18,9,9,12,12,18,10,10,13,13,18,14,14,12,12,18,11,11,13,13,18,14,14,13,13,18,10,10,12,12,17,11,11,12,12,17,14,14,12,12,18,15,15,13,13,18,14,14,14,14,18,15,15,12,12,18,14,14,12,12,18,15,15,12,12,13,7,7,11,11,14,15,15,11,11,14,15,15,12,12,14,15,15,11,11,15,15,15,11,11,14,15,15,12,12,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,14,15,15,12,12,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,15,15,15,12,12,14,15,15,12,12,14,15,14,12,12,14,15,15,11,11,15,14,14,12,12,15,15,15,12,12,15,16,16,12,12,15,15,15,12,12,15,15,15,12,12,15,15,15,12,12,13,13,13,11,10,14,14,15,11,11,14,14,14,12,12,15,14,14,10,10,15,15,15,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,15,15,12,12,15,15,15,11,11,14,15,15,12,12,14,14,14,12,12,14,15,15,11,11,14,15,15,12,12,15,15,15,11,11,15,15,15,12,12,15,14,14,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,10,10,15,15,16,12,12,15,15,15,14,14,15,15,15,11,11,15,15,15,12,12,15,15,15,11,11,14,11,11,10,10,15,9,9,12,12,15,10,10,12,12,15,11,11,11,11,15,14,14,12,12,15,10,10,13,13,15,14,14,12,12,15,9,9,12,12,15,10,10,13,13,15,13,13,12,11,15,10,10,12,12,15,14,14,12,12,15,9,9,11,11,15,11,11,12,12,15,13,13,11,11,15,11,11,13,13,15,13,14,13,14,15,11,11,11,11,15,11,11,12,12,15,14,14,11,11,15,14,14,13,13,15,14,14,20,20,15,14,14,12,12,15,14,14,12,12,15,14,14,11,11,14,13,13,10,10,14,13,13,12,12,14,14,13,12,12,15,14,14,12,12,15,14,14,11,11,15,14,14,12,12,15,14,14,13,13,15,14,14,12,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,13,13,15,14,14,12,11,15,14,14,12,12,15,14,14,13,13,15,14,14,13,13,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,15,15,15,13,13,15,15,15,13,13,15,14,14,13,13,15,15,15,13,13,15,14,15,12,12,15,15,15,13,13,14,10,10,12,13,17,9,9,12,12,17,10,10,13,13,17,11,11,12,12,18,14,14,12,12,18,10,10,13,13,18,14,14,12,12,17,9,9,12,12,18,10,11,13,13,18,14,14,12,12,17,10,10,12,12,17,14,14,12,12,17,9,9,12,12,17,11,11,12,12,17,14,14,12,12,18,11,11,12,12,18,14,14,13,13,18,11,11,12,12,18,11,11,12,12,18,14,14,12,12,18,15,15,12,12,18,14,14,13,13,18,15,15,12,12,17,14,14,12,12,17,15,15,12,12,13,7,7,11,11,14,15,15,11,11,14,15,15,11,11,14,15,14,12,12,15,15,15,12,11,14,15,15,12,12,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,13,13,14,15,15,11,11,14,15,15,13,12,14,15,15,11,11,14,15,15,11,11,15,15,15,13,13,14,15,15,12,12,15,15,15,12,12,15,15,15,11,11,15,15,15,11,11,15,15,15,12,12,15,15,15,13,13,15,16,16,12,12,15,15,15,12,13,15,15,15,12,12,15,15,15,12,12,13,13,13,11,11,14,14,14,11,11,14,14,14,12,12,14,14,14,10,10,15,14,14,11,11,14,15,15,12,12,14,14,14,12,12,14,15,15,11,11,14,15,14,12,12,15,14,14,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,14,14,12,12,15,15,14,11,11,15,15,15,12,12,15,14,14,12,12,14,15,15,11,11,14,15,14,11,11,15,15,15,10,10,15,15,15,12,12,15,14,14,14,13,15,15,15,11,11,15,15,15,11,11,15,15,15,10,10,14,11,11,10,10,15,9,9,12,12,15,10,10,12,12,15,11,11,11,11,15,14,14,12,12,15,10,10,13,13,15,13,13,12,12,15,9,9,12,12,15,11,11,13,13,15,14,14,12,12,15,10,10,13,13,15,13,14,12,12,15,9,9,12,12,15,10,10,13,13,15,13,13,11,11,15,11,11,13,13,15,14,14,13,13,15,10,10,11,11,15,11,11,12,12,15,14,14,11,11,15,14,14,13,13,15,14,14,21,20,15,14,14,11,11,15,14,14,12,12,15,14,14,11,11,14,13,13,10,10,14,13,13,11,11,15,14,14,12,12,15,14,14,12,12,14,14,14,12,12,15,14,14,12,12,15,14,14,13,13,14,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,13,13,14,14,14,11,11,15,14,14,11,11,14,14,14,13,13,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,14,14,14,13,13,15,15,15,13,13,16,14,14,12,13,15,15,15,13,13,15,14,14,12,12,15,15,15,13,13,15,11,11,13,12,18,10,10,12,12,17,11,11,12,12,18,12,12,11,11,18,14,14,12,12,18,11,11,13,13,17,14,14,12,12,18,10,10,12,12,18,12,12,12,12,18,14,15,12,12,18,11,11,13,13,18,14,14,12,12,17,10,10,12,12,18,11,11,12,12,18,15,14,12,12,17,12,12,12,12,17,14,14,12,12,17,11,11,11,11,17,12,12,12,11,17,15,15,11,11,18,15,15,12,12,18,14,15,13,13,18,15,15,11,11,17,15,15,12,12,18,15,15,11,11,14,9,9,11,11,14,15,15,11,11,15,15,15,11,11,15,15,15,12,11,15,15,15,12,12,15,15,15,11,11,15,15,15,13,13,14,15,15,11,11,15,15,15,11,11,15,15,15,13,13,15,15,15,11,11,15,15,15,13,13,15,15,15,11,11,15,15,15,11,11,15,15,15,13,13,15,15,15,12,12,15,15,15,13,13,15,15,14,11,11,15,15,15,12,12,15,15,15,12,12,16,15,15,13,13,15,16,16,13,13,16,15,15,12,12,15,15,15,13,12,15,15,15,12,12,13,12,12,11,11,14,14,14,11,11,14,14,14,12,12,15,14,14,11,11,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,14,15,15,11,11,15,14,14,12,12,15,14,14,11,11,15,14,14,12,12,15,14,14,12,12,14,15,15,11,11,15,14,14,12,12,15,14,14,11,11,15,15,15,12,12,15,14,14,12,12,15,15,15,11,11,15,14,14,11,11,15,14,15,11,11,15,15,15,12,12,15,14,14,13,13,16,15,15,11,11,15,14,14,12,12,15,15,15,11,11,14,11,11,9,9,15,10,10,12,12,14,11,11,12,12,15,12,12,12,12,15,14,14,13,13,15,11,11,13,13,15,14,14,13,13,15,10,10,12,12,15,12,12,13,13,15,14,14,13,13,15,11,11,12,12,15,14,14,13,13,14,10,10,12,12,15,12,12,13,13,15,14,14,12,12,15,12,12,13,13,15,14,14,15,15,15,11,11,12,12,15,12,12,12,13,15,14,14,12,12,15,15,15,14,14,15,14,14,20,20,15,14,14,12,12,15,14,14,13,13,15,14,14,12,12,14,13,13,10,10,14,13,13,11,11,14,13,13,12,12,14,14,14,12,12,15,14,14,13,13,15,14,14,12,12,14,14,14,14,14,14,14,14,11,11,15,14,14,12,12,15,14,14,14,14,15,14,14,12,12,14,14,14,14,14,14,14,14,11,11,15,14,14,12,12,14,14,14,14,14,15,14,14,12,12,15,14,14,13,13,15,14,14,12,12,15,14,14,12,12,14,14,14,14,13,15,15,15,14,14,15,14,14,13,13,15,15,15,14,14,15,14,14,13,13,15,15,15,13,13,14,13,13,13,13,18,15,15,12,12,18,15,15,13,12,18,15,16,11,11,18,16,17,12,12,18,15,15,13,13,18,17,17,12,12,18,15,15,12,12,17,15,15,12,12,18,17,17,12,12,18,15,15,13,13,18,16,17,12,12,17,15,15,12,12,18,15,15,12,12,18,16,17,11,12,18,16,16,12,12,17,16,17,12,12,18,15,15,11,11,18,15,15,12,12,18,17,17,11,11,17,17,17,12,12,18,16,16,13,13,18,17,17,11,11,18,16,16,12,12,18,17,17,11,11,15,14,14,11,11,16,15,15,11,11,16,15,15,12,12,16,15,15,12,12,17,15,15,14,13,16,15,15,12,12,17,15,15,14,14,16,15,15,11,11,16,15,15,12,12,18,15,15,13,13,16,15,15,11,11,17,15,15,14,14,16,15,15,11,11,16,15,15,12,12,17,15,15,13,13,16,15,15,12,12,17,16,15,14,14,16,14,15,12,12,16,15,15,12,12,18,15,15,13,13,17,15,15,14,14,17,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,15,12,13,11,11,15,14,14,12,12,16,14,14,12,12,16,14,14,12,12,16,14,14,12,12,16,14,14,13,12,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,17,14,14,12,12,16,14,14,12,12,17,14,14,13,13,15,15,15,12,12,16,14,14,12,12,17,14,14,12,12,17,15,15,12,12,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,17,15,15,12,12,18,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,17,15,15,12,12,14,15,15,9,9,15,15,15,12,12,15,15,15,13,13,15,15,15,14,14,15,15,15,19,19,15,15,16,13,13,15,15,16,19,20,15,15,15,13,12,15,16,16,14,14,15,15,15,19,19,15,15,15,13,13,15,16,15,20,19,14,15,15,13,13,15,15,15,14,14,15,15,15,19,19,15,15,15,14,14,15,16,16,19,20,15,15,15,14,14,15,15,15,14,14,15,15,15,19,19,15,15,15,20,19,15,16,16,20,19,15,15,15,19,19,15,16,16,20,20,15,15,15,19,20,14,13,13,10,10,14,14,14,11,11,14,14,14,12,12,15,14,14,13,13,15,14,14,19,20,15,14,14,12,12,14,14,14,20,19,14,14,14,11,11,15,14,14,12,12,15,14,14,20,20,15,14,14,12,12,14,14,14,20,19,14,14,14,11,11,15,14,14,12,12,15,14,14,19,20,15,14,14,13,13,15,14,14,22,19,15,15,14,12,12,15,14,14,13,13,14,15,15,22,20,15,15,15,20,20,15,14,14,21,20,15,15,15,20,21,15,14,14,20,20,14,15,15,20,20,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,7,7,7,7,7,7,7,8,8,10,11,11,9,8,8,8,8,8,11,11,11,10,8,8,5,7,7,9,11,11,10,11,11,10,11,11,12,13,14,11,12,12,10,11,11,13,14,14,12,12,12,5,6,6,8,6,6,8,7,7,8,7,7,11,10,10,10,7,7,9,7,7,12,11,11,11,7,7,7,7,7,11,10,10,12,10,10,11,10,10,15,13,13,13,10,10,12,11,11,15,13,13,14,11,11,7,7,7,11,11,11,12,11,11,12,11,11,14,14,14,14,12,12,12,12,12,16,15,15,14,12,12,0,10,10,0,11,11,0,11,12,0,11,11,0,14,14,0,11,11,0,12,12,0,15,15,0,11,11,8,8,8,12,10,10,12,10,10,13,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,13,11,11,12,11,11,15,14,14,14,12,12,13,12,12,15,14,14,15,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,13,13,0,14,15,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,0,8,8,0,8,8,0,9,9,0,10,10,0,8,8,0,9,9,0,10,10,0,8,8,0,7,7,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,7,7,0,6,6,0,7,7,0,7,7,0,10,10,0,6,6,0,7,7,0,10,10,0,6,5,0,8,8,0,7,7,0,8,8,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,7,7,0,6,6,0,9,10,0,10,10,0,10,10,0,11,11,0,9,9,0,10,10,0,11,11,0,9,9,0,8,8,0,8,8,0,8,8,0,9,9,0,9,9,0,8,8,0,8,8,0,9,9,0,7,7,0,8,8,0,7,7,0,7,7,0,8,8,0,9,9,0,7,7,0,7,7,0,9,9,0,6,6,0,6,6,0,10,10,0,10,10,0,10,10,0,12,12,0,9,9,0,10,10,0,12,12,0,9,9,0,8,8,0,7,7,0,8,8,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,7,7,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,5,8,8,0,8,8,6,9,9,8,10,10,0,8,8,0,9,9,0,12,12,0,8,8,4,7,7,6,10,10,0,12,12,7,11,11,9,12,12,0,12,12,0,13,13,0,15,15,0,12,12,0,7,7,0,7,7,0,8,8,0,8,8,0,10,10,0,7,7,0,8,8,0,11,11,0,7,7,5,7,7,9,9,9,0,11,10,9,9,9,11,12,12,0,10,10,0,11,11,0,13,13,0,11,11,6,7,7,9,10,10,0,12,12,10,11,11,11,12,12,0,12,12,0,13,13,0,15,15,0,12,12,0,10,10,0,11,11,0,11,11,0,12,12,0,13,13,0,11,11,0,12,12,0,15,15,0,11,11,0,8,8,0,10,10,0,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,11,11,0,7,7,0,10,10,0,12,12,0,10,10,0,12,13,0,12,12,0,13,13,0,14,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,7,7,0,0,0,8,8,0,0,0,8,8,0,0,0,11,11,0,0,0,0,0,0,0,0,10,9,0,0,0,0,0,0,0,0,9,9,0,0,0,10,11,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,5,5,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,5,5,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,5,6,0,0,0,7,7,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,11,0,0,0,9,9,0,0,0,10,10,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,11,12,0,0,0,0,0,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,7,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,9,9,0,0,0,10,10,0,0,0,11,12,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,8,8,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,9,9,0,0,0,10,10,0,0,0,12,12,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,5,16,9,9,12,17,18,4,2,18,6,5,9,13,15,10,7,7,6,7,9,13,13,8,5,6,5,5,7,11,12,8,4,7,4,3,6,10,12,11,8,9,7,6,8,11,12,15,13,13,11,9,7,10,12,16,12,16,12,6,5,8,11,2,0,0,0,64,0,0,0,144,111,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,64,7,0,0,0,0,0,0,0,0,0,128,64,7,0,0,0,0,0,0,0,0,0,168,64,7,0,208,64,7,0,0,0,0,0,0,0,0,0,248,64,7,0,32,65,7,0,0,0,0,0,0,0,0,0,72,65,7,0,112,65,7,0,0,0,0,0,0,0,0,0,152,65,7,0,192,65,7,0,112,65,7,0,0,0,0,0,232,65,7,0,16,66,7,0,112,61,7,0,152,61,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,24,64,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,16,64,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,60,7,0,32,61,7,0,0,0,0,0,0,0,0,0,72,61,7,0,112,61,7,0,152,61,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,40,63,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,216,63,7,0,0,0,0,0,2,0,0,0,25,0,0,0,240,62,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,63,7,0,0,0,0,0,2,0,0,0,9,0,0,0,208,62,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,224,62,7,0,0,0,0,0,1,0,0,0,25,0,0,0,72,62,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,104,62,7,0,0,0,0,0,1,0,0,0,25,0,0,0,192,61,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,224,61,7,0,0,0,0,0,3,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,6,5,4,5,5,5,6,5,5,6,6,6,5,6,5,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,8,8,9,9,10,10,11,11,4,6,5,8,7,9,8,10,9,11,10,11,11,4,5,6,7,8,8,9,9,10,10,10,10,11,8,9,8,10,8,10,9,11,10,11,11,11,11,8,8,9,8,10,9,10,10,11,11,11,11,11,9,10,10,11,11,11,11,11,11,12,11,12,11,9,10,10,10,11,11,11,11,11,11,12,11,12,10,11,11,12,11,12,12,12,12,12,12,12,12,10,11,11,11,11,12,12,12,13,12,12,12,12,11,12,12,12,12,13,13,12,12,12,12,12,12,11,12,12,12,12,13,13,12,13,12,12,12,12,12,13,13,13,13,13,13,12,13,12,13,12,12,12,13,13,13,13,13,13,13,12,13,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,4,9,8,8,10,13,16,4,2,9,5,7,10,14,18,9,7,6,5,7,9,12,16,7,5,5,3,5,8,11,13,8,7,7,5,5,7,9,11,10,10,9,8,6,6,8,10,13,14,13,11,9,8,9,10,17,18,16,14,11,10,10,10,5,0,0,0,243,0,0,0,136,110,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,128,111,7,0,0,0,0,0,5,0,0,0,53,12,0,0,56,98,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,112,110,7,0,0,0,0,0,5,0,0,0,243,0,0,0,48,97,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,40,98,7,0,0,0,0,0,5,0,0,0,243,0,0,0,40,96,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,32,97,7,0,0,0,0,0,5,0,0,0,243,0,0,0,32,95,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,24,96,7,0,0,0,0,0,5,0,0,0,53,12,0,0,208,82,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,8,95,7,0,0,0,0,0,5,0,0,0,53,12,0,0,128,70,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,184,82,7,0,0,0,0,0,1,0,0,0,7,0,0,0,88,70,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,96,70,7,0,0,0,0,0,5,0,0,0,243,0,0,0,80,69,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,72,70,7,0,0,0,0,0,5,0,0,0,243,0,0,0,72,68,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,64,69,7,0,0,0,0,0,5,0,0,0,243,0,0,0,64,67,7,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,56,68,7,0,0,0,0,0,5,0,0,0,243,0,0,0,56,66,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,48,67,7,0,0,0,0,0,1,9,9,6,9,9,5,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,7,7,7,7,7,7,7,8,8,9,9,9,8,7,7,8,8,8,9,9,9,9,8,8,6,7,7,9,8,8,9,7,7,9,8,8,10,8,8,10,8,8,10,8,8,10,8,9,10,8,8,7,6,6,8,6,6,9,6,6,9,7,7,10,8,8,9,6,6,9,7,7,10,9,8,9,7,7,7,7,7,11,8,8,11,9,9,10,9,9,12,9,9,12,8,8,11,9,9,12,9,9,12,8,8,8,7,7,10,9,9,10,9,9,10,9,9,11,10,11,11,9,9,11,9,9,11,11,11,11,9,9,10,8,8,11,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,9,9,12,10,10,11,9,9,8,8,8,11,9,9,12,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,9,10,12,8,8,9,7,7,11,9,9,11,10,10,11,9,9,11,11,11,11,9,9,11,10,10,12,11,11,11,9,10,10,9,9,11,9,9,11,10,10,11,10,10,11,11,11,11,9,9,11,9,10,11,11,11,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,7,7,7,8,8,7,8,8,7,9,9,10,11,11,9,8,8,7,8,9,11,11,11,9,8,8,6,7,7,10,10,10,10,10,10,10,10,10,14,14,14,12,11,11,10,11,11,15,14,14,13,11,11,6,6,6,8,5,5,8,7,7,8,7,7,11,10,10,9,7,7,9,7,7,12,10,10,10,7,7,6,8,7,12,10,10,12,10,10,11,10,10,15,14,13,13,10,10,11,10,10,16,14,14,14,10,10,7,7,7,12,11,11,12,11,11,11,11,11,16,14,14,13,12,12,11,11,11,17,15,15,14,12,12,10,9,9,13,11,11,13,11,11,12,11,11,16,14,13,14,11,11,12,11,11,17,15,14,14,11,11,7,8,8,12,11,11,12,10,10,12,10,10,16,13,14,13,10,10,11,10,10,17,14,14,14,10,10,7,7,7,12,11,11,12,11,11,12,11,11,15,14,15,14,12,12,12,11,11,17,15,15,14,12,12,10,10,9,13,11,11,13,11,11,13,11,11,16,14,14,14,11,11,13,11,11,16,15,15,15,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,14,14,6,7,7,14,14,7,7,7,15,15,0,13,13,16,16,0,13,13,15,15,7,8,8,15,15,9,10,10,17,16,9,8,8,15,15,0,13,13,18,17,0,13,13,16,16,8,8,8,15,15,12,11,11,16,17,9,8,8,14,14,0,13,13,18,17,0,13,13,16,15,0,14,14,18,17,0,20,22,18,20,0,12,12,16,16,0,16,16,22,20,0,14,14,16,16,0,14,14,17,17,0,22,22,22,19,0,12,13,16,16,0,17,17,0,0,0,15,15,16,16,5,7,7,13,13,9,9,9,15,14,10,10,10,14,14,0,21,21,18,17,0,21,22,18,17,9,10,10,14,14,12,12,12,17,17,12,10,10,14,14,0,19,21,18,17,0,20,22,18,18,11,10,10,14,14,14,13,13,18,17,12,11,11,14,14,0,22,19,17,18,0,20,0,18,17,0,22,21,17,17,0,0,0,0,0,0,20,22,17,17,0,22,0,21,19,0,22,0,18,18,0,0,22],"i8",N3,F.GLOBAL_BASE+466780),E3([18,19,0,0,0,0,0,0,19,21,17,17,0,0,0,20,20,0,0,0,18,18,6,6,6,13,12,8,6,6,11,11,8,6,6,13,13,0,9,9,11,11,0,11,11,14,14,9,7,7,13,13,11,9,9,13,13,10,6,6,13,13,0,10,10,14,14,0,10,10,13,13,9,7,7,13,14,13,9,9,13,13,10,6,6,13,12,0,11,11,15,15,0,10,10,13,13,0,12,12,15,15,0,19,0,17,17,0,9,9,13,13,0,13,14,19,20,0,11,11,13,13,0,11,11,14,14,0,19,20,17,18,0,10,10,13,13,0,15,15,21,19,0,12,12,13,13,0,10,10,12,13,0,11,11,15,15,0,11,11,15,15,0,15,15,22,0,0,16,17,22,0,0,11,11,15,15,0,14,14,18,17,0,11,11,15,16,0,15,15,22,21,0,16,16,0,20,0,12,12,16,15,0,15,14,19,19,0,11,11,16,16,0,15,15,21,0,0,16,15,0,0,0,16,16,22,21,0,0,0,0,0,0,15,15,20,20,0,18,18,0,0,0,16,17,0,0,0,17,17,0,22,0,0,0,0,0,0,15,15,21,22,0,20,18,0,0,0,18,17,22,0,0,10,10,12,11,0,10,10,10,10,0,11,11,12,12,0,11,11,9,9,0,13,13,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,13,12,13,13,0,12,12,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,13,13,13,14,0,12,12,12,12,0,13,14,14,14,0,20,21,15,15,0,12,11,12,12,0,15,16,20,22,0,13,12,11,11,0,13,13,14,13,0,20,0,16,15,0,12,12,12,12,0,16,16,22,21,0,13,13,12,12,6,7,7,16,16,11,9,9,15,15,12,9,9,16,16,0,13,13,14,14,0,14,14,16,17,10,9,9,16,16,14,12,12,16,16,12,9,9,15,15,0,13,13,18,18,0,13,13,15,16,12,10,10,17,18,15,12,12,17,17,13,9,9,16,16,0,13,13,17,18,0,14,14,16,16,0,15,15,18,18,0,22,0,20,20,0,12,12,16,16,0,16,16,20,22,0,14,14,16,16,0,15,14,18,18,0,0,22,19,21,0,13,13,16,17,0,17,17,22,22,0,15,15,16,16,7,7,7,14,14,11,10,10,15,15,12,10,10,15,14,0,22,0,18,18,0,0,21,17,18,11,10,10,15,15,14,12,12,17,17,14,11,11,15,15,0,22,20,18,18,0,0,20,18,17,12,10,10,16,16,17,14,14,19,18,14,11,11,15,15,0,21,22,19,19,0,21,22,18,18,0,22,0,19,21,0,0,0,0,0,0,22,22,18,17,0,0,0,21,20,0,22,22,20,19,0,0,22,20,20,0,0,0,0,0,0,20,21,17,17,0,0,22,21,21,0,0,0,18,18,10,9,9,14,14,13,10,10,13,13,13,10,11,14,14,0,13,13,12,12,0,15,15,16,16,13,10,10,15,15,15,12,12,14,14,15,10,10,14,15,0,14,14,16,15,0,14,14,15,15,13,10,10,15,15,18,13,13,15,15,15,10,10,14,15,0,14,14,16,16,0,14,14,15,15,0,15,15,16,16,0,22,0,18,18,0,12,13,14,14,0,17,17,22,0,0,14,14,14,14,0,15,15,16,16,0,22,0,18,17,0,13,13,14,14,0,19,18,21,22,0,15,15,14,14,0,11,11,13,13,0,12,12,16,16,0,12,12,16,16,0,15,16,21,0,0,16,17,0,22,0,12,12,16,16,0,14,14,17,18,0,11,11,16,16,0,15,15,21,22,0,16,16,0,0,0,12,12,16,16,0,15,15,0,19,0,12,12,16,17,0,16,16,22,0,0,16,16,0,22,0,17,17,0,22,0,0,0,0,0,0,15,15,20,19,0,18,18,0,0,0,17,18,0,0,0,17,17,0,0,0,0,0,0,0,0,15,15,0,22,0,20,18,0,0,0,18,18,22,22,0,11,11,14,14,0,12,12,14,14,0,12,12,15,15,0,13,13,14,14,0,14,14,17,16,0,12,12,16,16,0,14,14,16,16,0,11,11,15,15,0,13,13,16,16,0,13,13,15,15,0,12,12,15,15,0,15,14,16,16,0,11,11,15,15,0,14,14,17,17,0,13,13,15,15,0,15,15,17,17,0,0,0,19,18,0,13,12,15,15,0,16,16,0,0,0,14,14,15,15,0,14,14,16,17,0,22,0,18,18,0,13,13,15,15,0,17,17,0,0,0,14,14,15,15,8,8,8,16,16,12,10,10,16,16,13,9,9,16,16,0,14,14,17,17,0,14,14,17,16,12,10,10,18,17,14,11,11,18,18,14,9,10,16,16,0,13,13,18,19,0,14,13,16,16,12,9,9,16,16,17,13,13,17,17,14,9,9,15,15,0,14,14,19,20,0,13,13,15,15,0,15,15,18,19,0,0,22,22,22,0,13,13,17,17,0,16,16,19,21,0,14,14,16,16,0,14,14,18,18,0,0,0,0,0,0,13,13,16,16,0,18,18,0,0,0,15,15,16,16,8,7,7,14,14,12,10,10,15,15,13,10,10,15,14,0,22,0,18,18,0,22,0,18,18,12,10,10,16,15,15,12,12,17,17,14,11,11,15,15,0,20,21,19,18,0,0,0,17,18,13,11,11,15,15,16,13,13,18,18,15,11,11,14,14,0,22,21,19,19,0,21,22,18,18,0,22,22,20,18,0,0,0,0,0,0,22,19,17,17,0,0,0,22,21,0,0,22,19,17,0,0,22,19,19,0,0,0,0,0,0,22,21,18,17,0,0,0,22,0,0,0,0,19,19,0,10,10,14,14,0,11,11,15,14,0,11,11,15,15,0,14,14,15,14,0,15,15,16,16,0,11,11,16,16,0,13,13,16,16,0,11,11,15,15,0,14,14,17,16,0,14,14,15,15,0,11,11,16,16,0,14,13,15,15,0,11,11,15,15,0,15,15,17,17,0,14,14,15,14,0,16,16,17,17,0,0,22,18,18,0,13,13,15,15,0,17,17,22,0,0,15,15,15,14,0,15,16,16,17,0,0,22,18,19,0,13,13,15,15,0,20,18,21,0,0,15,15,14,14,0,11,11,13,13,0,12,12,16,16,0,12,12,16,15,0,15,16,22,22,0,17,17,0,0,0,12,12,16,16,0,14,14,18,18,0,11,11,16,16,0,15,16,22,20,0,16,16,0,22,0,12,12,16,16,0,15,15,18,20,0,11,11,16,16,0,15,15,0,0,0,16,16,0,0,0,17,17,22,0,0,0,0,0,0,0,15,15,0,21,0,18,18,0,0,0,17,16,0,0,0,17,17,22,22,0,0,0,0,0,0,15,15,21,0,0,20,22,0,0,0,18,18,0,0,0,12,12,15,15,0,12,12,15,15,0,12,12,16,16,0,13,13,15,15,0,15,15,17,17,0,13,12,16,16,0,14,14,16,16,0,12,11,16,16,0,14,14,17,17,0,14,14,16,16,0,12,12,16,16,0,15,15,17,16,0,11,11,15,16,0,14,14,17,17,0,14,14,16,16,0,15,15,18,18,0,0,0,22,19,0,13,13,15,16,0,16,17,0,0,0,14,14,16,16,0,15,15,18,17,0,0,0,20,20,0,13,13,16,15,0,17,17,22,22,0,14,14,15,15,0,11,11,16,16,0,13,13,16,17,0,13,13,17,18,0,16,16,17,17,0,17,17,18,18,0,12,12,17,17,0,16,15,18,18,0,12,12,16,16,0,16,16,18,18,0,15,15,17,17,0,12,12,17,17,0,16,16,19,18,0,12,12,16,17,0,16,16,19,19,0,15,16,16,17,0,16,16,19,17,0,0,0,20,22,0,13,13,16,16,0,19,18,21,0,0,15,15,16,16,0,16,16,18,18,0,0,0,22,21,0,14,14,16,16,0,21,19,21,22,0,16,16,16,16,0,9,9,14,14,0,13,13,15,15,0,14,14,15,15,0,0,20,18,19,0,0,22,18,18,0,12,12,15,15,0,15,15,17,18,0,14,13,14,14,0,20,0,18,18,0,21,0,18,17,0,13,13,15,16,0,17,17,18,18,0,14,14,15,15,0,22,22,20,19,0,20,21,18,18,0,20,22,19,19,0,0,0,0,0,0,20,20,17,17,0,0,22,22,21,0,22,0,18,18,0,20,22,19,19,0,0,0,0,0,0,21,21,17,18,0,0,0,21,20,0,0,22,19,18,0,18,18,15,15,0,22,21,17,16,0,0,22,17,17,0,20,22,18,18,0,0,22,20,20,0,21,19,16,16,0,21,21,18,18,0,19,19,17,17,0,0,22,19,19,0,22,20,17,17,0,21,19,16,16,0,22,22,19,18,0,19,20,16,16,0,22,21,19,21,0,21,22,17,18,0,21,20,18,18,0,0,0,19,20,0,20,19,16,16,0,22,22,0,0,0,21,21,17,16,0,22,20,19,18,0,0,0,20,20,0,20,19,16,16,0,0,0,0,0,0,21,22,17,17,0,11,11,13,13,0,13,13,15,16,0,13,13,16,16,0,17,18,21,0,0,17,18,0,0,0,12,12,15,16,0,15,15,19,18,0,12,12,16,16,0,17,17,22,0,0,17,17,0,22,0,12,12,17,16,0,16,16,19,20,0,12,12,16,16,0,17,17,0,0,0,17,17,0,21,0,17,16,22,0,0,0,0,0,0,0,15,15,20,22,0,20,18,0,0,0,18,18,0,0,0,17,17,21,0,0,0,0,0,0,0,15,15,21,22,0,19,20,22,0,0,19,18,0,0,0,14,14,18,18,0,16,16,22,20,0,16,16,22,19,0,17,17,20,22,0,19,19,0,0,0,15,15,20,0,0,18,21,0,20,0,15,15,21,20,0,18,17,0,0,0,17,17,0,22,0,15,15,19,19,0,19,18,0,0,0,15,15,20,0,0,18,18,22,22,0,17,17,0,20,0,18,18,0,0,0,0,22,0,0,0,15,15,19,20,0,20,19,0,0,0,17,17,20,21,0,17,18,20,22,0,0,0,0,22,0,15,15,20,20,0,22,20,0,0,0,17,18,20,0,0,12,12,17,16,0,14,14,17,17,0,13,13,17,17,0,16,16,18,18,0,17,16,17,17,0,13,13,17,17,0,15,16,18,18,0,13,13,16,16,0,16,16,18,18,0,16,16,17,16,0,13,13,16,16,0,17,17,18,17,0,12,12,15,16,0,17,17,19,19,0,16,16,16,16,0,16,17,19,18,0,0,0,21,22,0,14,14,16,16,0,18,18,0,22,0,16,16,16,16,0,16,16,18,17,0,0,0,21,20,0,14,14,16,16,0,21,22,22,0,0,16,16,16,16,0,9,9,14,13,0,13,14,15,16,0,14,13,15,14,0,22,0,18,18,0,21,0,17,18,0,13,13,15,15,0,15,16,18,17,0,14,14,15,14,0,20,22,18,18,0,22,21,17,17,0,13,13,15,15,0,17,17,19,19,0,14,14,14,14,0,0,22,18,18,0,0,22,17,17,0,0,22,19,20,0,0,0,0,0,0,21,20,17,16,0,0,0,21,22,0,0,0,18,19,0,0,0,18,18,0,0,0,0,0,0,22,0,17,17,0,0,0,20,22,0,0,0,18,19,0,18,19,16,16,0,22,20,17,17,0,22,22,17,18,0,22,22,18,17,0,0,22,18,19,0,20,20,17,18,0,0,22,19,18,0,22,22,17,17,0,22,0,19,19,0,0,22,18,18,0,20,22,17,17,0,0,22,18,18,0,19,20,17,17,0,22,0,20,19,0,22,21,17,17,0,0,0,18,18,0,0,0,22,19,0,20,0,17,17,0,22,0,0,22,0,0,20,17,18,0,22,0,19,19,0,0,0,0,19,0,19,21,17,17,0,0,0,0,0,0,20,21,17,16,0,11,11,13,13,0,13,13,16,16,0,13,13,15,16,0,17,17,21,22,0,17,18,0,0,0,12,12,16,16,0,15,15,18,18,0,13,13,16,16,0,17,16,21,21,0,17,17,0,0,0,13,13,16,16,0,16,16,19,18,0,13,13,16,16,0,17,17,0,22,0,17,18,20,22,0,17,18,0,0,0,0,0,0,0,0,15,15,20,0,0,18,19,0,0,0,17,17,0,0,0,18,17,22,0,0,0,0,0,0,0,15,16,21,20,0,20,20,0,0,0,18,19,0,0,0,15,15,22,22,0,17,16,20,22,0,17,17,20,22,0,18,18,0,21,0,19,18,0,0,0,16,16,20,20,0,19,19,22,0,0,15,16,21,22,0,18,19,22,0,0,17,18,0,0,0,16,16,22,0,0,19,19,0,21,0,15,16,20,0,0,18,18,0,22,0,18,17,0,0,0,18,18,0,0,0,0,0,0,0,0,16,16,22,21,0,20,21,0,0,0,17,18,22,0,0,18,18,0,0,0,0,0,0,0,0,16,16,20,19,0,22,21,0,0,0,18,18,22,22,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,8,8,11,9,9,12,12,11,10,10,12,12,12,10,10,11,11,12,12,12,12,12,12,11,11,13,13,12,12,12,13,13,12,10,10,12,12,12,11,11,13,13,12,13,13,13,13,12,11,11,13,13,12,12,12,13,13,12,10,10,12,12,12,11,11,13,13,12,13,13,12,12,12,11,11,13,13,12,13,13,13,13,12,11,11,12,12,12,11,11,12,12,12,13,13,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,12,12,12,13,13,13,13,12,13,13,12,12,11,8,8,10,10,12,11,11,11,11,12,10,10,10,10,13,11,11,10,10,13,11,11,10,10,13,12,12,12,12,13,11,11,11,11,13,12,12,11,11,13,12,12,11,11,13,12,12,12,11,13,12,12,12,12,13,11,11,11,11,13,12,12,11,11,13,11,12,11,11,13,12,12,11,11,14,12,12,11,11,13,11,11,11,11,14,12,12,11,11,13,11,12,10,10,14,12,12,11,11,14,12,12,11,11,14,11,11,11,11,14,12,12,11,11,13,12,12,11,11,14,12,12,11,11,11,8,8,10,10,12,7,7,10,10,12,9,9,11,11,13,9,9,9,9,13,13,13,10,10,13,9,9,12,12,13,13,13,12,12,13,9,8,11,11,13,10,10,12,12,14,13,13,11,11,13,9,9,11,11,13,13,13,12,12,13,9,9,10,10,13,10,10,11,11,13,13,13,10,10,14,10,10,11,11,14,14,14,12,12,13,9,9,10,10,13,10,10,11,11,14,13,14,10,10,14,14,14,11,12,14,14,14,14,14,14,13,13,10,10,13,14,14,11,11,14,14,14,10,10,14,9,9,9,9,14,9,9,9,9,14,10,10,9,9,14,10,10,8,8,14,11,11,8,8,15,11,11,10,10,15,12,12,10,10,15,10,10,10,10,15,11,11,10,10,15,13,13,10,10,15,11,11,10,10,15,12,12,10,10,15,10,10,10,10,15,11,11,10,10,15,13,13,10,10,15,11,11,10,10,15,12,12,10,10,15,11,11,9,9,15,11,11,9,9,15,13,13,9,9,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,13,12,9,9,15,13,13,9,9,14,12,12,9,9,14,13,13,9,9,14,13,13,9,9,14,13,13,7,7,14,13,13,8,8,15,14,14,10,10,15,14,14,10,10,15,14,14,10,10,15,14,14,10,10,15,14,14,9,9,15,14,14,10,10,15,14,14,10,10,14,14,14,9,9,15,14,14,10,10,14,14,14,9,9,15,14,14,10,10,15,14,14,10,10,14,14,14,9,9,14,14,14,9,9,14,14,14,8,8,15,14,14,10,10,15,14,14,11,11,15,14,14,9,9,15,14,14,9,9,14,14,14,8,8,13,9,9,12,12,17,11,11,12,12,17,12,12,12,12,17,12,12,11,11,18,15,15,12,12,17,12,12,12,12,17,14,15,13,13,17,12,12,12,12,17,13,13,12,13,17,15,15,12,12,18,13,13,13,13,18,15,15,13,13,18,12,12,12,12,18,13,13,13,13,18,15,15,12,12,18,13,13,12,12,18,15,15,13,13,18,13,13,12,12,17,13,13,12,12,17,15,15,12,12,18,15,15,13,13,18,15,15,13,14,18,15,16,12,12,18,15,15,12,12,18,16,16,12,12,13,8,8,10,10,14,15,14,11,11,14,15,15,12,12,15,14,14,12,11,15,15,15,12,12,15,15,15,12,12,15,15,15,13,13,15,15,15,12,12,15,15,15,13,13,15,15,15,13,13,15,15,15,13,13,15,15,16,13,13,15,15,15,12,12,15,15,15,13,13,15,15,15,13,13,15,15,15,13,13,15,15,15,13,13,15,15,14,12,12,15,15,15,12,12,16,15,14,12,12,16,15,15,13,13,16,16,16,13,13,16,15,15,12,12,15,15,15,13,13,15,15,15,12,12,13,12,12,10,10,14,14,14,11,11,15,14,14,12,12,15,14,14,11,11,15,14,14,11,11,15,15,15,13,13,15,14,14,13,13,15,15,15,12,12,15,14,15,13,13,16,15,15,12,12,15,15,15,13,13,16,14,14,13,13,15,15,15,12,12,15,15,15,13,13,16,15,15,12,12,16,15,15,12,12,16,14,14,13,13,15,15,15,11,11,15,15,15,12,12,16,15,15,11,11,16,15,15,13,13,16,14,15,14,14,16,15,15,12,12,16,15,14,12,12,16,15,15,12,12,14,10,10,9,9,14,11,11,12,12,14,12,12,13,13,14,12,12,12,12,15,14,14,13,13,15,13,13,14,14,15,14,14,15,15,15,12,12,13,13,15,13,13,14,14,15,14,14,13,13,15,13,13,13,14,15,14,14,15,15,15,12,12,13,13,15,13,13,14,14,15,14,14,13,13,15,13,13,14,14,15,14,14,15,15,15,13,13,12,12,15,13,13,13,13,15,14,14,13,12,15,15,15,14,15,15,15,14,20,20,15,14,14,13,13,15,14,14,13,13,15,14,14,13,13,14,12,12,9,9,14,14,14,12,12,14,13,13,12,13,14,14,14,12,12,15,14,14,12,12,15,14,14,14,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,15,15,15,14,14,15,14,14,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,15,15,15,15,14,15,15,15,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,14,15,15,14,14,15,15,15,14,14,15,14,14,14,14,15,15,15,14,14,15,14,14,13,14,15,15,15,14,14,13,10,10,12,12,17,11,11,12,12,17,12,12,12,12,17,12,12,11,11,17,15,15,12,11,18,13,13,13,13,18,15,15,13,13,17,12,12,12,12,18,13,13,13,13,17,15,15,12,12,17,12,12,12,12,17,15,15,13,13,17,12,12,12,12,17,13,13,12,12,17,15,15,12,12,18,14,13,12,12,18,15,15,13,13,18,13,13,12,12,18,13,13,12,12,18,16,16,12,12,18,16,16,12,12,18,15,15,13,13,18,16,16,12,12,17,15,15,12,12,17,16,16,12,12,13,8,8,10,10,14,14,15,12,12,14,15,15,12,12,15,14,14,12,12,15,15,14,12,12,15,15,15,13,13,15,15,15,13,13,15,15,15,12,12,16,15,15,13,13,16,15,15,13,13,15,15,15,12,12,15,15,15,14,14,15,15,15,12,12,15,15,15,13,13,16,15,15,13,13,15,15,15,13,13,16,15,15,13,13,15,15,14,12,12,15,15,15,12,12,16,14,15,13,13,16,15,15,13,13,15,16,15,13,13,16,15,14,13,13,16,15,15,13,13,16,15,15,13,13,13,12,12,11,11,14,14,14,11,11,14,14,14,12,12,15,14,14,11,11,16,14,14,11,11,15,15,15,12,13,16,14,14,13,13,15,15,15,12,12,15,14,14,13,13,16,15,15,12,12,15,15,15,12,12,15,14,14,13,13,15,15,15,12,12,15,14,14,12,12,16,15,15,12,12,16,15,15,12,12,16,14,14,13,13,15,15,15,11,11,15,15,14,12,12,16,15,15,11,11,16,15,15,12,12,16,14,14,13,13,16,15,15,11,11,16,14,14,12,12,16,15,15,11,11,14,10,10,9,9,14,11,11,12,12,14,12,12,13,14,14,12,12,12,12,14,14,14,13,13,15,13,13,14,14,15,14,14,15,15,15,12,12,13,13,15,13,13,14,14,15,15,15,14,14,15,13,13,14,14,15,15,15,15,15,15,12,12,13,13,15,13,13,14,14,15,14,14,13,13,15,13,13,14,14,15,14,14,15,15,15,12,12,13,13,15,13,13,13,13,14,14,14,13,13,15,15,15,14,15,15,15,15,21,19,15,14,14,13,13,15,14,14,14,14,14,14,14,13,13,14,12,12,9,9,14,14,14,12,12,14,14,13,13,13,14,14,14,12,12,14,14,14,12,12,15,14,14,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,15,15,15,15,15,15,14,14,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,14,15,15,15,15,15,14,15,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,14,15,15,14,14,15,15,15,14,14,15,14,14,14,14,15,15,15,15,15,15,14,14,14,13,14,15,15,14,14,13,10,10,12,12,18,12,12,12,12,17,12,12,12,12,18,13,13,11,11,18,15,14,11,11,17,13,13,13,13,18,15,15,12,12,18,12,12,12,12,17,13,13,12,12,18,15,15,12,12,18,13,13,13,12,18,15,15,13,13,18,13,13,12,12,18,13,13,12,12,18,15,15,12,12,17,13,13,12,12,17,15,15,12,12,17,12,12,11,11,17,13,13,11,11,17,15,15,11,11,18,16,16,12,12,18,15,15,13,13,18,15,15,11,11,17,15,15,12,12,18,15,15,11,11,13,8,8,10,10,14,14,14,11,11,15,15,15,12,12,15,14,14,11,11,16,14,14,12,12,15,15,15,12,12,15,15,15,13,13,15,15,15,12,12,15,15,15,12,12,16,15,15,13,13,15,15,15,12,12,15,15,15,13,13,16,15,15,12,12,15,15,15,12,12,16,15,15,13,13,16,15,15,12,12,15,15,15,13,13,15,14,14,12,12,15,15,15,12,12,16,15,14,12,12,16,15,15,13,13,16,16,16,13,13,16,14,15,13,13,15,15,15,13,13,16,15,15,12,12,13,12,12,10,10,14,14,14,11,11,15,14,14,12,12,15,14,14,11,11,16,14,14,11,11,15,14,15,12,12,15,14,14,13,13,15,15,15,12,12,15,14,14,12,12,15,14,15,12,12,15,15,15,12,12,16,14,14,13,13,15,15,15,11,12,16,14,14,12,12,16,15,15,12,12,15,15,15,12,12,16,14,14,12,12,15,15,15,11,11,15,14,14,11,12,15,15,14,11,11,16,15,15,12,12,16,14,14,13,13,16,15,15,11,11,16,14,14,12,12,16,15,15,11,11,13,10,10,8,8,14,12,12,12,12,14,12,12,13,13,14,12,12,12,12,14,14,14,13,13,15,13,13,14,14,15,15,14,15,15,15,13,13,13,13,15,13,13,14,14,15,14,15,14,14,15,13,13,13,13,15,15,15,15,15,15,12,12,13,12,15,13,13,14,14,15,14,14,13,13,15,13,13,14,13,15,15,15,16,16,15,13,13,12,12,15,13,13,13,13,14,14,14,12,12,15,15,15,14,14,15,15,15,20,20,15,14,14,13,13,15,15,14,14,14,15,14,14,13,13,13,12,12,9,9,14,13,13,12,12,14,13,13,12,12,14,14,14,12,12,14,14,14,13,13,15,14,14,13,13,15,14,14,14,14,15,15,14,12,12,15,14,14,13,13,15,14,15,14,15,15,14,14,13,13,15,14,14,14,14,15,14,14,12,12,15,14,14,13,13,14,15,14,15,14,15,14,14,13,13,15,14,14,14,14,15,14,14,12,12,15,14,14,13,13,15,15,15,14,14,15,15,15,14,14,16,14,14,14,14,15,15,15,14,14,15,14,14,14,14,14,15,15,14,14,13,13,13,12,13,17,15,15,12,12,17,15,15,12,12,18,15,15,11,11,17,16,16,11,11,18,16,16,13,13,18,17,16,13,13,18,16,16,12,12,18,16,16,12,12,18,17,17,12,12,17,16,16,12,13,17,16,16,12,13,17,16,16,12,12,17,16,16,12,12,18,17,16,12,12,18,16,16,12,12,17,16,17,12,12,18,15,15,11,11,18,15,15,12,12,17,17,17,11,11,17,17,17,12,12,17,16,16,13,13,18,16,16,11,11,18,16,16,12,12,18,17,16,11,11,14,14,14,10,10,16,15,14,11,11,16,15,15,12,12,16,14,14,12,12,17,14,14,13,13,17,15,15,13,13,17,15,15,14,14,16,15,15,12,12,16,15,15,13,13,18,15,15,14,14,16,15,15,12,12,16,15,15,14,14,16,15,15,12,12,16,15,15,13,13,17,15,15,13,13,17,15,15,13,13,17,15,15,14,14,16,14,14,12,12,17,15,15,12,12,18,15,15,13,13,17,15,15,14,14,17,16,16,15,15,17,15,14,13,13,17,15,15,14,14,17,15,15,13,13,14,12,12,11,11,15,14,14,12,12,16,14,14,12,12,16,14,14,11,11,17,14,14,12,12,16,15,14,13,13,16,14,14,13,13,16,15,15,12,12,16,14,14,13,13,17,15,15,13,13,16,15,15,13,13,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,16,15,15,12,12,17,15,15,12,12,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,16,15,15,12,12,17,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,17,15,15,12,12,14,14,14,8,8,14,14,14,13,13,14,15,15,14,14,14,14,14,14,14,15,15,15,19,19,15,15,15,14,14,15,15,16,20,19,15,15,15,14,14,15,16,16,15,15,15,15,15,19,19,15,15,15,14,14,15,16,16,19,20,15,15,15,14,14,15,15,15,15,15,15,15,15,19,19,15,15,15,15,15,15,15,16,19,20,15,14,15,14,14,15,15,15,15,15,15,15,15,20,19,15,15,15,21,19,15,16,16,20,20,15,15,14,19,19,15,15,16,20,21,15,15,15,20,19,13,12,12,9,9,14,14,14,12,12,14,13,13,13,13,14,14,14,13,13,15,14,14,20,19,15,14,14,14,13,15,14,14,19,19,15,15,14,13,13,15,14,14,14,14,15,15,15,19,20,15,14,14,13,13,15,14,14,20,19,14,15,14,13,13,15,14,14,14,13,15,15,15,19,20,15,15,14,14,14,15,14,14,21,19,15,15,15,13,13,15,14,14,14,14,14,15,15,20,20,15,15,15,21,20,15,14,14,19,20,15,15,15,20,20,15,14,14,19,20,15,15,15,21,19,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,6,7,7,7,8,8,7,8,8,10,11,11,9,8,8,7,8,8,11,11,11,9,8,8,6,7,7,9,11,11,9,11,11,10,11,11,12,13,13,11,12,12,10,11,11,13,14,14,12,12,12,6,6,6,8,6,6,8,7,7,9,7,7,11,10,10,10,6,6,9,7,7,12,10,10,11,6,7,7,7,7,11,10,10,12,10,10,11,10,10,14,13,13,13,10,10,12,11,11,15,13,13,14,10,10,8,7,7,12,11,11,12,11,11,11,11,11,14,14,14,13,12,12,12,11,11,15,15,15,13,12,12,0,10,10,0,11,11,0,11,11,0,11,11,0,14,14,0,11,11,0,11,11,0,15,15,0,11,11,7,8,8,12,10,10,12,10,10,12,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,12,11,11,12,11,11,16,14,14,14,12,12,13,12,12,15,14,14,15,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,12,12,0,14,14,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,0,8,8,0,8,8,0,9,9,0,9,9,0,9,9,0,9,9,0,9,9,0,8,8,0,6,6,0,7,7,0,7,7,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,6,6,0,6,6,0,6,6,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,6,6,0,8,8,0,9,9,0,9,9,0,10,10,0,10,10,0,10,10,0,10,10,0,11,11,0,9,9,0,7,7,0,10,10,0,10,10,0,12,11,0,12,12,0,11,11,0,11,11,0,12,12,0,10,10,0,7,7,0,10,10,0,10,10,0,12,12,0,11,12,0,11,11,0,11,11,0,11,11,0,10,10,0,8,8,0,9,9,0,9,9,0,10,10,0,10,10,0,10,9,0,10,10,0,10,10,0,9,9,0,6,6,0,10,10,0,10,10,0,11,11,0,12,12,0,11,11,0,11,11,0,12,12,0,11,11,0,7,7,0,9,9,0,9,9,0,11,11,0,11,11,0,10,10,0,10,10,0,11,11,0,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,6,7,7,0,8,8,6,9,9,8,11,11,0,8,8,0,9,9,0,12,12,0,8,8,5,7,7,7,10,10,0,12,12,8,11,11,9,12,12,0,11,12,0,12,12,0,15,15,0,12,12,0,6,6,0,6,6,0,7,7,0,7,7,0,10,10,0,7,7,0,8,8,0,11,11,0,7,7,6,7,7,10,9,9,0,11,10,10,9,9,12,12,12,0,10,10,0,11,11,0,13,13,0,11,11,7,6,6,10,10,10,0,11,11,11,11,11,12,12,12,0,11,11,0,12,12,0,15,15,0,11,11,0,11,11,0,11,11,0,12,12,0,12,12,0,14,14,0,12,12,0,12,12,0,15,15,0,11,11,0,8,8,0,10,10,0,11,11,0,11,11,0,12,12,0,12,12,0,11,11,0,15,15,0,11,11,0,6,6,0,10,10,0,12,12,0,10,10,0,13,13,0,12,12,0,13,13,0,14,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,0,0,0,8,8,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,6,6,0,0,0,7,7,0,0,0,8,8,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,10,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,0,0,10,10,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,11,0,0,0,12,12,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,0,0,10,10,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,13,13,0,0,0,0,0,0,0,0,14,13,0,0,0,0,0,0,0,0,13,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,14,14,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,12,13,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,12,12,0,0,0,14,14,0,0,0,0,0,0,0,0,14,14,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,2,2],"i8",N3,F.GLOBAL_BASE+477020),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,4,12,9,8,12,15,17,4,2,11,6,5,9,13,15,11,7,8,7,7,10,14,13,8,5,7,5,5,8,12,12,8,4,7,4,3,6,11,12,11,8,9,7,6,8,11,12,15,13,14,12,9,7,10,13,16,12,17,12,7,5,8,11,0,0,0,0,255,255,255,255,255,255,255,255,7,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,F.GLOBAL_BASE+487288),E3([1,0,0,0,2,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,200,161,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,128,7,0,0,0,0,0,0,0,0,0,96,128,7,0,136,128,7,0,0,0,0,0,0,0,0,0,176,128,7,0,216,128,7,0,0,0,0,0,0,0,0,0,0,129,7,0,40,129,7,0,0,0,0,0,0,0,0,0,80,129,7,0,120,129,7,0,40,129,7,0,0,0,0,0,160,129,7,0,88,125,7,0,128,125,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,0,128,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,248,127,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,124,7,0,8,125,7,0,0,0,0,0,0,0,0,0,48,125,7,0,88,125,7,0,128,125,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,16,127,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,192,127,7,0,0,0,0,0,2,0,0,0,25,0,0,0,216,126,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,248,126,7,0,0,0,0,0,2,0,0,0,9,0,0,0,184,126,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,200,126,7,0,0,0,0,0,1,0,0,0,25,0,0,0,48,126,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,80,126,7,0,0,0,0,0,1,0,0,0,25,0,0,0,168,125,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,200,125,7,0,0,0,0,0,3,4,4,5,4,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,13,14,16,16,16,16,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,5,5,5,6,6,5,6,5,6,6,6,6,7,7,7,6,7,6,7,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,8,8,9,9,10,10,11,11,4,6,5,8,6,9,8,10,9,10,10,11,10,5,5,6,6,8,8,9,9,10,10,10,10,11,7,8,8,9,8,10,9,10,9,11,10,11,10,7,8,8,8,10,9,10,10,10,10,11,10,11,9,10,10,11,11,11,11,12,11,12,11,12,11,9,10,10,11,11,11,11,11,11,11,12,11,12,11,11,11,12,12,12,12,12,12,12,12,12,11,11,12,11,12,12,12,12,12,12,12,12,11,12,12,12,12,12,13,12,13,12,12,12,12,12,12,12,12,12,13,13,13,13,12,13,12,12,12,12,12,13,13,12,13,12,13,12,13,12,12,12,12,13,13,13,13,13,13,12,12,12,12,12,11,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,3,7,7,9,13,16,3,2,4,6,10,13,17,7,4,4,6,9,12,14,7,6,6,5,7,9,12,10,10,9,6,6,9,12,14,14,13,9,8,10,11,18,18,15,13,11,10,11,0,0,0,0,0,0,0,5,0,0,0,243,0,0,0,192,160,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,184,161,7,0,0,0,0,0,5,0,0,0,243,0,0,0,184,159,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,176,160,7,0,0,0,0,0,5,0,0,0,243,0,0,0,176,158,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,159,7,0,0,0,0,0,5,0,0,0,243,0,0,0,168,157,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,160,158,7,0,0,0,0,0,5,0,0,0,53,12,0,0,88,145,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,144,157,7,0,0,0,0,0,5,0,0,0,53,12,0,0,8,133,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,64,145,7,0,0,0,0,0,1,0,0,0,7,0,0,0,224,132,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,232,132,7,0,0,0,0,0,5,0,0,0,243,0,0,0,216,131,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,208,132,7,0,0,0,0,0,5,0,0,0,243,0,0,0,208,130,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,200,131,7,0,0,0,0,0,5,0,0,0,243,0,0,0,200,129,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,192,130,7,0,0,0,0,0,1,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,7,7,7,7,7,7,7,7,7,8,8,9,8,8,8,7,7,8,8,8,9,8,8,9,7,7,6,6,6,9,8,7,9,7,7,9,8,8,10,8,8,10,8,8,10,8,8,10,8,8,10,8,8,7,6,6,9,6,6,9,7,7,9,7,7,10,8,8,9,6,6,9,7,7,10,8,8,9,7,7,7,8,8,11,9,9,11,9,9,11,8,9,12,9,9,12,8,8,11,9,9,12,9,9,12,8,8,8,7,7,10,9,9,10,10,9,10,9,9,11,10,10,11,9,9,11,9,9,11,10,11,11,9,9,10,8,8,11,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,9,9,11,10,10,11,9,9,9,8,8,11,9,9,12,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,9,9,12,8,8,9,7,7,11,9,9,11,10,10,11,9,9,11,11,11,11,9,9,11,10,10,11,11,11,11,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,10,10,11,9,9,11,9,10,11,10,10,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,6,6,7,8,8,7,8,8,7,9,8,10,11,11,9,8,8,7,8,8,11,11,11,9,8,8,6,7,7,10,10,10,10,10,10,10,10,10,14,13,13,12,11,11,10,10,10,14,14,13,12,11,11,6,6,6,8,5,5,8,7,7,9,7,7,11,10,10,9,7,7,9,7,7,12,10,10,10,7,7,7,8,8,12,11,10,12,10,10,11,10,10,15,13,13,13,10,10,11,10,10,17,14,13,13,10,10,7,7,7,12,11,12,12,11,11,12,11,11,16,14,14,13,12,12,12,11,11,17,15,14,14,12,12,10,9,9,13,11,11,13,11,11,13,11,11,17,14,13,14,11,11,12,11,11,16,15,14,14,11,11,7,8,8,12,11,11,12,10,10,12,10,10,15,13,13,14,11,10,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,12,11,11,12,11,11,17,14,14,14,12,12,12,11,11,16,15,15,14,12,12,10,10,10,13,11,11,13,11,11,13,11,12,16,14,14,14,11,11,13,12,11,16,15,15,14,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,14,14,6,7,7,14,14,7,7,7,14,14,0,13,13,16,16,0,13,13,15,14,7,8,8,15,15,9,10,10,16,16,9,8,8,15,15,0,13,13,17,16,0,13,13,15,16,8,8,8,15,15,12,11,11,16,16,9,8,8,14,14,0,13,13,17,18,0,13,13,15,15,0,14,14,16,16,0,0,0,19,18,0,12,12,16,15,0,15,16,0,20,0,14,14,16,16,0,14,14,17,17,0,0,0,19,18,0,12,12,15,15,0,17,17,0,20,0,14,14,16,16,5,6,7,12,12,9,9,9,14,14,10,10,10,14,14,0,21,21,18,17,0,20,20,18,17,9,10,10,14,14,12,12,12,16,16,12,10,10,14,14,0,20,19,18,17,0,0,20,17,18,11,10,10,14,14,14,13,13,18,18,13,11,11,14,14,0,20,20,17,18,0,21,21,17,17,0,21,0,18,18,0,0,0,0,0,0,20,19,16,17,0,0,0,19,19,0,0,0,18,18,0,21,21,18,18,0,0,0,0,0,0,20,20,16,17,0,0,0,21,21,0,0,0,18,19,6,6,6,13,12,8,6,6,11,11,8,6,6,13,13,0,9,9,11,11,0,11,10,14,14,9,7,7,13,13,11,9,9,13,13,10,6,6,13,13,0,10,10,14,15,0,10,10,13,13,9,7,7,13,13,13,10,9,13,13,10,6,6,13,13,0,10,10,15,14,0,10,10,13,13,0,11,11,15,15,0,19,20,17,17,0,9,9,13,13,0,13,13,20,20,0,11,11,13,13,0,11,11,15,15,0,19,19,17,17,0,10,10,13,13,0,15,15,20,20,0,12,12,13,13,0,10,10,12,12,0,11,11,15,15,0,11,11,15,15,0,15,15,20,0,0,16,16,0,21,0,11,11,15,15,0,14,14,18,17,0,11,11,15,15,0,15,16,19,20,0,16,16,21,21,0,12,12,15,15,0,15,14,18,18,0,11,11,16,16,0,15,15,21,21,0,16,15,0,0,0,16,16,21,0,0,0,0,0,0,0,14,14,20,20,0,18,18,0,0,0,16,17,21,0,0,16,16,21,21,0,0,0,0,0,0,15,15,21,21,0,20,19,0,21,0,17,17,0,0,0,10,10,12,11,0,10,10,10,11,0,11,11,12,12,0,11,11,9,9,0,13,13,11,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,12,12,13,13,0,12,12,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,13,13,14,14,0,12,12,12,12,0,14,14,14,13,0,19,20,15,15,0,12,11,12,12,0,15,15,21,20,0,13,13,11,11,0,13,13,13,13,0,19,0,15,15,0,12,12,12,12,0,17,16,19,0,0,13,13,12,12,7,7,7,16,16,11,9,9,15,15,12,9,9,16,16,0,13,13,15,14,0,14,14,17,16,10,9,9,16,16,14,11,11,17,16,12,9,8,15,15,0,13,13,18,18,0,13,13,15,15,12,10,10,18,17,15,12,12,17,17,14,9,9,16,16,0,13,13,18,19,0,14,13,17,16,0,14,14,18,18,0,0,0,20,21,0,12,12,16,16,0,16,16,20,21,0,14,14,17,16,0,14,14,18,19,0,0,0,19,21,0,13,13,17,17,0,17,17,0,21,0,15,15,16,16,8,7,7,14,14,11,10,10,15,15,12,10,10,15,15,0,20,20,18,18,0,0,0,17,17,11,10,10,16,16,14,12,12,18,17,14,11,11,15,15,0,20,21,18,18,0,0,19,18,17,12,10,10,16,16,17,14,14,19,19,14,11,11,15,15,0,21,21,19,19,0,21,20,19,18,0,21,0,18,19,0,0,0,0,0,0,20,20,18,17,0,21,0,0,0,0,0,0,19,18,0,0,0,18,19,0,0,0,0,0,0,0,21,17,18,0,0,0,0,21,0,0,21,18,19,11,9,9,14,14,13,10,10,13,13,13,11,11,15,15,0,13,13,12,12,0,15,15,16,16,13,10,10,15,15,16,12,12,15,15,15,10,10,15,15,0,14,13,16,15,0,14,13,15,15,13,10,10,15,15,18,14,14,15,15,15,10,10,14,15,0,14,14,16,16,0,14,14,16,15,0,15,15,17,16,0,21,0,18,18,0,12,13,15,15,0,16,16,0,0,0,14,14,15,15,0,15,15,16,16,0,21,20,18,18,0,13,13,15,15,0,19,18,0,0,0,15,15,15,15,0,11,11,13,13,0,12,12,16,16,0,12,12,16,16,0,15,16,20,0,0,16,17,0,0,0,12,12,16,16,0,14,14,18,18,0,11,11,16,17,0,15,15,20,0,0,16,16,0,0,0,12,12,16,16,0,15,15,19,19,0,11,11,17,17,0,16,16,21,0,0,16,16,0,0,0,17,17,20,20,0,0,0,0,0,0,15,15,20,0,0,17,18,0,0,0,17,17,0,0,0,16,16,0,21,0,0,0,0,0,0,15,15,21,0,0,19,18,0,0,0,18,17,0,0,0,11,11,14,14,0,11,11,15,15,0,12,12,16,16,0,13,13,14,14,0,14,14,17,17,0,12,12,16,16,0,14,14,16,16,0,11,11,16,15,0,13,13,16,17,0,13,13,16,16,0,12,12,15,16,0,15,14,16,16,0,11,11,15,15,0,14,14,17,17,0,13,13,16,16,0,15,14,18,18,0,21,0,19,19,0,13,13,15,15,0,16,16,20,20,0,14,14,16,15,0,14,14,17,17,0,21,0,20,18,0,13,13,15,15,0,17,17,0,0,0,14,14,16,15,8,8,8,16,16,12,9,9,16,16,13,9,9,16,16,0,14,14,18,17,0,14,14,16,17,12,10,10,18,17,14,11,11,18,18,14,9,9,16,16,0,13,13,18,18,0,13,13,17,16,12,9,9,16,17,17,13,13,16,16,14,9,9,15,15,0,14,14,20,20,0,13,13,15,15,0,15,14,18,18,0,0,0,20,21,0,12,13,16,17,0,16,16,20,21,0,14,14,16,17,0,14,14,18,17,0,0,0,20,21,0,13,13,16,16,0,19,17,0,21,0,14,15,16,16,8,7,7,14,13,12,10,10,15,15,13,10,10,15,15,0,21,21,18,19,0,20,21,18,18,12,10,10,16,15,15,12,12,17,17,14,11,11,15,15,0,21,21,19,18,0,0,21,17,18,13,11,11,15,15,16,13,13,18,19,15,11,11,15,14,0,21,0,19,19,0,0,21,18,18,0,0,21,19,19,0,0,0,0,0,0,20,19,17,17,0,0,0,21,0,0,21,0,18,19,0,0,20,20,19,0,0,0,0,0,0,21,20,18,17,0,0,0,0,20,0,0,0,18,19,0,10,10,15,14,0,11,11,14,14,0,11,11,15,16,0,14,14,15,15,0,15,15,16,16,0,11,11,16,16,0,14,13,16,16,0,11,11,15,15,0,14,14,16,16,0,14,14,15,15,0,11,11,15,15,0,13,13,15,15,0,11,11,15,15,0,15,15,18,17,0,14,14,15,15,0,15,16,18,18,0,0,0,20,20,0,14,13,16,15,0,17,17,21,0,0,15,15,15,15,0,16,15,17,17,0,0,0,19,19,0,13,13,15,15,0,20,19,0,0,0,15,15,15,15,0,11,11,13,13,0,12,12,16,16,0,12,12,16,16,0,15,15,21,21,0,17,16,0,0,0,12,12,16,16,0,14,14,17,17,0,11,11,16,16,0,15,15,0,0,0,16,16,21,0,0,12,12,17,16,0,14,15,20,20,0,11,11,16,16,0,15,15,0,20,0,16,16,0,21,0,16,17,21,0,0,0,0,0,0,0,15,15,0,21,0,18,18,0,0,0,17,16,0,0,0,17,17,21,0,0,0,0,0,0,0,15,15,0,20,0,19,20,21,0,0,17,18,0,0,0,12,12,15,15,0,12,12,15,15,0,12,12,16,16,0,13,13,15,15,0,15,15,17,17,0,13,12,17,16,0,14,14,17,16,0,11,11,16,16,0,14,14,17,17,0,14,14,17,17,0,12,12,16,16,0,15,15,17,17,0,11,11,16,16,0,14,14,17,17,0,14,14,16,16,0,15,15,18,17,0,0,0,19,0,0,13,13,16,16,0,16,16,0,21,0,14,14,16,16,0,15,15,18,17,0,0,0,19,19,0,13,13,16,16,0,18,17,0,21,0,14,15,16,16,0,11,11,16,16,0,13,13,17,17,0,13,13,17,17,0,16,16,16,17,0,16,16,18,18,0,12,12,17,17,0,16,15,18,17,0,12,12,16,16,0,16,15,19,19,0,16,15,17,17,0,12,12,17,18,0,16,16,18,18,0,12,12,16,16,0,16,16,19,19,0,15,16,17,17,0,15,16,18,18,0,0,0,20,20,0,13,13,16,16,0,18,18,21,20,0,15,15,16,16,0,16,16,19,18,0,0,0,19,20,0,14,14,17,17,0,19,19,0,21,0,15,16,16,16,0,9,9,14,14,0,13,13,15,15,0,14,14,15,15,0,0,21,19,19,0,0,21,18,18,0,12,12,15,15,0,15,15,18,18,0,14,13,15,15,0,21,21,18,19,0,21,20,18,18,0,13,13,16,16,0,17,17,18,19,0,14,14,15,15,0,0,21,19,19,0,21,20,18,19,0,20,20,19,19,0,0,0,0,0,0,19,20,17,17,0,0,0,21,21,0,21,0,18,20,0,21,0,18,21,0,0,0,0,0,0,21,21,19,18,0,0,0,0,0,0,0,0,19,19,0,18,18,15,15,0,18,20,17,16,0,20,0,17,17,0,21,0,17,17,0,21,20,19,20,0,19,19,16,16,0,21,21,17,18,0,19,19,17,17,0,20,21,21,21,0,20,20,18,18,0,19,19,16,16,0,0,21,18,19,0,18,19,16,17,0,21,21,19,20,0,21,19,18,18,0,21,20,19,21,0,0,0,20,21,0,19,19,17,16,0,0,0,0,0,0,21,20,17,17,0,20,21,19,18,0,0,0,0,21,0,19,18,16,17,0,0,0,0,0,0,20,20,17,17,0,11,11,14,14,0,13,13,16,16,0,13,13,16,16,0,17,17,21,0,0,17,18,0,0,0,12,12,16,16,0,15,15,17,18,0,12,12,16,16,0,16,16,0,20,0,17,17,0,21,0,12,12,17,17,0,16,16,19,20,0,12,12,17,17,0,17,17,0,20,0,17,17,0,0,0,17,17,21,0,0,0,0,0,0,0,15,15,0,20,0,19,19,0,0,0,18,18,0,0,0,17,17,0,0,0,0,0,0,0,0,15,15,0,0,0,20,19,0,0,0,19,18,0,0,0,14,14,21,19,0,16,16,20,21,0,16,16,20,20,0,17,17,20,0,0,17,17,20,20,0,15,15,20,20,0,19,18,20,0,0,15,15,20,20,0,17,18,21,20,0,17,17,20,21,0,15,15,19,19,0,19,18,21,21,0,15,15,19,20,0,17,18,0,0,0,17,17,20,20,0,17,18,20,21,0,0,0,0,0,0,15,15,20,20,0,19,19,0,0,0,17,17,19,21,0,17,17,0,21,0,0,0,0,21,0,15,15,20,19,0,0,20,0,0,0,17,17,21,20,0,12,12,16,16,0,14,14,17,17,0,13,13,17,17,0,16,16,17,18,0,17,16,18,18,0,13,13,18,17,0,15,16,19,18,0,13,13,16,16,0,16,16,19,19,0,16,16,17,17,0,13,12,17,17,0,16,16,18,17,0,12,12,16,16,0,17,17,19,18,0,16,15,16,16,0,16,17,18,19,0,0,0,20,20,0,14,14,17,16,0,18,18,21,0,0,16,16,16,16,0,16,16,18,17,0,0,21,21,21,0,14,14,16,16,0,21,20,21,0,0,16,16,16,16,0,10,10,14,14,0,14,14,15,16,0,14,14,15,15,0,0,21,18,18,0,0,21,18,19,0,13,13,16,16,0,16,16,18,17,0,14,14,15,15,0,20,0,18,18,0,21,0,18,17,0,13,13,16,15,0,17,17,19,19,0,14,14,15,15,0,20,20,18,19,0,0,0,18,17,0,0,21,18,18,0,0,0,0,0,0,20,21,18,17,0,0,0,0,0,0,0,0,19,19,0,0,21,18,18,0,0,0,0,0,0,21,0,18,17,0,0,0,0,21,0,0,0,19,20,0,19,19,16,16,0,0,21,18,17,0,21,0,18,18,0,20,0,19,18,0,21,20,19,19,0,21,19,17,18,0,0,21,19,19,0,21,19,18,18,0,21,0,20,18,0,0,21,18,18,0,20,21,17,17,0,21,0,18,18,0,21,19,17,17,0,21,0,0,20,0,0,20,17,18,0,0,0,19,20,0,0,0,20,19,0,19,21,17,18,0,21,0,0,0,0,21,21,18,17,0,0,21,18,18,0,0,0,0,21,0,20,19,16,17,0,0,0,0,0,0,21,20,17,17,0,11,11,13,13,0,13,13,16,16,0,13,13,16,16,0,17,17,0,21,0,18,19,21,0,0,12,12,16,16,0,15,15,19,18,0,13,13,16,16,0,16,17,21,19,0,17,17,21,21,0,13,13,16,16,0,16,16,20,18,0,13,13,16,16,0,17,17,0,0,0,18,18,0,0,0,18,17,0,20,0,0,0,0,0,0,15,15,21,21,0,19,18,0,0,0,17,17,21,21,0,17,17,0,0,0,0,0,0,0,0,15,15,20,21,0,20,20,0,0,0,19,19,0,0,0,14,15,21,19,0,16,16,0,21,0,17,16,21,21,0,17,18,21,20,0,18,18,0,21,0,16,16,0,20,0,19,19,0,0,0,16,15,0,20,0,18,18,0,0,0,17,17,0,21,0,16,16,20,20,0,20,19,0,0,0,15,16,21,22,0,18,18,0,0,0,18,17,0,0,0,18,18,0,0,0,0,0,0,0,0,16,16,21,20,0,19,20,0,0,0,18,17,21,0,0,17,18,0,0,0,0,0,0,0,0,16,16,0,20,0,0,20,0,0,0,18,18,22,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,3,4,7,7,10,12,12,12,12,10,11,11,13,13,11,12,12,11,11,12,12,12,12,12,11,13,13,13,13,12,12,12,13,14,12,13,13,13,13,12,13,13,13,13,12,13,13,13,13,11,13,13,13,13,12,12,12,14,14,12,13,13,12,12,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,14,14,12,13,13,12,12,12,13,13,13,13,12,13,13,12,12,12,13,13,13,13,12,12,12,14,14,12,13,13,12,12,12,13,13,13,13,12,13,13,12,12,10,10,11,10,10,11,11,11,11,11,11,9,9,10,10,12,11,11,10,10,12,10,10,10,10,13,12,12,12,12,13,11,11,11,11,13,12,12,12,12,13,11,11,11,11,13,12,12,12,12,13,12,12,12,12,13,11,11,11,11,13,12,12,12,12,13,11,11,11,11,13,12,12,11,11,13,12,12,11,11,13,11,11,11,11,13,12,12,11,11,13,11,11,11,11,13,12,12,11,11,13,12,12,11,11,13,11,11,11,11,13,12,12,11,11,13,11,11,11,11,13,12,12,11,11,11,11,11,10,10,11,11,11,9,9,11,12,12,11,11,12,12,12,9,9,13,13,13,10,10,13,13,13,11,11,13,13,13,14,14,13,13,13,11,10,13,13,14,12,12,13,13,13,11,11,13,13,13,11,11,13,13,13,14,14,13,13,13,10,10,13,13,13,11,11,13,13,13,10,10,13,14,13,11,11,13,14,14,14,14,13,13,13,10,10,13,14,14,11,11,13,13,13,10,10,13,14,14,11,11,13,13,13,14,14,14,13,13,10,10,13,14,14,11,11,13,13,13,10,10,14,12,12,9,9,14,12,12,9,9,14,11,11,9,9,14,12,12,8,8,14,11,11,7,7,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,9,9,15,12,12,9,9,14,13,13,9,9,15,13,13,10,10,15,12,12,10,10,15,13,13,9,9,15,12,12,9,9,15,13,13,9,9,13,12,12,9,9,13,13,13,8,8,13,13,13,9,9,13,13,13,7,7,14,13,13,8,8,14,14,14,10,10,15,14,14,11,11,14,14,14,9,9,15,14,14,10,10,15,14,14,9,9,14,14,14,10,10,15,14,14,11,11,15,14,14,9,9,14,14,14,10,10,14,14,14,9,9,15,14,15,10,10,15,14,14,11,11,14,14,14,9,9,14,14,14,9,9,14,14,14,8,8,15,14,14,10,10,15,14,14,11,11,14,14,14,9,9,15,14,14,9,9,14,14,14,8,8,12,12,12,13,13,16,16,16,11,11,17,16,16,12,12,17,16,16,11,11,17,16,16,11,11,17,17,16,13,13,17,16,16,13,13,18,17,16,12,12,17,16,16,13,13,17,16,17,12,12,18,17,17,13,13,17,16,16,14,14,18,17,17,12,12,18,16,16,13,13,17,17,17,13,12,17,17,17,13,13,17,16,16,13,13,18,17,17,12,12,17,16,16,13,12,17,17,17,12,12,18,17,17,13,13,18,16,16,14,14,18,17,17,12,12,17,17,17,13,13,18,17,18,12,12,13,14,14,10,10,16,14,14,13,13,17,15,15,14,14,17,14,14,12,13,16,14,14,13,13,17,15,15,14,14,16,16,16,15,15,17,15,15,14,14,17,16,16,14,15,17,15,15,14,14,17,15,16,14,14,17,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,14,17,15,15,14,14,16,16,16,15,15,17,15,15,13,13,17,15,15,14,14,17,15,15,13,13,17,15,15,14,14,16,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,13,11,11,10,10,16,14,14,13,12,16,14,14,13,13,16,15,14,12,12,16,14,14,12,12,16,15,15,14,14,16,14,14,14,14,17,15,15,13,13,16,15,15,14,14,17,15,15,13,14,17,15,15,14,14,17,15,14,14,14,17,15,15,13,13,17,15,15,14,14,17,15,15,13,13,17,15,15,14,14,17,14,14,14,14,17,15,15,13,13,17,15,15,13,13,17,15,15,13,13,17,15,15,14,14,17,15,15,14,14,17,15,15,13,13,17,15,15,13,13,17,15,15,13,13,14,14,15,8,8,14,14,14,19,19,14,15,15,18,19,14,14,14,19,18,14,14,14,19,19,15,15,15,19,18,15,16,16,19,19,15,15,15,19,19,15,16,16,20,19,15,15,15,19,19,15,15,15,19,19,16,16,16,20,19,15,15,15,19,18,15,16,16,20,19,15,15,15,18,18,15,15,15,19,20,15,16,16,19,19,15,15,15,20,19,15,15,15,20,19,15,15,15,19,18,15,15,15,19,19,15,16,16,19,20,15,15,15,19,19,15,15,15,19,20,15,15,15,19,19,14,12,12,9,9,14,14,14,19,19,14,14,14,19,19,14,14,15,20,19,15,14,14,18,19,15,15,15,19,19,15,15,14,20,19,15,15,15,20,19,15,15,14,20,19,15,15,15,20,19,15,15,15,19,20,15,14,14,19,20,15,15,15,20,20,15,14,14,20,19,15,15,15,19,19,15,15,15,19,19,15,14,14,19,19,15,15,15,19,20,15,15,15,20,20,15,15,15,19,19,15,15,15,20,19,16,14,14,19,19,15,15,15,20,19,15,14,15,20,19,14,15,15,20,19,12,12,12,13,13,16,16,16,11,11,16,16,16,12,12,17,16,16,11,11,17,15,16,11,11,17,17,17,13,13,18,16,17,13,13,18,17,17,13,12,17,16,17,13,13,17,17,17,13,13,16,16,16,12,12,17,16,16,13,13,17,16,16,12,12,17,16,16,12,13,17,17,17,12,12,17,17,17,13,13,18,16,16,13,13,18,17,17,12,12,18,17,17,12,12,17,17,17,12,12,17,17,17,12,12,17,16,16,13,13,17,17,17,12,12,17,16,16,12,12,17,17,17,12,12,13,14,14,9,9,16,14,14,13,13,16,15,15,14,14,17,14,14,13,13,16,14,14,13,13,17,15,15,15,15,16,16,16,15,15,17,15,15,14,14,17,15,15,15,15,17,15,15,14,14,17,15,15,14,14,16,16,16,15,15,17,15,15,14,14,17,15,15,14,14,17,15,15,14,14,17,15,15,14,14,16,16,16,15,15,18,15,15,14,13,17,15,15,14,14,17,15,15,13,13,17,15,15,14,14,16,16,16,15,15,17,15,15,14,13,17,15,15,14,14,17,15,15,13,13,13,11,11,11,11,16,14,14,12,12,16,14,14,13,13,16,15,14,12,12,17,14,14,12,12,17,15,15,13,13,17,14,14,14,14,17,15,15,13,13,17,14,15,14,13,17,15,15,13,13,16,15,15,13,13,16,14,14,14,14,17,15,15,13,13,16,14,14,13,13,16,15,15,13,13,17,15,15,13,13,17,14,14,14,14,17,15,15,12,12,17,15,15,13,13,17,15,15,12,12,16,15,15,13,13,17,14,14,13,14,17,15,15,12,12,17,14,14,13,13,17,15,15,12,12,14,14,14,8,8,14,14,14,18,18,14,15,15,19,19,14,14,14,19,19,14,15,14,18,19,15,15,15,18,19,15,16,16,20,20,15,15,15,19,20,15,16,16,19,20,15,15,15,19,20,15,15,16,19,19,15,16,16,20,20,15,15,15,20,19,15,16,16,20,19,15,15,15,19,20,15,15,15,19,19,15,16,16,20,19,15,15,15,19,19,15,16,15,20,19,15,15,15,19,19,15,15,15,19,20,15,16,16,20,20,15,15,15,19,19,15,15,15,20,20,15,15,15,19,19,14,12,12,9,9,14,14,14,18,18,14,14,14,19,20,14,14,14,18,18,14,14,14,18,19,15,15,15,19,20,15,14,14,19,19,15,15,15,19,19,15,14,15,19,19,15,15,15,18,20,15,15,15,19,19,15,14,14,19,19,15,15,15,20,19,15,15,14,20,20,15,15,15,19,19,15,15,15,19,19,15,14,14,19,19,15,15,15,19,19,15,14,14,19,20,14,15,15,19,19,15,15,15,19,19,15,14,14,20,19,15,15,15,19,19,15,14,14,20,19,15,15,15,19,19,13,12,12,13,13,17,17,16,11,11,16,16,16,12,12,17,17,16,11,11,17,16,16,11,11,17,17,17,13,13,17,16,16,13,13,18,17,17,12,12,17,16,16,13,13,18,17,17,12,12,18,17,17,13,13,18,16,17,13,13,17,17,17,12,12,18,17,17,13,13,18,17,17,12,12,17,16,17,12,12,17,16,16,13,13,17,16,16,11,11,17,16,16,12,12,17,17,17,11,11,17,17,17,12,12,18,16,16,13,13,18,17,17,12,11,17,16,16,12,12,18,17,17,11,11,13,14,14,9,9,16,14,14,13,13,16,15,15,14,14,17,14,14,12,12,16,14,14,13,13,17,15,15,14,14,17,16,16,15,16,18,15,15,14,14,17,15,15,14,14,17,15,15,14,14,18,15,15,14,14,16,16,16,15,16,18,15,15,14,14,17,16,15,14,14,18,15,15,14,14,17,15,15,14,14,17,16,16,15,15,18,14,15,13,13,17,15,15,14,14,18,15,15,13,13,17,15,15,14,14,17,16,15,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,13,11,11,10,10,16,14,14,12,12,16,14,14,12,12,17,14,15,11,11,17,14,14,11,11,17,15,15,13,13,17,14,14,14,13,17,15,15,13,13,16,15,15,13,13,17,15,15,13,13,17,15,15,13,13,17,14,14,14,14,17,15,15,13,13,17,14,15,13,13,16,15,15,13,13,17,15,15,13,13,17,14,14,13,13,17,15,15,12,12,16,14,14,12,12,17,15,15,12,12,17,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,17,15,15,12,12,13,15,14,8,8,14,14,14,19,19,14,15,15,18,19,14,14,14,18,19,14,15,14,19,19,15,16,15,19,19,15,16,16,19,20,15,15,15,19,19,15,16,16,19,19,15,16,16,19,19,15,15,15,19,19,15,16,16,20,20,15,15,15,19,19,15,15,15,19,19,15,15,15,19,19,15,15,15,19,19,15,16,16,20,19,15,15,15,19,19,15,15,15,19,19,15,15,15,19,19,15,16,15,19,19,15,16,16,21,19,15,15,15,20,20,15,15,15,20,21,15,15,15,19,20,14,12,12,8,8,14,14,14,19,19,14,13,13,19,19,14,14,14,19,19,14,13,14,19,19,15,15,15,20,20,15,14,14,20,19,15,15,15,19,20,15,14,14,19,20,15,15,15,20,19,15,15,15,19,20,15,14,14,20,20,15,15,15,20,19,15,14,14,19,19,15,15,15,19,19,15,15,15,20,19,15,14,14,21,19,15,15,15,20,21,15,14,14,21,19,15,15,15,19,19,15,15,15,20,20,15,14,14,19,21,15,15,15,19,19,15,14,14,19,20,15,15,15,19,19,13,12,12,13,13,17,16,16,11,11,17,16,15,12,12,18,16,16,11,11,17,16,16,11,11,18,17,17,13,13,18,16,16,13,13,17,17,17,12,13,18,17,16,13,13,18,17,17,13,13,17,17,17,13,13,17,16,16,13,13,18,16,17,12,12,17,16,16,13,12,17,17,17,12,12,18,17,17,13,12,18,16,16,13,13,18,17,17,12,12,17,16,16,12,12,17,17,17,11,11,17,16,16,12,12,17,16,16,13,13,17,16,16,11,11,17,16,16,12,12,17,17,17,11,11,13,14,14,9,9,16,14,14,13,13,16,15,15,14,14,17,14,14,12,12,16,14,14,13,13,17,15,15,14,14,17,15,16,15,15,17,15,15,14,14,17,15,16,14,15,18,15,15,14,14,17,15,15,14,14,16,16,16,15,15,18,15,15,13,14,17,15,15,14,14,18,15,15,14,14,17,15,15,14,14,17,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,17,15,15,14,14,17,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,13,11,11,10,10,16,14,14,12,12,16,14,14,13,13,17,14,14,11,11,17,14,14,12,12,17,15,15,14,14,17,14,14,14,14,17,15,15,13,13,17,15,14,13,13,16,15,15,13,13,16,15,15,13,13,17,14,14,14,14,17,15,15,13,13,17,14,14,13,13,16,15,15,13,13,16,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,16,15,15,12,12,17,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,16,15,15,12,12,14,14,14,8,8,14,14,14,18,18,14,15,15,19,18,14,14,14,18,18,14,14,14,18,19,15,16,15,19,19,15,17,16,20,20,15,15,15,19,19,15,16,16,19,19,15,15,15,19,19,15,16,15,18,19,15,16,16,20,20,15,15,15,19,19,15,16,16,19,20,15,15,15,19,19,15,15,16,19,19,15,16,16,20,20,15,15,15,19,19,15,15,15,19,20,15,15,15,19,19,15,15,15,19,19,15,16,16,20,20,15,15,15,19,20,15,16,16,20,20,15,15,15,19,19,13,12,12,8,8,14,14,14,19,20,14,14,14,19,19,14,14,14,18,19,14,14,14,19,20,15,15,15,19,20,15,14,14,21,20,15,15,15,20,20,15,15,14,19,19,15,15,15,19,19,15,15,15,19,19,15,14,14,19,20,15,15,15,19,20,15,14,14,19,19,15,15,15,19,19,15,15,15,19,19,16,14,14,19,19,15,15,15,20,20,15,14,14,21,19,15,15,15,19,19,15,15,15,19,20,16,14,14,19,20,15,15,15,19,19,15,14,14,19,19,15,15,15,20,19,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,6,7,7,7,8,8,7,8,8,10,11,11,9,8,8,7,9,9,11,12,12,9,8,8,6,7,7,9,11,11,10,11,11,10,11,11,13,13,13,11,12,12,10,11,11,13,14,14,12,12,12,6,6,6,8,6,6,8,6,6,9,7,7,12,10,10,10,6,6,9,7,7,12,10,10,11,7,6,7,8,8,12,10,10,12,10,10,11,10,10,15,13,13,13,10,10,12,11,11,15,13,13,14,11,11,8,7,7,12,11,11,12,11,11,11,11,11,14,14,14,13,12,12,12,11,11,16,15,15,14,12,12,0,10,10,0,11,11,0,12,12,0,11,11,0,14,14,0,11,11,0,11,11,0,15,15,0,11,11,7,8,8,13,10,10,12,10,10,12,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,13,11,11,12,11,11,15,14,14,14,12,12,13,12,12,15,14,14,15,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,12,12,0,15,14,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,0,8,8,0,8,8,0,10,10,0,9,9,0,10,10,0,10,10,0,9,9,0,10,10,0,7,7,0,7,7,0,7,7,0,8,8,0,8,8,0,8,8,0,9,9,0,8,8,0,8,8,0,7,7,0,8,8,0,8,8,0,10,10,0,9,9,0,9,9,0,10,10,0,9,9,0,10,10,0,8,8,0,11,11,0,11,11,0,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,12,12,0,8,8,0,11,11,0,11,11,0,13,12,0,12,12,0,13,12,0,13,13,0,12,12,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,11,11,0,11,11,0,13,12,0,12,12,0,12,12,0,12,12,0,11,11,0,12,12,0,8,8,0,12,12,0,12,12,0,13,13,0,12,12,0,13,13,0,13,13,0,12,13,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,0,7,7,0,8,8,0,9,9,0,12,12,0,8,8,0,9,9,0,12,12,0,8,8,0,6,6,0,11,11,0,11,11,0,12,12,0,14,14,0,11,11,0,12,12,0,14,14,0,11,11,0,6,6,0,6,5,0,7,6,0,7,7,0,10,10,0,6,6,0,7,7,0,10,10,0,7,7,0,7,7,0,10,10,0,11,11,0,11,11,0,14,14,0,10,10,0,12,12,0,14,14,0,12,12,0,6,6,0,11,11,0,11,11,0,12,12,0,14,14,0,11,11,0,12,12,0,15,15,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,11,11,0,11,11,0,12,12,0,15,15,0,12,12,0,11,11,0,15,15,0,11,11,0,6,6,0,11,11,0,12,12,0,12,12,0,15,15,0,11,11,0,12,12,0,14,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,2,2],"i8",N3,F.GLOBAL_BASE+489700),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,5,7,8,10,13,14,4,2,4,6,8,11,12,7,4,3,5,8,12,14,8,5,4,4,8,12,12,9,7,7,7,9,10,11,13,11,11,9,7,8,10,13,11,10,6,5,7,9,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,224,200,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,167,7,0,0,0,0,0,0,0,0,0,120,167,7,0,160,167,7,0,0,0,0,0,0,0,0,0,200,167,7,0,240,167,7,0,0,0,0,0,0,0,0,0,24,168,7,0,64,168,7,0,0,0,0,0,0,0,0,0,104,168,7,0,144,168,7,0,64,168,7,0,0,0,0,0,184,168,7,0,112,164,7,0,152,164,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,24,167,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,16,167,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,163,7,0,32,164,7,0,0,0,0,0,0,0,0,0,72,164,7,0,112,164,7,0,152,164,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,40,166,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,216,166,7,0,0,0,0,0,2,0,0,0,25,0,0,0,240,165,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,166,7,0,0,0,0,0,2,0,0,0,9,0,0,0,208,165,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,224,165,7,0,0,0,0,0,1,0,0,0,25,0,0,0,72,165,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,104,165,7,0,0,0,0,0,1,0,0,0,25,0,0,0,192,164,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,224,164,7,0,0,0,0,0,3,4,4,5,4,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,12,14,14,14,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,5,5,5,7,5,5,5,5,6,7,7,6,7,7,7,6,7,7,7,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,3,4,7,7,8,8,9,9,9,10,10,10,5,6,5,8,7,9,8,9,9,10,9,11,10,5,5,7,7,8,8,9,9,9,9,10,10,11,8,9,8,10,9,10,9,10,9,11,10,11,10,8,8,9,9,10,9,10,9,11,10,11,10,11,10,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,12,11,11,11,11,11,11,10,12,12,12,12,12,12,12,11,12,12,12,11,11,11,12,12,12,12,12,12,12,11,12,11,12,11,11,13,12,12,12,13,12,12,12,12,11,12,11,11,13,13,13,12,12,12,12,12,12,11,11,11,10,13,13,13,12,13,12,13,11,13,10,12,11,11,13,13,12,13,12,12,12,12,11,12,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,2,3,6,7,10,14,16,3,2,5,7,11,14,17,6,5,5,7,10,12,14,7,7,6,6,7,9,13,10,11,9,6,6,9,11,15,15,13,10,9,10,12,18,18,16,14,12,13,16,0,0,0,0,0,0,0,5,0,0,0,243,0,0,0,216,199,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,208,200,7,0,0,0,0,0,5,0,0,0,243,0,0,0,208,198,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,200,199,7,0,0,0,0,0,5,0,0,0,243,0,0,0,200,197,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,192,198,7,0,0,0,0,0,5,0,0,0,243,0,0,0,192,196,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,184,197,7,0,0,0,0,0,5,0,0,0,53,12,0,0,112,184,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,168,196,7,0,0,0,0,0,5,0,0,0,53,12,0,0,32,172,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,88,184,7,0,0,0,0,0,1,0,0,0,7,0,0,0,248,171,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,0,172,7,0,0,0,0,0,5,0,0,0,243,0,0,0,240,170,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,232,171,7,0,0,0,0,0,5,0,0,0,243,0,0,0,232,169,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,224,170,7,0,0,0,0,0,5,0,0,0,243,0,0,0,224,168,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,216,169,7,0,0,0,0,0,1,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,7,7,7,8,8,7,7,7,7,8,8,8,8,9,8,7,7,8,8,8,9,9,9,9,7,7,6,6,6,9,7,7,9,7,7,9,8,8,10,8,8,10,8,8,10,8,8,10,8,8,10,8,8,7,6,6,9,6,6,9,6,6,9,7,7,10,8,8,9,6,6,9,7,7,10,8,8,9,7,7,7,8,8,11,9,9,11,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,10,9,12,8,8,8,7,7,10,9,9,11,9,9,11,9,9,11,11,10,11,9,9,11,10,9,11,10,11,11,9,9,10,8,8,11,9,9,11,9,9,11,9,9,11,10,10,11,9,9,11,9,9,11,10,10,11,9,9,9,8,8,12,9,9,12,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,9,9,12,8,8,9,7,7,11,9,10,11,10,9,11,9,9,11,11,11,11,9,9,11,10,10,11,11,11,11,9,9,10,9,9,11,9,9,11,10,10,11,10,9,11,10,10,11,9,9,11,10,10,11,10,11,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,6,6,6,8,8,7,8,8,7,9,8,10,11,11,9,8,8,7,8,8,11,11,11,9,8,8,6,7,7,10,10,10,10,10,10,10,10,10,14,13,13,12,11,11,10,10,10,14,14,13,13,11,11,6,6,6,8,5,5,8,7,7,8,7,7,11,9,9,9,7,7,8,7,7,12,10,10,10,7,7,7,8,8,12,11,11,12,10,10,11,10,10,14,13,13,13,10,10,11,10,11,16,14,14,13,10,10,7,8,7,12,12,12,12,11,11,12,11,11,16,14,15,13,12,12,11,11,11,17,15,14,14,13,13,10,9,9,13,11,11,13,11,11,12,11,11,16,14,13,14,11,11,12,11,11,16,15,14,14,11,11,7,8,8,12,11,11,12,10,10,12,10,10,16,14,13,13,11,11,12,10,10,16,14,14,13,10,10,8,8,8,12,12,12,12,11,11,12,11,11,16,14,15,14,12,12,12,11,11,16,15,15,14,12,12,10,10,10,13,11,11,13,11,11,12,12,12,16,14,14,14,11,11,12,11,11,17,14,15,14,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,14,14,6,8,8,14,14,7,7,7,14,14,0,13,13,15,16,0,13,13,15,15,7,8,8,15,15,9,10,10,16,16,9,8,8,14,15,0,13,13,17,17,0,13,13,16,16,8,8,8,15,15,12,11,11,16,16,9,8,8,14,14,0,13,13,17,17,0,13,13,15,15,0,14,14,16,16,0,0,0,18,19,0,12,12,16,15,0,16,16,0,20,0,14,14,16,16,0,14,14,17,17,0,0,0,19,19,0,12,12,15,15,0,18,17,21,21,0,14,14,16,16,5,7,7,12,13,9,10,9,14,14,11,10,10,14,14,0,0,0,18,17,0,20,21,18,18,9,10,10,14,14,12,12,12,17,16,12,10,10,14,14,0,20,20,18,17,0,21,21,17,17,11,10,10,14,14,15,13,13,18,18,13,11,11,14,14,0,20,0,18,18,0,20,21,18,17,0,21,0,18,19,0,0,0,0,21,0,21,20,16,17,0,0,0,21,21,0,0,0,20,18,0,20,0,17,18,0,0,0,0,0,0,0,20,16,17,0,0,0,20,0,0,0,0,18,18,6,6,6,13,13,8,5,5,11,11,9,6,6,13,13,0,9,9,12,12,0,10,10,14,14,9,7,7,13,13,12,9,9,13,13,10,6,6,13,13,0,10,10,14,14,0,10,10,13,13,9,7,7,13,13,13,10,10,13,13,11,6,6,13,13,0,10,10,15,15,0,10,10,13,13,0,12,11,15,15,0,20,19,17,16,0,9,9,13,13,0,13,13,20,19,0,11,11,13,13,0,11,11,15,15,0,20,19,17,17,0,10,10,13,13,0,14,15,0,21,0,12,12,13,13,0,10,10,12,12,0,11,11,15,15,0,11,11,15,15,0,15,15,20,20,0,16,16,0,0,0,11,11,15,15,0,14,14,17,17,0,11,11,15,15,0,15,15,20,21,0,16,16,21,21,0,12,12,15,15,0,15,15,18,20,0,11,11,16,15,0,15,15,21,21,0,16,16,0,21,0,16,16,0,0,0,0,0,0,0,0,14,14,21,21,0,17,18,0,0,0,16,17,20,0,0,16,16,0,0,0,0,0,0,0,0,15,15,20,20,0,19,18,0,21,0,18,17,0,0,0,10,10,11,11,0,10,10,10,10,0,11,11,12,12,0,11,11,9,9,0,13,13,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,12,12,13,13,0,12,12,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,13,13,13,13,0,12,12,12,12,0,14,13,13,13,0,19,21,15,15,0,12,11,12,12,0,16,15,19,19,0,13,13,11,11,0,13,13,13,13,0,0,21,15,16,0,12,12,12,12,0,16,16,19,21,0,13,13,12,12,7,7,7,16,16,11,9,9,16,16,12,9,9,16,16,0,13,13,16,16,0,14,14,17,16,11,9,9,16,16,14,12,11,17,17,13,8,9,15,15,0,13,13,19,19,0,13,13,16,15,12,10,10,17,17,15,12,12,19,18,14,9,9,17,16,0,14,14,18,0,0,14,13,16,16,0,14,15,18,17,0,21,0,19,21,0,12,12,16,16,0,16,16,0,0,0,14,14,16,16,0,14,14,18,18,0,0,21,20,0,0,13,13,16,17,0,18,18,0,0,0,15,14,17,16,8,7,7,14,14,11,10,10,15,15,13,10,10,15,15,0,21,20,19,19,0,21,0,17,18,11,10,10,15,16,14,12,12,18,18,14,11,11,15,14,0,21,20,18,19,0,0,21,18,18,12,11,11,16,16,16,14,14,18,20,14,11,11,16,15,0,20,20,19,19,0,0,20,18,18,0,21,0,18,19,0,0,0,0,0,0,20,20,17,18,0,0,0,20,20,0,0,0,19,19,0,0,0,20,18,0,0,0,0,0,0,0,21,18,18,0,21,21,0,21,0,0,0,19,20,11,9,9,14,14,13,10,10,14,14,13,11,11,15,15,0,13,13,13,13,0,14,14,16,16,13,11,11,15,15,16,12,12,15,15,14,10,10,14,14,0,14,14,16,16,0,14,14,15,15,13,10,10,15,15,17,13,14,15,16,15,10,10,15,15,0,14,14,17,16,0,14,14,15,15,0,15,15,17,17,0,0,21,18,18,0,13,13,15,15,0,16,16,21,20,0,14,14,15,14,0,15,14,16,17,0,0,20,20,19,0,13,13,15,15,0,19,18,0,0,0,15,15,15,15,0,11,11,14,14,0,12,12,16,16,0,12,12,16,16,0,15,16,21,21,0,16,17,21,0,0,12,12,17,16,0,14,14,18,19,0,11,11,16,16,0,15,15,20,21,0,16,16,21,0,0,12,12,17,16,0,15,15,19,19,0,12,12,16,17,0,16,15,0,0,0,16,16,0,0,0,17,17,0,21,0,0,0,0,0,0,14,15,20,0,0,17,17,0,0,0,17,17,0,0,0,17,16,0,0,0,0,0,0,0,0,15,15,0,0,0,18,18,0,0,0,18,17,0,0,0,11,11,14,14,0,12,12,15,15,0,12,12,15,15,0,13,13,14,14,0,14,14,17,17,0,12,12,16,16,0,14,14,16,16,0,11,11,15,15,0,13,13,16,17,0,13,13,16,16,0,12,12,15,15,0,14,14,17,16,0,11,11,15,15,0,14,14,17,17,0,13,13,16,16,0,15,15,17,18,0,21,20,20,21,0,12,12,15,15,0,16,16,20,21,0,14,14,15,15,0,14,14,17,17,0,0,0,18,19,0,12,13,15,15,0,18,17,21,0,0,14,15,15,15,8,8,8,16,16,12,10,10,16,16,13,9,9,16,16,0,14,14,18,17,0,14,14,16,17,12,10,10,18,17,14,12,11,18,18,14,9,9,16,16,0,13,13,18,18,0,13,13,17,16,12,9,9,16,17,17,13,13,17,17,14,9,9,15,15,0,14,14,20,19,0,13,13,16,16,0,15,15,19,18,0,0,0,20,19,0,12,13,17,17,0,16,16,20,0,0,14,14,16,17,0,14,14,19,18,0,0,0,20,20,0,13,13,16,16,0,18,17,0,0,0,15,15,16,16,9,7,7,14,14,12,10,10,15,15,13,10,10,15,15,0,21,0,18,19,0,20,21,19,18,12,10,10,16,15,15,13,13,18,18,14,11,11,15,15,0,0,0,19,18,0,0,21,18,18,13,11,11,15,15,16,14,14,17,19,15,11,11,15,15,0,21,21,20,18,0,0,21,18,18,0,0,21,21,19,0,0,0,0,0,0,19,20,18,17,0,0,0,21,21,0,21,0,20,18,0,0,21,19,19,0,0,0,0,0,0,20,21,17,17,0,0,0,0,0,0,21,0,18,20,0,10,10,14,14,0,11,11,15,15,0,11,11,15,15,0,14,14,15,15,0,15,15,16,16,0,11,12,16,16,0,13,13,16,16,0,11,11,15,15,0,14,14,17,17,0,14,14,15,15,0,11,11,16,15,0,14,14,15,15,0,11,11,15,15,0,15,15,17,17,0,14,14,15,15,0,16,16,18,18,0,0,0,20,19,0,14,13,16,15,0,17,17,21,0,0,15,15,15,15,0,16,15,17,16,0,20,0,20,18,0,13,14,15,15,0,19,18,0,21,0,15,15,15,15,0,11,11,14,14,0,12,12,16,16,0,12,12,16,16,0,16,15,20,21,0,17,16,0,0,0,12,12,16,16,0,14,14,18,18,0,11,11,16,16,0,15,15,21,20,0,16,16,0,0,0,12,12,16,17,0,15,14,19,19,0,11,12,16,16,0,15,15,21,0,0,16,16,0,0,0,16,17,0,0,0,0,0,0,0,0,15,15,21,0,0,17,17,0,0,0,17,17,0,0,0,17,16,0,0,0,0,0,0,0,0,15,15,0,20,0,19,20,0,0,0,17,17,0,0,0,12,12,15,15,0,12,12,15,15,0,12,12,16,16,0,13,13,15,15,0,15,15,17,17,0,13,13,17,16,0,14,14,17,17,0,11,11,16,16,0,14,14,17,17,0,13,13,16,16,0,12,12,16,16,0,15,15,16,17,0,11,11,15,16,0,14,14,17,17,0,13,14,16,16,0,15,15,18,18,0,21,20,20,19,0,13,13,16,17,0,16,16,0,0,0,14,14,16,16,0,15,15,18,18,0,0,0,20,19,0,13,13,16,16,0,17,17,0,0,0,14,14,16,16,0,11,11,16,16,0,13,13,18,17,0,13,13,17,17,0,16,16,17,17,0,16,16,17,18,0,12,12,17,17,0,15,15,18,18,0,12,12,16,16,0,16,16,19,19,0,15,15,16,17,0,12,12,17,17,0,17,17,18,18,0,12,12,17,17,0,16,16,19,19,0,15,16,17,17,0,16,16,18,17,0,0,0,21,21,0,13,13,16,16,0,17,17,0,20,0,15,15,16,17,0,16,16,19,18,0,0,21,20,21,0,14,14,17,16,0,20,0,0,0,0,15,16,16,17,0,9,9,14,14,0,13,13,16,16,0,14,14,15,15,0,0,20,19,19,0,0,0,19,19,0,12,12,15,15,0,15,16,19,18,0,14,14,15,15,0,21,0,18,18,0,20,0,17,18,0,13,13,16,16,0,17,17,17,19,0,14,14,16,15,0,21,20,20,19,0,0,0,19,19,0,0,0,19,18,0,0,0,0,0,0,20,20,17,18,0,0,0,21,21,0,0,0,18,18,0,21,0,18,19,0,0,0,0,0,0,20,21,18,18,0,0,0,20,21,0,0,0,19,19,0,18,18,15,15,0,20,21,17,17,0,19,21,17,17,0,0,0,17,18,0,0,0,20,19,0,19,19,17,17,0,0,0,18,18,0,19,20,16,17,0,0,21,20,20,0,19,20,19,18,0,19,20,16,16,0,0,0,18,19,0,19,20,17,17,0,0,21,0,20,0,21,21,17,19,0,20,0,19,20,0,0,0,20,0,0,19,18,17,16,0,0,0,0,0,0,0,20,17,17,0,20,21,18,20,0,0,0,0,21,0,19,20,17,17,0,0,0,0,0,0,20,21,17,17,0,11,11,14,14,0,13,13,16,17,0,13,13,16,16,0,17,17,0,21,0,18,17,21,0,0,13,13,16,16,0,15,15,18,18,0,12,12,16,16,0,17,16,21,0,0,17,17,0,0,0,12,12,17,17,0,17,17,19,21,0,13,12,16,16,0,17,17,0,0,0,17,17,0,0,0,18,17,0,21,0,0,0,0,0,0,15,15,20,0,0,20,18,0,0,0,17,18,0,0,0,16,17,0,0,0,0,0,0,0,0,15,15,0,0,0,19,19,0,0,0,18,18,0,0,0,14,14,18,18,0,16,16,0,21,0,16,16,21,21,0,17,17,0,20,0,17,17,20,0,0,16,15,0,0,0,20,20,0,0,0,15,15,20,20,0,17,17,21,0,0,17,18,20,20,0,15,15,20,20,0,18,18,0,0,0,15,15,19,20,0,17,18,0,0,0,17,17,20,20,0,18,17,21,0,0,0,0,0,21,0,15,15,20,20,0,19,19,0,0,0,17,17,21,0,0,17,17,0,0,0,0,0,21,0,0,15,15,19,19,0,20,21,0,0,0,18,17,21,21,0,12,12,16,16,0,14,14,17,17,0,13,13,17,18,0,16,16,18,17,0,16,16,18,18,0,13,13,18,18,0,15,16,19,18,0,13,13,16,16,0,16,16,20,18,0,16,16,17,17,0,12,13,17,17,0,17,16,18,18,0,12,12,16,16,0,17,16,20,19,0,16,16,16,16,0,16,17,18,20,0,0,0,21,20,0,14,14,17,16,0,19,18,0,20,0,16,16,17,16,0,16,16,17,18,0,0,21,21,21,0,14,14,16,16,0,20,20,21,0,0,16,16,16,16,0,10,10,14,14,0,14,14,15,16,0,14,14,15,15,0,0,21,18,18,0,0,21,18,19,0,13,13,16,16,0,16,16,18,18,0,14,14,15,15,0,21,0,18,18,0,21,0,18,18,0,13,13,16,16,0,17,17,19,20,0,14,14,15,15,0,0,0,18,20,0,0,21,18,18,0,0,21,19,18,0,0,0,0,0,0,20,21,18,17,0,0,0,21,21,0,0,0,19,19,0,21,0,18,19,0,0,0,0,0,0,21,20,17,17,0,0,21,20,0,0,0,0,19,19,0,19,20,15,16,0,0,20,18,17,0,20,21,17,18,0,21,0,18,18,0,0,0,19,19,0,20,20,17,18,0,0,0,18,19,0,20,20,18,17,0,0,0,0,20,0,0,21,17,18,0,20,21,17,17,0,0,0,18,18,0,19,19,17,17,0,0,0,21,21,0,20,20,17,17,0,0,0,21,19,0,0,0,20,19,0,21,20,17,18,0,0,0,0,0,0,0,20,18,17,0,21,20,18,18,0,0,0,20,21,0,20,20,17,17,0,0,0,0,0,0,20,0,17,17,0,11,11,13,14,0,13,13,16,16,0,13,13,16,16,0,17,17,0,0,0,17,18,0,0,0,13,13,16,16,0,15,16,18,18,0,13,13,16,17,0,16,17,20,0,0,17,18,20,0,0,13,13,17,17,0,16,16,20,21,0,13,13,16,16,0,17,17,21,0,0,17,18,0,0,0,17,18,0,21,0,0,0,0,0,0,15,15,20,0,0,19,19,0,0,0,17,17,0,0,0,18,17,21,20,0,0,0,0,0,0,16,16,20,21,0,21,20,0,21,0,19,21,0,0,0,15,15,0,0,0,16,17,0,19,0,16,16,0,0,0,17,17,0,0,0,19,18,0,0,0,16,16,20,20,0,20,18,21,0,0,15,15,21,21,0,18,18,0,0,0,18,19,0,0,0,16,15,0,21,0,20,19,0,0,0,16,16,0,0,0,20,18,0,21,0,17,18,21,0,0,18,19,0,0,0,0,0,0,0,0,16,16,20,20,0,19,20,0,0,0,17,17,0,0,0,18,17,20,21,0,0,0,0,0,0,16,16,0,20,0,20,22,0,0,0,18,18,0,22,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,8,8,10,12,12,11,11,9,11,11,12,13,11,12,12,11,11,11,12,12,12,12,10,13,12,13,13,11,12,12,13,13,11,12,12,13,13,11,12,13,13,13,11,13,13,13,13,10,13,13,12,13,11,12,12,14,14,11,13,12,12,12,11,12,12,13,13,11,13,13,12,12,11,13,13,13,13,11,12,12,13,13,11,13,13,12,12,11,12,12,13,13,11,13,13,12,12,11,13,13,13,13,11,12,12,14,14,11,13,13,12,12,11,12,12,13,13,11,13,13,12,12,11,10,10,10,10,12,10,10,11,11,11,8,8,11,11,13,10,10,10,10,12,10,10,10,10,13,11,11,11,11,13,10,10,11,11,13,11,11,12,12,13,11,11,11,11,13,11,11,12,12,13,11,11,12,12,13,10,10,11,11,13,11,11,11,11,13,11,10,11,11,13,11,11,11,11,13,11,11,11,11,13,10,10,11,11,13,11,11,11,11,12,10,11,11,11,13,11,11,11,11,13,11,11,11,11,13,10,10,11,11,13,11,11,11,11,13,11,11,11,11,13,11,11,11,11,11,10,10,10,10,12,10,10,9,9,12,12,12,11,11,13,12,12,9,9,13,12,12,10,10,12,12,12,12,12,13,13,13,14,14,13,12,12,11,11,13,13,13,12,12,13,12,12,11,11,13,12,13,11,11,13,13,13,14,14,13,12,12,10,10,13,13,13,11,11,13,12,12,10,10,13,13,13,11,11,13,13,13,14,14,13,12,12,10,10,13,13,13,11,11,13,12,13,10,10,13,13,13,11,11,13,13,13,14,14,13,12,12,10,10,13,13,13,11,11,13,13,12,10,10,14,12,12,8,8,14,12,12,9,9,14,11,11,9,9,14,12,12,8,8,14,11,11,7,7,14,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,12,12,9,9,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,14,12,12,9,9,14,13,13,9,9,14,13,13,9,9,15,12,12,9,9,15,13,13,9,9,14,12,12,9,9,14,13,13,9,9,14,13,13,9,9,15,12,12,9,9,14,13,13,9,9,14,12,12,9,9,14,13,13,9,9,13,12,12,8,8,13,13,13,8,8,14,13,13,9,9,13,13,13,7,7,14,13,13,8,8,14,14,14,10,10,14,14,14,11,11,14,14,14,9,9,14,14,14,10,10,14,14,14,9,9,14,14,14,10,9,15,14,14,11,11,14,14,14,9,9,14,14,14,10,10,14,14,14,9,9,14,14,14,9,9,15,14,14,11,11,14,14,14,8,8,14,14,14,9,9,14,14,14,8,8,14,14,14,9,9,15,14,14,11,11,14,14,14,8,8,14,14,14,9,9,14,14,14,8,8,12,12,12,13,13,16,15,15,11,11,16,15,16,12,12,17,16,16,11,11,17,15,15,12,11,16,16,16,12,13,16,15,15,13,13,16,16,16,12,12,16,16,15,13,13,16,16,16,12,12,16,16,16,13,13,17,16,16,14,14,17,17,16,12,12,17,16,16,13,13,17,17,16,12,13,16,16,17,13,12,17,16,16,14,13,17,16,16,12,12,17,16,16,12,12,17,16,17,12,12,17,17,17,13,13,16,16,16,13,14,17,17,16,12,12,16,16,16,13,13,17,17,17,12,12,13,14,14,10,10,16,14,14,12,12,16,15,15,14,14,16,14,14,12,12,15,14,14,13,13,17,15,15,14,13,16,16,15,15,15,16,15,15,14,14,16,15,15,14,14,17,15,15,14,14,16,15,15,14,14,16,16,15,15,15,17,15,15,13,13,16,15,15,14,14,17,15,15,13,13,17,15,15,14,14,16,15,15,15,15,16,14,14,13,13,16,15,15,14,14,16,14,14,13,13,17,15,15,14,14,16,16,15,15,15,17,14,14,13,13,16,15,15,14,14,17,14,14,13,13,13,11,11,10,10,16,14,14,13,13,15,14,14,13,13,16,14,14,12,12,16,14,14,12,12,15,15,15,14,14,16,14,14,14,14,16,15,14,14,14,16,14,14,14,14,16,15,15,14,13,16,15,15,14,14,16,14,14,14,14,17,15,15,14,14,16,14,14,14,14,16,15,15,13,14,16,15,15,14,14,16,14,14,14,14,16,15,15,13,13,16,14,14,13,13,16,15,15,13,13,16,15,15,14,14,16,14,14,14,14,17,15,15,13,13,16,15,14,13,13,17,15,15,13,13,14,14,14,9,9,14,14,14,17,17,14,15,15,18,18,14,14,14,18,19,14,14,14,18,18,15,15,15,19,18,15,16,15,18,20,15,15,15,18,19,15,15,15,19,19,15,15,15,18,20,15,15,15,18,19,15,15,16,20,18,15,15,15,18,18,15,15,15,19,19,15,15,15,18,19,15,15,15,18,19,15,15,15,19,19,14,15,14,19,19,15,15,15,20,19,15,14,14,19,18,14,15,15,18,19,15,15,16,20,20,14,14,14,18,19,15,15,15,19,18,14,14,14,18,18,14,12,12,9,9,13,14,14,18,18,14,13,13,18,19,14,14,14,18,18,14,14,14,18,18,15,15,15,19,19,15,14,14,19,18,14,15,15,19,18,15,14,14,18,18,15,15,15,19,18,14,15,15,19,19,15,14,14,19,18,14,15,15,19,18,15,14,14,19,18,14,15,15,19,18,15,15,15,21,18,15,14,14,19,18,14,15,15,18,19,14,15,14,20,19,14,15,15,18,19,14,15,15,19,19,15,14,14,19,20,14,15,15,18,18,14,14,14,19,19,14,15,15,19,18,12,12,12,13,13,16,15,15,11,11,16,15,15,12,12,16,16,16,11,11,16,15,15,11,11,16,16,16,13,13,17,16,16,13,13,17,17,17,12,12,16,16,16,13,13,17,16,17,13,12,15,16,16,12,12,16,15,15,13,13,17,16,16,12,12,16,16,15,12,12,16,16,16,12,12,17,17,16,13,12,16,16,16,13,13,17,16,16,12,12,17,16,16,12,12,17,17,16,12,12,16,17,16,12,12,17,15,15,13,13,17,16,16,12,12,16,16,16,12,12,16,16,16,12,12,13,13,13,9,9,15,14,14,13,13,16,15,14,14,14,16,14,14,13,13,15,14,14,13,13,17,15,15,14,14,16,15,15,15,15,16,15,15,14,14,16,15,15,15,15,17,15,15,14,14,16,15,15,14,14,16,15,15,15,15,17,14,15,14,14,16,15,15,14,14,17,15,15,13,14,17,15,15,14,14,16,15,15,15,15,17,14,14,13,13,16,15,15,14,14,17,14,14,13,13,17,15,15,14,14,16,15,16,15,15,17,14,14,13,13,16,15,15,14,14,18,14,14,13,13,13,11,11,11,11,15,14,14,12,12,15,14,14,13,13,16,14,14,12,12,16,13,14,12,12,16,15,15,13,13,16,14,14,14,14,16,15,15,13,13,16,14,14,13,13,16,14,15,13,13,15,15,15,13,13,16,14,14,14,13,16,14,14,13,13,16,14,14,13,13,16,15,15,13,13,16,15,15,13,13,16,14,14,14,14,16,15,15,12,12,16,14,14,13,13,16,15,15,12,12,16,15,15,13,13,16,14,14,14,14,17,15,14,12,12,16,14,14,13,13,16,15,15,12,12,14,14,14,8,8,14,14,14,17,18,14,15,15,17,18,14,14,14,17,18,14,14,14,18,18,14,15,15,18,18,14,16,15,19,19,15,15,15,18,19,15,16,15,20,19,15,15,15,18,18,14,15,15,18,19,15,16,16,20,19,15,15,15,19,17,14,15,15,20,18,14,15,15,18,18,14,15,15,18,19,14,15,15,19,20,14,14,14,18,18,14,15,15,18,19,14,14,14,18,19,14,15,15,19,18,15,16,16,20,21,14,14,15,19,19,14,15,15,19,19,14,14,14,19,18,13,12,12,9,9,13,14,14,18,19,14,14,14,18,19,14,14,14,18,18,14,14,14,18,18,14,15,15,19,19,15,14,14,19,18,15,15,15,19,19,15,14,14,19,20,14,15,15,18,19,14,15,15,20,18,15,14,14,18,18,14,15,15,18,18,14,14,14,19,19,14,15,15,18,18,14,15,15,19,18,15,14,14,19,19,14,15,15,19,18,15,14,14,19,18,14,14,15,18,19,14,15,15,19,18,15,14,14,18,19,14,15,14,19,20,14,14,14,19,19,14,15,15,19,19,12,12,12,13,13,16,16,16,11,11,16,16,16,12,12,17,16,16,11,11,17,15,15,11,11,16,16,16,13,13,17,15,16,13,13,16,16,16,12,12,17,16,16,13,13,17,17,16,12,12,17,17,16,13,13,17,16,16,13,13,17,17,17,12,12,17,16,16,13,13,17,17,17,12,12,16,16,16,12,12,17,15,15,13,13,17,16,16,11,11,17,16,16,12,12,16,16,16,11,11,16,17,16,12,12,17,16,16,13,13,17,17,16,12,12,17,17,16,12,12,17,16,16,11,11,13,14,14,9,9,16,14,14,13,13,16,14,15,14,14,16,14,14,12,12,16,14,14,13,13,17,15,15,14,14,16,15,15,15,15,17,15,15,14,14,16,15,15,14,14,17,15,15,14,14,16,15,15,14,14,16,15,15,15,16,17,14,15,14,14,16,15,15,14,14,17,15,15,14,14,16,15,15,14,14,16,15,15,15,15,17,14,14,13,13,16,15,15,14,14,16,14,14,13,13,17,15,15,14,14,16,16,15,15,15,17,14,14,13,13,16,15,15,14,14,17,14,14,13,13,13,11,11,10,10,16,14,14,12,12,15,13,13,13,12,16,14,14,11,11,16,14,14,11,11,16,14,15,13,14,16,14,14,13,13,16,15,15,13,13,16,14,14,13,13,16,15,15,13,13,16,15,15,13,13,17,14,14,14,14,17,15,15,13,13,16,14,15,13,13,16,15,15,13,13,16,15,15,13,13,16,14,14,13,13,17,15,15,12,12,16,14,14,12,12,16,15,15,12,12,16,15,15,13,13,16,14,14,13,13,17,15,15,12,12,17,14,14,12,12,16,15,15,12,12,13,14,14,8,8,13,14,14,18,18,13,15,15,17,18,14,14,14,18,19,14,14,14,19,18,14,15,15,19,18,15,15,16,21,18,15,15,15,19,19,14,16,16,19,19,14,15,15,18,19,14,15,15,19,20,14,16,16,19,18,15,15,15,18,19,14,15,15,19,18,15,15,15,18,18,15,15,15,20,18,15,16,16,20,19,14,15,14,18,19,14,15,16,19,20,14,15,15,19,18,15,15,15,19,18,15,16,16,20,19,15,14,14,18,18,14,15,15,19,19,14,15,15,18,18,13,12,12,8,8,13,14,14,19,18,14,13,13,20,18,14,14,14,19,18,14,13,13,18,19,14,15,15,20,19,15,14,14,19,19,14,15,15,19,18,15,14,14,20,20,15,15,15,19,18,14,15,15,19,18,15,14,14,19,18,14,15,15,20,19,14,14,14,20,19,14,15,15,19,18,15,15,15,18,18,15,14,14,18,18,14,15,15,19,19,14,14,14,19,19,14,15,15,19,19,15,15,15,19,18,15,14,14,20,19,15,15,15,19,19,14,14,14,20,19,14,15,15,20,20,12,12,12,13,13,17,16,16,11,11,16,16,15,12,12,17,16,16,11,11,17,15,15,11,11,17,17,17,13,13,17,16,16,13,13,17,17,17,12,12,17,16,16,13,13,17,17,16,12,13,16,17,16,13,13,17,16,15,13,13,17,16,16,12,12,17,16,16,12,13,17,16,17,12,12,17,17,17,12,12,17,16,15,13,13,17,16,16,12,12,17,16,16,12,12,17,16,16,11,11,16,16,16,12,12,17,15,15,13,13,17,16,15,11,11,16,16,16,12,12,17,16,16,11,11,13,14,14,9,9,16,14,14,13,13,16,14,15,14,14,16,14,14,12,12,16,14,14,13,13,17,15,15,14,15,16,15,15,15,15,17,15,15,14,14,16,15,15,15,14,16,15,15,14,14,16,15,15,14,14,16,15,16,15,15,17,15,14,14,14,16,15,15,14,14,17,15,15,13,13,16,15,15,14,14,16,16,16,15,15,17,14,14,13,13,16,15,15,14,14,18,14,15,13,13,16,15,15,14,14,16,16,15,15,15,16,14,14,13,13,16,15,15,14,14,17,14,15,13,13,13,11,11,10,10,15,14,14,12,12,15,14,14,13,13,16,14,14,12,12,16,13,14,12,12,16,14,15,14,13,16,14,14,14,14,16,15,15,13,13,16,14,14,13,13,16,15,15,13,13,15,15,15,13,13,16,14,14,14,14,17,15,15,13,13,16,14,14,13,13,16,15,15,13,13,16,15,15,13,13,16,14,14,13,13,17,15,15,12,12,16,14,14,12,12,16,14,15,12,12,16,15,15,13,13,16,14,14,13,13,17,15,15,12,12,16,14,14,12,12,16,15,15,12,12,14,14,14,8,8,14,14,14,17,17,14,15,15,18,18,14,14,14,18,17,14,14,14,18,18,14,15,15,18,20,15,16,15,19,18,15,15,15,19,18,15,15,16,19,18,15,15,15,18,18,14,15,15,18,18,15,16,16,18,19,15,15,15,18,18,15,15,15,19,20,15,15,15,18,18,15,15,15,18,18,15,16,16,19,19,15,14,15,19,19,15,15,15,19,20,14,14,15,18,18,15,15,15,19,19,15,16,16,19,19,15,15,14,18,19,15,15,15,20,20,15,15,14,18,18,13,12,12,8,8,13,14,14,18,18,14,14,14,18,18,14,14,14,18,20,14,14,14,18,18,14,15,15,19,18,15,14,14,18,19,15,15,15,18,19,15,14,14,18,19,15,15,15,18,18,14,15,14,18,19,15,14,14,21,19,15,15,15,19,18,14,14,14,19,18,14,15,15,19,18,15,15,15,20,19,15,14,14,20,18,14,15,15,18,19,14,14,14,19,18,14,15,15,18,19,15,15,15,18,19,15,14,14,19,19,15,15,15,19,19,14,14,14,19,20,14,15,15,18,19,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,7,8,8,7,8,8,7,9,9,10,12,11,9,8,8,7,9,9,11,12,12,9,9,9,6,7,7,10,11,11,10,11,11,10,11,11,13,13,14,12,12,12,11,11,11,14,14,14,12,12,12,6,5,5,9,6,5,9,6,6,9,7,7,12,10,10,11,6,6,10,7,7,13,10,10,12,7,7,7,8,8,12,10,10,12,10,10,11,10,10,15,13,13,13,9,9,12,11,11,16,13,13,15,11,11,8,7,7,12,12,12,12,11,11,12,11,11,14,14,14,14,12,12,12,12,12,16,15,15,14,12,12,0,10,10,0,12,12,0,12,12,0,11,11,0,14,14,0,11,11,0,12,12,0,15,15,0,11,11,8,8,8,13,11,11,13,10,10,13,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,9,7,7,13,11,11,13,11,11,12,11,11,16,14,14,14,12,12,13,12,12,15,14,14,15,13,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,13,12,0,14,15,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,0,9,9,0,9,9,0,10,10,0,9,9,0,10,10,0,10,10,0,9,9,0,10,10,0,7,7,0,7,7,0,6,6,0,8,8,0,7,7,0,8,8,0,8,9,0,8,8,0,8,8,0,7,7,0,9,9,0,8,8,0,10,10,0,9,9,0,10,10,0,10,10,0,9,9,0,10,10,0,9,9,0,11,11,0,11,11,0,12,12,0,11,11,0,12,12,0,13,13,0,12,12,0,13,12,0,8,8,0,12,12,0,12,12,0,13,13,0,12,12,0,13,13,0,13,13,0,13,13,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,11,11,0,12,12,0,13,13,0,12,12,0,13,13,0,13,13,0,12,12,0,12,12,0,8,8,0,12,12,0,12,12,0,13,13,0,13,13,0,13,14,0,14,13,0,13,13,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,0,7,7,0,8,8,0,9,9,0,12,12,0,8,8,0,9,9,0,12,12,0,8,8,0,6,6,0,11,11,0,12,12,0,12,12,0,15,15,0,11,11,0,12,12,0,15,15,0,12,12,0,5,5,0,5,5,0,6,6,0,7,7,0,11,11,0,6,6,0,7,7,0,10,11,0,6,6,0,7,7,0,11,11,0,12,12,0,11,11,0,15,15,0,10,10,0,12,12,0,15,15,0,12,12,0,6,6,0,12,12,0,12,12,0,12,12,0,15,15,0,11,11,0,12,12,0,15,15,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,11,12,0,15,16,0,11,11,0,6,6,0,11,12,0,12,12,0,12,12,0,16,15,0,12,12,0,13,12,0,15,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,3,7,8,10,13,16,3,2,5,7,9,13,16,6,4,4,6,10,14,15,7,5,5,7,10,13,14,9,8,9,9,9,11,13,12,11,12,9,7,8,11,14,12,10,6,5,7,10,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,248,239,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,206,7,0,0,0,0,0,0,0,0,0,144,206,7,0,184,206,7,0,0,0,0,0,0,0,0,0,224,206,7,0,8,207,7,0,0,0,0,0,0,0,0,0,48,207,7,0,88,207,7,0,0,0,0,0,0,0,0,0,128,207,7,0,168,207,7,0,88,207,7,0,0,0,0,0,208,207,7,0,136,203,7,0,176,203,7],"i8",N3,F.GLOBAL_BASE+500144),E3([2,0,0,0,49,0,0,0,48,206,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,40,206,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,203,7,0,56,203,7,0,0,0,0,0,0,0,0,0,96,203,7,0,136,203,7,0,176,203,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,64,205,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,240,205,7,0,0,0,0,0,2,0,0,0,25,0,0,0,8,205,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,40,205,7,0,0,0,0,0,2,0,0,0,9,0,0,0,232,204,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,248,204,7,0,0,0,0,0,1,0,0,0,25,0,0,0,96,204,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,128,204,7,0,0,0,0,0,1,0,0,0,25,0,0,0,216,203,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,248,203,7,0,0,0,0,0,3,5,4,5,4,5,4,5,5,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,7,7,4,5,6,7,7,4,6,5,7,7,7,6,7,6,7,7,7,6,7,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,3,3,8,8,10,10,10,10,10,10,10,10,5,7,5,9,8,10,10,10,10,11,10,11,10,5,5,7,8,9,10,10,11,10,10,11,10,11,10,10,10,11,11,11,11,11,11,11,10,11,11,10,10,10,10,11,11,11,11,11,10,11,11,11,11,11,11,11,11,12,11,10,11,11,11,11,11,11,11,11,11,11,11,11,10,10,11,11,12,11,11,11,11,11,11,12,11,11,11,10,11,11,11,11,11,11,11,11,10,11,11,10,11,10,11,11,11,11,11,11,11,11,11,11,12,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,11,10,11,11,11,11,11,11,11,12,11,13,11,11,11,11,11,11,11,11,11,11,11,12,11,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,2,3,6,7,9,13,17,3,2,5,7,9,13,17,6,5,5,6,9,12,16,7,7,6,6,7,10,13,10,10,9,7,6,10,13,13,13,12,10,10,11,15,17,17,17,14,14,15,17,0,0,0,0,0,0,0,5,0,0,0,243,0,0,0,240,238,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,232,239,7,0,0,0,0,0,5,0,0,0,243,0,0,0,232,237,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,224,238,7,0,0,0,0,0,5,0,0,0,243,0,0,0,224,236,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,216,237,7,0,0,0,0,0,5,0,0,0,243,0,0,0,216,235,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,208,236,7,0,0,0,0,0,5,0,0,0,53,12,0,0,136,223,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,235,7,0,0,0,0,0,5,0,0,0,53,12,0,0,56,211,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,112,223,7,0,0,0,0,0,1,0,0,0,7,0,0,0,16,211,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,24,211,7,0,0,0,0,0,5,0,0,0,243,0,0,0,8,210,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,0,211,7,0,0,0,0,0,5,0,0,0,243,0,0,0,0,209,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,248,209,7,0,0,0,0,0,5,0,0,0,243,0,0,0,248,207,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,240,208,7,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,7,6,8,8,7,7,8,7,8,8,9,9,9,8,7,7,8,8,8,9,9,9,9,8,8,6,6,6,9,7,7,9,7,7,9,8,8,10,8,8,10,8,8,10,8,8,10,9,8,10,8,8,7,6,6,9,6,6,9,6,6,9,7,7,10,8,8,10,6,6,9,7,7,10,8,8,10,6,6,7,7,7,11,9,9,11,9,9,10,9,9,12,10,10,12,8,8,11,9,9,13,9,10,12,8,8,8,7,7,11,9,10,11,10,10,10,9,9,11,11,11,11,9,9,11,10,9,12,11,11,11,9,10,10,8,8,11,9,10,11,9,9,11,9,9,12,10,10,11,9,9,11,9,9,12,10,11,11,9,9,8,8,8,12,9,9,12,9,9,11,9,9,13,9,9,13,8,8,12,9,9,13,10,10,12,8,8,9,7,7,11,10,10,11,10,10,11,10,10,12,11,11,11,10,9,11,10,10,11,11,11,11,9,9,11,9,9,12,10,10,11,10,10,12,10,10,11,11,11,11,9,9,11,10,10,12,11,11,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,7,7,6,8,8,7,8,8,7,9,9,11,11,11,9,8,8,7,9,9,11,12,11,9,9,9,6,7,7,10,11,11,10,10,10,10,11,11,15,14,14,12,12,12,11,11,11,14,14,14,12,12,12,5,6,6,8,5,5,8,7,7,8,8,8,12,10,10,10,7,7,8,7,7,12,10,10,10,7,7,6,7,7,12,11,11,12,10,10,11,10,10,14,14,13,13,10,10,11,10,10,16,14,14,14,11,10,7,7,7,13,12,12,12,12,11,11,11,11,15,14,17,13,12,12,12,11,11,15,15,15,14,13,13,10,9,9,14,12,11,13,11,11,12,11,11,16,15,14,14,11,11,12,11,11,17,14,14,15,11,11,7,8,8,12,11,11,13,10,10,11,10,10,17,14,13,14,10,10,12,10,10,18,15,15,14,10,10,8,7,7,13,12,12,13,11,11,12,11,11,16,14,15,14,12,12,12,11,11,18,16,16,14,12,12,11,10,10,13,12,11,13,11,11,13,12,12,0,15,14,14,11,11,13,11,11,16,15,15,15,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,1,7,7,14,14,6,8,8,15,16,7,8,8,16,15,0,14,14,17,17,0,14,14,16,16,7,9,9,16,16,10,11,11,17,18,9,8,8,16,16,0,14,14,19,19,0,14,14,17,16,8,9,9,16,16,12,12,12,17,17,10,9,9,16,16,0,15,14,18,20,0,14,14,17,17,0,15,15,18,17,0,21,0,0,21,0,13,13,17,17,0,17,17,0,0,0,15,15,17,17,0,15,15,17,18,0,0,0,0,21,0,13,13,17,17,0,18,18,0,21,0,16,15,17,18,6,7,7,14,14,9,10,10,16,16,11,10,10,15,15,0,21,0,20,21,0,0,0,18,20,10,10,10,15,16,12,13,13,18,18,12,11,11,15,15,0,0,0,20,20,0,0,21,19,19,12,11,11,15,15,15,14,14,18,18,13,11,11,15,16,0,0,0,20,19,0,0,0,20,21,0,0,20,19,19,0,0,0,0,0,0,20,0,17,18,0,0,21,0,0,0,0,0,21,0,0,21,0,20,19,0,0,0,0,0,0,21,0,18,18,0,0,0,21,0,0,0,0,0,20,7,6,6,13,13,9,6,6,12,12,9,7,7,14,14,0,10,10,12,12,0,11,11,15,15,9,7,7,14,14,12,9,9,14,14,10,7,7,14,13,0,11,11,16,15,0,11,11,14,14,9,7,7,14,14,13,10,10,14,14,11,7,7,14,13,0,11,11,16,16,0,11,11,14,14,0,12,12,16,16,0,19,0,17,18,0,10,10,14,14,0,15,14,0,0,0,12,12,14,14,0,12,12,15,15,0,20,0,18,19,0,10,10,14,14,0,16,15,0,20,0,13,13,14,14,0,11,11,13,13,0,12,13,16,16,0,12,12,16,16,0,16,16,0,21,0,17,18,0,0,0,12,12,16,16,0,15,15,18,0,0,12,12,16,16,0,17,16,21,21,0,16,17,0,0,0,13,13,17,16,0,16,16,20,21,0,12,12,17,16,0,17,17,0,21,0,17,17,21,21,0,17,18,0,0,0,0,0,0,0,0,15,15,0,0,0,18,21,0,0,0,18,19,0,0,0,18,17,21,21,0,0,0,0,0,0,16,16,0,0,0,0,0,0,0,0,19,19,0,0,0,11,11,12,12,0,11,11,10,10,0,12,12,13,13,0,12,12,9,9,0,14,14,13,13,0,12,12,13,13,0,14,14,12,13,0,11,11,12,12,0,13,13,13,13,0,13,13,13,13,0,12,12,13,13,0,14,14,12,12,0,11,11,12,12,0,14,13,14,14,0,13,13,13,13,0,15,15,14,15,0,0,0,16,16,0,12,12,13,13,0,16,17,20,21,0,14,13,12,12,0,14,14,14,14,0,21,0,16,16,0,12,12,13,13,0,18,17,21,0,0,14,14,13,13,7,8,8,17,17,11,10,10,18,18,12,10,10,17,17,0,15,15,20,18,0,15,15,17,17,11,9,9,17,17,14,12,12,19,19,13,9,9,16,16,0,15,14,0,19,0,14,14,16,16,12,10,10,20,18,16,13,13,21,20,14,10,10,17,17,0,15,15,21,20,0,15,14,17,17,0,15,15,21,21,0,0,21,0,0,0,13,13,18,18,0,19,16,0,0,0,15,15,17,16,0,16,16,0,21,0,0,0,0,21,0,13,14,18,17,0,20,19,0,0,0,15,15,18,18,8,7,7,15,15,12,11,11,17,16,13,11,11,16,16,0,0,0,21,20,0,0,0,0,20,11,10,10,17,17,14,13,13,19,18,14,11,11,16,16,0,20,0,21,19,0,0,21,0,20,12,11,11,17,17,16,15,15,0,19,14,11,11,17,16,0,21,0,0,19,0,0,0,21,20,0,0,21,20,0,0,0,0,0,0,0,0,0,19,21,0,0,0,0,0,0,0,0,19,20,0,0,0,20,21,0,0,0,0,0,0,20,0,19,21,0,0,0,0,0,0,0,0,21,20,11,10,9,15,15,14,11,11,15,15,14,11,11,16,16,0,14,14,14,14,0,16,15,17,16,13,11,11,16,16,16,13,13,16,16,15,10,10,15,15,0,14,15,17,17,0,14,14,16,15,13,11,11,16,16,17,15,14,16,16,15,10,10,15,15,0,15,15,17,18,0,15,15,16,16,0,16,16,17,17,0,21,0,21,20,0,13,13,15,15,0,18,18,0,21,0,15,15,15,15,0,16,16,17,17,0,0,0,0,18,0,13,13,15,15,0,19,18,0,0,0,15,15,16,16,0,12,12,15,15,0,13,13,17,17,0,13,13,17,18,0,16,17,21,0,0,20,18,0,0,0,13,13,17,17,0,15,15,0,18,0,12,12,17,18,0,16,16,0,0,0,17,17,21,0,0,13,13,18,18,0,16,16,21,21,0,12,12,17,18,0,16,17,21,0,0,17,17,0,21,0,17,18,0,0,0,0,0,0,0,0,16,15,0,21,0,21,19,0,0,0,18,18,0,0,0,18,19,0,0,0,0,0,0,0,0,16,16,21,21,0,20,19,0,0,0,19,21,0,21,0,12,12,15,15,0,12,12,15,16,0,13,13,16,16,0,14,14,15,15,0,16,15,17,17,0,13,13,17,17,0,15,15,16,18,0,12,12,16,16,0,14,14,17,17,0,15,14,16,16,0,13,13,16,16,0,16,15,17,17,0,12,12,16,16,0,15,15,18,18,0,14,14,17,16,0,16,16,17,18,0,0,0,20,21,0,13,13,16,17,0,17,17,0,0,0,15,15,16,16,0,15,16,17,17,0,0,0,19,0,0,13,13,15,16,0,19,18,0,0,0,16,15,16,17,8,8,8,17,17,13,11,10,17,18,13,10,10,17,17,0,15,15,20,19,0,15,15,17,17,12,10,10,19,18,15,12,12,20,18,14,10,10,17,16,0,15,15,20,20,0,14,15,16,16,13,10,10,17,17,17,14,14,0,18,15,10,10,17,17,0,16,15,20,20,0,14,14,17,17,0,15,16,20,20,0,0,21,0,0,0,13,13,17,17,0,18,17,0,0,0,15,16,17,18,0,15,15,18,21,0,0,0,21,0,0,13,13,18,18,0,19,19,0,0,0,16,16,18,17,9,8,8,15,15,12,11,11,16,16,13,11,11,16,15,0,0,0,0,21,0,21,0,19,19,12,11,11,17,18,15,13,13,18,19,14,11,11,16,16,0,0,21,21,19,0,0,0,21,20,13,11,11,18,17,17,14,15,20,21,15,11,12,16,16,0,0,0,20,0,0,0,21,0,19,0,0,0,0,19,0,0,0,0,0,0,21,21,19,19,0,0,0,21,0,0,0,0,19,21,0,0,0,19,20,0,0,0,21,0,0,0,21,19,19,0,0,0,0,0,0,0,0,21,20,0,11,11,15,15,0,12,12,15,16,0,12,12,16,16,0,15,15,16,15,0,16,16,17,17,0,12,12,17,17,0,14,14,17,17,0,11,11,16,16,0,15,15,19,18,0,15,15,16,16,0,12,12,17,16,0,14,15,16,16,0,11,11,15,15,0,16,16,18,19,0,15,15,15,16,0,17,17,18,20,0,21,0,21,19,0,14,14,16,16,0,18,18,0,0,0,16,16,15,15,0,16,16,18,17,0,0,0,19,20,0,14,14,16,16,0,19,19,0,0,0,16,17,15,15,0,12,12,14,15,0,13,13,16,17,0,12,12,17,17,0,17,16,0,0,0,18,17,21,0,0,13,13,19,17,0,15,15,20,21,0,12,12,17,17,0,17,17,0,0,0,17,17,0,0,0,13,13,17,18,0,16,16,21,0,0,12,12,17,17,0,17,17,0,0,0,17,17,0,0,0,18,21,0,0,0,0,0,0,0,0,15,15,21,0,0,20,21,0,0,0,18,19,0,0,0,18,17,0,0,0,0,0,0,0,0,16,16,21,0,0,21,21,0,0,0,18,19,0,0,0,12,12,16,16,0,13,13,16,17,0,13,13,17,16,0,14,14,16,16,0,16,15,19,18,0,13,13,17,17,0,15,15,18,18,0,12,12,16,16,0,15,15,18,19,0,15,15,17,16,0,13,13,17,17,0,16,16,18,17,0,12,12,17,16,0,15,15,18,18,0,15,15,17,17,0,16,16,0,19,0,0,0,0,0,0,14,14,16,17,0,18,18,0,0,0,15,15,17,17,0,16,16,21,19,0,21,0,21,21,0,13,14,16,16,0,19,19,0,0,0,15,16,16,16,0,11,11,17,16,0,15,14,19,18,0,14,14,19,19,0,18,17,18,20,0,17,17,18,19,0,13,13,17,17,0,16,17,21,18,0,13,13,17,16,0,18,17,19,0,0,16,17,18,18,0,12,12,19,18,0,18,18,20,20,0,13,13,17,17,0,17,17,21,0,0,16,17,17,18,0,18,17,19,18,0,0,0,0,0,0,14,14,17,17,0,19,19,21,0,0,16,16,16,17,0,17,17,19,20,0,0,0,0,21,0,15,15,17,18,0,21,21,0,0,0,17,17,17,18,0,10,10,15,15,0,15,14,17,18,0,14,14,16,16,0,0,0,18,0,0,21,0,19,0,0,13,13,17,16,0,17,17,18,0,0,14,14,16,15,0,0,0,21,0,0,21,0,19,18,0,13,13,17,17,0,18,18,20,20,0,15,15,16,16,0,0,0,21,21,0,0,0,20,20,0,0,0,19,0,0,0,0,0,0,0,21,20,18,18,0,0,0,0,0,0,0,0,0,20,0,0,0,0,20,0,0,0,0,0,0,0,0,19,18,0,0,0,0,21,0,0,0,18,20,0,18,19,16,17,0,21,19,17,17,0,0,21,18,18,0,0,21,20,19,0,0,0,20,20,0,0,21,17,17,0,0,0,19,19,0,20,20,17,17,0,0,0,0,20,0,0,20,18,18,0,21,20,17,17,0,0,0,20,21,0,19,0,17,17,0,0,21,0,0,0,20,0,18,19,0,0,0,21,21,0,0,0,0,21,0,20,20,17,17,0,0,0,0,0,0,21,0,18,17,0,0,0,20,19,0,0,0,0,21,0,20,20,17,17,0,0,0,0,0,0,21,21,18,18,0,12,12,15,14,0,14,14,17,17,0,14,14,17,16,0,18,18,21,0,0,19,20,0,0,0,13,13,18,17,0,16,16,19,18,0,13,13,17,17,0,17,17,0,0,0,17,17,21,0,0,13,13,17,17,0,17,17,21,20,0,13,13,18,17,0,18,19,21,21,0,19,18,0,0,0,18,17,0,0,0,0,0,0,0,0,15,16,0,0,0,21,21,0,0,0,20,18,21,0,0,17,18,0,0,0,0,0,0,0,0,15,16,0,0,0,0,20,0,0,0,0,19,0,0,0,15,15,18,19,0,18,17,21,0,0,16,18,0,20,0,17,18,21,0,0,18,20,0,0,0,16,16,21,21,0,19,20,21,0,0,16,15,0,21,0,18,20,0,0,0,18,19,0,0,0,16,15,21,21,0,21,0,0,0,0,16,15,21,0,0,20,19,0,0,0,18,21,21,0,0,20,18,0,0,0,0,0,0,0,0,16,16,0,20,0,21,0,0,0,0,17,18,20,21,0,18,18,21,21,0,0,0,0,0,0,16,16,20,0,0,0,21,0,0,0,21,18,0,0,0,12,12,20,17,0,15,15,19,18,0,14,14,19,18,0,18,17,21,19,0,17,17,21,17,0,13,13,21,19,0,16,17,20,19,0,13,13,16,16,0,17,17,20,21,0,16,16,19,17,0,13,13,18,18,0,17,19,19,19,0,13,13,17,17,0,18,18,0,19,0,16,17,18,18,0,16,17,19,21,0,0,0,0,0,0,15,15,16,17,0,20,19,21,0,0,17,17,17,17,0,17,17,21,19,0,0,0,0,0,0,15,15,17,17,0,21,0,0,0,0,18,18,17,17,0,10,10,15,15,0,15,15,17,17,0,15,14,16,16,0,0,0,21,19,0,21,21,19,21,0,13,13,17,16,0,17,17,18,19,0,14,15,16,15,0,0,0,21,19,0,21,21,18,19,0,14,14,16,17,0,18,18,18,19,0,15,15,15,16,0,0,21,0,21,0,0,0,19,20,0,0,0,21,19,0,0,0,0,0,0,21,21,19,17,0,0,0,0,0,0,0,0,21,21,0,21,0,0,21,0,0,0,0,0,0,21,21,19,18,0,0,0,0,0,0,0,0,0,19,0,21,18,18,17,0,21,0,20,20,0,0,0,18,20,0,0,21,18,21,0,0,0,21,18,0,0,0,0,19,0,0,0,21,21,0,20,21,17,19,0,21,0,21,0,0,21,0,18,18,0,20,21,17,18,0,0,0,21,19,0,20,21,17,18,0,0,0,21,21,0,0,0,20,19,0,0,0,21,21,0,0,0,0,0,0,21,21,19,18,0,0,0,0,0,0,0,21,19,18,0,21,21,19,0,0,0,0,21,0,0,21,21,18,17,0,0,0,0,0,0,21,0,21,18,0,12,12,14,14,0,15,14,17,17,0,14,14,17,16,0,19,17,0,0,0,19,19,0,0,0,13,13,17,17,0,17,17,20,20,0,13,13,18,18,0,18,17,0,0,0,18,21,0,0,0,13,13,17,17,0,18,18,21,20,0,14,14,18,19,0,19,18,21,0,0,19,19,0,0,0,20,18,20,0,0,0,0,0,0,0,15,16,0,0,0,21,21,0,0,0,19,19,0,0,0,18,18,0,0,0,0,0,0,0,0,16,16,0,21,0,0,0,0,0,0,19,20,0,0,0,15,15,20,21,0,17,17,21,21,0,17,17,0,0,0,19,18,0,0,0,18,19,0,0,0,17,16,0,21,0,0,20,0,0,0,16,16,0,20,0,19,19,0,21,0,19,18,0,21,0,16,16,0,0,0,21,21,0,0,0,16,16,0,0,0,21,21,0,0,0,19,19,0,0,0,20,0,0,0,0,0,0,0,0,0,17,17,0,21,0,0,20,0,0,0,20,18,21,21,0,19,18,0,20,0,0,0,0,0,0,16,17,21,0,0,0,21,0,0,0,19,20,21,20,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,3,4,9,9,10,12,12,12,11,10,12,12,13,12,11,13,12,11,11,11,12,12,12,11,11,13,13,13,13,11,12,12,14,14,12,13,13,13,13,11,13,13,13,13,11,13,13,13,13,11,13,13,13,13,11,12,12,14,14,12,13,13,12,12,11,13,13,13,13,11,13,13,12,12,11,13,13,13,13,12,12,13,14,14,12,13,13,12,12,11,13,13,13,13,11,13,13,12,12,11,13,13,13,13,12,13,13,14,14,12,13,13,12,12,11,13,13,13,13,11,13,13,12,12,11,10,10,10,10,12,10,10,11,11,12,9,9,11,11,13,11,11,10,10,13,10,10,10,10,13,11,11,12,12,13,10,10,12,12,14,12,11,12,12,13,11,11,11,12,13,12,12,12,12,13,11,11,12,12,13,10,10,12,12,14,11,11,12,12,13,11,11,12,12,13,11,11,12,12,14,12,12,12,12,14,10,10,11,11,14,12,11,11,11,13,11,11,11,11,13,12,12,11,11,14,12,12,12,11,14,10,10,11,11,14,12,11,11,11,13,11,11,11,11,13,12,12,11,11,11,11,11,10,10,12,10,11,9,9,12,12,12,11,11,13,12,12,9,9,13,13,13,10,10,13,13,13,12,12,13,13,13,14,14,13,12,12,11,11,14,13,13,12,12,14,13,13,11,11,13,13,13,12,11,13,13,13,14,14,13,12,12,10,10,14,13,13,11,11,13,13,13,10,10,13,13,13,11,11,14,13,13,14,14,14,12,12,10,10,13,13,13,11,11,13,13,13,10,10,13,13,13,11,11,14,13,13,14,14,14,13,13,10,10,13,13,13,11,11,13,13,13,10,10,14,12,12,8,8,14,12,12,9,9,14,11,11,9,9,14,12,12,8,8,14,12,12,7,7,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,12,13,9,9,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,13,13,9,9,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,9,9,14,13,12,9,9,14,13,13,9,9,15,13,13,10,10,15,12,12,10,10,15,13,13,9,9,15,13,13,9,9,14,13,13,9,9,14,12,12,8,8,13,13,13,8,8,14,14,13,9,9,14,14,13,7,7,14,14,14,8,8,14,14,14,10,10,15,14,14,12,12,14,14,14,9,9,15,14,14,10,10,14,14,14,9,9,14,14,14,10,9,15,14,14,12,12,14,14,14,9,9,15,14,14,10,10,14,14,14,9,9,15,14,15,9,9,15,14,14,11,11,14,14,14,8,8,14,14,14,9,9,14,14,14,8,8,14,15,14,10,10,15,14,14,11,11,14,14,14,8,8,15,14,14,9,9,14,14,14,8,8,12,12,12,13,13,16,16,15,12,12,17,16,16,13,13,17,16,16,11,11,17,16,16,12,12,17,16,17,13,13,17,16,16,14,14,17,17,16,12,12,18,16,16,13,13,17,16,17,12,12,17,17,17,13,13,18,16,16,14,14,18,17,17,12,12,17,17,17,13,13,18,17,17,13,13,17,17,17,13,13,17,16,16,14,14,17,17,17,12,12,16,16,17,13,13,17,17,16,12,12,18,17,17,13,13,18,16,16,14,14,18,17,17,12,12,19,16,17,13,13,17,16,17,12,12,13,14,14,10,10,16,14,14,13,13,17,15,15,14,14,17,14,14,13,13,16,14,14,13,13,17,16,15,14,14,16,16,16,15,15,17,15,15,14,14,17,15,15,14,14,17,15,15,14,14,17,16,15,14,14,16,16,16,15,15,18,15,15,13,13,16,16,15,14,14,17,15,15,14,13,17,15,15,14,14,16,16,16,15,15,18,15,14,13,13,17,15,15,14,14,18,14,15,13,13,18,15,15,14,14,16,16,16,15,15,17,15,15,13,13,17,15,15,14,14,17,15,15,13,13,13,11,11,10,10,16,14,14,13,13,17,14,15,14,14,17,15,15,12,12,17,14,14,12,12,16,15,15,14,14,16,14,14,14,14,16,15,15,14,14,16,15,15,14,14,16,15,15,14,14,16,15,15,14,14,16,15,14,15,15,17,15,15,14,14,17,15,15,14,14,17,15,15,14,14,17,15,16,14,14,16,14,14,14,14,17,15,15,13,13,17,15,15,13,13,16,15,15,13,13,17,16,16,14,14,17,15,14,15,14,17,15,15,13,13,17,15,15,13,13,17,15,15,13,13,14,14,14,9,9,14,14,14,18,19,14,15,15,19,18,14,14,14,19,19,15,14,14,19,19,15,16,16,19,19,15,16,16,19,19,15,15,15,19,19,15,16,16,19,20,15,15,15,19,19,15,15,15,19,19,15,16,16,20,20,15,15,15,18,19,15,15,16,19,20,15,15,15,19,18,15,15,15,18,18,15,16,16,21,20,15,15,15,19,19,15,15,15,19,19,15,15,14,19,20,15,15,15,20,19,15,16,16,19,20,15,15,15,19,19,15,15,15,20,21,15,14,15,19,19,14,12,12,9,9,14,14,15,21,19,14,14,14,18,19,14,15,15,19,20,14,14,14,19,19,15,15,15,19,20,15,15,14,21,19,15,15,15,20,19,15,14,15,20,21,15,15,15,18,18,15,15,15,20,21,16,14,14,18,19,15,15,15,20,19,15,15,15,18,21,15,15,15,19,19,15,15,15,19,20,16,15,14,20,19,15,16,15,19,19,15,15,15,19,0,14,15,15,19,19,15,15,15,19,19,15,15,14,20,19,15,15,15,20,19,15,15,15,19,19,15,15,15,20,19,12,12,12,13,13,16,15,16,11,11,16,16,16,12,12,17,16,16,11,11,17,16,16,12,11,17,17,17,13,13,18,16,16,14,14,18,18,17,13,13,17,16,16,13,13,17,17,17,13,13,17,16,17,12,12,17,15,16,13,13,17,16,17,12,12,17,16,16,13,12,17,16,16,12,12,18,17,17,13,13,18,16,16,13,14,18,17,17,12,12,17,16,16,12,12,17,17,17,12,12,18,17,17,13,13,17,16,16,14,14,17,17,17,12,12,17,16,16,12,12,18,17,17,12,12,13,14,14,9,9,16,14,14,13,13,16,15,15,14,14,16,14,14,13,13,16,14,14,13,13,17,16,15,15,15,16,15,16,16,15,17,15,15,14,14,17,15,15,15,15,17,15,15,14,14,17,15,15,14,14,16,15,16,16,16,17,15,15,14,14,16,15,15,14,15,16,15,15,14,14,17,15,15,15,15,16,16,16,15,16,18,15,14,13,14,17,15,15,14,14,17,14,14,13,13,17,15,15,14,14,16,15,15,15,15,17,15,14,14,14,17,15,15,14,14,17,14,14,13,13,13,11,11,11,11,16,14,14,12,12,16,14,14,13,13,16,14,14,12,12,16,14,14,12,12,16,15,15,13,13,17,14,14,14,14,17,15,15,13,13,16,15,15,14,13,16,15,15,13,13,16,15,15,13,13,16,14,14,14,14,16,15,15,13,13,16,14,15,13,13,17,15,15,13,13,17,15,15,13,13,16,14,14,14,14,17,15,15,12,12,17,14,15,13,13,17,15,15,12,12,16,15,15,13,13,17,14,14,14,14,17,15,15,12,12,17,15,15,13,13,16,15,15,12,12,14,15,15,8,8,14,14,14,19,18,14,15,15,19,20,14,14,14,19,19,14,14,15,19,20,15,16,15,19,21,15,16,16,21,19,15,15,15,20,19,15,16,16,19,20,15,15,15,19,18,15,16,15,20,19,15,16,16,19,20,15,15,15,19,19,15,16,15,20,20,14,15,15,19,19,15,15,15,21,19,15,17,16,19,20,15,14,15,0,21,15,15,15,19,20,14,14,14,19,19,15,15,15,20,19,15,16,16,19,19,15,15,15,19,18,15,15,15,20,19,14,14,15,18,18,14,12,12,9,9,14,14,14,18,18,14,14,14,18,18,14,15,14,19,18,14,14,14,19,18,15,15,15,19,20,15,14,14,18,18,15,15,15,20,19,15,15,15,18,20,15,15,15,19,18,15,15,15,19,19,15,14,14,19,21,15,15,15,20,20,15,15,15,18,19,14,15,15,19,20,15,15,15,20,19,15,14,14,19,21,15,15,15,18,19,15,14,15,20,19,14,15,15,21,21,14,15,15,19,20,15,14,14,19,20,15,15,15,19,20,15,15,14,20,20,14,15,15,20,19,13,12,12,13,13,17,16,16,11,11,17,16,16,12,12,18,17,16,11,11,18,16,16,11,11,17,17,17,13,13,18,16,16,13,13,18,17,17,12,12,18,16,16,13,13,18,17,17,12,12,18,17,17,13,13,18,16,16,14,14,18,16,17,12,12,18,17,17,13,13,17,17,17,12,12,17,17,17,12,12,17,16,15,13,13,18,16,16,11,11,17,16,16,12,12,17,16,17,11,11,18,17,17,13,12,17,16,16,13,13,17,17,17,12,12,17,16,17,12,12,18,17,17,11,11,14,14,14,9,9,16,14,14,13,13,17,15,15,14,14,17,14,14,13,13,16,14,14,13,13,17,15,15,14,14,16,16,16,16,15,18,15,15,14,14,17,16,15,15,15,17,15,15,14,14,17,15,15,14,15,16,16,16,15,16,18,15,15,14,14,17,15,15,14,15,17,15,15,14,14,17,15,15,14,14,16,16,16,15,16,17,14,14,13,13,17,15,15,14,14,18,15,15,13,13,17,15,15,14,14,16,16,16,15,15,17,14,14,13,13,17,15,15,14,14,17,14,14,13,13,13,11,11,11,11,16,14,14,12,12,16,14,14,12,13,17,15,14,11,11,17,14,14,11,11,17,15,15,13,14,17,14,14,14,14,17,15,15,13,13,17,14,14,13,13,17,15,15,13,13,17,15,15,13,13,17,14,14,14,14,17,15,15,13,13,18,14,15,13,13,17,15,15,13,13,16,15,15,13,13,17,14,14,13,13,17,15,15,12,12,16,14,14,12,12,16,15,15,12,12,17,16,15,13,13,17,14,14,13,13,17,15,15,12,12,16,15,15,12,12,16,15,15,12,12,13,15,15,8,8,14,14,14,18,19,14,15,15,19,20,14,14,14,18,18,14,15,15,18,18,15,16,16,19,19,15,16,17,20,20,15,15,15,19,19,15,16,16,18,20,15,15,15,19,19,15,15,16,18,18,15,17,16,19,19,15,15,15,18,21,15,16,16,21,20,15,15,15,19,21,15,16,15,20,19,15,16,17,20,20,15,15,15,19,19,15,16,16,21,20,15,15,15,19,20,15,15,15,19,19,15,16,16,20,19,15,15,15,19,19,15,16,15,20,21,15,15,15,21,19,14,12,12,8,8,14,14,14,20,18,14,13,13,19,19,14,14,14,19,18,15,14,14,19,20,14,15,15,20,20,15,14,14,21,20,15,15,15,20,20,15,15,14,21,19,15,15,15,19,19,15,15,15,19,20,15,14,14,20,20,15,15,15,19,20,15,14,14,19,20,15,15,15,20,20,15,15,15,20,19,15,14,14,20,21,15,15,15,20,21,15,14,14,20,0,15,16,15,20,21,15,15,15,19,20,15,14,14,19,19,15,15,15,19,20,15,15,15,19,19,15,15,15,18,20,13,12,12,13,13,18,16,17,12,12,17,16,16,12,12,17,17,16,11,11,18,16,16,11,11,17,17,18,13,13,18,16,16,14,14,18,17,17,13,13,18,16,16,13,13,18,17,17,12,12,17,17,16,13,13,17,16,16,13,14,18,17,17,12,12,18,16,16,12,13,17,16,17,12,12,17,18,17,13,13,18,16,16,13,13,18,17,17,12,12,17,16,16,12,12,17,17,17,11,11,17,16,17,12,12,17,16,16,13,13,17,16,16,11,11,17,16,16,12,12,18,16,17,11,11,14,14,14,9,9,16,14,15,13,13,17,15,15,14,14,17,14,14,12,12,16,14,14,13,13,18,15,15,15,15,17,15,16,15,16,18,15,15,14,14,17,15,16,15,15,17,15,15,14,14,18,15,15,14,14,16,16,16,16,15,17,15,15,14,14,16,15,15,14,14,17,15,15,14,14,17,15,15,14,14,17,16,16,15,15,17,15,14,13,13,17,15,15,14,14,17,15,15,13,13,17,15,15,14,14,16,16,16,15,15,18,15,14,14,14,17,15,15,14,14,18,15,15,13,13,13,12,12,11,11,16,14,14,12,12,16,14,14,13,13,17,15,15,12,12,17,14,14,12,12,17,15,15,14,14,17,14,14,14,14,17,15,15,13,13,17,15,14,13,13,17,15,15,13,13,17,15,15,13,13,16,14,14,14,14,17,15,15,13,13,16,14,14,13,13,16,15,15,13,13,17,15,16,13,13,17,14,14,14,13,17,15,15,12,12,16,15,14,12,12,17,15,15,12,12,16,15,16,13,13,16,14,14,14,13,17,15,15,12,12,16,14,14,12,12,17,15,15,12,12,14,15,15,8,8,14,14,14,18,18,14,15,15,19,18,14,14,14,18,18,14,15,15,19,20,15,16,15,21,18,15,16,16,18,0,15,15,15,19,20,15,16,16,20,0,15,16,15,19,18,15,15,15,19,19,15,16,16,21,19,15,15,15,19,19,15,16,16,20,20,15,15,15,19,19,15,15,15,19,18,15,16,16,20,20,15,14,15,20,19,15,15,15,19,20,15,15,15,19,19,15,16,15,19,20,15,16,16,19,20,15,15,15,19,19,15,16,15,20,20,15,15,15,20,18,13,12,12,8,8,14,14,14,19,20,14,14,14,19,19,14,15,15,20,20,14,14,14,18,19,15,15,15,20,0,15,14,14,18,20,15,15,15,19,19,15,15,15,21,19,15,15,15,19,20,15,15,15,20,21,15,14,14,20,19,15,15,15,20,19,15,15,14,21,19,15,15,15,19,18,15,15,15,20,19,15,14,14,19,19,15,15,16,20,19,15,15,15,20,0,15,15,15,19,21,15,15,15,22,20,15,14,14,22,19,15,15,15,19,20,15,14,14,20,19,14,15,15,19,21,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,6,8,8,6,8,8,7,9,9,10,11,11,8,8,8,7,9,9,11,12,12,9,9,9,6,7,7,10,11,11,10,11,11,10,11,11,13,13,13,12,12,12,10,12,11,14,14,14,12,12,12,6,5,5,9,6,6,9,6,6,9,7,7,12,10,10,11,7,6,9,7,7,13,11,11,12,7,7,7,8,8,12,10,10,12,10,10,11,10,10,15,13,13,13,9,9,12,11,11,15,14,14,15,11,11,8,7,7,12,11,11,12,11,11,11,11,11,14,13,14,14,12,12,12,11,11,16,15,15,14,12,12,0,10,10,0,12,12,0,12,12,0,11,11,0,14,14,0,11,11,0,11,11,0,15,15,0,11,11,7,8,8,13,11,11,12,10,10,12,11,11,15,13,13,14,11,11,12,10,10,16,14,14,15,10,10,9,7,7,13,11,12,13,12,11,12,11,11,15,14,14,14,12,12,13,12,12,16,15,15,15,12,12,0,11,11,0,12,12,0,12,13,0,12,12,0,15,15,0,12,12,0,12,12,0,16,15,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,0,9,9,0,9,9,0,10,10,0,9,9,0,10,10,0,10,10,0,10,10,0,10,10,0,7,7,0,7,7,0,6,6,0,8,8,0,7,7,0,8,8,0,8,8,0,7,7,0,8,8,0,7,7,0,9,9,0,8,9,0,10,10,0,9,9,0,10,10,0,10,11,0,9,9,0,10,10,0,9,9,0,11,11,0,12,12,0,12,12,0,11,11,0,12,12,0,13,13,0,12,12,0,13,13,0,8,8,0,12,12,0,12,12,0,13,13,0,13,13,0,13,13,0,13,13,0,13,13,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,11,11,0,12,12,0,13,13,0,12,12,0,13,13,0,13,13,0,12,12,0,12,12,0,9,9,0,12,12,0,13,13,0,14,14,0,13,13,0,14,14,0,14,14,0,13,13,0,14,14,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,0,7,7,0,8,8,0,9,9,0,12,12,0,8,8,0,9,9,0,13,13,0,8,8,0,6,6,0,11,11,0,12,12,0,12,12,0,14,14,0,11,12,0,12,12,0,15,15,0,12,12,0,5,5,0,5,5,0,6,6,0,7,7,0,10,10,0,6,6,0,7,7,0,11,11,0,6,6,0,7,7,0,11,11,0,12,11,0,11,11,0,14,14,0,10,10,0,12,12,0,15,15,0,12,12,0,6,6,0,12,12,0,12,12,0,12,12,0,14,14,0,11,11,0,12,12,0,16,16,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,11,11,0,16,16,0,11,11,0,6,6,0,12,12,0,12,12,0,13,13,0,15,15,0,12,12,0,13,13,0,15,15,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,3,7,9,12,16,16,3,2,5,7,11,14,15,7,4,5,6,9,12,15,8,5,5,5,8,10,14,9,7,6,6,8,10,12,12,10,10,7,6,8,10,15,12,10,6,4,7,9,0,0,0,0,0,0,0,0,0,0,0,0,249,213,64,0,0,0,0,0,64,223,64,0,0,0,0,0,136,227,64,0,0,0,0,0,112,231,64,0,0,0,0,0,88,235,64,0,0,0,0,0,64,239,64,0,0,0,0,0,136,243,64,0,0,0,0,0,112,247,64,0,0,0,0,0,88,251,64,0,0,0,0,0,64,255,64,0,0,0,0,0,136,3,65,0,0,0,0,136,132,14,65,176,240,7,0,48,241,7,0,48,242,7,0,48,244,7,0,48,248,7,0,48,0,8,0,48,16,8,0,48,48,8,0,24,0,120,58,76,70,11,60,242,204,192,60,116,252,59,61,86,73,154,61,241,93,228,61,248,163,29,62,180,231,78,62,54,157,130,62,78,220,159,62,193,174,190,62,65,132,222,62,173,194,254,62,186,101,15,63,248,0,31,63,29,233,45,63,249,219,59,63,45,162,72,63,160,17,84,63,38,15,94,63,46,143,102,63,112,149,109,63,174,51,115,63,159,135,119,63,66,184,122,63,196,242,124,63,75,103,126,63,196,69,127,63,241,186,127,63,217,237,127,63,162,253,127,63,248,255,127,63,168,9,120,57,17,119,11,59,135,139,193,59,74,113,61,60,148,82,156,60,94,8,233,60,42,83,34,61,74,118,87,61,138,227,137,61,7,140,171,61,34,154,208,61,108,239,248,61,164,52,18,62,100,112,41,62,65,21,66,62,67,11,92,62,47,56,119,62,197,191,137,62,92,97,152,62,135,112,167,62,4,220,182,62,188,145,198,62,231,126,214,62,48,144,230,62,227,177,246,62,13,104,3,63,121,107,11,63,98,89,19,63,42,40,27,63,137,206,34,63,166,67,42,63,49,127,49,63,126,121,56,63,153,43,63,63,92,143,69,63,127,159,75,63,165,87,81,63,104,180,86,63,89,179,91,63,8,83,96,63,252,146,100,63,177,115,104,63,138,246,107,63,198,29,111,63,109,236,113,63,62,102,116,63,154,143,118,63,104,109,120,63,3,5,122,63,26,92,123,63,153,120,124,63,143,96,125,63],"i8",N3,F.GLOBAL_BASE+510456),E3([17,26,126,63,39,171,126,63,176,25,127,63,74,107,127,63,68,165,127,63,132,204,127,63,123,229,127,63,17,244,127,63,158,251,127,63,219,254,127,63,218,255,127,63,0,0,128,63,5,12,120,56,50,131,11,58,118,186,193,58,226,203,61,59,38,207,156,59,139,32,234,59,245,102,35,60,63,100,89,60,184,127,139,60,59,23,174,60,239,114,212,60,96,140,254,60,45,46,22,61,114,237,46,61,155,127,73,61,220,223,101,61,123,4,130,61,159,250,145,61,71,207,162,61,38,127,180,61,173,6,199,61,16,98,218,61,63,141,238,61,244,193,1,62,185,160,12,62,128,224,23,62,182,126,35,62,166,120,47,62,116,203,59,62,34,116,72,62,141,111,85,62,107,186,98,62,83,81,112,62,180,48,126,62,110,42,134,62,252,92,141,62,9,174,148,62,138,27,156,62,100,163,163,62,112,67,171,62,119,249,178,62,54,195,186,62,93,158,194,62,147,136,202,62,118,127,210,62,154,128,218,62,142,137,226,62,217,151,234,62,2,169,242,62,139,186,250,62,251,100,1,63,99,106,5,63,65,108,9,63,89,105,13,63,116,96,17,63,94,80,21,63,231,55,25,63,231,21,29,63,58,233,32,63,197,176,36,63,116,107,40,63,62,24,44,63,35,182,47,63,43,68,51,63,109,193,54,63,10,45,58,63,48,134,61,63,26,204,64,63,17,254,67,63,107,27,71,63,142,35,74,63,238,21,77,63,15,242,79,63,132,183,82,63,239,101,85,63,3,253,87,63,129,124,90,63,60,228,92,63,21,52,95,63,254,107,97,63,246,139,99,63,14,148,101,63,98,132,103,63,33,93,105,63,133,30,107,63,213,200,108,63,103,92,110,63,155,217,111,63,224,64,113,63,172,146,114,63,131,207,115,63,241,247,116,63,139,12,118,63,239,13,119,63,193,252,119,63,172,217,120,63,99,165,121,63,155,96,122,63,15,12,123,63,124,168,123,63,163,54,124,63,71,183,124,63,41,43,125,63,13,147,125,63,183,239,125,63,229,65,126,63,89,138,126,63,205,201,126,63,251,0,127,63,150,48,127,63,78,89,127,63,205,123,127,63,182,152,127,63,167,176,127,63,53,196,127,63,239,211,127,63,91,224,127,63,245,233,127,63,51,241,127,63,127,246,127,63,59,250,127,63,190,252,127,63,84,254,127,63,64,255,127,63,186,255,127,63,238,255,127,63,254,255,127,63,0,0,128,63,169,12,120,55,54,134,11,57,38,198,193,57,94,226,61,58,234,237,156,58,85,101,234,58,56,170,35,59,207,219,89,59,169,226,139,59,42,178,174,59,13,91,213,59,204,219,255,59,91,25,23,60,250,46,48,60,194,45,75,60,156,20,104,60,46,113,131,60,225,202,147,60,185,22,165,60,1,84,183,60,245,129,202,60,198,159,222,60,155,172,243,60,199,211,4,61,213,71,16,61,250,49,28,61,174,145,40,61,101,102,53,61,141,175,66,61,140,108,80,61,193,156,94,61,133,63,109,61,41,84,124,61,252,236,133,61,26,232,141,61,13,27,150,61,110,133,158,61,212,38,167,61,210,254,175,61,245,12,185,61,200,80,194,61,209,201,203,61,146,119,213,61,139,89,223,61,51,111,233,61,2,184,243,61,105,51,254,61,106,112,4,62,214,223,9,62,171,103,15,62,153,7,21,62,77,191,26,62,116,142,32,62,181,116,38,62,184,113,44,62,34,133,50,62,149,174,56,62,178,237,62,62,21,66,69,62,92,171,75,62,30,41,82,62,243,186,88,62,112,96,95,62,40,25,102,62,170,228,108,62,132,194,115,62,68,178,122,62,185,217,128,62,203,98,132,62,26,244,135,62,105,141,139,62,120,46,143,62,6,215,146,62,211,134,150,62,156,61,154,62,29,251,157,62,19,191,161,62,57,137,165,62,71,89,169,62,249,46,173,62,5,10,177,62,36,234,180,62,13,207,184,62,117,184,188,62,18,166,192,62,153,151,196,62,190,140,200,62,52,133,204,62,175,128,208,62,225,126,212,62,125,127,216,62,52,130,220,62,184,134,224,62,185,140,228,62,233,147,232,62,248,155,236,62,150,164,240,62,117,173,244,62,67,182,248,62,178,190,252,62,57,99,0,63,153,102,2,63,82,105,4,63,60,107,6,63,48,108,8,63,6,108,10,63,151,106,12,63,188,103,14,63,78,99,16,63,39,93,18,63,33,85,20,63,21,75,22,63,222,62,24,63,87,48,26,63,92,31,28,63,199,11,30,63,117,245,31,63,66,220,33,63,12,192,35,63,176,160,37,63,12,126,39,63,254,87,41,63,104,46,43,63,39,1,45,63,29,208,46,63,43,155,48,63,51,98,50,63,23,37,52,63,188,227,53,63,4,158,55,63,214,83,57,63,23,5,59,63,173,177,60,63,128,89,62,63,120,252,63,63,126,154,65,63,124,51,67,63,93,199,68,63,12,86,70,63,119,223,71,63,138,99,73,63,54,226,74,63,104,91,76,63,17,207,77,63,35,61,79,63,145,165,80,63,76,8,82,63,75,101,83,63,130,188,84,63,231,13,86,63,114,89,87,63,26,159,88,63,218,222,89,63,172,24,91,63,138,76,92,63,113,122,93,63,93,162,94,63,78,196,95,63,67,224,96,63,58,246,97,63,54,6,99,63,56,16,100,63,67,20,101,63,92,18,102,63,133,10,103,63,198,252,103,63,37,233,104,63,168,207,105,63,89,176,106,63,64,139,107,63,102,96,108,63,216,47,109,63,159,249,109,63,201,189,110,63,97,124,111,63,118,53,112,63,23,233,112,63,81,151,113,63,53,64,114,63,212,227,114,63,61,130,115,63,131,27,116,63,184,175,116,63,238,62,117,63,56,201,117,63,171,78,118,63,90,207,118,63,90,75,119,63,192,194,119,63,162,53,120,63,21,164,120,63,48,14,121,63,8,116,121,63,182,213,121,63,79,51,122,63,235,140,122,63,162,226,122,63,139,52,123,63,191,130,123,63,85,205,123,63,102,20,124,63,9,88,124,63,88,152,124,63,106,213,124,63,88,15,125,63,58,70,125,63,41,122,125,63,62,171,125,63,143,217,125,63,54,5,126,63,75,46,126,63,228,84,126,63,27,121,126,63,7,155,126,63,190,186,126,63,88,216,126,63,236,243,126,63,144,13,127,63,91,37,127,63,99,59,127,63,188,79,127,63,125,98,127,63,185,115,127,63,135,131,127,63,249,145,127,63,36,159,127,63,26,171,127,63,238,181,127,63,179,191,127,63,122,200,127,63,85,208,127,63,84,215,127,63,136,221,127,63,0,227,127,63,204,231,127,63,249,235,127,63,150,239,127,63,177,242,127,63,85,245,127,63,144,247,127,63,109,249,127,63,246,250,127,63,54,252,127,63,55,253,127,63,1,254,127,63,156,254,127,63,18,255,127,63,103,255,127,63,163,255,127,63,204,255,127,63,229,255,127,63,244,255,127,63,252,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,60,12,120,54,253,134,11,56,19,201,193,56,248,231,61,57,148,245,156,57,115,118,234,57,238,186,35,58,113,249,89,58,32,251,139,58,96,216,174,58,34,148,213,58,3,23,0,59,209,82,23,59,65,125,48,59,21,150,75,59,8,157,104,59,233,200,131,59,20,58,148,59,218,161,165,59,16,0,184,59,136,84,203,59,16,159,223,59,118,223,244,59,194,138,5,60,128,32,17,60,217,48,29,60,172,187,41,60,219,192,54,60,67,64,68,60,194,57,82,60,52,173,96,60,115,154,111,60,88,1,127,60,222,112,135,60,186,157,143,60,42,7,152,60,25,173,160,60,112,143,169,60,23,174,178,60,246,8,188,60,243,159,197,60,245,114,207,60,225,129,217,60,156,204,227,60,10,83,238,60,14,21,249,60,70,9,2,61,177,165,7,61,187,95,13,61,81,55,19,61,102,44,25,61,230,62,31,61,195,110,37,61,233,187,43,61,71,38,50,61,202,173,56,61,97,82,63,61,247,19,70,61,121,242,76,61,210,237,83,61,240,5,91,61,187,58,98,61,32,140,105,61,8,250,112,61,93,132,120,61,132,21,128,61,249,246,131,61,130,230,135,61,19,228,139,61,159,239,143,61,26,9,148,61,119,48,152,61,169,101,156,61,163,168,160,61,88,249,164,61,186,87,169,61,186,195,173,61,76,61,178,61,95,196,182,61,230,88,187,61,209,250,191,61,18,170,196,61,152,102,201,61,85,48,206,61,56,7,211,61,48,235,215,61,47,220,220,61,34,218,225,61,248,228,230,61,161,252,235,61,11,33,241,61,35,82,246,61,217,143,251,61,13,109,0,62,105,24,3,62,247,201,5,62,174,129,8,62,133,63,11,62,113,3,14,62,104,205,16,62,96,157,19,62,79,115,22,62,42,79,25,62,232,48,28,62,124,24,31,62,221,5,34,62,255,248,36,62,215,241,39,62,90,240,42,62,125,244,45,62,51,254,48,62,114,13,52,62,45,34,55,62,88,60,58,62,232,91,61,62,208,128,64,62,3,171,67,62,118,218,70,62,26,15,74,62,229,72,77,62,199,135,80,62,181,203,83,62,162,20,87,62,127,98,90,62,63,181,93,62,213,12,97,62,50,105,100,62,73,202,103,62,12,48,107,62,108,154,110,62,92,9,114,62,203,124,117,62,173,244,120,62,241,112,124,62,138,241,127,62,52,187,129,62,190,127,131,62,91,70,133,62,4,15,135,62,176,217,136,62,89,166,138,62,245,116,140,62,126,69,142,62,234,23,144,62,50,236,145,62,78,194,147,62,54,154,149,62,224,115,151,62,70,79,153,62,93,44,155,62,31,11,157,62,130,235,158,62,127,205,160,62,11,177,162,62,31,150,164,62,177,124,166,62,186,100,168,62,47,78,170,62,9,57,172,62,62,37,174,62,198,18,176,62,150,1,178,62,167,241,179,62,238,226,181,62,100,213,183,62,254,200,185,62,179,189,187,62,122,179,189,62,74,170,191,62,25,162,193,62,221,154,195,62,142,148,197,62,34,143,199,62,142,138,201,62,203,134,203,62,205,131,205,62,140,129,207,62,253,127,209,62,24,127,211,62,210,126,213,62,33,127,215,62,252,127,217,62,88,129,219,62,45,131,221,62,112,133,223,62,23,136,225,62,25,139,227,62,108,142,229,62,5,146,231,62,219,149,233,62,228,153,235,62,21,158,237,62,102,162,239,62,203,166,241,62,59,171,243,62,173,175,245,62,21,180,247,62,107,184,249,62,164,188,251,62,181,192,253,62,150,196,255,62,30,228,0,63,207,229,1,63,88,231,2,63,182,232,3,63,226,233,4,63,215,234,5,63,146,235,6,63,12,236,7,63,66,236,8,63,45,236,9,63,202,235,10,63,19,235,11,63,4,234,12,63,151,232,13,63,200,230,14,63,145,228,15,63,239,225,16,63,220,222,17,63,84,219,18,63,81,215,19,63,208,210,20,63,202,205,21,63,61,200,22,63,34,194,23,63,117,187,24,63,50,180,25,63,85,172,26,63,215,163,27,63,182,154,28,63,236,144,29,63,117,134,30,63,77,123,31,63,110,111,32,63,214,98,33,63,126,85,34,63,100,71,35,63,130,56,36,63,212,40,37,63,87,24,38,63,5,7,39,63,219,244,39,63,213,225,40,63,239,205,41,63,36,185,42,63,113,163,43,63,209,140,44,63,64,117,45,63,188,92,46,63,63,67,47,63,199,40,48,63,78,13,49,63,211,240,49,63,80,211,50,63,195,180,51,63,39,149,52,63,122,116,53,63,184,82,54,63,220,47,55,63,229,11,56,63,206,230,56,63,149,192,57,63,54,153,58,63,174,112,59,63,249,70,60,63,21,28,61,63,255,239,61,63,179,194,62,63,48,148,63,63,113,100,64,63,116,51,65,63,55,1,66,63,182,205,66,63,239,152,67,63,224,98,68,63,134,43,69,63,222,242,69,63,230,184,70,63,156,125,71,63,253,64,72,63,7,3,73,63,184,195,73,63,14,131,74,63,6,65,75,63,159,253,75,63,215,184,76,63,172,114,77,63,28,43,78,63,38,226,78,63,199,151,79,63,253,75,80,63,201,254,80,63,39,176,81,63,22,96,82,63,150,14,83,63,164,187,83,63,63,103,84,63,103,17,85,63,26,186,85,63,86,97,86,63,28,7,87,63,105,171,87,63,62,78,88,63,152,239,88,63,120,143,89,63,221,45,90,63,198,202,90,63,50,102,91,63,33,0,92,63,147,152,92,63,134,47,93,63,251,196,93,63,242,88,94,63,105,235,94,63,98,124,95,63,219,11,96,63,213,153,96,63,80,38,97,63,76,177,97,63,201,58,98,63,199,194,98,63,70,73,99,63,71,206,99,63,202,81,100,63,208,211,100,63,88,84,101,63,100,211,101,63,244,80,102,63,9,205,102,63,163,71,103,63,195,192,103,63,107,56,104,63,154,174,104,63,82,35,105,63,147,150,105,63,96,8,106,63,184,120,106,63,157,231,106,63,16,85,107,63,19,193,107,63,166,43,108,63,203,148,108,63,132,252,108,63,209,98,109,63,180,199,109,63,48,43,110,63,68,141,110,63,244,237,110,63,64,77,111,63,42,171,111,63,181,7,112,63,225,98,112,63,177,188,112,63,38,21,113,63,67,108,113,63,10,194,113,63,123,22,114,63,155,105,114,63,106,187,114,63,234,11,115,63,31,91,115,63,9,169,115,63,172,245,115,63,9,65,116,63,35,139,116,63,252,211,116,63,151,27,117,63,245,97,117,63,26,167,117,63,8,235,117,63,193,45,118,63,72,111,118,63,159,175,118,63,202,238,118,63,201,44,119,63,161,105,119,63,84,165,119,63,228,223,119,63,85,25,120,63,168,81,120,63,226,136,120,63,3,191,120,63,16,244,120,63,11,40,121,63,247,90,121,63,215,140,121,63,173,189,121,63,125,237,121,63,73,28,122,63,20,74,122,63,226,118,122,63,181,162,122,63,144,205,122,63,118,247,122,63,107,32,123,63,112,72,123,63,138,111,123,63,186,149,123,63,5,187,123,63,109,223,123,63,245,2,124,63,160,37,124,63,113,71,124,63,108,104,124,63,147,136,124,63,233,167,124,63,114,198,124,63,48,228,124,63,38,1,125,63,89,29,125,63,201,56,125,63,124,83,125,63,115,109,125,63,178,134,125,63,60,159,125,63,19,183,125,63,60,206,125,63,184,228,125,63,139,250,125,63,184,15,126,63,66,36,126,63,44,56,126,63,120,75,126,63,43,94,126,63,70,112,126,63,204,129,126,63,194,146,126,63,41,163,126,63,4,179,126,63,86,194,126,63,35,209,126,63,109,223,126,63,55,237,126,63,131,250,126,63,85,7,127,63,175,19,127,63,148,31,127,63,7,43,127,63,10,54,127,63,160,64,127,63,205,74,127,63,146,84,127,63,242,93,127,63,239,102,127,63,141,111,127,63,206,119,127,63,181,127,127,63,67,135,127,63,124,142,127,63,98,149,127,63,247,155,127,63,61,162,127,63,56,168,127,63,233,173,127,63,83,179,127,63,120,184,127,63,90,189,127,63,252,193,127,63,95,198,127,63,134,202,127,63,116,206,127,63,41,210,127,63,168,213,127,63,244,216,127,63,13,220,127,63,247,222,127,63,179,225,127,63,67,228,127,63,168,230,127,63,229,232,127,63,252,234,127,63,237,236,127,63,188,238,127,63,105,240,127,63,246,241,127,63,101,243,127,63,183,244,127,63,238,245,127,63,11,247,127,63,16,248,127,63,254,248,127,63,214,249,127,63,155,250,127,63,76,251,127,63,236,251,127,63,124,252,127,63,252,252,127,63,110,253,127,63,211,253,127,63,44,254,127,63,121,254,127,63,189,254,127,63,247,254,127,63,42,255,127,63,84,255,127,63,120,255,127,63,150,255,127,63,175,255,127,63,195,255,127,63,211,255,127,63,224,255,127,63,234,255,127,63,241,255,127,63,246,255,127,63,250,255,127,63,253,255,127,63,254,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,171,15,120,53,24,135,11,55,225,201,193,55,107,233,61,56,128,247,156,56,187,122,234,56,24,191,35,57,213,0,90,57,56,1,140,57,229,225,174,57,88,162,213,57,60,33,0,58,24,97,23,58,175,144,48,58,243,175,75,58,212,190,104,58,159,222,131,58,143,85,148,58,48,196,165,58,119,42,184,58,90,136,203,58,204,221,223,58,191,42,245,58,148,183,5,59,124,85,17,59,16,111,29,59,73,4,42,59,31,21,55,59,138,161,68,59,129,169,82,59,252,44,97,59,241,43,112,59,88,166,127,59,19,206,135,59,169,6,144,59,233,124,152,59,204,48,161,59,79,34,170,59,106,81,179,59,26,190,188,59,86,104,198,59,26,80,208,59,95,117,218,59,31,216,228,59,83,120,239,59,244,85,250,59,126,184,2,60,177,100,8,60,145,47,14,60,25,25,20,60,70,33,26,60,19,72,32,60,126,141,38,60,129,241,44,60,25,116,51,60,65,21,58,60,246,212,64,60,50,179,71,60,243,175,78,60,50,203,85,60,235,4,93,60,26,93,100,60,186,211,107,60,198,104,115,60,58,28,123,60,7,119,129,60,33,111,133,60,102,118,137,60,212,140,141,60,105,178,145,60,33,231,149,60,251,42,154,60,243,125,158,60,6,224,162,60,50,81,167,60,115,209,171,60,199,96,176,60,43,255,180,60,154,172,185,60,19,105,190,60,146,52,195,60,20,15,200,60,149,248,204,60,19,241,209,60,137,248,214,60,245,14,220,60,83,52,225,60,160,104,230,60,215,171,235,60,246,253,240,60,249,94,246,60,220,206,251,60,205,166,0,61,153,109,3,61,207,59,6,61,109,17,9,61,114,238,11,61,220,210,14,61,167,190,17,61,211,177,20,61,94,172,23,61,68,174,26,61,133,183,29,61,30,200,32,61,12,224,35,61,78,255,38,61,225,37,42,61,196,83,45,61,243,136,48,61,109,197,51,61,47,9,55,61,55,84,58,61,130,166,61,61,15,0,65,61,218,96,68,61,226,200,71,61,35,56,75,61,156,174,78,61,73,44,82,61,40,177,85,61,55,61,89,61,115,208,92,61,217,106,96,61,103,12,100,61,25,181,103,61,238,100,107,61,227,27,111,61,244,217,114,61,30,159,118,61,96,107,122,61,182,62,126,61,143,12,129,61,73,253,130,61,138,241,132,61,79,233,134,61,150,228,136,61,94,227,138,61,167,229,140,61,109,235,142,61,175,244,144,61,109,1,147,61,164,17,149,61,83,37,151,61,120,60,153,61,17,87,155,61,30,117,157,61,155,150,159,61,136,187,161,61,226,227,163,61,169,15,166,61,218,62,168,61,116,113,170,61,116,167,172,61,218,224,174,61,162,29,177,61,205,93,179,61,87,161,181,61,62,232,183,61,130,50,186,61,32,128,188,61,22,209,190,61,98,37,193,61,2,125,195,61,245,215,197,61,57,54,200,61,203,151,202,61,169,252,204,61,211,100,207,61,68,208,209,61,252,62,212,61,249,176,214,61,56,38,217,61,184,158,219,61,117,26,222,61,111,153,224,61,163,27,227,61,14,161,229,61,175,41,232,61,132,181,234,61,138,68,237,61,191,214,239,61,33,108,242,61,174,4,245,61,99,160,247,61,62,63,250,61,61,225,252,61,93,134,255,61,78,23,1,62,252,108,2,62,56,196,3,62,255,28,5,62,81,119,6,62,45,211,7,62,145,48,9,62,125,143,10,62,238,239,11,62,228,81,13,62,94,181,14,62,89,26,16,62,214,128,17,62,210,232,18,62,77,82,20,62,69,189,21,62,184,41,23,62,166,151,24,62,13,7,26,62,236,119,27,62,65,234,28,62,11,94,30,62,73,211,31,62,250,73,33,62,28,194,34,62,173,59,36,62,172,182,37,62,24,51,39,62,240,176,40,62,50,48,42,62,220,176,43,62,238,50,45,62,101,182,46,62,64,59,48,62,126,193,49,62,30,73,51,62,29,210,52,62,123,92,54,62,54,232,55,62,76,117,57,62,187,3,59,62,131,147,60,62,162,36,62,62,22,183,63,62,222,74,65,62,248,223,66,62,98,118,68,62,28,14,70,62,35,167,71,62,117,65,73,62,18,221,74,62,247,121,76,62,35,24,78,62,149,183,79,62,74,88,81,62,66,250,82,62,121,157,84,62,240,65,86,62,163,231,87,62,146,142,89,62,186,54,91,62,26,224,92,62,177,138,94,62,124,54,96,62,122,227,97,62,169,145,99,62,7,65,101,62,147,241,102,62,75,163,104,62,44,86,106,62,54,10,108,62,102,191,109,62,187,117,111,62,51,45,113,62,204,229,114,62,132,159,116,62,90,90,118,62,75,22,120,62,85,211,121,62,120,145,123,62,176,80,125,62,253,16,127,62,46,105,128,62,101,74,129,62,36,44,130,62,105,14,131,62,52,241,131,62,130,212,132,62,84,184,133,62,169,156,134,62,127,129,135,62,213,102,136,62,171,76,137,62,255,50,138,62,209,25,139,62,32,1,140,62,233,232,140,62,46,209,141,62,236,185,142,62,34,163,143,62,208,140,144,62,244,118,145,62,142,97,146,62,156,76,147,62,29,56,148,62,17,36,149,62,118,16,150,62,76,253,150,62,144,234,151,62,67,216,152,62,99,198,153,62,239,180,154,62,230,163,155,62,71,147,156,62,17,131,157,62,67,115,158,62,219,99,159,62,218,84,160,62,60,70,161,62,3,56,162,62,43,42,163,62,181,28,164,62,160,15,165,62,233,2,166,62,145,246,166,62,149,234,167,62,245,222,168,62,176,211,169,62,197,200,170,62,50,190,171,62,246,179,172,62,17,170,173,62,129,160,174,62,69,151,175,62,91,142,176,62,196,133,177,62,125,125,178,62,133,117,179,62,220,109,180,62,128,102,181,62,112,95,182,62,171,88,183,62,47,82,184,62,252,75,185,62,17,70,186,62,108,64,187,62,11,59,188,62,239,53,189,62,22,49,190,62,126,44,191,62,38,40,192,62,13,36,193,62,51,32,194,62,150,28,195,62,52,25,196,62,12,22,197,62,30,19,198,62,104,16,199,62,233,13,200,62,159,11,201,62,138,9,202,62,169,7,203,62,249,5,204,62,123,4,205,62,44,3,206,62,11,2,207,62,24,1,208,62,81,0,209,62,181,255,209,62,66,255,210,62,248,254,211,62,213,254,212,62,216,254,213,62,255,254,214,62,75,255,215,62,184,255,216,62,71,0,218,62,245,0,219,62,195,1,220,62,173,2,221,62,180,3,222,62,214,4,223,62,17,6,224,62,101,7,225,62,208,8,226,62,81,10,227,62,231,11,228,62,144,13,229,62,76,15,230,62,25,17,231,62,245,18,232,62,224,20,233,62,217,22,234,62,221,24,235,62,236,26,236,62,5,29,237,62,39,31,238,62,79,33,239,62,125,35,240,62,176,37,241,62,230,39,242,62,31,42,243,62,88,44,244,62,145,46,245,62,200,48,246,62,253,50,247,62,45,53,248,62,88,55,249,62,124,57,250,62,153,59,251,62,172,61,252,62,181,63,253,62,179,65,254,62,163,67,255,62,195,34,0,63,173,163,0,63,142,36,1,63,102,165,1,63,53,38,2,63,250,166,2,63,180,39,3,63,99,168,3,63,5,41,4,63,155,169,4,63,36,42,5,63,159,170,5,63,12,43,6,63,105,171,6,63,183,43,7,63,244,171,7,63,32,44,8,63,59,172,8,63,68,44,9,63,58,172,9,63,28,44,10,63,235,171,10,63,164,43,11,63,73,171,11,63,216,42,12,63,80,170,12,63,177,41,13,63,251,168,13,63,44,40,14,63,69,167,14,63,68,38,15,63,41,165,15,63,243,35,16,63,162,162,16,63,53,33,17,63,172,159,17,63,5,30,18,63,65,156,18,63,95,26,19,63,94,152,19,63,61,22,20,63,252,147,20,63,155,17,21,63,24,143,21,63,116,12,22,63,173,137,22,63,195,6,23,63,182,131,23,63,133,0,24,63,46,125,24,63,179,249,24,63,18,118,25,63,74,242,25,63,91,110,26,63,69,234,26,63,6,102,27,63,159,225,27,63,14,93,28,63,84,216,28,63,111,83,29,63,95,206,29,63,36,73,30,63,188,195,30,63,40,62,31,63,102,184,31,63,119,50,32,63,90,172,32,63,14,38,33,63,146,159,33,63,230,24,34,63,10,146,34,63,253,10,35,63,190,131,35,63,77,252,35,63,169,116,36,63,211,236,36,63,200,100,37,63,138,220,37,63,22,84,38,63,110,203,38,63,143,66,39,63,122,185,39,63,47,48,40,63,172,166,40,63,241,28,41,63,254,146,41,63,210,8,42,63,108,126,42,63,205,243,42,63,243,104,43,63,223,221,43,63,143,82,44,63,3,199,44,63,59,59,45,63,54,175,45,63,244,34,46,63,116,150,46,63,182,9,47,63,185,124,47,63,125,239,47,63,1,98,48,63,69,212,48,63,72,70,49,63,10,184,49,63,139,41,50,63,202,154,50,63,198,11,51,63,127,124,51,63,246,236,51,63,40,93,52,63,22,205,52,63,191,60,53,63,36,172,53,63,66,27,54,63,27,138,54,63,174,248,54,63,249,102,55,63,254,212,55,63,187,66,56,63,47,176,56,63,91,29,57,63,63,138,57,63,217,246,57,63,41,99,58,63,48,207,58,63,236,58,59,63,93,166,59,63,130,17,60,63,93,124,60,63,235,230,60,63,44,81,61,63,33,187,61,63,201,36,62,63,35,142,62,63,48,247,62,63,238,95,63,63,94,200,63,63,126,48,64,63,80,152,64,63,209,255,64,63,3,103,65,63,228,205,65,63,117,52,66,63,181,154,66,63,163,0,67,63,64,102,67,63,139,203,67,63,131,48,68,63,41,149,68,63,124,249,68,63,123,93,69,63,39,193,69,63,127,36,70,63,132,135,70,63,51,234,70,63,142,76,71,63,148,174,71,63,68,16,72,63,159,113,72,63,164,210,72,63,83,51,73,63,172,147,73,63,174,243,73,63,89,83,74,63,173,178,74,63,169,17,75,63,77,112,75,63,154,206,75,63,143,44,76,63,43,138,76,63,110,231,76,63,89,68,77,63,234,160,77,63,34,253,77,63,0,89,78,63,133,180,78,63,176,15,79,63,128,106,79,63,246,196,79,63,18,31,80,63,210,120,80,63,56,210,80,63,66,43,81,63,242,131,81,63,69,220,81,63,61,52,82,63,217,139,82,63,24,227,82,63,252,57,83,63,131,144,83,63,174,230,83,63,123,60,84,63,236,145,84,63,0,231,84,63,183,59,85,63,16,144,85,63,12,228,85,63,170,55,86,63,235,138,86,63,206,221,86,63,83,48,87,63,121,130,87,63,66,212,87,63,172,37,88,63,184,118,88,63,101,199,88,63,180,23,89,63,164,103,89,63,53,183,89,63,104,6,90,63,59,85,90,63,175,163,90,63,197,241,90,63,123,63,91,63,210,140,91,63,201,217,91,63,97,38,92,63,154,114,92,63,115,190,92,63,237,9,93,63,7,85,93,63,194,159,93,63,29,234,93,63,24,52,94,63,179,125,94,63,239,198,94,63,203,15,95,63,72,88,95,63,100,160,95,63,33,232,95,63,126,47,96,63,123,118,96,63,24,189,96,63,85,3,97,63,51,73,97,63,177,142,97,63,207,211,97,63,141,24,98,63,236,92,98,63,235,160,98,63,138,228,98,63,202,39,99,63,170,106,99,63,42,173,99,63,75,239,99,63,13,49,100,63,111,114,100,63,114,179,100,63,21,244,100,63,90,52,101,63,63,116,101,63,197,179,101,63,236,242,101,63,180,49,102,63,29,112,102,63,39,174,102,63,211,235,102,63,32,41,103,63,15,102,103,63,159,162,103,63,209,222,103,63,164,26,104,63,26,86,104,63,49,145,104,63,235,203,104,63,71,6,105,63,69,64,105,63,230,121,105,63,42,179,105,63,16,236,105,63,153,36,106,63,197,92,106,63,148,148,106,63,7,204,106,63,29,3,107,63,214,57,107,63,52,112,107,63,53,166,107,63,218,219,107,63,36,17,108,63,18,70,108,63,164,122,108,63,220,174,108,63,184,226,108,63,57,22,109,63,96,73,109,63,44,124,109,63,157,174,109,63,181,224,109,63,115,18,110,63,214,67,110,63,225,116,110,63,146,165,110,63,233,213,110,63,232,5,111,63,142,53,111,63,219,100,111,63,209,147,111,63,110,194,111,63,179,240,111,63,160,30,112,63,54,76,112,63,117,121,112,63,93,166,112,63,239,210,112,63,41,255,112,63,14,43,113,63,156,86,113,63,213,129,113,63,184,172,113,63,70,215,113,63,127,1,114,63,99,43,114,63,243,84,114,63,46,126,114,63,21,167,114,63,169,207,114,63,233,247,114,63,214,31,115,63,113,71,115,63,184,110,115,63,173,149,115,63,80,188,115,63,162,226,115,63,161,8,116,63,80,46,116,63,174,83,116,63,187,120,116,63,119,157,116,63,228,193,116,63,1,230,116,63,206,9,117,63,76,45,117,63,123,80,117,63,92,115,117,63,238,149,117,63,51,184,117,63,42,218,117,63,211,251,117,63,48,29,118,63,64,62,118,63,3,95,118,63,122,127,118,63,166,159,118,63,134,191,118,63,27,223,118,63,101,254,118,63,101,29,119,63,27,60,119,63,135,90,119,63,169,120,119,63,131,150,119,63,19,180,119,63,91,209,119,63,91,238,119,63,20,11,120,63,132,39,120,63,174,67,120,63,145,95,120,63,46,123,120,63,132,150,120,63,149,177,120,63,96,204,120,63,231,230,120,63,41,1,121,63,38,27,121,63,223,52,121,63,85,78,121,63,136,103,121,63,120,128,121,63,37,153,121,63,144,177,121,63,185,201,121,63,161,225,121,63,72,249,121,63,174,16,122,63,212,39,122,63,185,62,122,63,96,85,122,63,198,107,122,63,238,129,122,63,216,151,122,63,131,173,122,63,241,194,122,63,33,216,122,63,20,237,122,63,202,1,123,63,68,22,123,63,130,42,123,63,133,62,123,63,77,82,123,63,217,101,123,63,43,121,123,63,68,140,123,63,34,159,123,63,200,177,123,63,52,196,123,63,104,214,123,63,99,232,123,63,39,250,123,63,180,11,124,63,9,29,124,63,40,46,124,63,17,63,124,63,196,79,124,63,65,96,124,63,137,112,124,63,156,128,124,63,124,144,124,63,39,160,124,63,158,175,124,63,226,190,124,63,244,205,124,63,211,220,124,63,128,235,124,63,251,249,124,63,69,8,125,63,94,22,125,63,71,36,125,63,255,49,125,63,136,63,125,63,225,76,125,63,11,90,125,63,7,103,125,63,212,115,125,63,115,128,125,63,229,140,125,63,42,153,125,63,66,165,125,63,46,177,125,63,238,188,125,63,130,200,125,63,235,211,125,63,41,223,125,63,61,234,125,63,38,245,125,63,230,255,125,63,124,10,126,63,234,20,126,63,47,31,126,63,75,41,126,63,64,51,126,63,13,61,126,63,180,70,126,63,51,80,126,63,140,89,126,63,191,98,126,63,205,107,126,63,181,116,126,63,120,125,126,63,23,134,126,63,146,142,126,63,233,150,126,63,28,159,126,63,44,167,126,63,26,175,126,63,229,182,126,63,142,190,126,63,22,198,126,63,124,205,126,63,194,212,126,63,231,219,126,63,235,226,126,63,208,233,126,63,149,240,126,63,59,247,126,63,195,253,126,63,44,4,127,63,118,10,127,63,163,16,127,63,179,22,127,63,165,28,127,63,123,34,127,63,52,40,127,63,210,45,127,63,83,51,127,63,186,56,127,63,5,62,127,63,53,67,127,63,75,72,127,63,72,77,127,63,42,82,127,63,243,86,127,63,163,91,127,63,58,96,127,63,185,100,127,63,32,105,127,63,111,109,127,63,166,113,127,63,199,117,127,63,208,121,127,63,196,125,127,63,161,129,127,63,104,133,127,63,25,137,127,63,182,140,127,63,61,144,127,63,176,147,127,63,14,151,127,63,89,154,127,63,143,157,127,63,179,160,127,63,195,163,127,63,192,166,127,63,171,169,127,63,132,172,127,63,74,175,127,63,255,177,127,63,163,180,127,63,53,183,127,63,183,185,127,63,40,188,127,63,137,190,127,63,217,192,127,63,26,195,127,63,76,197,127,63,111,199,127,63,130,201,127,63,135,203,127,63,126,205,127,63,102,207,127,63,65,209,127,63,14,211,127,63,205,212,127,63,128,214,127,63,38,216,127,63,191,217,127,63,76,219,127,63,204,220,127,63,65,222,127,63,170,223,127,63,8,225,127,63,91,226,127,63,163,227,127,63,224,228,127,63,19,230,127,63,59,231,127,63,90,232,127,63,110,233,127,63,122,234,127,63,124,235,127,63,116,236,127,63,100,237,127,63,75,238,127,63,42,239,127,63,1,240,127,63,207,240,127,63,149,241,127,63,84,242,127,63,12,243,127,63,188,243,127,63,101,244,127,63,7,245,127,63,162,245,127,63,55,246,127,63,198,246,127,63,78,247,127,63,209,247,127,63,77,248,127,63,196,248,127,63,54,249,127,63,162,249,127,63,9,250,127,63,108,250,127,63,201,250,127,63,34,251,127,63,118,251,127,63,198,251,127,63,18,252,127,63,89,252,127,63,157,252,127,63,221,252,127,63,26,253,127,63,83,253,127,63,136,253,127,63,187,253,127,63,234,253,127,63,22,254,127,63,64,254,127,63,103,254,127,63,139,254,127,63,173,254,127,63,204,254,127,63,234,254,127,63,5,255,127,63,30,255,127,63,53,255,127,63,74,255,127,63,94,255,127,63,112,255,127,63,128,255,127,63,143,255,127,63,157,255,127,63,169,255,127,63,180,255,127,63,191,255,127,63,200,255,127,63,208,255,127,63,215,255,127,63,221,255,127,63,227,255,127,63,232,255,127,63,236,255,127,63,239,255,127,63,243,255,127,63,245,255,127,63,248,255,127,63,249,255,127,63,251,255,127,63,252,255,127,63,253,255,127,63,254,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,204,8,120,52,171,134,11,54,79,202,193,54,190,233,61,55,238,247,156,55,192,123,234,55,43,192,35,56,161,2,90,56,189,2,140,56,76,228,174,56,227,165,213,56,199,35,0,57,168,100,23,57,134,149,48,57,104,182,75,57,64,199,104,57,7,228,131,57,105,92,148,57,191,204,165,57,6,53,184,57,65,149,203,57,105,237,223,57,120,61,245,57,184,194,5,58,166,98,17,58,134,126,29,58,81,22,42,58,9,42,55,58,172,185,68,58,54,197,82,58,165,76,97,58,250,79,112,58,47,207,127,58,34,229,135,58,154,32,144,58,255,153,152,58,80,81,161,58,139,70,170,58,174,121,179,58,186,234,188,58,171,153,198,58,129,134,208,58,58,177,218,58,212,25,229,58,79,192,239,58,167,164,250,58,109,227,2,59,117,147,8,59,105,98,14,59,73,80,20,59,19,93,26,59,199,136,32,59,100,211,38,59,232,60,45,59,83,197,51,59,164,108,58,59,218,50,65,59,243,23,72,59,239,27,79,59,204,62,86,59,138,128,93,59,38,225,100,59,161,96,108,59,249,254,115,59,45,188,123,59,29,204,129,59,145,201,133,59,113,214,137,59,188,242,141,59,113,30,146,59,145,89,150,59,26,164,154,59,12,254,158,59,102,103,163,59,40,224,167,59,80,104,172,59,222,255,176,59,209,166,181,59,40,93,186,59,228,34,191,59,2,248,195,59,131,220,200,59,101,208,205,59,168,211,210,59,74,230,215,59,76,8,221,59,172,57,226,59,105,122,231,59,131,202,236,59,249,41,242,59,202,152,247,59,245,22,253,59,60,82,1,60,170,32,4,60,196,246,6,60,137,212,9,60,249,185,12,60,19,167,15,60,216,155,18,60,69,152,21,60,92,156,24,60,26,168,27,60,129,187,30,60,143,214,33,60,69,249,36,60,160,35,40,60,162,85,43,60,73,143,46,60,149,208,49,60,133,25,53,60,26,106,56,60,81,194,59,60,44,34,63,60,168,137,66,60,199,248,69,60,134,111,73,60,230,237,76,60,231,115,80,60,134,1,84,60,197,150,87,60,162,51,91,60,28,216,94,60,52,132,98,60,232,55,102,60,56,243,105,60,35,182,109,60,170,128,113,60,202,82,117,60,131,44,121,60,214,13,125,60,96,123,128,60,161,115,130,60,174,111,132,60,134,111,134,60,40,115,136,60,149,122,138,60,205,133,140,60,206,148,142,60,152,167,144,60,44,190,146,60,136,216,148,60,173,246,150,60,154,24,153,60,78,62,155,60,202,103,157,60,13,149,159,60,23,198,161,60,231,250,163,60,125,51,166,60,217,111,168,60,249,175,170,60,223,243,172,60,137,59,175,60,247,134,177,60,40,214,179,60,29,41,182,60,213,127,184,60,80,218,186,60,140,56,189,60,138,154,191,60,74,0,194,60,202,105,196,60,11,215,198,60,12,72,201,60,205,188,203,60,77,53,206,60,140,177,208,60,137,49,211,60,69,181,213,60,189,60,216,60,243,199,218,60,230,86,221,60,149,233,223,60,0,128,226,60,39,26,229,60,8,184,231,60,164,89,234,60,250,254,236,60,9,168,239,60,210,84,242,60,83,5,245,60,141,185,247,60,126,113,250,60,39,45,253,60,134,236,255,60,206,87,1,61,52,187,2,61,117,32,4,61,144,135,5,61,133,240,6,61,84,91,8,61,253,199,9,61,128,54,11,61,219,166,12,61,16,25,14,61,29,141,15,61,3,3,17,61,193,122,18,61,87,244,19,61,197,111,21,61,10,237,22,61,39,108,24,61,26,237,25,61,228,111,27,61,132,244,28,61,251,122,30,61,71,3,32,61,105,141,33,61,96,25,35,61,45,167,36,61,206,54,38,61,67,200,39,61,141,91,41,61,171,240,42,61,156,135,44,61,96,32,46,61,248,186,47,61,99,87,49,61,160,245,50,61,175,149,52,61,144,55,54,61,67,219,55,61,199,128,57,61,28,40,59,61,65,209,60,61,56,124,62,61,254,40,64,61,148,215,65,61,250,135,67,61,47,58,69,61,51,238,70,61,5,164,72,61,166,91,74,61,20,21,76,61,80,208,77,61,90,141,79,61,49,76,81,61,212,12,83,61,68,207,84,61,128,147,86,61,135,89,88,61,90,33,90,61,248,234,91,61,97,182,93,61,148,131,95,61,145,82,97,61,88,35,99,61,232,245,100,61,65,202,102,61,100,160,104,61,78,120,106,61,1,82,108,61,123,45,110,61,188,10,112,61,197,233,113,61,148,202,115,61,41,173,117,61,133,145,119,61,166,119,121,61,140,95,123,61,55,73,125,61,166,52,127,61,237,144,128,61,105,136,129,61,198,128,130,61,5,122,131,61,37,116,132,61,39,111,133,61,9,107,134,61,204,103,135,61,112,101,136,61,244,99,137,61,88,99,138,61,157,99,139,61,193,100,140,61,196,102,141,61,167,105,142,61,106,109,143,61,11,114,144,61,139,119,145,61,234,125,146,61,40,133,147,61,67,141,148,61,61,150,149,61,20,160,150,61,201,170,151,61,92,182,152,61,203,194,153,61,24,208,154,61,66,222,155,61,72,237,156,61,42,253,157,61,233,13,159,61,132,31,160,61,250,49,161,61,76,69,162,61,122,89,163,61,130,110,164,61,101,132,165,61,35,155,166,61,188,178,167,61,47,203,168,61,124,228,169,61,162,254,170,61,163,25,172,61,124,53,173,61,47,82,174,61,187,111,175,61,31,142,176,61,92,173,177,61,113,205,178,61,94,238,179,61,35,16,181,61,192,50,182,61,52,86,183,61,127,122,184,61,160,159,185,61,153,197,186,61,104,236,187,61,13,20,189,61,136,60,190,61,217,101,191,61,255,143,192,61,250,186,193,61,202,230,194,61,111,19,196,61,233,64,197,61,55,111,198,61,89,158,199,61,78,206,200,61,23,255,201,61,179,48,203,61,35,99,204,61,101,150,205,61,121,202,206,61,96,255,207,61,25,53,209,61,164,107,210,61,0,163,211,61,45,219,212,61,44,20,214,61,251,77,215,61,154,136,216,61,10,196,217,61,74,0,219,61,89,61,220,61,56,123,221,61,230,185,222,61,99,249,223,61,174,57,225,61,200,122,226,61,176,188,227,61,102,255,228,61,233,66,230,61,58,135,231,61,88,204,232,61,66,18,234,61,249,88,235,61,124,160,236,61,203,232,237,61,230,49,239,61,204,123,240,61,125,198,241,61,249,17,243,61,63,94,244,61,79,171,245,61,42,249,246,61,206,71,248,61,60,151,249,61,114,231,250,61,114,56,252,61,58,138,253,61,202,220,254,61,17,24,0,62,33,194,0,62,149,108,1,62,108,23,2,62,166,194,2,62,68,110,3,62,69,26,4,62,168,198,4,62,111,115,5,62,152,32,6,62,35,206,6,62,17,124,7,62,98,42,8,62,20,217,8,62,40,136,9,62,157,55,10,62,117,231,10,62,173,151,11,62,71,72,12,62,66,249,12,62,158,170,13,62,91,92,14,62,120,14,15,62,246,192,15,62,213,115,16,62,19,39,17,62,177,218,17,62,175,142,18,62,13,67,19,62,202,247,19,62,231,172,20,62,99,98,21,62,62,24,22,62,120,206,22,62,16,133,23,62,7,60,24,62,92,243,24,62,16,171,25,62,33,99,26,62,145,27,27,62,94,212,27,62,137,141,28,62,17,71,29,62,246,0,30,62,56,187,30,62,215,117,31,62,211,48,32,62,43,236,32,62,224,167,33,62,241,99,34,62,93,32,35,62,38,221,35,62,74,154,36,62,202,87,37,62,165,21,38,62,219,211,38,62,108,146,39,62,88,81,40,62,159,16,41,62,64,208,41,62,59,144,42,62,144,80,43,62,63,17,44,62,72,210,44,62,170,147,45,62,102,85,46,62,122,23,47,62,232,217,47,62,175,156,48,62,206,95,49,62,69,35,50,62,21,231,50,62,61,171,51,62,189,111,52,62,148,52,53,62,195,249,53,62,73,191,54,62,38,133,55,62,91,75,56,62,230,17,57,62,199,216,57,62,255,159,58,62,141,103,59,62,113,47,60,62,171,247,60,62,59,192,61,62,31,137,62,62,89,82,63,62,232,27,64,62,204,229,64,62,5,176,65,62,146,122,66,62,115,69,67,62,168,16,68,62,49,220,68,62,14,168,69,62,62,116,70,62,194,64,71,62,152,13,72,62,193,218,72,62,61,168,73,62,12,118,74,62,44,68,75,62,159,18,76,62,100,225,76,62,122,176,77,62,225,127,78,62,154,79,79,62,164,31,80,62,255,239,80,62,170,192,81,62,166,145,82,62,242,98,83,62,141,52,84,62,121,6,85,62,180,216,85,62,63,171,86,62,25,126,87,62,65,81,88,62,185,36,89,62,126,248,89,62,147,204,90,62,245,160,91,62,165,117,92,62,163,74,93,62,238,31,94,62,135,245,94,62,109,203,95,62,159,161,96,62,30,120,97,62,233,78,98,62,1,38,99,62,100,253,99,62,19,213,100,62,14,173,101,62,84,133,102,62,229,93,103,62,193,54,104,62,231,15,105,62,88,233,105,62,19,195,106,62,24,157,107,62,103,119,108,62,255,81,109,62,224,44,110,62,11,8,111,62,126,227,111,62,58,191,112,62,62,155,113,62,139,119,114,62,31,84,115,62,251,48,116,62,31,14,117,62,138,235,117,62,59,201,118,62,52,167,119,62,115,133,120,62,248,99,121,62,196,66,122,62,213,33,123,62,44,1,124,62,200,224,124,62,170,192,125,62,208,160,126,62,59,129,127,62,245,48,128,62,111,161,128,62,11,18,129,62,201,130,129,62,168,243,129,62,169,100,130,62,204,213,130,62,15,71,131,62,117,184,131,62,251,41,132,62,162,155,132,62,107,13,133,62,84,127,133,62,93,241,133,62,136,99,134,62,210,213,134,62,61,72,135,62,200,186,135,62,116,45,136,62,63,160,136,62,42,19,137,62,52,134,137,62,94,249,137,62,168,108,138,62,17,224,138,62,153,83,139,62,64,199,139,62,6,59,140,62,235,174,140,62,239,34,141,62,17,151,141,62,82,11,142,62,177,127,142,62,46,244,142,62,201,104,143,62,130,221,143,62,89,82,144,62,78,199,144,62,96,60,145,62,143,177,145,62,220,38,146,62,70,156,146,62,205,17,147,62,113,135,147,62,50,253,147,62,16,115,148,62,9,233,148,62,32,95,149,62,82,213,149,62,161,75,150,62,12,194,150,62,146,56,151,62,53,175,151,62,243,37,152,62,204,156,152,62,193,19,153,62,209,138,153,62,252,1,154,62,66,121,154,62,163,240,154,62,31,104,155,62,181,223,155,62,101,87,156,62,48,207,156,62,21,71,157,62,20,191,157,62,45,55,158,62,96,175,158,62,172,39,159,62,18,160,159,62,145,24,160,62,41,145,160,62,218,9,161,62,165,130,161,62,136,251,161,62,132,116,162,62,152,237,162,62,197,102,163,62,10,224,163,62,103,89,164,62,220,210,164,62,105,76,165,62,14,198,165,62,202,63,166,62,158,185,166,62,137,51,167,62,139,173,167,62,164,39,168,62,213,161,168,62,27,28,169,62],"i8",N3,F.GLOBAL_BASE+520696),E3([121,150,169,62,237,16,170,62,119,139,170,62,24,6,171,62,206,128,171,62,155,251,171,62,125,118,172,62,117,241,172,62,130,108,173,62,165,231,173,62,221,98,174,62,42,222,174,62,140,89,175,62,2,213,175,62,142,80,176,62,46,204,176,62,226,71,177,62,170,195,177,62,135,63,178,62,119,187,178,62,124,55,179,62,148,179,179,62,191,47,180,62,254,171,180,62,80,40,181,62,181,164,181,62,45,33,182,62,184,157,182,62,85,26,183,62,5,151,183,62,199,19,184,62,156,144,184,62,130,13,185,62,123,138,185,62,133,7,186,62,161,132,186,62,206,1,187,62,13,127,187,62,93,252,187,62,190,121,188,62,48,247,188,62,178,116,189,62,70,242,189,62,233,111,190,62,157,237,190,62,98,107,191,62,54,233,191,62,26,103,192,62,14,229,192,62,17,99,193,62,36,225,193,62,70,95,194,62,119,221,194,62,184,91,195,62,7,218,195,62,100,88,196,62,209,214,196,62,75,85,197,62,212,211,197,62,107,82,198,62,16,209,198,62,195,79,199,62,132,206,199,62,82,77,200,62,45,204,200,62,21,75,201,62,11,202,201,62,13,73,202,62,29,200,202,62,56,71,203,62,97,198,203,62,149,69,204,62,214,196,204,62,34,68,205,62,123,195,205,62,223,66,206,62,79,194,206,62,202,65,207,62,81,193,207,62,226,64,208,62,127,192,208,62,38,64,209,62,216,191,209,62,148,63,210,62,91,191,210,62,44,63,211,62,7,191,211,62,235,62,212,62,218,190,212,62,210,62,213,62,211,190,213,62,222,62,214,62,242,190,214,62,15,63,215,62,53,191,215,62,99,63,216,62,154,191,216,62,217,63,217,62,32,192,217,62,112,64,218,62,199,192,218,62,38,65,219,62,140,193,219,62,250,65,220,62,112,194,220,62,236,66,221,62,112,195,221,62,250,67,222,62,139,196,222,62,34,69,223,62,192,197,223,62,100,70,224,62,14,199,224,62,189,71,225,62,115,200,225,62,46,73,226,62,239,201,226,62,181,74,227,62,127,203,227,62,79,76,228,62,36,205,228,62,253,77,229,62,219,206,229,62,190,79,230,62,164,208,230,62,142,81,231,62,125,210,231,62,111,83,232,62,100,212,232,62,93,85,233,62,89,214,233,62,89,87,234,62,91,216,234,62,96,89,235,62,104,218,235,62,114,91,236,62,126,220,236,62,141,93,237,62,158,222,237,62,176,95,238,62,196,224,238,62,218,97,239,62,241,226,239,62,10,100,240,62,35,229,240,62,62,102,241,62,89,231,241,62,116,104,242,62,145,233,242,62,173,106,243,62,202,235,243,62,230,108,244,62,3,238,244,62,31,111,245,62,59,240,245,62,86,113,246,62,112,242,246,62,137,115,247,62,161,244,247,62,184,117,248,62,206,246,248,62,226,119,249,62,244,248,249,62,4,122,250,62,18,251,250,62,30,124,251,62,40,253,251,62,47,126,252,62,52,255,252,62,54,128,253,62,52,1,254,62,48,130,254,62,40,3,255,62,29,132,255,62,135,2,0,63,254,66,0,63,115,131,0,63,230,195,0,63,86,4,1,63,197,68,1,63,49,133,1,63,155,197,1,63,3,6,2,63,103,70,2,63,202,134,2,63,42,199,2,63,135,7,3,63,225,71,3,63,56,136,3,63,141,200,3,63,222,8,4,63,44,73,4,63,119,137,4,63,191,201,4,63,3,10,5,63,68,74,5,63,130,138,5,63,188,202,5,63,242,10,6,63,36,75,6,63,83,139,6,63,126,203,6,63,165,11,7,63,199,75,7,63,230,139,7,63,1,204,7,63,23,12,8,63,41,76,8,63,54,140,8,63,63,204,8,63,67,12,9,63,67,76,9,63,62,140,9,63,52,204,9,63,37,12,10,63,18,76,10,63,249,139,10,63,219,203,10,63,184,11,11,63,144,75,11,63,98,139,11,63,47,203,11,63,246,10,12,63,184,74,12,63,116,138,12,63,43,202,12,63,219,9,13,63,134,73,13,63,43,137,13,63,202,200,13,63,98,8,14,63,245,71,14,63,129,135,14,63,7,199,14,63,135,6,15,63,0,70,15,63,114,133,15,63,222,196,15,63,67,4,16,63,161,67,16,63,249,130,16,63,73,194,16,63,147,1,17,63,213,64,17,63,17,128,17,63,69,191,17,63,114,254,17,63,151,61,18,63,181,124,18,63,203,187,18,63,218,250,18,63,225,57,19,63,225,120,19,63,216,183,19,63,200,246,19,63,176,53,20,63,143,116,20,63,103,179,20,63,54,242,20,63,253,48,21,63,188,111,21,63,114,174,21,63,32,237,21,63,197,43,22,63,98,106,22,63,246,168,22,63,129,231,22,63,3,38,23,63,125,100,23,63,237,162,23,63,84,225,23,63,178,31,24,63,7,94,24,63,83,156,24,63,149,218,24,63,206,24,25,63,253,86,25,63,35,149,25,63,63,211,25,63,82,17,26,63,90,79,26,63,89,141,26,63,78,203,26,63,57,9,27,63,25,71,27,63,240,132,27,63,188,194,27,63,126,0,28,63,54,62,28,63,227,123,28,63,134,185,28,63,30,247,28,63,172,52,29,63,47,114,29,63,167,175,29,63,20,237,29,63,118,42,30,63,206,103,30,63,26,165,30,63,91,226,30,63,145,31,31,63,188,92,31,63,219,153,31,63,239,214,31,63,247,19,32,63,244,80,32,63,230,141,32,63,203,202,32,63,165,7,33,63,115,68,33,63,53,129,33,63,235,189,33,63,150,250,33,63,52,55,34,63,198,115,34,63,75,176,34,63,197,236,34,63,50,41,35,63,146,101,35,63,230,161,35,63,46,222,35,63,105,26,36,63,151,86,36,63,185,146,36,63,205,206,36,63,213,10,37,63,208,70,37,63,190,130,37,63,158,190,37,63,114,250,37,63,56,54,38,63,241,113,38,63,157,173,38,63,59,233,38,63,204,36,39,63,79,96,39,63,197,155,39,63,45,215,39,63,135,18,40,63,211,77,40,63,18,137,40,63,66,196,40,63,101,255,40,63,121,58,41,63,128,117,41,63,120,176,41,63,98,235,41,63,62,38,42,63,11,97,42,63,202,155,42,63,122,214,42,63,28,17,43,63,175,75,43,63,52,134,43,63,170,192,43,63,16,251,43,63,105,53,44,63,178,111,44,63,236,169,44,63,23,228,44,63,51,30,45,63,64,88,45,63,61,146,45,63,43,204,45,63,10,6,46,63,218,63,46,63,154,121,46,63,74,179,46,63,235,236,46,63,124,38,47,63,254,95,47,63,112,153,47,63,210,210,47,63,36,12,48,63,102,69,48,63,152,126,48,63,186,183,48,63,204,240,48,63,205,41,49,63,191,98,49,63,160,155,49,63,113,212,49,63,49,13,50,63,225,69,50,63,128,126,50,63,15,183,50,63,141,239,50,63,251,39,51,63,87,96,51,63,163,152,51,63,222,208,51,63,8,9,52,63,34,65,52,63,42,121,52,63,33,177,52,63,7,233,52,63,219,32,53,63,159,88,53,63,81,144,53,63,242,199,53,63,129,255,53,63,255,54,54,63,108,110,54,63,198,165,54,63,16,221,54,63,71,20,55,63,109,75,55,63,129,130,55,63,131,185,55,63,116,240,55,63,82,39,56,63,30,94,56,63,217,148,56,63,129,203,56,63,23,2,57,63,155,56,57,63,13,111,57,63,108,165,57,63,185,219,57,63,244,17,58,63,28,72,58,63,50,126,58,63,53,180,58,63,38,234,58,63,4,32,59,63,207,85,59,63,135,139,59,63,45,193,59,63,192,246,59,63,64,44,60,63,173,97,60,63,7,151,60,63,78,204,60,63,130,1,61,63,163,54,61,63,177,107,61,63,171,160,61,63,146,213,61,63,102,10,62,63,39,63,62,63,212,115,62,63,110,168,62,63,244,220,62,63,103,17,63,63,198,69,63,63,17,122,63,63,73,174,63,63,109,226,63,63,126,22,64,63,122,74,64,63,99,126,64,63,56,178,64,63,248,229,64,63,165,25,65,63,62,77,65,63,195,128,65,63,52,180,65,63,144,231,65,63,216,26,66,63,13,78,66,63,44,129,66,63,56,180,66,63,47,231,66,63,18,26,67,63,224,76,67,63,154,127,67,63,64,178,67,63,208,228,67,63,77,23,68,63,180,73,68,63,7,124,68,63,69,174,68,63,111,224,68,63,131,18,69,63,131,68,69,63,110,118,69,63,68,168,69,63,5,218,69,63,177,11,70,63,72,61,70,63,202,110,70,63,55,160,70,63,143,209,70,63,210,2,71,63,255,51,71,63,23,101,71,63,26,150,71,63,8,199,71,63,224,247,71,63,163,40,72,63,81,89,72,63,233,137,72,63,107,186,72,63,216,234,72,63,48,27,73,63,114,75,73,63,158,123,73,63,181,171,73,63,181,219,73,63,161,11,74,63,118,59,74,63,54,107,74,63,224,154,74,63,116,202,74,63,242,249,74,63,90,41,75,63,173,88,75,63,233,135,75,63,15,183,75,63,32,230,75,63,26,21,76,63,254,67,76,63,204,114,76,63,132,161,76,63,38,208,76,63,177,254,76,63,38,45,77,63,133,91,77,63,206,137,77,63,0,184,77,63,28,230,77,63,34,20,78,63,17,66,78,63,234,111,78,63,172,157,78,63,88,203,78,63,238,248,78,63,108,38,79,63,213,83,79,63,38,129,79,63,97,174,79,63,134,219,79,63,147,8,80,63,138,53,80,63,107,98,80,63,52,143,80,63,231,187,80,63,131,232,80,63,8,21,81,63,119,65,81,63,206,109,81,63,15,154,81,63,57,198,81,63,76,242,81,63,71,30,82,63,44,74,82,63,250,117,82,63,177,161,82,63,81,205,82,63,218,248,82,63,76,36,83,63,166,79,83,63,234,122,83,63,22,166,83,63,44,209,83,63,42,252,83,63,17,39,84,63,224,81,84,63,153,124,84,63,58,167,84,63,196,209,84,63,54,252,84,63,146,38,85,63,214,80,85,63,2,123,85,63,24,165,85,63,22,207,85,63,252,248,85,63,204,34,86,63,131,76,86,63,36,118,86,63,172,159,86,63,30,201,86,63,120,242,86,63,186,27,87,63,229,68,87,63,248,109,87,63,244,150,87,63,216,191,87,63,165,232,87,63,90,17,88,63,248,57,88,63,126,98,88,63,236,138,88,63,67,179,88,63,130,219,88,63,169,3,89,63,185,43,89,63,177,83,89,63,145,123,89,63,90,163,89,63,11,203,89,63,164,242,89,63,37,26,90,63,143,65,90,63,225,104,90,63,27,144,90,63,62,183,90,63,72,222,90,63,59,5,91,63,22,44,91,63,217,82,91,63,133,121,91,63,24,160,91,63,148,198,91,63,248,236,91,63,68,19,92,63,120,57,92,63,149,95,92,63,153,133,92,63,134,171,92,63,91,209,92,63,24,247,92,63,189,28,93,63,74,66,93,63,191,103,93,63,28,141,93,63,98,178,93,63,143,215,93,63,165,252,93,63,162,33,94,63,136,70,94,63,86,107,94,63,11,144,94,63,169,180,94,63,47,217,94,63,157,253,94,63,243,33,95,63,49,70,95,63,88,106,95,63,102,142,95,63,92,178,95,63,59,214,95,63,1,250,95,63,175,29,96,63,70,65,96,63,196,100,96,63,43,136,96,63,122,171,96,63,176,206,96,63,207,241,96,63,214,20,97,63,197,55,97,63,155,90,97,63,90,125,97,63,1,160,97,63,144,194,97,63,8,229,97,63,103,7,98,63,174,41,98,63,221,75,98,63,245,109,98,63,244,143,98,63,220,177,98,63,171,211,98,63,99,245,98,63,3,23,99,63,139,56,99,63,251,89,99,63,83,123,99,63,147,156,99,63,188,189,99,63,204,222,99,63,197,255,99,63,166,32,100,63,110,65,100,63,32,98,100,63,185,130,100,63,58,163,100,63,164,195,100,63,245,227,100,63,47,4,101,63,82,36,101,63,92,68,101,63,78,100,101,63,41,132,101,63,236,163,101,63,151,195,101,63,43,227,101,63,167,2,102,63,11,34,102,63,87,65,102,63,139,96,102,63,168,127,102,63,174,158,102,63,155,189,102,63,113,220,102,63,47,251,102,63,214,25,103,63,101,56,103,63,220,86,103,63,59,117,103,63,132,147,103,63,180,177,103,63,205,207,103,63,206,237,103,63,184,11,104,63,138,41,104,63,69,71,104,63,233,100,104,63,116,130,104,63,233,159,104,63,69,189,104,63,139,218,104,63,185,247,104,63,207,20,105,63,207,49,105,63,182,78,105,63,135,107,105,63,64,136,105,63,225,164,105,63,108,193,105,63,223,221,105,63,59,250,105,63,127,22,106,63,172,50,106,63,195,78,106,63,193,106,106,63,169,134,106,63,121,162,106,63,51,190,106,63,213,217,106,63,96,245,106,63,212,16,107,63,48,44,107,63,118,71,107,63,165,98,107,63,188,125,107,63,189,152,107,63,167,179,107,63,121,206,107,63,53,233,107,63,218,3,108,63,104,30,108,63,223,56,108,63,63,83,108,63,136,109,108,63,187,135,108,63,214,161,108,63,219,187,108,63,201,213,108,63,161,239,108,63,97,9,109,63,11,35,109,63,159,60,109,63,27,86,109,63,129,111,109,63,209,136,109,63,9,162,109,63,44,187,109,63,56,212,109,63,45,237,109,63,12,6,110,63,212,30,110,63,134,55,110,63,33,80,110,63,166,104,110,63,21,129,110,63,110,153,110,63,176,177,110,63,220,201,110,63,241,225,110,63,241,249,110,63,218,17,111,63,173,41,111,63,106,65,111,63,16,89,111,63,161,112,111,63,28,136,111,63,128,159,111,63,207,182,111,63,7,206,111,63,42,229,111,63,54,252,111,63,45,19,112,63,14,42,112,63,217,64,112,63,142,87,112,63,46,110,112,63,184,132,112,63,43,155,112,63,138,177,112,63,210,199,112,63,5,222,112,63,35,244,112,63,42,10,113,63,29,32,113,63,249,53,113,63,193,75,113,63,114,97,113,63,15,119,113,63,150,140,113,63,7,162,113,63,99,183,113,63,170,204,113,63,220,225,113,63,249,246,113,63,0,12,114,63,242,32,114,63,207,53,114,63,151,74,114,63,73,95,114,63,231,115,114,63,112,136,114,63,227,156,114,63,66,177,114,63,140,197,114,63,193,217,114,63,225,237,114,63,236,1,115,63,227,21,115,63,197,41,115,63,146,61,115,63,74,81,115,63,238,100,115,63,125,120,115,63,248,139,115,63,94,159,115,63,175,178,115,63,236,197,115,63,21,217,115,63,41,236,115,63,41,255,115,63,21,18,116,63,236,36,116,63,175,55,116,63,94,74,116,63,248,92,116,63,127,111,116,63,241,129,116,63,80,148,116,63,154,166,116,63,208,184,116,63,242,202,116,63,1,221,116,63,251,238,116,63,226,0,117,63,181,18,117,63,116,36,117,63,31,54,117,63,183,71,117,63,59,89,117,63,171,106,117,63,8,124,117,63,81,141,117,63,135,158,117,63,169,175,117,63,184,192,117,63,179,209,117,63,155,226,117,63,112,243,117,63,50,4,118,63,224,20,118,63,123,37,118,63,3,54,118,63,120,70,118,63,217,86,118,63,40,103,118,63,100,119,118,63,140,135,118,63,162,151,118,63,165,167,118,63,149,183,118,63,114,199,118,63,61,215,118,63,245,230,118,63,154,246,118,63,44,6,119,63,172,21,119,63,26,37,119,63,117,52,119,63,189,67,119,63,243,82,119,63,22,98,119,63,40,113,119,63,39,128,119,63,19,143,119,63,238,157,119,63,182,172,119,63,108,187,119,63,16,202,119,63,162,216,119,63,34,231,119,63,144,245,119,63,236,3,120,63,55,18,120,63,111,32,120,63,150,46,120,63,170,60,120,63,174,74,120,63,159,88,120,63,127,102,120,63,77,116,120,63,10,130,120,63,181,143,120,63,79,157,120,63,215,170,120,63,78,184,120,63,180,197,120,63,8,211,120,63,76,224,120,63,126,237,120,63,158,250,120,63,174,7,121,63,173,20,121,63,155,33,121,63,119,46,121,63,67,59,121,63,254,71,121,63,168,84,121,63,66,97,121,63,202,109,121,63,66,122,121,63,169,134,121,63,0,147,121,63,70,159,121,63,124,171,121,63,161,183,121,63,181,195,121,63,186,207,121,63,173,219,121,63,145,231,121,63,100,243,121,63,40,255,121,63,219,10,122,63,126,22,122,63,16,34,122,63,147,45,122,63,6,57,122,63,105,68,122,63,188,79,122,63,255,90,122,63,51,102,122,63,86,113,122,63,106,124,122,63,111,135,122,63,99,146,122,63,72,157,122,63,30,168,122,63,228,178,122,63,155,189,122,63,66,200,122,63,218,210,122,63,99,221,122,63,221,231,122,63,71,242,122,63,162,252,122,63,238,6,123,63,43,17,123,63,89,27,123,63,120,37,123,63,137,47,123,63,138,57,123,63,124,67,123,63,96,77,123,63,53,87,123,63,252,96,123,63,179,106,123,63,92,116,123,63,247,125,123,63,131,135,123,63,1,145,123,63,112,154,123,63,209,163,123,63,36,173,123,63,104,182,123,63,158,191,123,63,198,200,123,63,224,209,123,63,236,218,123,63,234,227,123,63,218,236,123,63,188,245,123,63,144,254,123,63,86,7,124,63,14,16,124,63,185,24,124,63,86,33,124,63,230,41,124,63,104,50,124,63,220,58,124,63,67,67,124,63,156,75,124,63,232,83,124,63,39,92,124,63,88,100,124,63,124,108,124,63,147,116,124,63,157,124,124,63,153,132,124,63,137,140,124,63,107,148,124,63,65,156,124,63,9,164,124,63,197,171,124,63,116,179,124,63,22,187,124,63,172,194,124,63,52,202,124,63,176,209,124,63,32,217,124,63,131,224,124,63,217,231,124,63,35,239,124,63,97,246,124,63,146,253,124,63,183,4,125,63,208,11,125,63,221,18,125,63,221,25,125,63,209,32,125,63,185,39,125,63,150,46,125,63,102,53,125,63,42,60,125,63,227,66,125,63,143,73,125,63,48,80,125,63,197,86,125,63,78,93,125,63,204,99,125,63,62,106,125,63,165,112,125,63,0,119,125,63,80,125,125,63,148,131,125,63,205,137,125,63,251,143,125,63,29,150,125,63,52,156,125,63,64,162,125,63,65,168,125,63,55,174,125,63,34,180,125,63,2,186,125,63,215,191,125,63,161,197,125,63,96,203,125,63,21,209,125,63,190,214,125,63,93,220,125,63,242,225,125,63,124,231,125,63,251,236,125,63,112,242,125,63,218,247,125,63,58,253,125,63,143,2,126,63,219,7,126,63,28,13,126,63,82,18,126,63,127,23,126,63,161,28,126,63,186,33,126,63,200,38,126,63,204,43,126,63,199,48,126,63,183,53,126,63,158,58,126,63,123,63,126,63,78,68,126,63,23,73,126,63,215,77,126,63,141,82,126,63,58,87,126,63,221,91,126,63,118,96,126,63,6,101,126,63,141,105,126,63,10,110,126,63,126,114,126,63,233,118,126,63,75,123,126,63,164,127,126,63,243,131,126,63,57,136,126,63,119,140,126,63,171,144,126,63,214,148,126,63,249,152,126,63,18,157,126,63,35,161,126,63,44,165,126,63,43,169,126,63,34,173,126,63,16,177,126,63,246,180,126,63,211,184,126,63,167,188,126,63,115,192,126,63,55,196,126,63,243,199,126,63,166,203,126,63,81,207,126,63,243,210,126,63,142,214,126,63,32,218,126,63,171,221,126,63,45,225,126,63,167,228,126,63,26,232,126,63,132,235,126,63,231,238,126,63,66,242,126,63,149,245,126,63,224,248,126,63,36,252,126,63,96,255,126,63,148,2,127,63,193,5,127,63,230,8,127,63,4,12,127,63,27,15,127,63,42,18,127,63,50,21,127,63,50,24,127,63,43,27,127,63,29,30,127,63,8,33,127,63,236,35,127,63,201,38,127,63,158,41,127,63,109,44,127,63,53,47,127,63,246,49,127,63,175,52,127,63,99,55,127,63,15,58,127,63,181,60,127,63,83,63,127,63,236,65,127,63,125,68,127,63,8,71,127,63,141,73,127,63,11,76,127,63,131,78,127,63,244,80,127,63,95,83,127,63,195,85,127,63,33,88,127,63,121,90,127,63,203,92,127,63,23,95,127,63,92,97,127,63,155,99,127,63,213,101,127,63,8,104,127,63,54,106,127,63,93,108,127,63,127,110,127,63,155,112,127,63,177,114,127,63,193,116,127,63,203,118,127,63,208,120,127,63,207,122,127,63,201,124,127,63,189,126,127,63,171,128,127,63,148,130,127,63,120,132,127,63,86,134,127,63,47,136,127,63,2,138,127,63,209,139,127,63,153,141,127,63,93,143,127,63,28,145,127,63,213,146,127,63,137,148,127,63,57,150,127,63,227,151,127,63,136,153,127,63,40,155,127,63,196,156,127,63,90,158,127,63,236,159,127,63,121,161,127,63,1,163,127,63,132,164,127,63,3,166,127,63,125,167,127,63,242,168,127,63,99,170,127,63,207,171,127,63,55,173,127,63,154,174,127,63,249,175,127,63,84,177,127,63,170,178,127,63,251,179,127,63,73,181,127,63,146,182,127,63,215,183,127,63,24,185,127,63,85,186,127,63,141,187,127,63,193,188,127,63,242,189,127,63,30,191,127,63,71,192,127,63,107,193,127,63,140,194,127,63,168,195,127,63,193,196,127,63,214,197,127,63,231,198,127,63,245,199,127,63,255,200,127,63,5,202,127,63,7,203,127,63,6,204,127,63,1,205,127,63,249,205,127,63,237,206,127,63,222,207,127,63,203,208,127,63,181,209,127,63,156,210,127,63,127,211,127,63,95,212,127,63,59,213,127,63,20,214,127,63,234,214,127,63,189,215,127,63,141,216,127,63,90,217,127,63,35,218,127,63,233,218,127,63,173,219,127,63,109,220,127,63,43,221,127,63,229,221,127,63,156,222,127,63,81,223,127,63,3,224,127,63,178,224,127,63,94,225,127,63,7,226,127,63,174,226,127,63,82,227,127,63,243,227,127,63,146,228,127,63,46,229,127,63,199,229,127,63,94,230,127,63,242,230,127,63,132,231,127,63,19,232,127,63,160,232,127,63,42,233,127,63,178,233,127,63,56,234,127,63,187,234,127,63,60,235,127,63,187,235,127,63,55,236,127,63,177,236,127,63,41,237,127,63,159,237,127,63,18,238,127,63,132,238,127,63,243,238,127,63,96,239,127,63,204,239,127,63,53,240,127,63,156,240,127,63,1,241,127,63,101,241,127,63,198,241,127,63,37,242,127,63,131,242,127,63,222,242,127,63,56,243,127,63,144,243,127,63,231,243,127,63,59,244,127,63,142,244,127,63,223,244,127,63,46,245,127,63,124,245,127,63,200,245,127,63,19,246,127,63,91,246,127,63,163,246,127,63,233,246,127,63,45,247,127,63,111,247,127,63,177,247,127,63,240,247,127,63,47,248,127,63,108,248,127,63,167,248,127,63,225,248,127,63,26,249,127,63,82,249,127,63,136,249,127,63,188,249,127,63,240,249,127,63,34,250,127,63,83,250,127,63,131,250,127,63,178,250,127,63,224,250,127,63,12,251,127,63,55,251,127,63,97,251,127,63,138,251,127,63,178,251,127,63,217,251,127,63,255,251,127,63,36,252,127,63,72,252,127,63,107,252,127,63,141,252,127,63,173,252,127,63,205,252,127,63,237,252,127,63,11,253,127,63,40,253,127,63,69,253,127,63,96,253,127,63,123,253,127,63,149,253,127,63,174,253,127,63,199,253,127,63,222,253,127,63,245,253,127,63,12,254,127,63,33,254,127,63,54,254,127,63,74,254,127,63,93,254,127,63,112,254,127,63,130,254,127,63,148,254,127,63,165,254,127,63,181,254,127,63,197,254,127,63,212,254,127,63,227,254,127,63,241,254,127,63,254,254,127,63,11,255,127,63,24,255,127,63,36,255,127,63,47,255,127,63,59,255,127,63,69,255,127,63,79,255,127,63,89,255,127,63,99,255,127,63,108,255,127,63,116,255,127,63,124,255,127,63,132,255,127,63,140,255,127,63,147,255,127,63,154,255,127,63,160,255,127,63,166,255,127,63,172,255,127,63,178,255,127,63,183,255,127,63,188,255,127,63,193,255,127,63,197,255,127,63,202,255,127,63,206,255,127,63,209,255,127,63,213,255,127,63,216,255,127,63,220,255,127,63,223,255,127,63,225,255,127,63,228,255,127,63,230,255,127,63,233,255,127,63,235,255,127,63,237,255,127,63,239,255,127,63,240,255,127,63,242,255,127,63,243,255,127,63,245,255,127,63,246,255,127,63,247,255,127,63,248,255,127,63,249,255,127,63,250,255,127,63,251,255,127,63,251,255,127,63,252,255,127,63,252,255,127,63,253,255,127,63,253,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,198,63,120,51,98,136,11,53,151,200,193,53,80,233,61,54,183,247,156,54,46,124,234,54,153,192,35,55,244,2,90,55,56,3,140,55,227,228,174,55,177,166,213,55,108,36,0,56,146,101,23,56,201,150,48,56,18,184,75,56,81,201,104,56,94,229,131,56,29,94,148,56,229,206,165,56,167,55,184,56,128,152,203,56,85,241,223,56,36,66,245,56,126,197,5,57,238,101,17,57,99,130,29,57,207,26,42,57,63,47,55,57,179,191,68,57,30,204,82,57,141,84,97,57,243,88,112,57,94,217,127,57,227,234,135,57,18,39,144,57,64,161,152,57,105,89,161,57,146,79,170,57,181,131,179,57,215,245,188,57,245,165,198,57,14,148,208,57,34,192,218,57,46,42,229,57,57,210,239,57,60,184,250,57,27,238,2,58,22,159,8,58,13,111,14,58,0,94,20,58,239,107,26,58,218,152,32,58,192,228,38,58,161,79,45,58,124,217,51,58,83,130,58,58,37,74,65,58,240,48,72,58,182,54,79,58,116,91,86,58,45,159,93,58,222,1,101,58,136,131,108,58,42,36,116,58,196,227,123,58,44,225,129,58,241,223,133,58,49,238,137,58,238,11,142,58,37,57,146,58,215,117,150,58,5,194,154,58,174,29,159,58,209,136,163,58,110,3,168,58,134,141,172,58,24,39,177,58,36,208,181,58,169,136,186,58,169,80,191,58,33,40,196,58,19,15,201,58,126,5,206,58,98,11,211,58,191,32,216,58,148,69,221,58,225,121,226,58,166,189,231,58,227,16,237,58,152,115,242,58,196,229,247,58,103,103,253,58,65,124,1,59,137,76,4,59,141,36,7,59,76,4,10,59,198,235,12,59,251,218,15,59,235,209,18,59,149,208,21,59,251,214,24,59,26,229,27,59,244,250,30,59,136,24,34,59,215,61,37,59,223,106,40,59,161,159,43,59,29,220,46,59,83,32,50,59,66,108,53,59,234,191,56,59,76,27,60,59,103,126,63,59,59,233,66,59,199,91,70,59,12,214,73,59,10,88,77,59,193,225,80,59,48,115,84,59,86,12,88,59,53,173,91,59,204,85,95,59,26,6,99,59,32,190,102,59,222,125,106,59,82,69,110,59,127,20,114,59,97,235,117,59,251,201,121,59,76,176,125,59,41,207,128,59,8,202,130,59,194,200,132,59,87,203,134,59,198,209,136,59,17,220,138,59,55,234,140,59,55,252,142,59,18,18,145,59,199,43,147,59,87,73,149,59,194,106,151,59,6,144,153,59,37,185,155,59,30,230,157,59,241,22,160,59,158,75,162,59,37,132,164,59,134,192,166,59,192,0,169,59,212,68,171,59,193,140,173,59,137,216,175,59,41,40,178,59,163,123,180,59,245,210,182,59,33,46,185,59,38,141,187,59,4,240,189,59,186,86,192,59,73,193,194,59,177,47,197,59,242,161,199,59,10,24,202,59,251,145,204,59,196,15,207,59,102,145,209,59,223,22,212,59,49,160,214,59,90,45,217,59,91,190,219,59,51,83,222,59,227,235,224,59,107,136,227,59,201,40,230,59,255,204,232,59,12,117,235,59,240,32,238,59,171,208,240,59,61,132,243,59,165,59,246,59,228,246,248,59,250,181,251,59,229,120,254,59,212,159,0,60,32,5,2,60,87,108,3,60,121,213,4,60,134,64,6,60,126,173,7,60,96,28,9,60,45,141,10,60,229,255,11,60,136,116,13,60,21,235,14,60,141,99,16,60,239,221,17,60,59,90,19,60,114,216,20,60,147,88,22,60,158,218,23,60,147,94,25,60,115,228,26,60,60,108,28,60,240,245,29,60,141,129,31,60,20,15,33,60,133,158,34,60,224,47,36,60,36,195,37,60,82,88,39,60,105,239,40,60,106,136,42,60,84,35,44,60,40,192,45,60,229,94,47,60,139,255,48,60,26,162,50,60,146,70,52,60,243,236,53,60,61,149,55,60,112,63,57,60,140,235,58,60,145,153,60,60,126,73,62,60,84,251,63,60,18,175,65,60,185,100,67,60,72,28,69,60,192,213,70,60,31,145,72,60,103,78,74,60,151,13,76,60,175,206,77,60,176,145,79,60,152,86,81,60,103,29,83,60,31,230,84,60,190,176,86,60,69,125,88,60,179,75,90,60,9,28,92,60,71,238,93,60,107,194,95,60,119,152,97,60,106,112,99,60,68,74,101,60,5,38,103,60,173,3,105,60,60,227,106,60,178,196,108,60,14,168,110,60,81,141,112,60,123,116,114,60,139,93,116,60,130,72,118,60,95,53,120,60,34,36,122,60,203,20,124,60,90,7,126,60,208,251,127,60,22,249,128,60,54,245,129,60,74,242,130,60,80,240,131,60,73,239,132,60,53,239,133,60,19,240,134,60,229,241,135,60,169,244,136,60,95,248,137,60,8,253,138,60,164,2,140,60,50,9,141,60,178,16,142,60,37,25,143,60,139,34,144,60,226,44,145,60,44,56,146,60,104,68,147,60,150,81,148,60,182,95,149,60,201,110,150,60,205,126,151,60,196,143,152,60,172,161,153,60,135,180,154,60,83,200,155,60,17,221,156,60,193,242,157,60,98,9,159,60,245,32,160,60,122,57,161,60,241,82,162,60,89,109,163,60,178,136,164,60,253,164,165,60,57,194,166,60,103,224,167,60,134,255,168,60,151,31,170,60,152,64,171,60,139,98,172,60,111,133,173,60,68,169,174,60,10,206,175,60,193,243,176,60,105,26,178,60,2,66,179,60,139,106,180,60,6,148,181,60,113,190,182,60,205,233,183,60,26,22,185,60,87,67,186,60,133,113,187,60,163,160,188,60,177,208,189,60,177,1,191,60,160,51,192,60,128,102,193,60,80,154,194,60,16,207,195,60,193,4,197,60,97,59,198,60,242,114,199,60,114,171,200,60,227,228,201,60,67,31,203,60,147,90,204,60,211,150,205,60,3,212,206,60,34,18,208,60,49,81,209,60,48,145,210,60,30,210,211,60,252,19,213,60,201,86,214,60,133,154,215,60,49,223,216,60,204,36,218,60,86,107,219,60,208,178,220,60,56,251,221,60,144,68,223,60,214,142,224,60,12,218,225,60,48,38,227,60,67,115,228,60,69,193,229,60,54,16,231,60,21,96,232,60,227,176,233,60,160,2,235,60,75,85,236,60,228,168,237,60,108,253,238,60,226,82,240,60,70,169,241,60,153,0,243,60,218,88,244,60,8,178,245,60,37,12,247,60,48,103,248,60,41,195,249,60,15,32,251,60,228,125,252,60,166,220,253,60,85,60,255,60,121,78,0,61,63,255,0,61,123,176,1,61,46,98,2,61,88,20,3,61,248,198,3,61,15,122,4,61,156,45,5,61,161,225,5,61,27,150,6,61,12,75,7,61,116,0,8,61,82,182,8,61,167,108,9,61,113,35,10,61,179,218,10,61,106,146,11,61,152,74,12,61,60,3,13,61,87,188,13,61,231,117,14,61,238,47,15,61,107,234,15,61,94,165,16,61,199,96,17,61,166,28,18,61,251,216,18,61,198,149,19,61,7,83,20,61,190,16,21,61,234,206,21,61,141,141,22,61,165,76,23,61,52,12,24,61,56,204,24,61,177,140,25,61,161,77,26,61,6,15,27,61,224,208,27,61,48,147,28,61,246,85,29,61,49,25,30,61,226,220,30,61,8,161,31,61,164,101,32,61,181,42,33,61,59,240,33,61,55,182,34,61,168,124,35,61,142,67,36,61,233,10,37,61,186,210,37,61,255,154,38,61,186,99,39,61,234,44,40,61,143,246,40,61,168,192,41,61,55,139,42,61,59,86,43,61,180,33,44,61,161,237,44,61,4,186,45,61,219,134,46,61,38,84,47,61,231,33,48,61,28,240,48,61,198,190,49,61,229,141,50,61,120,93,51,61,127,45,52,61,251,253,52,61,236,206,53,61,81,160,54,61,42,114,55,61,120,68,56,61,58,23,57,61,112,234,57,61,27,190,58,61,58,146,59,61,204,102,60,61,211,59,61,61,79,17,62,61,62,231,62,61,161,189,63,61,120,148,64,61,195,107,65,61,130,67,66,61,181,27,67,61,92,244,67,61,118,205,68,61,4,167,69,61,6,129,70,61,124,91,71,61,101,54,72,61,194,17,73,61,146,237,73,61,214,201,74,61,141,166,75,61,184,131,76,61,86,97,77,61,104,63,78,61,236,29,79,61,229,252,79,61,80,220,80,61,46,188,81,61,128,156,82,61,69,125,83,61,125,94,84,61,40,64,85,61,69,34,86,61,214,4,87,61,218,231,87,61,81,203,88,61,58,175,89,61,150,147,90,61,101,120,91,61,167,93,92,61,91,67,93,61,130,41,94,61,28,16,95,61,40,247,95,61,167,222,96,61,152,198,97,61,251,174,98,61,209,151,99,61,25,129,100,61,212,106,101,61,0,85,102,61,159,63,103,61,176,42,104,61,51,22,105,61,41,2,106,61,144,238,106,61,105,219,107,61,180,200,108,61,113,182,109,61,160,164,110,61,65,147,111,61,84,130,112,61,216,113,113,61,206,97,114,61,54,82,115,61,15,67,116,61,89,52,117,61,22,38,118,61,67,24,119,61,226,10,120,61,243,253,120,61,117,241,121,61,104,229,122,61,204,217,123,61,162,206,124,61,232,195,125,61,160,185,126,61,201,175,127,61,49,83,128,61,183,206,128,61,117,74,129,61,107,198,129,61,154,66,130,61,1,191,130,61,160,59,131,61,120,184,131,61,136,53,132,61,209,178,132,61,81,48,133,61,10,174,133,61,251,43,134,61,37,170,134,61,134,40,135,61,32,167,135,61,242,37,136,61,252,164,136,61,62,36,137,61,184,163,137,61,106,35,138,61,84,163,138,61,118,35,139,61,209,163,139,61,99,36,140,61,45,165,140,61,46,38,141,61,104,167,141,61,218,40,142,61,131,170,142,61,100,44,143,61,125,174,143,61,206,48,144,61,86,179,144,61,23,54,145,61,14,185,145,61,62,60,146,61,165,191,146,61,67,67,147,61,26,199,147,61,39,75,148,61,109,207,148,61,234,83,149,61,158,216,149,61,138,93,150,61,173,226,150,61,7,104,151,61,153,237,151,61,98,115,152,61,99,249,152,61,155,127,153,61,10,6,154,61,176,140,154,61,142,19,155,61,163,154,155,61,239,33,156,61,114,169,156,61,44,49,157,61,29,185,157,61,69,65,158,61,165,201,158,61,59,82,159,61,8,219,159,61,13,100,160,61,72,237,160,61,186,118,161,61,99,0,162,61,67,138,162,61,90,20,163,61,167,158,163,61,43,41,164,61,230,179,164,61,216,62,165,61,0,202,165,61,95,85,166,61,245,224,166,61,193,108,167,61,196,248,167,61,254,132,168,61,110,17,169,61,20,158,169,61,241,42,170,61,4,184,170,61,78,69,171,61,206,210,171,61,133,96,172,61,113,238,172,61,149,124,173,61,238,10,174,61,126,153,174,61,67,40,175,61,63,183,175,61,114,70,176,61,218,213,176,61,120,101,177,61,77,245,177,61,88,133,178,61,152,21,179,61,15,166,179,61,187,54,180,61,158,199,180,61,182,88,181,61,4,234,181,61,137,123,182,61,67,13,183,61,50,159,183,61,88,49,184,61,179,195,184,61,68,86,185,61,11,233,185,61,7,124,186,61,57,15,187,61,160,162,187,61,61,54,188,61,16,202,188,61,24,94,189,61,85,242,189,61,200,134,190,61,112,27,191,61,78,176,191,61,97,69,192,61,170,218,192,61,39,112,193,61,218,5,194,61,194,155,194,61,224,49,195,61,50,200,195,61,186,94,196,61,119,245,196,61,104,140,197,61,143,35,198,61,235,186,198,61,124,82,199,61,66,234,199,61,61,130,200,61,108,26,201,61,209,178,201,61,106,75,202,61,57,228,202,61,59,125,203,61,115,22,204,61,224,175,204,61,129,73,205,61,86,227,205,61,97,125,206,61,159,23,207,61,19,178,207,61,187,76,208,61,151,231,208,61,168,130,209,61,237,29,210,61,103,185,210,61,21,85,211,61,248,240,211,61,14,141,212,61,89,41,213,61,216,197,213,61,140,98,214,61,115,255,214,61,143,156,215,61,223,57,216,61,99,215,216,61,27,117,217,61,7,19,218,61,38,177,218,61,122,79,219,61,2,238,219,61,189,140,220,61,173,43,221,61,208,202,221,61,39,106,222,61,178,9,223,61,112,169,223,61,98,73,224,61,136,233,224,61,226,137,225,61,111,42,226,61,47,203,226,61,35,108,227,61,74,13,228,61,165,174,228,61,52,80,229,61,245,241,229,61,234,147,230,61,19,54,231,61,110,216,231,61,253,122,232,61,191,29,233,61,180,192,233,61,221,99,234,61,56,7,235,61,199,170,235,61,136,78,236,61,125,242,236,61,164,150,237,61,255,58,238,61,140,223,238,61,76,132,239,61,63,41,240,61,101,206,240,61,189,115,241,61,73,25,242,61,7,191,242,61,247,100,243,61,26,11,244,61,112,177,244,61,248,87,245,61,179,254,245,61,160,165,246,61,192,76,247,61,18,244,247,61,151,155,248,61,77,67,249,61,55,235,249,61,82,147,250,61,159,59,251,61,31,228,251,61,209,140,252,61,181,53,253,61,203,222,253,61,19,136,254,61,141,49,255,61,57,219,255,61,140,66,0,62,148,151,0,62,181,236,0,62,238,65,1,62,65,151,1,62,173,236,1,62,49,66,2,62,206,151,2,62,132,237,2,62,83,67,3,62,59,153,3,62,59,239,3,62,84,69,4,62,134,155,4,62,209,241,4,62,52,72,5,62,176,158,5,62,68,245,5,62,242,75,6,62,183,162,6,62,150,249,6,62,141,80,7,62,156,167,7,62,196,254,7,62,5,86,8,62,94,173,8,62,207,4,9,62,89,92,9,62,252,179,9,62,183,11,10,62,138,99,10,62,118,187,10,62,122,19,11,62,150,107,11,62,203,195,11,62,24,28,12,62,125,116,12,62,250,204,12,62,144,37,13,62,62,126,13,62,4,215,13,62,227,47,14,62,217,136,14,62,232,225,14,62,15,59,15,62,78,148,15,62,165,237,15,62,20,71,16,62,155,160,16,62,58,250,16,62,241,83,17,62,193,173,17,62,168,7,18,62,167,97,18,62,190,187,18,62,237,21,19,62,51,112,19,62,146,202,19,62,9,37,20,62,151,127,20,62,61,218,20,62,251,52,21,62,209,143,21,62,190,234,21,62,195,69,22,62,224,160,22,62,21,252,22,62,97,87,23,62,197,178,23,62,64,14,24,62,211,105,24,62,126,197,24,62,64,33,25,62,26,125,25,62,11,217,25,62,20,53,26,62,52,145,26,62,108,237,26,62,187,73,27,62,34,166,27,62,160,2,28,62,53,95,28,62,226,187,28,62,166,24,29,62,129,117,29,62,116,210,29,62,126,47,30,62,159,140,30,62,215,233,30,62,39,71,31,62,141,164,31,62,11,2,32,62,160,95,32,62,76,189,32,62,16,27,33,62,234,120,33,62,219,214,33,62,228,52,34,62,3,147,34,62,58,241,34,62,135,79,35,62,235,173,35,62,103,12,36,62,249,106,36,62,162,201,36,62,98,40,37,62,56,135,37,62,38,230,37,62,42,69,38,62,69,164,38,62,119,3,39,62,192,98,39,62,31,194,39,62,149,33,40,62,33,129,40,62,197,224,40,62,126,64,41,62,79,160,41,62,54,0,42,62,51,96,42,62,72,192,42,62,114,32,43,62,179,128,43,62,11,225,43,62,121,65,44,62,253,161,44,62,152,2,45,62,73,99,45,62,16,196,45,62,238,36,46,62,226,133,46,62,237,230,46,62,13,72,47,62,68,169,47,62,145,10,48,62,245,107,48,62,110,205,48,62,254,46,49,62,163,144,49,62,95,242,49,62,49,84,50,62,25,182,50,62,23,24,51,62,43,122,51,62,85,220,51,62,148,62,52,62,234,160,52,62,86,3,53,62,216,101,53,62,111,200,53,62,28,43,54,62,223,141,54,62,184,240,54,62,167,83,55,62,171,182,55,62,197,25,56,62,245,124,56,62,59,224,56,62,150,67,57,62,7,167,57,62,141,10,58,62,41,110,58,62,219,209,58,62,162,53,59,62,126,153,59,62,112,253,59,62,120,97,60,62,149,197,60,62,199,41,61,62,15,142,61,62,108,242,61,62,222,86,62,62,102,187,62,62,3,32,63,62,181,132,63,62,125,233,63,62,90,78,64,62,75,179,64,62,83,24,65,62,111,125,65,62,160,226,65,62,231,71,66,62,66,173,66,62,179,18,67,62,57,120,67,62,211,221,67,62,131,67,68,62,71,169,68,62,33,15,69,62,15,117,69,62,18,219,69,62,42,65,70,62,87,167,70,62,153,13,71,62,240,115,71,62,91,218,71,62,219,64,72,62,111,167,72,62,25,14,73,62,215,116,73,62,169,219,73,62,144,66,74,62,140,169,74,62,157,16,75,62,193,119,75,62,251,222,75,62,73,70,76,62,171,173,76,62,34,21,77,62,173,124,77,62,76,228,77,62,0,76,78,62,200,179,78,62,164,27,79,62,149,131,79,62,154,235,79,62,179,83,80,62,225,187,80,62,34,36,81,62,120,140,81,62,225,244,81,62,95,93,82,62,241,197,82,62,151,46,83,62,81,151,83,62,31,0,84,62,1,105,84,62,247,209,84,62,0,59,85,62,30,164,85,62,79,13,86,62,149,118,86,62,238,223,86,62,91,73,87,62,219,178,87,62,112,28,88,62,24,134,88,62,211,239,88,62,163,89,89,62,134,195,89,62,124,45,90,62,134,151,90,62,164,1,91,62,213,107,91,62,26,214,91,62,114,64,92,62,221,170,92,62,92,21,93,62,239,127,93,62,148,234,93,62,77,85,94,62,26,192,94,62,249,42,95,62,236,149,95,62,242,0,96,62,11,108,96,62,55,215,96,62,119,66,97,62,202,173,97,62,47,25,98,62,168,132,98,62,52,240,98,62,210,91,99,62,132,199,99,62,73,51,100,62,32,159,100,62,11,11,101,62,8,119,101,62,24,227,101,62,59,79,102,62,113,187,102,62,186,39,103,62,21,148,103,62,131,0,104,62,3,109,104,62,151,217,104,62,60,70,105,62,245,178,105,62,192,31,106,62,157,140,106,62,141,249,106,62,144,102,107,62,165,211,107,62,204,64,108,62,6,174,108,62,82,27,109,62,176,136,109,62,33,246,109,62,164,99,110,62,57,209,110,62,225,62,111,62,154,172,111,62,102,26,112,62,68,136,112,62,52,246,112,62,55,100,113,62,75,210,113,62,113,64,114,62,169,174,114,62,243,28,115,62,80,139,115,62,190,249,115,62,61,104,116,62,207,214,116,62,115,69,117,62,40,180,117,62,239,34,118,62,200,145,118,62,179,0,119,62,175,111,119,62,189,222,119,62,221,77,120,62,14,189,120,62,80,44,121,62,165,155,121,62,10,11,122,62,130,122,122,62,10,234,122,62,164,89,123,62,80,201,123,62,13,57,124,62,219,168,124,62,186,24,125,62,171,136,125,62,173,248,125,62,192,104,126,62,228,216,126,62,26,73,127,62,96,185,127,62,220,20,128,62,16,77,128,62,77,133,128,62,147,189,128,62,225,245,128,62,55,46,129,62,150,102,129,62,253,158,129,62,109,215,129,62,229,15,130,62,102,72,130,62,238,128,130,62,128,185,130,62,25,242,130,62,187,42,131,62,102,99,131,62,24,156,131,62,211,212,131,62,150,13,132,62,98,70,132,62,53,127,132,62,17,184,132,62,245,240,132,62,226,41,133,62,214,98,133,62,211,155,133,62,216,212,133,62,229,13,134,62,250,70,134,62,23,128,134,62,61,185,134,62,106,242,134,62,160,43,135,62,221,100,135,62,35,158,135,62,112,215,135,62,198,16,136,62,35,74,136,62,137,131,136,62,247,188,136,62,108,246,136,62,233,47,137,62,111,105,137,62,252,162,137,62,145,220,137,62,46,22,138,62,211,79,138,62,127,137,138,62,52,195,138,62,240,252,138,62,180,54,139,62,128,112,139,62,84,170,139,62,47,228,139,62,18,30,140,62,253,87,140,62,239,145,140,62,233,203,140,62,235,5,141,62,245,63,141,62,6,122,141,62,31,180,141,62,63,238,141,62,103,40,142,62],"i8",N3,F.GLOBAL_BASE+530936),E3([150,98,142,62,205,156,142,62,12,215,142,62,82,17,143,62,159,75,143,62,245,133,143,62,81,192,143,62,181,250,143,62,33,53,144,62,147,111,144,62,14,170,144,62,143,228,144,62,25,31,145,62,169,89,145,62,65,148,145,62,224,206,145,62,134,9,146,62,52,68,146,62,233,126,146,62,165,185,146,62,105,244,146,62,52,47,147,62,6,106,147,62,223,164,147,62,191,223,147,62,167,26,148,62,150,85,148,62,139,144,148,62,136,203,148,62,140,6,149,62,152,65,149,62,170,124,149,62,195,183,149,62,227,242,149,62,11,46,150,62,57,105,150,62,111,164,150,62,171,223,150,62,238,26,151,62,56,86,151,62,138,145,151,62,226,204,151,62,65,8,152,62,167,67,152,62,19,127,152,62,135,186,152,62,1,246,152,62,130,49,153,62,10,109,153,62,153,168,153,62,47,228,153,62,203,31,154,62,110,91,154,62,24,151,154,62,200,210,154,62,127,14,155,62,61,74,155,62,2,134,155,62,205,193,155,62,158,253,155,62,119,57,156,62,85,117,156,62,59,177,156,62,39,237,156,62,25,41,157,62,18,101,157,62,18,161,157,62,24,221,157,62,36,25,158,62,55,85,158,62,80,145,158,62,112,205,158,62,150,9,159,62,195,69,159,62,246,129,159,62,47,190,159,62,111,250,159,62,180,54,160,62,1,115,160,62,83,175,160,62,172,235,160,62,11,40,161,62,112,100,161,62,219,160,161,62,77,221,161,62,196,25,162,62,66,86,162,62,198,146,162,62,81,207,162,62,225,11,163,62,119,72,163,62,20,133,163,62,182,193,163,62,95,254,163,62,13,59,164,62,194,119,164,62,125,180,164,62,61,241,164,62,4,46,165,62,208,106,165,62,162,167,165,62,123,228,165,62,89,33,166,62,61,94,166,62,39,155,166,62,23,216,166,62,12,21,167,62,7,82,167,62,8,143,167,62,15,204,167,62,28,9,168,62,46,70,168,62,70,131,168,62,100,192,168,62,136,253,168,62,177,58,169,62,223,119,169,62,20,181,169,62,78,242,169,62,141,47,170,62,211,108,170,62,29,170,170,62,109,231,170,62,195,36,171,62,31,98,171,62,127,159,171,62,230,220,171,62,81,26,172,62,194,87,172,62,57,149,172,62,181,210,172,62,54,16,173,62,189,77,173,62,73,139,173,62,218,200,173,62,113,6,174,62,13,68,174,62,174,129,174,62,85,191,174,62,0,253,174,62,177,58,175,62,103,120,175,62,35,182,175,62,227,243,175,62,169,49,176,62,116,111,176,62,68,173,176,62,25,235,176,62,243,40,177,62,210,102,177,62,182,164,177,62,160,226,177,62,142,32,178,62,129,94,178,62,121,156,178,62,119,218,178,62,121,24,179,62,128,86,179,62,140,148,179,62,157,210,179,62,178,16,180,62,205,78,180,62,236,140,180,62,16,203,180,62,57,9,181,62,103,71,181,62,154,133,181,62,209,195,181,62,13,2,182,62,78,64,182,62,147,126,182,62,221,188,182,62,44,251,182,62,127,57,183,62,215,119,183,62,52,182,183,62,149,244,183,62,251,50,184,62,101,113,184,62,212,175,184,62,71,238,184,62,191,44,185,62,59,107,185,62,188,169,185,62,65,232,185,62,202,38,186,62,88,101,186,62,235,163,186,62,129,226,186,62,28,33,187,62,188,95,187,62,95,158,187,62,7,221,187,62,180,27,188,62,100,90,188,62,25,153,188,62,210,215,188,62,143,22,189,62,80,85,189,62,22,148,189,62,223,210,189,62,173,17,190,62,127,80,190,62,85,143,190,62,47,206,190,62,13,13,191,62,239,75,191,62,213,138,191,62,191,201,191,62,173,8,192,62,159,71,192,62,149,134,192,62,143,197,192,62,141,4,193,62,143,67,193,62,148,130,193,62,158,193,193,62,171,0,194,62,188,63,194,62,209,126,194,62,234,189,194,62,6,253,194,62,38,60,195,62,74,123,195,62,113,186,195,62,157,249,195,62,204,56,196,62,254,119,196,62,52,183,196,62,110,246,196,62,171,53,197,62,236,116,197,62,49,180,197,62,121,243,197,62,196,50,198,62,19,114,198,62,102,177,198,62,188,240,198,62,21,48,199,62,114,111,199,62,210,174,199,62,54,238,199,62,157,45,200,62,7,109,200,62,117,172,200,62,230,235,200,62,90,43,201,62,209,106,201,62,76,170,201,62,202,233,201,62,75,41,202,62,208,104,202,62,88,168,202,62,226,231,202,62,112,39,203,62,1,103,203,62,149,166,203,62,45,230,203,62,199,37,204,62,100,101,204,62,4,165,204,62,168,228,204,62,78,36,205,62,248,99,205,62,164,163,205,62,83,227,205,62,5,35,206,62,186,98,206,62,114,162,206,62,45,226,206,62,234,33,207,62,171,97,207,62,110,161,207,62,52,225,207,62,253,32,208,62,200,96,208,62,150,160,208,62,103,224,208,62,59,32,209,62,17,96,209,62,234,159,209,62,198,223,209,62,164,31,210,62,133,95,210,62,104,159,210,62,78,223,210,62,55,31,211,62,33,95,211,62,15,159,211,62,255,222,211,62,241,30,212,62,230,94,212,62,221,158,212,62,215,222,212,62,211,30,213,62,209,94,213,62,210,158,213,62,213,222,213,62,219,30,214,62,226,94,214,62,236,158,214,62,248,222,214,62,7,31,215,62,24,95,215,62,42,159,215,62,63,223,215,62,87,31,216,62,112,95,216,62,139,159,216,62,169,223,216,62,200,31,217,62,234,95,217,62,14,160,217,62,51,224,217,62,91,32,218,62,133,96,218,62,176,160,218,62,222,224,218,62,13,33,219,62,63,97,219,62,114,161,219,62,167,225,219,62,222,33,220,62,23,98,220,62,82,162,220,62,142,226,220,62,204,34,221,62,12,99,221,62,78,163,221,62,146,227,221,62,215,35,222,62,29,100,222,62,102,164,222,62,176,228,222,62,252,36,223,62,73,101,223,62,152,165,223,62,232,229,223,62,58,38,224,62,142,102,224,62,227,166,224,62,57,231,224,62,145,39,225,62,234,103,225,62,69,168,225,62,161,232,225,62,255,40,226,62,94,105,226,62,190,169,226,62,32,234,226,62,131,42,227,62,231,106,227,62,76,171,227,62,179,235,227,62,27,44,228,62,132,108,228,62,238,172,228,62,90,237,228,62,199,45,229,62,52,110,229,62,163,174,229,62,19,239,229,62,133,47,230,62,247,111,230,62,106,176,230,62,222,240,230,62,83,49,231,62,202,113,231,62,65,178,231,62,185,242,231,62,50,51,232,62,172,115,232,62,38,180,232,62,162,244,232,62,31,53,233,62,156,117,233,62,26,182,233,62,153,246,233,62,25,55,234,62,153,119,234,62,26,184,234,62,156,248,234,62,31,57,235,62,162,121,235,62,38,186,235,62,170,250,235,62,47,59,236,62,181,123,236,62,59,188,236,62,194,252,236,62,73,61,237,62,209,125,237,62,89,190,237,62,226,254,237,62,107,63,238,62,245,127,238,62,127,192,238,62,10,1,239,62,149,65,239,62,32,130,239,62,171,194,239,62,55,3,240,62,196,67,240,62,80,132,240,62,221,196,240,62,106,5,241,62,247,69,241,62,132,134,241,62,18,199,241,62,160,7,242,62,45,72,242,62,187,136,242,62,74,201,242,62,216,9,243,62,102,74,243,62,244,138,243,62,131,203,243,62,17,12,244,62,159,76,244,62,46,141,244,62,188,205,244,62,74,14,245,62,216,78,245,62,102,143,245,62,244,207,245,62,129,16,246,62,15,81,246,62,156,145,246,62,41,210,246,62,182,18,247,62,67,83,247,62,207,147,247,62,91,212,247,62,231,20,248,62,115,85,248,62,254,149,248,62,136,214,248,62,19,23,249,62,157,87,249,62,38,152,249,62,175,216,249,62,56,25,250,62,192,89,250,62,72,154,250,62,207,218,250,62,86,27,251,62,220,91,251,62,97,156,251,62,230,220,251,62,106,29,252,62,238,93,252,62,113,158,252,62,243,222,252,62,117,31,253,62,245,95,253,62,118,160,253,62,245,224,253,62,116,33,254,62,241,97,254,62,110,162,254,62,235,226,254,62,102,35,255,62,224,99,255,62,90,164,255,62,211,228,255,62,165,18,0,63,225,50,0,63,27,83,0,63,86,115,0,63,144,147,0,63,201,179,0,63,2,212,0,63,58,244,0,63,114,20,1,63,169,52,1,63,224,84,1,63,22,117,1,63,76,149,1,63,129,181,1,63,181,213,1,63,233,245,1,63,28,22,2,63,78,54,2,63,128,86,2,63,178,118,2,63,226,150,2,63,18,183,2,63,65,215,2,63,112,247,2,63,157,23,3,63,203,55,3,63,247,87,3,63,35,120,3,63,78,152,3,63,120,184,3,63,161,216,3,63,202,248,3,63,242,24,4,63,25,57,4,63,63,89,4,63,101,121,4,63,137,153,4,63,173,185,4,63,208,217,4,63,243,249,4,63,20,26,5,63,52,58,5,63,84,90,5,63,115,122,5,63,145,154,5,63,173,186,5,63,202,218,5,63,229,250,5,63,255,26,6,63,24,59,6,63,48,91,6,63,72,123,6,63,94,155,6,63,116,187,6,63,136,219,6,63,155,251,6,63,174,27,7,63,191,59,7,63,208,91,7,63,223,123,7,63,237,155,7,63,250,187,7,63,7,220,7,63,18,252,7,63,28,28,8,63,37,60,8,63,44,92,8,63,51,124,8,63,57,156,8,63,61,188,8,63,64,220,8,63,67,252,8,63,68,28,9,63,68,60,9,63,66,92,9,63,64,124,9,63,60,156,9,63,55,188,9,63,49,220,9,63,41,252,9,63,33,28,10,63,23,60,10,63,12,92,10,63,255,123,10,63,242,155,10,63,227,187,10,63,211,219,10,63,193,251,10,63,174,27,11,63,154,59,11,63,133,91,11,63,110,123,11,63,86,155,11,63,60,187,11,63,33,219,11,63,5,251,11,63,231,26,12,63,200,58,12,63,168,90,12,63,134,122,12,63,98,154,12,63,62,186,12,63,23,218,12,63,240,249,12,63,199,25,13,63,156,57,13,63,112,89,13,63,66,121,13,63,19,153,13,63,227,184,13,63,176,216,13,63,125,248,13,63,72,24,14,63,17,56,14,63,216,87,14,63,159,119,14,63,99,151,14,63,38,183,14,63,232,214,14,63,167,246,14,63,101,22,15,63,34,54,15,63,221,85,15,63,150,117,15,63,78,149,15,63,4,181,15,63,184,212,15,63,106,244,15,63,27,20,16,63,202,51,16,63,120,83,16,63,36,115,16,63,206,146,16,63,118,178,16,63,28,210,16,63,193,241,16,63,100,17,17,63,6,49,17,63,165,80,17,63,67,112,17,63,223,143,17,63,121,175,17,63,17,207,17,63,167,238,17,63,60,14,18,63,206,45,18,63,95,77,18,63,238,108,18,63,123,140,18,63,7,172,18,63,144,203,18,63,23,235,18,63,157,10,19,63,32,42,19,63,162,73,19,63,34,105,19,63,159,136,19,63,27,168,19,63,149,199,19,63,13,231,19,63,131,6,20,63,247,37,20,63,104,69,20,63,216,100,20,63,70,132,20,63,178,163,20,63,27,195,20,63,131,226,20,63,233,1,21,63,76,33,21,63,174,64,21,63,13,96,21,63,106,127,21,63,197,158,21,63,31,190,21,63,117,221,21,63,202,252,21,63,29,28,22,63,109,59,22,63,188,90,22,63,8,122,22,63,82,153,22,63,153,184,22,63,223,215,22,63,34,247,22,63,100,22,23,63,162,53,23,63,223,84,23,63,26,116,23,63,82,147,23,63,136,178,23,63,187,209,23,63,237,240,23,63,28,16,24,63,73,47,24,63,115,78,24,63,155,109,24,63,193,140,24,63,228,171,24,63,6,203,24,63,36,234,24,63,65,9,25,63,91,40,25,63,115,71,25,63,136,102,25,63,155,133,25,63,171,164,25,63,185,195,25,63,197,226,25,63,206,1,26,63,213,32,26,63,217,63,26,63,219,94,26,63,218,125,26,63,215,156,26,63,210,187,26,63,202,218,26,63,191,249,26,63,178,24,27,63,162,55,27,63,144,86,27,63,123,117,27,63,100,148,27,63,74,179,27,63,46,210,27,63,15,241,27,63,237,15,28,63,201,46,28,63,162,77,28,63,121,108,28,63,77,139,28,63,31,170,28,63,237,200,28,63,185,231,28,63,131,6,29,63,74,37,29,63,14,68,29,63,207,98,29,63,142,129,29,63,74,160,29,63,3,191,29,63,186,221,29,63,110,252,29,63,31,27,30,63,205,57,30,63,121,88,30,63,34,119,30,63,200,149,30,63,107,180,30,63,12,211,30,63,170,241,30,63,69,16,31,63,221,46,31,63,114,77,31,63,5,108,31,63,148,138,31,63,33,169,31,63,171,199,31,63,50,230,31,63,182,4,32,63,56,35,32,63,182,65,32,63,50,96,32,63,170,126,32,63,32,157,32,63,147,187,32,63,3,218,32,63,112,248,32,63,218,22,33,63,65,53,33,63,165,83,33,63,6,114,33,63,100,144,33,63,191,174,33,63,23,205,33,63,108,235,33,63,190,9,34,63,13,40,34,63,89,70,34,63,162,100,34,63,232,130,34,63,43,161,34,63,107,191,34,63,167,221,34,63,225,251,34,63,24,26,35,63,75,56,35,63,123,86,35,63,168,116,35,63,211,146,35,63,249,176,35,63,29,207,35,63,62,237,35,63,91,11,36,63,118,41,36,63,141,71,36,63,161,101,36,63,177,131,36,63,191,161,36,63,201,191,36,63,208,221,36,63,212,251,36,63,213,25,37,63,210,55,37,63,204,85,37,63,195,115,37,63,183,145,37,63,167,175,37,63,148,205,37,63,126,235,37,63,101,9,38,63,72,39,38,63,40,69,38,63,4,99,38,63,221,128,38,63,179,158,38,63,134,188,38,63,85,218,38,63,33,248,38,63,233,21,39,63,174,51,39,63,112,81,39,63,46,111,39,63,233,140,39,63,160,170,39,63,84,200,39,63,4,230,39,63,178,3,40,63,91,33,40,63,1,63,40,63,164,92,40,63,67,122,40,63,223,151,40,63,120,181,40,63,12,211,40,63,158,240,40,63,43,14,41,63,182,43,41,63,60,73,41,63,192,102,41,63,63,132,41,63,187,161,41,63,52,191,41,63,169,220,41,63,26,250,41,63,136,23,42,63,242,52,42,63,89,82,42,63,188,111,42,63,28,141,42,63,119,170,42,63,208,199,42,63,36,229,42,63,117,2,43,63,194,31,43,63,12,61,43,63,82,90,43,63,148,119,43,63,211,148,43,63,14,178,43,63,69,207,43,63,120,236,43,63,168,9,44,63,212,38,44,63,252,67,44,63,33,97,44,63,66,126,44,63,95,155,44,63,120,184,44,63,142,213,44,63,159,242,44,63,173,15,45,63,184,44,45,63,190,73,45,63,193,102,45,63,191,131,45,63,186,160,45,63,177,189,45,63,165,218,45,63,148,247,45,63,128,20,46,63,103,49,46,63,75,78,46,63,43,107,46,63,7,136,46,63,224,164,46,63,180,193,46,63,132,222,46,63,81,251,46,63,26,24,47,63,222,52,47,63,159,81,47,63,92,110,47,63,21,139,47,63,202,167,47,63,123,196,47,63,40,225,47,63,209,253,47,63,118,26,48,63,23,55,48,63,180,83,48,63,77,112,48,63,226,140,48,63,115,169,48,63,0,198,48,63,137,226,48,63,14,255,48,63,142,27,49,63,11,56,49,63,132,84,49,63,248,112,49,63,105,141,49,63,214,169,49,63,62,198,49,63,162,226,49,63,2,255,49,63,95,27,50,63,182,55,50,63,10,84,50,63,90,112,50,63,166,140,50,63,237,168,50,63,48,197,50,63,111,225,50,63,170,253,50,63,225,25,51,63,19,54,51,63,66,82,51,63,108,110,51,63,146,138,51,63,180,166,51,63,209,194,51,63,234,222,51,63,0,251,51,63,16,23,52,63,29,51,52,63,37,79,52,63,41,107,52,63,41,135,52,63,37,163,52,63,28,191,52,63,15,219,52,63,253,246,52,63,232,18,53,63,206,46,53,63,176,74,53,63,141,102,53,63,102,130,53,63,59,158,53,63,11,186,53,63,215,213,53,63,159,241,53,63,98,13,54,63,33,41,54,63,220,68,54,63,146,96,54,63,68,124,54,63,241,151,54,63,154,179,54,63,63,207,54,63,223,234,54,63,123,6,55,63,18,34,55,63,165,61,55,63,52,89,55,63,190,116,55,63,67,144,55,63,196,171,55,63,65,199,55,63,185,226,55,63,45,254,55,63,156,25,56,63,7,53,56,63,109,80,56,63,207,107,56,63,44,135,56,63,133,162,56,63,217,189,56,63,40,217,56,63,115,244,56,63,186,15,57,63,252,42,57,63,57,70,57,63,114,97,57,63,166,124,57,63,214,151,57,63,1,179,57,63,40,206,57,63,74,233,57,63,103,4,58,63,128,31,58,63,148,58,58,63,163,85,58,63,174,112,58,63,180,139,58,63,182,166,58,63,179,193,58,63,171,220,58,63,159,247,58,63,142,18,59,63,120,45,59,63,94,72,59,63,63,99,59,63,27,126,59,63,243,152,59,63,197,179,59,63,148,206,59,63,93,233,59,63,34,4,60,63,226,30,60,63,157,57,60,63,84,84,60,63,5,111,60,63,178,137,60,63,91,164,60,63,254,190,60,63,157,217,60,63,55,244,60,63,204,14,61,63,93,41,61,63,232,67,61,63,111,94,61,63,241,120,61,63,110,147,61,63,231,173,61,63,91,200,61,63,201,226,61,63,51,253,61,63,152,23,62,63,249,49,62,63,84,76,62,63,171,102,62,63,252,128,62,63,73,155,62,63,145,181,62,63,212,207,62,63,19,234,62,63,76,4,63,63,128,30,63,63,176,56,63,63,219,82,63,63,0,109,63,63,33,135,63,63,61,161,63,63,84,187,63,63,102,213,63,63,115,239,63,63,123,9,64,63,127,35,64,63,125,61,64,63,118,87,64,63,106,113,64,63,90,139,64,63,68,165,64,63,42,191,64,63,10,217,64,63,229,242,64,63,188,12,65,63,141,38,65,63,90,64,65,63,33,90,65,63,228,115,65,63,161,141,65,63,89,167,65,63,13,193,65,63,187,218,65,63,100,244,65,63,8,14,66,63,167,39,66,63,65,65,66,63,214,90,66,63,102,116,66,63,241,141,66,63,119,167,66,63,248,192,66,63,115,218,66,63,234,243,66,63,91,13,67,63,199,38,67,63,47,64,67,63,145,89,67,63,238,114,67,63,69,140,67,63,152,165,67,63,230,190,67,63,46,216,67,63,113,241,67,63,175,10,68,63,232,35,68,63,28,61,68,63,75,86,68,63,116,111,68,63,153,136,68,63,184,161,68,63,210,186,68,63,230,211,68,63,246,236,68,63,0,6,69,63,5,31,69,63,5,56,69,63,0,81,69,63,245,105,69,63,230,130,69,63,209,155,69,63,182,180,69,63,151,205,69,63,114,230,69,63,72,255,69,63,25,24,70,63,229,48,70,63,171,73,70,63,108,98,70,63,40,123,70,63,222,147,70,63,143,172,70,63,59,197,70,63,226,221,70,63,131,246,70,63,31,15,71,63,182,39,71,63,71,64,71,63,211,88,71,63,90,113,71,63,220,137,71,63,88,162,71,63,207,186,71,63,64,211,71,63,172,235,71,63,19,4,72,63,116,28,72,63,209,52,72,63,39,77,72,63,121,101,72,63,197,125,72,63,11,150,72,63,77,174,72,63,137,198,72,63,191,222,72,63,240,246,72,63,28,15,73,63,66,39,73,63,99,63,73,63,127,87,73,63,149,111,73,63,166,135,73,63,177,159,73,63,183,183,73,63,183,207,73,63,178,231,73,63,168,255,73,63,152,23,74,63,131,47,74,63,104,71,74,63,72,95,74,63,34,119,74,63,247,142,74,63,199,166,74,63,145,190,74,63,85,214,74,63,20,238,74,63,206,5,75,63,130,29,75,63,49,53,75,63,218,76,75,63,126,100,75,63,28,124,75,63,181,147,75,63,72,171,75,63,213,194,75,63,93,218,75,63,224,241,75,63,93,9,76,63,213,32,76,63,71,56,76,63,179,79,76,63,26,103,76,63,124,126,76,63,216,149,76,63,46,173,76,63,127,196,76,63,202,219,76,63,16,243,76,63,80,10,77,63,139,33,77,63,192,56,77,63,240,79,77,63,26,103,77,63,62,126,77,63,93,149,77,63,118,172,77,63,137,195,77,63,151,218,77,63,160,241,77,63,163,8,78,63,160,31,78,63,151,54,78,63,137,77,78,63,118,100,78,63,93,123,78,63,62,146,78,63,25,169,78,63,239,191,78,63,192,214,78,63,138,237,78,63,79,4,79,63,15,27,79,63,201,49,79,63,125,72,79,63,43,95,79,63,212,117,79,63,119,140,79,63,21,163,79,63,172,185,79,63,63,208,79,63,203,230,79,63,82,253,79,63,211,19,80,63,79,42,80,63,197,64,80,63,53,87,80,63,159,109,80,63,4,132,80,63,99,154,80,63,189,176,80,63,16,199,80,63,94,221,80,63,167,243,80,63,233,9,81,63,38,32,81,63,93,54,81,63,143,76,81,63,187,98,81,63,225,120,81,63,1,143,81,63,28,165,81,63,48,187,81,63,64,209,81,63,73,231,81,63,77,253,81,63,75,19,82,63,67,41,82,63,53,63,82,63,34,85,82,63,9,107,82,63,234,128,82,63,198,150,82,63,155,172,82,63,107,194,82,63,53,216,82,63,250,237,82,63,185,3,83,63,113,25,83,63,37,47,83,63,210,68,83,63,121,90,83,63,27,112,83,63,183,133,83,63,77,155,83,63,222,176,83,63,104,198,83,63,237,219,83,63,108,241,83,63,230,6,84,63,89,28,84,63,199,49,84,63,46,71,84,63,145,92,84,63,237,113,84,63,67,135,84,63,148,156,84,63,223,177,84,63,35,199,84,63,99,220,84,63,156,241,84,63,207,6,85,63,253,27,85,63,37,49,85,63,71,70,85,63,99,91,85,63,121,112,85,63,138,133,85,63,149,154,85,63,153,175,85,63,152,196,85,63,146,217,85,63,133,238,85,63,114,3,86,63,90,24,86,63,60,45,86,63,24,66,86,63,238,86,86,63,190,107,86,63,136,128,86,63,76,149,86,63,11,170,86,63,196,190,86,63,118,211,86,63,35,232,86,63,203,252,86,63,108,17,87,63,7,38,87,63,156,58,87,63,44,79,87,63,182,99,87,63,58,120,87,63,183,140,87,63,47,161,87,63,162,181,87,63,14,202,87,63,116,222,87,63,213,242,87,63,47,7,88,63,132,27,88,63,211,47,88,63,28,68,88,63,95,88,88,63,156,108,88,63,211,128,88,63,4,149,88,63,47,169,88,63,85,189,88,63,116,209,88,63,142,229,88,63,162,249,88,63,175,13,89,63,183,33,89,63,185,53,89,63,181,73,89,63,171,93,89,63,155,113,89,63,134,133,89,63,106,153,89,63,72,173,89,63,33,193,89,63,243,212,89,63,192,232,89,63,135,252,89,63,71,16,90,63,2,36,90,63,183,55,90,63,102,75,90,63,15,95,90,63,178,114,90,63,79,134,90,63,230,153,90,63,119,173,90,63,3,193,90,63,136,212,90,63,7,232,90,63,129,251,90,63,244,14,91,63,98,34,91,63,201,53,91,63,43,73,91,63,135,92,91,63,220,111,91,63,44,131,91,63,118,150,91,63,186,169,91,63,248,188,91,63,47,208,91,63,97,227,91,63,141,246,91,63,179,9,92,63,212,28,92,63,238,47,92,63,2,67,92,63,16,86,92,63,24,105,92,63,26,124,92,63,23,143,92,63,13,162,92,63,253,180,92,63,232,199,92,63,204,218,92,63,171,237,92,63,131,0,93,63,86,19,93,63,34,38,93,63,233,56,93,63,169,75,93,63,100,94,93,63,24,113,93,63,199,131,93,63,112,150,93,63,18,169,93,63,175,187,93,63,70,206,93,63,215,224,93,63,97,243,93,63,230,5,94,63,101,24,94,63,222,42,94,63,81,61,94,63,190,79,94,63,36,98,94,63,133,116,94,63,224,134,94,63,53,153,94,63,132,171,94,63,205,189,94,63,16,208,94,63,77,226,94,63,132,244,94,63,181,6,95,63,224,24,95,63,5,43,95,63,36,61,95,63,61,79,95,63,80,97,95,63,93,115,95,63,101,133,95,63,102,151,95,63,97,169,95,63,86,187,95,63,69,205,95,63,46,223,95,63,18,241,95,63,239,2,96,63,198,20,96,63,151,38,96,63,98,56,96,63,40,74,96,63,231,91,96,63,160,109,96,63,84,127,96,63,1,145,96,63,168,162,96,63,73,180,96,63,229,197,96,63,122,215,96,63,10,233,96,63,147,250,96,63,22,12,97,63,148,29,97,63,11,47,97,63,125,64,97,63,232,81,97,63,77,99,97,63,173,116,97,63,6,134,97,63,90,151,97,63,167,168,97,63,239,185,97,63,48,203,97,63,108,220,97,63,162,237,97,63,209,254,97,63,251,15,98,63,30,33,98,63,60,50,98,63,84,67,98,63,101,84,98,63,113,101,98,63,119,118,98,63,119,135,98,63,112,152,98,63,100,169,98,63,82,186,98,63,58,203,98,63,28,220,98,63,247,236,98,63,205,253,98,63,157,14,99,63,103,31,99,63,43,48,99,63,233,64,99,63,161,81,99,63,83,98,99,63,255,114,99,63,165,131,99,63,69,148,99,63,224,164,99,63,116,181,99,63,2,198,99,63,138,214,99,63,13,231,99,63,137,247,99,63,255,7,100,63,112,24,100,63,218,40,100,63,62,57,100,63,157,73,100,63,246,89,100,63,72,106,100,63,149,122,100,63,219,138,100,63,28,155,100,63,87,171,100,63,140,187,100,63,186,203,100,63,227,219,100,63,6,236,100,63,35,252,100,63,58,12,101,63,75,28,101,63,86,44,101,63,91,60,101,63,91,76,101,63,84,92,101,63,71,108,101,63,53,124,101,63,28,140,101,63,254,155,101,63,217,171,101,63,175,187,101,63,126,203,101,63,72,219,101,63,12,235,101,63,202,250,101,63,130,10,102,63,52,26,102,63,224,41,102,63,134,57,102,63,38,73,102,63,193,88,102,63,85,104,102,63,227,119,102,63,108,135,102,63,238,150,102,63,107,166,102,63,226,181,102,63,83,197,102,63,190,212,102,63,35,228,102,63,130,243,102,63,219,2,103,63,46,18,103,63,124,33,103,63,195,48,103,63,5,64,103,63,64,79,103,63,118,94,103,63,166,109,103,63,208,124,103,63,244,139,103,63,18,155,103,63,42,170,103,63,61,185,103,63,73,200,103,63,80,215,103,63,80,230,103,63,75,245,103,63,64,4,104,63,47,19,104,63,24,34,104,63,251,48,104,63,217,63,104,63,176,78,104,63,130,93,104,63,78,108,104,63,20,123,104,63,212,137,104,63,142,152,104,63,66,167,104,63,240,181,104,63,153,196,104,63,60,211,104,63,217,225,104,63,112,240,104,63,1,255,104,63,140,13,105,63,17,28,105,63,145,42,105,63,11,57,105,63,127,71,105,63,237,85,105,63,85,100,105,63,183,114,105,63,20,129,105,63,106,143,105,63,187,157,105,63,6,172,105,63,75,186,105,63,139,200,105,63,196,214,105,63,248,228,105,63,38,243,105,63,78,1,106,63,112,15,106,63,141,29,106,63,163,43,106,63,180,57,106,63,191,71,106,63,196,85,106,63,196,99,106,63,189,113,106,63,177,127,106,63,159,141,106,63,135,155,106,63,106,169,106,63,70,183,106,63,29,197,106,63,238,210,106,63,186,224,106,63,127,238,106,63,63,252,106,63,249,9,107,63,173,23,107,63,91,37,107,63,4,51,107,63,167,64,107,63,68,78,107,63,219,91,107,63,109,105,107,63,249,118,107,63,127,132,107,63,255,145,107,63,122,159,107,63,238,172,107,63,94,186,107,63,199,199,107,63,42,213,107,63,136,226,107,63,224,239,107,63,51,253,107,63,128,10,108,63,198,23,108,63,8,37,108,63,67,50,108,63,121,63,108,63,169,76,108,63,211,89,108,63,248,102,108,63,23,116,108,63,48,129,108,63,68,142,108,63,82,155,108,63,90,168,108,63,92,181,108,63,89,194,108,63,80,207,108,63,65,220,108,63,45,233,108,63,19,246,108,63,243,2,109,63,206,15,109,63,163,28,109,63,114,41,109,63,60,54,109,63,0,67,109,63,190,79,109,63,119,92,109,63,42,105,109,63,215,117,109,63,127,130,109,63,33,143,109,63,189,155,109,63,84,168,109,63,229,180,109,63,113,193,109,63,247,205,109,63,119,218,109,63,242,230,109,63,103,243,109,63,214,255,109,63,64,12,110,63,164,24,110,63,3,37,110,63,91,49,110,63,175,61,110,63,253,73,110,63,69,86,110,63,135,98,110,63,196,110,110,63,252,122,110,63,45,135,110,63,90,147,110,63,128,159,110,63,161,171,110,63,189,183,110,63,211,195,110,63,227,207,110,63,238,219,110,63,243,231,110,63,243,243,110,63,237,255,110,63,226,11,111,63,209,23,111,63,186,35,111,63,158,47,111,63,125,59,111,63,85,71,111,63,41,83,111,63,247,94,111,63,191,106,111,63,130,118,111,63,63,130,111,63,247,141,111,63,169,153,111,63,86,165,111,63,253,176,111,63,159,188,111,63,59,200,111,63,210,211,111,63,99,223,111,63,239,234,111,63,117,246,111,63,246,1,112,63,114,13,112,63,231,24,112,63,88,36,112,63,195,47,112,63,40,59,112,63,137,70,112,63,227,81,112,63,56,93,112,63,136,104,112,63,210,115,112,63,23,127,112,63,87,138,112,63,145,149,112,63,197,160,112,63,244,171,112,63,30,183,112,63,66,194,112,63,97,205,112,63,123,216,112,63,143,227,112,63,157,238,112,63,167,249,112,63,171,4,113,63,169,15,113,63,162,26,113,63,150,37,113,63,132,48,113,63,109,59,113,63,81,70,113,63,47,81,113,63,8,92,113,63,219,102,113,63,170,113,113,63,114,124,113,63,54,135,113,63,244,145,113,63,173,156,113,63,96,167,113,63,14,178,113,63,183,188,113,63,91,199,113,63,249,209,113,63,146,220,113,63,37,231,113,63,179,241,113,63,60,252,113,63,192,6,114,63,62,17,114,63,183,27,114,63,43,38,114,63,154,48,114,63,3,59,114,63,103,69,114,63,197,79,114,63,31,90,114,63,115,100,114,63,194,110,114,63,11,121,114,63,79,131,114,63,143,141,114,63,200,151,114,63,253,161,114,63,44,172,114,63,87,182,114,63,123,192,114,63,155,202,114,63,182,212,114,63,203,222,114,63,219,232,114,63,230,242,114,63,235,252,114,63,236,6,115,63,231,16,115,63,221,26,115,63,206,36,115,63,186,46,115,63,160,56,115,63,130,66,115,63,94,76,115,63,53,86,115,63,7,96,115,63,212,105,115,63,155,115,115,63,94,125,115,63,27,135,115,63,211,144,115,63,134,154,115,63,52,164,115,63,221,173,115,63,128,183,115,63,31,193,115,63,184,202,115,63,77,212,115,63,220,221,115,63,102,231,115,63,235,240,115,63,107,250,115,63,230,3,116,63,92,13,116,63,204,22,116,63,56,32,116,63,159,41,116,63,0,51,116,63,93,60,116,63,180,69,116,63,6,79,116,63,84,88,116,63,156,97,116,63,223,106,116,63,29,116,116,63,87,125,116,63,139,134,116,63,186,143,116,63,228,152,116,63,9,162,116,63,41,171,116,63,68,180,116,63,91,189,116,63,108,198,116,63,120,207,116,63,127,216,116,63,129,225,116,63,127,234,116,63,119,243,116,63,106,252,116,63,89,5,117,63,66,14,117,63,38,23,117,63,6,32,117,63,225,40,117,63,182,49,117,63,135,58,117,63,83,67,117,63,26,76,117,63,220,84,117,63,153,93,117,63,81,102,117,63,4,111,117,63,179,119,117,63,92,128,117,63,1,137,117,63,160,145,117,63,59,154,117,63,209,162,117,63,98,171,117,63,239,179,117,63,118,188,117,63,249,196,117,63,118,205,117,63,239,213,117,63,99,222,117,63,210,230,117,63,61,239,117,63,162,247,117,63,3,0,118,63,95,8,118,63,182,16,118,63,8,25,118,63,86,33,118,63,159,41,118,63,227,49,118,63,34,58,118,63,92,66,118,63,146,74,118,63,195,82,118,63,239,90,118,63,22,99,118,63,57,107,118,63,86,115,118,63,112,123,118,63,132,131,118,63,148,139,118,63,158,147,118,63,165,155,118,63,166,163,118,63,163,171,118,63,155,179,118,63,142,187,118,63,125,195,118,63,103,203,118,63,76,211,118,63,45,219,118,63,9,227,118,63,224,234,118,63,178,242,118,63,128,250,118,63,74,2,119,63,14,10,119,63,206,17,119,63,137,25,119,63,64,33,119,63,242,40,119,63,160,48,119,63,72,56,119,63,237,63,119,63,140,71,119,63,39,79,119,63,190,86,119,63,79,94,119,63,220,101,119,63,101,109,119,63,233,116,119,63,105,124,119,63,228,131,119,63,90,139,119,63,204,146,119,63,57,154,119,63,162,161,119,63,6,169,119,63,101,176,119,63,192,183,119,63,23,191,119,63,105,198,119,63,182,205,119,63,255,212,119,63,68,220,119,63,132,227,119,63,191,234,119,63,246,241,119,63,41,249,119,63,87,0,120,63,129,7,120,63,166,14,120,63,198,21,120,63,227,28,120,63,250,35,120,63,14,43,120,63,28,50,120,63,39,57,120,63,45,64,120,63,46,71,120,63,44,78,120,63,36,85,120,63,25,92,120,63,9,99,120,63,244,105,120,63,219,112,120,63,190,119,120,63,156,126,120,63,118,133,120,63,76,140,120,63,29,147,120,63,234,153,120,63,179,160,120,63,119,167,120,63,55,174,120,63,242,180,120,63,169,187,120,63,92,194,120,63,11,201,120,63,181,207,120,63,91,214,120,63,252,220,120,63,154,227,120,63,51,234,120,63,199,240,120,63,88,247,120,63,228,253,120,63,108,4,121,63,240,10,121,63,111,17,121,63,234,23,121,63,97,30,121,63,211,36,121,63,66,43,121,63,172,49,121,63,18,56,121,63,116,62,121,63,209,68,121,63,42,75,121,63,127,81,121,63,208,87,121,63,29,94,121,63,101,100,121,63,170,106,121,63,234,112,121,63,38,119,121,63,93,125,121,63,145,131,121,63,193,137,121,63,236,143,121,63,19,150,121,63,54,156,121,63,85,162,121,63,112,168,121,63,134,174,121,63,153,180,121,63,167,186,121,63,178,192,121,63,184,198,121,63,186,204,121,63,184,210,121,63,178,216,121,63,168,222,121,63,154,228,121,63,135,234,121,63,113,240,121,63,87,246,121,63,56,252,121,63,22,2,122,63,239,7,122,63,197,13,122,63,150,19,122,63,100,25,122,63,45,31,122,63,243,36,122,63,180,42,122,63,113,48,122,63,43,54,122,63,224,59,122,63,146,65,122,63,63,71,122,63,233,76,122,63,142,82,122,63,48,88,122,63,206,93,122,63,103,99,122,63,253,104,122,63,143,110,122,63,29,116,122,63,167,121,122,63,45,127,122,63,175,132,122,63,45,138,122,63,168,143,122,63,30,149,122,63,145,154,122,63,255,159,122,63,106,165,122,63,209,170,122,63,52,176,122,63,147,181,122,63,239,186,122,63,70,192,122,63,154,197,122,63,234,202,122,63,54,208,122,63,126,213,122,63,194,218,122,63,3,224,122,63,64,229,122,63,121,234,122,63,174,239,122,63,223,244,122,63,13,250,122,63,55,255,122,63,93,4,123,63,127,9,123,63,157,14,123,63,184,19,123,63,207,24,123,63,227,29,123,63,242,34,123,63,254,39,123,63,6,45,123,63,10,50,123,63,11,55,123,63,8,60,123,63,1,65,123,63,247,69,123,63,233,74,123,63,215,79,123,63,193,84,123,63,168,89,123,63,139,94,123,63,107,99,123,63,71,104,123,63,31,109,123,63,243,113,123,63,196,118,123,63,146,123,123,63,91,128,123,63,33,133,123,63,228,137,123,63,163,142,123,63,94,147,123,63,22,152,123,63,202,156,123,63,122,161,123,63,39,166,123,63,208,170,123,63,118,175,123,63,24,180,123,63,183,184,123,63,82,189,123,63,233,193,123,63,125,198,123,63,14,203,123,63,155,207,123,63,36,212,123,63,170,216,123,63,45,221,123,63,172,225,123,63,39,230,123,63,159,234,123,63,19,239,123,63,132,243,123,63,242,247,123,63,92,252,123,63,195,0,124,63,38,5,124,63,133,9,124,63,226,13,124,63,58,18,124,63,144,22,124,63,226,26,124,63,48,31,124,63,123,35,124,63,195,39,124,63,7,44,124,63,72,48,124,63,134,52,124,63,192,56,124,63,247,60,124,63,42,65,124,63,90,69,124,63,135,73,124,63,176,77,124,63,214,81,124,63,249,85,124,63,24,90,124,63,52,94,124,63,77,98,124,63,98,102,124,63,116,106,124,63,131,110,124,63,142,114,124,63,150,118,124,63,155,122,124,63,157,126,124,63,155,130,124,63,150,134,124,63,142,138,124,63,130,142,124,63,116,146,124,63,98,150,124,63,77,154,124,63,52,158,124,63,24,162,124,63,249,165,124,63,215,169,124,63,178,173,124,63,137,177,124,63,94,181,124,63,47,185,124,63,253,188,124,63,199,192,124,63,143,196,124,63,83,200,124,63,20,204,124,63,211,207,124,63,141,211,124,63,69,215,124,63,250,218,124,63,171,222,124,63,90,226,124,63,5,230,124,63,173,233,124,63,82,237,124,63,244,240,124,63,147,244,124,63,46,248,124,63,199,251,124,63,93,255,124,63,239,2,125,63,127,6,125,63,11,10,125,63,148,13,125,63,27,17,125,63,158,20,125,63,30,24,125,63,155,27,125,63,21,31,125,63,140,34,125,63,0,38,125,63,114,41,125,63,224,44,125,63,75,48,125,63,179,51,125,63,24,55,125,63,122,58,125,63,217,61,125,63,54,65,125,63,143,68,125,63,229,71,125,63,56,75,125,63,137,78,125,63,214,81,125,63,33,85,125,63,104,88,125,63,173,91,125,63,239,94,125,63,46,98,125,63,106,101,125,63,163,104,125,63,217,107,125,63,12,111,125,63,61,114,125,63,106,117,125,63,149,120,125,63,189,123,125,63,226,126,125,63,4,130,125,63,36,133,125,63,64,136,125,63,90,139,125,63,112,142,125,63,133,145,125,63,150,148,125,63,164,151,125,63,176,154,125,63,185,157,125,63,191,160,125,63,194,163,125,63,194,166,125,63,192,169,125,63,187,172,125,63,179,175,125,63,168,178,125,63,155,181,125,63,139,184,125,63,120,187,125,63,99,190,125,63,74,193,125,63,48,196,125,63,18,199,125,63,241,201,125,63,206,204,125,63,169,207,125,63,128,210,125,63,85,213,125,63,39,216,125,63,247,218,125,63,196,221,125,63,142,224,125,63,85,227,125,63,26,230,125,63,220,232,125,63,156,235,125,63,89,238,125,63,19,241,125,63,203,243,125,63,128,246,125,63,51,249,125,63,227,251,125,63,144,254,125,63,59,1,126,63,227,3,126,63,137,6,126,63,44,9,126,63,204,11,126,63,106,14,126,63,6,17,126,63,158,19,126,63,53,22,126,63,200,24,126,63,90,27,126,63,232,29,126,63,116,32,126,63,254,34,126,63,133,37,126,63,10,40,126,63,140,42,126,63,12,45,126,63,137,47,126,63,4,50,126,63,124,52,126,63,242,54,126,63,101,57,126,63,214,59,126,63,68,62,126,63,176,64,126,63,26,67,126,63,129,69,126,63,230,71,126,63,72,74,126,63,168,76,126,63,5,79,126,63,96,81,126,63,185,83,126,63,15,86,126,63,99,88,126,63,181,90,126,63,4,93,126,63,81,95,126,63,155,97,126,63,227,99,126,63,41,102,126,63,108,104,126,63,173,106,126,63,236,108,126,63,40,111,126,63,98,113,126,63,154,115,126,63,208,117,126,63,3,120,126,63,51,122,126,63,98,124,126,63,142,126,126,63,184,128,126,63,224,130,126,63,5,133,126,63,40,135,126,63,73,137,126,63,104,139,126,63,132,141,126,63,159,143,126,63,183,145,126,63,204,147,126,63,224,149,126,63,241,151,126,63,0,154,126,63,13,156,126,63,24,158,126,63,32,160,126,63,38,162,126,63,42,164,126,63,44,166,126,63,44,168,126,63,41,170,126,63,37,172,126,63,30,174,126,63,21,176,126,63,10,178,126,63,253,179,126,63,238,181,126,63,220,183,126,63,201,185,126,63,179,187,126,63,155,189,126,63,129,191,126,63,101,193,126,63,71,195,126,63,39,197,126,63,5,199,126,63,224,200,126,63,186,202,126,63,145,204,126,63,103,206,126,63,58,208,126,63,12,210,126,63,219,211,126,63,168,213,126,63,115,215,126,63,61,217,126,63,4,219,126,63,201,220,126,63,140,222,126,63,77,224,126,63,12,226,126,63,202,227,126,63,133,229,126,63,62,231,126,63,245,232,126,63,170,234,126,63,94,236,126,63,15,238,126,63,190,239,126,63,108,241,126,63,23,243,126,63,193,244,126,63,104,246,126,63,14,248,126,63,178,249,126,63,84,251,126,63,243,252,126,63,145,254,126,63,46,0,127,63,200,1,127,63,96,3,127,63,247,4,127,63,139,6,127,63,30,8,127,63,175,9,127,63,62,11,127,63,203,12,127,63,86,14,127,63,223,15,127,63,103,17,127,63,237,18,127,63,112,20,127,63,242,21,127,63,115,23,127,63,241,24,127,63,110,26,127,63,233,27,127,63,98,29,127,63,217,30,127,63,78,32,127,63,194,33,127,63,52,35,127,63,164,36,127,63,18,38,127,63,127,39,127,63,234,40,127,63,83,42,127,63,186,43,127,63,32,45,127,63,131,46,127,63,230,47,127,63,70,49,127,63,165,50,127,63,2,52,127,63,93,53,127,63,182,54,127,63,14,56,127,63,100,57,127,63,185,58,127,63,12,60,127,63,93,61,127,63,172,62,127,63,250,63,127,63,70,65,127,63,145,66,127,63,217,67,127,63,33,69,127,63,102,70,127,63,170,71,127,63,236,72,127,63,45,74,127,63,108,75,127,63,169,76,127,63,229,77,127,63,31,79,127,63,88,80,127,63,143,81,127,63,196,82,127,63,248,83,127,63,42,85,127,63,91,86,127,63,138,87,127,63,184,88,127,63,228,89,127,63,14,91,127,63,55,92,127,63,94,93,127,63,132,94,127,63,169,95,127,63,203,96,127,63,237,97,127,63,12,99,127,63,42,100,127,63,71,101,127,63,98,102,127,63,124,103,127,63,148,104,127,63,171,105,127,63,192,106,127,63,212,107,127,63,230,108,127,63,247,109,127,63,6,111,127,63,20,112,127,63,33,113,127,63,44,114,127,63,53,115,127,63,61,116,127,63,68,117,127,63,73,118,127,63,77,119,127,63,79,120,127,63,80,121,127,63,80,122,127,63,78,123,127,63,75,124,127,63,70,125,127,63,64,126,127,63,57,127,127,63,48,128,127,63,38,129,127,63,27,130,127,63,14,131,127,63,0,132,127,63,240,132,127,63,223,133,127,63,205,134,127,63,185,135,127,63,164,136,127,63,142,137,127,63,118,138,127,63,93,139,127,63,67,140,127,63,40,141,127,63,11,142,127,63,237,142,127,63,205,143,127,63,173,144,127,63,139,145,127,63,103,146,127,63,67,147,127,63,29,148,127,63,246,148,127,63,205,149,127,63,164,150,127,63,121,151,127,63,77,152,127,63,31,153,127,63,241,153,127,63,193,154,127,63,144,155,127,63,93,156,127,63,42,157,127,63,245,157,127,63,191,158,127,63,136,159,127,63,79,160,127,63,22,161,127,63,219,161,127,63,159,162,127,63,98,163,127,63,36,164,127,63,228,164,127,63,163,165,127,63,98,166,127,63,31,167,127,63,219,167,127,63,149,168,127,63,79,169,127,63,7,170,127,63,190,170,127,63,117,171,127,63,42,172,127,63,221,172,127,63,144,173,127,63,66,174,127,63,242,174,127,63,162,175,127,63,80,176,127,63,253,176,127,63,169,177,127,63,85,178,127,63,254,178,127,63,167,179,127,63,79,180,127,63,246,180,127,63,156,181,127,63,64,182,127,63,228,182,127,63,134,183,127,63,40,184,127,63,200,184,127,63,103,185,127,63,6,186,127,63,163,186,127,63,63,187,127,63,219,187,127,63,117,188,127,63,14,189,127,63,166,189,127,63,61,190,127,63,212,190,127,63,105,191,127,63,253,191,127,63,144,192,127,63,34,193,127,63,180,193,127,63,68,194,127,63,211,194,127,63,98,195,127,63,239,195,127,63,123,196,127,63,7,197,127,63,145,197,127,63,27,198,127,63,163,198,127,63,43,199,127,63,178,199,127,63,56,200,127,63,189,200,127,63,65,201,127,63,196,201,127,63,70,202,127,63,199,202,127,63,71,203,127,63,199,203,127,63,69,204,127,63,195,204,127,63,64,205,127,63,187,205,127,63,54,206,127,63,177,206,127,63,42,207,127,63,162,207,127,63,26,208,127,63,144,208,127,63,6,209,127,63,123,209,127,63,239,209,127,63,98,210,127,63,213,210,127,63,70,211,127,63,183,211,127,63,39,212,127,63,150,212,127,63,4,213,127,63,114,213,127,63],"i8",N3,F.GLOBAL_BASE+541176),E3([222,213,127,63,74,214,127,63,181,214,127,63,32,215,127,63,137,215,127,63,242,215,127,63,89,216,127,63,192,216,127,63,39,217,127,63,140,217,127,63,241,217,127,63,85,218,127,63,184,218,127,63,27,219,127,63,124,219,127,63,221,219,127,63,61,220,127,63,157,220,127,63,251,220,127,63,89,221,127,63,183,221,127,63,19,222,127,63,111,222,127,63,202,222,127,63,36,223,127,63,126,223,127,63,215,223,127,63,47,224,127,63,134,224,127,63,221,224,127,63,51,225,127,63,137,225,127,63,221,225,127,63,49,226,127,63,133,226,127,63,215,226,127,63,41,227,127,63,122,227,127,63,203,227,127,63,27,228,127,63,106,228,127,63,185,228,127,63,7,229,127,63,84,229,127,63,161,229,127,63,237,229,127,63,56,230,127,63,131,230,127,63,205,230,127,63,23,231,127,63,96,231,127,63,168,231,127,63,239,231,127,63,54,232,127,63,125,232,127,63,195,232,127,63,8,233,127,63,76,233,127,63,144,233,127,63,212,233,127,63,23,234,127,63,89,234,127,63,154,234,127,63,219,234,127,63,28,235,127,63,92,235,127,63,155,235,127,63,218,235,127,63,24,236,127,63,86,236,127,63,147,236,127,63,207,236,127,63,11,237,127,63,71,237,127,63,130,237,127,63,188,237,127,63,246,237,127,63,47,238,127,63,104,238,127,63,160,238,127,63,216,238,127,63,15,239,127,63,69,239,127,63,123,239,127,63,177,239,127,63,230,239,127,63,27,240,127,63,79,240,127,63,130,240,127,63,182,240,127,63,232,240,127,63,26,241,127,63,76,241,127,63,125,241,127,63,174,241,127,63,222,241,127,63,14,242,127,63,61,242,127,63,108,242,127,63,154,242,127,63,200,242,127,63,245,242,127,63,34,243,127,63,79,243,127,63,123,243,127,63,166,243,127,63,209,243,127,63,252,243,127,63,38,244,127,63,80,244,127,63,121,244,127,63,162,244,127,63,203,244,127,63,243,244,127,63,27,245,127,63,66,245,127,63,105,245,127,63,143,245,127,63,181,245,127,63,219,245,127,63,0,246,127,63,37,246,127,63,73,246,127,63,109,246,127,63,145,246,127,63,180,246,127,63,215,246,127,63,250,246,127,63,28,247,127,63,62,247,127,63,95,247,127,63,128,247,127,63,160,247,127,63,193,247,127,63,225,247,127,63,0,248,127,63,31,248,127,63,62,248,127,63,93,248,127,63,123,248,127,63,152,248,127,63,182,248,127,63,211,248,127,63,240,248,127,63,12,249,127,63,40,249,127,63,68,249,127,63,95,249,127,63,122,249,127,63,149,249,127,63,175,249,127,63,202,249,127,63,227,249,127,63,253,249,127,63,22,250,127,63,47,250,127,63,71,250,127,63,96,250,127,63,120,250,127,63,143,250,127,63,166,250,127,63,190,250,127,63,212,250,127,63,235,250,127,63,1,251,127,63,23,251,127,63,44,251,127,63,66,251,127,63,87,251,127,63,108,251,127,63,128,251,127,63,148,251,127,63,168,251,127,63,188,251,127,63,208,251,127,63,227,251,127,63,246,251,127,63,8,252,127,63,27,252,127,63,45,252,127,63,63,252,127,63,81,252,127,63,98,252,127,63,115,252,127,63,132,252,127,63,149,252,127,63,165,252,127,63,182,252,127,63,198,252,127,63,213,252,127,63,229,252,127,63,244,252,127,63,3,253,127,63,18,253,127,63,33,253,127,63,47,253,127,63,62,253,127,63,76,253,127,63,89,253,127,63,103,253,127,63,116,253,127,63,130,253,127,63,143,253,127,63,155,253,127,63,168,253,127,63,181,253,127,63,193,253,127,63,205,253,127,63,217,253,127,63,228,253,127,63,240,253,127,63,251,253,127,63,6,254,127,63,17,254,127,63,28,254,127,63,38,254,127,63,49,254,127,63,59,254,127,63,69,254,127,63,79,254,127,63,89,254,127,63,98,254,127,63,108,254,127,63,117,254,127,63,126,254,127,63,135,254,127,63,144,254,127,63,152,254,127,63,161,254,127,63,169,254,127,63,177,254,127,63,185,254,127,63,193,254,127,63,201,254,127,63,208,254,127,63,216,254,127,63,223,254,127,63,230,254,127,63,237,254,127,63,244,254,127,63,251,254,127,63,2,255,127,63,8,255,127,63,14,255,127,63,21,255,127,63,27,255,127,63,33,255,127,63,39,255,127,63,45,255,127,63,50,255,127,63,56,255,127,63,61,255,127,63,67,255,127,63,72,255,127,63,77,255,127,63,82,255,127,63,87,255,127,63,92,255,127,63,96,255,127,63,101,255,127,63,105,255,127,63,110,255,127,63,114,255,127,63,118,255,127,63,122,255,127,63,126,255,127,63,130,255,127,63,134,255,127,63,138,255,127,63,142,255,127,63,145,255,127,63,149,255,127,63,152,255,127,63,155,255,127,63,159,255,127,63,162,255,127,63,165,255,127,63,168,255,127,63,171,255,127,63,174,255,127,63,176,255,127,63,179,255,127,63,182,255,127,63,184,255,127,63,187,255,127,63,189,255,127,63,192,255,127,63,194,255,127,63,196,255,127,63,198,255,127,63,201,255,127,63,203,255,127,63,205,255,127,63,207,255,127,63,209,255,127,63,210,255,127,63,212,255,127,63,214,255,127,63,216,255,127,63,217,255,127,63,219,255,127,63,220,255,127,63,222,255,127,63,223,255,127,63,225,255,127,63,226,255,127,63,227,255,127,63,229,255,127,63,230,255,127,63,231,255,127,63,232,255,127,63,233,255,127,63,234,255,127,63,235,255,127,63,236,255,127,63,237,255,127,63,238,255,127,63,239,255,127,63,240,255,127,63,241,255,127,63,241,255,127,63,242,255,127,63,243,255,127,63,244,255,127,63,244,255,127,63,245,255,127,63,246,255,127,63,246,255,127,63,247,255,127,63,247,255,127,63,248,255,127,63,248,255,127,63,249,255,127,63,249,255,127,63,250,255,127,63,250,255,127,63,250,255,127,63,251,255,127,63,251,255,127,63,251,255,127,63,252,255,127,63,252,255,127,63,252,255,127,63,253,255,127,63,253,255,127,63,253,255,127,63,253,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,69,78,67,79,68,69,82,0,79,103,103,86,111,114,98,105,115,69,110,99,111,100,101,114,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"i8",N3,F.GLOBAL_BASE+551416);var y8=F.alignMemory(E3(12,"i8",Ts),8);V4(y8%8==0);function tB(i){Y9[y8]=Y9[i],Y9[y8+1]=Y9[i+1],Y9[y8+2]=Y9[i+2],Y9[y8+3]=Y9[i+3]}function fr(i){Y9[y8]=Y9[i],Y9[y8+1]=Y9[i+1],Y9[y8+2]=Y9[i+2],Y9[y8+3]=Y9[i+3],Y9[y8+4]=Y9[i+4],Y9[y8+5]=Y9[i+5],Y9[y8+6]=Y9[i+6],Y9[y8+7]=Y9[i+7]}var Ki=eB,YA=q$,Hs=0;function Ys(i){return _9[Hs>>2]=i,i}var L2={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function fp(i){switch(i){case 30:return ZC;case 85:return Jr/ZC;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:return typeof navigator=="object"&&navigator.hardwareConcurrency||1}return Ys(L2.EINVAL),-1}o._memset=Iv;var dp=!0;o._strlen=hv,o._strcat=uv,o._bitshift64Shl=Bv;function Tk(){o.abort()}o._i64Add=fv;var Nk=Te,Gk={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"},Mn={ttys:[],init:function(){},shutdown:function(){},register:function(i,$){Mn.ttys[i]={input:[],output:[],ops:$},k.registerDevice(i,Mn.stream_ops)},stream_ops:{open:function(i){var $=Mn.ttys[i.node.rdev];if(!$)throw new k.ErrnoError(L2.ENODEV);i.tty=$,i.seekable=!1},close:function(i){i.tty.ops.flush(i.tty)},flush:function(i){i.tty.ops.flush(i.tty)},read:function(i,$,h,d,P){if(!i.tty||!i.tty.ops.get_char)throw new k.ErrnoError(L2.ENXIO);for(var e=0,W0=0;W00?$=d.slice(0,P).toString("utf-8"):$=null}else typeof window<"u"&&typeof window.prompt=="function"?($=window.prompt("Input: "),$!==null&&($+=` +`)});var E0=void 0,m0=void 0;o.read=function($,h){$=m0.normalize($);var d=E0.readFileSync($);return!d&&$!=m0.resolve($)&&($=path.join(__dirname,"..","src",$),d=E0.readFileSync($)),d&&!h&&(d=d.toString()),d},o.readBinary=function($){return o.read($,!0)},o.load=function($){f1(read($))},o.thisProgram||(process.argv.length>1?o.thisProgram=process.argv[1].replace(/\\/g,"/"):o.thisProgram="unknown-program"),o.arguments=process.argv.slice(2),typeof module<"u"&&o!=null,process.on("uncaughtException",function(i){if(!(i instanceof JA))throw i}),o.inspect=function(){return"[Emscripten Module object]"}}else if(o0)o.print||(o.print=print),typeof printErr<"u"&&(o.printErr=printErr),typeof read<"u"?o.read=read:o.read=function(){throw"no read() available (jsc?)"},o.readBinary=function($){if(typeof readbuffer=="function")return new Uint8Array(readbuffer($));var h=read($,"binary");return V4(typeof h=="object"),h},typeof scriptArgs<"u"?o.arguments=scriptArgs:typeof arguments<"u"&&(o.arguments=arguments);else if(g||D){if(o.read=function($){var h=new XMLHttpRequest;return h.open("GET",$,!1),h.send(null),h.responseText},typeof arguments<"u"&&(o.arguments=arguments),typeof console<"u")o.print||(o.print=function($){console.log($)}),o.printErr||(o.printErr=function($){console.log($)});else{var c0=!1;o.print||(o.print=c0&&typeof dump<"u"?function(i){dump(i)}:function(i){})}D&&(o.load=importScripts),typeof o.setWindowTitle>"u"&&(o.setWindowTitle=function(i){document.title=i})}else throw"Unknown runtime environment. Where are we?";function f1(i){eval.call(null,i)}!o.load&&o.read&&(o.load=function($){f1(o.read($))}),o.print||(o.print=function(){}),o.printErr||(o.printErr=o.print),o.arguments||(o.arguments=[]),o.thisProgram||(o.thisProgram="./this.program"),o.print=o.print,o.printErr=o.printErr,o.preRun=[],o.postRun=[];for(var l in r)r.hasOwnProperty(l)&&(o[l]=r[l]);var x={setTempRet0:function(i){V6=i},getTempRet0:function(){return V6},stackSave:function(){return pi},stackRestore:function(i){pi=i},getNativeTypeSize:function(i){switch(i){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(i[i.length-1]==="*")return x.QUANTUM_SIZE;if(i[0]==="i"){var $=parseInt(i.substr(1));return V4($%8===0),$/8}else return 0}}},getNativeFieldSize:function(i){return Math.max(x.getNativeTypeSize(i),x.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(i,$){return $==="double"||$==="i64"?i&7&&(V4((i&7)===4),i+=4):V4((i&3)===0),i},getAlignSize:function(i,$,h){return!h&&(i=="i64"||i=="double")?8:i?Math.min($||(i?x.getNativeFieldSize(i):0),x.QUANTUM_SIZE):Math.min($,8)},dynCall:function(i,$,h){return h&&h.length?(h.splice||(h=Array.prototype.slice.call(h)),h.splice(0,0,$),o["dynCall_"+i].apply(null,h)):o["dynCall_"+i].call(null,$)},functionPointers:[],addFunction:function(i){for(var $=0;$=Ps){var h=WC();if(!h)return Li=$,0}return $},alignMemory:function(i,$){var h=i=Math.ceil(i/($||16))*($||16);return h},makeBigInt:function(i,$,h){var d=h?+(i>>>0)+ +($>>>0)*4294967296:+(i>>>0)+ +($|0)*4294967296;return d},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};o.Runtime=x;var X0=0,F0=!1,b1=0,l2=0,y1,Y2,T2,V2,i3,r3,A0,y5,T3,$3,w6,s6,o9,J4,r4,V6,We,qr,Ji,PA,Ms,bm,S$,KC,Fk;function V4(i,$){i||Js("Assertion failed: "+$)}var Mk=this;function zC(i){var $=o["_"+i];if(!$)try{$=void("_"+i)}catch{}return V4($,"Cannot call unknown function "+i+" (perhaps LLVM optimizations or closure removed it?)"),$}var b$,OA;(function(){var i={stackSave:function(){x.stackSave()},stackRestore:function(){x.stackRestore()},arrayToC:function(Z0){var t1=x.stackAlloc(Z0.length);return HA(Z0,t1),t1},stringToC:function(Z0){var t1=0;return Z0!=null&&Z0!==0&&(t1=x.stackAlloc((Z0.length<<2)+1),qs(Z0,t1)),t1}},$={string:i.stringToC,array:i.arrayToC};OA=function(t1,b2,s,A1,C){var w5=zC(t1),p2=[],T5=0;if(A1)for(var x9=0;x9>0]=$;break;case"i8":Y9[i>>0]=$;break;case"i16":Hr[i>>1]=$;break;case"i32":_9[i>>2]=$;break;case"i64":J4=[$>>>0,(s6=$,+q$(s6)>=1?s6>0?(M7(+Te(s6/4294967296),4294967295)|0)>>>0:~~+Et((s6-+(~~s6>>>0))/4294967296)>>>0:0)],_9[i>>2]=J4[0],_9[i+4>>2]=J4[1];break;case"float":Y$[i>>2]=$;break;case"double":R$[i>>3]=$;break;default:Js("invalid type for setValue: "+h)}}o.setValue=mh;function hr(i,$,h){switch($=$||"i8",$.charAt($.length-1)==="*"&&($="i32"),$){case"i1":return Y9[i>>0];case"i8":return Y9[i>>0];case"i16":return Hr[i>>1];case"i32":return _9[i>>2];case"i64":return _9[i>>2];case"float":return Y$[i>>2];case"double":return R$[i>>3];default:Js("invalid type for setValue: "+$)}return null}o.getValue=hr;var qA=0,Dm=1,Ts=2,Ch=3,N3=4;o.ALLOC_NORMAL=qA,o.ALLOC_STACK=Dm,o.ALLOC_STATIC=Ts,o.ALLOC_DYNAMIC=Ch,o.ALLOC_NONE=N3;function E3(i,$,h,d){var P,e;typeof i=="number"?(P=!0,e=i):(P=!1,e=i.length);var Z0=typeof $=="string"?$:null,t1;if(h==N3?t1=d:t1=[Sh,x.stackAlloc,x.staticAlloc,x.dynamicAlloc][h===void 0?Ts:h](Math.max(e,Z0?1:$.length)),P){var d=t1,b2;for(V4((t1&3)==0),b2=t1+(e&-4);d>2]=0;for(b2=t1+e;d>0]=0;return t1}if(Z0==="i8")return i.subarray||i.slice?Qi.set(i,t1):Qi.set(new Uint8Array(i),t1),t1;for(var s=0,A1,C,w5;s>0],h|=d,!(d==0&&!$||(P++,$&&P==$)););$||($=P);var e="";if(h<128){for(var Z0=1024,t1;$>0;)t1=String.fromCharCode.apply(String,Qi.subarray(i,i+Math.min($,Z0))),e=e?e+t1:t1,i+=Z0,$-=Z0;return e}return o.UTF8ToString(i)}o.Pointer_stringify=D$;function _$(i){for(var $="";;){var h=Y9[i++>>0];if(!h)return $;$+=String.fromCharCode(h)}}o.AsciiToString=_$;function ip(i,$){return P$(i,$,!1)}o.stringToAscii=ip;function Ns(i,$){for(var h,d,P,e,Z0,t1,b2="";;){if(h=i[$++],!h)return b2;if(!(h&128)){b2+=String.fromCharCode(h);continue}if(d=i[$++]&63,(h&224)==192){b2+=String.fromCharCode((h&31)<<6|d);continue}if(P=i[$++]&63,(h&240)==224?h=(h&15)<<12|d<<6|P:(e=i[$++]&63,(h&248)==240?h=(h&7)<<18|d<<12|P<<6|e:(Z0=i[$++]&63,(h&252)==248?h=(h&3)<<24|d<<18|P<<12|e<<6|Z0:(t1=i[$++]&63,h=(h&1)<<30|d<<24|P<<18|e<<12|Z0<<6|t1))),h<65536)b2+=String.fromCharCode(h);else{var s=h-65536;b2+=String.fromCharCode(55296|s>>10,56320|s&1023)}}}o.UTF8ArrayToString=Ns;function _m(i){return Ns(Qi,i)}o.UTF8ToString=_m;function Rn(i,$,h,d){if(!(d>0))return 0;for(var P=h,e=h+d-1,Z0=0;Z0=55296&&t1<=57343&&(t1=65536+((t1&1023)<<10)|i.charCodeAt(++Z0)&1023),t1<=127){if(h>=e)break;$[h++]=t1}else if(t1<=2047){if(h+1>=e)break;$[h++]=192|t1>>6,$[h++]=128|t1&63}else if(t1<=65535){if(h+2>=e)break;$[h++]=224|t1>>12,$[h++]=128|t1>>6&63,$[h++]=128|t1&63}else if(t1<=2097151){if(h+3>=e)break;$[h++]=240|t1>>18,$[h++]=128|t1>>12&63,$[h++]=128|t1>>6&63,$[h++]=128|t1&63}else if(t1<=67108863){if(h+4>=e)break;$[h++]=248|t1>>24,$[h++]=128|t1>>18&63,$[h++]=128|t1>>12&63,$[h++]=128|t1>>6&63,$[h++]=128|t1&63}else{if(h+5>=e)break;$[h++]=252|t1>>30,$[h++]=128|t1>>24&63,$[h++]=128|t1>>18&63,$[h++]=128|t1>>12&63,$[h++]=128|t1>>6&63,$[h++]=128|t1&63}}return $[h]=0,h-P}o.stringToUTF8Array=Rn;function xm(i,$,h){return Rn(i,Qi,$,h)}o.stringToUTF8=xm;function Gs(i){for(var $=0,h=0;h=55296&&d<=57343&&(d=65536+((d&1023)<<10)|i.charCodeAt(++h)&1023),d<=127?++$:d<=2047?$+=2:d<=65535?$+=3:d<=2097151?$+=4:d<=67108863?$+=5:$+=6}return $}o.lengthBytesUTF8=Gs;function Rm(i){for(var $=0,h="";;){var d=Hr[i+$*2>>1];if(d==0)return h;++$,h+=String.fromCharCode(d)}}o.UTF16ToString=Rm;function rp(i,$,h){if(h===void 0&&(h=2147483647),h<2)return 0;h-=2;for(var d=$,P=h>1]=Z0,$+=2}return Hr[$>>1]=0,$-d}o.stringToUTF16=rp;function np(i){return i.length*2}o.lengthBytesUTF16=np;function sp(i){for(var $=0,h="";;){var d=_9[i+$*4>>2];if(d==0)return h;if(++$,d>=65536){var P=d-65536;h+=String.fromCharCode(55296|P>>10,56320|P&1023)}else h+=String.fromCharCode(d)}}o.UTF32ToString=sp;function op(i,$,h){if(h===void 0&&(h=2147483647),h<4)return 0;for(var d=$,P=d+h-4,e=0;e=55296&&Z0<=57343){var t1=i.charCodeAt(++e);Z0=65536+((Z0&1023)<<10)|t1&1023}if(_9[$>>2]=Z0,$+=4,$+4>P)break}return _9[$>>2]=0,$-d}o.stringToUTF32=op;function Ap(i){for(var $=0,h=0;h=55296&&d<=57343&&++h,$+=4}return $}o.lengthBytesUTF32=Ap;function ap(i){var $=!!o.___cxa_demangle;if($)try{var h=Sh(i.length);qs(i.substr(1),h);var d=Sh(4),P=o.___cxa_demangle(h,0,0,d);if(hr(d,"i32")===0&&P)return D$(P)}catch{}finally{h&&iB(h),d&&iB(d),P&&iB(P)}var e=3,Z0={v:"void",b:"bool",c:"char",s:"short",i:"int",l:"long",f:"float",d:"double",w:"wchar_t",a:"signed char",h:"unsigned char",t:"unsigned short",j:"unsigned int",m:"unsigned long",x:"long long",y:"unsigned long long",z:"..."},t1=[],b2=!0;function s(p2){p2&&o.print(p2),o.print(i);for(var T5="",x9=0;x9"}else O9=K9;e:for(;e0;){var dr=i[e++];if(dr in Z0)I4.push(Z0[dr]);else switch(dr){case"P":I4.push(C(!0,1,!0)[0]+"*");break;case"R":I4.push(C(!0,1,!0)[0]+"&");break;case"L":{e++;var V$=i.indexOf("E",e),h8=V$-e;I4.push(i.substr(e,h8)),e+=h8+2;break}case"A":{var h8=parseInt(i.substr(e));if(e+=h8.toString().length,i[e]!=="_")throw"?";e++,I4.push(C(!0,1,!0)[0]+" ["+h8+"]");break}case"E":break e;default:O9+="?"+dr;break e}}return!x9&&I4.length===1&&I4[0]==="void"&&(I4=[]),p2?(O9&&I4.push(O9+"?"),I4):O9+w8()}var w5=i;try{if(i=="Object._main"||i=="_main")return"main()";if(typeof i=="number"&&(i=D$(i)),i[0]!=="_"||i[1]!=="_"||i[2]!=="Z")return i;switch(i[3]){case"n":return"operator new()";case"d":return"operator delete()"}w5=C()}catch{w5+="?"}return w5.indexOf("?")>=0&&!$&&x.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),w5}function $p(i){return i.replace(/__Z[\w\d_]+/g,function($){var h=ap($);return $===h?$:$+" ["+h+"]"})}function lp(){var i=new Error;if(!i.stack){try{throw new Error(0)}catch($){i=$}if(!i.stack)return"(no stack trace available)"}return i.stack.toString()}function Lm(){return $p(lp())}o.stackTrace=Lm;var ZC=4096;function Bh(i){return i%4096>0&&(i+=4096-i%4096),i}var Fm,Y9,Qi,Hr,x$,_9,H$,Y$,R$,Us=0,Yr=0,L$=!1,ph=0,pi=0,F$=0,M$=0,Li=0;function WC(){Js("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+Ps+", (2) compile with ALLOW_MEMORY_GROWTH which adjusts the size at runtime but prevents some optimizations, or (3) set Module.TOTAL_MEMORY before the program runs.")}for(var Mm=o.TOTAL_STACK||5242880,Ps=o.TOTAL_MEMORY||16777216,Jr=64*1024;Jr0;){var $=i.shift();if(typeof $=="function"){$();continue}var h=$.func;typeof h=="number"?$.arg===void 0?x.dynCall("v",h):x.dynCall("vi",h,[$.arg]):h($.arg===void 0?null:$.arg)}}var Tm=[],N$=[],Qh=[],G$=[],yh=[],wh=!1,Ln=!1;function kh(){if(o.preRun)for(typeof o.preRun=="function"&&(o.preRun=[o.preRun]);o.preRun.length;)F7(o.preRun.shift());T$(Tm)}function Os(){wh||(wh=!0,T$(N$))}function cp(){T$(Qh)}function Nm(){T$(G$),Ln=!0}function U$(){if(o.postRun)for(typeof o.postRun=="function"&&(o.postRun=[o.postRun]);o.postRun.length;)jC(o.postRun.shift());T$(yh)}function F7(i){Tm.unshift(i)}o.addOnPreRun=o.addOnPreRun=F7;function gp(i){N$.unshift(i)}o.addOnInit=o.addOnInit=gp;function hp(i){Qh.unshift(i)}o.addOnPreMain=o.addOnPreMain=hp;function up(i){G$.unshift(i)}o.addOnExit=o.addOnExit=up;function jC(i){yh.unshift(i)}o.addOnPostRun=o.addOnPostRun=jC;function Vr(i,$,h){var d=h>0?h:Gs(i)+1,P=new Array(d),e=Rn(i,P,0,P.length);return $&&(P.length=e),P}o.intArrayFromString=Vr;function XC(i){for(var $=[],h=0;h255&&(d&=255),$.push(String.fromCharCode(d))}return $.join("")}o.intArrayToString=XC;function qs(i,$,h){for(var d=Vr(i,h),P=0;P>0]=e,P=P+1}}o.writeStringToMemory=qs;function HA(i,$){for(var h=0;h>0]=i[h]}o.writeArrayToMemory=HA;function P$(i,$,h){for(var d=0;d>0]=i.charCodeAt(d);h||(Y9[$>>0]=0)}o.writeAsciiToMemory=P$;function Gm(i,$,h){return i>=0?i:$<=32?2*Math.abs(1<<$-1)+i:Math.pow(2,$)+i}function O$(i,$,h){if(i<=0)return i;var d=$<=32?Math.abs(1<<$-1):Math.pow(2,$-1);return i>=d&&($<=32||i>d)&&(i=-2*d+i),i}(!Math.imul||Math.imul(4294967295,5)!==-5)&&(Math.imul=function($,h){var d=$>>>16,P=$&65535,e=h>>>16,Z0=h&65535;return P*Z0+(d*Z0+P*e<<16)|0}),Math.imul=Math.imul,Math.clz32||(Math.clz32=function(i){i=i>>>0;for(var $=0;$<32;$++)if(i&1<<31-$)return $;return 32}),Math.clz32=Math.clz32;var q$=Math.abs,eB=Math.cos,Vi=Math.sin,x0=Math.tan,j0=Math.acos,C1=Math.asin,S2=Math.atan,W3=Math.atan2,g9=Math.exp,J9=Math.log,h6=Math.sqrt,Et=Math.ceil,Te=Math.floor,je=Math.pow,Se=Math.imul,h9=Math.fround,M7=Math.min,Mi=Math.clz32,mt=0,T7=null,Ti=null;function Ni(i){return i}function Fn(i){mt++,o.monitorRunDependencies&&o.monitorRunDependencies(mt)}o.addRunDependency=Fn;function ur(i){if(mt--,o.monitorRunDependencies&&o.monitorRunDependencies(mt),mt==0&&(T7!==null&&(clearInterval(T7),T7=null),Ti)){var $=Ti;Ti=null,$()}}o.removeRunDependency=ur,o.preloadedImages={},o.preloadedAudios={};var Um=null,vh=[];Us=8,Yr=Us+553552,N$.push(),E3([0,0,0,0,1,0,0,0,3,0,0,0,7,0,0,0,15,0,0,0,31,0,0,0,63,0,0,0,127,0,0,0,255,0,0,0,255,1,0,0,255,3,0,0,255,7,0,0,255,15,0,0,255,31,0,0,255,63,0,0,255,127,0,0,255,255,0,0,255,255,1,0,255,255,3,0,255,255,7,0,255,255,15,0,255,255,31,0,255,255,63,0,255,255,127,0,255,255,255,0,255,255,255,1,255,255,255,3,255,255,255,7,255,255,255,15,255,255,255,31,255,255,255,63,255,255,255,127,255,255,255,255,0,0,0,0,0,0,0,0,183,29,193,4,110,59,130,9,217,38,67,13,220,118,4,19,107,107,197,23,178,77,134,26,5,80,71,30,184,237,8,38,15,240,201,34,214,214,138,47,97,203,75,43,100,155,12,53,211,134,205,49,10,160,142,60,189,189,79,56,112,219,17,76,199,198,208,72,30,224,147,69,169,253,82,65,172,173,21,95,27,176,212,91,194,150,151,86,117,139,86,82,200,54,25,106,127,43,216,110,166,13,155,99,17,16,90,103,20,64,29,121,163,93,220,125,122,123,159,112,205,102,94,116,224,182,35,152,87,171,226,156,142,141,161,145,57,144,96,149,60,192,39,139,139,221,230,143,82,251,165,130,229,230,100,134,88,91,43,190,239,70,234,186,54,96,169,183,129,125,104,179,132,45,47,173,51,48,238,169,234,22,173,164,93,11,108,160,144,109,50,212,39,112,243,208,254,86,176,221,73,75,113,217,76,27,54,199,251,6,247,195,34,32,180,206,149,61,117,202,40,128,58,242,159,157,251,246,70,187,184,251,241,166,121,255,244,246,62,225,67,235,255,229,154,205,188,232,45,208,125,236,119,112,134,52,192,109,71,48,25,75,4,61,174,86,197,57,171,6,130,39,28,27,67,35,197,61,0,46,114,32,193,42,207,157,142,18,120,128,79,22,161,166,12,27,22,187,205,31,19,235,138,1,164,246,75,5,125,208,8,8,202,205,201,12,7,171,151,120,176,182,86,124,105,144,21,113,222,141,212,117,219,221,147,107,108,192,82,111,181,230,17,98,2,251,208,102,191,70,159,94,8,91,94,90,209,125,29,87,102,96,220,83,99,48,155,77,212,45,90,73,13,11,25,68,186,22,216,64,151,198,165,172,32,219,100,168,249,253,39,165,78,224,230,161,75,176,161,191,252,173,96,187,37,139,35,182,146,150,226,178,47,43,173,138,152,54,108,142,65,16,47,131,246,13,238,135,243,93,169,153,68,64,104,157,157,102,43,144,42,123,234,148,231,29,180,224,80,0,117,228,137,38,54,233,62,59,247,237,59,107,176,243,140,118,113,247,85,80,50,250,226,77,243,254,95,240,188,198,232,237,125,194,49,203,62,207,134,214,255,203,131,134,184,213,52,155,121,209,237,189,58,220,90,160,251,216,238,224,12,105,89,253,205,109,128,219,142,96,55,198,79,100,50,150,8,122,133,139,201,126,92,173,138,115,235,176,75,119,86,13,4,79,225,16,197,75,56,54,134,70,143,43,71,66,138,123,0,92,61,102,193,88,228,64,130,85,83,93,67,81,158,59,29,37,41,38,220,33,240,0,159,44,71,29,94,40,66,77,25,54,245,80,216,50,44,118,155,63,155,107,90,59,38,214,21,3,145,203,212,7,72,237,151,10,255,240,86,14,250,160,17,16,77,189,208,20,148,155,147,25,35,134,82,29,14,86,47,241,185,75,238,245,96,109,173,248,215,112,108,252,210,32,43,226,101,61,234,230,188,27,169,235,11,6,104,239,182,187,39,215,1,166,230,211,216,128,165,222,111,157,100,218,106,205,35,196,221,208,226,192,4,246,161,205,179,235,96,201,126,141,62,189,201,144,255,185,16,182,188,180,167,171,125,176,162,251,58,174,21,230,251,170,204,192,184,167,123,221,121,163,198,96,54,155,113,125,247,159,168,91,180,146,31,70,117,150,26,22,50,136,173,11,243,140,116,45,176,129,195,48,113,133,153,144,138,93,46,141,75,89,247,171,8,84,64,182,201,80,69,230,142,78,242,251,79,74,43,221,12,71,156,192,205,67,33,125,130,123,150,96,67,127,79,70,0,114,248,91,193,118,253,11,134,104,74,22,71,108,147,48,4,97,36,45,197,101,233,75,155,17,94,86,90,21,135,112,25,24,48,109,216,28,53,61,159,2,130,32,94,6,91,6,29,11,236,27,220,15,81,166,147,55,230,187,82,51,63,157,17,62,136,128,208,58,141,208,151,36,58,205,86,32,227,235,21,45,84,246,212,41,121,38,169,197,206,59,104,193,23,29,43,204,160,0,234,200,165,80,173,214,18,77,108,210,203,107,47,223,124,118,238,219,193,203,161,227,118,214,96,231,175,240,35,234,24,237,226,238,29,189,165,240,170,160,100,244,115,134,39,249,196,155,230,253,9,253,184,137,190,224,121,141,103,198,58,128,208,219,251,132,213,139,188,154,98,150,125,158,187,176,62,147,12,173,255,151,177,16,176,175,6,13,113,171,223,43,50,166,104,54,243,162,109,102,180,188,218,123,117,184,3,93,54,181,180,64,247,177,1,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,0,0,0,0,88,105,112,104,46,79,114,103,32,108,105,98,86,111,114,98,105,115,32,73,32,50,48,49,53,48,49,48,53,32,40,226,155,132,226,155,132,226,155,132,226,155,132,41,0,0,0,0,1,0,0,0,4,0,0,0,3,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,0,0,76,194,0,0,80,194,0,0,84,194,0,0,88,194,0,0,92,194,0,0,96,194,0,0,100,194,0,0,104,194,0,0,108,194,0,0,112,194,0,0,116,194,0,0,120,194,0,0,124,194,0,0,128,194,0,0,130,194,0,0,132,194,0,0,134,194,0,0,136,194,0,0,138,194,0,0,140,194,0,0,142,194,0,0,144,194,0,0,146,194,0,0,148,194,0,0,150,194,0,0,152,194,0,0,154,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,164,194,0,0,166,194,0,0,168,194,0,0,170,194,0,0,172,194,0,0,174,194,0,0,176,194,0,0,176,194,0,0,178,194,0,0,178,194,0,0,180,194,0,0,182,194,0,0,182,194,0,0,184,194,0,0,186,194,0,0,188,194,0,0,190,194,0,0,192,194,0,0,192,194,0,0,194,194,0,0,196,194,0,0,196,194,0,0,198,194,0,0,198,194,0,0,200,194,0,0,200,194,0,0,202,194,0,0,204,194,0,0,206,194,0,0,208,194,0,0,212,194,0,0,214,194,0,0,214,194,0,0,214,194,0,0,214,194,0,0,210,194,0,0,206,194,0,0,204,194,0,0,202,194,0,0,198,194,0,0,196,194,0,0,192,194,0,0,190,194,0,0,190,194,0,0,192,194,0,0,194,194,0,0,192,194,0,0,190,194,0,0,186,194,0,0,180,194,0,0,160,194,0,0,140,194,0,0,72,194,0,0,32,194,0,0,240,193,0,0,240,193,0,0,240,193,0,0,240,193,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,4,64,0,0,0,0,0,0,18,64,0,0,0,0,0,0,33,64,0,0,0,0,0,128,48,64,0,0,0,4,107,244,52,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,4,64,0,0,0,0,0,0,18,64,0,0,0,0,0,0,33,64,0,0,0,4,107,244,52,66,62,180,228,51,9,145,243,51,139,178,1,52,60,32,10,52,35,26,19,52,96,169,28,52,167,215,38,52,75,175,49,52,80,59,61,52,112,135,73,52,35,160,86,52,184,146,100,52,85,109,115,52,136,159,129,52,252,11,138,52,147,4,147,52,105,146,156,52,50,191,166,52,63,149,177,52,147,31,189,52,228,105,201,52,173,128,214,52,54,113,228,52,166,73,243,52,136,140,1,53,192,247,9,53,6,239,18,53,118,123,28,53,192,166,38,53,55,123,49,53,218,3,61,53,94,76,73,53,59,97,86,53,185,79,100,53,252,37,115,53,138,121,129,53,134,227,137,53,124,217,146,53,133,100,156,53,82,142,166,53,51,97,177,53,37,232,188,53,220,46,201,53,206,65,214,53,65,46,228,53,87,2,243,53,143,102,1,54,79,207,9,54,245,195,18,54,152,77,28,54,232,117,38,54,50,71,49,54,116,204,60,54,94,17,73,54,101,34,86,54,206,12,100,54,184,222,114,54,151,83,129,54,28,187,137,54,114,174,146,54,175,54,156,54,129,93,166,54,53,45,177,54,199,176,188,54,228,243,200,54,1,3,214,54,96,235,227,54,30,187,242,54,162,64,1,55,235,166,9,55,241,152,18,55,201,31,28,55,30,69,38,55,61,19,49,55,30,149,60,55,111,214,72,55,162,227,85,55,247,201,99,55,137,151,114,55,175,45,129,55,190,146,137,55,116,131,146,55,230,8,156,55,190,44,166,55,71,249,176,55,121,121,188,55,254,184,200,55,71,196,213,55,146,168,227,55,248,115,242,55,192,26,1,56,147,126,9,56,249,109,18,56,6,242,27,56,98,20,38,56,86,223,48,56,216,93,60,56,146,155,72,56,242,164,85,56,51,135,99,56,110,80,114,56,211,7,129,56,107,106,137,56,130,88,146,56,42,219,155,56,9,252,165,56,104,197,176,56,59,66,188,56,41,126,200,56,160,133,213,56,217,101,227,56,232,44,242,56,233,244,0,57,70,86,9,57,14,67,18,57,81,196,27,57,181,227,37,57,127,171,48,57,162,38,60,57,197,96,72,57,83,102,85,57,131,68,99,57,104,9,114,57,1,226,128,57,36,66,137,57,157,45,146,57,123,173,155,57,99,203,165,57,153,145,176,57,13,11,188,57,102,67,200,57,11,71,213,57,50,35,227,57,237,229,241,57,29,207,0,58,5,46,9,58,48,24,18,58,169,150,27,58,21,179,37,58,183,119,48,58,124,239,59,58,10,38,72,58,199,39,85,58,230,1,99,58,120,194,113,58,59,188,128,58,233,25,137,58,198,2,146,58,219,127,155,58,203,154,165,58,216,93,176,58,239,211,187,58,179,8,200,58,136,8,213,58,159,224,226,58,7,159,241,58,92,169,0,59,208,5,9,59,94,237,17,59,15,105,27,59,132,130,37,59,253,67,48,59,103,184,59,59,97,235,71,59,77,233,84,59,93,191,98,59,156,123,113,59,127,150,128,59,186,241,136,59,249,215,145,59,71,82,155,59,65,106,165,59,39,42,176,59,226,156,187,59,18,206,199,59,23,202,212,59,32,158,226,59,53,88,241,59,166,131,0,60,167,221,8,60,152,194,17,60,130,59,27,60,1,82,37,60,84,16,48,60,97,129,59,60,200,176,71,60,229,170,84,60,232,124,98,60,212,52,113,60,207,112,128,60,150,201,136,60,58,173,145,60,192,36,155,60,197,57,165,60,133,246,175,60,229,101,187,60,130,147,199,60,185,139,212,60,180,91,226,60,121,17,241,60,251,93,0,61,137,181,8,61,223,151,17,61,2,14,27,61,141,33,37,61,185,220,47,61,109,74,59,61,64,118,71,61,145,108,84,61,133,58,98,61,34,238,112,61,42,75,128,61,127,161,136,61,136,130,145,61,72,247,154,61,88,9,165,61,242,194,175,61,248,46,187,61,3,89,199,61,109,77,212,61,92,25,226,61,209,202,240,61,91,56,0,62,119,141,8,62,51,109,17,62,144,224,26,62,39,241,36,62,46,169,47,62,135,19,59,62,202,59,71,62,77,46,84,62,55,248,97,62,132,167,112,62,143,37,128,62,115,121,136,62,226,87,145,62,220,201,154,62,249,216,164,62,109,143,175,62,27,248,186,62,149,30,199,62,51,15,212,62,23,215,225,62,61,132,240,62,198,18,0,63,114,101,8,63,147,66,17,63,43,179,26,63,206,192,36,63,177,117,47,63,178,220,58,63,101,1,71,63,29,240,83,63,251,181,97,63,251,96,112,63,0,0,128,63,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,120,194,0,0,120,194,0,0,130,194,0,0,146,194,0,0,138,194,0,0,136,194,0,0,136,194,0,0,134,194,0,0,140,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,150,194,0,0,158,194,0,0,158,194,0,0,160,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,84,194,0,0,116,194,0,0,132,194,0,0,132,194,0,0,136,194,0,0,134,194,0,0,140,194,0,0,152,194,0,0,152,194,0,0,144,194,0,0,146,194,0,0,150,194,0,0,152,194,0,0,156,194,0,0,158,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,24,194,0,0,32,194,0,0,40,194,0,0,56,194,0,0,64,194,0,0,84,194,0,0,92,194,0,0,120,194,0,0,130,194,0,0,104,194,0,0,96,194,0,0,96,194,0,0,116,194,0,0,112,194,0,0,130,194,0,0,134,194,0,0,138,194,0,0,142,194,0,0,154,194,0,0,154,194,0,0,156,194,0,0,160,194,0,0,164,194,0,0,168,194,0,0,176,194,0,0,186,194,0,0,196,194,0,0,212,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,208,193,0,0,216,193,0,0,232,193,0,0,0,194,0,0,24,194,0,0,64,194,0,0,80,194,0,0,80,194,0,0,72,194,0,0,64,194,0,0,64,194,0,0,76,194,0,0,80,194,0,0,88,194,0,0,112,194,0,0,134,194,0,0,134,194,0,0,132,194,0,0,136,194,0,0,138,194,0,0,146,194,0,0,146,194,0,0,152,194,0,0,160,194,0,0,162,194,0,0,162,194,0,0,170,194,0,0,170,194,0,0,172,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,136,193,0,0,152,193,0,0,160,193,0,0,176,193,0,0,208,193,0,0,224,193,0,0,248,193,0,0,32,194,0,0,60,194,0,0,28,194,0,0,28,194,0,0,32,194,0,0,40,194,0,0,44,194,0,0,60,194,0,0,76,194,0,0,100,194,0,0,80,194,0,0,92,194,0,0,92,194,0,0,112,194,0,0,104,194,0,0,120,194,0,0,124,194,0,0,140,194,0,0,134,194,0,0,138,194,0,0,144,194,0,0,146,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,166,194,0,0,174,194,0,0,180,194,0,0,188,194,0,0,196,194,0,0,208,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,32,193,0,0,48,193,0,0,112,193,0,0,152,193,0,0,200,193,0,0,240,193,0,0,8,194,0,0,248,193,0,0,240,193,0,0,248,193,0,0,232,193,0,0,0,194,0,0,12,194,0,0,40,194,0,0,64,194,0,0,40,194,0,0,48,194,0,0,56,194,0,0,72,194,0,0,72,194,0,0,76,194,0,0,80,194,0,0,108,194,0,0,88,194,0,0,92,194,0,0,92,194,0,0,104,194,0,0,120,194,0,0,124,194,0,0,132,194,0,0,144,194,0,0,146,194,0,0,152,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,160,194,0,0,162,194,0,0,168,194,0,0,176,194,0,0,180,194,0,0,188,194,0,0,196,194,0,0,202,194,0,0,212,194,0,0,220,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,134,194,0,0,134,194,0,0,134,194,0,0,152,194,0,0,144,194,0,0,142,194,0,0,148,194,0,0,152,194,0,0,152,194,0,0,150,194,0,0,156,194,0,0,158,194,0,0,158,194,0,0,162,194,0,0,166,194,0,0,172,194,0,0,178,194,0,0,186,194,0,0,194,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,64,194,0,0,76,194,0,0,92,194,0,0,108,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,134,194,0,0,132,194,0,0,136,194,0,0,138,194,0,0,140,194,0,0,148,194,0,0,158,194,0,0,154,194,0,0,154,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,164,194,0,0,168,194,0,0,172,194,0,0,176,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,216,194,0,0,232,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,20,194,0,0,20,194,0,0,36,194,0,0,48,194,0,0,64,194,0,0,76,194,0,0,104,194,0,0,120,194,0,0,112,194,0,0,100,194,0,0,108,194,0,0,108,194,0,0,112,194,0,0,124,194,0,0,130,194,0,0,144,194,0,0,142,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,154,194,0,0,152,194,0,0,156,194,0,0,162,194,0,0,162,194,0,0,160,194,0,0,166,194,0,0,172,194,0,0,182,194,0,0,192,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,240,193,0,0,0,194,0,0,0,194,0,0,4,194,0,0,12,194,0,0,36,194,0,0,68,194,0,0,72,194,0,0,68,194,0,0,60,194,0,0,64,194,0,0,64,194,0,0,80,194,0,0,76,194,0,0,100,194,0,0,130,194,0,0,116,194,0,0,108,194,0,0,116,194,0,0,128,194,0,0,138,194,0,0,140,194,0,0,148,194,0,0,154,194,0,0,154,194,0,0,156,194,0,0,162,194,0,0,168,194,0,0,170,194,0,0,174,194,0,0,180,194,0,0,184,194,0,0,192,194,0,0,200,194,0,0,214,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,160,193,0,0,168,193,0,0,184,193,0,0,216,193,0,0,240,193,0,0,12,194,0,0,16,194,0,0,36,194,0,0,56,194,0,0,48,194,0,0,40,194,0,0,32,194,0,0,36,194,0,0,36,194,0,0,44,194,0,0,64,194,0,0,92,194,0,0,84,194,0,0,80,194,0,0,84,194,0,0,96,194,0,0,108,194,0,0,104,194,0,0,112,194,0,0,134,194,0,0,132,194,0,0,138,194,0,0,142,194,0,0,144,194,0,0,150,194,0,0,158,194,0,0,162,194,0,0,168,194,0,0,174,194,0,0,180,194,0,0,186,194,0,0,194,194,0,0,202,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,48,193,0,0,64,193,0,0,64,193,0,0,112,193,0,0,128,193,0,0,160,193,0,0,184,193,0,0,240,193,0,0,20,194,0,0,8,194,0,0,4,194,0,0,8,194,0,0,248,193,0,0,0,194,0,0,0,194,0,0,24,194,0,0,60,194,0,0,48,194,0,0,36,194,0,0,32,194,0,0,60,194,0,0,68,194,0,0,56,194,0,0,56,194,0,0,104,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,104,194,0,0,120,194,0,0,128,194,0,0,134,194,0,0,134,194,0,0,140,194,0,0,144,194,0,0,152,194,0,0,158,194,0,0,166,194,0,0,174,194,0,0,182,194,0,0,192,194,0,0,200,194,0,0,208,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,124,194,0,0,128,194,0,0,132,194,0,0,134,194,0,0,132,194,0,0,136,194,0,0,150,194,0,0,144,194,0,0,152,194,0,0,150,194,0,0,152,194,0,0,156,194,0,0,158,194,0,0,164,194,0,0,168,194,0,0,170,194,0,0,180,194,0,0,188,194,0,0,202,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,112,194,0,0,112,194,0,0,116,194,0,0,124,194,0,0,132,194,0,0,142,194,0,0,136,194,0,0,140,194,0,0,140,194,0,0,142,194,0,0,144,194,0,0,144,194,0,0,150,194,0,0,162,194,0,0,156,194,0,0,158,194,0,0,164,194,0,0,166,194,0,0,172,194,0,0,180,194,0,0,194,194,0,0,206,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,88,194,0,0,92,194,0,0,100,194,0,0,96,194,0,0,100,194,0,0,92,194,0,0,116,194,0,0,130,194,0,0,112,194,0,0,112,194,0,0,120,194,0,0,124,194,0,0,124,194,0,0,132,194,0,0,136,194,0,0,148,194,0,0,146,194,0,0,150,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,160,194,0,0,164,194,0,0,170,194,0,0,180,194,0,0,192,194,0,0,202,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,64,194,0,0,76,194,0,0,100,194,0,0,76,194,0,0,68,194,0,0,72,194,0,0,76,194,0,0,84,194,0,0,88,194,0,0,108,194,0,0,132,194,0,0,112,194,0,0,120,194,0,0,134,194,0,0,134,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,152,194,0,0,156,194,0,0,162,194,0,0,170,194,0,0,176,194,0,0,188,194,0,0,194,194,0,0,208,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,28,194,0,0,36,194,0,0,40,194,0,0,40,194,0,0,28,194,0,0,24,194,0,0,36,194,0,0,44,194,0,0,80,194,0,0,48,194,0,0,32,194,0,0,28,194,0,0,20,194,0,0,20,194,0,0,32,194,0,0,60,194,0,0,88,194,0,0,72,194,0,0,64,194,0,0,72,194,0,0,92,194,0,0,116,194,0,0,108,194,0,0,120,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,138,194,0,0,138,194,0,0,146,194,0,0,148,194,0,0,148,194,0,0,150,194,0,0,154,194,0,0,158,194,0,0,164,194,0,0,174,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,216,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,224,193,0,0,208,193,0,0,192,193,0,0,176,193,0,0,160,193,0,0,160,193,0,0,184,193,0,0,232,193,0,0,240,193,0,0,248,193,0,0,224,193,0,0,216,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,12,194,0,0,32,194,0,0,4,194,0,0,0,194,0,0,232,193,0,0,240,193,0,0,240,193,0,0,240,193,0,0,20,194,0,0,52,194,0,0,36,194,0,0,20,194,0,0,24,194,0,0,52,194,0,0,60,194,0,0,60,194,0,0,64,194,0,0,84,194,0,0,68,194,0,0,64,194,0,0,72,194,0,0,68,194,0,0,68,194,0,0,76,194,0,0,80,194,0,0,104,194,0,0,96,194,0,0,100,194,0,0,96,194,0,0,112,194,0,0,116,194,0,0,120,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,156,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,212,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,200,194,0,0,190,194,0,0,182,194,0,0,174,194,0,0,166,194,0,0,160,194,0,0,156,194,0,0,152,194,0,0,156,194,0,0,156,194,0,0,162,194,0,0,166,194,0,0,170,194,0,0,172,194,0,0,170,194,0,0,172,194,0,0,174,194,0,0,180,194,0,0,194,194,0,0,214,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,162,194,0,0,154,194,0,0,146,194,0,0,140,194,0,0,134,194,0,0,134,194,0,0,136,194,0,0,150,194,0,0,146,194,0,0,140,194,0,0,138,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,158,194,0,0,168,194,0,0,166,194,0,0,168,194,0,0,172,194,0,0,176,194,0,0,178,194,0,0,178,194,0,0,186,194,0,0,196,194,0,0,210,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,152,194,0,0,142,194,0,0,136,194,0,0,136,194,0,0,130,194,0,0,124,194,0,0,124,194,0,0,120,194,0,0,120,194,0,0,128,194,0,0,130,194,0,0,128,194,0,0,116,194,0,0,120,194,0,0,124,194,0,0,128,194,0,0,132,194,0,0,136,194,0,0,146,194,0,0,146,194,0,0,148,194,0,0,150,194,0,0,152,194,0,0,162,194,0,0,166,194,0,0,170,194,0,0,176,194,0,0,178,194,0,0,184,194,0,0,190,194,0,0,200,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,160,194,0,0,150,194,0,0,142,194,0,0,136,194,0,0,130,194,0,0,124,194,0,0,120,194,0,0,116,194,0,0,116,194,0,0,116,194,0,0,116,194,0,0,108,194,0,0,96,194,0,0,100,194,0,0,84,194,0,0,72,194,0,0,104,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,80,194,0,0,84,194,0,0,88,194,0,0,104,194,0,0,134,194,0,0,124,194,0,0,134,194,0,0,136,194,0,0,144,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,162,194,0,0,164,194,0,0,170,194,0,0,178,194,0,0,180,194,0,0,186,194,0,0,194,194,0,0,202,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,130,194,0,0,116,194,0,0,108,194,0,0,100,194,0,0,96,194,0,0,92,194,0,0,92,194,0,0,96,194,0,0,96,194,0,0,100,194,0,0,92,194,0,0,84,194,0,0,80,194,0,0,60,194,0,0,48,194,0,0,48,194,0,0,72,194,0,0,48,194,0,0,36,194,0,0,28,194,0,0,28,194,0,0,40,194,0,0,32,194,0,0,56,194,0,0,76,194,0,0,68,194,0,0,72,194,0,0,84,194,0,0,88,194,0,0,124,194,0,0,112,194,0,0,116,194,0,0,120,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,140,194,0,0,146,194,0,0,148,194,0,0,150,194,0,0,152,194,0,0,150,194,0,0,158,194,0,0,170,194,0,0,178,194,0,0,182,194,0,0,192,194,0,0,204,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,80,194,0,0,72,194,0,0,68,194,0,0,68,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,68,194,0,0,72,194,0,0,72,194,0,0,68,194,0,0,56,194,0,0,44,194,0,0,28,194,0,0,12,194,0,0,4,194,0,0,24,194,0,0,16,194,0,0,0,194,0,0,232,193,0,0,0,194,0,0,0,194,0,0,0,194,0,0,12,194,0,0,48,194,0,0,28,194,0,0,24,194,0,0,24,194,0,0,56,194,0,0,72,194,0,0,52,194,0,0,56,194,0,0,84,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,88,194,0,0,84,194,0,0,84,194,0,0,96,194,0,0,100,194,0,0,108,194,0,0,132,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,158,194,0,0,166,194,0,0,170,194,0,0,180,194,0,0,194,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,172,194,0,0,160,194,0,0,150,194,0,0,150,194,0,0,158,194,0,0,160,194,0,0,158,194,0,0,160,194,0,0,162,194,0,0,164,194,0,0,176,194,0,0,190,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,176,194,0,0,166,194,0,0,158,194,0,0,156,194,0,0,150,194,0,0,142,194,0,0,134,194,0,0,136,194,0,0,146,194,0,0,146,194,0,0,144,194,0,0,146,194,0,0,150,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,202,194,0,0,192,194,0,0,180,194,0,0,172,194,0,0,162,194,0,0,154,194,0,0,146,194,0,0,138,194,0,0,132,194,0,0,116,194,0,0,120,194,0,0,132,194,0,0,128,194,0,0,120,194,0,0,130,194,0,0,132,194,0,0,140,194,0,0,144,194,0,0,152,194,0,0,162,194,0,0,160,194,0,0,168,194,0,0,180,194,0,0,190,194,0,0,204,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,206,194,0,0,194,194,0,0,184,194,0,0,176,194,0,0,166,194,0,0,158,194,0,0,148,194,0,0,140,194,0,0,132,194,0,0,108,194,0,0,84,194,0,0,104,194,0,0,120,194,0,0,92,194,0,0,88,194,0,0,88,194,0,0,88,194,0,0,104,194,0,0,116,194,0,0,120,194,0,0,144,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,160,194,0,0,166,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,132,194,0,0,120,194,0,0,96,194,0,0,64,194,0,0,48,194,0,0,64,194,0,0,56,194,0,0,56,194,0,0,44,194,0,0,56,194,0,0,64,194,0,0,64,194,0,0,76,194,0,0,104,194,0,0,104,194,0,0,108,194,0,0,112,194,0,0,120,194,0,0,120,194,0,0,116,194,0,0,116,194,0,0,130,194,0,0,128,194,0,0,130,194,0,0,136,194,0,0,140,194,0,0,148,194,0,0,150,194,0,0,156,194,0,0,162,194,0,0,172,194,0,0,190,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,130,194,0,0,116,194,0,0,92,194,0,0,68,194,0,0,28,194,0,0,4,194,0,0,32,194,0,0,12,194,0,0,0,194,0,0,24,194,0,0,32,194,0,0,4,194,0,0,12,194,0,0,20,194,0,0,56,194,0,0,36,194,0,0,52,194,0,0,48,194,0,0,56,194,0,0,40,194,0,0,52,194,0,0,56,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,88,194,0,0,92,194,0,0,100,194,0,0,120,194,0,0,128,194,0,0,132,194,0,0,136,194,0,0,140,194,0,0,152,194,0,0,162,194,0,0,180,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,170,194,0,0,164,194,0,0,166,194,0,0,160,194,0,0,156,194,0,0,168,194,0,0,158,194,0,0,160,194,0,0,166,194,0,0,174,194,0,0,178,194,0,0,182,194,0,0,186,194,0,0,198,194,0,0,212,194,0,0,234,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,136,194,0,0,148,194,0,0,144,194,0,0,148,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,170,194,0,0,174,194,0,0,184,194,0,0,178,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,212,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,166,194,0,0,150,194,0,0,142,194,0,0,124,194,0,0,128,194,0,0,134,194,0,0,120,194,0,0,128,194,0,0,134,194,0,0,140,194,0,0,146,194,0,0,154,194,0,0,162,194,0,0,168,194,0,0,166,194,0,0,170,194,0,0,178,194,0,0,180,194,0,0,186,194,0,0,196,194,0,0,208,194,0,0,218,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,206,194,0,0,192,194,0,0,176,194,0,0,162,194,0,0,150,194,0,0,136,194,0,0,104,194,0,0,88,194],"i8",N3,x.GLOBAL_BASE),E3([0,0,96,194,0,0,88,194,0,0,96,194,0,0,96,194,0,0,104,194,0,0,112,194,0,0,124,194,0,0,132,194,0,0,148,194,0,0,138,194,0,0,144,194,0,0,144,194,0,0,150,194,0,0,148,194,0,0,154,194,0,0,162,194,0,0,162,194,0,0,164,194,0,0,168,194,0,0,174,194,0,0,186,194,0,0,192,194,0,0,198,194,0,0,208,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,204,194,0,0,192,194,0,0,182,194,0,0,170,194,0,0,160,194,0,0,148,194,0,0,136,194,0,0,112,194,0,0,76,194,0,0,56,194,0,0,64,194,0,0,56,194,0,0,44,194,0,0,52,194,0,0,60,194,0,0,60,194,0,0,68,194,0,0,64,194,0,0,96,194,0,0,84,194,0,0,92,194,0,0,104,194,0,0,100,194,0,0,124,194,0,0,104,194,0,0,112,194,0,0,132,194,0,0,128,194,0,0,134,194,0,0,140,194,0,0,140,194,0,0,148,194,0,0,154,194,0,0,168,194,0,0,172,194,0,0,178,194,0,0,182,194,0,0,186,194,0,0,188,194,0,0,202,194,0,0,218,194,0,0,236,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,176,194,0,0,166,194,0,0,156,194,0,0,146,194,0,0,136,194,0,0,112,194,0,0,84,194,0,0,48,194,0,0,12,194,0,0,24,194,0,0,24,194,0,0,8,194,0,0,8,194,0,0,16,194,0,0,32,194,0,0,36,194,0,0,48,194,0,0,76,194,0,0,52,194,0,0,56,194,0,0,60,194,0,0,56,194,0,0,88,194,0,0,72,194,0,0,68,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,76,194,0,0,88,194,0,0,100,194,0,0,104,194,0,0,112,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,128,194,0,0,130,194,0,0,136,194,0,0,154,194,0,0,164,194,0,0,174,194,0,0,190,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,204,194,0,0,194,194,0,0,184,194,0,0,174,194,0,0,166,194,0,0,156,194,0,0,150,194,0,0,164,194,0,0,158,194,0,0,166,194,0,0,170,194,0,0,178,194,0,0,184,194,0,0,190,194,0,0,196,194,0,0,202,194,0,0,210,194,0,0,218,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,172,194,0,0,162,194,0,0,156,194,0,0,148,194,0,0,138,194,0,0,148,194,0,0,148,194,0,0,152,194,0,0,158,194,0,0,166,194,0,0,168,194,0,0,172,194,0,0,178,194,0,0,184,194,0,0,194,194,0,0,186,194,0,0,200,194,0,0,206,194,0,0,214,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,174,194,0,0,166,194,0,0,160,194,0,0,150,194,0,0,138,194,0,0,112,194,0,0,132,194,0,0,132,194,0,0,136,194,0,0,140,194,0,0,148,194,0,0,156,194,0,0,158,194,0,0,162,194,0,0,162,194,0,0,166,194,0,0,168,194,0,0,174,194,0,0,186,194,0,0,192,194,0,0,198,194,0,0,206,194,0,0,214,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,178,194,0,0,170,194,0,0,164,194,0,0,156,194,0,0,142,194,0,0,120,194,0,0,92,194,0,0,104,194,0,0,104,194,0,0,88,194,0,0,88,194,0,0,92,194,0,0,108,194,0,0,116,194,0,0,120,194,0,0,140,194,0,0,132,194,0,0,132,194,0,0,134,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,156,194,0,0,168,194,0,0,168,194,0,0,168,194,0,0,176,194,0,0,182,194,0,0,180,194,0,0,190,194,0,0,196,194,0,0,204,194,0,0,206,194,0,0,212,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,188,194,0,0,180,194,0,0,174,194,0,0,164,194,0,0,158,194,0,0,146,194,0,0,134,194,0,0,104,194,0,0,60,194,0,0,72,194,0,0,52,194,0,0,36,194,0,0,52,194,0,0,64,194,0,0,48,194,0,0,48,194,0,0,68,194,0,0,88,194,0,0,76,194,0,0,64,194,0,0,60,194,0,0,68,194,0,0,72,194,0,0,76,194,0,0,100,194,0,0,104,194,0,0,112,194,0,0,124,194,0,0,138,194,0,0,140,194,0,0,138,194,0,0,142,194,0,0,148,194,0,0,156,194,0,0,164,194,0,0,180,194,0,0,190,194,0,0,202,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,202,194,0,0,194,194,0,0,186,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,154,194,0,0,144,194,0,0,130,194,0,0,96,194,0,0,64,194,0,0,20,194,0,0,32,194,0,0,16,194,0,0,8,194,0,0,32,194,0,0,72,194,0,0,60,194,0,0,24,194,0,0,36,194,0,0,60,194,0,0,24,194,0,0,12,194,0,0,28,194,0,0,24,194,0,0,44,194,0,0,32,194,0,0,52,194,0,0,72,194,0,0,52,194,0,0,48,194,0,0,60,194,0,0,72,194,0,0,92,194,0,0,64,194,0,0,64,194,0,0,80,194,0,0,132,194,0,0,140,194,0,0,152,194,0,0,164,194,0,0,180,194,0,0,194,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,172,194,0,0,158,194,0,0,152,194,0,0,166,194,0,0,162,194,0,0,170,194,0,0,174,194,0,0,178,194,0,0,186,194,0,0,196,194,0,0,204,194,0,0,214,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,172,194,0,0,158,194,0,0,142,194,0,0,154,194,0,0,148,194,0,0,154,194,0,0,158,194,0,0,162,194,0,0,168,194,0,0,170,194,0,0,180,194,0,0,184,194,0,0,186,194,0,0,184,194,0,0,196,194,0,0,202,194,0,0,216,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,174,194,0,0,156,194,0,0,136,194,0,0,130,194,0,0,132,194,0,0,120,194,0,0,130,194,0,0,134,194,0,0,140,194,0,0,146,194,0,0,150,194,0,0,156,194,0,0,164,194,0,0,164,194,0,0,166,194,0,0,168,194,0,0,182,194,0,0,186,194,0,0,196,194,0,0,204,194,0,0,212,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,164,194,0,0,148,194,0,0,120,194,0,0,100,194,0,0,104,194,0,0,96,194,0,0,76,194,0,0,80,194,0,0,80,194,0,0,88,194,0,0,88,194,0,0,104,194,0,0,132,194,0,0,108,194,0,0,112,194,0,0,124,194,0,0,132,194,0,0,138,194,0,0,146,194,0,0,158,194,0,0,166,194,0,0,168,194,0,0,160,194,0,0,162,194,0,0,162,194,0,0,164,194,0,0,176,194,0,0,184,194,0,0,196,194,0,0,210,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,204,194,0,0,194,194,0,0,184,194,0,0,168,194,0,0,158,194,0,0,138,194,0,0,100,194,0,0,60,194,0,0,80,194,0,0,60,194,0,0,48,194,0,0,52,194,0,0,72,194,0,0,80,194,0,0,40,194,0,0,40,194,0,0,84,194,0,0,44,194,0,0,44,194,0,0,64,194,0,0,76,194,0,0,96,194,0,0,92,194,0,0,80,194,0,0,100,194,0,0,108,194,0,0,116,194,0,0,120,194,0,0,134,194,0,0,142,194,0,0,156,194,0,0,166,194,0,0,172,194,0,0,188,194,0,0,196,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,168,194,0,0,156,194,0,0,140,194,0,0,116,194,0,0,76,194,0,0,36,194,0,0,32,194,0,0,24,194,0,0,32,194,0,0,56,194,0,0,80,194,0,0,76,194,0,0,36,194,0,0,32,194,0,0,56,194,0,0,32,194,0,0,24,194,0,0,24,194,0,0,36,194,0,0,56,194,0,0,36,194,0,0,56,194,0,0,60,194,0,0,44,194,0,0,44,194,0,0,52,194,0,0,36,194,0,0,52,194,0,0,96,194,0,0,134,194,0,0,136,194,0,0,166,194,0,0,174,194,0,0,180,194,0,0,190,194,0,0,204,194,0,0,214,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,218,194,0,0,210,194,0,0,202,194,0,0,192,194,0,0,182,194,0,0,168,194,0,0,154,194,0,0,164,194,0,0,164,194,0,0,170,194,0,0,178,194,0,0,188,194,0,0,200,194,0,0,212,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,206,194,0,0,196,194,0,0,184,194,0,0,170,194,0,0,160,194,0,0,142,194,0,0,150,194,0,0,144,194,0,0,152,194,0,0,160,194,0,0,168,194,0,0,172,194,0,0,178,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,208,194,0,0,202,194,0,0,194,194,0,0,184,194,0,0,176,194,0,0,168,194,0,0,160,194,0,0,128,194,0,0,132,194,0,0,124,194,0,0,128,194,0,0,132,194,0,0,138,194,0,0,146,194,0,0,154,194,0,0,166,194,0,0,166,194,0,0,172,194,0,0,182,194,0,0,196,194,0,0,208,194,0,0,222,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,208,194,0,0,202,194,0,0,194,194,0,0,184,194,0,0,180,194,0,0,168,194,0,0,148,194,0,0,100,194,0,0,104,194,0,0,80,194,0,0,92,194,0,0,88,194,0,0,72,194,0,0,80,194,0,0,72,194,0,0,80,194,0,0,124,194,0,0,120,194,0,0,138,194,0,0,152,194,0,0,154,194,0,0,156,194,0,0,156,194,0,0,158,194,0,0,164,194,0,0,176,194,0,0,188,194,0,0,200,194,0,0,212,194,0,0,222,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,204,194,0,0,196,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,166,194,0,0,156,194,0,0,140,194,0,0,72,194,0,0,72,194,0,0,36,194,0,0,48,194,0,0,68,194,0,0,60,194,0,0,72,194,0,0,72,194,0,0,48,194,0,0,92,194,0,0,56,194,0,0,60,194,0,0,64,194,0,0,64,194,0,0,88,194,0,0,68,194,0,0,68,194,0,0,104,194,0,0,120,194,0,0,142,194,0,0,162,194,0,0,174,194,0,0,184,194,0,0,194,194,0,0,204,194,0,0,216,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,204,194,0,0,196,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,166,194,0,0,156,194,0,0,140,194,0,0,52,194,0,0,44,194,0,0,36,194,0,0,60,194,0,0,72,194,0,0,76,194,0,0,72,194,0,0,68,194,0,0,52,194,0,0,60,194,0,0,36,194,0,0,48,194,0,0,36,194,0,0,28,194,0,0,44,194,0,0,24,194,0,0,20,194,0,0,32,194,0,0,36,194,0,0,48,194,0,0,72,194,0,0,104,194,0,0,130,194,0,0,146,194,0,0,158,194,0,0,170,194,0,0,184,194,0,0,194,194,0,0,202,194,0,0,210,194,0,0,218,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,200,194,0,0,190,194,0,0,174,194,0,0,162,194,0,0,170,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,202,194,0,0,190,194,0,0,176,194,0,0,166,194,0,0,152,194,0,0,146,194,0,0,144,194,0,0,158,194,0,0,168,194,0,0,180,194,0,0,190,194,0,0,200,194,0,0,210,194,0,0,220,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,208,194,0,0,196,194,0,0,184,194,0,0,174,194,0,0,162,194,0,0,140,194,0,0,130,194,0,0,120,194,0,0,134,194,0,0,142,194,0,0,148,194,0,0,160,194,0,0,170,194,0,0,182,194,0,0,190,194,0,0,198,194,0,0,206,194,0,0,216,194,0,0,222,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,206,194,0,0,194,194,0,0,180,194,0,0,170,194,0,0,152,194,0,0,112,194,0,0,96,194,0,0,88,194,0,0,112,194,0,0,120,194,0,0,116,194,0,0,96,194,0,0,124,194,0,0,130,194,0,0,146,194,0,0,148,194,0,0,154,194,0,0,150,194,0,0,156,194,0,0,162,194,0,0,172,194,0,0,174,194,0,0,176,194,0,0,182,194,0,0,188,194,0,0,196,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,194,194,0,0,184,194,0,0,172,194,0,0,162,194,0,0,158,194,0,0,140,194,0,0,100,194,0,0,76,194,0,0,60,194,0,0,76,194,0,0,104,194,0,0,112,194,0,0,96,194,0,0,84,194,0,0,72,194,0,0,104,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,84,194,0,0,92,194,0,0,128,194,0,0,138,194,0,0,142,194,0,0,170,194,0,0,164,194,0,0,156,194,0,0,162,194,0,0,170,194,0,0,190,194,0,0,204,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,194,194,0,0,184,194,0,0,170,194,0,0,166,194,0,0,158,194,0,0,144,194,0,0,68,194,0,0,32,194,0,0,44,194,0,0,44,194,0,0,88,194,0,0,96,194,0,0,76,194,0,0,72,194,0,0,32,194,0,0,44,194,0,0,24,194,0,0,16,194,0,0,12,194,0,0,20,194,0,0,24,194,0,0,20,194,0,0,48,194,0,0,88,194,0,0,112,194,0,0,100,194,0,0,112,194,0,0,140,194,0,0,150,194,0,0,168,194,0,0,184,194,0,0,206,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,204,194,0,0,190,194,0,0,178,194,0,0,164,194,0,0,166,194,0,0,168,194,0,0,180,194,0,0,184,194,0,0,198,194,0,0,214,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,202,194,0,0,190,194,0,0,178,194,0,0,166,194,0,0,144,194,0,0,148,194,0,0,156,194,0,0,170,194,0,0,176,194,0,0,176,194,0,0,180,194,0,0,184,194,0,0,196,194,0,0,210,194,0,0,222,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,218,194,0,0,206,194,0,0,194,194,0,0,186,194,0,0,174,194,0,0,162,194,0,0,140,194,0,0,140,194,0,0,134,194,0,0,150,194,0,0,146,194,0,0,152,194,0,0,158,194,0,0,162,194,0,0,166,194,0,0,176,194,0,0,178,194,0,0,194,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,200,194,0,0,188,194,0,0,176,194,0,0,166,194,0,0,150,194,0,0,124,194,0,0,108,194,0,0,108,194,0,0,124,194,0,0,132,194,0,0,112,194,0,0,120,194,0,0,134,194,0,0,134,194,0,0,154,194,0,0,152,194,0,0,162,194,0,0,176,194,0,0,172,194,0,0,184,194,0,0,192,194,0,0,204,194,0,0,218,194,0,0,232,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,184,194,0,0,172,194,0,0,162,194,0,0,146,194,0,0,96,194,0,0,80,194,0,0,60,194,0,0,92,194,0,0,112,194,0,0,104,194,0,0,80,194,0,0,76,194,0,0,52,194,0,0,68,194,0,0,72,194,0,0,84,194,0,0,88,194,0,0,116,194,0,0,142,194,0,0,140,194,0,0,138,194,0,0,156,194,0,0,158,194,0,0,174,194,0,0,180,194,0,0,192,194,0,0,208,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,206,194,0,0,192,194,0,0,180,194,0,0,172,194,0,0,156,194,0,0,140,194,0,0,76,194,0,0,40,194,0,0,60,194,0,0,64,194,0,0,92,194,0,0,88,194,0,0,88,194,0,0,84,194,0,0,40,194,0,0,12,194,0,0,224,193,0,0,4,194,0,0,24,194,0,0,20,194,0,0,48,194,0,0,60,194,0,0,68,194,0,0,88,194,0,0,124,194,0,0,136,194,0,0,156,194,0,0,164,194,0,0,178,194,0,0,188,194,0,0,198,194,0,0,208,194,0,0,218,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,180,194,0,0,158,194,0,0,170,194,0,0,162,194,0,0,164,194,0,0,164,194,0,0,178,194,0,0,188,194,0,0,198,194,0,0,206,194,0,0,218,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,194,194,0,0,170,194,0,0,144,194,0,0,148,194,0,0,140,194,0,0,140,194,0,0,140,194,0,0,152,194,0,0,170,194,0,0,182,194,0,0,186,194,0,0,194,194,0,0,206,194,0,0,218,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,224,194,0,0,186,194,0,0,162,194,0,0,136,194,0,0,120,194,0,0,112,194,0,0,112,194,0,0,100,194,0,0,124,194,0,0,140,194,0,0,154,194,0,0,164,194,0,0,180,194,0,0,186,194,0,0,196,194,0,0,208,194,0,0,218,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,226,194,0,0,200,194,0,0,186,194,0,0,168,194,0,0,124,194,0,0,104,194,0,0,64,194,0,0,84,194,0,0,88,194,0,0,80,194,0,0,80,194,0,0,100,194,0,0,128,194,0,0,132,194,0,0,152,194,0,0,166,194,0,0,162,194,0,0,170,194,0,0,170,194,0,0,180,194,0,0,190,194,0,0,196,194,0,0,202,194,0,0,206,194,0,0,212,194,0,0,216,194,0,0,222,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,190,194,0,0,172,194,0,0,148,194,0,0,84,194,0,0,72,194,0,0,24,194,0,0,44,194,0,0,68,194,0,0,44,194,0,0,40,194,0,0,28,194,0,0,28,194,0,0,56,194,0,0,80,194,0,0,100,194,0,0,96,194,0,0,144,194,0,0,138,194,0,0,148,194,0,0,162,194,0,0,174,194,0,0,184,194,0,0,188,194,0,0,194,194,0,0,198,194,0,0,204,194,0,0,210,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,198,194,0,0,180,194,0,0,152,194,0,0,132,194,0,0,52,194,0,0,44,194,0,0,36,194,0,0,48,194,0,0,60,194,0,0,44,194,0,0,60,194,0,0,32,194,0,0,240,193,0,0,248,193,0,0,248,193,0,0,28,194,0,0,4,194,0,0,32,194,0,0,36,194,0,0,44,194,0,0,84,194,0,0,108,194,0,0,140,194,0,0,146,194,0,0,154,194,0,0,158,194,0,0,164,194,0,0,168,194,0,0,174,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,182,194,0,0,152,194,0,0,150,194,0,0,170,194,0,0,186,194,0,0,196,194,0,0,208,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,182,194,0,0,140,194,0,0,140,194,0,0,150,194,0,0,172,194,0,0,178,194,0,0,188,194,0,0,196,194,0,0,202,194,0,0,212,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,190,194,0,0,160,194,0,0,112,194,0,0,130,194,0,0,128,194,0,0,148,194,0,0,166,194,0,0,176,194,0,0,182,194,0,0,190,194,0,0,198,194,0,0,206,194,0,0,214,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,190,194,0,0,160,194,0,0,104,194,0,0,92,194,0,0,68,194,0,0,132,194,0,0,136,194,0,0,142,194,0,0,156,194,0,0,156,194,0,0,160,194,0,0,176,194,0,0,170,194,0,0,178,194,0,0,194,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,190,194,0,0,160,194,0,0,84,194,0,0,80,194,0,0,36,194,0,0,108,194,0,0,108,194,0,0,68,194,0,0,104,194,0,0,96,194,0,0,124,194,0,0,172,194,0,0,158,194,0,0,180,194,0,0,186,194,0,0,196,194,0,0,206,194,0,0,214,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,194,194,0,0,182,194,0,0,146,194,0,0,52,194,0,0,32,194,0,0,4,194,0,0,84,194,0,0,116,194,0,0,68,194,0,0,88,194,0,0,72,194,0,0,72,194,0,0,112,194,0,0,80,194,0,0,134,194,0,0,148,194,0,0,162,194,0,0,184,194,0,0,192,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,226,194,0,0,212,194,0,0,198,194,0,0,184,194,0,0,154,194,0,0,160,194,0,0,176,194,0,0,194,194,0,0,212,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196],"i8",N3,x.GLOBAL_BASE+10240),E3([0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,232,194,0,0,218,194,0,0,204,194,0,0,190,194,0,0,178,194,0,0,148,194,0,0,144,194,0,0,176,194,0,0,174,194,0,0,190,194,0,0,204,194,0,0,218,194,0,0,232,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,232,194,0,0,218,194,0,0,204,194,0,0,190,194,0,0,178,194,0,0,150,194,0,0,132,194,0,0,148,194,0,0,154,194,0,0,156,194,0,0,172,194,0,0,174,194,0,0,180,194,0,0,192,194,0,0,210,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,230,194,0,0,216,194,0,0,202,194,0,0,188,194,0,0,176,194,0,0,132,194,0,0,96,194,0,0,116,194,0,0,140,194,0,0,130,194,0,0,156,194,0,0,144,194,0,0,166,194,0,0,168,194,0,0,186,194,0,0,196,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,190,194,0,0,178,194,0,0,164,194,0,0,100,194,0,0,80,194,0,0,80,194,0,0,108,194,0,0,96,194,0,0,108,194,0,0,104,194,0,0,138,194,0,0,134,194,0,0,176,194,0,0,164,194,0,0,164,194,0,0,178,194,0,0,188,194,0,0,200,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,202,194,0,0,192,194,0,0,180,194,0,0,166,194,0,0,154,194,0,0,88,194,0,0,44,194,0,0,24,194,0,0,72,194,0,0,64,194,0,0,80,194,0,0,64,194,0,0,40,194,0,0,40,194,0,0,76,194,0,0,80,194,0,0,84,194,0,0,108,194,0,0,130,194,0,0,142,194,0,0,156,194,0,0,170,194,0,0,190,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,240,194,0,0,210,194,0,0,172,194,0,0,136,194,0,0,156,194,0,0,158,194,0,0,180,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,240,194,0,0,210,194,0,0,172,194,0,0,132,194,0,0,146,194,0,0,154,194,0,0,176,194,0,0,192,194,0,0,210,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,240,194,0,0,210,194,0,0,184,194,0,0,160,194,0,0,116,194,0,0,128,194,0,0,136,194,0,0,160,194,0,0,174,194,0,0,184,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,240,194,0,0,208,194,0,0,182,194,0,0,158,194,0,0,80,194,0,0,112,194,0,0,88,194,0,0,128,194,0,0,138,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,168,194,0,0,170,194,0,0,174,194,0,0,176,194,0,0,180,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,236,194,0,0,200,194,0,0,174,194,0,0,154,194,0,0,68,194,0,0,72,194,0,0,48,194,0,0,104,194,0,0,116,194,0,0,116,194,0,0,134,194,0,0,130,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,130,194,0,0,136,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,230,194,0,0,196,194,0,0,168,194,0,0,120,194,0,0,68,194,0,0,48,194,0,0,24,194,0,0,56,194,0,0,68,194,0,0,68,194,0,0,56,194,0,0,28,194,0,0,20,194,0,0,28,194,0,0,32,194,0,0,40,194,0,0,44,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,176,194,0,0,148,194,0,0,154,194,0,0,164,194,0,0,164,194,0,0,170,194,0,0,180,194,0,0,188,194,0,0,198,194,0,0,208,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,176,194,0,0,132,194,0,0,140,194,0,0,162,194,0,0,160,194,0,0,162,194,0,0,168,194,0,0,176,194,0,0,182,194,0,0,186,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,176,194,0,0,116,194,0,0,124,194,0,0,140,194,0,0,142,194,0,0,148,194,0,0,154,194,0,0,160,194,0,0,166,194,0,0,170,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,172,194,0,0,120,194,0,0,124,194,0,0,120,194,0,0,120,194,0,0,104,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,80,194,0,0,88,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,236,194,0,0,216,194,0,0,168,194,0,0,84,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,92,194,0,0,60,194,0,0,52,194,0,0,32,194,0,0,32,194,0,0,32,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,236,194,0,0,200,194,0,0,146,194,0,0,44,194,0,0,20,194,0,0,40,194,0,0,44,194,0,0,84,194,0,0,24,194,0,0,20,194,0,0,12,194,0,0,12,194,0,0,24,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,182,194,0,0,168,194,0,0,148,194,0,0,160,194,0,0,160,194,0,0,160,194,0,0,160,194,0,0,160,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,182,194,0,0,168,194,0,0,148,194,0,0,136,194,0,0,136,194,0,0,136,194,0,0,136,194,0,0,136,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,172,194,0,0,156,194,0,0,140,194,0,0,112,194,0,0,52,194,0,0,240,193,0,0,168,193,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,174,194,0,0,156,194,0,0,134,194,0,0,64,194,0,0,24,194,0,0,232,193,0,0,168,193,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,172,194,0,0,138,194,0,0,96,194,0,0,52,194,0,0,12,194,0,0,4,194,0,0,232,193,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,166,194,0,0,142,194,0,0,64,194,0,0,216,193,0,0,24,194,0,0,20,194,0,0,8,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,0,0,144,4,0,0,72,100,0,0,104,100,0,0,136,100,0,0,0,0,0,0,224,4,0,0,0,0,0,0,0,0,0,0,6,0,0,0,7,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,6,0,0,0,7,0,0,0,4,0,0,0,5,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,2,0,0,0,6,0,0,0,7,0,0,0,4,0,0,0,5,0,0,0,4,0,0,0,2,0,0,0,5,0,0,0,4,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,0,12,195,0,0,12,195,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,194,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,128,0,0,0,63,0,0,0,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,66,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,40,103,0,0,200,103,0,0,104,104,0,0,8,105,0,0,168,105,0,0,72,106,0,0,232,106,0,0,136,107,0,0,40,108,0,0,200,108,0,0,104,109,0,0,8,110,0,0,168,110,0,0,72,111,0,0,232,111,0,0,136,112,0,0,40,113,0,0,0,0,0,0,11,0,0,0,48,240,7,0,64,164,1,0,2,0,0,0,64,156,0,0,80,195,0,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,200,160,2,0,0,0,0,0,11,0,0,0,160,87,5,0,64,164,1,0,6,0,0,0,64,156,0,0,112,17,1,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,3,0,0,0,120,217,1,0,0,88,5,0,0,0,0,0,11,0,0,0,64,87,5,0,64,164,1,0,255,255,255,255,64,156,0,0,80,195,0,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,136,217,1,0,0,0,0,0,11,0,0,0,224,86,5,0,64,164,1,0,2,0,0,0,144,101,0,0,64,156,0,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,128,86,5,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,200,160,2,0,0,0,0,0,11,0,0,0,32,86,5,0,64,164,1,0,255,255,255,255,144,101,0,0,64,156,0,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,128,86,5,0,24,120,0,0,24,217,1,0,0,0,0,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,136,217,1,0,0,0,0,0,3,0,0,0,0,86,5,0,16,172,4,0,2,0,0,0,56,74,0,0,144,101,0,0,48,172,4,0,64,172,4,0,80,172,4,0,136,114,0,0,184,114,0,0,160,172,4,0,160,172,4,0,160,172,4,0,176,173,4,0,224,173,4,0,16,177,4,0,16,177,4,0,64,180,4,0,56,118,0,0,104,118,0,0,112,183,4,0,112,183,4,0,144,183,4,0,144,183,4,0,160,183,4,0,160,183,4,0,176,183,4,0,208,183,4,0,224,183,4,0,224,85,5,0,24,120,0,0,16,184,4,0,48,184,4,0,160,132,0,0,208,132,0,0,2,0,0,0,240,187,4,0,8,240,4,0,0,0,0,0,3,0,0,0,192,85,5,0,16,172,4,0,255,255,255,255,56,74,0,0,144,101,0,0,48,172,4,0,64,172,4,0,80,172,4,0,136,114,0,0,184,114,0,0,160,172,4,0,160,172,4,0,160,172,4,0,176,173,4,0,224,173,4,0,16,177,4,0,16,177,4,0,64,180,4,0,56,118,0,0,104,118,0,0,112,183,4,0,112,183,4,0,144,183,4,0,144,183,4,0,160,183,4,0,160,183,4,0,176,183,4,0,208,183,4,0,224,183,4,0,224,85,5,0,24,120,0,0,16,184,4,0,48,184,4,0,160,132,0,0,208,132,0,0,2,0,0,0,240,187,4,0,248,187,4,0,0,0,0,0,3,0,0,0,232,239,4,0,16,172,4,0,2,0,0,0,152,58,0,0,56,74,0,0,48,172,4,0,64,172,4,0,80,172,4,0,136,114,0,0,184,114,0,0,160,172,4,0,160,172,4,0,160,172,4,0,176,173,4,0,224,173,4,0,16,177,4,0,16,177,4,0,64,180,4,0,56,118,0,0,104,118,0,0,112,183,4,0,112,183,4,0,144,183,4,0,144,183,4,0,160,183,4,0,160,183,4,0,176,183,4,0,208,183,4,0,224,183,4,0,240,183,4,0,24,120,0,0,16,184,4,0,48,184,4,0,160,132,0,0,208,132,0,0,2,0,0,0,240,187,4,0,8,240,4,0,0,0,0,0,3,0,0,0,240,171,4,0,16,172,4,0,255,255,255,255,152,58,0,0,56,74,0,0,48,172,4,0,64,172,4,0,80,172,4,0,136,114,0,0,184,114,0,0,160,172,4,0,160,172,4,0,160,172,4,0,176,173,4,0,224,173,4,0,16,177,4,0,16,177,4,0,64,180,4,0,56,118,0,0,104,118,0,0,112,183,4,0,112,183,4,0,144,183,4,0,144,183,4,0,160,183,4,0,160,183,4,0,176,183,4,0,208,183,4,0,224,183,4,0,240,183,4,0,24,120,0,0,16,184,4,0,48,184,4,0,160,132,0,0,208,132,0,0,2,0,0,0,240,187,4,0,248,187,4,0,0,0,0,0,2,0,0,0,216,171,4,0,0,168,4,0,2,0,0,0,40,35,0,0,152,58,0,0,24,168,4,0,24,168,4,0,32,168,4,0,136,114,0,0,184,114,0,0,96,168,4,0,0,0,0,0,96,168,4,0,184,115,0,0,48,169,4,0,48,169,4,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,152,171,4,0,224,119,0,0,240,119,0,0,176,171,4,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,200,171,4,0,184,47,1,0,0,0,0,0,2,0,0,0,232,167,4,0,0,168,4,0,255,255,255,255,40,35,0,0,152,58,0,0,24,168,4,0,24,168,4,0,32,168,4,0,136,114,0,0,184,114,0,0,96,168,4,0,0,0,0,0,96,168,4,0,184,115,0,0,48,169,4,0,48,169,4,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,152,171,4,0,224,119,0,0,240,119,0,0,176,171,4,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,200,171,4,0,248,180,0,0,0,0,0,0,2,0,0,0,208,167,4,0,40,114,0,0,2,0,0,0,64,31,0,0,40,35,0,0,64,114,0,0,64,114,0,0,72,114,0,0,136,114,0,0,184,114,0,0,232,114,0,0,0,0,0,0,232,114,0,0,184,115,0,0,208,115,0,0,208,115,0,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,208,119,0,0,224,119,0,0,240,119,0,0,0,120,0,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,240,180,0,0,184,47,1,0,0,0,0,0,2,0,0,0,184,167,4,0,40,114,0,0,255,255,255,255,64,31,0,0,40,35,0,0,64,114,0,0,64,114,0,0,72,114,0,0,136,114,0,0,184,114,0,0,232,114,0,0,0,0,0,0,232,114,0,0,184,115,0,0,208,115,0,0,208,115,0,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,208,119,0,0,224,119,0,0,240,119,0,0,0,120,0,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,240,180,0,0,248,180,0,0,0,0,0,0,11,0,0,0,200,113,0,0,64,164,1,0,2,0,0,0,80,195,0,0,64,13,3,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,200,160,2,0,0,0,0,0,11,0,0,0,200,113,0,0,64,164,1,0,255,255,255,255,80,195,0,0,64,13,3,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,0,0,0,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,136,217,1,0,0,0,0,0,2,0,0,0,200,113,0,0,40,114,0,0,2,0,0,0,0,0,0,0,64,31,0,0,64,114,0,0,64,114,0,0,72,114,0,0,136,114,0,0,184,114,0,0,232,114,0,0,0,0,0,0,232,114,0,0,184,115,0,0,208,115,0,0,208,115,0,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,208,119,0,0,224,119,0,0,240,119,0,0,0,120,0,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,240,180,0,0,184,47,1,0,0,0,0,0,2,0,0,0,200,113,0,0,40,114,0,0,255,255,255,255,0,0,0,0,64,31,0,0,64,114,0,0,64,114,0,0,72,114,0,0,136,114,0,0,184,114,0,0,232,114,0,0,0,0,0,0,232,114,0,0,184,115,0,0,208,115,0,0,208,115,0,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,208,119,0,0,224,119,0,0,240,119,0,0,0,120,0,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,240,180,0,0,248,180,0,0,0,0,0,0,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,154,153,153,153,153,153,185,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,2,0,0,0,2,0,0,32,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,30,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,242,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,90,0,0,0,90,0,0,0,95,0,0,0,95,0,0,0,95,0,0,0,95,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,232,255,255,255,226,255,255,255,216,255,255,255,216,255,255,255,211,255,255,255,211,255,255,255,211,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,0,0,0,0,10,0,0,0,10,0,0,0,255,255,255,255,10,0,0,0,10,0,0,0,255,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,226,255,255,255,216,255,255,255,216,255,255,255,211,255,255,255,211,255,255,255,211,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,14,0,0,0,14,0,0,0,15,0,0,0,15,0,0,0,16,0,0,0,16,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,18,0,0,0,18,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,64,0,0,0,64,0,0,0,8,0,0,0,8,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,156,255,255,255,156,255,255,255,151,255,255,255,0,0,0,0,126,255,255,255,126,255,255,255,116,255,255,255,0,0,0,0,0,0,0,0,0,0,8,64],"i8",N3,x.GLOBAL_BASE+20480),E3([0,0,0,0,0,0,16,64,0,0,0,0,0,0,16,64,8,0,0,0,0,0,160,65,0,0,96,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,112,194,0,0,240,193,0,0,32,194,0,0,32,194,0,0,32,194,0,0,32,194,0,0,32,194,0,0,0,64,0,0,150,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,96,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,194,0,0,240,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,0,64,0,0,160,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,64,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,160,193,0,0,160,193,0,0,112,193,0,0,112,193,0,0,112,193,0,0,112,193,0,0,112,193,0,0,0,0,0,0,160,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,32,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,160,193,0,0,112,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,0,0,0,0,160,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,32,65,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,112,193,0,0,112,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,0,0,0,0,170,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,8,64,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,3,1,0,24,3,1,0,48,3,1,0,80,3,1,0,112,3,1,0,160,3,1,0,208,3,1,0,232,3,1,0,40,4,1,0,104,4,1,0,152,4,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,128,0,0,0,33,0,0,0,8,0,0,0,16,0,0,0,70,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,128,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,1,0,0,66,0,0,0,16,0,0,0,32,0,0,0,140,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,0,1,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,128,0,0,0,14,0,0,0,4,0,0,0,58,0,0,0,2,0,0,0,8,0,0,0,28,0,0,0,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,128,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,1,0,0,28,0,0,0,8,0,0,0,116,0,0,0,4,0,0,0,16,0,0,0,56,0,0,0,180,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,0,1,0,0,4,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,6,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,128,0,0,0,8,0,0,0,33,0,0,0,4,0,0,0,16,0,0,0,70,0,0,0,2,0,0,0,6,0,0,0,12,0,0,0,23,0,0,0,46,0,0,0,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,128,0,0,0,6,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,6,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,128,0,0,0,12,0,0,0,46,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,23,0,0,0,33,0,0,0,70,0,0,0,2,0,0,0,6,0,0,0,10,0,0,0,14,0,0,0,19,0,0,0,28,0,0,0,39,0,0,0,58,0,0,0,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,128,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2],"i8",N3,x.GLOBAL_BASE+30720),E3([1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,1,0,0,66,0,0,0,16,0,0,0,32,0,0,0,140,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,0,1,0,0,8,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,12,0,0,0,13,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,4,0,0,93,0,0,0,23,0,0,0,116,1,0,0,6,0,0,0,46,0,0,0,186,0,0,0,238,2,0,0,14,0,0,0,33,0,0,0,65,0,0,0,130,0,0,0,4,1,0,0,44,2,0,0,3,0,0,0,10,0,0,0,18,0,0,0,28,0,0,0,39,0,0,0,55,0,0,0,79,0,0,0,111,0,0,0,158,0,0,0,220,0,0,0,56,1,0,0,208,1,0,0,138,2,0,0,82,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,64,64,0,0,144,65,0,4,0,0,8,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,12,0,0,0,13,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,8,0,0,186,0,0,0,46,0,0,0,232,2,0,0,12,0,0,0,92,0,0,0,116,1,0,0,220,5,0,0,28,0,0,0,66,0,0,0,130,0,0,0,4,1,0,0,8,2,0,0,88,4,0,0,6,0,0,0,20,0,0,0,36,0,0,0,56,0,0,0,78,0,0,0,110,0,0,0,158,0,0,0,222,0,0,0,60,1,0,0,184,1,0,0,112,2,0,0,160,3,0,0,20,5,0,0,164,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,64,64,0,0,144,65,0,8,0,0,6,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,6,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,2,0,0,46,0,0,0,186,0,0,0,16,0,0,0,33,0,0,0,65,0,0,0,93,0,0,0,130,0,0,0,22,1,0,0,7,0,0,0,23,0,0,0,39,0,0,0,55,0,0,0,79,0,0,0,110,0,0,0,156,0,0,0,232,0,0,0,104,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,10,0,0,0,248,2,1,0,0,0,0,0,8,181,0,0,24,206,0,0,8,181,0,0,56,206,0,0,1],"i8",N3,x.GLOBAL_BASE+41032),E3([1],"i8",N3,x.GLOBAL_BASE+49544),E3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],"i8",N3,x.GLOBAL_BASE+50572),E3([1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,8,245,0,0,8,245,0,0,48,245,0,0,48,245,0,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,112,217,0,0,112,217,0,0,152,217,0,0,152,217,0,0,0,0,0,0,255,255,255,255,255,255,255,255,10,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,x.GLOBAL_BASE+52752),E3([1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,16,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,30,0,0,0,255,255,255,255,50,0,0,0,255,255,255,255,80,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,136,233,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,219,0,0,0,0,0,0,72,219,0,0,112,219,0,0,0,0,0,0,0,0,0,0,152,219,0,0,192,219,0,0,0,0,0,0,0,0,0,0,232,219,0,0,16,220,0,0,56,220,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,81,0,0,0,32,233,0,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,120,233,0,0,0,0,0,0,4,0,0,0,81,0,0,0,184,232,0,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,16,233,0,0,0,0,0,0,4,0,0,0,113,2,0,0,40,230,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,232,0,0,0,0,0,0,4,0,0,0,113,2,0,0,152,227,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,230,0,0,0,0,0,0,2,0,0,0,81,0,0,0,24,227,0,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,112,227,0,0,0,0,0,0,2,0,0,0,81,0,0,0,152,226,0,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,240,226,0,0,0,0,0,0,4,0,0,0,81,0,0,0,48,226,0,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,136,226,0,0,0,0,0,0,2,0,0,0,121,0,0,0,128,225,0,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,0,226,0,0,0,0,0,0,2,0,0,0,121,0,0,0,208,224,0,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,80,225,0,0,0,0,0,0,2,0,0,0,121,0,0,0,32,224,0,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,160,224,0,0,0,0,0,0,2,0,0,0,225,0,0,0,248,222,0,0,1,0,0,0,0,228,91,225,0,224,255,96,4,0,0,0,0,0,0,0,224,223,0,0,0,0,0,0,2,0,0,0,225,0,0,0,208,221,0,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,184,222,0,0,0,0,0,0,2,0,0,0,33,1,0,0,96,220,0,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,136,221,0,0,0,0,0,0,2,5,4,6,6,8,8,8,8,8,9,9,9,9,9,9,9,5,6,6,7,7,8,8,9,8,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,8,9,9,9,9,9,9,9,9,9,7,7,7,8,8,9,9,9,9,9,9,9,9,9,10,10,9,7,7,7,8,8,9,9,9,9,9,9,9,9,9,9,10,10,8,8,8,9,9,9,9,10,10,10,9,10,10,10,10,10,10,8,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,7,7,9,9,7,7,8,8,10,10,11,11,4,7,7,9,9,10,10,8,8,10,10,10,11,10,11,4,7,7,9,9,10,10,8,8,10,9,11,11,11,11,7,9,9,12,12,11,12,10,10,11,10,12,11,11,11,7,9,9,11,11,13,12,9,9,11,10,11,11,12,11,9,10,10,12,12,14,14,10,10,11,12,12,11,11,11,9,10,11,11,13,14,13,10,11,11,11,12,11,12,12,7,8,8,10,9,11,10,11,12,12,11,12,14,12,13,7,8,8,9,10,10,11,12,12,12,11,12,12,12,13,9,9,9,11,11,13,12,12,12,12,11,12,12,13,12,8,10,10,11,10,11,12,12,12,12,12,12,14,12,12,9,11,11,11,12,12,12,12,13,13,12,12,13,13,12,10,11,11,12,11,12,12,12,11,12,13,12,12,12,13,11,11,12,12,12,13,12,12,11,12,13,13,12,12,13,12,11,12,12,13,13,12,13,12,13,13,13,13,14,13,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,4,4,11,11,11,11,11,11,11,11,11,11,11,11,3,11,8,11,11,11,11,11,11,11,11,11,11,11,11,3,9,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,5,5,6,6,7,7,7,7,8,8,5,6,6,7,7,7,7,8,8,8,8,5,6,6,7,7,7,7,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,7,8,8,8,8,8,8,9,8,9,9,8,8,8,8,8,8,8,9,9,9,9,8,8,8,8,8,8,8,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,10,11,11,4,6,6,7,7,9,9,11,11,13,12,4,6,6,7,7,9,9,11,11,12,12,6,7,7,9,9,11,11,12,12,13,13,6,7,7,9,9,11,11,12,12,13,13,8,9,9,11,11,12,12,13,13,14,14,8,9,9,11,11,12,12,13,13,14,14,9,11,11,12,12,13,13,14,14,15,15,9,11,11,12,12,13,13,14,14,15,14,11,12,12,13,13,14,14,15,15,16,16,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,4,5,5,7,7,8,8,9,9,9,9,4,5,5,7,7,8,8,9,9,9,9,6,7,7,8,8,8,8,9,9,9,9,6,7,7,8,8,8,8,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,9,9,8,10,10,8,10,10,5,9,9,7,10,10,8,10,10,4,10,10,9,12,12,9,11,11,7,12,11,10,11,13,10,13,13,7,12,12,10,13,12,10,13,13,4,10,10,9,12,12,9,12,12,7,12,12,10,13,13,10,12,13,7,11,12,10,13,13,10,13,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,6,6,7,7,9,9,4,4,5,6,6,7,7,9,9,4,4,4,6,6,7,7,9,9,6,6,6,7,7,8,8,9,9,6,6,6,7,7,8,8,9,9,7,7,7,8,8,8,9,10,10,7,7,7,8,8,9,8,10,10,9,9,9,9,9,10,10,10,10,9,9,9,9,9,10,10,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,5,8,7,8,8,10,10,4,6,6,8,8,8,8,10,10,7,8,8,9,9,9,9,11,11,7,8,8,9,9,9,9,11,11,8,8,8,9,9,10,10,12,11,8,8,8,9,9,10,10,11,11,9,10,10,11,11,11,11,13,12,9,10,10,11,11,12,12,12,13,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,9,9,6,7,7,9,9,6,7,7,9,9,9,9,9,11,11,9,9,9,11,11,6,7,7,9,9,7,7,8,9,10,7,7,8,9,10,9,9,10,10,11,9,9,10,10,12,6,7,7,9,9,7,8,7,10,9,7,8,7,10,9,9,10,9,12,11,10,10,9,12,10,9,10,10,12,11,9,10,10,12,11,9,10,10,12,12,11,11,12,12,13,11,11,12,12,13,9,9,10,12,11,9,10,10,12,12,10,10,10,12,12,11,12,11,13,12,11,12,11,13,12,6,7,7,9,9,7,8,8,10,10,7,8,7,10,9,10,10,10,12,12,10,10,10,12,11,7,8,7,10,10,7,7,9,10,11,8,9,9,11,10,10,10,11,10,12,10,10,11,12,12,7,8,8,10,10,7,9,8,11,10,8,8,9,11,11,10,11,10,12,11,10,11,11,12,12,9,10,10,12,12,9,10,10,12,12,10,11,11,13,12,11,10,12,10,14,12,12,12,13,14,9,10,10,12,12,9,11,10,12,12,10,11,11,12,12,11,12,11,14,12,12,12,12,14,14,5,7,7,9,9,7,7,7,9,10,7,8,8,10,10,10,10,10,11,11,10,10,10,12,12,7,8,8,10,10,8,9,8,11,10,7,8,9,10,11,10,10,10,11,12,10,10,11,11,13,6,7,8,10,10,8,9,9,10,10,7,9,7,11,10,10,11,10,12,12,10,11,10,12,10,9,10,10,12,12,10,11,11,13,12,9,10,10,12,12,12,12,12,14,13,11,11,12,11,14,9,10,10,11,12,10,11,11,12,13,9,10,10,12,12,12,12,12,14,13,11,12,10,14,11,9,9,10,11,12,9,10,10,12,12,9,10,10,12,12,12,12,12,14,14,11,12,12,13,12,9,10,9,12,12,9,10,11,12,13,10,11,10,13,11,12,12,13,13,14,12,12,12,13,13,9,10,10,12,12,10,11,10,13,12,10,10,11,12,13,12,13,12,14,13,12,12,12,13,14,11,12,11,14,13,10,10,11,13,13,12,12,12,14,13,12,10,14,10,15,13,14,14,14,14,11,11,12,13,14,10,12,11,13,13,12,12,12,13,15,12,13,11,15,12,13,13,14,14,14,9,10,9,12,12,9,10,10,12,12,10,10,10,12,12,11,11,12,12,13,12,12,12,14,14,9,10,10,12,12,10,11,10,13,12,10,10,11,12,13,12,12,12,14,13,12,12,13,13,14,9,10,10,12,13,10,10,11,11,12,9,11,10,13,12,12,12,12,13,14,12,13,12,14,13,11,12,11,13,13,12,13,12,14,13,10,11,12,13,13,13,13,13,14,15,12,11,14,12,14,11,11,12,12,13,12,12,12,13,14,10,12,10,14,13,13,13,13,14,15,12,14,11,15,10,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,7,7,6,7,7,9,9,6,7,7,9,9,8,10,9,11,11,9,9,9,11,11,6,8,8,10,10,8,10,10,11,11,8,9,10,11,11,10,11,11,12,12,10,11,11,12,13,6,8,8,10,10,8,10,9,11,11,8,10,9,11,11,10,11,11,12,12,10,11,11,12,12,9,11,11,14,13,10,12,11,14,14,10,12,11,14,13,12,13,13,15,14,12,13,13,15,14,8,11,11,13,14,10,11,12,13,15,10,11,12,14,14,12,13,13,14,15,12,13,13,14,15,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,13,11,12,12,13,14,8,10,10,12,12,9,11,12,13,14,10,12,12,13,13,12,12,13,14,14,11,13,13,15,15,7,10,10,12,12,9,12,11,14,12,10,11,12,13,14,12,13,12,14,14,12,13,13,15,16,10,12,12,15,14,11,12,13,15,15,11,13,13,15,16,14,14,15,15,16,13,14,15,17,15,9,12,12,14,15,11,13,12,15,15,11,13,13,15,15,13,14,13,15,14,13,14,14,17,0,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,14,7,10,10,12,12,10,12,12,13,13,9,11,12,12,13,11,12,13,15,15,11,12,13,14,15,8,10,10,12,12,10,12,11,13,13,10,12,11,13,13,11,13,13,15,14,12,13,12,15,13,9,12,12,14,14,11,13,13,16,15,11,12,13,16,15,13,14,15,16,16,13,13,15,15,16,10,12,12,15,14,11,13,13,14,16,11,13,13,15,16,13,15,15,16,17,13,15,14,16,15,8,11,11,14,15,10,12,12,15,15,10,12,12,15,16,14,15,15,16,17,13,14,14,16,16,9,12,12,15,15,11,13,14,15,17,11,13,13,15,16,14,15,16,19,17,13,15,15,0,17,9,12,12,15,15,11,14,13,16,15,11,13,13,15,16,15,15,15,18,17,13,15,15,17,17,11,15,14,18,16,12,14,15,17,17,12,15,15,18,18,15,15,16,15,19,14,16,16,0,0,11,14,14,16,17,12,15,14,18,17,12,15,15,18,18,15,17,15,18,16,14,16,16,18,18,7,11,11,14,14,10,12,12,15,15,10,12,13,15,15,13,14,15,16,16,14,15,15,18,18,9,12,12,15,15,11,13,13,16,15,11,12,13,16,16,14,15,15,17,16,15,16,16,17,17,9,12,12,15,15,11,13,13,15,17,11,14,13,16,15,13,15,15,17,17,15,15,15,18,17,11,14,14,17,15,12,14,15,17,18,13,13,15,17,17,14,16,16,19,18,16,15,17,17,0,11,14,14,17,17,12,15,15,18,0,12,15,14,18,16,14,17,17,19,0,16,18,15,0,16,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,5,5,6,6,5,6,6,5,7,6,6,7,8,6,7,8,5,6,6,6,8,7,6,8,7,5,6,6,7,8,8,6,7,7,6,8,7,7,7,9,8,9,9,6,7,8,7,9,7,8,9,9,5,6,6,6,7,7,7,8,8,6,8,7,8,9,9,7,7,9,6,7,8,8,9,9,7,9,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,7,9,10,7,9,9,5,8,8,7,10,9,7,9,9,5,8,8,8,10,10,8,10,10,7,10,10,9,10,12,10,12,12,7,10,10,9,12,11,10,12,12,5,8,8,8,10,10,8,10,10,7,10,10,10,12,12,9,11,12,7,10,10,10,12,12,9,12,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,13,9,15,9,16,8,10,13,7,5,8,6,9,7,10,7,10,11,11,6,7,8,8,9,9,9,12,16,8,5,8,6,8,6,9,7,10,12,11,7,7,7,6,7,7,7,11,15,7,5,8,6,7,5,7,6,9,13,13,9,9,8,6,6,5,5,9,14,8,6,8,6,6,4,5,3,5,13,9,9,11,8,10,7,8,4,5,12,11,16,17,15,17,12,13,8,8,15,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,8,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,x.GLOBAL_BASE+55148),E3([1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,25,0,0,0,255,255,255,255,45,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,184,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,245,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,246,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,246,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,246,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,246,0,0,0,0,0,0,184,246,0,0,224,246,0,0,0,0,0,0,0,0,0,0,8,247,0,0,48,247,0,0,88,247,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,81,0,0,0,80,2,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,2,1,0,0,0,0,0,4,0,0,0,81,0,0,0,232,1,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,64,2,1,0,0,0,0,0,4,0,0,0,113,2,0,0,88,255,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,1,1,0,0,0,0,0,4,0,0,0,113,2,0,0,200,252,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,255,0,0,0,0,0,0,2,0,0,0,81,0,0,0,72,252,0,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,160,252,0,0,0,0,0,0,2,0,0,0,169,0,0,0,96,251,0,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,16,252,0,0,0,0,0,0,2,0,0,0,25,0,0,0,40,251,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,251,0,0,0,0,0,0,4,0,0,0,81,0,0,0,192,250,0,0,1,0,0,0,0,176,19,225,0,176,19,97,2,0,0,0,0,0,0,0,24,251,0,0,0,0,0,0,2,0,0,0,225,0,0,0,152,249,0,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,128,250,0,0,0,0,0,0,2,0,0,0,185,1,0,0,128,247,0,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,64,249,0,0,0,0,0,0,1,6,5,7,7,9,9,9,9,10,12,12,10,11,11,10,11,11,11,10,11,6,8,8,9,9,10,10,9,10,11,11,10,11,11,11,11,10,11,11,11,11,6,7,8,9,9,9,10,11,10,11,12,11,10,11,11,11,11,11,11,12,10,8,9,9,10,9,10,10,9,10,10,10,10,10,9,10,10,10,10,9,10,10,9,9,9,9,10,10,9,9,10,10,11,10,9,12,10,11,10,9,10,10,10,8,9,9,10,9,10,9,9,10,10,9,10,9,11,10,10,10,10,10,9,10,8,8,9,9,10,9,11,9,8,9,9,10,11,10,10,10,11,12,9,9,11,8,9,8,11,10,11,10,10,9,11,10,10,10,10,10,10,10,11,11,11,11,8,9,9,9,10,10,10,11,11,12,11,12,11,10,10,10,12,11,11,11,10,8,10,9,11,10,10,11,12,10,11,12,11,11,12,11,12,12,10,11,11,10,9,9,10,11,12,10,10,10,11,10,11,11,10,12,12,10,11,10,11,12,10,9,10,10,11,10,11,11,11,11,11,12,11,11,11,9,11,10,11,10,11,10,9,9,10,11,11,11,10,10,11,12,12,11,12,11,11,11,12,12,12,12,11,9,11,11,12,10,11,11,11,11,11,11,12,11,11,12,11,11,11,10,11,11,9,11,10,11,11,11,10,10,10,11,11,11,12,10,11,10,11,11,11,11,12,9,11,10,11,11,10,10,11,11,9,11,11,12,10,10,10,10,10,11,11,10,9,10,11,11,12,11,10,10,12,11,11,12,11,12,11,11,10,10,11,11,10,12,11,10,11,10,11,10,10,10,11,11,10,10,11,11,11,11,10,10,10,12,11,11,11,11,10,9,10,11,11,11,12,11,11,11,12,10,11,11,11,9,10,11,11,11,11,11,11,10,10,11,11,12,11,10,11,12,11,10,10,11,9,10,11,11,11,11,11,10,11,11,10,12,11,11,11,12,11,11,11,10,10,11,11,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,5,5,5,5,10,10,11,11,11,11,11,11,11,11,5,7,6,8,8,9,10,11,11,11,11,11,11,11,11,6,6,7,9,7,11,10,11,11,11,11,11,11,11,11,5,6,6,11,8,11,11,11,11,11,11,11,11,11,11,5,6,6,9,10,11,10,11,11,11,11,11,11,11,11,7,10,10,11,11,11,11,11,11,11,11,11,11,11,11,7,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,4,6,5,7,7,4,5,6,7,7,6,7,7,7,7,6,7,7,7,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,9,9,11,11,12,12,16,16,3,6,6,9,9,11,11,12,12,13,14,18,16,3,6,7,9,9,11,11,13,12,14,14,17,16,7,9,9,11,11,12,12,14,14,14,14,17,16,7,9,9,11,11,13,12,13,13,14,14,17,0,9,11,11,12,13,14,14,14,13,15,14,17,17,9,11,11,12,12,14,14,13,14,14,15,0,0,11,12,12,15,14,15,14,15,14,15,16,17,0,11,12,13,13,13,14,14,15,14,15,15,0,0,12,14,14,15,15,14,16,15,15,17,16,0,18,13,14,14,15,14,15,14,15,16,17,16,0,0,17,17,18,0,16,18,16,0,0,0,17,0,0,16,0,0,16,16,0,15,0,17,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,7,8,8,10,10,4,6,6,8,8,8,8,10,10,6,8,8,9,9,9,9,11,11,7,8,8,9,9,9,9,11,11,7,8,8,9,9,10,10,12,11,7,8,8,9,9,10,10,11,11,9,10,10,11,11,11,12,12,12,9,10,10,11,11,12,12,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,5,6,7,9,9,6,7,6,9,9,9,9,9,10,11,9,9,9,11,10,6,7,7,10,10,7,7,8,10,10,7,8,8,10,10,10,10,10,10,11,9,10,10,11,12,6,7,7,10,10,7,8,8,10,10,7,8,7,10,10,9,10,10,12,11,10,10,10,11,10,9,10,10,12,11,10,10,10,13,11,9,10,10,12,12,11,11,12,12,13,11,11,11,12,13,9,10,10,12,12,10,10,11,12,12,10,10,11,12,12,11,11,11,13,13,11,12,12,13,13,5,7,7,10,10,7,8,8,10,10,7,8,8,10,10,10,11,11,12,12,10,11,10,12,12,7,8,8,11,11,7,8,9,10,11,8,9,9,11,11,11,10,11,10,12,10,11,11,12,13,7,8,8,10,11,8,9,8,12,10,8,9,9,11,12,10,11,10,13,11,10,11,11,13,12,9,11,10,13,12,10,10,11,12,12,10,11,11,13,13,12,10,13,11,14,11,12,12,15,13,9,11,11,13,13,10,11,11,13,12,10,11,11,12,14,12,13,11,14,12,12,12,12,14,14,5,7,7,10,10,7,8,8,10,10,7,8,8,11,10,10,11,11,12,12,10,11,10,12,12,7,8,8,10,11,8,9,9,12,11,8,8,9,10,11,10,11,11,12,13,11,10,11,11,13,6,8,8,10,11,8,9,9,11,11,7,9,7,11,10,10,11,11,12,12,10,11,10,13,10,9,11,10,13,12,10,12,11,13,13,10,10,11,12,13,11,12,13,15,14,11,11,13,12,13,9,10,11,12,13,10,11,11,12,13,10,11,10,13,12,12,13,13,13,14,12,12,11,14,11,8,10,10,12,13,10,11,11,13,13,10,11,10,13,13,12,13,14,15,14,12,12,12,14,13,9,10,10,13,12,10,10,12,13,13,10,11,11,15,12,12,12,13,15,14,12,13,13,15,13,9,10,11,12,13,10,12,10,13,12,10,11,11,12,13,12,14,12,15,13,12,12,12,15,14,11,12,11,14,13,11,11,12,14,14,12,13,13,14,13,13,11,15,11,15,14,14,14,16,15,11,12,12,13,14,11,13,11,14,14,12,12,13,14,15,12,14,12,15,12,13,15,14,16,15,8,10,10,12,12,10,10,10,12,13,10,11,11,13,13,12,12,12,13,14,13,13,13,15,15,9,10,10,12,12,10,11,11,13,12,10,10,11,13,13,12,12,12,14,14,12,12,13,15,14,9,10,10,13,12,10,10,12,12,13,10,11,10,13,13,12,13,13,14,14,12,13,12,14,13,11,12,12,14,13,12,13,12,14,14,10,12,12,14,14,14,14,14,16,14,13,12,14,12,15,10,12,12,14,15,12,13,13,14,16,11,12,11,15,14,13,14,14,14,15,13,14,11,14,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,7,7,6,7,7,9,9,6,7,7,9,9,8,10,9,11,11,8,9,9,11,11,6,8,8,10,10,8,10,10,11,11,8,10,10,11,11,10,11,11,12,12,10,11,11,12,13,6,8,8,10,10,8,10,10,11,11,8,10,10,11,11,9,10,11,12,12,10,11,11,12,12,8,11,11,14,13,10,12,11,15,13,10,12,11,14,14,12,13,12,16,14,12,14,12,16,15,8,11,11,13,14,10,11,12,13,15,10,11,12,13,15,11,12,13,14,15,12,12,14,14,16,5,8,8,11,11,9,11,11,12,12,8,10,11,12,12,11,12,12,15,14,11,12,12,14,14,7,11,10,13,12,10,11,12,13,14,10,12,12,14,13,12,13,13,14,15,12,13,13,15,15,7,10,11,12,13,10,12,11,14,13,10,12,13,13,15,12,13,12,14,14,11,13,13,15,16,9,12,12,15,14,11,13,13,15,16,11,13,13,16,16,13,14,15,15,15,12,14,15,17,16,9,12,12,14,15,11,13,13,15,16,11,13,13,16,18,13,14,14,17,16,13,15,15,17,18,5,8,9,11,11,8,11,11,12,12,8,10,11,12,12,11,12,12,14,14,11,12,12,14,15,7,11,10,12,13,10,12,12,14,13,10,11,12,13,14,11,13,13,15,14,12,13,13,14,15,7,10,11,13,13,10,12,12,13,14,10,12,12,13,13,11,13,13,16,16,12,13,13,15,14,9,12,12,16,15,10,13,13,15,15,11,13,13,17,15,12,15,15,18,17,13,14,14,15,16,9,12,12,15,15,11,13,13,15,16,11,13,13,15,15,12,15,15,16,16,13,15,14,17,15,7,11,11,15,15,10,13,13,16,15,10,13,13,15,16,14,15,15,17,19,13,15,14,15,18,9,12,12,16,16,11,13,14,17,16,11,13,13,17,16,15,15,16,17,19,13,15,16,0,18,9,12,12,16,15,11,14,13,17,17,11,13,14,16,16,15,16,16,19,18,13,15,15,17,19,11,14,14,19,16,12,14,15,0,18,12,16,15,18,17,15,15,18,16,19,14,15,17,19,19,11,14,14,18,19,13,15,14,19,19,12,16,15,18,17,15,17,15,0,16,14,17,16,19,0,7,11,11,14,14,10,12,12,15,15,10,13,13,16,15,13,15,15,17,0,14,15,15,16,19,9,12,12,16,16,11,14,14,16,16,11,13,13,16,16,14,17,16,19,0,14,18,17,17,19,9,12,12,15,16,11,13,13,15,17,12,14,13,19,16,13,15,15,17,19,15,17,16,17,19,11,14,14,19,16,12,15,15,19,17,13,14,15,17,19,14,16,17,19,19,16,15,16,17,19,11,15,14,16,16,12,15,15,19,0,12,14,15,19,19,14,16,16,0,18,15,19,14,18,16,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,6,7,8,6,7,8,5,7,7,6,8,8,7,9,7,5,7,7,7,9,9,7,8,8,6,9,8,7,7,10,8,10,10,6,8,8,8,10,8,8,10,10,5,7,7,7,8,8,7,8,9,6,8,8,8,10,10,8,8,10,6,8,9,8,10,10,7,10,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,8,10,10,7,10,10,5,8,8,7,10,10,8,10,10,4,9,8,8,11,11,8,11,11,7,11,11,10,11,13,10,13,13,7,11,11,10,13,12,10,13,13,5,9,8,8,11,11,8,11,11,7,11,11,9,13,13,10,12,13,7,11,11,10,13,13,10,13,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,11,9,12,8,7,10,6,4,5,5,7,5,6,16,9,5,5,6,7,7,9,16,7,4,6,5,7,5,7,17,10,7,7,8,7,7,8,18,7,5,6,4,5,4,5,15,7,6,7,5,6,4,5,15,12,13,18,12,17,11,9,17,6,0,0,0,6,0,0,0,120,45,1,0,160,45,1,0,200,45,1,0,240,45,1,0,24,46,1,0,0,0,0,0,56,43,1,0,96,43,1,0,136,43,1,0,176,43,1,0,216,43,1,0,0,0,0,0,216,39,1,0,0,40,1,0,40,40,1,0,80,40,1,0,120,40,1,0,160,40,1,0,200,40,1,0,240,40,1,0,120,36,1,0,160,36,1,0,200,36,1,0,240,36,1,0,24,37,1,0,64,37,1,0,104,37,1,0,144,37,1,0,80,31,1,0,120,31,1,0,160,31,1,0,200,31,1,0,240,31,1,0,24,32,1,0,64,32,1,0,104,32,1,0,144,32,1,0,184,32,1,0,224,32,1,0,8,33,1,0,40,26,1,0,80,26,1,0,120,26,1,0,160,26,1,0,200,26,1,0,240,26,1,0,24,27,1,0,64,27,1,0,104,27,1,0,144,27,1,0,184,27,1,0,224,27,1,0,232,23,1,0,16,24,1,0,56,24,1,0,96,24,1,0,136,24,1,0,0,0,0,0,216,16,1,0,0,17,1,0,40,17,1,0,80,17,1,0,120,17,1,0,160,17,1,0,200,17,1,0,240,17,1,0,24,18,1,0,64,18,1,0,104,18,1,0,144,18,1,0,184,18,1,0,224,18,1,0,8,19,1,0,0,0,0,0,200,9,1,0,240,9,1,0,24,10,1,0,64,10,1,0,104,10,1,0,144,10,1,0,184,10,1,0,224,10,1,0,8,11,1,0,48,11,1,0,88,11,1,0,128,11,1,0,168,11,1,0,208,11,1,0,248,11,1,0,0,0,0,0,160,4,1,0,200,4,1,0,240,4,1,0,24,5,1,0,64,5,1,0,104,5,1,0,144,5,1,0,184,5,1,0,224,5,1,0,8,6,1,0,48,6,1,0,88,6,1,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,192,9,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,128,9,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,64,9,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,192,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,160,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,32,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,8,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,208,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,80,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,56,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,0,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,128,6,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,8,4,8,4,8,4,8,5,8,5,8,6,8,4,8,4,8,5,8,5,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,3,4,3,5,4,6,4,6,5,7,6,7,6,8,6,8,7,9,8,10,8,12,9,13,10,15,10,15,11,14,0,0,0,0,0,0,0,4,4,4,4,4,4,3,4,4,4,4,4,5,4,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,4,3,4,4,5,5,6,6,7,7,7,8,8,11,8,9,9,9,10,11,11,11,9,10,10,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,4,3,4,4,5,4,5,4,6,4,6,5,6,5,7,5,7,6,8,6,8,6,8,7,8,7,9,7,9,8,0,0,0,0,0,0,0,4,5,4,4,4,5,4,4,4,5,4,5,4,5,3,5,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,5,3,5,4,5,4,5,4,5,5,5,5,6,5,6,5,7,5,8,6,8,6,8,6,8,6,8,7,9,7,9,7,11,9,11,11,12,11,14,12,14,16,14,16,13,16,14,16,12,15,13,16,14,16,13,14,12,15,13,15,13,13,13,15,12,14,14,15,13,15,12,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,2,4,5,4,5,4,5,4,5,5,5,5,5,5,6,5,6,5,6,6,7,6,7,6,8,7,8,7,8,7,8,7,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,5,6,6,6,6,5,6,6,7,6,7,6,7,6,7,6,8,7,8,7,8,7,8,7,8,7,9,7,9,7,9,7,9,8,9,8,10,8,10,8,10,7,10,6,10,8,10,8,11,7,10,7,11,8,11,11,12,12,11,11,12,11,13,11,13,11,13,12,15,12,13,13,14,14,14,14,14,15,15,15,16,14,17,19,19,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,2,4,6,17,4,5,7,17,8,7,10,17,17,17,17,17,3,4,6,15,3,3,6,15,7,6,9,17,17,17,17,17,6,8,10,17,6,6,8,16,9,8,10,17,17,15,16,17,17,17,17,17,12,15,15,16,12,15,15,16,16,16,16,16,3,3,3,14,5,4,4,11,8,6,6,10,17,12,11,17,6,5,5,15,5,3,4,11,8,5,5,8,16,9,10,14,10,8,9,17,8,6,6,13,10,7,7,10,16,11,13,14,17,17,17,17,17,16,16,16,16,15,16,16,16,16,16,16,1,2,3,6,5,4,7,7,1,0,0,0,16,0,0,0,200,16,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,192,16,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,192,15,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,128,15,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,0,15,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,224,14,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,96,14,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,64,14,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,192,13,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,168,13,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,112,13,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,240,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,216,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,160,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,32,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,6,5,7,5,7,7,7,7,7,5,7,5,7,5,7,5,7,7,7,7,7,4,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,4,3,4,4,4,5,5,6,5,6,5,7,6,6,6,7,7,7,8,9,9,9,12,10,11,10,10,12,10,10,0,0,0,0,0,0,0,3,4,4,4,4,4,4,4,4,5,4,5,4,5,4,4,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,6,3,7,3,7,5,7,7,7,7,7,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,4,4,4,4,4,4,5,5,5,5,6,6,7,6,7,6,8,6,9,7,9,7,9,9,11,9,12,10,12,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,3,4,3,4,4,5,4,5,5,5,6,6,6,7,6,8,6,8,6,9,7,10,7,10,7,10,7,12,7,12,7,12,9,12,11,12,10,12,10,12,11,12,12,12,10,12,10,12,10,12,9,12,11,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,10,10,12,12,12,12,12,10,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,2,4,5,4,5,4,5,4,5,5,5,5,5,5,6,5,6,5,6,6,6,6,7,7,7,7,7,7,8,8,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,5,7,5,7,4,7,4,8,4,8,4,8,4,8,3,8,4,9,4,9,4,9,4,9,4,9,5,9,5,9,6,9,7,9,8,9,9,9,10,9,11,9,14,9,15,10,15,10,15,10,15,10,15,11,15,10,14,12,14,11,14,13,14,13,15,15,15,12,15,15,15,13,15,13,15,13,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,14,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,7,6,7,6,7,6,7,6,5,5,5,5,5,5,6,5,6,5,6,5,6,5,6,5,6,5,7,5,7,5,7,5,8,5,8,5,8,5,9,5,9,6,10,6,10,6,11,6,11,6,11,6,11,6,11,6,11,6,11,6,12,7,11,7,11,7,11,7,11,7,10,7,11,7,11,7,12,7,11,8,11,8,11,8,11,8,13,8,12,9,11,9,11,9,11,10,12,10,12,9,12,10,12,11,14,12,16,12,12,11,14,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,16,16,16,16,2,4,7,13,4,5,7,15,8,7,10,16,16,14,16,16,2,4,7,16,3,4,7,14,8,8,10,16,16,16,15,16,6,8,11,16,7,7,9,16,11,9,13,16,16,16,15,16,16,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16,3,3,6,16,5,5,7,16,9,8,11,16,16,16,16,16,5,5,8,16,5,5,7,16,8,7,9,16,16,16,16,16,9,9,12,16,6,8,11,16,9,10,11,16,16,16,16,16,16,16,16,16,13,16,16,16,15,16,16,16,16,16,16,16,5,4,7,16,6,5,8,16,9,8,10,16,16,16,16,16,5,5,7,15,5,4,6,15,7,6,8,16,16,16,16,16,9,9,11,15,7,7,9,16,8,8,9,16,16,16,16,16,16,16,16,16,15,15,15,16,15,15,14,16,16,16,16,16,8,8,11,16,8,9,10,16,11,10,14,16,16,16,16,16,6,8,10,16,6,7,10,16,8,8,11,16,14,16,16,16,10,11,14,16,9,9,11,16,10,10,11,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,12,16,15,16,12,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,1,2,3,6,4,7,5,7,2,6,8,9,7,11,13,13,1,3,5,5,6,6,12,10,1,0,0,0,16,0,0,0,216,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,208,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,208,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,144,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,16,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,240,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,112,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,80,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,208,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,184,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,128,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,0,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,232,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,176,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,48,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,5,2,6,3,6,4,7,4,7,5,9,5,11,6,11,6,11,7,11,6,11,6,11,9,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,2,4,2,5,3,5,4,6,6,6,7,7,8,7,8,7,8,7,9,8,9,8,9,8,10,8,11,9,12,9,12,0,0,0,0,0,0,0,4,5,4,5,4,5,4,5,3,5,3,5,3,5,4,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,7,3,8,3,10,3,8,3,9,3,8,4,9,4,9,5,9,6,10,6,9,7,11,7,12,9,13,10,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,4,3,4,4,4,4,5,5,5,5,5,6,5,7,5,8,6,8,6,9,7,10,7,10,8,10,8,11,9,11,0,0,0,0,0,0,0,4,5,4,5,3,5,3,5,3,5,4,4,4,4,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,4,3,4,4,5,4,5,4,5,5,6,5,6,5,7,5,7,6,7,6,8,7,8,7,8,7,9,8,9,9,9,9,10,10,10,11,9,12,9,12,9,15,10,14,9,13,10,13,10,12,10,12,10,13,10,12,11,13,11,14,12,13,13,14,14,13,14,15,14,16,13,13,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,15,1,5,5,5,5,5,5,5,6,5,6,5,6,5,6,5,6,6,7,7,7,7,8,7,8,8,9,8,10,9,10,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,8,4,9,4,9,4,9,4,9,4,9,4,9,4,9,4,9,4,9,4,8,4,8,4,9,5,9,5,9,5,9,5,9,6,10,6,10,7,10,8,11,9,11,11,12,13,12,14,13,15,13,15,14,16,14,17,15,17,15,15,16,16,15,16,16,16,15,18,16,15,17,17,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,2,5,5,4,5,4,5,4,5,4,6,5,6,5,6,5,6,5,7,5,7,6,8,6,8,6,8,6,9,6,9,6,5,5,5,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,7,5,7,5,7,5,7,5,8,6,8,6,8,6,9,6,9,6,10,6,10,6,11,6,11,7,11,7,12,7,12,7,12,7,12,7,12,7,12,7,12,7,12,8,13,8,12,8,12,8,13,8,13,9,13,9,13,9,13,9,12,10,12,10,13,10,14,11,14,12,14,13,14,13,14,14,15,16,15,15,15,14,15,17,21,22,22,21,22,22,22,22,22,22,21,21,21,21,21,21,21,21,21,21,2,3,7,13,4,4,7,15,8,6,9,17,21,16,15,21,2,5,7,11,5,5,7,14,9,7,10,16,17,15,16,21,4,7,10,17,7,7,9,15,11,9,11,16,21,18,15,21,18,21,21,21,15,17,17,19,21,19,18,20,21,21,21,20,1,5,7,21,5,8,9,21,10,9,12,20,20,16,20,20,4,8,9,20,6,8,9,20,11,11,13,20,20,15,17,20,9,11,14,20,8,10,15,20,11,13,15,20,20,20,20,20,20,20,20,20,13,20,20,20,18,18,20,20,20,20,20,20,3,6,8,20,6,7,9,20,10,9,12,20,20,20,20,20,5,7,9,20,6,6,9,20,10,9,12,20,20,20,20,20,8,10,13,20,8,9,12,20,11,10,12,20,20,20,20,20,18,20,20,20,15,17,18,20,18,17,18,20,20,20,20,20,7,10,12,20,8,9,11,20,14,13,14,20,20,20,20,20,6,9,12,20,7,8,11,20,12,11,13,20,20,20,20,20,9,11,15,20,8,10,14,20,12,11,14,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,11,16,18,20,15,15,17,20,20,17,20,20,20,20,20,20,9,14,16,20,12,12,15,20,17,15,18,20,20,20,20,20,16,19,18,20,15,16,20,20,17,17,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,1,4,2,6,3,7,5,7,2,10,8,14,7,12,11,14,1,5,3,7,4,9,7,13,1,0,0,0,0,1,0,0,40,25,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,32,25,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,10,0,0,0,16,25,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,240,24,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,176,24,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,2,4,3,5,4,5,5,5,5,6,6,6,6,6,6,6,7,7,8,6,9,7,12,11,16,13,16,12,15,13,15,12,14,12,15,15,15,0,0,0,0,0,0,0,0,0,0,3,3,3,4,3,4,4,4,4,4,5,5,5,6,6,0,0,0,0,0,0,0,0,0,0,0,2,3,2,3,3,3,0,0,0,0,0,0,1,3,2,3,0,0,0,0,4,5,6,11,5,5,6,10,7,7,6,6,14,13,9,9,6,6,6,10,6,6,6,9,8,7,7,9,14,12,8,11,8,7,7,11,8,8,7,11,9,9,7,9,13,11,9,13,19,19,18,19,15,16,16,19,11,11,10,13,10,10,9,15,5,5,6,13,6,6,6,11,8,7,6,7,14,11,10,11,6,6,6,12,7,6,6,11,8,7,7,11,13,11,9,11,9,7,6,12,8,7,6,12,9,8,8,11,13,10,7,13,19,19,17,19,17,14,14,19,12,10,8,12,13,10,9,16,7,8,7,12,7,7,7,11,8,7,7,8,12,12,11,11,8,8,7,12,8,7,6,11,8,7,7,10,10,11,10,11,9,8,8,13,9,8,7,12,10,9,7,11,9,8,7,11,18,18,15,18,18,16,17,18,15,11,10,18,11,9,9,18,16,16,13,16,12,11,10,16,12,11,9,6,15,12,11,13,16,16,14,14,13,11,12,16,12,9,9,13,13,10,10,12,17,18,17,17,14,15,14,16,14,12,14,15,12,10,11,12,18,18,18,18,18,18,18,18,18,12,13,18,16,11,9,18,1,0,0,0,8,0,0,0,72,31,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,8,31,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,200,30,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,72,30,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,40,30,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,168,29,1],"i8",N3,x.GLOBAL_BASE+62212),E3([1,0,0,0,18,0,0,0,144,29,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,88,29,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,216,28,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,192,28,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,136,28,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,8,28,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,4,3,4,4,4,5,4,7,5,8,5,11,6,10,6,12,7,12,7,12,8,12,8,12,10,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,3,6,3,6,4,7,4,7,4,7,4,8,4,8,4,8,4,8,4,9,4,9,5,10,5,10,7,10,8,10,8,0,0,0,0,0,0,0,4,4,4,4,4,4,4,5,3,5,3,5,4,6,4,6,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,1,5,3,5,3,5,4,7,5,10,7,10,7,12,10,14,10,14,9,14,11,14,14,14,13,13,13,13,13,13,13,0,0,0,0,0,0,0,4,5,4,6,4,8,3,9,3,9,2,9,3,8,4,9,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,5,3,5,3,6,3,6,4,6,4,7,4,7,5,8,5,8,6,9,7,9,7,9,8,10,9,10,9,11,10,11,11,11,11,11,11,12,12,12,13,12,13,12,14,12,15,12,14,12,16,13,17,13,17,14,17,14,16,13,17,14,17,14,17,15,17,15,15,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,16,16,16,16,16,16,16,16,16,16,2,5,5,4,5,4,5,4,5,5,5,5,5,5,6,5,6,5,6,5,7,6,7,6,7,6,8,6,9,7,9,7,5,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,7,5,7,5,7,5,7,5,7,5,7,5,8,5,8,5,8,5,8,5,8,6,8,6,8,6,9,6,9,6,9,6,9,6,9,7,9,7,9,7,9,7,10,7,10,8,10,8,10,8,10,8,10,8,11,8,11,8,11,8,11,8,11,9,12,9,12,9,12,9,12,9,12,10,12,10,13,11,13,11,14,12,14,13,15,14,16,14,17,15,18,16,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,3,6,10,17,4,8,11,20,8,10,11,20,20,20,20,20,2,4,8,18,4,6,8,17,7,8,10,20,20,17,20,20,3,5,8,17,3,4,6,17,8,8,10,17,17,12,16,20,13,13,15,20,10,10,12,20,15,14,15,20,20,20,19,19,1,4,10,19,3,8,13,19,7,12,19,19,19,19,19,19,2,6,11,19,8,13,19,19,9,11,19,19,19,19,19,19,6,7,13,19,9,13,19,19,10,13,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,1,3,4,7,2,5,6,7,1,0,0,0,8,0,0,0,112,36,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,48,36,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,240,35,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,112,35,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,80,35,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,208,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,184,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,128,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,0,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,232,33,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,176,33,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,48,33,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,1,6,3,7,3,8,4,8,5,8,8,8,9,7,8,8,7,7,7,8,9,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,3,5,4,6,4,6,4,7,4,7,4,8,4,8,4,9,4,9,4,10,4,10,5,10,5,11,5,12,6,12,6,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,5,4,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,8,3,8,4,8,4,8,6,8,5,8,4,8,4,8,6,8,7,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,4,4,4,4,5,4,5,4,6,5,7,5,7,6,8,6,8,6,9,7,9,7,10,7,9,8,11,8,11,0,0,0,0,0,0,0,4,5,4,5,4,5,3,5,3,5,3,5,4,4,4,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,3,5,3,6,4,6,4,7,4,7,4,7,4,8,4,8,4,9,5,9,5,9,5,9,6,10,6,10,6,11,7,10,7,10,8,11,9,11,9,11,10,11,11,12,11,11,12,15,15,12,14,11,14,12,14,11,14,13,14,12,14,11,14,11,14,12,14,11,14,11,14,13,13,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,2,5,5,5,5,5,5,4,5,5,5,5,5,5,5,5,6,5,6,5,6,5,7,6,7,6,7,6,8,6,8,6,5,5,5,5,5,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,6,6,6,7,6,7,6,7,6,7,6,7,6,7,6,8,6,8,6,8,7,8,7,8,7,8,7,9,7,9,8,9,8,9,8,10,8,10,9,10,9,10,9,11,9,11,9,10,10,11,10,11,10,11,11,11,11,11,11,12,13,14,14,14,15,15,16,16,16,17,15,16,15,16,16,17,17,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,7,6,9,17,7,6,8,17,12,9,11,16,16,16,16,16,5,4,7,16,5,3,6,14,9,6,8,15,16,16,16,16,5,4,6,13,3,2,4,11,7,4,6,13,16,11,10,14,12,12,12,16,9,7,10,15,12,9,11,16,16,15,15,16,1,6,12,16,4,12,15,16,9,15,16,16,16,16,16,16,2,5,11,16,5,11,13,16,9,13,16,16,16,16,16,16,4,8,12,16,5,9,12,16,9,13,15,16,16,16,16,16,15,16,16,16,11,14,13,16,12,15,16,16,16,16,16,15,1,6,3,7,2,4,5,7,1,0,0,0,64,0,0,0,152,39,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,152,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,136,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,104,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,40,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,24,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,248,37,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,184,37,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,4,3,6,3,7,3,8,5,8,6,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,0,0,0,0,0,0,0,0,0,2,3,3,4,3,4,4,5,4,6,5,6,7,6,8,8,0,0,0,0,0,0,0,0,3,3,3,3,2,4,3,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,5,2,5,3,5,3,6,3,6,4,7,6,7,8,7,9,8,9,9,9,10,9,11,13,11,13,10,10,13,13,13,13,13,13,12,12,12,12,0,0,0,0,0,0,0,0,0,3,4,3,4,3,5,3,6,3,6,4,6,4,7,5,7,0,0,0,0,0,0,0,0,2,3,3,3,3,4,3,4,0,0,0,0,0,0,0,5,6,8,15,6,9,10,15,10,11,12,15,15,15,15,15,4,6,7,15,6,7,8,15,9,8,9,15,15,15,15,15,6,8,9,15,7,7,8,15,10,9,10,15,15,15,15,15,15,13,15,15,15,10,11,15,15,13,13,15,15,15,15,15,4,6,7,15,6,8,9,15,10,10,12,15,15,15,15,15,2,5,6,15,5,6,7,15,8,6,7,15,15,15,15,15,5,6,8,15,5,6,7,15,9,6,7,15,15,15,15,15,14,12,13,15,12,10,11,15,15,15,15,15,15,15,15,15,7,8,9,15,9,10,10,15,15,14,14,15,15,15,15,15,5,6,7,15,7,8,9,15,12,9,10,15,15,15,15,15,7,7,9,15,7,7,8,15,12,8,9,15,15,15,15,15,13,13,14,15,12,11,12,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,13,13,13,15,15,15,15,15,15,15,15,15,15,15,15,15,15,12,13,15,15,12,13,15,15,14,15,15,15,15,15,15,15,15,15,15,15,15,13,15,15,15,15,15,15,15,15,15,7,5,5,9,9,6,6,9,12,8,7,8,11,8,9,15,6,3,3,7,7,4,3,6,9,6,5,6,8,6,8,15,8,5,5,9,8,5,4,6,10,7,5,5,11,8,7,15,14,15,13,13,13,13,8,11,15,10,7,6,11,9,10,15,1,0,0,0,64,0,0,0,248,42,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,248,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,232,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,200,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,136,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,120,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,88,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,24,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,7,2,7,3,8,4,9,5,9,8,10,11,11,12,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,13,13,13,13,0,0,0,0,0,0,0,0,0,3,4,3,6,3,6,3,6,3,7,3,8,4,9,4,9,0,0,0,0,0,0,0,0,3,3,2,3,3,4,3,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,5,3,5,3,5,4,5,4,5,5,5,5,6,5,6,5,6,5,6,5,6,5,7,8,9,11,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,0,0,3,3,3,4,4,4,4,5,4,5,4,5,4,6,4,6,0,0,0,0,0,0,0,0,3,3,3,3,3,3,3,3,0,0,0,0,0,0,0,8,13,17,17,8,11,17,17,11,13,17,17,17,17,17,17,6,10,16,17,6,10,15,17,8,10,16,17,17,17,17,17,9,13,15,17,8,11,17,17,10,12,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,6,11,15,17,7,10,15,17,8,10,17,17,17,15,17,17,4,8,13,17,4,7,13,17,6,8,15,17,16,15,17,17,6,11,15,17,6,9,13,17,8,10,17,17,15,17,17,17,16,17,17,17,12,14,15,17,13,14,15,17,17,17,17,17,5,10,14,17,5,9,14,17,7,9,15,17,15,15,17,17,3,7,12,17,3,6,11,17,5,7,13,17,12,12,17,17,5,9,14,17,3,7,11,17,5,8,13,17,13,11,16,17,12,17,17,17,9,14,15,17,10,11,14,17,16,14,17,17,8,12,17,17,8,12,17,17,10,12,17,17,17,17,17,17,5,10,17,17,5,9,15,17,7,9,17,17,13,13,17,17,7,11,17,17,6,10,15,17,7,9,15,17,12,11,17,17,12,15,17,17,11,14,17,17,11,10,15,17,17,16,17,17,10,7,8,13,9,6,7,11,10,8,8,12,17,17,17,17,7,5,5,9,6,4,4,8,8,5,5,8,16,14,13,16,7,5,5,7,6,3,3,5,8,5,4,7,14,12,12,15,10,7,8,9,7,5,5,6,9,6,5,5,15,12,9,10,1,0,0,0,0,1,0,0,120,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,112,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,10,0,0,0,96,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,64,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,0,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,3,5,3,5,3,6,4,7,4,7,5,7,6,7,6,7,8,10,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,4,3,4,3,4,3,5,3,5,4,5,4,6,4,6,0,0,0,0,0,0,0,0,0,0,0,2,2,3,3,3,3,0,0,0,0,0,0,2,2,2,2,0,0,0,0,6,7,7,12,6,6,7,12,7,6,6,10,15,12,11,13,7,7,8,13,7,7,8,12,7,7,7,11,12,12,11,13,10,9,9,11,9,9,9,10,10,8,8,12,14,12,12,14,11,11,12,14,11,12,11,15,15,12,13,15,15,15,15,15,6,6,7,10,6,6,6,11,7,6,6,9,14,12,11,13,7,7,7,10,6,6,7,9,7,7,6,10,13,12,10,12,9,9,9,11,9,9,8,9,9,8,8,10,13,12,10,12,12,12,11,13,12,12,11,12,15,13,12,15,15,15,14,14,6,6,6,8,6,6,5,6,7,7,6,5,11,10,9,8,7,6,6,7,6,6,5,6,7,7,6,6,11,10,9,8,8,8,8,9,8,8,7,8,8,8,6,7,11,10,9,9,14,11,10,14,14,11,10,15,13,11,9,11,15,12,12,11,11,9,8,8,10,9,8,9,11,10,9,8,12,11,12,11,13,10,8,9,11,10,8,9,10,9,8,9,10,8,12,12,15,11,10,10,13,11,10,10,8,8,7,12,10,9,11,12,15,12,11,15,13,11,11,15,12,14,11,13,15,15,13,13,1,0,0,0,0,1,0,0,184,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,176,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,10,0,0,0,160,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,128,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,64,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,3,5,3,5,3,5,4,6,5,6,5,7,6,6,7,7,9,9,11,11,16,11,14,10,11,11,13,16,15,15,15,15,15,15,15,15,15,0,0,0,0,0,0,0,0,0,0,3,3,4,3,4,3,4,4,5,4,5,4,6,5,6,0,0,0,0,0,0,0,0,0,0,0,3,2,3,2,3,3,0,0,0,0,0,0,2,2,2,2,0,0,0,0,7,7,7,11,6,6,7,11,7,6,6,10,12,10,10,13,7,7,8,11,7,7,7,11,7,6,7,10,11,10,10,13,10,10,9,12,9,9,9,11,8,8,8,11,13,11,10,14,15,15,14,15,15,14,13,14,15,12,12,17,17,17,17,17,7,7,6,9,6,6,6,9,7,6,6,8,11,11,10,12,7,7,7,9,7,6,6,9,7,6,6,9,13,10,10,11,10,9,8,10,9,8,8,10,8,8,7,9,13,12,10,11,17,14,14,13,15,14,12,13,17,13,12,15,17,17,14,17,7,6,6,7,6,6,5,7,6,6,6,6,11,9,9,9,7,7,6,7,7,6,6,7,6,6,6,6,10,9,8,9,10,9,8,8,9,8,7,8,8,7,6,8,11,10,9,10,17,17,12,15,15,15,12,14,14,14,10,12,15,13,12,13,11,10,8,10,11,10,8,8,10,9,7,7,10,9,9,11,11,11,9,10,11,10,8,9,10,8,6,8,10,9,9,11,14,13,10,12,12,11,10,10,8,7,8,10,10,11,11,12,17,17,15,17,17,17,17,17,17,13,12,17,17,17,14,17,200,47,1,0,216,72,1,0,200,47,1,0,248,72,1,0,1],"i8",N3,x.GLOBAL_BASE+72464),E3([1],"i8",N3,x.GLOBAL_BASE+78916),E3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],"i8",N3,x.GLOBAL_BASE+79944),E3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],"i8",N3,x.GLOBAL_BASE+81996),E3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,120,124,1,0,120,124,1,0,160,124,1,0,160,124,1,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,48,84,1,0,48,84,1,0,88,84,1,0,88,84,1,0,0,0,0,0,255,255,255,255,255,255,255,255,10,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,x.GLOBAL_BASE+83152),E3([1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,231,3,0,0,0,0,0,0,231,3,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,16,124,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,85,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,85,1,0,0,0,0,0,0,0,0,0,0,0,0,0,104,85,1,0,0,0,0,0,0,0,0,0,0,0,0,0,144,85,1,0,0,0,0,0,0,0,0,0,0,0,0,0,184,85,1,0,0,0,0,0,224,85,1,0,8,86,1,0,0,0,0,0,0,0,0,0,48,86,1,0,88,86,1,0,0,0,0,0,0,0,0,0,128,86,1,0,168,86,1,0,208,86,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,88,98,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,0,124,1,0,0,0,0,0,4,0,0,0,113,2,0,0,200,95,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,98,1,0,0,0,0,0,2,0,0,0,81,0,0,0,72,95,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,160,95,1,0,0,0,0,0,2,0,0,0,81,0,0,0,200,94,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,32,95,1,0,0,0,0,0,2,0,0,0,33,1,0,0,88,93,1,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,128,94,1,0,0,0,0,0,4,0,0,0,81,0,0,0,240,92,1,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,72,93,1,0,0,0,0,0,2,0,0,0,121,0,0,0,64,92,1,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,192,92,1,0,0,0,0,0,2,0,0,0,169,0,0,0,88,91,1,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,8,92,1,0,0,0,0,0,2,0,0,0,25,0,0,0,32,91,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,91,1,0,0,0,0,0,2,0,0,0,169,0,0,0,56,90,1,0,1,0,0,0,0,136,93,225,0,176,19,97,4,0,0,0,0,0,0,0,232,90,1,0,0,0,0,0,2,0,0,0,225,0,0,0,16,89,1,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,248,89,1,0,0,0,0,0,2,0,0,0,185,1,0,0,248,86,1,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,184,88,1,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,9,8,9,9,9,9,9,9,9,9,11,11,12,7,7,7,7,8,8,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,7,7,7,7,8,8,9,8,9,9,9,9,9,9,10,10,10,10,11,11,12,8,8,8,8,8,8,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,7,7,8,8,8,8,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,12,11,9,9,8,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,8,8,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,12,11,12,11,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,12,11,12,11,11,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,12,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,12,11,11,12,11,10,10,10,10,10,10,10,10,10,10,10,10,11,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,12,11,12,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,12,11,12,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,12,11,11,12,11,11,12,10,10,11,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,12,12,11,12,11,11,12,12,12,11,11,10,10,10,10,10,10,10,10,10,11,12,12,11,12,12,11,12,11,11,11,11,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,5,5,7,7,9,9,11,11,12,12,13,13,6,5,5,6,6,9,9,10,10,12,12,12,13,15,14,6,5,5,7,7,9,9,10,10,12,12,12,13,14,13,17,7,7,8,8,10,10,11,11,12,13,13,13,13,13,17,7,7,8,8,10,10,11,11,13,13,13,13,14,14,17,11,11,9,9,11,11,12,12,12,13,13,14,15,13,17,12,12,9,9,11,11,12,12,13,13,13,13,14,16,17,17,17,11,12,12,12,13,13,13,14,15,14,15,15,17,17,17,12,12,11,11,13,13,14,14,15,14,15,15,17,17,17,15,15,13,13,14,14,15,14,15,15,16,15,17,17,17,15,15,13,13,13,14,14,15,15,15,15,16,17,17,17,17,16,14,15,14,14,15,14,14,15,15,15,17,17,17,17,17,14,14,16,14,15,15,15,15,15,15,17,17,17,17,17,17,16,16,15,17,15,15,14,17,15,17,16,17,17,17,17,16,15,14,15,15,15,15,15,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,3,10,10,10,10,10,10,10,10,10,10,5,6,6,10,10,10,10,10,10,10,10,10,10,6,7,8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,8,8,9,9,10,10,7,5,5,7,7,8,8,8,8,9,10,11,11,7,5,5,7,7,8,8,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,9,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,9,10,9,10,11,11,11,0,13,12,9,8,9,9,10,10,11,11,12,11,0,0,0,9,9,9,9,10,10,11,11,12,12,0,0,0,10,10,9,9,10,10,11,11,12,12,0,0,0,13,13,10,10,11,11,12,11,13,12,0,0,0,14,14,10,10,11,10,11,11,12,12,0,0,0,0,0,12,12,11,11,12,12,13,13,0,0,0,0,0,12,12,11,10,12,11,13,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,7,7,7,7,7,7,10,10,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,6,7,6,6,4,7,7,10,9,9,10,9,9,5,7,7,10,9,9,10,9,9,6,10,10,10,10,10,11,10,10,6,9,9,10,9,10,11,10,10,6,9,9,10,9,9,11,9,10,7,10,10,11,11,11,11,10,10,6,9,9,10,10,10,11,9,9,6,9,9,10,10,10,10,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,5,5,8,8,8,8,9,9,10,10,11,11,11,11,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,9,9,8,8,10,10,10,10,11,11,12,12,12,12,0,0,0,9,9,8,8,10,10,10,10,11,11,12,12,12,12,0,0,0,10,10,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,10,10,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,11,11,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,11,12,12,13,13,0,0,0,0,0,10,10,11,11,11,11,12,12,13,12,13,13,0,0,0,0,0,0,0,11,10,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,13,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,4,5,6,6,8,8,0,0,0,8,8,7,7,9,9,0,0,0,8,8,7,7,9,9,0,0,0,9,10,8,8,9,9,0,0,0,10,10,8,8,9,9,0,0,0,11,10,8,8,10,10,0,0,0,11,11,8,8,10,10,0,0,0,12,12,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,2,3,7,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,8,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,8,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,8,10,8],"i8",N3,x.GLOBAL_BASE+86572),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,18,8,11,8,8,9,9,10,4,4,18,5,9,5,6,7,8,10,18,18,18,18,17,17,17,17,17,17,7,5,17,6,11,6,7,8,9,12,12,9,17,12,8,8,9,10,10,13,7,5,17,6,8,4,5,6,8,10,6,5,17,6,8,5,4,5,7,9,7,7,17,8,9,6,5,5,6,8,8,8,17,9,11,8,6,6,6,7,9,10,17,12,12,10,9,7,7,8,0,0,0,0,2,0,0,0,100,0,0,0,216,163,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,125,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,125,1,0,0,0,0,0,0,0,0,0,0,0,0,0,176,125,1,0,0,0,0,0,0,0,0,0,0,0,0,0,216,125,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,126,1,0,0,0,0,0,40,126,1,0,80,126,1,0,0,0,0,0,0,0,0,0,120,126,1,0,160,126,1,0,0,0,0,0,0,0,0,0,200,126,1,0,240,126,1,0,24,127,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,32,138,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,200,163,1,0,0,0,0,0,4,0,0,0,113,2,0,0,144,135,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,8,138,1,0,0,0,0,0,2,0,0,0,81,0,0,0,16,135,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,104,135,1,0,0,0,0,0,2,0,0,0,81,0,0,0,144,134,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,232,134,1,0,0,0,0,0,2,0,0,0,33,1,0,0,32,133,1,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,72,134,1,0,0,0,0,0,4,0,0,0,81,0,0,0,184,132,1,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,16,133,1,0,0,0,0,0,2,0,0,0,121,0,0,0,8,132,1,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,136,132,1,0,0,0,0,0,2,0,0,0,169,0,0,0,32,131,1,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,208,131,1,0,0,0,0,0,2,0,0,0,25,0,0,0,232,130,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,8,131,1,0,0,0,0,0,4,0,0,0,81,0,0,0,128,130,1,0,1,0,0,0,0,176,19,225,0,176,19,97,2,0,0,0,0,0,0,0,216,130,1,0,0,0,0,0,2,0,0,0,225,0,0,0,88,129,1,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,64,130,1,0,0,0,0,0,2,0,0,0,185,1,0,0,64,127,1,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,0,129,1,0,0,0,0,0,1,5,5,7,7,8,7,8,8,10,10,9,9,10,10,10,11,11,10,12,11,12,12,12,9,8,8,8,8,8,9,10,10,10,10,11,11,11,10,11,11,12,12,11,12,8,8,7,7,8,9,10,10,10,9,10,10,9,10,10,11,11,11,11,11,11,9,9,9,9,8,9,10,10,11,10,10,11,11,12,10,10,12,12,11,11,10,9,9,10,8,9,10,10,10,9,10,10,11,11,10,11,10,10,10,12,12,12,9,10,9,10,9,9,10,10,11,11,11,11,10,10,10,11,12,11,12,11,12,10,11,10,11,9,10,9,10,9,10,10,9,10,10,11,10,11,11,11,11,12,11,9,10,10,10,10,11,11,11,11,11,10,11,11,11,11,10,12,10,12,12,11,12,10,10,11,10,9,11,10,11,9,10,11,10,10,10,11,11,11,11,12,12,10,9,9,11,10,9,12,11,10,12,12,11,11,11,11,10,11,11,12,11,10,12,9,11,10,11,10,10,11,10,11,9,10,10,10,11,12,11,11,12,11,10,10,11,11,9,10,10,12,10,11,10,10,10,9,10,10,10,10,9,10,10,11,11,11,11,12,11,10,10,10,10,11,11,10,11,11,9,11,10,12,10,12,11,10,11,10,10,10,11,10,10,11,11,10,11,10,10,10,10,11,11,12,10,10,10,11,10,11,12,11,10,11,10,10,11,11,10,12,10,9,10,10,11,11,11,10,12,10,10,11,11,11,10,10,11,10,10,10,11,10,11,10,12,11,11,10,10,10,12,10,10,11,9,10,11,11,11,10,10,11,10,10,9,11,11,12,12,11,12,11,11,11,11,11,11,9,10,11,10,12,10,10,10,10,11,10,10,11,10,10,12,10,10,10,10,10,9,12,10,10,10,10,12,9,11,10,10,11,10,12,12,10,12,12,12,10,10,10,10,9,10,11,10,10,12,10,10,12,11,10,11,10,10,12,11,10,12,10,10,11,9,11,10,9,10,9,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,5,5,10,8,11,11,11,11,11,11,11,11,6,6,6,7,6,11,10,11,11,11,11,11,11,11,11,7,5,6,6,6,8,7,11,11,11,11,11,11,11,11,11,7,8,8,8,9,9,11,11,11,11,11,11,11,11,11,9,8,7,8,9,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,4,5,5,7,6,6,6,5,7,7,7,6,6,7,7,7,6,6,7,7,7,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,6,7,7,7,7,8,8,9,9,7,6,6,7,7,8,8,7,7,8,9,10,10,7,6,6,7,7,8,7,7,7,9,9,10,12,0,8,8,8,8,8,9,8,8,9,9,10,10,0,8,8,8,8,8,9,8,9,9,9,11,10,0,0,13,9,8,9,9,9,9,10,10,11,11,0,13,0,9,9,9,9,9,9,11,10,11,11,0,0,0,8,9,10,9,10,10,13,11,12,12,0,0,0,8,9,9,9,10,10,13,12,12,13,0,0,0,12,0,10,10,12,11,10,11,12,12,0,0,0,13,13,10,10,10,11,12,0,13,0,0,0,0,0,0,13,11,0,12,12,12,13,12,0,0,0,0,0,0,13,13,11,13,13,11,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,6,6,8,8,9,9,9,9,10,10,10,7,7,8,8,9,9,9,9,10,10,9,7,7,8,8,9,9,9,9,10,10,10,8,8,9,9,9,9,9,9,10,10,10,8,8,9,9,9,9,8,9,10,10,10,8,8,9,9,9,10,10,10,10,10,10,9,9,9,9,9,9,10,10,11,10,11,9,9,9,9,10,10,10,10,11,11,11,10,10,9,9,10,10,10,9,11,10,10,10,10,10,10,9,9,10,10,11,11,10,10,10,9,9,9,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,11,9,10,12,9,10,4,7,7,10,10,10,11,9,9,6,11,10,11,11,12,11,11,11,6,10,10,11,11,12,11,10,10,6,9,10,11,11,11,11,10,10,7,10,11,12,11,11,12,11,12,6,9,9,10,9,9,11,10,10,6,9,9,10,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,6,6,8,8,9,9,8,8,10,9,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,11,0,0,0,8,8,9,9,10,10,9,9,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,9,9,11,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,11,12,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,10,10,10,10,11,11,10,10,11,11,12,12,13,13,0,0,0,0,0,10,9,10,11,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,9,10,11,12,12,13,13,14,13,0,0,0,0,0,9,9,9,10,10,10,11,11,13,12,13,13,0,0,0,0,0,10,10,10,10,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,10,10,11,11,12,12,13,13,13,14,0,0,0,0,0,0,0,11,11,11,11,12,12,13,14,14,14,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,14,13,0,0,0,0,0,0,0,11,11,12,12,13,13,14,14,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,5,5,7,6,8,8,0,0,0,7,7,7,7,8,8,0,0,0,7,7,7,7,8,9,0,0,0,8,8,8,8,9,9,0,0,0,8,8,8,8,9,9,0,0,0,9,9,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,10,10,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,2,3,7,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,8,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,6,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,4,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,9,0,0,0,0,0,0,8,9,11,0,0,0,0,0,0,9,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,9,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,11,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,9,11,11,0,0,0,0,0,0,8,11,9],"i8",N3,x.GLOBAL_BASE+97272),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,5,18,7,10,6,7,8,9,10,5,2,18,5,7,5,6,7,8,11,17,17,17,17,17,17,17,17,17,17,7,4,17,6,9,6,8,10,12,15,11,7,17,9,6,6,7,9,11,15,6,4,17,6,6,4,5,8,11,16,6,6,17,8,6,5,6,9,13,16,8,9,17,11,9,8,8,11,13,17,9,12,17,15,14,13,12,13,14,17,12,15,17,17,17,17,17,16,17,17,0,0,0,0,154,153,153,153,153,153,185,191,0,0,0,0,0,0,0,0,154,153,153,153,153,153,185,63,154,153,153,153,153,153,201,63,51,51,51,51,51,51,211,63,154,153,153,153,153,153,217,63,0,0,0,0,0,0,224,63,51,51,51,51,51,51,227,63,102,102,102,102,102,102,230,63,154,153,153,153,153,153,233,63,205,204,204,204,204,204,236,63,0,0,0,0,0,0,240,63,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,16,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,0,0,0,35,0,0,0,21,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,30,0,0,0,20,0,0,0,8,0,0,0,0,0,0,192,0,0,160,63,25,0,0,0,12,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,9,0,0,0,253,255,255,255,0,0,0,0,0,0,0,0,20,0,0,0,9,0,0,0,252,255,255,255,0,0,0,0,0,0,0,0,20,0,0,0,9,0,0,0,252,255,255,255,0,0,0,0,0,0,0,0,20,0,0,0,6,0,0,0,250,255,255,255,0,0,0,0,0,0,0,0,20,0,0,0,3,0,0,0,246,255,255,255,0,0,0,0,0,0,0,0,18,0,0,0,1,0,0,0,242,255,255,255,0,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,240,255,255,255,0,0,0,0,0,0,0,0,18,0,0,0,254,255,255,255,240,255,255,255,0,0,0,0,0,0,0,0,12,0,0,0,254,255,255,255,236,255,255,255,0,0,0,0,0,0,0,0,253,255,255,255,248,255,255,255,243,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,247,255,255,255,247,255,255,255,247,255,255,255,247,255,255,255,247,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,252,255,255,255,246,255,255,255,242,255,255,255,240,255,255,255,242,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,245,255,255,255,245,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,250,255,255,255,244,255,255,255,242,255,255,255,240,255,255,255,241,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,254,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,244,255,255,255,243,255,255,255,242,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,251,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,243,255,255,255,245,255,255,255,246,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,243,255,255,255,245,255,255,255,246,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,248,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,253,255,255,255,248,255,255,255,243,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,255,255,255,246,255,255,255,242,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,245,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,250,255,255,255,244,255,255,255,242,255,255,255,240,255,255,255,241,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,254,255,255,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,244,255,255,255,243,255,255,255,242,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,250,255,255,255,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,243,255,255,255,245,255,255,255,246,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,243,255,255,255,245,255,255,255,246,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,248,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,3,0,0,0,3,0,0,0,15,0,0,0,3,0,0,0,3,0,0,0,15,0,0,0,10,0,0,0,10,0,0,0,100,0,0,0,10,0,0,0,10,0,0,0,100,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,250,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,2,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,16,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,252,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,14,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,252,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,250,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,252,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,6,0,0,0,11,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,234,255,255,255,240,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,247,255,255,255,251,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,6,0,0,0,11,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,228,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,240,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,6,0,0,0,11,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,234,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,224,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,234,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,3,0,0,0,3,0,0,0,5,0,0,0,10,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,224,255,255,255,224,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,224,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,2,0,0,0,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,224,255,255,255,224,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,224,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,244,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,221,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,2,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,8,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,16,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,2,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,14,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,2,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,250,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,2,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,234,255,255,255,240,255,255,255,244,255,255,255,250,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,0,0,0,0,4,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,253,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,253,255,255,255,255,255,255,255,4,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,245,255,255,255,248,255,255,255,250,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,240,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,251,255,255,255,253,255,255,255,1,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,234,255,255,255,238,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,11,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,249,255,255,255,251,255,255,255,254,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,228,255,255,255,234,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,242,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,6,0,0,0,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,224,255,255,255,224,255,255,255,232,255,255,255,240,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,224,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,238,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,221,255,255,255,226,255,255,255,231,255,255,255,231,255,255,255,231,255,255,255,231,255,255,255,231,255,255,255,231,255,255,255,241,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,250,255,255,255,252,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,1,0,0,0,4,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,3,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,249,255,255,255,252,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,8,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,252,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,255,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,255,255,255,255,1,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,252,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,255,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,234,255,255,255,240,255,255,255,244,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,253,255,255,255,255,255,255,255,0,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,247,255,255,255,251,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,255,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,251,255,255,255,254,255,255,255,0,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,234,255,255,255,237,255,255,255,237,255,255,255,237,255,255,255,237,255,255,255,238,255,255,255,239,255,255,255,240,255,255,255,244,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,255,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,240,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,234,255,255,255,236,255,255,255,241,255,255,255,246,255,255,255,248,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,7,0,0,0,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,249,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,226,255,255,255,228,255,255,255,230,255,255,255,232,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,2,0,0,0,218,255,255,255,218,255,255,255,218,255,255,255,218,255,255,255,220,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,218,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,228,255,255,255,236,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,221,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,236,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,20,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,246,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,6,0,0,0,15,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,10,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,252,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,10,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,1,0,0,0,4,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4],"i8",N3,x.GLOBAL_BASE+107456),E3([4,0,0,0,5,0,0,0,6,0,0,0,10,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,3,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,252,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,8,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,251,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,255,255,255,255,1,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,249,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,240,255,255,255,244,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,253,255,255,255,255,255,255,255,0,0,0,0,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,247,255,255,255,248,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,251,255,255,255,254,255,255,255,0,0,0,0,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,238,255,255,255,240,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,243,255,255,255,243,255,255,255,244,255,255,255,246,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,0,0,0,0,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,237,255,255,255,237,255,255,255,237,255,255,255,237,255,255,255,238,255,255,255,239,255,255,255,240,255,255,255,244,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,7,0,0,0,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,240,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,2,0,0,0,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,234,255,255,255,238,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,249,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,236,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,18,0,0,0,18,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,13,0,0,0,14,0,0,0,14,0,0,0,14,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,16,0,0,0,16,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,18,0,0,0,18,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,7,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,205,204,204,204,204,204,244,63,154,153,153,153,153,153,249,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,12,64,0,0,0,0,0,0,16,64,0,0,0,0,0,0,16,64,51,51,51,51,51,51,17,64,102,102,102,102,102,102,18,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,32,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,32,0,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,0,0,0,0,0,1,0,0,128,0,0,0,128,0,0,0,0,1,0,0,0,2,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,0,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,0,0,0,0,154,153,153,153,153,153,201,63,154,153,153,153,153,153,201,63,154,153,153,153,153,153,201,63,154,153,153,153,153,153,217,63,51,51,51,51,51,51,227,63,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,156,255,255,255,156,255,255,255,156,255,255,255,156,255,255,255,156,255,255,255,156,255,255,255,151,255,255,255,151,255,255,255,151,255,255,255,151,255,255,255,146,255,255,255,136,255,255,255,126,255,255,255,126,255,255,255,126,255,255,255,126,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,106,255,255,255,205,204,204,204,204,204,43,64,51,51,51,51,51,51,46,64,154,153,153,153,153,153,47,64,0,0,0,0,0,128,48,64,51,51,51,51,51,51,49,64,102,102,102,102,102,230,50,64,154,153,153,153,153,25,52,64,0,0,0,0,0,0,72,64,0,0,0,0,0,56,143,64,0,0,0,0,0,56,143,64,0,0,0,0,0,56,143,64,0,0,0,0,0,56,143,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,4,64,154,153,153,153,153,153,5,64,0,0,0,0,0,0,8,64,154,153,153,153,153,153,13,64,0,0,0,0,0,0,16,64,0,0,0,0,0,0,16,64,248,148,2,0,40,149,2,0,88,149,2,0,0,0,0,0,8,181,0,0,224,217,1,0,8,181,0,0,32,218,1,0,8,181,0,0,96,218,1,0,8,181,0,0,160,218,1,0,8,181,0,0,224,218,1,0,8,181,0,0,32,219,1,0,8,181,0,0,96,219,1,0,8,181,0,0,160,219,1,0,8,181,0,0,224,219,1,0,8,181,0,0,32,220,1,0,8,181,0,0,96,220,1,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,232,133,2,0,232,133,2,0,16,134,2,0,16,134,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,208,134,2,0,208,134,2,0,16,134,2,0,16,134,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,216,118,2,0,216,118,2,0,0,119,2,0,0,119,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,192,119,2,0,192,119,2,0,0,119,2,0,0,119,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,0,106,2,0,0,106,2,0,40,106,2,0,40,106,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,232,106,2,0,232,106,2,0,40,106,2,0,40,106,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,0,93,2,0,0,93,2,0,40,93,2,0,40,93,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,232,93,2,0,232,93,2,0,40,93,2,0,40,93,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,56,79,2,0,56,79,2,0,96,79,2,0,96,79,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,32,80,2,0,32,80,2,0,96,79,2,0,96,79,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,8,65,2,0,8,65,2,0,48,65,2,0,48,65,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,240,65,2,0,240,65,2,0,48,65,2,0,48,65,2,0,1,0,0,0,0,0,0,0,16,0,0,0,88,206,0,0,56,48,2,0,56,48,2,0,96,48,2,0,96,48,2,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,32,49,2,0,32,49,2,0,96,48,2,0,96,48,2,0,1,0,0,0,0,0,0,0,16,0,0,0,88,206,0,0,40,31,2,0,40,31,2,0,80,31,2,0,80,31,2,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,16,32,2,0,16,32,2,0,80,31,2,0,80,31,2,0,1,0,0,0,0,0,0,0,16,0,0,0,88,206,0,0,64,15,2,0,64,15,2,0,104,15,2,0,104,15,2,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,40,16,2,0,40,16,2,0,104,15,2,0,104,15,2,0,1,0,0,0,0,0,0,0,16,0,0,0,160,220,1,0,208,251,1,0,208,251,1,0,248,251,1,0,248,251,1,0,1,0,0,0,0,0,0,0,32,0,0,0,160,220,1,0,184,252,1,0,184,252,1,0,248,251,1,0,248,251,1,0,1,0,0,0,0,0,0,0,16,0,0,0,160,220,1,0,184,231,1,0,184,231,1,0,224,231,1,0,224,231,1,0,1,0,0,0,0,0,0,0,32,0,0,0,160,220,1,0,160,232,1,0,160,232,1,0,224,231,1,0,224,231,1,0,0,0,0,0,255,255,255,255,255,255,255,255,10,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,x.GLOBAL_BASE+117696),E3([1,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,71,0,0,0,157,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,104,251,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,233,1,0,0,0,0,0,0,0,0,0,0,0,0,0,88,233,1,0,0,0,0,0,0,0,0,0,0,0,0,0,128,233,1,0,0,0,0,0,0,0,0,0,0,0,0,0,168,233,1,0,0,0,0,0,208,233,1,0,248,233,1,0,0,0,0,0,0,0,0,0,32,234,1,0,72,234,1,0,0,0,0,0,0,0,0,0,112,234,1,0,152,234,1,0,0,0,0,0,0,0,0,0,192,234,1,0,232,234,1,0,0,0,0,0,0,0,0,0,16,235,1,0,56,235,1,0,96,235,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,200,232,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,13,13,14,15,14,14,15,15,5,5,9,10,12,12,13,14,16,15,10,6,6,6,8,11,12,13,16,15,11,7,5,3,5,8,10,12,15,15,10,10,7,4,3,5,8,10,12,12,12,12,9,7,5,4,6,8,10,13,13,12,11,9,7,5,5,6,9,12,14,12,12,10,8,6,6,6,7,11,13,12,14,13,10,8,7,7,7,10,11,11,12,13,12,11,10,8,8,9,0,0,0,0,4,0,0,0,81,0,0,0,0,251,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,88,251,1,0,0,0,0,0,4,0,0,0,113,2,0,0,112,248,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,250,1,0,0,0,0,0,2,0,0,0,81,0,0,0,240,247,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,72,248,1,0,0,0,0,0,2,0,0,0,33,1,0,0,128,246,1,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,168,247,1,0,0,0,0,0,4,0,0,0,81,0,0,0,24,246,1,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,112,246,1,0,0,0,0,0,2,0,0,0,121,0,0,0,104,245,1,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,232,245,1,0,0,0,0,0,2,0,0,0,169,0,0,0,128,244,1,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,48,245,1,0,0,0,0,0,2,0,0,0,25,0,0,0,72,244,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,104,244,1,0,0,0,0,0,2,0,0,0,169,0,0,0,96,243,1,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,16,244,1,0,0,0,0,0,2,0,0,0,121,0,0,0,176,242,1,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,48,243,1,0,0,0,0,0,2,0,0,0,225,0,0,0,136,241,1,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,112,242,1,0,0,0,0,0,2,0,0,0,185,1,0,0,112,239,1,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,48,241,1,0,0,0,0,0,2,0,0,0,225,0,0,0,72,238,1,0,1,0,0,0,0,117,153,225,0,24,61,97,4,0,0,0,0,0,0,0,48,239,1,0,0,0,0,0,2,0,0,0,105,1,0,0,136,236,1,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,248,237,1,0,0,0,0,0,1,0,0,0,49,0,0,0,136,235,1,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,192,235,1,0,0,0,0,0,2,4,4,5,4,5,5,5,5,6,6,6,6,6,6,6,6,6,6,7,6,7,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,8,7,8,7,9,8,10,9,10,10,11,11,12,12,4,7,6,9,9,10,9,9,8,10,10,11,10,12,10,13,12,13,12,4,6,6,9,9,9,9,9,9,10,10,11,11,11,12,12,12,12,12,7,9,8,11,10,10,10,11,10,11,11,12,12,13,12,13,13,13,13,7,8,9,10,10,11,11,10,10,11,11,11,12,13,13,13,13,14,14,8,9,9,11,11,12,11,12,12,13,12,12,13,13,14,15,14,14,14,8,9,9,10,11,11,11,12,12,13,12,13,13,14,14,14,15,14,16,8,9,9,11,10,12,12,12,12,15,13,13,13,17,14,15,15,15,14,8,9,9,10,11,11,12,13,12,13,13,13,14,15,14,14,14,16,15,9,11,10,12,12,13,13,13,13,14,14,16,15,14,14,14,15,15,17,9,10,10,11,11,13,13,13,14,14,13,15,14,15,14,15,16,15,16,10,11,11,12,12,13,14,15,14,15,14,14,15,17,16,15,15,17,17,10,12,11,13,12,14,14,13,14,15,15,15,15,16,17,17,15,17,16,11,12,12,14,13,15,14,15,16,17,15,17,15,17,15,15,16,17,15,11,11,12,14,14,14,14,14,15,15,16,15,17,17,17,16,17,16,15,12,12,13,14,14,14,15,14,15,15,16,16,17,16,17,15,17,17,16,12,14,12,14,14,15,15,15,14,14,16,16,16,15,16,16,15,17,15,12,13,13,14,15,14,15,17,15,17,16,17,17,17,16,17,16,17,17,12,13,13,14,16,15,15,15,16,15,17,17,15,17,15,17,16,16,17,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,3,3,11,11,11,11,11,11,11,11,11,11,11,11,4,10,11,11,11,11,11,11,11,11,11,11,11,11,11,4,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,4,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,6,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,6,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,8,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,8,8,8,9,9,9,9,9,9,9,9,9,9,10,9,10,9,10,10,10,10,8,8,8,9,9,9,9,9,9,9,9,9,9,10,10,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,8,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,8,9,9,10,9,11,10,4,6,6,8,8,9,9,9,9,10,10,11,10,12,10,4,6,6,8,8,9,10,9,9,10,10,11,11,12,12,7,8,8,10,10,11,11,10,10,11,11,12,12,13,12,7,8,8,10,10,11,11,10,10,11,11,12,12,12,13,8,10,9,11,11,12,12,11,11,12,12,13,13,14,13,8,9,9,11,11,12,12,11,12,12,12,13,13,14,13,8,9,9,10,10,12,11,13,12,13,13,14,13,15,14,8,9,9,10,10,11,12,12,12,13,13,13,14,14,14,9,10,10,12,11,13,12,13,13,14,13,14,14,14,15,9,10,10,11,12,12,12,13,13,14,14,14,15,15,15,10,11,11,12,12,13,13,14,14,14,14,15,14,16,15,10,11,11,12,12,13,13,13,14,14,14,14,14,15,16,11,12,12,13,13,14,13,14,14,15,14,15,16,16,16,11,12,12,13,13,14,13,14,14,15,15,15,16,15,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,5,6,6,7,7,7,7,7,7,7,7,6,6,6,7,7,7,7,7,7,7,7,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,7,7,7,7,7,7,7,8,7,8,8,7,7,7,7,7,7,7,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,5,6,6,7,7,8,9,10,10,11,11,5,6,6,7,7,8,8,9,9,10,10,11,11,5,6,6,7,7,8,8,9,9,10,10,11,11,6,7,7,8,8,9,9,10,10,11,11,12,12,6,7,7,8,8,9,9,10,10,11,11,12,12,8,8,8,9,9,10,10,11,11,12,12,13,13,8,8,8,9,9,10,10,11,11,12,12,13,13,9,9,9,10,10,11,11,12,12,13,13,13,13,9,9,9,10,10,11,11,12,12,13,13,14,14,10,10,10,11,11,12,12,13,13,14,13,15,14,10,10,10,11,11,12,12,13,13,14,14,14,14,11,11,12,12,12,13,13,14,14,14,14,15,15,11,11,12,12,12,13,13,14,14,14,15,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,4,4,4,5,5,4,5,4,5,5,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,9,9,10,10,4,6,5,7,7,8,8,8,8,9,9,10,10,4,5,6,7,7,8,8,8,8,9,9,10,10,6,7,7,8,8,8,8,9,9,10,10,10,10,6,7,7,8,8,8,8,9,9,10,10,10,10,7,8,8,8,8,9,9,9,9,10,10,11,11,7,8,8,8,8,9,9,9,9,10,10,11,11,8,8,8,9,9,9,9,9,10,10,10,11,11,8,8,8,9,9,9,9,10,9,10,10,11,11,9,9,9,10,10,10,10,10,11,11,11,11,12,9,9,9,10,10,10,10,10,10,11,10,12,11,10,10,10,10,10,11,11,11,11,11,12,12,12,10,10,10,10,10,11,11,11,11,12,11,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,5,5,5,6,6,7,7,7,7,7,7,5,6,6,6,6,7,7,7,7,8,7,5,6,6,6,6,7,7,7,7,7,7,6,6,6,7,7,7,7,7,7,8,8,6,6,6,7,7,7,7,7,7,8,8,7,7,7,7,7,8,7,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,8,7,8,8,8,8,8,8,7,7,7,7,8,8,8,8,8,8,8,7,8,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,8,9,9,7,9,9,5,8,8,7,9,9,8,9,9,5,8,8,8,10,10,8,10,10,7,10,10,9,10,12,9,11,11,7,10,10,9,11,10,9,11,12,5,8,8,8,10,10,8,10,10,7,10,10,9,12,11,9,10,11,7,10,10,9,11,11,10,12,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,5,5,6,6,7,7,8,8,8,8,9,9,10,10,11,11,5,5,5,6,6,7,7,8,8,8,8,9,9,10,10,11,11,5,5,5,6,6,7,7,8,8,8,8,9,9,10,10,11,11,6,6,6,7,6,7,7,8,8,9,9,10,10,11,11,12,11,6,6,6,6,7,7,7,8,8,9,9,10,10,11,11,11,12,7,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,7,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,8,8,8,8,8,9,8,10,9,10,10,11,10,12,11,13,12,8,8,8,8,8,9,9,9,10,10,10,10,11,11,12,12,12,8,8,8,9,9,9,9,10,10,11,10,12,11,12,12,13,12,8,8,8,9,9,9,9,10,10,10,11,11,11,12,12,12,13,9,9,9,10,10,10,10,11,10,11,11,12,11,13,12,13,13,9,9,10,10,10,10,10,10,11,11,11,11,12,12,13,13,13,10,11,10,11,11,11,11,12,11,12,12,13,12,13,13,14,13,10,10,10,11,11,11,11,11,12,12,12,12,13,13,13,13,14,11,11,11,12,11,12,12,12,12,13,13,13,13,14,13,14,14,11,11,11,11,12,12,12,12,12,12,13,13,13,13,14,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,3,4,4,5,5,7,7,8,8,4,5,5,6,6,7,7,9,9,4,4,5,6,6,7,7,9,9,5,6,6,7,7,8,8,9,9,5,6,6,7,7,8,8,9,9,7,7,7,8,8,9,9,10,10,7,7,7,8,8,9,9,10,10,8,9,9,10,9,10,10,11,11,8,9,9,9,10,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,5,7,7,9,9,6,7,7,9,9,8,9,9,11,10,8,9,9,11,11,6,7,7,9,9,7,8,8,10,10,7,8,8,9,10,9,10,10,11,11,9,9,10,11,11,6,7,7,9,9,7,8,8,10,9,7,8,8,10,10,9,10,9,11,11,9,10,10,11,11,8,9,9,11,11,9,10,10,12,11,9,10,10,11,12,11,11,11,13,13,11,11,11,12,13,8,9,9,11,11,9,10,10,11,11,9,10,10,12,11,11,12,11,13,12,11,11,12,13,13,6,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,11,9,10,10,11,12,7,8,8,10,10,8,9,9,11,11,8,9,9,10,10,10,11,11,12,12,10,10,11,12,12,7,8,8,10,10,8,9,8,10,10,8,9,9,10,10,10,11,10,12,11,10,10,11,12,12,9,10,10,11,12,10,11,11,12,12,10,11,10,12,12,12,12,12,13,13,11,12,12,13,13,9,10,10,11,11,9,10,10,12,12,10,11,11,12,13,11,12,11,13,12,12,12,12,13,14,6,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,11,11,9,10,10,11,12,7,8,8,10,10,8,9,9,11,10,8,8,9,10,10,10,11,10,12,12,10,10,11,11,12,7,8,8,10,10,8,9,9,10,10,8,9,9,10,10,10,11,10,12,12,10,11,10,12,12,9,10,10,12,11,10,11,11,12,12,9,10,10,12,12,12,12,12,13,13,11,11,12,12,14,9,10,10,11,12,10,11,11,12,12,10,11,11,12,12,11,12,12,14,14,12,12,12,13,13,8,9,9,11,11,9,10,10,12,11,9,10,10,12,12,11,12,11,13,13,11,11,12,13,13,9,10,10,12,12,10,11,11,12,12,10,11,11,12,12,12,12,12,14,14,12,12,12,13,13,9,10,10,12,11,10,11,10,12,12,10,11,11,12,12,11,12,12,14,13,12,12,12,13,14,11,12,11,13,13,11,12,12,13,13,12,12,12,14,14,13,13,13,13,15,13,13,14,15,15,11,11,11,13,13,11,12,11,13,13,11,12,12,13,13,12,13,12,15,13,13,13,14,14,15,8,9,9,11,11,9,10,10,11,12,9,10,10,11,12,11,12,11,13,13,11,12,12,13,13,9,10,10,11,12,10,11,10,12,12,10,10,11,12,13,12,12,12,14,13,11,12,12,13,14,9,10,10,12,12,10,11,11,12,12,10,11,11,12,12,12,12,12,14,13,12,12,12,14,13,11,11,11,13,13,11,12,12,14,13,11,11,12,13,13,13,13,13,15,14,12,12,13,13,15,11,12,12,13,13,12,12,12,13,14,11,12,12,13,13,13,13,14,14,15,13,13,13,14,14,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,7,5,7,7,5,7,7,7,9,9,7,9,9,5,7,7,7,9,9,7,9,9,5,7,7,7,9,9,7,9,9,8,9,9,9,10,11,9,11,11,7,9,9,9,11,10,9,11,11,5,7,7,7,9,9,8,9,10,7,9,9,9,11,11,9,10,11,7,9,10,9,11,11,9,11,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,9,16,18,18,17,17,17,17,17,17,5,8,11,12,11,12,17,17,16,16,6,6,8,8,9,10,14,15,16,16,6,7,7,4,6,9,13,16,16,16,6,6,7,4,5,8,11,15,17,16,7,6,7,6,6,8,9,10,14,16,11,8,8,7,6,6,3,4,10,15,14,12,12,10,5,6,3,3,8,13,15,17,15,11,6,8,6,6,9,14,17,15,15,12,8,10,9,9,12,15,0,0,0,0,2,0,0,0,100,0,0,0,216,14,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,253,1,0,0,0,0,0,0,0,0,0,0,0,0,0,112,253,1,0,0,0,0,0,0,0,0,0,0,0,0,0,152,253,1,0,0,0,0,0,0,0,0,0,0,0,0,0,192,253,1,0,0,0,0,0,232,253,1,0,16,254,1,0,0,0,0,0,0,0,0,0,56,254,1,0,96,254,1,0,0,0,0,0,0,0,0,0,136,254,1,0,176,254,1,0,0,0,0,0,0,0,0,0,216,254,1,0,0,255,1,0,0,0,0,0,0,0,0,0,40,255,1,0,80,255,1,0,120,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,224,252,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,13,14,14,15,14,14,15,15,5,4,6,8,10,12,12,14,15,15,9,5,4,5,8,10,11,13,16,16,10,7,4,3,5,7,9,11,13,13,10,9,7,4,4,6,8,10,12,14,13,11,9,6,5,5,6,8,12,14,13,11,10,8,7,6,6,7,10,14,13,11,12,10,8,7,6,6,9,13,12,11,14,12,11,9,8,7,9,11,11,12,14,13,14,11,10,8,8,9,0,0,0,0,4,0,0,0,81,0,0,0,112,14,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,200,14,2,0,0,0,0,0,4,0,0,0,113,2,0,0,224,11,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,14,2,0,0,0,0,0,2,0,0,0,81,0,0,0,96,11,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,184,11,2,0,0,0,0,0,2,0,0,0,33,1,0,0,240,9,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,24,11,2,0,0,0,0,0,4,0,0,0,81,0,0,0,136,9,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,224,9,2,0,0,0,0,0,2,0,0,0,121,0,0,0,216,8,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,88,9,2,0,0,0,0,0,2,0,0,0,169,0,0,0,240,7,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,160,8,2,0,0,0,0,0,2,0,0,0,25,0,0,0,184,7,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,7,2,0,0,0,0,0,2,0,0,0,169,0,0,0,208,6,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,128,7,2,0,0,0,0,0,2,0,0,0,121,0,0,0,32,6,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,160,6,2,0,0,0,0,0,2,0,0,0,225,0,0,0,248,4,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,224,5,2,0,0,0,0,0,2,0,0,0,185,1,0,0,224,2,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,160,4,2,0,0,0,0,0,2,0,0,0,81,0,0,0,96,2,2,0,1,0,0,0,0,24,125,225,0,24,61,97,4,0,0,0,0,0,0,0,184,2,2,0,0,0,0,0,2,0,0,0,105,1,0,0,160,0,2,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,16,2,2,0,0,0,0,0,1,0,0,0,49,0,0,0,160,255,1,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,216,255,1,0,0,0,0,0,2,3,4,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,8,7,8,6,9,7,10,8,11,10,11,11,11,11,4,7,6,9,9,10,9,9,9,10,10,11,10,11,10,11,11,13,11,4,7,7,9,9,9,9,9,9,10,10,11,10,11,11,11,12,11,12,7,9,8,11,11,11,11,10,10,11,11,12,12,12,12,12,12,14,13,7,8,9,10,11,11,11,10,10,11,11,11,11,12,12,14,12,13,14,8,9,9,11,11,11,11,11,11,12,12,14,12,15,14,14,14,15,14,8,9,9,11,11,11,11,12,11,12,12,13,13,13,13,13,13,14,14,8,9,9,11,10,12,11,12,12,13,13,13,13,15,14,14,14,16,16,8,9,9,10,11,11,12,12,12,13,13,13,14,14,14,15,16,15,15,9,10,10,11,12,12,13,13,13,14,14,16,14,14,16,16,16,16,15,9,10,10,11,11,12,13,13,14,15,14,16,14,15,16,16,16,16,15,10,11,11,12,13,13,14,15,15,15,15,15,16,15,16,15,16,15,15,10,11,11,13,13,14,13,13,15,14,15,15,16,15,15,15,16,15,16,10,12,12,14,14,14,14,14,16,16,15,15,15,16,16,16,16,16,16,11,12,12,14,14,14,14,15,15,16,15,16,15,16,15,16,16,16,16,12,12,13,14,14,15,16,16,16,16,16,16,15,16,16,16,16,16,16,12,13,13,14,14,14,14,15,16,15,16,16,16,16,16,16,16,16,16,12,13,14,14,14,16,15,16,15,16,16,16,16,16,16,16,16,16,16,12,14,13,14,15,15,15,16,15,16,16,15,16,16,16,16,16,16,16,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,3,3,9,9,9,9,9,9,4,9,9,9,9,9,9,9,9,5,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,6,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,9,8,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,10,9,10,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,9,10,10,9,10,8,9,8,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,8,9,8,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,9,10,10,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,7,9,8,10,9,11,10,4,6,6,8,8,10,9,9,9,10,10,11,10,12,10,4,6,6,8,8,10,10,9,9,10,10,11,11,11,12,7,8,8,10,10,11,11,11,10,12,11,12,12,13,11,7,8,8,10,10,11,11,10,10,11,11,12,12,13,13,8,10,10,11,11,12,11,12,11,13,12,13,12,14,13,8,10,9,11,11,12,12,12,12,12,12,13,13,14,13,8,9,9,11,10,12,11,13,12,13,13,14,13,14,13,8,9,9,10,11,12,12,12,12,13,13,14,15,14,14,9,10,10,12,11,13,12,13,13,14,13,14,14,14,14,9,10,10,12,12,12,12,13,13,14,14,14,15,14,14,10,11,11,13,12,13,12,14,14,14,14,14,14,15,15,10,11,11,12,12,13,13,14,14,14,15,15,14,16,15,11,12,12,13,12,14,14,14,13,15,14,15,15,15,17,11,12,12,13,13,14,14,14,15,15,14,15,15,14,17,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,7,7,5,6,6,7,7,7,7,7,7,7,7,5,6,6,7,7,7,7,7,7,7,7,6,7,7,7,7,7,7,7,7,8,8,6,7,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,8,8,8,8,7,7,7,8,7,8,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,5,6,6,7,7,8,8,10,10,11,11,5,6,6,7,7,8,8,9,9,11,10,12,11,5,6,6,7,7,8,8,9,9,10,11,11,12,6,7,7,8,8,9,9,10,10,11,11,12,12,6,7,7,8,8,9,9,10,10,11,12,13,12,7,8,8,9,9,10,10,11,11,12,12,13,13,8,8,8,9,9,10,10,11,11,12,12,13,13,9,9,9,10,10,11,11,12,12,13,13,14,14,9,9,9,10,10,11,11,12,12,13,13,14,14,10,11,11,12,11,13,12,13,13,14,14,15,15,10,11,11,11,12,12,13,13,14,14,14,15,15,11,12,12,13,13,14,13,15,14,15,15,16,15,11,11,12,13,13,13,14,14,14,15,15,15,16,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,4,4,5,5,4,5,5,5,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,9,9,10,10,4,6,5,7,7,8,8,8,8,9,9,10,10,4,6,6,7,7,8,8,8,8,9,9,10,10,6,7,7,7,8,8,8,8,9,9,10,10,10,6,7,7,8,8,8,8,9,8,10,9,11,10,7,8,8,8,8,8,9,9,9,10,10,11,11,7,8,8,8,8,9,8,9,9,10,10,11,11,8,8,8,9,9,9,9,9,10,10,10,11,11,8,8,8,9,9,9,9,10,9,10,10,11,11,9,9,9,9,10,10,10,10,10,10,11,11,12,9,9,9,10,9,10,10,10,10,11,10,12,11,10,10,10,10,10,11,11,11,11,11,12,12,12,10,10,10,10,11,11,11,11,11,12,11,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,8,8,5,5,5,6,6,7,7,8,8,8,8,5,5,5,6,6,7,7,7,8,8,8,6,6,6,7,7,7,7,8,8,8,8,6,6,6,7,7,7,7,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,8,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,8,8,8,8,8,8,8,8,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,8,9,9,7,9,9,5,8,8,7,9,9,8,9,9,5,8,8,8,10,10,8,10,10,7,10,10,9,10,12,9,12,11,7,10,10,9,11,10,9,11,12,5,8,8,8,10,10,8,10,10,7,10,10,9,11,11,9,10,11,7,10,10,9,11,11,10,12,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,4,4,6,6,7,7,8,8,8,8,10,10,11,11,11,11,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,6,6,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,6,6,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,7,7,7,8,8,9,8,10,9,10,9,11,10,12,11,13,12,7,7,7,8,8,8,9,9,10,9,10,10,11,11,12,12,13,8,8,8,9,9,9,9,10,10,11,10,11,11,12,12,13,13,8,8,8,9,9,9,10,10,10,10,11,11,11,12,12,12,13,8,9,9,9,9,10,9,11,10,11,11,12,11,13,12,13,13,8,9,9,9,9,9,10,10,11,11,11,11,12,12,13,13,13,10,10,10,10,10,11,10,11,11,12,11,13,12,13,13,14,13,10,10,10,10,10,10,11,11,11,11,12,12,13,13,13,13,14,11,11,11,11,11,12,11,12,12,13,12,13,13,14,13,14,14,11,11,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,11,12,12,12,12,13,12,13,12,13,13,14,13,14,14,14,14,11,12,12,12,12,12,12,13,13,13,13,13,14,14,14,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,3,4,4,5,5,7,7,9,9,4,5,4,6,6,7,7,9,9,4,4,5,6,6,7,7,9,9,5,6,6,7,7,8,8,10,10,6,6,6,7,7,8,8,10,10,7,7,7,8,8,9,9,11,10,7,7,7,8,8,9,9,10,11,9,9,9,10,10,11,10,12,11,9,9,9,9,10,11,11,11,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,5,7,6,9,9,5,6,7,9,9,8,9,9,11,11,8,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,11,12,5,7,7,9,9,7,8,7,10,10,7,8,8,10,10,9,10,9,12,11,9,10,10,12,12,8,9,9,12,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,14,11,11,12,13,14,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,11,13,13,11,12,12,14,14,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,11,12,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,11,12,13,10,11,11,12,13,6,8,8,10,10,8,9,8,11,10,8,9,9,11,11,10,11,10,13,12,10,11,11,13,13,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,12,13,13,14,12,13,13,14,14,9,10,10,12,12,10,11,10,13,12,10,11,11,13,13,11,13,12,14,13,12,13,13,14,14,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,12,12,7,8,8,10,10,8,9,9,11,11,8,8,9,10,11,10,11,11,13,13,10,10,11,12,13,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,11,13,13,10,11,11,13,12,9,10,10,12,12,10,11,11,13,13,10,10,11,12,13,12,13,13,14,14,12,12,13,13,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,15,14,12,13,13,14,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,12,12,12,14,13,11,12,12,14,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,14,15,12,13,13,14,15,9,10,10,12,12,10,11,10,13,12,10,11,11,13,13,12,13,12,15,14,12,13,13,14,15,11,12,12,14,14,12,13,13,14,14,12,13,13,15,14,14,14,14,14,16,14,14,15,16,16,11],"i8",N3,x.GLOBAL_BASE+124340),E3([12,12,14,14,11,12,12,14,14,12,13,13,14,15,13,14,13,16,14,14,14,14,16,16,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,14,14,9,10,10,12,12,10,11,11,13,13,10,10,11,12,13,12,13,13,15,14,12,12,13,13,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,14,14,12,13,13,15,14,11,12,12,14,13,12,13,13,15,14,11,12,12,13,14,14,15,14,16,15,13,13,14,13,16,11,12,12,14,14,12,13,13,14,15,12,13,12,15,14,14,14,14,16,15,14,15,13,16,14,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,7,5,7,7,5,7,7,8,9,9,7,9,9,5,7,7,7,9,9,8,9,9,5,7,7,7,9,9,7,9,9,7,9,9,9,10,11,9,11,10,7,9,9,9,11,10,9,10,11,5,7,7,7,9,9,7,9,9,7,9,9,9,11,10,9,10,10,8,9,9,9,11,11,9,11,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,6,14,18,18,17,17,17,17,17,17,4,7,9,9,10,13,15,17,17,17,6,7,5,6,8,11,16,17,16,17,5,7,5,4,6,10,14,17,17,17,6,6,6,5,7,10,13,16,17,17,7,6,7,7,7,8,7,10,15,16,12,9,9,6,6,5,3,5,11,15,14,14,13,5,5,7,3,4,8,15,17,17,13,7,7,10,6,6,10,15,17,17,16,10,11,14,10,10,15,17,0,0,0,0,2,0,0,0,100,0,0,0,192,30,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,16,2,0,0,0,0,0,0,0,0,0,0,0,0,0,224,16,2,0,0,0,0,0,0,0,0,0,0,0,0,0,8,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0,48,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0,88,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0,128,17,2,0,0,0,0,0,168,17,2,0,208,17,2,0,0,0,0,0,0,0,0,0,248,17,2,0,32,18,2,0,0,0,0,0,0,0,0,0,72,18,2,0,112,18,2,0,152,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,80,16,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,14,13,15,14,16,13,13,14,5,5,7,7,8,9,11,10,12,15,10,6,5,6,6,9,10,10,13,16,10,6,6,6,6,8,9,9,12,15,14,7,6,6,5,6,6,8,12,15,10,8,7,7,6,7,7,7,11,13,14,10,9,8,5,6,4,5,9,12,10,9,9,8,6,6,5,3,6,11,12,11,12,12,10,9,8,5,5,8,10,11,15,13,13,13,12,8,6,7,0,0,0,0,4,0,0,0,81,0,0,0,88,30,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,176,30,2,0,0,0,0,0,4,0,0,0,81,0,0,0,240,29,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,72,30,2,0,0,0,0,0,4,0,0,0,113,2,0,0,96,27,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,29,2,0,0,0,0,0,4,0,0,0,113,2,0,0,208,24,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,27,2,0,0,0,0,0,2,0,0,0,81,0,0,0,80,24,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,168,24,2,0,0,0,0,0,2,0,0,0,81,0,0,0,208,23,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,40,24,2,0,0,0,0,0,4,0,0,0,81,0,0,0,104,23,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,192,23,2,0,0,0,0,0,2,0,0,0,121,0,0,0,184,22,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,56,23,2,0,0,0,0,0,2,0,0,0,121,0,0,0,8,22,2,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,136,22,2,0,0,0,0,0,2,0,0,0,121,0,0,0,88,21,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,216,21,2,0,0,0,0,0,2,0,0,0,121,0,0,0,168,20,2,0,1,0,0,0,0,226,120,225,0,232,51,97,4,0,0,0,0,0,0,0,40,21,2,0,0,0,0,0,2,0,0,0,169,0,0,0,192,19,2,0,1,0,0,0,0,96,18,225,0,128,184,96,4,0,0,0,0,0,0,0,112,20,2,0,0,0,0,0,1,0,0,0,49,0,0,0,192,18,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,248,18,2,0,0,0,0,0,2,4,4,4,4,5,5,5,5,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,6,5,8,6,9,8,10,9,11,10,4,6,6,8,8,9,9,11,10,11,11,11,11,4,6,6,8,8,10,9,11,11,11,11,11,12,6,8,8,10,10,11,11,12,12,13,12,13,13,6,8,8,10,10,11,11,12,12,12,13,14,13,8,10,10,11,11,12,13,14,14,14,14,15,15,8,10,10,11,12,12,13,13,14,14,14,14,15,9,11,11,13,13,14,14,15,14,16,15,17,15,9,11,11,12,13,14,14,15,14,15,15,15,16,10,12,12,13,14,15,15,15,15,16,17,16,17,10,13,12,13,14,14,16,16,16,16,15,16,17,11,13,13,14,15,14,17,15,16,17,17,17,17,11,13,13,14,15,15,15,15,17,17,16,17,16,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,10,10,10,10,10,10,10,10,4,10,10,10,10,10,10,10,10,10,10,4,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,7,7,5,6,6,7,7,7,7,7,7,7,7,5,6,6,6,7,7,7,7,7,7,7,6,7,7,7,7,7,7,7,7,8,8,6,7,7,7,7,7,7,7,7,8,8,7,7,7,7,7,8,7,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,10,11,11,4,6,6,7,7,9,9,11,10,12,12,5,6,5,7,7,9,9,10,11,12,12,6,7,7,8,8,10,10,11,11,13,13,6,7,7,8,8,10,10,11,12,13,13,8,9,9,10,10,11,11,12,12,14,14,8,9,9,10,10,11,11,12,12,14,14,10,10,10,11,11,13,12,14,14,15,15,10,10,10,12,12,13,13,14,14,15,15,11,12,12,13,13,14,14,15,14,16,15,11,12,12,13,13,14,14,15,15,15,16,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,3,4,4,6,6,7,7,8,8,8,8,4,5,5,6,6,8,7,8,8,8,8,4,5,5,6,6,7,8,8,8,8,8,6,7,6,7,7,8,8,9,9,9,9,6,6,7,7,7,8,8,9,9,9,9,7,8,7,8,8,9,9,9,9,9,9,7,7,8,8,8,9,9,9,9,9,9,8,8,8,9,9,9,9,10,9,9,9,8,8,8,9,9,9,9,9,9,9,10,8,8,8,9,9,9,9,10,9,10,10,8,8,8,9,9,9,9,9,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,9,8,8,9,9,7,10,10,5,8,9,7,9,10,8,9,9,4,9,9,9,11,10,8,10,10,7,11,10,10,10,12,10,12,12,7,10,10,10,12,11,10,12,12,5,9,9,8,10,10,9,11,11,7,11,10,10,12,12,10,11,12,7,10,11,10,12,12,10,12,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,9,9,4,5,4,6,6,8,7,9,9,4,4,5,6,6,7,7,9,9,5,6,6,7,7,8,8,10,10,5,6,6,7,7,8,8,10,10,7,8,7,8,8,10,9,11,11,7,7,8,8,8,9,10,11,11,9,9,9,10,10,11,10,12,11,9,9,9,10,10,11,11,11,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,7,8,10,10,4,5,5,8,7,8,8,11,11,3,5,5,7,7,8,9,11,11,6,8,7,9,9,10,10,12,12,6,7,8,9,10,10,10,12,12,8,8,8,10,10,12,11,13,13,8,8,9,10,10,11,11,13,13,10,11,11,12,12,13,13,14,14,10,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,6,7,6,9,9,6,6,7,9,9,8,9,9,11,11,8,9,9,10,11,6,7,7,9,9,7,8,8,10,10,6,7,8,9,10,9,10,10,12,12,9,9,10,11,12,6,7,7,9,9,6,8,7,10,9,7,8,8,10,10,9,10,9,12,11,9,10,10,12,11,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,13,14,11,11,12,13,13,8,9,9,11,11,9,10,10,12,11,9,10,10,12,12,11,12,11,13,13,11,12,12,13,13,6,7,7,9,9,7,8,7,10,10,7,7,8,10,10,9,10,10,12,11,9,10,10,12,12,7,8,8,10,10,8,8,9,11,11,8,9,9,11,11,10,11,11,12,12,10,10,11,12,13,6,7,7,10,10,7,9,8,11,10,8,8,9,10,11,10,11,10,13,11,10,11,11,12,12,9,10,10,12,12,10,10,11,13,13,10,11,11,13,12,12,12,13,13,14,12,12,13,14,14,9,10,10,12,12,9,10,10,12,12,10,11,11,13,13,11,12,11,14,12,12,13,13,14,14,6,7,7,9,9,7,8,7,10,10,7,7,8,10,10,9,10,10,12,11,9,10,10,11,12,6,7,7,10,10,8,9,8,11,10,7,8,9,10,11,10,11,11,13,12,10,10,11,11,13,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,10,13,12,10,11,11,12,12,9,10,10,12,12,10,11,11,13,12,9,10,10,12,13,12,13,12,14,14,11,11,12,12,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,12,14,14,12,13,12,14,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,13,13,9,10,10,12,12,10,11,11,13,13,10,11,11,13,12,12,13,13,14,14,12,12,13,14,14,9,10,10,12,12,9,11,10,13,12,10,10,11,12,13,11,13,12,14,13,12,12,13,14,14,11,12,12,13,13,11,12,13,14,14,12,13,13,14,14,13,13,14,14,16,13,14,14,16,16,11,11,11,13,13,11,12,11,14,13,12,12,13,14,15,13,14,12,16,13,14,14,14,15,16,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,13,14,9,10,10,12,12,10,11,10,13,12,9,10,11,12,13,12,13,12,14,14,12,12,13,13,14,9,10,10,12,12,10,11,11,12,13,10,11,11,13,13,12,13,12,14,14,12,13,13,14,14,11,12,12,13,13,12,13,12,14,14,11,11,12,13,14,13,15,14,16,15,13,12,14,13,16,11,12,12,13,13,12,13,13,14,14,12,12,12,14,14,13,14,14,15,15,13,14,13,16,14,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,4,8,8,5,7,6,9,9,5,6,7,9,9,8,9,9,13,12,8,9,10,12,13,5,7,7,10,9,7,9,9,11,11,6,8,9,11,11,10,11,11,14,14,9,10,11,13,14,5,7,7,9,9,7,9,8,11,11,7,9,9,11,11,9,11,10,14,13,10,11,11,14,14,8,10,10,14,13,10,11,12,15,14,9,11,11,15,14,13,14,14,16,16,12,13,14,17,16,8,10,10,13,13,9,11,11,14,15,10,11,12,14,15,12,14,13,16,16,13,14,15,15,17,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,12,11,15,14,10,11,12,14,14,7,9,9,12,12,9,11,11,13,13,9,11,11,13,13,11,13,13,14,17,11,13,13,15,16,6,9,9,11,11,8,11,10,13,12,9,11,11,13,13,11,13,12,16,14,11,13,13,16,16,10,12,12,15,15,11,13,13,16,16,11,13,13,16,15,14,16,17,17,19,14,16,16,18,0,9,11,11,14,15,10,13,12,16,15,11,13,13,16,16,14,15,14,0,16,14,16,16,18,0,5,7,7,10,10,7,9,9,12,11,7,9,9,11,12,10,11,11,15,14,10,11,12,14,14,6,9,9,11,11,9,11,11,13,13,8,10,11,12,13,11,13,13,17,15,11,12,13,14,15,7,9,9,11,12,9,11,11,13,13,9,11,11,13,13,11,13,12,16,16,11,13,13,15,14,9,11,11,14,15,11,13,13,16,15,10,12,13,16,16,15,16,16,0,0,14,13,15,16,18,10,11,11,15,15,11,13,14,16,18,11,13,13,16,15,15,16,16,19,0,14,15,15,16,16,8,10,10,13,13,10,12,11,16,15,10,11,11,16,15,13,15,16,18,0,13,14,15,17,17,9,11,11,15,15,11,13,13,16,18,11,13,13,16,17,15,16,16,0,0,15,18,16,0,17,9,11,11,15,15,11,13,12,17,15,11,13,14,16,17,15,18,15,0,17,15,16,16,18,19,13,15,14,0,18,14,16,16,19,18,14,16,15,19,19,16,18,19,0,0,16,17,0,0,0,12,14,14,17,17,13,16,14,0,18,14,16,15,18,0,16,18,16,19,17,18,19,17,0,0,8,10,10,14,14,9,12,11,15,15,10,11,12,15,17,13,15,15,18,16,14,16,15,18,17,9,11,11,16,15,11,13,13,0,16,11,12,13,16,15,15,16,16,0,17,15,15,16,18,17,9,12,11,15,17,11,13,13,16,16,11,14,13,16,16,15,15,16,18,19,16,18,16,0,0,12,14,14,0,16,14,16,16,0,18,13,14,15,16,0,17,16,18,0,0,16,16,17,19,0,13,14,14,17,0,14,17,16,0,19,14,15,15,18,19,17,16,18,0,0,15,19,16,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,5,6,6,5,6,6,5,6,6,6,8,8,6,7,8,5,6,6,6,8,7,6,8,8,5,6,6,6,8,7,6,8,8,6,8,8,8,9,9,8,9,9,6,8,7,7,9,8,8,9,9,5,6,6,6,8,7,6,8,8,6,8,8,8,9,9,7,8,9,6,8,8,8,9,9,8,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,4,7,7,5,7,7,5,8,8,8,10,10,7,10,10,5,8,8,7,10,10,8,10,10,5,8,8,8,11,10,8,10,10,8,10,10,10,12,13,10,13,13,7,10,10,10,13,12,10,13,13,5,8,8,8,11,10,8,10,11,7,10,10,10,13,13,10,12,13,8,11,11,10,13,13,10,13,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,12,17,16,16,17,17,17,17,17,4,7,11,11,12,9,17,10,17,17,7,7,8,9,7,9,11,10,15,17,7,9,10,11,10,12,14,12,16,17,7,8,5,7,4,7,7,8,16,16,6,10,9,10,7,10,11,11,16,17,6,8,8,9,5,7,5,8,16,17,5,5,8,7,6,7,7,6,6,14,12,10,12,11,7,11,4,4,2,7,17,15,15,15,8,15,6,8,5,9,0,0,0,0,2,0,0,0,100,0,0,0,208,47,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,200,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,240,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,24,33,2,0,0,0,0,0,0,0,0,0,0,0,0,0,64,33,2,0,0,0,0,0,0,0,0,0,0,0,0,0,104,33,2,0,0,0,0,0,144,33,2,0,184,33,2,0,0,0,0,0,0,0,0,0,224,33,2,0,8,34,2,0,0,0,0,0,0,0,0,0,48,34,2,0,88,34,2,0,128,34,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,56,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,14,13,14,13,16,12,13,14,5,4,6,6,8,9,11,10,12,15,10,5,5,6,6,8,10,10,13,16,10,6,6,6,6,8,9,9,12,14,13,7,6,6,4,6,6,7,11,14,10,7,7,7,6,6,6,7,10,13,15,10,9,8,5,6,5,6,10,14,10,9,8,8,6,6,5,4,6,11,11,11,12,11,10,9,9,5,5,9,10,12,15,13,13,13,13,8,7,7,0,0,0,0,4,0,0,0,81,0,0,0,104,47,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,192,47,2,0,0,0,0,0,4,0,0,0,81,0,0,0,0,47,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,88,47,2,0,0,0,0,0,4,0,0,0,113,2,0,0,112,44,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,46,2,0,0,0,0,0,4,0,0,0,113,2,0,0,224,41,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,44,2,0,0,0,0,0,2,0,0,0,81,0,0,0,96,41,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,184,41,2,0,0,0,0,0,2,0,0,0,81,0,0,0,224,40,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,56,41,2,0,0,0,0,0,4,0,0,0,81,0,0,0,120,40,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,208,40,2,0,0,0,0,0,2,0,0,0,121,0,0,0,200,39,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,72,40,2,0,0,0,0,0,2,0,0,0,121,0,0,0,24,39,2,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,152,39,2,0,0,0,0,0,2,0,0,0,121,0,0,0,104,38,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,232,38,2,0,0,0,0,0,2,0,0,0,225,0,0,0,64,37,2,0,1,0,0,0,0,228,91,225,0,224,255,96,4,0,0,0,0,0,0,0,40,38,2,0,0,0,0,0,2,0,0,0,225,0,0,0,24,36,2,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,0,37,2,0,0,0,0,0,2,0,0,0,33,1,0,0,168,34,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,208,35,2,0,0,0,0,0,3,5,5,7,7,8,8,8,8,8,8,9,8,8,9,9,9,5,6,6,7,7,8,8,8,8,8,8,9,9,9,9,9,9,5,6,6,7,7,8,8,8,8,8,8,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,9,9,9,9,9,9,9,9,9,9,9,10,9,9,9,10,9,9,9,9,9,9,9,9,9,9,10,9,9,9,10,9,9,10,9,9,9,9,9,9,9,9,9,10,10,10,9,10,9,10,10,9,9,9,9,9,9,9,9,9,10,10,9,10,10,9,9,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,7,7,8,9,8,8,9,8,9,8,9,9,4,7,6,8,8,9,9,9,9,9,9,9,9,9,9,4,7,6,9,9,10,10,9,9,10,10,10,10,11,11,7,9,8,10,10,11,11,10,10,11,11,11,11,11,11,7,8,9,10,10,11,11,10,10,11,11,11,11,11,12,8,10,10,11,11,12,12,11,11,12,12,12,12,13,12,8,10,10,11,11,12,11,11,11,11,12,12,12,12,13,8,9,9,11,10,11,11,12,12,12,12,13,12,13,12,8,9,9,11,11,11,11,12,12,12,12,12,13,13,13,9,10,10,11,12,12,12,12,12,13,13,13,13,13,13,9,10,10,11,11,12,12,12,12,13,13,13,13,14,13,10,10,10,12,11,12,12,13,13,13,13,13,13,13,13,10,10,11,11,11,12,12,13,13,13,13,13,13,13,13,10,11,11,12,12,13,12,12,13,13,13,13,13,13,14,10,11,11,12,12,13,12,13,13,13,14,13,13,14,13,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,2,9,8,15,15,15,15,15,15,15,15,15,15,4,8,9,13,14,14,14,14,14,14,14,14,14,14,14,5,8,9,14,14,14,14,14,14,14,14,14,14,14,14,11,14,14,14,14,14,14,14,14,14,14,14,14,14,14,11,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,3,5,5,6,6,7,7,7,7,7,7,5,6,5,7,7,7,7,8,7,8,8,5,5,6,6,7,7,7,7,7,8,8,6,7,7,7,7,8,7,8,8,8,8,6,6,7,7,7,7,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,7,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,10,10,4,6,6,7,7,9,9,10,10,11,11,4,6,6,7,7,9,9,10,10,11,11,6,8,8,9,9,10,10,11,11,12,12,6,8,8,9,9,10,10,11,11,12,12,8,9,9,10,10,11,11,12,12,13,13,8,9,9,10,10,11,11,12,12,13,13,10,10,10,11,11,13,13,13,13,15,14,9,10,10,12,11,12,13,13,13,14,15,11,12,12,13,13,13,13,15,14,15,15,11,11,12,13,13,14,14,14,15,15,15,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,3,4,4,6,6,7,7,8,8,8,8,4,5,5,7,6,8,8,8,8,8,8,4,5,5,6,7,8,8,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,7,8,8,8,8,8,8,9,9,9,9,7,8,8,8,8,8,8,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,9,8,7,10,10,8,10,10,5,8,9,7,10,10,7,10,9,4,8,8,9,11,11,8,11,11,7,11,11,10,10,13,10,13,13,7,11,11,10,13,12,10,13,13,5,9,8,8,11,11,9,11,11,7,11,11,10,13,13,10,12,13,7,11,11,10,13,13,9,13,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,9,9,4,5,4,6,6,7,7,9,9,4,4,5,6,6,7,8,9,9,5,6,6,7,7,8,8,10,10,5,6,6,7,7,8,8,10,10,7,8,7,8,8,10,9,11,11,7,7,8,8,8,9,10,10,11,9,9,9,10,10,11,11,12,11,9,9,9,10,10,11,11,11,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,8,8,10,10,4,5,5,8,7,8,8,11,11,3,5,5,7,8,8,8,11,11,6,8,7,9,9,10,9,12,11,6,7,8,9,9,9,10,11,12,8,8,8,10,9,12,11,13,13,8,8,9,9,10,11,12,13,13,10,11,11,12,12,13,13,14,14,10,10,11,11,12,13,13,14,14,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,6,7,6,9,9,6,6,7,9,9,8,9,9,11,11,8,9,9,11,11,6,7,7,9,9,7,8,8,10,10,7,7,8,9,10,9,10,10,11,11,9,9,10,11,12,6,7,7,9,9,7,8,7,10,9,7,8,8,10,10,9,10,9,12,11,9,10,10,12,11,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,11,12,13,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,11,13,12,11,12,12,13,13,5,7,7,9,9,7,8,7,10,10,7,7,8,10,10,9,10,10,12,11,9,10,10,11,12,7,8,8,10,10,8,8,9,11,11,8,9,9,11,11,10,10,11,12,13,10,10,11,12,12,6,7,7,10,10,7,9,8,11,10,8,8,9,10,11,10,11,10,13,11,10,11,11,12,12,9,10,10,12,12,10,10,11,13,13,10,11,11,12,13,12,12,12,13,14,12,12,13,14,14,9,10,10,12,12,9,10,10,13,12,10,11,11,13,13,11,12,11,14,12,12,13,13,14,14,6,7,7,9,9,7,8,7,10,10,7,8,8,10,10,9,10,10,12,11,9,10,10,11,12,6,7,7,10,10,8,9,8,11,10,7,8,9,10,11,10,11,11,12,12,10,10,11,11,13,7,8,8,10,10,8,9,9,11,11,8,9,8,11,11,10,11,10,13,12,10,11,11,13,12,9,10,10,12,12,10,11,11,13,12,9,10,10,12,13,12,13,12,14,14,11,11,12,12,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,12,12,14,14,12,13,12,14,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,13,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,12,13,14,15,12,12,13,14,14,9,10,10,12,12,9,11,10,13,12,10,10,11,12,13,12,13,12,14,13,12,12,13,14,15,11,12,12,14,13,11,12,12,14,14,12,13,13,14,14,13,13,14,14,16,13,14,14,15,15,11,12,11,13,13,11,12,11,14,13,12,12,13,14,15,12,14,12,15,12,13,14,15,15,16,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,13,13,9,10,10,12,12,10,11,10,13,12,9,10,11,12,13,12,13,12,14,14,12,12,13,13,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,12,14,14,12,13,13,14,14,11,11,11,13,13,12,13,12,14,14,11,11,12,13,14,14,14,14,16,15,12,12,14,12,15,11,12,12,13,14,12,13,13,14,15,11,12,12,14,14,13,14,14,16,16,13,14,13,16,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,4,8,8,5,7,6,9,9,5,6,7,9,9,8,9,9,13,12,8,9,10,12,13,5,7,7,10,9,7,9,9,11,11,7,8,9,11,11,10,11,11,14,14,9,10,11,13,14,5,7,7,9,10,6,9,8,11,11,7,9,9,11,11,9,11,10,14,13,10,11,11,14,13,8,10,10,13,13,10,11,11,15,15,9,11,11,14,14,13,14,14,17,16,12,13,14,16,16,8,10,10,13,14,9,11,11,14,15,10,11,12,14,15,12,14,13,16,15,13,14,14,15,17,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,12,11,14,14,10,11,11,14,14,7,9,9,12,11,9,11,11,13,13,9,11,11,13,13,11,13,13,14,15,11,12,13,15,16,6,9,9,11,12,8,11,10,13,12,9,11,11,13,14,11,13,12,16,14,11,13,13,15,16,10,12,11,14,15,11,13,13,15,17,11,13,13,17,16,15,15,16,17,16,14,15,16,18,0,9,11,11,14,15,10,12,12,16,15,11,13,13,16,16,13,15,14,18,15,14,16,16,0,0,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,11,11,14,14,10,11,12,14,14,6,9,9,11,11,9,11,11,13,13,8,10,11,12,13,11,13,13,16,15,11,12,13,14,16,7,9,9,11,12,9,11,11,13,13,9,11,11,13,13,11,13,13,16,15,11,13,12,15,15,9,11,11,15,14,11,13,13,17,16,10,12,13,15,16,14,16,16,0,18,14,14,15,15,17,10,11,12,15,15,11,13,13,16,16,11,13,13,16,16,14,16,16,19,17,14,15,15,17,17,8,10,10,14,14,10,12,11,15,15,10,11,12,16,15,14,15,15,18,20,13,14,16,17,18,9,11,11,15,16,11,13,13,17,17,11,13,13,17,16,15,16,16,0,0,15,16,16,0,0,9,11,11,15,15,10,13,12,17,15,11,13,13,17,16,15,17,15,20,19,15,16,16,19,0,13,15,14,0,17,14,15,16,0,20,15,16,16,0,19,17,18,0,0,0,16,17,18,0,0,12,14,14,19,18,13,15,14,0,17,14,15,16,19,19,16,18,16,0,19,19,20,17,20,0,8,10,10,13,14,10,11,11,15,15,10,12,12,15,16,14,15,14,19,16,14,15,15,0,18,9,11,11,16,15,11,13,13,0,16,11,12,13,16,17,14,16,17,0,19,15,16,16,18,0,9,11,11,15,16,11,13,13,16,16,11,14,13,18,17,15,16,16,18,20,15,17,19,0,0,12,14,14,17,17,14,16,15,0,0,13,14,15,19,0,16,18,20,0,0,16,16,18,18,0,12,14,14,17,20,14,16,16,19,0,14,16,14,0,20,16,20,17,0,0,17,0,15,0,19,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,5,6,6,5,6,6,5,6,6,6,8,8,6,7,8,5,6,6,6,8,7,6,8,8,5,6,6,6,8,8,6,8,8,6,8,8,8,9,9,8,9,9,6,7,7,7,9,8,8,9,9,5,6,6,6,8,7,6,8,8,6,8,8,8,9,9,7,8,9,6,8,8,8,9,9,8,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,4,8,7,5,7,7,5,8,8,8,10,10,7,9,10,5,8,8,7,10,9,8,10,10,5,8,8,8,10,10,8,10,10,8,10,10,10,12,13,10,13,13,7,10,10,10,13,11,10,13,13,5,8,8,8,11,10,8,10,10,7,10,10,10,13,13,10,11,13,8,10,11,10,13,13,10,13,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,11,16,13,17,13,17,16,17,17,4,7,9,9,13,10,16,12,16,17,7,6,5,7,8,9,12,12,16,17,6,9,7,9,10,10,15,15,17,17,6,7,5,7,5,7,7,10,16,17,7,9,8,9,8,10,11,11,15,17,7,7,7,8,5,8,8,9,15,17,8,7,9,9,7,8,7,2,7,15,14,13,13,15,5,10,4,3,6,17,17,15,13,17,7,11,7,6,9,16,0,0,0,0,2,0,0,0,100,0,0,0,160,64,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,49,2,0,0,0,0,0,0,0,0,0,0,0,0,0,216,49,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,2,0,0,0,0,0,0,0,0,0,0,0,0,0,40,50,2,0,0,0,0,0,0,0,0,0,0,0,0,0,80,50,2,0,0,0,0,0,0,0,0,0,0,0,0,0,120,50,2,0,0,0,0,0,160,50,2,0,200,50,2,0,0,0,0,0,0,0,0,0,240,50,2,0,24,51,2,0,0,0,0,0,0,0,0,0,64,51,2,0,104,51,2,0,144,51,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,72,49,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,13,12,14,12,16,11,13,14,5,4,5,6,7,8,10,9,12,15,10,5,5,5,6,8,9,9,13,15,10,5,5,6,6,7,8,8,11,13,12,7,5,6,4,6,7,7,11,14,11,7,7,6,6,6,7,6,10,14,14,9,8,8,6,7,7,7,11,16,11,8,8,7,6,6,7,4,7,12,10,10,12,10,10,9,10,5,6,9,10,12,15,13,14,14,14,8,7,8,0,0,0,0,4,0,0,0,81,0,0,0,56,64,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,144,64,2,0,0,0,0,0,4,0,0,0,81,0,0,0,208,63,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,40,64,2,0,0,0,0,0,4,0,0,0,113,2,0,0,64,61,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,184,63,2,0,0,0,0,0,4,0,0,0,113,2,0,0,176,58,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,40,61,2,0,0,0,0,0,2,0,0,0,81,0,0,0,48,58,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,136,58,2,0,0,0,0,0,2,0,0,0,81,0,0,0,176,57,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,8,58,2,0,0,0,0,0,4,0,0,0,81,0,0,0,72,57,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,160,57,2,0,0,0,0,0,2,0,0,0,121,0,0,0,152,56,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,24,57,2,0,0,0,0,0,2,0,0,0,121,0,0,0,232,55,2,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,104,56,2,0,0,0,0,0,2,0,0,0,121,0,0,0,56,55,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,184,55,2,0,0,0,0,0,2,0,0,0,169,0,0,0,80,54,2,0,1,0,0,0,0,232,87,225,0,224,255,96,4,0,0,0,0,0,0,0,0,55,2,0,0,0,0,0,2,0,0,0,225,0,0,0,40,53,2,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,16,54,2,0,0,0,0,0,2,0,0,0,33,1,0,0,184,51,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,52,2,0,0,0,0,0,2,5,5,7,7,8,8,8,8,8,8,9,9,9,9,9,9,5,6,6,7,7,8,8,9,8,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,9,8,9,9,9,9,9,9,9,9,7,7,7,8,8,9,8,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,9,8,9,9,9,9,9,9,9,9,9,9,8,8,8,8,9,9,9,9,9,9,9,9,10,9,10,10,10,8,8,8,9,8,9,9,9,9,9,9,9,10,9,10,9,10,8,9,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,8,9,9,9,9,9,9,10,9,10,9,10,10,10,10,10,10,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,9,10,9,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,10,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,7,8,7,9,8,9,9,4,7,6,9,8,10,10,9,8,9,9,9,9,9,8,5,6,6,8,9,10,10,9,9,9,10,10,10,10,11,7,8,8,10,10,11,11,10,10,11,11,11,12,11,11,7,8,8,10,10,11,11,10,10,11,11,12,11,11,11,8,9,9,11,11,12,12,11,11,12,11,12,12,12,12,8,9,10,11,11,12,12,11,11,12,12,12,12,12,12,8,9,9,10,10,12,11,12,12,12,12,12,12,12,13,8,9,9,11,11,11,11,12,12,12,12,13,12,13,13,9,10,10,11,11,12,12,12,13,12,13,13,13],"i8",N3,x.GLOBAL_BASE+134580),E3([14,13,9,10,10,11,11,12,12,12,13,13,12,13,13,14,13,9,11,10,12,11,13,12,12,13,13,13,13,13,13,14,9,10,10,12,12,12,12,12,13,13,13,13,13,14,14,10,11,11,12,12,12,13,13,13,14,14,13,14,14,14,10,11,11,12,12,12,12,13,12,13,14,13,14,14,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,2,12,10,13,13,13,13,13,13,13,13,4,9,9,13,13,13,13,13,13,13,13,13,13,5,10,9,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,6,6,7,7,7,7,7,7,5,6,5,7,6,7,7,8,8,8,8,5,5,5,6,6,7,7,8,8,8,8,6,7,6,7,7,8,8,8,8,8,8,6,6,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,10,10,4,6,6,7,7,9,9,10,10,11,11,4,6,6,7,7,9,9,10,10,11,11,6,8,7,9,9,10,10,11,11,13,12,6,8,8,9,9,10,10,11,11,12,13,8,9,9,10,10,12,12,13,12,14,13,8,9,9,10,10,12,12,13,13,14,14,9,11,11,12,12,13,13,14,14,15,14,9,11,11,12,12,13,13,14,14,15,14,11,12,12,13,13,14,14,15,14,15,14,11,11,12,13,13,14,14,14,14,15,15,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,4,5,5,7,7,8,8,9,8,8,9,4,5,5,7,7,8,8,9,9,8,9,6,7,7,8,8,9,8,9,9,9,9,6,7,7,8,8,9,9,9,9,9,9,7,8,8,9,9,9,9,9,9,9,9,7,8,8,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,9,9,8,11,10,7,11,10,5,9,9,7,10,10,8,10,11,4,9,9,9,12,12,9,12,12,8,12,12,11,12,12,10,12,13,7,12,12,11,12,12,10,12,13,4,9,9,9,12,12,9,12,12,7,12,11,10,13,13,11,12,12,7,12,12,10,13,13,11,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,9,9,4,5,4,6,6,7,7,9,9,4,4,5,6,6,7,7,9,9,5,6,6,7,7,8,8,10,10,6,6,6,7,7,8,8,10,10,7,7,7,8,8,9,9,11,10,7,7,7,8,8,9,9,10,11,9,9,9,10,10,11,10,11,11,9,9,9,10,10,11,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,8,8,10,10,4,5,5,8,7,8,8,11,10,3,5,5,7,8,8,8,10,11,6,8,7,10,9,10,10,11,11,6,7,8,9,9,9,10,11,12,8,8,8,10,10,11,11,13,12,8,8,9,9,10,11,11,12,13,10,11,10,12,11,13,12,14,14,10,10,11,11,12,12,13,14,14,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,6,7,6,9,9,6,6,7,9,9,8,9,9,11,11,8,9,9,11,11,6,7,7,9,9,7,8,8,10,10,6,7,8,9,10,9,10,10,11,12,9,9,10,11,12,6,7,7,9,9,6,8,7,10,9,7,8,8,10,10,9,10,9,12,11,9,10,10,12,11,8,9,9,12,11,9,10,10,12,12,9,10,10,12,12,11,12,12,13,14,11,11,12,13,14,8,9,9,11,12,9,10,10,12,12,9,10,10,12,12,11,12,11,14,13,11,12,12,13,13,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,12,12,7,8,8,10,10,8,8,9,10,11,8,9,9,11,11,10,10,11,11,13,10,11,11,12,13,6,7,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,13,11,10,11,11,12,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,11,13,12,15,12,13,13,14,15,9,10,10,12,12,9,11,10,13,12,10,11,11,13,13,11,13,11,14,12,12,13,13,14,15,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,12,12,6,8,7,10,10,8,9,9,11,11,7,8,9,10,11,10,11,11,12,12,10,10,11,11,13,7,8,8,10,10,8,9,9,11,11,8,9,8,11,10,10,11,11,13,12,10,11,10,13,11,9,10,10,12,12,10,11,11,13,12,9,10,10,12,13,12,13,13,14,15,11,11,13,12,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,13,13,14,14,12,13,11,14,12,8,9,9,12,12,9,10,10,12,12,9,10,10,12,12,12,12,12,14,14,11,12,12,14,13,9,10,10,12,12,10,11,11,13,13,10,11,11,13,12,12,12,13,14,15,12,13,13,15,14,9,10,10,12,12,10,11,10,13,12,10,11,11,12,13,12,13,12,15,13,12,13,13,14,15,11,12,12,14,13,11,12,12,14,15,12,13,13,15,14,13,12,14,12,16,13,14,14,15,15,11,11,12,14,14,11,12,11,14,13,12,13,13,14,15,13,14,12,16,12,14,14,15,16,16,8,9,9,11,12,9,10,10,12,12,9,10,10,12,13,11,12,12,13,13,12,12,13,14,14,9,10,10,12,12,10,11,10,13,12,10,10,11,12,13,12,13,13,15,14,12,12,13,13,15,9,10,10,12,13,10,11,11,12,13,10,11,11,13,13,12,13,13,14,15,12,13,12,15,14,11,12,11,14,13,12,13,13,15,14,11,11,12,13,14,14,15,14,16,15,13,12,14,13,16,11,12,12,13,14,12,13,13,14,15,11,12,11,14,14,14,14,14,15,16,13,15,12,16,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,5,8,8,5,7,6,9,9,5,6,7,9,9,8,10,9,13,12,8,9,10,12,12,5,7,7,10,10,7,9,9,11,11,6,8,9,11,11,10,11,11,14,14,9,10,11,13,14,5,7,7,9,10,7,9,8,11,11,7,9,9,11,11,9,11,10,14,13,10,11,11,14,14,8,10,10,13,13,10,11,11,15,14,9,11,11,14,14,13,14,14,17,16,12,13,13,15,16,8,10,10,13,13,9,11,11,14,15,10,11,11,14,15,12,14,13,16,16,13,15,14,15,17,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,11,11,14,14,10,11,12,14,14,7,9,9,12,11,9,11,11,13,13,9,11,11,13,13,12,13,13,15,16,11,12,13,15,16,6,9,9,11,11,8,11,10,13,12,9,11,11,13,14,11,13,12,16,14,11,13,13,16,17,10,12,11,15,15,11,13,13,16,16,11,13,13,17,16,14,15,15,17,17,14,16,16,17,18,9,11,11,14,15,10,12,12,15,15,11,13,13,16,17,13,15,13,17,15,14,15,16,18,0,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,11,11,14,14,10,11,12,14,15,6,9,9,12,11,9,11,11,13,13,8,10,11,12,13,11,13,13,16,15,11,12,13,14,15,7,9,9,11,12,9,11,11,13,13,9,11,11,13,13,11,13,13,15,16,11,13,13,15,14,9,11,11,15,14,11,13,13,17,15,10,12,12,15,15,14,16,16,17,17,13,13,15,15,17,10,11,12,15,15,11,13,13,16,16,11,13,13,15,15,14,15,15,18,18,14,15,15,17,17,8,10,10,13,13,10,12,11,15,15,10,11,12,15,15,14,15,15,18,18,13,14,14,18,18,9,11,11,15,16,11,13,13,17,17,11,13,13,16,16,15,15,16,17,0,14,15,17,0,0,9,11,11,15,15,10,13,12,18,16,11,13,13,15,16,14,16,15,20,20,14,15,16,17,0,13,14,14,20,16,14,15,16,19,18,14,15,15,19,0,18,16,0,20,20,16,18,18,0,0,12,14,14,18,18,13,15,14,18,16,14,15,16,18,20,16,19,16,0,17,17,18,18,19,0,8,10,10,14,14,10,11,11,14,15,10,11,12,15,15,13,15,14,19,17,13,15,15,17,0,9,11,11,16,15,11,13,13,16,16,10,12,13,15,17,14,16,16,18,18,14,15,15,18,0,9,11,11,15,15,11,13,13,16,17,11,13,13,18,17,14,18,16,18,18,15,17,17,18,0,12,14,14,18,18,14,15,15,20,0,13,14,15,17,0,16,18,17,0,0,16,16,0,17,20,12,14,14,18,18,14,16,15,0,18,14,16,15,18,0,16,19,17,0,0,17,18,16,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,5,6,6,5,6,6,5,6,6,6,8,8,6,7,8,5,6,6,6,8,7,6,8,8,5,6,6,6,8,8,6,8,8,6,8,8,8,9,9,8,9,9,6,8,7,7,9,8,8,9,9,5,6,6,6,8,7,6,8,8,6,8,7,8,9,9,7,8,9,6,8,8,8,9,9,8,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,7,5,8,8,8,10,10,7,9,10,5,8,8,7,10,9,8,10,10,5,8,8,8,10,10,8,10,10,8,10,10,10,12,13,10,13,13,7,10,10,10,13,11,10,13,13,4,8,8,8,11,10,8,10,10,7,10,10,10,13,13,10,11,13,8,10,11,10,13,13,10,13,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,10,17,13,17,13,17,17,17,17,3,6,8,9,11,9,15,12,16,17,6,5,5,7,7,8,10,11,17,17,7,8,7,9,9,10,13,13,17,17,8,6,5,7,4,7,5,8,14,17,9,9,8,9,7,9,8,10,16,17,12,10,7,8,4,7,4,7,16,17,12,11,9,10,6,9,5,7,14,17,14,13,10,15,4,8,3,5,14,17,17,14,11,15,6,10,6,8,15,17,0,0,0,0,2,0,0,0,64,0,0,0,248,78,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,128,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,168,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,208,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,248,66,2,0,0,0,0,0,32,67,2,0,72,67,2,0,0,0,0,0,0,0,0,0,112,67,2,0,152,67,2,0,192,67,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,24,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,12,12,13,12,11,13,5,4,6,7,8,8,9,13,9,5,4,5,5,7,9,13,9,6,5,6,6,7,8,12,12,7,5,6,4,5,8,13,11,7,6,6,5,5,6,12,10,8,8,7,7,5,3,8,10,12,13,12,12,9,6,7,4,0,0,0,81,0,0,0,144,78,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,232,78,2,0,0,0,0,0,4,0,0,0,81,0,0,0,40,78,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,128,78,2,0,0,0,0,0,4,0,0,0,113,2,0,0,152,75,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,78,2,0,0,0,0,0,4,0,0,0,113,2,0,0,8,73,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,128,75,2,0,0,0,0,0,2,0,0,0,81,0,0,0,136,72,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,224,72,2,0,0,0,0,0,2,0,0,0,169,0,0,0,160,71,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,80,72,2,0,0,0,0,0,2,0,0,0,25,0,0,0,104,71,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,71,2,0,0,0,0,0,2,0,0,0,169,0,0,0,128,70,2,0,1,0,0,0,0,232,87,225,0,224,255,96,4,0,0,0,0,0,0,0,48,71,2,0,0,0,0,0,2,0,0,0,225,0,0,0,88,69,2,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,64,70,2,0,0,0,0,0,2,0,0,0,33,1,0,0,232,67,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,16,69,2,0,0,0,0,0,2,5,5,7,7,7,7,8,8,8,8,9,9,9,9,9,9,5,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,7,7,7,8,8,8,8,9,9,9,9,10,9,10,9,10,10,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,8,9,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,8,8,8,9,9,9,9,9,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,10,10,10,10,10,10,10,10,11,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,10,10,10,10,10,10,10,10,10,10,11,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,9,8,10,8,10,9,11,11,4,7,6,8,7,9,9,10,10,11,10,11,10,12,10,4,6,7,8,8,9,9,10,10,11,11,11,11,12,12,6,8,8,10,9,11,10,12,11,12,12,12,12,13,13,6,8,8,10,10,10,11,11,11,12,12,13,12,13,13,8,9,9,11,11,12,11,12,12,13,13,13,13,13,13,8,9,9,11,11,11,12,12,12,13,13,13,13,13,13,9,10,10,12,11,13,13,13,13,14,13,13,14,14,14,9,10,11,11,12,12,13,13,13,13,13,14,15,14,14,10,11,11,12,12,13,13,14,14,14,14,14,15,16,16,10,11,11,12,13,13,13,13,15,14,14,15,16,15,16,10,12,12,13,13,14,14,14,15,15,15,15,15,15,16,11,12,12,13,13,14,14,14,15,15,15,16,15,17,16,11,12,12,13,13,13,15,15,14,16,16,16,16,16,17,11,12,12,13,13,14,14,15,14,15,15,17,17,16,16,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,3,12,12,12,12,12,12,12,12,12,12,3,12,11,12,12,12,12,12,12,12,12,12,12,4,11,10,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,6,5,4,5,5,5,6,5,6,5,6,6,5,5,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,11,10,13,13,4,6,5,8,8,9,9,10,10,11,11,14,14,4,6,6,8,8,9,9,10,10,11,11,14,14,6,8,8,9,9,10,10,11,11,12,12,15,15,6,8,8,9,9,10,11,11,11,12,12,15,15,8,9,9,11,10,11,11,12,12,13,13,16,16,8,9,9,10,10,11,11,12,12,13,13,16,16,10,10,10,12,11,12,12,13,13,14,14,16,16,10,10,10,11,12,12,12,13,13,13,14,16,17,11,12,11,12,12,13,13,14,14,15,14,18,17,11,11,12,12,12,13,13,14,14,14,15,19,18,14,15,14,15,15,17,16,17,17,17,17,21,0,14,15,15,16,16,16,16,17,17,18,17,20,21,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,7,7,9,9,4,5,5,7,7,8,8,10,9,4,5,5,7,7,8,8,10,10,6,7,7,8,8,9,9,11,10,6,7,7,8,8,9,9,10,11,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,10,10,11,10,11,11,12,12,9,10,10,10,11,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,5,7,6,9,9,5,6,7,9,9,9,9,9,11,11,8,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,7,8,10,10,9,10,10,11,12,9,10,10,11,12,5,7,7,9,9,7,8,7,10,10,7,8,8,10,10,9,10,10,12,11,9,10,10,12,11,9,10,9,12,12,9,10,10,13,12,9,10,10,12,12,12,12,12,14,14,11,12,12,13,14,9,9,10,12,12,9,10,10,13,13,9,10,10,12,13,11,12,12,14,13,11,12,12,14,14,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,9,10,10,12,12,7,8,8,11,10,8,8,9,11,11,8,9,9,11,11,11,11,11,12,13,10,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,13,11,10,11,11,13,13,9,11,10,13,12,10,11,11,13,14,10,11,11,14,13,12,12,13,12,15,12,13,13,15,15,9,10,10,12,13,10,11,10,13,12,10,11,11,13,14,12,13,11,15,13,13,13,13,15,15,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,10,10,11,12,13,6,8,8,10,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,7,8,8,10,11,8,9,9,11,11,8,9,8,11,11,10,11,11,13,13,11,12,11,13,12,9,10,10,13,12,10,11,11,14,13,10,10,11,12,13,12,13,13,15,15,12,11,13,13,14,9,10,11,12,13,10,11,11,13,14,10,11,11,13,13,12,13,13,15,15,12,13,12,15,12,8,9,9,12,12,9,11,10,13,13,9,10,10,13,13,12,13,13,15,15,12,12,12,14,14,9,10,10,13,13,10,11,11,13,14,10,11,11,14,13,13,13,14,14,16,13,13,13,15,15,9,10,10,13,13,10,11,10,14,13,10,11,11,13,14,12,14,13,16,14,12,13,13,14,15,11,12,12,15,14,11,12,13,14,15,12,13,13,16,15,14,12,15,12,16,14,15,15,16,16,11,12,12,14,14,11,13,12,15,14,12,13,13,15,16,13,15,13,17,13,14,15,15,16,17,8,9,9,12,12,9,10,10,12,13,9,10,10,13,13,12,12,12,14,14,12,13,13,15,15,9,10,10,13,12,10,11,11,14,13,10,10,11,13,14,13,13,13,15,15,12,13,14,14,16,9,10,10,13,13,10,11,11,13,14,10,11,11,14,14,13,13,13,15,15,13,14,13,16,14,11,12,12,15,14,12,13,13,16,15,11,12,13,14,15,14,15,15,17,16,13,13,15,13,16,11,12,13,14,15,13,13,13,15,16,11,13,12,15,14,14,15,15,16,16,14,15,12,17,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,8,8,5,7,7,9,9,5,7,7,9,9,8,10,9,12,12,8,9,10,12,12,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,12,11,14,14,9,10,11,13,14,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,9,11,10,14,13,10,11,11,14,14,8,10,10,14,13,10,12,12,15,14,9,11,11,15,14,13,14,14,17,17,12,14,14,16,16,8,10,10,14,14,9,11,11,14,15,10,12,12,14,15,12,14,13,16,16,13,14,15,15,18,4,7,7,10,10,7,9,9,12,11,7,9,9,11,12,10,12,11,15,14,10,11,12,14,15,7,9,9,12,12,9,11,12,13,13,9,11,12,13,13,12,13,13,15,16,11,13,13,15,16,7,9,9,12,12,9,11,10,13,12,9,11,12,13,14,11,13,12,16,14,12,13,13,15,16,10,12,12,16,15,11,13,13,17,16,11,13,13,17,16,14,15,15,17,17,14,16,16,18,20,9,11,11,15,16,11,13,12,16,16,11,13,13,16,17,14,15,14,18,16,14,16,16,17,20,5,7,7,10,10,7,9,9,12,11,7,9,10,11,12,10,12,11,15,15,10,12,12,14,14,7,9,9,12,12,9,12,11,14,13,9,10,11,12,13,12,13,14,16,16,11,12,13,14,16,7,9,9,12,12,9,12,11,13,13,9,12,11,13,13,11,13,13,16,16,12,13,13,16,15,9,11,11,16,14,11,13,13,16,16,11,12,13,16,16,14,16,16,17,17,13,14,15,16,17,10,12,12,15,15,11,13,13,16,17,11,13,13,16,16,14,16,15,19,19,14,15,15,17,18,8,10,10,14,14,10,12,12,15,15,10,12,12,16,16,14,16,15,20,19,13,15,15,17,16,9,12,12,16,16,11,13,13,16,18,11,14,13,16,17,16,17,16,20,0,15,16,18,18,20,9,11,11,15,15,11,14,12,17,16,11,13,13,17,17,15,17,15,20,20,14,16,16,17,0,13,15,14,18,16,14,15,16,0,18,14,16,16,0,0,18,16,0,0,20,16,18,18,0,0,12,14,14,17,18,13,15,14,20,18,14,16,15,19,19,16,20,16,0,18,16,19,17,19,0,8,10,10,14,14,10,12,12,16,15,10,12,12,16,16,13,15,15,18,17,14,16,16,19,0,9,11,11,16,15,11,14,13,18,17,11,12,13,17,18,14,17,16,18,18,15,16,17,18,18,9,12,12,16,16,11,13,13,16,18,11,14,13,17,17,15,16,16,18,20,16,17,17,20,20,12,14,14,18,17,14,16,16,0,19,13,14,15,18,0,16,0,0,0,0,16,16,0,19,20,13,15,14,0,0,14,16,16,18,19,14,16,15,0,20,16,20,18,0,20,17,20,17,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,6,6,5,6,6,5,6,6,7,8,8,6,8,8,5,6,6,6,8,8,7,8,8,5,7,6,6,8,8,6,8,8,6,8,8,8,9,10,8,10,10,6,8,8,8,10,8,8,10,10,5,6,6,6,8,8,6,8,8,6,8,8,8,10,10,8,8,10,6,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,10,11,8,10,11,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,11,11,11,13,14,11,15,14,8,11,11,10,13,12,11,14,14,4,8,8,8,11,11,8,11,11,7,11,11,11,15,14,10,12,14,8,11,11,11,14,14,11,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,14,17,15,17,16,14,13,16,10,7,7,10,13,10,15,16,9,4,4,6,5,7,9,16,12,8,7,8,8,8,11,16,14,7,4,6,3,5,8,15,13,8,5,7,4,5,7,16,12,9,6,8,3,3,5,16,14,13,7,10,5,5,7,15,2,0,0,0,64,0,0,0,192,92,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,80,2,0,0,0,0,0,0,0,0,0,0,0,0,0,176,80,2,0,0,0,0,0,0,0,0,0,0,0,0,0,216,80,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,81,2,0,0,0,0,0,0,0,0,0,0,0,0,0,40,81,2,0,0,0,0,0,80,81,2,0,120,81,2,0,0,0,0,0,0,0,0,0,160,81,2,0,200,81,2,0,240,81,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,72,80,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,9,13,12,14,11,10,13,8,4,5,7,8,7,8,12,11,4,3,5,5,7,9,14,11,6,5,6,6,6,7,13,13,7,5,6,4,5,7,14,11,7,6,6,5,5,6,13,9,7,8,6,7,5,3,9,9,12,13,12,14,10,6,7,4,0,0,0,81,0,0,0,88,92,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,176,92,2,0,0,0,0,0,4,0,0,0,81,0,0,0,240,91,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,72,92,2,0,0,0,0,0,4,0,0,0,113,2,0,0,96,89,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,91,2,0,0,0,0,0,4,0,0,0,113,2,0,0,208,86,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,89,2,0,0,0,0,0,2,0,0,0,81,0,0,0,80,86,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,168,86,2,0,0,0,0,0,2,0,0,0,169,0,0,0,104,85,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,24,86,2,0,0,0,0,0,2,0,0,0,25,0,0,0,48,85,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,80,85,2,0,0,0,0,0,2,0,0,0,81,0,0,0,176,84,2,0,1,0,0,0,0,224,63,225,0,224,255,96,4,0,0,0,0,0,0,0,8,85,2,0,0,0,0,0,2,0,0,0,225,0,0,0,136,83,2,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,112,84,2,0,0,0,0,0,2,0,0,0,33,1,0,0,24,82,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,64,83,2,0,0,0,0,0,2,5,5,7,6,7,7,8,8,8,8,9,9,9,9,9,9,5,6,6,7,7,8,8,8,8,9,9,9,9,9,9,10,10,5,6,6,7,7,8,8,8,8,9,8,9,9,9,9,10,9,7,7,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,7,7,7,8,8,8,8,9,9,9,9,10,9,10,10,10,10,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,7,8,8,9,8,9,9,9,9,10,9,10,10,10,10,10,10,8,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,8,9,8,9,9,9,9,10,9,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,11,11,11,10,11,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,6,8,7,9,8,10,9,11,11,4,7,7,8,7,9,9,10,10,11,11,11,11,12,12,4,7,7,7,7,9,9,10,10,11,11,12,12,12,11,6,8,8,9,9,10,10,11,11,12,12,13,12,13,13,6,8,8,9,9,10,11,11,11,12,12,13,14,13,13,8,9,9,11,11,12,12,12,13,14,13,14,14,14,15,8,9,9,11,11,11,12,13,14,13,14,15,17,14,15,9,10,10,12,12,13,13,13,14,15,15,15,16,16,16,9,11,11,12,12,13,13,14,14,14,15,16,16,16,16,10,12,12,13,13,14,14,15,15,15,16,17,17,17,17,10,12,11,13,13,15,14,15,14,16,17,16,16,16,16,11,13,12,14,14,14,14,15,16,17,16,17,17,17,17,11,13,12,14,14,14,15,17,16,17,17,17,17,17,17,12,13,13,15,16,15,16,17,17,16,16,17,17,17,17,12,13,13,15,15,15,16,17,17,17,16,17,16,17,17,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,3,10,10,10,10,10,10,4,10,10,10,10,10,10,10,10,4,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,6,5,4,5,5,5,6,5,6,5,6,6,5,5,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,10,11,13,14,4,6,5,8,8,9,9,10,10,11,11,14,14,4,6,6,8,8,9,9,10,10,11,11,14,14,6,8,8,9,9,10,10,11,11,12,12,15,15,6,8,8,9,9,10,11,11,11,12,12,15,15,8,9,9,11,10,11,11,12,12,13,13,15,16,8,9,9,10,11,11,11,12,12,13,13,16,16,10,10,11,11,11,12,12,13,13,13,14,17,16,9,10,11,12,11,12,12,13,13,13,13,16,18,11,12,11,12,12,13,13,13,14,15,14,17,17,11,11,12,12,12,13,13,13,14,14,15,18,17,14,15,15,15,15,16,16,17,17,19,18,0,20,14,15,14,15,15,16,16,16,17,18,16,20,18,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,7,7,9,9,4,5,5,7,7,8,8,10,10,4,5,5,7,7,8,8,10,10,6,7,7,8,8,9,9,11,10,6,7,7,8,8,9,9,10,10,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,10,10,11,10,11,11,12,12,9,10,10,10,10,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,5,7,6,9,9,5,6,7,9,9,9,9,9,11,11,9,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,7,8,10,10,9,10,10,11,12,9,10,10,11,12,5,7,7,9,9,7,8,7,10,10,7,8,8,10,10,9,10,9,12,11,9,10,10,12,11,9,10,9,12,12,9,10,10,13,12,9,10,10,12,13,12,12,12,14,14,11,12,12,13,14,9,9,10,12,12,9,10,10,12,12,9,10,10,12,13,11,12,11,14,13,12,12,12,14,13,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,9,10,10,12,12,7,8,8,11,10,8,8,9,11,11,8,9,9,11,11,11,11,11,12,13,10,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,13,11,10,11,11,13,13,9,11,10,13,12,10,11,11,13,13,10,11,11,13,13,12,12,13,12,15,12,13,13,15,15,9,10,10,12,13,10,11,10,13,12,10,11,11,13,14,12,13,11,15,13,12,13,13,15,15,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,10,10,11,12,12,6,8,8,10,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,11,13,13,11,11,11,13,12,9,10,10,13,12,10,11,11,14,13,10,10,11,12,13,12,13,13,15,15,12,11,13,13,14,9,10,11,12,13,10,11,11,13,13,10,11,11,13,13,12,13,13,15,15,12,13,12,15,12,8,9,9,12,12,9,11,10,13,13,9,10,10,13,13,12,13,13,15,14,12,12,12,14,13,9,10,10,13,12,10,11,11,13,13,10,11,11,14,12,13,13,14,14,16,12,13,13,15,15,9,10,10,13,13,10,11,10,14,13,10,11,11,13,14,12,14,13,15,14,13,13,13,15,15,11,13,12,15,14,11,12,13,14,15,12,13,13,16,14,14,12,15,12,16,14,15,15,17,15,11,12,12,14,14,11,13,11,15,14,12,13,13,15,15,13,15,12,17,13,14,15,15,16,16,8,9,9,12,12,9,10,10,12,13,9,10,10,13,13,12,12,12,14,14,12,13,13,15,15,9,10,10,13,12,10,11,11,14,13,10,10,11,13,14,12,13,13,15,15,12,12,13,14,16,9,10,10,13,13,10,11,11,13,14,10,11,11,14,13,12,13,13,14,15,13,14,13,16,14,11,12,12,14,14,12,13,13,15,14,11,12,13,14,15,14,15,15,16,16,13,13,15,13,16,11,12,12,14,15,12,13,13,14,15,11,13,12,15,14,14,15,15,16,16,14,15,12,16,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,7,7,5,7,7,9,9,5,7,7,9,9,8,9,9,12,12,8,9,9,11,12,5,7,7,10,10,7,9,9,11,11,7,9,9,10,11,10,11,11,13,13,9,10,11,13,13,5,7,7,10,10,7,9,9,11,10,7,9,9,11,11,9,11,10,13,13,10,11,11,14,13,8,10,10,14,13,10,11,11,15,14,9,11,11,14,14,13,14,13,16,16,12,13,13,15,15,8,10,10,13,14,9,11,11,14,14,10,11,11,14,15,12,13,13,15,15,13,14,14,15,16,5,7,7,10,10,7,9,9,11,11,7,9,9,11,12,10,11,11,14,14,10,11,11,14,14,7,9,9,12,12,9,11,11,13,13,9,11,11,13,13,12,12,13,15,15,11,12,13,15,16,7,9,9,11,11,8,11,10,13,12,9,11,11,13,13,11,13,12,15,13,11,13,13,15,16,9,12,11,15,14,11,12,13,16,15,11,13,13,15,16,14,14,15,17,16,13,15,16,0,17,9,11,11,15,15,10,13,12,15,15,11,13,13,15,16,13,15,13,16,15,14,16,15,0,19,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,12,11,14,14,10,11,12,14,14,7,9,9,12,12,9,11,11,14,13,9,10,11,12,13,11,13,13,16,16,11,12,13,13,16,7,9,9,12,12,9,11,11,13,13,9,11,11,13,13,11,13,13,15,15,12,13,12,15,14,9,11,11,15,14,11,13,12,16,16,10,12,12,15,15,13,15,15,17,19,13,14,15,16,17,10,12,12,15,15,11,13,13,16,16,11,13,13,15,16,13,15,15,0,0,14,15,15,16,16,8,10,10,14,14,10,12,12,15,15,10,12,11,15,16,14,15,15,19,20,13,14,14,18,16,9,11,11,15,15,11,13,13,17,16,11,13,13,16,16,15,17,17,20,20,14,15,16,17,20,9,11,11,15,15,10,13,12,16,15,11,13,13,15,17,14,16,15,18,0,14,16,15,18,20,12,14,14,0,0,14,14,16,0,0,13,16,15,0,0,17,17,18,0,0,16,17,19,19,0,12,14,14,18,0,12,16,14,0,17,13,15,15,18,0,16,18,17,0,17,16,18,17,0,0,7,10,10,14,14,10,12,11,15,15,10,12,12,16,15,13,15,15,18,0,14,15,15,17,0,9,11,11,15,15,11,13,13,16,16,11,12,13,16,16,14,15,16,17,17,14,16,16,16,18,9,11,12,16,16,11,13,13,17,17,11,14,13,20,17,15,16,16,19,0,15,16,17,0,19,11,13,14,17,16,14,15,15,20,18,13,14,15,17,19,16,18,18,0,20,16,16,19,17,0,12,15,14,17,0,14,15,15,18,19,13,16,15,19,20,15,18,18,0,20,17,0,16,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,4,5,6,6,5,6,6,5,6,6,7,8,8,6,8,8,5,6,6,6,8,8,7,8,8,5,7,6,7,8,8,6,8,8,7,8,8,8,9,10,8,10,10,6,8,8,8,10,8,8,10,10,5,6,6,6,8,8,7,8,8,6,8,8,8,10,10,8,8,10,7,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,10,11,8,10,11,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,11,11,11,13,14,11,14,14,8,11,11,10,14,12,11,14,14,4,8,8,8,11,11,8,11,11,7,11,11,11,14,14,10,12,14,8,11,11,11,14,14,11,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,14,14,14,15,13,15,12,16,10,8,7,9,9,8,12,16,10,5,4,6,5,6,9,16,14,8,6,8,7,8,10,16,14,7,4,6,3,5,8,16,15,9,5,7,4,4,7,16,13,10,6,7,4,3,4,13,13,12,7,9,5,5,6,12,2,0,0,0,64,0,0,0,192,105,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,120,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,160,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,200,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,240,94,2,0,0,0,0,0,24,95,2,0,64,95,2,0,0,0,0,0,0,0,0,0,104,95,2,0,144,95,2,0,184,95,2],"i8",N3,x.GLOBAL_BASE+144820),E3([2,0,0,0,64,0,0,0,16,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,9,14,12,15,13,10,13,7,4,5,6,8,7,8,12,13,4,3,5,5,6,9,15,12,6,5,6,6,6,7,14,14,7,4,6,4,6,8,15,12,6,6,5,5,5,6,14,9,7,8,6,7,5,4,10,10,13,14,14,15,10,6,8,4,0,0,0,81,0,0,0,88,105,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,176,105,2,0,0,0,0,0,4,0,0,0,81,0,0,0,240,104,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,72,105,2,0,0,0,0,0,4,0,0,0,113,2,0,0,96,102,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,104,2,0,0,0,0,0,4,0,0,0,113,2,0,0,208,99,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,102,2,0,0,0,0,0,2,0,0,0,81,0,0,0,80,99,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,168,99,2,0,0,0,0,0,2,0,0,0,169,0,0,0,104,98,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,24,99,2,0,0,0,0,0,2,0,0,0,25,0,0,0,48,98,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,80,98,2,0,0,0,0,0,2,0,0,0,81,0,0,0,176,97,2,0,1,0,0,0,0,32,53,225,0,32,245,96,4,0,0,0,0,0,0,0,8,98,2,0,0,0,0,0,2,0,0,0,169,0,0,0,200,96,2,0,1,0,0,0,0,128,211,224,0,0,122,96,4,0,0,0,0,0,0,0,120,97,2,0,0,0,0,0,2,0,0,0,169,0,0,0,224,95,2,0,1,0,0,0,0,0,88,224,0,0,16,96,4,0,0,0,0,0,0,0,144,96,2,0,0,0,0,0,2,5,5,6,6,7,7,8,7,8,8,8,8,5,6,6,7,7,8,8,8,8,8,8,8,8,5,6,6,7,7,8,7,8,8,8,8,8,8,6,7,7,7,8,8,8,8,8,9,9,9,9,6,7,7,8,7,8,8,9,9,9,9,9,9,7,8,8,8,8,8,8,9,9,9,9,9,9,7,8,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,9,9,9,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,9,9,9,9,8,8,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,6,7,6,8,7,9,7,9,8,4,7,6,8,8,9,8,10,9,10,10,11,11,4,7,7,8,8,8,8,9,10,11,11,11,11,6,8,8,10,10,10,10,11,11,12,12,12,12,7,8,8,10,10,10,10,11,11,12,12,13,13,7,9,9,11,10,12,12,13,13,14,13,14,14,7,9,9,10,11,11,12,13,13,13,13,16,14,9,10,10,12,12,13,13,14,14,15,16,15,16,9,10,10,12,12,12,13,14,14,14,15,16,15,10,12,12,13,13,15,13,16,16,15,17,17,17,10,11,11,12,14,14,14,15,15,17,17,15,17,11,12,12,14,14,14,15,15,15,17,16,17,17,10,12,12,13,14,14,14,17,15,17,17,17,17,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,12,12,12,12,12,12,4,12,12,12,12,12,12,12,12,5,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,6,5,4,5,5,5,6,5,6,5,6,6,5,5,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,10,11,11,14,13,4,6,5,8,8,9,9,11,10,12,11,15,14,4,5,6,8,8,9,9,11,11,11,11,14,14,6,8,8,10,9,11,11,11,11,12,12,15,15,6,8,8,9,9,11,11,11,12,12,12,15,15,8,10,10,11,11,11,11,12,12,13,13,15,16,8,10,10,11,11,11,11,12,12,13,13,16,16,10,11,11,12,12,12,12,13,13,13,13,17,16,10,11,11,12,12,12,12,13,13,13,14,16,17,11,12,12,13,13,13,13,14,14,15,14,18,17,11,12,12,13,13,13,13,14,14,14,15,19,18,14,15,15,15,15,16,16,18,19,18,18,0,0,14,15,15,16,15,17,17,16,18,17,18,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,8,8,9,9,4,6,5,8,8,8,8,10,10,4,5,6,8,8,8,8,10,10,7,8,8,9,9,9,9,11,11,7,8,8,9,9,9,9,11,11,8,8,8,9,9,10,11,12,12,8,8,8,9,9,10,10,12,12,10,10,10,11,11,12,12,13,13,10,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,5,7,6,9,9,5,6,7,9,9,9,9,9,11,11,9,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,7,8,10,10,10,10,10,11,12,9,10,10,11,12,5,7,7,9,9,6,8,7,10,10,7,8,8,10,10,9,10,10,12,11,9,10,10,12,11,9,10,10,12,12,10,10,10,13,12,9,10,10,12,13,12,12,12,14,14,11,12,12,13,14,9,10,10,12,12,9,10,10,12,13,10,10,10,12,13,11,12,12,14,13,12,12,12,14,13,5,7,7,10,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,10,10,10,12,12,7,8,8,11,10,8,8,9,11,11,8,9,9,11,11,10,11,11,12,13,10,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,13,11,10,11,11,13,13,9,10,10,13,13,10,11,11,13,13,10,11,11,14,13,12,11,13,12,15,12,13,13,15,15,9,10,10,12,13,10,11,10,13,13,10,11,11,13,13,12,13,11,15,13,12,13,13,15,15,5,7,7,9,10,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,10,10,11,12,12,6,8,8,10,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,7,8,8,10,11,8,9,9,11,11,8,9,8,11,11,10,11,11,13,13,10,11,11,13,12,9,10,10,13,12,10,11,11,14,13,10,10,11,13,13,12,13,13,15,15,12,11,13,12,14,9,10,10,12,13,10,11,11,13,14,10,11,11,13,13,12,13,13,15,15,12,13,12,15,12,8,9,9,12,12,9,11,10,13,13,9,10,10,13,13,12,13,13,15,15,12,12,12,14,14,9,10,10,13,13,10,11,11,13,14,10,11,11,14,12,13,13,14,14,16,12,13,13,15,14,9,10,10,13,13,10,11,10,14,13,10,11,11,13,14,12,14,13,16,14,13,13,13,14,15,11,13,12,15,14,11,12,13,14,15,12,13,13,16,15,14,12,15,12,16,14,15,15,17,16,11,12,12,14,15,11,13,11,15,14,12,13,13,15,16,13,15,12,17,13,14,15,15,16,16,8,9,9,12,12,9,10,10,13,13,9,10,10,13,13,12,13,12,14,14,12,13,13,15,15,9,10,10,13,13,10,11,11,14,13,10,10,11,13,14,12,13,13,15,14,12,12,14,14,16,9,10,10,13,13,10,11,11,13,14,10,11,11,14,13,13,13,13,15,15,13,14,13,16,14,11,12,12,14,14,12,13,13,16,15,11,12,13,14,15,14,15,15,16,16,14,13,15,13,17,11,12,12,14,15,12,13,13,15,16,11,13,12,15,15,14,15,14,16,16,14,15,12,17,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,7,8,5,7,7,9,9,5,7,7,9,9,8,9,9,12,11,8,9,9,11,12,5,7,7,10,10,7,9,9,11,11,7,9,9,10,11,10,11,11,13,13,9,10,11,12,13,5,7,7,10,10,7,9,9,11,10,7,9,9,11,11,9,11,10,13,13,10,11,11,13,13,8,10,10,14,13,10,11,11,15,14,9,11,11,15,14,13,14,13,16,14,12,13,13,15,16,8,10,10,13,14,9,11,11,14,15,10,11,11,14,15,12,13,13,15,15,12,13,14,15,16,5,7,7,10,10,7,9,9,11,11,7,9,9,11,12,10,11,11,14,13,10,11,11,14,14,7,9,9,12,12,9,11,11,13,13,9,11,11,13,13,12,13,12,14,14,11,12,13,15,15,7,9,9,12,12,8,11,10,13,12,9,11,11,13,13,11,13,12,15,13,11,13,13,15,16,9,12,11,15,15,11,12,12,16,15,11,12,13,16,16,13,14,15,16,15,13,15,15,17,17,9,11,11,14,15,10,12,12,15,15,11,13,12,15,16,13,15,14,16,16,13,15,15,17,19,5,7,7,10,10,7,9,9,12,11,7,9,9,11,11,10,11,11,14,14,10,11,11,13,14,7,9,9,12,12,9,11,11,13,13,9,10,11,12,13,11,13,12,16,15,11,12,12,14,15,7,9,9,12,12,9,11,11,13,13,9,11,11,13,12,11,13,12,15,16,12,13,13,15,14,9,11,11,15,14,11,13,12,16,15,10,11,12,15,15,13,14,14,18,17,13,14,14,15,17,10,11,11,14,15,11,13,12,15,17,11,13,12,15,16,13,15,14,18,17,14,15,15,16,18,7,10,10,14,14,10,12,12,15,15,10,12,12,15,15,14,15,15,18,17,13,15,15,16,16,9,11,11,16,15,11,13,13,16,18,11,13,13,16,16,15,16,16,0,0,14,15,16,18,17,9,11,11,15,15,10,13,12,17,16,11,12,13,16,17,14,15,16,19,19,14,15,15,0,20,12,14,14,0,0,13,14,16,19,18,13,15,16,20,17,16,18,0,0,0,15,16,17,18,19,11,14,14,0,19,12,15,14,17,17,13,15,15,0,0,16,17,15,20,19,15,17,16,19,0,8,10,10,14,15,10,12,11,15,15,10,11,12,16,15,13,14,14,19,17,14,15,15,0,0,9,11,11,16,15,11,13,13,17,16,10,12,13,16,17,14,15,15,18,18,14,15,16,20,19,9,12,12,0,15,11,13,13,16,17,11,13,13,19,17,14,16,16,18,17,15,16,16,17,19,11,14,14,18,18,13,14,15,0,0,12,14,15,19,18,15,16,19,0,19,15,16,19,19,17,12,14,14,16,19,13,15,15,0,17,13,15,14,18,18,15,16,15,0,18,16,17,17,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,6,6,5,6,6,5,6,6,7,8,8,6,8,8,5,6,6,6,8,7,7,8,8,5,6,6,7,8,8,6,8,8,6,8,8,8,9,10,8,10,10,6,8,8,7,10,8,8,10,10,5,6,6,6,8,8,7,8,8,6,8,8,8,10,10,8,8,10,6,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,11,11,8,10,11,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,11,11,11,13,14,11,13,13,7,11,11,10,13,12,11,14,14,4,8,8,8,11,11,8,11,11,8,11,11,11,14,13,10,12,13,8,11,11,11,13,13,11,13,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,13,15,17,17,15,15,12,17,11,9,7,10,10,9,12,17,10,6,3,6,5,7,10,17,15,10,6,9,8,9,11,17,15,8,4,7,3,5,9,16,16,10,5,8,4,5,8,16,13,11,5,8,3,3,5,14,13,12,7,10,5,5,7,14,2,0,0,0,64,0,0,0,152,118,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,120,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,160,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,200,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,240,107,2,0,0,0,0,0,24,108,2,0,64,108,2,0,0,0,0,0,0,0,0,0,104,108,2,0,144,108,2,0,184,108,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,16,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,13,10,17,11,11,15,7,2,4,5,8,7,9,16,13,4,3,5,6,8,11,20,10,4,5,5,7,6,8,18,15,7,6,7,8,10,14,20,10,6,7,6,9,7,8,17,9,8,10,8,10,5,4,11,12,17,19,14,16,10,7,12,4,0,0,0,81,0,0,0,48,118,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,136,118,2,0,0,0,0,0,4,0,0,0,81,0,0,0,200,117,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,32,118,2,0,0,0,0,0,4,0,0,0,113,2,0,0,56,115,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,176,117,2,0,0,0,0,0,4,0,0,0,113,2,0,0,168,112,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,32,115,2,0,0,0,0,0,2,0,0,0,81,0,0,0,40,112,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,112,2,0,0,0,0,0,2,0,0,0,169,0,0,0,64,111,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,240,111,2,0,0,0,0,0,2,0,0,0,25,0,0,0,8,111,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,40,111,2,0,0,0,0,0,2,0,0,0,49,0,0,0,176,110,2,0,1,0,0,0,0,176,31,225,0,32,245,96,3,0,0,0,0,0,0,0,232,110,2,0,0,0,0,0,2,0,0,0,169,0,0,0,200,109,2,0,1,0,0,0,0,128,211,224,0,0,122,96,4,0,0,0,0,0,0,0,120,110,2,0,0,0,0,0,2,0,0,0,169,0,0,0,224,108,2,0,1,0,0,0,0,0,88,224,0,0,16,96,4,0,0,0,0,0,0,0,144,109,2,0,0,0,0,0,2,5,4,6,6,7,7,8,8,8,8,9,8,5,5,6,7,7,8,8,8,8,9,9,9,9,5,6,5,7,7,8,8,8,8,9,9,9,9,6,7,7,8,8,8,8,9,8,9,9,9,9,6,7,7,8,7,8,8,9,9,9,9,9,9,7,8,8,8,8,9,9,9,9,9,9,9,9,7,8,8,9,8,9,8,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,9,9,10,10,8,8,9,9,9,9,9,9,9,9,10,9,10,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,10,9,9,10,10,9,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,6,6,6,6,7,7,8,8,9,9,5,7,7,8,7,7,7,9,8,10,9,10,11,5,7,7,8,8,7,7,8,9,10,10,11,11,6,8,8,9,9,9,9,11,10,12,12,15,12,6,8,8,9,9,9,9,11,11,12,11,14,12,7,8,8,10,10,12,12,13,13,13,15,13,13,7,8,8,10,10,11,11,13,12,14,15,15,15,9,10,10,11,12,13,13,14,15,14,15,14,15,8,10,10,12,12,14,14,15,14,14,15,15,14,10,12,12,14,14,15,14,15,15,15,14,15,15,10,12,12,13,14,15,14,15,15,14,15,15,15,12,15,13,15,14,15,15,15,15,15,15,15,15,13,13,15,15,15,15,15,15,15,15,15,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,5,5,4,5,5,5,5,5,6,6,6,6,5,6,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,9,11,10,14,13,4,6,5,8,8,9,9,11,10,11,11,14,14,4,5,6,8,8,9,9,10,10,11,11,14,14,6,8,8,9,9,10,10,11,11,12,12,16,15,7,8,8,9,9,10,10,11,11,12,12,15,15,9,10,10,10,10,11,11,12,12,12,12,15,15,9,10,9,10,11,11,11,12,12,12,13,15,15,10,10,11,11,11,12,12,13,12,13,13,16,15,10,11,11,11,11,12,12,13,12,13,13,16,17,11,11,12,12,12,13,13,13,14,14,15,17,17,11,11,12,12,12,13,13,13,14,14,14,16,18,14,15,15,15,15,16,16,16,16,17,18,0,0,14,15,15,15,15,17,16,17,18,17,17,18,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,8,8,8,9,9,4,6,6,8,8,8,8,9,9,7,8,8,9,9,9,9,11,10,7,8,8,9,9,9,9,10,10,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,9,9,10,10,11,11,12,12,9,9,9,10,11,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,9,9,5,6,6,9,9,5,6,6,9,9,9,10,9,12,12,9,9,10,12,12,5,7,7,10,10,7,7,8,10,10,6,7,8,10,10,10,10,10,11,13,10,9,10,12,13,5,7,7,10,10,6,8,7,10,10,7,8,7,10,10,9,10,10,12,12,10,10,10,13,11,9,10,10,13,13,10,11,10,13,13,10,10,10,13,13,12,12,13,14,14,12,12,13,14,14,9,10,10,13,13,10,10,10,13,13,10,10,10,13,13,12,13,12,15,14,12,13,12,15,15,5,7,6,10,10,7,8,8,10,10,7,8,8,10,10,10,11,10,13,13,10,10,10,12,12,7,8,8,11,10,8,8,9,10,11,8,9,9,11,11,11,10,11,11,14,11,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,14,11,10,11,11,13,13,10,11,11,14,13,10,10,11,14,13,10,11,11,14,14,12,11,13,12,16,13,14,14,15,15,10,10,11,13,14,10,11,10,14,13,10,11,11,14,14,12,13,12,15,13,13,13,14,15,16,5,7,7,10,10,7,8,8,10,10,7,8,8,10,10,10,10,10,13,13,10,10,11,12,13,6,8,8,11,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,6,8,8,10,11,8,9,9,11,11,8,9,8,12,10,10,11,11,13,13,10,11,10,14,11,10,10,10,14,13,10,11,11,14,13,10,10,11,13,13,12,14,14,16,16,12,12,13,13,15,10,11,11,13,14,10,11,11,14,15,10,11,10,13,13,13,14,13,16,16,12,13,11,15,12,9,10,10,13,13,10,11,11,14,13,10,10,11,13,14,13,14,13,16,16,13,13,13,15,16,9,10,10,13,13,10,10,11,13,14,10,11,11,15,13,13,13,14,14,18,13,13,14,16,15,9,10,10,13,14,10,11,10,14,13,10,11,11,13,14,13,14,13,16,15,13,13,14,15,16,12,13,12,16,14,11,11,13,15,15,13,14,13,16,15,15,12,16,12,17,14,15,15,17,17,12,13,13,14,16,11,13,11,16,15,12,13,14,15,16,14,15,13,0,14,14,16,16,0,0,9,10,10,13,13,10,11,10,14,14,10,11,11,13,13,12,13,13,14,16,13,14,14,16,16,9,10,10,14,14,11,11,11,14,13,10,10,11,14,14,13,13,13,16,16,13,13,14,14,17,9,10,10,13,14,10,11,11,13,15,10,11,10,14,14,13,13,13,14,17,13,14,13,17,14,12,13,13,16,14,13,14,13,16,15,12,12,13,15,16,15,15,16,18,16,15,13,15,14,0,12,12,13,14,16,13,13,14,15,16,11,12,11,16,14,15,16,16,17,17,14,15,12,17,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,8,8,5,8,7,9,9,5,7,8,9,9,9,10,9,12,12,9,9,10,12,12,6,8,8,11,10,8,10,10,11,11,8,9,10,11,11,10,11,11,14,13,10,11,11,13,13,5,8,8,10,10,8,10,10,11,11,8,10,10,11,11,10,11,11,13,13,10,11,11,13,13,9,11,11,15,14,10,12,12,15,14,10,12,11,15,14,13,14,14,16,16,12,14,13,17,15,9,11,11,14,15,10,11,12,14,16,10,11,12,14,16,12,13,14,16,16,13,13,15,15,18,5,8,8,11,11,8,10,10,12,12,8,10,10,12,13,11,12,12,14,14,11,12,12,15,15,8,10,10,13,13,10,12,12,13,13,10,12,12,14,14,12,13,13,15,15,12,13,13,16,16,7,10,10,12,12,10,12,11,13,13,10,12,12,13,14,12,13,12,15,14,12,13,13,16,16,10,12,12,17,16,12,13,13,16,15,11,13,13,17,17,15,15,15,16,17,14,15,15,19,19,10,12,12,15,16,11,13,12,15,18,11,13,13,16,16,14,15,15,17,17,14,15,15,17,19,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,16,15,11,12,12,14,15,7,10,10,13,13,10,12,12,14,13,10,11,12,13,13,12,13,13,16,16,12,12,13,15,15,8,10,10,13,13,10,12,12,14,14,10,12,12,13,13,12,13,13,16,16,12,13,13,15,15,10,12,12,16,15,11,13,13,17,16,11,12,13,16,15,13,15,15,19,17,14,15,14,17,16,10,12,12,16,16,11,13,13,16,17,12,13,13,15,17,14,15,15,17,19,14,15,15,17,17,8,11,11,16,16,10,13,12,17,17,10,12,13,16,16,15,17,16,20,19,14,15,17,18,19,9,12,12,16,17,11,13,14,17,18,11,13,13,19,18,16,17,18,19,19,15,16,16,19,19,9,12,12,16,17,11,14,13,18,17,11,13,13,17,17,16,17,16,20,19,14,16,16,18,18,12,15,15,19,17,14,15,16,0,20,13,15,16,20,17,18,16,20,0,0,15,16,19,20,0,12,15,14,18,19,13,16,15,20,19,13,16,15,20,18,17,18,17,0,20,16,17,16,0,0,8,11,11,16,15,10,12,12,17,17,10,13,13,17,16,14,16,15,18,20,15,16,16,19,19,9,12,12,16,16,11,13,13,17,16,11,13,14,17,18,15,15,16,20,20,16,16,17,19,19,9,13,12,16,17,11,14,13,17,17,11,14,14,18,17,14,16,15,18,19,16,17,18,18,19,12,14,15,19,18,13,15,16,18,0,13,14,15,0,0,16,16,17,20,0,17,17,20,20,0,12,15,15,19,20,13,15,15,0,0,14,16,15,0,0,15,18,16,0,0,17,18,16,0,19,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,7,8,8,6,8,8,5,7,7,6,8,8,7,8,8,4,7,7,7,8,8,7,8,8,7,8,8,8,9,10,8,10,10,6,8,8,8,10,8,8,10,10,5,7,7,7,8,8,7,8,8,6,8,8,8,10,10,8,8,10,6,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,11,11,8,10,10,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,12,11,11,13,13,11,13,14,7,11,11,10,13,12,11,13,14,4,8,8,8,11,11,8,11,12,8,11,11,11,13,13,10,12,13,8,11,11,11,14,13,11,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,12,13,14,13,17,12,15,17,5,5,6,10,10,11,15,16,4,3,3,7,5,7,10,16,7,7,7,10,9,11,12,16,6,5,5,9,5,6,10,16,8,7,7,9,6,7,9,16,11,7,3,6,4,5,8,16,12,9,4,8,5,7,9,16,2,0,0,0,64,0,0,0,168,133,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,120,2,0,0,0,0,0,0,0,0,0,0,0,0,0,80,120,2,0,0,0,0,0,0,0,0,0,0,0,0,0,120,120,2,0,0,0,0,0,0,0,0,0,0,0,0,0,160,120,2,0,0,0,0,0,0,0,0,0,0,0,0,0,200,120,2,0,0,0,0,0,240,120,2,0,24,121,2,0,0,0,0,0,0,0,0,0,64,121,2,0,104,121,2,0,144,121,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,232,119,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,13,10,17,11,11,15,7,2,4,5,8,7,9,16,13,4,3,5,6,8,11,20,10,4,5,5,7,6,8,18,15,7,6,7,8,10,14,20,10,6,7,6,9,7,8,17,9,8,10,8,10,5,4,11,12,17,19,14,16,10,7,12,4,0,0,0,81,0,0,0,64,133,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,152,133,2,0,0,0,0,0,4,0,0,0,81,0,0,0,216,132,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,48,133,2,0,0,0,0,0,4,0,0,0,113,2,0,0,72,130,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,132,2,0,0,0,0,0,4,0,0,0,113,2,0,0,184,127,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,48,130,2,0,0,0,0,0,2,0,0,0,81,0,0,0,56,127,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,144,127,2,0,0,0,0,0,2,0,0,0,169,0,0,0,80,126,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,0,127,2,0,0,0,0,0,2,0,0,0,25,0,0,0,24,126,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,126,2,0,0,0,0,0,4,0,0,0,113,2,0,0,136,123,2,0,1,0,0,0,0,32,21,225,0,32,245,96,3,0,0,0,0,0,0,0,0,126,2,0,0,0,0,0,2,0,0,0,169,0,0,0,160,122,2,0,1,0,0,0,0,128,211,224,0,0,122,96,4,0,0,0,0,0,0,0,80,123,2,0,0,0,0,0,2,0,0,0,169,0,0,0,184,121,2,0,1,0,0,0,0,0,88,224,0,0,16,96,4,0,0,0,0,0,0,0,104,122,2,0,0,0,0,0,2,5,4,6,6,7,7,8,8,8,8,9,8,5,5,6,7,7,8,8,8,8,9,9,9,9,5,6,5,7,7,8,8,8,8,9,9,9,9,6,7,7,8,8,8,8,9,8,9,9,9,9,6,7,7,8,7,8,8,9,9,9,9,9,9,7,8,8,8,8,9,9,9,9,9,9,9,9,7,8,8,9,8,9,8,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,9,9,10,10,8,8,9,9,9,9,9,9,9,9,10,9,10,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,10,9,9,10,10,9,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,6,6,6,6,7,7,8,8,9,9,5,7,7,8,7,7,7,9,8,10,9,10,11,5,7,7,8,8,7,7,8,9,10,10,11,11,6,8,8,9,9,9,9,11,10,12,12,15,12,6,8,8,9,9,9,9,11,11,12,11,14,12,7,8,8,10,10,12,12,13,13,13,15,13,13,7,8,8,10,10,11,11,13,12,14,15,15,15,9,10,10,11,12,13,13,14,15,14,15,14,15,8,10,10,12,12,14,14,15,14,14,15,15,14,10,12,12,14,14,15,14,15,15,15,14,15,15,10,12,12,13,14,15,14,15,15,14,15,15,15,12,15,13,15,14,15,15,15,15,15,15,15,15,13,13,15,15,15,15,15,15,15,15,15,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,11,11,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,5,5,4,5,5,5,5,5,6,6,6,6,5,6,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,9,11,10,14,13,4,6,5,8,8,9,9,11,10,11,11,14,14,4,5,6,8,8,9,9,10,10,11,11,14,14,6,8,8,9,9,10,10,11,11,12,12,16,15,7,8,8,9,9,10,10,11,11,12,12,15,15,9,10,10,10,10,11,11,12,12,12,12,15,15,9,10,9,10,11,11,11,12,12,12,13,15,15,10,10,11,11,11,12,12,13,12,13,13,16,15,10,11,11,11,11,12,12,13,12,13,13,16,17,11,11,12,12,12,13,13,13,14,14,15,17,17,11,11,12,12,12,13,13,13,14,14,14,16,18,14,15,15,15,15,16,16,16,16,17,18,0,0,14,15,15,15,15,17,16,17,18,17,17,18,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,8,8,8,9,9,4,6,6,8,8,8,8,9,9,7,8,8,9,9,9,9,11,10,7,8,8,9,9,9,9,10,10,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,9,9,10,10,11,11,12,12,9,9,9,10,11,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,9,9,5,6,6,9,9,5,6,6,9,9,9,10,9,12,12,9,9,10,12,12,5,7,7,10,10,7,7,8,10,10,6,7,8,10,10,10,10,10,11,13,10,9,10,12,13,5,7,7,10,10,6,8,7,10,10,7,8,7,10,10,9,10,10,12,12,10,10,10,13,11,9,10,10,13,13,10,11,10,13,13,10,10,10,13,13,12,12,13,14,14,12,12,13,14,14,9,10,10,13,13,10,10,10,13,13,10,10,10,13,13,12,13,12,15,14,12,13,12,15,15,5,7,6,10,10,7,8,8,10,10,7,8,8,10,10,10,11,10,13,13,10,10,10,12,12,7,8,8,11,10,8,8,9,10,11,8,9,9,11,11,11,10,11,11,14,11,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,14,11,10,11,11,13,13,10,11,11,14,13,10,10,11,14,13,10,11,11,14,14,12,11,13,12,16,13,14,14,15,15,10,10,11,13,14,10,11,10,14,13,10,11,11,14,14,12,13,12,15,13,13,13,14,15,16,5,7,7,10,10,7,8,8,10,10,7,8,8,10,10,10,10,10,13,13,10,10,11,12,13,6,8,8,11,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,6,8,8,10,11,8,9,9,11,11,8,9,8,12,10,10,11,11,13,13,10,11,10,14,11,10,10,10,14,13,10,11,11,14,13,10,10,11,13,13,12,14,14,16,16,12,12,13,13,15,10,11,11,13,14,10,11,11,14,15,10,11,10,13,13,13,14,13,16,16,12,13,11,15,12,9,10,10,13,13,10,11,11,14,13,10,10,11,13,14,13,14,13,16,16,13,13,13,15,16,9,10,10,13,13,10,10,11,13,14,10,11,11,15,13,13,13,14,14,18,13,13,14,16,15,9,10,10,13,14,10,11,10,14,13,10,11,11,13,14,13,14,13,16,15,13,13,14,15,16,12,13,12,16,14,11,11,13,15,15,13,14,13,16,15,15,12,16,12,17,14,15,15,17,17,12,13,13,14,16,11,13,11,16,15,12,13,14,15,16,14,15,13,0,14,14,16,16,0,0,9,10,10,13,13,10,11,10,14,14,10,11,11,13,13,12,13,13,14,16,13,14,14,16,16,9,10,10,14,14,11,11,11,14,13,10,10,11,14,14,13,13,13,16,16,13,13,14,14,17,9,10,10,13,14,10,11,11,13,15,10,11,10,14,14,13,13,13,14,17,13,14,13,17,14,12,13,13,16,14,13,14,13,16,15,12,12,13,15,16,15,15,16,18,16,15,13,15,14,0,12,12,13,14,16,13,13,14,15,16,11,12,11,16,14,15,16,16,17,17,14,15,12,17,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,8,8,5,8,7,9,9,5,7,8,9,9,9,10,9,12,12,9,9,10,12,12,6,8,8,11,10,8,10,10,11,11,8,9,10,11,11,10,11,11,14,13,10,11,11,13,13,5,8,8,10,10,8,10,10,11,11,8,10,10,11,11,10,11,11,13,13,10,11,11,13,13,9,11,11,15,14,10,12,12,15,14,10,12,11,15,14,13,14,14,16,16,12,14,13,17,15,9,11,11,14,15,10,11,12,14,16,10,11,12,14,16,12,13,14,16,16,13,13,15,15,18,5,8,8,11,11,8,10,10,12,12,8,10,10,12,13,11,12,12,14,14,11,12,12,15,15,8,10,10,13,13,10,12,12,13,13,10,12,12,14,14,12,13,13,15,15,12,13,13,16,16,7,10,10,12,12,10,12,11,13,13,10,12,12,13,14,12,13,12,15,14,12,13,13,16,16,10,12,12,17,16,12,13,13,16,15,11,13,13,17,17,15,15,15,16,17,14,15,15,19,19,10,12,12,15,16,11,13,12,15,18,11,13,13,16,16,14,15,15,17,17,14,15,15,17,19,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,16,15,11,12,12,14,15,7,10,10,13,13,10,12,12,14,13,10,11,12,13,13,12,13,13,16,16,12,12,13,15,15,8,10,10,13,13,10,12,12,14,14,10,12,12,13,13,12,13,13,16,16,12,13,13,15,15,10,12,12,16,15,11,13,13,17,16,11,12,13,16,15,13,15,15,19,17,14,15,14,17,16,10,12,12,16,16,11,13,13,16,17,12,13,13,15,17,14,15,15,17,19,14,15,15,17,17,8,11,11,16,16,10,13,12,17,17,10,12,13,16,16,15,17,16,20,19,14,15,17,18,19,9,12,12,16,17,11,13,14,17,18,11,13,13,19,18,16,17,18,19,19,15,16,16,19,19,9,12,12,16,17,11,14,13,18,17,11,13,13,17,17,16,17,16,20,19,14,16,16,18,18,12,15,15,19,17,14,15,16,0,20,13,15,16,20,17,18,16,20,0,0,15,16,19,20,0,12,15,14,18,19,13,16,15,20,19,13,16,15,20,18,17,18,17,0,20,16,17,16,0,0,8,11,11,16,15,10,12,12,17,17,10,13,13,17,16,14,16,15,18,20,15,16,16,19,19,9,12,12,16,16,11,13,13,17,16,11,13,14,17,18,15,15,16,20,20,16,16,17,19,19,9,13,12,16,17,11,14,13,17,17,11,14,14,18,17,14,16,15,18,19,16,17,18,18,19,12,14,15,19,18,13,15,16,18,0,13,14,15,0,0,16,16,17,20,0,17,17,20,20,0,12,15,15,19,20,13,15,15,0,0,14,16,15,0,0,15,18,16,0,0,17,18,16,0,19,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,7,8,8,6,8,8,5,7,7,6,8,8,7,8,8,4,7,7,7,8,8,7,8,8,7,8,8,8,9,10,8,10,10,6,8,8,8,10,8,8,10,10,5,7,7,7,8,8,7,8,8,6,8,8,8,10,10,8,8,10,6,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,11,11,8,10,10,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,12,11,11,13,13,11,13,14,7,11,11,10,13,12,11,13,14,4,8,8,8,11,11,8,11,12,8,11,11,11,13,13,10,12,13,8,11,11,11,14,13,11,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,12,13,14,13,17,12,15,17,5,5,6,10,10,11,15,16,4,3,3,7,5,7,10,16,7,7,7,10,9,11,12,16,6,5,5,9,5,6,10,16,8,7,7,9,6,7,9,16,11,7,3,6,4,5,8,16,12,9,4,8,5,7,9,16],"i8",N3,x.GLOBAL_BASE+155104),E3([2,0,0,0,64,0,0,0,184,148,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,135,2,0,0,0,0,0,0,0,0,0,0,0,0,0,96,135,2,0,0,0,0,0,0,0,0,0,0,0,0,0,136,135,2,0,0,0,0,0,0,0,0,0,0,0,0,0,176,135,2,0,0,0,0,0,0,0,0,0,0,0,0,0,216,135,2,0,0,0,0,0,0,136,2,0,40,136,2,0,0,0,0,0,0,0,0,0,80,136,2,0,120,136,2,0,160,136,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,248,134,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,6,12,9,14,9,9,19,6,1,5,5,8,7,9,19,12,4,4,7,7,9,11,18,9,5,6,6,8,7,8,17,14,8,7,8,8,10,12,18,9,6,8,6,8,6,8,18,9,8,11,8,11,7,5,15,16,18,18,18,17,15,11,18,4,0,0,0,81,0,0,0,80,148,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,148,2,0,0,0,0,0,4,0,0,0,81,0,0,0,232,147,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,64,148,2,0,0,0,0,0,4,0,0,0,113,2,0,0,88,145,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,147,2,0,0,0,0,0,4,0,0,0,113,2,0,0,200,142,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,145,2,0,0,0,0,0,2,0,0,0,81,0,0,0,72,142,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,160,142,2,0,0,0,0,0,2,0,0,0,169,0,0,0,96,141,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,16,142,2,0,0,0,0,0,2,0,0,0,25,0,0,0,40,141,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,141,2,0,0,0,0,0,4,0,0,0,113,2,0,0,152,138,2,0,1,0,0,0,0,32,21,225,0,32,245,96,3,0,0,0,0,0,0,0,16,141,2,0,0,0,0,0,2,0,0,0,169,0,0,0,176,137,2,0,1,0,0,0,0,128,211,224,0,0,122,96,4,0,0,0,0,0,0,0,96,138,2,0,0,0,0,0,2,0,0,0,169,0,0,0,200,136,2,0,1,0,0,0,0,0,88,224,0,0,16,96,4,0,0,0,0,0,0,0,120,137,2,0,0,0,0,0,3,4,4,6,6,7,7,8,8,9,9,9,8,4,5,5,6,6,8,8,9,8,9,9,9,9,4,5,5,7,6,8,8,8,8,9,8,9,8,6,7,7,7,8,8,8,9,9,9,9,9,9,6,7,7,7,7,8,8,9,9,9,9,9,9,7,8,8,8,8,9,8,9,9,10,9,9,10,7,8,8,8,8,9,9,9,9,9,9,10,10,8,9,9,9,9,9,9,9,9,10,10,9,10,8,9,9,9,9,9,9,9,9,9,9,10,10,9,9,9,10,9,9,10,9,9,10,10,10,10,9,9,9,9,9,9,9,10,9,10,10,10,10,9,9,9,10,9,9,10,10,9,10,10,10,10,9,9,9,10,9,9,9,10,10,10,10,10,10,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,6,6,6,6,9,8,9,8,8,8,5,7,7,7,7,8,8,8,10,8,10,8,9,5,7,7,8,7,7,8,10,10,11,10,12,11,7,8,8,9,9,9,10,11,11,11,11,11,11,7,8,8,8,9,9,9,10,10,10,11,11,12,7,8,8,9,9,10,11,11,12,11,12,11,11,7,8,8,9,9,10,10,11,11,11,12,12,11,8,10,10,10,10,11,11,14,11,12,12,12,13,9,10,10,10,10,12,11,14,11,14,11,12,13,10,11,11,11,11,13,11,14,14,13,13,13,14,11,11,11,12,11,12,12,12,13,14,14,13,14,12,11,12,12,12,12,13,13,13,14,13,14,14,11,12,12,14,12,13,13,12,13,13,14,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,5,3,11,11,11,11,11,11,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,5,5,4,5,5,6,5,5,6,5,6,6,5,6,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,10,11,11,15,15,4,5,5,8,8,9,9,11,11,12,12,16,16,4,5,6,8,8,9,9,11,11,12,12,14,14,7,8,8,9,9,10,10,11,12,13,13,16,17,7,8,8,9,9,10,10,12,12,12,13,15,15,9,10,10,10,10,11,11,12,12,13,13,15,16,9,9,9,10,10,11,11,13,12,13,13,17,17,10,11,11,11,12,12,12,13,13,14,15,0,18,10,11,11,12,12,12,13,14,13,14,14,17,16,11,12,12,13,13,14,14,14,14,15,16,17,16,11,12,12,13,13,14,14,14,14,15,15,17,17,14,15,15,16,16,16,17,17,16,0,17,0,18,14,15,15,16,16,0,15,18,18,0,16,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,8,8,9,9,4,6,5,8,7,8,8,10,9,4,6,6,8,8,8,8,10,10,7,8,7,9,9,9,9,11,10,7,8,8,9,9,9,9,10,11,8,8,8,9,9,10,10,11,11,8,8,8,9,9,10,10,11,11,9,10,10,11,10,11,11,12,12,9,10,10,10,11,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,9,9,5,6,6,10,9,5,6,6,9,10,10,10,10,12,11,9,10,10,12,12,5,7,7,10,10,7,7,8,10,11,7,7,8,10,11,10,10,11,11,13,10,10,11,11,13,6,7,7,10,10,7,8,7,11,10,7,8,7,10,10,10,11,9,13,11,10,11,10,13,11,10,10,10,14,13,10,11,11,14,13,10,10,11,13,14,12,12,13,15,15,12,12,13,13,14,10,10,10,12,13,10,11,10,13,13,10,11,11,13,13,12,13,12,14,13,12,13,13,14,13,5,7,7,10,10,7,8,8,11,10,7,8,8,10,10,11,11,11,13,13,10,11,11,12,12,7,8,8,11,11,7,8,9,10,12,8,9,9,11,11,11,10,12,11,14,11,11,12,13,13,6,8,8,10,11,7,9,7,12,10,8,9,10,11,12,10,12,10,14,11,11,12,11,13,13,10,11,11,14,14,10,10,11,13,14,11,12,12,15,13,12,11,14,12,16,12,13,14,15,16,10,10,11,13,14,10,11,10,14,12,11,12,12,13,14,12,13,11,15,12,14,14,14,15,15,5,7,7,10,10,7,8,8,10,10,7,8,8,10,11,10,11,10,12,12,10,11,11,12,13,6,8,8,11,11,8,9,9,12,11,7,7,9,10,12,11,11,11,12,13,11,10,12,11,15,7,8,8,11,11,8,9,9,11,11,7,9,8,12,10,11,12,11,13,12,11,12,10,15,11,10,11,10,14,12,11,12,11,14,13,10,10,11,13,14,13,13,13,17,15,12,11,14,12,15,10,10,11,13,14,11,12,12,14,14,10,11,10,14,13,13,14,13,16,17,12,14,11,16,12,9,10,10,14,13,10,11,10,14,14,10,11,11,13,13,13,14,14,16,15,12,13,13,14,14,9,11,10,14,13,10,10,12,13,14,11,12,11,14,13,13,14,14,14,15,13,14,14,15,15,9,10,11,13,14,10,11,10,15,13,11,11,12,12,15,13,14,12,15,14,13,13,14,14,15,12,13,12,16,14,11,11,12,15,14,13,15,13,16,14,13,12,15,12,17,15,16,15,16,16,12,12,13,13,15,11,13,11,15,14,13,13,14,15,17,13,14,12,0,13,14,15,14,15,0,9,10,10,13,13,10,11,11,13,13,10,11,11,13,13,12,13,12,14,14,13,14,14,15,17,9,10,10,13,13,11,12,11,15,12,10,10,11,13,16,13,14,13,15,14,13,13,14,15,16,10,10,11,13,14,11,11,12,13,14,10,12,11,14,14,13,13,13,14,15,13,15,13,16,15,12,13,12,15,13,12,15,13,15,15,11,11,13,14,15,15,15,15,15,17,13,12,14,13,17,12,12,14,14,15,13,13,14,14,16,11,13,11,16,15,14,16,16,17,0,14,13,11,16,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,8,8,5,8,7,9,9,5,7,8,9,9,9,10,9,12,12,9,9,10,11,12,6,8,8,10,10,8,10,10,11,11,8,9,10,11,11,10,11,11,13,13,10,11,11,12,13,6,8,8,10,10,8,10,9,11,11,8,10,10,11,11,10,11,11,13,12,10,11,11,13,12,9,11,11,15,13,10,12,11,15,13,10,11,11,15,14,12,14,13,16,15,12,13,13,17,16,9,11,11,13,15,10,11,12,14,15,10,11,12,14,15,12,13,13,15,16,12,13,13,16,16,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,14,8,11,10,13,12,10,11,12,12,13,10,12,12,13,13,12,12,13,13,15,11,12,13,15,14,7,10,10,12,12,9,12,11,13,12,10,12,12,13,14,12,13,12,15,13,11,13,12,14,15,10,12,12,16,14,11,12,12,16,15,11,13,12,17,16,13,13,15,15,17,13,15,15,20,17,10,12,12,14,16,11,12,12,15,15,11,13,13,15,18,13,14,13,15,15,13,15,14,16,16,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,15,7,10,10,13,12,10,12,12,14,13,9,10,12,12,13,11,13,13,15,15,11,12,13,13,15,8,10,10,12,13,10,12,12,13,13,10,12,11,13,13,11,13,12,15,15,12,13,12,15,13,10,12,12,16,14,11,12,12,16,15,10,12,12,16,14,14,15,14,18,16,13,13,14,15,16,10,12,12,14,16,11,13,13,16,16,11,13,12,14,16,13,15,15,18,18,13,15,13,16,14,8,11,11,16,16,10,13,13,17,16,10,12,12,16,15,14,16,15,20,17,13,14,14,17,17,9,12,12,16,16,11,13,14,16,17,11,13,13,16,16,15,15,19,18,0,14,15,15,18,18,9,12,12,17,16,11,13,12,17,16,11,12,13,15,17,15,16,15,0,19,14,15,14,19,18,12,14,14,0,16,13,14,14,19,18,13,15,16,17,16,15,15,17,18,0,14,16,16,19,0,12,14,14,16,18,13,15,13,17,18,13,15,14,17,18,15,18,14,18,18,16,17,16,0,17,8,11,11,15,15,10,12,12,16,16,10,13,13,16,16,13,15,14,17,17,14,15,17,17,18,9,12,12,16,15,11,13,13,16,16,11,12,13,17,17,14,14,15,17,17,14,15,16,0,18,9,12,12,16,17,11,13,13,16,17,11,14,13,18,17,14,16,14,17,17,15,17,17,18,18,12,14,14,0,16,13,15,15,19,0,12,13,15,0,0,14,17,16,19,0,16,15,18,18,0,12,14,14,17,0,13,14,14,17,0,13,15,14,0,18,15,16,16,0,18,15,18,15,0,17,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,7,8,8,6,7,9,5,7,7,6,8,7,7,9,8,4,7,7,7,9,8,7,8,8,7,9,8,8,8,10,9,10,10,6,8,8,7,10,8,9,10,10,5,7,7,7,8,8,7,8,9,6,8,8,9,10,10,7,8,10,6,8,9,9,10,10,8,10,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,10,11,8,10,11,5,8,8,8,11,10,8,11,10,4,9,9,8,11,11,8,11,11,8,12,11,10,12,14,11,13,13,7,11,11,10,13,11,11,13,14,4,8,9,8,11,11,8,11,12,7,11,11,11,14,13,10,11,13,8,11,12,11,13,13,10,14,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,12,12,14,12,14,14,14,14,12,6,6,8,9,9,11,14,12,4,2,6,6,7,11,14,13,6,5,7,8,9,11,14,13,8,5,8,6,8,12,14,12,7,7,8,8,8,10,14,12,6,3,4,4,4,7,14,11,7,4,6,6,6,8,14,1,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,0,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,0,0,128,63,0,0,0,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,224,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,64,65,0,0,72,65,0,0,80,65,0,0,88,65,0,0,96,65,0,0,104,65,0,0,112,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,0,0,128,63,0,0,0,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,64,65,0,0,72,65,0,0,80,65,0,0,88,65,0,0,96,65,0,0,104,65,0,0,112,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,0,0,128,63,0,0,0,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,64,64,0,0,128,64,0,0,128,64,0,0,160,64,0,0,160,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,128,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,2,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,2,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,64,0,0,224,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,32,65,0,0,32,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,200,47,1,0,32,161,2,0,200,47,1,0,96,161,2,0,200,47,1,0,160,161,2,0,200,47,1,0,224,161,2,0,200,47,1,0,32,162,2,0,200,47,1,0,96,162,2,0,200,47,1,0,160,162,2,0,200,47,1,0,224,162,2,0,200,47,1,0,32,163,2,0,200,47,1,0,96,163,2,0,200,47,1,0,160,163,2,0,2,0,0,0,0,0,0,0,32,0,0,0,64,171,3,0,216,86,4,0,0,87,4,0,40,87,4,0,232,87,4,0,2,0,0,0,0,0,0,0,32,0,0,0,64,171,3,0,168,88,4,0,208,88,4,0,40,87,4,0,232,87,4,0,2,0,0,0,0,0,0,0,16,0,0,0,64,171,3,0,248,5,4,0,32,6,4,0,72,6,4,0,8,7,4,0,2,0,0,0,0,0,0,0,32,0,0,0,64,171,3,0,200,7,4,0,240,7,4,0,72,6,4,0,8,7,4,0,2,0,0,0,0,0,0,0,16,0,0,0,64,171,3,0,88,182,3,0,128,182,3,0,168,182,3,0,104,183,3,0,2,0,0,0,0,0,0,0,32,0,0,0,64,171,3,0,40,184,3,0,80,184,3,0,168,182,3,0,104,183,3,0,2,0,0,0,0,0,0,0,16,0,0,0,24,73,1,0,152,128,3,0,152,128,3,0,192,128,3,0,192,128,3,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,128,129,3,0,128,129,3,0,192,128,3,0,192,128,3,0,2,0,0,0,0,0,0,0,16,0,0,0,24,73,1,0,176,85,3,0,176,85,3,0,216,85,3,0,216,85,3,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,152,86,3,0,152,86,3,0,216,85,3,0,216,85,3,0,2,0,0,0,0,0,0,0,16,0,0,0,24,73,1,0,32,42,3,0,32,42,3,0,72,42,3,0,72,42,3,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,8,43,3,0,8,43,3,0,72,42,3,0,72,42,3,0,2,0,0,0,0,0,0,0,16,0,0,0,24,73,1,0,8,254,2,0,8,254,2,0,48,254,2,0,48,254,2,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,240,254,2,0,240,254,2,0,48,254,2,0,48,254,2,0,2,0,0,0,0,0,0,0,16,0,0,0,224,163,2,0,8,235,2,0,8,235,2,0,48,235,2,0,48,235,2,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,240,235,2,0,240,235,2,0,48,235,2,0,48,235,2,0,2,0,0,0,0,0,0,0,16,0,0,0,224,163,2,0,8,216,2,0,8,216,2,0,48,216,2,0,48,216,2,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,240,216,2,0,240,216,2,0,48,216,2,0,48,216,2,0,2,0,0,0,0,0,0,0,16,0,0,0,224,163,2,0,168,195,2,0,168,195,2,0,208,195,2,0,208,195,2,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,144,196,2,0,144,196,2,0,208,195,2,0,208,195,2,0,2,0,0,0,0,0,0,0,16,0,0,0,224,163,2,0,248,174,2,0,248,174,2,0,32,175,2,0,32,175,2,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,224,175,2,0,224,175,2,0,32,175,2,0,32,175,2,0,0,0,0,0,255,255,255,255,255,255,255,255,10,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,x.GLOBAL_BASE+165344),E3([1,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,71,0,0,0,157,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,71,0,0,0,157,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,64,195,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,152,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,192,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,232,176,2,0,0,0,0,0,16,177,2,0,56,177,2,0,0,0,0,0,0,0,0,0,96,177,2,0,136,177,2,0,0,0,0,0,0,0,0,0,176,177,2,0,216,177,2,0,0,0,0,0,0,0,0,0,0,178,2,0,40,178,2,0,0,0,0,0,0,0,0,0,80,178,2,0,120,178,2,0,160,178,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,8,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,12,14,15,15,15,13,15,15,6,5,8,10,12,12,13,12,14,13,10,6,5,6,8,9,11,11,13,13,13,8,5,4,5,6,8,10,11,13,14,10,7,5,4,5,7,9,11,12,13,11,8,6,5,4,5,7,9,11,12,11,10,8,7,5,4,5,9,10,13,13,11,10,8,6,5,4,7,9,15,14,13,12,10,9,8,7,8,9,12,12,14,13,12,11,10,9,8,9,0,0,0,0,4,0,0,0,81,0,0,0,216,194,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,48,195,2,0,0,0,0,0,4,0,0,0,113,2,0,0,72,192,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,194,2,0,0,0,0,0,2,0,0,0,81,0,0,0,200,191,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,32,192,2,0,0,0,0,0,2,0,0,0,33,1,0,0,88,190,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,128,191,2,0,0,0,0,0,4,0,0,0,81,0,0,0,240,189,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,72,190,2,0,0,0,0,0,2,0,0,0,121,0,0,0,64,189,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,192,189,2,0,0,0,0,0,2,0,0,0,169,0,0,0,88,188,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,8,189,2,0,0,0,0,0,2,0,0,0,25,0,0,0,32,188,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,188,2,0,0,0,0,0,2,0,0,0,169,0,0,0,56,187,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,232,187,2,0,0,0,0,0,2,0,0,0,121,0,0,0,136,186,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,8,187,2,0,0,0,0,0,2,0,0,0,225,0,0,0,96,185,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,72,186,2,0,0,0,0,0,2,0,0,0,185,1,0,0,72,183,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,8,185,2,0,0,0,0,0,2,0,0,0,105,1,0,0,136,181,2,0,1,0,0,0,128,93,176,225,0,24,61,97,5,0,0,0,0,0,0,0,248,182,2,0,0,0,0,0,2,0,0,0,105,1,0,0,200,179,2,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,56,181,2,0,0,0,0,0,1,0,0,0,49,0,0,0,200,178,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,0,179,2,0,0,0,0,0,2,4,4,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,8,7,9,8,9,9,10,10,11,11,11,11,6,5,5,8,8,9,9,9,8,10,9,11,10,12,12,13,12,13,13,5,5,5,8,8,9,9,9,9,10,10,11,11,12,12,13,12,13,13,17,8,8,9,9,9,9,9,9,10,10,12,11,13,12,13,13,13,13,18,8,8,9,9,9,9,9,9,11,11,12,12,13,13,13,13,13,13,17,13,12,9,9,10,10,10,10,11,11,12,12,12,13,13,13,14,14,18,13,12,9,9,10,10,10,10,11,11,12,12,13,13,13,14,14,14,17,18,18,10,10,10,10,11,11,11,12,12,12,14,13,14,13,13,14,18,18,18,10,9,10,9,11,11,12,12,12,12,13,13,15,14,14,14,18,18,16,13,14,10,11,11,11,12,13,13,13,13,14,13,13,14,14,18,18,18,14,12,11,9,11,10,13,12,13,13,13,14,14,14,13,14,18,18,17,18,18,11,12,12,12,13,13,14,13,14,14,13,14,14,14,18,18,18,18,17,12,10,12,9,13,11,13,14,14,14,14,14,15,14,18,18,17,17,18,14,15,12,13,13,13,14,13,14,14,15,14,15,14,18,17,18,18,18,15,15,12,10,14,10,14,14,13,13,14,14,14,14,18,16,18,18,18,18,17,14,14,13,14,14,13,13,14,14,14,15,15,18,18,18,18,17,17,17,14,14,14,12,14,13,14,14,15,14,15,14,18,18,18,18,18,18,18,17,16,13,13,13,14,14,14,14,15,16,15,18,18,18,18,18,18,18,17,17,13,13,13,13,14,13,14,15,15,15,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,4,3,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,4,5,6,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,4,6,6,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,4,6,6,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,7,7,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,10,9,9,9,10,10,10,10,10,10,10,9,9,9,9,9,9,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,9,9,10,9,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,9,9,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,10,10,9,9,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,9,9,9,9,9,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,6,8,8,8,8,9,9,10,10,11,10,6,5,5,7,7,9,9,8,9,10,10,11,11,12,12,6,5,5,7,7,9,9,9,9,10,10,11,11,12,12,21,7,8,8,8,9,9,9,9,10,10,11,11,12,12,21,8,8,8,8,9,9,9,9,10,10,11,11,12,12,21,11,12,9,9,10,10,10,10,10,11,11,12,12,12,21,12,12,9,8,10,10,10,10,11,11,12,12,13,13,21,21,21,9,9,9,9,11,11,11,11,12,12,12,13,21,20,20,9,9,9,9,10,11,11,11,12,12,13,13,20,20,20,13,13,10,10,11,11,12,12,13,13,13,13,20,20,20,13,13,10,10,11,11,12,12,13,13,13,13,20,20,20,20,20,12,12,12,12,12,12,13,13,14,14,20,20,20,20,20,12,12,12,11,13,12,13,13,14,14,20,20,20,20,20,15,16,13,12,13,13,14,13,14,14,20,20,20,20,20,16,15,12,12,13,12,14,13,14,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,5,6,6,6,6,7,7,7,7,7,7,7,6,6,6,6,7,7,7,7,7,7,7,6,6,6,6,7,7,7,7,7,7,8,6,6,6,6,7,7,7,7,7,7,8,8,8,6,6,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,10,10,11,11,6,4,4,6,6,8,8,9,9,10,10,12,12,6,4,5,6,6,8,8,9,9,10,10,12,12,20,6,6,6,6,8,8,9,10,11,11,12,12,20,6,6,6,6,8,8,10,10,11,11,12,12,20,10,10,7,7,9,9,10,10,11,11,12,12,20,11,11,7,7,9,9,10,10,11,11,12,12,20,20,20,9,9,9,9,11,11,12,12,13,13,20,20,20,9,9,9,9,11,11,12,12,13,13,20,20,20,13,13,10,10,11,11,12,13,13,13,20,20,20,13,13,10,10,11,11,12,13,13,13,20,20,20,20,19,12,12,12,12,13,13,14,15,19,19,19,19,19,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,4,4,4,5,5,5,4,4,5,5,5,4,4,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,9,9,5,4,4,6,6,8,8,9,9,9,9,10,10,6,4,4,6,6,8,8,9,9,9,9,10,10,0,6,6,7,7,8,8,9,9,10,10,11,11,0,6,6,7,7,8,8,9,9,10,10,11,11,0,10,10,8,8,9,9,10,10,11,11,12,12,0,11,11,8,8,9,9,10,10,11,11,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,7,7,11,5,5,6,6,7,7,7,7,8,8,11,5,5,6,6,7,7,7,7,8,8,11,5,5,6,6,7,7,8,8,8,8,11,11,11,6,6,7,7,7,8,8,8,11,11,11,6,6,7,7,7,8,8,8,11,11,11,6,6,7,7,7,7,8,8,11,11,11,7,7,7,7,7,7,8,8,11,11,11,10,10,7,7,7,7,8,8,11,11,11,11,11,7,7,7,7,7,7,11,11,11,11,11,7,7,7,7,7,7,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,7,6,9,10,10,10,10,9,4,6,7,9,10,10,10,9,10,5,9,9,9,11,11,10,11,11,7,10,9,11,12,11,12,12,12,7,9,10,11,11,12,12,12,12,6,10,10,10,12,12,10,12,11,7,10,10,11,12,12,11,12,12,7,10,10,11,12,12,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,10,10,0,5,4,5,5,7,7,8,8,8,8,9,9,10,10,11,11,0,5,5,6,6,7,7,8,8,8,8,9,9,10,10,11,11,0,6,5,6,6,7,7,8,8,9,9,10,10,11,11,11,12,0,0,0,6,6,7,7,8,8,9,9,10,10,11,11,12,12,0,0,0,7,7,7,7,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,7,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,3,4,4,5,5,6,6,8,8,0,4,4,5,5,6,7,8,8,0,4,4,5,5,7,7,8,8,0,5,5,6,6,7,7,9,9,0,0,0,6,6,7,7,9,9,0,0,0,7,7,8,8,9,9,0,0,0,7,7,8,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,0,5,5,8,8,0,5,5,8,8,0,7,7,9,9,0,0,0,9,9,6,7,7,9,8,0,8,8,9,9,0,8,7,9,9,0,9,10,10,10,0,0,0,11,10,6,7,7,8,9,0,8,8,9,9,0,7,8,9,9,0,10,9,11,10,0,0,0,10,10,8,9,8,10,10,0,10,10,12,11,0,10,10,11,11,0,12,13,13,13,0,0,0,13,12,8,8,9,10,10,0,10,10,11,12,0,10,10,11,11,0,13,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,7,10,10,0,7,7,10,9,0,7,7,10,10,0,9,9,10,10,0,0,0,10,10,6,7,8,10,10,0,7,7,9,10,0,7,7,10,10,0,9,9,10,10,0,0,0,10,10,8,9,9,11,11,0,10,10,11,11,0,10,10,11,11,0,12,12,12,12,0,0,0,12,12,8,9,10,11,11,0,9,10,11,11,0,10,10,11,11,0,12,12,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,10,10,0,7,7,10,10,0,7,7,10,9,0,9,9,10,10,0,0,0,10,10,6,7,8,10,10,0,7,7,10,10,0,7,7,9,10,0,9,9,10,10,0,0,0,10,10,8,10,9,12,11,0,10,10,12,11,0,10,9,11,11,0,11,12,12,12,0,0,0,12,12,8,9,10,11,12,0,10,10,11,11,0,9,10,11,11,0,12,11,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,9,12,12,0,9,9,12,11,0,9,9,11,11,0,10,10,12,11,0,0,0,11,12,7,9,10,12,12,0,9,9,11,12,0,9,9,11,11,0,10,10,11,12,0,0,0,11,11,9,11,10,13,12,0,10,10,12,12,0,10,10,12,12,0,11,11,12,12,0,0,0,13,12,9,10,11,12,13,0,10,10,12,12,0,10,10,12,12,0,11,12,12,12,0,0,0,12,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,10,13,13,0,10,10,12,12,0,10,10,12,12,0,11,12,12,12,0,0,0,12,12,9,10,11,13,13,0,10,10,12,12,0,10,10,12,12,0,12,11,13,12,0,0,0,12,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,5,5,0,5,5,6,8,8,0,9,8,0,9,8,6,8,8,0,8,9,0,8,9,0,0,0,0,0,0,0,0,0,5,8,8,0,7,7,0,8,8,5,8,8,0,7,8,0,8,8,0,0,0,0,0,0,0,0,0,5,9,8,0,8,8,0,7,7,5,8,9,0,8,8,0,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,13,18,16,17,17,19,18,19,19,5,7,10,11,12,12,13,16,17,18,6,6,7,7,9,9,10,14,17,19,8,7,6,5,6,7,9,12,19,17,8,7,7,6,5,6,8,11,15,19,9,8,7,6,5,5,6,8,13,15,11,10,8,8,7,5,4,4,10,14,12,13,11,9,7,6,4,2,6,12,18,16,16,13,8,7,7,5,8,13,16,17,18,15,11,9,9,8,10,13,0,0,0,0,2,0,0,0,100,0,0,0,160,215,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,197,2,0,0,0,0,0,0,0,0,0,0,0,0,0,72,197,2,0,0,0,0,0,0,0,0,0,0,0,0,0,112,197,2,0,0,0,0,0,0,0,0,0,0,0,0,0,152,197,2,0,0,0,0,0,192,197,2,0,232,197,2,0,0,0,0,0,0,0,0,0,16,198,2,0,56,198,2,0,0,0,0,0,0,0,0,0,96,198,2,0,136,198,2,0,0,0,0,0,0,0,0,0,176,198,2,0,216,198,2,0,0,0,0,0,0,0,0,0,0,199,2,0,40,199,2,0,80,199,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,184,196,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,12,13,14,14,14,13,14,14,6,4,5,8,10,10,11,11,14,13,9,5,4,5,7,8,9,10,13,13,12,7,5,4,5,6,8,9,12,13,13,9,6,5,5,5,7,9,11,14,12,10,7,6,5,4,6,7,10,11,12,11,9,8,7,5,5,6,10,10,13,12,10,9,8,6,6,5,8,10,14,13,12,12,11,10,9,7,8,10,12,13,14,14,13,12,11,9,9,10,0,0,0,0,4,0,0,0,81,0,0,0,56,215,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,144,215,2,0,0,0,0,0,4,0,0,0,113,2,0,0,168,212,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,32,215,2,0,0,0,0,0,2,0,0,0,81,0,0,0,40,212,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,212,2,0,0,0,0,0,2,0,0,0,33,1,0,0,184,210,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,211,2,0,0,0,0,0,4,0,0,0,81,0,0,0,80,210,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,168,210,2,0,0,0,0,0,2,0,0,0,121,0,0,0,160,209,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,32,210,2,0,0,0,0,0,2,0,0,0,169,0,0,0,184,208,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,104,209,2,0,0,0,0,0,2,0,0,0,25,0,0,0,128,208,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,208,2,0,0,0,0,0,2,0,0,0,169,0,0,0,152,207,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,72,208,2,0,0,0,0,0,2,0,0,0,121,0,0,0,232,206,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,104,207,2,0,0,0,0,0,2,0,0,0,225,0,0,0,192,205,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,168,206,2,0,0,0,0,0,2,0,0,0,185,1,0,0,168,203,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,104,205,2,0,0,0,0,0,2,0,0,0,33,1,0,0,56,202,2,0,1,0,0,0,0,24,157,225,0,24,61,97,5,0,0,0,0,0,0,0,96,203,2,0,0,0,0,0,2,0,0,0,105,1,0,0,120,200,2,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,232,201,2,0,0,0,0,0,1,0,0,0,49,0,0,0,120,199,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,176,199,2,0,0,0,0,0,2,4,4,4,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,6,7,7,7,7,8,8,9,9,10,10,10,10,11,11,6,6,6,8,8,9,8,8,7,10,8,11,10,12,11,12,12,13,13,5,5,6,8,8,9,9,8,8,10,9,11,11,12,12,13,13,13,13,17,8,8,9,9,9,9,9,9,10,9,12,10,12,12,13,12,13,13,17,9,8,9,9,9,9,9,9,10,10,12,12,12,12,13,13,13,13,17,13,13,9,9,10,10,10,10,11,11,12,11,13,12,13,13,14,15,17,13,13,9,8,10,9,10,10,11,11,12,12,14,13,15,13,14,15,17,17,17,9,10,9,10,11,11,12,12,12,12,13,13,14,14,15,15,17,17,17,9,8,9,8,11,11,12,12,12,12,14,13,14,14,14,15,17,17,17,12,14,9,10,11,11,12,12,14,13,13,14,15,13,15,15,17,17,17,13,11,10,8,11,9,13,12,13,13,13,13,13,14,14,14,17,17,17,17,17,11,12,11,11,13,13,14,13,15,14,13,15,16,15,17,17,17,17,17,11,11,12,8,13,12,14,13,17,14,15,14,15,14,17,17,17,17,17,15,15,12,12,12,12,13,14,14,14,15,14,17,14,17,17,17,17,17,16,17,12,12,13,12,13,13,14,14,14,14,14,14,17,17,17,17,17,17,17,14,14,13,12,13,13,15,15,14,13,15,17,17,17,17,17,17,17,17,13,14,13,13,13,13,14,15,15,15,14,15,17,17,17,17,17,17,17,16,15,13,14,13,13,14,14,15,14,14,16,17,17,17,17,17,17,17,16,16,13,14,13,13,14,14,15,14,15,14,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,4,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,4,7,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,4,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,4,5,5,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,10,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,9,10,10,9,10,10,10,10,9,10,9,10,10,9,10,10,10,10,10,10,10,9,10,10,10,10,10,10,9,9,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,9,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,10,9,10,9,9,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,6,8,8,8,7,9,8,10,10,11,10,6,5,5,7,7,9,9,8,8,10,10,11,11,12,11,6,5,5,7,7,9,9,9,9,10,10,11,11,12,12,20,8,8,8,8,9,9,9,9,10,10,11,11,12,12,20,8,8,8,8,10,9,9,9,10,10,11,11,12,12,20,12,12,9,9,10,10,10,10,10,11,12,12,12,12,20,12,12,9,9,10,10,10,10,11,11,12,12,13,13,20,20,20,9,9,9,9,11,10,11,11,12,12,12,13,20,19,19,9,9,9,9,11,11,11,12,12,12,13,13,19,19,19,13,13,10,10,11,11,12,12,13,13,13,13,19,19,19,14,13,11,10,11,11,12,12,12,13,13,13,19,19,19,19,19,12,12,12,12,13,13,13,13,14,13,19,19,19,19,19,12,12,12,11,12,12,13,14,14,14,19,19,19,19,19,16,15,13,12,13,13,13,14,14,14,19,19,19,19,19,17,17,13,12,13,11,14,13,15,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,4,5,6,6,6,7,7,7,7,7,7,8,6,6,6,7,7,7,7,7,7,7,8,6,6,6,6,7,7,7,7,7,7,8,6,6,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,7,9,9,10,10,12,12,6,5,5,7,7,8,8,10,10,11,11,12,12,7,5,5,7,7,8,8,10,10,11,11,12,12,21,7,7,7,7,8,9,10,10,11,11,12,12,21,7,7,7,7,9,9,10,10,12,12,13,13,21,11,11,8,8,9,9,11,11,12,12,13,13,21,11,11,8,8,9,9,11,11,12,12,13,13,21,21,21,10,10,10,10,11,11,12,13,13,13,21,21,21,10,10,10,10,11,11,13,13,14,13,21,21,21,13,13,11,11,12,12,13,13,14,14,21,21,21,14,14,11,11,12,12,13,13,14,14,21,21,21,21,20,13,13,13,12,14,14,16,15,20,20,20,20,20,13,13,13,13,14,13,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,4,4,5,5,5,4,4,5,5,5,4,4,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,9,9,10,10,11,11,6,5,5,7,7,8,8,9,9,10,10,11,11,0,7,7,7,7,9,9,10,10,10,10,11,11,0,7,7,7,7,9,9,10,10,10,10,11,11,0,11,11,9,9,10,10,11,11,11,11,12,12,0,12,12,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,6,6,7,7,8,8,8,8,11,4,5,6,6,7,7,8,8,8,8,11,5,5,6,6,7,7,8,8,8,9,12,5,5,6,6,7,7,8,8,9,9,12,12,12,6,6,7,7,8,8,9,9,11,11,11,6,6,7,7,8,8,8,8,11,11,11,6,6,7,7,8,8,8,8,11,11,11,7,7,7,8,8,8,8,8,11,11,11,11,11,7,7,8,8,8,8,11,11,11,11,11,7,7,7,7,8,8,11,11,11,11,11,7,7,7,7,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,7,6,10,10,10,10,10,10,4,6,6,10,10,10,10,9,10,5,10,10,9,11,11,10,11,11,7,10,10,11,12,12,12,12,12,7,10,10,11,12,12,12,12,12,6,10,10,10,12,12,10,12,12,7,10,10,11,12,12,12,12,12,7,10,10,11,12,12,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,8,8,8,8,9,9,10,10,11,11,0,4,4,6,6,7,7,8,8,9,8,10,10,11,11,11,11,0,4,4,6,6,7,7,8,8,9,9,10,10,11,11,11,11,0,6,5,6,6,7,7,9,9,9,9,10,10,11,11,12,12,0,0,0,6,6,7,7,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,11,12,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,11,12,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,4,5,5,7,7,9,9,0,4,4,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,5,5,6,6,8,8,10,10,0,0,0,6,6,8,8,10,10,0,0,0,7,7,9,9,10,10,0,0,0,7,7,8,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,0,5,5,8,8,0,5,5,8,8,0,7,7,9,9,0,0,0,9,9,5,7,7,9,9,0,8,7,10,9,0,8,7,10,9,0,10,10,11,11,0,0,0,11,11,5,7,7,9,9,0,7,8,9,10,0,7,8,9,10,0,10,10,11,11,0,0,0,11,11,8,9,9,11,10,0,11,10,12],"i8",N3,x.GLOBAL_BASE+175348),E3([11,0,11,10,12,12,0,13,13,14,14,0,0,0,14,13,8,9,9,10,11,0,10,11,12,12,0,10,11,12,12,0,13,13,14,14,0,0,0,13,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,11,10,0,7,7,10,10,0,7,7,10,10,0,9,9,10,10,0,0,0,11,10,5,7,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,10,0,0,0,10,10,8,10,9,12,12,0,10,10,12,11,0,10,10,12,12,0,12,12,13,12,0,0,0,13,12,8,9,10,12,12,0,10,10,11,12,0,10,10,11,12,0,12,12,13,13,0,0,0,12,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,7,11,10,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,10,10,6,7,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,10,0,0,0,10,10,9,10,9,12,12,0,10,10,12,12,0,10,10,12,11,0,12,12,13,13,0,0,0,13,12,8,9,10,12,12,0,10,10,12,12,0,10,10,11,12,0,12,12,13,13,0,0,0,12,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,13,13,0,9,9,12,12,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,7,10,10,13,13,0,9,9,12,12,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,9,11,11,14,13,0,10,10,13,12,0,11,10,13,12,0,12,12,13,12,0,0,0,13,13,9,11,11,13,14,0,10,11,12,13,0,10,11,13,13,0,12,12,12,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,11,14,14,0,10,11,13,13,0,11,10,13,13,0,11,12,13,13,0,0,0,13,12,9,11,11,14,14,0,11,10,13,13,0,10,11,13,13,0,12,12,13,13,0,0,0,12,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,5,5,0,5,5,5,7,7,0,9,8,0,9,8,6,7,7,0,8,9,0,8,9,0,0,0,0,0,0,0,0,0,5,9,8,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,0,0,5,9,8,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,11,13,14,15,15,18,17,19,17,5,6,8,9,10,10,12,15,19,19,6,6,6,6,8,8,11,14,18,19,8,6,5,4,6,7,10,13,16,17,9,7,6,5,6,7,9,12,15,19,10,8,7,6,6,6,7,9,13,15,12,10,9,8,7,6,4,5,10,15,13,13,11,8,6,6,4,2,7,12,17,15,16,10,8,8,7,6,9,12,19,18,17,13,11,10,10,9,11,14,0,0,0,0,2,0,0,0,100,0,0,0,160,234,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,217,2,0,0,0,0,0,0,0,0,0,0,0,0,0,168,217,2,0,0,0,0,0,0,0,0,0,0,0,0,0,208,217,2,0,0,0,0,0,0,0,0,0,0,0,0,0,248,217,2,0,0,0,0,0,32,218,2,0,72,218,2,0,0,0,0,0,0,0,0,0,112,218,2,0,152,218,2,0,0,0,0,0,0,0,0,0,192,218,2,0,232,218,2,0,0,0,0,0,0,0,0,0,16,219,2,0,56,219,2,0,0,0,0,0,0,0,0,0,96,219,2,0,136,219,2,0,176,219,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,24,217,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,11,13,15,14,14,13,15,14,6,4,5,7,9,10,11,11,14,13,10,4,3,5,7,8,9,10,13,13,12,7,4,4,5,6,8,9,12,14,13,9,6,5,5,6,8,9,12,14,12,9,7,6,5,5,6,8,11,11,12,11,9,8,7,6,6,7,10,11,13,11,10,9,8,7,6,6,9,11,13,13,12,12,12,10,9,8,9,11,12,14,15,15,14,12,11,10,10,12,0,0,0,0,4,0,0,0,81,0,0,0,56,234,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,144,234,2,0,0,0,0,0,4,0,0,0,113,2,0,0,168,231,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,32,234,2,0,0,0,0,0,2,0,0,0,81,0,0,0,40,231,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,231,2,0,0,0,0,0,2,0,0,0,33,1,0,0,184,229,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,230,2,0,0,0,0,0,4,0,0,0,81,0,0,0,80,229,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,168,229,2,0,0,0,0,0,2,0,0,0,121,0,0,0,160,228,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,32,229,2,0,0,0,0,0,2,0,0,0,169,0,0,0,184,227,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,104,228,2,0,0,0,0,0,2,0,0,0,25,0,0,0,128,227,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,227,2,0,0,0,0,0,2,0,0,0,169,0,0,0,152,226,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,72,227,2,0,0,0,0,0,2,0,0,0,121,0,0,0,232,225,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,104,226,2,0,0,0,0,0,2,0,0,0,225,0,0,0,192,224,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,168,225,2,0,0,0,0,0,2,0,0,0,185,1,0,0,168,222,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,104,224,2,0,0,0,0,0,2,0,0,0,169,0,0,0,192,221,2,0,1,0,0,0,0,220,125,225,0,232,51,97,4,0,0,0,0,0,0,0,112,222,2,0,0,0,0,0,2,0,0,0,169,0,0,0,216,220,2,0,1,0,0,0,0,96,18,225,0,128,184,96,4,0,0,0,0,0,0,0,136,221,2,0,0,0,0,0,1,0,0,0,49,0,0,0,216,219,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,16,220,2,0,0,0,0,0,2,4,3,4,5,5,5,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,6,8,8,8,8,6,6,6,8,8,9,8,8,7,9,8,11,10,5,6,6,8,8,9,8,8,8,10,9,11,11,16,8,8,9,8,9,9,9,8,10,9,11,10,16,8,8,9,9,10,10,9,9,10,10,11,11,16,13,13,9,9,10,10,9,10,11,11,12,11,16,13,13,9,8,10,9,10,10,10,10,11,11,16,14,16,8,9,9,9,11,10,11,11,12,11,16,16,16,9,7,10,7,11,10,11,11,12,11,16,16,16,12,12,9,10,11,11,12,11,12,12,16,16,16,12,10,10,7,11,8,12,11,12,12,16,16,15,16,16,11,12,10,10,12,11,12,12,16,16,16,15,15,11,11,10,10,12,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,11,11,11,11,11,11,11,11,11,11,4,6,6,11,11,11,11,11,11,11,11,11,11,4,7,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,7,6,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,11,10,10,10,9,9,9,9,9,9,9,9,9,9,10,9,9,10,9,9,10,11,10,11,10,9,9,9,9,9,9,9,10,10,10,9,10,9,9,9,9,11,10,11,10,10,9,9,9,9,9,9,10,9,9,10,9,9,10,9,9,10,11,10,10,11,10,9,9,9,9,9,10,10,9,10,10,10,10,9,10,10,10,10,10,10,11,11,11,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,9,10,11,11,10,11,10,11,10,9,10,10,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,10,11,11,10,10,10,10,10,10,9,10,9,10,10,9,10,9,10,10,10,11,10,11,10,11,11,10,10,10,10,10,10,9,10,10,10,10,10,10,10,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,10,11,11,10,10,10,10,9,9,10,10,9,9,10,9,10,10,10,10,11,11,10,10,10,10,10,10,10,9,9,10,10,10,9,9,10,10,10,10,10,11,10,11,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,7,9,8,9,9,10,10,6,5,5,7,7,9,9,8,8,10,9,11,10,12,11,6,5,5,8,7,9,9,8,8,10,10,11,11,12,11,19,8,8,8,8,10,10,9,9,10,10,11,11,12,11,19,8,8,8,8,10,10,9,9,10,10,11,11,12,12,19,12,12,9,9,10,10,9,10,10,10,11,11,12,12,19,12,12,9,9,10,10,10,10,10,10,12,12,12,12,19,19,19,9,9,9,9,11,10,11,11,12,11,13,13,19,19,19,9,9,9,9,11,10,11,11,11,12,13,13,19,19,19,13,13,10,10,11,11,12,12,12,12,13,12,19,19,19,14,13,10,10,11,11,12,12,12,13,13,13,19,19,19,19,19,12,12,12,11,12,13,14,13,13,13,19,19,19,19,19,12,12,12,11,12,12,13,14,13,14,19,19,19,19,19,16,16,12,13,12,13,13,14,15,14,19,18,18,18,18,16,15,12,11,12,11,14,12,14,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,7,7,8,6,6,7,7,7,7,7,7,7,7,8,6,6,6,7,7,7,7,7,7,7,8,6,6,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,7,8,9,9,10,10,12,11,6,5,5,7,7,8,8,9,10,11,11,12,12,7,5,5,7,7,8,8,10,10,11,11,12,12,20,7,7,7,7,8,9,10,10,11,11,12,13,20,7,7,7,7,9,9,10,10,11,12,13,13,20,11,11,8,8,9,9,11,11,12,12,13,13,20,11,11,8,8,9,9,11,11,12,12,13,13,20,20,20,10,10,10,10,12,12,13,13,13,13,20,20,20,10,10,10,10,12,12,13,13,13,14,20,20,20,14,14,11,11,12,12,13,13,14,14,20,20,20,14,14,11,11,12,12,13,13,14,14,20,20,20,20,19,13,13,13,13,14,14,15,14,19,19,19,19,19,13,13,13,13,14,14,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,4,4,5,5,5,4,4,5,5,5,4,4,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,7,9,8,10,10,6,5,5,7,7,8,8,9,9,9,10,11,11,7,5,5,7,7,8,8,9,9,10,10,11,11,0,7,7,7,7,9,8,9,9,10,10,11,11,0,8,8,7,7,8,9,9,9,10,10,11,11,0,11,11,9,9,10,10,11,10,11,11,12,12,0,12,12,9,9,10,10,11,11,11,11,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,6,6,7,7,8,8,8,8,11,4,4,6,6,7,7,8,8,9,9,11,4,4,6,6,7,7,8,8,9,9,12,5,5,6,6,7,7,9,9,9,9,12,12,12,6,6,7,7,9,9,9,9,11,11,11,7,7,7,7,8,8,9,9,11,11,11,7,7,7,7,8,8,9,9,11,11,11,7,7,8,8,8,8,9,9,11,11,11,11,11,8,8,8,8,8,9,11,11,11,11,11,8,8,8,8,8,8,11,11,11,11,11,7,7,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,6,7,10,10,10,10,10,9,4,6,6,10,10,10,10,9,10,5,10,10,9,11,12,10,11,12,7,10,10,11,12,12,12,12,12,7,10,10,11,12,12,12,12,12,6,10,10,10,12,12,11,12,12,7,10,10,12,12,12,12,11,12,7,10,10,11,12,12,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,8,8,8,8,9,9,10,10,11,11,0,4,4,6,6,7,7,8,8,9,9,10,10,11,11,12,12,0,4,4,6,6,7,7,8,8,9,9,10,10,11,11,12,12,0,5,5,6,6,8,8,9,9,9,9,10,10,11,12,12,12,0,0,0,6,6,8,7,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,13,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,12,13,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,4,5,5,7,7,9,9,0,4,4,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,5,5,6,6,8,8,10,10,0,0,0,6,6,8,8,10,10,0,0,0,7,7,9,9,10,10,0,0,0,7,7,8,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,0,5,5,8,8,0,5,5,8,8,0,7,7,9,9,0,0,0,9,9,5,7,7,9,9,0,8,8,10,10,0,8,7,10,9,0,10,10,11,11,0,0,0,11,11,5,7,7,9,9,0,8,8,10,10,0,7,8,9,10,0,10,10,11,11,0,0,0,11,11,8,9,9,11,10,0,11,11,12,12,0,11,10,12,12,0,13,14,14,14,0,0,0,14,13,8,9,9,10,11,0,11,11,12,12,0,10,11,12,12,0,13,13,14,14,0,0,0,13,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,11,10,0,7,7,10,10,0,7,7,10,10,0,9,9,11,10,0,0,0,11,11,5,7,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,11,11,8,10,9,12,12,0,10,10,12,12,0,10,10,12,12,0,12,12,13,13,0,0,0,13,13,8,9,10,12,12,0,10,10,12,12,0,10,10,11,12,0,12,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,11,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,11,10,5,8,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,11,10,0,0,0,10,11,9,10,10,12,12,0,10,10,12,12,0,10,10,12,12,0,12,13,13,13,0,0,0,13,12,9,10,10,12,12,0,10,10,12,12,0,10,10,12,12,0,13,12,13,13,0,0,0,12,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,14,13,0,9,9,12,12,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,7,10,10,13,14,0,9,9,12,13,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,9,11,11,14,13,0,11,10,13,12,0,11,11,13,13,0,12,12,13,13,0,0,0,13,13,9,11,11,13,14,0,10,11,12,13,0,11,11,13,13,0,12,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,11,14,14,0,10,11,13,13,0,11,10,13,13,0,12,12,13,13,0,0,0,13,12,9,11,11,14,14,0,11,10,13,13,0,10,11,13,13,0,12,12,14,13,0,0,0,13,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,5,5,0,5,5,5,8,7,0,9,9,0,9,8,5,7,8,0,9,9,0,8,9,0,0,0,0,0,0,0,0,0,5,9,9,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,0,0,5,9,9,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,11,12,14,15,15,17,17,18,18,5,6,6,8,9,10,13,17,18,19,7,5,4,6,8,9,11,15,19,19,8,6,5,5,6,7,11,14,16,17,9,7,7,6,7,7,10,13,15,19,10,8,7,6,7,6,7,9,14,16,12,10,9,7,7,6,4,5,10,15,14,13,11,7,6,6,4,2,7,13,16,16,15,9,8,8,8,6,9,13,19,19,17,12,11,10,10,9,11,14,0,0,0,0,2,0,0,0,100,0,0,0,160,253,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,236,2,0,0,0,0,0,0,0,0,0,0,0,0,0,168,236,2,0,0,0,0,0,0,0,0,0,0,0,0,0,208,236,2,0,0,0,0,0,0,0,0,0,0,0,0,0,248,236,2,0,0,0,0,0,32,237,2,0,72,237,2,0,0,0,0,0,0,0,0,0,112,237,2,0,152,237,2,0,0,0,0,0,0,0,0,0,192,237,2,0,232,237,2,0,0,0,0,0,0,0,0,0,16,238,2,0,56,238,2,0,0,0,0,0,0,0,0,0,96,238,2,0,136,238,2,0,176,238,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,24,236,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,11,13,14,14,13,13,16,14,6,3,4,7,9,9,10,11,14,13,10,4,3,5,7,7,9,10,13,15,12,7,4,4,6,6,8,10,13,15,12,8,6,6,6,6,8,10,13,14,11,9,7,6,6,6,7,8,12,11,13,10,9,8,7,6,6,7,11,11,13,11,10,9,9,7,7,6,10,11,13,13,13,13,13,11,9,8,10,12,12,15,15,16,15,12,11,10,10,12,0,0,0,0,4,0,0,0,81,0,0,0,56,253,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,144,253,2,0,0,0,0,0,4,0,0,0,113,2,0,0,168,250,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,32,253,2,0,0,0,0,0,2,0,0,0,81,0,0,0,40,250,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,250,2,0,0,0,0,0,2,0,0,0,33,1,0,0,184,248,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,249,2,0,0,0,0,0,4,0,0,0,81,0,0,0,80,248,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,168,248,2,0,0,0,0,0,2,0,0,0,121,0,0,0,160,247,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,32,248,2,0,0,0,0,0,2,0,0,0,169,0,0,0,184,246,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,104,247,2,0,0,0,0,0,2,0,0,0,25,0,0,0,128,246,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,246,2,0,0,0,0,0,2,0,0,0,169,0,0,0,152,245,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,72,246,2,0,0,0,0,0,2,0,0,0,121,0,0,0,232,244,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,104,245,2,0,0,0,0,0,2,0,0,0,225,0,0,0,192,243,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,168,244,2,0,0,0,0,0,2,0,0,0,185,1,0,0,168,241,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,104,243,2,0,0,0,0,0,2,0,0,0,169,0,0,0,192,240,2,0,1,0,0,0,0,220,125,225,0,232,51,97,4,0,0,0,0,0,0,0,112,241,2,0,0,0,0,0,2,0,0,0,169,0,0,0,216,239,2,0,1,0,0,0,0,96,18,225,0,128,184,96,4,0,0,0,0,0,0,0,136,240,2,0,0,0,0,0,1,0,0,0,49,0,0,0,216,238,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,16,239,2,0,0,0,0,0,2,4,3,4,5,5,5,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,6,8,8,8,8,6,6,6,8,8,8,8,8,7,9,8,10,10,5,6,6,8,8,9,9,8,8,10,10,10,10,16,9,9,9,9,9,9,9,8,10,9,11,11,16,8,9,9,9,9,9,9,9,10,10,11,11,16,13,13,9,9,10,9,9,10,11,11,11,12,16,13,14,9,8,10,8,9,9,10,10,12,11,16,14,16,9,9,9,9,11,11,12,11,12,11,16,16,16,9,7,9,6,11,11,11,10,11,11,16,16,16,11,12,9,10,11,11,12,11,13,13,16,16,16,12,11,10,7,12,10,12,12,12,12,16,16,15,16,16,10,11,10,11,13,13,14,12,16,16,16,15,15,12,10,11,11,13,11,12,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,11,11,11,11,11,11,11,11,11,11,4,7,7,11,11,11,11,11,11,11,11,11,11,5,8,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,6,6,7,7,7,7,8,7,8,8,8,8,8,8,8,8,8,8,10,6,6,7,7,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,8,8,9,8,9,9,9,9,9,9,9,9,10,7,7,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,10,11,11,8,7,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,9,11,11,11,11,11,9,9,9,9,9,9,10,9,9,10,9,10,9,9,10,9,11,11,11,11,11,9,9,9,9,9,9,9,10,10,10,10,9,10,10,9,10,11,11,11,11,11,9,9,9,9,10,10,10,9,10,10,10,10,9,10,10,9,11,11,11,11,11,11,11,9,9,9,9,10,10,10,10,9,10,10,10,10,10,11,11,11,11,11,11,11,10,9,10,10,10,10,10,10,10,9,10,9,10,10,11,11,11,11,11,11,11,10,9,10,9,10,10,9,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,9,10,10,10,10,10,9,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,9,10,10,11,11,11,11,11,11,11,11,11,10,10,10,9,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,10,11,9,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,7,7,8,7,9,8,10,9,6,5,5,8,8,9,9,8,8,9,9,11,10,11,10,6,5,5,8,8,9,9,8,8,9,9,10,10,11,11,18,8,8,9,8,10,10,9,9,10,10,10,10,11,10,18,8,8,9,9,10,10,9,9,10,10,11,11,12,12,18,12,13,9,10,10,10,9,10,10,10,11,11,12,11,18,13,13,9,9,10,10,10,10,10,10,11,11,12,12,18,18,18,10,10,9,9,11,11,11,11,11,12,12,12,18,18,18,10,9,10,9,11,10,11,11,11,11,13,12,18,18,18,14,13,10,10,11,11,12,12,12,12,12,12,18,18,18,14,13,10,10,11,10,12,12,12,12,12,12,18,18,18,18,18,12,12,11,11,12,12,13,13,13,14,18,18,18,18,18,12,12,11,11,12,11,13,13,14,13,18,18,18,18,18,16,16,11,12,12,13,13,13,14,13,18,18,18,18,18,16,15,12,11,12,11,13,11,15,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,3,5,5,6,6,7,7,7,7,7,7,9,5,5,6,6,7,7,7,7,8,7,8,5,5,6,6,7,7,7,7,7,7,9,6,6,7,7,7,7,8,7,7,8,9,9,9,7,7,7,7,7,7,7,8,9,9,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,7,7,8,8,9,9,9,8,8,8,8,7,7,8,8,9,9,9,9,8,8,8,7,7,8,8,9,9,9,8,8,8,8,7,7,8,8,9,9,9,8,8,7,7,7,7,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,8,8,10,10,11,10,6,5,5,7,7,8,8,9,9,10,10,12,11,6,5,5,7,7,8,8,9,9,10,10,12,11,21,7,7,7,7,9,9,10,10,11,11,12,12,21,7,7,7,7,9,9,10,10,11,11,12,12,21,12,12,9,9,10,10,11,11,11,11,12,12,21,12,12,9,9,10,10,11,11,12,12,12,12,21,21,21,11,11,10,10,11,12,12,12,13,13,21,21,21,11,11,10,10,12,12,12,12,13,13,21,21,21,15,15,11,11,12,12,13,13,13,13,21,21,21,15,16,11,11,12,12,13,13,14,14,21,21,21,21,20,13,13,13,13,13,13,14,14,20,20,20,20,20,13,13,13,13,13,13,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,4,4,5,5,5,4,4,5,5,5,4,4,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,8,8,10,9,10,10,6,5,5,7,7,9,9,9,9,10,10,11,11,6,5,5,7,7,9,9,10,9,11,10,11,11,0,6,6,7,7,9,9,10,10,11,11,12,12,0,7,7,7,7,9,9,10,10,11,11,12,12,0,11,11,8,8,10,10,11,11,12,12,12,12,0,11,12,9,8,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,4,6,6,7,7,8,8,8,8,11,4,4,6,6,7,7,8,8,8,8,11,4,4,6,6,7,7,8,8,8,8,11,6,6,6,6,8,8,8,8,9,9,11,11,11,6,6,7,8,8,8,8,9,11,11,11,7,7,8,8,8,8,8,8,11,11,11,7,7,8,8,8,8,8,8,11,11,11,8,8,8,8,8,8,8,8,11,11,11,10,10,8,8,8,8,8,8,11,11,11,10,10,8,8,8,8,8,8,11,11,11,10,10,7,7,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,6,6,9,9,10,10,10,9,4,6,6,9,10,9,10,9,10,6,9,9,10,12,11,10,11,11,7,10,9,11,12,12,12,12,12,7,10,10,11,12,12,12,12,12,6,10,10,10,12,12,11,12,12,7,9,10,11,12,12,12,12,12,7,10,9,12,12,12,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,9,9,9,10,10,10,0,4,4,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,4,4,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,7,7,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,3,4,6,6,7,7,9,9,0,4,4,6,6,7,7,9,10,0,4,4,6,6,7,7,10,9,0,5,5,7,7,8,8,10,10,0,0,0,7,6,8,8,10,10,0,0,0,7,7,9,9,11,11,0,0,0,7,7,9,9,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,0,5,5,8,8,0,5,5,8,8,0,7,7,9,9,0,0,0,9,9,5,7,7,9,9,0,8,8,10,10,0,8,7,10,9,0,10,10,11,11,0,0,0,11,11,5,7,7,9,9,0,8,8,10,10,0,7,8,9,10,0,10,10,11,11,0,0,0,11,11,8,9,9,11,11,0,11,11,12,12,0,11,10,12,12,0,13,14,14,14,0,0,0,14,13,8,9,9,11,11,0,11,11,12,12,0,10,11,12,12,0,14,13,14,14,0,0,0,13,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,11,10,0,7,7,10,10,0,7,7,10,10,0,9,9,11,10,0,0,0,11,11,5,7,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,11,11,8,10,9,12,12,0,10,10,12,12,0,10,10,12,12,0,12,12,13,13,0,0,0,13,13,8,9,10,12,12,0,10,10,11,12,0,10,10,12,12,0,12,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,11,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,11,10,5,8,8,11,11,0,7,7,10,10,0,7,7,10,10,0,9,9,11,11,0,0,0,10,11,8,10,10,12,12,0,10,10,12,12,0,10,10,12,12,0,12,13,13,13,0,0,0,14,13,8,10,10,12,12,0,10,10,12,12,0,10,10,12,12,0,13,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,14,13,0,9,9,13,12,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,7,10,10,13,14,0,9,9,12,13,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,9,11,11,14,13,0,11,10,14,13,0,11,11,13,13,0,12,12,13,13,0,0,0,13,13,9,11,11,13,14,0,10,11,13,14,0,11,11,13,13,0,12,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,11,14,14,0,11,11,13,13,0,11,10,13,13,0,12,12,13,13],"i8",N3,x.GLOBAL_BASE+185588),E3([13,13,9,11,11,14,14,0,11,11,13,13,0,10,11,13,13,0,12,12,14,13,0,0,0,13,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,5,5,0,5,5,5,8,7,0,9,9,0,9,8,5,7,8,0,9,9,0,8,9,0,0,0,0,0,0,0,0,0,5,9,8,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,0,0,5,9,9,0,8,8,0,8,8,5,9,9,0,8,8,0,8,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,9,11,11,13,14,19,17,17,19,5,4,5,8,10,10,13,16,18,19,7,4,4,5,8,9,12,14,17,19,8,6,5,5,7,7,10,13,16,18,10,8,7,6,5,5,8,11,17,19,11,9,7,7,5,4,5,8,17,19,13,11,8,7,7,5,5,7,16,18,14,13,8,6,6,5,5,7,16,18,18,16,10,8,8,7,7,9,16,18,18,18,12,10,10,9,9,10,17,18,0,0,0,0,2,0,0,0,100,0,0,0,184,41,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,168,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,208,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,248,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,72,0,3,0,0,0,0,0,112,0,3,0,152,0,3,0,0,0,0,0,0,0,0,0,192,0,3,0,232,0,3,0,0,0,0,0,0,0,0,0,16,1,3,0,56,1,3,0,96,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,24,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,9,13,10,12,12,12,12,12,6,4,6,8,6,8,10,10,11,12,8,5,4,10,4,7,8,9,10,11,13,8,10,8,9,9,11,12,13,14,10,6,4,9,3,5,6,8,10,11,11,8,6,9,5,5,6,7,9,11,12,9,7,11,6,6,6,7,8,10,12,11,9,12,7,7,6,6,7,9,13,12,10,13,9,8,7,7,7,8,11,15,11,15,11,10,9,8,7,7,0,0,0,0,8,0,0,0,161,25,0,0,0,16,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,41,3,0,0,0,0,0,4,0,0,0,113,2,0,0,112,13,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,15,3,0,0,0,0,0,4,0,0,0,113,2,0,0,224,10,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,13,3,0,0,0,0,0,2,0,0,0,81,0,0,0,96,10,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,184,10,3,0,0,0,0,0,2,0,0,0,81,0,0,0,224,9,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,56,10,3,0,0,0,0,0,2,0,0,0,33,1,0,0,112,8,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,152,9,3,0,0,0,0,0,4,0,0,0,81,0,0,0,8,8,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,96,8,3,0,0,0,0,0,2,0,0,0,121,0,0,0,88,7,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,216,7,3,0,0,0,0,0,2,0,0,0,169,0,0,0,112,6,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,32,7,3,0,0,0,0,0,2,0,0,0,25,0,0,0,56,6,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,6,3,0,0,0,0,0,2,0,0,0,225,0,0,0,16,5,3,0,1,0,0,0,0,134,115,225,0,80,22,97,4,0,0,0,0,0,0,0,248,5,3,0,0,0,0,0,2,0,0,0,33,1,0,0,160,3,3,0,1,0,0,0,0,0,245,224,0,0,149,96,5,0,0,0,0,0,0,0,200,4,3,0,0,0,0,0,2,0,0,0,185,1,0,0,136,1,3,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,72,3,3,0,0,0,0,0,3,5,5,6,6,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,9,11,5,6,7,7,8,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,11,5,5,7,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,11,7,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,10,9,10,11,11,11,7,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,5,5,7,7,9,8,10,9,10,10,11,10,11,11,6,5,5,7,7,8,9,10,10,11,10,12,11,12,11,13,12,6,5,5,7,7,9,9,10,10,11,11,12,12,13,12,13,13,18,8,8,8,8,9,9,10,11,11,11,12,11,13,11,13,12,18,8,8,8,8,10,10,11,11,12,12,13,13,13,13,13,14,18,12,12,9,9,11,11,11,11,12,12,13,12,13,12,13,13,20,13,12,9,9,11,11,11,11,12,12,13,13,13,14,14,13,20,18,19,11,12,11,11,12,12,13,13,13,13,13,13,14,13,18,19,19,12,11,11,11,12,12,13,12,13,13,13,14,14,13,18,17,19,14,15,12,12,12,13,13,13,14,14,14,14,14,14,19,19,19,16,15,12,11,13,12,14,14,14,13,13,14,14,14,19,18,19,18,19,13,13,13,13,14,14,14,13,14,14,14,14,18,17,19,19,19,13,13,13,11,13,11,13,14,14,14,14,14,19,17,17,18,18,16,16,13,13,13,13,14,13,15,15,14,14,19,19,17,17,18,16,16,13,11,14,10,13,12,14,14,14,14,19,19,19,19,19,18,17,13,14,13,11,14,13,14,14,15,15,19,19,19,17,19,18,18,14,13,12,11,14,11,15,15,15,15,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,13,13,13,13,13,13,13,13,13,13,13,13,4,7,7,13,13,13,13,13,13,13,13,13,13,13,13,3,8,6,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,4,4,5,5,6,5,5,5,5,6,4,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,8,9,10,10,10,10,7,5,5,7,7,8,8,9,9,10,10,10,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,10,10,10,10,10,11,11,0,13,13,9,9,9,9,10,10,11,11,11,11,0,0,0,10,10,10,10,10,10,11,11,11,11,0,0,0,10,10,10,10,10,10,11,11,12,12,0,0,0,14,14,11,11,11,11,12,12,12,12,0,0,0,14,14,11,11,11,11,12,12,12,12,0,0,0,0,0,12,12,12,12,12,12,13,13,0,0,0,0,0,12,12,12,12,12,12,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,6,6,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,9,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,11,11,10,11,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,7,11,11,12,11,11,12,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,4,4,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,4,4,6,6,8,8,9,9,9,9,10,10,11,11,12,12,0,4,4,6,6,8,8,9,9,9,9,10,10,11,11,12,12,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,7,7,8,9,10,10,10,10,11,11,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,9,10,10,10,11,11,12,12,12,12,0,0,0,0,0,10,10,10,10,11,11,11,12,12,12,13,13,0,0,0,0,0,0,0,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,13,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,12,12,12,12,13,12,13,13,13,13,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,3,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,6,6,7,7,7,7,9,9,0,0,0,7,6,7,7,9,9,0,0,0,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,9,9,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,5,5,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,7,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,3,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,5,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,6,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,5,5,0,0,0,5,5,0,0,0,8,7,0,0,0,0,0,0,0,4,6,6,0,0,0,8,8,0,0,0,8,7,0,0,0,10,10,0,0,0,0,0,0,0,4,6,6,0,0,0,8,8,0,0,0,7,8,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,5,7,8,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,5,8,8,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,10,10,0,0,0,10,10,0,0,0,9,10,0,0,0,11,10,0,0,0,0,0,0,0,8,10,10,0,0,0,10,10,0,0,0,10,10,0,0,0,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,4,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,11,10],"i8",N3,x.GLOBAL_BASE+195830),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,8,10,14,11,11,12,16,15,17,5,5,7,9,7,8,10,13,17,17,7,5,5,10,5,7,8,11,13,15,10,8,10,8,8,8,11,15,18,18,8,5,5,8,3,4,6,10,14,16,9,7,6,7,4,3,5,9,14,18,10,9,8,10,6,5,6,9,14,18,12,12,11,12,8,7,8,11,14,18,14,13,12,10,7,5,6,9,14,18,14,14,13,10,6,5,6,8,11,16,0,0,0,0,2,0,0,0,100,0,0,0,72,85,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,192,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,232,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,16,44,3,0,0,0,0,0,0,0,0,0,0,0,0,0,56,44,3,0,0,0,0,0,0,0,0,0,0,0,0,0,96,44,3,0,0,0,0,0,136,44,3,0,176,44,3,0,0,0,0,0,0,0,0,0,216,44,3,0,0,45,3,0,0,0,0,0,0,0,0,0,40,45,3,0,80,45,3,0,120,45,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,48,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,11,11,11,11,10,11,12,11,5,2,11,5,6,6,7,9,11,12,11,9,6,10,6,7,8,9,10,11,11,5,11,7,8,8,9,11,13,14,11,6,5,8,4,5,7,8,10,11,10,6,7,7,5,5,6,8,9,11,10,7,8,9,6,6,6,7,8,9,11,9,9,11,7,7,6,6,7,9,12,12,10,13,9,8,7,7,7,8,11,13,11,14,11,10,9,8,7,7,0,0,0,0,8,0,0,0,161,25,0,0,144,59,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,56,85,3,0,0,0,0,0,4,0,0,0,113,2,0,0,0,57,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,59,3,0,0,0,0,0,4,0,0,0,113,2,0,0,112,54,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,56,3,0,0,0,0,0,2,0,0,0,81,0,0,0,240,53,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,72,54,3,0,0,0,0,0,2,0,0,0,81,0,0,0,112,53,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,200,53,3,0,0,0,0,0,2,0,0,0,33,1,0,0,0,52,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,40,53,3,0,0,0,0,0,4,0,0,0,81,0,0,0,152,51,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,240,51,3,0,0,0,0,0,2,0,0,0,121,0,0,0,232,50,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,104,51,3,0,0,0,0,0,2,0,0,0,169,0,0,0,0,50,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,176,50,3,0,0,0,0,0,2,0,0,0,25,0,0,0,200,49,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,49,3,0,0,0,0,0,2,0,0,0,169,0,0,0,224,48,3,0,1,0,0,0,0,136,93,225,0,176,19,97,4,0,0,0,0,0,0,0,144,49,3,0,0,0,0,0,2,0,0,0,225,0,0,0,184,47,3,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,160,48,3,0,0,0,0,0,2,0,0,0,185,1,0,0,160,45,3,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,96,47,3,0,0,0,0,0,2,5,5,6,6,7,7,7,7,8,8,8,8,8,8,8,8,9,9,9,9,11,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,10,11,6,6,7,7,8,8,8,8,9,9,9,9,9,9,10,9,10,10,10,10,11,7,7,7,7,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,12,11,11,7,7,8,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,12,11,12,8,8,8,8,9,9,9,9,9,10,10,10,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,12,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,12,11,11,11,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,12,12,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,12,11,12,11,11,11,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,12,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,12,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,12,11,11,12,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,12,12,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,12,12,12,11,11,11,12,11,11,11,10,10,10,10,10,10,10,10,10,10,10,12,11,12,12,12,12,12,11,12,11,11,10,10,10,10,10,10,10,10,10,10,12,12,12,12,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,5,5,7,7,9,8,10,9,10,10,10,10,6,5,5,7,7,9,8,10,9,11,10,12,12,13,13,6,5,5,7,7,9,9,10,10,11,11,12,12,12,13,19,8,8,8,8,9,9,10,10,12,11,12,12,13,13,19,8,8,8,8,9,9,11,11,12,12,13,13,13,13,19,12,12,9,9,11,11,11,11,12,11,13,12,13,13,18,12,12,9,9,11,10,11,11,12,12,12,13,13,14,19,18,18,11,11,11,11,12,12,13,12,13,13,14,14,16,18,18,11,11,11,10,12,11,13,13,13,13,13,14,17,18,18,14,15,11,12,12,13,13,13,13,14,14,14,18,18,18,15,15,12,10,13,10,13,13,13,13,13,14,18,17,18,17,18,12,13,12,13,13,13,14,14,16,14,18,17,18,18,17,13,12,13,10,12,12,14,14,14,14,17,18,18,18,18,14,15,12,12,13,12,14,14,15,15,18,18,18,17,18,15,14,12,11,12,12,14,14,14,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,3,12,12,12,12,12,12,12,12,12,12,4,7,7,12,12,12,12,12,12,12,12,12,12,3,8,8,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,5,6,5,5,5,5,6,5,4,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,8,8,9,10,11,11,7,5,5,7,7,8,8,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,9,10,10,10,10,11,11,0,13,13,9,9,10,9,10,10,11,11,11,12,0,0,0,10,10,10,10,10,10,11,11,12,12,0,0,0,10,10,10,10,10,10,11,11,12,12,0,0,0,14,14,11,11,11,11,12,12,12,12,0,0,0,14,14,11,11,11,11,12,12,12,13,0,0,0,0,0,12,12,12,12,12,12,13,13,0,0,0,0,0,13,12,12,12,12,12,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,6,6,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,9,8,10,10,10,10,10,8,8,8,8,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,11,11,10,11,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,7,11,11,12,11,11,12,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,4,4,6,6,8,8,9,9,8,8,9,9,10,10,11,11,0,4,4,6,6,8,8,9,9,9,9,10,10,11,11,11,11,0,4,4,7,6,8,8,9,9,9,9,10,10,11,11,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,9,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,9,9,10,10,11,11,11,12,12,12,0,0,0,0,0,10,10,10,10,11,11,11,11,12,12,13,12,0,0,0,0,0,0,0,10,10,11,11,11,11,12,12,12,12,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,12,12,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,0,0,12,12,12,12,12,13,13,13,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,3,3,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,4,5,6,6,7,7,9,9,0,6,6,7,7,8,8,10,10,0,0,0,7,7,8,8,10,9,0,0,0,9,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,10,10,9,9,11,11,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,5,5,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,8,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,0,0,0,5,5,0,0,0,5,5,0,0,0,7,7,0,0,0,0,0,0,0,5,6,6,0,0,0,7,7,0,0,0,7,7,0,0,0,10,10,0,0,0,0,0,0,0,5,6,6,0,0,0,7,7,0,0,0,7,7,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,5,7,8,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,9,9,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,8,10,10,0,0,0,9,9,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,5,6,6,0,0,0,0,0,0,5,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,6,8,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9],"i8",N3,x.GLOBAL_BASE+207264),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,14,10,15,10,12,15,16,15,4,2,11,5,10,6,8,11,14,14,14,10,7,11,6,8,10,11,13,15,9,4,11,5,9,6,9,12,14,15,14,9,6,9,4,5,7,10,12,13,9,5,7,6,5,5,7,10,13,13,10,8,9,8,7,6,8,10,14,14,13,11,10,10,7,7,8,11,14,15,13,12,9,9,6,5,7,10,14,17,15,13,11,10,6,6,7,9,12,17,0,0,0,0,2,0,0,0,100,0,0,0,48,128,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,80,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,120,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,160,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,200,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,240,87,3,0,0,0,0,0,24,88,3,0,64,88,3,0,0,0,0,0,0,0,0,0,104,88,3,0,144,88,3,0,0,0,0,0,0,0,0,0,184,88,3,0,224,88,3,0,8,89,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,192,86,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,6,11,11,11,11,10,10,12,11,5,2,11,5,6,6,7,9,11,13,13,10,7,11,6,7,8,9,10,12,11,5,11,6,8,7,9,11,14,15,11,6,6,8,4,5,7,8,10,13,10,5,7,7,5,5,6,8,10,11,10,7,7,8,6,5,5,7,9,9,11,8,8,11,8,7,6,6,7,9,12,11,10,13,9,9,7,7,7,9,11,13,12,15,12,11,9,8,8,8,0,0,0,0,8,0,0,0,161,25,0,0,120,102,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,32,128,3,0,0,0,0,0,4,0,0,0,113,2,0,0,232,99,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,96,102,3,0,0,0,0,0,4,0,0,0,113,2,0,0,88,97,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,99,3,0,0,0,0,0,2,0,0,0,81,0,0,0,216,96,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,48,97,3,0,0,0,0,0,2,0,0,0,81,0,0,0,88,96,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,176,96,3,0,0,0,0,0,2,0,0,0,33,1,0,0,232,94,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,16,96,3,0,0,0,0,0,4,0,0,0,81,0,0,0,128,94,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,216,94,3,0,0,0,0,0,2,0,0,0,121,0,0,0,208,93,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,80,94,3,0,0,0,0,0,2,0,0,0,169,0,0,0,232,92,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,152,93,3,0,0,0,0,0,2,0,0,0,25,0,0,0,176,92,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,92,3,0,0,0,0,0,2,0,0,0,169,0,0,0,200,91,3,0,1,0,0,0,0,232,87,225,0,224,255,96,4,0,0,0,0,0,0,0,120,92,3,0,0,0,0,0,2,0,0,0,225,0,0,0,160,90,3,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,136,91,3,0,0,0,0,0,2,0,0,0,33,1,0,0,48,89,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,88,90,3,0,0,0,0,0,2,5,5,6,6,7,7,7,7,7,7,8,8,8,8,8,8,10,6,6,7,7,8,7,8,8,8,8,8,9,9,9,9,9,10,6,6,7,7,7,7,8,8,8,8,9,9,9,9,9,9,10,7,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,8,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,8,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,10,11,11,11,9,9,9,9,9,9,10,10,9,9,10,9,11,10,11,11,11,9,9,9,9,9,9,9,9,10,10,10,9,11,11,11,11,11,9,9,9,9,10,10,9,9,9,9,10,9,11,11,11,11,11,11,11,9,9,9,9,9,9,10,10,10,10,11,11,11,11,11,11,11,10,9,10,10,9,10,9,9,10,9,11,10,10,11,11,11,11,9,10,9,9,9,9,10,10,10,10,11,11,11,11,11,11,10,10,10,9,9,10,9,10,9,10,10,10,10,11,11,11,11,11,11,11,9,9,9,9,9,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,7,9,9,10,10,10,10,6,5,5,7,7,8,8,10,8,11,10,12,12,13,13,6,5,5,7,7,8,8,10,9,11,11,12,12,13,12,18,8,8,8,8,9,9,10,9,11,10,12,12,13,13,18,8,8,8,8,9,9,10,10,11,11,13,12,14,13,18,11,11,9,9,10,10,11,11,11,12,13,12,13,14,18,11,11,9,8,11,10,11,11,11,11,12,12,14,13,18,18,18,10,11,10,11,12,12,12,12,13,12,14,13,18,18,18,10,11,11,9,12,11,12,12,12,13,13,13,18,18,17,14,14,11,11,12,12,13,12,14,12,14,13,18,18,18,14,14,11,10,12,9,12,13,13,13,13,13,18,18,17,16,18,13,13,12,12,13,11,14,12,14,14,17,18,18,17,18,13,12,13,10,12,11,14,14,14,14,17,18,18,18,18,15,16,12,12,13,10,14,12,14,15,18,18,18,16,17,16,14,12,11,13,10,13,13,14,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,4,4,12,12,12,12,12,12,12,12,12,12,4,9,8,12,12,12,12,12,12,12,12,12,12,2,9,7,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,5,6,5,5,5,5,6,4,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,8,8,9,9,10,10,7,5,5,7,7,8,8,8,8,9,9,11,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,12,0,13,13,9,9,10,10,10,10,11,11,12,12,0,0,0,10,10,10,10,11,11,12,12,12,12,0,0,0,10,10,10,10,11,11,12,12,12,12,0,0,0,14,14,11,11,11,11,12,12,13,13,0,0,0,14,14,11,11,11,11,12,12,13,13,0,0,0,0,0,12,12,12,12,13,13,14,13,0,0,0,0,0,13,13,12,12,13,12,14,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,6,6,7,7,8,8,8,8,8,8,10,10,10,7,7,8,7,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,7,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,9,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,11,11,10,12,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,7,11,11,11,11,11,12,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,6,6,7,7,8,8,8,8,9,9,10,10,11,10,0,5,5,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,5,5,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,10,11,11,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,8,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,8,8,9,9,10,10,11,11,12,11,12,12,0,0,0,0,0,9,10,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,0,0,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,4,6,6,7,7,9,9,0,5,5,7,7,7,8,9,9,0,5,5,7,7,8,8,9,9,0,7,7,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,9,9,9,9,10,10,0,0,0,9,9,9,9,10,10,0,0,0,10,10,10,10,11,11,0,0,0,0,0,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,5,5,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,8,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,3,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,0,0,0,5,5,0,0,0,5,5,0,0,0,7,8,0,0,0,0,0,0,0,5,6,6,0,0,0,7,7,0,0,0,7,7,0,0,0,10,10,0,0,0,0,0,0,0,5,6,6,0,0,0,7,7,0,0,0,7,7,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,10,10,0,0,0,9,9,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,8,10,10,0,0,0,9,9,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,5,6,6,0,0,0,0,0,0,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,6,7,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,6,8,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,8,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,8],"i8",N3,x.GLOBAL_BASE+218416),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,10,9,13,11,14,10,12,13,13,14,7,2,12,5,10,5,7,10,12,14,12,6,9,8,7,7,9,11,13,16,10,4,12,5,10,6,8,12,14,16,12,6,8,7,6,5,7,11,12,16,10,4,8,5,6,4,6,9,13,16,10,6,10,7,7,6,7,9,13,15,12,9,11,9,8,6,7,10,12,14,14,11,10,9,6,5,6,9,11,13,15,13,11,10,6,5,6,8,9,11,0,0,0,0,2,0,0,0,100,0,0,0,216,170,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,56,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,96,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,136,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,176,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,216,130,3,0,0,0,0,0,0,131,3,0,40,131,3,0,0,0,0,0,0,0,0,0,80,131,3,0,120,131,3,0,0,0,0,0,0,0,0,0,160,131,3,0,200,131,3,0,240,131,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,168,129,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,12,10,10,10,9,10,12,12,6,1,10,5,6,6,7,9,11,14,12,9,8,11,7,8,9,11,13,15,10,5,12,7,8,7,9,12,14,15,10,6,7,8,5,6,7,9,12,14,9,6,8,7,6,6,7,9,12,12,9,7,9,9,7,6,6,7,10,10,10,9,10,11,8,7,6,6,8,10,12,11,13,13,11,10,8,8,8,10,11,13,15,15,14,13,10,8,8,9,0,0,0,0,8,0,0,0,161,25,0,0,32,145,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,200,170,3,0,0,0,0,0,4,0,0,0,113,2,0,0,144,142,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,8,145,3,0,0,0,0,0,4,0,0,0,113,2,0,0,0,140,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,142,3,0,0,0,0,0,2,0,0,0,81,0,0,0,128,139,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,216,139,3,0,0,0,0,0,2,0,0,0,81,0,0,0,0,139,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,88,139,3,0,0,0,0,0,2,0,0,0,33,1,0,0,144,137,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,184,138,3,0,0,0,0,0,4,0,0,0,81,0,0,0,40,137,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,128,137,3,0,0,0,0,0,2,0,0,0,121,0,0,0,120,136,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,248,136,3,0,0,0,0,0,2,0,0,0,169,0,0,0,144,135,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,64,136,3,0,0,0,0,0,2,0,0,0,25,0,0,0,88,135,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,135,3,0,0,0,0,0,2,0,0,0,169,0,0,0,112,134,3,0,1,0,0,0,0,184,84,225,0,160,251,96,4,0,0,0,0,0,0,0,32,135,3,0,0,0,0,0,2,0,0,0,169,0,0,0,136,133,3,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,56,134,3,0,0,0,0,0,2,0,0,0,33,1,0,0,24,132,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,64,133,3,0,0,0,0,0,2,4,4,6,6,7,7,7,7,7,7,8,8,8,8,8,8,10,7,7,7,7,7,7,8,8,8,8,9,9,9,9,9,9,10,7,7,7,7,8,8,8,8,8,8,9,9,9,9,9,9,10,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,8,7,8,8,8,8,9,9,9,9,9,9,9,9,10,11,11,8,8,8,8,9,9,9,9,9,9,10,9,9,9,10,11,10,8,8,8,8,9,9,9,9,9,9,9,10,10,10,10,11,10,8,8,9,9,9,9,9,9,10,9,9,10,9,10,11,10,11,11,11,8,8,9,9,9,9,9,9,9,9,10,10,11,11,11,11,11,9,9,9,9,9,9,10,9,9,9,10,10,11,11,11,11,11,9,9,9,9,9,9,9,9,9,10,9,10,11,11,11,11,11,9,9,9,9,10,10,9,9,9,10,10,10,11,11,11,11,11,11,11,9,9,9,10,9,9,10,10,10,10,11,11,10,11,11,11,11,10,9,10,10,9,9,9,9,10,10,11,10,11,11,11,11,11,9,9,9,9,10,9,10,10,10,10,11,10,11,11,11,11,11,10,10,9,9,10,9,10,10,10,10,10,10,10,11,11,11,11,11,11,9,9,10,9,10,9,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,6,8,8,10,9,10,10,6,5,5,7,7,8,7,10,9,11,11,12,13,6,5,5,7,7,8,8,10,10,11,11,13,13,18,8,8,8,8,9,9,10,10,12,12,12,13,18,8,8,8,8,9,9,10,10,12,12,13,13,18,11,11,8,8,10,10,11,11,12,11,13,12,18,11,11,9,7,10,10,11,11,11,12,12,13,17,17,17,10,10,11,11,12,12,12,10,12,12,17,17,17,11,10,11,10,13,12,11,12,12,12,17,17,17,15,14,11,11,12,11,13,10,13,12,17,17,17,14,14,12,10,11,11,13,13,13,13,17,17,16,17,16,13,13,12,10,13,10,14,13,17,16,17,16,17,13,12,12,10,13,11,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,5,4,12,12,12,12,12,12,12,12,12,12,4,9,8,11,11,11,11,11,11,11,11,11,11,2,8,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,4,6,5,5,5,5,6,5,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,6,5,5,7,7,8,8,8,8,9,9,10,10,7,6,5,7,7,8,8,8,8,9,9,10,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,11,0,13,13,9,9,10,10,10,10,11,11,12,12,0,0,0,10,10,10,10,11,11,12,12,12,13,0,0,0,10,10,10,10,11,11,12,12,12,12,0,0,0,14,14,10,11,11,11,12,12,13,13,0,0,0,14,14,11,10,11,11,13,12,13,13,0,0,0,0,0,12,12,11,12,13,12,14,14,0,0,0,0,0,12,12,12,12,13,12,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,4,6,6,7,7,7,7,7,7,9,7,7,6,6,7,7,8,8,8,8,9,6,6,6,6,7,7,8,8,8,8,10,7,7,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,10,9,9,7,10,10,11,10,11,11,10,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,10,11,11,11,12,11,11,6,9,9,11,10,10,11,11,10,6,9,9,11,10,10,12,10,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,6,6,8,8,9,9,9,9,9,9,10,10,11,11,0,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,11,0,7,7,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,8,8,7,7,9,9,10,10,9,9,10,10,11,11,12,12,0,0,0,7,7,9,9,10,10,10,9,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,10,10,10,10,11,11,12,12,13,12,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,7,7,9,9,0,7,7,7,7,7,7,9,9,0,7,7,7,7,7,7,9,9,0,8,8,7,7,8,8,10,10,0,0,0,7,7,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,10,10,9,9,11,11,0,0,0,0,0,9,9,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,3,6,6,0,0,0,0,0,6,6,6,6,0,0,0,0,0,6,6,6,6,0,0,0,0,0,7,7,6,6,0,0,0,0,0,0,0,6,7,0,0,0,0,0,0,0,7,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,3,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,0,0,0,7,7,0,0,0,7,7,0,0,0,8,8,0,0,0,0,0,0,0,4,6,6,0,0,0,8,8,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,4,6,6,0,0,0,8,8,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,11,11,0,0,0,11,11,0,0,0,12,11,0,0,0,0,0,0,0,7,8,8,0,0,0,10,11,0,0,0,11,11,0,0,0,11,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,11,11,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,6,8,8,0,0,0,10,11,0,0,0,10,11,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,9,0,0,0,11,12,0,0,0,11,12,0,0,0,12,11,0,0,0,0,0,0,0,8,10,9,0,0,0,12,11,0,0,0,12,11,0,0,0,11,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,5,6,6,0,0,0,0,0,0,5,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,6,8,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9],"i8",N3,x.GLOBAL_BASE+229400),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,11,9,13,12,12,11,12,12,13,15,8,2,11,4,8,5,7,10,12,15,13,7,10,9,8,8,10,13,17,17,11,4,12,5,9,5,8,11,14,16,12,6,8,7,6,6,8,11,13,16,11,4,9,5,6,4,6,10,13,16,11,6,11,7,7,6,7,10,13,15,13,9,12,9,8,6,8,10,12,14,14,10,10,8,6,5,6,9,11,13,15,11,11,9,6,5,6,8,9,12,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,9,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,x.GLOBAL_BASE+240320),E3([1,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,231,3,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,160,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,72,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,223,3,0,0,0,0,0,0,0,0,0,0,0,0,0,96,223,3,0,0,0,0,0,0,0,0,0,0,0,0,0,136,223,3,0,0,0,0,0,0,0,0,0,0,0,0,0,176,223,3,0,0,0,0,0,0,0,0,0,0,0,0,0,216,223,3,0,0,0,0,0,0,224,3,0,40,224,3,0,0,0,0,0,0,0,0,0,80,224,3,0,120,224,3,0,0,0,0,0,0,0,0,0,160,224,3,0,200,224,3,0,240,224,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,185,3,0,0,0,0,0,0,0,0,0,0,0,0,0,80,185,3,0,0,0,0,0,0,0,0,0,0,0,0,0,120,185,3,0,0,0,0,0,0,0,0,0,0,0,0,0,160,185,3,0,0,0,0,0,0,0,0,0,0,0,0,0,200,185,3,0,0,0,0,0,240,185,3,0,24,186,3,0,0,0,0,0,0,0,0,0,64,186,3,0,104,186,3,0,0,0,0,0,0,0,0,0,144,186,3,0,184,186,3,0,224,186,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,208,184,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,120,184,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,4,8,10,9,9,10,11,12,4,2,5,6,6,8,10,11,13,8,4,6,8,7,9,12,12,14,10,6,8,4,5,6,9,11,12,9,5,6,5,5,6,9,11,11,9,7,9,6,5,5,7,10,10,10,9,11,8,7,6,7,9,11,11,12,13,10,10,9,8,9,11,11,15,15,12,13,11,9,10,11,0,0,0,0,0,0,0,5,5,9,10,9,9,10,11,12,5,1,5,6,6,7,10,12,14,9,5,6,8,8,10,12,14,14,10,5,8,5,6,8,11,13,14,9,5,7,6,6,8,10,12,11,9,7,9,7,6,6,7,10,10,10,9,12,9,8,7,7,10,12,11,11,13,12,10,9,8,9,11,11,14,15,15,13,11,9,9,11,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,128,197,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,40,223,3,0,0,0,0,0,4,0,0,0,113,2,0,0,240,194,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,104,197,3,0,0,0,0,0,2,0,0,0,81,0,0,0,112,194,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,200,194,3,0,0,0,0,0,2,0,0,0,81,0,0,0,240,193,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,72,194,3,0,0,0,0,0,2,0,0,0,33,1,0,0,128,192,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,168,193,3,0,0,0,0,0,4,0,0,0,81,0,0,0,24,192,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,112,192,3,0,0,0,0,0,2,0,0,0,121,0,0,0,104,191,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,232,191,3,0,0,0,0,0,2,0,0,0,169,0,0,0,128,190,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,48,191,3,0,0,0,0,0,2,0,0,0,25,0,0,0,72,190,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,104,190,3,0,0,0,0,0,2,0,0,0,169,0,0,0,96,189,3,0,1,0,0,0,0,184,84,225,0,160,251,96,4,0,0,0,0,0,0,0,16,190,3,0,0,0,0,0,2,0,0,0,169,0,0,0,120,188,3,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,40,189,3,0,0,0,0,0,2,0,0,0,33,1,0,0,8,187,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,48,188,3,0,0,0,0,0,2,5,5,6,6,7,6,7,7,8,8,8,8,8,8,8,8,10,6,6,7,7,7,7,8,8,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,7,7,7,7,8,8,8,9,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,9,9,9,9,9,9,9,9,9,9,10,11,11,8,8,8,8,9,9,9,9,9,9,10,10,9,10,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,10,10,11,10,10,8,8,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,11,11,8,8,9,9,9,9,9,9,9,9,9,9,11,11,11,11,11,9,9,9,9,9,9,9,9,10,9,10,9,11,11,11,11,11,9,8,9,9,9,9,9,9,9,10,10,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,10,10,9,11,11,11,11,11,11,11,9,9,10,9,9,9,9,10,9,10,10,11,10,11,11,11,11,9,10,10,10,9,9,9,9,9,9,10,11,11,11,11,11,11,9,9,9,9,9,9,9,9,10,9,11,11,10,11,11,11,11,10,10,9,9,9,9,9,9,10,9,10,11,10,11,11,11,11,11,11,9,9,10,9,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,9,9,10,11,12,12,6,5,5,7,7,8,7,10,10,11,11,12,12,6,5,5,7,7,8,8,10,10,11,11,12,12,16,7,7,8,8,9,9,11,11,12,12,13,13,17,7,7,8,7,9,9,11,10,12,12,13,13,19,11,10,8,8,10,10,11,11,12,12,13,13,19,11,11,9,7,11,10,11,11,12,12,13,12,19,19,19,10,10,10,10,11,12,12,12,13,14,18,19,19,11,9,11,9,13,12,12,12,13,13,19,20,19,13,15,11,11,12,12,13,13,14,13,18,19,20,15,13,12,10,13,10,13,13,13,14,20,20,20,20,20,13,14,12,12,13,12,13,13,20,20,20,20,20,13,12,12,12,14,12,14,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,13,13,13,13,13,13,13,13,13,13,3,6,6,13,13,13,13,13,13,13,13,13,13,4,8,7,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,4,5,6,5,5,5,5,6,5,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,7,5,5,7,7,8,8,8,8,9,9,10,10,7,5,6,7,7,8,8,8,8,9,9,11,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,11,0,13,13,9,9,9,9,10,10,11,11,12,12,0,0,0,9,10,9,10,11,11,12,11,13,12,0,0,0,10,10,9,9,11,11,12,12,13,12,0,0,0,13,13,10,10,11,11,12,12,13,13,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,11,12,11,11,12,13,14,13,0,0,0,0,0,12,12,11,11,13,12,14,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,7,7,7,7,8,8,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,9,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,10,11,11,11,10,10,6,9,9,11,11,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,11,11,11,11,11,11,11,6,9,9,11,10,10,11,11,10,6,9,9,10,10,10,11,10,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,6,6,7,7,8,8,8,8,9,9,10,10,11,11,0,5,5,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,5,5,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,10,10,10,11,11,11,12,12,0,0,0,8,8,8,8,9,9,10,10,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,7,7,9,9,0,6,6,7,7,8,8,9,9,0,6,6,7,7,8,8,9,9,0,7,7,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,8,8,9,9,11,11,0,0,0,9,9,9,9,11,11,0,0,0,10,10,10,10,11,11,0,0,0,0,0,9,9,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,3,7,7,0,0,0,0,0,5,5,6,6,0,0,0,0,0,5,5,7,7,0,0,0,0,0,7,7,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,9,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,9,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,10,9],"i8",N3,x.GLOBAL_BASE+242772),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,144,235,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,56,5,4,0,0,0,0,0,4,0,0,0,113,2,0,0,0,233,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,235,3,0,0,0,0,0,2,0,0,0,81,0,0,0,128,232,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,216,232,3,0,0,0,0,0,2,0,0,0,81,0,0,0,0,232,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,88,232,3,0,0,0,0,0,2,0,0,0,33,1,0,0,144,230,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,184,231,3,0,0,0,0,0,4,0,0,0,81,0,0,0,40,230,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,128,230,3,0,0,0,0,0,2,0,0,0,121,0,0,0,120,229,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,248,229,3,0,0,0,0,0,2,0,0,0,169,0,0,0,144,228,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,64,229,3,0,0,0,0,0,2,0,0,0,25,0,0,0,88,228,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,228,3,0,0,0,0,0,2,0,0,0,169,0,0,0,112,227,3,0,1,0,0,0,0,184,84,225,0,160,251,96,4,0,0,0,0,0,0,0,32,228,3,0,0,0,0,0,2,0,0,0,169,0,0,0,136,226,3,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,56,227,3,0,0,0,0,0,2,0,0,0,33,1,0,0,24,225,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,64,226,3,0,0,0,0,0,2,4,4,6,6,6,6,7,7,8,8,8,8,8,8,8,8,10,10,10,7,7,7,7,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,7,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,8,9,9,9,9,9,9,10,9,9,10,10,10,7,7,8,8,9,8,9,9,9,9,10,9,9,10,10,11,11,8,8,8,8,9,9,9,9,9,9,10,9,9,10,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,10,10,11,11,11,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,10,11,11,11,8,8,9,9,9,9,10,9,9,9,9,9,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,10,10,11,11,9,9,9,9,9,9,9,9,9,10,10,10,10,11,10,11,11,9,9,9,9,9,9,9,9,9,10,10,9,10,10,11,11,11,11,11,9,9,9,10,9,9,9,9,9,9,10,11,11,11,11,11,11,10,10,10,10,9,9,9,9,9,9,10,11,11,11,11,11,11,9,10,9,9,9,9,10,9,9,9,11,11,11,11,11,11,11,10,10,9,9,9,9,9,9,10,9,11,11,10,11,11,11,11,10,11,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,5,7,7,9,9,10,10,12,12,6,5,5,7,7,8,8,10,10,12,11,12,12,6,5,5,7,7,8,8,10,10,11,11,12,12,15,7,7,8,8,9,9,11,11,12,12,13,12,15,8,8,8,7,9,9,10,10,12,12,13,13,16,11,10,8,8,10,10,11,11,12,12,13,13,16,11,11,9,8,11,10,11,11,12,12,13,12,16,16,16,10,11,10,11,12,12,12,12,13,13,16,16,16,11,9,11,9,14,12,12,12,13,13,16,16,16,12,14,11,12,12,12,13,13,14,13,16,16,16,15,13,12,10,13,10,13,14,13,13,16,16,16,16,16,13,14,12,13,13,12,13,13,16,16,16,16,16,13,12,12,11,14,12,15,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,3,10,10,10,10,10,10,10,10,10,10,4,8,6,10,10,10,10,10,10,10,10,10,10,4,8,7,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,10,9,7,5,6,7,7,8,8,8,8,9,9,10,10,7,5,5,7,7,8,8,8,8,9,9,10,10,0,8,8,8,8,9,9,9,9,10,10,11,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,10,10,10,11,11,11,11,0,13,13,9,9,9,9,10,10,11,11,11,11,0,0,0,10,10,10,10,11,11,12,11,12,12,0,0,0,10,10,10,9,11,11,12,11,13,12,0,0,0,13,13,10,10,11,11,12,12,13,13,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,11,12,11,11,12,12,14,13,0,0,0,0,0,12,11,11,11,13,10,14,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,7,7,7,7,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,6,10,10,11,11,11,11,10,10,6,9,9,11,10,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,10,11,11,11,12,11,11,7,9,9,11,10,10,11,11,10,6,9,9,10,10,10,12,10,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,6,6,7,7,8,8,8,8,9,9,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,11,0,0,0,8,8,9,9,9,10,10,10,10,10,11,11,12,12,0,0,0,8,8,9,9,10,9,10,10,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,11,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,10,10,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,12,12,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,5,6,6,8,8,0,0,0,7,7,7,7,9,9,0,0,0,7,7,7,7,9,9,0,0,0,7,7,8,8,10,10,0,0,0,7,7,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,10,10,9,9,11,11,0,0,0,0,0,9,9,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,2,7,7,0,0,0,0,0,13,13,6,6,0,0,0,0,0,12,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,9,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,4,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,5,7,6,0,0,0,0,0,0,5,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,8,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9],"i8",N3,x.GLOBAL_BASE+253728),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,13,14,14,15,16,18,18,4,2,5,8,7,9,12,15,15,10,4,5,10,6,8,11,15,17,12,5,7,5,6,8,11,14,17,11,5,6,6,5,6,9,13,17,12,6,7,6,5,6,8,12,14,14,7,8,6,6,7,9,11,14,14,8,9,6,5,6,9,11,13,16,10,10,7,6,7,8,10,11,0,0,0,0,0,0,0,6,8,13,12,13,14,15,16,16,4,2,4,7,6,8,11,13,15,10,4,4,8,6,8,11,14,17,11,5,6,5,6,8,12,14,17,11,5,5,6,5,7,10,13,16,12,6,7,8,7,8,10,13,15,13,8,8,7,7,8,10,12,15,15,7,7,5,5,7,9,12,14,15,8,8,6,6,7,8,10,11,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,128,86,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,40,86,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,46,4,0,0,0,0,0,0,0,0,0,0,0,0,0,152,46,4,0,0,0,0,0,0,0,0,0,0,0,0,0,192,46,4,0,0,0,0,0,0,0,0,0,0,0,0,0,232,46,4,0,0,0,0,0,0,0,0,0,0,0,0,0,16,47,4,0,0,0,0,0,56,47,4,0,96,47,4,0,0,0,0,0,0,0,0,0,136,47,4,0,176,47,4,0,0,0,0,0,0,0,0,0,216,47,4,0,0,48,4,0,40,48,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,240,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,24,9,4,0,0,0,0,0,0,0,0,0,0,0,0,0,64,9,4,0,0,0,0,0,0,0,0,0,0,0,0,0,104,9,4,0,0,0,0,0,144,9,4,0,184,9,4,0,0,0,0,0,0,0,0,0,224,9,4,0,8,10,4,0,0,0,0,0,0,0,0,0,48,10,4,0,88,10,4,0,128,10,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,112,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,24,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,4,9,10,9,10,11,12,13,4,1,5,7,7,9,11,12,14,8,5,7,9,8,10,13,13,13,10,7,9,4,6,7,10,12,14,9,6,7,6,6,7,10,12,12,9,8,9,7,6,7,8,11,12,11,11,11,9,8,7,8,10,12,12,13,14,12,11,9,9,9,12,12,17,17,15,16,12,10,11,13,0,0,0,0,0,0,0,5,4,8,9,8,9,10,12,15,4,1,5,5,6,8,11,12,12,8,5,8,9,9,11,13,12,12,9,5,8,5,7,9,12,13,13,8,6,8,7,7,9,11,11,11,9,7,9,7,7,7,7,10,12,10,10,11,9,8,7,7,9,11,11,12,13,12,11,9,8,9,11,13,16,16,15,15,12,10,11,12,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,184,20,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,96,46,4,0,0,0,0,0,4,0,0,0,113,2,0,0,40,18,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,20,4,0,0,0,0,0,2,0,0,0,81,0,0,0,168,17,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,0,18,4,0,0,0,0,0,2,0,0,0,81,0,0,0,40,17,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,17,4,0,0,0,0,0,2,0,0,0,33,1,0,0,184,15,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,16,4,0,0,0,0,0,4,0,0,0,81,0,0,0,80,15,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,168,15,4,0,0,0,0,0,2,0,0,0,121,0,0,0,160,14,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,32,15,4,0,0,0,0,0,2,0,0,0,169,0,0,0,184,13,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,104,14,4,0,0,0,0,0,2,0,0,0,25,0,0,0,128,13,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,13,4,0,0,0,0,0,2,0,0,0,81,0,0,0,0,13,4,0,1,0,0,0,0,160,59,225,0,160,251,96,4,0,0,0,0,0,0,0,88,13,4,0,0,0,0,0,2,0,0,0,169,0,0,0,24,12,4,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,200,12,4,0,0,0,0,0,2,0,0,0,33,1,0,0,168,10,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,208,11,4,0,0,0,0,0,2,5,5,6,6,7,7,7,7,8,8,8,8,8,8,8,8,10,6,6,7,7,7,7,8,8,9,9,9,9,9,9,9,9,10,6,6,7,7,8,7,8,8,9,9,9,9,9,9,9,9,10,7,7,7,7,8,8,8,9,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,9,8,9,9,9,9,10,9,9,10,10,10,11,8,8,8,8,9,9,9,9,9,9,9,10,9,10,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,10,10,11,10,10,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,11,11,8,8,9,9,9,9,9,9,9,9,9,10,11,11,11,11,11,9,9,9,9,9,9,9,9,10,9,10,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,9,10,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,9,10,9,11,10,11,11,11,11,11,9,9,10,9,9,9,9,9,9,9,10,11,10,11,11,11,11,10,10,10,10,9,9,9,9,9,9,10,11,11,11,11,11,11,9,10,9,9,9,9,9,9,9,9,11,11,10,11,11,11,10,10,10,9,9,9,9,9,9,9,9,10,11,10,11,11,11,11,11,11,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,9,9,10,11,12,12,6,5,5,7,7,8,8,10,10,12,11,12,12,6,5,5,7,7,8,8,10,10,12,11,12,12,17,7,7,8,8,9,9,10,10,12,12,13,13,18,7,7,8,7,9,9,10,10,12,12,12,13,19,10,10,8,8,10,10,11,11,12,12,13,14,19,11,10,8,7,10,10,11,11,12,12,13,12,19,19,19,10,10,10,10,11,11,12,12,13,13,19,19,19,11,9,11,9,14,12,13,12,13,13,19,20,18,13,14,11,11,12,12,13,13,14,13,20,20,20,15,13,11,10,13,11,13,13,14,13,20,20,20,20,20,13,14,12,12,13,13,13,13,20,20,20,20,20,13,13,12,12,16,13,15,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,11,11,11,11,11,11,3,7,6,11,11,11,11,11,11,4,8,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,4,4,6,5,5,5,5,6,5,5,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,7,5,5,7,7,8,8,8,8,9,9,10,10,7,6,5,7,7,8,8,8,8,9,9,10,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,11,0,13,13,9,9,9,9,10,10,11,11,11,12,0,0,0,9,10,10,10,11,11,12,11,12,12,0,0,0,10,10,9,9,11,11,12,12,12,12,0,0,0,13,13,10,10,11,11,12,12,13,13,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,11,12,11,11,13,12,13,13,0,0,0,0,0,12,12,11,11,13,12,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,7,8,9,5,5,6,6,7,7,8,8,8,8,9,5,5,6,6,7,7,8,8,8,8,10,7,7,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,10,11,11,11,10,10,6,9,9,11,11,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,10,11,11,11,11,11,11,6,9,9,11,10,10,11,11,10,6,9,9,11,10,10,11,10,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,8,8,8,8,8,8,9,9,10,10,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,10,11,11,11,0,5,6,7,7,8,8,9,9,9,9,10,10,10,11,11,11,0,7,7,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,12,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,10,11,11,12,12,13,13,0,0,0,0,0,10,10,10,10,11,11,12,12,12,13,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,12,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,12,11,12,12,13,13,13,13,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,3,6,6,7,7,9,9,0,5,5,7,7,8,7,9,9,0,5,5,7,7,8,8,9,9,0,7,7,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,9,9,9,9,11,11,0,0,0,9,9,9,9,11,11,0,0,0,10,10,10,10,11,11,0,0,0,0,0,9,9,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,3,7,7,0,0,0,0,0,5,4,7,7,0,0,0,0,0,5,5,7,7,0,0,0,0,0,6,7,8,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,10,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,10,10],"i8",N3,x.GLOBAL_BASE+263472),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,112,60,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,24,86,4,0,0,0,0,0,4,0,0,0,113,2,0,0,224,57,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,60,4,0,0,0,0,0,2,0,0,0,81,0,0,0,96,57,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,184,57,4,0,0,0,0,0,2,0,0,0,81,0,0,0,224,56,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,56,57,4,0,0,0,0,0,2,0,0,0,33,1,0,0,112,55,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,152,56,4,0,0,0,0,0,4,0,0,0,81,0,0,0,8,55,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,96,55,4,0,0,0,0,0,2,0,0,0,121,0,0,0,88,54,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,216,54,4,0,0,0,0,0,2,0,0,0,169,0,0,0,112,53,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,32,54,4,0,0,0,0,0,2,0,0,0,25,0,0,0,56,53,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,53,4,0,0,0,0,0,4,0,0,0,113,2,0,0,168,50,4,0,1,0,0,0,0,160,27,225,0,160,251,96,3,0,0,0,0,0,0,0,32,53,4,0,0,0,0,0,2,0,0,0,169,0,0,0,192,49,4,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,112,50,4,0,0,0,0,0,2,0,0,0,33,1,0,0,80,48,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,120,49,4,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,8,8,8,8,8,8,10,10,10,7,7,7,8,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,7,7,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,8,8,9,9,9,9,9,10,9,9,10,10,10,7,7,8,8,9,8,9,9,9,9,10,9,9,10,10,10,10,8,8,8,8,9,8,9,9,9,9,9,10,9,10,10,10,10,7,7,8,8,9,9,9,9,9,9,10,9,10,10,10,10,10,8,8,8,9,9,9,9,9,9,9,10,10,10,9,11,10,10,10,10,8,8,9,9,9,9,9,10,9,9,9,10,10,10,10,11,11,9,9,9,9,9,9,9,9,10,9,9,10,11,10,10,11,11,9,9,9,9,9,9,9,9,9,9,10,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,9,10,9,11,10,10,11,11,11,11,9,9,9,9,9,9,9,9,9,9,10,10,10,11,11,11,11,9,10,9,10,9,9,9,9,10,9,10,11,10,11,10,10,10,10,10,9,9,9,10,9,9,9,10,11,11,10,11,11,10,11,10,10,10,9,9,9,9,10,9,9,10,11,10,11,11,11,11,10,11,10,10,9,10,9,9,9,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,9,9,11,12,13,12,6,5,5,7,7,8,8,10,9,12,12,12,12,6,5,5,7,7,8,8,10,9,12,11,11,13,16,7,7,8,8,9,9,10,10,12,12,13,12,16,7,7,8,7,9,9,10,10,11,12,12,13,16,10,10,8,8,10,10,11,12,12,12,13,13,16,11,10,8,7,11,10,11,11,12,11,13,13,16,16,16,10,10,10,10,11,11,13,12,13,13,16,16,16,11,9,11,9,15,13,12,13,13,13,16,16,16,15,13,11,11,12,13,12,12,14,13,16,16,16,14,13,11,11,13,12,14,13,13,13,16,16,16,16,16,13,13,13,12,14,13,14,14,16,16,16,16,16,13,13,12,12,14,14,15,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,5,5,10,10,6,9,8,10,10,6,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,7,5,5,7,7,8,8,8,8,9,9,10,10,7,5,6,7,7,8,8,8,8,9,9,10,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,11,0,13,13,9,9,9,9,10,10,11,11,11,12,0,0,0,10,10,10,10,11,11,11,11,12,12,0,0,0,10,10,9,9,11,11,11,12,12,12,0,0,0,13,13,10,10,11,11,12,12,13,13,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,11,11,11,11,13,12,13,13,0,0,0,0,0,12,12,11,11,12,12,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,7,7,7,7,7,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,8,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,10,9,9,4,6,7,10,9,9,11,9,9,7,10,10,11,11,11,12,10,11,6,9,9,11,10,11,11,10,10,6,9,9,11,10,11,11,10,10,7,11,10,12,11,11,11,11,11,7,9,9,10,10,10,11,11,10,6,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,6,6,8,7,8,8,8,8,9,9,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,9,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,8,8,9,9,9,9,10,10,10,10,11,11,12,12,0,0,0,8,8,9,9,9,9,10,10,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,11,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,10,10,11,11,11,11,11,12,12,12,13,13,0,0,0,0,0,0,0,11,10,11,11,11,11,12,12,13,13,0,0,0,0,0,0,0,11,11,12,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,11,12,12,12,12,13,13,13,0,0,0,0,0,0,0,12,12,12,12,12,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,6,6,8,8,0,0,0,7,7,7,7,9,9,0,0,0,7,7,7,7,9,9,0,0,0,7,7,7,8,9,9,0,0,0,7,7,7,7,9,9,0,0,0,9,9,8,8,10,10,0,0,0,8,9,8,8,10,10,0,0,0,10,10,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,2,8,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,6,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,9,9,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,9,11,10],"i8",N3,x.GLOBAL_BASE+274008),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,6,6,12,13,13,14,16,17,17,4,2,5,8,7,9,12,15,15,9,4,5,9,7,9,12,16,18,11,6,7,4,6,8,11,14,18,10,5,6,5,5,7,10,14,17,10,5,7,7,6,7,10,13,16,11,5,7,7,7,8,10,12,15,13,6,7,5,5,7,9,12,13,16,8,9,6,6,7,9,10,12,0,0,0,0,0,0,0,9,8,12,11,12,13,14,14,16,6,1,5,6,6,9,12,14,17,9,4,5,9,7,9,13,15,16,8,5,8,6,8,10,13,17,17,9,6,7,7,8,9,13,15,17,11,8,9,9,9,10,12,16,16,13,7,8,7,7,9,12,14,15,13,6,7,5,5,7,10,13,13,14,7,8,5,6,7,9,10,12,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,96,167,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,8,167,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,127,4,0,0,0,0,0,0,0,0,0,0,0,0,0,120,127,4,0,0,0,0,0,0,0,0,0,0,0,0,0,160,127,4,0,0,0,0,0,0,0,0,0,0,0,0,0,200,127,4,0,0,0,0,0,0,0,0,0,0,0,0,0,240,127,4,0,0,0,0,0,24,128,4,0,64,128,4,0,0,0,0,0,0,0,0,0,104,128,4,0,144,128,4,0,0,0,0,0,0,0,0,0,184,128,4,0,224,128,4,0,8,129,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,89,4,0,0,0,0,0,0,0,0,0,0,0,0,0,208,89,4,0,0,0,0,0,0,0,0,0,0,0,0,0,248,89,4,0,0,0,0,0,0,0,0,0,0,0,0,0,32,90,4,0,0,0,0,0,0,0,0,0,0,0,0,0,72,90,4,0,0,0,0,0,112,90,4,0,152,90,4,0,0,0,0,0,0,0,0,0,192,90,4,0,232,90,4,0,0,0,0,0,0,0,0,0,16,91,4,0,56,91,4,0,96,91,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,80,89,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,248,88,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,8,8,8,8,10,12,14,3,2,6,7,7,8,10,12,16,7,6,7,9,8,10,12,14,16,8,6,8,4,5,7,9,11,13,7,6,8,5,6,7,9,11,14,8,8,10,7,7,6,8,10,13,9,11,12,9,9,7,8,10,12,10,13,15,11,11,10,9,10,13,13,16,17,14,15,14,13,14,17,0,0,0,0,0,0,0,4,4,7,8,7,8,10,12,17,3,1,6,6,7,8,10,12,15,7,6,9,9,9,11,12,14,17,8,6,9,6,7,9,11,13,17,7,6,9,7,7,8,9,12,15,8,8,10,8,7,7,7,10,14,9,10,12,10,8,8,8,10,14,11,13,15,13,12,11,11,12,16,17,18,18,19,20,18,16,16,20,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,152,101,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,64,127,4,0,0,0,0,0,4,0,0,0,113,2,0,0,8,99,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,128,101,4,0,0,0,0,0,2,0,0,0,81,0,0,0,136,98,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,224,98,4,0,0,0,0,0,2,0,0,0,81,0,0,0,8,98,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,96,98,4,0,0,0,0,0,2,0,0,0,33,1,0,0,152,96,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,192,97,4,0,0,0,0,0,4,0,0,0,81,0,0,0,48,96,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,136,96,4,0,0,0,0,0,2,0,0,0,121,0,0,0,128,95,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,0,96,4,0,0,0,0,0,2,0,0,0,169,0,0,0,152,94,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,72,95,4,0,0,0,0,0,2,0,0,0,25,0,0,0,96,94,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,128,94,4,0,0,0,0,0,2,0,0,0,81,0,0,0,224,93,4,0,1,0,0,0,0,160,59,225,0,160,251,96,4,0,0,0,0,0,0,0,56,94,4,0,0,0,0,0,2,0,0,0,169,0,0,0,248,92,4,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,168,93,4,0,0,0,0,0,2,0,0,0,33,1,0,0,136,91,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,176,92,4,0,0,0,0,0,3,4,4,6,6,7,7,8,8,8,8,9,9,9,9,9,9,10,6,6,6,6,7,7,8,8,8,9,9,9,9,9,9,9,10,6,6,6,6,7,7,8,8,8,8,9,9,9,9,9,9,10,7,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,7,8,8,8,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,8,8,9,9,9,9,9,9,9,9,11,10,11,8,8,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,11,11,8,8,8,8,9,9,9,9,9,9,9,9,11,10,11,11,11,9,9,9,9,9,9,9,9,9,9,9,9,10,11,10,11,11,9,9,9,9,9,9,9,9,9,9,9,10,11,11,10,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,10,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,10,11,11,11,11,11,11,9,10,10,10,9,9,9,9,9,9,11,10,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,11,11,11,11,11,11,11,10,10,9,9,9,9,9,9,9,9,10,11,11,11,11,11,11,11,11,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,10,11,11,11,6,5,5,7,7,8,8,10,10,10,11,11,11,6,5,5,7,7,8,8,10,10,11,12,12,12,14,7,7,7,8,9,9,11,11,11,12,11,12,17,7,7,8,7,9,9,11,11,12,12,12,12,14,11,11,8,8,10,10,11,12,12,13,11,12,14,11,11,8,8,10,10,11,12,12,13,13,12,14,15,14,10,10,10,10,11,12,12,12,12,11,14,13,16,10,10,10,9,12,11,12,12,13,14,14,15,14,14,13,10,10,11,11,12,11,13,11,14,12,15,13,14,11,10,12,10,12,12,13,13,13,13,14,15,15,12,12,11,11,12,11,13,12,14,14,14,14,17,12,12,11,10,13,11,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,12,11,13,13,14,14,4,7,7,11,13,14,14,14,14,3,8,3,14,14,14,14,14,14,14,10,12,14,14,14,14,14,14,14,14,5,14,8,14,14,14,14,14,12,14,13,14,14,14,14,14,14,14,13,14,10,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,4,5,6,5,5,5,5,6,5,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,9,9,10,10,7,5,5,7,7,8,8,8,8,10,9,11,10,7,5,5,7,7,8,8,8,8,9,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,10,10,10,11,11,12,12,0,13,13,9,9,9,9,10,10,11,11,12,12,0,0,0,10,10,10,10,11,11,12,12,12,13,0,0,0,10,10,10,10,11,11,12,12,12,12,0,0,0,14,14,11,11,11,11,12,13,13,13,0,0,0,14,14,11,10,11,11,12,12,13,13,0,0,0,0,0,12,12,12,12,13,13,13,14,0,0,0,0,0,13,12,12,12,13,13,13,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,5,7,7,7,7,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,7,7,7,7,8,8,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,9,9,10,10,10,10,10,8,8,8,8,9,9,10,10,10,10,10,9,9,9,9,8,9,10,10,10,10,10,8,9,8,8,9,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,6,10,9,9,11,9,9,4,6,7,10,9,9,11,9,9,7,10,10,10,11,11,11,11,10,6,9,9,11,10,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,11,11,11,11,12,11,11,7,9,9,11,10,10,12,10,10,7,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,8,8,9,9,10,10,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,6,5,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,13,13,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,13,13,13,0,0,0,0,0,10,10,11,11,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,12,12,12,13,13,13,14,14,14,14,0,0,0,0,0,0,0,0,0,12,12,13,13,14,14,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,3,6,6,7,7,9,9,0,5,5,7,7,8,7,9,9,0,5,5,7,7,8,8,9,9,0,7,7,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,9,9,9,9,10,10,0,0,0,9,9,9,9,10,10,0,0,0,10,10,10,10,11,11,0,0,0,0,0,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,4,7,7,0,0,0,0,0,4,4,7,7,0,0,0,0,0,4,5,7,7,0,0,0,0,0,6,7,8,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,10,9,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,9,0,0,0,0,0,0,9,9,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,10,9],"i8",N3,x.GLOBAL_BASE+284176),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,80,141,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,248,166,4,0,0,0,0,0,4,0,0,0,113,2,0,0,192,138,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,141,4,0,0,0,0,0,2,0,0,0,81,0,0,0,64,138,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,152,138,4,0,0,0,0,0,2,0,0,0,81,0,0,0,192,137,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,24,138,4,0,0,0,0,0,2,0,0,0,33,1,0,0,80,136,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,120,137,4,0,0,0,0,0,4,0,0,0,81,0,0,0,232,135,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,64,136,4,0,0,0,0,0,2,0,0,0,121,0,0,0,56,135,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,184,135,4,0,0,0,0,0,2,0,0,0,169,0,0,0,80,134,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,0,135,4,0,0,0,0,0,2,0,0,0,25,0,0,0,24,134,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,134,4,0,0,0,0,0,4,0,0,0,113,2,0,0,136,131,4,0,1,0,0,0,0,160,27,225,0,160,251,96,3,0,0,0,0,0,0,0,0,134,4,0,0,0,0,0,2,0,0,0,169,0,0,0,160,130,4,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,80,131,4,0,0,0,0,0,2,0,0,0,33,1,0,0,48,129,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,88,130,4,0,0,0,0,0,3,4,3,6,6,7,7,8,8,9,9,9,9,9,9,9,9,10,11,11,6,6,7,7,8,8,9,9,9,9,9,9,9,9,10,10,10,6,6,7,7,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,7,8,8,8,9,9,9,9,9,9,10,9,10,11,10,7,6,7,7,8,8,9,9,9,9,9,9,9,10,10,10,11,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,8,8,9,9,9,9,9,9,9,10,11,11,11,8,8,8,8,8,8,9,9,9,9,9,9,9,9,11,10,10,11,11,8,8,8,9,9,9,9,9,9,10,9,10,10,10,10,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,10,10,10,10,11,10,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,10,10,11,11,11,11,9,9,9,9,9,9,9,9,10,10,10,11,11,10,11,11,11,9,10,10,9,9,9,9,9,9,9,10,11,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,11,11,11,11,11,11,11,10,10,9,9,9,9,9,9,9,9,11,11,11,10,11,11,11,11,11,9,9,9,10,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,10,10,11,11,11,6,5,5,7,7,8,8,9,10,9,11,11,12,5,5,5,7,7,8,9,10,10,12,12,14,13,15,7,7,8,8,9,10,11,11,10,12,10,11,15,7,8,8,8,9,9,11,11,13,12,12,13,15,10,10,8,8,10,10,12,12,11,14,10,10,15,11,11,8,8,10,10,12,13,13,14,15,13,15,15,15,10,10,10,10,12,12,13,12,13,10,15,15,15,10,10,11,10,13,11,13,13,15,13,15,15,15,13,13,10,11,11,11,12,10,14,11,15,15,14,14,13,10,10,12,11,13,13,14,14,15,15,15,15,15,11,11,11,11,12,11,15,12,15,15,15,15,15,12,12,11,11,14,12,13,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,7,7,11,11,8,11,11,11,11,4,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,8,8,9,9,11,11,7,5,5,7,7,8,8,8,8,9,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,10,10,10,11,11,11,12,0,13,13,9,9,9,9,10,10,11,11,11,12,0,0,0,10,10,10,10,11,11,12,12,12,13,0,0,0,10,10,10,10,11,11,12,12,13,12,0,0,0,14,14,11,10,11,12,12,13,13,14,0,0,0,15,15,11,11,12,11,12,12,14,13,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,13,13,12,12,13,13,13,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,8,8,10,10,10,7,6,8,8,8,8,8,8,10,10,10,7,6,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,6,6,10,9,9,11,9,9,4,6,6,10,9,9,10,9,9,7,10,10,11,11,11,12,11,11,7,9,9,11,11,10,11,10,10,7,9,9,11,10,11,11,10,10,7,10,10,11,11,11,12,11,11,7,9,9,11,10,10,11,10,10,7,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,6,6,7,7,8,8,8,8,9,9,10,10,10,10,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,8,8,9,9,9,9,10,10,10,10,11,11,12,12,0,0,0,8,8,9,9,9,9,10,10,10,11,11,11,12,12,0,0,0,9,9,10,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,11,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,10,10,11,10,11,11,11,12,13,12,13,13,0,0,0,0,0,0,0,11,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,12,12,12,13,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,13,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,6,6,8,8,0,0,0,6,6,7,7,9,9,0,0,0,6,6,7,7,9,9,0,0,0,7,7,8,8,10,10,0,0,0,7,7,8,8,10,10,0,0,0,9,9,9,9,10,10,0,0,0,9,9,9,9,10,10,0,0,0,10,10,10,10,11,11,0,0,0,0,0,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,2,3,7,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,9,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,7,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,10,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,9,9,11,0,0,0,0,0,0,10,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,9,11,9,0,0,0,0,0,0,10,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,10,11,11,0,0,0,0,0,0,9,9,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,10,11,11,0,0,0,0,0,0,9,11,9],"i8",N3,x.GLOBAL_BASE+294712),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,6,12,14,12,14,16,17,18,4,2,5,11,7,10,12,14,15,9,4,5,11,7,10,13,15,18,15,6,7,5,6,8,11,13,16,11,5,6,5,5,6,9,13,15,12,5,7,6,5,6,9,12,14,12,6,7,8,6,7,9,12,13,14,8,8,7,5,5,8,10,12,16,9,9,8,6,6,7,9,9,0,0,0,0,0,0,0,10,9,12,15,12,13,16,14,16,7,1,5,14,7,10,13,16,16,9,4,6,16,8,11,16,16,16,14,4,7,16,9,12,14,16,16,10,5,7,14,9,12,14,15,15,13,8,9,14,10,12,13,14,15,13,9,9,7,6,8,11,12,12,14,8,8,5,4,5,8,11,12,16,10,10,6,5,6,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,64,191,64,0,0,0,0,0,88,203,64,0,0,0,0,0,130,228,64,0,0,0,0,0,112,183,64,0,0,0,0,0,148,193,64,0,0,0,0,0,64,223,64,0,0,0,0,0,112,199,64,0,0,0,0,0,136,211,64,0,0,0,0,0,106,232,64,154,153,153,153,153,153,185,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,2,0,0,0,2,0,0,30,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,30,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,242,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,2,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,0,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,12,0,0,0,12,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,10,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,12,0,0,0,12,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,0,0,0,0,51,51,51,51,51,51,211,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,18,64,0,0,0,0,0,0,22,64,0,0,0,0,0,0,62,64,208,171,4,0,0,0,0,0,6,0,0,0,6,0,0,0,0,0,0,0,0,64,191,64,0,0,0,0,0,100,201,64,0,0,0,0,0,124,229,64,0,0,0,0,0,64,207,64,0,0,0,0,0,88,219,64,0,0,0,0,0,64,239,64,0,0,0,0,0,106,248,64,154,153,153,153,153,153,185,191,154,153,153,153,153,153,169,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,4,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,0,30,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,25,0,0,0,22,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,0,0,0,242,255,255,255,0,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,246,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,10,0,0,0,255,255,255,255,10,0,0,0,10,0,0,0,255,255,255,255,20,0,0,0,20,0,0,0,255,255,255,255,20,0,0,0,20,0,0,0,255,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,4,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,15,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,10,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,244,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,249,255,255,255,251,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,238,255,255,255,238,255,255,255,238,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,4,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,4,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,20,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,4,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,12,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,244,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,5,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,14,0,0,0,20,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,20,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,12,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,244,255,255,255,236,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,5,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,0,0,0,0,0,0,0,0,154,153,153,153,153,153,233,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,1,0,0,0,1,0,0,15,39,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,51,51,51,51,51,51,211,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,156,255,255,255,156,255,255,255,156,255,255,255,151,255,255,255,126,255,255,255,126,255,255,255,126,255,255,255,116,255,255,255,0,0,0,0,0,0,26,64,0,0,0,0,0,0,32,64,0,0,0,0,0,0,62,64,0,0,0,0,0,192,88,64,0,0,0,0,0,0,240,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,8,64,0,0,0,0,0,0,16,64,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,64,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,200,239,4,0,216,239,4,0,8,181,0,0,16,188,4,0,8,181,0,0,48,188,4,0,8,181,0,0,112,188,4,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,216,225,4,0,216,225,4,0,0,226,4,0,0,226,4,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,200,208,4,0,200,208,4,0,240,208,4,0,240,208,4,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,176,209,4,0,176,209,4,0,240,208,4,0,240,208,4,0,1,0,0,0,0,0,0,0,32,0,0,0,160,220,1,0,176,188,4,0,176,188,4,0,216,188,4,0,216,188,4,0,1,0,0,0,0,0,0,0,32,0,0,0,160,220,1,0,152,189,4,0,152,189,4,0,216,188,4,0,216,188,4,0,2,0,0,0,100,0,0,0,96,208,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,190,4,0,0,0,0,0,0,0,0,0,0,0,0,0,80,190,4,0,0,0,0,0,0,0,0,0,0,0,0,0,120,190,4,0,0,0,0,0,0,0,0,0,0,0,0,0,160,190,4,0,0,0,0,0,200,190,4,0,240,190,4,0,0,0,0,0,0,0,0,0,24,191,4,0,64,191,4,0,0,0,0,0,0,0,0,0,104,191,4,0,144,191,4,0,0,0,0,0,0,0,0,0,184,191,4,0,224,191,4,0,0,0,0,0,0,0,0,0,8,192,4,0,48,192,4,0,88,192,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,192,189,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,10,10,10,11,11,12,14,18,7,5,5,6,8,9,10,12,14,17,9,5,4,5,6,8,10,11,13,19,9,5,4,4,5,6,9,10,12,17,8,6,5,4,4,5,7,10,11,15,8,7,7,6,5,5,6,9,11,14,8,9,8,7,6,5,6,7,11,14,9,11,11,9,7,6,6,6,9,14,11,14,15,13,9,8,7,7,9,14,13,15,19,17,12,11,10,9,10,14,0,0,0,0,4,0,0,0,81,0,0,0,248,207,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,80,208,4,0,0,0,0,0,4,0,0,0,113,2,0,0,104,205,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,224,207,4,0,0,0,0,0,2,0,0,0,81,0,0,0,232,204,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,64,205,4,0,0,0,0,0,2,0,0,0,33,1,0,0,120,203,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,160,204,4,0,0,0,0,0,4,0,0,0,81,0,0,0,16,203,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,104,203,4,0,0,0,0,0,2,0,0,0,121,0,0,0,96,202,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,224,202,4,0,0,0,0,0,2,0,0,0,169,0,0,0,120,201,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,40,202,4,0,0,0,0,0,2,0,0,0,25,0,0,0,64,201,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,96,201,4,0,0,0,0,0,2,0,0,0,169,0,0,0,88,200,4,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,8,201,4,0,0,0,0,0,2,0,0,0,121,0,0,0,168,199,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,40,200,4,0,0,0,0,0,2,0,0,0,225,0,0,0,128,198,4,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,104,199,4,0,0,0,0,0,2,0,0,0,185,1,0,0,104,196,4,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,40,198,4,0,0,0,0,0,2,0,0,0,225,0,0,0,64,195,4,0,1,0,0,0,0,117,153,225,0,24,61,97,4,0,0,0,0,0,0,0,40,196,4,0,0,0,0,0,2,0,0,0,105,1,0,0,128,193,4,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,240,194,4,0,0,0,0,0,1,0,0,0,49,0,0,0,128,192,4,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,184,192,4,0,0,0,0,0,2,3,4,4,4,5,5,6,5,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,7,8,8,8,8,8,8,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,6,9,7,10,8,12,12,13,13,14,14,4,7,7,9,9,9,8,9,8,10,9,11,9,14,9,14,10,13,11,4,7,7,9,9,9,9,8,9,10,10,11,11,12,13,12,13,14,15,7,9,9,10,11,10,10,10,10,11,12,13,13,13,14,17,14,15,16,7,9,9,10,10,10,10,10,10,11,12,13,13,14,14,15,15,18,18,8,9,9,11,10,11,11,11,12,13,12,14,14,16,15,15,17,18,15,8,9,9,10,10,11,11,11,11,13,13,14,14,15,15,15,16,16,18,7,9,8,10,10,11,11,12,12,14,14,15,15,16,16,15,17,16,18,8,9,9,10,10,11,12,12,12,13,13,16,15,17,16,17,18,17,18,9,10,10,12,11,13,13,14,13,14,14,15,17,16,18,17,18,17,18,9,10,10,12,11,12,13,13,14,15,16,14,15,16,18,18,18,18,17,11,11,11,13,13,14,14,16,15,15,15,16,15,15,18,18,18,17,16,11,11,12,13,13,15,14,15,16,16,16,17,16,15,18,17,18,16,18,12,13,13,15,15,15,16,18,16,17,16,17,16,17,17,17,18,18,17,13,13,13,15,13,16,15,17,16,16,16,18,18,18,18,16,17,17,18,13,15,14,15,15,18,17,18,18,18,16,18,17,18,17,18,16,17,17,14,14,14,15,16,17,16,18,18,18,17,18,17,18,18,18,16,16,16,14,17,16,17,15,16,18,18,17,18,17,18,17,18,18,18,17,18,17,15,16,15,18,15,18,17,16,18,18,18,18,18,18,17,18,16,18,17,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,5,3,9,8,9,9,9,9,9,9,9,9,9,9,5,7,8,9,9,9,9,9,9,9,9,9,9,9,9,5,7,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,3,5,5,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,10,5,6,6,7,7,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,9,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,7,7,7,8,8,9,9,9,9,9,9,9,9,10,9,10,10,10,9,10,9,8,8,8,9,8,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,8,8,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,8,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,7,7,9,8,10,9,11,11,4,7,6,9,8,9,9,9,9,10,9,11,9,12,9,4,6,7,8,8,9,9,9,9,10,10,10,11,11,12,7,9,8,10,10,11,11,10,10,11,11,12,12,13,12,7,8,8,10,10,10,11,10,10,11,11,11,12,12,13,8,9,9,11,11,11,11,11,11,12,12,13,13,13,13,8,9,9,11,11,11,11,11,11,12,12,13,13,13,14,8,9,9,10,10,11,11,12,11,13,13,14,13,14,14,8,9,9,10,10,11,11,12,12,12,12,13,13,14,14,9,10,10,11,11,12,12,13,12,13,13,14,14,15,15,9,10,10,11,11,12,12,12,13,13,13,14,14,14,15,10,11,11,12,12,13,13,14,13,14,14,15,14,15,15,10,11,11,12,12,13,12,13,14,14,14,14,14,15,15,11,12,12,13,13,13,13,14,14,15,14,15,15,16,16,11,12,12,13,13,13,13,14,14,14,15,15,15,16,16,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,5,5,7,7,7,7,7,7,8,8,5,6,6,7,7,7,7,8,8,8,8,5,6,6,7,7,7,7,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,8,9,9,10,10,4,6,6,8,8,9,9,9,9,10,10,11,10,4,6,6,8,8,9,9,9,9,10,10,11,11,7,8,8,10,9,10,10,10,10,11,11,12,12,7,8,8,10,10,10,10,10,10,11,11,12,12,8,9,9,10,10,11,11,11,11,12,12,13,13,8,9,9,10,10,11,11,11,11,12,12,13,13,8,9,9,11,10,11,11,12,12,13,13,14,13,8,9,9,10,10,11,11,12,12,13,13,13,13,9,10,10,11,11,12,12,13,13,13,13,14,14,9,10,10,11,11,12,12,13,13,13,13,14,14,10,11,11,12,12,13,13,14,13,14,14,15,14,10,11,11,12,12,13,13,14,13,14,14,15,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,4,7,7,8,8,8,8,10,10,11,11,4,6,6,7,7,9,9,9,9,10,10,11,11,4,6,6,7,7,9,9,9,9,10,10,11,11,7,8,8,9,9,9,9,10,10,11,11,12,12,7,7,7,9,8,10,9,10,10,11,11,12,12,8,9,9,9,10,10,10,11,11,12,12,13,13,8,9,9,10,9,10,10,11,11,12,12,13,13,8,9,9,10,10,11,11,11,11,12,12,13,13,8,9,9,10,10,11,11,12,11,12,12,13,13,10,10,10,11,11,12,12,12,12,13,13,14,14,10,10,10,11,11,12,12,12,12,13,13,14,14,11,11,11,12,12,13,13,13,13,14,14,14,14,11,11,11,12,12,13,13,13,13,14,14,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,5,5,6,6,7,7,8,8,8,8,5,6,6,7,7,7,7,8,8,8,8,5,6,6,6,7,7,7,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,8,8,8,8,8,8,8,8,9,9,8,8,8,8,8,8,8,9,9,9,9,8,8,8,8,8,8,8,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,7,9,9,7,9,10,5,8,8,7,10,9,7,10,9,5,8,8,8,11,10,8,10,10,7,10,10,9,9,12,10,12,12,7,10,10,9,12,10,10,11,12,5,8,8,8,10,10,8,11,11,7,11,10,10,12,11,9,10,12,7,10,11,10,12,12,9,12,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,5,6,6,7,7,8,8,9,9,10,10,11,11,11,11,5,5,5,7,6,8,7,9,9,9,9,10,10,11,11,12,12,5,5,5,6,6,7,8,8,9,9,9,10,10,11,11,12,12,6,7,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,6,6,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,7,8,8,8,8,9,9,9,9,10,10,11,11,11,11,12,12,7,7,8,8,8,9,9,9,9,10,10,11,11,11,11,12,12,8,9,9,9,9,9,9,10,10,10,10,11,11,12,12,12,12,8,9,9,9,9,9,9,10,10,10,10,11,11,12,12,12,12,9,9,9,9,9,10,10,10,10,10,11,11,11,12,12,13,13,9,9,9,9,9,10,10,10,10,11,10,11,11,12,12,13,13,10,10,10,10,10,11,11,11,11,11,11,11,12,12,12,13,13,10,10,10,10,10,11,11,11,11,11,11,12,11,12,12,13,13,11,11,11,11,11,11,11,12,12,12,12,12,12,13,13,13,13,11,11,11,11,11,11,11,12,12,12,12,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,13,13,13,13,13,14,14,11,12,12,12,12,12,12,12,13,13,13,13,13,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,4,6,6,7,7,9,9,4,5,5,6,6,8,7,9,9,4,5,5,6,6,7,8,9,9,6,6,6,7,7,8,8,10,10,6,6,6,7,7,8,8,10,10,7,8,7,8,8,9,9,11,10,7,7,8,8,8,9,9,10,11,9,9,9,10,10,11,10,11,11,9,9,9,10,10,10,11,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,5,7,7,9,9,5,7,7,9,9,9,10,9,11,11,9,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,9,10,10,11,12,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,11,10,10,10,12,12,9,10,10,12,12,10,10,10,12,12,9,10,10,12,12,12,12,12,14,14,11,12,12,13,14,9,10,10,12,12,9,10,10,12,12,10,10,10,12,12,11,12,12,14,13,12,12,12,14,13,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,10,10,10,12,12,7,8,8,11,10,8,9,9,11,11,8,9,9,11,11,10,11,11,12,13,10,11,11,12,13,7,8,8,10,10,8,9,8,11,10,8,9,9,11,11,10,11,10,13,12,10,11,11,13,13,10,11,10,13,12,10,11,11,13,13,10,11,11,13,13,12,12,13,13,14,12,13,13,14,14,9,10,10,12,12,10,11,10,13,12,10,11,11,13,13,12,13,12,14,13,12,13,13,14,15,5,7,7,9,10,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,10,10,11,12,12,7,8,8,10,10,8,9,9,11,11,8,8,9,10,11,10,11,11,13,13,10,10,11,12,13,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,11,13,12,10,11,11,13,12,9,10,10,12,12,10,11,11,13,13,10,10,11,12,13,12,13,13,15,14,12,12,13,12,14,9,10,11,12,13,10,11,11,13,13,10,11,11,13,13,12,13,13,14,14,12,13,12,14,13,8,10,10,12,12,9,11,10,13,12,9,10,10,12,13,12,13,13,14,14,12,12,12,14,14],"i8",N3,x.GLOBAL_BASE+304880),E3([9,10,10,13,13,10,11,11,13,13,10,11,11,13,13,13,13,13,14,15,12,13,13,14,15,9,10,10,12,13,10,11,10,13,13,10,11,11,12,13,12,13,12,15,14,12,13,13,14,15,11,12,12,15,14,12,12,13,14,15,12,13,13,15,14,13,13,15,14,16,14,14,14,16,15,11,12,12,14,14,11,12,12,14,14,12,13,13,14,15,13,14,13,15,13,14,14,14,15,16,8,9,10,12,12,9,10,10,13,12,9,10,11,12,13,12,12,12,14,14,12,13,13,14,14,9,10,10,13,12,10,11,11,13,13,10,10,11,13,13,12,13,13,15,14,12,12,13,14,15,9,10,10,13,13,10,11,11,13,13,10,11,11,13,13,12,13,13,14,14,13,13,13,15,15,11,12,12,14,13,12,13,13,15,14,11,12,12,14,14,14,14,14,16,15,13,13,14,13,16,11,12,12,14,14,12,13,13,14,15,12,13,12,14,14,14,14,14,16,16,14,15,13,16,14,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,7,5,7,7,5,7,7,7,9,9,7,9,9,5,7,7,7,9,9,8,9,9,5,7,7,8,9,9,7,9,9,7,9,9,9,10,11,9,10,10,7,9,9,9,10,9,9,10,11,5,8,7,7,9,9,8,9,9,7,9,9,9,11,10,9,9,10,7,9,9,9,10,10,9,11,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,8,11,13,13,15,16,19,19,19,19,11,8,8,9,9,11,13,15,19,20,14,8,7,7,8,9,12,13,15,20,15,9,6,5,5,7,10,12,14,18,14,9,7,5,3,4,7,10,12,16,13,10,8,6,3,3,5,8,11,14,11,10,9,7,5,4,4,6,11,14,10,10,10,8,6,5,5,6,10,14,10,10,10,9,8,7,7,7,10,14,11,12,12,12,11,10,10,10,12,16,0,0,0,0,2,0,0,0,100,0,0,0,112,225,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,104,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,144,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,184,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,224,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,8,211,4,0,0,0,0,0,48,211,4,0,88,211,4,0,0,0,0,0,0,0,0,0,128,211,4,0,168,211,4,0,0,0,0,0,0,0,0,0,208,211,4,0,248,211,4,0,32,212,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,216,209,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,6,10,8,12,8,14,8,14,19,5,3,5,5,7,6,11,7,16,19,7,5,6,7,7,9,11,12,19,19,6,4,7,5,7,6,10,7,18,18,8,6,7,7,7,7,8,9,18,18,7,5,8,5,7,5,8,6,18,18,12,9,10,9,9,9,8,9,18,18,8,7,10,6,8,5,6,4,11,18,11,15,16,12,11,8,8,6,9,18,14,18,18,18,16,16,16,13,16,18,0,0,0,0,4,0,0,0,81,0,0,0,8,225,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,96,225,4,0,0,0,0,0,4,0,0,0,81,0,0,0,160,224,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,248,224,4,0,0,0,0,0,4,0,0,0,113,2,0,0,16,222,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,224,4,0,0,0,0,0,4,0,0,0,113,2,0,0,128,219,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,248,221,4,0,0,0,0,0,2,0,0,0,81,0,0,0,0,219,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,88,219,4,0,0,0,0,0,2,0,0,0,81,0,0,0,128,218,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,216,218,4,0,0,0,0,0,4,0,0,0,81,0,0,0,24,218,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,112,218,4,0,0,0,0,0,2,0,0,0,121,0,0,0,104,217,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,232,217,4,0,0,0,0,0,2,0,0,0,121,0,0,0,184,216,4,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,56,217,4,0,0,0,0,0,2,0,0,0,121,0,0,0,8,216,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,136,216,4,0,0,0,0,0,2,0,0,0,225,0,0,0,224,214,4,0,1,0,0,0,0,228,91,225,0,224,255,96,4,0,0,0,0,0,0,0,200,215,4,0,0,0,0,0,2,0,0,0,225,0,0,0,184,213,4,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,160,214,4,0,0,0,0,0,2,0,0,0,33,1,0,0,72,212,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,112,213,4,0,0,0,0,0,1,6,6,7,8,8,11,10,9,9,11,9,10,9,11,11,9,6,7,6,11,8,11,9,10,10,11,9,11,10,10,10,11,9,5,7,7,8,8,10,11,8,8,11,9,9,10,11,9,10,11,8,9,6,8,8,9,9,10,10,11,11,11,9,11,10,9,11,8,8,8,9,8,9,10,11,9,9,11,11,10,9,9,11,10,8,11,8,9,8,11,9,10,9,10,11,11,10,10,9,10,10,8,8,9,10,10,10,9,11,9,10,11,11,11,11,10,9,11,9,9,11,11,10,8,11,11,11,9,10,10,11,10,11,11,9,11,10,9,11,10,10,10,10,9,11,10,11,10,9,9,10,11,9,8,10,11,11,10,10,11,9,11,10,11,11,10,11,9,9,8,10,8,9,11,9,8,10,10,9,11,10,11,10,11,9,11,8,10,11,11,11,11,10,10,11,11,11,11,10,11,11,10,9,8,10,10,9,11,10,11,11,11,9,9,9,11,11,11,10,10,9,9,10,9,11,11,11,11,8,10,11,10,11,11,10,11,11,9,9,9,10,9,11,9,11,11,11,11,11,10,11,11,10,11,10,11,11,9,11,10,11,10,9,10,9,10,10,11,11,11,11,9,10,9,10,11,11,10,11,11,11,11,11,11,10,11,11,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,6,5,9,9,10,10,6,7,9,9,10,10,10,10,5,10,8,10,8,10,10,8,8,10,9,10,10,10,10,5,8,9,10,10,10,10,8,10,10,10,10,10,10,10,9,10,10,10,10,10,10,9,9,10,10,10,10,10,10,9,9,8,9,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,8,10,10,10,10,10,10,10,10,10,10,10,10,10,6,8,8,10,10,10,8,10,10,10,10,10,10,10,10,5,8,8,10,10,10,9,9,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,5,5,6,6,7,7,8,8,8,8,4,6,6,7,7,8,7,8,8,8,8,4,6,6,7,7,7,7,8,8,8,8,6,7,7,7,7,8,8,8,8,8,9,6,7,7,7,7,8,8,8,8,9,9,7,7,7,8,8,8,8,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,9,8,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,5,8,8,10,10,12,12,4,7,7,8,8,9,9,12,11,14,13,4,7,7,7,8,9,10,11,11,13,12,5,8,8,9,9,11,11,12,13,15,14,5,7,8,9,9,11,11,13,13,17,15,8,9,10,11,11,12,13,17,14,17,16,8,10,9,11,11,12,12,13,15,15,17,10,11,11,12,13,14,15,15,16,16,17,9,11,11,12,12,14,15,17,15,15,16,11,14,12,14,15,16,15,16,16,16,15,11,13,13,14,14,15,15,16,16,15,16,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,4,6,5,7,7,8,8,8,8,8,8,4,5,6,7,7,8,8,8,8,8,8,6,7,7,8,8,8,8,9,9,9,9,6,7,7,8,8,8,8,9,9,9,9,7,8,8,8,8,9,9,9,10,9,10,7,8,8,8,8,9,9,9,9,10,9,8,8,8,9,9,10,10,10,10,10,10,8,8,8,9,9,9,9,10,10,10,10,8,8,8,9,9,9,10,10,10,10,10,8,8,8,9,9,10,10,10,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,4,8,8,4,8,8,5,11,9,8,12,11,8,12,11,5,10,11,8,11,12,8,11,12,4,11,11,11,14,13,10,13,13,8,14,13,12,14,16,12,16,15,8,14,14,13,16,14,12,15,16,4,11,11,10,14,13,11,14,14,8,15,14,12,15,15,12,14,16,8,14,14,11,16,15,12,15,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,6,6,7,7,9,9,4,4,4,6,6,8,8,9,9,4,4,4,6,6,7,7,9,9,6,6,6,7,7,8,8,10,9,6,6,6,7,7,8,8,9,10,7,8,7,8,8,9,9,10,10,7,8,8,8,8,9,9,10,10,9,9,9,10,10,10,10,11,11,9,9,9,10,10,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,8,8,8,10,10,4,5,6,8,8,8,8,10,10,7,8,8,9,9,9,9,11,11,7,8,8,9,9,9,9,11,11,7,8,8,10,9,11,11,12,11,7,8,8,9,9,11,11,12,12,9,10,10,11,11,12,12,13,12,9,10,10,11,11,12,12,12,13,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,6,6,7,9,9,6,6,6,9,9,9,10,9,11,11,9,9,10,11,11,6,7,7,10,9,7,7,8,9,10,7,7,8,10,10,10,10,10,10,12,9,9,10,11,12,6,7,7,9,9,7,8,7,10,10,7,8,7,10,10,9,10,9,12,11,10,10,9,12,10,9,10,10,12,11,10,10,10,12,12,9,10,10,12,12,12,11,12,13,13,11,11,12,12,13,9,10,10,11,12,9,10,10,12,12,10,10,10,12,12,11,12,11,14,13,11,12,12,14,13,5,7,7,10,10,7,8,8,10,10,7,8,7,10,10,10,10,10,12,12,10,10,10,12,12,6,8,7,10,10,7,7,9,10,11,8,9,9,11,10,10,10,11,11,13,10,10,11,12,13,6,8,8,10,10,7,9,8,11,10,8,9,9,10,11,10,11,10,13,11,10,11,10,12,12,10,11,10,12,11,10,10,10,12,13,10,11,11,13,12,11,11,13,11,14,12,12,13,14,14,9,10,10,12,13,10,11,10,13,12,10,11,11,12,13,11,12,11,14,12,12,13,13,15,14,5,7,7,10,10,7,7,8,10,10,7,8,8,10,10,10,10,10,11,12,10,10,10,12,12,7,8,8,10,10,8,9,8,11,10,7,8,9,10,11,10,11,11,12,12,10,10,11,11,13,7,7,8,10,10,8,8,9,10,11,7,9,7,11,10,10,11,11,13,12,11,11,10,13,11,9,10,10,12,12,10,11,11,13,12,10,10,11,12,12,12,13,13,14,14,11,11,12,12,14,10,10,11,12,12,10,11,11,12,13,10,10,10,13,12,12,13,13,15,14,12,13,10,14,11,8,10,10,12,12,10,11,10,13,13,9,10,10,12,12,12,13,13,15,14,11,12,12,13,13,9,10,10,13,12,10,10,11,13,13,10,11,10,13,12,12,12,13,14,15,12,13,12,15,13,9,10,10,12,13,10,11,10,13,12,10,10,11,12,13,12,14,12,15,13,12,12,13,14,15,11,12,11,14,13,11,11,12,14,15,12,13,12,15,14,13,11,15,11,16,13,14,14,16,15,11,12,12,14,14,11,12,11,14,13,12,12,13,14,15,13,14,12,16,12,14,14,14,15,15,8,10,10,12,12,9,10,10,12,12,10,10,11,13,13,11,12,12,13,13,12,13,13,14,15,9,10,10,13,12,10,11,11,13,12,10,10,11,13,13,12,13,12,15,14,12,12,13,13,16,9,9,10,12,13,10,10,11,12,13,10,11,10,13,13,12,12,13,13,15,13,13,12,15,13,11,12,12,14,14,12,13,12,15,14,11,11,12,13,14,14,14,14,16,15,13,12,15,12,16,11,11,12,13,14,12,13,13,14,15,10,12,11,14,13,14,15,14,16,16,13,14,11,15,11,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,8,8,6,7,7,9,9,5,7,7,9,9,9,10,9,11,11,9,9,10,11,11,6,8,8,10,10,8,9,10,11,11,8,9,10,11,11,10,11,11,12,13,10,11,11,13,13,6,8,8,10,10,8,10,9,11,11,8,10,9,11,11,10,11,11,13,13,10,11,11,13,12,9,11,11,14,13,10,12,12,15,14,10,12,11,14,13,12,13,13,15,15,12,13,13,16,14,9,11,11,13,14,10,11,12,14,14,10,12,12,14,15,12,13,13,14,15,12,13,14,15,16,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,14,8,10,10,12,12,9,11,12,12,13,10,12,12,13,13,12,12,13,14,15,11,13,13,15,15,7,10,10,12,12,9,12,11,13,12,10,11,12,13,13,12,13,12,15,14,11,12,13,15,15,10,12,12,15,14,11,13,13,16,15,11,13,13,16,15,14,13,14,15,16,13,15,15,17,17,10,12,12,14,15,11,12,12,15,15,11,13,13,15,16,13,15,13,16,15,13,15,15,16,17,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,14,7,10,10,12,12,10,12,12,14,13,9,11,12,12,13,12,13,13,15,15,12,12,13,13,15,7,10,10,12,13,10,11,12,13,13,10,12,11,13,13,11,13,13,15,15,12,13,12,15,14,9,12,12,15,14,11,13,13,15,15,11,12,13,15,15,13,14,14,17,19,13,13,14,16,16,10,12,12,14,15,11,13,13,15,16,11,13,12,16,15,13,15,15,17,18,14,15,13,16,15,8,11,11,15,14,10,12,12,16,15,10,12,12,16,16,14,15,15,18,17,13,14,15,16,18,9,12,12,15,15,11,12,14,16,17,11,13,13,16,15,15,15,15,17,18,14,15,16,17,17,9,12,12,15,15,11,14,13,16,16,11,13,13,16,16,15,16,15,17,18,14,16,15,17,16,12,14,14,17,16,12,14,15,18,17,13,15,15,17,17,15,15,18,16,20,15,16,17,18,18,11,14,14,16,17,13,15,14,18,17,13,15,15,17,17,15,17,15,18,17,15,17,16,19,18,8,11,11,14,15,10,12,12,15,15,10,12,12,16,16,13,14,14,17,16,14,15,15,17,17,9,12,12,15,16,11,13,13,16,16,11,12,13,16,16,14,16,15,20,17,14,16,16,17,17,9,12,12,15,16,11,13,13,16,17,11,13,13,17,16,14,15,15,17,18,15,15,15,18,18,11,14,14,17,16,13,15,15,17,17,13,14,14,18,17,15,16,16,18,19,15,15,17,17,19,11,14,14,16,17,13,15,14,17,19,13,15,14,18,17,15,17,16,18,18,15,17,15,18,16,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,5,6,6,5,6,6,5,6,6,6,7,8,6,7,8,5,6,6,6,8,7,6,8,7,5,6,6,6,8,8,6,8,8,6,8,8,7,7,10,8,9,9,6,8,8,7,9,8,8,9,10,5,6,6,6,8,8,7,8,8,6,8,8,8,10,9,7,8,9,6,8,8,8,9,9,7,10,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,7,7,10,10,7,9,10,5,7,8,7,10,9,7,10,10,5,8,8,8,10,10,8,10,10,7,10,10,10,11,12,10,12,13,7,10,10,9,13,11,10,12,13,5,8,8,8,10,10,8,10,10,7,10,10,10,12,12,9,11,12,7,10,11,10,12,12,10,13,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,7,10,9,11,10,15,11,13,16,6,4,6,6,7,7,10,9,12,16,10,6,5,6,6,7,10,11,16,16,9,6,7,6,7,7,10,8,14,16,11,6,5,4,5,6,8,9,15,16,9,6,6,5,6,6,9,8,14,16,12,7,6,6,5,6,6,7,13,16,8,6,7,6,5,5,4,4,11,16,9,8,9,9,7,7,6,5,13,16,14,14,16,15,16,15,16,16,16,16,0,0,0,0,2,0,0,0,64,0,0,0,136,239,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,226,4,0,0,0,0,0,0,0,0,0,0,0,0,0,232,226,4,0,0,0,0,0,0,0,0,0,0,0,0,0,16,227,4,0,0,0,0,0,0,0,0,0,0,0,0,0,56,227,4,0,0,0,0,0,0,0,0,0,0,0,0,0,96,227,4,0,0,0,0,0,136,227,4,0,176,227,4,0,0,0,0,0,0,0,0,0,216,227,4,0,0,228,4,0,40,228,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,81,0,0,0,32,239,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,120,239,4,0,0,0,0,0,4,0,0,0,81,0,0,0,184,238,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,16,239,4,0,0,0,0,0,4,0,0,0,113,2,0,0,40,236,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,238,4,0,0,0,0,0,4,0,0,0,113,2,0,0,152,233,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,236,4,0,0,0,0,0,2,0,0,0,81,0,0,0,24,233,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,112,233,4,0,0,0,0,0,2,0,0,0,169,0,0,0,48,232,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,224,232,4,0,0,0,0,0,2,0,0,0,25,0,0,0,248,231,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,24,232,4,0,0,0,0,0,4,0,0,0,81,0,0,0,144,231,4,0,1,0,0,0,0,176,19,225,0,176,19,97,2,0,0,0,0,0,0,0,232,231,4,0,0,0,0,0,2,0,0,0,225,0,0,0,104,230,4,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,80,231,4,0,0,0,0,0,2,0,0,0,185,1,0,0,80,228,4,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,16,230,4,0,0,0,0,0,1,6,6,7,8,7,7,10,9,10,9,11,10,9,11,10,9,9,9,9,10,6,8,7,9,9,8,8,10,10,9,11,11,12,12,10,9,11,9,12,10,9,6,9,8,9,12,8,8,11,9,11,11,12,11,12,12,10,11,11,10,10,11,7,10,9,9,9,9,9,10,9,10,9,10,10,12,10,10,10,11,12,10,10,7,9,9,9,10,9,9,10,10,9,9,9,11,11,10,10,10,10,9,9,12,7,9,10,9,11,9,10,9,10,11,11,11,10,11,12,9,12,11,10,10,10,7,9,9,9,9,10,12,10,9,11,12,10,11,12,12,11,9,10,11,10,11,7,9,10,10,11,10,9,10,11,11,11,10,12,12,12,11,11,10,11,11,12,8,9,10,12,11,10,10,12,12,12,12,12,10,11,11,9,11,10,12,11,11,8,9,10,10,11,12,11,11,10,10,10,12,12,12,9,10,12,12,12,12,12,8,10,11,10,10,12,9,11,12,12,11,12,12,12,12,10,12,10,10,10,10,8,12,11,11,11,10,10,11,12,12,12,12,11,12,12,12,11,11,11,12,10,9,10,10,12,10,12,10,12,12,10,10,10,11,12,12,12,11,12,12,12,11,10,11,12,12,12,11,12,12,11,12,12,11,12,12,12,12,11,12,12,10,10,10,10,11,11,12,11,12,12,12,12,12,12,12,11,12,11,10,11,11,12,11,11,9,10,10,10,12,10,10,11,9,11,12,11,12,11,12,12,10,11,10,12,9,9,9,12,11,10,11,10,12,10,12,10,12,12,12,11,11,11,11,11,10,9,10,10,11,10,11,11,12,11,10,11,12,12,12,11,11,9,12,10,12,9,10,12,10,10,11,10,11,11,12,11,10,11,10,11,11,11,11,12,11,11,10,9,10,10,10,9,11,11,10,9,12,10,11,12,11,12,12,11,12,11,12,11,10,11,10,12,11,12,11,12,11,12,10,11,10,10,12,11,10,11,11,11,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,5,5,6,5,9,10,11,11,10,10,10,10,10,10,5,8,8,8,10,10,10,10,10,10,10,10,10,10,10,5,8,9,9,9,10,10,10,10,10,10,10,10,10,10,5,10,8,10,10,10,10,10,10,10,10,10,10,10,10,4,8,9,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,5,6,6,4,6,6,6,6,4,6,6,6,6,6,6,6,7,7,6,6,6,7,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,10,10,12,12,13,13,18,17,3,6,6,9,9,11,11,13,13,14,14,18,17,3,6,6,9,9,11,11,13,13,14,14,17,18,7,9,9,11,11,13,13,14,14,15,15,0,0,7,9,9,11,11,13,13,14,14,15,16,19,18,10,11,11,13,13,14,14,16,15,17,18,0,0,10,11,11,13,13,14,14,15,15,16,18,0,0,11,13,13,14,14,15,15,17,17,0,19,0,0,11,13,13,14,14,14,15,16,18,0,19,0,0,13,14,14,15,15,18,17,18,18,0,19,0,0,13,14,14,15,16,16,16,18,18,19,0,0,0,16,17,17,0,17,19,19,0,19,0,0,0,0,16,19,16,17,18,0,19,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,8,8,8,9,9,4,6,6,8,8,8,8,9,9,7,8,8,9,9,9,9,11,10,7,8,8,9,9,9,9,10,11,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,9,9,10,10,11,11,12,12,9,9,9,10,10,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,6,6,6,9,9,6,6,6,9,9,9,10,9,11,11,9,9,9,11,11,6,7,7,10,10,7,7,8,10,10,7,7,8,10,10,10,10,10,11,12,9,10,10,11,12,6,7,7,10,10,7,8,7,10,10,7,8,7,10,10,10,11,10,12,11,10,10,10,13,10,9,10,10,12,12,10,11,10,14,12,9,11,11,13,13,11,12,13,13,13,11,12,12,15,13,9,10,10,12,13,9,11,10,12,13,10,10,11,12,13,11,12,12,12,13,11,12,12,13,13,5,7,7,10,10,7,8,8,10,10,7,8,8,10,10,10,11,10,12,13,10,10,11,12,12,6,8,8,11,10,7,8,9,10,12,8,9,9,11,11,11,10,11,11,12,10,11,11,13,12,7,8,8,10,11,8,9,8,11,10,8,9,9,11,11,10,12,10,13,11,10,11,11,13,13,10,11,10,14,13,10,10,11,13,13,10,12,11,14,13,12,11,13,12,13,13,12,13,14,14,10,11,11,13,13,10,11,10,12,13,10,12,12,12,14,12,12,12,14,12,12,13,12,17,15,5,7,7,10,10,7,8,8,10,10,7,8,8,11,10,10,10,11,12,12,10,11,11,12,13,6,8,8,11,10,8,9,9,11,11,7,8,9,10,11,11,11,11,12,12,10,10,11,12,13,6,8,8,10,11,8,9,9,11,11,7,9,7,11,10,10,12,12,13,13,11,11,10,13,11,9,11,10,14,13,11,11,11,15,13,10,10,11,13,13,12,13,13,14,14,12,11,12,12,13,10,11,11,12,13,10,11,12,13,13,10,11,10,13,12,12,12,13,14,0,12,13,11,13,11,8,10,10,13,13,10,11,11,14,13,10,11,11,13,12,13,14,14,14,15,12,12,12,15,14,9,11,10,13,12,10,10,11,13,14,11,11,11,15,12,13,12,14,15,16,13,13,13,14,13,9,11,11,12,12,10,12,11,13,13,10,11,11,13,14,13,13,13,15,15,13,13,14,17,15,11,12,12,14,14,10,11,12,13,15,12,13,13,0,15,13,11,14,12,16,14,16,14,0,15,11,12,12,14,16,11,13,12,16,15,12,13,13,14,15,12,14,12,15,13,15,14,14,16,16,8,10,10,13,13,10,11,10,13,14,10,11,11,13,13,13,13,12,14,14,14,13,13,16,17,9,10,10,12,14,10,12,11,14,13,10,11,12,13,14,12,12,12,15,15,13,13,13,14,14,9,10,10,13,13,10,11,12,12,14,10,11,10,13,13,13,13,13,14,16,13,13,13,14,14,11,12,13,15,13,12,14,13,14,16,12,12,13,13,14,13,14,14,17,15,13,12,17,13,16,11,12,13,14,15,12,13,14,14,17,11,12,11,14,14,13,16,14,16,0,14,15,11,15,11,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,7,7,6,7,7,8,8,6,7,8,8,8,8,9,9,11,11,8,9,9,11,11,6,9,8,10,10,8,10,10,11,11,8,10,10,11,11,10,11,10,13,12,9,11,10,13,13,6,8,9,10,10,8,10,10,11,11,8,10,10,11,11,9,10,11,13,12,10,10,11,12,12,8,11,11,14,13,10,12,11,15,13,9,12,11,15,14,12,14,13,16,14,12,13,13,17,14,8,11,11,13,14,9,11,12,14,15,10,11,12,13,15,11,13,13,14,16,12,13,14,14,16,5,9,9,11,11,9,11,11,12,12,8,11,11,12,12,11,12,12,15,14,10,12,12,15,15,8,11,11,13,12,10,12,12,13,13,10,12,12,14,13,12,12,13,14,15,11,13,13,17,16,7,11,11,13,13,10,12,12,14,13,10,12,12,13,14,12,13,12,15,14,11,13,13,15,14,9,12,12,16,15,11,13,13,17,16,10,13,13,16,16,13,14,15,15,16,13,15,14,19,17,9,12,12,14,16,11,13,13,15,16,10,13,13,17,16,13,14,13,17,15,12,15,15,16,17,5,9,9,11,11,8,11,11,13,12,9,11,11,12,12,10,12,12,14,15,11,12,12,14,14,7,11,10,13,12,10,12,12,14,13,10,11,12,13,13,11,13,13,15,16,12,12,13,15,15,7,11,11,13,13,10,13,13,14,14,10,12,12,13,13,11,13,13,16,15,12,13,13,15,14,9,12,12,15,15,10,13,13,17,16,11,12,13,15,15,12,15,14,18,18,13,14,14,16,17,9,12,12,15,16,10,13,13,15,16,11,13,13,15,16,13,15,15,17,17,13,15,14,16,15,7,11,11,15,16,10,13,12,16,17,10,12,13,15,17,15,16,16,18,17,13,15,15,17,18,8,12,12,16,16,11,13,14,17,18,11,13,13,18,16,15,17,16,17,19,14,15,15,17,16,8,12,12,16,15,11,14,13,18,17,11,13,14,18,17,15,16,16,18,17,13,16,16,18,18,11,15,14,18,17,13,14,15,18,0,12,15,15,0,17,17,16,17,17,18,14,16,18,18,0,11,14,14,17,0,12,15,14,17,19,12,15,14,18,0,15,18,16,0,17,14,18,16,18,0,7,11,11,16,15,10,12,12,18,16,10,13,13,16,15,13,15,14,17,17,14,16,16,19,18,8,12,12,16,16,11,13,13,18,16,11,13,14,17,16,14,15,15,19,18,15,16,16,0,19,8,12,12,16,17,11,13,13,17,17,11,14,13,17,17,13,15,15,17,19,15,17,17,19,0,11,14,15,19,17,12,15,16,18,18,12,14,15,19,17,14,16,17,0,18,16,16,19,17,0,11,14,14,18,19,12,15,14,17,17,13,16,14,17,16,14,17,16,18,18,15,18,15,0,18,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,7,8,9,7,8,9,5,7,7,7,9,8,7,9,7,4,7,7,7,9,9,7,8,8,6,9,8,7,8,11,9,11,10,6,8,9,8,11,8,9,10,11,4,7,7,7,8,8,7,9,9,6,9,8,9,11,10,8,8,11,6,8,9,9,10,11,8,11,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,8,5,8,8,8,10,10,8,10,11,5,8,8,8,10,10,8,10,10,4,9,9,9,12,11,8,11,11,8,12,11,10,12,14,10,13,13,7,11,11,10,14,12,11,14,14,4,9,9,8,11,11,9,11,12,7,11,11,10,13,14,10,12,14,8,11,12,10,14,14,10,13,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,5,8,7,14,8,9,19,5,2,5,5,9,6,9,19,8,4,5,7,8,9,13,19,7,4,6,5,9,6,9,19,12,8,7,9,10,11,13,19,8,5,8,6,9,6,7,19,8,8,10,7,7,4,5,19,12,17,19,15,18,13,11,18,9,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,9,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,112,199,64,0,0,0,0,0,136,211,64,0,0,0,0,0,124,229,64,0,0,0,0,0,255,244,64,200,47,1,0,32,240,4,0,200,47,1,0,64,240,4,0,200,47,1,0,128,240,4,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,248,45,5,0,248,45,5,0,32,46,5,0,32,46,5,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,32,5,5,0,32,5,5,0,72,5,5,0,72,5,5,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,8,6,5,0,8,6,5,0,72,5,5,0,72,5,5,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,192,240,4,0,192,240,4,0,232,240,4,0,232,240,4,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,168,241,4,0,168,241,4,0,232,240,4,0,232,240,4,0,2,0,0,0,100,0,0,0,184,4,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,242,4,0,0,0,0,0,0,0,0,0,0,0,0,0,96,242,4,0,0,0,0,0,0,0,0,0,0,0,0,0,136,242,4,0,0,0,0,0,0,0,0,0,0,0,0,0,176,242,4,0,0,0,0,0,216,242,4,0,0,243,4,0,0,0,0,0,0,0,0,0,40,243,4,0,80,243,4,0,0,0,0,0,0,0,0,0,120,243,4,0,160,243,4,0,0,0,0,0,0,0,0,0,200,243,4,0,240,243,4,0,0,0,0,0,0,0,0,0,24,244,4,0,64,244,4,0,104,244,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,208,241,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,9,9,9,8,9,10,13,16,5,4,5,6,7,7,8,9,12,16,6,5,5,5,7,7,9,10,12,15,7,6,5,4,5,6,8,9,10,13,8,7,7,5,5,5,7,9,10,12,7,7,7,6,5,5,6,7,10,12,8,8,8,7,7,5,5,6,9,11,8,9,9,8,8,6,6,5,8,11,10,11,12,12,11,9,9,8,9,12,13,14,15,15,14,12,12,11,11,13,0,0,0,0,4,0,0,0,81,0,0,0,80,4,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,4,5,0,0,0,0,0,4,0,0,0,113,2,0,0,192,1,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,4,5,0,0,0,0,0,2,0,0,0,81,0,0,0,64,1,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,152,1,5,0,0,0,0,0,2,0,0,0,33,1,0,0,208,255,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,248,0,5,0,0,0,0,0,4,0,0,0,81,0,0,0,104,255,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,192,255,4,0,0,0,0,0,2,0,0,0,121,0,0,0,184,254,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,56,255,4,0,0,0,0,0,2,0,0,0,169,0,0,0,208,253,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,128,254,4,0,0,0,0,0,2,0,0,0,25,0,0,0,152,253,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,184,253,4,0,0,0,0,0,2,0,0,0,169,0,0,0,176,252,4,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,96,253,4,0,0,0,0,0,2,0,0,0,121,0,0,0,0,252,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,128,252,4,0,0,0,0,0,2,0,0,0,225,0,0,0,216,250,4,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,192,251,4,0,0,0,0,0,2,0,0,0,185,1,0,0,192,248,4,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,128,250,4,0,0,0,0,0,2,0,0,0,33,1,0,0,80,247,4,0,1,0,0,0,0,24,157,225,0,24,61,97,5,0,0,0,0,0,0,0,120,248,4,0,0,0,0,0,2,0,0,0,105,1,0,0,144,245,4,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,0,247,4,0,0,0,0,0,1,0,0,0,49,0,0,0,144,244,4,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,200,244,4,0,0,0,0,0,2,4,4,4,4,5,5,5,5,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,7,8,8,10,9,11,10,13,11,14,13,6,6,6,8,8,8,8,8,7,9,8,11,9,13,11,14,12,14,13,5,6,6,8,8,8,8,8,8,9,9,11,11,13,11,14,13,15,15,17,8,8,8,8,9,9,9,8,11,9,12,10,13,11,14,12,14,13,17,8,8,8,8,9,9,9,9,10,10,11,11,13,13,13,14,16,15,17,12,12,8,8,9,9,10,10,11,11,12,11,13,12,13,12,14,13,16,12,12,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,17,17,17,9,9,9,9,11,11,12,12,12,13,13,13,16,14,14,14,17,17,17,9,8,9,8,11,10,12,12,13,13,14,14,15,15,16,16,17,17,17,12,12,10,10,11,12,12,13,13,14,13,15,15,14,16,15,17,17,17,12,12,10,8,12,9,13,12,14,14,15,14,15,16,16,16,17,17,17,17,17,11,11,12,12,14,14,14,16,15,16,15,16,15,17,17,17,17,17,17,11,9,12,10,13,11,15,14,16,16,17,16,16,15,17,17,17,17,17,15,15,12,12,14,14,15,16,16,15,16,16,17,17,17,17,17,17,17,14,14,12,10,14,11,15,12,17,16,15,16,17,16,17,17,17,17,17,17,17,13,13,14,14,14,16,17,17,16,17,17,17,17,17,17,17,17,17,17,13,9,13,12,15,13,16,16,17,17,17,17,17,17,17,17,17,17,17,15,17,14,14,15,16,16,17,16,17,16,17,17,17,17,17,17,17,17,17,17,14,13,15,16,16,17,16,17,17],"i8",N3,x.GLOBAL_BASE+315120),E3([17,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,4,3,10,8,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,11,11,11,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,11,10,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,10,9,10,10,10,10,11,11,11,8,8,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,11,11,11,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,10,10,6,6,6,8,8,9,9,8,8,9,9,10,10,11,11,6,5,5,8,7,9,9,8,8,9,9,10,10,11,11,20,8,8,8,8,9,9,9,9,10,10,11,10,12,11,20,8,8,8,8,9,9,9,9,10,10,11,11,12,12,20,12,12,9,9,10,10,10,10,11,11,12,12,13,12,20,13,13,9,9,10,10,10,10,11,11,12,12,13,13,20,20,20,9,9,9,9,10,10,11,11,12,12,13,12,20,20,20,9,9,9,8,10,10,12,11,12,12,13,13,20,20,20,13,13,10,10,11,11,12,12,13,13,13,13,20,20,20,13,13,10,10,11,10,12,11,13,13,14,14,20,20,20,20,20,11,11,11,11,12,12,13,13,14,14,20,20,20,20,20,11,10,11,11,13,11,13,13,14,14,20,20,21,21,21,14,14,11,12,13,13,13,13,14,14,21,21,21,21,21,15,15,12,11,13,12,14,13,15,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,7,7,9,9,9,6,7,7,7,7,7,8,8,9,9,9,6,6,7,7,7,7,8,8,9,9,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,7,7,8,8,9,9,9,7,7,8,8,7,7,8,8,9,9,9,9,9,8,8,7,7,8,8,9,9,9,9,9,8,8,7,7,8,8,9,9,9,9,9,7,7,7,7,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,8,10,9,10,10,5,5,5,7,7,9,9,10,10,11,10,12,11,6,5,5,7,7,9,9,10,10,11,11,12,12,20,7,7,7,7,9,9,10,10,11,11,12,12,20,7,7,7,7,9,9,11,10,12,11,12,12,20,11,11,8,8,10,10,11,11,12,12,13,13,20,12,12,8,8,9,9,11,11,12,12,13,13,20,20,21,10,10,10,10,11,11,12,12,13,13,21,21,21,10,10,10,10,11,11,12,12,13,13,21,21,21,14,14,11,11,12,12,13,13,13,14,21,21,21,16,15,11,11,12,11,13,13,14,14,21,21,21,21,21,13,13,12,12,13,13,14,14,21,21,21,21,21,13,13,12,12,13,13,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,7,8,8,9,9,10,10,5,5,5,7,7,9,9,9,9,11,11,12,12,6,5,5,7,7,9,9,10,9,11,11,12,12,0,7,7,7,7,9,9,10,10,11,11,12,12,0,7,7,7,7,9,9,10,10,11,11,12,12,0,11,11,8,8,10,10,11,11,12,12,13,13,0,12,12,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,6,6,7,7,7,7,11,10,10,6,6,7,7,8,8,8,8,10,10,10,6,6,7,7,8,8,8,8,11,11,11,7,7,8,8,8,8,9,9,11,11,11,6,7,8,8,8,8,9,9,11,11,11,7,7,8,8,8,8,8,8,11,11,11,7,7,8,8,8,8,9,9,11,11,11,8,8,8,8,8,8,8,8,11,11,11,11,11,8,8,8,8,8,8,12,11,11,11,11,8,8,8,8,8,8,12,11,11,11,11,7,7,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,6,6,10,11,10,10,10,11,4,6,6,10,10,11,10,11,10,5,10,10,9,12,11,10,12,12,7,10,10,12,12,12,12,13,13,7,11,10,11,12,12,12,13,13,6,11,10,10,12,12,11,12,12,7,11,10,12,13,13,12,12,12,7,10,11,12,13,13,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,6,7,7,8,8,8,8,9,9,0,0,0,6,6,7,7,8,8,8,8,9,9,10,10,11,10,0,0,0,6,6,7,7,8,8,8,8,9,9,10,10,10,10,0,0,0,6,6,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,6,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,10,10,11,11,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,11,11,12,12,0,0,0,7,8,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,5,5,7,7,8,8,0,0,0,6,6,8,8,9,9,0,0,0,6,6,8,8,9,9,0,0,0,7,7,8,9,10,10,0,0,0,7,7,9,9,10,10,0,0,0,8,8,9,9,11,11,0,0,0,7,7,9,9,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,7,7,0,0,0,8,8,0,0,0,8,8,0,0,0,8,8,0,0,0,8,8,4,4,4,8,7,0,0,0,8,8,0,0,0,8,8,0,0,0,9,9,0,0,0,9,9,4,4,4,7,8,0,0,0,8,8,0,0,0,8,8,0,0,0,9,9,0,0,0,9,9,7,8,8,10,9,0,0,0,12,11,0,0,0,11,12,0,0,0,14,13,0,0,0,14,14,7,8,8,9,10,0,0,0,11,12,0,0,0,11,11,0,0,0,14,14,0,0,0,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,8,11,11,0,0,0,12,11,0,0,0,12,12,0,0,0,13,12,0,0,0,13,13,8,8,8,11,11,0,0,0,11,11,0,0,0,12,12,0,0,0,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,8,12,11,0,0,0,12,12,0,0,0,12,11,0,0,0,13,13,0,0,0,13,13,8,8,8,11,12,0,0,0,11,12,0,0,0,11,12,0,0,0,13,14,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,9,14,14,0,0,0,13,13,0,0,0,13,13,0,0,0,13,12,0,0,0,13,13,8,9,9,14,14,0,0,0,13,13,0,0,0,13,13,0,0,0,12,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,9,14,14,0,0,0,13,13,0,0,0,13,13,0,0,0,13,13,0,0,0,13,12,8,9,9,14,14,0,0,0,13,13,0,0,0,13,13,0,0,0,13,13,0,0,0,12,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,3,3,0,0,0,0,0,0,4,5,5,0,0,0,0,0,0,4,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,7,10,12,11,12,13,15,16,18,15,10,8,8,8,9,10,12,13,14,17,10,7,7,7,7,8,10,12,15,18,10,7,7,5,5,6,8,10,13,15,10,7,6,5,4,4,6,9,12,15,11,7,7,5,4,3,4,7,11,13,12,9,8,7,5,4,4,5,10,13,11,11,11,9,7,5,5,5,9,12,13,12,13,12,10,8,8,7,9,13,14,14,14,14,13,11,11,10,10,13,0,0,0,0,2,0,0,0,100,0,0,0,144,45,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,232,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,16,7,5,0,0,0,0,0,0,0,0,0,0,0,0,0,56,7,5,0,0,0,0,0,96,7,5,0,136,7,5,0,0,0,0,0,0,0,0,0,176,7,5,0,216,7,5,0,0,0,0,0,0,0,0,0,0,8,5,0,40,8,5,0,80,8,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,48,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,5,20,7,10,7,8,10,11,11,4,2,20,5,8,6,7,9,10,10,20,20,20,20,19,19,19,19,19,19,7,5,19,6,10,7,9,11,13,17,11,8,19,10,7,7,8,10,11,15,7,5,19,7,7,5,6,9,11,16,7,6,19,8,7,6,6,7,9,13,9,9,19,11,9,8,6,7,8,13,12,14,19,16,13,10,9,8,9,13,14,17,19,18,18,17,12,11,11,13,0,0,0,0,8,0,0,0,161,25,0,0,216,19,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,128,45,5,0,0,0,0,0,4,0,0,0,113,2,0,0,72,17,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,19,5,0,0,0,0,0,2,0,0,0,81,0,0,0,200,16,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,32,17,5,0,0,0,0,0,2,0,0,0,81,0,0,0,72,16,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,160,16,5,0,0,0,0,0,2,0,0,0,33,1,0,0,216,14,5,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,0,16,5,0,0,0,0,0,4,0,0,0,81,0,0,0,112,14,5,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,200,14,5,0,0,0,0,0,2,0,0,0,121,0,0,0,192,13,5,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,64,14,5,0,0,0,0,0,2,0,0,0,169,0,0,0,216,12,5,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,136,13,5,0,0,0,0,0,2,0,0,0,25,0,0,0,160,12,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,12,5,0,0,0,0,0,2,0,0,0,169,0,0,0,184,11,5,0,1,0,0,0,0,136,93,225,0,176,19,97,4,0,0,0,0,0,0,0,104,12,5,0,0,0,0,0,2,0,0,0,225,0,0,0,144,10,5,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,120,11,5,0,0,0,0,0,2,0,0,0,185,1,0,0,120,8,5,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,56,10,5,0,0,0,0,0,1,4,4,6,6,7,7,8,7,8,8,9,9,9,9,10,10,10,9,10,10,11,12,12,8,8,8,8,9,9,9,9,10,10,10,10,10,11,11,10,12,11,11,13,11,7,7,8,8,8,8,9,9,9,10,10,10,10,9,10,10,11,11,12,11,11,8,8,8,8,9,9,10,10,10,10,11,11,11,11,11,11,11,12,11,12,12,8,8,9,9,9,9,9,10,10,10,10,10,10,11,11,11,11,11,11,12,11,9,9,9,9,10,10,10,10,11,10,11,11,11,11,11,11,12,12,12,12,11,9,9,9,9,10,10,10,10,11,11,11,11,11,11,11,11,11,12,12,12,13,9,10,10,9,11,10,10,10,10,11,11,11,11,11,10,11,12,11,12,12,11,12,11,10,9,10,10,11,10,11,11,11,11,11,11,11,11,11,12,12,11,12,12,12,10,10,10,11,10,11,11,11,11,11,11,11,11,11,11,11,12,13,12,12,11,9,10,10,11,11,10,11,11,11,12,11,11,11,11,11,12,12,13,13,12,13,10,10,12,10,11,11,11,11,11,11,11,11,11,12,12,11,13,12,12,12,12,13,12,11,11,11,11,11,11,12,11,12,11,11,11,11,12,12,13,12,11,12,12,11,11,11,11,11,12,11,11,11,11,12,11,11,12,11,12,13,13,12,12,12,12,11,11,11,11,11,12,11,11,12,11,12,11,11,11,11,13,12,12,12,12,13,11,11,11,12,12,11,11,11,12,11,12,12,12,11,12,13,12,11,11,12,12,11,12,11,11,11,12,12,11,12,11,11,11,12,12,12,12,13,12,13,12,12,12,12,11,11,12,11,11,11,11,11,11,12,12,12,13,12,11,13,13,12,12,11,12,10,11,11,11,11,12,11,12,12,11,12,12,13,12,12,13,12,12,12,12,12,11,12,12,12,11,12,11,11,11,12,13,12,13,13,13,13,13,12,13,13,12,12,13,11,11,11,11,11,12,11,11,12,11,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,4,4,8,8,12,13,14,14,14,14,14,14,6,6,6,6,6,10,9,14,14,14,14,14,14,14,14,7,6,5,6,6,10,9,12,13,13,13,13,13,13,13,13,7,7,9,9,11,11,12,13,13,13,13,13,13,13,13,7,7,8,8,11,12,13,13,13,13,13,13,13,13,13,12,12,10,10,13,12,13,13,13,13,13,13,13,13,13,12,12,10,10,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,6,5,5,7,8,8,9,8,8,9,9,10,11,6,5,5,8,8,9,9,8,8,9,10,10,11,0,8,8,8,9,9,9,9,9,10,10,11,11,0,9,9,9,8,9,9,9,9,10,10,11,11,0,13,13,9,9,10,10,10,10,11,11,12,12,0,14,13,9,9,10,10,10,10,11,11,12,12,0,0,0,10,10,9,9,11,11,12,12,13,12,0,0,0,10,10,9,9,10,10,12,12,13,13,0,0,0,13,14,11,10,11,11,12,12,13,14,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,12,12,12,12,13,13,14,15,0,0,0,0,0,12,12,12,12,13,13,14,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,6,7,7,7,7,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,9,9,10,10,10,10,10,8,8,8,8,9,9,10,10,10,10,10,9,9,8,8,9,9,10,10,10,10,10,8,8,8,8,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,6,7,6,6,4,7,7,10,9,10,10,10,9,4,7,7,10,10,10,11,10,10,6,10,10,11,11,11,11,10,10,6,10,9,11,11,11,11,10,10,6,10,10,11,11,11,11,10,10,7,11,11,11,11,11,12,12,11,6,10,10,11,10,10,11,11,11,6,10,10,10,11,10,11,11,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,6,6,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,9,10,9,10,10,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,11,12,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,10,10,11,10,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,5,5,6,6,8,8,0,0,0,7,7,7,7,9,9,0,0,0,7,7,7,7,9,9,0,0,0,8,8,8,8,9,9,0,0,0,8,8,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,10,10,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,2,3,7,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,8,9,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,9,11,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,11,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,8,9,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,9,11,9],"i8",N3,x.GLOBAL_BASE+325360),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,6,17,8,12,9,10,10,12,13,5,2,17,4,9,5,7,8,11,13,16,16,16,16,16,16,16,16,16,16,6,4,16,5,10,5,7,10,14,16,13,9,16,11,8,7,8,9,13,16,7,4,16,5,7,4,6,8,11,13,8,6,16,7,8,5,5,7,9,13,9,8,16,9,8,6,6,7,9,13,11,11,16,10,10,7,7,7,9,13,13,13,16,13,13,9,9,9,10,13,0,0,0,0,2,0,0,0,100,0,0,0,88,85,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,46,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,47,5,0,0,0,0,0,0,0,0,0,0,0,0,0,48,47,5,0,0,0,0,0,0,0,0,0,0,0,0,0,88,47,5,0,0,0,0,0,0,0,0,0,0,0,0,0,128,47,5,0,0,0,0,0,168,47,5,0,208,47,5,0,0,0,0,0,0,0,0,0,248,47,5,0,32,48,5,0,0,0,0,0,0,0,0,0,72,48,5,0,112,48,5,0,152,48,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,160,59,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,72,85,5,0,0,0,0,0,4,0,0,0,113,2,0,0,16,57,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,59,5,0,0,0,0,0,2,0,0,0,81,0,0,0,144,56,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,232,56,5,0,0,0,0,0,2,0,0,0,81,0,0,0,16,56,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,104,56,5,0,0,0,0,0,2,0,0,0,33,1,0,0,160,54,5,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,200,55,5,0,0,0,0,0,4,0,0,0,81,0,0,0,56,54,5,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,144,54,5,0,0,0,0,0,2,0,0,0,121,0,0,0,136,53,5,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,8,54,5,0,0,0,0,0,2,0,0,0,169,0,0,0,160,52,5,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,80,53,5,0,0,0,0,0,2,0,0,0,25,0,0,0,104,52,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,52,5,0,0,0,0,0,4,0,0,0,81,0,0,0,0,52,5,0,1,0,0,0,0,176,19,225,0,176,19,97,2,0,0,0,0,0,0,0,88,52,5,0,0,0,0,0,2,0,0,0,225,0,0,0,216,50,5,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,192,51,5,0,0,0,0,0,2,0,0,0,185,1,0,0,192,48,5,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,128,50,5,0,0,0,0,0,1,5,5,7,8,8,7,9,9,9,12,12,11,12,12,10,10,11,12,12,12,11,12,12,8,9,8,7,9,10,10,11,11,10,11,12,10,12,10,12,12,12,11,12,11,9,8,8,9,10,9,8,9,10,12,12,11,11,12,11,10,11,12,11,12,12,8,9,9,9,10,11,12,11,12,11,11,11,11,12,12,11,11,12,12,11,11,9,9,8,9,9,11,9,9,10,9,11,11,11,11,12,11,11,10,12,12,12,9,12,11,10,11,11,11,11,12,12,12,11,11,11,12,10,12,12,12,10,10,9,10,9,10,10,9,9,9,10,10,12,10,11,11,9,11,11,10,11,11,11,10,10,10,9,9,10,10,9,9,10,11,11,10,11,10,11,10,11,11,10,11,11,11,10,9,10,10,9,10,9,9,11,9,9,11,10,10,11,11,10,10,11,10,11,8,9,11,11,10,9,10,11,11,10,11,11,10,10,10,11,10,9,10,10,11,9,10,10,9,11,10,10,10,10,11,10,11,11,9,11,10,11,10,10,11,11,10,10,10,9,10,10,11,11,11,9,10,10,10,10,10,11,10,10,10,9,10,10,11,10,10,10,10,10,9,10,11,10,10,10,10,11,11,11,10,10,10,10,10,11,10,11,10,11,10,10,10,9,11,11,10,10,10,11,11,10,10,10,10,10,10,10,10,11,11,9,10,10,10,11,10,11,10,10,10,11,9,10,11,10,11,10,10,9,10,10,10,11,10,11,10,10,10,10,10,11,11,10,11,11,10,10,11,11,10,9,9,10,10,10,10,10,9,11,9,10,10,10,11,11,10,10,10,10,11,11,11,10,9,9,10,10,11,10,10,10,10,10,11,11,11,10,10,10,11,11,11,9,10,10,10,10,9,10,9,10,11,10,11,10,10,11,11,10,11,11,11,11,11,10,11,10,10,10,9,11,11,10,11,11,11,11,11,11,11,11,11,10,11,10,10,10,10,11,10,10,11,9,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,5,5,5,5,9,11,11,10,10,10,10,10,10,10,7,6,6,6,6,10,10,10,10,10,10,10,10,10,10,7,6,6,6,6,10,9,10,10,10,10,10,10,10,10,10,7,7,8,9,10,10,10,10,10,10,10,10,10,10,10,8,7,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,5,5,7,7,7,6,6,7,7,7,5,5,7,7,7,6,6,7,7,7,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,6,8,8,10,10,6,5,6,8,8,8,8,8,8,8,9,10,10,7,6,6,8,8,8,8,8,8,8,8,10,10,0,8,8,8,8,9,8,9,9,9,10,10,10,0,9,8,8,8,9,9,8,8,9,9,10,10,0,12,11,8,8,9,9,9,9,10,10,11,10,0,12,13,8,8,9,10,9,9,11,11,11,12,0,0,0,8,8,8,8,10,9,12,13,12,14,0,0,0,8,8,8,9,10,10,12,12,13,14,0,0,0,13,13,9,9,11,11,0,0,14,0,0,0,0,14,14,10,10,12,11,12,14,14,14,0,0,0,0,0,11,11,13,13,14,13,14,14,0,0,0,0,0,12,13,13,12,13,14,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,4,6,6,7,7,8,8,8,8,10,10,10,7,7,8,8,8,9,9,9,10,10,10,6,7,8,8,8,8,9,8,10,10,10,7,7,8,8,9,9,9,9,10,10,10,7,7,8,8,9,9,8,9,10,10,10,8,8,9,9,9,9,9,9,11,11,11,8,8,9,9,9,9,9,10,10,11,11,9,9,9,9,9,9,9,10,11,11,11,10,11,9,9,9,9,10,9,11,11,11,10,11,10,10,9,9,10,10,11,11,11,11,11,9,9,9,9,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,6,7,6,6,4,7,7,11,10,10,11,11,10,4,7,7,10,10,10,11,10,10,6,10,10,11,11,11,11,11,10,6,9,9,11,12,12,11,9,9,6,9,10,11,12,12,11,9,10,7,11,11,11,11,11,12,13,12,6,9,10,11,10,10,12,13,13,6,10,9,11,10,10,11,12,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,4,6,6,7,7,8,8,8,8,9,9,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,11,11,11,0,0,0,6,6,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,13,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,10,10,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,13,13,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,13,13,13,14,0,0,0,0,0,10,10,10,11,11,11,12,12,13,13,13,14,0,0,0,0,0,0,0,10,10,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,12,13,13,14,15,14,0,0,0,0,0,0,0,12,12,12,12,13,13,13,14,14,15,0,0,0,0,0,0,0,0,0,12,12,13,13,14,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,6,6,8,8,0,0,0,7,7,7,7,8,8,0,0,0,7,7,7,7,8,8,0,0,0,7,7,8,8,9,9,0,0,0,7,7,8,8,9,9,0,0,0,8,9,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,10,10,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,2,7,8,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,6,6,7,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,6,6,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,9,9,12,0,0,0,0,0,0,10,12,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,9,12,10,0,0,0,0,0,0,10,11,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,10,12,11,0,0,0,0,0,0,9,10,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,10,11,12,0,0,0,0,0,0,9,12,9],"i8",N3,x.GLOBAL_BASE+339320),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,19,7,9,7,8,11,9,12,4,1,19,6,7,7,8,10,11,13,18,18,18,18,18,18,18,18,18,18,8,6,18,8,9,9,11,12,14,18,9,6,18,9,7,8,9,11,12,18,7,6,18,8,7,7,7,9,11,17,8,8,18,9,7,6,6,8,11,17,10,10,18,12,9,8,7,9,12,18,13,15,18,15,13,11,10,11,15,18,14,18,18,18,18,18,16,16,18,18,0,0,0,0,0,0,0,0,0,64,207,64,0,0,0,0,0,88,219,64,0,0,0,0,0,106,232,64,0,0,0,0,0,249,245,64,0,0,0,0,0,0,35,64,0,0,0,0,0,0,38,64,0,0,0,0,0,0,62,64,0,0,0,0,0,192,88,64,0,0,0,0,0,76,205,64,0,0,0,0,0,136,211,64,0,0,0,0,0,124,229,64,0,0,0,0,0,255,244,64,0,0,0,0,0,76,221,64,0,0,0,0,0,130,228,64,0,0,0,0,0,100,233,64,0,0,0,0,0,64,239,64,0,0,0,0,0,148,241,64,0,0,0,0,0,11,243,64,0,0,0,0,0,255,244,64,0,0,0,0,0,118,246,64,0,0,0,0,0,219,250,64,0,0,0,0,0,76,253,64,0,0,0,0,0,23,1,65,0,0,0,0,128,49,7,65,154,153,153,153,153,153,40,64,0,0,0,0,0,0,42,64,0,0,0,0,0,0,42,64,0,0,0,0,0,0,44,64,0,0,0,0,0,0,46,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,148,209,64,0,0,0,0,0,88,219,64,0,0,0,0,0,23,225,64,0,0,0,0,0,249,229,64,0,0,0,0,0,88,235,64,0,0,0,0,0,76,237,64,0,0,0,0,128,79,242,64,0,0,0,0,0,249,245,64,0,0,0,0,0,106,248,64,0,0,0,0,128,19,252,64,0,0,0,0,128,79,2,65,0,0,0,0,128,49,7,65,0,0,0,0,0,64,223,64,0,0,0,0,0,112,231,64,0,0,0,0,0,76,237,64,0,0,0,0,0,23,241,64,0,0,0,0,0,136,243,64,0,0,0,0,0,255,244,64,0,0,0,0,0,112,247,64,0,0,0,0,0,219,250,64,0,0,0,0,0,76,253,64,0,0,0,0,0,23,1,65,0,0,0,0,0,136,3,65,0,0,0,0,8,76,13,65,0,0,0,0,0,88,203,64,0,0,0,0,0,136,211,64,0,0,0,0,0,88,219,64,0,0,0,0,0,142,226,64,0,0,0,0,0,118,230,64,0,0,0,0,0,94,234,64,0,0,0,0,128,79,242,64,0,0,0,0,0,112,247,64,0,0,0,0,0,76,253,64,0,0,0,0,0,23,1,65,0,0,0,0,0,249,5,65,0,0,0,0,8,76,13,65,88,88,5,0,104,113,5,0,88,88,5,0,200,113,5,0,88,88,5,0,40,114,5,0,88,88,5,0,136,114,5,0,88,88,5,0,232,114,5,0,88,88,5,0,72,115,5,0,168,115,5,0,184,140,5,0,168,115,5,0,24,141,5,0,168,115,5,0,120,141,5,0,168,115,5,0,216,141,5,0,168,115,5,0,56,142,5,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,30,0,0,0,208,111,7,0,24,201,7,0,24,201,7,0,64,201,7,0,64,201,7,0,2,0,0,0,0,0,0,0,30,0,0,0,208,111,7,0,0,202,7,0,0,202,7,0,64,201,7,0,64,201,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,40,202,7,0,40,202,7,0,80,202,7,0,80,202,7,0,2,0,0,0,0,0,0,0,15,0,0,0,208,111,7,0,0,162,7,0,0,162,7,0,40,162,7,0,40,162,7,0,2,0,0,0,0,0,0,0,30,0,0,0,208,111,7,0,232,162,7,0,232,162,7,0,40,162,7,0,40,162,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,16,163,7,0,16,163,7,0,56,163,7,0,56,163,7,0,2,0,0,0,0,0,0,0,15,0,0,0,208,111,7,0,232,122,7,0,232,122,7,0,16,123,7,0,16,123,7,0,2,0,0,0,0,0,0,0,30,0,0,0,208,111,7,0,208,123,7,0,208,123,7,0,16,123,7,0,16,123,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,248,123,7,0,248,123,7,0,32,124,7,0,32,124,7,0,2,0,0,0,0,0,0,0,15,0,0,0,72,198,6,0,0,59,7,0,0,59,7,0,40,59,7,0,40,59,7,0,2,0,0,0,0,0,0,0,30,0,0,0,72,198,6,0,232,59,7,0,232,59,7,0,40,59,7,0,40,59,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,16,60,7,0,16,60,7,0,56,60,7,0,56,60,7,0,2,0,0,0,0,0,0,0,15,0,0,0,72,198,6,0,48,6,7,0,48,6,7,0,88,6,7,0,88,6,7,0,2,0,0,0,0,0,0,0,30,0,0,0,72,198,6,0,24,7,7,0,24,7,7,0,88,6,7,0,88,6,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,64,7,7,0,64,7,7,0,104,7,7,0,104,7,7,0,2,0,0,0,0,0,0,0,15,0,0,0,72,198,6,0,96,209,6,0,96,209,6,0,136,209,6,0,136,209,6,0,2,0,0,0,0,0,0,0,30,0,0,0,72,198,6,0,72,210,6,0,72,210,6,0,136,209,6,0,136,209,6,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,112,210,6,0,112,210,6,0,152,210,6,0,152,210,6,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2],"i8",N3,x.GLOBAL_BASE+349504),E3([2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2],"i8",N3,x.GLOBAL_BASE+360488),E3([2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,120,145,6,0,120,145,6,0,160,145,6,0,160,145,6,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,96,146,6,0,96,146,6,0,160,145,6,0,160,145,6,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,136,146,6,0,136,146,6,0,176,146,6,0,176,146,6,0,2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,176,96,6,0,176,96,6,0,216,96,6,0,216,96,6,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,152,97,6,0,152,97,6,0,216,96,6,0,216,96,6,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,216,165,5,0,216,165,5,0,0,166,5,0,0,166,5,0,2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,136,46,6,0,136,46,6,0,176,46,6,0,176,46,6,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,112,47,6,0,112,47,6,0,176,46,6,0,176,46,6,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,216,165,5,0,216,165,5,0,0,166,5,0,0,166,5,0,2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,24,241,5,0,24,241,5,0,64,241,5,0,64,241,5,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,0,242,5,0,0,242,5,0,64,241,5,0,64,241,5,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,216,165,5,0,216,165,5,0,0,166,5,0,0,166,5,0,2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,176,153,5,0,176,153,5,0,216,153,5,0,216,153,5,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,152,154,5,0,152,154,5,0,216,153,5,0,216,153,5,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,216,165,5,0,216,165,5,0,0,166,5,0,0,166,5,0,0,0,0,0,255,255,255,255,255,255,255,255,8,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,x.GLOBAL_BASE+363696),E3([1,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,16,241,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,169,5,0,0,0,0,0,0,0,0,0,16,170,5,0,0,0,0,0,0,0,0,0,56,170,5,0,96,170,5,0,0,0,0,0,0,0,0,0,136,170,5,0,176,170,5,0,0,0,0,0,0,0,0,0,216,170,5,0,0,171,5,0,0,0,0,0,0,0,0,0,40,171,5,0,80,171,5,0,0,171,5,0,0,0,0,0,120,171,5,0,160,171,5,0,200,171,5,0,240,171,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,224,169,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,2,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,x.GLOBAL_BASE+366508),E3([32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,216,169,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,166,5,0,232,166,5,0,0,0,0,0,0,0,0,0,16,167,5,0,56,167,5,0,96,167,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,240,168,5,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,160,169,5,0,0,0,0,0,2,0,0,0,25,0,0,0,184,168,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,168,5,0,0,0,0,0,2,0,0,0,9,0,0,0,152,168,5,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,168,168,5,0,0,0,0,0,1,0,0,0,25,0,0,0,16,168,5,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,48,168,5,0,0,0,0,0,1,0,0,0,25,0,0,0,136,167,5,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,168,167,5,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,2,3,4,5,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,5,6,6,6,6,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,4,4,5,5,4,5,5,5,5,4,5,5,5,5,5,5,5,4,5,5,5,5,5,4,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,10,10,12,12,12,12,13,12,5,5,5,8,6,11,9,12,12,13,12,12,12,4,5,5,6,8,9,11,12,12,13,12,12,12,7,7,8,9,9,11,8,12,9,12,12,12,12,7,8,8,9,9,8,11,9,12,12,12,11,12,10,10,10,11,11,11,11,11,10,11,11,12,11,10,10,10,11,11,11,11,10,11,11,11,11,12,11,11,11,12,11,12,11,12,11,13,11,13,11,11,11,11,11,12,11,12,10,13,11,12,11,13,12,12,12,13,12,13,13,13,12,14,12,14,13,12,12,12,12,13,13,13,12,14,12,14,13,14,13,14,14,14,14,14,14,14,14,15,14,15,14,13,14,13,14,14,14,14,14,15,14,14,14,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,1,3,0,0,0,0,3,3,3,3,3,3,3,3,5,0,0,0,243,0,0,0,8,240,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,0,241,5,0,0,0,0,0,5,0,0,0,53,12,0,0,184,227,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,240,239,5,0,0,0,0,0,5,0,0,0,243,0,0,0,176,226,5,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,168,227,5,0,0,0,0,0,5,0,0,0,243,0,0,0,168,225,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,160,226,5,0,0,0,0,0,5,0,0,0,243,0,0,0,160,224,5,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,152,225,5,0,0,0,0,0,5,0,0,0,53,12,0,0,80,212,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,224,5,0,0,0,0,0,5,0,0,0,53,12,0,0,0,200,5,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,56,212,5,0,0,0,0,0,1,0,0,0,7,0,0,0,216,199,5,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,224,199,5,0,0,0,0,0,5,0,0,0,243,0,0,0,208,198,5,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,200,199,5,0,0,0,0,0,5,0,0,0,243,0,0,0,200,197,5,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,192,198,5,0,0,0,0,0,5,0,0,0,53,12,0,0,120,185,5,0,1,0,0,0,0,106,152,225,0,106,120,97,3,0,0,0,0,0,0,0,176,197,5,0,0,0,0,0,5,0,0,0,53,12,0,0,40,173,5,0,1,0,0,0,0,136,83,225,0,136,51,97,3,0,0,0,0,0,0,0,96,185,5,0,0,0,0,0,1,0,0,0,25,0,0,0,160,172,5,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,192,172,5,0,0,0,0,0,1,0,0,0,25,0,0,0,24,172,5,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,56,172,5,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,10,10,10,11,11,11,12,12,12,13,13,13,13,13,13,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,16,16,4,9,11,15,16,4,12,8,16,16,12,16,16,16,16,13,16,16,16,16,5,8,10,16,16,9,9,14,15,16,12,14,14,16,16,16,16,16,16,16,16,16,16,16,16,5,11,8,16,15,12,14,16,16,16,9,15,9,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,6,11,11,16,16,12,13,16,16,16,12,16,14,16,16,16,16,16,16,16,16,16,16,16,16,11,15,15,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,15,16,16,16,16,16,16,16,16,14,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,5,11,11,16,16,12,15,16,16,16,12,16,14,16,16,16,16,16,16,16,16,16,16,16,16,12,15,15,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,11,15,15,16,16,16,16,16,16,16,15,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,6,11,12,16,16,11,15,16,16,16,13,16,14,16,16,16,16,16,16,16,16,16,16,16,16,11,16,14,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,14,14,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,8,13,15,16,16,15,15,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,7,12,12,16,16,13,12,16,16,16,14,16,14,16,16,16,16,16,16,16,16,16,16,16,16,13,16,16,16,16,14,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,14,16,16,16,16,16,16,16,16,14,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,6,11,11,16,16,13,15,16,16,16,11,15,14,16,16,16,16,16,16,16,14,16,16,16,16,11,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,11,16,14,16,16,14,16,16,16,16,13,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,7,11,11,16,16,13,13,16,16,16,13,16,13,16,16,16,16,16,16,16,16,16,16,16,16,12,16,15,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,14,16,16,16,16,16,16,16,16,14,16,13,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,8,13,14,16,16,15,16,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,15,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,6,7,7,7,7,7,7,7,7,7,7,8,7,8,8,7,8,8,7,8,7,7,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,8,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,5,5,7,7,5,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,5,7,8,8,9,10,8,9,10,8,9,10,10,10,12,10,11,11,8,10,10,10,11,12,10,11,10,5,8,7,8,10,10,8,10,9,8,10,10,10,10,11,10,12,11,8,10,9,10,11,11,10,12,10,5,8,8,7,9,10,8,10,9,7,9,10,9,10,11,9,11,11,8,10,9,10,11,11,9,11,10,7,9,9,9,10,11,9,11,11,9,9,11,10,10,13,11,12,12,9,11,11,11,12,13,11,13,11,7,9,9,9,10,11,9,11,10,9,11,10,10,10,12,11,13,12,9,11,11,11,12,12,10,12,10,5,8,8,8,9,10,7,10,9,8,9,10,9,10,11,10,11,11,7,10,9,9,11,11,9,11,10,7,9,9,9,10,11,9,11,10,9,11,11,10,10,12,11,12,12,9,10,11,11,12,13,10,12,10,7,9,9,9,11,11,9,11,10,9,11,11,11,11,13,11,13,12,9,11,9,11,12,12,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,4,6,6,9,9,6,7,8,10,11,6,8,7,10,10,8,10,10,12,12,8,10,10,12,12,6,7,8,10,10,7,8,9,10,11,8,9,9,11,11,10,10,11,12,13,10,11,11,13,13,6,8,7,10,10,8,9,9,11,11,7,9,8,11,10,10,11,11,13,13,10,11,10,13,12,9,10,10,11,12,10,10,11,12,13,10,11,11,12,13,12,12,13,12,14,12,13,13,14,14,9,10,10,12,11,10,11,11,13,12,10,11,10,13,12,12,13,13,14,14,12,13,12,14,12,7,8,8,10,11,8,9,10,11,12,8,9,9,11,12,10,11,12,13,14,10,11,11,13,13,8,9,10,11,12,9,10,11,12,13,10,10,11,12,12,11,12,12,13,14,11,12,12,14,14,8,9,9,11,12,10,10,11,12,13,9,10,10,12,12,11,12,12,14,14,11,12,12,14,13,11,11,12,12,13,11,12,12,13,14,12,12,13,14,14,13,13,14,14,16,13,14,14,15,15,11,12,11,13,13,12,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,15,14,7,8,8,11,10,8,10,9,12,11,8,10,9,12,11,10,11,11,13,13,10,12,11,14,13,8,9,9,12,11,9,10,10,12,12,10,11,10,13,12,11,12,12,13,14,11,12,12,14,14,8,10,9,12,11,10,11,10,12,12,9,11,10,13,11,11,12,12,14,14,11,12,12,14,13,11,11,12,13,13,11,12,12,13,14,12,12,12,14,14,13,13,14,14,15,13,14,14,15,15,11,12,11,13,12,12,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,15,14,10,11,11,12,13,11,12,12,13,14,11,12,12,13,14,13,13,14,14,16,13,14,14,15,15,11,12,12,12,14,12,12,13,13,15,12,13,13,13,15,14,14,15,15,16,14,14,15,15,16,11,12,12,13,14,12,13,13,14,15,12,13,13,14,14,14,14,15,15,16,14,14,14,15,15,13,14,14,14,15,14,14,15,15,16,14,15,15,15,16,15,15,16,16,18,16,16,16,17,17,13,14,14,15,15,14,14,15,16,16,14,14,14,16,15,16,16,16,17,17,15,16,16,17,16,10,11,11,13,12,11,12,12,14,13,11,12,12,14,13,13,14,14,15,15,13,14,13,16,14,11,12,12,14,13,12,13,13,14,14,12,13,13,15,14,14,14,14,15,15,14,15,14,16,15,11,12,12,14,12,12,13,13,15,14,12,13,12,15,13,14,15,14,16,15,14,15,14,16,15,13,14,14,15,15,14,14,14,15,16,14,15,14,16,16,15,16,16,16,17,16,16,16,17,17,13,14,14,15,14,14,15,15,16,15,14,15,14,16,15,16,16,16,17,17,15,16,15,18,16,6,8,8,11,11,8,9,10,11,12,8,10,9,12,12,10,11,11,13,13,10,12,11,14,13,8,9,9,11,12,9,10,10,12,12,9,10,10,12,12,11,11,12,13,14,11,12,12,14,14,8,10,9,12,11,10,11,11,12,12,9,11,10,13,12,11,12,12,14,14,11,12,12,14,13,10,11,11,13,13,11,12,12,13,14,11,12,12,14,14,13,13,14,13,15,13,14,14,15,15,11,12,11,13,13,12,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,15,14,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,13,14,11,12,12,14,14,9,9,10,11,12,10,10,11,12,13,10,10,11,12,13,12,12,13,13,15,12,12,13,14,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,14,15,12,13,12,14,14,11,11,12,12,14,12,12,13,13,14,12,12,13,13,14,13,13,14,14,16,14,14,14,15,15,11,12,12,14,13,12,13,13,14,14,12,13,13,15,14,14,14,14,16,16,13,14,14,16,14,7,9,9,12,11,9,10,10,12,12,9,11,10,13,12,11,12,12,13,14,11,13,12,14,13,9,10,10,12,12,10,10,11,12,13,10,12,11,13,13,12,12,13,13,14,12,13,13,15,14,9,10,10,12,12,11,11,11,13,13,10,12,10,13,12,12,13,13,14,15,12,13,12,15,13,11,12,12,14,13,12,12,13,13,14,12,13,13,15,14,13,13,14,13,16,14,15,14,16,15,12,12,12,14,14,13,13,13,14],"i8",N3,x.GLOBAL_BASE+369616),E3([14,12,13,12,14,13,14,15,15,16,16,13,14,13,16,13,10,11,12,13,14,11,12,13,13,15,12,12,13,14,14,13,14,14,15,16,13,14,14,16,15,12,12,13,12,14,12,12,13,13,15,13,13,13,13,15,14,14,15,14,16,14,15,15,15,16,12,13,12,14,14,13,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,15,16,16,13,14,14,13,16,14,14,15,14,16,14,14,15,14,16,15,15,16,15,18,16,16,16,16,17,14,14,14,16,15,14,15,15,16,16,14,15,15,16,16,16,16,16,17,17,15,16,16,17,16,10,12,11,14,13,12,13,13,14,14,12,13,12,15,14,14,14,14,15,15,14,15,14,16,15,12,13,12,14,13,12,13,13,15,14,13,14,13,15,14,14,15,15,16,16,14,15,15,17,15,12,13,12,14,14,13,14,14,15,15,13,14,13,15,14,15,15,15,16,16,14,15,15,17,15,14,14,14,16,15,14,15,15,16,16,14,15,15,16,15,16,16,16,16,17,16,17,16,18,17,14,14,14,16,15,15,15,15,16,16,14,15,14,16,15,16,16,17,17,17,15,16,15,17,16,6,8,8,11,11,8,9,10,12,12,8,10,9,12,11,10,11,12,13,13,10,11,11,13,13,8,9,10,11,12,9,10,11,12,13,10,11,11,12,12,11,12,12,13,14,11,12,12,14,14,8,9,9,12,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,14,11,12,11,14,13,11,11,12,13,13,11,12,12,13,14,12,12,12,14,14,13,13,14,14,15,13,14,14,15,15,10,11,11,13,13,11,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,15,13,7,9,9,11,12,9,10,11,12,13,9,10,10,12,12,11,12,13,13,14,11,12,12,14,14,9,10,10,12,12,10,10,11,12,13,11,12,11,13,13,12,12,13,13,15,12,13,13,15,14,9,10,10,12,12,10,11,12,13,13,10,11,10,13,12,12,13,13,14,15,12,13,12,14,13,12,12,12,14,14,12,12,13,13,14,13,13,13,15,14,14,13,14,13,16,14,15,15,16,16,11,12,12,13,14,12,13,13,14,15,12,13,12,14,13,14,14,15,15,16,13,14,13,15,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,14,11,12,11,14,13,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,12,13,14,15,12,13,13,15,14,9,10,9,12,11,10,11,10,13,12,10,11,10,13,12,12,13,12,14,14,12,13,12,15,13,11,12,12,13,14,12,13,13,14,14,12,13,13,14,14,14,14,14,14,16,14,14,14,16,15,11,12,11,14,12,12,13,12,15,13,12,13,12,15,13,14,14,14,16,15,13,14,13,16,14,10,11,12,13,14,12,12,13,13,15,12,13,13,14,14,14,14,15,15,16,14,14,14,15,16,12,12,13,14,14,12,13,14,14,15,13,14,14,15,15,14,15,15,15,17,15,15,15,16,16,12,12,13,13,14,13,13,14,14,15,12,13,13,14,15,15,15,15,15,17,14,15,15,15,15,14,14,14,16,16,14,15,15,15,16,15,15,15,16,16,16,15,16,16,18,16,16,17,17,17,14,14,14,15,16,15,15,15,16,17,14,15,14,16,16,16,16,17,17,18,16,16,15,17,16,10,12,11,14,13,12,12,12,14,14,11,13,12,14,13,13,14,14,15,15,13,14,13,16,15,12,12,13,14,14,12,13,13,15,15,13,13,13,15,15,14,15,15,16,16,14,15,15,17,16,12,13,12,14,12,13,13,13,15,13,12,13,12,15,13,14,15,15,16,15,14,15,14,16,14,14,14,14,16,16,14,15,15,16,16,14,15,15,16,16,15,16,16,16,17,16,17,16,18,17,13,14,14,16,13,14,15,15,16,14,14,15,14,16,14,16,16,16,17,16,15,16,15,18,15,9,11,11,13,13,11,12,12,14,14,11,12,12,14,14,13,14,14,15,15,13,14,14,15,15,11,12,12,14,14,11,12,13,14,15,12,13,13,15,14,13,14,14,15,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,14,14,14,14,16,16,14,15,14,16,15,12,13,13,14,15,12,13,14,15,16,13,14,14,16,16,14,14,15,16,17,15,15,15,17,17,13,14,14,15,15,14,15,14,16,16,14,15,14,16,15,15,16,16,17,17,15,16,15,17,16,10,12,12,13,14,11,12,13,14,14,12,13,12,14,14,13,14,14,15,16,13,14,14,16,15,11,12,12,14,14,12,12,13,14,15,12,13,13,15,15,13,13,15,15,17,14,14,15,16,16,12,13,12,14,14,12,13,13,15,15,12,13,13,15,14,14,15,15,16,16,14,15,14,16,16,13,12,14,13,16,13,13,15,14,16,14,13,15,15,16,14,14,16,15,17,15,15,16,16,17,13,14,14,16,15,14,15,15,16,16,14,15,14,16,15,16,16,16,17,17,15,16,16,18,16,10,12,12,14,14,12,12,13,14,14,12,13,12,15,14,13,14,14,15,16,14,15,14,16,15,11,12,12,14,14,12,13,13,14,15,13,14,13,15,15,14,14,15,15,16,14,15,15,17,16,12,13,13,14,14,13,13,14,15,15,12,14,13,15,15,14,15,15,16,16,14,15,15,17,15,13,14,13,15,15,13,14,14,15,16,14,15,14,17,16,15,15,15,15,17,16,16,16,18,17,14,14,14,16,16,15,15,15,16,16,14,15,14,16,16,16,16,17,17,17,16,16,16,17,16,11,12,13,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,15,17,16,12,13,13,14,15,13,13,14,14,16,13,14,14,15,16,15,14,16,15,17,15,15,16,16,17,12,13,13,15,15,13,14,14,16,16,13,14,14,16,15,15,15,16,17,17,15,16,15,17,16,14,14,15,13,16,15,14,16,14,17,15,15,16,14,17,16,15,17,15,18,16,16,17,16,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,16,17,17,18,18,16,17,15,18,16,11,12,12,14,14,13,13,14,14,15,13,14,13,16,14,15,15,15,16,16,15,16,15,17,16,12,13,13,15,14,13,13,14,15,15,14,15,14,16,15,15,15,16,15,16,16,16,16,18,16,12,13,13,15,15,14,14,15,15,16,13,14,13,16,15,16,16,16,17,17,15,16,15,17,15,14,15,14,16,15,14,15,15,16,16,15,16,15,17,16,16,15,16,15,17,17,18,17,18,17,15,15,15,16,16,16,16,16,17,17,14,15,15,17,16,17,17,18,18,18,16,17,15,18,15,9,11,11,13,13,11,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,15,15,11,12,12,14,14,12,13,13,14,15,12,13,13,14,14,14,14,15,15,16,14,14,14,16,16,11,12,12,14,14,12,13,13,14,15,11,13,12,14,14,13,14,14,16,16,13,14,14,16,15,13,14,14,15,15,14,14,15,15,16,14,15,14,16,16,15,15,16,16,17,15,16,16,17,17,12,13,13,15,15,13,14,14,16,15,12,14,13,16,15,15,16,15,17,17,14,15,15,17,15,10,12,12,14,14,12,12,13,14,15,12,13,12,14,14,14,14,15,15,16,13,14,14,16,16,12,13,13,14,14,13,13,14,14,15,13,14,13,15,15,14,15,15,15,17,14,15,15,16,16,11,12,12,14,14,13,13,14,15,15,12,13,13,15,14,14,15,15,16,17,14,15,14,16,15,14,14,14,16,16,14,15,15,16,16,15,15,15,16,16,15,16,16,16,18,16,17,16,18,17,13,13,14,15,15,14,14,15,16,16,13,14,14,16,15,16,16,17,17,17,15,15,15,17,15,10,12,12,14,13,12,12,13,14,14,11,13,12,14,14,13,14,14,16,16,13,14,14,16,15,12,12,13,14,14,12,13,13,14,15,13,13,13,15,15,14,14,15,16,16,14,15,15,16,16,11,12,12,14,14,12,13,13,15,15,12,13,12,15,14,14,15,14,16,16,13,15,13,16,15,13,14,14,15,16,14,15,15,15,17,14,15,15,16,16,16,15,16,16,17,16,16,16,17,17,13,14,12,16,13,14,15,13,16,15,13,15,13,16,14,15,16,15,17,16,15,16,14,17,15,11,12,12,14,15,13,13,14,14,16,13,14,13,15,14,15,15,16,16,17,15,15,15,16,16,12,13,13,15,15,13,13,14,15,16,14,15,14,16,15,15,15,16,15,17,16,16,16,17,17,12,13,13,14,15,14,14,15,15,16,13,14,13,15,15,16,16,16,17,17,15,16,15,16,15,15,15,15,16,16,14,15,15,16,17,16,16,16,17,17,16,15,17,15,18,17,18,17,18,18,14,14,15,15,17,15,15,16,16,17,14,15,15,16,16,17,17,17,17,18,16,16,15,17,15,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,14,17,16,13,13,13,15,15,13,14,14,15,16,13,14,14,16,16,15,15,16,16,17,15,16,16,17,17,12,13,13,15,14,13,14,14,16,15,13,14,13,16,14,15,16,16,17,16,15,16,14,17,15,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,15,17,16,18,16,17,17,18,18,14,15,14,16,13,15,16,15,17,14,15,16,14,17,14,16,17,16,18,16,16,17,15,18,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,6,8,8,10,9,8,9,9,10,10,8,9,9,10,10,8,10,10,10,10,8,10,10,10,10,9,9,9,10,10,9,10,10,10,11,9,10,10,11,11,10,10,10,11,11,10,10,10,11,11,9,9,9,10,10,9,10,10,11,11,9,10,10,11,10,10,10,10,11,11,10,10,10,11,11,10,10,10,10,11,10,10,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,11,10,10,11,11,11,11,10,11,10,11,11,11,11,11,11,11,10,11,11,11,11,9,10,10,10,11,10,10,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,10,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,12,12,12,11,11,11,12,12,10,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,9,10,10,11,10,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,12,12,12,11,11,11,12,12,10,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,11,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,7,10,10,11,11,10,10,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,10,10,11,11,10,11,11,11,11,11,11,11,11,12,11,11,11,12,12,11,11,11,12,12,10,11,11,11,11,11,11,11,12,11,11,11,11,12,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,11,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,12,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,10,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,11,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,7,10,10,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,12,12,12,11,11,11,12,12,10,10,10,11,11,11,11,11,12,11,10,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,11,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,10,10,10,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,11,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,13,12,13,12,12,13,13,13,13,12,13,13,13,13,8,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,8,11,11,11,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,13,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,13,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,4,7,7,4,7,6,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,6,7,8,8,9,10,8,10,10,8,9,10,10,11,12,10,11,12,8,10,10,10,11,12,10,12,11,6,8,7,8,10,10,8,10,9,8,10,10,10,11,12,10,12,12,8,10,9,10,12,11,10,12,11,5,8,8,8,10,10,8,10,10,7,9,10,9,10,11,10,11,11,8,10,10,10,12,12,10,12,11,7,9,9,9,11,11,9,11,11,9,10,11,11,11,12,11,12,12,9,11,11,11,12,12,11,12,12,7,9,9,10,11,12,10,12,11,9,11,10,11,11,12,12,13,13,9,11,11,12,13,13,11,13,11,5,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,12,7,9,9,9,11,11,9,11,10,7,9,9,10,11,12,10,12,11,9,11,11,11,11,13,12,13,13,9,10,11,12,13,13,11,12,11,7,9,9,9,11,11,9,11,11,9,11,11,11,12,12,11,12,12,9,11,10,11,12,12,10,12,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,6,7,7,6,7,7,6,7,7,7,7,8,7,7,8,6,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,5,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,8,8,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,7,8,8,8,9,9,8,9,9,8,9,8,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,6,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,7,8,8,8,9,9,8,9,9,8,8,9,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,8,8,8,8,9,9,8,9,9,8,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,4,4,7,7,4,7,6,5,6,7,7,8,9,7,9,9,5,7,6,7,9,9,7,9,8,6,8,8,8,10,10,8,10,10,8,9,10,10,11,12,10,12,12,8,10,10,10,12,12,10,12,11,6,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,12,8,10,9,10,12,11,10,12,11,5,8,8,8,10,10,8,10,10,8,9,10,10,11,11,10,11,11,8,10,10,10,11,12,10,12,11,8,10,10,10,11,11,10,11,11,10,11,11,11,12,13,11,12,13,10,11,11,11,13,13,11,13,13,7,9,9,10,11,12,10,12,11,9,11,11,11,12,13,12,14,13,9,11,11,12,13,14,11,13,12,5,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,12,8,10,9,10,12,11,9,11,11,7,9,9,10,11,12,10,12,11,9,11,11,11,12,13,12,14,13,9,11,11,12,13,14,11,13,12,8,10,10,10,11,11,10,11,11,10,11,11,11,13,13,11,13,13,10,11,10,11,13,12,11,13,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,8,8,5,7,7,9,9,5,7,7,9,9,6,8,8,11,11,6,8,8,11,11,6,7,7,9,9,7,8,9,10,11,7,9,9,11,10,8,9,10,12,12,8,10,10,12,12,6,7,7,9,9,7,9,9,10,10,7,9,8,11,10,8,10,10,12,12,8,10,9,12,12,8,9,9,11,11,9,10,10,12,12,9,11,11,12,13,11,12,12,13,14,11,12,12,14,14,8,9,9,11,11,9,11,10,13,12,9,10,10,13,12,11,12,12,14,14,11,12,12,14,13,7,8,9,10,10,8,10,10,11,11,8,10,10,11,11,10,11,11,13,13,10,11,11,13,13,8,9,10,10,11,10,11,11,12,13,10,11,11,12,12,11,11,12,13,14,11,12,12,14,14,8,10,10,11,11,10,11,11,12,13,10,11,11,12,12,11,12,12,14,14,11,12,12,14,14,10,11,11,12,13,11,12,12,13,14,12,13,13,14,14,13,13,14,14,16,13,14,14,15,16,10,11,11,13,13,12,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,16,15,7,8,8,10,10,8,10,10,11,11,8,10,10,12,11,10,11,11,13,13,10,11,11,13,13,8,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,14,14,11,12,12,14,14,8,10,9,11,10,10,11,11,13,12,10,11,10,13,12,11,12,12,14,14,11,12,11,14,13,10,11,11,13,13,11,12,12,14,14,12,12,12,14,14,13,14,14,15,16,13,14,14,15,15,10,11,11,13,12,12,12,12,14,14,11,12,12,14,13,13,14,14,16,15,13,14,13,16,14,10,11,11,13,13,12,12,13,14,15,12,13,13,14,15,13,14,15,15,16,13,14,14,16,16,11,12,13,14,14,13,13,14,15,16,13,14,14,15,16,14,15,15,16,17,14,15,16,17,17,11,12,12,14,14,13,14,14,15,16,13,14,14,15,15,14,15,15,16,18,14,15,15,17,16,13,14,15,15,16,15,15,16,16,18,15,15,15,17,17,16,16,17,17,18,16,16,16,18,18,14,14,14,16,16,15,15,15,16,17,15,15,15,16,17,16,17,17,18,18,16,16,17,18,17,10,11,11,14,13,12,13,13,15,14,11,13,13,15,14,13,15,15,16,16,13,14,14,16,16,11,12,12,14,14,13,13,13,15,15,13,14,13,15,15,15,15,15,17,16,14,15,15,17,16,11,13,12,14,14,13,14,13,15,15,13,14,13,15,15,14,15,15,17,17,14,15,15,17,16,14,14,14,16,16,14,15,15,17,17,15,15,16,17,16,17,16,17,18,18,16,17,17,18,18,13,14,14,16,15,15,15,15,17,17,14,16,15,16,16,17,17,17,18,18,16,17,16,20,19,6,8,8,10,10,8,10,10,11,11,8,10,10,12,11,10,11,11,13,13,10,11,11,13,13,8,9,10,11,11,10,11,11,12,12,10,11,11,13,12,11,12,12,14,14,11,12,12,14,14,9,10,10,11,11,10,11,11,12,12,10,11,11,13,12,11,12,12,14,14,11,12,12,14,14,10,10,11,12,13,11,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,15,16,10,11,11,13,13,12,12,12,14,14,12,13,12,14,14,13,14,14,16,16,13,14,14,15,15,9,10,10,11,12,10,11,11,12,13,10,11,11,13,12,11,12,12,14,14,11,12,12,14,14,10,10,11,12,13,11,12,12,13,14,11,12,12,13,14,12,13,14,14,15,12,13,13,15,15,10,11,11,13,13,11,12,12,13,14,11,12,12,14,13,12,13,13,15,15,12,13,13,15,15,12,11,13,12,14,13,13,14,14,15,13,13,14,14,15,14,15,15,16,17,14,15,15,16,17,12,13,12,14,14,13,14,14,15,15,13,14,14,15,15,14,15,15,16,17,14,15,15,16,17,8,9,9,11,11,10,11,11,12,13,10,11,11,13,12,12,13,13,14,15,11,13,12,15,14,9,11,10,12,12,11,12,12,13,14,11,12,12,14,13,13,13,14,15,15,13,14,13,15,15,9,11,11,12,12,11,12,12,14,14,11,12,12,14,13,13,14,14,15,16,13,14,13,15,14,11,12,12,14,13,12,13,13,14,15,13,14,14,16,15,15,15,15,15,16,15,16,15,17,17,11,12,12,14,14,13,14,14,15,15,12,13,13,15,14,15,15,15,17,17,14,15,15,17,15,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,16,16,12,13,13,14,15,13,14,14,16,16,14,14,14,15,16,15,16,16,17,17,15,16,16,17,17,12,13,13,15,15,14,14,14,16,16,14,14,15,16,16,15,16,16,17,17,15,16,16,17,17,14,15,15,15,16,15,15,16,16,18,15,16,16,17,17,17,17,17,18,18,16,17,17,19,18,14,15,15,16,17,15,16,16,17,17,15,16,16,18,17,16,17,17,19,18,17,17,17,19,18,10,12,12,14,14,13,13,14,15,15,12,14,13,16,15,15,15,15,17,17,14,15,15,17,16,12,13,13,15,14,13,14,14,16,16,14,14,15,17,16,15,16,16,17,17,15,16,16,18,17,12,13,13,15,14,14,15,15,16,16,13,15,14,16,15,16,17,16,19,17,15,16,16,17,17,14,15,15,17,15,15,16,15,17,17,16,17,16,18,17,17,17,18,18,18,17,17,18,19,18,14,15,15,16,16,15,16,16,17,18,15,16,16,18,16,17,18,18,19,19,17,18,17,18,19,6,8,8,10,10,8,10,10,11,11,8,10,10,12,11,10,11,11,13,13,9,11,11,13,13,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,14,14,11,12,12,14,14,8,10,9,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,14,14,11,12,12,14,14,10,11,11,13,13,11,12,13,14,14,12,12,12,14,14,13,14,14,15,16,13,14,14,16,16,10,11,10,13,12,11,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,16,15,8,9,9,11,11,10,11,11,12,13,10,11,11,13,12,12,13,13,14,15,12,13,13,15,14,10,11,11,12,12,11,11,12,13,14,11,12,12,14,14,13,13,14,15,16,13,14,14,15,15,9,10,11,12,12,11,12,12,13,14,11,12,12,14,13,13,14,14,15,16,12,14,13,15,15,11,12,12,14,14,12,13,13,14,15,13,14,14,16,15,14,15,15,15,17,15,15,16,16,17,11,12,12,13,14,13,14,14,15,15,12,13,13,15,14,15,16,15,16,17,14,16,15,17,15,9,10,10,12,11,10,11,11,13,13,10,11,11,13,12,11,12,12,14,14,11,12,12,14,14,10,11,11,12,13,11,12,12,13,14,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,10,11,10,13,12,11,12,12,13,13,11,12,12,14,13,12,13,13,15,15,12,13,13,15,14,12,13,12,14,14,13,14,14,15,15,13,14,14,15,15,14,15,15,16,16,14,15,15,16,16,11,13,11,14,12,13,13,13,15,14,12,14,13,15,14,15,15,15,17,16,14,15,14,17,15,10,12,12,14,14,13,13,14,15,16,12,14,13,15,15,14,15,16,17,17,14,15,16,17,17,12,13,13,14,15,13,14,14,16,16,14,14,15,16,16,16,16,16,17,17,16,16,16,18,18,12,13,13,14,15,14,14,15,16,16,13,14,14,16,15,16,16,16,17,18,15,16,16,17,17,14,15,15,16,16,15,15,16,17,17,15,16,16,17,18,17,18,18,18,19,17,18,18,19,19,14,15,15,16,16,15,16,16,17,17,15,16,16,17,17,17,17,18,20,18,17,18,17,18,18,11,12,12,14,14,12,13,14,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,17,12,13,13,15,15,14,14,14,16,16,14,14,14,16,16,15,16,16,17,17,15,16,16,17,17,12,13,13,15,14,13,14,14,16,15,14,15,14,16,15,15,16,16,17,17,15,16,16,17,16,14,15,15,16,16,15,16,16,17,17,16,16,16,17,17,17,17,17,19,18,17,17,17,18,19,14,15,14,17,15,15,16,16,17,17,15,16,15,17,17,16,17,17,18,18,16,17,17,18,17,6,11,11,13,13,11,12,12,14,14,11,12,12,14,14,13,14,14,16,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,17,18,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,16,16,13,14,14,15,16,14,15,15,16,17,14,15,15,17,16,15,16,17,18,17,16,16,16,18,17,14,14,15,16,16,14,15,15,18,16,14,15,15,17,16,16,17,17,18,18,16,17,16,18,17,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,16,16,12,13,13,15,15,13,14,14,15,16,13,14,14,16,16,15,16,16,17,17,15,15,16,17,17,12,13,13,15,15,14,14,14,16,16,13,14,14,16,16,15,16,16,17,17,15,16,16,17,17,14,14,15,15,16,15,15,16,16,17,15,15,16,16,17,16,17,17,17,18,16,17,17,18,18,14,15,15,16,16,15,16,16,17,17,15,16,16,17,17,17,17,17,18,19,17,17,17,18,18,10,12,12,14,14,12,13,14,15,16,13,14,13,15,15,14,15,15,17,17,14,15,16,17,17,12,13,13,15,15,13,14,14,15,15,14,15,14,16,16,15,16,16,17,18,15,17,16,18,17,12,13,13,15,15,14,14,14,16,16,13,14,14,16,15,15,16,16,17,18,15,16,16,17,17,14,14,14,16,16,15,15,16,17,17,15,16,16,17,17,17,17,17,18,20,17,17,17,19,19,14,15,15,16,16,15,17,16,18,18,15,16,15,17,16,17,18,19,19,19,17,17,17,18,17,13,14,14,16,16,14,15,15,17,17,14,15,15,16,17,15,17,17,18,18,16,16,17,18,17,14,15,15,16,17,15,16,16,17,17,15,16,16,17,17,16,17,17,18,18,17,17,17,18,19,14,15,15,16,17,15,16,16,17,17,15,16,16,17,17,16,17,17,18,18,17,17,17,19,19,16,16,16,16,18,16,17,17,17,18,17,17,17,17,19,18,18,18,19,19,18,18,18,19,20,16,16,17,18,18,16,18,17,18,18,17,17,17,20,19,18,18,19,21,20,18,20,18,18,19,10,12,12,14,14,14,14,15,15,17,14,15,14,17,15,16,16,17,18,18,16,18,17,19,18,12,14,13,16,15,14,14,15,15,17,15,16,16,18,17,16,17,18,17,19,17,19,18,20,19,12,13,13,15,15,15,16,17,17,18,14,16,14,17,16,17,18,18,19,19,17,17,17,18,18,15,15,15,17,16,15,16,16,17,17,17,19,17,18,18,18,18,18,18,21,19,20,19,20,19,15,15,16,16,17,17,17,18,20,20,15,16,16,18,17,18,19,19,19,20,18,19,18,19,17,6,11,11,13,13,11,12,12,14,14,11,12,12,14,14,13,14,14,16,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,17,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,15,16,16,13,14,14,16,16,15,15,15,16,16,14,15,15,17,16,16,17,17,19,18,16,17,17,18,18,13,14,14,15,15,14,15,15,17,16,14,15,15,17,16,16,17,16,17,18,15,16,16,18,18,10,12,12,14,14,12,13,14,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,17,16,12,13,13,15,15,14,14,14,15,16,14,15,15,16,16,15,16,16,17,18,16,16,16,18,18,12,13,13,14,14,14,14,15,16,16,13,14,14,16,16,15,16,16,18,18,15,16,16,19,17,14,15,15,16,17,15,15,16,17,17,16,17,16,17,18,17,17,18,17,19,17,17,18,18,19,14,14,14,16,16,15,16,16,17,17,15,16,15,17,17,17,17,17,19,20,16,17,17,18,18,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,14,16,16,12,13,13,15,15,14,14,14,16,16,13,14,14,16,16,15,16,16,18,17,15,16,16,17,17,12,13,13,15,15,13,14,14,16,16,13,14,14,16,16,15,16,15,18,18,15,16,15,17,16,14,15,15,16,16,15,16,16,17,17,15,16,16,18,17,16,17,17,18,18,16,17,17,18,18,14,15,14,16,15,15,16,15,17,17,15,16,15,17,16,16,17,17,18,18,17,17,16,19,17,10,12,12,14,15,14,14,15,15,17,14,15,14,17,15,16,17,17,17,18,16,17,17,18,18,12,14,13,16,15,14,14,16,15,17,15,17,16,18,17,17,17,18,17,19,18,18,18,19,18,12,13,14,15,15,15,16,16,16,17,14,15,14,18,16,18,17,18,19,19,17,18,17,20,18,15,15,15,17,17,15,16,16,17,18,18,18,18,19,18,18,18,19,18,20,18,19,19,21,21,15,15,16,16,17,17,18,18,18,18,15,16,16,17,17,17,19,20,19,20,17,18,18,19,17,13,14,14,16,16,14,15,15,16,17,14,15,15,17,17,16,16,17,17,18,15,17,16,17,17,14,15,15,16,16,15,16,16,17,17,16,16,16,17,17,17,17,18,17,18,17,17,17,18,20,14,15,15,17,16,15,16,16,17,17,15,16,16,17,17,17,17,17,18,18,16,17,17,19,18,16,16,17,17,17,17,18,17,19,18,17,17,17,18,19,17,20,18,19,21,17,19,18,19,20,15,17,15,17,16,16,17,17,18,18,17,17,17,18,17,18,19,18,19,21,18,18,17,19,19,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,4,8,8,4,8,8,5,7,8,8,9,10,8,10,10,5,8,7,8,10,10,8,10,9,7,9,9,9,11,11,9,11,11,9,11,11,11,12,13,11,13,13,9,11,11,11,13,13,11,13,13,7,9,9,9,11,11,9,11,11,9,11,11,11,13,13,11,13,13,9,11,11,11,13,13,11,13,12,5,9,9,9,11,11,9,11,11,9,11,11,11,12,13,11,13,13,9,11,11,11,13,13,11,13,13,9,11,12,11,13,13,12,13,13,11,12,13,13,14,15,13,14,14,12,13,13,13,15,15,13,15,14,8,10,10,11,13,13,12,14,13,11,12,12,13,14,15,13,15,15,11,12,12,13,15,15,13,15,14,5,9,9,9,11,11,9,11,11,9,11,11,11,13,13,11,13,13,9,11,10,11,13,13,11,13,12,8,10,10,11,13,13,12,13,13,11,12,12,13,14,15,14,15,15,10,12,12,13,14,15,13,15,14,9,12,11,12,13,13,11,13,13,12,13,13,13,15,15,13,14,15,11,13,12,13,15,14,13,15,14,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,3,3,3,3,3,3,3,2,0,0,0,64,0,0,0,72,46,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,242,5,0,0,0,0,0,0,0,0,0,144,242,5,0,0,0,0,0,0,0,0,0,184,242,5,0,224,242,5,0,0,0,0,0,0,0,0,0,8,243,5,0,48,243,5,0,0,0,0,0,0,0,0,0,88,243,5,0,128,243,5,0,0,0,0,0,0,0,0,0,168,243,5,0,208,243,5,0,128,243,5,0,0,0,0,0,248,243,5,0,32,244,5,0,72,244,5,0,112,244,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,40,242,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,14,16,17,18,20,21,7,4,6,8,11,12,14,16,13,5,4,4,8,9,11,13,15,8,4,3,5,7,9,10,17,11,8,4,4,6,9,9,17,11,9,7,6,5,7,8,19,13,11,9,9,7,8,8,21,15,13,11,10,8,8,7,5,0,0,0,243,0,0,0,64,45,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,56,46,6,0,0,0,0,0,5,0,0,0,53,12,0,0,240,32,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,40,45,6,0,0,0,0,0,5,0,0,0,243,0,0,0,232,31,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,224,32,6,0,0,0,0,0,5,0,0,0,243,0,0,0,224,30,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,216,31,6,0,0,0,0,0,5,0,0,0,243,0,0,0,216,29,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,208,30,6,0,0,0,0,0,5,0,0,0,53,12,0,0,136,17,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,29,6,0,0,0,0,0,5,0,0,0,53,12,0,0,56,5,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,112,17,6,0,0,0,0,0,1,0,0,0,7,0,0,0,16,5,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,24,5,6,0,0,0,0,0,5,0,0,0,243,0,0,0,8,4,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,0,5,6,0,0,0,0,0,5,0,0,0,243],"i8",N3,x.GLOBAL_BASE+379856),E3([3,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,248,3,6,0,0,0,0,0,5,0,0,0,243,0,0,0,248,1,6,0,1,0,0,0,0,106,120,225,0,106,120,97,2,0,0,0,0,0,0,0,240,2,6,0,0,0,0,0,5,0,0,0,53,12,0,0,168,245,5,0,1,0,0,0,0,136,83,225,0,136,51,97,3,0,0,0,0,0,0,0,224,1,6,0,0,0,0,0,1,0,0,0,25,0,0,0,32,245,5,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,64,245,5,0,0,0,0,0,1,0,0,0,25,0,0,0,152,244,5,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,184,244,5,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,4,5,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,7,7,12,12,5,11,12,12,12,5,12,11,12,12,12,12,12,12,12,12,13,13,13,13,7,11,11,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,7,13,10,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,7,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,7,7,7,8,7,8,7,7,7,8,7,8,8,8,8,8,7,8,7,8,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,9,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,9,9,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,8,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,8,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,5,7,7,5,7,7,5,7,7,7,7,9,7,9,9,6,7,7,8,9,9,7,9,7,6,8,8,8,9,10,8,9,9,8,9,10,9,9,10,10,10,10,8,9,9,10,10,11,9,10,10,6,8,8,8,9,9,8,10,9,8,9,9,9,10,10,10,11,10,8,10,9,10,11,10,9,11,9,6,8,8,7,9,9,7,9,9,7,9,9,8,9,10,9,10,10,8,9,9,9,10,10,9,10,9,7,9,9,9,9,10,9,10,10,9,9,10,10,9,11,10,11,11,9,10,10,10,11,11,10,11,10,6,9,8,9,9,10,9,10,9,8,10,10,9,9,10,10,11,11,9,10,10,10,11,11,9,11,9,6,8,8,7,9,9,7,9,9,8,9,9,9,9,10,9,10,10,7,9,9,9,10,10,8,10,9,6,8,9,9,9,10,9,10,9,9,10,10,9,9,11,10,11,11,8,9,10,10,11,11,9,10,9,7,9,9,9,10,10,9,10,9,9,10,10,10,10,11,10,11,11,9,10,9,10,11,11,10,11,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,9,9,5,7,8,10,11,5,8,7,11,10,8,10,11,12,13,8,11,10,13,12,6,7,8,10,11,7,8,10,10,12,8,9,9,12,12,10,10,12,12,14,10,12,12,14,13,6,8,7,11,10,8,9,9,12,12,7,10,8,12,11,10,12,12,13,14,10,12,10,14,12,9,10,11,11,13,10,10,11,11,13,11,12,12,13,14,12,12,13,11,15,13,14,14,15,14,9,11,10,13,11,11,12,12,13,13,10,11,10,13,11,13,14,14,15,15,12,13,12,15,11,6,8,9,11,12,8,9,11,12,13,8,10,10,13,13,11,12,13,14,15,11,12,13,14,14,9,9,10,12,13,10,10,12,12,14,10,11,11,13,14,12,12,14,14,15,13,13,14,15,15,9,10,10,13,13,10,11,11,13,14,10,11,10,14,13,13,13,14,15,15,12,14,13,15,14,12,12,13,13,14,12,13,14,13,15,13,14,14,15,15,14,14,15,14,16,15,15,15,16,16,12,13,13,14,14,13,14,14,15,15,12,14,13,15,14,14,15,15,16,16,14,15,14,16,14,6,9,8,12,11,8,10,10,13,13,8,11,9,13,12,11,12,12,14,14,11,13,12,15,14,9,10,10,13,13,10,10,11,13,14,10,12,11,14,13,12,13,14,14,15,13,13,13,15,14,9,10,9,13,12,10,11,11,14,13,10,12,10,14,12,13,14,13,15,15,12,14,12,15,14,12,13,13,14,14,13,13,13,14,15,13,14,14,15,15,14,14,15,14,16,14,15,15,16,16,12,13,12,14,13,13,14,14,15,15,12,14,13,15,13,15,15,15,16,16,14,15,14,16,14,11,12,12,13,14,12,13,14,14,16,12,13,13,15,15,14,14,16,15,17,14,15,15,16,16,12,13,14,14,15,13,13,15,15,16,14,14,14,15,16,15,15,16,16,17,15,15,16,16,17,13,13,13,15,15,14,14,15,15,16,13,14,14,15,16,15,15,16,16,17,15,16,15,17,16,14,15,15,16,16,15,15,16,16,17,15,16,16,17,17,16,16,17,16,18,16,17,17,17,17,15,15,15,16,16,15,16,16,17,17,15,16,16,17,16,16,17,17,18,18,16,17,16,17,16,11,12,12,15,13,13,13,13,15,15,12,14,13,16,14,14,15,15,16,16,14,15,14,17,15,13,13,13,15,14,13,14,14,16,15,14,14,14,16,15,15,15,16,16,17,15,16,15,17,16,12,14,13,15,14,14,14,14,16,15,13,14,13,16,15,15,16,16,17,16,15,16,15,17,16,15,15,15,16,16,15,15,16,16,17,15,16,16,17,17,16,16,17,17,17,17,17,17,18,17,14,15,15,16,16,15,16,16,17,16,15,16,15,17,16,17,17,17,18,17,16,17,16,18,16,6,9,9,12,12,8,10,10,12,13,8,10,10,13,12,10,12,12,14,15,11,13,12,15,14,8,9,10,12,13,9,10,11,13,14,10,11,11,14,13,12,12,13,14,15,12,13,13,15,15,8,10,10,13,13,10,11,11,13,14,10,12,10,14,13,12,13,13,15,15,12,14,13,15,14,11,12,12,13,14,12,12,13,13,15,12,13,13,15,15,14,13,15,14,16,14,15,15,16,16,12,13,13,14,14,13,13,14,15,14,12,14,13,15,14,14,15,15,16,15,14,15,14,16,14,7,9,10,12,12,9,10,11,13,14,9,11,10,13,13,11,12,13,14,15,12,13,13,15,14,9,10,11,12,13,10,10,12,13,14,11,11,12,14,14,12,12,14,14,15,13,13,14,15,15,9,11,11,13,13,11,12,12,14,14,10,12,10,14,13,13,14,14,15,15,13,14,13,16,14,12,12,13,14,15,13,13,14,14,16,13,14,14,15,15,14,14,15,14,17,14,15,15,16,16,12,13,13,15,14,13,14,14,15,15,13,14,13,16,14,15,15,15,16,16,14,15,14,16,14,7,10,9,13,12,10,11,12,12,14,10,12,11,14,12,12,13,13,14,15,12,14,13,15,14,9,11,10,13,13,10,11,12,13,14,12,13,12,15,13,13,13,14,13,15,13,14,14,16,15,10,11,11,13,13,12,12,13,14,14,11,12,11,14,13,14,14,14,15,16,13,14,13,16,13,12,13,13,14,14,12,13,13,14,15,14,14,14,15,15,14,13,15,13,16,15,15,15,17,16,13,13,13,14,14,14,14,14,15,15,12,13,13,15,14,15,16,16,16,16,14,15,14,16,13,11,12,13,14,15,12,13,14,15,16,13,14,14,15,15,14,14,15,15,17,14,15,15,16,16,13,13,14,14,15,13,13,15,14,16,14,14,15,15,16,15,14,16,15,17,15,16,16,16,17,13,14,14,15,15,14,14,15,16,16,13,15,14,16,16,15,16,16,17,17,15,16,15,17,16,14,15,15,15,17,15,15,16,15,17,15,16,16,16,17,16,16,17,16,18,17,17,17,17,18,15,15,15,17,16,15,16,16,17,17,15,16,16,17,16,16,17,17,18,18,16,17,16,18,17,11,13,12,15,14,13,13,14,15,15,13,14,13,16,14,15,15,15,16,16,15,16,15,17,16,13,14,13,15,14,13,13,14,15,15,14,15,14,16,15,15,15,16,16,16,15,16,15,18,16,13,14,14,15,15,14,15,15,15,16,13,15,13,16,15,15,16,16,17,17,15,16,15,17,16,15,15,15,16,16,15,15,15,16,17,16,16,16,17,16,16,16,17,16,17,17,17,17,18,17,15,15,15,16,16,16,16,16,17,17,15,16,15,17,16,17,17,17,18,18,16,17,16,17,15,6,9,9,12,12,8,10,10,12,13,8,10,10,13,12,11,12,13,14,15,10,12,12,14,14,9,10,10,13,13,10,10,12,13,14,10,11,11,14,13,12,13,14,14,15,12,13,13,15,15,8,10,9,13,12,10,11,11,13,14,9,11,10,14,13,12,13,13,15,15,12,13,12,15,14,12,13,13,14,14,12,13,13,14,15,13,14,14,14,15,14,14,15,14,16,14,15,15,16,16,11,12,12,14,13,13,13,13,15,15,12,13,12,15,13,14,15,15,16,16,14,15,14,16,14,7,9,10,12,13,10,10,12,12,14,10,12,11,14,13,12,13,14,14,15,12,13,13,15,14,10,11,11,13,13,11,11,12,13,14,12,13,12,14,14,13,13,14,13,16,14,14,14,15,15,9,10,11,13,14,12,12,13,13,15,10,12,10,14,13,13,14,14,15,16,13,14,13,15,13,13,14,13,14,15,12,13,13,14,15,14,14,14,15,15,14,13,15,13,16,15,16,16,16,16,12,13,13,14,14,14,14,14,15,15,12,13,13,15,14,15,15,16,16,16,14,15,13,16,13,7,10,9,12,12,9,10,11,13,13,9,11,10,14,13,12,13,13,14,15,11,13,12,15,14,9,11,11,13,13,10,10,12,13,14,11,12,12,14,14,13,13,14,14,16,13,14,14,16,15,9,11,10,13,12,11,12,11,14,14,10,12,10,14,13,13,14,13,15,15,12,14,12,16,14,12,13,13,14,15,13,13,14,14,16,13,14,14,15,15,14,14,15,14,16,15,15,15,16,16,12,13,12,15,14,13,14,14,15,15,12,14,13,16,14,14,15,15,16,16,14,15,14,17,14,11,12,13,14,15,13,13,14,14,16,13,14,13,15,15,15,15,16,16,17,15,15,15,16,16,13,14,13,15,15,13,13,15,15,16,14,15,15,16,16,15,15,16,15,17,16,16,16,17,17,13,13,14,14,15,14,14,15,15,16,13,14,13,15,15,15,16,16,16,17,15,16,15,16,16,15,15,15,16,16,15,15,16,16,17,16,16,16,17,17,16,16,17,16,18,17,17,17,18,18,15,15,15,16,16,16,16,16,17,17,15,15,15,16,16,17,17,17,17,18,16,16,16,17,15,11,13,12,15,14,13,13,14,15,15,12,14,13,16,14,14,15,15,16,16,14,15,14,16,15,13,14,14,15,15,13,14,14,16,16,14,15,14,16,16,15,15,16,17,17,15,16,16,17,17,13,14,13,15,14,14,14,14,16,15,13,15,13,16,14,15,16,15,17,16,15,16,14,17,15,14,16,15,16,17,15,16,16,16,17,15,16,16,17,17,16,16,17,17,18,16,17,17,18,17,14,15,15,17,15,15,16,16,17,16,15,16,15,17,15,16,17,17,18,17,16,17,16,18,15,10,12,12,14,14,12,13,13,15,15,12,13,13,15,15,13,14,14,15,16,14,15,14,16,16,12,13,13,15,15,12,13,14,15,15,13,14,14,15,15,14,14,15,16,17,14,15,15,17,16,12,13,13,15,15,13,14,14,15,16,13,14,14,16,15,14,15,15,16,17,14,15,15,17,16,13,14,14,15,16,14,14,15,15,16,14,15,15,16,16,15,15,16,16,17,15,16,16,17,17,14,15,15,16,16,15,15,15,16,16,15,15,15,16,16,16,17,16,17,17,16,16,16,18,16,11,12,12,14,14,12,13,14,15,15,12,13,13,15,15,13,14,15,16,16,14,15,15,16,16,12,13,13,15,15,13,13,14,15,16,13,14,14,15,16,14,14,15,16,17,15,15,15,16,17,12,13,13,15,15,13,14,14,15,16,13,14,14,16,15,15,15,15,16,17,15,16,15,17,16,14,14,15,15,16,14,14,15,15,17,15,15,16,16,17,15,15,16,15,18,16,16,16,17,17,14,15,15,16,16,15,16,16,17,17,15,15,15,17,16,16,17,16,17,17,16,16,16,18,16,11,12,12,14,14,13,13,14,15,15,13,14,13,15,15,14,15,15,16,16,14,15,15,16,16,12,13,13,15,15,13,13,14,15,15,14,14,14,16,15,15,15,15,15,16,15,16,15,17,16,12,13,13,15,15,14,14,15,15,16,13,14,13,16,15,15,15,16,16,17,15,16,15,17,15,14,15,14,16,16,14,15,15,16,16,15,16,15,17,16,15,15,16,15,17,16,17,16,17,17,14,15,15,16,16,15,16,16,16,17,14,15,15,16,16,16,17,17,17,18,16,16,16,17,16,12,13,13,15,15,13,13,14,15,16,13,14,14,16,15,14,15,15,16,17,14,15,15,17,16,13,14,14,15,16,14,14,15,15,17,14,15,15,16,16,15,14,16,15,17,15,16,16,17,17,13,14,14,16,16,14,15,15,16,16,14,15,14,16,16,15,16,16,17,17,15,16,15,17,16,15,15,16,15,17,15,15,16,15,17,15,16,16,16,17,16,15,17,15,18,17,17,17,17,17,15,15,15,17,17,16,16,16,17,17,15,16,15,17,17,16,17,17,18,18,16,17,15,18,15,11,12,12,15,15,13,13,15,14,16,13,14,13,16,14,15,15,16,16,17,15,16,15,17,15,12,14,13,16,14,13,13,14,14,16,14,15,14,16,15,15,15,16,15,17,16,16,16,17,16,12,13,14,15,16,15,15,15,15,16,13,15,13,16,14,16,16,16,17,17,15,16,15,17,15,15,16,15,16,15,14,14,15,16,16,16,16,16,17,16,15,15,16,15,17,17,17,17,18,17,15,15,15,16,16,16,16,16,16,17,14,15,15,17,16,17,17,17,17,18,15,16,15,18,14,10,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,14,15,15,16,13,15,14,16,16,12,13,13,15,15,13,14,14,15,16,13,14,14,15,15,14,15,15,16,17,14,15,15,17,16,12,13,13,15,15,13,14,14,15,15,12,14,13,15,15,14,15,15,16,17,14,15,14,17,15,14,15,15,16,16,14,15,15,16,17,15,15,15,17,16,16,16,16,16,17,16,16,16,17,17,13,14,14,16,15,14,15,15,16,16,14,15,14,16,16,15,16,16,17,17,15,16,15,17,16,11,12,12,14,15,13,13,14,14,15,13,14,13,15,15,14,15,15,16,16,14,15,15,16,16,12,14,13,15,15,13,13,14,15,16,14,15,14,16,15,15,15,16,15,17,15,16,16,17,16,12,13,13,15,15,14,14,15,15,16,13,14,13,16,15,15,15,16,16,17,15,15,15,16,16,14,15,15,16,16,14,15,15,16,16,15,16,16,17,17,16,16,16,16,17,16,17,17,18,17,14,14,15,15,16,15,15,16,16,17,14,15,15,16,16,16,16,16,17,17,15,16,15,17,15,11,12,12,14,14,12,13,14,15,15,12,13,13,15,15,14,15,15,16,16,13,15,14,16,16,12,13,13,15,15,13,14,14,15,16,13,14,14,16,16,15,15,15,16,17,15,15,15,17,16,12,13,13,15,15,13,14,14,16,15,13,14,13,16,15,15,16,15,17,17,14,15,14,17,16,14,15,15,16,16,15,15,16,16,17,15,16,16,17,17,16,16,16,16,18,16,17,16,18,17,14,15,14,16,15,15,15,15,17,16,14,15,14,17,15,16,17,16,17,17,15,16,15,17,15,11,12,12,15,15,13,13,15,14,16,13,15,13,16,14,15,15,16,15,17,15,16,15,17,16,12,14,13,15,15,13,13,15,15,16,15,15,15,16,15,15,15,16,15,17,16,16,16,17,16,12,13,14,15,16,14,14,15,15,16,13,14,13,16,14,16,16,16,16,17,15,16,15,17,15,15,16,15,16,16,14,15,15,16,16,16,16,16,17,16,15,15,16,15,17,17,17,17,18,17,15,15,15,15,16,16,16,16,16,17,14,15,14,16,15,17,17,17,17,18,15,16,15,17,15,12,13,13,15,15,13,14,14,15,16,13,14,14,16,15,14,15,15,16,17,14,15,15,17,16,13,14,14,16,15,13,14,15,16,16,14,15,15,16,16,15,15,16,16,17,15,16,16,17,17,13,14,13,16,15,14,15,15,16,16,13,15,14,16,15,15,16,16,17,17,15,16,14,17,15,15,15,16,17,17,15,15,16,16,17,16,16,16,17,17,16,15,17,16,18,17,17,17,18,18,15,15,15,17,14,16,16,16,17,16,15,16,15,17,15,16,17,17,18,17,16,17,15,18,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,7,9,9,10,10,9,10,10,10,11,9,10,10,11,10,9,10,10,11,11,9,10,10,11,11,9,10,10,11,11,10,10,10,11,11,10,10,10,11,11,10,11,11,11,11,10,11,11,11,11,9,10,10,11,11,10,10,10,11,11,9,10,10,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,10,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,9,10,10,11,11,10,10,11,11,11,10,10,11,11,11,10,11,11,11,12,10,11,11,12,12,10,10,11,11,11,10,11,11,11,12,11,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,11,11,11,11,11,11,11,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,10,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,11,10,11,11,11,11,10,11,11,11,12,11,11,11,12,12,11,11,12,12,12,11,11,11,12,12,10,11,10,11,11,11,11,11,12,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,10,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,13,12,13,12,9,10,10,11,11,10,10,11,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,11,11,11,10,11,11,11,12,10,11,11,12,12,11,11,12,12,12,11,11,11,12,12,10,11,10,11,11,11,11,11,12,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,10,11,11,11,10,11,11,12,12,10,11,11,12,12,11,11,11,12,12,11,11,12,12,12,10,11,11,11,12,11,11,12,12,12,11,11,12,12,12,11,11,12,12,12,11,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,11,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,10,11,11,12,11,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,9,10,10,11,11,10,10,11,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,10,11,11,11,11,10,11,11,12,12,11,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,11,10,11,11,10,11,11,12,12,10,11,11,12,11,11,12,11,12,12,11,11,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,11,12,10,11,11,12,11,11,11,12,12,12,11,11,12,12,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,12,12,12,12,12,12,12,13,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,12,10,11,11,12,12,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,12,13,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,13,12,13,12,12,12,12,13,12,12,13,12,13,12,13,13,12,13,12,12,12,12,12,12,13,13,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,13,12,12,12,12,12,12,12,13,12,13,12,12,12,12,13,12,12,13,13,13,12,12,13,12,13,12,10,11,11,12,12,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,11],"i8",N3,x.GLOBAL_BASE+390097),E3([12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,12,13,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,13,13,13,12,12,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,13,12,13,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,13,12,13,12,12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,13,12,13,12,12,13,12,13,12,12,13,12,13,12,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,4,7,8,4,8,7,5,7,8,7,7,10,8,9,9,5,7,7,8,9,9,7,10,7,5,7,8,8,9,11,8,10,10,8,9,10,10,10,12,11,12,12,8,10,10,10,12,12,10,12,11,5,8,7,8,10,10,8,11,9,8,10,10,10,11,12,10,12,12,8,10,9,11,12,12,10,12,10,5,8,8,7,10,10,8,11,10,7,9,10,9,10,12,10,12,12,8,10,10,10,12,12,10,12,11,7,9,10,9,11,12,10,12,11,9,9,12,10,10,13,12,12,13,10,12,11,12,13,13,11,13,11,7,10,9,10,11,12,10,13,11,9,11,11,11,11,13,12,14,13,10,11,11,12,14,14,11,14,11,5,8,8,8,10,11,7,10,10,8,10,10,10,11,12,10,12,12,7,10,9,10,12,12,9,12,10,7,9,10,10,11,13,10,12,11,10,11,11,11,11,14,12,14,14,9,11,11,12,13,14,11,13,11,7,10,9,10,11,12,9,12,10,10,11,12,11,11,13,12,13,13,9,12,9,12,13,12,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,6,7,7,7,7,8,7,8,7,7,7,8,7,8,8,8,8,8,7,8,7,7,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,8,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,5,5,7,7,5,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,5,7,8,7,9,10,8,9,9,8,9,10,9,10,12,10,11,11,8,10,9,10,11,12,9,11,10,5,8,7,8,10,9,7,10,9,8,9,10,9,10,11,10,12,11,8,10,9,10,11,11,9,12,10,5,8,8,7,9,10,8,10,9,7,9,10,9,10,11,9,11,11,8,10,9,10,11,11,10,12,10,7,9,10,9,10,12,9,11,11,9,9,12,11,10,13,11,11,13,10,12,11,11,13,13,11,13,12,7,9,9,9,11,11,9,12,11,9,11,10,10,11,12,11,13,12,9,11,11,12,13,13,11,13,11,5,8,8,8,9,10,7,10,9,8,9,10,10,10,12,10,11,11,7,10,9,9,11,11,9,11,10,7,9,9,9,11,12,9,11,11,9,11,11,11,11,13,12,13,13,9,10,11,11,12,13,10,12,11,7,10,9,9,11,11,9,12,10,10,11,12,11,12,13,12,13,13,9,12,9,11,13,11,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,9,9,6,8,8,10,10,6,8,8,10,10,8,9,10,12,12,8,10,9,12,12,6,8,8,10,10,8,8,9,10,11,8,9,9,11,11,9,10,11,12,13,10,11,11,13,13,6,8,8,10,10,8,9,9,11,11,8,9,8,11,10,10,11,11,13,13,9,11,10,13,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,12,15,12,13,13,15,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,13,13,14,15,12,13,12,15,12,7,8,8,10,11,8,9,10,11,12,8,9,9,11,11,10,11,11,13,14,10,11,11,13,13,8,9,9,11,12,9,10,11,11,13,9,10,10,12,12,11,11,12,13,15,11,12,12,14,14,8,9,9,11,11,9,10,11,12,13,9,10,10,12,12,11,12,12,14,15,11,12,12,14,14,10,11,12,13,13,11,12,12,13,14,12,12,12,14,14,13,13,14,14,16,14,14,14,16,15,10,11,11,13,13,12,12,12,14,14,11,12,12,14,13,14,14,14,15,16,13,14,13,16,14,7,8,8,11,10,8,9,9,11,11,8,10,9,12,11,10,11,11,13,13,10,11,11,14,13,8,9,9,12,11,9,10,10,12,12,9,11,10,13,12,11,12,12,13,14,11,12,12,15,14,8,9,9,12,11,9,10,10,12,12,9,11,10,13,11,11,12,12,14,14,11,12,12,14,13,10,11,11,13,13,11,12,12,13,14,12,13,12,14,14,13,13,14,14,16,13,14,14,16,15,10,11,11,13,13,12,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,16,14,9,10,11,12,13,11,11,12,12,14,11,11,12,13,14,13,13,14,14,16,13,13,14,15,15,11,11,12,12,14,12,12,13,13,15,12,12,13,13,15,14,14,15,15,16,14,14,14,15,16,11,12,12,13,14,12,12,13,14,15,12,13,12,14,14,14,14,15,15,16,14,14,14,16,16,13,13,14,15,16,14,14,15,15,16,14,15,15,16,16,15,15,16,16,18,16,16,16,17,17,13,14,14,15,15,14,14,15,16,16,14,15,14,16,16,16,16,16,17,18,15,16,16,17,16,9,11,10,13,12,11,12,11,14,13,11,12,11,14,12,13,14,13,15,14,13,14,13,16,14,11,12,12,14,13,12,12,13,14,14,12,13,12,15,14,14,14,14,16,16,14,15,14,17,15,11,12,11,14,12,12,13,12,15,13,12,13,12,15,13,14,14,14,16,15,14,15,14,16,15,13,14,14,15,15,14,14,15,16,16,14,15,14,16,16,15,15,16,16,17,16,16,16,17,17,13,14,14,16,15,14,15,15,16,16,14,15,14,17,15,16,16,16,17,17,15,16,15,18,16,7,8,8,10,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,11,11,14,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,13,14,11,12,12,14,14,8,9,9,12,11,9,10,11,12,13,9,11,10,13,12,11,12,12,14,14,11,12,12,14,13,10,11,11,13,13,11,12,12,13,14,11,12,12,14,14,13,13,14,14,16,13,14,14,16,15,10,12,11,13,13,12,12,12,14,14,11,12,12,14,13,14,14,14,15,16,13,14,14,16,14,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,11,12,13,14,11,12,12,14,14,9,9,10,11,12,10,10,11,12,13,10,10,11,12,13,12,12,13,14,15,12,12,13,14,15,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,15,15,12,13,13,15,14,11,11,12,13,14,12,12,13,13,15,12,12,13,14,15,14,14,15,14,16,14,14,15,15,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,14,14,15,15,16,16,14,15,14,17,15,8,9,9,11,11,9,10,10,12,12,9,11,10,13,12,11,12,12,14,14,11,13,12,15,13,9,10,10,12,12,10,10,11,12,13,10,12,11,13,13,12,12,13,13,15,12,13,13,15,14,9,10,10,12,12,11,11,12,13,13,10,12,10,13,12,12,13,13,15,15,12,13,13,15,13,11,12,12,14,14,12,12,13,14,14,12,13,13,15,14,13,13,14,13,16,14,15,14,16,16,11,12,12,14,14,13,13,13,15,15,12,13,12,15,14,14,15,15,16,17,14,15,13,16,13,10,11,11,13,14,11,12,12,13,15,11,12,12,14,14,13,14,14,15,16,13,14,14,16,16,11,11,12,12,14,12,12,13,13,15,12,13,13,13,15,14,14,15,14,17,14,14,15,15,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,16,13,14,14,14,16,14,14,15,14,17,14,15,15,14,17,16,16,17,15,18,16,16,17,16,18,13,14,14,16,16,14,15,15,17,16,14,15,15,17,16,16,17,17,18,18,16,17,16,18,17,10,11,11,14,13,11,12,12,14,14,11,13,12,15,14,14,14,14,16,15,14,15,14,16,15,11,12,12,14,13,12,13,13,15,14,13,14,13,15,14,14,15,15,16,16,14,15,15,17,15,11,12,12,14,14,13,13,13,15,15,12,13,13,15,14,15,15,15,17,17,14,15,15,17,15,13,14,14,16,15,14,15,15,16,16,15,15,15,17,16,16,16,16,16,17,16,17,16,18,17,14,14,14,16,16,15,15,15,16,16,14,15,14,17,16,16,17,17,17,18,16,17,16,18,16,7,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,11,10,13,12,11,12,12,13,14,11,12,12,14,14,8,9,9,11,11,9,10,10,12,12,9,10,10,13,12,11,12,12,14,14,11,12,11,14,13,10,11,12,13,13,11,12,12,13,14,12,13,12,14,14,13,13,14,14,16,13,14,14,16,15,10,11,11,13,13,11,12,12,14,14,11,12,12,14,13,13,14,14,15,16,13,14,13,16,14,8,9,9,11,11,9,10,11,12,13,9,10,10,12,12,11,12,13,13,14,11,12,12,14,14,9,10,10,12,12,10,10,11,12,13,11,12,11,13,13,12,12,13,13,15,12,13,13,15,15,9,10,10,12,12,10,11,12,13,14,10,11,10,13,12,12,13,13,14,15,12,13,12,15,13,12,12,12,14,14,12,12,13,14,15,13,13,13,15,15,14,14,15,13,16,14,15,15,16,16,11,12,12,14,14,12,13,13,14,15,12,13,12,14,14,14,14,15,16,16,13,14,13,16,14,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,14,11,12,11,14,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,14,15,12,13,13,15,14,9,10,9,12,11,10,11,10,13,12,10,11,10,13,12,12,13,12,15,14,12,13,12,15,14,11,12,12,14,14,12,13,13,14,15,12,13,13,15,15,14,14,15,15,17,14,15,15,16,16,11,12,11,14,13,12,13,12,15,14,12,13,12,15,13,14,15,14,16,15,13,15,14,17,14,10,11,11,13,14,11,12,13,13,15,11,12,12,14,14,14,14,15,15,17,13,14,14,15,16,11,12,12,14,14,12,12,13,14,15,13,13,13,15,15,14,15,15,15,17,15,15,15,16,16,11,12,12,13,14,13,13,14,14,15,12,13,13,14,15,14,15,15,16,17,14,15,15,16,16,14,14,14,16,16,14,14,15,15,17,15,15,15,17,16,16,16,17,16,18,16,17,17,18,17,13,14,14,15,16,14,15,15,16,17,14,15,15,16,16,16,17,17,17,18,16,16,16,17,16,10,11,11,14,13,11,12,12,14,14,11,12,12,15,13,13,14,14,16,15,13,14,14,16,15,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,17,16,11,12,11,14,12,12,13,13,15,13,12,13,12,15,13,14,15,15,16,15,14,15,14,17,14,13,14,14,16,16,14,15,15,16,17,14,15,15,16,17,16,16,17,17,18,16,17,17,18,18,13,14,14,16,13,14,15,15,17,14,14,15,14,17,14,16,17,16,17,16,16,17,16,18,15,8,11,11,13,13,10,12,12,14,14,11,12,12,14,14,13,13,14,15,16,13,14,14,16,15,10,11,11,14,14,11,12,12,14,15,11,12,12,15,14,13,14,14,15,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,12,15,14,14,14,15,16,16,14,15,14,16,16,12,13,13,15,15,12,13,14,15,16,13,14,14,16,16,14,15,15,16,17,15,15,16,17,17,13,14,14,16,15,14,15,15,16,16,14,15,14,16,16,16,16,16,17,17,15,16,16,18,16,10,11,11,13,14,11,12,12,14,15,11,12,12,15,14,13,14,14,16,16,13,14,14,16,16,11,11,12,14,14,12,12,13,14,15,12,13,13,15,15,14,14,15,15,17,14,14,15,16,16,11,12,12,15,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,17,16,13,12,14,14,16,13,13,15,14,17,14,13,15,15,17,15,14,16,15,18,16,15,16,16,18,13,14,14,16,16,14,15,15,17,17,14,15,15,17,16,16,17,17,18,18,16,17,16,18,17,10,11,11,14,13,11,12,12,14,14,11,13,12,15,14,13,14,14,15,16,13,14,14,16,16,11,12,12,14,14,12,13,13,14,15,12,13,13,15,15,14,14,15,15,16,14,15,15,17,16,11,12,12,14,14,13,13,13,15,15,12,13,13,15,14,14,15,15,16,17,14,15,14,17,15,13,14,13,16,15,14,14,14,15,16,14,15,14,16,16,15,15,16,16,17,16,16,16,18,17,14,14,14,16,16,15,15,15,17,16,14,15,14,17,16,16,16,17,17,18,16,17,16,18,16,11,13,13,15,15,12,13,14,15,16,12,14,14,15,15,14,15,15,16,17,14,15,15,17,17,12,13,14,14,16,13,14,14,14,16,14,14,14,15,16,15,15,16,15,18,15,16,16,17,17,13,14,14,16,16,14,14,15,16,16,14,15,14,16,16,15,16,16,17,18,15,16,16,18,17,14,14,16,13,17,15,15,16,14,18,15,15,16,14,18,16,16,18,15,19,17,17,18,16,18,15,16,15,17,17,15,16,17,18,18,16,16,16,18,17,17,18,18,19,19,17,18,17,19,18,11,12,12,15,14,13,13,14,15,16,13,14,13,16,14,15,15,15,16,17,15,16,15,17,16,12,13,13,15,14,13,13,14,15,15,14,15,14,16,15,15,15,16,16,17,16,16,16,18,17,12,13,13,15,15,14,14,15,16,16,13,14,13,16,15,16,16,16,17,18,15,16,15,17,16,14,15,14,17,15,14,15,15,16,16,15,16,15,17,16,16,15,16,15,17,17,18,17,18,17,15,15,15,16,17,16,16,16,17,17,15,16,15,17,16,17,18,18,18,18,16,17,16,18,15,8,11,11,13,13,11,12,12,14,14,10,12,12,14,14,13,14,14,15,16,13,14,13,16,15,11,12,12,14,14,12,12,13,14,15,12,13,13,15,15,14,14,15,15,16,14,14,14,16,16,10,11,11,14,14,11,12,12,14,15,11,12,12,15,14,13,14,14,16,16,13,14,14,16,15,13,14,14,15,16,14,14,15,16,16,14,15,15,16,16,15,16,16,16,18,16,16,16,17,17,12,13,13,15,15,13,14,14,16,16,12,14,13,16,15,15,16,15,17,17,14,16,15,17,16,10,11,11,13,14,11,12,13,14,15,11,13,12,14,14,14,14,15,16,16,13,14,14,16,16,11,12,12,14,14,12,13,13,14,15,13,14,13,15,15,14,15,15,16,17,14,15,15,17,16,11,12,12,14,14,12,13,13,15,15,12,13,12,15,14,14,15,15,16,17,14,15,15,16,16,14,14,14,16,16,14,14,15,16,16,15,15,15,16,16,16,16,17,16,18,16,17,17,18,18,13,13,14,15,16,14,14,15,16,17,13,14,14,16,16,16,16,17,17,18,15,16,15,17,16,10,11,11,14,13,11,12,12,14,14,11,12,12,15,14,13,14,14,16,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,17,16,11,12,11,14,14,12,13,13,15,15,12,13,12,15,14,14,15,14,16,16,14,15,14,17,16,14,14,14,16,16,14,15,15,16,17,14,15,15,17,17,16,16,17,17,18,16,17,17,18,18,13,14,12,16,14,14,15,13,17,15,13,15,13,17,14,16,16,15,18,16,15,17,14,18,15,11,12,12,14,15,13,13,14,14,16,13,14,13,15,14,15,15,16,16,17,15,16,15,17,16,12,13,13,15,15,13,13,14,15,16,14,15,14,16,16,15,15,16,15,18,16,16,16,18,17,12,13,13,15,15,14,14,15,15,16,13,14,13,15,15,16,16,16,16,18,15,16,15,17,16,15,15,15,17,16,15,15,16,16,17,16,16,16,18,17,16,16,17,15,18,17,18,17,19,18,14,14,15,15,17,15,15,16,16,17,14,15,15,16,16,17,17,18,17,19,16,17,15,17,15,11,13,12,15,15,12,14,14,15,15,12,14,13,16,15,15,15,15,17,17,14,15,15,17,16,12,14,14,16,16,14,14,15,16,16,14,14,14,16,16,15,16,17,17,18,15,16,16,18,17,12,14,13,16,14,13,14,14,16,15,13,15,14,16,14,15,16,16,17,17,15,16,15,18,15,15,15,16,17,17,15,16,16,17,18,16,16,16,18,18,17,17,18,18,19,17,17,18,19,19,14,15,14,17,13,15,16,15,18,14,15,16,15,18,14,17,18,17,18,16,16,18,16,19,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,4,7,7,4,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,6,7,8,8,9,10,8,9,10,8,9,10,10,10,12,10,11,12,8,10,10,10,11,12,10,11,11,6,8,7,8,10,9,8,10,9,8,10,10,10,11,11,10,12,11,8,10,9,10,12,11,10,12,10,5,8,8,8,10,10,8,10,10,7,9,10,9,10,11,9,11,11,8,10,10,10,12,12,10,12,11,7,9,9,9,10,11,9,11,11,9,9,11,10,11,12,10,11,12,9,11,11,11,12,12,11,12,12,7,9,9,10,11,11,10,12,11,9,11,10,11,11,12,11,13,12,10,11,11,12,13,13,11,13,11,5,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,11,7,10,9,9,11,11,9,11,10,7,9,9,10,11,12,10,11,11,10,11,11,11,11,13,12,13,13,9,10,11,12,12,13,11,12,11,7,9,9,9,11,11,9,11,10,9,11,11,11,12,12,11,12,12,9,11,9,10,12,11,10,12,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,9,15,17,20,21,22,23,5,5,7,9,11,13,17,20,9,5,5,6,8,10,15,18,11,7,5,4,6,9,13,17,14,9,7,5,6,7,10,14,17,10,8,6,6,4,5,8,20,14,13,10,8,4,3,4,23,17,16,14,12,6,4,4,2,0,0,0,64,0,0,0,112,96,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,216,47,6,0,0,0,0,0,0,0,0,0,0,48,6,0,0,0,0,0,0,0,0,0,40,48,6,0,80,48,6,0,0,0,0,0,0,0,0,0,120,48,6,0,160,48,6,0,0,0,0,0,0,0,0,0,200,48,6,0,240,48,6,0,0,0,0,0,0,0,0,0,24,49,6,0,64,49,6,0,240,48,6,0,0,0,0,0,104,49,6,0,144,49,6,0,184,49,6,0,224,49,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,152,47,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,14,16,17,17,18,20,6,3,5,8,10,11,13,15,13,5,3,5,8,9,11,12,15,7,4,3,5,7,9,11,16,10,7,5,6,7,9,10,17,11,8,7,7,6,8,8,19,13,11,9,9,8,8,9,20,14,13,11,10,8,9,9,5,0,0,0,243,0,0,0,104,95,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,96,96,6,0,0,0,0,0,5,0,0,0,53,12,0,0,24,83,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,80,95,6,0,0,0,0,0,5,0,0,0,243,0,0,0,16,82,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,8,83,6,0,0,0,0,0,5,0,0,0,243,0,0,0,8,81,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,0,82,6,0,0,0,0,0,5,0,0,0,243,0,0,0,0,80,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,248,80,6,0,0,0,0,0,5,0,0,0,53,12,0,0,176,67,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,79,6,0,0,0,0,0,5,0,0,0,53,12,0,0,96,55,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,152,67,6,0,0,0,0,0,1,0,0,0,7,0,0,0,56,55,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,64,55,6,0,0,0,0,0,5,0,0,0,243,0,0,0,48,54,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,40,55,6,0,0,0,0,0,5,0,0,0,243,0,0,0,40,53,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,32,54,6,0,0,0,0,0,5,0,0,0,243,0,0,0,32,52,6,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,24,53,6,0,0,0,0,0,5,0,0,0,243,0,0,0,24,51,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,16,52,6,0,0,0,0,0,1,0,0,0,25,0,0,0,144,50,6,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,176,50,6,0,0,0,0,0,1,0,0,0,25,0,0,0,8,50,6,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,40,50,6,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,4,5,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,5,5,4,10,10,5,10,10,5,10,10,10,10,10,10,10,10,5,10,10,10,10,10,9,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,7,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,7,6,7,8,6,8,7,7,7,8,7,7,8,8,8,8,7,7,7,8,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,9,8,9,8,8,8,8,8,8,9,8,9,9,8,8,8,9,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,9,9,9,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,6,5,7,8,5,8,7,5,7,7,7,7,9,8,9,9,5,7,7,8,9,9,7,9,7,6,8,8,8,9,10,8,9,9,8,9,10,9,9,11,10,10,11,8,10,9,10,10,11,9,10,10,6,8,8,8,9,9,8,10,9,8,9,10,9,10,10,10,11,10,8,10,9,10,11,10,9,11,9,6,8,8,7,9,9,8,9,9,7,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,10,9,7,9,9,9,10,10,9,10,10,9,9,10,10,9,11,10,11,11,9,10,10,10,11,11,10,11,10,6,9,8,9,10,10,9,10,9,8,10,10,9,9,10,10,11,11,9,10,10,10,11,11,9,11,9,6,8,8,8,9,9,7,9,9,8,9,9,9,9,10,9,10,10,7,9,9,9,10,10,9,10,9,6,8,9,9,9,10,9,10,10,9,10,10,9,9,11,10,11,11,8,10,10,10,11,11,9,10,9,7,9,9,9,10,10,9,10,10,9,10,10,10,10,11,10,11,11,9,10,9,10,11,11,10,11,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,9,9,5,7,8,10,11,5,8,7,11,10,8,10,11,12,13,8,11,10,13,12,6,7,8,10,11,7,8,10,10,12,8,9,9,12,11,10,10,12,11,14,10,11,12,14,13,6,8,7,11,10,8,9,9,11,12,7,10,8,12,10,10,12,12,13,14,10,12,10,14,11,9,10,11,11,12,10,10,11,11,13,11,12,12,13,13,12,11,13,11,15,13,14,13,14,14,9,11,10,12,11,11,12,12,13,13,10,11,10,13,11,13,13,14,14,14,12,13,11,14,11,7,8,9,11,12,9,9,11,12,13,9,10,10,13,12,11,12,13,13,15,11,12,12,14,14,9,10,10,12,13,10,10,12,12,14,11,11,11,13,13,12,12,13,13,15,12,13,13,15,14,9,10,10,12,13,10,11,11,13,14,10,12,11,14,13,12,13,13,14,15,12,13,13,15,14,12,12,13,13,14,12,13,13,13,15,13,14,14,14,15,14,14,15,14,16,14,15,15,16,16,12,13,13,14,14,13,13,14,15,14,12,13,13,15,14,14,15,15,15,16,14,15,14,16,14,7,9,8,12,11,9,10,10,12,13,9,11,9,13,12,11,12,12,14,14,11,13,12,15,13,9,10,10,13,12,10,11,12,13,14,10,12,11,14,13,12,13,13,14,15,13,13,13,15,14,9,10,10,13,12,11,11,11,13,13,10,12,10,14,12,13,13,13,14,15,12,13,12,15,13,12,13,13,14,14,12,13,13,14,15,13,14,13,15,15,14,14,15,14,16,14,15,15,16,15,12,13,12,14,13,13,13,13,15,14,12,13,13,15,13,14,15,15,16,15,14,15,14,16,14,11,12,12,13,14,12,13,14,14,15,12,13,13,14,15,14,14,15,15,16,14,15,15,16,16,12,13,13,14,15,13,13,14,14,16,13,14,14,15,15,15,15,16,15,17,15,15,15,16,16,12,13,13,14,15,13,14,14,15,16,13,14,14,15,15,15,15,16,16,17,15,15,15,17,16,14,15,15,16,16,15,15,16,15,16,15,16,16,16,17,16,16,17,16,18,16,16,17,18,17,14,15,15,16,16,15,16,16,16,17,15,16,15,17,16,16,17,17,17,18,16,16,16,17,16,11,12,12,14,13,12,13,13,15,14,12,14,13,15,14,14,15,15,16,16,14,15,14,16,15,12,13,13,15,14,13,14,14,15,15,13,14,14,16,15,15,15,15,16,16,15,16,15,17,16,12,13,13,15,14,13,14,14,15,15,13,14,13,16,14,15,15,15,16,16,15,15,15,17,15,14,15,15,16,16,15,15,15,16,16,15,16,16,17,17,16,16,17,17,17,16,17,17,18,17,14,15,15,16,15,15,15,16,16,16,15,15,15,17,15,17,17,17,18,17,16,17,16,18,16,6,9,9,12,12,8,10,10,12,13,9,11,10,13,12,10,12,12,14,14,11,13,12,14,14,8,10,10,12,12,9,10,11,12,14,10,11,11,13,13,12,12,13,13,15,12,13,13,15,14,9,10,10,13,13,10,11,11,13,13,10,12,10,14,13,12,13,13,14,15,12,13,13,15,14,11,12,12,13,14,12,12,13,13,15,12,13,13,14,14,13,13,14,13,16,14,15,15,16,15,11,12,12,14,14,13,13,13,15,14,12,13,13,15,14,14,15,15,16,15,14,14,14,16,14,7,9,10,12,12,9,10,11,13,13,9,11,10,13,13,11,12,13,14,15,12,13,13,15,14,9,10,11,12,13,10,10,12,13,14,11,11,12,14,14,12,12,14,14,15,13,13,13,15,15,9,11,11,13,13,11,12,12,14,14,10,12,10,14,13,13,14,13,15,15,12,14,13,15,14,12,12,13,13,15,12,12,14,13,15,13,14,14,15,15,14,14,15,14,17,14,15,15,16,16,12,13,13,15,14,13,14,14,15,15,12,14,13,15,14,14,15,15,16,16,14,15,14,16,14,7,10,10,12,12,10,11,11,12,13,10,12,10,14,12,12,13,13,14,15,12,13,13,15,14,9,11,10,13,12,10,10,12,12,14,11,13,12,14,13,13,13,14,13,15,13,14,14,15,14,10,11,11,13,13,12,12,12,13,14,10,12,10,14,12,13,14,14,15,15,13,14,13,15,13,12,13,13,14,14,12,12,13,14,15,13,14,14,15,15,13,13,14,13,15,14,15,15,16,16,12,13,13,14,14,13,14,14,15,15,12,13,13,15,13,15,15,15,16,16,13,14,13,16,13,11,12,13,14,14,12,13,14,14,15,12,13,13,15,15,14,14,15,15,17,14,15,15,16,16,12,13,14,14,15,13,13,14,14,16,13,14,14,15,16,14,14,16,15,17,15,15,16,16,16,12,13,13,15,15,13,14,14,15,16,13,14,14,15,16,15,15,16,17,17,15,16,15,17,16,14,15,15,15,16,15,15,16,15,17,15,15,16,16,17,16,16,16,16,18,16,16,17,17,17,14,15,15,16,16,15,16,16,16,17,15,16,15,17,16,16,17,17,17,17,16,17,16,18,17,11,12,12,14,14,13,13,14,14,15,13,14,13,15,14,14,15,15,15,16,14,15,15,17,15,12,13,13,15,14,13,13,14,15,15,14,15,14,16,15,15,15,15,15,16,15,16,15,17,16,12,13,13,15,15,14,14,14,15,16,13,14,13,16,15,15,15,16,16,17,15,16,15,17,15,14,15,15,16,16,14,15,15,16,16,15,16,16,17,16,15,15,16,15,17,16,17,17,18,17,14,15,15,16,16,15,16,16,16,17,14,15,15,17,16,17,17,17,17,18,15,16,16,18,15,6,9,9,12,12,9,10,11,12,13,8,10,10,13,12,11,12,13,14,14,10,12,12,14,13,9,10,10,12,13,10,10,12,13,14,10,11,11,13,13,12,13,13,14,15,12,13,13,15,14,8,10,10,12,12,10,11,11,13,13,9,11,10,13,13,12,13,13,14,15,12,13,12,15,13,11,12,12,14,14,12,13,13,13,15,13,13,13,14,15,14,14,15,14,16,14,15,15,15,15,11,12,12,14,13,12,13,13,15,14,12,13,12,15,13,14,14,15,16,16,13,14,13,16,13,7,10,10,12,12,10,10,12,12,14,10,11,11,13,12,12,13,13,13,15,12,13,13,15,14,10,11,11,13,13,10,10,12,12,14,12,12,12,14,13,13,13,14,13,15,13,14,14,15,14,9,10,11,13,13,11,12,12,13,14,10,12,10,14,12,13,13,14,14,15,13,13,12,15,13,12,13,13,14,14,12,13,13,14,15,13,14,14,15,15,13,13,15,13,16,15,15,15,16,16,12,13,13,14,14,13,14,14,15,15,12,13,12,15,14,15,15,15,16,16,13,14,13,15,13,7,10,9,12,12,9,10,11,13,13,9,11,10,13,13,11,13,13,14,15,11,13,12,15,14,9,11,11,13,13,10,10,12,13,14,11,12,12,14,14,12,13,14,14,15,13,13,13,15,15,9,11,10,13,12,11,12,11,14,14,10,12,10,14,13,13,14,13,15,15,12,14,12,15,14,12,13,13,14,15,13,13,14,14,15,13,14,14,15,15,14,14,15,14,17,14,15,15,16,16,12,13,12,15,13,13,14,14,15,15,12,14,13,15,13,14,15,15,16,16,14,15,14,16,14,11,12,12,14,14,13,13,14,14,15,13,14,13,15,15,14,15,15,16,17,14,15,15,16,15,12,13,13,15,15,13,13,14,15,16,14,14,14,16,15,15,15,16,15,17,15,16,15,17,16,12,13,13,14,15,14,14,15,15,16,13,14,13,15,15,15,15,16,16,17,15,15,15,16,15,14,15,15,16,16,14,15,15,16,17,15,16,16,17,17,16,15,16,15,17,16,17,17,17,17,14,15,15,15,16,15,15,16,16,17,14,15,15,16,16,16,16,17,17,18,15,16,15,17,15,11,13,12,14,14,12,13,13,15,15,12,14,13,15,14,14,15,15,16,16,14,15,14,16,15,12,13,13,15,15,13,14,14,15,16,13,14,14,16,16,15,15,16,16,17,15,16,15,17,16,12,13,13,15,14,13,14,14,16,15,13,14,13,16,14,15,16,15,17,16,15,15,14,18,15,14,15,15,16,16,15,15,16,16,17,15,16,15,17,16,16,16,17,17,18,16,17,17,18,17,14,15,15,16,15,15,16,15,17,16,15,15,15,17,15,16,17,17,18,17,16,17,16,18,15,10,12,12,14,14,12,13,13,14,14,12,13,13,14,14,13,14,14,15,15,13,14,14,16,15,11,12,13,14,14,12,13,13,15,15,12,13,13,15,15,13,14,15,15,16,14,15,15,16,16,12,13,13,14,14,13,13,14,15,15,13,14,13,15,15,14,15,15,16,16,14,15,14,16,15,13,14,14,15,15,13,14,14,15,16,14,14,15,16,16,14,15,15,15,17,15,16,16,17,17,13,14,14,15,15,14,15,15,16,16,14,15,15,16,16,15,16,16,16,17,15,16,15,17,16,11,12,12,14,14,12,13,13,14,15,12,13,13,15,14,13,14,14,15,16,13,14,14,16,15,12,13,13,14,15,13,13,14,15,15,13,14,14,15,15,14,14,15,15,17,14,15,15,16,16,12,13,13,15,15,13,14,14,15,15,13,14,13,15,15,14,15,15,16,17,14,15,15,16,16,13,13,14,15,16,14,14,15,15,16,14,15,15,16,16,15,15,16,15,18,15,16,16,17,17,14,15,15,16,16,15,15,15,16,16,14,15,15,17,16,16,16,16,17,17,15,16,16,17,16,10,12,12,14,14,12,13,13,14,15,12,13,13,15,14,14,14,15,15,16,14,15,14,16,15,12,13,13,15,14,13,13,14,15,15,13,14,14,15,15,14,14,15,15,16,14,15,15,16,16,12,13,13,15,15,13,14,14,15,16,13,14,13,15,14,15,15,15,16,16,14,15,15,16,15,13,14,14,16,15,14,14,14,15,16,14,15,15,16,16,15,15,16,15,17,16,17,16,17,17,14,14,15,15,16,15,15,16,16,16,14,15,14,16,15,16,16,16,17,17,15,16,15,17,15,11,13,13,14,15,13,13,14,15,15,13,14,13,15,15,14,15,15,15,16,14,15,15,17,15,13,13,14,15,15,13,14,15,15,16,14,14,14,16,16,15,14,16,15,17,15,16,16,17,16,13,14,14,15,15,14,14,14,16,16,13,15,14,16,15,15,15,16,17,17,15,16,15,17,16,14,15,15,15,16,15,15,16,15,17,15,16,16,16,17,16,16,17,15,18,16,17,17,17,17,14,15,15,16,16,15,16,16,17,17,15,16,15,17,16,16,17,17,18,18,16,17,15,18,16,10,12,12,14,14,13,13,14,14,15,13,14,13,15,14,14,15,15,15,16,15,15,15,16,15,12,13,13,15,14,12,12,14,14,15,14,15,14,16,15,15,14,15,14,17,15,16,16,17,16,12,13,13,14,15,14,14,15,15,16,13,14,12,16,14,15,16,16,16,17,15,16,14,17,15,14,15,14,16,15,14,14,15,15,15,15,16,15,17,16,15,14,16,14,16,16,17,17,18,17,14,14,15,15,16,15,16,16,16,17,14,15,14,16,15,16,16,17,17,17,15,16,14,17,14,10,12,12,14,13,12,13,13,14,14,11,13,12,14,14,13,14,14,15,16,13,14,14,16,15,12,13,13,14,14,13,13,14,15,15,13,14,13,15,15,14,14,15,15,16,14,15,15,16,16,11,13,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,13,14,14,16,15,13,14,14,15,15,14,15,15,15,16,14,15,15,16,16,15,16,16,16,17,16,16,16,17,17,13,14,14,15,15,14,15,15,16,16,13,14,14,16,15,15,16,16,17,17,15,15,15,17,15,11,12,12,14,14,12,13,13,14,15,12,13,13,15,14,14,14,15,15,16,14,14,14,16,15,12,13,13,15,14,13,13,14,15,15,13,14,14,16,15,14,15,15,15,16,15,15,15,16,16,12,13,13,14,15,13,13,14,15,15,13,14,13,15,15,15,15,15,16,16,14,15,14,16,15,14,14,15,16,16,14,15,15,15,16,15,16,15,16,16,15,15,16,15,17,16,16,16,17,17,13,14,14,15,16,14,15,15,16,16,14,14,14,16,16,16,16,16,17,17,15,15,15,17,15,11,12,12,14,14,12,13,13,14,15,12,13,13,15,14,14,14,14,15,16,13,14,14,16,15,12,13,13,15,15,13,13,14,15,16,13,14,14,15,15,14,15,15,16,17,14,15,15,17,16,12,13,13,15,14,13,14,14,15,15,13,14,13,15,15,14,15,15,16,16,14,15,14,17,15,14,15,15,16,16,14,15,15,16,17,15,15,15,17,17,15,16,16,16,17,16,17,16,17,17,13,15,14,16,15,14,15,15,16,16,14,15,14,16,15,16,16,16,17,17,15,16,15,17,15,10,12,12,14,14,13,13,14,14,15,13,14,13,15,14,14,15,15,15,17,14,15,15,16,15,12,13,13,15,14,12,12,14,14,15,14,15,14,16,15,15,14,16,15,17,15,16,16,17,16,12,13,13,14,15,14,14,15,15,16,12,14,12,15,14,15,16,16,16,17,15,16,14,17,14,14,15,14,16,16,14,14,15,15,16,15,16,16,17,16,15,14,16,14,17,16,17,17,18,17,14,14,15,15,16,15,15,16,16,17,14,15,14,16,15,16,17,17,17,18,15,16,14,17,14,11,13,13,15,14,13,13,14,15,15,12,14,13,15,15,14,15,15,15,17,14,15,14,16,15,13,14,14,15,15,13,14,15,15,16,14,15,14,16,16,15,15,16,16,17,15,16,16,17,17,13,14,13,15,15,14,14,14,16,16,13,15,14,16,15,15,16,16,17,17,15,16,14,17,15,15,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,15,17,16,17,17,17,17,18,18,14,15,15,17,15,15,16,16,17,16,15,16,15,17,15,16,17,17,17,17,16,17,15,18,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,7,8,8,10,10,8,9,9,10,11,8,9,9,10,10,9,10,10,11,11,9,10,10,11,11,8,9,9,10,10,9,9,10,11,11,9,10,10,11,11,10],"i8",N3,x.GLOBAL_BASE+400337),E3([10,11,11,11,10,11,11,11,11,8,9,9,10,10,9,10,10,11,11,9,10,9,11,11,10,11,11,11,11,10,11,10,11,11,10,10,10,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,11,12,11,11,11,11,12,10,10,10,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,12,11,11,11,11,12,11,8,9,10,11,11,9,10,11,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,10,11,11,10,10,11,11,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,10,10,11,11,10,11,11,12,12,10,11,11,12,11,11,12,12,12,12,11,12,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,8,10,9,11,11,9,10,10,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,10,10,11,11,10,11,11,12,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,11,12,11,11,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,13,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,10,11,11,12,11,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,12,12,13,13,13,13,13,13,13,13,13,8,10,10,11,11,9,10,10,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,11,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,10,10,11,11,10,11,11,12,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,11,12,10,11,11,12,12,11,11,11,12,12,11,11,11,12,12,10,10,11,11,12,11,11,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,10,11,11,12,12,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,12,12,12,13,12,12,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,11,12,12,12,12,12,12,12,13,12,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,11,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,10,10,11,11,9,10,10,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,10,11,11,10,11,11,11,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,11,12,12,11,12,11,12,12,10,11,11,12,12,11,11,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,10,12,11,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,11,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,11,11,12,12,11,12,12,12,12,11,12,11,13,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,12,13,13,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,11,12,12,12,11,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,12,13,12,13,12,12,13,13,13,12,12,13,13,13,12,13,13,13,13,12,12,12,12,13,12,12,13,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,11,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,13,13,13,13,12,13,13,12,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,13,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,11,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,12,13,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,11,12,12,12,12,12,13,13,11,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,13,13,13,13,13,12,13,12,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,13,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,13,13,13,13,13,13,13,13,13,12,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,8,5,8,7,5,7,8,7,8,10,8,10,10,5,8,7,8,10,10,7,10,8,6,8,9,9,10,12,9,11,11,9,10,11,11,11,13,11,13,13,9,11,11,11,12,13,11,13,11,6,9,8,9,11,11,9,12,10,9,11,11,11,11,13,11,13,13,9,11,10,11,13,13,11,13,11,6,9,9,8,10,11,9,12,11,8,10,11,10,11,13,11,13,13,9,11,11,11,13,12,11,13,11,8,10,10,9,11,12,10,12,12,10,10,12,11,11,14,12,13,14,10,12,12,12,13,13,11,14,11,8,11,10,11,12,13,11,14,12,10,12,11,11,12,14,13,15,14,10,12,12,13,14,15,12,14,12,5,9,9,9,11,12,8,11,10,9,11,11,11,11,13,11,12,13,8,11,10,11,13,13,10,13,11,8,10,11,11,12,14,11,13,12,10,12,12,12,12,14,14,15,14,10,11,12,13,14,15,11,14,12,8,10,10,10,12,12,9,12,11,10,12,12,11,11,14,12,13,13,10,12,10,12,14,13,11,13,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,6,7,7,7,7,7,7,7,7,7,7,8,7,8,8,7,8,8,7,8,7,7,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,8,8,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,8,8,8,8,8,9,8,8,9,8,7,8,8,7,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,7,8,8,8,8,9,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,9,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,7,8,8,7,8,8,8,8,8,8,8,9,8,8,9,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,9,8,8,8,8,8,9,9,9,9,9,8,8,8,8,9,9,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,5,4,7,7,4,7,7,5,7,8,7,8,10,8,9,9,5,7,7,8,9,9,7,10,8,5,7,8,8,9,10,8,10,10,8,9,10,10,10,12,10,12,12,8,10,10,10,12,12,10,12,11,5,8,7,8,10,10,8,10,9,8,10,10,10,11,12,10,12,12,8,10,9,10,12,12,10,12,10,5,8,8,7,10,10,8,10,10,7,9,10,9,10,12,10,12,12,8,10,10,10,12,12,10,12,11,7,9,10,9,11,12,10,12,11,9,9,12,11,10,14,12,12,13,10,12,11,12,13,13,11,14,12,7,10,9,10,11,11,10,12,11,9,11,11,11,11,13,12,14,13,10,12,12,12,14,14,11,14,12,5,8,8,8,10,10,7,10,10,8,10,10,10,11,12,10,12,12,7,10,9,10,12,12,9,12,10,7,9,10,10,11,12,10,11,11,10,12,12,11,12,14,12,14,14,9,11,11,12,13,14,11,13,11,7,10,9,10,11,12,9,12,11,10,11,12,11,12,14,12,13,13,9,12,9,12,13,12,11,14,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,9,9,6,8,8,10,10,6,8,8,10,10,8,10,10,12,13,8,10,10,13,12,6,8,8,10,10,8,8,9,10,11,8,9,9,11,11,10,10,11,12,13,10,11,11,13,13,6,8,8,10,10,8,9,9,11,11,8,9,8,11,10,10,11,11,13,13,10,11,10,13,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,12,15,13,13,13,15,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,13,13,14,15,12,13,12,15,12,6,8,8,10,11,8,9,10,11,12,8,9,9,11,11,10,11,12,13,14,10,11,11,13,13,8,9,9,11,12,9,10,11,12,13,9,10,10,12,13,11,12,13,13,15,11,12,12,14,14,8,9,9,11,12,9,10,11,12,13,9,10,10,13,12,11,12,13,14,15,11,12,12,14,13,10,11,12,13,14,11,12,13,13,15,12,13,13,14,14,13,13,14,14,16,14,15,14,16,15,10,12,11,14,13,12,12,13,14,14,11,12,12,14,14,14,14,15,15,16,13,14,14,16,14,6,8,8,11,10,8,9,9,11,11,8,10,9,12,11,10,11,11,13,13,10,12,11,14,13,8,9,9,12,11,9,10,10,12,13,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,8,9,9,12,11,9,10,10,13,12,9,11,10,13,12,11,12,12,14,14,11,13,12,15,13,10,11,12,13,14,11,12,13,13,14,12,13,12,14,14,13,13,14,14,16,14,15,14,16,16,10,12,11,14,13,12,13,13,14,14,11,13,12,15,13,14,14,15,16,16,13,14,13,16,14,9,10,11,12,13,11,11,12,13,14,11,11,12,13,14,13,13,14,14,16,13,14,14,15,15,11,11,12,13,14,12,12,13,13,15,12,13,13,14,15,14,14,15,15,17,14,14,15,16,16,11,12,12,13,14,12,12,13,14,15,12,13,12,14,15,14,14,15,15,17,14,15,14,16,16,13,14,14,15,16,14,14,15,15,17,14,15,15,16,16,15,16,17,16,18,16,17,16,17,17,13,14,14,16,15,14,15,15,16,16,14,15,14,16,15,16,16,17,17,18,16,16,16,17,16,9,11,10,13,12,11,12,11,14,13,11,12,11,14,13,13,14,14,16,15,13,14,13,16,14,11,12,12,14,13,12,12,13,14,14,12,13,13,15,14,14,14,15,16,16,14,15,14,17,15,11,12,11,14,13,12,13,13,15,14,12,13,12,15,13,14,15,14,16,16,14,15,14,17,15,13,14,14,15,16,14,14,15,16,16,14,15,15,16,16,15,16,16,16,17,16,16,16,17,17,13,14,14,16,15,14,15,15,17,16,14,15,14,17,15,16,17,17,17,17,16,16,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,11,11,14,13,8,9,9,11,12,9,10,10,12,13,9,10,10,13,12,11,11,12,13,15,11,12,12,15,14,8,9,9,12,11,9,10,11,12,13,9,11,10,13,12,11,12,12,14,15,11,13,12,15,14,10,11,11,13,14,11,12,12,13,14,11,12,12,14,14,13,13,14,14,16,13,14,14,16,15,11,12,11,14,13,12,13,13,14,14,11,13,12,14,13,14,14,15,16,16,13,14,14,16,14,8,9,9,11,12,9,10,10,12,13,9,10,10,13,12,11,12,12,14,15,11,12,12,14,14,9,9,10,11,13,10,10,12,12,14,10,10,11,13,13,12,12,13,14,16,12,12,13,15,15,9,10,10,13,12,10,11,11,13,14,10,12,11,14,13,12,13,13,15,15,12,13,13,15,15,11,11,12,13,15,12,12,13,13,15,12,13,13,14,15,14,14,15,15,17,14,15,15,16,16,11,13,12,15,14,13,13,13,15,15,12,14,13,15,14,15,15,15,16,16,14,15,15,17,15,7,9,9,12,11,9,10,10,12,12,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,9,10,10,12,12,10,10,11,12,13,10,11,11,14,13,12,12,13,14,15,12,13,13,15,14,9,10,10,12,12,10,11,11,13,13,10,11,10,14,12,12,13,13,15,15,12,13,12,15,13,11,12,12,14,14,12,12,13,14,15,12,13,13,15,15,14,13,14,13,16,14,15,15,16,16,11,12,12,14,14,13,13,14,15,15,12,13,12,15,14,15,15,15,16,16,14,15,14,17,14,10,11,12,13,14,11,12,13,14,15,11,12,12,14,15,13,14,15,15,17,14,14,14,16,16,11,12,13,12,15,12,12,14,13,16,13,13,14,13,16,14,14,15,14,17,15,15,15,15,17,11,13,12,15,15,13,13,14,15,16,12,14,13,16,15,15,15,15,17,17,15,15,15,17,16,14,14,15,14,16,14,14,16,14,17,15,15,15,14,17,16,16,17,15,18,17,17,17,16,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,17,17,17,18,18,16,17,16,18,17,10,11,11,14,13,11,12,12,14,14,11,13,12,15,14,14,14,14,16,16,14,15,14,16,15,11,12,12,15,13,12,13,13,15,14,13,14,13,16,14,14,15,15,16,16,15,16,15,17,16,11,13,12,15,14,13,13,14,15,15,12,14,13,16,14,15,15,15,17,17,14,16,15,17,16,14,14,14,16,15,14,15,15,16,16,15,16,15,17,16,16,16,16,16,17,16,17,17,18,17,14,15,15,16,16,15,15,16,17,16,14,15,15,17,16,17,17,17,18,18,16,17,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,12,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,11,10,13,12,11,12,13,14,15,11,12,12,15,14,8,9,9,12,11,9,10,10,12,13,9,10,10,13,12,11,12,12,14,15,11,12,12,14,13,11,11,12,13,14,11,12,13,13,15,12,13,13,14,14,13,14,14,14,16,14,15,14,16,16,10,11,11,14,13,11,12,12,14,14,11,12,12,14,13,13,14,14,15,16,13,14,13,16,14,7,9,9,11,11,9,10,11,12,13,9,10,10,12,12,11,12,13,14,15,11,12,12,14,14,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,13,15,12,13,13,15,15,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,13,13,14,15,12,13,12,15,13,11,12,12,14,14,12,12,13,14,15,13,14,13,15,15,14,13,15,13,16,15,15,15,16,16,11,12,12,14,14,12,13,13,14,15,12,13,12,15,14,14,15,15,16,17,13,14,13,16,13,8,9,9,12,11,9,10,10,12,13,9,10,10,13,12,11,12,12,14,15,11,12,12,15,14,9,10,10,12,13,10,11,12,13,14,10,11,11,14,13,12,13,13,15,15,12,13,13,15,15,9,10,9,13,11,10,11,10,13,13,10,12,10,14,12,12,13,12,15,15,12,13,12,15,14,11,12,13,14,15,12,13,14,14,15,13,13,13,15,15,14,15,15,15,17,15,15,15,16,16,11,12,11,15,13,12,13,13,15,14,12,13,12,16,13,14,15,15,16,16,14,15,14,17,14,10,11,11,13,14,11,12,13,14,15,11,12,12,14,14,14,14,15,15,17,14,14,14,15,16,11,12,13,14,15,12,13,14,14,16,13,14,13,15,15,14,15,16,15,17,15,15,15,17,17,11,12,12,13,15,13,13,14,14,16,12,13,13,14,15,15,15,15,16,17,14,15,15,16,16,14,15,15,16,16,14,15,15,16,17,15,15,16,16,17,16,16,17,16,18,17,17,17,18,18,14,14,15,15,16,15,15,15,16,17,14,15,15,16,16,16,17,17,17,18,16,16,16,17,16,10,11,11,14,13,11,13,12,15,14,11,13,12,15,14,14,15,14,16,16,13,15,14,17,15,11,12,13,15,15,12,13,14,15,16,13,14,13,16,15,15,15,15,16,17,15,15,15,17,16,11,13,11,15,12,13,14,13,16,13,12,14,12,16,13,15,15,15,17,15,14,16,14,17,14,14,15,15,16,17,15,15,16,16,17,15,16,15,17,17,16,16,17,17,18,16,17,17,18,18,14,15,14,17,13,15,16,15,17,15,15,16,15,17,14,16,17,16,18,16,16,17,16,18,15,9,11,11,13,13,10,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,16,16,10,11,12,14,14,11,12,13,14,15,11,13,13,15,15,13,14,14,15,16,14,15,15,16,16,11,12,12,14,14,12,13,13,15,15,12,13,12,15,14,14,15,15,16,16,14,15,14,17,16,12,13,13,15,16,13,13,14,15,16,13,14,14,16,16,14,15,16,16,17,15,16,16,17,17,13,14,14,16,15,14,15,15,17,16,14,15,14,17,15,16,16,17,17,17,16,16,16,18,16,10,11,12,14,14,11,12,13,14,15,11,13,12,15,15,13,14,15,16,16,14,15,15,17,16,11,11,13,14,15,12,12,14,14,16,12,13,14,15,15,14,14,15,16,17,15,15,15,17,17,12,13,12,15,15,13,14,14,16,15,13,14,13,16,15,15,16,15,17,17,15,16,15,17,16,13,12,15,14,16,14,13,15,14,17,14,13,15,15,17,15,14,17,15,18,16,15,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,16,17,17,18,18,16,17,16,18,17,10,11,11,14,14,11,12,12,14,15,11,13,12,15,14,13,14,14,16,16,14,15,14,16,16,11,12,12,14,14,12,12,13,15,15,12,13,13,15,15,14,14,15,16,16,14,15,15,17,16,11,12,12,15,15,13,13,13,15,15,12,13,13,15,15,15,15,15,17,17,14,15,15,17,16,13,14,13,16,15,14,14,14,16,16,14,15,14,17,16,15,15,16,16,17,16,17,16,18,17,14,15,15,16,16,15,15,15,17,17,14,15,15,17,16,16,17,17,18,18,16,17,16,18,16,12,13,13,15,15,13,14,14,16,16,13,14,14,16,16,14,15,16,16,18,15,16,16,17,17,13,13,14,14,16,14,14,15,15,17,14,14,15,15,17,15,15,17,15,18,16,16,17,17,18,13,14,14,16,16,14,15,15,16,17,14,15,15,17,16,16,17,16,17,18,16,17,16,18,17,15,14,16,13,18,16,15,17,14,18,16,15,17,14,18,17,16,18,15,19,17,17,18,16,19,15,16,16,17,17,16,17,17,18,18,16,17,16,18,17,18,18,18,19,18,17,18,17,19,17,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,15,15,16,17,15,16,15,17,16,12,13,13,15,15,13,13,14,15,16,14,15,14,16,15,15,15,16,16,17,16,16,16,18,17,12,13,13,15,15,14,14,15,16,16,13,14,13,16,15,16,16,16,17,17,15,16,15,18,16,15,15,15,17,15,14,15,15,16,16,16,17,16,17,16,16,16,17,16,17,17,18,17,19,18,15,15,16,17,17,16,16,16,17,17,15,16,15,17,16,17,18,18,18,18,16,17,16,18,16,9,11,11,13,13,11,12,12,14,14,10,12,12,14,14,13,14,14,15,16,13,14,14,16,15,11,12,12,14,14,12,12,13,14,15,12,13,13,15,15,14,14,15,16,17,14,15,15,16,16,10,12,11,14,14,11,13,13,15,15,11,13,12,15,14,14,14,15,16,16,13,14,14,16,15,13,14,14,15,16,14,14,15,15,17,14,15,15,16,17,16,16,16,16,18,16,16,17,17,17,12,13,13,16,15,13,14,14,16,16,12,14,13,16,15,15,16,16,17,17,14,16,15,17,16,10,11,11,14,14,11,12,13,14,15,11,12,12,15,14,14,14,15,16,16,13,14,14,16,16,11,12,12,14,15,12,13,14,15,15,13,13,13,15,15,14,15,15,16,17,15,15,15,16,17,11,12,12,14,14,12,13,13,15,15,12,13,12,15,15,14,15,15,16,17,14,15,14,16,16,14,14,15,16,16,14,15,15,16,17,15,16,15,17,17,16,16,17,16,18,16,17,17,18,18,13,13,14,15,16,14,14,15,16,17,14,14,14,16,15,16,16,17,17,18,15,16,15,17,16,10,12,11,14,14,11,13,13,15,15,11,13,12,15,15,14,15,15,16,16,13,15,14,16,16,12,12,13,15,15,13,13,14,15,16,13,14,14,16,15,15,15,16,16,17,15,15,15,17,17,11,13,11,15,14,12,14,13,16,15,12,14,12,16,14,15,15,15,17,17,14,15,14,17,15,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,17,18,16,17,17,18,18,13,14,12,16,14,14,15,13,17,15,14,15,13,17,14,16,17,15,18,17,15,17,14,18,15,11,12,12,14,15,13,13,14,15,16,13,14,13,16,15,15,15,16,16,17,15,15,15,16,16,12,13,13,15,15,13,13,14,15,16,14,15,14,16,16,15,15,16,16,18,16,16,16,18,17,12,13,13,15,15,14,14,15,15,16,13,14,13,15,15,16,16,16,17,18,15,16,15,17,16,15,16,15,17,16,15,15,16,16,17,16,17,16,17,17,16,16,17,16,18,17,18,18,18,18,14,15,15,15,17,16,15,17,16,17,14,15,15,16,16,17,17,18,18,19,16,16,16,17,16,12,13,13,15,15,13,14,14,16,16,13,14,14,16,16,15,16,16,17,17,15,16,15,18,16,13,14,14,16,16,14,15,15,16,17,14,15,15,17,16,16,16,17,17,18,16,17,16,18,18,13,14,13,16,14,14,15,14,17,15,14,15,14,17,14,16,17,16,18,17,15,17,15,18,15,15,16,16,17,18,16,16,17,17,18,16,17,17,17,18,17,17,18,18,19,17,18,18,19,18,15,16,14,17,13,16,17,15,18,14,16,17,15,18,14,18,18,17,19,16,17,18,16,19,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,4,7,7,4,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,6,7,8,8,9,10,8,9,10,8,9,10,10,10,12,10,11,11,8,10,10,10,11,12,10,11,11,6,8,7,8,10,9,8,10,9,8,10,10,10,11,11,10,12,11,8,10,9,10,11,11,10,12,10,5,8,8,8,10,10,8,10,10,7,9,10,9,10,11,9,11,11,8,10,10,10,11,12,10,12,11,7,9,9,9,10,11,9,11,11,9,9,11,10,11,12,11,11,12,9,11,11,11,12,12,11,12,12,7,9,9,10,11,11,10,12,11,9,11,10,11,11,12,11,13,12,10,11,11,12,13,13,11,13,11,5,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,11,7,10,9,9,11,11,9,11,10,7,9,9,10,11,12,10,11,11,10,11,11,11,11,13,12,13,13,9,10,11,11,12,13,11,12,11,7,9,9,9,11,11,9,11,10,9,11,11,11,12,12,11,12,12,9,11,9,11,12,11,10,12,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,9,14,16,17,19,22,22,5,4,6,9,11,13,17,20,9,5,5,6,9,11,15,19,11,7,5,5,7,9,13,17,14,9,7,6,6,7,11,14,16,11,9,7,6,4,4,8,19,15,13,11,9,4,3,4,21,16,16,15,12,6,4,4,2,0,0,0,64,0,0,0,56,145,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,6,0,0,0,0,0,0,0,0,0,40,98,6,0,0,0,0,0,0,0,0,0,80,98,6,0,120,98,6,0,0,0,0,0,0,0,0,0,160,98,6,0,200,98,6,0,0,0,0,0,0,0,0,0,240,98,6,0,24,99,6,0,0,0,0,0,0,0,0,0,64,99,6,0,104,99,6,0,24,99,6,0,0,0,0,0,144,99,6,0,184,99,6,0,56,167,5,0,96,167,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,192,97,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,13,15,16,17,19,20,6,3,4,7,9,10,12,15,13,4,3,4,7,8,11,13,14,7,4,4,6,7,10,11,16,9,7,6,7,8,9,10,16,9,8,7,7,6,8,8,18,12,10,10,9,8,8,9,20,14,13,12,11,8,9,9,5,0,0,0,243,0,0,0,48,144,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,40,145,6,0,0,0,0,0,5,0,0,0,53,12,0,0,224,131,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,24,144,6,0,0,0,0,0,5,0,0,0,243,0,0,0,216,130,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,208,131,6,0,0,0,0,0,5,0,0,0,243,0,0,0,208,129,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,200,130,6,0,0,0,0,0,5,0,0,0,243,0,0,0,200,128,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,192,129,6,0,0,0,0,0,5,0,0,0,53,12,0,0,120,116,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,176,128,6,0,0,0,0,0,5,0,0,0,53,12,0,0,40,104,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,96,116,6,0,0,0,0,0,1,0,0,0,7,0,0,0,0,104,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,8,104,6,0,0,0,0,0,5,0,0,0,243,0,0,0,248,102,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,240,103,6,0,0,0,0,0,5,0,0,0,243,0,0,0,240,101,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,232,102,6,0,0,0,0,0,5,0,0,0,243,0,0,0,232,100,6,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,224,101,6,0,0,0,0,0,5,0,0,0,243,0,0,0,224,99,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,216,100,6,0,0,0,0,0,1,4,5,5,10,10,5,10,10,5,10,10,10,10,10,10,10,10,5,10,10,10,10,10,10,10,10,7,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,6,7,8,6,8,7,6,7,7,7,7,8,7,8,8,6,7,7,7,8,8,7,8,7,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,10,9,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,9,9,10,9,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,9,10,8,9,9,9,10,9,9,10,9,7,8,8,8,9,9,8,9,9,8,8,9,9,9,9,9,9,9,8,9,9,9,10,9,9,9,9,7,9,9,9,9,10,9,10,9,9,9,9,9,9,10,10,10,10,9,9,9,10,10,10,9,10,9,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,9,9,10,9,7,9,9,9,9,10,9,10,9,9,9,9,9,9,10,10,10,10,9,9,9,10,10,10,9,10,9,7,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,9,10,8,9,8,9,9,9,9,10,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,5,7,9,5,9,7,5,7,8,7,7,10,9,10,10,5,8,7,9,10,10,7,10,7,6,9,9,9,10,12,9,11,11,9,10,11,11,11,13,12,13,13,9,11,11,12,13,13,11,13,11,6,9,9,9,11,11,9,12,10,9,11,11,11,11,13,12,13,13,9,11,10,12,13,13,11,13,11,6,9,9,9,11,12,9,12,11,9,10,11,10,10,13,12,13,13,9,11,11,12,13,12,11,13,11,7,9,10,9,10,12,10,12,11,10,10,12,10,10,12,12,12,13,10,11,11,12,12,13,10,12,10,7,10,10,11,11,14,11,14,11,10,12,11,11,11,14,14,14,14,10,11,12,14,14,14,11,14,11,6,9,9,9,11,12,9,12,11,9,11,11,11,11,13,12,12,13,9,11,10,12,13,13,10,13,10,7,10,10,11,11,14,11,14,11,10,12,11,11,11,14,14,15,14,10,11,12,13,14,15,11,14,11,7,10,9,10,11,12,9,12,10,10,11,11,10,10,12,12,13,12,9,12,10,12,13,12,10,12,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,10,10,5,7,8,11,12,5,8,7,12,11,9,11,11,13,15,9,11,11,15,13,6,7,8,11,11,7,7,9,11,13,8,9,9,13,12,11,11,12,12,15,11,12,12,15,14,6,8,7,11,11,8,9,9,12,13,7,9,7,13,11,11,12,12,14,15,11,12,11,15,12,10,11,11,12,14,10,11,12,12,15,12,13,13,14,15,13,12,14,12,16,15,15,15,16,16,10,11,11,14,12,12,13,13,15,14,10,12,11,15,12,15,15,15,16,17,13,14,12,17,12,6,8,8,12,12,8,9,10,13,13,8,9,9,13,13,12,12,13,15,16,12,13,13,16,15,8,9,10,12,13,9,9,11,13,14,10,11,11,14,14,13,13,14,15,16,13,14,14,16,16,8,10,9,13,13,10,11,11,14,14,9,10,10,14,13,13,14,14,16,17,13,13,13,16,15,12,13,13,14,16,13,13,14,14,16,14,14,14,16,16,15,15,16,15,18,16,17,17,18,18,12,13,13,15,15,14,14,14,16,16,13,14,13,16,15,16,16,17,18,18,15,16,15,18,15,6,8,8,12,12,8,9,9,13,13,8,10,9,13,13,12,13,13,15,16,12,13,12,16,15,8,9,10,13,13,9,10,10,13,14,10,11,11,14,14,13,13,13,15,16,13,14,14,17,16,8,10,9,13,13,10,11,11,14,14,9,11,9,14,13,13,14,14,16,16,13,14,13,16,14,12,13,13,15,16,13,13,14,15,16,14,14,14,16,16,15,15,16,15,18,17,17,17,18,18,12,13,13,16,14,14,14,14,16,16,13,14,13,16,14,16,17,17,18,18,15,16,15,18,15,11,12,13,14,16,13,13,14,15,17,13,14,14,16,17,16,16,17,17,19,16,17,17,18,19,13,13,14,16,16,14,14,15,16,17,14,15,15,17,17,17,16,17,17,19,17,17,18,19,19,13,14,14,16,16,14,14,15,17,18,14,15,14,17,17,17,17,18,18,19,17,17,17,18,19,16,16,16,17,18,17,17,17,18,19,17,17,17,18,19,18,18,19,18,20,19,20,19,21,20,16,17,17,18,18,17,17,18,19,19,17,17,17,19,18,19,19,19,19,20,19,19,19,20,19,11,13,12,16,14,13,14,14,17,16,13,14,13,17,15,16,17,17,18,18,16,17,16,19,17,13,14,14,16,16,14,14,14,17,17,14,15,15,17,16,17,17,17,19,19,17,18,17,19,18,13,14,13,17,16,14,15,15,17,17,14,15,14,18,16,17,17,17,19,19,17,17,16,19,17,16,17,17,18,19,17,17,17,18,18,17,18,17,19,18,18,19,18,19,19,19,20,19,20,20,16,17,16,18,17,17,17,17,18,18,17,18,17,19,17,19,19,19,19,20,18,19,19,20,18,6,8,8,12,12,8,9,9,13,13,8,10,9,13,13,11,13,13,15,16,12,13,13,16,15,8,9,9,13,13,9,9,10,13,14,10,11,11,14,14,12,12,13,14,16,13,14,14,17,16,8,10,9,13,13,10,11,11,14,14,9,11,10,14,13,13,14,14,16,16,13,14,13,16,15,12,13,13,14,16,12,13,14,14,16,13,14,14,16,16,15,14,16,15,18,16,17,17,18,17,12,13,13,16,15,14,14,14,16,16,13,14,13,16,15,16,16,17,17,17,15,16,15,18,15,7,9,9,13,13,9,9,11,13,14,9,10,10,14,13,12,13,14,15,16,12,14,13,17,15,9,9,10,13,14,10,9,11,13,15,11,11,11,14,14,13,12,14,14,17,14,14,14,17,16,9,10,10,14,13,11,11,11,14,14,10,11,10,15,13,14,14,14,16,17,13,14,13,17,14,13,13,14,14,16,13,13,14,14,17,14,14,14,16,16,15,14,16,15,18,17,17,17,18,18,13,14,13,16,15,14,14,15,17,16,13,14,13,17,15,17,16,17,17,17,15,16,14,18,14,7,9,9,13,13,9,10,10,13,14,9,11,10,14,13,13,14,14,16,16,13,14,14,17,15,9,10,10,14,13,9,10,11,13,14,11,12,11,15,14,13,13,14,14,16,14,15,15,17,17,9,10,10,14,14,11,12,12,14,15,10,11,10,15,13,14,15,15,17,17],"i8",N3,x.GLOBAL_BASE+410577),E3([14,15,13,17,14,13,14,13,16,16,13,13,14,15,16,14,15,15,17,17,15,14,16,15,18,17,18,17,20,18,13,14,14,16,16,15,15,15,17,17,13,14,13,17,15,17,17,18,18,18,15,16,14,19,14,12,13,13,15,16,13,13,15,16,17,13,14,14,16,16,15,15,17,17,19,16,17,17,19,18,13,13,14,15,17,14,13,15,15,17,14,15,15,16,17,16,15,18,16,19,17,17,17,18,19,13,14,14,17,16,14,15,15,17,17,14,15,14,17,16,17,17,17,18,19,16,17,16,19,17,16,16,17,16,18,16,16,17,16,19,17,17,18,18,19,18,17,18,17,21,19,19,19,20,19,16,17,17,18,18,17,17,18,18,19,16,17,16,18,18,19,19,19,19,20,18,18,17,20,18,11,13,13,16,15,13,14,14,16,17,13,15,14,17,16,16,17,17,18,18,17,17,17,19,18,13,14,13,17,16,14,13,14,16,17,15,16,15,18,16,17,16,17,17,19,18,18,18,20,18,13,14,14,16,17,15,15,15,17,18,14,15,14,18,16,18,18,18,19,20,17,18,16,20,17,16,17,16,18,18,16,16,17,18,18,17,18,18,19,18,18,17,19,17,20,19,20,19,22,20,16,16,17,18,18,18,17,17,19,19,16,17,16,18,17,19,20,19,22,21,18,19,18,21,17,6,8,8,12,12,8,9,10,13,13,8,9,9,13,13,12,13,13,15,16,11,13,13,16,15,8,9,10,13,13,9,10,11,13,14,10,11,11,14,14,13,13,14,15,16,13,14,14,16,16,8,9,9,13,13,10,11,11,14,14,9,10,9,14,13,13,14,14,16,17,12,14,12,16,14,12,13,13,15,16,13,13,14,15,16,13,14,14,15,17,15,15,16,15,18,16,16,17,17,17,12,13,13,16,14,13,14,14,16,16,12,14,13,16,14,16,17,17,18,18,15,15,14,18,14,7,9,9,13,13,9,10,11,13,14,9,10,10,14,13,13,14,14,15,17,13,14,14,16,15,9,10,10,14,14,10,10,11,13,15,11,12,12,15,14,14,13,15,14,17,14,15,15,17,17,9,10,10,13,14,11,11,12,14,15,9,11,10,14,13,14,15,15,16,18,13,14,13,16,14,13,14,14,16,16,13,13,14,15,17,15,15,15,16,17,15,14,16,15,18,17,17,18,19,18,13,14,14,16,16,14,15,15,17,17,13,14,13,16,15,17,17,18,18,18,15,16,14,18,15,7,9,9,13,13,9,10,10,13,14,9,11,10,14,13,12,13,14,15,16,12,14,13,16,15,9,10,10,13,14,10,10,11,13,14,11,11,11,15,14,13,13,14,14,16,14,14,14,17,16,9,10,9,14,13,11,11,11,14,14,10,11,9,15,13,14,14,14,16,16,13,14,12,17,14,13,13,14,15,16,13,13,14,15,16,14,15,14,16,17,15,14,16,14,18,16,17,17,18,18,13,14,13,16,14,14,14,14,16,16,13,14,13,17,14,17,17,17,18,18,15,16,14,18,15,11,13,13,16,16,13,14,15,16,17,13,14,14,17,16,16,17,17,18,19,17,17,17,19,18,13,14,14,17,17,13,13,15,16,18,15,15,15,17,17,17,16,18,17,20,18,17,18,19,19,13,14,14,16,17,15,15,16,16,18,14,15,14,16,16,17,17,18,18,20,17,18,16,18,17,16,17,16,19,18,16,16,17,18,19,18,18,18,19,19,18,17,18,17,21,20,19,19,21,21,16,16,17,18,18,17,17,18,19,19,16,17,16,19,18,20,20,20,19,21,18,18,17,20,18,12,13,13,16,15,13,14,14,16,16,13,14,13,17,16,16,17,17,18,18,15,17,15,19,17,13,14,14,16,17,14,14,15,16,17,14,15,15,17,17,16,16,17,17,18,17,17,17,19,19,13,14,13,17,15,14,15,15,17,16,14,15,13,17,15,17,18,17,19,18,16,17,15,20,16,16,17,17,18,18,16,16,17,18,18,17,18,17,19,18,17,17,18,18,20,19,20,19,20,19,16,16,16,19,16,17,17,17,19,18,16,17,16,19,16,19,19,19,19,19,18,19,17,19,17,11,13,13,16,16,13,14,14,17,17,13,14,14,17,17,15,17,17,19,19,16,18,17,20,19,12,14,14,17,17,13,14,15,17,18,14,15,15,17,18,16,16,17,18,20,17,18,18,20,18,13,14,14,17,17,14,15,15,17,18,14,15,15,17,17,17,18,17,19,19,17,18,17,19,19,15,16,16,18,18,15,16,17,18,19,16,17,17,19,19,17,17,18,18,21,18,19,19,21,19,16,17,17,18,18,17,17,18,19,19,17,18,17,19,19,19,19,19,20,20,18,19,18,21,19,12,13,13,16,16,13,14,14,16,17,13,15,14,17,16,15,16,17,17,19,16,17,17,19,18,13,13,14,16,17,14,13,15,16,17,14,15,15,17,17,15,15,17,17,20,17,17,18,19,18,13,14,14,17,16,15,15,15,17,18,14,15,14,17,16,17,17,17,18,18,16,17,16,19,17,16,15,17,17,19,16,15,17,16,19,17,16,17,18,19,17,16,19,16,20,19,18,19,19,19,16,17,17,18,18,17,17,17,18,19,16,17,16,19,18,20,19,19,20,19,18,18,17,20,17,11,13,13,16,16,13,14,15,16,17,14,15,14,18,16,17,17,17,18,21,17,18,17,20,19,13,14,14,17,16,13,14,15,16,18,15,16,15,18,17,17,16,17,17,19,17,18,18,20,19,13,14,14,16,17,15,15,16,17,18,14,15,14,18,17,17,18,18,19,20,17,18,16,19,17,16,17,15,19,18,16,16,16,18,18,17,18,17,20,19,18,17,18,17,20,20,20,19,22,20,16,17,17,18,19,18,18,18,19,20,16,17,16,19,18,20,19,19,20,20,18,19,17,20,17,13,14,14,16,17,14,14,16,16,18,14,16,15,17,16,16,16,17,17,18,17,17,16,19,18,14,14,15,16,17,14,14,16,16,18,16,16,16,17,17,16,15,17,16,19,18,18,18,19,19,14,15,15,17,17,15,16,16,17,18,14,16,14,18,16,17,17,18,18,19,16,17,16,19,17,16,16,17,16,18,16,16,17,16,19,18,18,18,17,18,17,16,18,16,20,19,19,19,19,19,16,17,17,18,18,17,17,18,19,19,16,17,16,19,17,18,19,19,19,20,17,18,16,20,16,11,14,13,17,17,14,14,16,16,18,14,16,14,19,16,18,18,19,18,19,18,19,18,21,18,13,15,14,18,16,14,14,16,16,18,16,17,16,19,17,18,16,19,17,20,19,19,19,21,19,13,14,15,17,18,17,16,17,17,19,14,16,14,18,16,20,19,19,20,21,18,19,16,21,17,17,18,16,19,17,16,16,17,18,18,19,19,18,21,18,17,17,18,17,20,20,20,20,22,20,17,17,18,18,20,19,19,19,18,20,16,17,17,19,19,21,21,21,20,21,17,19,17,23,17,11,13,13,16,16,13,14,14,17,17,13,14,14,17,17,16,17,17,19,20,15,16,16,19,19,13,14,14,16,17,14,15,15,17,18,14,15,15,17,17,17,17,18,19,19,17,17,18,19,19,13,14,14,17,16,14,15,15,17,17,13,15,14,18,17,17,18,18,19,20,16,17,16,19,18,16,16,17,18,18,17,17,17,18,19,17,18,17,19,19,19,19,19,19,20,19,20,19,20,20,15,16,16,18,17,16,17,17,20,18,15,16,16,19,17,19,19,19,20,20,17,18,17,21,17,11,13,13,16,16,13,14,15,16,17,13,15,14,17,16,17,17,18,18,20,17,17,17,19,19,13,14,14,17,17,14,14,15,17,18,15,15,15,18,17,17,17,18,17,20,18,18,17,20,18,13,14,14,16,17,15,15,16,17,18,14,15,13,17,17,17,18,18,19,20,17,17,16,19,17,16,17,17,18,18,16,16,17,18,18,18,18,18,19,19,18,17,19,18,21,19,20,20,20,20,16,15,17,18,18,17,17,18,18,20,16,16,16,18,17,20,19,20,21,22,17,18,17,20,17,12,13,13,16,16,13,14,15,16,17,13,14,14,17,16,16,17,18,18,19,15,16,16,19,18,13,14,14,16,17,14,14,15,16,17,14,15,15,17,17,16,16,17,17,19,17,17,17,19,18,13,14,13,17,16,14,15,15,17,17,13,15,13,17,16,17,17,17,19,19,15,17,15,19,17,16,17,17,18,18,16,16,17,17,19,17,18,17,19,19,18,17,19,17,19,19,19,19,20,19,15,17,15,19,16,17,17,16,19,18,16,17,15,18,16,19,19,19,20,19,17,19,16,19,16,11,14,14,17,17,15,14,16,16,18,15,16,14,18,16,18,18,19,18,21,18,19,18,20,18,13,15,14,18,17,14,14,16,16,18,16,17,16,19,17,17,17,19,17,22,19,19,19,21,19,13,14,15,17,18,17,16,17,17,19,14,16,14,18,16,19,19,19,20,21,18,18,16,20,17,17,18,16,19,18,15,17,17,19,19,19,19,18,21,19,18,17,20,17,21,22,21,20,21,21,17,16,19,18,20,19,18,19,18,20,16,17,16,19,18,21,20,21,19,23,18,19,16,20,17,13,14,14,17,16,14,14,15,16,18,14,16,14,17,16,16,16,17,17,19,16,17,16,19,17,14,15,15,17,17,14,14,16,16,17,15,16,16,18,17,16,16,17,17,19,17,18,17,19,18,14,15,14,17,16,16,16,16,17,17,14,16,14,17,16,18,18,18,18,19,16,17,15,19,16,17,17,17,18,18,16,15,17,17,18,18,18,18,19,19,17,16,18,16,19,19,19,19,19,19,16,17,16,19,16,18,18,17,19,18,16,17,16,19,16,19,19,20,19,19,17,18,16,20,16,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,6,8,8,10,10,8,9,9,10,11,8,10,9,11,10,9,10,10,11,11,9,10,10,11,11,8,9,9,10,10,9,9,10,11,11,10,10,10,11,11,10,11,11,11,11,10,11,11,11,11,8,9,9,11,10,10,10,10,11,11,9,10,9,11,11,10,11,11,11,11,10,11,10,11,11,10,10,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,10,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,9,10,11,11,10,10,11,11,11,10,10,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,11,11,11,10,10,11,11,12,11,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,10,10,11,11,11,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,8,10,9,11,11,10,10,10,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,10,11,11,10,11,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,10,11,11,11,11,11,12,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,11,12,11,11,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,12,12,12,13,12,10,11,11,12,11,11,11,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,12,13,12,8,10,10,11,11,10,10,11,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,11,11,11,10,10,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,10,11,11,11,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,11,11,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,11,11,12,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,12,13,13,12,13,13,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,13,12,13,12,12,13,13,13,13,12,13,13,13,13,8,10,10,11,11,10,10,11,11,11,9,11,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,11,11,11,10,11,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,9,11,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,12,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,12,13,12,12,13,12,13,12,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,12,13,13,13,12,12,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,12,13,12,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,13,13,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,12,13,12,13,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,12,12,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,13,12,13,12,12,13,13,13,13,12,13,12,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,7,8,5,8,7,5,7,7,7,7,9,7,9,9,5,7,7,8,9,9,7,9,7,6,8,8,8,9,10,8,9,9,8,9,10,9,9,11,10,11,11,8,9,9,10,11,11,9,11,10,6,8,8,8,9,9,8,10,9,8,9,9,9,10,11,10,11,10,8,10,9,10,11,11,9,11,9,6,8,8,7,9,9,8,10,9,7,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,11,10,7,9,9,8,10,10,9,10,10,9,9,10,10,10,11,10,11,11,9,10,10,10,11,11,10,11,10,7,9,9,9,9,10,9,10,9,8,10,9,9,9,11,10,11,11,9,10,10,10,11,11,9,11,9,6,8,8,8,9,10,7,9,9,8,9,9,9,10,10,9,10,10,7,9,9,9,10,10,9,10,9,7,9,9,9,9,10,9,10,9,9,10,10,9,9,11,10,11,11,8,9,10,10,11,11,9,11,9,7,9,9,9,10,10,8,10,10,9,10,10,10,10,11,10,11,11,9,10,9,10,11,11,10,11,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,7,7,6,7,7,6,7,7,6,7,7,7,8,8,7,8,8,6,7,7,7,8,8,7,8,8,7,7,8,7,8,8,7,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,7,7,8,8,7,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,6,8,8,7,8,8,7,8,8,7,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,9,8,9,9,8,8,9,8,9,9,9,9,9,8,9,9,9,9,9,9,9,9,7,8,8,8,9,9,8,9,8,8,8,8,8,9,9,9,9,9,8,9,8,9,9,9,9,9,9,6,8,8,7,8,8,7,8,8,8,8,8,8,8,9,8,9,9,7,8,8,8,9,9,8,9,8,7,8,8,8,8,9,8,9,8,8,8,9,9,9,9,9,9,9,8,8,8,9,9,9,8,9,9,7,8,8,8,9,9,8,9,8,8,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,5,7,8,5,8,7,5,7,8,8,8,10,8,10,10,5,8,7,8,10,10,8,10,8,6,8,9,8,10,12,9,11,11,9,10,11,11,11,13,12,13,13,9,11,11,11,13,13,11,13,12,6,9,8,9,11,11,8,12,10,9,11,11,11,12,13,11,13,13,9,11,10,11,13,13,11,13,11,5,9,9,8,11,11,9,12,11,8,10,11,10,11,13,11,13,13,9,11,11,11,13,13,11,13,12,8,10,11,10,12,13,10,13,12,10,10,13,11,11,14,12,13,14,11,13,12,13,14,14,12,14,12,8,11,10,11,12,13,11,14,12,10,13,12,12,12,13,13,15,14,11,12,13,13,14,15,12,14,12,5,9,9,9,11,12,8,11,11,9,11,11,11,12,13,11,13,13,8,11,10,11,13,13,10,13,11,8,10,11,11,12,14,11,13,12,11,13,12,12,12,14,13,15,14,10,12,13,13,14,15,12,13,12,8,11,10,10,12,13,10,13,12,11,12,13,12,12,14,13,14,14,10,13,10,12,14,13,11,14,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,9,9,6,7,8,10,10,6,8,7,10,10,8,10,10,12,13,8,10,10,13,12,6,8,8,10,10,7,8,9,10,11,8,9,9,11,11,10,10,11,12,13,10,11,11,14,13,6,8,8,10,10,8,9,9,11,11,7,9,8,11,10,10,11,11,13,14,10,11,10,13,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,12,15,13,14,13,15,14,9,10,10,13,12,10,11,11,13,13,10,11,10,13,12,13,13,14,14,15,12,13,12,15,12,6,8,8,10,11,8,9,10,11,12,8,9,9,11,11,10,11,12,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,10,11,12,13,11,11,13,13,15,11,12,12,14,14,8,9,9,12,12,9,10,11,12,13,9,10,10,13,12,11,12,13,14,15,11,12,12,14,14,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,13,13,14,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,14,14,11,13,12,14,13,14,15,15,16,16,13,14,14,16,14,6,8,8,11,10,8,9,9,12,11,8,10,9,12,11,10,11,11,13,13,10,12,11,14,13,8,9,9,12,12,9,10,10,12,13,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,8,9,9,12,11,9,10,10,13,12,9,11,10,13,12,12,12,12,14,14,11,13,12,15,13,11,11,12,13,14,11,12,13,13,14,12,13,13,14,15,13,13,14,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,15,13,14,15,15,16,16,13,15,13,16,14,9,10,11,12,13,11,11,12,13,14,11,12,12,13,14,13,13,14,14,16,13,14,14,15,16,11,11,12,13,14,12,12,13,14,15,12,13,13,14,15,14,14,15,15,17,14,15,15,16,17,11,12,12,14,14,12,13,13,14,15,12,13,12,15,15,14,15,15,16,17,14,15,15,16,16,13,14,14,15,16,14,14,15,15,17,15,15,15,16,17,16,16,17,16,18,16,17,17,18,18,13,14,14,16,15,14,15,15,17,16,14,15,15,16,16,16,17,17,18,18,16,16,16,17,16,9,11,10,13,12,11,12,12,14,13,11,12,11,15,13,13,14,14,16,15,13,14,13,17,14,11,12,12,14,14,12,12,13,15,15,12,13,13,15,14,14,14,15,16,16,14,15,15,17,16,11,12,11,14,13,12,13,13,15,14,12,13,12,15,13,14,15,15,16,16,14,15,14,17,15,13,14,14,15,16,14,15,15,16,17,14,15,15,16,17,16,16,16,17,17,16,17,17,18,18,13,15,14,16,15,15,15,15,17,16,14,15,14,17,15,16,17,17,18,18,16,17,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,12,11,14,13,7,9,9,11,12,9,10,10,12,13,9,10,10,13,12,11,11,12,13,15,11,12,12,15,14,8,9,9,12,11,9,10,10,13,13,9,11,10,13,12,12,12,12,14,15,11,13,12,15,13,10,11,11,13,14,11,12,12,13,15,11,12,12,14,14,13,13,14,14,16,14,15,14,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,15,13,14,15,15,16,16,13,14,14,16,14,8,9,9,11,12,9,10,11,12,13,9,10,10,13,12,11,12,13,14,15,11,12,12,15,14,9,9,11,11,13,10,10,12,12,14,10,10,11,13,14,12,12,13,14,16,12,13,13,15,15,9,11,10,13,12,10,11,11,13,14,10,12,11,14,13,12,13,13,15,16,12,13,13,15,15,11,11,13,13,15,12,12,14,13,15,13,13,14,14,15,14,14,15,14,17,15,15,15,16,16,12,13,12,15,14,13,14,14,15,15,12,14,13,15,14,15,15,15,17,17,14,15,14,17,15,7,9,9,12,11,9,10,10,12,12,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,9,10,10,12,12,10,10,11,12,13,10,11,11,14,13,12,12,13,14,15,12,13,13,16,15,9,10,10,13,12,10,11,11,13,13,10,11,10,14,12,13,13,13,15,15,12,13,12,15,14,11,12,12,14,14,12,12,13,14,15,13,14,13,15,15,14,13,15,14,16,15,16,15,17,16,12,12,12,14,14,13,13,14,15,15,12,13,12,15,14,15,15,16,16,17,14,15,14,17,14,10,11,12,13,14,11,12,13,14,15,11,12,13,14,15,13,14,15,15,17,14,15,15,16,16,11,12,13,12,15,12,12,14,13,16,13,13,14,13,16,14,14,16,14,18,15,15,16,16,17,12,13,12,15,15,13,14,14,15,16,13,14,13,16,15,15,15,16,17,18,15,15,15,17,16,14,14,15,14,17,15,14,16,14,17,15,15,16,15,18,16,16,17,16,19,17,17,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,18,16,17,17,18,18,18,16,17,16,18,17,10,11,11,14,13,11,12,12,15,14,11,13,12,15,14,14,15,15,16,16,14,15,15,17,16,11,12,12,15,14,12,13,13,15,14,13,14,13,16,14,14,15,15,16,16,15,16,15,18,16,11,13,12,15,15,13,14,14,15,15,12,14,13,16,15,15,16,16,17,17,15,16,15,17,16,14,15,14,16,16,14,15,15,16,16,15,16,15,17,16,16,16,17,16,17,17,18,17,19,18,14,15,15,17,16,15,16,16,17,17,15,15,15,18,16,17,18,18,18,18,16,17,16,19,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,12,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,10,10,13,13,11,12,13,13,15,11,12,12,15,14,7,9,9,12,11,9,10,10,12,13,9,10,10,13,12,11,12,12,14,15,11,12,11,14,13,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,13,14,14,14,16,14,15,15,16,16,10,11,11,14,13,11,12,12,14,14,11,12,12,15,13,14,14,14,16,16,13,14,13,16,14,7,9,9,11,12,9,10,10,12,13,9,10,10,12,12,11,12,13,14,15,11,12,12,14,14,9,10,10,12,13,10,10,11,12,14,10,11,11,13,13,12,12,13,14,15,13,13,13,15,15,9,10,10,12,12,10,11,11,13,14,10,11,10,13,12,12,13,13,15,16,12,13,12,15,14,11,12,13,14,14,12,12,13,14,15,13,14,13,15,15,14,14,15,14,17,15,16,15,17,16,11,12,12,14,14,13,13,13,15,15,12,13,12,15,14,15,15,15,16,17,14,15,14,16,14,8,9,9,12,11,9,10,10,12,13,9,11,10,13,12,11,12,12,14,15,11,12,12,15,14,9,10,11,13,13,10,11,12,13,14,10,11,11,14,13,12,13,13,15,15,12,13,13,16,15,9,11,9,13,11,10,11,10,14,13,10,12,10,14,12,12,13,13,15,15,12,13,12,16,14,12,12,13,14,15,12,13,14,14,16,13,14,14,15,15,14,14,15,15,17,15,16,15,17,16,11,13,11,15,13,13,14,13,15,14,12,14,12,16,13,15,15,15,16,16,14,15,14,17,14,10,11,11,13,14,11,12,13,14,15,11,12,12,14,15,14,14,15,16,17,14,15,15,16,16,11,12,13,14,15,12,13,14,15,16,13,14,14,15,16,15,15,16,16,18,15,16,16,17,17,11,12,12,14,15,13,13,14,14,16,12,13,13,15,15,15,15,16,16,18,14,15,15,16,16,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,16,19,17,18,17,18,18,14,14,15,16,16,15,15,16,16,17,14,15,15,16,16,17,17,18,18,19,16,17,16,17,16,10,12,11,14,13,11,13,12,15,14,11,13,12,15,14,14,15,15,16,16,13,15,14,17,15,12,13,13,15,15,13,13,14,15,16,13,14,14,16,16,14,15,15,17,17,15,16,16,17,17,11,13,12,15,12,13,14,13,16,13,12,14,12,16,13,15,16,15,17,16,14,16,14,18,14,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,17,18,17,18,17,18,18,14,15,14,17,14,15,16,15,18,15,15,16,15,18,14,17,17,17,18,17,16,17,16,19,16,9,11,11,13,13,10,12,12,14,14,11,12,12,15,14,13,14,14,16,16,13,14,14,16,16,10,11,12,14,14,11,12,13,14,15,12,13,13,15,15,13,14,15,16,16,14,15,15,17,16,11,12,12,15,14,12,13,13,15,15,12,13,12,15,15,14,15,15,16,17,14,15,14,17,16,12,13,14,15,16,13,13,14,15,16,13,14,15,16,16,14,15,16,16,18,15,16,16,18,18,13,14,14,16,15,14,15,15,17,16,14,15,15,17,16,16,17,17,18,18,16,17,16,18,17,10,12,12,14,14,11,12,13,15,15,12,13,13,15,15,13,14,15,16,17,14,15,15,17,16,11,11,13,14,15,12,12,14,15,16,13,13,14,15,16,14,14,15,16,17,15,15,16,17,17,12,13,12,15,15,13,14,14,16,16,13,14,13,16,15,15,16,15,17,17,15,16,15,18,16,13,12,15,14,17,14,13,16,14,17,14,14,16,15,18,15,14,17,16,18,16,16,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,18,16,17,17,17,18,18,16,17,16,19,17,10,11,11,14,14,11,12,12,15,15,11,13,12,15,15,14,15,14,16,16,14,15,15,17,16,11,12,12,15,14,12,12,13,15,15,13,14,13,16,15,14,15,15,16,16,15,16,15,18,17,11,13,12,15,15,13,14,13,15,15,12,14,13,16,15,15,16,15,17,17,15,16,15,18,16,13,14,13,16,16,14,15,14,16,16,14,15,15,17,16,16,16,16,16,18,16,18,17,19,18,14,15,15,17,16,15,16,16,17,17,15,15,15,17,16,17,17,18,18,19,16,17,16,18,16,12,13,13,15,16,13,14,14,16,17,13,14,14,16,16,15,15,16,17,18,15,16,16,18,17,13,13,14,14,17,14,14,15,15,17,14,14,15,16,17,15,15,17,16,18,16,17,17,18,18,13,14,14,17,16,14,15,15,17,17,14,15,14,17,16,16,17,17,18,18,16,17,16,18,17,15,14,16,13,18,16,15,17,14,19,16,16,17,15,18,17,16,18,15,19,18,18,18,17,19,15,16,16,18,17,16,17,17,18,18,16,17,16,19,17,18,19,18,19,19,17,18,17,20,18,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,16,16,17,17,15,16,16,18,17,12,14,13,16,15,13,13,14,15,16,14,15,14,17,16,16,16,16,16,17,16,17,17,19,17,12,13,14,16,16,14,15,15,16,17,13,15,13,17,15,16,17,17,18,18,16,17,16,18,16,15,16,15,17,16,15,15,15,17,17,16,17,16,18,17,17,16,17,16,18,18,19,18,20,18,15,16,16,17,17,16,17,17,18,18,15,16,15,18,17,18,18,19,19,19,17,18,16,19,16,9,11,11,13,13,11,12,12,14,15,10,12,12,14,14,13,14,14,16,16,13,14,14,16,16,11,12,12,14,14,12,12,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,16,10,12,11,14,14,12,13,13,15,15,11,13,12,15,14,14,15,15,16,17,13,15,14,17,16,13,14,14,15,16,14,15,15,16,17,14,15,15,16,17,16,16,17,17,18,16,17,17,18,18,12,14,13,16,15,13,15,14,17,16,13,14,13,17,15,15,16,16,18,18,15,16,15,18,16,10,11,11,14,14,11,12,13,14,15,11,12,12,15,15,14,15,15,16,17,14,15,15,16,16,11,12,13,15,15,12,13,14,15,16,13,14,14,15,16,15,15,16,16,18,15,15,16,17,17,11,12,12,14,15,13,13,14,15,16,12,13,13,15,15,15,15,16,17,18,14,15,15,17,16,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,16,19,17,17,18,19,18,13,13,14,16,16,14,15,16,17,17,14,14,15,16,16,16,16,17,18,18,16,16,16,18,16,10,12,12,14,14,12,13,13,15,15,11,13,12,15,15,14,15,15,16,17,13,15,14,17,16,12,13,13,15,15,13,13,14,15,16,13,14,14,16,16,15,15,16,17,18,15,15,16,17,17,11,13,12,15,14,13,14,13,16,15,12,14,12,16,14,15,16,15,17,17,14,16,14,17,16,14,15,15,16,17,15,15,16,16,18,15,16,16,17,17,16,17,17,17,19,17,17,17,18,18,13,15,12,17,14,14,16,14,17,15,14,15,13,17,14,16,17,16,18,17,15,17,14,19,15,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,16,16,17,18,15,16,16,17,17,12,14,13,16,16,13,13,15,15,17,14,15,15,17,16,16,16,17,16,19,16,17,17,18,18,12,13,14,15,16,14,14,15,16,17,13,14,13,16,15,16,17,17,18,19,15,16,16,17,16,15,16,16,18,17,15,15,16,17,18,16,17,17,18,18,16,16,18,16,19,18,19,19,20,19,15,15,16,16,17,16,16,17,17,18,15,15,15,17,16,18,18,19,18,20,17,17,16,18,16,12,13,13,16,15,13,14,14,16,16,13,14,14,16,16,15,16,16,17,18,15,16,15,18,17,13,14,14,16,16,14,15,15,16,17,14,15,15,17,17,16,17,17,18,18,16,17,17,18,18,13,14,13,17,14,14,15,14,17,16,14,15,14,17,15,16,17,17,18,18,15,17,15,19,15,16,16,16,17,18,16,16,17,17,19,16,17,17,18,19,17,17,18,18,20,18,18,18,19,19,15,16,14,18,13,16,17,16,19,15,16,17,15,19,14,18,18,18,19,17,17,18,16,20,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,7,7,5,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,5,7,8,8,9,10,8,9,9,8,9,10,9,10,12,10,11,11,8,9,10,10,11,11,9,11,11,5,8,7,8,9,9,8,10,9,8,10,9,9,11,11,10,11,11,8,10,9,10,11,11,9,12,10,5,8,8,7,9,10,8,10,9,7,9,9,9,10,11,9,11,11,8,10,10,10,11,11,10,12,11,7,9,9,9,10,11,9,11,11,9,9,11,10,10,13,11,11,12,9,11,11,11,12,13,11,13,12,7,9,9,9,11,11,9,12,10,9,11,10,10,11,12,11,13,12,9,11,11,11,13,13,11,13,11,5,8,8,8,9,10,7,10,9,8,10,10,10,11,11,10,11,11,7,9,9,9,11,11,9,11,10,7,9,9,9,10,12,9,11,11,9,11,11,11,11,13,11,13,13,9,10,11,11,12,13,10,12,11,7,9,9,9,11,11,9,11,10,9,11,11,11,12,13,11,13,12,9,11,9,11,12,11,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,8,13,15,16,18,21,22,5,4,6,8,10,12,17,21,9,5,5,6,8,11,15,19,11,6,5,5,6,7,12,14,14,8,7,5,4,4,9,11,16,11,9,7,4,3,7,10,22,15,14,12,8,7,9,11,21,16,15,12,9,5,6,8,2,0,0,0,64,0,0,0,8,198,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,150,6,0,0,0,0,0,0,0,0,0,248,150,6,0,0,0,0,0,0,0,0,0,32,151,6,0,72,151,6,0,0,0,0,0,0,0,0,0,112,151,6,0,152,151,6,0,0,0,0,0,0,0,0,0,192,151,6,0,232,151,6,0,0,0,0,0,0,0,0,0,16,152,6,0,56,152,6,0,232,151,6,0,0,0,0,0,96,152,6,0,136,152,6,0,232,147,6,0,16,148,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,144,150,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,136,150,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,147,6,0,152,147,6,0,0,0,0,0,0,0,0,0,192,147,6,0,232,147,6,0,16,148,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,160,149,6,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,80,150,6,0,0,0,0,0,2,0,0,0,25,0,0,0,104,149,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,149,6,0,0,0,0,0,2,0,0,0,9,0,0,0,72,149,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2],"i8",N3,x.GLOBAL_BASE+420817),E3([0,0,0,0,0,0,0,88,149,6,0,0,0,0,0,1,0,0,0,25,0,0,0,192,148,6,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,224,148,6,0,0,0,0,0,1,0,0,0,25,0,0,0,56,148,6,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,88,148,6,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,2,3,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,14,14,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,4,4,5,5,4,5,5,5,5,4,5,4,4,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,8,8,10,10,10,10,9,8,11,11,4,6,5,8,6,10,10,10,10,10,9,10,9,4,5,6,6,9,10,10,10,10,9,10,9,10,8,9,8,9,8,9,9,10,9,11,10,12,10,8,8,9,8,9,9,9,9,10,10,11,10,12,9,10,10,11,10,11,10,12,11,12,11,13,11,9,10,10,10,11,10,11,11,12,11,12,11,12,11,12,12,12,12,13,12,13,12,13,12,13,13,11,12,12,12,12,12,12,12,13,13,13,13,13,12,12,12,13,13,13,13,13,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,12,13,13,13,14,14,13,13,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,7,12,14,14,16,18,19,6,2,4,6,8,9,12,14,12,3,3,5,7,8,11,13,13,6,4,5,7,8,10,11,14,8,7,7,7,7,9,10,15,9,8,7,7,6,8,9,17,11,11,10,9,8,9,9,19,14,13,11,10,9,9,9,5,0,0,0,243,0,0,0,0,197,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,248,197,6,0,0,0,0,0,5,0,0,0,53,12,0,0,176,184,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,196,6,0,0,0,0,0,5,0,0,0,243,0,0,0,168,183,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,160,184,6,0,0,0,0,0,5,0,0,0,243,0,0,0,160,182,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,152,183,6,0,0,0,0,0,5,0,0,0,243,0,0,0,152,181,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,144,182,6,0,0,0,0,0,5,0,0,0,53,12,0,0,72,169,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,128,181,6,0,0,0,0,0,5,0,0,0,53,12,0,0,248,156,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,48,169,6,0,0,0,0,0,1,0,0,0,7,0,0,0,208,156,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,216,156,6,0,0,0,0,0,5,0,0,0,243,0,0,0,200,155,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,192,156,6,0,0,0,0,0,5,0,0,0,243,0,0,0,192,154,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,184,155,6,0,0,0,0,0,5,0,0,0,243,0,0,0,184,153,6,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,176,154,6,0,0,0,0,0,5,0,0,0,243,0,0,0,176,152,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,168,153,6,0,0,0,0,0,1,7,7,6,9,9,7,9,9,6,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,5,7,8,5,8,7,6,7,7,7,7,8,8,8,8,6,7,7,7,8,8,7,8,7,6,8,8,8,9,10,8,9,9,8,9,9,9,9,10,10,10,10,8,9,9,10,10,10,9,10,10,6,8,8,8,9,9,8,10,9,9,9,9,9,9,10,10,10,10,8,9,9,10,10,10,9,10,9,6,8,9,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,10,9,7,8,9,8,9,9,9,9,9,8,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,7,9,9,9,10,10,9,10,10,9,10,9,9,9,10,10,10,10,9,10,9,10,10,10,9,10,9,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,10,9,7,9,9,9,10,10,9,10,9,9,9,10,10,9,10,10,10,10,9,9,9,10,10,10,9,10,9,7,9,8,8,9,9,8,9,9,9,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,5,7,9,5,9,7,5,7,8,7,7,10,9,9,10,5,8,7,9,10,9,7,10,7,6,9,9,9,10,12,10,12,11,9,10,11,11,10,13,12,12,13,10,11,11,12,13,13,11,13,11,6,9,9,10,11,12,9,12,11,10,11,11,11,11,13,12,13,13,9,11,10,12,13,13,11,13,10,6,9,10,9,11,12,10,12,11,9,10,11,10,10,13,11,13,13,10,11,11,12,13,12,11,13,11,7,9,10,9,10,12,10,11,11,10,10,11,10,10,12,12,11,12,10,11,10,12,12,12,10,12,10,7,10,10,11,11,13,11,13,11,10,12,11,11,10,13,13,14,13,10,11,12,13,13,14,11,13,10,6,10,9,10,11,12,9,12,11,9,11,11,11,11,13,12,12,13,9,11,10,12,13,13,10,13,10,7,10,10,11,11,14,11,13,11,10,12,11,11,10,14,13,14,13,10,11,12,13,13,14,11,13,10,7,10,9,10,10,12,9,12,10,10,11,11,10,10,12,12,12,12,9,11,10,11,12,12,10,12,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,1,6,6,10,10,6,7,9,11,13,5,9,7,13,11,8,11,12,13,15,8,12,11,15,13,6,7,8,11,11,7,8,10,11,13,9,10,10,13,13,11,11,13,12,16,12,13,13,16,15,6,8,7,11,11,9,10,10,13,13,7,10,7,13,11,12,13,13,15,16,11,13,11,16,12,10,11,11,11,13,11,11,13,12,15,13,13,13,14,15,13,12,15,12,17,15,16,16,16,16,10,11,11,14,11,13,13,13,15,14,11,13,11,15,12,15,15,16,16,16,13,15,12,17,12,6,8,9,12,12,9,10,12,13,15,9,11,11,15,14,12,13,15,16,18,13,14,14,17,16,9,10,11,13,14,11,10,13,14,16,11,12,12,15,15,14,13,16,15,18,14,15,15,17,17,9,11,11,14,14,11,12,13,15,16,11,13,11,15,14,15,15,15,17,18,14,15,14,17,15,13,14,14,15,16,14,14,15,15,17,15,16,15,17,17,16,16,17,15,19,17,18,18,19,18,13,14,14,16,15,15,15,16,17,17,14,15,14,18,15,17,17,17,19,19,16,17,15,19,16,6,9,8,13,12,9,11,11,14,15,9,12,10,15,13,13,14,14,16,17,12,15,13,18,16,9,11,11,14,14,11,11,13,14,15,11,13,12,16,15,14,14,15,15,18,14,15,15,18,17,9,11,10,14,13,11,12,12,15,15,11,13,10,16,14,14,15,15,16,18,14,16,13,18,15,13,14,14,16,16,14,14,15,15,17,15,16,15,17,17,16,16,17,16,19,17,18,17,18,19,13,14,14,16,15,15,15,15,17,17,14,15,14,17,15,17,17,17,18,19,16,17,15,19,15,11,13,13,15,16,13,14,15,16,18,14,15,15,17,17,16,16,18,18,20,17,18,17,19,20,13,14,14,16,17,15,15,16,17,18,15,16,16,17,17,18,17,19,18,19,18,18,18,19,21,14,14,15,16,17,15,15,16,18,18,15,16,16,17,18,18,18,19,19,21,18,19,19,22,20,16,16,17,17,19,17,17,17,18,20,17,18,18,20,19,19,19,20,19,0,19,19,20,20,21,17,17,17,19,18,18,18,20,19,19,18,18,18,20,20,19,19,20,20,20,20,21,20,21,19,11,13,13,16,15,14,15,15,17,17,14,15,14,18,16,16,18,18,20,19,16,19,17,21,18,13,14,15,16,17,15,15,16,18,18,15,16,15,19,18,18,18,18,19,19,18,18,18,22,20,13,14,14,16,16,15,16,16,18,17,15,16,15,18,17,18,18,18,19,19,17,18,17,21,18,16,17,17,18,18,17,18,19,19,19,18,20,18,19,19,19,20,21,19,21,20,20,20,0,21,16,17,17,19,19,18,18,18,19,21,17,18,18,19,18,20,19,21,20,21,19,20,20,22,19,7,9,9,13,13,8,10,11,14,15,9,12,11,15,14,11,13,14,16,17,13,15,14,17,16,8,10,11,14,14,10,10,12,14,16,11,12,12,16,15,13,12,15,15,18,14,15,15,19,17,9,11,11,14,14,11,12,12,15,15,11,13,11,16,14,14,15,14,17,17,14,16,14,18,15,12,13,14,15,16,13,13,15,14,17,15,15,15,17,17,15,14,17,14,19,17,18,18,19,18,13,14,14,16,16,15,15,15,17,17,14,15,14,18,15,17,18,17,18,17,16,18,16,19,15,7,10,10,13,13,9,10,12,14,15,10,12,11,15,14,12,13,14,16,17,13,15,14,18,16,10,10,12,13,14,10,10,13,13,16,12,12,13,15,15,13,12,15,15,18,15,15,16,18,17,10,11,11,14,14,12,13,13,15,16,10,13,10,16,14,14,15,15,17,17,14,15,13,17,15,13,13,14,15,16,14,13,15,14,18,15,15,16,16,17,16,15,18,15,18,17,18,18,18,18,13,15,14,17,16,15,16,16,17,17,14,15,13,17,15,17,17,18,18,18,16,17,14,20,14,8,10,10,14,14,11,11,13,14,16,11,13,11,16,14,14,15,16,16,18,14,16,15,18,16,10,12,11,15,14,11,11,13,14,16,13,14,13,16,15,15,14,16,15,19,16,17,16,20,18,10,11,12,14,15,13,13,14,16,16,11,14,11,16,14,16,16,17,18,19,15,17,14,20,15,14,15,14,17,16,13,14,15,15,18,16,17,16,19,18,16,15,18,15,19,18,19,18,21,21,14,14,15,16,17,16,16,17,18,18,13,15,14,17,15,18,18,19,18,22,16,18,15,21,15,12,13,14,16,16,14,14,16,16,18,14,15,15,17,18,16,16,18,18,20,18,18,17,20,20,13,14,15,15,17,15,14,16,16,18,16,16,16,17,19,17,15,18,17,21,18,18,18,19,19,14,15,15,18,17,15,16,16,18,19,15,16,15,18,18,17,18,18,20,21,17,19,17,20,19,16,16,17,16,19,17,17,18,17,20,18,18,18,18,19,19,18,20,17,22,20,20,19,20,20,17,17,18,18,19,18,18,20,21,20,17,18,17,20,20,21,21,21,21,21,19,21,18,22,20,11,13,13,17,16,14,14,16,16,18,14,16,14,18,16,17,18,19,19,20,18,19,18,21,19,14,15,14,17,16,14,14,16,18,18,16,17,16,18,17,18,17,19,18,20,19,19,18,20,20,13,14,15,16,17,16,16,17,18,19,14,16,14,19,17,18,19,18,20,20,18,20,17,21,18,17,17,17,19,18,16,17,18,18,19,18,19,18,21,21,18,18,20,17,21,19,20,20,22,21,16,17,18,18,19,18,18,19,21,20,16,17,17,20,18,21,21,22,21,22,18,21,18,0,18,7,9,9,13,13,9,11,12,14,15,8,11,10,15,14,13,14,15,16,18,11,14,13,17,15,9,11,11,14,14,11,11,13,14,16,11,12,12,15,15,14,14,16,15,18,14,14,15,17,17,8,11,10,14,14,11,12,12,15,15,10,12,10,16,14,14,15,15,17,18,13,15,12,18,15,13,14,14,16,16,14,14,15,15,17,15,15,15,16,17,16,15,17,15,19,17,17,17,18,18,12,14,13,16,15,15,15,15,17,17,13,15,13,17,14,17,18,18,18,19,15,17,14,19,14,8,10,10,14,14,11,11,13,14,16,11,13,11,16,14,14,15,16,17,19,14,16,15,18,17,10,12,11,15,14,11,11,14,14,17,13,14,13,17,15,15,14,17,15,19,16,17,16,19,17,10,11,12,14,15,13,13,14,15,17,11,13,11,17,14,16,16,17,18,19,15,16,14,18,15,14,15,14,16,16,13,14,15,15,18,16,16,16,18,18,16,15,18,15,20,18,19,18,21,18,14,14,15,16,17,16,16,17,17,18,13,15,14,17,16,19,19,19,19,19,15,18,15,20,15,7,10,10,13,13,10,11,12,14,15,9,12,10,15,14,13,14,15,16,17,12,15,13,17,16,10,11,11,14,14,10,10,13,14,16,12,13,13,16,15,14,13,16,15,18,15,15,16,17,17,10,12,10,14,13,12,13,12,15,15,10,13,10,16,13,15,16,15,17,18,13,16,12,18,15,13,14,14,16,17,14,13,15,15,18,15,16,15,17,17,16,14,17,15,19,17,18,18,19,19,13,15,13,17,14,15,15,15,18,17,14,15,13,17,14,18,17,18,18,19,15,17,15,19,15,11,13,13,16,17,14,14,16,16,18,14,16,15,18,17,17,18,19,18,21,18,18,17,20,18,13,15,14,17,16,14,14,16,17,18,16,17,16,19,17,18,17,19,18,22,18,19,19,21,21,13,14,15,16,18,16,16,17,17,20,14,16,14,18,17,18,18,19,19,21,17,18,17,21,18,17,18,17,19,18,16,17,17,18,19,18,18,18,22,22,18,17,19,17,0,20,21,19,21,20,17,17,18,18,21,18,18,18,19,21,17,17,17,19,19,20,20,22,21,21,19,20,18,20,17,12,14,13,17,16,14,15,15,17,18,14,16,14,18,16,17,18,18,21,20,16,18,16,21,18,14,15,15,17,17,15,15,16,18,18,15,17,16,18,18,17,17,19,19,20,18,19,18,20,19,14,15,14,17,15,15,16,16,18,17,15,16,14,19,15,18,18,18,19,20,17,20,15,21,17,16,17,18,18,19,17,17,18,18,20,18,19,18,19,21,19,18,19,19,21,20,0,19,21,20,16,17,16,19,16,18,18,18,19,19,17,18,17,20,17,19,20,20,22,0,19,20,17,21,17,11,13,14,16,17,14,15,15,17,18,14,15,15,18,18,16,17,17,19,20,16,18,17,19,21,13,14,15,17,17,14,15,16,17,19,15,16,16,18,19,16,17,18,19,21,17,18,20,21,21,13,15,15,17,17,15,16,16,18,19,15,16,16,18,19,17,17,18,19,22,17,19,18,22,19,15,16,17,19,19,16,17,18,18,20,17,18,18,19,20,19,18,20,18,22,20,19,19,22,21,16,17,17,18,19,18,18,18,19,20,17,18,18,20,19,20,19,20,22,20,19,20,21,21,20,12,14,14,16,16,13,14,16,17,18,14,16,15,18,18,15,17,17,19,19,17,18,18,19,19,13,14,15,16,17,14,14,16,16,20,15,16,16,17,19,16,15,18,17,20,18,17,19,19,19,14,15,15,17,17,16,16,16,18,18,15,16,15,19,18,17,18,18,20,21,17,18,17,21,18,16,15,17,17,19,17,15,18,17,20,19,17,18,19,20,18,16,19,17,22,20,19,20,19,20,17,17,18,19,19,18,18,19,20,20,17,18,17,18,18,21,21,20,20,21,18,20,17,21,19,11,14,14,16,17,15,14,16,17,19,14,16,14,18,17,18,18,19,19,21,17,19,18,20,20,13,15,14,17,17,14,14,16,17,18,16,17,16,19,18,18,17,19,18,20,18,21,18,20,20,13,15,15,16,17,16,16,17,18,19,14,16,15,19,18,19,19,19,21,20,18,19,17,20,18,16,17,16,19,18,16,17,17,19,20,17,19,18,20,19,18,17,21,18,0,21,20,20,0,20,17,17,18,18,19,18,19,19,20,22,16,17,17,20,18,21,22,20,20,22,18,22,18,22,18,12,14,14,17,17,14,15,16,17,19,14,16,15,17,17,17,17,18,18,21,17,19,17,20,19,14,15,15,16,18,15,14,16,16,19,16,17,16,19,18,17,16,20,17,20,18,20,19,19,20,14,15,15,18,17,16,16,17,18,19,14,16,15,19,17,18,21,18,19,21,17,18,17,19,18,17,17,18,17,20,17,16,18,17,21,18,19,19,19,19,18,17,19,17,20,20,21,20,21,20,17,17,17,19,19,19,18,18,20,21,16,18,16,19,18,20,20,21,21,20,18,19,16,0,17,12,14,14,17,17,15,15,18,17,19,15,18,15,20,16,20,19,21,18,22,20,20,20,22,19,14,16,14,20,17,14,15,17,17,20,18,18,17,20,18,18,17,19,17,21,20,21,20,0,21,14,15,16,17,19,18,17,19,18,21,14,18,15,21,17,21,20,21,20,0,18,21,17,21,17,18,19,17,20,18,16,17,17,19,19,19,21,20,0,20,18,17,21,17,0,22,0,21,0,22,17,17,19,18,20,20,20,21,19,22,16,17,18,20,18,22,22,0,22,0,17,21,17,22,17,11,14,13,16,16,14,15,15,17,18,14,15,14,18,17,17,18,18,19,20,16,17,17,21,19,13,14,15,17,17,15,16,16,18,18,15,16,16,19,18,18,18,18,19,20,17,18,18,20,19,13,15,14,17,17,15,16,16,17,18,14,16,15,19,17,17,18,19,21,21,17,18,17,20,18,16,17,17,19,19,17,18,19,19,20,18,19,18,21,21,21,20,19,21,22,20,20,19,21,20,15,17,16,19,19,17,18,18,20,21,16,18,17,20,18,19,19,21,21,21,19,19,19,20,18,11,14,13,17,16,14,14,16,16,19,14,16,15,19,16,18,18,18,19,22,17,18,17,20,19,13,15,14,17,17,15,15,16,17,19,16,17,16,20,18,18,17,19,18,21,19,19,18,22,0,13,14,15,17,18,16,16,17,17,19,14,16,15,19,18,18,19,19,20,21,18,18,17,20,18,17,18,17,20,18,16,17,17,18,20,18,19,18,20,20,18,18,21,17,21,20,21,21,0,19,16,16,18,18,19,19,18,20,19,20,16,17,17,20,18,21,20,21,22,22,18,20,17,21,17,12,14,14,17,16,14,15,16,18,18,13,15,14,18,17,17,18,18,19,19,15,17,16,19,19,14,15,15,17,17,15,15,16,18,19,15,16,16,19,18,17,17,18,18,20,18,18,18,21,20,13,15,14,17,16,15,16,15,18,18,14,16,14,18,17,18,18,18,19,21,16,18,16,20,17,17,18,17,18,19,17,17,18,18,19,18,19,19,21,19,19,18,20,18,21,21,20,20,21,20,16,17,15,20,17,17,19,17,19,19,17,18,15,20,17,19,20,19,21,22,17,20,16,0,17,12,14,14,17,18,16,15,18,16,20,16,18,15,21,17,20,18,21,19,22,19,21,19,0,19,14,16,15,19,17,14,15,17,16,21,18,19,18,21,17,19,17,21,17,22,20,21,21,0,21,14,15,16,17,19,18,17,19,18,21,14,17,15,20,17,21,22,21,20,22,18,21,17,21,17,17,19,17,21,18,16,17,17,19,20,19,21,20,21,20,17,18,20,17,21,0,22,20,21,22,17,17,20,18,21,21,20,22,20,21,16,17,17,21,19,0,22,0,21,21,18,22,17,21,17,12,14,14,17,16,14,15,16,17,18,14,16,15,18,17,17,17,20,19,20,16,18,17,21,18,14,15,15,17,17,14,15,16,17,19,16,17,16,18,18,17,16,19,18,19,18,19,18,21,20,14,15,15,18,17,16,16,16,19,18,15,16,14,20,16,18,18,19,19,20,16,19,16,21,17,17,17,18,19,19,16,16,18,18,19,19,19,18,20,20,18,16,19,18,20,22,21,20,19,20,16,18,17,20,16,18,19,18,19,18,16,18,16,20,17,21,20,21,20,20,18,19,17,21,16,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,5,7,7,10,10,7,8,9,10,11,7,9,8,11,10,9,10,10,11,11,9,10,10,11,11,7,9,9,10,10,8,9,10,10,11,9,10,10,11,11,10,10,11,11,11,10,11,11,12,12,7,9,9,10,10,9,10,10,11,11,8,10,9,11,10,10,11,11,11,11,10,11,10,11,11,10,10,10,11,11,10,10,11,11,11,11,11,11,11,11,11,11,12,11,12,11,12,11,12,12,10,10,10,11,11,10,11,11,11,11,10,11,10,11,11,11,12,11,12,12,11,12,11,12,11,8,9,9,11,11,9,10,10,11,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,11,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,8,9,9,11,11,9,10,10,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,11,11,12,12,12,12,11,12,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,13,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,13,12,12,12,12,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,9,9,11,11,9,10,10,11,11,9,10,10,12,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,11,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,10,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,10,11,11,12,11,11,12,12,12,11,11,12,12,12,11,11,12,12,13,12,12,12,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,8,10,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,12,12,12,10,11,10,12,12,10,10,11,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,10,11,11,12,12,11,12,12,12,12,10,12,11,12,12,12,12,12,13,13,12,13,12,13,12,11,12,12,12,12,11,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,13,11,12,12,12,12,12,12,12,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,13,13,13,12,12,13,13,13,13,13,13,13,13,11,12,12,12,12,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,12,12,13,12,12,13,12,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,9,9,11,11,9,10,10,11,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,8,10,10,11,11,10,10,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,12,10,11,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,10,10,11,12,12,11,12,12,12,12,10,11,10,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,11,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,11,12,12,13,12,12,13,13,13,13,12,13,12,13,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,12,12,12,12,13,12,12,12,13,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,12,12,12,12,12,12,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,13,13,11,12,11,12,12,12,12,12,13,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,12,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,12,13,13,13,12,13,13,13,13,11,12,12,12,13,12,12,13,13,13,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,11,12,12,12,12,12,12,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,13,13,13,12,13,12,13,13,11,12,12,12,12,12,12,13,13,13,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,13,12,13,13,12,12,12,13,12,13,13,13,13,13,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,11,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,13,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,13,13,13,13,12,13,12,13,13,11,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,11,12,12,13,12,12,13,12,13,13,12,13,12,13,13,13,13,13,13,13,12,13,13,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,13,13,13,13,12,13,13,12,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,12,13,13,13,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,13,12,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,13,13,13,13,13,11,12,12,12,12,12,13,12,13,13,12,13,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,11,12,12,12,12,12,13,13,11,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,12,13,13,13,12,13,13,13,13,11,12,12,13,13,12,12,13,13,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,11,12,12,13,12,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,12,11,12,12,11,12,12,12,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,13,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,13,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,13,12,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,13,13,13,12,13,13,13,13,12,12,13,13,13,13,13,13,13,13,11,12,12,12,12,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,13,13,13,13,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,13,13,13,12,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,13,13,13,13,13,13,13,13,13,12,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,9,5,9,7,5,7,8,7,7,10,9,10,10,5,8,7,9,10,10,7,10,7,6,8,9,9,10,12,9,11,11,9,10,11,11,11,13,12,13,13,9,11,11,11,12,13,11,13,11,6,9,8,9,11,11,9,12,10,9,11,11,11,11,13,11,13,12,9,11,10,12,13,13,11,13,11,6,9,9,8,10,11,9,12,11,9,10,11,10,10,12,11,13,13,9,11,11,11,13,12,11,13,11,8,10,10,9,10,12,10,12,11,10,10,12,10,10,13,12,13,13,10,12,11,12,13,13,10,13,10,7,10,10,11,11,13,11,14,11,10,12,11,11,11,13,13,14,13,10,12,12,14,14,14,11,14,11,6,9,9,9,11,12,8,11,10,9,11,11,11,11,13,11,12,13,8,11,10,11,13,13,10,12,10,7,10,10,11,11,14,11,13,11,10,12,12,11,11,14,14,14,14,10,11,12,13,13,14,11,13,11,8,10,10,10,11,12,9,12,10,10,11,12,11,10,13,12,13,13,10,12,10,12,13,13,11,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,6,6,6,7,7,6,7,7,6,7,7,7,7,8,7,8,8,6,7,7,7,8,8,7,8,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,9,7,8,7,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,8,6,8,8,7,8,8,7,8,8,7,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,9,9,8,9,9,8,8,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,7,8,8,8,8,9,8,9,8,8,8,8,8,9,9,9,9,9,8,9,8,9,9,9,8,9,9,6,8,8,7,8,8,7,8,8,8,8,8,8,8,9,8,9,9,7,8,8,8,9,9,8,9,8,7,8,8,8,8,9,8,9,8,8,8,9,8,9,9,9,9,9,8,8,8,9,9,9,8,9,9,7,8,8,8,9,9,8,9,9,8,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,6,5,7,8,5,8,7,5,7,8,7,8,10,8,10,10,5,8,7,8,10,10,7,10,8,6,8,9,8,10,11,9,10,10,9,10,11,10,11,12,11,12,12,9,11,10,11,12,12,10,12,11,6,9,8,9,10,10,8,11,10,9,10,11,10,11,12,11,12,12,9,11,10,11,12,12,10,12,11,6,9,9,8,10,11,9,11,10,8,10,10,10,10,12,11,12,12,9,11,10,11,12,12,10,12,11,8,10,10,10,11,12,10,12,11,10,10,12,11,11,13,12,13,13,10,12,11,12,13,13,11,13,11,7,10,10,10,11,12,10,12,11,10,12,11,11,11,12,12,14,13,10,12,12,12,14,14,11,13,11,6,9,9,9,10,11,8,11,10,9,10,11,10,11,12,11,12,12,8,11,10,11,12,12,10,12,10,7,10,10,10,11,12,10,12,11,10,12,12,11,11,13,12,13,13,10,11,12,12,13,14,11,12,11,8,10,10,10,11,12,10,12,11,10,11,12,11,11,13,12,13,13,10,12,10,12,13,13,11,13,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,9,9,6,7,8,10,10,6,8,7,10,10,8,10,10,12,13,8,10,10,13,12,6,7,8,10,10,7,8,9,10,11,8,9,9,11,11,10,10,11,12,14,10,11,11,14,13,6,8,7,10,10,8,9,9,11,11,7,9,8,11,10,10,11,11,13,14,10,11,10,14,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,12,15,13,14,13,15,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,13,13,14,14,15,12,13,12,15,12,6,7,8,10,11,8,9,10,11,12,8,9,9,11,12,10,11,12,13,14,10,11,11,14,13,8,9,10,11,12,9,10,11,12,13,9,10,11,12,13,11,12,13,13,15,12,12,13,15,14,8,9,9,12,12,9,10,11,12,13,9,10,10,13,12,12,12,13,14,15,11,12,12,14,14,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,14,13,15,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,14,13,14,15,15,15,16,13,14,14,16,14,6,8,7,11,10,8,9,9,11,12,8,10,9,12,11,10,11,11,13,14,10,12,11,14,13,8,9,9,12,12,9,10,10,12,13,9,11,10,13,12,11,12,12,13,14,12,13,12,15,14,8,10,9,12,11,9,11,10,13,12,9,11,10,13,12,12,13,12,14,15,11,13,12,15,13,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,13,14,14,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,15,13,14,15,15,16,16,13,15,13,16,14,9,10,11,12,14,11,11,12,13,15,11,12,12,13,14,13,14,15,15,17,13,14,14,15,16,11,11,12,13,15,12,12,13,14,16,12,13,13,14,15,14,14,16,15,17,15,15,15,16,17,11,12,12,14,14,12,13,13,15,16,12,13,13,15,15,15,15,15,16,17,14,15,15,16,16,14,14,15,15,17,14,15,15,15,17,15,15,16,16,17,16,16,17,16,18,17,17,17,18,18,14,15,14,16,16,15,15,16,17,17,14,15,15,17,16,17,17,17,18,18,16,16,16,17,17,9,11,10,14,12,11,12,12,14,13,11,12,11,15,13,13,14,14,16,15,13,15,14,17,15,11,12,12,15,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,15,15,15,17,16,11,12,11,15,13,12,13,13,15,14,12,13,12,16,14,15,15,15,17,16,14,15,14,17,15,14,14,15,16,16,14,15,15,16,16,15,16,15,17,17,16,16,16,17,17,17,17,17,18,17,14,15,14,16,15,15,15,15,17,16,15,15,15,17,15,17,17,17,18,18,16,17,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,12,11,14,13,7,9,9,11,12,9,10,10,12,13,9,10,10,13,13,11,11,12,13,15,11,12,12,15,14,8,9,9,12,11,9,11,10,13,13,9,11,10,13,12,12,13,12,14,15,11,13,12,15,13,10,11,12,13,14,11,12,12,13,15,12,12,13,14,15,13,13,14,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,15,13,14,15,15,15,16,13,14,14,16,14,7,9,9,11,12,9,10,11,12,13,9,10,10,13,12,11,12,12,14,15,11,12,12,15,14,9,9,11,11,13,10,10,12,12,14,10,11,12,13,14,12,12,13,14,16,12,13,13,15,15,9,11,10,13,13,10,12,12,13],"i8",N3,x.GLOBAL_BASE+431057),E3([14,10,12,11,14,13,12,13,13,15,16,12,13,13,15,14,11,11,13,13,15,12,12,14,13,16,13,13,13,14,15,14,14,15,14,17,15,15,15,16,16,12,13,12,15,14,13,14,14,15,15,12,14,13,16,14,15,15,16,16,17,14,15,14,17,15,7,9,9,12,11,9,10,10,12,13,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,9,10,10,13,12,10,10,11,12,13,10,12,11,14,13,12,12,13,13,15,12,14,13,16,15,9,10,10,13,12,11,11,12,13,13,10,12,10,14,12,13,13,13,15,15,12,13,12,15,13,11,12,12,14,14,12,12,13,14,15,13,14,13,15,15,14,13,15,13,16,15,16,15,17,16,12,13,12,14,14,13,14,14,15,15,12,13,12,15,14,15,15,16,16,17,14,15,13,16,13,10,11,12,13,14,11,12,13,14,15,12,13,13,15,15,14,14,15,15,17,14,15,15,16,16,12,12,13,12,15,12,12,14,13,16,13,13,14,14,16,14,14,16,15,17,15,15,16,16,17,12,13,13,15,15,13,14,14,16,16,13,14,13,16,15,15,16,16,17,17,14,15,15,17,16,14,14,15,14,17,15,15,16,15,17,15,15,16,15,17,16,16,17,16,18,17,17,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,17,17,17,18,18,16,17,16,18,17,10,12,11,14,14,12,13,13,15,15,12,13,12,15,14,14,15,15,16,16,14,15,15,17,16,11,13,12,15,14,12,13,13,15,15,13,14,13,16,14,15,15,15,16,16,15,16,15,17,16,12,13,13,15,15,13,14,14,16,16,12,14,13,16,15,15,16,16,17,17,15,16,15,17,16,14,15,15,16,16,14,15,15,16,16,15,16,16,17,16,16,16,16,16,17,17,18,17,18,17,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,17,17,18,18,18,16,17,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,12,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,10,11,13,13,11,12,13,13,15,12,12,12,15,14,7,9,9,12,11,9,10,10,13,13,9,10,10,13,12,11,12,12,14,15,11,12,11,15,13,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,13,14,14,14,16,14,15,15,16,16,10,12,11,14,13,12,13,12,14,14,11,12,12,15,13,14,15,15,16,16,13,14,13,16,14,7,9,9,11,12,9,10,11,12,13,9,10,10,13,12,11,12,13,14,15,11,12,12,14,14,9,10,10,12,13,10,10,12,12,14,11,12,11,13,13,12,12,14,13,15,13,13,13,15,15,9,10,10,12,13,10,11,12,13,14,10,11,10,13,12,13,13,14,15,16,12,13,12,15,13,12,13,13,14,14,12,12,13,14,15,13,14,14,15,15,14,13,15,13,16,15,16,15,17,16,11,12,12,14,14,13,13,14,15,15,12,13,12,15,14,15,15,16,16,17,14,14,13,16,13,7,9,9,12,11,9,10,10,12,13,9,11,10,13,12,11,12,12,14,15,11,12,12,15,14,9,10,11,13,13,10,11,12,13,14,10,12,12,14,13,12,13,13,14,16,12,13,13,16,15,9,11,9,13,11,10,12,11,13,13,10,12,10,14,12,12,13,13,15,15,12,13,12,16,14,12,12,13,14,15,12,13,14,14,15,13,14,14,15,15,14,14,15,15,17,15,16,15,17,16,11,13,11,15,13,13,14,13,15,14,12,14,12,16,13,15,15,15,16,16,14,15,14,17,14,10,11,12,14,14,12,12,13,14,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,16,12,12,13,15,15,13,13,14,15,16,13,14,14,16,16,15,15,16,16,17,15,16,16,17,17,11,12,13,14,15,13,13,14,15,16,12,13,13,15,15,15,15,16,16,17,15,15,15,16,16,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,16,18,17,17,17,18,18,14,15,15,16,16,15,16,16,16,17,15,15,15,16,16,17,17,17,18,18,16,16,16,17,16,10,12,11,14,13,12,13,13,15,15,11,13,12,15,14,14,15,15,16,16,14,15,14,17,15,12,13,13,15,15,13,13,14,16,16,13,14,14,16,16,15,15,15,16,17,15,16,16,17,17,12,13,12,15,12,13,14,13,16,14,12,14,12,16,13,15,16,15,17,16,14,16,14,17,15,14,15,15,16,17,15,15,16,17,17,15,16,16,17,17,16,16,17,17,18,17,18,17,18,18,14,15,14,17,14,15,16,15,17,15,15,16,15,17,15,17,17,17,18,17,16,17,16,18,16,9,11,11,14,14,11,12,12,14,14,11,12,12,15,14,13,14,14,16,16,13,15,14,16,16,10,11,12,14,14,11,12,13,15,15,12,13,13,15,15,13,14,15,16,17,14,15,15,17,16,11,12,12,15,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,15,17,16,12,13,14,15,16,13,14,14,15,16,13,14,15,16,16,15,15,16,16,18,16,16,16,18,17,14,14,14,16,15,15,15,15,17,16,14,15,15,17,16,16,17,17,18,17,16,16,16,18,16,10,12,12,14,14,11,12,13,15,15,12,13,13,15,15,13,14,15,16,17,14,15,15,17,16,11,12,13,14,15,12,12,14,15,16,13,13,14,15,16,14,14,15,16,17,15,15,16,17,17,12,13,13,15,15,13,14,14,16,16,13,14,13,16,15,15,16,15,17,17,15,16,15,17,16,13,13,15,14,17,14,13,16,15,17,15,14,16,15,17,15,15,17,16,18,16,16,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,17,17,17,18,18,16,17,16,18,17,10,12,11,14,14,11,12,13,15,15,12,13,12,15,15,14,15,15,16,16,14,15,15,17,16,11,12,12,15,15,12,13,13,15,15,13,14,13,16,15,14,15,15,16,16,15,16,15,17,16,11,13,13,15,15,13,14,14,15,15,12,14,13,16,15,15,16,15,17,17,15,16,15,17,16,13,15,14,16,16,14,15,14,16,16,15,16,15,17,16,15,16,16,16,17,16,17,16,18,17,14,15,15,16,16,15,16,16,17,17,15,15,15,17,16,17,17,17,18,18,16,16,16,18,16,12,13,13,15,16,13,14,14,15,16,13,14,14,16,16,15,15,16,16,18,15,16,16,17,17,13,13,14,15,16,14,14,15,15,17,14,15,15,16,17,15,15,17,16,18,16,16,17,17,17,13,14,14,16,16,14,15,15,17,17,14,15,14,17,16,16,17,16,17,18,16,17,16,18,17,15,15,16,14,17,16,15,17,14,18,16,16,16,15,18,16,16,18,15,19,18,18,18,17,19,15,16,16,18,17,16,17,17,18,17,16,17,16,18,17,18,18,18,19,19,17,18,16,18,17,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,16,16,16,17,15,16,16,17,16,12,14,13,16,15,13,13,14,15,16,14,15,14,17,15,15,15,16,16,17,16,17,16,18,17,12,13,14,15,16,14,15,15,16,16,13,14,13,16,15,16,16,16,17,17,15,16,15,17,15,15,16,15,17,16,15,15,15,16,16,16,17,16,18,16,16,15,16,15,17,17,18,17,18,17,15,15,16,17,17,16,16,17,17,17,15,16,15,17,16,18,18,18,18,18,16,17,16,18,15,9,11,11,14,14,11,12,12,14,15,10,12,12,15,14,13,14,15,16,16,13,14,14,16,16,11,12,12,14,15,12,12,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,16,10,12,12,14,14,12,13,13,15,15,11,13,12,15,15,14,15,15,16,17,13,15,14,16,16,14,14,14,15,16,14,15,15,16,17,14,15,15,16,17,16,16,17,16,18,16,17,17,17,17,12,14,13,16,15,13,15,14,16,16,13,14,14,16,15,16,16,16,17,17,15,16,15,17,16,10,11,11,14,14,12,12,13,14,15,11,13,12,15,14,14,15,15,16,17,14,15,15,16,16,12,13,13,15,15,12,13,14,15,16,13,14,14,15,15,15,15,16,16,17,15,15,16,17,17,11,12,12,15,15,13,13,14,15,16,12,13,13,15,15,15,15,16,16,17,14,15,15,16,16,14,15,15,16,16,15,15,15,16,17,15,16,16,17,17,16,16,17,16,18,17,17,17,17,18,13,14,15,16,16,15,15,16,16,17,14,14,14,16,16,16,16,17,17,18,16,16,16,17,16,10,12,12,14,14,12,13,13,15,15,11,13,12,15,15,14,15,15,16,17,13,15,14,17,16,12,13,13,15,15,13,13,14,15,16,13,14,14,16,16,15,15,16,16,17,15,15,16,17,17,11,13,12,15,14,13,14,13,16,15,12,14,12,16,15,15,16,15,17,17,14,15,14,17,16,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,17,18,17,17,17,18,18,13,15,13,17,14,14,16,14,17,16,14,15,13,17,15,16,17,16,18,17,15,17,15,18,16,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,16,16,16,17,15,16,16,17,16,12,14,13,16,15,13,13,14,15,16,14,15,15,16,16,16,15,16,16,17,16,16,16,17,17,12,13,14,15,16,14,14,15,15,17,13,14,13,16,15,16,16,17,17,18,15,16,15,17,15,15,16,15,17,17,15,15,16,16,17,16,17,16,17,17,16,15,17,15,18,17,18,17,18,18,15,15,16,16,17,16,16,17,16,18,15,15,15,16,16,17,17,18,17,18,16,16,15,17,15,12,13,13,15,15,13,14,14,16,16,13,14,14,16,16,15,16,16,17,18,15,16,15,18,16,13,14,14,16,16,14,14,15,16,17,14,15,15,17,17,16,16,17,17,18,16,16,17,18,17,13,14,13,16,14,14,15,15,17,16,14,15,14,17,15,16,17,17,18,17,15,17,15,18,16,15,16,16,17,17,16,16,17,17,18,16,17,17,18,18,17,16,18,17,19,18,18,18,18,18,15,16,15,17,14,16,16,16,18,15,16,17,15,18,14,18,18,18,18,17,17,18,16,19,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,7,7,5,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,5,7,8,8,9,10,8,9,10,8,9,10,9,10,12,10,11,11,8,10,10,10,11,11,9,11,11,5,8,7,8,9,9,8,10,9,8,10,10,9,11,11,10,11,11,8,10,9,10,11,11,9,12,10,5,8,8,7,9,10,8,10,9,7,9,9,9,10,11,9,11,11,8,10,9,10,11,11,10,11,11,7,9,9,9,10,11,9,11,11,9,9,11,10,10,13,11,11,12,9,11,11,11,12,13,11,13,12,7,9,9,9,11,11,9,11,10,9,11,10,10,11,12,11,13,12,9,11,11,11,12,13,11,13,11,5,8,8,8,9,10,7,10,9,8,9,10,10,11,11,10,11,11,7,9,9,9,11,11,9,11,10,7,9,9,9,10,11,9,11,11,9,11,11,11,11,13,11,13,12,9,10,11,11,12,13,10,12,11,7,9,9,9,11,11,9,11,10,9,11,11,11,12,13,11,13,12,9,11,9,11,12,11,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,12,14,15,18,20,20,5,3,4,6,9,11,15,19,9,4,3,4,7,9,13,18,11,6,3,3,5,8,13,19,14,9,6,5,7,10,16,20,16,11,9,8,10,10,14,16,21,14,13,11,8,7,11,14,21,14,13,9,6,5,10,12,0,0,0,0,255,255,255,255,255,255,255,255,8,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,x.GLOBAL_BASE+441297),E3([1,0,0,0,1,0,0,0,2,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,240,5,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,214,6,0,0,0,0,0,0,0,0,0,224,214,6,0,0,0,0,0,0,0,0,0,8,215,6,0,48,215,6,0,0,0,0,0,0,0,0,0,88,215,6,0,128,215,6,0,0,0,0,0,0,0,0,0,168,215,6,0,208,215,6,0,0,0,0,0,0,0,0,0,248,215,6,0,32,216,6,0,208,215,6,0,0,0,0,0,72,216,6,0,112,216,6,0,208,211,6,0,248,211,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,120,214,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,112,214,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,211,6,0,128,211,6,0,0,0,0,0,0,0,0,0,168,211,6,0,208,211,6,0,248,211,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,136,213,6,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,56,214,6,0,0,0,0,0,2,0,0,0,25,0,0,0,80,213,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,112,213,6,0,0,0,0,0,2,0,0,0,9,0,0,0,48,213,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,64,213,6,0,0,0,0,0,1,0,0,0,25,0,0,0,168,212,6,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,200,212,6,0,0,0,0,0,1,0,0,0,25,0,0,0,32,212,6,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,64,212,6,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,4,4,5,5,5,4,5,4,5,5,5,5,6,5,6,5,6,5,6,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,8,8,9,8,9,9,10,10,10,10,4,6,5,8,7,9,9,9,9,10,9,10,10,4,5,6,7,8,9,9,9,9,9,10,9,10,8,9,8,9,8,10,9,11,9,12,10,11,10,8,8,9,8,9,9,10,9,11,10,11,10,12,9,10,10,11,10,11,11,12,11,12,12,12,12,9,10,10,11,11,11,11,11,12,12,12,12,12,10,11,11,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,13,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,11,13,12,12,12,13,12,12,12,12,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,5,13,9,9,12,16,18,4,2,20,6,7,10,15,20,10,7,5,5,6,8,10,13,8,5,5,3,5,7,10,11,9,7,6,5,5,7,9,9,11,10,8,7,6,6,8,8,15,15,10,10,9,7,8,9,17,19,13,12,10,8,9,9,5,0,0,0,243,0,0,0,232,4,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,224,5,7,0,0,0,0,0,5,0,0,0,53,12,0,0,152,248,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,4,7,0,0,0,0,0,5,0,0,0,243,0,0,0,144,247,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,136,248,6,0,0,0,0,0,5,0,0,0,243,0,0,0,136,246,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,128,247,6,0,0,0,0,0,5,0,0,0,243,0,0,0,128,245,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,120,246,6,0,0,0,0,0,5,0,0,0,53,12,0,0,48,233,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,104,245,6,0,0,0,0,0,5,0,0,0,53,12,0,0,224,220,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,24,233,6,0,0,0,0,0,1,0,0,0,7,0,0,0,184,220,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,192,220,6,0,0,0,0,0,5,0,0,0,243,0,0,0,176,219,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,168,220,6,0,0,0,0,0,5,0,0,0,243,0,0,0,168,218,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,160,219,6,0,0,0,0,0,5,0,0,0,243,0,0,0,160,217,6,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,152,218,6,0,0,0,0,0,5,0,0,0,243,0,0,0,152,216,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,144,217,6,0,0,0,0,0,1,9,9,7,9,9,8,8,9,9,9,9,9,9,9,8,9,9,7,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,6,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,5,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,5,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,6,7,7,7,7,7,7,8,8,9,9,9,9,7,7,8,8,8,9,9,9,9,8,8,6,7,7,8,8,8,8,8,8,9,8,8,9,8,9,9,8,8,10,8,8,10,9,9,10,8,8,6,6,6,8,6,6,8,7,7,8,7,7,10,8,8,9,7,7,9,7,7,10,8,8,9,7,7,7,7,7,10,8,8,11,9,9,10,9,9,11,9,9,11,8,8,11,9,9,12,9,9,12,8,8,7,7,7,10,9,9,10,9,9,10,9,9,11,10,10,10,9,9,11,9,10,11,10,11,10,9,9,9,8,8,10,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,9,9,11,10,10,11,9,9,8,8,8,11,9,9,11,9,9,11,9,9,12,9,9,12,8,8,11,9,9,12,9,9,12,8,8,8,7,7,10,9,9,10,9,9,10,9,9,11,11,11,11,9,9,11,10,10,11,11,11,11,9,9,10,9,9,11,9,9,11,9,10,11,10,10,11,10,10,11,9,9,11,10,10,11,10,10,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,7,7,7,8,8,7,8,8,7,9,9,11,11,11,9,8,8,8,9,9,12,11,12,9,8,8,6,7,7,10,11,11,10,10,10,11,11,11,14,14,14,12,11,12,11,11,11,15,15,14,13,12,12,5,6,6,8,5,5,8,7,7,8,7,7,12,10,10,10,7,6,9,8,8,12,10,10,10,6,6,7,8,8,12,10,10,12,10,10,11,10,10,16,14,14,13,10,10,12,10,10,15,14,14,14,10,10,7,7,7,13,11,11,13,11,11,12,11,11,16,14,14,14,12,12,12,11,11,18,15,15,14,12,12,10,9,10,14,11,11,13,11,11,12,11,11,17,14,14,14,11,11,13,11,11,16,15,15,14,11,11,7,8,8,13,11,11,12,10,10,12,10,10,16,14,13,13,10,10,12,10,10,17,14,14,14,10,10,8,7,7,12,11,11,13,11,11,12,11,11,16,15,14,14,12,12,12,11,11,16,15,15,14,12,12,11,10,10,14,11,11,13,11,11,13,11,11,17,14,14,14,11,11,13,11,11,18,14,15,15,11,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,1,7,6,15,15,7,8,8,15,15,8,8,8,15,15,0,13,13,16,16,0,14,14,16,16,7,9,9,16,16,10,11,11,17,17,10,8,8,15,16,0,14,14,18,18,0,14,14,16,16,9,9,9,16,16,12,11,11,17,17,10,9,9,15,15,0,14,14,19,19,0,14,14,16,16,0,15,15,18,17,0,0,0,20,20,0,13,13,16,16,0,17,17,22,20,0,15,15,17,17,0,15,15,18,18,0,22,21,20,21,0,13,13,16,16,0,18,18,0,22,0,15,15,17,17,6,7,7,13,13,9,10,10,15,15,11,10,10,15,15,0,21,22,18,18,0,0,0,18,18,10,10,10,15,15,12,13,13,17,17,12,11,11,15,15,0,22,22,18,18,0,0,21,18,18,12,11,11,15,15,15,14,14,18,18,13,11,11,15,15,0,0,21,18,19,0,21,22,18,19,0,22,0,18,19,0,0,0,0,0,0,21,21,18,18,0,22,0,0,21,0,0,0,19,18,0,0,0,18,19,0,0,0,0,0,0,20,20,18,17,0,0,22,0,21,0,0,0,19,19,6,6,6,13,13,8,6,6,11,11,9,7,7,13,13,0,10,10,11,11,0,12,12,14,14,9,8,8,14,14,12,10,10,13,13,10,7,7,13,13,0,11,11,15,15,0,11,11,13,13,9,8,8,14,14,13,10,10,13,14,11,7,7,13,13,0,11,11,15,15,0,11,11,13,13,0,12,12,15,15,0,21,21,17,17,0,10,10,13,13,0,14,14,20,20,0,12,12,13,13,0,12,12,15,15,0,21,22,17,18,0,10,10,13,13,0,16,16,20,21,0,12,12,13,13,0,11,11,13,13,0,12,12,16,16,0,12,12,16,16,0,16,16,0,21,0,17,18,0,0,0,12,12,15,15,0,15,15,18,18,0,12,12,16,16,0,16,16,21,22,0,17,17,22,21,0,12,12,16,16,0,15,15,19,19,0,12,12,16,16,0,16,16,22,22,0,17,16,22,0,0,17,18,0,0,0,0,0,0,0,0,15,15,21,20,0,19,20,0,22,0,18,18,0,0,0,18,17,0,0,0,0,0,0,0,0,16,16,22,21,0,20,20,0,22,0,20,19,0,0,0,11,11,12,12,0,10,10,11,11,0,11,11,12,12,0,12,12,10,10,0,13,13,12,12,0,11,11,13,13,0,13,13,12,12,0,10,10,12,12,0,13,13,14,13,0,12,12,12,12,0,12,12,13,13,0,14,14,13,13,0,10,10,12,12,0,13,13,14,14,0,13,12,12,12,0,14,14,14,14,0,21,21,16,16,0,12,12,12,12,0,16,16,20,21,0,13,13,11,11,0,14,14,14,14,0,20,20,16,15,0,12,12,12,12,0,17,17,20,20,0,13,13,11,11,7,8,8,16,16,11,10,10,15,15,12,10,10,17,17,0,14,14,16,15,0,15,15,17,17,11,9,9,16,16,14,12,12,17,17,13,9,9,16,15,0,14,14,19,18,0,14,14,16,16,12,10,10,17,18,16,13,13,17,18,14,10,10,16,16,0,14,14,19,19,0,14,15,17,17,0,15,15,18,19,0,0,0,20,20,0,13,13,17,17,0,17,18,0,22,0,15,15,16,17,0,15,15,18,18,0,0,0,20,21,0,14,14,17,17,0,19,18,0,0,0,16,16,17,17,8,7,7,14,14,12,11,11,15,15,13,11,11,15,15,0,0,0,18,19,0,21,20,18,18,12,10,11,15,16,14,13,13,18,18,14,11,11,15,15,0,20,20,19,18,0,20,0,18,18,13,11,11,16,16,17,15,15,19,19,14,12,12,15,15,0,21,0,18,20,0,22,22,18,19,0,22,22,19,19,0,0,0,0,0,0,21,22,19,18,0,0,0,0,21,0,0,0,19,19,0,0,22,20,20,0,0,0,0,0,0,22,0,18,18,0,0,0,0,22,0,0,0,19,20,11,10,10,14,14,14,11,11,13,13,14,11,11,15,15,0,14,13,12,12,0,15,15,16,16,13,11,11,15,15,16,13,13,15,15,15,10,10,14,15,0,14,14,16,16,0,14,14,15,15,13,11,11,15,15,18,14,14,15,15,15,10,10,15,14,0,14,14,16,16,0,14,14,15,15,0,15,15,17,16,0,21,22,18,18,0,13,13,14,14,0,18,17,20,21,0,15,15,14,14,0,15,16,16,17,0,0,0,19,18,0,13,13,15,14,0,19,19,0,0,0,15,15,14,14,0,12,12,14,13,0,13,13,16,16,0,12,12,16,16,0,16,16,22,0,0,17,18,0,22,0,13,13,16,16,0,15,15,18,18,0,12,12,16,16,0,16,16,22,22,0,17,17,0,0,0,13,13,17,17,0,16,16,19,20,0,12,12,17,17,0,17,17,22,0,0,17,17,22,21,0,18,18,0,0,0,0,0,0,0,0,16,16,21,21,0,19,19,0,0,0,18,18,0,22,0,18,18,0,22,0,0,0,0,0,0,16,16,22,0,0,20,20,0,0,0,19,18,0,0,0,12,12,15,15,0,12,12,15,14,0,13,13,15,15,0,14,14,14,14,0,15,15,16,16,0,13,13,15,16,0,15,15,16,16,0,12,12,15,15,0,14,14,16,16,0,14,14,15,15,0,13,13,15,16,0,15,15,16,16,0,12,12,15,15,0,15,15,17,17,0,14,14,15,15,0,15,15,17,17,0,21,21,19,19,0,13,13,14,14,0,17,17,22,0,0,14,14,15,15,0,15,15,17,17,0,22,0,18,20,0,13,13,15,15,0,18,18,0,22,0,15,15,14,15,8,8,8,17,16,12,10,10,16,16,13,10,10,17,16,0,15,15,17,17,0,15,15,17,17,12,11,11,18,18,15,12,12,18,18,15,10,10,16,17,0,14,14,18,18,0,14,14,17,17,13,10,10,16,16,17,14,14,17,17,15,10,10,16,15,0,15,15,19,20,0,14,14,15,16,0,16,16,19,19,0,0,0,21,22,0,13,13,17,17,0,18,17,0,21,0,15,15,17,17,0,15,15,18,19,0,0,22,0,21,0,13,13,16,17,0,19,19,0,22,0,16,15,16,16,9,8,8,14,14,12,11,11,15,15,13,11,11,15,15,0,21,20,19,18,0,0,0,19,18,12,11,11,16,15,15,13,13,17,18,14,11,11,15,15,0,22,22,19,18,0,22,21,18,18,14,11,11,15,15,17,14,14,18,18,15,12,12,15,15,0,22,22,20,19,0,0,21,18,18,0,0,22,20,20,0,0,0,0,0,0,20,21,18,18,0,0,0,21,21,0,0,0,20,19,0,22,21,19,19,0,0,0,0,0,0,0,22,17,18,0,0,22,0,22,0,22,0,19,19,0,11,11,15,15,0,11,11,14,14,0,12,12,15,15,0,15,15,14,14,0,16,16,16,16,0,12,12,16,16,0,14,14,16,16,0,11,11,15,15,0,15,15,17,17,0,15,15,15,15,0,12,12,16,16,0,14,14,15,15,0,11,11,15,15,0,15,15,17,17,0,15,15,14,15,0,16,16,17,17,0,0,0,19,19,0,14,14,15,15,0,18,18,21,0,0,15,15,14,15,0,16,16,17,17,0,21,0,19,19,0,14,14,15,15,0,20,20,22,0,0,16,15,14,14,0,12,12,13,13,0,12,12,16,16,0,12,12,16,16,0,16,16,22,21,0,18,17,21,0,0,13,13,16,16,0,15,15,18,19,0,12,12,16,16,0,16,17,22,0,0,17,17,0,22,0,13,13,17,16,0,15,15,19,19,0,12,12,16,16,0,16,16,21,20,0,17,16,22,0,0,18,18,22,21,0,0,0,0,0,0,15,16,21,21,0,19,19,0,0,0,18,17,0,0,0,18,18,21,0,0,0,0,0,0,0,16,16,22,22,0,20,21,0,0,0,18,19,0,22,0,13,13,16,16,0,12,12,15,15,0,13,13,16,16,0,14,14,15,15,0,15,15,17,17,0,13,13,17,16,0,15,15,17,17,0,12,12,16,16,0,15,15,17,17,0,14,14,16,16,0,13,13,16,17,0,15,15,17,17,0,12,12,16,16,0,14,14,17,17,0,14,14,16,16,0,16,16,17,17,0,21,0,21,19,0,13,13,16,16,0,17,17,0,0,0,15,15,16,16,0,16,15,18,18,0,22,0,20,20,0,13,13,15,15,0,18,18,0,0,0,15,15,15,15,0,12,12,17,17,0,14,14,17,17,0,14,14,17,17,0,17,17,18,17,0,17,17,19,18,0,13,13,17,17,0,16,16,18,18,0,13,13,16,16,0,17,17,19,19,0,16,16,17,17,0,13,13,18,18,0,17,17,18,18,0,13,13,17,17,0,17,17,19,19,0,16,17,17,17,0,17,17,19,19,0,21,0,21,19,0,14,14,16,16,0,20,19,0,21,0,16,16,16,16,0,17,18,19,19,0,0,0,0,21,0,15,15,16,17,0,21,20,0,0,0,17,18,16,17,0,9,9,14,14,0,14,14,15,16,0,14,14,15,15,0,0,0,18,18,0,21,0,18,19,0,12,12,15,15,0,16,16,17,17,0,14,14,14,14,0,22,0,19,18,0,22,0,17,18,0,14,14,16,15,0,18,18,19,18,0,14,15,15,15,0,0,21,20,20,0,0,0,18,18,0,21,21,19,19,0,0,0,0,0,0,21,21,18,18,0,22,0,20,20,0,22,0,19,19,0,22,0,19,20,0,0,0,0,0,0,0,21,17,18,0,0,0,22,22,0,0,0,19,18,0,18,20,16,16,0,21,20,17,17,0,0,21,18,18,0,22,21,18,18,0,0,22,19,19,0,20,20,17,17,0,0,0,18,18,0,19,20,17,17,0,22,0,19,21,0,22,21,18,18,0,20,19,17,18,0,0,0,19,19,0,20,20,17,17,0,22,22,21,21,0,20,0,18,18,0,22,22,18,18,0,0,0,20,22,0,20,20,16,16,0,0,0,21,0,0,21,20,16,17,0,22,0,19,20,0,0,0,21,20,0,19,21,17,17,0,0,0,0,0,0,21,21,17,17,0,12,12,13,13,0,14,14,16,16,0,14,14,16,16,0,18,18,0,0,0,19,18,22,0,0,13,13,16,16,0,16,16,18,18,0,13,13,16,16,0,17,18,21,0,0,18,18,21,0,0,13,13,16,16,0,17,17,19,20,0,13,13,16,17,0,18,18,21,0,0,18,18,21,0,0,18,19,0,21,0,0,0,0,0,0,16,16,21,20,0,20,20,0,0,0,18,19,0,0,0,18,18,0,0,0,0,0,0,0,0,16,16,0,21,0,22,22,0,0,0,19,19,0,0,0,16,16,19,20,0,17,16,22,21,0,17,17,21,20,0,19,18,0,22,0,19,19,22,22,0,16,15,22,22,0,19,19,0,21,0,15,15,20,20,0,18,19,0,21,0,18,18,22,22,0,16,16,21,20,0,20,19,21,22,0,16,15,20,20,0,19,19,0,22,0,18,18,21,0,0,19,18,21,22,0,0,0,0,0,0,16,16,19,21,0,20,22,0,22,0,18,18,20,21,0,19,18,0,22,0,0,0,22,0,0,16,16,20,20,0,21,21,0,0,0,18,18,21,0,0,12,12,17,17,0,15,14,17,17,0,14,14,18,18,0,17,17,17,18,0,18,18,18,18,0,13,13,18,18,0,16,17,19,18,0,13,13,16,17,0,17,17,18,19,0,17,17,17,17,0,13,13,17,17,0,17,18,18,18,0,13,13,16,16,0,18,18,19,20,0,16,17,17,16,0,17,18,19,18,0,0,0,22,21,0,15,15,16,16,0,20,20,21,22,0,17,17,16,16,0,16,17,18,18,0,0,0,21,21,0,15,15,16,16,0,21,20,0,0,0,17,17,16,16,0,10,10,14,14,0,14,14,15,15,0,14,14,15,15,0,22,0,18,18,0,0,0,19,19,0,13,13,15,16,0,17,16,18,18,0,14,14,15,15,0,21,21,19,18,0,22,21,18,17,0,14,14,15,15,0,18,18,19,18,0,15,15,14,14,0,22,21,19,19,0,22,21,17,18,0,0,0,19,19,0,0,0,0,0,0,20,22,17,17,0,0,22,22,20,0,0,0,19,18,0,21,22,19,18,0,0,0,0,0,0,22,22,17,18,0,0,0,21,22,0,0,0,19,18,0,20,20,17,17,0,21,21,17,18,0,21,22,18,18,0,21,0,18,18,0,22,0,19,19,0,19,21,18,18,0,0,22,18,18,0,22,21,17,17,0,22,0,20,20,0,0,0,18,18,0,22,21,18,18,0,21,0,19,19,0,20,21,17,17,0,0,22,22,20,0,21,22,17,17,0,0,21,19,18,0,0,0,21,21,0,21,20,16,17,0,0,0,0,0,0,21,0,17,17,0,21,0,19,20,0,0,0,20,22,0,20,20,17,17,0,0,0,0,0,0,21,21,17,17,0,12,12,13,13,0,14,14,16,16,0,14,14,16,16,0,18,18,21,0,0,19,19,22,0,0,13,13,16,16,0,16,16,18,18,0,13,13,16,16,0,18,18,21,22,0,18,18,0,22,0,13,13,16,16,0,17,17,20,18,0,13,13,16,16,0,19,18,0,22,0,18,18,22,21,0,18,19,0,0,0,0,0,0,0,0,16,16,21,21,0,21,21,0,0,0,18,19,0,0,0,19,19,21,0,0,0,0,0,0,0,16,16,0,21,0,20,20,0,0,0,20,20,0,0,0,16,16,21,20,0,18,17,21,22,0,17,18,0,21,0,18,19,22,22,0,19,19,0,22,0,16,17,21,22,0,20,19,0,0,0,16,16,20,21,0,19,19,0,0,0,19,19,0,22,0,17,17,21,21,0,19,20,0,0,0,16,16,0,20,0,19,20,0,21,0,18,18,0,22,0,19,20,22,22,0,0,0,0,22,0,17,17,0,21,0,21,21,0,0,0,18,19,23,21,0,20,19,0,0,0,0,0,0,0,0,17,17,0,20,0,0,0,0,0,0,19,19,23,22,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,4,5,5,9,9,12,9,9,12,12,12,10,10,13,13,13,11,11,12,12,13,13,13,12,12,13,10,10,13,13,13,13,13,13,13,13,10,10,13,12,13,11,11,13,13,13,14,14,13,12,13,10,10,13,13,12,13,13,13,13,13,10,10,12,12,13,11,11,13,13,13,14,14,12,12,13,12,12,13,13,13,13,13,13,13,13,11,11,12,12,13,11,11,13,13,13,14,14,12,12,13,14,14,13,13,14,13,13,14,14,14,14,14,12,12,13,14,14,13,13,14,14,14,12,12,12,8,8,12,12,13,12,12,11,11,13,11,11,11,11,14,12,12,11,11,14,12,12,10,11,14,12,12,12,12,14,12,12,12,12,13,13,13,11,11,14,12,12,11,11,14,12,12,12,12,14,12,12,12,12,14,12,12,12,12,14,13,13,11,11,14,12,12,11,11,14,12,12,12,12,14,13,13,12,12,14,12,12,12,12,14,13,13,11,11,14,12,12,11,11,14,13,13,11,11,15,13,13,12,12,14,12,12,12,12,15,13,13,12,12,14,12,12,11,11,15,13,13,11,11,12,9,9,11,11,13,7,7,11,11,13,8,8,12,12,14,10,10,10,10,14,14,14,11,11,14,8,8,12,12,14,14,14,12,12,14,7,7,11,11,14,9,9,12,12,14,14,14,11,11,14,8,8,12,12,14,14,14,12,12,14,7,7,11,11,14,9,9,12,12,14,14,14,11,11,14,10,10,12,12,14,14,14,13,13,14,9,9,11,11,14,10,10,12,11,15,14,14,11,11,14,15,15,12,12,15,14,14,14,14,15,14,14,11,11,15,14,14,12,12,15,14,14,11,11,14,11,11,10,10,15,10,10,10,10,15,10,10,10,10,15,11,11,9,9,15,12,13,9,9,15,11,11,11,11,15,13,13,11,11,15,10,10,10,10,15,11,11,10,10,15,13,13,11,11,15,11,11,11,11,15,13,13,11,11,15,10,10,10,10,15,11,11,10,10,15,13,13,10,11,15,12,12,11,11,15,13,13,11,10,15,11,11,10,10,15,11,12,10,9,15,13,13,10,10,15,14,14,11,11,15,13,13,11,11,15,14,14,10,10,15,13,13,10,10,15,14,14,10,10,14,13,13,10,10,15,13,13,10,10,15,13,13,10,10,14,14,14,8,9,15,14,14,9,9,15,14,14,11,11,15,14,14,10,10,15,14,14,10,10,15,14,14,11,11,15,14,14,10,10,15,14,14,11,11,15,14,14,10,10,15,14,14,10,10,15,14,14,10,10,15,14,14,9,9,15,14,14,11,11,15,14,14,11,11,15,14,14,10,10,15,14,14,10,10,14,14,14,9,9,15,15,15,11,11,15,14,14,12,12,15,15,15,10,10,15,14,15,10,10,15,15,15,9,9,15,10,10,13,13,17,8,8,12,12,17,10,9,13,13,18,11,11,12,12,18,14,14,12,12,17,9,9,13,13,17,13,13,12,12,18,8,8,12,12,18,10,10,12,12,18,14,14,12,12,18,10,10,13,13,18,13,13,13,13,18,9,9,12,12,18,10,10,13,13,18,14,14,12,12,18,11,11,13,13,18,14,14,13,13,18,10,10,12,12,17,11,11,12,12,18,14,14,12,12,18,14,14,13,13,18,14,14,13,13,19,14,15,12,12,18,14,14,12,12,18,15,15,12,12,13,7,7,11,11,14,15,15,11,11,14,16,15,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,11,12,14,15,15,12,12,13,15,15,11,11,14,15,15,11,11,15,15,15,12,12,14,15,15,12,12,14,16,16,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,15,15,15,12,12,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,14,15,12,12,15,15,15,12,12,15,16,16,12,12,15,15,15,12,12,14,15,15,12,12,15,15,15,12,12,13,13,13,11,11,14,14,15,11,11,14,14,14,12,12,14,15,15,10,10,15,15,15,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,15,15,12,12,15,15,15,11,11,14,15,15,12,12,14,14,15,11,11,14,15,15,11,11,14,15,15,12,12,15,15,15,11,11,15,15,15,12,12,14,15,15,12,12,14,15,15,10,10,14,15,15,11,11,15,15,15,10,10,15,15,15,12,12,15,15,15,14,14,15,15,15,11,11,15,15,15,11,11,15,15,15,11,11,14,10,10,10,10,15,9,9,12,11,15,10,10,12,12,15,11,11,11,11,15,13,13,12,12,16,10,10,12,12,15,13,13,12,12,15,9,9,11,11,15,10,10,13,12,15,13,13,11,11,15,10,10,12,12,15,13,13,12,12,15,9,9,11,11,15,10,10,12,12,15,13,13,11,11,15,11,11,12,12,15,13,13,13,13,15,10,10,11,11,15,11,11,12,12,15,13,14,11,11,15,14,14,13,13,16,14,14,20,19,15,14,14,11,11,15,13,14,12,12,15,14,14,11,11,14,13,13,10,10,14,14,13,11,11,15,13,14,12,12,15,14,14,12,12,15,14,14,11,11,15,14,14,12,12,15,15,14,13,13,15,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,13,13,15,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,15,14,14,11,11,15,15,15,12,12,15,15,15,13,13,16,14,14,12,12,15,15,15,13,13,15,15,15,12,12,15,15,15,12,12,14,10,10,13,13,17,9,9,12,12,17,9,9,13,13,17,11,11,12,12,18,14,14,12,12,18,10,10,13,13,18,14,13,12,12,18,9,9,12,12,18,10,10,12,13,18,14,14,12,12,17,9,9,12,12,17,13,14,12,12,17,9,9,12,12,17,10,10,12,12,17,14,14,11,11,18,11,11,12,12,18,14,14,12,13,18,10,10,12,12,18,11,11,12,12,18,14,14,11,11,18,15,15,12,12,18,14,14,13,13,18,14,15,12,12,17,14,14,12,12,17,15,15,12,12,13,7,7,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,14,15,15,11,11,14,15,15,12,12,14,15,15,11,11,15,15,15,11,11,15,15,15,12,12,14,15,15,12,12,14,15,16,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,15,15,15,12,12,15,16,16,12,12,15,15,15,12,12,15,15,15,12,12,15,15,15,12,12,13,13,13,12,12,14,14,14,11,11,14,14,14,12,12,14,14,14,10,10,15,15,15,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,14,14,12,12,15,15,14,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,14,14,11,11,15,14,14,10,10,14,15,15,12,12,14,14,14,12,12,14,15,15,10,10,14,15,15,11,11,15,15,15,10,10,15,15,15,12,12,15,14,14,13,13,15,15,15,10,10,15,14,14,11,11,15,15,15,10,10,14,10,10,10,10,14,9,9,12,12,15,10,10,12,12,14,11,11,11,11,15,13,14,12,12,15,10,10,13,13,15,13,13,12,12,15,9,9,12,12,15,10,10,13,13,15,13,14,11,11,15,10,10,12,12,15,13,13,12,12,15,9,9,11,11,15,10,10,12,12,15,13,13,11,11,15,11,11,12,12,15,13,13,13,13,15,10,10,11,11,15,11,11,12,12,15,14,14,11,11,15,14,14,13,13,15,14,14,20,19,15,14,14,11,11,15,14,14,12,12,15,14,14,11,11,14,13,13,11,11,15,13,13,11,11,15,14,13,12,12,15,14,14,11,12,15,14,14,11,11,15,14,14,12,12,14,14,14,13,13,15,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,13,13,14,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,15,14,14,11,11,14,14,14,12,12,15,15,15,13,13,16,14,14,12,12,15,15,15,13,13,15,14,14,12,12,15,15,15,12,12,15,11,11,13,13,18,10,10,12,12,17,11,11,12,12,18,12,12,11,11,18,14,14,12,12,18,10,10,13,13,18,14,14,12,12,18,10,10,12,12,18,11,11,12,12,18,14,14,12,12,18,11,11,12,13,18,14,14,12,12,18,10,10,12,12,18,11,11,12,12,18,14,14,11,11,18,11,11,12,12,18,14,14,12,12,17,10,10,11,11,17,12,12,11,11,17,14,14,11,11,18,15,15,12,12,18,14,14,13,13,18,15,15,11,11,18,15,14,12,12,18,15,15,11,11,14,8,8,11,11,14,15,15,10,10,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,15,15,15,11,11,15,15,15,12,12,14,15,15,10,10,15,15,15,11,11,15,15,15,12,12,15,15,15,11,11,15,15,15,13,13,14,15,15,10,10,15,15,15,11,11,15,15,15,12,12,15,15,15,12,12,15,16,16,12,12,15,14,14,11,11,15,15,15,11,11,15,15,15,12,12,16,15,15,13,13,15,16,16,13,13,16,15,15,12,12,15,15,15,12,12,15,15,15,12,12,14,13,13,11,11,14,14,14,11,11,14,14,14,12,12,15,14,14,11,11,15,15,14,11,11,15,14,14,12,12,15,14,14,12,12,14,15,15,11,11,15,14,14,12,12,15,14,14,11,11,15,14,15,12,12,15,14,14,12,12,14,15,15,11,11,15,14,14,11,11,15,14,14,11,11,15,15,14,12,12,15,14,14,12,12,15,15,15,10,11,15,14,14,11,11,15,15,15,10,10,15,15,15,12,12,16,14,14,13,13,15,15,15,11,11,15,14,14,11,11,15,15,15,11,11,14,11,11,9,9,14,10,10,12,12,15,11,11,12,12,15,12,12,12,12,15,14,14,13,13,15,11,11,12,12,15,14,14,13,13,14,10,10,12,12,15,11,11,13,13,15,14,14,12,12,15,10,10,12,12,14,14,14,13,13,14,10,10,11,11,15,11,11,12,12,15,14,14,12,12,15,12,12,13,13,15,14,14,14,14,15,11,11,11,11,15,12,11,12,12,15,14,14,11,11,15,15,15,13,14,15,14,14,20,19,15,14,14,12,12,15,14,14,13,13,15,14,14,12,12,14,13,13,10,10,14,13,13,11,11,14,13,13,11,11,15,14,14,12,12,15,14,14,12,12,15,14,14,12,11,14,14,14,13,13,15,14,14,11,11,15,14,14,11,11,15,14,14,14,14,15,14,14,11,12,15,14,14,13,13,14,14,14,11,11,15,14,14,11,11,15,14,14,14,14,15,14,14,12,12,15,14,14,13,13,15,14,14,11,11,14,14,14,12,12,15,14,14,13,13,15,15,15,13,13,15,14,14,13,13,15,15,15,13,13,15,14,14,13,13,15,15,15,13,13,15,14,14,13,13,18,15,15,12,12,18,15,15,12,12,18,16,16,11,11,18,17,17,12,12,18,15,15,13,13,18,17,17,12,12,18,15,15,12,12,18,15,16,12,12,18,17,17,12,12,18,15,15,13,12,17,16,17,12,12,17,15,15,11,12,18,15,15,12,12,18,17,17,11,11,18,16,16,12,12,18,17,16,12,12,18,15,15,11,11,18,15,15,12,12,18,17,17,11,11,18,17,17,12,12,18,16,16,13,13,18,17,17,11,11,17,16,16,11,11,18,17,17,11,11,15,15,15,11,11,16,15,15,11,11,16,15,15,11,11,16,15,15,12,12,17,15,15,14,14,16,15,15,11,11,17,15,15,14,14,16,15,15,11,11,16,15,15,12,12,18,15,15,13,13,16,15,15,11,11,17,15,15,14,14,16,15,15,11,11,16,15,15,12,12,17,15,15,13,13,16,15,15,12,12,17,16,15,14,14,16,15,15,11,11,16,15,15,12,12,18,15,15,13,13,17,15,15,14,14,17,16,16,15,15,18,14,15,13,13,18,15,15,14,14,18,15,15,13,13,15,13,13,12,12,15,14,14,12,12,16,14,14,12,12,16,14,14,12,12,17,14,15,12,12,16,14,14,12,12,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,17,14,14,12,12,16,14,14,12,12,17,14,14,13,13,15,15,15,11,11,16,14,14,12,12,17,14,14,12,12,16,15,15,12,12,17,14,14,13,12,16,15,15,11,11,16,14,14,12,12,17,15,15,11,11,17,15,15,13,13,17,14,14,13,13,18,15,15,12,12,17,14,14,12,12,17,15,15,12,12,14,15,15,9,9,14,15,15,12,12,15,16,15,13,13,15,15,15,14,14,15,15,15,21,19,15,15,15,13,13,15,15,15,19,19,15,15,15,12,12,15,16,16,14,14,15,15,15,19,19,15,16,15,13,13,15,16,16,19,20,15,15,15,12,13,15,16,16,14,14,15,15,15,20,19,15,15,15,14,14,15,16,16,19,19,15,15,15,14,13,15,15,15,14,14,15,15,15,19,19,15,16,16,20,19,15,17,16,21,20,15,15,15,20,19,15,16,16,20,20,15,15,15,19,20,14,13,13,10,10,14,14,14,11,11,14,14,14,12,12,15,14,14,13,13,15,15,14,20,20,15,14,14,12,12,14,14,14,19,19,15,14,14,11,11,15,14,14,12,12,15,14,14,20,19,15,14,14,12,12,14,14,14,20,20,14,14,14,11,11,15,14,14,12,12,15,14,14,20,21,15,14,14,13,13,15,14,14,20,20,15,14,14,12,12,15,14,14,13,13,14,15,15,20,20,15,15,15,20,19,15,14,14,20,19,15,15,15,20,20,15,14,14,21,20,15,15,15,20,20,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,6,7,7,7,8,8,7,8,8,10,11,11,9,8,8,8,8,8,11,11,12,9,8,8,5,7,7,9,11,11,10,11,11,10,11,11,12,14,14,11,12,12,10,12,12,13,14,14,12,12,12,5,6,6,7,6,6,8,7,7,8,7,7,11,10,10,10,7,7,9,8,8,12,11,11,10,7,7,7,7,7,11,10,10,12,10,10,11,10,10,15,13,13,13,10,10,12,11,11,15,13,13,14,11,11,7,7,7,11,11,11,12,11,11,12,11,11,14,14,14,13,12,12,12,12,12,16,15,15,14,12,12,0,10,10,0,11,11,0,12,12,0,11,11,0,14,14,0,11,11,0,12,12,0,15,15,0,11,11,7,8,8,12,11,10,12,10,10,12,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,12,11,11,12,11,11,15,14,14,14,12,12,13,12,12,15,14,14,15,13,13,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,13,13,0,15,14,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,5,5,0,8,8,0,8,8,0,9,9,0,10,10,0,8,8,0,8,8,0,10,10,0,8,8,0,7,7,0,8,8,0,7,7,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,7,7,0,6,6,0,7,7,0,7,7,0,10,10,0,6,6,0,7,7,0,10,10,0,5,5,0,8,8,0,7,7,0,8,8,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,7,7,0,6,6,0,9,10,0,10,10,0,10,10,0,11,11,0,9,9,0,10,10,0,11,11,0,9,9,0,8,8,0,8,8,0,8,8,0,9,9,0,9,9,0,7,7,0,8,8,0,9,9,0,7,7,0,8,8,0,7,7,0,7,7,0,8,8,0,9,9,0,7,7,0,7,7,0,8,8,0,6,6,0,6,6,0,10,10,0,10,10,0,10,10,0,12,12,0,9,9,0,10,10,0,12,12,0,9,9,0,8,8],"i8",N3,x.GLOBAL_BASE+446300),E3([7,7,0,7,7,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,6,6,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,6,6,5,7,8,0,8,8,6,9,9,7,10,10,0,8,8,0,9,9,0,12,12,0,8,8,4,7,7,6,10,10,0,12,12,7,11,11,8,12,12,0,12,12,0,13,12,0,15,15,0,12,12,0,7,7,0,7,7,0,7,7,0,8,8,0,10,10,0,7,7,0,8,8,0,11,11,0,7,7,5,7,7,8,9,9,0,10,10,8,9,9,11,11,11,0,10,9,0,11,11,0,13,13,0,10,10,6,7,7,8,10,10,0,12,12,9,10,10,10,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,10,10,0,11,11,0,11,11,0,11,11,0,13,13,0,11,11,0,11,11,0,15,15,0,10,10,0,8,8,0,10,10,0,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,11,11,0,7,7,0,10,10,0,12,12,0,10,10,0,12,12,0,12,12,0,13,13,0,14,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,9,9,0,0,0,8,8,0,0,0,9,9,0,0,0,12,12,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,5,5,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,5,5,0,0,0,7,7,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,5,5,0,0,0,7,7,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,11,0,0,0,9,9,0,0,0,10,10,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,7,7,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,8,8,0,0,0,10,11,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,7,7,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,7,8,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,9,9,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,9,9,0,0,0,10,10,0,0,0,12,12,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,5,16,9,9,13,18,21,4,2,21,6,6,10,15,21,16,19,6,5,7,10,13,16,8,6,5,4,4,8,13,16,8,5,6,4,4,7,12,15,13,10,9,7,7,9,13,16,18,15,13,12,9,7,10,14,21,18,13,13,7,5,8,12,2,0,0,0,64,0,0,0,192,58,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,11,7,0,0,0,0,0,0,0,0,0,176,11,7,0,0,0,0,0,0,0,0,0,216,11,7,0,0,12,7,0,0,0,0,0,0,0,0,0,40,12,7,0,80,12,7,0,0,0,0,0,0,0,0,0,120,12,7,0,160,12,7,0,0,0,0,0,0,0,0,0,200,12,7,0,240,12,7,0,160,12,7,0,0,0,0,0,24,13,7,0,64,13,7,0,160,8,7,0,200,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,72,11,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,64,11,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,8,7,0,80,8,7,0,0,0,0,0,0,0,0,0,120,8,7,0,160,8,7,0,200,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,88,10,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,8,11,7,0,0,0,0,0,2,0,0,0,25,0,0,0,32,10,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,10,7,0,0,0,0,0,2,0,0,0,9,0,0,0,0,10,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,16,10,7,0,0,0,0,0,1,0,0,0,25,0,0,0,120,9,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,152,9,7,0,0,0,0,0,1,0,0,0,25,0,0,0,240,8,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,16,9,7,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,4,4,5,5,5,4,5,4,5,5,5,5,6,5,6,5,6,5,6,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,8,8,8,8,9,9,10,10,10,10,4,6,5,8,7,9,9,9,9,10,9,11,9,4,5,6,7,8,9,9,9,9,9,10,9,10,8,9,8,9,8,10,9,11,9,12,10,12,10,8,8,9,8,9,9,10,9,11,10,12,10,12,9,10,10,11,10,12,11,12,11,12,12,12,12,9,10,10,11,11,11,11,11,12,12,12,12,12,10,11,11,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,13,12,13,12,13,12,12,11,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,12,13,12,12,12,13,12,13,12,13,12,13,12,13,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,4,13,9,9,12,15,17,4,2,18,5,7,10,14,18,11,8,6,5,6,8,11,14,8,5,5,3,5,8,11,13,9,6,7,5,5,7,9,10,11,10,9,8,6,6,8,10,14,14,11,11,9,8,9,10,17,17,14,13,10,9,10,10,5,0,0,0,243,0,0,0,184,57,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,176,58,7,0,0,0,0,0,5,0,0,0,53,12,0,0,104,45,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,57,7,0,0,0,0,0,5,0,0,0,243,0,0,0,96,44,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,88,45,7,0,0,0,0,0,5,0,0,0,243,0,0,0,88,43,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,80,44,7,0,0,0,0,0,5,0,0,0,243,0,0,0,80,42,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,72,43,7,0,0,0,0,0,5,0,0,0,53,12,0,0,0,30,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,42,7,0,0,0,0,0,5,0,0,0,53,12,0,0,176,17,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,232,29,7,0,0,0,0,0,1,0,0,0,7,0,0,0,136,17,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,144,17,7,0,0,0,0,0,5,0,0,0,243,0,0,0,128,16,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,120,17,7,0,0,0,0,0,5,0,0,0,243,0,0,0,120,15,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,112,16,7,0,0,0,0,0,5,0,0,0,243,0,0,0,112,14,7,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,104,15,7,0,0,0,0,0,5,0,0,0,243,0,0,0,104,13,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,96,14,7,0,0,0,0,0,1,9,9,6,9,9,5,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,7,7,7,7,7,7,7,8,8,9,9,9,9,7,7,8,8,8,9,9,9,9,7,8,6,7,7,8,8,8,8,8,8,9,8,8,10,9,9,10,8,8,10,8,8,10,9,9,10,8,8,6,6,6,8,6,6,8,7,7,8,7,7,10,8,8,9,7,7,9,7,7,10,8,9,9,7,7,7,7,7,10,8,8,11,8,8,10,8,8,12,9,9,12,8,8,11,9,9,12,9,9,11,8,8,7,7,7,10,9,9,10,9,9,10,9,9,11,10,10,10,9,9,11,9,9,11,10,10,11,9,9,9,8,8,10,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,9,9,11,10,10,11,9,9,8,8,8,11,9,9,11,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,9,9,12,8,8,8,7,7,10,9,9,10,9,9,11,9,9,11,11,11,11,9,9,11,10,10,11,11,11,11,9,9,10,9,9,11,9,9,11,9,10,11,10,9,11,10,10,11,9,9,11,9,10,11,10,10,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,6,6,7,7,7,7,8,8,7,9,9,11,11,11,9,8,8,8,9,9,12,11,11,9,8,8,6,7,7,10,11,10,10,10,10,11,11,10,14,13,14,12,11,11,11,11,11,15,14,14,13,12,12,5,6,6,8,5,5,8,7,7,8,8,8,12,10,10,9,7,7,9,7,8,12,10,10,10,7,7,7,8,8,12,10,10,12,10,10,11,10,10,15,13,13,13,10,10,11,10,10,16,13,14,14,10,10,7,7,7,12,11,11,12,11,11,11,11,11,16,15,15,14,12,12,12,11,11,16,15,16,14,12,12,10,9,9,14,11,11,13,11,11,12,11,11,16,14,14,14,11,11,12,11,11,17,15,15,14,11,11,7,8,8,12,11,11,12,10,10,12,10,10,16,14,13,14,10,10,12,10,10,17,14,14,14,10,10,8,7,7,13,11,11,12,11,11,12,11,11,16,15,14,14,12,12,12,11,11,16,15,14,15,12,12,11,10,10,13,11,11,13,12,11,13,11,11,17,14,14,14,11,11,13,11,11,17,14,15,14,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,14,14,6,7,7,14,14,7,7,7,15,15,0,12,12,15,15,0,13,13,15,15,7,8,8,15,15,10,10,10,16,16,9,8,8,15,15,0,13,13,18,17,0,13,13,16,16,8,8,8,15,15,12,11,11,16,16,9,8,8,15,15,0,13,13,18,18,0,13,13,16,16,0,14,14,17,17,0,20,0,19,20,0,12,12,16,16,0,16,16,20,22,0,14,14,16,16,0,14,14,17,17,0,20,22,20,19,0,13,13,15,16,0,17,18,0,21,0,15,15,16,16,5,7,7,13,13,8,9,9,14,14,10,10,10,14,14,0,20,22,18,18,0,22,21,18,17,9,10,10,14,14,12,12,12,17,17,12,10,10,14,14,0,0,20,17,17,0,22,21,17,18,11,10,10,14,14,14,13,13,18,18,12,11,11,14,14,0,22,21,18,19,0,20,0,17,17,0,22,0,18,18,0,0,0,0,0,0,20,20,17,17,0,22,0,22,21,0,21,0,19,18,0,22,22,18,18,0,0,0,0,0,0,21,0,17,17,0,22,0,20,20,0,0,0,19,18,6,6,6,12,12,8,6,6,10,10,8,6,6,13,12,0,10,10,11,11,0,11,11,13,13,8,7,7,13,13,11,9,9,13,13,10,6,6,12,12,0,10,10,14,14,0,10,10,13,13,9,7,7,13,13,12,10,10,13,13,10,6,6,12,12,0,11,11,15,15,0,10,10,13,13,0,12,12,15,14,0,19,20,16,17,0,9,9,13,13,0,14,14,20,21,0,12,11,13,12,0,12,12,15,14,0,20,19,17,17,0,10,10,12,13,0,15,15,22,21,0,12,12,12,13,0,10,10,12,12,0,11,11,15,15,0,11,11,15,15,0,15,15,22,22,0,16,17,0,0,0,11,11,15,15,0,14,14,18,18,0,11,11,16,16,0,16,15,0,21,0,16,16,0,0,0,12,12,15,15,0,14,14,19,19,0,11,11,15,15,0,15,15,22,0,0,16,16,22,0,0,16,16,0,21,0,0,0,0,0,0,15,15,19,20,0,18,18,0,0,0,17,17,0,0,0,17,17,0,0,0,0,0,0,0,0,16,15,22,21,0,20,20,0,0,0,18,18,0,0,0,10,10,12,12,0,10,10,11,11,0,11,11,12,12,0,11,11,9,9,0,13,12,12,12,0,11,11,13,13,0,13,13,12,12,0,10,10,12,12,0,13,12,13,13,0,12,12,12,12,0,11,11,13,13,0,13,13,12,12,0,10,10,12,12,0,13,13,14,13,0,12,12,12,12,0,14,13,13,14,0,20,21,15,15,0,11,11,12,12,0,15,16,20,20,0,12,13,10,10,0,13,13,14,13,0,20,20,15,15,0,11,11,12,12,0,16,17,21,21,0,13,13,11,11,6,7,7,16,15,11,9,9,14,15,12,9,9,16,16,0,13,13,15,15,0,14,14,17,17,10,9,9,16,16,14,12,12,16,16,12,9,9,15,15,0,13,13,17,18,0,13,13,15,15,12,10,10,17,17,15,12,12,17,17,13,9,9,16,16,0,13,13,18,19,0,14,14,16,16,0,15,15,18,18,0,0,0,20,19,0,12,12,17,16,0,16,17,0,21,0,14,15,16,16,0,15,15,18,18,0,0,22,19,21,0,13,13,16,16,0,18,17,22,22,0,15,15,16,16,7,7,7,13,13,11,10,10,15,15,12,10,10,14,14,0,21,0,18,17,0,21,22,18,18,11,10,10,15,15,14,12,12,17,17,14,11,11,14,14,0,21,20,18,18,0,22,21,18,17,12,11,10,16,16,16,14,14,17,19,14,11,11,15,15,0,0,22,19,19,0,21,22,18,18,0,21,0,18,19,0,0,0,22,0,0,22,21,17,17,0,0,0,20,22,0,0,21,18,18,0,0,0,19,20,0,0,0,0,0,0,0,21,17,17,0,0,0,22,21,0,0,0,19,19,10,9,9,14,13,13,10,10,12,12,13,10,10,14,14,0,13,13,12,12,0,15,14,16,15,13,10,10,14,14,15,12,12,14,14,15,10,10,14,14,0,14,14,15,15,0,14,13,14,14,13,10,10,15,15,17,13,13,15,15,14,10,10,14,14,0,14,14,15,16,0,14,14,15,15,0,15,15,16,16,0,21,22,17,18,0,12,12,14,14,0,17,17,20,21,0,14,14,14,14,0,15,15,16,16,0,21,22,18,18,0,13,13,14,14,0,18,18,22,0,0,15,15,14,14,0,11,11,13,13,0,12,12,16,15,0,12,12,16,16,0,16,16,0,0,0,16,17,0,22,0,12,12,16,16,0,14,14,17,18,0,11,11,16,16,0,15,15,0,21,0,16,16,21,22,0,12,12,16,16,0,15,15,19,19,0,12,12,17,16,0,16,16,21,22,0,16,16,0,0,0,17,17,0,22,0,0,0,0,0,0,15,15,19,20,0,17,19,0,0,0,17,17,22,0,0,17,17,0,22,0,0,0,0,0,0,15,15,21,0,0,19,20,0,0,0,19,18,22,0,0,11,12,14,14,0,11,11,14,14,0,12,12,15,15,0,13,13,13,13,0,14,14,16,16,0,12,12,15,15,0,14,14,16,15,0,11,11,15,15,0,13,13,16,16,0,13,13,15,15,0,12,12,15,15,0,15,14,16,16,0,11,11,15,15,0,14,14,17,17,0,13,13,15,15,0,15,15,16,16,0,0,0,18,18,0,12,12,14,14,0,16,16,22,0,0,14,14,15,15,0,15,15,16,17,0,21,22,18,18,0,13,13,15,14,0,18,17,22,0,0,14,14,15,15,8,8,8,16,15,12,10,10,16,15,12,10,10,16,16,0,14,14,16,17,0,14,14,17,16,12,10,10,17,18,14,12,12,18,18,14,10,10,16,16,0,14,14,18,18,0,14,14,16,16,12,9,9,16,16,17,13,13,16,17,14,9,9,15,15,0,14,14,18,19,0,13,13,15,15,0,15,15,18,19,0,0,0,22,21,0,13,13,16,16,0,16,16,22,0,0,15,15,16,16,0,14,14,18,17,0,0,0,20,0,0,13,13,16,16,0,18,18,0,0,0,15,15,16,16,8,7,7,13,13,12,10,10,15,15,12,10,10,14,14,0,22,22,19,18,0,0,0,18,18,12,10,10,15,15,14,13,13,17,17,14,11,11,15,15,0,19,20,18,18,0,22,21,17,18,13,11,11,15,15,16,13,13,18,18,14,11,11,14,15,0,22,21,20,19,0,22,21,17,17,0,0,22,19,18,0,0,0,0,0,0,22,20,17,17,0,0,0,21,20,0,0,0,19,17,0,0,22,19,19,0,0,0,0,0,0,22,20,18,17,0,0,0,0,0,0,0,0,18,18,0,10,10,14,14,0,11,11,14,14,0,11,11,15,15,0,14,14,14,14,0,15,15,16,16,0,11,11,16,16,0,13,13,16,16,0,11,11,15,15,0,14,14,16,16,0,14,14,15,15,0,11,11,15,15,0,13,13,15,15,0,10,10,15,15,0,15,15,17,17,0,14,14,14,14,0,16,16,16,16,0,0,22,19,19,0,13,13,14,14,0,17,17,0,0,0,15,15,14,14,0,16,16,17,17,0,0,22,18,18,0,13,13,14,14,0,21,18,0,0,0,15,15,14,14,0,11,11,13,13,0,12,12,15,15,0,12,12,16,15,0,16,16,0,0,0,17,17,22,22,0,12,12,16,16,0,14,14,18,18,0,11,12,16,16,0,15,16,0,21,0,16,16,22,21,0,12,12,16,16,0,15,15,19,20,0,11,12,16,16,0,15,15,20,22,0,16,16,0,22,0,17,17,22,0,0,0,0,0,0,0,15,15,21,22,0,19,18,0,0,0,17,17,0,0,0,17,17,0,22,0,0,0,0,0,0,16,15,22,0,0,19,19,0,0,0,17,18,0,0,0,12,12,15,15,0,12,12,15,15,0,12,12,15,15,0,13,13,14,14,0,15,15,16,17,0,12,12,16,16,0,14,14,16,16,0,12,11,15,16,0,14,14,16,17,0,14,14,16,16,0,13,12,16,16,0,15,15,16,16,0,11,11,15,15,0,14,14,16,16,0,14,14,15,15,0,15,15,18,17,0,0,22,0,20,0,13,13,15,15,0,16,17,22,22,0,14,14,15,15,0,15,15,17,18,0,20,0,19,19,0,13,13,15,15,0,18,18,22,0,0,14,14,15,15,0,11,11,16,16,0,14,14,17,16,0,13,13,17,17,0,16,16,17,17,0,17,17,18,19,0,12,12,16,17,0,15,15,18,18,0,12,12,16,16,0,16,16,19,18,0,16,16,17,16,0,12,13,17,17,0,17,16,18,17,0,13,12,16,16,0,16,16,18,19,0,16,16,16,17,0,16,16,18,18,0,22,0,22,22,0,13,13,16,16,0,19,18,22,20,0,16,15,16,16,0,16,17,18,18,0,0,0,22,20,0,14,14,16,16,0,19,19,0,0,0,16,16,16,16,0,9,9,13,13,0,13,13,15,15,0,14,14,15,15,0,0,22,17,18,0,22,0,18,19,0,12,12,15,15,0,15,16,17,17,0,14,14,14,14,0,22,0,18,18,0,21,22,17,17,0,13,13,15,15,0,17,17,17,18,0,14,14,15,15,0,22,21,21,19,0,20,21,17,17,0,21,21,19,18,0,0,0,0,0,0,21,21,17,17,0,0,0,22,22,0,0,22,19,18,0,0,21,19,18,0,0,0,0,22,0,19,20,17,17,0,0,0,0,22,0,0,0,19,18,0,19,19,15,16,0,21,19,16,17,0,0,21,17,17,0,0,22,17,17,0,22,22,18,19,0,20,20,16,16,0,0,22,18,18,0,20,19,16,17,0,22,21,20,19,0,0,21,17,17,0,21,20,17,17,0,0,0,18,18,0,19,19,17,16,0,22,0,19,19,0,21,22,17,18,0,0,22,19,18,0,0,0,19,20,0,19,19,16,16,0,22,22,22,0,0,20,22,16,16,0,22,20,18,19,0,0,0,20,19,0,20,20,16,16,0,0,0,0,0,0,22,20,17,16,0,11,11,13,13,0,14,13,15,15,0,13,13,16,15,0,18,17,21,0,0,18,18,21,0,0,12,12,15,15,0,15,16,17,18,0,12,12,15,15,0,17,17,22,20,0,17,18,22,0,0,12,12,17,16,0,16,17,19,19,0,13,13,16,16,0,17,17,0,22,0,17,17,0,21,0,18,18,20,22,0,0,0,0,0,0,15,15,21,20,0,20,19,0,0,0,18,18,22,0,0,17,17,22,0,0,0,0,0,0,0,15,16,20,22,0,20,21,0,0,0,19,18,0,0,0,15,15,19,19,0,17,16,20,20,0,16,17,20,21,0,18,17,0,0,0,19,19,0,0,0,15,15,21,19,0,19,19,0,0,0,15,15,22,22,0,18,18,0,22,0,17,18,22,21,0,15,15,20,19,0,19,19,0,0,0,15,15,20,22,0,18,19,20,0,0,18,17,21,21,0,18,18,19,22,0,0,0,0,0,0,15,15,20,19,0,19,19,0,0,0,18,18,21,22,0,18,18,22,0,0,0,0,0,0,0,15,15,19,20,0,21,21,0,0,0,17,17,20,20,0,12,12,17,17,0,14,14,16,17,0,13,14,17,17,0,16,16,17,17,0,17,17,17,19,0,13,13,17,17,0,16,16,18,18,0,13,13,16,16,0,16,16,18,18,0,16,16,17,17,0,13,13,17,17,0,17,17,18,17,0,12,12,15,16,0,17,18,19,20,0,16,16,16,16,0,17,16,18,19,0,0,22,21,22,0,14,14,16,16,0,19,19,0,0,0,16,16,16,16,0,16,16,18,17,0,0,22,21,21,0,14,14,16,16,0,22,20,22,0,0,16,16,15,15,0,9,9,13,13,0,14,14,15,15,0,14,14,14,14,0,22,22,18,18,0,0,22,18,18,0,12,12,15,15,0,16,16,18,17,0,14,14,14,14,0,20,21,18,18,0,22,21,17,17,0,13,13,15,15,0,17,17,18,18,0,14,14,14,14,0,0,21,18,19,0,0,22,17,17,0,22,22,19,18,0,0,0,0,0,0,19,21,17,17,0,0,0,22,20,0,0,21,18,19,0,0,22,18,18,0,0,0,0,22,0,20,22,17,17,0,0,0,20,22,0,0,0,18,18,0,19,21,16,16,0,20,22,16,17,0,20,0,17,17,0,22,0,18,17,0,21,0,18,19,0,20,20,17,17,0,22,0,18,18,0,21,20,17,17,0,0,20,20,19,0,0,21,18,17,0,21,21,17,17,0,22,0,18,17,0,19,19,17,17,0,0,22,20,21,0,0,21,17,17,0,22,0,18,18,0,0,0,20,22,0,20,19,16,16,0,0,0,0,0,0,22,22,17,17,0,22,0,18,19,0,0,0,21,20,0,19,21,16,17,0,0,0,0,0,0,22,22,17,16,0,11,11,13,13,0,13,13,15,15,0,13,13,15,15,0,17,17,22,21,0,18,18,22,0,0,12,13,16,15,0,15,16,18,18,0,13,13,16,16,0,17,17,0,22,0,17,17,22,22,0,13,13,16,16,0,16,16,19,18,0,13,13,16,16,0,18,17,0,20,0,18,17,20,0,0,17,17,21,0,0,0,0,0,0,0,15,15,21,22,0,19,20,0,0,0,18,18,0,0,0,18,17,0,0,0,0,0,0,0,0,16,16,22,22,0,20,20,0,0,0,21,19,0,0,0,15,15,20,19,0,16,16,22,20,0,17,17,0,22,0,18,18,0,22,0,19,17,0,0,0,15,16,22,20,0,18,19,0,0,0,16,16,22,20,0,18,18,0,22,0,18,18,22,0,0,16,16,21,20,0,19,20,0,22,0,16,16,0,22,0,18,18,0,22,0,18,18,0,21,0,19,18,0,22,0,0,0,0,0,0,16,16,21,20,0,20,0,0,0,0,18,18,21,0,0,18,18,0,0,0,0,0,0,0,0,16,16,21,19,0,0,0,0,0,0,18,18,0,21,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,5,8,8,12,10,10,12,12,12,10,10,12,12,13,11,11,12,12,13,12,12,12,12,13,10,10,13,13,13,13,13,13,13,13,10,10,13,13,13,11,11,13,13,14,13,13,12,12,13,10,10,13,13,13,13,13,13,13,13,10,10,12,12,13,11,11,13,13,13,13,13,12,12,13,12,12,13,13,13,13,13,13,13,14,11,11,12,12,14,12,12,13,12,14,14,14,12,12,13,14,14,13,13,14,13,13,13,13,14,14,14,12,12,14,13,13,13,13,14,14,14,12,12,12,8,8,11,11,12,12,12,11,11,12,11,11,10,10,13,12,12,10,10,13,12,12,10,10,13,12,12,12,12,14,12,12,12,12,13,13,13,11,11,14,12,12,11,11,14,12,12,12,12,14,12,12,12,12,13,12,12,12,12,13,13,13,11,11,14,12,12,11,11,14,12,12,12,12,14,13,13,12,12,14,12,12,12,11,14,13,13,11,11,14,13,12,11,11,14,13,13,11,11,14,13,13,12,12,14,12,12,12,12,15,13,13,12,12,14,12,12,11,11,14,13,13,11,11,12,9,9,10,10,12,7,7,11,11,12,9,9,12,12,13,10,10,10,10,14,14,14,11,11,13,9,9,12,12,14,14,14,12,12,13,8,8,11,11,14,9,9,12,12,14,14,14,11,11,13,9,9,12,12,14,14,14,12,12,14,8,8,11,11,14,9,9,12,12,14,14,14,11,11,14,10,10,12,12,14,14,14,13,13,14,9,9,11,11,14,10,10,12,12,14,14,14,11,11,14,14,15,12,12,15],"i8",N3,x.GLOBAL_BASE+456540),E3([14,14,14,14,15,14,14,11,11,14,14,14,12,12,14,14,14,11,11,14,11,11,10,10,14,10,10,10,10,14,10,10,10,10,15,11,11,9,9,14,12,12,9,9,15,11,11,11,11,15,13,13,11,11,15,10,10,10,10,15,11,11,10,10,15,13,13,11,11,15,11,11,11,11,15,13,13,11,11,15,10,10,10,10,15,11,11,10,10,15,13,13,11,11,15,12,12,11,11,15,13,13,11,11,15,11,11,10,10,15,12,12,10,10,15,13,13,10,10,15,14,14,11,11,15,13,13,11,11,15,14,14,10,11,15,13,13,10,10,15,13,14,10,10,14,13,13,10,10,14,13,13,10,10,14,13,13,10,10,14,13,13,9,9,14,14,14,9,9,15,14,14,11,11,15,14,14,10,10,15,14,14,10,10,15,14,14,11,11,15,14,14,10,10,15,14,14,11,11,15,14,14,10,10,14,14,14,10,10,15,14,14,10,10,14,14,14,10,10,15,14,14,11,11,15,14,14,11,11,14,14,14,10,10,15,14,14,10,10,14,14,14,9,9,15,15,15,11,11,15,14,14,12,12,15,15,14,10,10,15,14,14,10,10,14,15,15,9,9,14,10,10,12,12,17,9,9,12,12,17,10,10,13,13,17,11,11,12,12,18,14,14,12,12,17,10,10,13,13,17,14,14,12,12,17,9,9,12,12,17,11,11,12,12,17,14,14,12,12,18,10,10,13,13,18,14,14,13,13,18,9,9,12,12,18,10,10,13,13,18,14,14,12,12,18,11,11,13,13,18,14,14,13,13,18,10,10,12,12,17,11,11,12,12,17,14,14,12,12,18,15,15,13,13,18,14,14,14,14,18,15,15,12,12,18,14,14,12,12,18,15,15,12,12,13,7,7,11,11,14,15,15,11,11,14,15,15,12,12,14,15,15,11,11,15,15,15,11,11,14,15,15,12,12,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,14,15,15,12,12,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,15,15,15,12,12,14,15,15,12,12,14,15,14,12,12,14,15,15,11,11,15,14,14,12,12,15,15,15,12,12,15,16,16,12,12,15,15,15,12,12,15,15,15,12,12,15,15,15,12,12,13,13,13,11,10,14,14,15,11,11,14,14,14,12,12,15,14,14,10,10,15,15,15,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,15,15,12,12,15,15,15,11,11,14,15,15,12,12,14,14,14,12,12,14,15,15,11,11,14,15,15,12,12,15,15,15,11,11,15,15,15,12,12,15,14,14,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,10,10,15,15,16,12,12,15,15,15,14,14,15,15,15,11,11,15,15,15,12,12,15,15,15,11,11,14,11,11,10,10,15,9,9,12,12,15,10,10,12,12,15,11,11,11,11,15,14,14,12,12,15,10,10,13,13,15,14,14,12,12,15,9,9,12,12,15,10,10,13,13,15,13,13,12,11,15,10,10,12,12,15,14,14,12,12,15,9,9,11,11,15,11,11,12,12,15,13,13,11,11,15,11,11,13,13,15,13,14,13,14,15,11,11,11,11,15,11,11,12,12,15,14,14,11,11,15,14,14,13,13,15,14,14,20,20,15,14,14,12,12,15,14,14,12,12,15,14,14,11,11,14,13,13,10,10,14,13,13,12,12,14,14,13,12,12,15,14,14,12,12,15,14,14,11,11,15,14,14,12,12,15,14,14,13,13,15,14,14,12,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,13,13,15,14,14,12,11,15,14,14,12,12,15,14,14,13,13,15,14,14,13,13,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,15,15,15,13,13,15,15,15,13,13,15,14,14,13,13,15,15,15,13,13,15,14,15,12,12,15,15,15,13,13,14,10,10,12,13,17,9,9,12,12,17,10,10,13,13,17,11,11,12,12,18,14,14,12,12,18,10,10,13,13,18,14,14,12,12,17,9,9,12,12,18,10,11,13,13,18,14,14,12,12,17,10,10,12,12,17,14,14,12,12,17,9,9,12,12,17,11,11,12,12,17,14,14,12,12,18,11,11,12,12,18,14,14,13,13,18,11,11,12,12,18,11,11,12,12,18,14,14,12,12,18,15,15,12,12,18,14,14,13,13,18,15,15,12,12,17,14,14,12,12,17,15,15,12,12,13,7,7,11,11,14,15,15,11,11,14,15,15,11,11,14,15,14,12,12,15,15,15,12,11,14,15,15,12,12,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,13,13,14,15,15,11,11,14,15,15,13,12,14,15,15,11,11,14,15,15,11,11,15,15,15,13,13,14,15,15,12,12,15,15,15,12,12,15,15,15,11,11,15,15,15,11,11,15,15,15,12,12,15,15,15,13,13,15,16,16,12,12,15,15,15,12,13,15,15,15,12,12,15,15,15,12,12,13,13,13,11,11,14,14,14,11,11,14,14,14,12,12,14,14,14,10,10,15,14,14,11,11,14,15,15,12,12,14,14,14,12,12,14,15,15,11,11,14,15,14,12,12,15,14,14,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,14,14,12,12,15,15,14,11,11,15,15,15,12,12,15,14,14,12,12,14,15,15,11,11,14,15,14,11,11,15,15,15,10,10,15,15,15,12,12,15,14,14,14,13,15,15,15,11,11,15,15,15,11,11,15,15,15,10,10,14,11,11,10,10,15,9,9,12,12,15,10,10,12,12,15,11,11,11,11,15,14,14,12,12,15,10,10,13,13,15,13,13,12,12,15,9,9,12,12,15,11,11,13,13,15,14,14,12,12,15,10,10,13,13,15,13,14,12,12,15,9,9,12,12,15,10,10,13,13,15,13,13,11,11,15,11,11,13,13,15,14,14,13,13,15,10,10,11,11,15,11,11,12,12,15,14,14,11,11,15,14,14,13,13,15,14,14,21,20,15,14,14,11,11,15,14,14,12,12,15,14,14,11,11,14,13,13,10,10,14,13,13,11,11,15,14,14,12,12,15,14,14,12,12,14,14,14,12,12,15,14,14,12,12,15,14,14,13,13,14,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,13,13,14,14,14,11,11,15,14,14,11,11,14,14,14,13,13,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,14,14,14,13,13,15,15,15,13,13,16,14,14,12,13,15,15,15,13,13,15,14,14,12,12,15,15,15,13,13,15,11,11,13,12,18,10,10,12,12,17,11,11,12,12,18,12,12,11,11,18,14,14,12,12,18,11,11,13,13,17,14,14,12,12,18,10,10,12,12,18,12,12,12,12,18,14,15,12,12,18,11,11,13,13,18,14,14,12,12,17,10,10,12,12,18,11,11,12,12,18,15,14,12,12,17,12,12,12,12,17,14,14,12,12,17,11,11,11,11,17,12,12,12,11,17,15,15,11,11,18,15,15,12,12,18,14,15,13,13,18,15,15,11,11,17,15,15,12,12,18,15,15,11,11,14,9,9,11,11,14,15,15,11,11,15,15,15,11,11,15,15,15,12,11,15,15,15,12,12,15,15,15,11,11,15,15,15,13,13,14,15,15,11,11,15,15,15,11,11,15,15,15,13,13,15,15,15,11,11,15,15,15,13,13,15,15,15,11,11,15,15,15,11,11,15,15,15,13,13,15,15,15,12,12,15,15,15,13,13,15,15,14,11,11,15,15,15,12,12,15,15,15,12,12,16,15,15,13,13,15,16,16,13,13,16,15,15,12,12,15,15,15,13,12,15,15,15,12,12,13,12,12,11,11,14,14,14,11,11,14,14,14,12,12,15,14,14,11,11,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,14,15,15,11,11,15,14,14,12,12,15,14,14,11,11,15,14,14,12,12,15,14,14,12,12,14,15,15,11,11,15,14,14,12,12,15,14,14,11,11,15,15,15,12,12,15,14,14,12,12,15,15,15,11,11,15,14,14,11,11,15,14,15,11,11,15,15,15,12,12,15,14,14,13,13,16,15,15,11,11,15,14,14,12,12,15,15,15,11,11,14,11,11,9,9,15,10,10,12,12,14,11,11,12,12,15,12,12,12,12,15,14,14,13,13,15,11,11,13,13,15,14,14,13,13,15,10,10,12,12,15,12,12,13,13,15,14,14,13,13,15,11,11,12,12,15,14,14,13,13,14,10,10,12,12,15,12,12,13,13,15,14,14,12,12,15,12,12,13,13,15,14,14,15,15,15,11,11,12,12,15,12,12,12,13,15,14,14,12,12,15,15,15,14,14,15,14,14,20,20,15,14,14,12,12,15,14,14,13,13,15,14,14,12,12,14,13,13,10,10,14,13,13,11,11,14,13,13,12,12,14,14,14,12,12,15,14,14,13,13,15,14,14,12,12,14,14,14,14,14,14,14,14,11,11,15,14,14,12,12,15,14,14,14,14,15,14,14,12,12,14,14,14,14,14,14,14,14,11,11,15,14,14,12,12,14,14,14,14,14,15,14,14,12,12,15,14,14,13,13,15,14,14,12,12,15,14,14,12,12,14,14,14,14,13,15,15,15,14,14,15,14,14,13,13,15,15,15,14,14,15,14,14,13,13,15,15,15,13,13,14,13,13,13,13,18,15,15,12,12,18,15,15,13,12,18,15,16,11,11,18,16,17,12,12,18,15,15,13,13,18,17,17,12,12,18,15,15,12,12,17,15,15,12,12,18,17,17,12,12,18,15,15,13,13,18,16,17,12,12,17,15,15,12,12,18,15,15,12,12,18,16,17,11,12,18,16,16,12,12,17,16,17,12,12,18,15,15,11,11,18,15,15,12,12,18,17,17,11,11,17,17,17,12,12,18,16,16,13,13,18,17,17,11,11,18,16,16,12,12,18,17,17,11,11,15,14,14,11,11,16,15,15,11,11,16,15,15,12,12,16,15,15,12,12,17,15,15,14,13,16,15,15,12,12,17,15,15,14,14,16,15,15,11,11,16,15,15,12,12,18,15,15,13,13,16,15,15,11,11,17,15,15,14,14,16,15,15,11,11,16,15,15,12,12,17,15,15,13,13,16,15,15,12,12,17,16,15,14,14,16,14,15,12,12,16,15,15,12,12,18,15,15,13,13,17,15,15,14,14,17,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,15,12,13,11,11,15,14,14,12,12,16,14,14,12,12,16,14,14,12,12,16,14,14,12,12,16,14,14,13,12,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,17,14,14,12,12,16,14,14,12,12,17,14,14,13,13,15,15,15,12,12,16,14,14,12,12,17,14,14,12,12,17,15,15,12,12,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,17,15,15,12,12,18,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,17,15,15,12,12,14,15,15,9,9,15,15,15,12,12,15,15,15,13,13,15,15,15,14,14,15,15,15,19,19,15,15,16,13,13,15,15,16,19,20,15,15,15,13,12,15,16,16,14,14,15,15,15,19,19,15,15,15,13,13,15,16,15,20,19,14,15,15,13,13,15,15,15,14,14,15,15,15,19,19,15,15,15,14,14,15,16,16,19,20,15,15,15,14,14,15,15,15,14,14,15,15,15,19,19,15,15,15,20,19,15,16,16,20,19,15,15,15,19,19,15,16,16,20,20,15,15,15,19,20,14,13,13,10,10,14,14,14,11,11,14,14,14,12,12,15,14,14,13,13,15,14,14,19,20,15,14,14,12,12,14,14,14,20,19,14,14,14,11,11,15,14,14,12,12,15,14,14,20,20,15,14,14,12,12,14,14,14,20,19,14,14,14,11,11,15,14,14,12,12,15,14,14,19,20,15,14,14,13,13,15,14,14,22,19,15,15,14,12,12,15,14,14,13,13,14,15,15,22,20,15,15,15,20,20,15,14,14,21,20,15,15,15,20,21,15,14,14,20,20,14,15,15,20,20,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,7,7,7,7,7,7,7,8,8,10,11,11,9,8,8,8,8,8,11,11,11,10,8,8,5,7,7,9,11,11,10,11,11,10,11,11,12,13,14,11,12,12,10,11,11,13,14,14,12,12,12,5,6,6,8,6,6,8,7,7,8,7,7,11,10,10,10,7,7,9,7,7,12,11,11,11,7,7,7,7,7,11,10,10,12,10,10,11,10,10,15,13,13,13,10,10,12,11,11,15,13,13,14,11,11,7,7,7,11,11,11,12,11,11,12,11,11,14,14,14,14,12,12,12,12,12,16,15,15,14,12,12,0,10,10,0,11,11,0,11,12,0,11,11,0,14,14,0,11,11,0,12,12,0,15,15,0,11,11,8,8,8,12,10,10,12,10,10,13,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,13,11,11,12,11,11,15,14,14,14,12,12,13,12,12,15,14,14,15,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,13,13,0,14,15,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,0,8,8,0,8,8,0,9,9,0,10,10,0,8,8,0,9,9,0,10,10,0,8,8,0,7,7,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,7,7,0,6,6,0,7,7,0,7,7,0,10,10,0,6,6,0,7,7,0,10,10,0,6,5,0,8,8,0,7,7,0,8,8,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,7,7,0,6,6,0,9,10,0,10,10,0,10,10,0,11,11,0,9,9,0,10,10,0,11,11,0,9,9,0,8,8,0,8,8,0,8,8,0,9,9,0,9,9,0,8,8,0,8,8,0,9,9,0,7,7,0,8,8,0,7,7,0,7,7,0,8,8,0,9,9,0,7,7,0,7,7,0,9,9,0,6,6,0,6,6,0,10,10,0,10,10,0,10,10,0,12,12,0,9,9,0,10,10,0,12,12,0,9,9,0,8,8,0,7,7,0,8,8,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,7,7,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,5,8,8,0,8,8,6,9,9,8,10,10,0,8,8,0,9,9,0,12,12,0,8,8,4,7,7,6,10,10,0,12,12,7,11,11,9,12,12,0,12,12,0,13,13,0,15,15,0,12,12,0,7,7,0,7,7,0,8,8,0,8,8,0,10,10,0,7,7,0,8,8,0,11,11,0,7,7,5,7,7,9,9,9,0,11,10,9,9,9,11,12,12,0,10,10,0,11,11,0,13,13,0,11,11,6,7,7,9,10,10,0,12,12,10,11,11,11,12,12,0,12,12,0,13,13,0,15,15,0,12,12,0,10,10,0,11,11,0,11,11,0,12,12,0,13,13,0,11,11,0,12,12,0,15,15,0,11,11,0,8,8,0,10,10,0,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,11,11,0,7,7,0,10,10,0,12,12,0,10,10,0,12,13,0,12,12,0,13,13,0,14,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,7,7,0,0,0,8,8,0,0,0,8,8,0,0,0,11,11,0,0,0,0,0,0,0,0,10,9,0,0,0,0,0,0,0,0,9,9,0,0,0,10,11,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,5,5,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,5,5,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,5,6,0,0,0,7,7,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,11,0,0,0,9,9,0,0,0,10,10,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,11,12,0,0,0,0,0,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,7,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,9,9,0,0,0,10,10,0,0,0,11,12,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,8,8,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,9,9,0,0,0,10,10,0,0,0,12,12,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,5,16,9,9,12,17,18,4,2,18,6,5,9,13,15,10,7,7,6,7,9,13,13,8,5,6,5,5,7,11,12,8,4,7,4,3,6,10,12,11,8,9,7,6,8,11,12,15,13,13,11,9,7,10,12,16,12,16,12,6,5,8,11,2,0,0,0,64,0,0,0,144,111,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,64,7,0,0,0,0,0,0,0,0,0,128,64,7,0,0,0,0,0,0,0,0,0,168,64,7,0,208,64,7,0,0,0,0,0,0,0,0,0,248,64,7,0,32,65,7,0,0,0,0,0,0,0,0,0,72,65,7,0,112,65,7,0,0,0,0,0,0,0,0,0,152,65,7,0,192,65,7,0,112,65,7,0,0,0,0,0,232,65,7,0,16,66,7,0,112,61,7,0,152,61,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,24,64,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,16,64,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,60,7,0,32,61,7,0,0,0,0,0,0,0,0,0,72,61,7,0,112,61,7,0,152,61,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,40,63,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,216,63,7,0,0,0,0,0,2,0,0,0,25,0,0,0,240,62,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,63,7,0,0,0,0,0,2,0,0,0,9,0,0,0,208,62,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,224,62,7,0,0,0,0,0,1,0,0,0,25,0,0,0,72,62,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,104,62,7,0,0,0,0,0,1,0,0,0,25,0,0,0,192,61,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,224,61,7,0,0,0,0,0,3,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,6,5,4,5,5,5,6,5,5,6,6,6,5,6,5,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,8,8,9,9,10,10,11,11,4,6,5,8,7,9,8,10,9,11,10,11,11,4,5,6,7,8,8,9,9,10,10,10,10,11,8,9,8,10,8,10,9,11,10,11,11,11,11,8,8,9,8,10,9,10,10,11,11,11,11,11,9,10,10,11,11,11,11,11,11,12,11,12,11,9,10,10,10,11,11,11,11,11,11,12,11,12,10,11,11,12,11,12,12,12,12,12,12,12,12,10,11,11,11,11,12,12,12,13,12,12,12,12,11,12,12,12,12,13,13,12,12,12,12,12,12,11,12,12,12,12,13,13,12,13,12,12,12,12,12,13,13,13,13,13,13,12,13,12,13,12,12,12,13,13,13,13,13,13,13,12,13,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,4,9,8,8,10,13,16,4,2,9,5,7,10,14,18,9,7,6,5,7,9,12,16,7,5,5,3,5,8,11,13,8,7,7,5,5,7,9,11,10,10,9,8,6,6,8,10,13,14,13,11,9,8,9,10,17,18,16,14,11,10,10,10,5,0,0,0,243,0,0,0,136,110,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,128,111,7,0,0,0,0,0,5,0,0,0,53,12,0,0,56,98,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,112,110,7,0,0,0,0,0,5,0,0,0,243,0,0,0,48,97,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,40,98,7,0,0,0,0,0,5,0,0,0,243,0,0,0,40,96,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,32,97,7,0,0,0,0,0,5,0,0,0,243,0,0,0,32,95,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,24,96,7,0,0,0,0,0,5,0,0,0,53,12,0,0,208,82,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,8,95,7,0,0,0,0,0,5,0,0,0,53,12,0,0,128,70,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,184,82,7,0,0,0,0,0,1,0,0,0,7,0,0,0,88,70,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,96,70,7,0,0,0,0,0,5,0,0,0,243,0,0,0,80,69,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,72,70,7,0,0,0,0,0,5,0,0,0,243,0,0,0,72,68,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,64,69,7,0,0,0,0,0,5,0,0,0,243,0,0,0,64,67,7,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,56,68,7,0,0,0,0,0,5,0,0,0,243,0,0,0,56,66,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,48,67,7,0,0,0,0,0,1,9,9,6,9,9,5,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,7,7,7,7,7,7,7,8,8,9,9,9,8,7,7,8,8,8,9,9,9,9,8,8,6,7,7,9,8,8,9,7,7,9,8,8,10,8,8,10,8,8,10,8,8,10,8,9,10,8,8,7,6,6,8,6,6,9,6,6,9,7,7,10,8,8,9,6,6,9,7,7,10,9,8,9,7,7,7,7,7,11,8,8,11,9,9,10,9,9,12,9,9,12,8,8,11,9,9,12,9,9,12,8,8,8,7,7,10,9,9,10,9,9,10,9,9,11,10,11,11,9,9,11,9,9,11,11,11,11,9,9,10,8,8,11,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,9,9,12,10,10,11,9,9,8,8,8,11,9,9,12,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,9,10,12,8,8,9,7,7,11,9,9,11,10,10,11,9,9,11,11,11,11,9,9,11,10,10,12,11,11,11,9,10,10,9,9,11,9,9,11,10,10,11,10,10,11,11,11,11,9,9,11,9,10,11,11,11,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,7,7,7,8,8,7,8,8,7,9,9,10,11,11,9,8,8,7,8,9,11,11,11,9,8,8,6,7,7,10,10,10,10,10,10,10,10,10,14,14,14,12,11,11,10,11,11,15,14,14,13,11,11,6,6,6,8,5,5,8,7,7,8,7,7,11,10,10,9,7,7,9,7,7,12,10,10,10,7,7,6,8,7,12,10,10,12,10,10,11,10,10,15,14,13,13,10,10,11,10,10,16,14,14,14,10,10,7,7,7,12,11,11,12,11,11,11,11,11,16,14,14,13,12,12,11,11,11,17,15,15,14,12,12,10,9,9,13,11,11,13,11,11,12,11,11,16,14,13,14,11,11,12,11,11,17,15,14,14,11,11,7,8,8,12,11,11,12,10,10,12,10,10,16,13,14,13,10,10,11,10,10,17,14,14,14,10,10,7,7,7,12,11,11,12,11,11,12,11,11,15,14,15,14,12,12,12,11,11,17,15,15,14,12,12,10,10,9,13,11,11,13,11,11,13,11,11,16,14,14,14,11,11,13,11,11,16,15,15,15,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,14,14,6,7,7,14,14,7,7,7,15,15,0,13,13,16,16,0,13,13,15,15,7,8,8,15,15,9,10,10,17,16,9,8,8,15,15,0,13,13,18,17,0,13,13,16,16,8,8,8,15,15,12,11,11,16,17,9,8,8,14,14,0,13,13,18,17,0,13,13,16,15,0,14,14,18,17,0,20,22,18,20,0,12,12,16,16,0,16,16,22,20,0,14,14,16,16,0,14,14,17,17,0,22,22,22,19,0,12,13,16,16,0,17,17,0,0,0,15,15,16,16,5,7,7,13,13,9,9,9,15,14,10,10,10,14,14,0,21,21,18,17,0,21,22,18,17,9,10,10,14,14,12,12,12,17,17,12,10,10,14,14,0,19,21,18,17,0,20,22,18,18,11,10,10,14,14,14,13,13,18,17,12,11,11,14,14,0,22,19,17,18,0,20,0,18,17,0,22,21,17,17,0,0,0,0,0,0,20,22,17,17,0,22,0,21,19,0,22,0,18,18,0,0,22],"i8",N3,x.GLOBAL_BASE+466780),E3([18,19,0,0,0,0,0,0,19,21,17,17,0,0,0,20,20,0,0,0,18,18,6,6,6,13,12,8,6,6,11,11,8,6,6,13,13,0,9,9,11,11,0,11,11,14,14,9,7,7,13,13,11,9,9,13,13,10,6,6,13,13,0,10,10,14,14,0,10,10,13,13,9,7,7,13,14,13,9,9,13,13,10,6,6,13,12,0,11,11,15,15,0,10,10,13,13,0,12,12,15,15,0,19,0,17,17,0,9,9,13,13,0,13,14,19,20,0,11,11,13,13,0,11,11,14,14,0,19,20,17,18,0,10,10,13,13,0,15,15,21,19,0,12,12,13,13,0,10,10,12,13,0,11,11,15,15,0,11,11,15,15,0,15,15,22,0,0,16,17,22,0,0,11,11,15,15,0,14,14,18,17,0,11,11,15,16,0,15,15,22,21,0,16,16,0,20,0,12,12,16,15,0,15,14,19,19,0,11,11,16,16,0,15,15,21,0,0,16,15,0,0,0,16,16,22,21,0,0,0,0,0,0,15,15,20,20,0,18,18,0,0,0,16,17,0,0,0,17,17,0,22,0,0,0,0,0,0,15,15,21,22,0,20,18,0,0,0,18,17,22,0,0,10,10,12,11,0,10,10,10,10,0,11,11,12,12,0,11,11,9,9,0,13,13,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,13,12,13,13,0,12,12,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,13,13,13,14,0,12,12,12,12,0,13,14,14,14,0,20,21,15,15,0,12,11,12,12,0,15,16,20,22,0,13,12,11,11,0,13,13,14,13,0,20,0,16,15,0,12,12,12,12,0,16,16,22,21,0,13,13,12,12,6,7,7,16,16,11,9,9,15,15,12,9,9,16,16,0,13,13,14,14,0,14,14,16,17,10,9,9,16,16,14,12,12,16,16,12,9,9,15,15,0,13,13,18,18,0,13,13,15,16,12,10,10,17,18,15,12,12,17,17,13,9,9,16,16,0,13,13,17,18,0,14,14,16,16,0,15,15,18,18,0,22,0,20,20,0,12,12,16,16,0,16,16,20,22,0,14,14,16,16,0,15,14,18,18,0,0,22,19,21,0,13,13,16,17,0,17,17,22,22,0,15,15,16,16,7,7,7,14,14,11,10,10,15,15,12,10,10,15,14,0,22,0,18,18,0,0,21,17,18,11,10,10,15,15,14,12,12,17,17,14,11,11,15,15,0,22,20,18,18,0,0,20,18,17,12,10,10,16,16,17,14,14,19,18,14,11,11,15,15,0,21,22,19,19,0,21,22,18,18,0,22,0,19,21,0,0,0,0,0,0,22,22,18,17,0,0,0,21,20,0,22,22,20,19,0,0,22,20,20,0,0,0,0,0,0,20,21,17,17,0,0,22,21,21,0,0,0,18,18,10,9,9,14,14,13,10,10,13,13,13,10,11,14,14,0,13,13,12,12,0,15,15,16,16,13,10,10,15,15,15,12,12,14,14,15,10,10,14,15,0,14,14,16,15,0,14,14,15,15,13,10,10,15,15,18,13,13,15,15,15,10,10,14,15,0,14,14,16,16,0,14,14,15,15,0,15,15,16,16,0,22,0,18,18,0,12,13,14,14,0,17,17,22,0,0,14,14,14,14,0,15,15,16,16,0,22,0,18,17,0,13,13,14,14,0,19,18,21,22,0,15,15,14,14,0,11,11,13,13,0,12,12,16,16,0,12,12,16,16,0,15,16,21,0,0,16,17,0,22,0,12,12,16,16,0,14,14,17,18,0,11,11,16,16,0,15,15,21,22,0,16,16,0,0,0,12,12,16,16,0,15,15,0,19,0,12,12,16,17,0,16,16,22,0,0,16,16,0,22,0,17,17,0,22,0,0,0,0,0,0,15,15,20,19,0,18,18,0,0,0,17,18,0,0,0,17,17,0,0,0,0,0,0,0,0,15,15,0,22,0,20,18,0,0,0,18,18,22,22,0,11,11,14,14,0,12,12,14,14,0,12,12,15,15,0,13,13,14,14,0,14,14,17,16,0,12,12,16,16,0,14,14,16,16,0,11,11,15,15,0,13,13,16,16,0,13,13,15,15,0,12,12,15,15,0,15,14,16,16,0,11,11,15,15,0,14,14,17,17,0,13,13,15,15,0,15,15,17,17,0,0,0,19,18,0,13,12,15,15,0,16,16,0,0,0,14,14,15,15,0,14,14,16,17,0,22,0,18,18,0,13,13,15,15,0,17,17,0,0,0,14,14,15,15,8,8,8,16,16,12,10,10,16,16,13,9,9,16,16,0,14,14,17,17,0,14,14,17,16,12,10,10,18,17,14,11,11,18,18,14,9,10,16,16,0,13,13,18,19,0,14,13,16,16,12,9,9,16,16,17,13,13,17,17,14,9,9,15,15,0,14,14,19,20,0,13,13,15,15,0,15,15,18,19,0,0,22,22,22,0,13,13,17,17,0,16,16,19,21,0,14,14,16,16,0,14,14,18,18,0,0,0,0,0,0,13,13,16,16,0,18,18,0,0,0,15,15,16,16,8,7,7,14,14,12,10,10,15,15,13,10,10,15,14,0,22,0,18,18,0,22,0,18,18,12,10,10,16,15,15,12,12,17,17,14,11,11,15,15,0,20,21,19,18,0,0,0,17,18,13,11,11,15,15,16,13,13,18,18,15,11,11,14,14,0,22,21,19,19,0,21,22,18,18,0,22,22,20,18,0,0,0,0,0,0,22,19,17,17,0,0,0,22,21,0,0,22,19,17,0,0,22,19,19,0,0,0,0,0,0,22,21,18,17,0,0,0,22,0,0,0,0,19,19,0,10,10,14,14,0,11,11,15,14,0,11,11,15,15,0,14,14,15,14,0,15,15,16,16,0,11,11,16,16,0,13,13,16,16,0,11,11,15,15,0,14,14,17,16,0,14,14,15,15,0,11,11,16,16,0,14,13,15,15,0,11,11,15,15,0,15,15,17,17,0,14,14,15,14,0,16,16,17,17,0,0,22,18,18,0,13,13,15,15,0,17,17,22,0,0,15,15,15,14,0,15,16,16,17,0,0,22,18,19,0,13,13,15,15,0,20,18,21,0,0,15,15,14,14,0,11,11,13,13,0,12,12,16,16,0,12,12,16,15,0,15,16,22,22,0,17,17,0,0,0,12,12,16,16,0,14,14,18,18,0,11,11,16,16,0,15,16,22,20,0,16,16,0,22,0,12,12,16,16,0,15,15,18,20,0,11,11,16,16,0,15,15,0,0,0,16,16,0,0,0,17,17,22,0,0,0,0,0,0,0,15,15,0,21,0,18,18,0,0,0,17,16,0,0,0,17,17,22,22,0,0,0,0,0,0,15,15,21,0,0,20,22,0,0,0,18,18,0,0,0,12,12,15,15,0,12,12,15,15,0,12,12,16,16,0,13,13,15,15,0,15,15,17,17,0,13,12,16,16,0,14,14,16,16,0,12,11,16,16,0,14,14,17,17,0,14,14,16,16,0,12,12,16,16,0,15,15,17,16,0,11,11,15,16,0,14,14,17,17,0,14,14,16,16,0,15,15,18,18,0,0,0,22,19,0,13,13,15,16,0,16,17,0,0,0,14,14,16,16,0,15,15,18,17,0,0,0,20,20,0,13,13,16,15,0,17,17,22,22,0,14,14,15,15,0,11,11,16,16,0,13,13,16,17,0,13,13,17,18,0,16,16,17,17,0,17,17,18,18,0,12,12,17,17,0,16,15,18,18,0,12,12,16,16,0,16,16,18,18,0,15,15,17,17,0,12,12,17,17,0,16,16,19,18,0,12,12,16,17,0,16,16,19,19,0,15,16,16,17,0,16,16,19,17,0,0,0,20,22,0,13,13,16,16,0,19,18,21,0,0,15,15,16,16,0,16,16,18,18,0,0,0,22,21,0,14,14,16,16,0,21,19,21,22,0,16,16,16,16,0,9,9,14,14,0,13,13,15,15,0,14,14,15,15,0,0,20,18,19,0,0,22,18,18,0,12,12,15,15,0,15,15,17,18,0,14,13,14,14,0,20,0,18,18,0,21,0,18,17,0,13,13,15,16,0,17,17,18,18,0,14,14,15,15,0,22,22,20,19,0,20,21,18,18,0,20,22,19,19,0,0,0,0,0,0,20,20,17,17,0,0,22,22,21,0,22,0,18,18,0,20,22,19,19,0,0,0,0,0,0,21,21,17,18,0,0,0,21,20,0,0,22,19,18,0,18,18,15,15,0,22,21,17,16,0,0,22,17,17,0,20,22,18,18,0,0,22,20,20,0,21,19,16,16,0,21,21,18,18,0,19,19,17,17,0,0,22,19,19,0,22,20,17,17,0,21,19,16,16,0,22,22,19,18,0,19,20,16,16,0,22,21,19,21,0,21,22,17,18,0,21,20,18,18,0,0,0,19,20,0,20,19,16,16,0,22,22,0,0,0,21,21,17,16,0,22,20,19,18,0,0,0,20,20,0,20,19,16,16,0,0,0,0,0,0,21,22,17,17,0,11,11,13,13,0,13,13,15,16,0,13,13,16,16,0,17,18,21,0,0,17,18,0,0,0,12,12,15,16,0,15,15,19,18,0,12,12,16,16,0,17,17,22,0,0,17,17,0,22,0,12,12,17,16,0,16,16,19,20,0,12,12,16,16,0,17,17,0,0,0,17,17,0,21,0,17,16,22,0,0,0,0,0,0,0,15,15,20,22,0,20,18,0,0,0,18,18,0,0,0,17,17,21,0,0,0,0,0,0,0,15,15,21,22,0,19,20,22,0,0,19,18,0,0,0,14,14,18,18,0,16,16,22,20,0,16,16,22,19,0,17,17,20,22,0,19,19,0,0,0,15,15,20,0,0,18,21,0,20,0,15,15,21,20,0,18,17,0,0,0,17,17,0,22,0,15,15,19,19,0,19,18,0,0,0,15,15,20,0,0,18,18,22,22,0,17,17,0,20,0,18,18,0,0,0,0,22,0,0,0,15,15,19,20,0,20,19,0,0,0,17,17,20,21,0,17,18,20,22,0,0,0,0,22,0,15,15,20,20,0,22,20,0,0,0,17,18,20,0,0,12,12,17,16,0,14,14,17,17,0,13,13,17,17,0,16,16,18,18,0,17,16,17,17,0,13,13,17,17,0,15,16,18,18,0,13,13,16,16,0,16,16,18,18,0,16,16,17,16,0,13,13,16,16,0,17,17,18,17,0,12,12,15,16,0,17,17,19,19,0,16,16,16,16,0,16,17,19,18,0,0,0,21,22,0,14,14,16,16,0,18,18,0,22,0,16,16,16,16,0,16,16,18,17,0,0,0,21,20,0,14,14,16,16,0,21,22,22,0,0,16,16,16,16,0,9,9,14,13,0,13,14,15,16,0,14,13,15,14,0,22,0,18,18,0,21,0,17,18,0,13,13,15,15,0,15,16,18,17,0,14,14,15,14,0,20,22,18,18,0,22,21,17,17,0,13,13,15,15,0,17,17,19,19,0,14,14,14,14,0,0,22,18,18,0,0,22,17,17,0,0,22,19,20,0,0,0,0,0,0,21,20,17,16,0,0,0,21,22,0,0,0,18,19,0,0,0,18,18,0,0,0,0,0,0,22,0,17,17,0,0,0,20,22,0,0,0,18,19,0,18,19,16,16,0,22,20,17,17,0,22,22,17,18,0,22,22,18,17,0,0,22,18,19,0,20,20,17,18,0,0,22,19,18,0,22,22,17,17,0,22,0,19,19,0,0,22,18,18,0,20,22,17,17,0,0,22,18,18,0,19,20,17,17,0,22,0,20,19,0,22,21,17,17,0,0,0,18,18,0,0,0,22,19,0,20,0,17,17,0,22,0,0,22,0,0,20,17,18,0,22,0,19,19,0,0,0,0,19,0,19,21,17,17,0,0,0,0,0,0,20,21,17,16,0,11,11,13,13,0,13,13,16,16,0,13,13,15,16,0,17,17,21,22,0,17,18,0,0,0,12,12,16,16,0,15,15,18,18,0,13,13,16,16,0,17,16,21,21,0,17,17,0,0,0,13,13,16,16,0,16,16,19,18,0,13,13,16,16,0,17,17,0,22,0,17,18,20,22,0,17,18,0,0,0,0,0,0,0,0,15,15,20,0,0,18,19,0,0,0,17,17,0,0,0,18,17,22,0,0,0,0,0,0,0,15,16,21,20,0,20,20,0,0,0,18,19,0,0,0,15,15,22,22,0,17,16,20,22,0,17,17,20,22,0,18,18,0,21,0,19,18,0,0,0,16,16,20,20,0,19,19,22,0,0,15,16,21,22,0,18,19,22,0,0,17,18,0,0,0,16,16,22,0,0,19,19,0,21,0,15,16,20,0,0,18,18,0,22,0,18,17,0,0,0,18,18,0,0,0,0,0,0,0,0,16,16,22,21,0,20,21,0,0,0,17,18,22,0,0,18,18,0,0,0,0,0,0,0,0,16,16,20,19,0,22,21,0,0,0,18,18,22,22,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,8,8,11,9,9,12,12,11,10,10,12,12,12,10,10,11,11,12,12,12,12,12,12,11,11,13,13,12,12,12,13,13,12,10,10,12,12,12,11,11,13,13,12,13,13,13,13,12,11,11,13,13,12,12,12,13,13,12,10,10,12,12,12,11,11,13,13,12,13,13,12,12,12,11,11,13,13,12,13,13,13,13,12,11,11,12,12,12,11,11,12,12,12,13,13,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,12,12,12,13,13,13,13,12,13,13,12,12,11,8,8,10,10,12,11,11,11,11,12,10,10,10,10,13,11,11,10,10,13,11,11,10,10,13,12,12,12,12,13,11,11,11,11,13,12,12,11,11,13,12,12,11,11,13,12,12,12,11,13,12,12,12,12,13,11,11,11,11,13,12,12,11,11,13,11,12,11,11,13,12,12,11,11,14,12,12,11,11,13,11,11,11,11,14,12,12,11,11,13,11,12,10,10,14,12,12,11,11,14,12,12,11,11,14,11,11,11,11,14,12,12,11,11,13,12,12,11,11,14,12,12,11,11,11,8,8,10,10,12,7,7,10,10,12,9,9,11,11,13,9,9,9,9,13,13,13,10,10,13,9,9,12,12,13,13,13,12,12,13,9,8,11,11,13,10,10,12,12,14,13,13,11,11,13,9,9,11,11,13,13,13,12,12,13,9,9,10,10,13,10,10,11,11,13,13,13,10,10,14,10,10,11,11,14,14,14,12,12,13,9,9,10,10,13,10,10,11,11,14,13,14,10,10,14,14,14,11,12,14,14,14,14,14,14,13,13,10,10,13,14,14,11,11,14,14,14,10,10,14,9,9,9,9,14,9,9,9,9,14,10,10,9,9,14,10,10,8,8,14,11,11,8,8,15,11,11,10,10,15,12,12,10,10,15,10,10,10,10,15,11,11,10,10,15,13,13,10,10,15,11,11,10,10,15,12,12,10,10,15,10,10,10,10,15,11,11,10,10,15,13,13,10,10,15,11,11,10,10,15,12,12,10,10,15,11,11,9,9,15,11,11,9,9,15,13,13,9,9,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,13,12,9,9,15,13,13,9,9,14,12,12,9,9,14,13,13,9,9,14,13,13,9,9,14,13,13,7,7,14,13,13,8,8,15,14,14,10,10,15,14,14,10,10,15,14,14,10,10,15,14,14,10,10,15,14,14,9,9,15,14,14,10,10,15,14,14,10,10,14,14,14,9,9,15,14,14,10,10,14,14,14,9,9,15,14,14,10,10,15,14,14,10,10,14,14,14,9,9,14,14,14,9,9,14,14,14,8,8,15,14,14,10,10,15,14,14,11,11,15,14,14,9,9,15,14,14,9,9,14,14,14,8,8,13,9,9,12,12,17,11,11,12,12,17,12,12,12,12,17,12,12,11,11,18,15,15,12,12,17,12,12,12,12,17,14,15,13,13,17,12,12,12,12,17,13,13,12,13,17,15,15,12,12,18,13,13,13,13,18,15,15,13,13,18,12,12,12,12,18,13,13,13,13,18,15,15,12,12,18,13,13,12,12,18,15,15,13,13,18,13,13,12,12,17,13,13,12,12,17,15,15,12,12,18,15,15,13,13,18,15,15,13,14,18,15,16,12,12,18,15,15,12,12,18,16,16,12,12,13,8,8,10,10,14,15,14,11,11,14,15,15,12,12,15,14,14,12,11,15,15,15,12,12,15,15,15,12,12,15,15,15,13,13,15,15,15,12,12,15,15,15,13,13,15,15,15,13,13,15,15,15,13,13,15,15,16,13,13,15,15,15,12,12,15,15,15,13,13,15,15,15,13,13,15,15,15,13,13,15,15,15,13,13,15,15,14,12,12,15,15,15,12,12,16,15,14,12,12,16,15,15,13,13,16,16,16,13,13,16,15,15,12,12,15,15,15,13,13,15,15,15,12,12,13,12,12,10,10,14,14,14,11,11,15,14,14,12,12,15,14,14,11,11,15,14,14,11,11,15,15,15,13,13,15,14,14,13,13,15,15,15,12,12,15,14,15,13,13,16,15,15,12,12,15,15,15,13,13,16,14,14,13,13,15,15,15,12,12,15,15,15,13,13,16,15,15,12,12,16,15,15,12,12,16,14,14,13,13,15,15,15,11,11,15,15,15,12,12,16,15,15,11,11,16,15,15,13,13,16,14,15,14,14,16,15,15,12,12,16,15,14,12,12,16,15,15,12,12,14,10,10,9,9,14,11,11,12,12,14,12,12,13,13,14,12,12,12,12,15,14,14,13,13,15,13,13,14,14,15,14,14,15,15,15,12,12,13,13,15,13,13,14,14,15,14,14,13,13,15,13,13,13,14,15,14,14,15,15,15,12,12,13,13,15,13,13,14,14,15,14,14,13,13,15,13,13,14,14,15,14,14,15,15,15,13,13,12,12,15,13,13,13,13,15,14,14,13,12,15,15,15,14,15,15,15,14,20,20,15,14,14,13,13,15,14,14,13,13,15,14,14,13,13,14,12,12,9,9,14,14,14,12,12,14,13,13,12,13,14,14,14,12,12,15,14,14,12,12,15,14,14,14,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,15,15,15,14,14,15,14,14,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,15,15,15,15,14,15,15,15,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,14,15,15,14,14,15,15,15,14,14,15,14,14,14,14,15,15,15,14,14,15,14,14,13,14,15,15,15,14,14,13,10,10,12,12,17,11,11,12,12,17,12,12,12,12,17,12,12,11,11,17,15,15,12,11,18,13,13,13,13,18,15,15,13,13,17,12,12,12,12,18,13,13,13,13,17,15,15,12,12,17,12,12,12,12,17,15,15,13,13,17,12,12,12,12,17,13,13,12,12,17,15,15,12,12,18,14,13,12,12,18,15,15,13,13,18,13,13,12,12,18,13,13,12,12,18,16,16,12,12,18,16,16,12,12,18,15,15,13,13,18,16,16,12,12,17,15,15,12,12,17,16,16,12,12,13,8,8,10,10,14,14,15,12,12,14,15,15,12,12,15,14,14,12,12,15,15,14,12,12,15,15,15,13,13,15,15,15,13,13,15,15,15,12,12,16,15,15,13,13,16,15,15,13,13,15,15,15,12,12,15,15,15,14,14,15,15,15,12,12,15,15,15,13,13,16,15,15,13,13,15,15,15,13,13,16,15,15,13,13,15,15,14,12,12,15,15,15,12,12,16,14,15,13,13,16,15,15,13,13,15,16,15,13,13,16,15,14,13,13,16,15,15,13,13,16,15,15,13,13,13,12,12,11,11,14,14,14,11,11,14,14,14,12,12,15,14,14,11,11,16,14,14,11,11,15,15,15,12,13,16,14,14,13,13,15,15,15,12,12,15,14,14,13,13,16,15,15,12,12,15,15,15,12,12,15,14,14,13,13,15,15,15,12,12,15,14,14,12,12,16,15,15,12,12,16,15,15,12,12,16,14,14,13,13,15,15,15,11,11,15,15,14,12,12,16,15,15,11,11,16,15,15,12,12,16,14,14,13,13,16,15,15,11,11,16,14,14,12,12,16,15,15,11,11,14,10,10,9,9,14,11,11,12,12,14,12,12,13,14,14,12,12,12,12,14,14,14,13,13,15,13,13,14,14,15,14,14,15,15,15,12,12,13,13,15,13,13,14,14,15,15,15,14,14,15,13,13,14,14,15,15,15,15,15,15,12,12,13,13,15,13,13,14,14,15,14,14,13,13,15,13,13,14,14,15,14,14,15,15,15,12,12,13,13,15,13,13,13,13,14,14,14,13,13,15,15,15,14,15,15,15,15,21,19,15,14,14,13,13,15,14,14,14,14,14,14,14,13,13,14,12,12,9,9,14,14,14,12,12,14,14,13,13,13,14,14,14,12,12,14,14,14,12,12,15,14,14,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,15,15,15,15,15,15,14,14,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,14,15,15,15,15,15,14,15,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,14,15,15,14,14,15,15,15,14,14,15,14,14,14,14,15,15,15,15,15,15,14,14,14,13,14,15,15,14,14,13,10,10,12,12,18,12,12,12,12,17,12,12,12,12,18,13,13,11,11,18,15,14,11,11,17,13,13,13,13,18,15,15,12,12,18,12,12,12,12,17,13,13,12,12,18,15,15,12,12,18,13,13,13,12,18,15,15,13,13,18,13,13,12,12,18,13,13,12,12,18,15,15,12,12,17,13,13,12,12,17,15,15,12,12,17,12,12,11,11,17,13,13,11,11,17,15,15,11,11,18,16,16,12,12,18,15,15,13,13,18,15,15,11,11,17,15,15,12,12,18,15,15,11,11,13,8,8,10,10,14,14,14,11,11,15,15,15,12,12,15,14,14,11,11,16,14,14,12,12,15,15,15,12,12,15,15,15,13,13,15,15,15,12,12,15,15,15,12,12,16,15,15,13,13,15,15,15,12,12,15,15,15,13,13,16,15,15,12,12,15,15,15,12,12,16,15,15,13,13,16,15,15,12,12,15,15,15,13,13,15,14,14,12,12,15,15,15,12,12,16,15,14,12,12,16,15,15,13,13,16,16,16,13,13,16,14,15,13,13,15,15,15,13,13,16,15,15,12,12,13,12,12,10,10,14,14,14,11,11,15,14,14,12,12,15,14,14,11,11,16,14,14,11,11,15,14,15,12,12,15,14,14,13,13,15,15,15,12,12,15,14,14,12,12,15,14,15,12,12,15,15,15,12,12,16,14,14,13,13,15,15,15,11,12,16,14,14,12,12,16,15,15,12,12,15,15,15,12,12,16,14,14,12,12,15,15,15,11,11,15,14,14,11,12,15,15,14,11,11,16,15,15,12,12,16,14,14,13,13,16,15,15,11,11,16,14,14,12,12,16,15,15,11,11,13,10,10,8,8,14,12,12,12,12,14,12,12,13,13,14,12,12,12,12,14,14,14,13,13,15,13,13,14,14,15,15,14,15,15,15,13,13,13,13,15,13,13,14,14,15,14,15,14,14,15,13,13,13,13,15,15,15,15,15,15,12,12,13,12,15,13,13,14,14,15,14,14,13,13,15,13,13,14,13,15,15,15,16,16,15,13,13,12,12,15,13,13,13,13,14,14,14,12,12,15,15,15,14,14,15,15,15,20,20,15,14,14,13,13,15,15,14,14,14,15,14,14,13,13,13,12,12,9,9,14,13,13,12,12,14,13,13,12,12,14,14,14,12,12,14,14,14,13,13,15,14,14,13,13,15,14,14,14,14,15,15,14,12,12,15,14,14,13,13,15,14,15,14,15,15,14,14,13,13,15,14,14,14,14,15,14,14,12,12,15,14,14,13,13,14,15,14,15,14,15,14,14,13,13,15,14,14,14,14,15,14,14,12,12,15,14,14,13,13,15,15,15,14,14,15,15,15,14,14,16,14,14,14,14,15,15,15,14,14,15,14,14,14,14,14,15,15,14,14,13,13,13,12,13,17,15,15,12,12,17,15,15,12,12,18,15,15,11,11,17,16,16,11,11,18,16,16,13,13,18,17,16,13,13,18,16,16,12,12,18,16,16,12,12,18,17,17,12,12,17,16,16,12,13,17,16,16,12,13,17,16,16,12,12,17,16,16,12,12,18,17,16,12,12,18,16,16,12,12,17,16,17,12,12,18,15,15,11,11,18,15,15,12,12,17,17,17,11,11,17,17,17,12,12,17,16,16,13,13,18,16,16,11,11,18,16,16,12,12,18,17,16,11,11,14,14,14,10,10,16,15,14,11,11,16,15,15,12,12,16,14,14,12,12,17,14,14,13,13,17,15,15,13,13,17,15,15,14,14,16,15,15,12,12,16,15,15,13,13,18,15,15,14,14,16,15,15,12,12,16,15,15,14,14,16,15,15,12,12,16,15,15,13,13,17,15,15,13,13,17,15,15,13,13,17,15,15,14,14,16,14,14,12,12,17,15,15,12,12,18,15,15,13,13,17,15,15,14,14,17,16,16,15,15,17,15,14,13,13,17,15,15,14,14,17,15,15,13,13,14,12,12,11,11,15,14,14,12,12,16,14,14,12,12,16,14,14,11,11,17,14,14,12,12,16,15,14,13,13,16,14,14,13,13,16,15,15,12,12,16,14,14,13,13,17,15,15,13,13,16,15,15,13,13,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,16,15,15,12,12,17,15,15,12,12,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,16,15,15,12,12,17,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,17,15,15,12,12,14,14,14,8,8,14,14,14,13,13,14,15,15,14,14,14,14,14,14,14,15,15,15,19,19,15,15,15,14,14,15,15,16,20,19,15,15,15,14,14,15,16,16,15,15,15,15,15,19,19,15,15,15,14,14,15,16,16,19,20,15,15,15,14,14,15,15,15,15,15,15,15,15,19,19,15,15,15,15,15,15,15,16,19,20,15,14,15,14,14,15,15,15,15,15,15,15,15,20,19,15,15,15,21,19,15,16,16,20,20,15,15,14,19,19,15,15,16,20,21,15,15,15,20,19,13,12,12,9,9,14,14,14,12,12,14,13,13,13,13,14,14,14,13,13,15,14,14,20,19,15,14,14,14,13,15,14,14,19,19,15,15,14,13,13,15,14,14,14,14,15,15,15,19,20,15,14,14,13,13,15,14,14,20,19,14,15,14,13,13,15,14,14,14,13,15,15,15,19,20,15,15,14,14,14,15,14,14,21,19,15,15,15,13,13,15,14,14,14,14,14,15,15,20,20,15,15,15,21,20,15,14,14,19,20,15,15,15,20,20,15,14,14,19,20,15,15,15,21,19,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,6,7,7,7,8,8,7,8,8,10,11,11,9,8,8,7,8,8,11,11,11,9,8,8,6,7,7,9,11,11,9,11,11,10,11,11,12,13,13,11,12,12,10,11,11,13,14,14,12,12,12,6,6,6,8,6,6,8,7,7,9,7,7,11,10,10,10,6,6,9,7,7,12,10,10,11,6,7,7,7,7,11,10,10,12,10,10,11,10,10,14,13,13,13,10,10,12,11,11,15,13,13,14,10,10,8,7,7,12,11,11,12,11,11,11,11,11,14,14,14,13,12,12,12,11,11,15,15,15,13,12,12,0,10,10,0,11,11,0,11,11,0,11,11,0,14,14,0,11,11,0,11,11,0,15,15,0,11,11,7,8,8,12,10,10,12,10,10,12,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,12,11,11,12,11,11,16,14,14,14,12,12,13,12,12,15,14,14,15,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,12,12,0,14,14,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,0,8,8,0,8,8,0,9,9,0,9,9,0,9,9,0,9,9,0,9,9,0,8,8,0,6,6,0,7,7,0,7,7,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,6,6,0,6,6,0,6,6,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,6,6,0,8,8,0,9,9,0,9,9,0,10,10,0,10,10,0,10,10,0,10,10,0,11,11,0,9,9,0,7,7,0,10,10,0,10,10,0,12,11,0,12,12,0,11,11,0,11,11,0,12,12,0,10,10,0,7,7,0,10,10,0,10,10,0,12,12,0,11,12,0,11,11,0,11,11,0,11,11,0,10,10,0,8,8,0,9,9,0,9,9,0,10,10,0,10,10,0,10,9,0,10,10,0,10,10,0,9,9,0,6,6,0,10,10,0,10,10,0,11,11,0,12,12,0,11,11,0,11,11,0,12,12,0,11,11,0,7,7,0,9,9,0,9,9,0,11,11,0,11,11,0,10,10,0,10,10,0,11,11,0,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,6,7,7,0,8,8,6,9,9,8,11,11,0,8,8,0,9,9,0,12,12,0,8,8,5,7,7,7,10,10,0,12,12,8,11,11,9,12,12,0,11,12,0,12,12,0,15,15,0,12,12,0,6,6,0,6,6,0,7,7,0,7,7,0,10,10,0,7,7,0,8,8,0,11,11,0,7,7,6,7,7,10,9,9,0,11,10,10,9,9,12,12,12,0,10,10,0,11,11,0,13,13,0,11,11,7,6,6,10,10,10,0,11,11,11,11,11,12,12,12,0,11,11,0,12,12,0,15,15,0,11,11,0,11,11,0,11,11,0,12,12,0,12,12,0,14,14,0,12,12,0,12,12,0,15,15,0,11,11,0,8,8,0,10,10,0,11,11,0,11,11,0,12,12,0,12,12,0,11,11,0,15,15,0,11,11,0,6,6,0,10,10,0,12,12,0,10,10,0,13,13,0,12,12,0,13,13,0,14,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,0,0,0,8,8,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,6,6,0,0,0,7,7,0,0,0,8,8,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,10,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,0,0,10,10,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,11,0,0,0,12,12,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,0,0,10,10,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,13,13,0,0,0,0,0,0,0,0,14,13,0,0,0,0,0,0,0,0,13,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,14,14,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,12,13,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,12,12,0,0,0,14,14,0,0,0,0,0,0,0,0,14,14,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,2,2],"i8",N3,x.GLOBAL_BASE+477020),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,4,12,9,8,12,15,17,4,2,11,6,5,9,13,15,11,7,8,7,7,10,14,13,8,5,7,5,5,8,12,12,8,4,7,4,3,6,11,12,11,8,9,7,6,8,11,12,15,13,14,12,9,7,10,13,16,12,17,12,7,5,8,11,0,0,0,0,255,255,255,255,255,255,255,255,7,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",N3,x.GLOBAL_BASE+487288),E3([1,0,0,0,2,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,200,161,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,128,7,0,0,0,0,0,0,0,0,0,96,128,7,0,136,128,7,0,0,0,0,0,0,0,0,0,176,128,7,0,216,128,7,0,0,0,0,0,0,0,0,0,0,129,7,0,40,129,7,0,0,0,0,0,0,0,0,0,80,129,7,0,120,129,7,0,40,129,7,0,0,0,0,0,160,129,7,0,88,125,7,0,128,125,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,0,128,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,248,127,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,124,7,0,8,125,7,0,0,0,0,0,0,0,0,0,48,125,7,0,88,125,7,0,128,125,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,16,127,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,192,127,7,0,0,0,0,0,2,0,0,0,25,0,0,0,216,126,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,248,126,7,0,0,0,0,0,2,0,0,0,9,0,0,0,184,126,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,200,126,7,0,0,0,0,0,1,0,0,0,25,0,0,0,48,126,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,80,126,7,0,0,0,0,0,1,0,0,0,25,0,0,0,168,125,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,200,125,7,0,0,0,0,0,3,4,4,5,4,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,13,14,16,16,16,16,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,5,5,5,6,6,5,6,5,6,6,6,6,7,7,7,6,7,6,7,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,8,8,9,9,10,10,11,11,4,6,5,8,6,9,8,10,9,10,10,11,10,5,5,6,6,8,8,9,9,10,10,10,10,11,7,8,8,9,8,10,9,10,9,11,10,11,10,7,8,8,8,10,9,10,10,10,10,11,10,11,9,10,10,11,11,11,11,12,11,12,11,12,11,9,10,10,11,11,11,11,11,11,11,12,11,12,11,11,11,12,12,12,12,12,12,12,12,12,11,11,12,11,12,12,12,12,12,12,12,12,11,12,12,12,12,12,13,12,13,12,12,12,12,12,12,12,12,12,13,13,13,13,12,13,12,12,12,12,12,13,13,12,13,12,13,12,13,12,12,12,12,13,13,13,13,13,13,12,12,12,12,12,11,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,3,7,7,9,13,16,3,2,4,6,10,13,17,7,4,4,6,9,12,14,7,6,6,5,7,9,12,10,10,9,6,6,9,12,14,14,13,9,8,10,11,18,18,15,13,11,10,11,0,0,0,0,0,0,0,5,0,0,0,243,0,0,0,192,160,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,184,161,7,0,0,0,0,0,5,0,0,0,243,0,0,0,184,159,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,176,160,7,0,0,0,0,0,5,0,0,0,243,0,0,0,176,158,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,159,7,0,0,0,0,0,5,0,0,0,243,0,0,0,168,157,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,160,158,7,0,0,0,0,0,5,0,0,0,53,12,0,0,88,145,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,144,157,7,0,0,0,0,0,5,0,0,0,53,12,0,0,8,133,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,64,145,7,0,0,0,0,0,1,0,0,0,7,0,0,0,224,132,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,232,132,7,0,0,0,0,0,5,0,0,0,243,0,0,0,216,131,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,208,132,7,0,0,0,0,0,5,0,0,0,243,0,0,0,208,130,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,200,131,7,0,0,0,0,0,5,0,0,0,243,0,0,0,200,129,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,192,130,7,0,0,0,0,0,1,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,7,7,7,7,7,7,7,7,7,8,8,9,8,8,8,7,7,8,8,8,9,8,8,9,7,7,6,6,6,9,8,7,9,7,7,9,8,8,10,8,8,10,8,8,10,8,8,10,8,8,10,8,8,7,6,6,9,6,6,9,7,7,9,7,7,10,8,8,9,6,6,9,7,7,10,8,8,9,7,7,7,8,8,11,9,9,11,9,9,11,8,9,12,9,9,12,8,8,11,9,9,12,9,9,12,8,8,8,7,7,10,9,9,10,10,9,10,9,9,11,10,10,11,9,9,11,9,9,11,10,11,11,9,9,10,8,8,11,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,9,9,11,10,10,11,9,9,9,8,8,11,9,9,12,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,9,9,12,8,8,9,7,7,11,9,9,11,10,10,11,9,9,11,11,11,11,9,9,11,10,10,11,11,11,11,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,10,10,11,9,9,11,9,10,11,10,10,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,6,6,7,8,8,7,8,8,7,9,8,10,11,11,9,8,8,7,8,8,11,11,11,9,8,8,6,7,7,10,10,10,10,10,10,10,10,10,14,13,13,12,11,11,10,10,10,14,14,13,12,11,11,6,6,6,8,5,5,8,7,7,9,7,7,11,10,10,9,7,7,9,7,7,12,10,10,10,7,7,7,8,8,12,11,10,12,10,10,11,10,10,15,13,13,13,10,10,11,10,10,17,14,13,13,10,10,7,7,7,12,11,12,12,11,11,12,11,11,16,14,14,13,12,12,12,11,11,17,15,14,14,12,12,10,9,9,13,11,11,13,11,11,13,11,11,17,14,13,14,11,11,12,11,11,16,15,14,14,11,11,7,8,8,12,11,11,12,10,10,12,10,10,15,13,13,14,11,10,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,12,11,11,12,11,11,17,14,14,14,12,12,12,11,11,16,15,15,14,12,12,10,10,10,13,11,11,13,11,11,13,11,12,16,14,14,14,11,11,13,12,11,16,15,15,14,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,14,14,6,7,7,14,14,7,7,7,14,14,0,13,13,16,16,0,13,13,15,14,7,8,8,15,15,9,10,10,16,16,9,8,8,15,15,0,13,13,17,16,0,13,13,15,16,8,8,8,15,15,12,11,11,16,16,9,8,8,14,14,0,13,13,17,18,0,13,13,15,15,0,14,14,16,16,0,0,0,19,18,0,12,12,16,15,0,15,16,0,20,0,14,14,16,16,0,14,14,17,17,0,0,0,19,18,0,12,12,15,15,0,17,17,0,20,0,14,14,16,16,5,6,7,12,12,9,9,9,14,14,10,10,10,14,14,0,21,21,18,17,0,20,20,18,17,9,10,10,14,14,12,12,12,16,16,12,10,10,14,14,0,20,19,18,17,0,0,20,17,18,11,10,10,14,14,14,13,13,18,18,13,11,11,14,14,0,20,20,17,18,0,21,21,17,17,0,21,0,18,18,0,0,0,0,0,0,20,19,16,17,0,0,0,19,19,0,0,0,18,18,0,21,21,18,18,0,0,0,0,0,0,20,20,16,17,0,0,0,21,21,0,0,0,18,19,6,6,6,13,12,8,6,6,11,11,8,6,6,13,13,0,9,9,11,11,0,11,10,14,14,9,7,7,13,13,11,9,9,13,13,10,6,6,13,13,0,10,10,14,15,0,10,10,13,13,9,7,7,13,13,13,10,9,13,13,10,6,6,13,13,0,10,10,15,14,0,10,10,13,13,0,11,11,15,15,0,19,20,17,17,0,9,9,13,13,0,13,13,20,20,0,11,11,13,13,0,11,11,15,15,0,19,19,17,17,0,10,10,13,13,0,15,15,20,20,0,12,12,13,13,0,10,10,12,12,0,11,11,15,15,0,11,11,15,15,0,15,15,20,0,0,16,16,0,21,0,11,11,15,15,0,14,14,18,17,0,11,11,15,15,0,15,16,19,20,0,16,16,21,21,0,12,12,15,15,0,15,14,18,18,0,11,11,16,16,0,15,15,21,21,0,16,15,0,0,0,16,16,21,0,0,0,0,0,0,0,14,14,20,20,0,18,18,0,0,0,16,17,21,0,0,16,16,21,21,0,0,0,0,0,0,15,15,21,21,0,20,19,0,21,0,17,17,0,0,0,10,10,12,11,0,10,10,10,11,0,11,11,12,12,0,11,11,9,9,0,13,13,11,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,12,12,13,13,0,12,12,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,13,13,14,14,0,12,12,12,12,0,14,14,14,13,0,19,20,15,15,0,12,11,12,12,0,15,15,21,20,0,13,13,11,11,0,13,13,13,13,0,19,0,15,15,0,12,12,12,12,0,17,16,19,0,0,13,13,12,12,7,7,7,16,16,11,9,9,15,15,12,9,9,16,16,0,13,13,15,14,0,14,14,17,16,10,9,9,16,16,14,11,11,17,16,12,9,8,15,15,0,13,13,18,18,0,13,13,15,15,12,10,10,18,17,15,12,12,17,17,14,9,9,16,16,0,13,13,18,19,0,14,13,17,16,0,14,14,18,18,0,0,0,20,21,0,12,12,16,16,0,16,16,20,21,0,14,14,17,16,0,14,14,18,19,0,0,0,19,21,0,13,13,17,17,0,17,17,0,21,0,15,15,16,16,8,7,7,14,14,11,10,10,15,15,12,10,10,15,15,0,20,20,18,18,0,0,0,17,17,11,10,10,16,16,14,12,12,18,17,14,11,11,15,15,0,20,21,18,18,0,0,19,18,17,12,10,10,16,16,17,14,14,19,19,14,11,11,15,15,0,21,21,19,19,0,21,20,19,18,0,21,0,18,19,0,0,0,0,0,0,20,20,18,17,0,21,0,0,0,0,0,0,19,18,0,0,0,18,19,0,0,0,0,0,0,0,21,17,18,0,0,0,0,21,0,0,21,18,19,11,9,9,14,14,13,10,10,13,13,13,11,11,15,15,0,13,13,12,12,0,15,15,16,16,13,10,10,15,15,16,12,12,15,15,15,10,10,15,15,0,14,13,16,15,0,14,13,15,15,13,10,10,15,15,18,14,14,15,15,15,10,10,14,15,0,14,14,16,16,0,14,14,16,15,0,15,15,17,16,0,21,0,18,18,0,12,13,15,15,0,16,16,0,0,0,14,14,15,15,0,15,15,16,16,0,21,20,18,18,0,13,13,15,15,0,19,18,0,0,0,15,15,15,15,0,11,11,13,13,0,12,12,16,16,0,12,12,16,16,0,15,16,20,0,0,16,17,0,0,0,12,12,16,16,0,14,14,18,18,0,11,11,16,17,0,15,15,20,0,0,16,16,0,0,0,12,12,16,16,0,15,15,19,19,0,11,11,17,17,0,16,16,21,0,0,16,16,0,0,0,17,17,20,20,0,0,0,0,0,0,15,15,20,0,0,17,18,0,0,0,17,17,0,0,0,16,16,0,21,0,0,0,0,0,0,15,15,21,0,0,19,18,0,0,0,18,17,0,0,0,11,11,14,14,0,11,11,15,15,0,12,12,16,16,0,13,13,14,14,0,14,14,17,17,0,12,12,16,16,0,14,14,16,16,0,11,11,16,15,0,13,13,16,17,0,13,13,16,16,0,12,12,15,16,0,15,14,16,16,0,11,11,15,15,0,14,14,17,17,0,13,13,16,16,0,15,14,18,18,0,21,0,19,19,0,13,13,15,15,0,16,16,20,20,0,14,14,16,15,0,14,14,17,17,0,21,0,20,18,0,13,13,15,15,0,17,17,0,0,0,14,14,16,15,8,8,8,16,16,12,9,9,16,16,13,9,9,16,16,0,14,14,18,17,0,14,14,16,17,12,10,10,18,17,14,11,11,18,18,14,9,9,16,16,0,13,13,18,18,0,13,13,17,16,12,9,9,16,17,17,13,13,16,16,14,9,9,15,15,0,14,14,20,20,0,13,13,15,15,0,15,14,18,18,0,0,0,20,21,0,12,13,16,17,0,16,16,20,21,0,14,14,16,17,0,14,14,18,17,0,0,0,20,21,0,13,13,16,16,0,19,17,0,21,0,14,15,16,16,8,7,7,14,13,12,10,10,15,15,13,10,10,15,15,0,21,21,18,19,0,20,21,18,18,12,10,10,16,15,15,12,12,17,17,14,11,11,15,15,0,21,21,19,18,0,0,21,17,18,13,11,11,15,15,16,13,13,18,19,15,11,11,15,14,0,21,0,19,19,0,0,21,18,18,0,0,21,19,19,0,0,0,0,0,0,20,19,17,17,0,0,0,21,0,0,21,0,18,19,0,0,20,20,19,0,0,0,0,0,0,21,20,18,17,0,0,0,0,20,0,0,0,18,19,0,10,10,15,14,0,11,11,14,14,0,11,11,15,16,0,14,14,15,15,0,15,15,16,16,0,11,11,16,16,0,14,13,16,16,0,11,11,15,15,0,14,14,16,16,0,14,14,15,15,0,11,11,15,15,0,13,13,15,15,0,11,11,15,15,0,15,15,18,17,0,14,14,15,15,0,15,16,18,18,0,0,0,20,20,0,14,13,16,15,0,17,17,21,0,0,15,15,15,15,0,16,15,17,17,0,0,0,19,19,0,13,13,15,15,0,20,19,0,0,0,15,15,15,15,0,11,11,13,13,0,12,12,16,16,0,12,12,16,16,0,15,15,21,21,0,17,16,0,0,0,12,12,16,16,0,14,14,17,17,0,11,11,16,16,0,15,15,0,0,0,16,16,21,0,0,12,12,17,16,0,14,15,20,20,0,11,11,16,16,0,15,15,0,20,0,16,16,0,21,0,16,17,21,0,0,0,0,0,0,0,15,15,0,21,0,18,18,0,0,0,17,16,0,0,0,17,17,21,0,0,0,0,0,0,0,15,15,0,20,0,19,20,21,0,0,17,18,0,0,0,12,12,15,15,0,12,12,15,15,0,12,12,16,16,0,13,13,15,15,0,15,15,17,17,0,13,12,17,16,0,14,14,17,16,0,11,11,16,16,0,14,14,17,17,0,14,14,17,17,0,12,12,16,16,0,15,15,17,17,0,11,11,16,16,0,14,14,17,17,0,14,14,16,16,0,15,15,18,17,0,0,0,19,0,0,13,13,16,16,0,16,16,0,21,0,14,14,16,16,0,15,15,18,17,0,0,0,19,19,0,13,13,16,16,0,18,17,0,21,0,14,15,16,16,0,11,11,16,16,0,13,13,17,17,0,13,13,17,17,0,16,16,16,17,0,16,16,18,18,0,12,12,17,17,0,16,15,18,17,0,12,12,16,16,0,16,15,19,19,0,16,15,17,17,0,12,12,17,18,0,16,16,18,18,0,12,12,16,16,0,16,16,19,19,0,15,16,17,17,0,15,16,18,18,0,0,0,20,20,0,13,13,16,16,0,18,18,21,20,0,15,15,16,16,0,16,16,19,18,0,0,0,19,20,0,14,14,17,17,0,19,19,0,21,0,15,16,16,16,0,9,9,14,14,0,13,13,15,15,0,14,14,15,15,0,0,21,19,19,0,0,21,18,18,0,12,12,15,15,0,15,15,18,18,0,14,13,15,15,0,21,21,18,19,0,21,20,18,18,0,13,13,16,16,0,17,17,18,19,0,14,14,15,15,0,0,21,19,19,0,21,20,18,19,0,20,20,19,19,0,0,0,0,0,0,19,20,17,17,0,0,0,21,21,0,21,0,18,20,0,21,0,18,21,0,0,0,0,0,0,21,21,19,18,0,0,0,0,0,0,0,0,19,19,0,18,18,15,15,0,18,20,17,16,0,20,0,17,17,0,21,0,17,17,0,21,20,19,20,0,19,19,16,16,0,21,21,17,18,0,19,19,17,17,0,20,21,21,21,0,20,20,18,18,0,19,19,16,16,0,0,21,18,19,0,18,19,16,17,0,21,21,19,20,0,21,19,18,18,0,21,20,19,21,0,0,0,20,21,0,19,19,17,16,0,0,0,0,0,0,21,20,17,17,0,20,21,19,18,0,0,0,0,21,0,19,18,16,17,0,0,0,0,0,0,20,20,17,17,0,11,11,14,14,0,13,13,16,16,0,13,13,16,16,0,17,17,21,0,0,17,18,0,0,0,12,12,16,16,0,15,15,17,18,0,12,12,16,16,0,16,16,0,20,0,17,17,0,21,0,12,12,17,17,0,16,16,19,20,0,12,12,17,17,0,17,17,0,20,0,17,17,0,0,0,17,17,21,0,0,0,0,0,0,0,15,15,0,20,0,19,19,0,0,0,18,18,0,0,0,17,17,0,0,0,0,0,0,0,0,15,15,0,0,0,20,19,0,0,0,19,18,0,0,0,14,14,21,19,0,16,16,20,21,0,16,16,20,20,0,17,17,20,0,0,17,17,20,20,0,15,15,20,20,0,19,18,20,0,0,15,15,20,20,0,17,18,21,20,0,17,17,20,21,0,15,15,19,19,0,19,18,21,21,0,15,15,19,20,0,17,18,0,0,0,17,17,20,20,0,17,18,20,21,0,0,0,0,0,0,15,15,20,20,0,19,19,0,0,0,17,17,19,21,0,17,17,0,21,0,0,0,0,21,0,15,15,20,19,0,0,20,0,0,0,17,17,21,20,0,12,12,16,16,0,14,14,17,17,0,13,13,17,17,0,16,16,17,18,0,17,16,18,18,0,13,13,18,17,0,15,16,19,18,0,13,13,16,16,0,16,16,19,19,0,16,16,17,17,0,13,12,17,17,0,16,16,18,17,0,12,12,16,16,0,17,17,19,18,0,16,15,16,16,0,16,17,18,19,0,0,0,20,20,0,14,14,17,16,0,18,18,21,0,0,16,16,16,16,0,16,16,18,17,0,0,21,21,21,0,14,14,16,16,0,21,20,21,0,0,16,16,16,16,0,10,10,14,14,0,14,14,15,16,0,14,14,15,15,0,0,21,18,18,0,0,21,18,19,0,13,13,16,16,0,16,16,18,17,0,14,14,15,15,0,20,0,18,18,0,21,0,18,17,0,13,13,16,15,0,17,17,19,19,0,14,14,15,15,0,20,20,18,19,0,0,0,18,17,0,0,21,18,18,0,0,0,0,0,0,20,21,18,17,0,0,0,0,0,0,0,0,19,19,0,0,21,18,18,0,0,0,0,0,0,21,0,18,17,0,0,0,0,21,0,0,0,19,20,0,19,19,16,16,0,0,21,18,17,0,21,0,18,18,0,20,0,19,18,0,21,20,19,19,0,21,19,17,18,0,0,21,19,19,0,21,19,18,18,0,21,0,20,18,0,0,21,18,18,0,20,21,17,17,0,21,0,18,18,0,21,19,17,17,0,21,0,0,20,0,0,20,17,18,0,0,0,19,20,0,0,0,20,19,0,19,21,17,18,0,21,0,0,0,0,21,21,18,17,0,0,21,18,18,0,0,0,0,21,0,20,19,16,17,0,0,0,0,0,0,21,20,17,17,0,11,11,13,13,0,13,13,16,16,0,13,13,16,16,0,17,17,0,21,0,18,19,21,0,0,12,12,16,16,0,15,15,19,18,0,13,13,16,16,0,16,17,21,19,0,17,17,21,21,0,13,13,16,16,0,16,16,20,18,0,13,13,16,16,0,17,17,0,0,0,18,18,0,0,0,18,17,0,20,0,0,0,0,0,0,15,15,21,21,0,19,18,0,0,0,17,17,21,21,0,17,17,0,0,0,0,0,0,0,0,15,15,20,21,0,20,20,0,0,0,19,19,0,0,0,14,15,21,19,0,16,16,0,21,0,17,16,21,21,0,17,18,21,20,0,18,18,0,21,0,16,16,0,20,0,19,19,0,0,0,16,15,0,20,0,18,18,0,0,0,17,17,0,21,0,16,16,20,20,0,20,19,0,0,0,15,16,21,22,0,18,18,0,0,0,18,17,0,0,0,18,18,0,0,0,0,0,0,0,0,16,16,21,20,0,19,20,0,0,0,18,17,21,0,0,17,18,0,0,0,0,0,0,0,0,16,16,0,20,0,0,20,0,0,0,18,18,22,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,3,4,7,7,10,12,12,12,12,10,11,11,13,13,11,12,12,11,11,12,12,12,12,12,11,13,13,13,13,12,12,12,13,14,12,13,13,13,13,12,13,13,13,13,12,13,13,13,13,11,13,13,13,13,12,12,12,14,14,12,13,13,12,12,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,14,14,12,13,13,12,12,12,13,13,13,13,12,13,13,12,12,12,13,13,13,13,12,12,12,14,14,12,13,13,12,12,12,13,13,13,13,12,13,13,12,12,10,10,11,10,10,11,11,11,11,11,11,9,9,10,10,12,11,11,10,10,12,10,10,10,10,13,12,12,12,12,13,11,11,11,11,13,12,12,12,12,13,11,11,11,11,13,12,12,12,12,13,12,12,12,12,13,11,11,11,11,13,12,12,12,12,13,11,11,11,11,13,12,12,11,11,13,12,12,11,11,13,11,11,11,11,13,12,12,11,11,13,11,11,11,11,13,12,12,11,11,13,12,12,11,11,13,11,11,11,11,13,12,12,11,11,13,11,11,11,11,13,12,12,11,11,11,11,11,10,10,11,11,11,9,9,11,12,12,11,11,12,12,12,9,9,13,13,13,10,10,13,13,13,11,11,13,13,13,14,14,13,13,13,11,10,13,13,14,12,12,13,13,13,11,11,13,13,13,11,11,13,13,13,14,14,13,13,13,10,10,13,13,13,11,11,13,13,13,10,10,13,14,13,11,11,13,14,14,14,14,13,13,13,10,10,13,14,14,11,11,13,13,13,10,10,13,14,14,11,11,13,13,13,14,14,14,13,13,10,10,13,14,14,11,11,13,13,13,10,10,14,12,12,9,9,14,12,12,9,9,14,11,11,9,9,14,12,12,8,8,14,11,11,7,7,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,9,9,15,12,12,9,9,14,13,13,9,9,15,13,13,10,10,15,12,12,10,10,15,13,13,9,9,15,12,12,9,9,15,13,13,9,9,13,12,12,9,9,13,13,13,8,8,13,13,13,9,9,13,13,13,7,7,14,13,13,8,8,14,14,14,10,10,15,14,14,11,11,14,14,14,9,9,15,14,14,10,10,15,14,14,9,9,14,14,14,10,10,15,14,14,11,11,15,14,14,9,9,14,14,14,10,10,14,14,14,9,9,15,14,15,10,10,15,14,14,11,11,14,14,14,9,9,14,14,14,9,9,14,14,14,8,8,15,14,14,10,10,15,14,14,11,11,14,14,14,9,9,15,14,14,9,9,14,14,14,8,8,12,12,12,13,13,16,16,16,11,11,17,16,16,12,12,17,16,16,11,11,17,16,16,11,11,17,17,16,13,13,17,16,16,13,13,18,17,16,12,12,17,16,16,13,13,17,16,17,12,12,18,17,17,13,13,17,16,16,14,14,18,17,17,12,12,18,16,16,13,13,17,17,17,13,12,17,17,17,13,13,17,16,16,13,13,18,17,17,12,12,17,16,16,13,12,17,17,17,12,12,18,17,17,13,13,18,16,16,14,14,18,17,17,12,12,17,17,17,13,13,18,17,18,12,12,13,14,14,10,10,16,14,14,13,13,17,15,15,14,14,17,14,14,12,13,16,14,14,13,13,17,15,15,14,14,16,16,16,15,15,17,15,15,14,14,17,16,16,14,15,17,15,15,14,14,17,15,16,14,14,17,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,14,17,15,15,14,14,16,16,16,15,15,17,15,15,13,13,17,15,15,14,14,17,15,15,13,13,17,15,15,14,14,16,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,13,11,11,10,10,16,14,14,13,12,16,14,14,13,13,16,15,14,12,12,16,14,14,12,12,16,15,15,14,14,16,14,14,14,14,17,15,15,13,13,16,15,15,14,14,17,15,15,13,14,17,15,15,14,14,17,15,14,14,14,17,15,15,13,13,17,15,15,14,14,17,15,15,13,13,17,15,15,14,14,17,14,14,14,14,17,15,15,13,13,17,15,15,13,13,17,15,15,13,13,17,15,15,14,14,17,15,15,14,14,17,15,15,13,13,17,15,15,13,13,17,15,15,13,13,14,14,15,8,8,14,14,14,19,19,14,15,15,18,19,14,14,14,19,18,14,14,14,19,19,15,15,15,19,18,15,16,16,19,19,15,15,15,19,19,15,16,16,20,19,15,15,15,19,19,15,15,15,19,19,16,16,16,20,19,15,15,15,19,18,15,16,16,20,19,15,15,15,18,18,15,15,15,19,20,15,16,16,19,19,15,15,15,20,19,15,15,15,20,19,15,15,15,19,18,15,15,15,19,19,15,16,16,19,20,15,15,15,19,19,15,15,15,19,20,15,15,15,19,19,14,12,12,9,9,14,14,14,19,19,14,14,14,19,19,14,14,15,20,19,15,14,14,18,19,15,15,15,19,19,15,15,14,20,19,15,15,15,20,19,15,15,14,20,19,15,15,15,20,19,15,15,15,19,20,15,14,14,19,20,15,15,15,20,20,15,14,14,20,19,15,15,15,19,19,15,15,15,19,19,15,14,14,19,19,15,15,15,19,20,15,15,15,20,20,15,15,15,19,19,15,15,15,20,19,16,14,14,19,19,15,15,15,20,19,15,14,15,20,19,14,15,15,20,19,12,12,12,13,13,16,16,16,11,11,16,16,16,12,12,17,16,16,11,11,17,15,16,11,11,17,17,17,13,13,18,16,17,13,13,18,17,17,13,12,17,16,17,13,13,17,17,17,13,13,16,16,16,12,12,17,16,16,13,13,17,16,16,12,12,17,16,16,12,13,17,17,17,12,12,17,17,17,13,13,18,16,16,13,13,18,17,17,12,12,18,17,17,12,12,17,17,17,12,12,17,17,17,12,12,17,16,16,13,13,17,17,17,12,12,17,16,16,12,12,17,17,17,12,12,13,14,14,9,9,16,14,14,13,13,16,15,15,14,14,17,14,14,13,13,16,14,14,13,13,17,15,15,15,15,16,16,16,15,15,17,15,15,14,14,17,15,15,15,15,17,15,15,14,14,17,15,15,14,14,16,16,16,15,15,17,15,15,14,14,17,15,15,14,14,17,15,15,14,14,17,15,15,14,14,16,16,16,15,15,18,15,15,14,13,17,15,15,14,14,17,15,15,13,13,17,15,15,14,14,16,16,16,15,15,17,15,15,14,13,17,15,15,14,14,17,15,15,13,13,13,11,11,11,11,16,14,14,12,12,16,14,14,13,13,16,15,14,12,12,17,14,14,12,12,17,15,15,13,13,17,14,14,14,14,17,15,15,13,13,17,14,15,14,13,17,15,15,13,13,16,15,15,13,13,16,14,14,14,14,17,15,15,13,13,16,14,14,13,13,16,15,15,13,13,17,15,15,13,13,17,14,14,14,14,17,15,15,12,12,17,15,15,13,13,17,15,15,12,12,16,15,15,13,13,17,14,14,13,14,17,15,15,12,12,17,14,14,13,13,17,15,15,12,12,14,14,14,8,8,14,14,14,18,18,14,15,15,19,19,14,14,14,19,19,14,15,14,18,19,15,15,15,18,19,15,16,16,20,20,15,15,15,19,20,15,16,16,19,20,15,15,15,19,20,15,15,16,19,19,15,16,16,20,20,15,15,15,20,19,15,16,16,20,19,15,15,15,19,20,15,15,15,19,19,15,16,16,20,19,15,15,15,19,19,15,16,15,20,19,15,15,15,19,19,15,15,15,19,20,15,16,16,20,20,15,15,15,19,19,15,15,15,20,20,15,15,15,19,19,14,12,12,9,9,14,14,14,18,18,14,14,14,19,20,14,14,14,18,18,14,14,14,18,19,15,15,15,19,20,15,14,14,19,19,15,15,15,19,19,15,14,15,19,19,15,15,15,18,20,15,15,15,19,19,15,14,14,19,19,15,15,15,20,19,15,15,14,20,20,15,15,15,19,19,15,15,15,19,19,15,14,14,19,19,15,15,15,19,19,15,14,14,19,20,14,15,15,19,19,15,15,15,19,19,15,14,14,20,19,15,15,15,19,19,15,14,14,20,19,15,15,15,19,19,13,12,12,13,13,17,17,16,11,11,16,16,16,12,12,17,17,16,11,11,17,16,16,11,11,17,17,17,13,13,17,16,16,13,13,18,17,17,12,12,17,16,16,13,13,18,17,17,12,12,18,17,17,13,13,18,16,17,13,13,17,17,17,12,12,18,17,17,13,13,18,17,17,12,12,17,16,17,12,12,17,16,16,13,13,17,16,16,11,11,17,16,16,12,12,17,17,17,11,11,17,17,17,12,12,18,16,16,13,13,18,17,17,12,11,17,16,16,12,12,18,17,17,11,11,13,14,14,9,9,16,14,14,13,13,16,15,15,14,14,17,14,14,12,12,16,14,14,13,13,17,15,15,14,14,17,16,16,15,16,18,15,15,14,14,17,15,15,14,14,17,15,15,14,14,18,15,15,14,14,16,16,16,15,16,18,15,15,14,14,17,16,15,14,14,18,15,15,14,14,17,15,15,14,14,17,16,16,15,15,18,14,15,13,13,17,15,15,14,14,18,15,15,13,13,17,15,15,14,14,17,16,15,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,13,11,11,10,10,16,14,14,12,12,16,14,14,12,12,17,14,15,11,11,17,14,14,11,11,17,15,15,13,13,17,14,14,14,13,17,15,15,13,13,16,15,15,13,13,17,15,15,13,13,17,15,15,13,13,17,14,14,14,14,17,15,15,13,13,17,14,15,13,13,16,15,15,13,13,17,15,15,13,13,17,14,14,13,13,17,15,15,12,12,16,14,14,12,12,17,15,15,12,12,17,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,17,15,15,12,12,13,15,14,8,8,14,14,14,19,19,14,15,15,18,19,14,14,14,18,19,14,15,14,19,19,15,16,15,19,19,15,16,16,19,20,15,15,15,19,19,15,16,16,19,19,15,16,16,19,19,15,15,15,19,19,15,16,16,20,20,15,15,15,19,19,15,15,15,19,19,15,15,15,19,19,15,15,15,19,19,15,16,16,20,19,15,15,15,19,19,15,15,15,19,19,15,15,15,19,19,15,16,15,19,19,15,16,16,21,19,15,15,15,20,20,15,15,15,20,21,15,15,15,19,20,14,12,12,8,8,14,14,14,19,19,14,13,13,19,19,14,14,14,19,19,14,13,14,19,19,15,15,15,20,20,15,14,14,20,19,15,15,15,19,20,15,14,14,19,20,15,15,15,20,19,15,15,15,19,20,15,14,14,20,20,15,15,15,20,19,15,14,14,19,19,15,15,15,19,19,15,15,15,20,19,15,14,14,21,19,15,15,15,20,21,15,14,14,21,19,15,15,15,19,19,15,15,15,20,20,15,14,14,19,21,15,15,15,19,19,15,14,14,19,20,15,15,15,19,19,13,12,12,13,13,17,16,16,11,11,17,16,15,12,12,18,16,16,11,11,17,16,16,11,11,18,17,17,13,13,18,16,16,13,13,17,17,17,12,13,18,17,16,13,13,18,17,17,13,13,17,17,17,13,13,17,16,16,13,13,18,16,17,12,12,17,16,16,13,12,17,17,17,12,12,18,17,17,13,12,18,16,16,13,13,18,17,17,12,12,17,16,16,12,12,17,17,17,11,11,17,16,16,12,12,17,16,16,13,13,17,16,16,11,11,17,16,16,12,12,17,17,17,11,11,13,14,14,9,9,16,14,14,13,13,16,15,15,14,14,17,14,14,12,12,16,14,14,13,13,17,15,15,14,14,17,15,16,15,15,17,15,15,14,14,17,15,16,14,15,18,15,15,14,14,17,15,15,14,14,16,16,16,15,15,18,15,15,13,14,17,15,15,14,14,18,15,15,14,14,17,15,15,14,14,17,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,17,15,15,14,14,17,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,13,11,11,10,10,16,14,14,12,12,16,14,14,13,13,17,14,14,11,11,17,14,14,12,12,17,15,15,14,14,17,14,14,14,14,17,15,15,13,13,17,15,14,13,13,16,15,15,13,13,16,15,15,13,13,17,14,14,14,14,17,15,15,13,13,17,14,14,13,13,16,15,15,13,13,16,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,16,15,15,12,12,17,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,16,15,15,12,12,14,14,14,8,8,14,14,14,18,18,14,15,15,19,18,14,14,14,18,18,14,14,14,18,19,15,16,15,19,19,15,17,16,20,20,15,15,15,19,19,15,16,16,19,19,15,15,15,19,19,15,16,15,18,19,15,16,16,20,20,15,15,15,19,19,15,16,16,19,20,15,15,15,19,19,15,15,16,19,19,15,16,16,20,20,15,15,15,19,19,15,15,15,19,20,15,15,15,19,19,15,15,15,19,19,15,16,16,20,20,15,15,15,19,20,15,16,16,20,20,15,15,15,19,19,13,12,12,8,8,14,14,14,19,20,14,14,14,19,19,14,14,14,18,19,14,14,14,19,20,15,15,15,19,20,15,14,14,21,20,15,15,15,20,20,15,15,14,19,19,15,15,15,19,19,15,15,15,19,19,15,14,14,19,20,15,15,15,19,20,15,14,14,19,19,15,15,15,19,19,15,15,15,19,19,16,14,14,19,19,15,15,15,20,20,15,14,14,21,19,15,15,15,19,19,15,15,15,19,20,16,14,14,19,20,15,15,15,19,19,15,14,14,19,19,15,15,15,20,19,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,6,7,7,7,8,8,7,8,8,10,11,11,9,8,8,7,9,9,11,12,12,9,8,8,6,7,7,9,11,11,10,11,11,10,11,11,13,13,13,11,12,12,10,11,11,13,14,14,12,12,12,6,6,6,8,6,6,8,6,6,9,7,7,12,10,10,10,6,6,9,7,7,12,10,10,11,7,6,7,8,8,12,10,10,12,10,10,11,10,10,15,13,13,13,10,10,12,11,11,15,13,13,14,11,11,8,7,7,12,11,11,12,11,11,11,11,11,14,14,14,13,12,12,12,11,11,16,15,15,14,12,12,0,10,10,0,11,11,0,12,12,0,11,11,0,14,14,0,11,11,0,11,11,0,15,15,0,11,11,7,8,8,13,10,10,12,10,10,12,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,13,11,11,12,11,11,15,14,14,14,12,12,13,12,12,15,14,14,15,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,12,12,0,15,14,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,0,8,8,0,8,8,0,10,10,0,9,9,0,10,10,0,10,10,0,9,9,0,10,10,0,7,7,0,7,7,0,7,7,0,8,8,0,8,8,0,8,8,0,9,9,0,8,8,0,8,8,0,7,7,0,8,8,0,8,8,0,10,10,0,9,9,0,9,9,0,10,10,0,9,9,0,10,10,0,8,8,0,11,11,0,11,11,0,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,12,12,0,8,8,0,11,11,0,11,11,0,13,12,0,12,12,0,13,12,0,13,13,0,12,12,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,11,11,0,11,11,0,13,12,0,12,12,0,12,12,0,12,12,0,11,11,0,12,12,0,8,8,0,12,12,0,12,12,0,13,13,0,12,12,0,13,13,0,13,13,0,12,13,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,0,7,7,0,8,8,0,9,9,0,12,12,0,8,8,0,9,9,0,12,12,0,8,8,0,6,6,0,11,11,0,11,11,0,12,12,0,14,14,0,11,11,0,12,12,0,14,14,0,11,11,0,6,6,0,6,5,0,7,6,0,7,7,0,10,10,0,6,6,0,7,7,0,10,10,0,7,7,0,7,7,0,10,10,0,11,11,0,11,11,0,14,14,0,10,10,0,12,12,0,14,14,0,12,12,0,6,6,0,11,11,0,11,11,0,12,12,0,14,14,0,11,11,0,12,12,0,15,15,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,11,11,0,11,11,0,12,12,0,15,15,0,12,12,0,11,11,0,15,15,0,11,11,0,6,6,0,11,11,0,12,12,0,12,12,0,15,15,0,11,11,0,12,12,0,14,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,2,2],"i8",N3,x.GLOBAL_BASE+489700),E3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,5,7,8,10,13,14,4,2,4,6,8,11,12,7,4,3,5,8,12,14,8,5,4,4,8,12,12,9,7,7,7,9,10,11,13,11,11,9,7,8,10,13,11,10,6,5,7,9,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,224,200,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,167,7,0,0,0,0,0,0,0,0,0,120,167,7,0,160,167,7,0,0,0,0,0,0,0,0,0,200,167,7,0,240,167,7,0,0,0,0,0,0,0,0,0,24,168,7,0,64,168,7,0,0,0,0,0,0,0,0,0,104,168,7,0,144,168,7,0,64,168,7,0,0,0,0,0,184,168,7,0,112,164,7,0,152,164,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,24,167,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,16,167,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,163,7,0,32,164,7,0,0,0,0,0,0,0,0,0,72,164,7,0,112,164,7,0,152,164,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,40,166,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,216,166,7,0,0,0,0,0,2,0,0,0,25,0,0,0,240,165,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,166,7,0,0,0,0,0,2,0,0,0,9,0,0,0,208,165,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,224,165,7,0,0,0,0,0,1,0,0,0,25,0,0,0,72,165,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,104,165,7,0,0,0,0,0,1,0,0,0,25,0,0,0,192,164,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,224,164,7,0,0,0,0,0,3,4,4,5,4,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,12,14,14,14,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,5,5,5,7,5,5,5,5,6,7,7,6,7,7,7,6,7,7,7,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,3,4,7,7,8,8,9,9,9,10,10,10,5,6,5,8,7,9,8,9,9,10,9,11,10,5,5,7,7,8,8,9,9,9,9,10,10,11,8,9,8,10,9,10,9,10,9,11,10,11,10,8,8,9,9,10,9,10,9,11,10,11,10,11,10,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,12,11,11,11,11,11,11,10,12,12,12,12,12,12,12,11,12,12,12,11,11,11,12,12,12,12,12,12,12,11,12,11,12,11,11,13,12,12,12,13,12,12,12,12,11,12,11,11,13,13,13,12,12,12,12,12,12,11,11,11,10,13,13,13,12,13,12,13,11,13,10,12,11,11,13,13,12,13,12,12,12,12,11,12,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,2,3,6,7,10,14,16,3,2,5,7,11,14,17,6,5,5,7,10,12,14,7,7,6,6,7,9,13,10,11,9,6,6,9,11,15,15,13,10,9,10,12,18,18,16,14,12,13,16,0,0,0,0,0,0,0,5,0,0,0,243,0,0,0,216,199,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,208,200,7,0,0,0,0,0,5,0,0,0,243,0,0,0,208,198,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,200,199,7,0,0,0,0,0,5,0,0,0,243,0,0,0,200,197,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,192,198,7,0,0,0,0,0,5,0,0,0,243,0,0,0,192,196,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,184,197,7,0,0,0,0,0,5,0,0,0,53,12,0,0,112,184,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,168,196,7,0,0,0,0,0,5,0,0,0,53,12,0,0,32,172,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,88,184,7,0,0,0,0,0,1,0,0,0,7,0,0,0,248,171,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,0,172,7,0,0,0,0,0,5,0,0,0,243,0,0,0,240,170,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,232,171,7,0,0,0,0,0,5,0,0,0,243,0,0,0,232,169,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,224,170,7,0,0,0,0,0,5,0,0,0,243,0,0,0,224,168,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,216,169,7,0,0,0,0,0,1,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,7,7,7,8,8,7,7,7,7,8,8,8,8,9,8,7,7,8,8,8,9,9,9,9,7,7,6,6,6,9,7,7,9,7,7,9,8,8,10,8,8,10,8,8,10,8,8,10,8,8,10,8,8,7,6,6,9,6,6,9,6,6,9,7,7,10,8,8,9,6,6,9,7,7,10,8,8,9,7,7,7,8,8,11,9,9,11,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,10,9,12,8,8,8,7,7,10,9,9,11,9,9,11,9,9,11,11,10,11,9,9,11,10,9,11,10,11,11,9,9,10,8,8,11,9,9,11,9,9,11,9,9,11,10,10,11,9,9,11,9,9,11,10,10,11,9,9,9,8,8,12,9,9,12,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,9,9,12,8,8,9,7,7,11,9,10,11,10,9,11,9,9,11,11,11,11,9,9,11,10,10,11,11,11,11,9,9,10,9,9,11,9,9,11,10,10,11,10,9,11,10,10,11,9,9,11,10,10,11,10,11,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,6,6,6,8,8,7,8,8,7,9,8,10,11,11,9,8,8,7,8,8,11,11,11,9,8,8,6,7,7,10,10,10,10,10,10,10,10,10,14,13,13,12,11,11,10,10,10,14,14,13,13,11,11,6,6,6,8,5,5,8,7,7,8,7,7,11,9,9,9,7,7,8,7,7,12,10,10,10,7,7,7,8,8,12,11,11,12,10,10,11,10,10,14,13,13,13,10,10,11,10,11,16,14,14,13,10,10,7,8,7,12,12,12,12,11,11,12,11,11,16,14,15,13,12,12,11,11,11,17,15,14,14,13,13,10,9,9,13,11,11,13,11,11,12,11,11,16,14,13,14,11,11,12,11,11,16,15,14,14,11,11,7,8,8,12,11,11,12,10,10,12,10,10,16,14,13,13,11,11,12,10,10,16,14,14,13,10,10,8,8,8,12,12,12,12,11,11,12,11,11,16,14,15,14,12,12,12,11,11,16,15,15,14,12,12,10,10,10,13,11,11,13,11,11,12,12,12,16,14,14,14,11,11,12,11,11,17,14,15,14,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,14,14,6,8,8,14,14,7,7,7,14,14,0,13,13,15,16,0,13,13,15,15,7,8,8,15,15,9,10,10,16,16,9,8,8,14,15,0,13,13,17,17,0,13,13,16,16,8,8,8,15,15,12,11,11,16,16,9,8,8,14,14,0,13,13,17,17,0,13,13,15,15,0,14,14,16,16,0,0,0,18,19,0,12,12,16,15,0,16,16,0,20,0,14,14,16,16,0,14,14,17,17,0,0,0,19,19,0,12,12,15,15,0,18,17,21,21,0,14,14,16,16,5,7,7,12,13,9,10,9,14,14,11,10,10,14,14,0,0,0,18,17,0,20,21,18,18,9,10,10,14,14,12,12,12,17,16,12,10,10,14,14,0,20,20,18,17,0,21,21,17,17,11,10,10,14,14,15,13,13,18,18,13,11,11,14,14,0,20,0,18,18,0,20,21,18,17,0,21,0,18,19,0,0,0,0,21,0,21,20,16,17,0,0,0,21,21,0,0,0,20,18,0,20,0,17,18,0,0,0,0,0,0,0,20,16,17,0,0,0,20,0,0,0,0,18,18,6,6,6,13,13,8,5,5,11,11,9,6,6,13,13,0,9,9,12,12,0,10,10,14,14,9,7,7,13,13,12,9,9,13,13,10,6,6,13,13,0,10,10,14,14,0,10,10,13,13,9,7,7,13,13,13,10,10,13,13,11,6,6,13,13,0,10,10,15,15,0,10,10,13,13,0,12,11,15,15,0,20,19,17,16,0,9,9,13,13,0,13,13,20,19,0,11,11,13,13,0,11,11,15,15,0,20,19,17,17,0,10,10,13,13,0,14,15,0,21,0,12,12,13,13,0,10,10,12,12,0,11,11,15,15,0,11,11,15,15,0,15,15,20,20,0,16,16,0,0,0,11,11,15,15,0,14,14,17,17,0,11,11,15,15,0,15,15,20,21,0,16,16,21,21,0,12,12,15,15,0,15,15,18,20,0,11,11,16,15,0,15,15,21,21,0,16,16,0,21,0,16,16,0,0,0,0,0,0,0,0,14,14,21,21,0,17,18,0,0,0,16,17,20,0,0,16,16,0,0,0,0,0,0,0,0,15,15,20,20,0,19,18,0,21,0,18,17,0,0,0,10,10,11,11,0,10,10,10,10,0,11,11,12,12,0,11,11,9,9,0,13,13,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,12,12,13,13,0,12,12,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,13,13,13,13,0,12,12,12,12,0,14,13,13,13,0,19,21,15,15,0,12,11,12,12,0,16,15,19,19,0,13,13,11,11,0,13,13,13,13,0,0,21,15,16,0,12,12,12,12,0,16,16,19,21,0,13,13,12,12,7,7,7,16,16,11,9,9,16,16,12,9,9,16,16,0,13,13,16,16,0,14,14,17,16,11,9,9,16,16,14,12,11,17,17,13,8,9,15,15,0,13,13,19,19,0,13,13,16,15,12,10,10,17,17,15,12,12,19,18,14,9,9,17,16,0,14,14,18,0,0,14,13,16,16,0,14,15,18,17,0,21,0,19,21,0,12,12,16,16,0,16,16,0,0,0,14,14,16,16,0,14,14,18,18,0,0,21,20,0,0,13,13,16,17,0,18,18,0,0,0,15,14,17,16,8,7,7,14,14,11,10,10,15,15,13,10,10,15,15,0,21,20,19,19,0,21,0,17,18,11,10,10,15,16,14,12,12,18,18,14,11,11,15,14,0,21,20,18,19,0,0,21,18,18,12,11,11,16,16,16,14,14,18,20,14,11,11,16,15,0,20,20,19,19,0,0,20,18,18,0,21,0,18,19,0,0,0,0,0,0,20,20,17,18,0,0,0,20,20,0,0,0,19,19,0,0,0,20,18,0,0,0,0,0,0,0,21,18,18,0,21,21,0,21,0,0,0,19,20,11,9,9,14,14,13,10,10,14,14,13,11,11,15,15,0,13,13,13,13,0,14,14,16,16,13,11,11,15,15,16,12,12,15,15,14,10,10,14,14,0,14,14,16,16,0,14,14,15,15,13,10,10,15,15,17,13,14,15,16,15,10,10,15,15,0,14,14,17,16,0,14,14,15,15,0,15,15,17,17,0,0,21,18,18,0,13,13,15,15,0,16,16,21,20,0,14,14,15,14,0,15,14,16,17,0,0,20,20,19,0,13,13,15,15,0,19,18,0,0,0,15,15,15,15,0,11,11,14,14,0,12,12,16,16,0,12,12,16,16,0,15,16,21,21,0,16,17,21,0,0,12,12,17,16,0,14,14,18,19,0,11,11,16,16,0,15,15,20,21,0,16,16,21,0,0,12,12,17,16,0,15,15,19,19,0,12,12,16,17,0,16,15,0,0,0,16,16,0,0,0,17,17,0,21,0,0,0,0,0,0,14,15,20,0,0,17,17,0,0,0,17,17,0,0,0,17,16,0,0,0,0,0,0,0,0,15,15,0,0,0,18,18,0,0,0,18,17,0,0,0,11,11,14,14,0,12,12,15,15,0,12,12,15,15,0,13,13,14,14,0,14,14,17,17,0,12,12,16,16,0,14,14,16,16,0,11,11,15,15,0,13,13,16,17,0,13,13,16,16,0,12,12,15,15,0,14,14,17,16,0,11,11,15,15,0,14,14,17,17,0,13,13,16,16,0,15,15,17,18,0,21,20,20,21,0,12,12,15,15,0,16,16,20,21,0,14,14,15,15,0,14,14,17,17,0,0,0,18,19,0,12,13,15,15,0,18,17,21,0,0,14,15,15,15,8,8,8,16,16,12,10,10,16,16,13,9,9,16,16,0,14,14,18,17,0,14,14,16,17,12,10,10,18,17,14,12,11,18,18,14,9,9,16,16,0,13,13,18,18,0,13,13,17,16,12,9,9,16,17,17,13,13,17,17,14,9,9,15,15,0,14,14,20,19,0,13,13,16,16,0,15,15,19,18,0,0,0,20,19,0,12,13,17,17,0,16,16,20,0,0,14,14,16,17,0,14,14,19,18,0,0,0,20,20,0,13,13,16,16,0,18,17,0,0,0,15,15,16,16,9,7,7,14,14,12,10,10,15,15,13,10,10,15,15,0,21,0,18,19,0,20,21,19,18,12,10,10,16,15,15,13,13,18,18,14,11,11,15,15,0,0,0,19,18,0,0,21,18,18,13,11,11,15,15,16,14,14,17,19,15,11,11,15,15,0,21,21,20,18,0,0,21,18,18,0,0,21,21,19,0,0,0,0,0,0,19,20,18,17,0,0,0,21,21,0,21,0,20,18,0,0,21,19,19,0,0,0,0,0,0,20,21,17,17,0,0,0,0,0,0,21,0,18,20,0,10,10,14,14,0,11,11,15,15,0,11,11,15,15,0,14,14,15,15,0,15,15,16,16,0,11,12,16,16,0,13,13,16,16,0,11,11,15,15,0,14,14,17,17,0,14,14,15,15,0,11,11,16,15,0,14,14,15,15,0,11,11,15,15,0,15,15,17,17,0,14,14,15,15,0,16,16,18,18,0,0,0,20,19,0,14,13,16,15,0,17,17,21,0,0,15,15,15,15,0,16,15,17,16,0,20,0,20,18,0,13,14,15,15,0,19,18,0,21,0,15,15,15,15,0,11,11,14,14,0,12,12,16,16,0,12,12,16,16,0,16,15,20,21,0,17,16,0,0,0,12,12,16,16,0,14,14,18,18,0,11,11,16,16,0,15,15,21,20,0,16,16,0,0,0,12,12,16,17,0,15,14,19,19,0,11,12,16,16,0,15,15,21,0,0,16,16,0,0,0,16,17,0,0,0,0,0,0,0,0,15,15,21,0,0,17,17,0,0,0,17,17,0,0,0,17,16,0,0,0,0,0,0,0,0,15,15,0,20,0,19,20,0,0,0,17,17,0,0,0,12,12,15,15,0,12,12,15,15,0,12,12,16,16,0,13,13,15,15,0,15,15,17,17,0,13,13,17,16,0,14,14,17,17,0,11,11,16,16,0,14,14,17,17,0,13,13,16,16,0,12,12,16,16,0,15,15,16,17,0,11,11,15,16,0,14,14,17,17,0,13,14,16,16,0,15,15,18,18,0,21,20,20,19,0,13,13,16,17,0,16,16,0,0,0,14,14,16,16,0,15,15,18,18,0,0,0,20,19,0,13,13,16,16,0,17,17,0,0,0,14,14,16,16,0,11,11,16,16,0,13,13,18,17,0,13,13,17,17,0,16,16,17,17,0,16,16,17,18,0,12,12,17,17,0,15,15,18,18,0,12,12,16,16,0,16,16,19,19,0,15,15,16,17,0,12,12,17,17,0,17,17,18,18,0,12,12,17,17,0,16,16,19,19,0,15,16,17,17,0,16,16,18,17,0,0,0,21,21,0,13,13,16,16,0,17,17,0,20,0,15,15,16,17,0,16,16,19,18,0,0,21,20,21,0,14,14,17,16,0,20,0,0,0,0,15,16,16,17,0,9,9,14,14,0,13,13,16,16,0,14,14,15,15,0,0,20,19,19,0,0,0,19,19,0,12,12,15,15,0,15,16,19,18,0,14,14,15,15,0,21,0,18,18,0,20,0,17,18,0,13,13,16,16,0,17,17,17,19,0,14,14,16,15,0,21,20,20,19,0,0,0,19,19,0,0,0,19,18,0,0,0,0,0,0,20,20,17,18,0,0,0,21,21,0,0,0,18,18,0,21,0,18,19,0,0,0,0,0,0,20,21,18,18,0,0,0,20,21,0,0,0,19,19,0,18,18,15,15,0,20,21,17,17,0,19,21,17,17,0,0,0,17,18,0,0,0,20,19,0,19,19,17,17,0,0,0,18,18,0,19,20,16,17,0,0,21,20,20,0,19,20,19,18,0,19,20,16,16,0,0,0,18,19,0,19,20,17,17,0,0,21,0,20,0,21,21,17,19,0,20,0,19,20,0,0,0,20,0,0,19,18,17,16,0,0,0,0,0,0,0,20,17,17,0,20,21,18,20,0,0,0,0,21,0,19,20,17,17,0,0,0,0,0,0,20,21,17,17,0,11,11,14,14,0,13,13,16,17,0,13,13,16,16,0,17,17,0,21,0,18,17,21,0,0,13,13,16,16,0,15,15,18,18,0,12,12,16,16,0,17,16,21,0,0,17,17,0,0,0,12,12,17,17,0,17,17,19,21,0,13,12,16,16,0,17,17,0,0,0,17,17,0,0,0,18,17,0,21,0,0,0,0,0,0,15,15,20,0,0,20,18,0,0,0,17,18,0,0,0,16,17,0,0,0,0,0,0,0,0,15,15,0,0,0,19,19,0,0,0,18,18,0,0,0,14,14,18,18,0,16,16,0,21,0,16,16,21,21,0,17,17,0,20,0,17,17,20,0,0,16,15,0,0,0,20,20,0,0,0,15,15,20,20,0,17,17,21,0,0,17,18,20,20,0,15,15,20,20,0,18,18,0,0,0,15,15,19,20,0,17,18,0,0,0,17,17,20,20,0,18,17,21,0,0,0,0,0,21,0,15,15,20,20,0,19,19,0,0,0,17,17,21,0,0,17,17,0,0,0,0,0,21,0,0,15,15,19,19,0,20,21,0,0,0,18,17,21,21,0,12,12,16,16,0,14,14,17,17,0,13,13,17,18,0,16,16,18,17,0,16,16,18,18,0,13,13,18,18,0,15,16,19,18,0,13,13,16,16,0,16,16,20,18,0,16,16,17,17,0,12,13,17,17,0,17,16,18,18,0,12,12,16,16,0,17,16,20,19,0,16,16,16,16,0,16,17,18,20,0,0,0,21,20,0,14,14,17,16,0,19,18,0,20,0,16,16,17,16,0,16,16,17,18,0,0,21,21,21,0,14,14,16,16,0,20,20,21,0,0,16,16,16,16,0,10,10,14,14,0,14,14,15,16,0,14,14,15,15,0,0,21,18,18,0,0,21,18,19,0,13,13,16,16,0,16,16,18,18,0,14,14,15,15,0,21,0,18,18,0,21,0,18,18,0,13,13,16,16,0,17,17,19,20,0,14,14,15,15,0,0,0,18,20,0,0,21,18,18,0,0,21,19,18,0,0,0,0,0,0,20,21,18,17,0,0,0,21,21,0,0,0,19,19,0,21,0,18,19,0,0,0,0,0,0,21,20,17,17,0,0,21,20,0,0,0,0,19,19,0,19,20,15,16,0,0,20,18,17,0,20,21,17,18,0,21,0,18,18,0,0,0,19,19,0,20,20,17,18,0,0,0,18,19,0,20,20,18,17,0,0,0,0,20,0,0,21,17,18,0,20,21,17,17,0,0,0,18,18,0,19,19,17,17,0,0,0,21,21,0,20,20,17,17,0,0,0,21,19,0,0,0,20,19,0,21,20,17,18,0,0,0,0,0,0,0,20,18,17,0,21,20,18,18,0,0,0,20,21,0,20,20,17,17,0,0,0,0,0,0,20,0,17,17,0,11,11,13,14,0,13,13,16,16,0,13,13,16,16,0,17,17,0,0,0,17,18,0,0,0,13,13,16,16,0,15,16,18,18,0,13,13,16,17,0,16,17,20,0,0,17,18,20,0,0,13,13,17,17,0,16,16,20,21,0,13,13,16,16,0,17,17,21,0,0,17,18,0,0,0,17,18,0,21,0,0,0,0,0,0,15,15,20,0,0,19,19,0,0,0,17,17,0,0,0,18,17,21,20,0,0,0,0,0,0,16,16,20,21,0,21,20,0,21,0,19,21,0,0,0,15,15,0,0,0,16,17,0,19,0,16,16,0,0,0,17,17,0,0,0,19,18,0,0,0,16,16,20,20,0,20,18,21,0,0,15,15,21,21,0,18,18,0,0,0,18,19,0,0,0,16,15,0,21,0,20,19,0,0,0,16,16,0,0,0,20,18,0,21,0,17,18,21,0,0,18,19,0,0,0,0,0,0,0,0,16,16,20,20,0,19,20,0,0,0,17,17,0,0,0,18,17,20,21,0,0,0,0,0,0,16,16,0,20,0,20,22,0,0,0,18,18,0,22,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,8,8,10,12,12,11,11,9,11,11,12,13,11,12,12,11,11,11,12,12,12,12,10,13,12,13,13,11,12,12,13,13,11,12,12,13,13,11,12,13,13,13,11,13,13,13,13,10,13,13,12,13,11,12,12,14,14,11,13,12,12,12,11,12,12,13,13,11,13,13,12,12,11,13,13,13,13,11,12,12,13,13,11,13,13,12,12,11,12,12,13,13,11,13,13,12,12,11,13,13,13,13,11,12,12,14,14,11,13,13,12,12,11,12,12,13,13,11,13,13,12,12,11,10,10,10,10,12,10,10,11,11,11,8,8,11,11,13,10,10,10,10,12,10,10,10,10,13,11,11,11,11,13,10,10,11,11,13,11,11,12,12,13,11,11,11,11,13,11,11,12,12,13,11,11,12,12,13,10,10,11,11,13,11,11,11,11,13,11,10,11,11,13,11,11,11,11,13,11,11,11,11,13,10,10,11,11,13,11,11,11,11,12,10,11,11,11,13,11,11,11,11,13,11,11,11,11,13,10,10,11,11,13,11,11,11,11,13,11,11,11,11,13,11,11,11,11,11,10,10,10,10,12,10,10,9,9,12,12,12,11,11,13,12,12,9,9,13,12,12,10,10,12,12,12,12,12,13,13,13,14,14,13,12,12,11,11,13,13,13,12,12,13,12,12,11,11,13,12,13,11,11,13,13,13,14,14,13,12,12,10,10,13,13,13,11,11,13,12,12,10,10,13,13,13,11,11,13,13,13,14,14,13,12,12,10,10,13,13,13,11,11,13,12,13,10,10,13,13,13,11,11,13,13,13,14,14,13,12,12,10,10,13,13,13,11,11,13,13,12,10,10,14,12,12,8,8,14,12,12,9,9,14,11,11,9,9,14,12,12,8,8,14,11,11,7,7,14,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,12,12,9,9,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,14,12,12,9,9,14,13,13,9,9,14,13,13,9,9,15,12,12,9,9,15,13,13,9,9,14,12,12,9,9,14,13,13,9,9,14,13,13,9,9,15,12,12,9,9,14,13,13,9,9,14,12,12,9,9,14,13,13,9,9,13,12,12,8,8,13,13,13,8,8,14,13,13,9,9,13,13,13,7,7,14,13,13,8,8,14,14,14,10,10,14,14,14,11,11,14,14,14,9,9,14,14,14,10,10,14,14,14,9,9,14,14,14,10,9,15,14,14,11,11,14,14,14,9,9,14,14,14,10,10,14,14,14,9,9,14,14,14,9,9,15,14,14,11,11,14,14,14,8,8,14,14,14,9,9,14,14,14,8,8,14,14,14,9,9,15,14,14,11,11,14,14,14,8,8,14,14,14,9,9,14,14,14,8,8,12,12,12,13,13,16,15,15,11,11,16,15,16,12,12,17,16,16,11,11,17,15,15,12,11,16,16,16,12,13,16,15,15,13,13,16,16,16,12,12,16,16,15,13,13,16,16,16,12,12,16,16,16,13,13,17,16,16,14,14,17,17,16,12,12,17,16,16,13,13,17,17,16,12,13,16,16,17,13,12,17,16,16,14,13,17,16,16,12,12,17,16,16,12,12,17,16,17,12,12,17,17,17,13,13,16,16,16,13,14,17,17,16,12,12,16,16,16,13,13,17,17,17,12,12,13,14,14,10,10,16,14,14,12,12,16,15,15,14,14,16,14,14,12,12,15,14,14,13,13,17,15,15,14,13,16,16,15,15,15,16,15,15,14,14,16,15,15,14,14,17,15,15,14,14,16,15,15,14,14,16,16,15,15,15,17,15,15,13,13,16,15,15,14,14,17,15,15,13,13,17,15,15,14,14,16,15,15,15,15,16,14,14,13,13,16,15,15,14,14,16,14,14,13,13,17,15,15,14,14,16,16,15,15,15,17,14,14,13,13,16,15,15,14,14,17,14,14,13,13,13,11,11,10,10,16,14,14,13,13,15,14,14,13,13,16,14,14,12,12,16,14,14,12,12,15,15,15,14,14,16,14,14,14,14,16,15,14,14,14,16,14,14,14,14,16,15,15,14,13,16,15,15,14,14,16,14,14,14,14,17,15,15,14,14,16,14,14,14,14,16,15,15,13,14,16,15,15,14,14,16,14,14,14,14,16,15,15,13,13,16,14,14,13,13,16,15,15,13,13,16,15,15,14,14,16,14,14,14,14,17,15,15,13,13,16,15,14,13,13,17,15,15,13,13,14,14,14,9,9,14,14,14,17,17,14,15,15,18,18,14,14,14,18,19,14,14,14,18,18,15,15,15,19,18,15,16,15,18,20,15,15,15,18,19,15,15,15,19,19,15,15,15,18,20,15,15,15,18,19,15,15,16,20,18,15,15,15,18,18,15,15,15,19,19,15,15,15,18,19,15,15,15,18,19,15,15,15,19,19,14,15,14,19,19,15,15,15,20,19,15,14,14,19,18,14,15,15,18,19,15,15,16,20,20,14,14,14,18,19,15,15,15,19,18,14,14,14,18,18,14,12,12,9,9,13,14,14,18,18,14,13,13,18,19,14,14,14,18,18,14,14,14,18,18,15,15,15,19,19,15,14,14,19,18,14,15,15,19,18,15,14,14,18,18,15,15,15,19,18,14,15,15,19,19,15,14,14,19,18,14,15,15,19,18,15,14,14,19,18,14,15,15,19,18,15,15,15,21,18,15,14,14,19,18,14,15,15,18,19,14,15,14,20,19,14,15,15,18,19,14,15,15,19,19,15,14,14,19,20,14,15,15,18,18,14,14,14,19,19,14,15,15,19,18,12,12,12,13,13,16,15,15,11,11,16,15,15,12,12,16,16,16,11,11,16,15,15,11,11,16,16,16,13,13,17,16,16,13,13,17,17,17,12,12,16,16,16,13,13,17,16,17,13,12,15,16,16,12,12,16,15,15,13,13,17,16,16,12,12,16,16,15,12,12,16,16,16,12,12,17,17,16,13,12,16,16,16,13,13,17,16,16,12,12,17,16,16,12,12,17,17,16,12,12,16,17,16,12,12,17,15,15,13,13,17,16,16,12,12,16,16,16,12,12,16,16,16,12,12,13,13,13,9,9,15,14,14,13,13,16,15,14,14,14,16,14,14,13,13,15,14,14,13,13,17,15,15,14,14,16,15,15,15,15,16,15,15,14,14,16,15,15,15,15,17,15,15,14,14,16,15,15,14,14,16,15,15,15,15,17,14,15,14,14,16,15,15,14,14,17,15,15,13,14,17,15,15,14,14,16,15,15,15,15,17,14,14,13,13,16,15,15,14,14,17,14,14,13,13,17,15,15,14,14,16,15,16,15,15,17,14,14,13,13,16,15,15,14,14,18,14,14,13,13,13,11,11,11,11,15,14,14,12,12,15,14,14,13,13,16,14,14,12,12,16,13,14,12,12,16,15,15,13,13,16,14,14,14,14,16,15,15,13,13,16,14,14,13,13,16,14,15,13,13,15,15,15,13,13,16,14,14,14,13,16,14,14,13,13,16,14,14,13,13,16,15,15,13,13,16,15,15,13,13,16,14,14,14,14,16,15,15,12,12,16,14,14,13,13,16,15,15,12,12,16,15,15,13,13,16,14,14,14,14,17,15,14,12,12,16,14,14,13,13,16,15,15,12,12,14,14,14,8,8,14,14,14,17,18,14,15,15,17,18,14,14,14,17,18,14,14,14,18,18,14,15,15,18,18,14,16,15,19,19,15,15,15,18,19,15,16,15,20,19,15,15,15,18,18,14,15,15,18,19,15,16,16,20,19,15,15,15,19,17,14,15,15,20,18,14,15,15,18,18,14,15,15,18,19,14,15,15,19,20,14,14,14,18,18,14,15,15,18,19,14,14,14,18,19,14,15,15,19,18,15,16,16,20,21,14,14,15,19,19,14,15,15,19,19,14,14,14,19,18,13,12,12,9,9,13,14,14,18,19,14,14,14,18,19,14,14,14,18,18,14,14,14,18,18,14,15,15,19,19,15,14,14,19,18,15,15,15,19,19,15,14,14,19,20,14,15,15,18,19,14,15,15,20,18,15,14,14,18,18,14,15,15,18,18,14,14,14,19,19,14,15,15,18,18,14,15,15,19,18,15,14,14,19,19,14,15,15,19,18,15,14,14,19,18,14,14,15,18,19,14,15,15,19,18,15,14,14,18,19,14,15,14,19,20,14,14,14,19,19,14,15,15,19,19,12,12,12,13,13,16,16,16,11,11,16,16,16,12,12,17,16,16,11,11,17,15,15,11,11,16,16,16,13,13,17,15,16,13,13,16,16,16,12,12,17,16,16,13,13,17,17,16,12,12,17,17,16,13,13,17,16,16,13,13,17,17,17,12,12,17,16,16,13,13,17,17,17,12,12,16,16,16,12,12,17,15,15,13,13,17,16,16,11,11,17,16,16,12,12,16,16,16,11,11,16,17,16,12,12,17,16,16,13,13,17,17,16,12,12,17,17,16,12,12,17,16,16,11,11,13,14,14,9,9,16,14,14,13,13,16,14,15,14,14,16,14,14,12,12,16,14,14,13,13,17,15,15,14,14,16,15,15,15,15,17,15,15,14,14,16,15,15,14,14,17,15,15,14,14,16,15,15,14,14,16,15,15,15,16,17,14,15,14,14,16,15,15,14,14,17,15,15,14,14,16,15,15,14,14,16,15,15,15,15,17,14,14,13,13,16,15,15,14,14,16,14,14,13,13,17,15,15,14,14,16,16,15,15,15,17,14,14,13,13,16,15,15,14,14,17,14,14,13,13,13,11,11,10,10,16,14,14,12,12,15,13,13,13,12,16,14,14,11,11,16,14,14,11,11,16,14,15,13,14,16,14,14,13,13,16,15,15,13,13,16,14,14,13,13,16,15,15,13,13,16,15,15,13,13,17,14,14,14,14,17,15,15,13,13,16,14,15,13,13,16,15,15,13,13,16,15,15,13,13,16,14,14,13,13,17,15,15,12,12,16,14,14,12,12,16,15,15,12,12,16,15,15,13,13,16,14,14,13,13,17,15,15,12,12,17,14,14,12,12,16,15,15,12,12,13,14,14,8,8,13,14,14,18,18,13,15,15,17,18,14,14,14,18,19,14,14,14,19,18,14,15,15,19,18,15,15,16,21,18,15,15,15,19,19,14,16,16,19,19,14,15,15,18,19,14,15,15,19,20,14,16,16,19,18,15,15,15,18,19,14,15,15,19,18,15,15,15,18,18,15,15,15,20,18,15,16,16,20,19,14,15,14,18,19,14,15,16,19,20,14,15,15,19,18,15,15,15,19,18,15,16,16,20,19,15,14,14,18,18,14,15,15,19,19,14,15,15,18,18,13,12,12,8,8,13,14,14,19,18,14,13,13,20,18,14,14,14,19,18,14,13,13,18,19,14,15,15,20,19,15,14,14,19,19,14,15,15,19,18,15,14,14,20,20,15,15,15,19,18,14,15,15,19,18,15,14,14,19,18,14,15,15,20,19,14,14,14,20,19,14,15,15,19,18,15,15,15,18,18,15,14,14,18,18,14,15,15,19,19,14,14,14,19,19,14,15,15,19,19,15,15,15,19,18,15,14,14,20,19,15,15,15,19,19,14,14,14,20,19,14,15,15,20,20,12,12,12,13,13,17,16,16,11,11,16,16,15,12,12,17,16,16,11,11,17,15,15,11,11,17,17,17,13,13,17,16,16,13,13,17,17,17,12,12,17,16,16,13,13,17,17,16,12,13,16,17,16,13,13,17,16,15,13,13,17,16,16,12,12,17,16,16,12,13,17,16,17,12,12,17,17,17,12,12,17,16,15,13,13,17,16,16,12,12,17,16,16,12,12,17,16,16,11,11,16,16,16,12,12,17,15,15,13,13,17,16,15,11,11,16,16,16,12,12,17,16,16,11,11,13,14,14,9,9,16,14,14,13,13,16,14,15,14,14,16,14,14,12,12,16,14,14,13,13,17,15,15,14,15,16,15,15,15,15,17,15,15,14,14,16,15,15,15,14,16,15,15,14,14,16,15,15,14,14,16,15,16,15,15,17,15,14,14,14,16,15,15,14,14,17,15,15,13,13,16,15,15,14,14,16,16,16,15,15,17,14,14,13,13,16,15,15,14,14,18,14,15,13,13,16,15,15,14,14,16,16,15,15,15,16,14,14,13,13,16,15,15,14,14,17,14,15,13,13,13,11,11,10,10,15,14,14,12,12,15,14,14,13,13,16,14,14,12,12,16,13,14,12,12,16,14,15,14,13,16,14,14,14,14,16,15,15,13,13,16,14,14,13,13,16,15,15,13,13,15,15,15,13,13,16,14,14,14,14,17,15,15,13,13,16,14,14,13,13,16,15,15,13,13,16,15,15,13,13,16,14,14,13,13,17,15,15,12,12,16,14,14,12,12,16,14,15,12,12,16,15,15,13,13,16,14,14,13,13,17,15,15,12,12,16,14,14,12,12,16,15,15,12,12,14,14,14,8,8,14,14,14,17,17,14,15,15,18,18,14,14,14,18,17,14,14,14,18,18,14,15,15,18,20,15,16,15,19,18,15,15,15,19,18,15,15,16,19,18,15,15,15,18,18,14,15,15,18,18,15,16,16,18,19,15,15,15,18,18,15,15,15,19,20,15,15,15,18,18,15,15,15,18,18,15,16,16,19,19,15,14,15,19,19,15,15,15,19,20,14,14,15,18,18,15,15,15,19,19,15,16,16,19,19,15,15,14,18,19,15,15,15,20,20,15,15,14,18,18,13,12,12,8,8,13,14,14,18,18,14,14,14,18,18,14,14,14,18,20,14,14,14,18,18,14,15,15,19,18,15,14,14,18,19,15,15,15,18,19,15,14,14,18,19,15,15,15,18,18,14,15,14,18,19,15,14,14,21,19,15,15,15,19,18,14,14,14,19,18,14,15,15,19,18,15,15,15,20,19,15,14,14,20,18,14,15,15,18,19,14,14,14,19,18,14,15,15,18,19,15,15,15,18,19,15,14,14,19,19,15,15,15,19,19,14,14,14,19,20,14,15,15,18,19,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,7,8,8,7,8,8,7,9,9,10,12,11,9,8,8,7,9,9,11,12,12,9,9,9,6,7,7,10,11,11,10,11,11,10,11,11,13,13,14,12,12,12,11,11,11,14,14,14,12,12,12,6,5,5,9,6,5,9,6,6,9,7,7,12,10,10,11,6,6,10,7,7,13,10,10,12,7,7,7,8,8,12,10,10,12,10,10,11,10,10,15,13,13,13,9,9,12,11,11,16,13,13,15,11,11,8,7,7,12,12,12,12,11,11,12,11,11,14,14,14,14,12,12,12,12,12,16,15,15,14,12,12,0,10,10,0,12,12,0,12,12,0,11,11,0,14,14,0,11,11,0,12,12,0,15,15,0,11,11,8,8,8,13,11,11,13,10,10,13,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,9,7,7,13,11,11,13,11,11,12,11,11,16,14,14,14,12,12,13,12,12,15,14,14,15,13,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,13,12,0,14,15,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,0,9,9,0,9,9,0,10,10,0,9,9,0,10,10,0,10,10,0,9,9,0,10,10,0,7,7,0,7,7,0,6,6,0,8,8,0,7,7,0,8,8,0,8,9,0,8,8,0,8,8,0,7,7,0,9,9,0,8,8,0,10,10,0,9,9,0,10,10,0,10,10,0,9,9,0,10,10,0,9,9,0,11,11,0,11,11,0,12,12,0,11,11,0,12,12,0,13,13,0,12,12,0,13,12,0,8,8,0,12,12,0,12,12,0,13,13,0,12,12,0,13,13,0,13,13,0,13,13,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,11,11,0,12,12,0,13,13,0,12,12,0,13,13,0,13,13,0,12,12,0,12,12,0,8,8,0,12,12,0,12,12,0,13,13,0,13,13,0,13,14,0,14,13,0,13,13,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,0,7,7,0,8,8,0,9,9,0,12,12,0,8,8,0,9,9,0,12,12,0,8,8,0,6,6,0,11,11,0,12,12,0,12,12,0,15,15,0,11,11,0,12,12,0,15,15,0,12,12,0,5,5,0,5,5,0,6,6,0,7,7,0,11,11,0,6,6,0,7,7,0,10,11,0,6,6,0,7,7,0,11,11,0,12,12,0,11,11,0,15,15,0,10,10,0,12,12,0,15,15,0,12,12,0,6,6,0,12,12,0,12,12,0,12,12,0,15,15,0,11,11,0,12,12,0,15,15,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,11,12,0,15,16,0,11,11,0,6,6,0,11,12,0,12,12,0,12,12,0,16,15,0,12,12,0,13,12,0,15,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,3,7,8,10,13,16,3,2,5,7,9,13,16,6,4,4,6,10,14,15,7,5,5,7,10,13,14,9,8,9,9,9,11,13,12,11,12,9,7,8,11,14,12,10,6,5,7,10,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,248,239,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,206,7,0,0,0,0,0,0,0,0,0,144,206,7,0,184,206,7,0,0,0,0,0,0,0,0,0,224,206,7,0,8,207,7,0,0,0,0,0,0,0,0,0,48,207,7,0,88,207,7,0,0,0,0,0,0,0,0,0,128,207,7,0,168,207,7,0,88,207,7,0,0,0,0,0,208,207,7,0,136,203,7,0,176,203,7],"i8",N3,x.GLOBAL_BASE+500144),E3([2,0,0,0,49,0,0,0,48,206,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,40,206,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,203,7,0,56,203,7,0,0,0,0,0,0,0,0,0,96,203,7,0,136,203,7,0,176,203,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,64,205,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,240,205,7,0,0,0,0,0,2,0,0,0,25,0,0,0,8,205,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,40,205,7,0,0,0,0,0,2,0,0,0,9,0,0,0,232,204,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,248,204,7,0,0,0,0,0,1,0,0,0,25,0,0,0,96,204,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,128,204,7,0,0,0,0,0,1,0,0,0,25,0,0,0,216,203,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,248,203,7,0,0,0,0,0,3,5,4,5,4,5,4,5,5,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,7,7,4,5,6,7,7,4,6,5,7,7,7,6,7,6,7,7,7,6,7,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,3,3,8,8,10,10,10,10,10,10,10,10,5,7,5,9,8,10,10,10,10,11,10,11,10,5,5,7,8,9,10,10,11,10,10,11,10,11,10,10,10,11,11,11,11,11,11,11,10,11,11,10,10,10,10,11,11,11,11,11,10,11,11,11,11,11,11,11,11,12,11,10,11,11,11,11,11,11,11,11,11,11,11,11,10,10,11,11,12,11,11,11,11,11,11,12,11,11,11,10,11,11,11,11,11,11,11,11,10,11,11,10,11,10,11,11,11,11,11,11,11,11,11,11,12,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,11,10,11,11,11,11,11,11,11,12,11,13,11,11,11,11,11,11,11,11,11,11,11,12,11,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,2,3,6,7,9,13,17,3,2,5,7,9,13,17,6,5,5,6,9,12,16,7,7,6,6,7,10,13,10,10,9,7,6,10,13,13,13,12,10,10,11,15,17,17,17,14,14,15,17,0,0,0,0,0,0,0,5,0,0,0,243,0,0,0,240,238,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,232,239,7,0,0,0,0,0,5,0,0,0,243,0,0,0,232,237,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,224,238,7,0,0,0,0,0,5,0,0,0,243,0,0,0,224,236,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,216,237,7,0,0,0,0,0,5,0,0,0,243,0,0,0,216,235,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,208,236,7,0,0,0,0,0,5,0,0,0,53,12,0,0,136,223,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,235,7,0,0,0,0,0,5,0,0,0,53,12,0,0,56,211,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,112,223,7,0,0,0,0,0,1,0,0,0,7,0,0,0,16,211,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,24,211,7,0,0,0,0,0,5,0,0,0,243,0,0,0,8,210,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,0,211,7,0,0,0,0,0,5,0,0,0,243,0,0,0,0,209,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,248,209,7,0,0,0,0,0,5,0,0,0,243,0,0,0,248,207,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,240,208,7,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,7,6,8,8,7,7,8,7,8,8,9,9,9,8,7,7,8,8,8,9,9,9,9,8,8,6,6,6,9,7,7,9,7,7,9,8,8,10,8,8,10,8,8,10,8,8,10,9,8,10,8,8,7,6,6,9,6,6,9,6,6,9,7,7,10,8,8,10,6,6,9,7,7,10,8,8,10,6,6,7,7,7,11,9,9,11,9,9,10,9,9,12,10,10,12,8,8,11,9,9,13,9,10,12,8,8,8,7,7,11,9,10,11,10,10,10,9,9,11,11,11,11,9,9,11,10,9,12,11,11,11,9,10,10,8,8,11,9,10,11,9,9,11,9,9,12,10,10,11,9,9,11,9,9,12,10,11,11,9,9,8,8,8,12,9,9,12,9,9,11,9,9,13,9,9,13,8,8,12,9,9,13,10,10,12,8,8,9,7,7,11,10,10,11,10,10,11,10,10,12,11,11,11,10,9,11,10,10,11,11,11,11,9,9,11,9,9,12,10,10,11,10,10,12,10,10,11,11,11,11,9,9,11,10,10,12,11,11,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,7,7,6,8,8,7,8,8,7,9,9,11,11,11,9,8,8,7,9,9,11,12,11,9,9,9,6,7,7,10,11,11,10,10,10,10,11,11,15,14,14,12,12,12,11,11,11,14,14,14,12,12,12,5,6,6,8,5,5,8,7,7,8,8,8,12,10,10,10,7,7,8,7,7,12,10,10,10,7,7,6,7,7,12,11,11,12,10,10,11,10,10,14,14,13,13,10,10,11,10,10,16,14,14,14,11,10,7,7,7,13,12,12,12,12,11,11,11,11,15,14,17,13,12,12,12,11,11,15,15,15,14,13,13,10,9,9,14,12,11,13,11,11,12,11,11,16,15,14,14,11,11,12,11,11,17,14,14,15,11,11,7,8,8,12,11,11,13,10,10,11,10,10,17,14,13,14,10,10,12,10,10,18,15,15,14,10,10,8,7,7,13,12,12,13,11,11,12,11,11,16,14,15,14,12,12,12,11,11,18,16,16,14,12,12,11,10,10,13,12,11,13,11,11,13,12,12,0,15,14,14,11,11,13,11,11,16,15,15,15,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,1,7,7,14,14,6,8,8,15,16,7,8,8,16,15,0,14,14,17,17,0,14,14,16,16,7,9,9,16,16,10,11,11,17,18,9,8,8,16,16,0,14,14,19,19,0,14,14,17,16,8,9,9,16,16,12,12,12,17,17,10,9,9,16,16,0,15,14,18,20,0,14,14,17,17,0,15,15,18,17,0,21,0,0,21,0,13,13,17,17,0,17,17,0,0,0,15,15,17,17,0,15,15,17,18,0,0,0,0,21,0,13,13,17,17,0,18,18,0,21,0,16,15,17,18,6,7,7,14,14,9,10,10,16,16,11,10,10,15,15,0,21,0,20,21,0,0,0,18,20,10,10,10,15,16,12,13,13,18,18,12,11,11,15,15,0,0,0,20,20,0,0,21,19,19,12,11,11,15,15,15,14,14,18,18,13,11,11,15,16,0,0,0,20,19,0,0,0,20,21,0,0,20,19,19,0,0,0,0,0,0,20,0,17,18,0,0,21,0,0,0,0,0,21,0,0,21,0,20,19,0,0,0,0,0,0,21,0,18,18,0,0,0,21,0,0,0,0,0,20,7,6,6,13,13,9,6,6,12,12,9,7,7,14,14,0,10,10,12,12,0,11,11,15,15,9,7,7,14,14,12,9,9,14,14,10,7,7,14,13,0,11,11,16,15,0,11,11,14,14,9,7,7,14,14,13,10,10,14,14,11,7,7,14,13,0,11,11,16,16,0,11,11,14,14,0,12,12,16,16,0,19,0,17,18,0,10,10,14,14,0,15,14,0,0,0,12,12,14,14,0,12,12,15,15,0,20,0,18,19,0,10,10,14,14,0,16,15,0,20,0,13,13,14,14,0,11,11,13,13,0,12,13,16,16,0,12,12,16,16,0,16,16,0,21,0,17,18,0,0,0,12,12,16,16,0,15,15,18,0,0,12,12,16,16,0,17,16,21,21,0,16,17,0,0,0,13,13,17,16,0,16,16,20,21,0,12,12,17,16,0,17,17,0,21,0,17,17,21,21,0,17,18,0,0,0,0,0,0,0,0,15,15,0,0,0,18,21,0,0,0,18,19,0,0,0,18,17,21,21,0,0,0,0,0,0,16,16,0,0,0,0,0,0,0,0,19,19,0,0,0,11,11,12,12,0,11,11,10,10,0,12,12,13,13,0,12,12,9,9,0,14,14,13,13,0,12,12,13,13,0,14,14,12,13,0,11,11,12,12,0,13,13,13,13,0,13,13,13,13,0,12,12,13,13,0,14,14,12,12,0,11,11,12,12,0,14,13,14,14,0,13,13,13,13,0,15,15,14,15,0,0,0,16,16,0,12,12,13,13,0,16,17,20,21,0,14,13,12,12,0,14,14,14,14,0,21,0,16,16,0,12,12,13,13,0,18,17,21,0,0,14,14,13,13,7,8,8,17,17,11,10,10,18,18,12,10,10,17,17,0,15,15,20,18,0,15,15,17,17,11,9,9,17,17,14,12,12,19,19,13,9,9,16,16,0,15,14,0,19,0,14,14,16,16,12,10,10,20,18,16,13,13,21,20,14,10,10,17,17,0,15,15,21,20,0,15,14,17,17,0,15,15,21,21,0,0,21,0,0,0,13,13,18,18,0,19,16,0,0,0,15,15,17,16,0,16,16,0,21,0,0,0,0,21,0,13,14,18,17,0,20,19,0,0,0,15,15,18,18,8,7,7,15,15,12,11,11,17,16,13,11,11,16,16,0,0,0,21,20,0,0,0,0,20,11,10,10,17,17,14,13,13,19,18,14,11,11,16,16,0,20,0,21,19,0,0,21,0,20,12,11,11,17,17,16,15,15,0,19,14,11,11,17,16,0,21,0,0,19,0,0,0,21,20,0,0,21,20,0,0,0,0,0,0,0,0,0,19,21,0,0,0,0,0,0,0,0,19,20,0,0,0,20,21,0,0,0,0,0,0,20,0,19,21,0,0,0,0,0,0,0,0,21,20,11,10,9,15,15,14,11,11,15,15,14,11,11,16,16,0,14,14,14,14,0,16,15,17,16,13,11,11,16,16,16,13,13,16,16,15,10,10,15,15,0,14,15,17,17,0,14,14,16,15,13,11,11,16,16,17,15,14,16,16,15,10,10,15,15,0,15,15,17,18,0,15,15,16,16,0,16,16,17,17,0,21,0,21,20,0,13,13,15,15,0,18,18,0,21,0,15,15,15,15,0,16,16,17,17,0,0,0,0,18,0,13,13,15,15,0,19,18,0,0,0,15,15,16,16,0,12,12,15,15,0,13,13,17,17,0,13,13,17,18,0,16,17,21,0,0,20,18,0,0,0,13,13,17,17,0,15,15,0,18,0,12,12,17,18,0,16,16,0,0,0,17,17,21,0,0,13,13,18,18,0,16,16,21,21,0,12,12,17,18,0,16,17,21,0,0,17,17,0,21,0,17,18,0,0,0,0,0,0,0,0,16,15,0,21,0,21,19,0,0,0,18,18,0,0,0,18,19,0,0,0,0,0,0,0,0,16,16,21,21,0,20,19,0,0,0,19,21,0,21,0,12,12,15,15,0,12,12,15,16,0,13,13,16,16,0,14,14,15,15,0,16,15,17,17,0,13,13,17,17,0,15,15,16,18,0,12,12,16,16,0,14,14,17,17,0,15,14,16,16,0,13,13,16,16,0,16,15,17,17,0,12,12,16,16,0,15,15,18,18,0,14,14,17,16,0,16,16,17,18,0,0,0,20,21,0,13,13,16,17,0,17,17,0,0,0,15,15,16,16,0,15,16,17,17,0,0,0,19,0,0,13,13,15,16,0,19,18,0,0,0,16,15,16,17,8,8,8,17,17,13,11,10,17,18,13,10,10,17,17,0,15,15,20,19,0,15,15,17,17,12,10,10,19,18,15,12,12,20,18,14,10,10,17,16,0,15,15,20,20,0,14,15,16,16,13,10,10,17,17,17,14,14,0,18,15,10,10,17,17,0,16,15,20,20,0,14,14,17,17,0,15,16,20,20,0,0,21,0,0,0,13,13,17,17,0,18,17,0,0,0,15,16,17,18,0,15,15,18,21,0,0,0,21,0,0,13,13,18,18,0,19,19,0,0,0,16,16,18,17,9,8,8,15,15,12,11,11,16,16,13,11,11,16,15,0,0,0,0,21,0,21,0,19,19,12,11,11,17,18,15,13,13,18,19,14,11,11,16,16,0,0,21,21,19,0,0,0,21,20,13,11,11,18,17,17,14,15,20,21,15,11,12,16,16,0,0,0,20,0,0,0,21,0,19,0,0,0,0,19,0,0,0,0,0,0,21,21,19,19,0,0,0,21,0,0,0,0,19,21,0,0,0,19,20,0,0,0,21,0,0,0,21,19,19,0,0,0,0,0,0,0,0,21,20,0,11,11,15,15,0,12,12,15,16,0,12,12,16,16,0,15,15,16,15,0,16,16,17,17,0,12,12,17,17,0,14,14,17,17,0,11,11,16,16,0,15,15,19,18,0,15,15,16,16,0,12,12,17,16,0,14,15,16,16,0,11,11,15,15,0,16,16,18,19,0,15,15,15,16,0,17,17,18,20,0,21,0,21,19,0,14,14,16,16,0,18,18,0,0,0,16,16,15,15,0,16,16,18,17,0,0,0,19,20,0,14,14,16,16,0,19,19,0,0,0,16,17,15,15,0,12,12,14,15,0,13,13,16,17,0,12,12,17,17,0,17,16,0,0,0,18,17,21,0,0,13,13,19,17,0,15,15,20,21,0,12,12,17,17,0,17,17,0,0,0,17,17,0,0,0,13,13,17,18,0,16,16,21,0,0,12,12,17,17,0,17,17,0,0,0,17,17,0,0,0,18,21,0,0,0,0,0,0,0,0,15,15,21,0,0,20,21,0,0,0,18,19,0,0,0,18,17,0,0,0,0,0,0,0,0,16,16,21,0,0,21,21,0,0,0,18,19,0,0,0,12,12,16,16,0,13,13,16,17,0,13,13,17,16,0,14,14,16,16,0,16,15,19,18,0,13,13,17,17,0,15,15,18,18,0,12,12,16,16,0,15,15,18,19,0,15,15,17,16,0,13,13,17,17,0,16,16,18,17,0,12,12,17,16,0,15,15,18,18,0,15,15,17,17,0,16,16,0,19,0,0,0,0,0,0,14,14,16,17,0,18,18,0,0,0,15,15,17,17,0,16,16,21,19,0,21,0,21,21,0,13,14,16,16,0,19,19,0,0,0,15,16,16,16,0,11,11,17,16,0,15,14,19,18,0,14,14,19,19,0,18,17,18,20,0,17,17,18,19,0,13,13,17,17,0,16,17,21,18,0,13,13,17,16,0,18,17,19,0,0,16,17,18,18,0,12,12,19,18,0,18,18,20,20,0,13,13,17,17,0,17,17,21,0,0,16,17,17,18,0,18,17,19,18,0,0,0,0,0,0,14,14,17,17,0,19,19,21,0,0,16,16,16,17,0,17,17,19,20,0,0,0,0,21,0,15,15,17,18,0,21,21,0,0,0,17,17,17,18,0,10,10,15,15,0,15,14,17,18,0,14,14,16,16,0,0,0,18,0,0,21,0,19,0,0,13,13,17,16,0,17,17,18,0,0,14,14,16,15,0,0,0,21,0,0,21,0,19,18,0,13,13,17,17,0,18,18,20,20,0,15,15,16,16,0,0,0,21,21,0,0,0,20,20,0,0,0,19,0,0,0,0,0,0,0,21,20,18,18,0,0,0,0,0,0,0,0,0,20,0,0,0,0,20,0,0,0,0,0,0,0,0,19,18,0,0,0,0,21,0,0,0,18,20,0,18,19,16,17,0,21,19,17,17,0,0,21,18,18,0,0,21,20,19,0,0,0,20,20,0,0,21,17,17,0,0,0,19,19,0,20,20,17,17,0,0,0,0,20,0,0,20,18,18,0,21,20,17,17,0,0,0,20,21,0,19,0,17,17,0,0,21,0,0,0,20,0,18,19,0,0,0,21,21,0,0,0,0,21,0,20,20,17,17,0,0,0,0,0,0,21,0,18,17,0,0,0,20,19,0,0,0,0,21,0,20,20,17,17,0,0,0,0,0,0,21,21,18,18,0,12,12,15,14,0,14,14,17,17,0,14,14,17,16,0,18,18,21,0,0,19,20,0,0,0,13,13,18,17,0,16,16,19,18,0,13,13,17,17,0,17,17,0,0,0,17,17,21,0,0,13,13,17,17,0,17,17,21,20,0,13,13,18,17,0,18,19,21,21,0,19,18,0,0,0,18,17,0,0,0,0,0,0,0,0,15,16,0,0,0,21,21,0,0,0,20,18,21,0,0,17,18,0,0,0,0,0,0,0,0,15,16,0,0,0,0,20,0,0,0,0,19,0,0,0,15,15,18,19,0,18,17,21,0,0,16,18,0,20,0,17,18,21,0,0,18,20,0,0,0,16,16,21,21,0,19,20,21,0,0,16,15,0,21,0,18,20,0,0,0,18,19,0,0,0,16,15,21,21,0,21,0,0,0,0,16,15,21,0,0,20,19,0,0,0,18,21,21,0,0,20,18,0,0,0,0,0,0,0,0,16,16,0,20,0,21,0,0,0,0,17,18,20,21,0,18,18,21,21,0,0,0,0,0,0,16,16,20,0,0,0,21,0,0,0,21,18,0,0,0,12,12,20,17,0,15,15,19,18,0,14,14,19,18,0,18,17,21,19,0,17,17,21,17,0,13,13,21,19,0,16,17,20,19,0,13,13,16,16,0,17,17,20,21,0,16,16,19,17,0,13,13,18,18,0,17,19,19,19,0,13,13,17,17,0,18,18,0,19,0,16,17,18,18,0,16,17,19,21,0,0,0,0,0,0,15,15,16,17,0,20,19,21,0,0,17,17,17,17,0,17,17,21,19,0,0,0,0,0,0,15,15,17,17,0,21,0,0,0,0,18,18,17,17,0,10,10,15,15,0,15,15,17,17,0,15,14,16,16,0,0,0,21,19,0,21,21,19,21,0,13,13,17,16,0,17,17,18,19,0,14,15,16,15,0,0,0,21,19,0,21,21,18,19,0,14,14,16,17,0,18,18,18,19,0,15,15,15,16,0,0,21,0,21,0,0,0,19,20,0,0,0,21,19,0,0,0,0,0,0,21,21,19,17,0,0,0,0,0,0,0,0,21,21,0,21,0,0,21,0,0,0,0,0,0,21,21,19,18,0,0,0,0,0,0,0,0,0,19,0,21,18,18,17,0,21,0,20,20,0,0,0,18,20,0,0,21,18,21,0,0,0,21,18,0,0,0,0,19,0,0,0,21,21,0,20,21,17,19,0,21,0,21,0,0,21,0,18,18,0,20,21,17,18,0,0,0,21,19,0,20,21,17,18,0,0,0,21,21,0,0,0,20,19,0,0,0,21,21,0,0,0,0,0,0,21,21,19,18,0,0,0,0,0,0,0,21,19,18,0,21,21,19,0,0,0,0,21,0,0,21,21,18,17,0,0,0,0,0,0,21,0,21,18,0,12,12,14,14,0,15,14,17,17,0,14,14,17,16,0,19,17,0,0,0,19,19,0,0,0,13,13,17,17,0,17,17,20,20,0,13,13,18,18,0,18,17,0,0,0,18,21,0,0,0,13,13,17,17,0,18,18,21,20,0,14,14,18,19,0,19,18,21,0,0,19,19,0,0,0,20,18,20,0,0,0,0,0,0,0,15,16,0,0,0,21,21,0,0,0,19,19,0,0,0,18,18,0,0,0,0,0,0,0,0,16,16,0,21,0,0,0,0,0,0,19,20,0,0,0,15,15,20,21,0,17,17,21,21,0,17,17,0,0,0,19,18,0,0,0,18,19,0,0,0,17,16,0,21,0,0,20,0,0,0,16,16,0,20,0,19,19,0,21,0,19,18,0,21,0,16,16,0,0,0,21,21,0,0,0,16,16,0,0,0,21,21,0,0,0,19,19,0,0,0,20,0,0,0,0,0,0,0,0,0,17,17,0,21,0,0,20,0,0,0,20,18,21,21,0,19,18,0,20,0,0,0,0,0,0,16,17,21,0,0,0,21,0,0,0,19,20,21,20,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,3,4,9,9,10,12,12,12,11,10,12,12,13,12,11,13,12,11,11,11,12,12,12,11,11,13,13,13,13,11,12,12,14,14,12,13,13,13,13,11,13,13,13,13,11,13,13,13,13,11,13,13,13,13,11,12,12,14,14,12,13,13,12,12,11,13,13,13,13,11,13,13,12,12,11,13,13,13,13,12,12,13,14,14,12,13,13,12,12,11,13,13,13,13,11,13,13,12,12,11,13,13,13,13,12,13,13,14,14,12,13,13,12,12,11,13,13,13,13,11,13,13,12,12,11,10,10,10,10,12,10,10,11,11,12,9,9,11,11,13,11,11,10,10,13,10,10,10,10,13,11,11,12,12,13,10,10,12,12,14,12,11,12,12,13,11,11,11,12,13,12,12,12,12,13,11,11,12,12,13,10,10,12,12,14,11,11,12,12,13,11,11,12,12,13,11,11,12,12,14,12,12,12,12,14,10,10,11,11,14,12,11,11,11,13,11,11,11,11,13,12,12,11,11,14,12,12,12,11,14,10,10,11,11,14,12,11,11,11,13,11,11,11,11,13,12,12,11,11,11,11,11,10,10,12,10,11,9,9,12,12,12,11,11,13,12,12,9,9,13,13,13,10,10,13,13,13,12,12,13,13,13,14,14,13,12,12,11,11,14,13,13,12,12,14,13,13,11,11,13,13,13,12,11,13,13,13,14,14,13,12,12,10,10,14,13,13,11,11,13,13,13,10,10,13,13,13,11,11,14,13,13,14,14,14,12,12,10,10,13,13,13,11,11,13,13,13,10,10,13,13,13,11,11,14,13,13,14,14,14,13,13,10,10,13,13,13,11,11,13,13,13,10,10,14,12,12,8,8,14,12,12,9,9,14,11,11,9,9,14,12,12,8,8,14,12,12,7,7,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,12,13,9,9,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,13,13,9,9,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,9,9,14,13,12,9,9,14,13,13,9,9,15,13,13,10,10,15,12,12,10,10,15,13,13,9,9,15,13,13,9,9,14,13,13,9,9,14,12,12,8,8,13,13,13,8,8,14,14,13,9,9,14,14,13,7,7,14,14,14,8,8,14,14,14,10,10,15,14,14,12,12,14,14,14,9,9,15,14,14,10,10,14,14,14,9,9,14,14,14,10,9,15,14,14,12,12,14,14,14,9,9,15,14,14,10,10,14,14,14,9,9,15,14,15,9,9,15,14,14,11,11,14,14,14,8,8,14,14,14,9,9,14,14,14,8,8,14,15,14,10,10,15,14,14,11,11,14,14,14,8,8,15,14,14,9,9,14,14,14,8,8,12,12,12,13,13,16,16,15,12,12,17,16,16,13,13,17,16,16,11,11,17,16,16,12,12,17,16,17,13,13,17,16,16,14,14,17,17,16,12,12,18,16,16,13,13,17,16,17,12,12,17,17,17,13,13,18,16,16,14,14,18,17,17,12,12,17,17,17,13,13,18,17,17,13,13,17,17,17,13,13,17,16,16,14,14,17,17,17,12,12,16,16,17,13,13,17,17,16,12,12,18,17,17,13,13,18,16,16,14,14,18,17,17,12,12,19,16,17,13,13,17,16,17,12,12,13,14,14,10,10,16,14,14,13,13,17,15,15,14,14,17,14,14,13,13,16,14,14,13,13,17,16,15,14,14,16,16,16,15,15,17,15,15,14,14,17,15,15,14,14,17,15,15,14,14,17,16,15,14,14,16,16,16,15,15,18,15,15,13,13,16,16,15,14,14,17,15,15,14,13,17,15,15,14,14,16,16,16,15,15,18,15,14,13,13,17,15,15,14,14,18,14,15,13,13,18,15,15,14,14,16,16,16,15,15,17,15,15,13,13,17,15,15,14,14,17,15,15,13,13,13,11,11,10,10,16,14,14,13,13,17,14,15,14,14,17,15,15,12,12,17,14,14,12,12,16,15,15,14,14,16,14,14,14,14,16,15,15,14,14,16,15,15,14,14,16,15,15,14,14,16,15,15,14,14,16,15,14,15,15,17,15,15,14,14,17,15,15,14,14,17,15,15,14,14,17,15,16,14,14,16,14,14,14,14,17,15,15,13,13,17,15,15,13,13,16,15,15,13,13,17,16,16,14,14,17,15,14,15,14,17,15,15,13,13,17,15,15,13,13,17,15,15,13,13,14,14,14,9,9,14,14,14,18,19,14,15,15,19,18,14,14,14,19,19,15,14,14,19,19,15,16,16,19,19,15,16,16,19,19,15,15,15,19,19,15,16,16,19,20,15,15,15,19,19,15,15,15,19,19,15,16,16,20,20,15,15,15,18,19,15,15,16,19,20,15,15,15,19,18,15,15,15,18,18,15,16,16,21,20,15,15,15,19,19,15,15,15,19,19,15,15,14,19,20,15,15,15,20,19,15,16,16,19,20,15,15,15,19,19,15,15,15,20,21,15,14,15,19,19,14,12,12,9,9,14,14,15,21,19,14,14,14,18,19,14,15,15,19,20,14,14,14,19,19,15,15,15,19,20,15,15,14,21,19,15,15,15,20,19,15,14,15,20,21,15,15,15,18,18,15,15,15,20,21,16,14,14,18,19,15,15,15,20,19,15,15,15,18,21,15,15,15,19,19,15,15,15,19,20,16,15,14,20,19,15,16,15,19,19,15,15,15,19,0,14,15,15,19,19,15,15,15,19,19,15,15,14,20,19,15,15,15,20,19,15,15,15,19,19,15,15,15,20,19,12,12,12,13,13,16,15,16,11,11,16,16,16,12,12,17,16,16,11,11,17,16,16,12,11,17,17,17,13,13,18,16,16,14,14,18,18,17,13,13,17,16,16,13,13,17,17,17,13,13,17,16,17,12,12,17,15,16,13,13,17,16,17,12,12,17,16,16,13,12,17,16,16,12,12,18,17,17,13,13,18,16,16,13,14,18,17,17,12,12,17,16,16,12,12,17,17,17,12,12,18,17,17,13,13,17,16,16,14,14,17,17,17,12,12,17,16,16,12,12,18,17,17,12,12,13,14,14,9,9,16,14,14,13,13,16,15,15,14,14,16,14,14,13,13,16,14,14,13,13,17,16,15,15,15,16,15,16,16,15,17,15,15,14,14,17,15,15,15,15,17,15,15,14,14,17,15,15,14,14,16,15,16,16,16,17,15,15,14,14,16,15,15,14,15,16,15,15,14,14,17,15,15,15,15,16,16,16,15,16,18,15,14,13,14,17,15,15,14,14,17,14,14,13,13,17,15,15,14,14,16,15,15,15,15,17,15,14,14,14,17,15,15,14,14,17,14,14,13,13,13,11,11,11,11,16,14,14,12,12,16,14,14,13,13,16,14,14,12,12,16,14,14,12,12,16,15,15,13,13,17,14,14,14,14,17,15,15,13,13,16,15,15,14,13,16,15,15,13,13,16,15,15,13,13,16,14,14,14,14,16,15,15,13,13,16,14,15,13,13,17,15,15,13,13,17,15,15,13,13,16,14,14,14,14,17,15,15,12,12,17,14,15,13,13,17,15,15,12,12,16,15,15,13,13,17,14,14,14,14,17,15,15,12,12,17,15,15,13,13,16,15,15,12,12,14,15,15,8,8,14,14,14,19,18,14,15,15,19,20,14,14,14,19,19,14,14,15,19,20,15,16,15,19,21,15,16,16,21,19,15,15,15,20,19,15,16,16,19,20,15,15,15,19,18,15,16,15,20,19,15,16,16,19,20,15,15,15,19,19,15,16,15,20,20,14,15,15,19,19,15,15,15,21,19,15,17,16,19,20,15,14,15,0,21,15,15,15,19,20,14,14,14,19,19,15,15,15,20,19,15,16,16,19,19,15,15,15,19,18,15,15,15,20,19,14,14,15,18,18,14,12,12,9,9,14,14,14,18,18,14,14,14,18,18,14,15,14,19,18,14,14,14,19,18,15,15,15,19,20,15,14,14,18,18,15,15,15,20,19,15,15,15,18,20,15,15,15,19,18,15,15,15,19,19,15,14,14,19,21,15,15,15,20,20,15,15,15,18,19,14,15,15,19,20,15,15,15,20,19,15,14,14,19,21,15,15,15,18,19,15,14,15,20,19,14,15,15,21,21,14,15,15,19,20,15,14,14,19,20,15,15,15,19,20,15,15,14,20,20,14,15,15,20,19,13,12,12,13,13,17,16,16,11,11,17,16,16,12,12,18,17,16,11,11,18,16,16,11,11,17,17,17,13,13,18,16,16,13,13,18,17,17,12,12,18,16,16,13,13,18,17,17,12,12,18,17,17,13,13,18,16,16,14,14,18,16,17,12,12,18,17,17,13,13,17,17,17,12,12,17,17,17,12,12,17,16,15,13,13,18,16,16,11,11,17,16,16,12,12,17,16,17,11,11,18,17,17,13,12,17,16,16,13,13,17,17,17,12,12,17,16,17,12,12,18,17,17,11,11,14,14,14,9,9,16,14,14,13,13,17,15,15,14,14,17,14,14,13,13,16,14,14,13,13,17,15,15,14,14,16,16,16,16,15,18,15,15,14,14,17,16,15,15,15,17,15,15,14,14,17,15,15,14,15,16,16,16,15,16,18,15,15,14,14,17,15,15,14,15,17,15,15,14,14,17,15,15,14,14,16,16,16,15,16,17,14,14,13,13,17,15,15,14,14,18,15,15,13,13,17,15,15,14,14,16,16,16,15,15,17,14,14,13,13,17,15,15,14,14,17,14,14,13,13,13,11,11,11,11,16,14,14,12,12,16,14,14,12,13,17,15,14,11,11,17,14,14,11,11,17,15,15,13,14,17,14,14,14,14,17,15,15,13,13,17,14,14,13,13,17,15,15,13,13,17,15,15,13,13,17,14,14,14,14,17,15,15,13,13,18,14,15,13,13,17,15,15,13,13,16,15,15,13,13,17,14,14,13,13,17,15,15,12,12,16,14,14,12,12,16,15,15,12,12,17,16,15,13,13,17,14,14,13,13,17,15,15,12,12,16,15,15,12,12,16,15,15,12,12,13,15,15,8,8,14,14,14,18,19,14,15,15,19,20,14,14,14,18,18,14,15,15,18,18,15,16,16,19,19,15,16,17,20,20,15,15,15,19,19,15,16,16,18,20,15,15,15,19,19,15,15,16,18,18,15,17,16,19,19,15,15,15,18,21,15,16,16,21,20,15,15,15,19,21,15,16,15,20,19,15,16,17,20,20,15,15,15,19,19,15,16,16,21,20,15,15,15,19,20,15,15,15,19,19,15,16,16,20,19,15,15,15,19,19,15,16,15,20,21,15,15,15,21,19,14,12,12,8,8,14,14,14,20,18,14,13,13,19,19,14,14,14,19,18,15,14,14,19,20,14,15,15,20,20,15,14,14,21,20,15,15,15,20,20,15,15,14,21,19,15,15,15,19,19,15,15,15,19,20,15,14,14,20,20,15,15,15,19,20,15,14,14,19,20,15,15,15,20,20,15,15,15,20,19,15,14,14,20,21,15,15,15,20,21,15,14,14,20,0,15,16,15,20,21,15,15,15,19,20,15,14,14,19,19,15,15,15,19,20,15,15,15,19,19,15,15,15,18,20,13,12,12,13,13,18,16,17,12,12,17,16,16,12,12,17,17,16,11,11,18,16,16,11,11,17,17,18,13,13,18,16,16,14,14,18,17,17,13,13,18,16,16,13,13,18,17,17,12,12,17,17,16,13,13,17,16,16,13,14,18,17,17,12,12,18,16,16,12,13,17,16,17,12,12,17,18,17,13,13,18,16,16,13,13,18,17,17,12,12,17,16,16,12,12,17,17,17,11,11,17,16,17,12,12,17,16,16,13,13,17,16,16,11,11,17,16,16,12,12,18,16,17,11,11,14,14,14,9,9,16,14,15,13,13,17,15,15,14,14,17,14,14,12,12,16,14,14,13,13,18,15,15,15,15,17,15,16,15,16,18,15,15,14,14,17,15,16,15,15,17,15,15,14,14,18,15,15,14,14,16,16,16,16,15,17,15,15,14,14,16,15,15,14,14,17,15,15,14,14,17,15,15,14,14,17,16,16,15,15,17,15,14,13,13,17,15,15,14,14,17,15,15,13,13,17,15,15,14,14,16,16,16,15,15,18,15,14,14,14,17,15,15,14,14,18,15,15,13,13,13,12,12,11,11,16,14,14,12,12,16,14,14,13,13,17,15,15,12,12,17,14,14,12,12,17,15,15,14,14,17,14,14,14,14,17,15,15,13,13,17,15,14,13,13,17,15,15,13,13,17,15,15,13,13,16,14,14,14,14,17,15,15,13,13,16,14,14,13,13,16,15,15,13,13,17,15,16,13,13,17,14,14,14,13,17,15,15,12,12,16,15,14,12,12,17,15,15,12,12,16,15,16,13,13,16,14,14,14,13,17,15,15,12,12,16,14,14,12,12,17,15,15,12,12,14,15,15,8,8,14,14,14,18,18,14,15,15,19,18,14,14,14,18,18,14,15,15,19,20,15,16,15,21,18,15,16,16,18,0,15,15,15,19,20,15,16,16,20,0,15,16,15,19,18,15,15,15,19,19,15,16,16,21,19,15,15,15,19,19,15,16,16,20,20,15,15,15,19,19,15,15,15,19,18,15,16,16,20,20,15,14,15,20,19,15,15,15,19,20,15,15,15,19,19,15,16,15,19,20,15,16,16,19,20,15,15,15,19,19,15,16,15,20,20,15,15,15,20,18,13,12,12,8,8,14,14,14,19,20,14,14,14,19,19,14,15,15,20,20,14,14,14,18,19,15,15,15,20,0,15,14,14,18,20,15,15,15,19,19,15,15,15,21,19,15,15,15,19,20,15,15,15,20,21,15,14,14,20,19,15,15,15,20,19,15,15,14,21,19,15,15,15,19,18,15,15,15,20,19,15,14,14,19,19,15,15,16,20,19,15,15,15,20,0,15,15,15,19,21,15,15,15,22,20,15,14,14,22,19,15,15,15,19,20,15,14,14,20,19,14,15,15,19,21,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,6,8,8,6,8,8,7,9,9,10,11,11,8,8,8,7,9,9,11,12,12,9,9,9,6,7,7,10,11,11,10,11,11,10,11,11,13,13,13,12,12,12,10,12,11,14,14,14,12,12,12,6,5,5,9,6,6,9,6,6,9,7,7,12,10,10,11,7,6,9,7,7,13,11,11,12,7,7,7,8,8,12,10,10,12,10,10,11,10,10,15,13,13,13,9,9,12,11,11,15,14,14,15,11,11,8,7,7,12,11,11,12,11,11,11,11,11,14,13,14,14,12,12,12,11,11,16,15,15,14,12,12,0,10,10,0,12,12,0,12,12,0,11,11,0,14,14,0,11,11,0,11,11,0,15,15,0,11,11,7,8,8,13,11,11,12,10,10,12,11,11,15,13,13,14,11,11,12,10,10,16,14,14,15,10,10,9,7,7,13,11,12,13,12,11,12,11,11,15,14,14,14,12,12,13,12,12,16,15,15,15,12,12,0,11,11,0,12,12,0,12,13,0,12,12,0,15,15,0,12,12,0,12,12,0,16,15,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,0,9,9,0,9,9,0,10,10,0,9,9,0,10,10,0,10,10,0,10,10,0,10,10,0,7,7,0,7,7,0,6,6,0,8,8,0,7,7,0,8,8,0,8,8,0,7,7,0,8,8,0,7,7,0,9,9,0,8,9,0,10,10,0,9,9,0,10,10,0,10,11,0,9,9,0,10,10,0,9,9,0,11,11,0,12,12,0,12,12,0,11,11,0,12,12,0,13,13,0,12,12,0,13,13,0,8,8,0,12,12,0,12,12,0,13,13,0,13,13,0,13,13,0,13,13,0,13,13,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,11,11,0,12,12,0,13,13,0,12,12,0,13,13,0,13,13,0,12,12,0,12,12,0,9,9,0,12,12,0,13,13,0,14,14,0,13,13,0,14,14,0,14,14,0,13,13,0,14,14,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,0,7,7,0,8,8,0,9,9,0,12,12,0,8,8,0,9,9,0,13,13,0,8,8,0,6,6,0,11,11,0,12,12,0,12,12,0,14,14,0,11,12,0,12,12,0,15,15,0,12,12,0,5,5,0,5,5,0,6,6,0,7,7,0,10,10,0,6,6,0,7,7,0,11,11,0,6,6,0,7,7,0,11,11,0,12,11,0,11,11,0,14,14,0,10,10,0,12,12,0,15,15,0,12,12,0,6,6,0,12,12,0,12,12,0,12,12,0,14,14,0,11,11,0,12,12,0,16,16,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,11,11,0,16,16,0,11,11,0,6,6,0,12,12,0,12,12,0,13,13,0,15,15,0,12,12,0,13,13,0,15,15,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,3,7,9,12,16,16,3,2,5,7,11,14,15,7,4,5,6,9,12,15,8,5,5,5,8,10,14,9,7,6,6,8,10,12,12,10,10,7,6,8,10,15,12,10,6,4,7,9,0,0,0,0,0,0,0,0,0,0,0,0,249,213,64,0,0,0,0,0,64,223,64,0,0,0,0,0,136,227,64,0,0,0,0,0,112,231,64,0,0,0,0,0,88,235,64,0,0,0,0,0,64,239,64,0,0,0,0,0,136,243,64,0,0,0,0,0,112,247,64,0,0,0,0,0,88,251,64,0,0,0,0,0,64,255,64,0,0,0,0,0,136,3,65,0,0,0,0,136,132,14,65,176,240,7,0,48,241,7,0,48,242,7,0,48,244,7,0,48,248,7,0,48,0,8,0,48,16,8,0,48,48,8,0,24,0,120,58,76,70,11,60,242,204,192,60,116,252,59,61,86,73,154,61,241,93,228,61,248,163,29,62,180,231,78,62,54,157,130,62,78,220,159,62,193,174,190,62,65,132,222,62,173,194,254,62,186,101,15,63,248,0,31,63,29,233,45,63,249,219,59,63,45,162,72,63,160,17,84,63,38,15,94,63,46,143,102,63,112,149,109,63,174,51,115,63,159,135,119,63,66,184,122,63,196,242,124,63,75,103,126,63,196,69,127,63,241,186,127,63,217,237,127,63,162,253,127,63,248,255,127,63,168,9,120,57,17,119,11,59,135,139,193,59,74,113,61,60,148,82,156,60,94,8,233,60,42,83,34,61,74,118,87,61,138,227,137,61,7,140,171,61,34,154,208,61,108,239,248,61,164,52,18,62,100,112,41,62,65,21,66,62,67,11,92,62,47,56,119,62,197,191,137,62,92,97,152,62,135,112,167,62,4,220,182,62,188,145,198,62,231,126,214,62,48,144,230,62,227,177,246,62,13,104,3,63,121,107,11,63,98,89,19,63,42,40,27,63,137,206,34,63,166,67,42,63,49,127,49,63,126,121,56,63,153,43,63,63,92,143,69,63,127,159,75,63,165,87,81,63,104,180,86,63,89,179,91,63,8,83,96,63,252,146,100,63,177,115,104,63,138,246,107,63,198,29,111,63,109,236,113,63,62,102,116,63,154,143,118,63,104,109,120,63,3,5,122,63,26,92,123,63,153,120,124,63,143,96,125,63],"i8",N3,x.GLOBAL_BASE+510456),E3([17,26,126,63,39,171,126,63,176,25,127,63,74,107,127,63,68,165,127,63,132,204,127,63,123,229,127,63,17,244,127,63,158,251,127,63,219,254,127,63,218,255,127,63,0,0,128,63,5,12,120,56,50,131,11,58,118,186,193,58,226,203,61,59,38,207,156,59,139,32,234,59,245,102,35,60,63,100,89,60,184,127,139,60,59,23,174,60,239,114,212,60,96,140,254,60,45,46,22,61,114,237,46,61,155,127,73,61,220,223,101,61,123,4,130,61,159,250,145,61,71,207,162,61,38,127,180,61,173,6,199,61,16,98,218,61,63,141,238,61,244,193,1,62,185,160,12,62,128,224,23,62,182,126,35,62,166,120,47,62,116,203,59,62,34,116,72,62,141,111,85,62,107,186,98,62,83,81,112,62,180,48,126,62,110,42,134,62,252,92,141,62,9,174,148,62,138,27,156,62,100,163,163,62,112,67,171,62,119,249,178,62,54,195,186,62,93,158,194,62,147,136,202,62,118,127,210,62,154,128,218,62,142,137,226,62,217,151,234,62,2,169,242,62,139,186,250,62,251,100,1,63,99,106,5,63,65,108,9,63,89,105,13,63,116,96,17,63,94,80,21,63,231,55,25,63,231,21,29,63,58,233,32,63,197,176,36,63,116,107,40,63,62,24,44,63,35,182,47,63,43,68,51,63,109,193,54,63,10,45,58,63,48,134,61,63,26,204,64,63,17,254,67,63,107,27,71,63,142,35,74,63,238,21,77,63,15,242,79,63,132,183,82,63,239,101,85,63,3,253,87,63,129,124,90,63,60,228,92,63,21,52,95,63,254,107,97,63,246,139,99,63,14,148,101,63,98,132,103,63,33,93,105,63,133,30,107,63,213,200,108,63,103,92,110,63,155,217,111,63,224,64,113,63,172,146,114,63,131,207,115,63,241,247,116,63,139,12,118,63,239,13,119,63,193,252,119,63,172,217,120,63,99,165,121,63,155,96,122,63,15,12,123,63,124,168,123,63,163,54,124,63,71,183,124,63,41,43,125,63,13,147,125,63,183,239,125,63,229,65,126,63,89,138,126,63,205,201,126,63,251,0,127,63,150,48,127,63,78,89,127,63,205,123,127,63,182,152,127,63,167,176,127,63,53,196,127,63,239,211,127,63,91,224,127,63,245,233,127,63,51,241,127,63,127,246,127,63,59,250,127,63,190,252,127,63,84,254,127,63,64,255,127,63,186,255,127,63,238,255,127,63,254,255,127,63,0,0,128,63,169,12,120,55,54,134,11,57,38,198,193,57,94,226,61,58,234,237,156,58,85,101,234,58,56,170,35,59,207,219,89,59,169,226,139,59,42,178,174,59,13,91,213,59,204,219,255,59,91,25,23,60,250,46,48,60,194,45,75,60,156,20,104,60,46,113,131,60,225,202,147,60,185,22,165,60,1,84,183,60,245,129,202,60,198,159,222,60,155,172,243,60,199,211,4,61,213,71,16,61,250,49,28,61,174,145,40,61,101,102,53,61,141,175,66,61,140,108,80,61,193,156,94,61,133,63,109,61,41,84,124,61,252,236,133,61,26,232,141,61,13,27,150,61,110,133,158,61,212,38,167,61,210,254,175,61,245,12,185,61,200,80,194,61,209,201,203,61,146,119,213,61,139,89,223,61,51,111,233,61,2,184,243,61,105,51,254,61,106,112,4,62,214,223,9,62,171,103,15,62,153,7,21,62,77,191,26,62,116,142,32,62,181,116,38,62,184,113,44,62,34,133,50,62,149,174,56,62,178,237,62,62,21,66,69,62,92,171,75,62,30,41,82,62,243,186,88,62,112,96,95,62,40,25,102,62,170,228,108,62,132,194,115,62,68,178,122,62,185,217,128,62,203,98,132,62,26,244,135,62,105,141,139,62,120,46,143,62,6,215,146,62,211,134,150,62,156,61,154,62,29,251,157,62,19,191,161,62,57,137,165,62,71,89,169,62,249,46,173,62,5,10,177,62,36,234,180,62,13,207,184,62,117,184,188,62,18,166,192,62,153,151,196,62,190,140,200,62,52,133,204,62,175,128,208,62,225,126,212,62,125,127,216,62,52,130,220,62,184,134,224,62,185,140,228,62,233,147,232,62,248,155,236,62,150,164,240,62,117,173,244,62,67,182,248,62,178,190,252,62,57,99,0,63,153,102,2,63,82,105,4,63,60,107,6,63,48,108,8,63,6,108,10,63,151,106,12,63,188,103,14,63,78,99,16,63,39,93,18,63,33,85,20,63,21,75,22,63,222,62,24,63,87,48,26,63,92,31,28,63,199,11,30,63,117,245,31,63,66,220,33,63,12,192,35,63,176,160,37,63,12,126,39,63,254,87,41,63,104,46,43,63,39,1,45,63,29,208,46,63,43,155,48,63,51,98,50,63,23,37,52,63,188,227,53,63,4,158,55,63,214,83,57,63,23,5,59,63,173,177,60,63,128,89,62,63,120,252,63,63,126,154,65,63,124,51,67,63,93,199,68,63,12,86,70,63,119,223,71,63,138,99,73,63,54,226,74,63,104,91,76,63,17,207,77,63,35,61,79,63,145,165,80,63,76,8,82,63,75,101,83,63,130,188,84,63,231,13,86,63,114,89,87,63,26,159,88,63,218,222,89,63,172,24,91,63,138,76,92,63,113,122,93,63,93,162,94,63,78,196,95,63,67,224,96,63,58,246,97,63,54,6,99,63,56,16,100,63,67,20,101,63,92,18,102,63,133,10,103,63,198,252,103,63,37,233,104,63,168,207,105,63,89,176,106,63,64,139,107,63,102,96,108,63,216,47,109,63,159,249,109,63,201,189,110,63,97,124,111,63,118,53,112,63,23,233,112,63,81,151,113,63,53,64,114,63,212,227,114,63,61,130,115,63,131,27,116,63,184,175,116,63,238,62,117,63,56,201,117,63,171,78,118,63,90,207,118,63,90,75,119,63,192,194,119,63,162,53,120,63,21,164,120,63,48,14,121,63,8,116,121,63,182,213,121,63,79,51,122,63,235,140,122,63,162,226,122,63,139,52,123,63,191,130,123,63,85,205,123,63,102,20,124,63,9,88,124,63,88,152,124,63,106,213,124,63,88,15,125,63,58,70,125,63,41,122,125,63,62,171,125,63,143,217,125,63,54,5,126,63,75,46,126,63,228,84,126,63,27,121,126,63,7,155,126,63,190,186,126,63,88,216,126,63,236,243,126,63,144,13,127,63,91,37,127,63,99,59,127,63,188,79,127,63,125,98,127,63,185,115,127,63,135,131,127,63,249,145,127,63,36,159,127,63,26,171,127,63,238,181,127,63,179,191,127,63,122,200,127,63,85,208,127,63,84,215,127,63,136,221,127,63,0,227,127,63,204,231,127,63,249,235,127,63,150,239,127,63,177,242,127,63,85,245,127,63,144,247,127,63,109,249,127,63,246,250,127,63,54,252,127,63,55,253,127,63,1,254,127,63,156,254,127,63,18,255,127,63,103,255,127,63,163,255,127,63,204,255,127,63,229,255,127,63,244,255,127,63,252,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,60,12,120,54,253,134,11,56,19,201,193,56,248,231,61,57,148,245,156,57,115,118,234,57,238,186,35,58,113,249,89,58,32,251,139,58,96,216,174,58,34,148,213,58,3,23,0,59,209,82,23,59,65,125,48,59,21,150,75,59,8,157,104,59,233,200,131,59,20,58,148,59,218,161,165,59,16,0,184,59,136,84,203,59,16,159,223,59,118,223,244,59,194,138,5,60,128,32,17,60,217,48,29,60,172,187,41,60,219,192,54,60,67,64,68,60,194,57,82,60,52,173,96,60,115,154,111,60,88,1,127,60,222,112,135,60,186,157,143,60,42,7,152,60,25,173,160,60,112,143,169,60,23,174,178,60,246,8,188,60,243,159,197,60,245,114,207,60,225,129,217,60,156,204,227,60,10,83,238,60,14,21,249,60,70,9,2,61,177,165,7,61,187,95,13,61,81,55,19,61,102,44,25,61,230,62,31,61,195,110,37,61,233,187,43,61,71,38,50,61,202,173,56,61,97,82,63,61,247,19,70,61,121,242,76,61,210,237,83,61,240,5,91,61,187,58,98,61,32,140,105,61,8,250,112,61,93,132,120,61,132,21,128,61,249,246,131,61,130,230,135,61,19,228,139,61,159,239,143,61,26,9,148,61,119,48,152,61,169,101,156,61,163,168,160,61,88,249,164,61,186,87,169,61,186,195,173,61,76,61,178,61,95,196,182,61,230,88,187,61,209,250,191,61,18,170,196,61,152,102,201,61,85,48,206,61,56,7,211,61,48,235,215,61,47,220,220,61,34,218,225,61,248,228,230,61,161,252,235,61,11,33,241,61,35,82,246,61,217,143,251,61,13,109,0,62,105,24,3,62,247,201,5,62,174,129,8,62,133,63,11,62,113,3,14,62,104,205,16,62,96,157,19,62,79,115,22,62,42,79,25,62,232,48,28,62,124,24,31,62,221,5,34,62,255,248,36,62,215,241,39,62,90,240,42,62,125,244,45,62,51,254,48,62,114,13,52,62,45,34,55,62,88,60,58,62,232,91,61,62,208,128,64,62,3,171,67,62,118,218,70,62,26,15,74,62,229,72,77,62,199,135,80,62,181,203,83,62,162,20,87,62,127,98,90,62,63,181,93,62,213,12,97,62,50,105,100,62,73,202,103,62,12,48,107,62,108,154,110,62,92,9,114,62,203,124,117,62,173,244,120,62,241,112,124,62,138,241,127,62,52,187,129,62,190,127,131,62,91,70,133,62,4,15,135,62,176,217,136,62,89,166,138,62,245,116,140,62,126,69,142,62,234,23,144,62,50,236,145,62,78,194,147,62,54,154,149,62,224,115,151,62,70,79,153,62,93,44,155,62,31,11,157,62,130,235,158,62,127,205,160,62,11,177,162,62,31,150,164,62,177,124,166,62,186,100,168,62,47,78,170,62,9,57,172,62,62,37,174,62,198,18,176,62,150,1,178,62,167,241,179,62,238,226,181,62,100,213,183,62,254,200,185,62,179,189,187,62,122,179,189,62,74,170,191,62,25,162,193,62,221,154,195,62,142,148,197,62,34,143,199,62,142,138,201,62,203,134,203,62,205,131,205,62,140,129,207,62,253,127,209,62,24,127,211,62,210,126,213,62,33,127,215,62,252,127,217,62,88,129,219,62,45,131,221,62,112,133,223,62,23,136,225,62,25,139,227,62,108,142,229,62,5,146,231,62,219,149,233,62,228,153,235,62,21,158,237,62,102,162,239,62,203,166,241,62,59,171,243,62,173,175,245,62,21,180,247,62,107,184,249,62,164,188,251,62,181,192,253,62,150,196,255,62,30,228,0,63,207,229,1,63,88,231,2,63,182,232,3,63,226,233,4,63,215,234,5,63,146,235,6,63,12,236,7,63,66,236,8,63,45,236,9,63,202,235,10,63,19,235,11,63,4,234,12,63,151,232,13,63,200,230,14,63,145,228,15,63,239,225,16,63,220,222,17,63,84,219,18,63,81,215,19,63,208,210,20,63,202,205,21,63,61,200,22,63,34,194,23,63,117,187,24,63,50,180,25,63,85,172,26,63,215,163,27,63,182,154,28,63,236,144,29,63,117,134,30,63,77,123,31,63,110,111,32,63,214,98,33,63,126,85,34,63,100,71,35,63,130,56,36,63,212,40,37,63,87,24,38,63,5,7,39,63,219,244,39,63,213,225,40,63,239,205,41,63,36,185,42,63,113,163,43,63,209,140,44,63,64,117,45,63,188,92,46,63,63,67,47,63,199,40,48,63,78,13,49,63,211,240,49,63,80,211,50,63,195,180,51,63,39,149,52,63,122,116,53,63,184,82,54,63,220,47,55,63,229,11,56,63,206,230,56,63,149,192,57,63,54,153,58,63,174,112,59,63,249,70,60,63,21,28,61,63,255,239,61,63,179,194,62,63,48,148,63,63,113,100,64,63,116,51,65,63,55,1,66,63,182,205,66,63,239,152,67,63,224,98,68,63,134,43,69,63,222,242,69,63,230,184,70,63,156,125,71,63,253,64,72,63,7,3,73,63,184,195,73,63,14,131,74,63,6,65,75,63,159,253,75,63,215,184,76,63,172,114,77,63,28,43,78,63,38,226,78,63,199,151,79,63,253,75,80,63,201,254,80,63,39,176,81,63,22,96,82,63,150,14,83,63,164,187,83,63,63,103,84,63,103,17,85,63,26,186,85,63,86,97,86,63,28,7,87,63,105,171,87,63,62,78,88,63,152,239,88,63,120,143,89,63,221,45,90,63,198,202,90,63,50,102,91,63,33,0,92,63,147,152,92,63,134,47,93,63,251,196,93,63,242,88,94,63,105,235,94,63,98,124,95,63,219,11,96,63,213,153,96,63,80,38,97,63,76,177,97,63,201,58,98,63,199,194,98,63,70,73,99,63,71,206,99,63,202,81,100,63,208,211,100,63,88,84,101,63,100,211,101,63,244,80,102,63,9,205,102,63,163,71,103,63,195,192,103,63,107,56,104,63,154,174,104,63,82,35,105,63,147,150,105,63,96,8,106,63,184,120,106,63,157,231,106,63,16,85,107,63,19,193,107,63,166,43,108,63,203,148,108,63,132,252,108,63,209,98,109,63,180,199,109,63,48,43,110,63,68,141,110,63,244,237,110,63,64,77,111,63,42,171,111,63,181,7,112,63,225,98,112,63,177,188,112,63,38,21,113,63,67,108,113,63,10,194,113,63,123,22,114,63,155,105,114,63,106,187,114,63,234,11,115,63,31,91,115,63,9,169,115,63,172,245,115,63,9,65,116,63,35,139,116,63,252,211,116,63,151,27,117,63,245,97,117,63,26,167,117,63,8,235,117,63,193,45,118,63,72,111,118,63,159,175,118,63,202,238,118,63,201,44,119,63,161,105,119,63,84,165,119,63,228,223,119,63,85,25,120,63,168,81,120,63,226,136,120,63,3,191,120,63,16,244,120,63,11,40,121,63,247,90,121,63,215,140,121,63,173,189,121,63,125,237,121,63,73,28,122,63,20,74,122,63,226,118,122,63,181,162,122,63,144,205,122,63,118,247,122,63,107,32,123,63,112,72,123,63,138,111,123,63,186,149,123,63,5,187,123,63,109,223,123,63,245,2,124,63,160,37,124,63,113,71,124,63,108,104,124,63,147,136,124,63,233,167,124,63,114,198,124,63,48,228,124,63,38,1,125,63,89,29,125,63,201,56,125,63,124,83,125,63,115,109,125,63,178,134,125,63,60,159,125,63,19,183,125,63,60,206,125,63,184,228,125,63,139,250,125,63,184,15,126,63,66,36,126,63,44,56,126,63,120,75,126,63,43,94,126,63,70,112,126,63,204,129,126,63,194,146,126,63,41,163,126,63,4,179,126,63,86,194,126,63,35,209,126,63,109,223,126,63,55,237,126,63,131,250,126,63,85,7,127,63,175,19,127,63,148,31,127,63,7,43,127,63,10,54,127,63,160,64,127,63,205,74,127,63,146,84,127,63,242,93,127,63,239,102,127,63,141,111,127,63,206,119,127,63,181,127,127,63,67,135,127,63,124,142,127,63,98,149,127,63,247,155,127,63,61,162,127,63,56,168,127,63,233,173,127,63,83,179,127,63,120,184,127,63,90,189,127,63,252,193,127,63,95,198,127,63,134,202,127,63,116,206,127,63,41,210,127,63,168,213,127,63,244,216,127,63,13,220,127,63,247,222,127,63,179,225,127,63,67,228,127,63,168,230,127,63,229,232,127,63,252,234,127,63,237,236,127,63,188,238,127,63,105,240,127,63,246,241,127,63,101,243,127,63,183,244,127,63,238,245,127,63,11,247,127,63,16,248,127,63,254,248,127,63,214,249,127,63,155,250,127,63,76,251,127,63,236,251,127,63,124,252,127,63,252,252,127,63,110,253,127,63,211,253,127,63,44,254,127,63,121,254,127,63,189,254,127,63,247,254,127,63,42,255,127,63,84,255,127,63,120,255,127,63,150,255,127,63,175,255,127,63,195,255,127,63,211,255,127,63,224,255,127,63,234,255,127,63,241,255,127,63,246,255,127,63,250,255,127,63,253,255,127,63,254,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,171,15,120,53,24,135,11,55,225,201,193,55,107,233,61,56,128,247,156,56,187,122,234,56,24,191,35,57,213,0,90,57,56,1,140,57,229,225,174,57,88,162,213,57,60,33,0,58,24,97,23,58,175,144,48,58,243,175,75,58,212,190,104,58,159,222,131,58,143,85,148,58,48,196,165,58,119,42,184,58,90,136,203,58,204,221,223,58,191,42,245,58,148,183,5,59,124,85,17,59,16,111,29,59,73,4,42,59,31,21,55,59,138,161,68,59,129,169,82,59,252,44,97,59,241,43,112,59,88,166,127,59,19,206,135,59,169,6,144,59,233,124,152,59,204,48,161,59,79,34,170,59,106,81,179,59,26,190,188,59,86,104,198,59,26,80,208,59,95,117,218,59,31,216,228,59,83,120,239,59,244,85,250,59,126,184,2,60,177,100,8,60,145,47,14,60,25,25,20,60,70,33,26,60,19,72,32,60,126,141,38,60,129,241,44,60,25,116,51,60,65,21,58,60,246,212,64,60,50,179,71,60,243,175,78,60,50,203,85,60,235,4,93,60,26,93,100,60,186,211,107,60,198,104,115,60,58,28,123,60,7,119,129,60,33,111,133,60,102,118,137,60,212,140,141,60,105,178,145,60,33,231,149,60,251,42,154,60,243,125,158,60,6,224,162,60,50,81,167,60,115,209,171,60,199,96,176,60,43,255,180,60,154,172,185,60,19,105,190,60,146,52,195,60,20,15,200,60,149,248,204,60,19,241,209,60,137,248,214,60,245,14,220,60,83,52,225,60,160,104,230,60,215,171,235,60,246,253,240,60,249,94,246,60,220,206,251,60,205,166,0,61,153,109,3,61,207,59,6,61,109,17,9,61,114,238,11,61,220,210,14,61,167,190,17,61,211,177,20,61,94,172,23,61,68,174,26,61,133,183,29,61,30,200,32,61,12,224,35,61,78,255,38,61,225,37,42,61,196,83,45,61,243,136,48,61,109,197,51,61,47,9,55,61,55,84,58,61,130,166,61,61,15,0,65,61,218,96,68,61,226,200,71,61,35,56,75,61,156,174,78,61,73,44,82,61,40,177,85,61,55,61,89,61,115,208,92,61,217,106,96,61,103,12,100,61,25,181,103,61,238,100,107,61,227,27,111,61,244,217,114,61,30,159,118,61,96,107,122,61,182,62,126,61,143,12,129,61,73,253,130,61,138,241,132,61,79,233,134,61,150,228,136,61,94,227,138,61,167,229,140,61,109,235,142,61,175,244,144,61,109,1,147,61,164,17,149,61,83,37,151,61,120,60,153,61,17,87,155,61,30,117,157,61,155,150,159,61,136,187,161,61,226,227,163,61,169,15,166,61,218,62,168,61,116,113,170,61,116,167,172,61,218,224,174,61,162,29,177,61,205,93,179,61,87,161,181,61,62,232,183,61,130,50,186,61,32,128,188,61,22,209,190,61,98,37,193,61,2,125,195,61,245,215,197,61,57,54,200,61,203,151,202,61,169,252,204,61,211,100,207,61,68,208,209,61,252,62,212,61,249,176,214,61,56,38,217,61,184,158,219,61,117,26,222,61,111,153,224,61,163,27,227,61,14,161,229,61,175,41,232,61,132,181,234,61,138,68,237,61,191,214,239,61,33,108,242,61,174,4,245,61,99,160,247,61,62,63,250,61,61,225,252,61,93,134,255,61,78,23,1,62,252,108,2,62,56,196,3,62,255,28,5,62,81,119,6,62,45,211,7,62,145,48,9,62,125,143,10,62,238,239,11,62,228,81,13,62,94,181,14,62,89,26,16,62,214,128,17,62,210,232,18,62,77,82,20,62,69,189,21,62,184,41,23,62,166,151,24,62,13,7,26,62,236,119,27,62,65,234,28,62,11,94,30,62,73,211,31,62,250,73,33,62,28,194,34,62,173,59,36,62,172,182,37,62,24,51,39,62,240,176,40,62,50,48,42,62,220,176,43,62,238,50,45,62,101,182,46,62,64,59,48,62,126,193,49,62,30,73,51,62,29,210,52,62,123,92,54,62,54,232,55,62,76,117,57,62,187,3,59,62,131,147,60,62,162,36,62,62,22,183,63,62,222,74,65,62,248,223,66,62,98,118,68,62,28,14,70,62,35,167,71,62,117,65,73,62,18,221,74,62,247,121,76,62,35,24,78,62,149,183,79,62,74,88,81,62,66,250,82,62,121,157,84,62,240,65,86,62,163,231,87,62,146,142,89,62,186,54,91,62,26,224,92,62,177,138,94,62,124,54,96,62,122,227,97,62,169,145,99,62,7,65,101,62,147,241,102,62,75,163,104,62,44,86,106,62,54,10,108,62,102,191,109,62,187,117,111,62,51,45,113,62,204,229,114,62,132,159,116,62,90,90,118,62,75,22,120,62,85,211,121,62,120,145,123,62,176,80,125,62,253,16,127,62,46,105,128,62,101,74,129,62,36,44,130,62,105,14,131,62,52,241,131,62,130,212,132,62,84,184,133,62,169,156,134,62,127,129,135,62,213,102,136,62,171,76,137,62,255,50,138,62,209,25,139,62,32,1,140,62,233,232,140,62,46,209,141,62,236,185,142,62,34,163,143,62,208,140,144,62,244,118,145,62,142,97,146,62,156,76,147,62,29,56,148,62,17,36,149,62,118,16,150,62,76,253,150,62,144,234,151,62,67,216,152,62,99,198,153,62,239,180,154,62,230,163,155,62,71,147,156,62,17,131,157,62,67,115,158,62,219,99,159,62,218,84,160,62,60,70,161,62,3,56,162,62,43,42,163,62,181,28,164,62,160,15,165,62,233,2,166,62,145,246,166,62,149,234,167,62,245,222,168,62,176,211,169,62,197,200,170,62,50,190,171,62,246,179,172,62,17,170,173,62,129,160,174,62,69,151,175,62,91,142,176,62,196,133,177,62,125,125,178,62,133,117,179,62,220,109,180,62,128,102,181,62,112,95,182,62,171,88,183,62,47,82,184,62,252,75,185,62,17,70,186,62,108,64,187,62,11,59,188,62,239,53,189,62,22,49,190,62,126,44,191,62,38,40,192,62,13,36,193,62,51,32,194,62,150,28,195,62,52,25,196,62,12,22,197,62,30,19,198,62,104,16,199,62,233,13,200,62,159,11,201,62,138,9,202,62,169,7,203,62,249,5,204,62,123,4,205,62,44,3,206,62,11,2,207,62,24,1,208,62,81,0,209,62,181,255,209,62,66,255,210,62,248,254,211,62,213,254,212,62,216,254,213,62,255,254,214,62,75,255,215,62,184,255,216,62,71,0,218,62,245,0,219,62,195,1,220,62,173,2,221,62,180,3,222,62,214,4,223,62,17,6,224,62,101,7,225,62,208,8,226,62,81,10,227,62,231,11,228,62,144,13,229,62,76,15,230,62,25,17,231,62,245,18,232,62,224,20,233,62,217,22,234,62,221,24,235,62,236,26,236,62,5,29,237,62,39,31,238,62,79,33,239,62,125,35,240,62,176,37,241,62,230,39,242,62,31,42,243,62,88,44,244,62,145,46,245,62,200,48,246,62,253,50,247,62,45,53,248,62,88,55,249,62,124,57,250,62,153,59,251,62,172,61,252,62,181,63,253,62,179,65,254,62,163,67,255,62,195,34,0,63,173,163,0,63,142,36,1,63,102,165,1,63,53,38,2,63,250,166,2,63,180,39,3,63,99,168,3,63,5,41,4,63,155,169,4,63,36,42,5,63,159,170,5,63,12,43,6,63,105,171,6,63,183,43,7,63,244,171,7,63,32,44,8,63,59,172,8,63,68,44,9,63,58,172,9,63,28,44,10,63,235,171,10,63,164,43,11,63,73,171,11,63,216,42,12,63,80,170,12,63,177,41,13,63,251,168,13,63,44,40,14,63,69,167,14,63,68,38,15,63,41,165,15,63,243,35,16,63,162,162,16,63,53,33,17,63,172,159,17,63,5,30,18,63,65,156,18,63,95,26,19,63,94,152,19,63,61,22,20,63,252,147,20,63,155,17,21,63,24,143,21,63,116,12,22,63,173,137,22,63,195,6,23,63,182,131,23,63,133,0,24,63,46,125,24,63,179,249,24,63,18,118,25,63,74,242,25,63,91,110,26,63,69,234,26,63,6,102,27,63,159,225,27,63,14,93,28,63,84,216,28,63,111,83,29,63,95,206,29,63,36,73,30,63,188,195,30,63,40,62,31,63,102,184,31,63,119,50,32,63,90,172,32,63,14,38,33,63,146,159,33,63,230,24,34,63,10,146,34,63,253,10,35,63,190,131,35,63,77,252,35,63,169,116,36,63,211,236,36,63,200,100,37,63,138,220,37,63,22,84,38,63,110,203,38,63,143,66,39,63,122,185,39,63,47,48,40,63,172,166,40,63,241,28,41,63,254,146,41,63,210,8,42,63,108,126,42,63,205,243,42,63,243,104,43,63,223,221,43,63,143,82,44,63,3,199,44,63,59,59,45,63,54,175,45,63,244,34,46,63,116,150,46,63,182,9,47,63,185,124,47,63,125,239,47,63,1,98,48,63,69,212,48,63,72,70,49,63,10,184,49,63,139,41,50,63,202,154,50,63,198,11,51,63,127,124,51,63,246,236,51,63,40,93,52,63,22,205,52,63,191,60,53,63,36,172,53,63,66,27,54,63,27,138,54,63,174,248,54,63,249,102,55,63,254,212,55,63,187,66,56,63,47,176,56,63,91,29,57,63,63,138,57,63,217,246,57,63,41,99,58,63,48,207,58,63,236,58,59,63,93,166,59,63,130,17,60,63,93,124,60,63,235,230,60,63,44,81,61,63,33,187,61,63,201,36,62,63,35,142,62,63,48,247,62,63,238,95,63,63,94,200,63,63,126,48,64,63,80,152,64,63,209,255,64,63,3,103,65,63,228,205,65,63,117,52,66,63,181,154,66,63,163,0,67,63,64,102,67,63,139,203,67,63,131,48,68,63,41,149,68,63,124,249,68,63,123,93,69,63,39,193,69,63,127,36,70,63,132,135,70,63,51,234,70,63,142,76,71,63,148,174,71,63,68,16,72,63,159,113,72,63,164,210,72,63,83,51,73,63,172,147,73,63,174,243,73,63,89,83,74,63,173,178,74,63,169,17,75,63,77,112,75,63,154,206,75,63,143,44,76,63,43,138,76,63,110,231,76,63,89,68,77,63,234,160,77,63,34,253,77,63,0,89,78,63,133,180,78,63,176,15,79,63,128,106,79,63,246,196,79,63,18,31,80,63,210,120,80,63,56,210,80,63,66,43,81,63,242,131,81,63,69,220,81,63,61,52,82,63,217,139,82,63,24,227,82,63,252,57,83,63,131,144,83,63,174,230,83,63,123,60,84,63,236,145,84,63,0,231,84,63,183,59,85,63,16,144,85,63,12,228,85,63,170,55,86,63,235,138,86,63,206,221,86,63,83,48,87,63,121,130,87,63,66,212,87,63,172,37,88,63,184,118,88,63,101,199,88,63,180,23,89,63,164,103,89,63,53,183,89,63,104,6,90,63,59,85,90,63,175,163,90,63,197,241,90,63,123,63,91,63,210,140,91,63,201,217,91,63,97,38,92,63,154,114,92,63,115,190,92,63,237,9,93,63,7,85,93,63,194,159,93,63,29,234,93,63,24,52,94,63,179,125,94,63,239,198,94,63,203,15,95,63,72,88,95,63,100,160,95,63,33,232,95,63,126,47,96,63,123,118,96,63,24,189,96,63,85,3,97,63,51,73,97,63,177,142,97,63,207,211,97,63,141,24,98,63,236,92,98,63,235,160,98,63,138,228,98,63,202,39,99,63,170,106,99,63,42,173,99,63,75,239,99,63,13,49,100,63,111,114,100,63,114,179,100,63,21,244,100,63,90,52,101,63,63,116,101,63,197,179,101,63,236,242,101,63,180,49,102,63,29,112,102,63,39,174,102,63,211,235,102,63,32,41,103,63,15,102,103,63,159,162,103,63,209,222,103,63,164,26,104,63,26,86,104,63,49,145,104,63,235,203,104,63,71,6,105,63,69,64,105,63,230,121,105,63,42,179,105,63,16,236,105,63,153,36,106,63,197,92,106,63,148,148,106,63,7,204,106,63,29,3,107,63,214,57,107,63,52,112,107,63,53,166,107,63,218,219,107,63,36,17,108,63,18,70,108,63,164,122,108,63,220,174,108,63,184,226,108,63,57,22,109,63,96,73,109,63,44,124,109,63,157,174,109,63,181,224,109,63,115,18,110,63,214,67,110,63,225,116,110,63,146,165,110,63,233,213,110,63,232,5,111,63,142,53,111,63,219,100,111,63,209,147,111,63,110,194,111,63,179,240,111,63,160,30,112,63,54,76,112,63,117,121,112,63,93,166,112,63,239,210,112,63,41,255,112,63,14,43,113,63,156,86,113,63,213,129,113,63,184,172,113,63,70,215,113,63,127,1,114,63,99,43,114,63,243,84,114,63,46,126,114,63,21,167,114,63,169,207,114,63,233,247,114,63,214,31,115,63,113,71,115,63,184,110,115,63,173,149,115,63,80,188,115,63,162,226,115,63,161,8,116,63,80,46,116,63,174,83,116,63,187,120,116,63,119,157,116,63,228,193,116,63,1,230,116,63,206,9,117,63,76,45,117,63,123,80,117,63,92,115,117,63,238,149,117,63,51,184,117,63,42,218,117,63,211,251,117,63,48,29,118,63,64,62,118,63,3,95,118,63,122,127,118,63,166,159,118,63,134,191,118,63,27,223,118,63,101,254,118,63,101,29,119,63,27,60,119,63,135,90,119,63,169,120,119,63,131,150,119,63,19,180,119,63,91,209,119,63,91,238,119,63,20,11,120,63,132,39,120,63,174,67,120,63,145,95,120,63,46,123,120,63,132,150,120,63,149,177,120,63,96,204,120,63,231,230,120,63,41,1,121,63,38,27,121,63,223,52,121,63,85,78,121,63,136,103,121,63,120,128,121,63,37,153,121,63,144,177,121,63,185,201,121,63,161,225,121,63,72,249,121,63,174,16,122,63,212,39,122,63,185,62,122,63,96,85,122,63,198,107,122,63,238,129,122,63,216,151,122,63,131,173,122,63,241,194,122,63,33,216,122,63,20,237,122,63,202,1,123,63,68,22,123,63,130,42,123,63,133,62,123,63,77,82,123,63,217,101,123,63,43,121,123,63,68,140,123,63,34,159,123,63,200,177,123,63,52,196,123,63,104,214,123,63,99,232,123,63,39,250,123,63,180,11,124,63,9,29,124,63,40,46,124,63,17,63,124,63,196,79,124,63,65,96,124,63,137,112,124,63,156,128,124,63,124,144,124,63,39,160,124,63,158,175,124,63,226,190,124,63,244,205,124,63,211,220,124,63,128,235,124,63,251,249,124,63,69,8,125,63,94,22,125,63,71,36,125,63,255,49,125,63,136,63,125,63,225,76,125,63,11,90,125,63,7,103,125,63,212,115,125,63,115,128,125,63,229,140,125,63,42,153,125,63,66,165,125,63,46,177,125,63,238,188,125,63,130,200,125,63,235,211,125,63,41,223,125,63,61,234,125,63,38,245,125,63,230,255,125,63,124,10,126,63,234,20,126,63,47,31,126,63,75,41,126,63,64,51,126,63,13,61,126,63,180,70,126,63,51,80,126,63,140,89,126,63,191,98,126,63,205,107,126,63,181,116,126,63,120,125,126,63,23,134,126,63,146,142,126,63,233,150,126,63,28,159,126,63,44,167,126,63,26,175,126,63,229,182,126,63,142,190,126,63,22,198,126,63,124,205,126,63,194,212,126,63,231,219,126,63,235,226,126,63,208,233,126,63,149,240,126,63,59,247,126,63,195,253,126,63,44,4,127,63,118,10,127,63,163,16,127,63,179,22,127,63,165,28,127,63,123,34,127,63,52,40,127,63,210,45,127,63,83,51,127,63,186,56,127,63,5,62,127,63,53,67,127,63,75,72,127,63,72,77,127,63,42,82,127,63,243,86,127,63,163,91,127,63,58,96,127,63,185,100,127,63,32,105,127,63,111,109,127,63,166,113,127,63,199,117,127,63,208,121,127,63,196,125,127,63,161,129,127,63,104,133,127,63,25,137,127,63,182,140,127,63,61,144,127,63,176,147,127,63,14,151,127,63,89,154,127,63,143,157,127,63,179,160,127,63,195,163,127,63,192,166,127,63,171,169,127,63,132,172,127,63,74,175,127,63,255,177,127,63,163,180,127,63,53,183,127,63,183,185,127,63,40,188,127,63,137,190,127,63,217,192,127,63,26,195,127,63,76,197,127,63,111,199,127,63,130,201,127,63,135,203,127,63,126,205,127,63,102,207,127,63,65,209,127,63,14,211,127,63,205,212,127,63,128,214,127,63,38,216,127,63,191,217,127,63,76,219,127,63,204,220,127,63,65,222,127,63,170,223,127,63,8,225,127,63,91,226,127,63,163,227,127,63,224,228,127,63,19,230,127,63,59,231,127,63,90,232,127,63,110,233,127,63,122,234,127,63,124,235,127,63,116,236,127,63,100,237,127,63,75,238,127,63,42,239,127,63,1,240,127,63,207,240,127,63,149,241,127,63,84,242,127,63,12,243,127,63,188,243,127,63,101,244,127,63,7,245,127,63,162,245,127,63,55,246,127,63,198,246,127,63,78,247,127,63,209,247,127,63,77,248,127,63,196,248,127,63,54,249,127,63,162,249,127,63,9,250,127,63,108,250,127,63,201,250,127,63,34,251,127,63,118,251,127,63,198,251,127,63,18,252,127,63,89,252,127,63,157,252,127,63,221,252,127,63,26,253,127,63,83,253,127,63,136,253,127,63,187,253,127,63,234,253,127,63,22,254,127,63,64,254,127,63,103,254,127,63,139,254,127,63,173,254,127,63,204,254,127,63,234,254,127,63,5,255,127,63,30,255,127,63,53,255,127,63,74,255,127,63,94,255,127,63,112,255,127,63,128,255,127,63,143,255,127,63,157,255,127,63,169,255,127,63,180,255,127,63,191,255,127,63,200,255,127,63,208,255,127,63,215,255,127,63,221,255,127,63,227,255,127,63,232,255,127,63,236,255,127,63,239,255,127,63,243,255,127,63,245,255,127,63,248,255,127,63,249,255,127,63,251,255,127,63,252,255,127,63,253,255,127,63,254,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,204,8,120,52,171,134,11,54,79,202,193,54,190,233,61,55,238,247,156,55,192,123,234,55,43,192,35,56,161,2,90,56,189,2,140,56,76,228,174,56,227,165,213,56,199,35,0,57,168,100,23,57,134,149,48,57,104,182,75,57,64,199,104,57,7,228,131,57,105,92,148,57,191,204,165,57,6,53,184,57,65,149,203,57,105,237,223,57,120,61,245,57,184,194,5,58,166,98,17,58,134,126,29,58,81,22,42,58,9,42,55,58,172,185,68,58,54,197,82,58,165,76,97,58,250,79,112,58,47,207,127,58,34,229,135,58,154,32,144,58,255,153,152,58,80,81,161,58,139,70,170,58,174,121,179,58,186,234,188,58,171,153,198,58,129,134,208,58,58,177,218,58,212,25,229,58,79,192,239,58,167,164,250,58,109,227,2,59,117,147,8,59,105,98,14,59,73,80,20,59,19,93,26,59,199,136,32,59,100,211,38,59,232,60,45,59,83,197,51,59,164,108,58,59,218,50,65,59,243,23,72,59,239,27,79,59,204,62,86,59,138,128,93,59,38,225,100,59,161,96,108,59,249,254,115,59,45,188,123,59,29,204,129,59,145,201,133,59,113,214,137,59,188,242,141,59,113,30,146,59,145,89,150,59,26,164,154,59,12,254,158,59,102,103,163,59,40,224,167,59,80,104,172,59,222,255,176,59,209,166,181,59,40,93,186,59,228,34,191,59,2,248,195,59,131,220,200,59,101,208,205,59,168,211,210,59,74,230,215,59,76,8,221,59,172,57,226,59,105,122,231,59,131,202,236,59,249,41,242,59,202,152,247,59,245,22,253,59,60,82,1,60,170,32,4,60,196,246,6,60,137,212,9,60,249,185,12,60,19,167,15,60,216,155,18,60,69,152,21,60,92,156,24,60,26,168,27,60,129,187,30,60,143,214,33,60,69,249,36,60,160,35,40,60,162,85,43,60,73,143,46,60,149,208,49,60,133,25,53,60,26,106,56,60,81,194,59,60,44,34,63,60,168,137,66,60,199,248,69,60,134,111,73,60,230,237,76,60,231,115,80,60,134,1,84,60,197,150,87,60,162,51,91,60,28,216,94,60,52,132,98,60,232,55,102,60,56,243,105,60,35,182,109,60,170,128,113,60,202,82,117,60,131,44,121,60,214,13,125,60,96,123,128,60,161,115,130,60,174,111,132,60,134,111,134,60,40,115,136,60,149,122,138,60,205,133,140,60,206,148,142,60,152,167,144,60,44,190,146,60,136,216,148,60,173,246,150,60,154,24,153,60,78,62,155,60,202,103,157,60,13,149,159,60,23,198,161,60,231,250,163,60,125,51,166,60,217,111,168,60,249,175,170,60,223,243,172,60,137,59,175,60,247,134,177,60,40,214,179,60,29,41,182,60,213,127,184,60,80,218,186,60,140,56,189,60,138,154,191,60,74,0,194,60,202,105,196,60,11,215,198,60,12,72,201,60,205,188,203,60,77,53,206,60,140,177,208,60,137,49,211,60,69,181,213,60,189,60,216,60,243,199,218,60,230,86,221,60,149,233,223,60,0,128,226,60,39,26,229,60,8,184,231,60,164,89,234,60,250,254,236,60,9,168,239,60,210,84,242,60,83,5,245,60,141,185,247,60,126,113,250,60,39,45,253,60,134,236,255,60,206,87,1,61,52,187,2,61,117,32,4,61,144,135,5,61,133,240,6,61,84,91,8,61,253,199,9,61,128,54,11,61,219,166,12,61,16,25,14,61,29,141,15,61,3,3,17,61,193,122,18,61,87,244,19,61,197,111,21,61,10,237,22,61,39,108,24,61,26,237,25,61,228,111,27,61,132,244,28,61,251,122,30,61,71,3,32,61,105,141,33,61,96,25,35,61,45,167,36,61,206,54,38,61,67,200,39,61,141,91,41,61,171,240,42,61,156,135,44,61,96,32,46,61,248,186,47,61,99,87,49,61,160,245,50,61,175,149,52,61,144,55,54,61,67,219,55,61,199,128,57,61,28,40,59,61,65,209,60,61,56,124,62,61,254,40,64,61,148,215,65,61,250,135,67,61,47,58,69,61,51,238,70,61,5,164,72,61,166,91,74,61,20,21,76,61,80,208,77,61,90,141,79,61,49,76,81,61,212,12,83,61,68,207,84,61,128,147,86,61,135,89,88,61,90,33,90,61,248,234,91,61,97,182,93,61,148,131,95,61,145,82,97,61,88,35,99,61,232,245,100,61,65,202,102,61,100,160,104,61,78,120,106,61,1,82,108,61,123,45,110,61,188,10,112,61,197,233,113,61,148,202,115,61,41,173,117,61,133,145,119,61,166,119,121,61,140,95,123,61,55,73,125,61,166,52,127,61,237,144,128,61,105,136,129,61,198,128,130,61,5,122,131,61,37,116,132,61,39,111,133,61,9,107,134,61,204,103,135,61,112,101,136,61,244,99,137,61,88,99,138,61,157,99,139,61,193,100,140,61,196,102,141,61,167,105,142,61,106,109,143,61,11,114,144,61,139,119,145,61,234,125,146,61,40,133,147,61,67,141,148,61,61,150,149,61,20,160,150,61,201,170,151,61,92,182,152,61,203,194,153,61,24,208,154,61,66,222,155,61,72,237,156,61,42,253,157,61,233,13,159,61,132,31,160,61,250,49,161,61,76,69,162,61,122,89,163,61,130,110,164,61,101,132,165,61,35,155,166,61,188,178,167,61,47,203,168,61,124,228,169,61,162,254,170,61,163,25,172,61,124,53,173,61,47,82,174,61,187,111,175,61,31,142,176,61,92,173,177,61,113,205,178,61,94,238,179,61,35,16,181,61,192,50,182,61,52,86,183,61,127,122,184,61,160,159,185,61,153,197,186,61,104,236,187,61,13,20,189,61,136,60,190,61,217,101,191,61,255,143,192,61,250,186,193,61,202,230,194,61,111,19,196,61,233,64,197,61,55,111,198,61,89,158,199,61,78,206,200,61,23,255,201,61,179,48,203,61,35,99,204,61,101,150,205,61,121,202,206,61,96,255,207,61,25,53,209,61,164,107,210,61,0,163,211,61,45,219,212,61,44,20,214,61,251,77,215,61,154,136,216,61,10,196,217,61,74,0,219,61,89,61,220,61,56,123,221,61,230,185,222,61,99,249,223,61,174,57,225,61,200,122,226,61,176,188,227,61,102,255,228,61,233,66,230,61,58,135,231,61,88,204,232,61,66,18,234,61,249,88,235,61,124,160,236,61,203,232,237,61,230,49,239,61,204,123,240,61,125,198,241,61,249,17,243,61,63,94,244,61,79,171,245,61,42,249,246,61,206,71,248,61,60,151,249,61,114,231,250,61,114,56,252,61,58,138,253,61,202,220,254,61,17,24,0,62,33,194,0,62,149,108,1,62,108,23,2,62,166,194,2,62,68,110,3,62,69,26,4,62,168,198,4,62,111,115,5,62,152,32,6,62,35,206,6,62,17,124,7,62,98,42,8,62,20,217,8,62,40,136,9,62,157,55,10,62,117,231,10,62,173,151,11,62,71,72,12,62,66,249,12,62,158,170,13,62,91,92,14,62,120,14,15,62,246,192,15,62,213,115,16,62,19,39,17,62,177,218,17,62,175,142,18,62,13,67,19,62,202,247,19,62,231,172,20,62,99,98,21,62,62,24,22,62,120,206,22,62,16,133,23,62,7,60,24,62,92,243,24,62,16,171,25,62,33,99,26,62,145,27,27,62,94,212,27,62,137,141,28,62,17,71,29,62,246,0,30,62,56,187,30,62,215,117,31,62,211,48,32,62,43,236,32,62,224,167,33,62,241,99,34,62,93,32,35,62,38,221,35,62,74,154,36,62,202,87,37,62,165,21,38,62,219,211,38,62,108,146,39,62,88,81,40,62,159,16,41,62,64,208,41,62,59,144,42,62,144,80,43,62,63,17,44,62,72,210,44,62,170,147,45,62,102,85,46,62,122,23,47,62,232,217,47,62,175,156,48,62,206,95,49,62,69,35,50,62,21,231,50,62,61,171,51,62,189,111,52,62,148,52,53,62,195,249,53,62,73,191,54,62,38,133,55,62,91,75,56,62,230,17,57,62,199,216,57,62,255,159,58,62,141,103,59,62,113,47,60,62,171,247,60,62,59,192,61,62,31,137,62,62,89,82,63,62,232,27,64,62,204,229,64,62,5,176,65,62,146,122,66,62,115,69,67,62,168,16,68,62,49,220,68,62,14,168,69,62,62,116,70,62,194,64,71,62,152,13,72,62,193,218,72,62,61,168,73,62,12,118,74,62,44,68,75,62,159,18,76,62,100,225,76,62,122,176,77,62,225,127,78,62,154,79,79,62,164,31,80,62,255,239,80,62,170,192,81,62,166,145,82,62,242,98,83,62,141,52,84,62,121,6,85,62,180,216,85,62,63,171,86,62,25,126,87,62,65,81,88,62,185,36,89,62,126,248,89,62,147,204,90,62,245,160,91,62,165,117,92,62,163,74,93,62,238,31,94,62,135,245,94,62,109,203,95,62,159,161,96,62,30,120,97,62,233,78,98,62,1,38,99,62,100,253,99,62,19,213,100,62,14,173,101,62,84,133,102,62,229,93,103,62,193,54,104,62,231,15,105,62,88,233,105,62,19,195,106,62,24,157,107,62,103,119,108,62,255,81,109,62,224,44,110,62,11,8,111,62,126,227,111,62,58,191,112,62,62,155,113,62,139,119,114,62,31,84,115,62,251,48,116,62,31,14,117,62,138,235,117,62,59,201,118,62,52,167,119,62,115,133,120,62,248,99,121,62,196,66,122,62,213,33,123,62,44,1,124,62,200,224,124,62,170,192,125,62,208,160,126,62,59,129,127,62,245,48,128,62,111,161,128,62,11,18,129,62,201,130,129,62,168,243,129,62,169,100,130,62,204,213,130,62,15,71,131,62,117,184,131,62,251,41,132,62,162,155,132,62,107,13,133,62,84,127,133,62,93,241,133,62,136,99,134,62,210,213,134,62,61,72,135,62,200,186,135,62,116,45,136,62,63,160,136,62,42,19,137,62,52,134,137,62,94,249,137,62,168,108,138,62,17,224,138,62,153,83,139,62,64,199,139,62,6,59,140,62,235,174,140,62,239,34,141,62,17,151,141,62,82,11,142,62,177,127,142,62,46,244,142,62,201,104,143,62,130,221,143,62,89,82,144,62,78,199,144,62,96,60,145,62,143,177,145,62,220,38,146,62,70,156,146,62,205,17,147,62,113,135,147,62,50,253,147,62,16,115,148,62,9,233,148,62,32,95,149,62,82,213,149,62,161,75,150,62,12,194,150,62,146,56,151,62,53,175,151,62,243,37,152,62,204,156,152,62,193,19,153,62,209,138,153,62,252,1,154,62,66,121,154,62,163,240,154,62,31,104,155,62,181,223,155,62,101,87,156,62,48,207,156,62,21,71,157,62,20,191,157,62,45,55,158,62,96,175,158,62,172,39,159,62,18,160,159,62,145,24,160,62,41,145,160,62,218,9,161,62,165,130,161,62,136,251,161,62,132,116,162,62,152,237,162,62,197,102,163,62,10,224,163,62,103,89,164,62,220,210,164,62,105,76,165,62,14,198,165,62,202,63,166,62,158,185,166,62,137,51,167,62,139,173,167,62,164,39,168,62,213,161,168,62,27,28,169,62],"i8",N3,x.GLOBAL_BASE+520696),E3([121,150,169,62,237,16,170,62,119,139,170,62,24,6,171,62,206,128,171,62,155,251,171,62,125,118,172,62,117,241,172,62,130,108,173,62,165,231,173,62,221,98,174,62,42,222,174,62,140,89,175,62,2,213,175,62,142,80,176,62,46,204,176,62,226,71,177,62,170,195,177,62,135,63,178,62,119,187,178,62,124,55,179,62,148,179,179,62,191,47,180,62,254,171,180,62,80,40,181,62,181,164,181,62,45,33,182,62,184,157,182,62,85,26,183,62,5,151,183,62,199,19,184,62,156,144,184,62,130,13,185,62,123,138,185,62,133,7,186,62,161,132,186,62,206,1,187,62,13,127,187,62,93,252,187,62,190,121,188,62,48,247,188,62,178,116,189,62,70,242,189,62,233,111,190,62,157,237,190,62,98,107,191,62,54,233,191,62,26,103,192,62,14,229,192,62,17,99,193,62,36,225,193,62,70,95,194,62,119,221,194,62,184,91,195,62,7,218,195,62,100,88,196,62,209,214,196,62,75,85,197,62,212,211,197,62,107,82,198,62,16,209,198,62,195,79,199,62,132,206,199,62,82,77,200,62,45,204,200,62,21,75,201,62,11,202,201,62,13,73,202,62,29,200,202,62,56,71,203,62,97,198,203,62,149,69,204,62,214,196,204,62,34,68,205,62,123,195,205,62,223,66,206,62,79,194,206,62,202,65,207,62,81,193,207,62,226,64,208,62,127,192,208,62,38,64,209,62,216,191,209,62,148,63,210,62,91,191,210,62,44,63,211,62,7,191,211,62,235,62,212,62,218,190,212,62,210,62,213,62,211,190,213,62,222,62,214,62,242,190,214,62,15,63,215,62,53,191,215,62,99,63,216,62,154,191,216,62,217,63,217,62,32,192,217,62,112,64,218,62,199,192,218,62,38,65,219,62,140,193,219,62,250,65,220,62,112,194,220,62,236,66,221,62,112,195,221,62,250,67,222,62,139,196,222,62,34,69,223,62,192,197,223,62,100,70,224,62,14,199,224,62,189,71,225,62,115,200,225,62,46,73,226,62,239,201,226,62,181,74,227,62,127,203,227,62,79,76,228,62,36,205,228,62,253,77,229,62,219,206,229,62,190,79,230,62,164,208,230,62,142,81,231,62,125,210,231,62,111,83,232,62,100,212,232,62,93,85,233,62,89,214,233,62,89,87,234,62,91,216,234,62,96,89,235,62,104,218,235,62,114,91,236,62,126,220,236,62,141,93,237,62,158,222,237,62,176,95,238,62,196,224,238,62,218,97,239,62,241,226,239,62,10,100,240,62,35,229,240,62,62,102,241,62,89,231,241,62,116,104,242,62,145,233,242,62,173,106,243,62,202,235,243,62,230,108,244,62,3,238,244,62,31,111,245,62,59,240,245,62,86,113,246,62,112,242,246,62,137,115,247,62,161,244,247,62,184,117,248,62,206,246,248,62,226,119,249,62,244,248,249,62,4,122,250,62,18,251,250,62,30,124,251,62,40,253,251,62,47,126,252,62,52,255,252,62,54,128,253,62,52,1,254,62,48,130,254,62,40,3,255,62,29,132,255,62,135,2,0,63,254,66,0,63,115,131,0,63,230,195,0,63,86,4,1,63,197,68,1,63,49,133,1,63,155,197,1,63,3,6,2,63,103,70,2,63,202,134,2,63,42,199,2,63,135,7,3,63,225,71,3,63,56,136,3,63,141,200,3,63,222,8,4,63,44,73,4,63,119,137,4,63,191,201,4,63,3,10,5,63,68,74,5,63,130,138,5,63,188,202,5,63,242,10,6,63,36,75,6,63,83,139,6,63,126,203,6,63,165,11,7,63,199,75,7,63,230,139,7,63,1,204,7,63,23,12,8,63,41,76,8,63,54,140,8,63,63,204,8,63,67,12,9,63,67,76,9,63,62,140,9,63,52,204,9,63,37,12,10,63,18,76,10,63,249,139,10,63,219,203,10,63,184,11,11,63,144,75,11,63,98,139,11,63,47,203,11,63,246,10,12,63,184,74,12,63,116,138,12,63,43,202,12,63,219,9,13,63,134,73,13,63,43,137,13,63,202,200,13,63,98,8,14,63,245,71,14,63,129,135,14,63,7,199,14,63,135,6,15,63,0,70,15,63,114,133,15,63,222,196,15,63,67,4,16,63,161,67,16,63,249,130,16,63,73,194,16,63,147,1,17,63,213,64,17,63,17,128,17,63,69,191,17,63,114,254,17,63,151,61,18,63,181,124,18,63,203,187,18,63,218,250,18,63,225,57,19,63,225,120,19,63,216,183,19,63,200,246,19,63,176,53,20,63,143,116,20,63,103,179,20,63,54,242,20,63,253,48,21,63,188,111,21,63,114,174,21,63,32,237,21,63,197,43,22,63,98,106,22,63,246,168,22,63,129,231,22,63,3,38,23,63,125,100,23,63,237,162,23,63,84,225,23,63,178,31,24,63,7,94,24,63,83,156,24,63,149,218,24,63,206,24,25,63,253,86,25,63,35,149,25,63,63,211,25,63,82,17,26,63,90,79,26,63,89,141,26,63,78,203,26,63,57,9,27,63,25,71,27,63,240,132,27,63,188,194,27,63,126,0,28,63,54,62,28,63,227,123,28,63,134,185,28,63,30,247,28,63,172,52,29,63,47,114,29,63,167,175,29,63,20,237,29,63,118,42,30,63,206,103,30,63,26,165,30,63,91,226,30,63,145,31,31,63,188,92,31,63,219,153,31,63,239,214,31,63,247,19,32,63,244,80,32,63,230,141,32,63,203,202,32,63,165,7,33,63,115,68,33,63,53,129,33,63,235,189,33,63,150,250,33,63,52,55,34,63,198,115,34,63,75,176,34,63,197,236,34,63,50,41,35,63,146,101,35,63,230,161,35,63,46,222,35,63,105,26,36,63,151,86,36,63,185,146,36,63,205,206,36,63,213,10,37,63,208,70,37,63,190,130,37,63,158,190,37,63,114,250,37,63,56,54,38,63,241,113,38,63,157,173,38,63,59,233,38,63,204,36,39,63,79,96,39,63,197,155,39,63,45,215,39,63,135,18,40,63,211,77,40,63,18,137,40,63,66,196,40,63,101,255,40,63,121,58,41,63,128,117,41,63,120,176,41,63,98,235,41,63,62,38,42,63,11,97,42,63,202,155,42,63,122,214,42,63,28,17,43,63,175,75,43,63,52,134,43,63,170,192,43,63,16,251,43,63,105,53,44,63,178,111,44,63,236,169,44,63,23,228,44,63,51,30,45,63,64,88,45,63,61,146,45,63,43,204,45,63,10,6,46,63,218,63,46,63,154,121,46,63,74,179,46,63,235,236,46,63,124,38,47,63,254,95,47,63,112,153,47,63,210,210,47,63,36,12,48,63,102,69,48,63,152,126,48,63,186,183,48,63,204,240,48,63,205,41,49,63,191,98,49,63,160,155,49,63,113,212,49,63,49,13,50,63,225,69,50,63,128,126,50,63,15,183,50,63,141,239,50,63,251,39,51,63,87,96,51,63,163,152,51,63,222,208,51,63,8,9,52,63,34,65,52,63,42,121,52,63,33,177,52,63,7,233,52,63,219,32,53,63,159,88,53,63,81,144,53,63,242,199,53,63,129,255,53,63,255,54,54,63,108,110,54,63,198,165,54,63,16,221,54,63,71,20,55,63,109,75,55,63,129,130,55,63,131,185,55,63,116,240,55,63,82,39,56,63,30,94,56,63,217,148,56,63,129,203,56,63,23,2,57,63,155,56,57,63,13,111,57,63,108,165,57,63,185,219,57,63,244,17,58,63,28,72,58,63,50,126,58,63,53,180,58,63,38,234,58,63,4,32,59,63,207,85,59,63,135,139,59,63,45,193,59,63,192,246,59,63,64,44,60,63,173,97,60,63,7,151,60,63,78,204,60,63,130,1,61,63,163,54,61,63,177,107,61,63,171,160,61,63,146,213,61,63,102,10,62,63,39,63,62,63,212,115,62,63,110,168,62,63,244,220,62,63,103,17,63,63,198,69,63,63,17,122,63,63,73,174,63,63,109,226,63,63,126,22,64,63,122,74,64,63,99,126,64,63,56,178,64,63,248,229,64,63,165,25,65,63,62,77,65,63,195,128,65,63,52,180,65,63,144,231,65,63,216,26,66,63,13,78,66,63,44,129,66,63,56,180,66,63,47,231,66,63,18,26,67,63,224,76,67,63,154,127,67,63,64,178,67,63,208,228,67,63,77,23,68,63,180,73,68,63,7,124,68,63,69,174,68,63,111,224,68,63,131,18,69,63,131,68,69,63,110,118,69,63,68,168,69,63,5,218,69,63,177,11,70,63,72,61,70,63,202,110,70,63,55,160,70,63,143,209,70,63,210,2,71,63,255,51,71,63,23,101,71,63,26,150,71,63,8,199,71,63,224,247,71,63,163,40,72,63,81,89,72,63,233,137,72,63,107,186,72,63,216,234,72,63,48,27,73,63,114,75,73,63,158,123,73,63,181,171,73,63,181,219,73,63,161,11,74,63,118,59,74,63,54,107,74,63,224,154,74,63,116,202,74,63,242,249,74,63,90,41,75,63,173,88,75,63,233,135,75,63,15,183,75,63,32,230,75,63,26,21,76,63,254,67,76,63,204,114,76,63,132,161,76,63,38,208,76,63,177,254,76,63,38,45,77,63,133,91,77,63,206,137,77,63,0,184,77,63,28,230,77,63,34,20,78,63,17,66,78,63,234,111,78,63,172,157,78,63,88,203,78,63,238,248,78,63,108,38,79,63,213,83,79,63,38,129,79,63,97,174,79,63,134,219,79,63,147,8,80,63,138,53,80,63,107,98,80,63,52,143,80,63,231,187,80,63,131,232,80,63,8,21,81,63,119,65,81,63,206,109,81,63,15,154,81,63,57,198,81,63,76,242,81,63,71,30,82,63,44,74,82,63,250,117,82,63,177,161,82,63,81,205,82,63,218,248,82,63,76,36,83,63,166,79,83,63,234,122,83,63,22,166,83,63,44,209,83,63,42,252,83,63,17,39,84,63,224,81,84,63,153,124,84,63,58,167,84,63,196,209,84,63,54,252,84,63,146,38,85,63,214,80,85,63,2,123,85,63,24,165,85,63,22,207,85,63,252,248,85,63,204,34,86,63,131,76,86,63,36,118,86,63,172,159,86,63,30,201,86,63,120,242,86,63,186,27,87,63,229,68,87,63,248,109,87,63,244,150,87,63,216,191,87,63,165,232,87,63,90,17,88,63,248,57,88,63,126,98,88,63,236,138,88,63,67,179,88,63,130,219,88,63,169,3,89,63,185,43,89,63,177,83,89,63,145,123,89,63,90,163,89,63,11,203,89,63,164,242,89,63,37,26,90,63,143,65,90,63,225,104,90,63,27,144,90,63,62,183,90,63,72,222,90,63,59,5,91,63,22,44,91,63,217,82,91,63,133,121,91,63,24,160,91,63,148,198,91,63,248,236,91,63,68,19,92,63,120,57,92,63,149,95,92,63,153,133,92,63,134,171,92,63,91,209,92,63,24,247,92,63,189,28,93,63,74,66,93,63,191,103,93,63,28,141,93,63,98,178,93,63,143,215,93,63,165,252,93,63,162,33,94,63,136,70,94,63,86,107,94,63,11,144,94,63,169,180,94,63,47,217,94,63,157,253,94,63,243,33,95,63,49,70,95,63,88,106,95,63,102,142,95,63,92,178,95,63,59,214,95,63,1,250,95,63,175,29,96,63,70,65,96,63,196,100,96,63,43,136,96,63,122,171,96,63,176,206,96,63,207,241,96,63,214,20,97,63,197,55,97,63,155,90,97,63,90,125,97,63,1,160,97,63,144,194,97,63,8,229,97,63,103,7,98,63,174,41,98,63,221,75,98,63,245,109,98,63,244,143,98,63,220,177,98,63,171,211,98,63,99,245,98,63,3,23,99,63,139,56,99,63,251,89,99,63,83,123,99,63,147,156,99,63,188,189,99,63,204,222,99,63,197,255,99,63,166,32,100,63,110,65,100,63,32,98,100,63,185,130,100,63,58,163,100,63,164,195,100,63,245,227,100,63,47,4,101,63,82,36,101,63,92,68,101,63,78,100,101,63,41,132,101,63,236,163,101,63,151,195,101,63,43,227,101,63,167,2,102,63,11,34,102,63,87,65,102,63,139,96,102,63,168,127,102,63,174,158,102,63,155,189,102,63,113,220,102,63,47,251,102,63,214,25,103,63,101,56,103,63,220,86,103,63,59,117,103,63,132,147,103,63,180,177,103,63,205,207,103,63,206,237,103,63,184,11,104,63,138,41,104,63,69,71,104,63,233,100,104,63,116,130,104,63,233,159,104,63,69,189,104,63,139,218,104,63,185,247,104,63,207,20,105,63,207,49,105,63,182,78,105,63,135,107,105,63,64,136,105,63,225,164,105,63,108,193,105,63,223,221,105,63,59,250,105,63,127,22,106,63,172,50,106,63,195,78,106,63,193,106,106,63,169,134,106,63,121,162,106,63,51,190,106,63,213,217,106,63,96,245,106,63,212,16,107,63,48,44,107,63,118,71,107,63,165,98,107,63,188,125,107,63,189,152,107,63,167,179,107,63,121,206,107,63,53,233,107,63,218,3,108,63,104,30,108,63,223,56,108,63,63,83,108,63,136,109,108,63,187,135,108,63,214,161,108,63,219,187,108,63,201,213,108,63,161,239,108,63,97,9,109,63,11,35,109,63,159,60,109,63,27,86,109,63,129,111,109,63,209,136,109,63,9,162,109,63,44,187,109,63,56,212,109,63,45,237,109,63,12,6,110,63,212,30,110,63,134,55,110,63,33,80,110,63,166,104,110,63,21,129,110,63,110,153,110,63,176,177,110,63,220,201,110,63,241,225,110,63,241,249,110,63,218,17,111,63,173,41,111,63,106,65,111,63,16,89,111,63,161,112,111,63,28,136,111,63,128,159,111,63,207,182,111,63,7,206,111,63,42,229,111,63,54,252,111,63,45,19,112,63,14,42,112,63,217,64,112,63,142,87,112,63,46,110,112,63,184,132,112,63,43,155,112,63,138,177,112,63,210,199,112,63,5,222,112,63,35,244,112,63,42,10,113,63,29,32,113,63,249,53,113,63,193,75,113,63,114,97,113,63,15,119,113,63,150,140,113,63,7,162,113,63,99,183,113,63,170,204,113,63,220,225,113,63,249,246,113,63,0,12,114,63,242,32,114,63,207,53,114,63,151,74,114,63,73,95,114,63,231,115,114,63,112,136,114,63,227,156,114,63,66,177,114,63,140,197,114,63,193,217,114,63,225,237,114,63,236,1,115,63,227,21,115,63,197,41,115,63,146,61,115,63,74,81,115,63,238,100,115,63,125,120,115,63,248,139,115,63,94,159,115,63,175,178,115,63,236,197,115,63,21,217,115,63,41,236,115,63,41,255,115,63,21,18,116,63,236,36,116,63,175,55,116,63,94,74,116,63,248,92,116,63,127,111,116,63,241,129,116,63,80,148,116,63,154,166,116,63,208,184,116,63,242,202,116,63,1,221,116,63,251,238,116,63,226,0,117,63,181,18,117,63,116,36,117,63,31,54,117,63,183,71,117,63,59,89,117,63,171,106,117,63,8,124,117,63,81,141,117,63,135,158,117,63,169,175,117,63,184,192,117,63,179,209,117,63,155,226,117,63,112,243,117,63,50,4,118,63,224,20,118,63,123,37,118,63,3,54,118,63,120,70,118,63,217,86,118,63,40,103,118,63,100,119,118,63,140,135,118,63,162,151,118,63,165,167,118,63,149,183,118,63,114,199,118,63,61,215,118,63,245,230,118,63,154,246,118,63,44,6,119,63,172,21,119,63,26,37,119,63,117,52,119,63,189,67,119,63,243,82,119,63,22,98,119,63,40,113,119,63,39,128,119,63,19,143,119,63,238,157,119,63,182,172,119,63,108,187,119,63,16,202,119,63,162,216,119,63,34,231,119,63,144,245,119,63,236,3,120,63,55,18,120,63,111,32,120,63,150,46,120,63,170,60,120,63,174,74,120,63,159,88,120,63,127,102,120,63,77,116,120,63,10,130,120,63,181,143,120,63,79,157,120,63,215,170,120,63,78,184,120,63,180,197,120,63,8,211,120,63,76,224,120,63,126,237,120,63,158,250,120,63,174,7,121,63,173,20,121,63,155,33,121,63,119,46,121,63,67,59,121,63,254,71,121,63,168,84,121,63,66,97,121,63,202,109,121,63,66,122,121,63,169,134,121,63,0,147,121,63,70,159,121,63,124,171,121,63,161,183,121,63,181,195,121,63,186,207,121,63,173,219,121,63,145,231,121,63,100,243,121,63,40,255,121,63,219,10,122,63,126,22,122,63,16,34,122,63,147,45,122,63,6,57,122,63,105,68,122,63,188,79,122,63,255,90,122,63,51,102,122,63,86,113,122,63,106,124,122,63,111,135,122,63,99,146,122,63,72,157,122,63,30,168,122,63,228,178,122,63,155,189,122,63,66,200,122,63,218,210,122,63,99,221,122,63,221,231,122,63,71,242,122,63,162,252,122,63,238,6,123,63,43,17,123,63,89,27,123,63,120,37,123,63,137,47,123,63,138,57,123,63,124,67,123,63,96,77,123,63,53,87,123,63,252,96,123,63,179,106,123,63,92,116,123,63,247,125,123,63,131,135,123,63,1,145,123,63,112,154,123,63,209,163,123,63,36,173,123,63,104,182,123,63,158,191,123,63,198,200,123,63,224,209,123,63,236,218,123,63,234,227,123,63,218,236,123,63,188,245,123,63,144,254,123,63,86,7,124,63,14,16,124,63,185,24,124,63,86,33,124,63,230,41,124,63,104,50,124,63,220,58,124,63,67,67,124,63,156,75,124,63,232,83,124,63,39,92,124,63,88,100,124,63,124,108,124,63,147,116,124,63,157,124,124,63,153,132,124,63,137,140,124,63,107,148,124,63,65,156,124,63,9,164,124,63,197,171,124,63,116,179,124,63,22,187,124,63,172,194,124,63,52,202,124,63,176,209,124,63,32,217,124,63,131,224,124,63,217,231,124,63,35,239,124,63,97,246,124,63,146,253,124,63,183,4,125,63,208,11,125,63,221,18,125,63,221,25,125,63,209,32,125,63,185,39,125,63,150,46,125,63,102,53,125,63,42,60,125,63,227,66,125,63,143,73,125,63,48,80,125,63,197,86,125,63,78,93,125,63,204,99,125,63,62,106,125,63,165,112,125,63,0,119,125,63,80,125,125,63,148,131,125,63,205,137,125,63,251,143,125,63,29,150,125,63,52,156,125,63,64,162,125,63,65,168,125,63,55,174,125,63,34,180,125,63,2,186,125,63,215,191,125,63,161,197,125,63,96,203,125,63,21,209,125,63,190,214,125,63,93,220,125,63,242,225,125,63,124,231,125,63,251,236,125,63,112,242,125,63,218,247,125,63,58,253,125,63,143,2,126,63,219,7,126,63,28,13,126,63,82,18,126,63,127,23,126,63,161,28,126,63,186,33,126,63,200,38,126,63,204,43,126,63,199,48,126,63,183,53,126,63,158,58,126,63,123,63,126,63,78,68,126,63,23,73,126,63,215,77,126,63,141,82,126,63,58,87,126,63,221,91,126,63,118,96,126,63,6,101,126,63,141,105,126,63,10,110,126,63,126,114,126,63,233,118,126,63,75,123,126,63,164,127,126,63,243,131,126,63,57,136,126,63,119,140,126,63,171,144,126,63,214,148,126,63,249,152,126,63,18,157,126,63,35,161,126,63,44,165,126,63,43,169,126,63,34,173,126,63,16,177,126,63,246,180,126,63,211,184,126,63,167,188,126,63,115,192,126,63,55,196,126,63,243,199,126,63,166,203,126,63,81,207,126,63,243,210,126,63,142,214,126,63,32,218,126,63,171,221,126,63,45,225,126,63,167,228,126,63,26,232,126,63,132,235,126,63,231,238,126,63,66,242,126,63,149,245,126,63,224,248,126,63,36,252,126,63,96,255,126,63,148,2,127,63,193,5,127,63,230,8,127,63,4,12,127,63,27,15,127,63,42,18,127,63,50,21,127,63,50,24,127,63,43,27,127,63,29,30,127,63,8,33,127,63,236,35,127,63,201,38,127,63,158,41,127,63,109,44,127,63,53,47,127,63,246,49,127,63,175,52,127,63,99,55,127,63,15,58,127,63,181,60,127,63,83,63,127,63,236,65,127,63,125,68,127,63,8,71,127,63,141,73,127,63,11,76,127,63,131,78,127,63,244,80,127,63,95,83,127,63,195,85,127,63,33,88,127,63,121,90,127,63,203,92,127,63,23,95,127,63,92,97,127,63,155,99,127,63,213,101,127,63,8,104,127,63,54,106,127,63,93,108,127,63,127,110,127,63,155,112,127,63,177,114,127,63,193,116,127,63,203,118,127,63,208,120,127,63,207,122,127,63,201,124,127,63,189,126,127,63,171,128,127,63,148,130,127,63,120,132,127,63,86,134,127,63,47,136,127,63,2,138,127,63,209,139,127,63,153,141,127,63,93,143,127,63,28,145,127,63,213,146,127,63,137,148,127,63,57,150,127,63,227,151,127,63,136,153,127,63,40,155,127,63,196,156,127,63,90,158,127,63,236,159,127,63,121,161,127,63,1,163,127,63,132,164,127,63,3,166,127,63,125,167,127,63,242,168,127,63,99,170,127,63,207,171,127,63,55,173,127,63,154,174,127,63,249,175,127,63,84,177,127,63,170,178,127,63,251,179,127,63,73,181,127,63,146,182,127,63,215,183,127,63,24,185,127,63,85,186,127,63,141,187,127,63,193,188,127,63,242,189,127,63,30,191,127,63,71,192,127,63,107,193,127,63,140,194,127,63,168,195,127,63,193,196,127,63,214,197,127,63,231,198,127,63,245,199,127,63,255,200,127,63,5,202,127,63,7,203,127,63,6,204,127,63,1,205,127,63,249,205,127,63,237,206,127,63,222,207,127,63,203,208,127,63,181,209,127,63,156,210,127,63,127,211,127,63,95,212,127,63,59,213,127,63,20,214,127,63,234,214,127,63,189,215,127,63,141,216,127,63,90,217,127,63,35,218,127,63,233,218,127,63,173,219,127,63,109,220,127,63,43,221,127,63,229,221,127,63,156,222,127,63,81,223,127,63,3,224,127,63,178,224,127,63,94,225,127,63,7,226,127,63,174,226,127,63,82,227,127,63,243,227,127,63,146,228,127,63,46,229,127,63,199,229,127,63,94,230,127,63,242,230,127,63,132,231,127,63,19,232,127,63,160,232,127,63,42,233,127,63,178,233,127,63,56,234,127,63,187,234,127,63,60,235,127,63,187,235,127,63,55,236,127,63,177,236,127,63,41,237,127,63,159,237,127,63,18,238,127,63,132,238,127,63,243,238,127,63,96,239,127,63,204,239,127,63,53,240,127,63,156,240,127,63,1,241,127,63,101,241,127,63,198,241,127,63,37,242,127,63,131,242,127,63,222,242,127,63,56,243,127,63,144,243,127,63,231,243,127,63,59,244,127,63,142,244,127,63,223,244,127,63,46,245,127,63,124,245,127,63,200,245,127,63,19,246,127,63,91,246,127,63,163,246,127,63,233,246,127,63,45,247,127,63,111,247,127,63,177,247,127,63,240,247,127,63,47,248,127,63,108,248,127,63,167,248,127,63,225,248,127,63,26,249,127,63,82,249,127,63,136,249,127,63,188,249,127,63,240,249,127,63,34,250,127,63,83,250,127,63,131,250,127,63,178,250,127,63,224,250,127,63,12,251,127,63,55,251,127,63,97,251,127,63,138,251,127,63,178,251,127,63,217,251,127,63,255,251,127,63,36,252,127,63,72,252,127,63,107,252,127,63,141,252,127,63,173,252,127,63,205,252,127,63,237,252,127,63,11,253,127,63,40,253,127,63,69,253,127,63,96,253,127,63,123,253,127,63,149,253,127,63,174,253,127,63,199,253,127,63,222,253,127,63,245,253,127,63,12,254,127,63,33,254,127,63,54,254,127,63,74,254,127,63,93,254,127,63,112,254,127,63,130,254,127,63,148,254,127,63,165,254,127,63,181,254,127,63,197,254,127,63,212,254,127,63,227,254,127,63,241,254,127,63,254,254,127,63,11,255,127,63,24,255,127,63,36,255,127,63,47,255,127,63,59,255,127,63,69,255,127,63,79,255,127,63,89,255,127,63,99,255,127,63,108,255,127,63,116,255,127,63,124,255,127,63,132,255,127,63,140,255,127,63,147,255,127,63,154,255,127,63,160,255,127,63,166,255,127,63,172,255,127,63,178,255,127,63,183,255,127,63,188,255,127,63,193,255,127,63,197,255,127,63,202,255,127,63,206,255,127,63,209,255,127,63,213,255,127,63,216,255,127,63,220,255,127,63,223,255,127,63,225,255,127,63,228,255,127,63,230,255,127,63,233,255,127,63,235,255,127,63,237,255,127,63,239,255,127,63,240,255,127,63,242,255,127,63,243,255,127,63,245,255,127,63,246,255,127,63,247,255,127,63,248,255,127,63,249,255,127,63,250,255,127,63,251,255,127,63,251,255,127,63,252,255,127,63,252,255,127,63,253,255,127,63,253,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,198,63,120,51,98,136,11,53,151,200,193,53,80,233,61,54,183,247,156,54,46,124,234,54,153,192,35,55,244,2,90,55,56,3,140,55,227,228,174,55,177,166,213,55,108,36,0,56,146,101,23,56,201,150,48,56,18,184,75,56,81,201,104,56,94,229,131,56,29,94,148,56,229,206,165,56,167,55,184,56,128,152,203,56,85,241,223,56,36,66,245,56,126,197,5,57,238,101,17,57,99,130,29,57,207,26,42,57,63,47,55,57,179,191,68,57,30,204,82,57,141,84,97,57,243,88,112,57,94,217,127,57,227,234,135,57,18,39,144,57,64,161,152,57,105,89,161,57,146,79,170,57,181,131,179,57,215,245,188,57,245,165,198,57,14,148,208,57,34,192,218,57,46,42,229,57,57,210,239,57,60,184,250,57,27,238,2,58,22,159,8,58,13,111,14,58,0,94,20,58,239,107,26,58,218,152,32,58,192,228,38,58,161,79,45,58,124,217,51,58,83,130,58,58,37,74,65,58,240,48,72,58,182,54,79,58,116,91,86,58,45,159,93,58,222,1,101,58,136,131,108,58,42,36,116,58,196,227,123,58,44,225,129,58,241,223,133,58,49,238,137,58,238,11,142,58,37,57,146,58,215,117,150,58,5,194,154,58,174,29,159,58,209,136,163,58,110,3,168,58,134,141,172,58,24,39,177,58,36,208,181,58,169,136,186,58,169,80,191,58,33,40,196,58,19,15,201,58,126,5,206,58,98,11,211,58,191,32,216,58,148,69,221,58,225,121,226,58,166,189,231,58,227,16,237,58,152,115,242,58,196,229,247,58,103,103,253,58,65,124,1,59,137,76,4,59,141,36,7,59,76,4,10,59,198,235,12,59,251,218,15,59,235,209,18,59,149,208,21,59,251,214,24,59,26,229,27,59,244,250,30,59,136,24,34,59,215,61,37,59,223,106,40,59,161,159,43,59,29,220,46,59,83,32,50,59,66,108,53,59,234,191,56,59,76,27,60,59,103,126,63,59,59,233,66,59,199,91,70,59,12,214,73,59,10,88,77,59,193,225,80,59,48,115,84,59,86,12,88,59,53,173,91,59,204,85,95,59,26,6,99,59,32,190,102,59,222,125,106,59,82,69,110,59,127,20,114,59,97,235,117,59,251,201,121,59,76,176,125,59,41,207,128,59,8,202,130,59,194,200,132,59,87,203,134,59,198,209,136,59,17,220,138,59,55,234,140,59,55,252,142,59,18,18,145,59,199,43,147,59,87,73,149,59,194,106,151,59,6,144,153,59,37,185,155,59,30,230,157,59,241,22,160,59,158,75,162,59,37,132,164,59,134,192,166,59,192,0,169,59,212,68,171,59,193,140,173,59,137,216,175,59,41,40,178,59,163,123,180,59,245,210,182,59,33,46,185,59,38,141,187,59,4,240,189,59,186,86,192,59,73,193,194,59,177,47,197,59,242,161,199,59,10,24,202,59,251,145,204,59,196,15,207,59,102,145,209,59,223,22,212,59,49,160,214,59,90,45,217,59,91,190,219,59,51,83,222,59,227,235,224,59,107,136,227,59,201,40,230,59,255,204,232,59,12,117,235,59,240,32,238,59,171,208,240,59,61,132,243,59,165,59,246,59,228,246,248,59,250,181,251,59,229,120,254,59,212,159,0,60,32,5,2,60,87,108,3,60,121,213,4,60,134,64,6,60,126,173,7,60,96,28,9,60,45,141,10,60,229,255,11,60,136,116,13,60,21,235,14,60,141,99,16,60,239,221,17,60,59,90,19,60,114,216,20,60,147,88,22,60,158,218,23,60,147,94,25,60,115,228,26,60,60,108,28,60,240,245,29,60,141,129,31,60,20,15,33,60,133,158,34,60,224,47,36,60,36,195,37,60,82,88,39,60,105,239,40,60,106,136,42,60,84,35,44,60,40,192,45,60,229,94,47,60,139,255,48,60,26,162,50,60,146,70,52,60,243,236,53,60,61,149,55,60,112,63,57,60,140,235,58,60,145,153,60,60,126,73,62,60,84,251,63,60,18,175,65,60,185,100,67,60,72,28,69,60,192,213,70,60,31,145,72,60,103,78,74,60,151,13,76,60,175,206,77,60,176,145,79,60,152,86,81,60,103,29,83,60,31,230,84,60,190,176,86,60,69,125,88,60,179,75,90,60,9,28,92,60,71,238,93,60,107,194,95,60,119,152,97,60,106,112,99,60,68,74,101,60,5,38,103,60,173,3,105,60,60,227,106,60,178,196,108,60,14,168,110,60,81,141,112,60,123,116,114,60,139,93,116,60,130,72,118,60,95,53,120,60,34,36,122,60,203,20,124,60,90,7,126,60,208,251,127,60,22,249,128,60,54,245,129,60,74,242,130,60,80,240,131,60,73,239,132,60,53,239,133,60,19,240,134,60,229,241,135,60,169,244,136,60,95,248,137,60,8,253,138,60,164,2,140,60,50,9,141,60,178,16,142,60,37,25,143,60,139,34,144,60,226,44,145,60,44,56,146,60,104,68,147,60,150,81,148,60,182,95,149,60,201,110,150,60,205,126,151,60,196,143,152,60,172,161,153,60,135,180,154,60,83,200,155,60,17,221,156,60,193,242,157,60,98,9,159,60,245,32,160,60,122,57,161,60,241,82,162,60,89,109,163,60,178,136,164,60,253,164,165,60,57,194,166,60,103,224,167,60,134,255,168,60,151,31,170,60,152,64,171,60,139,98,172,60,111,133,173,60,68,169,174,60,10,206,175,60,193,243,176,60,105,26,178,60,2,66,179,60,139,106,180,60,6,148,181,60,113,190,182,60,205,233,183,60,26,22,185,60,87,67,186,60,133,113,187,60,163,160,188,60,177,208,189,60,177,1,191,60,160,51,192,60,128,102,193,60,80,154,194,60,16,207,195,60,193,4,197,60,97,59,198,60,242,114,199,60,114,171,200,60,227,228,201,60,67,31,203,60,147,90,204,60,211,150,205,60,3,212,206,60,34,18,208,60,49,81,209,60,48,145,210,60,30,210,211,60,252,19,213,60,201,86,214,60,133,154,215,60,49,223,216,60,204,36,218,60,86,107,219,60,208,178,220,60,56,251,221,60,144,68,223,60,214,142,224,60,12,218,225,60,48,38,227,60,67,115,228,60,69,193,229,60,54,16,231,60,21,96,232,60,227,176,233,60,160,2,235,60,75,85,236,60,228,168,237,60,108,253,238,60,226,82,240,60,70,169,241,60,153,0,243,60,218,88,244,60,8,178,245,60,37,12,247,60,48,103,248,60,41,195,249,60,15,32,251,60,228,125,252,60,166,220,253,60,85,60,255,60,121,78,0,61,63,255,0,61,123,176,1,61,46,98,2,61,88,20,3,61,248,198,3,61,15,122,4,61,156,45,5,61,161,225,5,61,27,150,6,61,12,75,7,61,116,0,8,61,82,182,8,61,167,108,9,61,113,35,10,61,179,218,10,61,106,146,11,61,152,74,12,61,60,3,13,61,87,188,13,61,231,117,14,61,238,47,15,61,107,234,15,61,94,165,16,61,199,96,17,61,166,28,18,61,251,216,18,61,198,149,19,61,7,83,20,61,190,16,21,61,234,206,21,61,141,141,22,61,165,76,23,61,52,12,24,61,56,204,24,61,177,140,25,61,161,77,26,61,6,15,27,61,224,208,27,61,48,147,28,61,246,85,29,61,49,25,30,61,226,220,30,61,8,161,31,61,164,101,32,61,181,42,33,61,59,240,33,61,55,182,34,61,168,124,35,61,142,67,36,61,233,10,37,61,186,210,37,61,255,154,38,61,186,99,39,61,234,44,40,61,143,246,40,61,168,192,41,61,55,139,42,61,59,86,43,61,180,33,44,61,161,237,44,61,4,186,45,61,219,134,46,61,38,84,47,61,231,33,48,61,28,240,48,61,198,190,49,61,229,141,50,61,120,93,51,61,127,45,52,61,251,253,52,61,236,206,53,61,81,160,54,61,42,114,55,61,120,68,56,61,58,23,57,61,112,234,57,61,27,190,58,61,58,146,59,61,204,102,60,61,211,59,61,61,79,17,62,61,62,231,62,61,161,189,63,61,120,148,64,61,195,107,65,61,130,67,66,61,181,27,67,61,92,244,67,61,118,205,68,61,4,167,69,61,6,129,70,61,124,91,71,61,101,54,72,61,194,17,73,61,146,237,73,61,214,201,74,61,141,166,75,61,184,131,76,61,86,97,77,61,104,63,78,61,236,29,79,61,229,252,79,61,80,220,80,61,46,188,81,61,128,156,82,61,69,125,83,61,125,94,84,61,40,64,85,61,69,34,86,61,214,4,87,61,218,231,87,61,81,203,88,61,58,175,89,61,150,147,90,61,101,120,91,61,167,93,92,61,91,67,93,61,130,41,94,61,28,16,95,61,40,247,95,61,167,222,96,61,152,198,97,61,251,174,98,61,209,151,99,61,25,129,100,61,212,106,101,61,0,85,102,61,159,63,103,61,176,42,104,61,51,22,105,61,41,2,106,61,144,238,106,61,105,219,107,61,180,200,108,61,113,182,109,61,160,164,110,61,65,147,111,61,84,130,112,61,216,113,113,61,206,97,114,61,54,82,115,61,15,67,116,61,89,52,117,61,22,38,118,61,67,24,119,61,226,10,120,61,243,253,120,61,117,241,121,61,104,229,122,61,204,217,123,61,162,206,124,61,232,195,125,61,160,185,126,61,201,175,127,61,49,83,128,61,183,206,128,61,117,74,129,61,107,198,129,61,154,66,130,61,1,191,130,61,160,59,131,61,120,184,131,61,136,53,132,61,209,178,132,61,81,48,133,61,10,174,133,61,251,43,134,61,37,170,134,61,134,40,135,61,32,167,135,61,242,37,136,61,252,164,136,61,62,36,137,61,184,163,137,61,106,35,138,61,84,163,138,61,118,35,139,61,209,163,139,61,99,36,140,61,45,165,140,61,46,38,141,61,104,167,141,61,218,40,142,61,131,170,142,61,100,44,143,61,125,174,143,61,206,48,144,61,86,179,144,61,23,54,145,61,14,185,145,61,62,60,146,61,165,191,146,61,67,67,147,61,26,199,147,61,39,75,148,61,109,207,148,61,234,83,149,61,158,216,149,61,138,93,150,61,173,226,150,61,7,104,151,61,153,237,151,61,98,115,152,61,99,249,152,61,155,127,153,61,10,6,154,61,176,140,154,61,142,19,155,61,163,154,155,61,239,33,156,61,114,169,156,61,44,49,157,61,29,185,157,61,69,65,158,61,165,201,158,61,59,82,159,61,8,219,159,61,13,100,160,61,72,237,160,61,186,118,161,61,99,0,162,61,67,138,162,61,90,20,163,61,167,158,163,61,43,41,164,61,230,179,164,61,216,62,165,61,0,202,165,61,95,85,166,61,245,224,166,61,193,108,167,61,196,248,167,61,254,132,168,61,110,17,169,61,20,158,169,61,241,42,170,61,4,184,170,61,78,69,171,61,206,210,171,61,133,96,172,61,113,238,172,61,149,124,173,61,238,10,174,61,126,153,174,61,67,40,175,61,63,183,175,61,114,70,176,61,218,213,176,61,120,101,177,61,77,245,177,61,88,133,178,61,152,21,179,61,15,166,179,61,187,54,180,61,158,199,180,61,182,88,181,61,4,234,181,61,137,123,182,61,67,13,183,61,50,159,183,61,88,49,184,61,179,195,184,61,68,86,185,61,11,233,185,61,7,124,186,61,57,15,187,61,160,162,187,61,61,54,188,61,16,202,188,61,24,94,189,61,85,242,189,61,200,134,190,61,112,27,191,61,78,176,191,61,97,69,192,61,170,218,192,61,39,112,193,61,218,5,194,61,194,155,194,61,224,49,195,61,50,200,195,61,186,94,196,61,119,245,196,61,104,140,197,61,143,35,198,61,235,186,198,61,124,82,199,61,66,234,199,61,61,130,200,61,108,26,201,61,209,178,201,61,106,75,202,61,57,228,202,61,59,125,203,61,115,22,204,61,224,175,204,61,129,73,205,61,86,227,205,61,97,125,206,61,159,23,207,61,19,178,207,61,187,76,208,61,151,231,208,61,168,130,209,61,237,29,210,61,103,185,210,61,21,85,211,61,248,240,211,61,14,141,212,61,89,41,213,61,216,197,213,61,140,98,214,61,115,255,214,61,143,156,215,61,223,57,216,61,99,215,216,61,27,117,217,61,7,19,218,61,38,177,218,61,122,79,219,61,2,238,219,61,189,140,220,61,173,43,221,61,208,202,221,61,39,106,222,61,178,9,223,61,112,169,223,61,98,73,224,61,136,233,224,61,226,137,225,61,111,42,226,61,47,203,226,61,35,108,227,61,74,13,228,61,165,174,228,61,52,80,229,61,245,241,229,61,234,147,230,61,19,54,231,61,110,216,231,61,253,122,232,61,191,29,233,61,180,192,233,61,221,99,234,61,56,7,235,61,199,170,235,61,136,78,236,61,125,242,236,61,164,150,237,61,255,58,238,61,140,223,238,61,76,132,239,61,63,41,240,61,101,206,240,61,189,115,241,61,73,25,242,61,7,191,242,61,247,100,243,61,26,11,244,61,112,177,244,61,248,87,245,61,179,254,245,61,160,165,246,61,192,76,247,61,18,244,247,61,151,155,248,61,77,67,249,61,55,235,249,61,82,147,250,61,159,59,251,61,31,228,251,61,209,140,252,61,181,53,253,61,203,222,253,61,19,136,254,61,141,49,255,61,57,219,255,61,140,66,0,62,148,151,0,62,181,236,0,62,238,65,1,62,65,151,1,62,173,236,1,62,49,66,2,62,206,151,2,62,132,237,2,62,83,67,3,62,59,153,3,62,59,239,3,62,84,69,4,62,134,155,4,62,209,241,4,62,52,72,5,62,176,158,5,62,68,245,5,62,242,75,6,62,183,162,6,62,150,249,6,62,141,80,7,62,156,167,7,62,196,254,7,62,5,86,8,62,94,173,8,62,207,4,9,62,89,92,9,62,252,179,9,62,183,11,10,62,138,99,10,62,118,187,10,62,122,19,11,62,150,107,11,62,203,195,11,62,24,28,12,62,125,116,12,62,250,204,12,62,144,37,13,62,62,126,13,62,4,215,13,62,227,47,14,62,217,136,14,62,232,225,14,62,15,59,15,62,78,148,15,62,165,237,15,62,20,71,16,62,155,160,16,62,58,250,16,62,241,83,17,62,193,173,17,62,168,7,18,62,167,97,18,62,190,187,18,62,237,21,19,62,51,112,19,62,146,202,19,62,9,37,20,62,151,127,20,62,61,218,20,62,251,52,21,62,209,143,21,62,190,234,21,62,195,69,22,62,224,160,22,62,21,252,22,62,97,87,23,62,197,178,23,62,64,14,24,62,211,105,24,62,126,197,24,62,64,33,25,62,26,125,25,62,11,217,25,62,20,53,26,62,52,145,26,62,108,237,26,62,187,73,27,62,34,166,27,62,160,2,28,62,53,95,28,62,226,187,28,62,166,24,29,62,129,117,29,62,116,210,29,62,126,47,30,62,159,140,30,62,215,233,30,62,39,71,31,62,141,164,31,62,11,2,32,62,160,95,32,62,76,189,32,62,16,27,33,62,234,120,33,62,219,214,33,62,228,52,34,62,3,147,34,62,58,241,34,62,135,79,35,62,235,173,35,62,103,12,36,62,249,106,36,62,162,201,36,62,98,40,37,62,56,135,37,62,38,230,37,62,42,69,38,62,69,164,38,62,119,3,39,62,192,98,39,62,31,194,39,62,149,33,40,62,33,129,40,62,197,224,40,62,126,64,41,62,79,160,41,62,54,0,42,62,51,96,42,62,72,192,42,62,114,32,43,62,179,128,43,62,11,225,43,62,121,65,44,62,253,161,44,62,152,2,45,62,73,99,45,62,16,196,45,62,238,36,46,62,226,133,46,62,237,230,46,62,13,72,47,62,68,169,47,62,145,10,48,62,245,107,48,62,110,205,48,62,254,46,49,62,163,144,49,62,95,242,49,62,49,84,50,62,25,182,50,62,23,24,51,62,43,122,51,62,85,220,51,62,148,62,52,62,234,160,52,62,86,3,53,62,216,101,53,62,111,200,53,62,28,43,54,62,223,141,54,62,184,240,54,62,167,83,55,62,171,182,55,62,197,25,56,62,245,124,56,62,59,224,56,62,150,67,57,62,7,167,57,62,141,10,58,62,41,110,58,62,219,209,58,62,162,53,59,62,126,153,59,62,112,253,59,62,120,97,60,62,149,197,60,62,199,41,61,62,15,142,61,62,108,242,61,62,222,86,62,62,102,187,62,62,3,32,63,62,181,132,63,62,125,233,63,62,90,78,64,62,75,179,64,62,83,24,65,62,111,125,65,62,160,226,65,62,231,71,66,62,66,173,66,62,179,18,67,62,57,120,67,62,211,221,67,62,131,67,68,62,71,169,68,62,33,15,69,62,15,117,69,62,18,219,69,62,42,65,70,62,87,167,70,62,153,13,71,62,240,115,71,62,91,218,71,62,219,64,72,62,111,167,72,62,25,14,73,62,215,116,73,62,169,219,73,62,144,66,74,62,140,169,74,62,157,16,75,62,193,119,75,62,251,222,75,62,73,70,76,62,171,173,76,62,34,21,77,62,173,124,77,62,76,228,77,62,0,76,78,62,200,179,78,62,164,27,79,62,149,131,79,62,154,235,79,62,179,83,80,62,225,187,80,62,34,36,81,62,120,140,81,62,225,244,81,62,95,93,82,62,241,197,82,62,151,46,83,62,81,151,83,62,31,0,84,62,1,105,84,62,247,209,84,62,0,59,85,62,30,164,85,62,79,13,86,62,149,118,86,62,238,223,86,62,91,73,87,62,219,178,87,62,112,28,88,62,24,134,88,62,211,239,88,62,163,89,89,62,134,195,89,62,124,45,90,62,134,151,90,62,164,1,91,62,213,107,91,62,26,214,91,62,114,64,92,62,221,170,92,62,92,21,93,62,239,127,93,62,148,234,93,62,77,85,94,62,26,192,94,62,249,42,95,62,236,149,95,62,242,0,96,62,11,108,96,62,55,215,96,62,119,66,97,62,202,173,97,62,47,25,98,62,168,132,98,62,52,240,98,62,210,91,99,62,132,199,99,62,73,51,100,62,32,159,100,62,11,11,101,62,8,119,101,62,24,227,101,62,59,79,102,62,113,187,102,62,186,39,103,62,21,148,103,62,131,0,104,62,3,109,104,62,151,217,104,62,60,70,105,62,245,178,105,62,192,31,106,62,157,140,106,62,141,249,106,62,144,102,107,62,165,211,107,62,204,64,108,62,6,174,108,62,82,27,109,62,176,136,109,62,33,246,109,62,164,99,110,62,57,209,110,62,225,62,111,62,154,172,111,62,102,26,112,62,68,136,112,62,52,246,112,62,55,100,113,62,75,210,113,62,113,64,114,62,169,174,114,62,243,28,115,62,80,139,115,62,190,249,115,62,61,104,116,62,207,214,116,62,115,69,117,62,40,180,117,62,239,34,118,62,200,145,118,62,179,0,119,62,175,111,119,62,189,222,119,62,221,77,120,62,14,189,120,62,80,44,121,62,165,155,121,62,10,11,122,62,130,122,122,62,10,234,122,62,164,89,123,62,80,201,123,62,13,57,124,62,219,168,124,62,186,24,125,62,171,136,125,62,173,248,125,62,192,104,126,62,228,216,126,62,26,73,127,62,96,185,127,62,220,20,128,62,16,77,128,62,77,133,128,62,147,189,128,62,225,245,128,62,55,46,129,62,150,102,129,62,253,158,129,62,109,215,129,62,229,15,130,62,102,72,130,62,238,128,130,62,128,185,130,62,25,242,130,62,187,42,131,62,102,99,131,62,24,156,131,62,211,212,131,62,150,13,132,62,98,70,132,62,53,127,132,62,17,184,132,62,245,240,132,62,226,41,133,62,214,98,133,62,211,155,133,62,216,212,133,62,229,13,134,62,250,70,134,62,23,128,134,62,61,185,134,62,106,242,134,62,160,43,135,62,221,100,135,62,35,158,135,62,112,215,135,62,198,16,136,62,35,74,136,62,137,131,136,62,247,188,136,62,108,246,136,62,233,47,137,62,111,105,137,62,252,162,137,62,145,220,137,62,46,22,138,62,211,79,138,62,127,137,138,62,52,195,138,62,240,252,138,62,180,54,139,62,128,112,139,62,84,170,139,62,47,228,139,62,18,30,140,62,253,87,140,62,239,145,140,62,233,203,140,62,235,5,141,62,245,63,141,62,6,122,141,62,31,180,141,62,63,238,141,62,103,40,142,62],"i8",N3,x.GLOBAL_BASE+530936),E3([150,98,142,62,205,156,142,62,12,215,142,62,82,17,143,62,159,75,143,62,245,133,143,62,81,192,143,62,181,250,143,62,33,53,144,62,147,111,144,62,14,170,144,62,143,228,144,62,25,31,145,62,169,89,145,62,65,148,145,62,224,206,145,62,134,9,146,62,52,68,146,62,233,126,146,62,165,185,146,62,105,244,146,62,52,47,147,62,6,106,147,62,223,164,147,62,191,223,147,62,167,26,148,62,150,85,148,62,139,144,148,62,136,203,148,62,140,6,149,62,152,65,149,62,170,124,149,62,195,183,149,62,227,242,149,62,11,46,150,62,57,105,150,62,111,164,150,62,171,223,150,62,238,26,151,62,56,86,151,62,138,145,151,62,226,204,151,62,65,8,152,62,167,67,152,62,19,127,152,62,135,186,152,62,1,246,152,62,130,49,153,62,10,109,153,62,153,168,153,62,47,228,153,62,203,31,154,62,110,91,154,62,24,151,154,62,200,210,154,62,127,14,155,62,61,74,155,62,2,134,155,62,205,193,155,62,158,253,155,62,119,57,156,62,85,117,156,62,59,177,156,62,39,237,156,62,25,41,157,62,18,101,157,62,18,161,157,62,24,221,157,62,36,25,158,62,55,85,158,62,80,145,158,62,112,205,158,62,150,9,159,62,195,69,159,62,246,129,159,62,47,190,159,62,111,250,159,62,180,54,160,62,1,115,160,62,83,175,160,62,172,235,160,62,11,40,161,62,112,100,161,62,219,160,161,62,77,221,161,62,196,25,162,62,66,86,162,62,198,146,162,62,81,207,162,62,225,11,163,62,119,72,163,62,20,133,163,62,182,193,163,62,95,254,163,62,13,59,164,62,194,119,164,62,125,180,164,62,61,241,164,62,4,46,165,62,208,106,165,62,162,167,165,62,123,228,165,62,89,33,166,62,61,94,166,62,39,155,166,62,23,216,166,62,12,21,167,62,7,82,167,62,8,143,167,62,15,204,167,62,28,9,168,62,46,70,168,62,70,131,168,62,100,192,168,62,136,253,168,62,177,58,169,62,223,119,169,62,20,181,169,62,78,242,169,62,141,47,170,62,211,108,170,62,29,170,170,62,109,231,170,62,195,36,171,62,31,98,171,62,127,159,171,62,230,220,171,62,81,26,172,62,194,87,172,62,57,149,172,62,181,210,172,62,54,16,173,62,189,77,173,62,73,139,173,62,218,200,173,62,113,6,174,62,13,68,174,62,174,129,174,62,85,191,174,62,0,253,174,62,177,58,175,62,103,120,175,62,35,182,175,62,227,243,175,62,169,49,176,62,116,111,176,62,68,173,176,62,25,235,176,62,243,40,177,62,210,102,177,62,182,164,177,62,160,226,177,62,142,32,178,62,129,94,178,62,121,156,178,62,119,218,178,62,121,24,179,62,128,86,179,62,140,148,179,62,157,210,179,62,178,16,180,62,205,78,180,62,236,140,180,62,16,203,180,62,57,9,181,62,103,71,181,62,154,133,181,62,209,195,181,62,13,2,182,62,78,64,182,62,147,126,182,62,221,188,182,62,44,251,182,62,127,57,183,62,215,119,183,62,52,182,183,62,149,244,183,62,251,50,184,62,101,113,184,62,212,175,184,62,71,238,184,62,191,44,185,62,59,107,185,62,188,169,185,62,65,232,185,62,202,38,186,62,88,101,186,62,235,163,186,62,129,226,186,62,28,33,187,62,188,95,187,62,95,158,187,62,7,221,187,62,180,27,188,62,100,90,188,62,25,153,188,62,210,215,188,62,143,22,189,62,80,85,189,62,22,148,189,62,223,210,189,62,173,17,190,62,127,80,190,62,85,143,190,62,47,206,190,62,13,13,191,62,239,75,191,62,213,138,191,62,191,201,191,62,173,8,192,62,159,71,192,62,149,134,192,62,143,197,192,62,141,4,193,62,143,67,193,62,148,130,193,62,158,193,193,62,171,0,194,62,188,63,194,62,209,126,194,62,234,189,194,62,6,253,194,62,38,60,195,62,74,123,195,62,113,186,195,62,157,249,195,62,204,56,196,62,254,119,196,62,52,183,196,62,110,246,196,62,171,53,197,62,236,116,197,62,49,180,197,62,121,243,197,62,196,50,198,62,19,114,198,62,102,177,198,62,188,240,198,62,21,48,199,62,114,111,199,62,210,174,199,62,54,238,199,62,157,45,200,62,7,109,200,62,117,172,200,62,230,235,200,62,90,43,201,62,209,106,201,62,76,170,201,62,202,233,201,62,75,41,202,62,208,104,202,62,88,168,202,62,226,231,202,62,112,39,203,62,1,103,203,62,149,166,203,62,45,230,203,62,199,37,204,62,100,101,204,62,4,165,204,62,168,228,204,62,78,36,205,62,248,99,205,62,164,163,205,62,83,227,205,62,5,35,206,62,186,98,206,62,114,162,206,62,45,226,206,62,234,33,207,62,171,97,207,62,110,161,207,62,52,225,207,62,253,32,208,62,200,96,208,62,150,160,208,62,103,224,208,62,59,32,209,62,17,96,209,62,234,159,209,62,198,223,209,62,164,31,210,62,133,95,210,62,104,159,210,62,78,223,210,62,55,31,211,62,33,95,211,62,15,159,211,62,255,222,211,62,241,30,212,62,230,94,212,62,221,158,212,62,215,222,212,62,211,30,213,62,209,94,213,62,210,158,213,62,213,222,213,62,219,30,214,62,226,94,214,62,236,158,214,62,248,222,214,62,7,31,215,62,24,95,215,62,42,159,215,62,63,223,215,62,87,31,216,62,112,95,216,62,139,159,216,62,169,223,216,62,200,31,217,62,234,95,217,62,14,160,217,62,51,224,217,62,91,32,218,62,133,96,218,62,176,160,218,62,222,224,218,62,13,33,219,62,63,97,219,62,114,161,219,62,167,225,219,62,222,33,220,62,23,98,220,62,82,162,220,62,142,226,220,62,204,34,221,62,12,99,221,62,78,163,221,62,146,227,221,62,215,35,222,62,29,100,222,62,102,164,222,62,176,228,222,62,252,36,223,62,73,101,223,62,152,165,223,62,232,229,223,62,58,38,224,62,142,102,224,62,227,166,224,62,57,231,224,62,145,39,225,62,234,103,225,62,69,168,225,62,161,232,225,62,255,40,226,62,94,105,226,62,190,169,226,62,32,234,226,62,131,42,227,62,231,106,227,62,76,171,227,62,179,235,227,62,27,44,228,62,132,108,228,62,238,172,228,62,90,237,228,62,199,45,229,62,52,110,229,62,163,174,229,62,19,239,229,62,133,47,230,62,247,111,230,62,106,176,230,62,222,240,230,62,83,49,231,62,202,113,231,62,65,178,231,62,185,242,231,62,50,51,232,62,172,115,232,62,38,180,232,62,162,244,232,62,31,53,233,62,156,117,233,62,26,182,233,62,153,246,233,62,25,55,234,62,153,119,234,62,26,184,234,62,156,248,234,62,31,57,235,62,162,121,235,62,38,186,235,62,170,250,235,62,47,59,236,62,181,123,236,62,59,188,236,62,194,252,236,62,73,61,237,62,209,125,237,62,89,190,237,62,226,254,237,62,107,63,238,62,245,127,238,62,127,192,238,62,10,1,239,62,149,65,239,62,32,130,239,62,171,194,239,62,55,3,240,62,196,67,240,62,80,132,240,62,221,196,240,62,106,5,241,62,247,69,241,62,132,134,241,62,18,199,241,62,160,7,242,62,45,72,242,62,187,136,242,62,74,201,242,62,216,9,243,62,102,74,243,62,244,138,243,62,131,203,243,62,17,12,244,62,159,76,244,62,46,141,244,62,188,205,244,62,74,14,245,62,216,78,245,62,102,143,245,62,244,207,245,62,129,16,246,62,15,81,246,62,156,145,246,62,41,210,246,62,182,18,247,62,67,83,247,62,207,147,247,62,91,212,247,62,231,20,248,62,115,85,248,62,254,149,248,62,136,214,248,62,19,23,249,62,157,87,249,62,38,152,249,62,175,216,249,62,56,25,250,62,192,89,250,62,72,154,250,62,207,218,250,62,86,27,251,62,220,91,251,62,97,156,251,62,230,220,251,62,106,29,252,62,238,93,252,62,113,158,252,62,243,222,252,62,117,31,253,62,245,95,253,62,118,160,253,62,245,224,253,62,116,33,254,62,241,97,254,62,110,162,254,62,235,226,254,62,102,35,255,62,224,99,255,62,90,164,255,62,211,228,255,62,165,18,0,63,225,50,0,63,27,83,0,63,86,115,0,63,144,147,0,63,201,179,0,63,2,212,0,63,58,244,0,63,114,20,1,63,169,52,1,63,224,84,1,63,22,117,1,63,76,149,1,63,129,181,1,63,181,213,1,63,233,245,1,63,28,22,2,63,78,54,2,63,128,86,2,63,178,118,2,63,226,150,2,63,18,183,2,63,65,215,2,63,112,247,2,63,157,23,3,63,203,55,3,63,247,87,3,63,35,120,3,63,78,152,3,63,120,184,3,63,161,216,3,63,202,248,3,63,242,24,4,63,25,57,4,63,63,89,4,63,101,121,4,63,137,153,4,63,173,185,4,63,208,217,4,63,243,249,4,63,20,26,5,63,52,58,5,63,84,90,5,63,115,122,5,63,145,154,5,63,173,186,5,63,202,218,5,63,229,250,5,63,255,26,6,63,24,59,6,63,48,91,6,63,72,123,6,63,94,155,6,63,116,187,6,63,136,219,6,63,155,251,6,63,174,27,7,63,191,59,7,63,208,91,7,63,223,123,7,63,237,155,7,63,250,187,7,63,7,220,7,63,18,252,7,63,28,28,8,63,37,60,8,63,44,92,8,63,51,124,8,63,57,156,8,63,61,188,8,63,64,220,8,63,67,252,8,63,68,28,9,63,68,60,9,63,66,92,9,63,64,124,9,63,60,156,9,63,55,188,9,63,49,220,9,63,41,252,9,63,33,28,10,63,23,60,10,63,12,92,10,63,255,123,10,63,242,155,10,63,227,187,10,63,211,219,10,63,193,251,10,63,174,27,11,63,154,59,11,63,133,91,11,63,110,123,11,63,86,155,11,63,60,187,11,63,33,219,11,63,5,251,11,63,231,26,12,63,200,58,12,63,168,90,12,63,134,122,12,63,98,154,12,63,62,186,12,63,23,218,12,63,240,249,12,63,199,25,13,63,156,57,13,63,112,89,13,63,66,121,13,63,19,153,13,63,227,184,13,63,176,216,13,63,125,248,13,63,72,24,14,63,17,56,14,63,216,87,14,63,159,119,14,63,99,151,14,63,38,183,14,63,232,214,14,63,167,246,14,63,101,22,15,63,34,54,15,63,221,85,15,63,150,117,15,63,78,149,15,63,4,181,15,63,184,212,15,63,106,244,15,63,27,20,16,63,202,51,16,63,120,83,16,63,36,115,16,63,206,146,16,63,118,178,16,63,28,210,16,63,193,241,16,63,100,17,17,63,6,49,17,63,165,80,17,63,67,112,17,63,223,143,17,63,121,175,17,63,17,207,17,63,167,238,17,63,60,14,18,63,206,45,18,63,95,77,18,63,238,108,18,63,123,140,18,63,7,172,18,63,144,203,18,63,23,235,18,63,157,10,19,63,32,42,19,63,162,73,19,63,34,105,19,63,159,136,19,63,27,168,19,63,149,199,19,63,13,231,19,63,131,6,20,63,247,37,20,63,104,69,20,63,216,100,20,63,70,132,20,63,178,163,20,63,27,195,20,63,131,226,20,63,233,1,21,63,76,33,21,63,174,64,21,63,13,96,21,63,106,127,21,63,197,158,21,63,31,190,21,63,117,221,21,63,202,252,21,63,29,28,22,63,109,59,22,63,188,90,22,63,8,122,22,63,82,153,22,63,153,184,22,63,223,215,22,63,34,247,22,63,100,22,23,63,162,53,23,63,223,84,23,63,26,116,23,63,82,147,23,63,136,178,23,63,187,209,23,63,237,240,23,63,28,16,24,63,73,47,24,63,115,78,24,63,155,109,24,63,193,140,24,63,228,171,24,63,6,203,24,63,36,234,24,63,65,9,25,63,91,40,25,63,115,71,25,63,136,102,25,63,155,133,25,63,171,164,25,63,185,195,25,63,197,226,25,63,206,1,26,63,213,32,26,63,217,63,26,63,219,94,26,63,218,125,26,63,215,156,26,63,210,187,26,63,202,218,26,63,191,249,26,63,178,24,27,63,162,55,27,63,144,86,27,63,123,117,27,63,100,148,27,63,74,179,27,63,46,210,27,63,15,241,27,63,237,15,28,63,201,46,28,63,162,77,28,63,121,108,28,63,77,139,28,63,31,170,28,63,237,200,28,63,185,231,28,63,131,6,29,63,74,37,29,63,14,68,29,63,207,98,29,63,142,129,29,63,74,160,29,63,3,191,29,63,186,221,29,63,110,252,29,63,31,27,30,63,205,57,30,63,121,88,30,63,34,119,30,63,200,149,30,63,107,180,30,63,12,211,30,63,170,241,30,63,69,16,31,63,221,46,31,63,114,77,31,63,5,108,31,63,148,138,31,63,33,169,31,63,171,199,31,63,50,230,31,63,182,4,32,63,56,35,32,63,182,65,32,63,50,96,32,63,170,126,32,63,32,157,32,63,147,187,32,63,3,218,32,63,112,248,32,63,218,22,33,63,65,53,33,63,165,83,33,63,6,114,33,63,100,144,33,63,191,174,33,63,23,205,33,63,108,235,33,63,190,9,34,63,13,40,34,63,89,70,34,63,162,100,34,63,232,130,34,63,43,161,34,63,107,191,34,63,167,221,34,63,225,251,34,63,24,26,35,63,75,56,35,63,123,86,35,63,168,116,35,63,211,146,35,63,249,176,35,63,29,207,35,63,62,237,35,63,91,11,36,63,118,41,36,63,141,71,36,63,161,101,36,63,177,131,36,63,191,161,36,63,201,191,36,63,208,221,36,63,212,251,36,63,213,25,37,63,210,55,37,63,204,85,37,63,195,115,37,63,183,145,37,63,167,175,37,63,148,205,37,63,126,235,37,63,101,9,38,63,72,39,38,63,40,69,38,63,4,99,38,63,221,128,38,63,179,158,38,63,134,188,38,63,85,218,38,63,33,248,38,63,233,21,39,63,174,51,39,63,112,81,39,63,46,111,39,63,233,140,39,63,160,170,39,63,84,200,39,63,4,230,39,63,178,3,40,63,91,33,40,63,1,63,40,63,164,92,40,63,67,122,40,63,223,151,40,63,120,181,40,63,12,211,40,63,158,240,40,63,43,14,41,63,182,43,41,63,60,73,41,63,192,102,41,63,63,132,41,63,187,161,41,63,52,191,41,63,169,220,41,63,26,250,41,63,136,23,42,63,242,52,42,63,89,82,42,63,188,111,42,63,28,141,42,63,119,170,42,63,208,199,42,63,36,229,42,63,117,2,43,63,194,31,43,63,12,61,43,63,82,90,43,63,148,119,43,63,211,148,43,63,14,178,43,63,69,207,43,63,120,236,43,63,168,9,44,63,212,38,44,63,252,67,44,63,33,97,44,63,66,126,44,63,95,155,44,63,120,184,44,63,142,213,44,63,159,242,44,63,173,15,45,63,184,44,45,63,190,73,45,63,193,102,45,63,191,131,45,63,186,160,45,63,177,189,45,63,165,218,45,63,148,247,45,63,128,20,46,63,103,49,46,63,75,78,46,63,43,107,46,63,7,136,46,63,224,164,46,63,180,193,46,63,132,222,46,63,81,251,46,63,26,24,47,63,222,52,47,63,159,81,47,63,92,110,47,63,21,139,47,63,202,167,47,63,123,196,47,63,40,225,47,63,209,253,47,63,118,26,48,63,23,55,48,63,180,83,48,63,77,112,48,63,226,140,48,63,115,169,48,63,0,198,48,63,137,226,48,63,14,255,48,63,142,27,49,63,11,56,49,63,132,84,49,63,248,112,49,63,105,141,49,63,214,169,49,63,62,198,49,63,162,226,49,63,2,255,49,63,95,27,50,63,182,55,50,63,10,84,50,63,90,112,50,63,166,140,50,63,237,168,50,63,48,197,50,63,111,225,50,63,170,253,50,63,225,25,51,63,19,54,51,63,66,82,51,63,108,110,51,63,146,138,51,63,180,166,51,63,209,194,51,63,234,222,51,63,0,251,51,63,16,23,52,63,29,51,52,63,37,79,52,63,41,107,52,63,41,135,52,63,37,163,52,63,28,191,52,63,15,219,52,63,253,246,52,63,232,18,53,63,206,46,53,63,176,74,53,63,141,102,53,63,102,130,53,63,59,158,53,63,11,186,53,63,215,213,53,63,159,241,53,63,98,13,54,63,33,41,54,63,220,68,54,63,146,96,54,63,68,124,54,63,241,151,54,63,154,179,54,63,63,207,54,63,223,234,54,63,123,6,55,63,18,34,55,63,165,61,55,63,52,89,55,63,190,116,55,63,67,144,55,63,196,171,55,63,65,199,55,63,185,226,55,63,45,254,55,63,156,25,56,63,7,53,56,63,109,80,56,63,207,107,56,63,44,135,56,63,133,162,56,63,217,189,56,63,40,217,56,63,115,244,56,63,186,15,57,63,252,42,57,63,57,70,57,63,114,97,57,63,166,124,57,63,214,151,57,63,1,179,57,63,40,206,57,63,74,233,57,63,103,4,58,63,128,31,58,63,148,58,58,63,163,85,58,63,174,112,58,63,180,139,58,63,182,166,58,63,179,193,58,63,171,220,58,63,159,247,58,63,142,18,59,63,120,45,59,63,94,72,59,63,63,99,59,63,27,126,59,63,243,152,59,63,197,179,59,63,148,206,59,63,93,233,59,63,34,4,60,63,226,30,60,63,157,57,60,63,84,84,60,63,5,111,60,63,178,137,60,63,91,164,60,63,254,190,60,63,157,217,60,63,55,244,60,63,204,14,61,63,93,41,61,63,232,67,61,63,111,94,61,63,241,120,61,63,110,147,61,63,231,173,61,63,91,200,61,63,201,226,61,63,51,253,61,63,152,23,62,63,249,49,62,63,84,76,62,63,171,102,62,63,252,128,62,63,73,155,62,63,145,181,62,63,212,207,62,63,19,234,62,63,76,4,63,63,128,30,63,63,176,56,63,63,219,82,63,63,0,109,63,63,33,135,63,63,61,161,63,63,84,187,63,63,102,213,63,63,115,239,63,63,123,9,64,63,127,35,64,63,125,61,64,63,118,87,64,63,106,113,64,63,90,139,64,63,68,165,64,63,42,191,64,63,10,217,64,63,229,242,64,63,188,12,65,63,141,38,65,63,90,64,65,63,33,90,65,63,228,115,65,63,161,141,65,63,89,167,65,63,13,193,65,63,187,218,65,63,100,244,65,63,8,14,66,63,167,39,66,63,65,65,66,63,214,90,66,63,102,116,66,63,241,141,66,63,119,167,66,63,248,192,66,63,115,218,66,63,234,243,66,63,91,13,67,63,199,38,67,63,47,64,67,63,145,89,67,63,238,114,67,63,69,140,67,63,152,165,67,63,230,190,67,63,46,216,67,63,113,241,67,63,175,10,68,63,232,35,68,63,28,61,68,63,75,86,68,63,116,111,68,63,153,136,68,63,184,161,68,63,210,186,68,63,230,211,68,63,246,236,68,63,0,6,69,63,5,31,69,63,5,56,69,63,0,81,69,63,245,105,69,63,230,130,69,63,209,155,69,63,182,180,69,63,151,205,69,63,114,230,69,63,72,255,69,63,25,24,70,63,229,48,70,63,171,73,70,63,108,98,70,63,40,123,70,63,222,147,70,63,143,172,70,63,59,197,70,63,226,221,70,63,131,246,70,63,31,15,71,63,182,39,71,63,71,64,71,63,211,88,71,63,90,113,71,63,220,137,71,63,88,162,71,63,207,186,71,63,64,211,71,63,172,235,71,63,19,4,72,63,116,28,72,63,209,52,72,63,39,77,72,63,121,101,72,63,197,125,72,63,11,150,72,63,77,174,72,63,137,198,72,63,191,222,72,63,240,246,72,63,28,15,73,63,66,39,73,63,99,63,73,63,127,87,73,63,149,111,73,63,166,135,73,63,177,159,73,63,183,183,73,63,183,207,73,63,178,231,73,63,168,255,73,63,152,23,74,63,131,47,74,63,104,71,74,63,72,95,74,63,34,119,74,63,247,142,74,63,199,166,74,63,145,190,74,63,85,214,74,63,20,238,74,63,206,5,75,63,130,29,75,63,49,53,75,63,218,76,75,63,126,100,75,63,28,124,75,63,181,147,75,63,72,171,75,63,213,194,75,63,93,218,75,63,224,241,75,63,93,9,76,63,213,32,76,63,71,56,76,63,179,79,76,63,26,103,76,63,124,126,76,63,216,149,76,63,46,173,76,63,127,196,76,63,202,219,76,63,16,243,76,63,80,10,77,63,139,33,77,63,192,56,77,63,240,79,77,63,26,103,77,63,62,126,77,63,93,149,77,63,118,172,77,63,137,195,77,63,151,218,77,63,160,241,77,63,163,8,78,63,160,31,78,63,151,54,78,63,137,77,78,63,118,100,78,63,93,123,78,63,62,146,78,63,25,169,78,63,239,191,78,63,192,214,78,63,138,237,78,63,79,4,79,63,15,27,79,63,201,49,79,63,125,72,79,63,43,95,79,63,212,117,79,63,119,140,79,63,21,163,79,63,172,185,79,63,63,208,79,63,203,230,79,63,82,253,79,63,211,19,80,63,79,42,80,63,197,64,80,63,53,87,80,63,159,109,80,63,4,132,80,63,99,154,80,63,189,176,80,63,16,199,80,63,94,221,80,63,167,243,80,63,233,9,81,63,38,32,81,63,93,54,81,63,143,76,81,63,187,98,81,63,225,120,81,63,1,143,81,63,28,165,81,63,48,187,81,63,64,209,81,63,73,231,81,63,77,253,81,63,75,19,82,63,67,41,82,63,53,63,82,63,34,85,82,63,9,107,82,63,234,128,82,63,198,150,82,63,155,172,82,63,107,194,82,63,53,216,82,63,250,237,82,63,185,3,83,63,113,25,83,63,37,47,83,63,210,68,83,63,121,90,83,63,27,112,83,63,183,133,83,63,77,155,83,63,222,176,83,63,104,198,83,63,237,219,83,63,108,241,83,63,230,6,84,63,89,28,84,63,199,49,84,63,46,71,84,63,145,92,84,63,237,113,84,63,67,135,84,63,148,156,84,63,223,177,84,63,35,199,84,63,99,220,84,63,156,241,84,63,207,6,85,63,253,27,85,63,37,49,85,63,71,70,85,63,99,91,85,63,121,112,85,63,138,133,85,63,149,154,85,63,153,175,85,63,152,196,85,63,146,217,85,63,133,238,85,63,114,3,86,63,90,24,86,63,60,45,86,63,24,66,86,63,238,86,86,63,190,107,86,63,136,128,86,63,76,149,86,63,11,170,86,63,196,190,86,63,118,211,86,63,35,232,86,63,203,252,86,63,108,17,87,63,7,38,87,63,156,58,87,63,44,79,87,63,182,99,87,63,58,120,87,63,183,140,87,63,47,161,87,63,162,181,87,63,14,202,87,63,116,222,87,63,213,242,87,63,47,7,88,63,132,27,88,63,211,47,88,63,28,68,88,63,95,88,88,63,156,108,88,63,211,128,88,63,4,149,88,63,47,169,88,63,85,189,88,63,116,209,88,63,142,229,88,63,162,249,88,63,175,13,89,63,183,33,89,63,185,53,89,63,181,73,89,63,171,93,89,63,155,113,89,63,134,133,89,63,106,153,89,63,72,173,89,63,33,193,89,63,243,212,89,63,192,232,89,63,135,252,89,63,71,16,90,63,2,36,90,63,183,55,90,63,102,75,90,63,15,95,90,63,178,114,90,63,79,134,90,63,230,153,90,63,119,173,90,63,3,193,90,63,136,212,90,63,7,232,90,63,129,251,90,63,244,14,91,63,98,34,91,63,201,53,91,63,43,73,91,63,135,92,91,63,220,111,91,63,44,131,91,63,118,150,91,63,186,169,91,63,248,188,91,63,47,208,91,63,97,227,91,63,141,246,91,63,179,9,92,63,212,28,92,63,238,47,92,63,2,67,92,63,16,86,92,63,24,105,92,63,26,124,92,63,23,143,92,63,13,162,92,63,253,180,92,63,232,199,92,63,204,218,92,63,171,237,92,63,131,0,93,63,86,19,93,63,34,38,93,63,233,56,93,63,169,75,93,63,100,94,93,63,24,113,93,63,199,131,93,63,112,150,93,63,18,169,93,63,175,187,93,63,70,206,93,63,215,224,93,63,97,243,93,63,230,5,94,63,101,24,94,63,222,42,94,63,81,61,94,63,190,79,94,63,36,98,94,63,133,116,94,63,224,134,94,63,53,153,94,63,132,171,94,63,205,189,94,63,16,208,94,63,77,226,94,63,132,244,94,63,181,6,95,63,224,24,95,63,5,43,95,63,36,61,95,63,61,79,95,63,80,97,95,63,93,115,95,63,101,133,95,63,102,151,95,63,97,169,95,63,86,187,95,63,69,205,95,63,46,223,95,63,18,241,95,63,239,2,96,63,198,20,96,63,151,38,96,63,98,56,96,63,40,74,96,63,231,91,96,63,160,109,96,63,84,127,96,63,1,145,96,63,168,162,96,63,73,180,96,63,229,197,96,63,122,215,96,63,10,233,96,63,147,250,96,63,22,12,97,63,148,29,97,63,11,47,97,63,125,64,97,63,232,81,97,63,77,99,97,63,173,116,97,63,6,134,97,63,90,151,97,63,167,168,97,63,239,185,97,63,48,203,97,63,108,220,97,63,162,237,97,63,209,254,97,63,251,15,98,63,30,33,98,63,60,50,98,63,84,67,98,63,101,84,98,63,113,101,98,63,119,118,98,63,119,135,98,63,112,152,98,63,100,169,98,63,82,186,98,63,58,203,98,63,28,220,98,63,247,236,98,63,205,253,98,63,157,14,99,63,103,31,99,63,43,48,99,63,233,64,99,63,161,81,99,63,83,98,99,63,255,114,99,63,165,131,99,63,69,148,99,63,224,164,99,63,116,181,99,63,2,198,99,63,138,214,99,63,13,231,99,63,137,247,99,63,255,7,100,63,112,24,100,63,218,40,100,63,62,57,100,63,157,73,100,63,246,89,100,63,72,106,100,63,149,122,100,63,219,138,100,63,28,155,100,63,87,171,100,63,140,187,100,63,186,203,100,63,227,219,100,63,6,236,100,63,35,252,100,63,58,12,101,63,75,28,101,63,86,44,101,63,91,60,101,63,91,76,101,63,84,92,101,63,71,108,101,63,53,124,101,63,28,140,101,63,254,155,101,63,217,171,101,63,175,187,101,63,126,203,101,63,72,219,101,63,12,235,101,63,202,250,101,63,130,10,102,63,52,26,102,63,224,41,102,63,134,57,102,63,38,73,102,63,193,88,102,63,85,104,102,63,227,119,102,63,108,135,102,63,238,150,102,63,107,166,102,63,226,181,102,63,83,197,102,63,190,212,102,63,35,228,102,63,130,243,102,63,219,2,103,63,46,18,103,63,124,33,103,63,195,48,103,63,5,64,103,63,64,79,103,63,118,94,103,63,166,109,103,63,208,124,103,63,244,139,103,63,18,155,103,63,42,170,103,63,61,185,103,63,73,200,103,63,80,215,103,63,80,230,103,63,75,245,103,63,64,4,104,63,47,19,104,63,24,34,104,63,251,48,104,63,217,63,104,63,176,78,104,63,130,93,104,63,78,108,104,63,20,123,104,63,212,137,104,63,142,152,104,63,66,167,104,63,240,181,104,63,153,196,104,63,60,211,104,63,217,225,104,63,112,240,104,63,1,255,104,63,140,13,105,63,17,28,105,63,145,42,105,63,11,57,105,63,127,71,105,63,237,85,105,63,85,100,105,63,183,114,105,63,20,129,105,63,106,143,105,63,187,157,105,63,6,172,105,63,75,186,105,63,139,200,105,63,196,214,105,63,248,228,105,63,38,243,105,63,78,1,106,63,112,15,106,63,141,29,106,63,163,43,106,63,180,57,106,63,191,71,106,63,196,85,106,63,196,99,106,63,189,113,106,63,177,127,106,63,159,141,106,63,135,155,106,63,106,169,106,63,70,183,106,63,29,197,106,63,238,210,106,63,186,224,106,63,127,238,106,63,63,252,106,63,249,9,107,63,173,23,107,63,91,37,107,63,4,51,107,63,167,64,107,63,68,78,107,63,219,91,107,63,109,105,107,63,249,118,107,63,127,132,107,63,255,145,107,63,122,159,107,63,238,172,107,63,94,186,107,63,199,199,107,63,42,213,107,63,136,226,107,63,224,239,107,63,51,253,107,63,128,10,108,63,198,23,108,63,8,37,108,63,67,50,108,63,121,63,108,63,169,76,108,63,211,89,108,63,248,102,108,63,23,116,108,63,48,129,108,63,68,142,108,63,82,155,108,63,90,168,108,63,92,181,108,63,89,194,108,63,80,207,108,63,65,220,108,63,45,233,108,63,19,246,108,63,243,2,109,63,206,15,109,63,163,28,109,63,114,41,109,63,60,54,109,63,0,67,109,63,190,79,109,63,119,92,109,63,42,105,109,63,215,117,109,63,127,130,109,63,33,143,109,63,189,155,109,63,84,168,109,63,229,180,109,63,113,193,109,63,247,205,109,63,119,218,109,63,242,230,109,63,103,243,109,63,214,255,109,63,64,12,110,63,164,24,110,63,3,37,110,63,91,49,110,63,175,61,110,63,253,73,110,63,69,86,110,63,135,98,110,63,196,110,110,63,252,122,110,63,45,135,110,63,90,147,110,63,128,159,110,63,161,171,110,63,189,183,110,63,211,195,110,63,227,207,110,63,238,219,110,63,243,231,110,63,243,243,110,63,237,255,110,63,226,11,111,63,209,23,111,63,186,35,111,63,158,47,111,63,125,59,111,63,85,71,111,63,41,83,111,63,247,94,111,63,191,106,111,63,130,118,111,63,63,130,111,63,247,141,111,63,169,153,111,63,86,165,111,63,253,176,111,63,159,188,111,63,59,200,111,63,210,211,111,63,99,223,111,63,239,234,111,63,117,246,111,63,246,1,112,63,114,13,112,63,231,24,112,63,88,36,112,63,195,47,112,63,40,59,112,63,137,70,112,63,227,81,112,63,56,93,112,63,136,104,112,63,210,115,112,63,23,127,112,63,87,138,112,63,145,149,112,63,197,160,112,63,244,171,112,63,30,183,112,63,66,194,112,63,97,205,112,63,123,216,112,63,143,227,112,63,157,238,112,63,167,249,112,63,171,4,113,63,169,15,113,63,162,26,113,63,150,37,113,63,132,48,113,63,109,59,113,63,81,70,113,63,47,81,113,63,8,92,113,63,219,102,113,63,170,113,113,63,114,124,113,63,54,135,113,63,244,145,113,63,173,156,113,63,96,167,113,63,14,178,113,63,183,188,113,63,91,199,113,63,249,209,113,63,146,220,113,63,37,231,113,63,179,241,113,63,60,252,113,63,192,6,114,63,62,17,114,63,183,27,114,63,43,38,114,63,154,48,114,63,3,59,114,63,103,69,114,63,197,79,114,63,31,90,114,63,115,100,114,63,194,110,114,63,11,121,114,63,79,131,114,63,143,141,114,63,200,151,114,63,253,161,114,63,44,172,114,63,87,182,114,63,123,192,114,63,155,202,114,63,182,212,114,63,203,222,114,63,219,232,114,63,230,242,114,63,235,252,114,63,236,6,115,63,231,16,115,63,221,26,115,63,206,36,115,63,186,46,115,63,160,56,115,63,130,66,115,63,94,76,115,63,53,86,115,63,7,96,115,63,212,105,115,63,155,115,115,63,94,125,115,63,27,135,115,63,211,144,115,63,134,154,115,63,52,164,115,63,221,173,115,63,128,183,115,63,31,193,115,63,184,202,115,63,77,212,115,63,220,221,115,63,102,231,115,63,235,240,115,63,107,250,115,63,230,3,116,63,92,13,116,63,204,22,116,63,56,32,116,63,159,41,116,63,0,51,116,63,93,60,116,63,180,69,116,63,6,79,116,63,84,88,116,63,156,97,116,63,223,106,116,63,29,116,116,63,87,125,116,63,139,134,116,63,186,143,116,63,228,152,116,63,9,162,116,63,41,171,116,63,68,180,116,63,91,189,116,63,108,198,116,63,120,207,116,63,127,216,116,63,129,225,116,63,127,234,116,63,119,243,116,63,106,252,116,63,89,5,117,63,66,14,117,63,38,23,117,63,6,32,117,63,225,40,117,63,182,49,117,63,135,58,117,63,83,67,117,63,26,76,117,63,220,84,117,63,153,93,117,63,81,102,117,63,4,111,117,63,179,119,117,63,92,128,117,63,1,137,117,63,160,145,117,63,59,154,117,63,209,162,117,63,98,171,117,63,239,179,117,63,118,188,117,63,249,196,117,63,118,205,117,63,239,213,117,63,99,222,117,63,210,230,117,63,61,239,117,63,162,247,117,63,3,0,118,63,95,8,118,63,182,16,118,63,8,25,118,63,86,33,118,63,159,41,118,63,227,49,118,63,34,58,118,63,92,66,118,63,146,74,118,63,195,82,118,63,239,90,118,63,22,99,118,63,57,107,118,63,86,115,118,63,112,123,118,63,132,131,118,63,148,139,118,63,158,147,118,63,165,155,118,63,166,163,118,63,163,171,118,63,155,179,118,63,142,187,118,63,125,195,118,63,103,203,118,63,76,211,118,63,45,219,118,63,9,227,118,63,224,234,118,63,178,242,118,63,128,250,118,63,74,2,119,63,14,10,119,63,206,17,119,63,137,25,119,63,64,33,119,63,242,40,119,63,160,48,119,63,72,56,119,63,237,63,119,63,140,71,119,63,39,79,119,63,190,86,119,63,79,94,119,63,220,101,119,63,101,109,119,63,233,116,119,63,105,124,119,63,228,131,119,63,90,139,119,63,204,146,119,63,57,154,119,63,162,161,119,63,6,169,119,63,101,176,119,63,192,183,119,63,23,191,119,63,105,198,119,63,182,205,119,63,255,212,119,63,68,220,119,63,132,227,119,63,191,234,119,63,246,241,119,63,41,249,119,63,87,0,120,63,129,7,120,63,166,14,120,63,198,21,120,63,227,28,120,63,250,35,120,63,14,43,120,63,28,50,120,63,39,57,120,63,45,64,120,63,46,71,120,63,44,78,120,63,36,85,120,63,25,92,120,63,9,99,120,63,244,105,120,63,219,112,120,63,190,119,120,63,156,126,120,63,118,133,120,63,76,140,120,63,29,147,120,63,234,153,120,63,179,160,120,63,119,167,120,63,55,174,120,63,242,180,120,63,169,187,120,63,92,194,120,63,11,201,120,63,181,207,120,63,91,214,120,63,252,220,120,63,154,227,120,63,51,234,120,63,199,240,120,63,88,247,120,63,228,253,120,63,108,4,121,63,240,10,121,63,111,17,121,63,234,23,121,63,97,30,121,63,211,36,121,63,66,43,121,63,172,49,121,63,18,56,121,63,116,62,121,63,209,68,121,63,42,75,121,63,127,81,121,63,208,87,121,63,29,94,121,63,101,100,121,63,170,106,121,63,234,112,121,63,38,119,121,63,93,125,121,63,145,131,121,63,193,137,121,63,236,143,121,63,19,150,121,63,54,156,121,63,85,162,121,63,112,168,121,63,134,174,121,63,153,180,121,63,167,186,121,63,178,192,121,63,184,198,121,63,186,204,121,63,184,210,121,63,178,216,121,63,168,222,121,63,154,228,121,63,135,234,121,63,113,240,121,63,87,246,121,63,56,252,121,63,22,2,122,63,239,7,122,63,197,13,122,63,150,19,122,63,100,25,122,63,45,31,122,63,243,36,122,63,180,42,122,63,113,48,122,63,43,54,122,63,224,59,122,63,146,65,122,63,63,71,122,63,233,76,122,63,142,82,122,63,48,88,122,63,206,93,122,63,103,99,122,63,253,104,122,63,143,110,122,63,29,116,122,63,167,121,122,63,45,127,122,63,175,132,122,63,45,138,122,63,168,143,122,63,30,149,122,63,145,154,122,63,255,159,122,63,106,165,122,63,209,170,122,63,52,176,122,63,147,181,122,63,239,186,122,63,70,192,122,63,154,197,122,63,234,202,122,63,54,208,122,63,126,213,122,63,194,218,122,63,3,224,122,63,64,229,122,63,121,234,122,63,174,239,122,63,223,244,122,63,13,250,122,63,55,255,122,63,93,4,123,63,127,9,123,63,157,14,123,63,184,19,123,63,207,24,123,63,227,29,123,63,242,34,123,63,254,39,123,63,6,45,123,63,10,50,123,63,11,55,123,63,8,60,123,63,1,65,123,63,247,69,123,63,233,74,123,63,215,79,123,63,193,84,123,63,168,89,123,63,139,94,123,63,107,99,123,63,71,104,123,63,31,109,123,63,243,113,123,63,196,118,123,63,146,123,123,63,91,128,123,63,33,133,123,63,228,137,123,63,163,142,123,63,94,147,123,63,22,152,123,63,202,156,123,63,122,161,123,63,39,166,123,63,208,170,123,63,118,175,123,63,24,180,123,63,183,184,123,63,82,189,123,63,233,193,123,63,125,198,123,63,14,203,123,63,155,207,123,63,36,212,123,63,170,216,123,63,45,221,123,63,172,225,123,63,39,230,123,63,159,234,123,63,19,239,123,63,132,243,123,63,242,247,123,63,92,252,123,63,195,0,124,63,38,5,124,63,133,9,124,63,226,13,124,63,58,18,124,63,144,22,124,63,226,26,124,63,48,31,124,63,123,35,124,63,195,39,124,63,7,44,124,63,72,48,124,63,134,52,124,63,192,56,124,63,247,60,124,63,42,65,124,63,90,69,124,63,135,73,124,63,176,77,124,63,214,81,124,63,249,85,124,63,24,90,124,63,52,94,124,63,77,98,124,63,98,102,124,63,116,106,124,63,131,110,124,63,142,114,124,63,150,118,124,63,155,122,124,63,157,126,124,63,155,130,124,63,150,134,124,63,142,138,124,63,130,142,124,63,116,146,124,63,98,150,124,63,77,154,124,63,52,158,124,63,24,162,124,63,249,165,124,63,215,169,124,63,178,173,124,63,137,177,124,63,94,181,124,63,47,185,124,63,253,188,124,63,199,192,124,63,143,196,124,63,83,200,124,63,20,204,124,63,211,207,124,63,141,211,124,63,69,215,124,63,250,218,124,63,171,222,124,63,90,226,124,63,5,230,124,63,173,233,124,63,82,237,124,63,244,240,124,63,147,244,124,63,46,248,124,63,199,251,124,63,93,255,124,63,239,2,125,63,127,6,125,63,11,10,125,63,148,13,125,63,27,17,125,63,158,20,125,63,30,24,125,63,155,27,125,63,21,31,125,63,140,34,125,63,0,38,125,63,114,41,125,63,224,44,125,63,75,48,125,63,179,51,125,63,24,55,125,63,122,58,125,63,217,61,125,63,54,65,125,63,143,68,125,63,229,71,125,63,56,75,125,63,137,78,125,63,214,81,125,63,33,85,125,63,104,88,125,63,173,91,125,63,239,94,125,63,46,98,125,63,106,101,125,63,163,104,125,63,217,107,125,63,12,111,125,63,61,114,125,63,106,117,125,63,149,120,125,63,189,123,125,63,226,126,125,63,4,130,125,63,36,133,125,63,64,136,125,63,90,139,125,63,112,142,125,63,133,145,125,63,150,148,125,63,164,151,125,63,176,154,125,63,185,157,125,63,191,160,125,63,194,163,125,63,194,166,125,63,192,169,125,63,187,172,125,63,179,175,125,63,168,178,125,63,155,181,125,63,139,184,125,63,120,187,125,63,99,190,125,63,74,193,125,63,48,196,125,63,18,199,125,63,241,201,125,63,206,204,125,63,169,207,125,63,128,210,125,63,85,213,125,63,39,216,125,63,247,218,125,63,196,221,125,63,142,224,125,63,85,227,125,63,26,230,125,63,220,232,125,63,156,235,125,63,89,238,125,63,19,241,125,63,203,243,125,63,128,246,125,63,51,249,125,63,227,251,125,63,144,254,125,63,59,1,126,63,227,3,126,63,137,6,126,63,44,9,126,63,204,11,126,63,106,14,126,63,6,17,126,63,158,19,126,63,53,22,126,63,200,24,126,63,90,27,126,63,232,29,126,63,116,32,126,63,254,34,126,63,133,37,126,63,10,40,126,63,140,42,126,63,12,45,126,63,137,47,126,63,4,50,126,63,124,52,126,63,242,54,126,63,101,57,126,63,214,59,126,63,68,62,126,63,176,64,126,63,26,67,126,63,129,69,126,63,230,71,126,63,72,74,126,63,168,76,126,63,5,79,126,63,96,81,126,63,185,83,126,63,15,86,126,63,99,88,126,63,181,90,126,63,4,93,126,63,81,95,126,63,155,97,126,63,227,99,126,63,41,102,126,63,108,104,126,63,173,106,126,63,236,108,126,63,40,111,126,63,98,113,126,63,154,115,126,63,208,117,126,63,3,120,126,63,51,122,126,63,98,124,126,63,142,126,126,63,184,128,126,63,224,130,126,63,5,133,126,63,40,135,126,63,73,137,126,63,104,139,126,63,132,141,126,63,159,143,126,63,183,145,126,63,204,147,126,63,224,149,126,63,241,151,126,63,0,154,126,63,13,156,126,63,24,158,126,63,32,160,126,63,38,162,126,63,42,164,126,63,44,166,126,63,44,168,126,63,41,170,126,63,37,172,126,63,30,174,126,63,21,176,126,63,10,178,126,63,253,179,126,63,238,181,126,63,220,183,126,63,201,185,126,63,179,187,126,63,155,189,126,63,129,191,126,63,101,193,126,63,71,195,126,63,39,197,126,63,5,199,126,63,224,200,126,63,186,202,126,63,145,204,126,63,103,206,126,63,58,208,126,63,12,210,126,63,219,211,126,63,168,213,126,63,115,215,126,63,61,217,126,63,4,219,126,63,201,220,126,63,140,222,126,63,77,224,126,63,12,226,126,63,202,227,126,63,133,229,126,63,62,231,126,63,245,232,126,63,170,234,126,63,94,236,126,63,15,238,126,63,190,239,126,63,108,241,126,63,23,243,126,63,193,244,126,63,104,246,126,63,14,248,126,63,178,249,126,63,84,251,126,63,243,252,126,63,145,254,126,63,46,0,127,63,200,1,127,63,96,3,127,63,247,4,127,63,139,6,127,63,30,8,127,63,175,9,127,63,62,11,127,63,203,12,127,63,86,14,127,63,223,15,127,63,103,17,127,63,237,18,127,63,112,20,127,63,242,21,127,63,115,23,127,63,241,24,127,63,110,26,127,63,233,27,127,63,98,29,127,63,217,30,127,63,78,32,127,63,194,33,127,63,52,35,127,63,164,36,127,63,18,38,127,63,127,39,127,63,234,40,127,63,83,42,127,63,186,43,127,63,32,45,127,63,131,46,127,63,230,47,127,63,70,49,127,63,165,50,127,63,2,52,127,63,93,53,127,63,182,54,127,63,14,56,127,63,100,57,127,63,185,58,127,63,12,60,127,63,93,61,127,63,172,62,127,63,250,63,127,63,70,65,127,63,145,66,127,63,217,67,127,63,33,69,127,63,102,70,127,63,170,71,127,63,236,72,127,63,45,74,127,63,108,75,127,63,169,76,127,63,229,77,127,63,31,79,127,63,88,80,127,63,143,81,127,63,196,82,127,63,248,83,127,63,42,85,127,63,91,86,127,63,138,87,127,63,184,88,127,63,228,89,127,63,14,91,127,63,55,92,127,63,94,93,127,63,132,94,127,63,169,95,127,63,203,96,127,63,237,97,127,63,12,99,127,63,42,100,127,63,71,101,127,63,98,102,127,63,124,103,127,63,148,104,127,63,171,105,127,63,192,106,127,63,212,107,127,63,230,108,127,63,247,109,127,63,6,111,127,63,20,112,127,63,33,113,127,63,44,114,127,63,53,115,127,63,61,116,127,63,68,117,127,63,73,118,127,63,77,119,127,63,79,120,127,63,80,121,127,63,80,122,127,63,78,123,127,63,75,124,127,63,70,125,127,63,64,126,127,63,57,127,127,63,48,128,127,63,38,129,127,63,27,130,127,63,14,131,127,63,0,132,127,63,240,132,127,63,223,133,127,63,205,134,127,63,185,135,127,63,164,136,127,63,142,137,127,63,118,138,127,63,93,139,127,63,67,140,127,63,40,141,127,63,11,142,127,63,237,142,127,63,205,143,127,63,173,144,127,63,139,145,127,63,103,146,127,63,67,147,127,63,29,148,127,63,246,148,127,63,205,149,127,63,164,150,127,63,121,151,127,63,77,152,127,63,31,153,127,63,241,153,127,63,193,154,127,63,144,155,127,63,93,156,127,63,42,157,127,63,245,157,127,63,191,158,127,63,136,159,127,63,79,160,127,63,22,161,127,63,219,161,127,63,159,162,127,63,98,163,127,63,36,164,127,63,228,164,127,63,163,165,127,63,98,166,127,63,31,167,127,63,219,167,127,63,149,168,127,63,79,169,127,63,7,170,127,63,190,170,127,63,117,171,127,63,42,172,127,63,221,172,127,63,144,173,127,63,66,174,127,63,242,174,127,63,162,175,127,63,80,176,127,63,253,176,127,63,169,177,127,63,85,178,127,63,254,178,127,63,167,179,127,63,79,180,127,63,246,180,127,63,156,181,127,63,64,182,127,63,228,182,127,63,134,183,127,63,40,184,127,63,200,184,127,63,103,185,127,63,6,186,127,63,163,186,127,63,63,187,127,63,219,187,127,63,117,188,127,63,14,189,127,63,166,189,127,63,61,190,127,63,212,190,127,63,105,191,127,63,253,191,127,63,144,192,127,63,34,193,127,63,180,193,127,63,68,194,127,63,211,194,127,63,98,195,127,63,239,195,127,63,123,196,127,63,7,197,127,63,145,197,127,63,27,198,127,63,163,198,127,63,43,199,127,63,178,199,127,63,56,200,127,63,189,200,127,63,65,201,127,63,196,201,127,63,70,202,127,63,199,202,127,63,71,203,127,63,199,203,127,63,69,204,127,63,195,204,127,63,64,205,127,63,187,205,127,63,54,206,127,63,177,206,127,63,42,207,127,63,162,207,127,63,26,208,127,63,144,208,127,63,6,209,127,63,123,209,127,63,239,209,127,63,98,210,127,63,213,210,127,63,70,211,127,63,183,211,127,63,39,212,127,63,150,212,127,63,4,213,127,63,114,213,127,63],"i8",N3,x.GLOBAL_BASE+541176),E3([222,213,127,63,74,214,127,63,181,214,127,63,32,215,127,63,137,215,127,63,242,215,127,63,89,216,127,63,192,216,127,63,39,217,127,63,140,217,127,63,241,217,127,63,85,218,127,63,184,218,127,63,27,219,127,63,124,219,127,63,221,219,127,63,61,220,127,63,157,220,127,63,251,220,127,63,89,221,127,63,183,221,127,63,19,222,127,63,111,222,127,63,202,222,127,63,36,223,127,63,126,223,127,63,215,223,127,63,47,224,127,63,134,224,127,63,221,224,127,63,51,225,127,63,137,225,127,63,221,225,127,63,49,226,127,63,133,226,127,63,215,226,127,63,41,227,127,63,122,227,127,63,203,227,127,63,27,228,127,63,106,228,127,63,185,228,127,63,7,229,127,63,84,229,127,63,161,229,127,63,237,229,127,63,56,230,127,63,131,230,127,63,205,230,127,63,23,231,127,63,96,231,127,63,168,231,127,63,239,231,127,63,54,232,127,63,125,232,127,63,195,232,127,63,8,233,127,63,76,233,127,63,144,233,127,63,212,233,127,63,23,234,127,63,89,234,127,63,154,234,127,63,219,234,127,63,28,235,127,63,92,235,127,63,155,235,127,63,218,235,127,63,24,236,127,63,86,236,127,63,147,236,127,63,207,236,127,63,11,237,127,63,71,237,127,63,130,237,127,63,188,237,127,63,246,237,127,63,47,238,127,63,104,238,127,63,160,238,127,63,216,238,127,63,15,239,127,63,69,239,127,63,123,239,127,63,177,239,127,63,230,239,127,63,27,240,127,63,79,240,127,63,130,240,127,63,182,240,127,63,232,240,127,63,26,241,127,63,76,241,127,63,125,241,127,63,174,241,127,63,222,241,127,63,14,242,127,63,61,242,127,63,108,242,127,63,154,242,127,63,200,242,127,63,245,242,127,63,34,243,127,63,79,243,127,63,123,243,127,63,166,243,127,63,209,243,127,63,252,243,127,63,38,244,127,63,80,244,127,63,121,244,127,63,162,244,127,63,203,244,127,63,243,244,127,63,27,245,127,63,66,245,127,63,105,245,127,63,143,245,127,63,181,245,127,63,219,245,127,63,0,246,127,63,37,246,127,63,73,246,127,63,109,246,127,63,145,246,127,63,180,246,127,63,215,246,127,63,250,246,127,63,28,247,127,63,62,247,127,63,95,247,127,63,128,247,127,63,160,247,127,63,193,247,127,63,225,247,127,63,0,248,127,63,31,248,127,63,62,248,127,63,93,248,127,63,123,248,127,63,152,248,127,63,182,248,127,63,211,248,127,63,240,248,127,63,12,249,127,63,40,249,127,63,68,249,127,63,95,249,127,63,122,249,127,63,149,249,127,63,175,249,127,63,202,249,127,63,227,249,127,63,253,249,127,63,22,250,127,63,47,250,127,63,71,250,127,63,96,250,127,63,120,250,127,63,143,250,127,63,166,250,127,63,190,250,127,63,212,250,127,63,235,250,127,63,1,251,127,63,23,251,127,63,44,251,127,63,66,251,127,63,87,251,127,63,108,251,127,63,128,251,127,63,148,251,127,63,168,251,127,63,188,251,127,63,208,251,127,63,227,251,127,63,246,251,127,63,8,252,127,63,27,252,127,63,45,252,127,63,63,252,127,63,81,252,127,63,98,252,127,63,115,252,127,63,132,252,127,63,149,252,127,63,165,252,127,63,182,252,127,63,198,252,127,63,213,252,127,63,229,252,127,63,244,252,127,63,3,253,127,63,18,253,127,63,33,253,127,63,47,253,127,63,62,253,127,63,76,253,127,63,89,253,127,63,103,253,127,63,116,253,127,63,130,253,127,63,143,253,127,63,155,253,127,63,168,253,127,63,181,253,127,63,193,253,127,63,205,253,127,63,217,253,127,63,228,253,127,63,240,253,127,63,251,253,127,63,6,254,127,63,17,254,127,63,28,254,127,63,38,254,127,63,49,254,127,63,59,254,127,63,69,254,127,63,79,254,127,63,89,254,127,63,98,254,127,63,108,254,127,63,117,254,127,63,126,254,127,63,135,254,127,63,144,254,127,63,152,254,127,63,161,254,127,63,169,254,127,63,177,254,127,63,185,254,127,63,193,254,127,63,201,254,127,63,208,254,127,63,216,254,127,63,223,254,127,63,230,254,127,63,237,254,127,63,244,254,127,63,251,254,127,63,2,255,127,63,8,255,127,63,14,255,127,63,21,255,127,63,27,255,127,63,33,255,127,63,39,255,127,63,45,255,127,63,50,255,127,63,56,255,127,63,61,255,127,63,67,255,127,63,72,255,127,63,77,255,127,63,82,255,127,63,87,255,127,63,92,255,127,63,96,255,127,63,101,255,127,63,105,255,127,63,110,255,127,63,114,255,127,63,118,255,127,63,122,255,127,63,126,255,127,63,130,255,127,63,134,255,127,63,138,255,127,63,142,255,127,63,145,255,127,63,149,255,127,63,152,255,127,63,155,255,127,63,159,255,127,63,162,255,127,63,165,255,127,63,168,255,127,63,171,255,127,63,174,255,127,63,176,255,127,63,179,255,127,63,182,255,127,63,184,255,127,63,187,255,127,63,189,255,127,63,192,255,127,63,194,255,127,63,196,255,127,63,198,255,127,63,201,255,127,63,203,255,127,63,205,255,127,63,207,255,127,63,209,255,127,63,210,255,127,63,212,255,127,63,214,255,127,63,216,255,127,63,217,255,127,63,219,255,127,63,220,255,127,63,222,255,127,63,223,255,127,63,225,255,127,63,226,255,127,63,227,255,127,63,229,255,127,63,230,255,127,63,231,255,127,63,232,255,127,63,233,255,127,63,234,255,127,63,235,255,127,63,236,255,127,63,237,255,127,63,238,255,127,63,239,255,127,63,240,255,127,63,241,255,127,63,241,255,127,63,242,255,127,63,243,255,127,63,244,255,127,63,244,255,127,63,245,255,127,63,246,255,127,63,246,255,127,63,247,255,127,63,247,255,127,63,248,255,127,63,248,255,127,63,249,255,127,63,249,255,127,63,250,255,127,63,250,255,127,63,250,255,127,63,251,255,127,63,251,255,127,63,251,255,127,63,252,255,127,63,252,255,127,63,252,255,127,63,253,255,127,63,253,255,127,63,253,255,127,63,253,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,69,78,67,79,68,69,82,0,79,103,103,86,111,114,98,105,115,69,110,99,111,100,101,114,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"i8",N3,x.GLOBAL_BASE+551416);var y8=x.alignMemory(E3(12,"i8",Ts),8);V4(y8%8==0);function tB(i){Y9[y8]=Y9[i],Y9[y8+1]=Y9[i+1],Y9[y8+2]=Y9[i+2],Y9[y8+3]=Y9[i+3]}function fr(i){Y9[y8]=Y9[i],Y9[y8+1]=Y9[i+1],Y9[y8+2]=Y9[i+2],Y9[y8+3]=Y9[i+3],Y9[y8+4]=Y9[i+4],Y9[y8+5]=Y9[i+5],Y9[y8+6]=Y9[i+6],Y9[y8+7]=Y9[i+7]}var Ki=eB,YA=q$,Hs=0;function Ys(i){return _9[Hs>>2]=i,i}var L2={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function fp(i){switch(i){case 30:return ZC;case 85:return Jr/ZC;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:return typeof navigator=="object"&&navigator.hardwareConcurrency||1}return Ys(L2.EINVAL),-1}o._memset=Iv;var dp=!0;o._strlen=hv,o._strcat=uv,o._bitshift64Shl=Bv;function Tk(){o.abort()}o._i64Add=fv;var Nk=Te,Gk={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"},Mn={ttys:[],init:function(){},shutdown:function(){},register:function(i,$){Mn.ttys[i]={input:[],output:[],ops:$},k.registerDevice(i,Mn.stream_ops)},stream_ops:{open:function(i){var $=Mn.ttys[i.node.rdev];if(!$)throw new k.ErrnoError(L2.ENODEV);i.tty=$,i.seekable=!1},close:function(i){i.tty.ops.flush(i.tty)},flush:function(i){i.tty.ops.flush(i.tty)},read:function(i,$,h,d,P){if(!i.tty||!i.tty.ops.get_char)throw new k.ErrnoError(L2.ENXIO);for(var e=0,Z0=0;Z00?$=d.slice(0,P).toString("utf-8"):$=null}else typeof window<"u"&&typeof window.prompt=="function"?($=window.prompt("Input: "),$!==null&&($+=` `)):typeof readline=="function"&&($=readline(),$!==null&&($+=` -`));if(!$)return null;i.input=Vr($,!0)}return i.input.shift()},put_char:function(i,$){$===null||$===10?(o.print(Ns(i.output,0)),i.output=[]):$!=0&&i.output.push($)},flush:function(i){i.output&&i.output.length>0&&(o.print(Ns(i.output,0)),i.output=[])}},default_tty1_ops:{put_char:function(i,$){$===null||$===10?(o.printErr(Ns(i.output,0)),i.output=[]):$!=0&&i.output.push($)},flush:function(i){i.output&&i.output.length>0&&(o.printErr(Ns(i.output,0)),i.output=[])}}},v9={ops_table:null,mount:function(i){return v9.createNode(null,"/",16895,0)},createNode:function(i,$,h,d){if(k.isBlkdev(h)||k.isFIFO(h))throw new k.ErrnoError(L2.EPERM);v9.ops_table||(v9.ops_table={dir:{node:{getattr:v9.node_ops.getattr,setattr:v9.node_ops.setattr,lookup:v9.node_ops.lookup,mknod:v9.node_ops.mknod,rename:v9.node_ops.rename,unlink:v9.node_ops.unlink,rmdir:v9.node_ops.rmdir,readdir:v9.node_ops.readdir,symlink:v9.node_ops.symlink},stream:{llseek:v9.stream_ops.llseek}},file:{node:{getattr:v9.node_ops.getattr,setattr:v9.node_ops.setattr},stream:{llseek:v9.stream_ops.llseek,read:v9.stream_ops.read,write:v9.stream_ops.write,allocate:v9.stream_ops.allocate,mmap:v9.stream_ops.mmap,msync:v9.stream_ops.msync}},link:{node:{getattr:v9.node_ops.getattr,setattr:v9.node_ops.setattr,readlink:v9.node_ops.readlink},stream:{}},chrdev:{node:{getattr:v9.node_ops.getattr,setattr:v9.node_ops.setattr},stream:k.chrdev_stream_ops}});var P=k.createNode(i,$,h,d);return k.isDir(P.mode)?(P.node_ops=v9.ops_table.dir.node,P.stream_ops=v9.ops_table.dir.stream,P.contents={}):k.isFile(P.mode)?(P.node_ops=v9.ops_table.file.node,P.stream_ops=v9.ops_table.file.stream,P.usedBytes=0,P.contents=null):k.isLink(P.mode)?(P.node_ops=v9.ops_table.link.node,P.stream_ops=v9.ops_table.link.stream):k.isChrdev(P.mode)&&(P.node_ops=v9.ops_table.chrdev.node,P.stream_ops=v9.ops_table.chrdev.stream),P.timestamp=Date.now(),i&&(i.contents[$]=P),P},getFileDataAsRegularArray:function(i){if(i.contents&&i.contents.subarray){for(var $=[],h=0;hi.contents.length&&(i.contents=v9.getFileDataAsRegularArray(i),i.usedBytes=i.contents.length),!i.contents||i.contents.subarray){var h=i.contents?i.contents.buffer.byteLength:0;if(h>=$)return;var d=1024*1024;$=Math.max($,h*(h0&&i.contents.set(P.subarray(0,i.usedBytes),0);return}for(!i.contents&&$>0&&(i.contents=[]);i.contents.length<$;)i.contents.push(0)},resizeFileStorage:function(i,$){if(i.usedBytes!=$){if($==0){i.contents=null,i.usedBytes=0;return}if(!i.contents||i.contents.subarray){var h=i.contents;i.contents=new Uint8Array(new ArrayBuffer($)),h&&i.contents.set(h.subarray(0,Math.min($,i.usedBytes))),i.usedBytes=$;return}if(i.contents||(i.contents=[]),i.contents.length>$)i.contents.length=$;else for(;i.contents.length<$;)i.contents.push(0);i.usedBytes=$}},node_ops:{getattr:function(i){var $={};return $.dev=k.isChrdev(i.mode)?i.id:1,$.ino=i.id,$.mode=i.mode,$.nlink=1,$.uid=0,$.gid=0,$.rdev=i.rdev,k.isDir(i.mode)?$.size=4096:k.isFile(i.mode)?$.size=i.usedBytes:k.isLink(i.mode)?$.size=i.link.length:$.size=0,$.atime=new Date(i.timestamp),$.mtime=new Date(i.timestamp),$.ctime=new Date(i.timestamp),$.blksize=4096,$.blocks=Math.ceil($.size/$.blksize),$},setattr:function(i,$){$.mode!==void 0&&(i.mode=$.mode),$.timestamp!==void 0&&(i.timestamp=$.timestamp),$.size!==void 0&&v9.resizeFileStorage(i,$.size)},lookup:function(i,$){throw k.genericErrors[L2.ENOENT]},mknod:function(i,$,h,d){return v9.createNode(i,$,h,d)},rename:function(i,$,h){if(k.isDir(i.mode)){var d;try{d=k.lookupNode($,h)}catch{}if(d)for(var P in d.contents)throw new k.ErrnoError(L2.ENOTEMPTY)}delete i.parent.contents[i.name],i.name=h,$.contents[h]=i,i.parent=$},unlink:function(i,$){delete i.contents[$]},rmdir:function(i,$){var h=k.lookupNode(i,$);for(var d in h.contents)throw new k.ErrnoError(L2.ENOTEMPTY);delete i.contents[$]},readdir:function(i){var $=[".",".."];for(var h in i.contents)i.contents.hasOwnProperty(h)&&$.push(h);return $},symlink:function(i,$,h){var d=v9.createNode(i,$,41471,0);return d.link=h,d},readlink:function(i){if(!k.isLink(i.mode))throw new k.ErrnoError(L2.EINVAL);return i.link}},stream_ops:{read:function(i,$,h,d,P){var e=i.node.contents;if(P>=i.node.usedBytes)return 0;var W0=Math.min(i.node.usedBytes-P,d);if(V4(W0>=0),W0>8&&e.subarray)$.set(e.subarray(P,P+W0),h);else for(var t1=0;t10||P+dT5.timestamp)&&(P.push(w5),d++)});var e=[];if(Object.keys($.entries).forEach(function(w5){var p2=$.entries[w5],T5=i.entries[w5];T5||(e.push(w5),d++)}),!d)return h(null);var W0=!1,t1=0,b2=i.type==="remote"?i.db:$.db,s=b2.transaction([Ct.DB_STORE_NAME],"readwrite"),A1=s.objectStore(Ct.DB_STORE_NAME);function C(w5){if(w5)return C.errored?void 0:(C.errored=!0,h(w5));if(++t1>=d)return h(null)}s.onerror=function(w5){C(this.error),w5.preventDefault()},P.sort().forEach(function(w5){$.type==="local"?Ct.loadRemoteEntry(A1,w5,function(p2,T5){if(p2)return C(p2);Ct.storeLocalEntry(w5,T5,C)}):Ct.loadLocalEntry(w5,function(p2,T5){if(p2)return C(p2);Ct.storeRemoteEntry(A1,w5,T5,C)})}),e.sort().reverse().forEach(function(w5){$.type==="local"?Ct.removeLocalEntry(w5,C):Ct.removeRemoteEntry(A1,w5,C)})}},g8={isWindows:!1,staticInit:function(){g8.isWindows=!!process.platform.match(/^win/)},mount:function(i){return V4(f),g8.createNode(null,"/",g8.getMode(i.opts.root),0)},createNode:function(i,$,h,d){if(!k.isDir(h)&&!k.isFile(h)&&!k.isLink(h))throw new k.ErrnoError(L2.EINVAL);var P=k.createNode(i,$,h);return P.node_ops=g8.node_ops,P.stream_ops=g8.stream_ops,P},getMode:function(i){var $;try{$=Bt.lstatSync(i),g8.isWindows&&($.mode=$.mode|($.mode&146)>>1)}catch(h){throw h.code?new k.ErrnoError(L2[h.code]):h}return $.mode},realPath:function(i){for(var $=[];i.parent!==i;)$.push(i.name),i=i.parent;return $.push(i.mount.opts.root),$.reverse(),c9.join.apply(null,$)},flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:function(i){return i in g8.flagsToPermissionStringMap?g8.flagsToPermissionStringMap[i]:i},node_ops:{getattr:function(i){var $=g8.realPath(i),h;try{h=Bt.lstatSync($)}catch(d){throw d.code?new k.ErrnoError(L2[d.code]):d}return g8.isWindows&&!h.blksize&&(h.blksize=4096),g8.isWindows&&!h.blocks&&(h.blocks=(h.size+h.blksize-1)/h.blksize|0),{dev:h.dev,ino:h.ino,mode:h.mode,nlink:h.nlink,uid:h.uid,gid:h.gid,rdev:h.rdev,size:h.size,atime:h.atime,mtime:h.mtime,ctime:h.ctime,blksize:h.blksize,blocks:h.blocks}},setattr:function(i,$){var h=g8.realPath(i);try{if($.mode!==void 0&&(Bt.chmodSync(h,$.mode),i.mode=$.mode),$.timestamp!==void 0){var d=new Date($.timestamp);Bt.utimesSync(h,d,d)}$.size!==void 0&&Bt.truncateSync(h,$.size)}catch(P){throw P.code?new k.ErrnoError(L2[P.code]):P}},lookup:function(i,$){var h=c9.join2(g8.realPath(i),$),d=g8.getMode(h);return g8.createNode(i,$,d)},mknod:function(i,$,h,d){var P=g8.createNode(i,$,h,d),e=g8.realPath(P);try{k.isDir(P.mode)?Bt.mkdirSync(e,P.mode):Bt.writeFileSync(e,"",{mode:P.mode})}catch(W0){throw W0.code?new k.ErrnoError(L2[W0.code]):W0}return P},rename:function(i,$,h){var d=g8.realPath(i),P=c9.join2(g8.realPath($),h);try{Bt.renameSync(d,P)}catch(e){throw e.code?new k.ErrnoError(L2[e.code]):e}},unlink:function(i,$){var h=c9.join2(g8.realPath(i),$);try{Bt.unlinkSync(h)}catch(d){throw d.code?new k.ErrnoError(L2[d.code]):d}},rmdir:function(i,$){var h=c9.join2(g8.realPath(i),$);try{Bt.rmdirSync(h)}catch(d){throw d.code?new k.ErrnoError(L2[d.code]):d}},readdir:function(i){var $=g8.realPath(i);try{return Bt.readdirSync($)}catch(h){throw h.code?new k.ErrnoError(L2[h.code]):h}},symlink:function(i,$,h){var d=c9.join2(g8.realPath(i),$);try{Bt.symlinkSync(h,d)}catch(P){throw P.code?new k.ErrnoError(L2[P.code]):P}},readlink:function(i){var $=g8.realPath(i);try{return $=Bt.readlinkSync($),$=mp.relative(mp.resolve(i.mount.opts.root),$),$}catch(h){throw h.code?new k.ErrnoError(L2[h.code]):h}}},stream_ops:{open:function(i){var $=g8.realPath(i.node);try{k.isFile(i.node.mode)&&(i.nfd=Bt.openSync($,g8.flagsToPermissionString(i.flags)))}catch(h){throw h.code?new k.ErrnoError(L2[h.code]):h}},close:function(i){try{k.isFile(i.node.mode)&&i.nfd&&Bt.closeSync(i.nfd)}catch($){throw $.code?new k.ErrnoError(L2[$.code]):$}},read:function(i,$,h,d,P){if(d===0)return 0;var e=new Buffer(d),W0;try{W0=Bt.readSync(i.nfd,e,0,d,P)}catch(b2){throw new k.ErrnoError(L2[b2.code])}if(W0>0)for(var t1=0;t18)throw new k.ErrnoError(L2.ELOOP);for(var P=c9.normalizeArray(i.split("/").filter(function(w5){return!!w5}),!1),e=k.root,W0="/",t1=0;t140)throw new k.ErrnoError(L2.ELOOP)}}return{path:W0,node:e}},getPath:function(i){for(var $;;){if(k.isRoot(i)){var h=i.mount.mountpoint;return $?h[h.length-1]!=="/"?h+"/"+$:h+$:h}$=$?i.name+"/"+$:i.name,i=i.parent}},hashName:function(i,$){for(var h=0,d=0;d<$.length;d++)h=(h<<5)-h+$.charCodeAt(d)|0;return(i+h>>>0)%k.nameTable.length},hashAddNode:function(i){var $=k.hashName(i.parent.id,i.name);i.name_next=k.nameTable[$],k.nameTable[$]=i},hashRemoveNode:function(i){var $=k.hashName(i.parent.id,i.name);if(k.nameTable[$]===i)k.nameTable[$]=i.name_next;else for(var h=k.nameTable[$];h;){if(h.name_next===i){h.name_next=i.name_next;break}h=h.name_next}},lookupNode:function(i,$){var h=k.mayLookup(i);if(h)throw new k.ErrnoError(h,i);for(var d=k.hashName(i.id,$),P=k.nameTable[d];P;P=P.name_next){var e=P.name;if(P.parent.id===i.id&&e===$)return P}return k.lookup(i,$)},createNode:function(i,$,h,d){if(!k.FSNode){k.FSNode=function(t1,b2,s,A1){t1||(t1=this),this.parent=t1,this.mount=t1.mount,this.mounted=null,this.id=k.nextInode++,this.name=b2,this.mode=s,this.node_ops={},this.stream_ops={},this.rdev=A1},k.FSNode.prototype={};var P=365,e=146;Object.defineProperties(k.FSNode.prototype,{read:{get:function(){return(this.mode&P)===P},set:function(t1){t1?this.mode|=P:this.mode&=~P}},write:{get:function(){return(this.mode&e)===e},set:function(t1){t1?this.mode|=e:this.mode&=~e}},isFolder:{get:function(){return k.isDir(this.mode)}},isDevice:{get:function(){return k.isChrdev(this.mode)}}})}var W0=new k.FSNode(i,$,h,d);return k.hashAddNode(W0),W0},destroyNode:function(i){k.hashRemoveNode(i)},isRoot:function(i){return i===i.parent},isMountpoint:function(i){return!!i.mounted},isFile:function(i){return(i&61440)===32768},isDir:function(i){return(i&61440)===16384},isLink:function(i){return(i&61440)===40960},isChrdev:function(i){return(i&61440)===8192},isBlkdev:function(i){return(i&61440)===24576},isFIFO:function(i){return(i&61440)===4096},isSocket:function(i){return(i&49152)===49152},flagModes:{r:0,rs:1052672,"r+":2,w:577,wx:705,xw:705,"w+":578,"wx+":706,"xw+":706,a:1089,ax:1217,xa:1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(i){var $=k.flagModes[i];if(typeof $>"u")throw new Error("Unknown file open mode: "+i);return $},flagsToPermissionString:function(i){var $=i&2097155,h=["r","w","rw"][$];return i&512&&(h+="w"),h},nodePermissions:function(i,$){return k.ignorePermissions?0:$.indexOf("r")!==-1&&!(i.mode&292)||$.indexOf("w")!==-1&&!(i.mode&146)||$.indexOf("x")!==-1&&!(i.mode&73)?L2.EACCES:0},mayLookup:function(i){var $=k.nodePermissions(i,"x");return $||(i.node_ops.lookup?0:L2.EACCES)},mayCreate:function(i,$){try{var h=k.lookupNode(i,$);return L2.EEXIST}catch{}return k.nodePermissions(i,"wx")},mayDelete:function(i,$,h){var d;try{d=k.lookupNode(i,$)}catch(e){return e.errno}var P=k.nodePermissions(i,"wx");if(P)return P;if(h){if(!k.isDir(d.mode))return L2.ENOTDIR;if(k.isRoot(d)||k.getPath(d)===k.cwd())return L2.EBUSY}else if(k.isDir(d.mode))return L2.EISDIR;return 0},mayOpen:function(i,$){return i?k.isLink(i.mode)?L2.ELOOP:k.isDir(i.mode)&&($&2097155||$&512)?L2.EISDIR:k.nodePermissions(i,k.flagsToPermissionString($)):L2.ENOENT},MAX_OPEN_FDS:4096,nextfd:function(i,$){i=i||0,$=$||k.MAX_OPEN_FDS;for(var h=i;h<=$;h++)if(!k.streams[h])return h;throw new k.ErrnoError(L2.EMFILE)},getStream:function(i){return k.streams[i]},createStream:function(i,$,h){k.FSStream||(k.FSStream=function(){},k.FSStream.prototype={},Object.defineProperties(k.FSStream.prototype,{object:{get:function(){return this.node},set:function(W0){this.node=W0}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}));var d=new k.FSStream;for(var P in i)d[P]=i[P];i=d;var e=k.nextfd($,h);return i.fd=e,k.streams[e]=i,i},closeStream:function(i){k.streams[i]=null},getStreamFromPtr:function(i){return k.streams[i-1]},getPtrForStream:function(i){return i?i.fd+1:0},chrdev_stream_ops:{open:function(i){var $=k.getDevice(i.node.rdev);i.stream_ops=$.stream_ops,i.stream_ops.open&&i.stream_ops.open(i)},llseek:function(){throw new k.ErrnoError(L2.ESPIPE)}},major:function(i){return i>>8},minor:function(i){return i&255},makedev:function(i,$){return i<<8|$},registerDevice:function(i,$){k.devices[i]={stream_ops:$}},getDevice:function(i){return k.devices[i]},getMounts:function(i){for(var $=[],h=[i];h.length;){var d=h.pop();$.push(d),h.push.apply(h,d.mounts)}return $},syncfs:function(i,$){typeof i=="function"&&($=i,i=!1);var h=k.getMounts(k.root.mount),d=0;function P(e){if(e)return P.errored?void 0:(P.errored=!0,$(e));++d>=h.length&&$(null)}h.forEach(function(e){if(!e.type.syncfs)return P(null);e.type.syncfs(e,i,P)})},mount:function(i,$,h){var d=h==="/",P=!h,e;if(d&&k.root)throw new k.ErrnoError(L2.EBUSY);if(!d&&!P){var W0=k.lookupPath(h,{follow_mount:!1});if(h=W0.path,e=W0.node,k.isMountpoint(e))throw new k.ErrnoError(L2.EBUSY);if(!k.isDir(e.mode))throw new k.ErrnoError(L2.ENOTDIR)}var t1={type:i,opts:$,mountpoint:h,mounts:[]},b2=i.mount(t1);return b2.mount=t1,t1.root=b2,d?k.root=b2:e&&(e.mounted=t1,e.mount&&e.mount.mounts.push(t1)),b2},unmount:function(i){var $=k.lookupPath(i,{follow_mount:!1});if(!k.isMountpoint($.node))throw new k.ErrnoError(L2.EINVAL);var h=$.node,d=h.mounted,P=k.getMounts(d);Object.keys(k.nameTable).forEach(function(W0){for(var t1=k.nameTable[W0];t1;){var b2=t1.name_next;P.indexOf(t1.mount)!==-1&&k.destroyNode(t1),t1=b2}}),h.mounted=null;var e=h.mount.mounts.indexOf(d);V4(e!==-1),h.mount.mounts.splice(e,1)},lookup:function(i,$){return i.node_ops.lookup(i,$)},mknod:function(i,$,h){var d=k.lookupPath(i,{parent:!0}),P=d.node,e=c9.basename(i);if(!e||e==="."||e==="..")throw new k.ErrnoError(L2.EINVAL);var W0=k.mayCreate(P,e);if(W0)throw new k.ErrnoError(W0);if(!P.node_ops.mknod)throw new k.ErrnoError(L2.EPERM);return P.node_ops.mknod(P,e,$,h)},create:function(i,$){return $=$!==void 0?$:438,$&=4095,$|=32768,k.mknod(i,$,0)},mkdir:function(i,$){return $=$!==void 0?$:511,$&=1023,$|=16384,k.mknod(i,$,0)},mkdev:function(i,$,h){return typeof h>"u"&&(h=$,$=438),$|=8192,k.mknod(i,$,h)},symlink:function(i,$){if(!c9.resolve(i))throw new k.ErrnoError(L2.ENOENT);var h=k.lookupPath($,{parent:!0}),d=h.node;if(!d)throw new k.ErrnoError(L2.ENOENT);var P=c9.basename($),e=k.mayCreate(d,P);if(e)throw new k.ErrnoError(e);if(!d.node_ops.symlink)throw new k.ErrnoError(L2.EPERM);return d.node_ops.symlink(d,P,i)},rename:function(i,$){var h=c9.dirname(i),d=c9.dirname($),P=c9.basename(i),e=c9.basename($),W0,t1,b2;try{W0=k.lookupPath(i,{parent:!0}),t1=W0.node,W0=k.lookupPath($,{parent:!0}),b2=W0.node}catch{throw new k.ErrnoError(L2.EBUSY)}if(!t1||!b2)throw new k.ErrnoError(L2.ENOENT);if(t1.mount!==b2.mount)throw new k.ErrnoError(L2.EXDEV);var s=k.lookupNode(t1,P),A1=c9.relative(i,d);if(A1.charAt(0)!==".")throw new k.ErrnoError(L2.EINVAL);if(A1=c9.relative($,h),A1.charAt(0)!==".")throw new k.ErrnoError(L2.ENOTEMPTY);var C;try{C=k.lookupNode(b2,e)}catch{}if(s!==C){var w5=k.isDir(s.mode),p2=k.mayDelete(t1,P,w5);if(p2)throw new k.ErrnoError(p2);if(p2=C?k.mayDelete(b2,e,w5):k.mayCreate(b2,e),p2)throw new k.ErrnoError(p2);if(!t1.node_ops.rename)throw new k.ErrnoError(L2.EPERM);if(k.isMountpoint(s)||C&&k.isMountpoint(C))throw new k.ErrnoError(L2.EBUSY);if(b2!==t1&&(p2=k.nodePermissions(t1,"w"),p2))throw new k.ErrnoError(p2);try{k.trackingDelegate.willMovePath&&k.trackingDelegate.willMovePath(i,$)}catch(T5){console.log("FS.trackingDelegate['willMovePath']('"+i+"', '"+$+"') threw an exception: "+T5.message)}k.hashRemoveNode(s);try{t1.node_ops.rename(s,b2,e)}catch(T5){throw T5}finally{k.hashAddNode(s)}try{k.trackingDelegate.onMovePath&&k.trackingDelegate.onMovePath(i,$)}catch(T5){console.log("FS.trackingDelegate['onMovePath']('"+i+"', '"+$+"') threw an exception: "+T5.message)}}},rmdir:function(i){var $=k.lookupPath(i,{parent:!0}),h=$.node,d=c9.basename(i),P=k.lookupNode(h,d),e=k.mayDelete(h,d,!0);if(e)throw new k.ErrnoError(e);if(!h.node_ops.rmdir)throw new k.ErrnoError(L2.EPERM);if(k.isMountpoint(P))throw new k.ErrnoError(L2.EBUSY);try{k.trackingDelegate.willDeletePath&&k.trackingDelegate.willDeletePath(i)}catch(W0){console.log("FS.trackingDelegate['willDeletePath']('"+i+"') threw an exception: "+W0.message)}h.node_ops.rmdir(h,d),k.destroyNode(P);try{k.trackingDelegate.onDeletePath&&k.trackingDelegate.onDeletePath(i)}catch(W0){console.log("FS.trackingDelegate['onDeletePath']('"+i+"') threw an exception: "+W0.message)}},readdir:function(i){var $=k.lookupPath(i,{follow:!0}),h=$.node;if(!h.node_ops.readdir)throw new k.ErrnoError(L2.ENOTDIR);return h.node_ops.readdir(h)},unlink:function(i){var $=k.lookupPath(i,{parent:!0}),h=$.node,d=c9.basename(i),P=k.lookupNode(h,d),e=k.mayDelete(h,d,!1);if(e)throw e===L2.EISDIR&&(e=L2.EPERM),new k.ErrnoError(e);if(!h.node_ops.unlink)throw new k.ErrnoError(L2.EPERM);if(k.isMountpoint(P))throw new k.ErrnoError(L2.EBUSY);try{k.trackingDelegate.willDeletePath&&k.trackingDelegate.willDeletePath(i)}catch(W0){console.log("FS.trackingDelegate['willDeletePath']('"+i+"') threw an exception: "+W0.message)}h.node_ops.unlink(h,d),k.destroyNode(P);try{k.trackingDelegate.onDeletePath&&k.trackingDelegate.onDeletePath(i)}catch(W0){console.log("FS.trackingDelegate['onDeletePath']('"+i+"') threw an exception: "+W0.message)}},readlink:function(i){var $=k.lookupPath(i),h=$.node;if(!h)throw new k.ErrnoError(L2.ENOENT);if(!h.node_ops.readlink)throw new k.ErrnoError(L2.EINVAL);return c9.resolve(k.getPath($.node.parent),h.node_ops.readlink(h))},stat:function(i,$){var h=k.lookupPath(i,{follow:!$}),d=h.node;if(!d)throw new k.ErrnoError(L2.ENOENT);if(!d.node_ops.getattr)throw new k.ErrnoError(L2.EPERM);return d.node_ops.getattr(d)},lstat:function(i){return k.stat(i,!0)},chmod:function(i,$,h){var d;if(typeof i=="string"){var P=k.lookupPath(i,{follow:!h});d=P.node}else d=i;if(!d.node_ops.setattr)throw new k.ErrnoError(L2.EPERM);d.node_ops.setattr(d,{mode:$&4095|d.mode&-4096,timestamp:Date.now()})},lchmod:function(i,$){k.chmod(i,$,!0)},fchmod:function(i,$){var h=k.getStream(i);if(!h)throw new k.ErrnoError(L2.EBADF);k.chmod(h.node,$)},chown:function(i,$,h,d){var P;if(typeof i=="string"){var e=k.lookupPath(i,{follow:!d});P=e.node}else P=i;if(!P.node_ops.setattr)throw new k.ErrnoError(L2.EPERM);P.node_ops.setattr(P,{timestamp:Date.now()})},lchown:function(i,$,h){k.chown(i,$,h,!0)},fchown:function(i,$,h){var d=k.getStream(i);if(!d)throw new k.ErrnoError(L2.EBADF);k.chown(d.node,$,h)},truncate:function(i,$){if($<0)throw new k.ErrnoError(L2.EINVAL);var h;if(typeof i=="string"){var d=k.lookupPath(i,{follow:!0});h=d.node}else h=i;if(!h.node_ops.setattr)throw new k.ErrnoError(L2.EPERM);if(k.isDir(h.mode))throw new k.ErrnoError(L2.EISDIR);if(!k.isFile(h.mode))throw new k.ErrnoError(L2.EINVAL);var P=k.nodePermissions(h,"w");if(P)throw new k.ErrnoError(P);h.node_ops.setattr(h,{size:$,timestamp:Date.now()})},ftruncate:function(i,$){var h=k.getStream(i);if(!h)throw new k.ErrnoError(L2.EBADF);if(!(h.flags&2097155))throw new k.ErrnoError(L2.EINVAL);k.truncate(h.node,$)},utime:function(i,$,h){var d=k.lookupPath(i,{follow:!0}),P=d.node;P.node_ops.setattr(P,{timestamp:Math.max($,h)})},open:function(i,$,h,d,P){if(i==="")throw new k.ErrnoError(L2.ENOENT);$=typeof $=="string"?k.modeStringToFlags($):$,h=typeof h>"u"?438:h,$&64?h=h&4095|32768:h=0;var e;if(typeof i=="object")e=i;else{i=c9.normalize(i);try{var W0=k.lookupPath(i,{follow:!($&131072)});e=W0.node}catch{}}var t1=!1;if($&64)if(e){if($&128)throw new k.ErrnoError(L2.EEXIST)}else e=k.mknod(i,h,0),t1=!0;if(!e)throw new k.ErrnoError(L2.ENOENT);if(k.isChrdev(e.mode)&&($&=-513),!t1){var b2=k.mayOpen(e,$);if(b2)throw new k.ErrnoError(b2)}$&512&&k.truncate(e,0),$&=-641;var s=k.createStream({node:e,path:k.getPath(e),flags:$,seekable:!0,position:0,stream_ops:e.stream_ops,ungotten:[],error:!1},d,P);s.stream_ops.open&&s.stream_ops.open(s),o.logReadFiles&&!($&1)&&(k.readFiles||(k.readFiles={}),i in k.readFiles||(k.readFiles[i]=1,o.printErr("read file: "+i)));try{if(k.trackingDelegate.onOpenFile){var A1=0;($&2097155)!==1&&(A1|=k.tracking.openFlags.READ),$&2097155&&(A1|=k.tracking.openFlags.WRITE),k.trackingDelegate.onOpenFile(i,A1)}}catch(C){console.log("FS.trackingDelegate['onOpenFile']('"+i+"', flags) threw an exception: "+C.message)}return s},close:function(i){try{i.stream_ops.close&&i.stream_ops.close(i)}catch($){throw $}finally{k.closeStream(i.fd)}},llseek:function(i,$,h){if(!i.seekable||!i.stream_ops.llseek)throw new k.ErrnoError(L2.ESPIPE);return i.position=i.stream_ops.llseek(i,$,h),i.ungotten=[],i.position},read:function(i,$,h,d,P){if(d<0||P<0)throw new k.ErrnoError(L2.EINVAL);if((i.flags&2097155)===1)throw new k.ErrnoError(L2.EBADF);if(k.isDir(i.node.mode))throw new k.ErrnoError(L2.EISDIR);if(!i.stream_ops.read)throw new k.ErrnoError(L2.EINVAL);var e=!0;if(typeof P>"u")P=i.position,e=!1;else if(!i.seekable)throw new k.ErrnoError(L2.ESPIPE);var W0=i.stream_ops.read(i,$,h,d,P);return e||(i.position+=W0),W0},write:function(i,$,h,d,P,e){if(d<0||P<0)throw new k.ErrnoError(L2.EINVAL);if(!(i.flags&2097155))throw new k.ErrnoError(L2.EBADF);if(k.isDir(i.node.mode))throw new k.ErrnoError(L2.EISDIR);if(!i.stream_ops.write)throw new k.ErrnoError(L2.EINVAL);i.flags&1024&&k.llseek(i,0,2);var W0=!0;if(typeof P>"u")P=i.position,W0=!1;else if(!i.seekable)throw new k.ErrnoError(L2.ESPIPE);var t1=i.stream_ops.write(i,$,h,d,P,e);W0||(i.position+=t1);try{i.path&&k.trackingDelegate.onWriteToFile&&k.trackingDelegate.onWriteToFile(i.path)}catch(b2){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+b2.message)}return t1},allocate:function(i,$,h){if($<0||h<=0)throw new k.ErrnoError(L2.EINVAL);if(!(i.flags&2097155))throw new k.ErrnoError(L2.EBADF);if(!k.isFile(i.node.mode)&&!k.isDir(node.mode))throw new k.ErrnoError(L2.ENODEV);if(!i.stream_ops.allocate)throw new k.ErrnoError(L2.EOPNOTSUPP);i.stream_ops.allocate(i,$,h)},mmap:function(i,$,h,d,P,e,W0){if((i.flags&2097155)===1)throw new k.ErrnoError(L2.EACCES);if(!i.stream_ops.mmap)throw new k.ErrnoError(L2.ENODEV);return i.stream_ops.mmap(i,$,h,d,P,e,W0)},msync:function(i,$,h,d,P){return!i||!i.stream_ops.msync?0:i.stream_ops.msync(i,$,h,d,P)},munmap:function(i){return 0},ioctl:function(i,$,h){if(!i.stream_ops.ioctl)throw new k.ErrnoError(L2.ENOTTY);return i.stream_ops.ioctl(i,$,h)},readFile:function(i,$){if($=$||{},$.flags=$.flags||"r",$.encoding=$.encoding||"binary",$.encoding!=="utf8"&&$.encoding!=="binary")throw new Error('Invalid encoding type "'+$.encoding+'"');var h,d=k.open(i,$.flags),P=k.stat(i),e=P.size,W0=new Uint8Array(e);return k.read(d,W0,0,e,0),$.encoding==="utf8"?h=Ns(W0,0):$.encoding==="binary"&&(h=W0),k.close(d),h},writeFile:function(i,$,h){if(h=h||{},h.flags=h.flags||"w",h.encoding=h.encoding||"utf8",h.encoding!=="utf8"&&h.encoding!=="binary")throw new Error('Invalid encoding type "'+h.encoding+'"');var d=k.open(i,h.flags,h.mode);if(h.encoding==="utf8"){var P=new Uint8Array(Gs($)+1),e=Rn($,P,0,P.length);k.write(d,P,0,e,0,h.canOwn)}else h.encoding==="binary"&&k.write(d,$,0,$.length,0,h.canOwn);k.close(d)},cwd:function(){return k.currentPath},chdir:function(i){var $=k.lookupPath(i,{follow:!0});if(!k.isDir($.node.mode))throw new k.ErrnoError(L2.ENOTDIR);var h=k.nodePermissions($.node,"x");if(h)throw new k.ErrnoError(h);k.currentPath=$.path},createDefaultDirectories:function(){k.mkdir("/tmp"),k.mkdir("/home"),k.mkdir("/home/web_user")},createDefaultDevices:function(){k.mkdir("/dev"),k.registerDevice(k.makedev(1,3),{read:function(){return 0},write:function(h,d,P,e,W0){return e}}),k.mkdev("/dev/null",k.makedev(1,3)),Mn.register(k.makedev(5,0),Mn.default_tty_ops),Mn.register(k.makedev(6,0),Mn.default_tty1_ops),k.mkdev("/dev/tty",k.makedev(5,0)),k.mkdev("/dev/tty1",k.makedev(6,0));var i;if(typeof crypto<"u"){var $=new Uint8Array(1);i=function(){return crypto.getRandomValues($),$[0]}}else f?i=void 0:i=function(){return Math.random()*256|0};k.createDevice("/dev","random",i),k.createDevice("/dev","urandom",i),k.mkdir("/dev/shm"),k.mkdir("/dev/shm/tmp")},createStandardStreams:function(){o.stdin?k.createDevice("/dev","stdin",o.stdin):k.symlink("/dev/tty","/dev/stdin"),o.stdout?k.createDevice("/dev","stdout",null,o.stdout):k.symlink("/dev/tty","/dev/stdout"),o.stderr?k.createDevice("/dev","stderr",null,o.stderr):k.symlink("/dev/tty1","/dev/stderr");var i=k.open("/dev/stdin","r");_9[Uk>>2]=k.getPtrForStream(i),V4(i.fd===0,"invalid handle for stdin ("+i.fd+")");var $=k.open("/dev/stdout","w");_9[Pk>>2]=k.getPtrForStream($),V4($.fd===1,"invalid handle for stdout ("+$.fd+")");var h=k.open("/dev/stderr","w");_9[Ok>>2]=k.getPtrForStream(h),V4(h.fd===2,"invalid handle for stderr ("+h.fd+")")},ensureErrnoError:function(){k.ErrnoError||(k.ErrnoError=function($,h){this.node=h,this.setErrno=function(d){this.errno=d;for(var P in L2)if(L2[P]===d){this.code=P;break}},this.setErrno($),this.message=Gk[$]},k.ErrnoError.prototype=new Error,k.ErrnoError.prototype.constructor=k.ErrnoError,[L2.ENOENT].forEach(function(i){k.genericErrors[i]=new k.ErrnoError(i),k.genericErrors[i].stack=""}))},staticInit:function(){k.ensureErrnoError(),k.nameTable=new Array(4096),k.mount(v9,{},"/"),k.createDefaultDirectories(),k.createDefaultDevices()},init:function(i,$,h){V4(!k.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)"),k.init.initialized=!0,k.ensureErrnoError(),o.stdin=i||o.stdin,o.stdout=$||o.stdout,o.stderr=h||o.stderr,k.createStandardStreams()},quit:function(){k.init.initialized=!1;for(var i=0;ithis.length-1||w5<0)){var p2=w5%this.chunkSize,T5=w5/this.chunkSize|0;return this.getter(T5)[p2]}},e.prototype.setDataGetter=function(w5){this.getter=w5},e.prototype.cacheLength=function(){var w5=new XMLHttpRequest;if(w5.open("HEAD",h,!1),w5.send(null),!(w5.status>=200&&w5.status<300||w5.status===304))throw new Error("Couldn't load "+h+". Status: "+w5.status);var p2=Number(w5.getResponseHeader("Content-length")),T5,x9=(T5=w5.getResponseHeader("Accept-Ranges"))&&T5==="bytes",O9=1024*1024;x9||(O9=p2);var I4=function(K9,h8){if(K9>h8)throw new Error("invalid range ("+K9+", "+h8+") or no bytes requested!");if(h8>p2-1)throw new Error("only "+p2+" bytes available! programmer error!");var K4=new XMLHttpRequest;if(K4.open("GET",h,!1),p2!==O9&&K4.setRequestHeader("Range","bytes="+K9+"-"+h8),typeof Uint8Array<"u"&&(K4.responseType="arraybuffer"),K4.overrideMimeType&&K4.overrideMimeType("text/plain; charset=x-user-defined"),K4.send(null),!(K4.status>=200&&K4.status<300||K4.status===304))throw new Error("Couldn't load "+h+". Status: "+K4.status);return K4.response!==void 0?new Uint8Array(K4.response||[]):Vr(K4.responseText||"",!0)},w8=this;w8.setDataGetter(function(K9){var h8=K9*O9,K4=(K9+1)*O9-1;if(K4=Math.min(K4,p2-1),typeof w8.chunks[K9]>"u"&&(w8.chunks[K9]=I4(h8,K4)),typeof w8.chunks[K9]>"u")throw new Error("doXHR failed!");return w8.chunks[K9]}),this._length=p2,this._chunkSize=O9,this.lengthKnown=!0},typeof XMLHttpRequest<"u"){if(!D)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var W0=new e;Object.defineProperty(W0,"length",{get:function(){return this.lengthKnown||this.cacheLength(),this._length}}),Object.defineProperty(W0,"chunkSize",{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}});var t1={isDevice:!1,contents:W0}}else var t1={isDevice:!1,url:h};var b2=k.createFile(i,$,t1,d,P);t1.contents?b2.contents=t1.contents:t1.url&&(b2.contents=null,b2.url=t1.url),Object.defineProperty(b2,"usedBytes",{get:function(){return this.contents.length}});var s={},A1=Object.keys(b2.stream_ops);return A1.forEach(function(C){var w5=b2.stream_ops[C];s[C]=function(){if(!k.forceLoadFile(b2))throw new k.ErrnoError(L2.EIO);return w5.apply(null,arguments)}}),s.read=function(w5,p2,T5,x9,O9){if(!k.forceLoadFile(b2))throw new k.ErrnoError(L2.EIO);var I4=w5.node.contents;if(O9>=I4.length)return 0;var w8=Math.min(I4.length-O9,x9);if(V4(w8>=0),I4.slice)for(var K9=0;K9=0;d--){var P=i[d];P==="."?i.splice(d,1):P===".."?(i.splice(d,1),h++):h&&(i.splice(d,1),h--)}if($)for(;h--;h)i.unshift("..");return i},normalize:function(i){var $=i.charAt(0)==="/",h=i.substr(-1)==="/";return i=c9.normalizeArray(i.split("/").filter(function(d){return!!d}),!$).join("/"),!i&&!$&&(i="."),i&&h&&(i+="/"),($?"/":"")+i},dirname:function(i){var $=c9.splitPath(i),h=$[0],d=$[1];return!h&&!d?".":(d&&(d=d.substr(0,d.length-1)),h+d)},basename:function(i){if(i==="/")return"/";var $=i.lastIndexOf("/");return $===-1?i:i.substr($+1)},extname:function(i){return c9.splitPath(i)[3]},join:function(){var i=Array.prototype.slice.call(arguments,0);return c9.normalize(i.join("/"))},join2:function(i,$){return c9.normalize(i+"/"+$)},resolve:function(){for(var i="",$=!1,h=arguments.length-1;h>=-1&&!$;h--){var d=h>=0?arguments[h]:k.cwd();if(typeof d!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!d)return"";i=d+"/"+i,$=d.charAt(0)==="/"}return i=c9.normalizeArray(i.split("/").filter(function(P){return!!P}),!$).join("/"),($?"/":"")+i||"."},relative:function(i,$){i=c9.resolve(i).substr(1),$=c9.resolve($).substr(1);function h(s){for(var A1=0;A1=0&&s[C]==="";C--);return A1>C?[]:s.slice(A1,C-A1+1)}for(var d=h(i.split("/")),P=h($.split("/")),e=Math.min(d.length,P.length),W0=e,t1=0;t10){var t1=Date.now(),b2=J1.mainLoop.queue.shift();if(b2.func(b2.arg),J1.mainLoop.remainingBlockers){var s=J1.mainLoop.remainingBlockers,A1=s%1==0?s-1:Math.floor(s);b2.counted?J1.mainLoop.remainingBlockers=A1:(A1=A1+.5,J1.mainLoop.remainingBlockers=(8*s+A1)/9)}console.log('main loop blocker "'+b2.name+'" took '+(Date.now()-t1)+" ms"),J1.mainLoop.updateStatus(),setTimeout(J1.mainLoop.runner,0);return}if(!(e1&&J1.mainLoop.currentFrameNumber%J1.mainLoop.timingValue!=0){J1.mainLoop.scheduler();return}J1.mainLoop.method==="timeout"&&o.ctx&&(o.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!"),J1.mainLoop.method=""),J1.mainLoop.runIter(function(){typeof d<"u"?F.dynCall("vi",i,[d]):F.dynCall("v",i)}),!(e0?Pm(0,1e3/$):Pm(1,1),J1.mainLoop.scheduler()),h)throw"SimulateInfiniteLoop"}var J1={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){J1.mainLoop.scheduler=null,J1.mainLoop.currentlyRunningMainloop++},resume:function(){J1.mainLoop.currentlyRunningMainloop++;var i=J1.mainLoop.timingMode,$=J1.mainLoop.timingValue,h=J1.mainLoop.func;J1.mainLoop.func=null,Ip(h,0,!1,J1.mainLoop.arg,!0),Pm(i,$),J1.mainLoop.scheduler()},updateStatus:function(){if(o.setStatus){var i=o.statusMessage||"Please wait...",$=J1.mainLoop.remainingBlockers,h=J1.mainLoop.expectedBlockers;$?$"u"&&(console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."),o.noImageDecoding=!0);var i={};i.canHandle=function(e){return!o.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(e)},i.handle=function(e,W0,t1,b2){var s=null;if(J1.hasBlobConstructor)try{s=new Blob([e],{type:J1.getMimetype(W0)}),s.size!==e.length&&(s=new Blob([new Uint8Array(e).buffer],{type:J1.getMimetype(W0)}))}catch(p2){F.warnOnce("Blob constructor present but fails: "+p2+"; falling back to blob builder")}if(!s){var A1=new J1.BlobBuilder;A1.append(new Uint8Array(e).buffer),s=A1.getBlob()}var C=J1.URLObject.createObjectURL(s),w5=new Image;w5.onload=function(){V4(w5.complete,"Image "+W0+" could not be decoded");var T5=document.createElement("canvas");T5.width=w5.width,T5.height=w5.height;var x9=T5.getContext("2d");x9.drawImage(w5,0,0),o.preloadedImages[W0]=T5,J1.URLObject.revokeObjectURL(C),t1&&t1(e)},w5.onerror=function(T5){console.log("Image "+C+" could not be decoded"),b2&&b2()},w5.src=C},o.preloadPlugins.push(i);var $={};$.canHandle=function(e){return!o.noAudioDecoding&&e.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},$.handle=function(e,W0,t1,b2){var s=!1;function A1(x9){s||(s=!0,o.preloadedAudios[W0]=x9,t1&&t1(e))}function C(){s||(s=!0,o.preloadedAudios[W0]=new Audio,b2&&b2())}if(J1.hasBlobConstructor){try{var w5=new Blob([e],{type:J1.getMimetype(W0)})}catch{return C()}var p2=J1.URLObject.createObjectURL(w5),T5=new Audio;T5.addEventListener("canplaythrough",function(){A1(T5)},!1),T5.onerror=function(O9){if(s)return;console.log("warning: browser could not fully decode audio "+W0+", trying slower base64 approach");function I4(w8){for(var K9="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",h8="=",K4="",Gi=0,Ui=0,dr=0;dr=6;){var V$=Gi>>Ui-6&63;Ui-=6,K4+=K9[V$]}return Ui==2?(K4+=K9[(Gi&3)<<4],K4+=h8+h8):Ui==4&&(K4+=K9[(Gi&15)<<2],K4+=h8),K4}T5.src="data:audio/x-"+W0.substr(-3)+";base64,"+I4(e),A1(T5)},T5.src=p2,J1.safeSetTimeout(function(){A1(T5)},1e4)}else return C()},o.preloadPlugins.push($);var h=o.canvas;function d(){J1.pointerLock=document.pointerLockElement===h||document.mozPointerLockElement===h||document.webkitPointerLockElement===h||document.msPointerLockElement===h}h&&(h.requestPointerLock=h.requestPointerLock||h.mozRequestPointerLock||h.webkitRequestPointerLock||h.msRequestPointerLock||function(){},h.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},h.exitPointerLock=h.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",d,!1),document.addEventListener("mozpointerlockchange",d,!1),document.addEventListener("webkitpointerlockchange",d,!1),document.addEventListener("mspointerlockchange",d,!1),o.elementPointerLock&&h.addEventListener("click",function(P){!J1.pointerLock&&h.requestPointerLock&&(h.requestPointerLock(),P.preventDefault())},!1))},createContext:function(i,$,h,d){if($&&o.ctx&&i==o.canvas)return o.ctx;var P,e;if($){var W0={antialias:!1,alpha:!1};if(d)for(var t1 in d)W0[t1]=d[t1];e=GL.createContext(i,W0),e&&(P=GL.getContext(e).GLctx),i.style.backgroundColor="black"}else P=i.getContext("2d");return P?(h&&($||V4(typeof GLctx>"u","cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),o.ctx=P,$&&GL.makeContextCurrent(e),o.useWebGL=$,J1.moduleContextCreatedCallbacks.forEach(function(b2){b2()}),J1.init()),P):null},destroyContext:function(i,$,h){},fullScreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullScreen:function(i,$,h){J1.lockPointer=i,J1.resizeCanvas=$,J1.vrDevice=h,typeof J1.lockPointer>"u"&&(J1.lockPointer=!0),typeof J1.resizeCanvas>"u"&&(J1.resizeCanvas=!1),typeof J1.vrDevice>"u"&&(J1.vrDevice=null);var d=o.canvas;function P(){J1.isFullScreen=!1;var W0=d.parentNode;(document.webkitFullScreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.mozFullscreenElement||document.fullScreenElement||document.fullscreenElement||document.msFullScreenElement||document.msFullscreenElement||document.webkitCurrentFullScreenElement)===W0?(d.cancelFullScreen=document.cancelFullScreen||document.mozCancelFullScreen||document.webkitCancelFullScreen||document.msExitFullscreen||document.exitFullscreen||function(){},d.cancelFullScreen=d.cancelFullScreen.bind(document),J1.lockPointer&&d.requestPointerLock(),J1.isFullScreen=!0,J1.resizeCanvas&&J1.setFullScreenCanvasSize()):(W0.parentNode.insertBefore(d,W0),W0.parentNode.removeChild(W0),J1.resizeCanvas&&J1.setWindowedCanvasSize()),o.onFullScreen&&o.onFullScreen(J1.isFullScreen),J1.updateCanvasDimensions(d)}J1.fullScreenHandlersInstalled||(J1.fullScreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",P,!1),document.addEventListener("mozfullscreenchange",P,!1),document.addEventListener("webkitfullscreenchange",P,!1),document.addEventListener("MSFullscreenChange",P,!1));var e=document.createElement("div");d.parentNode.insertBefore(e,d),e.appendChild(d),e.requestFullScreen=e.requestFullScreen||e.mozRequestFullScreen||e.msRequestFullscreen||(e.webkitRequestFullScreen?function(){e.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),h?e.requestFullScreen({vrDisplay:h}):e.requestFullScreen()},nextRAF:0,fakeRequestAnimationFrame:function(i){var $=Date.now();if(J1.nextRAF===0)J1.nextRAF=$+1e3/60;else for(;$+2>=J1.nextRAF;)J1.nextRAF+=1e3/60;var h=Math.max(J1.nextRAF-$,0);setTimeout(i,h)},requestAnimationFrame:function($){typeof window>"u"?J1.fakeRequestAnimationFrame($):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||J1.fakeRequestAnimationFrame),window.requestAnimationFrame($))},safeCallback:function(i){return function(){if(!R0)return i.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){J1.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(J1.allowAsyncCallbacks=!0,J1.queuedAsyncCallbacks.length>0){var i=J1.queuedAsyncCallbacks;J1.queuedAsyncCallbacks=[],i.forEach(function($){$()})}},safeRequestAnimationFrame:function(i){return J1.requestAnimationFrame(function(){R0||(J1.allowAsyncCallbacks?i():J1.queuedAsyncCallbacks.push(i))})},safeSetTimeout:function(i,$){return o.noExitRuntime=!0,setTimeout(function(){R0||(J1.allowAsyncCallbacks?i():J1.queuedAsyncCallbacks.push(i))},$)},safeSetInterval:function(i,$){return o.noExitRuntime=!0,setInterval(function(){R0||J1.allowAsyncCallbacks&&i()},$)},getMimetype:function(i){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[i.substr(i.lastIndexOf(".")+1)]},getUserMedia:function(i){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(i)},getMovementX:function(i){return i.movementX||i.mozMovementX||i.webkitMovementX||0},getMovementY:function(i){return i.movementY||i.mozMovementY||i.webkitMovementY||0},getMouseWheelDelta:function(i){var $=0;switch(i.type){case"DOMMouseScroll":$=i.detail;break;case"mousewheel":$=i.wheelDelta;break;case"wheel":$=i.deltaY;break;default:throw"unrecognized mouse wheel event: "+i.type}return $},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(i){if(J1.pointerLock)i.type!="mousemove"&&"mozMovementX"in i?J1.mouseMovementX=J1.mouseMovementY=0:(J1.mouseMovementX=J1.getMovementX(i),J1.mouseMovementY=J1.getMovementY(i)),typeof SDL<"u"?(J1.mouseX=SDL.mouseX+J1.mouseMovementX,J1.mouseY=SDL.mouseY+J1.mouseMovementY):(J1.mouseX+=J1.mouseMovementX,J1.mouseY+=J1.mouseMovementY);else{var $=o.canvas.getBoundingClientRect(),h=o.canvas.width,d=o.canvas.height,P=typeof window.scrollX<"u"?window.scrollX:window.pageXOffset,e=typeof window.scrollY<"u"?window.scrollY:window.pageYOffset;if(i.type==="touchstart"||i.type==="touchend"||i.type==="touchmove"){var W0=i.touch;if(W0===void 0)return;var t1=W0.pageX-(P+$.left),b2=W0.pageY-(e+$.top);t1=t1*(h/$.width),b2=b2*(d/$.height);var s={x:t1,y:b2};if(i.type==="touchstart")J1.lastTouches[W0.identifier]=s,J1.touches[W0.identifier]=s;else if(i.type==="touchend"||i.type==="touchmove"){var A1=J1.touches[W0.identifier];A1||(A1=s),J1.lastTouches[W0.identifier]=A1,J1.touches[W0.identifier]=s}return}var C=i.pageX-(P+$.left),w5=i.pageY-(e+$.top);C=C*(h/$.width),w5=w5*(d/$.height),J1.mouseMovementX=C-J1.mouseX,J1.mouseMovementY=w5-J1.mouseY,J1.mouseX=C,J1.mouseY=w5}},xhrLoad:function(i,$,h){var d=new XMLHttpRequest;d.open("GET",i,!0),d.responseType="arraybuffer",d.onload=function(){d.status==200||d.status==0&&d.response?$(d.response):h()},d.onerror=h,d.send(null)},asyncLoad:function(i,$,h,d){J1.xhrLoad(i,function(P){V4(P,'Loading data file "'+i+'" failed (no arrayBuffer).'),$(new Uint8Array(P)),d||ur("al "+i)},function(P){if(h)h();else throw'Loading data file "'+i+'" failed.'}),d||Fn("al "+i)},resizeListeners:[],updateResizeListeners:function(){var i=o.canvas;J1.resizeListeners.forEach(function($){$(i.width,i.height)})},setCanvasSize:function(i,$,h){var d=o.canvas;J1.updateCanvasDimensions(d,i,$),h||J1.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:function(){if(typeof SDL<"u"){var i=H$[SDL.screen+F.QUANTUM_SIZE*0>>2];i=i|8388608,_9[SDL.screen+F.QUANTUM_SIZE*0>>2]=i}J1.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL<"u"){var i=H$[SDL.screen+F.QUANTUM_SIZE*0>>2];i=i&-8388609,_9[SDL.screen+F.QUANTUM_SIZE*0>>2]=i}J1.updateResizeListeners()},updateCanvasDimensions:function(i,$,h){$&&h?(i.widthNative=$,i.heightNative=h):($=i.widthNative,h=i.heightNative);var d=$,P=h;if(o.forcedAspectRatio&&o.forcedAspectRatio>0&&(d/P>2]=$),$}function rv(){o.printErr("missing function: floor0_exportbundle"),Js(-1)}if(Hs=F.staticAlloc(4),_9[Hs>>2]=0,o.requestFullScreen=function($,h,d){J1.requestFullScreen($,h,d)},o.requestAnimationFrame=function($){J1.requestAnimationFrame($)},o.setCanvasSize=function($,h,d){J1.setCanvasSize($,h,d)},o.pauseMainLoop=function(){J1.mainLoop.pause()},o.resumeMainLoop=function(){J1.mainLoop.resume()},o.getUserMedia=function(){J1.getUserMedia()},o.createContext=function($,h,d,P){return J1.createContext($,h,d,P)},k.staticInit(),N$.unshift(function(){!o.noFSInit&&!k.init.initialized&&k.init()}),Qh.push(function(){k.ignorePermissions=!1}),G$.push(function(){k.quit()}),o.FS_createFolder=k.createFolder,o.FS_createPath=k.createPath,o.FS_createDataFile=k.createDataFile,o.FS_createPreloadedFile=k.createPreloadedFile,o.FS_createLazyFile=k.createLazyFile,o.FS_createLink=k.createLink,o.FS_createDevice=k.createDevice,N$.unshift(function(){Mn.init()}),G$.push(function(){Mn.shutdown()}),f)var Bt=void 0,mp=void 0;ph=pi=F.alignMemory(Yr),L$=!0,F$=ph+Mm,M$=Li=F.alignMemory(F$),V4(M$>0]=d[t>>0],d[p2+1>>0]=d[t+1>>0],d[p2+2>>0]=d[t+2>>0],d[p2+3>>0]=d[t+3>>0]}function ND(t){t=t|0,d[p2>>0]=d[t>>0],d[p2+1>>0]=d[t+1>>0],d[p2+2>>0]=d[t+2>>0],d[p2+3>>0]=d[t+3>>0],d[p2+4>>0]=d[t+4>>0],d[p2+5>>0]=d[t+5>>0],d[p2+6>>0]=d[t+6>>0],d[p2+7>>0]=d[t+7>>0]}function Tv(t){t=t|0,H6=t}function Nv(){return H6|0}function sB(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0;E=C,e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,n=S9(256)|0,A=t+8|0,e[A>>2]=n,a=t+12|0,e[a>>2]=n,d[n>>0]=0,c=t+16|0,e[c>>2]=256}function Gv(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0;x=C,A=n>>3,a=t+12|0,B=e[a>>2]|0,v=(B|0)==0,!v&&(S=A<<3,w=n-S|0,y=t+8|0,b=e[y>>2]|0,Q=b+A|0,e[a>>2]=Q,_=t+4|0,e[_>>2]=w,e[t>>2]=A,c=8+(w<<2)|0,u=e[c>>2]|0,E=d[Q>>0]|0,I=E&255,m=I&u,p=m&255,d[Q>>0]=p)}function U2(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0;O0=C,u=A>>>0>32;do if(!u){if(E=e[t>>2]|0,_=t+16|0,t0=e[_>>2]|0,n0=t0+-4|0,w0=(E|0)<(n0|0),a=t+12|0,c=e[a>>2]|0,w0)N=c;else{if(F0=(c|0)==0,F0)return;if(J0=(t0|0)>2147483391,J0||(P0=t+8|0,z0=e[P0>>2]|0,I=t0+256|0,m=Oi(z0,I)|0,p=(m|0)==0,p))break;e[P0>>2]=m,B=e[_>>2]|0,v=B+256|0,e[_>>2]=v,S=e[t>>2]|0,w=m+S|0,e[a>>2]=w,N=w}y=8+(A<<2)|0,b=e[y>>2]|0,Q=b&n,R=t+4|0,x=e[R>>2]|0,L=x+A|0,M=Q<>0]|0,G=T&255,O=G|M,z=O&255,d[N>>0]=z,Y=(L|0)>7;do if(Y&&(J=e[R>>2]|0,W=8-J|0,e0=Q>>>W,q=e0&255,X=e[a>>2]|0,U=X+1|0,d[U>>0]=q,$0=(L|0)>15,$0&&(Z=e[R>>2]|0,K=16-Z|0,a0=Q>>>K,i0=a0&255,r0=e[a>>2]|0,V=r0+2|0,d[V>>0]=i0,h0=(L|0)>23,h0&&(s0=e[R>>2]|0,g0=24-s0|0,j=Q>>>g0,c0=j&255,u0=e[a>>2]|0,d0=u0+3|0,d[d0>>0]=c0,C0=(L|0)>31,C0))))if(k0=e[R>>2]|0,f0=(k0|0)==0,f0){_0=e[a>>2]|0,Q0=_0+4|0,d[Q0>>0]=0;break}else{B0=32-k0|0,p0=Q>>>B0,I0=p0&255,S0=e[a>>2]|0,K0=S0+4|0,d[K0>>0]=I0;break}while(!1);M0=(L|0)/8&-1,N0=e[t>>2]|0,U0=N0+M0|0,e[t>>2]=U0,y0=e[a>>2]|0,Y0=y0+M0|0,e[a>>2]=Y0,L0=L&7,e[R>>2]=L0;return}while(!1);D0=t+8|0,T0=e[D0>>2]|0,V0=(T0|0)==0,V0||I2(T0),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0}function oB(t){t=t|0;var n=0,A=0,a=0,c=0,u=0;u=C,n=t+8|0,A=e[n>>2]|0,a=(A|0)==0,a||I2(A),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0}function u7(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0;p=C,n=t+12|0,A=e[n>>2]|0,a=(A|0)==0,!a&&(c=t+8|0,u=e[c>>2]|0,e[n>>2]=u,E=u,d[E>>0]=0,e[t>>2]=0,I=t+4|0,e[I>>2]=0)}function AB(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0;if(S0=C,a=n>>>0>32,a)return A=-1,A|0;if(c=8+(n<<2)|0,b=e[c>>2]|0,z=t+4|0,K=e[z>>2]|0,u0=K+n|0,w0=e[t>>2]|0,C0=t+16|0,k0=e[C0>>2]|0,f0=k0+-4|0,u=(w0|0)<(f0|0),!u){if(E=u0+7|0,I=E>>3,m=k0-I|0,p=(w0|0)>(m|0),p)return A=-1,A|0;if(B=(u0|0)==0,B)return A=0,A|0}return v=t+12|0,S=e[v>>2]|0,w=d[S>>0]|0,y=w&255,Q=y>>>K,_=(u0|0)>8,_?(R=S+1|0,x=d[R>>0]|0,L=x&255,M=8-K|0,T=L<16,G?(O=S+2|0,Y=d[O>>0]|0,t0=Y&255,J=16-K|0,W=t0<24,q?(X=S+3|0,U=d[X>>0]|0,$0=U&255,Z=24-K|0,a0=$0<>0]|0,s0=h0&255,g0=32-K|0,j=s0<>2]|0,v=a+n|0,S=e[t>>2]|0,w=t+16|0,y=e[w>>2]|0,b=v+7|0,Q=b>>3,_=y-Q|0,R=(S|0)>(_|0),R){B=t+12|0,e[B>>2]=0,e[t>>2]=y,x=1,e[A>>2]=x;return}else{c=(v|0)/8&-1,u=t+12|0,E=e[u>>2]|0,I=E+c|0,e[u>>2]=I,m=S+c|0,e[t>>2]=m,p=v&7,x=p,e[A>>2]=x;return}}function Z4(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0;D0=C,m=n>>>0>32;do if(m)a=t+16|0,c=e[a>>2]|0,I=t+4|0,u=t,E=I,Q0=c;else{if(p=8+(n<<2)|0,L=e[p>>2]|0,e0=t+4|0,V=e[e0>>2]|0,f0=V+n|0,F0=e[t>>2]|0,M0=t+16|0,N0=e[M0>>2]|0,U0=N0+-4|0,B=(F0|0)<(U0|0),!B){if(v=f0+7|0,S=v>>3,w=N0-S|0,y=(F0|0)>(w|0),y){u=t,E=e0,Q0=N0;break}if(b=(f0|0)==0,b)return A=0,A|0}return Q=t+12|0,_=e[Q>>2]|0,R=d[_>>0]|0,x=R&255,M=x>>>V,T=(f0|0)>8,T?(N=_+1|0,G=d[N>>0]|0,O=G&255,z=8-V|0,Y=O<16,J?(W=_+2|0,q=d[W>>0]|0,X=q&255,U=16-V|0,$0=X<24,K?(a0=_+3|0,n0=d[a0>>0]|0,i0=n0&255,r0=24-V|0,h0=i0<>0]|0,d0=u0&255,w0=32-V|0,C0=d0<>2]=I0,S0=F0+p0|0,e[t>>2]=S0,K0=f0&7,e[e0>>2]=K0,A=B0,A|0}while(!1);return _0=t+12|0,e[_0>>2]=0,e[u>>2]=Q0,e[E>>2]=1,A=-1,A|0}function pt(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0;return m=C,n=e[t>>2]|0,A=t+4|0,a=e[A>>2]|0,c=a+7|0,u=(c|0)/8&-1,E=u+n|0,E|0}function Vp(t){t=t|0;var n=0,A=0,a=0,c=0;return c=C,n=t+8|0,A=e[n>>2]|0,A|0}function Uv(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0;if(T=C,c=(t|0)==0,c)return A=-1,A|0;Ae(t|0,0,360)|0,u=t+4|0,e[u>>2]=16384,S=t+24|0,e[S>>2]=1024,w=S9(16384)|0,e[t>>2]=w,y=S9(4096)|0,b=t+16|0,e[b>>2]=y,Q=S9(8192)|0,_=t+20|0,e[_>>2]=Q,R=(w|0)==0;do if(R)I=y;else{if(x=(y|0)==0,E=(Q|0)==0,L=E|x,L){I2(w),a=e[b>>2]|0,I=a;break}return v=t+336|0,e[v>>2]=n,A=0,A|0}while(!1);return m=(I|0)==0,m||I2(I),p=e[_>>2]|0,B=(p|0)==0,B||I2(p),Ae(t|0,0,360)|0,A=-1,A|0}function Pv(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0;return v=C,n=(t|0)==0,n||(A=e[t>>2]|0,a=(A|0)==0,a||I2(A),c=t+16|0,u=e[c>>2]|0,E=(u|0)==0,E||I2(u),I=t+20|0,m=e[I>>2]|0,p=(m|0)==0,p||I2(m),Ae(t|0,0,360)|0),0}function Ov(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0;if(N0=C,n=(t|0)==0,!n){if(A=e[t>>2]|0,w=A+22|0,d[w>>0]=0,G=e[t>>2]|0,$0=G+23|0,d[$0>>0]=0,j=e[t>>2]|0,k0=j+24|0,d[k0>>0]=0,f0=e[t>>2]|0,B0=f0+25|0,d[B0>>0]=0,p0=t+4|0,a=e[p0>>2]|0,c=(a|0)>0,c)for(u=e[t>>2]|0,S0=0,Q0=0;;)if(v=S0<<8,S=S0>>>24,y=u+Q0|0,b=d[y>>0]|0,Q=b&255,_=Q^S,R=144+(_<<2)|0,x=e[R>>2]|0,L=x^v,M=Q0+1|0,T=(M|0)<(a|0),T)S0=L,Q0=M;else{I0=L;break}else I0=0;if(E=t+12|0,I=e[E>>2]|0,m=(I|0)>0,m)for(p=t+8|0,B=e[p>>2]|0,_0=I0,F0=0;;)if(N=_0<<8,O=_0>>>24,z=B+F0|0,Y=d[z>>0]|0,t0=Y&255,J=t0^O,W=144+(J<<2)|0,e0=e[W>>2]|0,q=e0^N,X=F0+1|0,U=(X|0)<(I|0),U)_0=q,F0=X;else{K0=q;break}else K0=I0;Z=K0&255,K=e[t>>2]|0,a0=K+22|0,d[a0>>0]=Z,n0=K0>>>8,i0=n0&255,r0=e[t>>2]|0,V=r0+23|0,d[V>>0]=i0,h0=K0>>>16,s0=h0&255,g0=e[t>>2]|0,c0=g0+24|0,d[c0>>0]=s0,u0=K0>>>24,d0=u0&255,w0=e[t>>2]|0,C0=w0+25|0,d[C0>>0]=d0}}function qv(t,n,A,a,c,u){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0,u=u|0;var E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0;if(d2=C,j=(t|0)==0,j||(S0=e[t>>2]|0,D0=(S0|0)==0,D0))return I=-1,I|0;if(b0=(n|0)==0,b0)return I=0,I|0;Z0=(A|0)>0;e:do if(Z0){for(f2=0,y2=0;;){if(w1=(n+(y2<<3)|0)+4|0,O1=e[w1>>2]|0,o2=(O1|0)<0,y=2147483647-O1|0,O=(f2|0)>(y|0),F2=o2|O,F2){I=-1;break}if(Z=O1+f2|0,n0=y2+1|0,i0=(n0|0)<(A|0),i0)f2=Z,y2=n0;else{s2=Z;break e}}return I|0}else s2=0;while(!1);r0=(s2|0)/255&-1,V=r0+1|0,h0=t+12|0,s0=e[h0>>2]|0,g0=(s0|0)==0,w=t+8|0,g0||(c0=e[w>>2]|0,u0=c0-s0|0,e[w>>2]=u0,d0=(c0|0)==(s0|0),d0||(w0=S0+s0|0,WA(S0|0,w0|0,u0|0)|0),e[h0>>2]=0),C0=t+4|0,k0=e[C0>>2]|0,f0=k0-s2|0,B0=e[w>>2]|0,p0=(f0|0)>(B0|0);do if(!p0){if(I0=2147483647-s2|0,K0=(k0|0)>(I0|0),K0)return _0=e[t>>2]|0,Q0=(_0|0)==0,Q0||I2(_0),F0=t+16|0,M0=e[F0>>2]|0,N0=(M0|0)==0,N0||I2(M0),U0=t+20|0,y0=e[U0>>2]|0,Y0=(y0|0)==0,Y0||I2(y0),Ae(t|0,0,360)|0,I=-1,I|0;if(L0=k0+s2|0,T0=(L0|0)<2147482623,V0=L0+1024|0,E=T0?V0:L0,J0=e[t>>2]|0,P0=Oi(J0,E)|0,z0=(P0|0)==0,!z0){e[C0>>2]=E,e[t>>2]=P0;break}return G0=e[t>>2]|0,O0=(G0|0)==0,O0||I2(G0),r1=t+16|0,H0=e[r1>>2]|0,e1=(H0|0)==0,e1||I2(H0),i1=t+20|0,c1=e[i1>>2]|0,$1=(c1|0)==0,$1||I2(c1),Ae(t|0,0,360)|0,I=-1,I|0}while(!1);if(f1=Hv(t,V)|0,g1=(f1|0)==0,!g1)return I=-1,I|0;if(Z0)for(p=e[w>>2]|0,p1=p,v2=0;E1=e[t>>2]|0,B1=E1+p1|0,Q1=n+(v2<<3)|0,_1=e[Q1>>2]|0,x1=(n+(v2<<3)|0)+4|0,S1=e[x1>>2]|0,s4(B1|0,_1|0,S1|0)|0,R1=e[x1>>2]|0,F1=e[w>>2]|0,G1=F1+R1|0,e[w>>2]=G1,k1=v2+1|0,e2=(k1|0)==(A|0),!e2;)p1=G1,v2=k1;if(l1=(s2|0)>254,s1=t+28|0,a1=e[s1>>2]|0,n1=t+16|0,o1=e[n1>>2]|0,l1){for(I1=t+352|0,h1=t+20|0,m1=e[h1>>2]|0,d1=(r0|0)>1,C2=0;U1=a1+C2|0,Z1=o1+(U1<<2)|0,e[Z1>>2]=255,N1=I1,b1=N1,V1=e[b1>>2]|0,q1=N1+4|0,H1=q1,Y1=e[H1>>2]|0,j1=m1+(U1<<3)|0,n2=j1,W1=n2,e[W1>>2]=V1,P1=n2+4|0,c2=P1,e[c2>>2]=Y1,z1=C2+1|0,u2=(z1|0)<(r0|0),u2;)C2=z1;D2=d1?r0:1,B=I1,$2=m1,w2=D2}else m=t+20|0,v=e[m>>2]|0,S=t+352|0,B=S,$2=v,w2=0;return E2=(s2|0)%255&-1,A2=a1+w2|0,K1=o1+(A2<<2)|0,e[K1>>2]=E2,h2=$2+(A2<<3)|0,i2=h2,l2=i2,e[l2>>2]=c,r2=i2+4|0,a2=r2,e[a2>>2]=u,X1=B,b=X1,e[b>>2]=c,Q=X1+4|0,_=Q,e[_>>2]=u,R=o1+(a1<<2)|0,x=e[R>>2]|0,L=x|256,e[R>>2]=L,M=a1+V|0,e[s1>>2]=M,T=t+344|0,N=T,G=N,z=e[G>>2]|0,Y=N+4|0,t0=Y,J=e[t0>>2]|0,W=zs(z|0,J|0,1,0)|0,e0=H6,q=T,X=q,e[X>>2]=W,U=q+4|0,$0=U,e[$0>>2]=e0,K=(a|0)==0,K?(I=0,I|0):(a0=t+328|0,e[a0>>2]=1,I=0,I|0)}function Jm(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0;return R=C,C=C+16|0,Q=R,A=e[n>>2]|0,e[Q>>2]=A,a=n+4|0,m=e[a>>2]|0,p=Q+4|0,e[p>>2]=m,B=n+12|0,v=e[B>>2]|0,S=n+16|0,w=S,y=w,b=e[y>>2]|0,c=w+4|0,u=c,E=e[u>>2]|0,I=qv(t,Q,1,v,b,E)|0,C=R,I|0}function Kp(t,n){t=t|0,n=n|0;var A=0,a=0,c=0;return c=C,A=Zp(t,n,1,4096)|0,A|0}function zp(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0;return R=C,u=(t|0)==0,u||(E=e[t>>2]|0,I=(E|0)==0,I)?(A=0,A|0):(m=t+328|0,p=e[m>>2]|0,B=(p|0)==0,a=t+28|0,c=e[a>>2]|0,Q=(c|0)==0,B?Q?b=0:(v=t+332|0,S=e[v>>2]|0,w=(S|0)==0,w?_=7:b=0):Q?b=0:_=7,(_|0)==7&&(b=1),y=Zp(t,n,b,4096)|0,A=y,A|0)}function Hv(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0;return c0=C,c=t+24|0,u=e[c>>2]|0,Q=u-n|0,Y=t+28|0,a0=e[Y>>2]|0,r0=(Q|0)>(a0|0),r0?(a=0,a|0):(V=2147483647-n|0,h0=(u|0)>(V|0),h0?(s0=e[t>>2]|0,g0=(s0|0)==0,g0||I2(s0),E=t+16|0,I=e[E>>2]|0,m=(I|0)==0,m||I2(I),p=t+20|0,B=e[p>>2]|0,v=(B|0)==0,v||I2(B),Ae(t|0,0,360)|0,a=-1,a|0):(S=u+n|0,w=(S|0)<2147483615,y=S+32|0,A=w?y:S,b=t+16|0,_=e[b>>2]|0,R=A<<2,x=Oi(_,R)|0,L=(x|0)==0,L?(M=e[t>>2]|0,T=(M|0)==0,T||I2(M),N=e[b>>2]|0,G=(N|0)==0,G||I2(N),O=t+20|0,z=e[O>>2]|0,t0=(z|0)==0,t0||I2(z),Ae(t|0,0,360)|0,a=-1,a|0):(e[b>>2]=x,J=t+20|0,W=e[J>>2]|0,e0=A<<3,q=Oi(W,e0)|0,X=(q|0)==0,X?(U=e[t>>2]|0,$0=(U|0)==0,$0||I2(U),Z=e[b>>2]|0,K=(Z|0)==0,K||I2(Z),n0=e[J>>2]|0,i0=(n0|0)==0,i0||I2(n0),Ae(t|0,0,360)|0,a=-1,a|0):(e[J>>2]=q,e[c>>2]=A,a=0,a|0))))}function Zp(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,R5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,R2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,k3=0,u3=0,p3=0,z3=0,G3=0,K5=0,w3=0,Z5=0,i6=0,R3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0;if(k5=C,Q=t+28|0,_=e[Q>>2]|0,c1=(_|0)>255,c=c1?255:_,h1=(t|0)==0,h1||(R1=e[t>>2]|0,H1=(R1|0)==0,A2=(c|0)==0,w3=A2|H1,w3))return u=0,u|0;e2=t+332|0,H2=e[e2>>2]|0,Z2=(H2|0)==0;e:do if(Z2)for(C0=t+16|0,l3=0;;){if(M0=(l3|0)<(c|0),!M0){I=A,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,H5=l3,O5=14;break e}if(z0=e[C0>>2]|0,H0=z0+(l3<<2)|0,e1=e[H0>>2]|0,b0=e1&255,i1=(b0|0)==255,$1=l3+1|0,i1)l3=$1;else{I=A,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,H5=$1,O5=14;break}}else if(R=(c|0)>0,R){for(J=t+16|0,i0=t+20|0,C5=0,S5=-1,g5=-1,a5=-1,W2=-1,g2=-1,p5=-1,t5=-1,s5=-1,Z5=0,R3=0,C3=0;;){if(f1=(C5|0)>(a|0),g1=(Z5|0)>3,G3=f1&g1,G3){E=1,G5=S5,_5=g5,q2=a5,I5=W2,A5=g2,c5=p5,B5=t5,M1=s5,c3=C3;break}if(l1=e[J>>2]|0,s1=l1+(C3<<2)|0,a1=e[s1>>2]|0,n1=a1&255,o1=n1+C5|0,Z0=(n1|0)==255,Z0?(h5=S5,J2=g5,u5=a5,i5=W2,x5=g2,j2=p5,$5=t5,R2=s5,i6=0,U3=R3):(I1=e[i0>>2]|0,m1=I1+(C3<<3)|0,d1=m1,E1=d1,B1=e[E1>>2]|0,p1=d1+4|0,Q1=p1,_1=e[Q1>>2]|0,x1=R3+1|0,w1=B1&255,S1=Zs(B1|0,_1|0,8)|0,F1=H6,G1=S1&255,k1=Zs(B1|0,_1|0,16)|0,U1=H6,Z1=k1&255,N1=Zs(B1|0,_1|0,24)|0,b1=H6,V1=N1&255,O1=_1&255,q1=Zs(B1|0,_1|0,40)|0,Y1=H6,j1=q1&255,n2=Zs(B1|0,_1|0,48)|0,W1=H6,P1=n2&255,c2=Zs(B1|0,_1|0,56)|0,z1=H6,u2=c2&255,h5=w1,J2=Z1,u5=V1,i5=O1,x5=j1,j2=P1,$5=u2,R2=G1,i6=x1,U3=x1),o2=C3+1|0,E2=(o2|0)<(c|0),E2)C5=o1,S5=h5,g5=J2,a5=u5,W2=i5,g2=x5,p5=j2,t5=$5,s5=R2,Z5=i6,R3=U3,C3=o2;else{E=A,G5=h5,_5=J2,q2=u5,I5=i5,A5=x5,c5=j2,B5=$5,M1=R2,c3=o2;break}}K1=(c3|0)==255,K1?(n3=G5,m3=_5,F5=q2,J5=I5,k3=A5,u3=c5,p3=B5,z3=M1,U5=255):(I=E,Q5=G5,q5=_5,j5=q2,E5=I5,f3=A5,h3=c5,Y5=B5,X5=M1,H5=c3,O5=14)}else I=A,Q5=-1,q5=-1,j5=-1,E5=-1,f3=-1,h3=-1,Y5=-1,X5=-1,H5=0,O5=14;while(!1);if((O5|0)==14){if(h2=(I|0)==0,h2)return u=0,u|0;n3=Q5,m3=q5,F5=j5,J5=E5,k3=f3,u3=h3,p3=Y5,z3=X5,U5=H5}if($2=t+40|0,d[$2>>0]=79,d[$2+1>>0]=103,d[$2+2>>0]=103,d[$2+3>>0]=83,i2=t+44|0,d[i2>>0]=0,l2=t+45|0,d[l2>>0]=0,r2=t+16|0,a2=e[r2>>2]|0,X1=e[a2>>2]|0,s2=X1>>>8,v=s2&1,f2=v^1,y2=f2|2,m=Z2?y2:f2,a3=m&255,d[l2>>0]=a3,v2=t+328|0,w2=e[v2>>2]|0,C2=(w2|0)!=0,F2=(_|0)==(U5|0),K5=C2&F2,K5&&(p=Z2?y2:f2,D2=p|4,N2=D2&255,d[l2>>0]=N2),e[e2>>2]=1,d2=t+46|0,d[d2>>0]=n3,K2=t+47|0,d[K2>>0]=z3,G2=t+48|0,d[G2>>0]=m3,M2=t+49|0,d[M2>>0]=F5,P2=t+50|0,d[P2>>0]=J5,z2=t+51|0,d[z2>>0]=k3,o5=t+52|0,d[o5>>0]=u3,O2=t+53|0,d[O2>>0]=p3,T1=t+336|0,X2=e[T1>>2]|0,R5=X2&255,e5=t+54|0,d[e5>>0]=R5,b5=X2>>>8,f5=b5&255,v5=t+55|0,d[v5>>0]=f5,P5=X2>>>16,l5=P5&255,k2=t+56|0,d[k2>>0]=l5,m5=X2>>>24,n5=m5&255,x2=t+57|0,d[x2>>0]=n5,_2=t+340|0,B2=e[_2>>2]|0,x=(B2|0)==-1,x?(e[_2>>2]=0,M=0):M=B2,L=M+1|0,e[_2>>2]=L,T=M&255,N=t+58|0,d[N>>0]=T,G=M>>>8,O=G&255,z=t+59|0,d[z>>0]=O,Y=M>>>16,t0=Y&255,W=t+60|0,d[W>>0]=t0,e0=M>>>24,q=e0&255,X=t+61|0,d[X>>0]=q,U=t+62|0,$0=U5&255,Z=t+66|0,d[U>>0]=0,d[U+1>>0]=0,d[U+2>>0]=0,d[U+3>>0]=0,d[Z>>0]=$0,K=(U5|0)>0,K){if(a0=e[a2>>2]|0,n0=a0&255,r0=t+67|0,d[r0>>0]=n0,V=a0&255,D5=(U5|0)==1,D5)B=V;else for(s0=1,k0=V;;)if(S=e[r2>>2]|0,h0=S+(s0<<2)|0,g0=e[h0>>2]|0,j=g0&255,c0=s0+27|0,u0=(t+40|0)+c0|0,d[u0>>0]=j,d0=g0&255,w0=d0+k0|0,f0=s0+1|0,d5=(f0|0)==(U5|0),d5){B=w0;break}else s0=f0,k0=w0;w=e[t>>2]|0,y=e[Q>>2]|0,b=e[r2>>2]|0,Q0=w,y0=y,L0=b,L5=B}else Q0=R1,y0=_,L0=a2,L5=0;return e[n>>2]=$2,B0=U5+27|0,p0=t+324|0,e[p0>>2]=B0,I0=n+4|0,e[I0>>2]=B0,S0=t+12|0,K0=e[S0>>2]|0,_0=Q0+K0|0,F0=n+8|0,e[F0>>2]=_0,N0=n+12|0,e[N0>>2]=L5,U0=y0-U5|0,e[Q>>2]=U0,Y0=L0+(U5<<2)|0,D0=U0<<2,WA(L0|0,Y0|0,D0|0)|0,T0=t+20|0,V0=e[T0>>2]|0,J0=V0+(U5<<3)|0,P0=e[Q>>2]|0,G0=P0<<3,WA(V0|0,J0|0,G0|0)|0,O0=e[S0>>2]|0,r1=O0+L5|0,e[S0>>2]=r1,Ov(n),u=1,u|0}function Yv(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0;return H0=C,a=t+104|0,c=e[a>>2]|0,b=t+88|0,z=c+12|0,e[b>>2]=0,e[b+4>>2]=0,e[b+8>>2]=0,e[b+12>>2]=0,K=e[z>>2]|0,u7(K),u0=c+16|0,_0=e[u0>>2]|0,u7(_0),V0=c+20|0,G0=e[V0>>2]|0,u7(G0),O0=c+24|0,u=e[O0>>2]|0,u7(u),E=c+28|0,I=e[E>>2]|0,u7(I),m=c+32|0,p=e[m>>2]|0,u7(p),B=c+36|0,v=e[B>>2]|0,u7(v),S=c+40|0,w=e[S>>2]|0,u7(w),y=c+44|0,Q=e[y>>2]|0,u7(Q),_=c+48|0,R=e[_>>2]|0,u7(R),x=c+52|0,L=e[x>>2]|0,u7(L),M=c+56|0,T=e[M>>2]|0,u7(T),N=c+60|0,G=e[N>>2]|0,u7(G),O=c+64|0,Y=e[O>>2]|0,u7(Y),t0=c+68|0,J=e[t0>>2]|0,u7(J),W=e[6416]|0,e0=W+12|0,q=e[e0>>2]|0,X=SQ[q&1](t)|0,U=(X|0)==0,U?($0=(n|0)==0,$0?(A=0,A|0):(Z=_h(t)|0,a0=(Z|0)==0,a0?(n0=t+4|0,i0=Vp(n0)|0,e[n>>2]=i0,r0=pt(n0)|0,V=n+4|0,e[V>>2]=r0,h0=n+8|0,e[h0>>2]=0,s0=t+44|0,g0=e[s0>>2]|0,j=n+12|0,e[j>>2]=g0,c0=t+48|0,d0=c0,w0=d0,C0=e[w0>>2]|0,k0=d0+4|0,f0=k0,B0=e[f0>>2]|0,p0=n+16|0,I0=p0,S0=I0,e[S0>>2]=C0,K0=I0+4|0,Q0=K0,e[Q0>>2]=B0,F0=t+56|0,M0=F0,N0=M0,U0=e[N0>>2]|0,y0=M0+4|0,Y0=y0,L0=e[Y0>>2]|0,D0=n+24|0,T0=D0,J0=T0,e[J0>>2]=U0,P0=T0+4|0,z0=P0,e[z0>>2]=L0,A=0,A|0):(A=-131,A|0))):(A=X,A|0)}function Jv(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0;C0=C,A=t+28|0,a=e[A>>2]|0,d0=n,k0=d0+48|0;do e[d0>>2]=0,d0=d0+4|0;while((d0|0)<(k0|0));y=a+3372|0,O=e[y>>2]|0,Z=(O|0)>0,Z&&(s0=t+8|0,g0=e[s0>>2]|0,j=e[a>>2]|0,c0=j>>1,u0=a+4|0,c=e[u0>>2]|0,u=(c|0)/(j|0)&-1,E=n+24|0,e[E>>2]=u,e[n>>2]=1,I=a+3360|0,m=e[I>>2]|0,p=+(m|0),B=+(c0|0),v=p*B,S=+(g0|0),w=v/S,b=+Pi(w),Q=~~b,_=n+12|0,e[_>>2]=Q,R=a+3364|0,x=e[R>>2]|0,L=+(x|0),M=L*B,T=M/S,N=+Pi(T),G=~~N,z=n+16|0,e[z>>2]=G,Y=a+3368|0,t0=e[Y>>2]|0,J=+(t0|0),W=J*B,e0=W/S,q=+Pi(e0),X=~~q,U=n+20|0,e[U>>2]=X,$0=n+32|0,A1[$0>>3]=7,K=+(O|0),a0=a+3376|0,n0=+A1[a0>>3],i0=K*n0,r0=~~i0,V=n+8|0,e[V>>2]=r0,h0=n+4|0,e[h0>>2]=r0)}function Vv(t){t=t|0;var n=0,A=0,a=0,c=0;a=C,n=t,c=n+48|0;do e[n>>2]=0,n=n+4|0;while((n|0)<(c|0))}function _h(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0;return B=C,A=t+64|0,a=e[A>>2]|0,c=a+104|0,u=e[c>>2]|0,E=u+80|0,I=e[E>>2]|0,m=(I|0)!=0,n=m&1,n|0}function Kv(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,R5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,R2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,k3=0,u3=0,p3=0,z3=0,G3=0,K5=0,w3=0,Z5=0,i6=0,R3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,L3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,X3=0,c6=0,p6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0;if(b6=C,p=t+104|0,B=e[p>>2]|0,z1=t+64|0,k2=e[z1>>2]|0,_5=k2+104|0,g2=e[_5>>2]|0,R2=k2+4|0,F5=e[R2>>2]|0,R3=F5+28|0,M5=e[R3>>2]|0,v=g2+112|0,T=+A1[v>>3],X=+Pi(T),s0=~~X,p0=(B+12|0)+(s0<<2)|0,Y0=e[p0>>2]|0,H0=pt(Y0)|0,n1=H0<<3,_1=t+28|0,b1=e[_1>>2]|0,u2=(b1|0)==0,X1=g2+96|0,d2=e[X1>>2]|0,u2?(R5=g2+100|0,b5=e[R5>>2]|0,U=d2,k0=R5,I0=b5):(Z2=g2+104|0,f5=e[Z2>>2]|0,v5=g2+100|0,P5=e[v5>>2]|0,l5=r5(f5,d2)|0,m5=r5(f5,P5)|0,U=l5,k0=v5,I0=m5),n5=M5+(b1<<2)|0,x2=e[n5>>2]|0,_2=x2>>1,B2=M5+3372|0,C5=e[B2>>2]|0,L5=+(C5|0),d5=M5+3376|0,D5=+A1[d5>>3],G5=L5*D5,q2=~~G5,I5=g2+80|0,A5=e[I5>>2]|0,c5=(A5|0)==0,B5=g2+120|0,c5)return M1=e[B5>>2]|0,S5=(M1|0)==0,S5?(e[B5>>2]=t,A=0,A|0):(A=-1,A|0);if(e[B5>>2]=t,g5=g2+92|0,a5=e[g5>>2]|0,W2=(a5|0)>0,W2){u2?$5=a5:(p5=g2+104|0,t5=e[p5>>2]|0,s5=r5(t5,a5)|0,$5=s5),h5=M5+3384|0,J2=+A1[h5>>3],u5=15/J2,i5=g2+84|0,x5=e[i5>>2]|0,j2=n1-$5|0,Q5=x5+j2|0,q5=(Q5|0)>(q2|0);e:do if(q5)if(j5=(s0|0)>0,E5=(n1|0)>($5|0),S6=E5&j5,S6)if(f3=n1-$5|0,h3=f3+x5|0,Y5=(h3|0)>(q2|0),Y5)for(O3=s0;;){if(X5=O3+-1|0,n3=(B+12|0)+(X5<<2)|0,m3=e[n3>>2]|0,J5=pt(m3)|0,k3=J5<<3,u3=(O3|0)>1,p3=(k3|0)>($5|0),v6=p3&u3,!v6){V5=X5;break e}if(I=e[i5>>2]|0,z3=k3-$5|0,G3=z3+I|0,K5=(G3|0)>(q2|0),K5)O3=X5;else{V5=X5;break}}else V5=s0;else V5=s0;else if(w3=(Q5|0)<(q2|0),w3)if(Z5=s0+1|0,i6=(Z5|0)<15,U3=(n1|0)<($5|0),X3=U3&i6,X3)if(a3=n1-$5|0,l3=a3+x5|0,c3=(l3|0)<(q2|0),c3)for(H5=Z5;;){if(C3=(B+12|0)+(H5<<2)|0,U5=e[C3>>2]|0,O5=pt(U5)|0,k5=O5<<3,P3=H5+1|0,o6=(P3|0)<15,e3=(k5|0)<($5|0),B6=e3&o6,!B6){V5=H5;break e}if(E=e[i5>>2]|0,A3=k5-$5|0,L3=A3+E|0,u6=(L3|0)<(q2|0),u6)H5=P3;else{V5=H5;break}}else V5=s0;else V5=s0;else V5=s0;while(!1);Q3=+(V5|0),v3=+A1[v>>3],y3=Q3-v3,r6=+Pi(y3),j3=+(_2|0),S=r6/j3,w=F5+8|0,y=e[w>>2]|0,b=+(y|0),Q=b*S,_=-u5,R=Q<_,C6=R?_:Q,x=C6>u5,b3=x?u5:C6,L=b3/b,M=L*j3,N=M+v3,A1[v>>3]=N,G=+Pi(N),O=~~G,z=(B+12|0)+(O<<2)|0,Y=e[z>>2]|0,t0=pt(Y)|0,J=t0<<3,m=e[X1>>2]|0,W=m,S3=O,e6=J}else W=d2,S3=s0,e6=n1;e0=(W|0)>0,q=(e6|0)<(U|0),c6=q&e0;e:do if(c6)if($0=g2+88|0,Z=e[$0>>2]|0,K=e6-U|0,a0=K+Z|0,n0=(a0|0)<0,n0)for(g3=S3,t6=e6;;){if(i0=g3+1|0,r0=(g3|0)>13,r0){q3=i0,f6=t6;break e}if(V=(B+12|0)+(i0<<2)|0,h0=e[V>>2]|0,g0=pt(h0)|0,j=g0<<3,c0=e[$0>>2]|0,u0=j-U|0,d0=u0+c0|0,w0=(d0|0)<0,w0)g3=i0,t6=j;else{q3=i0,f6=j;break}}else q3=S3,f6=e6;else q3=S3,f6=e6;while(!1);C0=e[k0>>2]|0,f0=(C0|0)>0,B0=(f6|0)>(I0|0),p6=B0&f0;e:do if(p6)if(S0=g2+88|0,K0=e[S0>>2]|0,_0=f6-I0|0,Q0=_0+K0|0,F0=e[B2>>2]|0,M0=(Q0|0)>(F0|0),M0)for(l6=q3,H3=f6;;){if(N0=l6+-1|0,U0=(l6|0)<1,U0){d3=N0,D3=H3;break e}if(y0=(B+12|0)+(N0<<2)|0,L0=e[y0>>2]|0,D0=pt(L0)|0,T0=D0<<3,V0=e[S0>>2]|0,J0=T0-I0|0,P0=J0+V0|0,z0=e[B2>>2]|0,G0=(P0|0)>(z0|0),G0)l6=N0,H3=T0;else{d3=N0,D3=T0;break}}else d3=q3,D3=f6;else d3=q3,D3=f6;while(!1);if(O0=(d3|0)<0,O0)r1=e[B2>>2]|0,e1=g2+88|0,b0=e[e1>>2]|0,i1=r1+I0|0,c1=i1-b0|0,$1=(c1|0)/8&-1,f1=g2+124|0,e[f1>>2]=0,g1=B+12|0,l1=e[g1>>2]|0,s1=pt(l1)|0,a1=(s1|0)>($1|0),a1?(o1=e[g1>>2]|0,Z0=$1<<3,Gv(o1,Z0),I1=e[g1>>2]|0,h1=pt(I1)|0,m1=h1<<3,Y3=m1):Y3=D3;else{if(d1=g2+88|0,E1=e[d1>>2]|0,B1=U+7|0,p1=B1-E1|0,Q1=(p1|0)/8&-1,x1=(d3|0)>14,c=x1?14:d3,w1=g2+124|0,e[w1>>2]=c,S1=(B+12|0)+(c<<2)|0,R1=e[S1>>2]|0,F1=pt(R1)|0,G1=Q1-F1|0,k1=(G1|0)>0,U1=e[S1>>2]|0,k1)for(N1=U1,k6=G1;;)if(Z1=k6+-1|0,U2(N1,0,8),V1=(k6|0)>1,O1=e[S1>>2]|0,V1)N1=O1,k6=Z1;else{u=O1;break}else u=U1;q1=pt(u)|0,H1=q1<<3,Y3=H1}Y1=e[X1>>2]|0,j1=(Y1|0)>0,j1?Z3=37:(n2=e[k0>>2]|0,W1=(n2|0)>0,W1&&(Z3=37));do if((Z3|0)==37){if(P1=(I0|0)>0,c2=(Y3|0)>(I0|0),x6=P1&c2,x6){o2=Y3-I0|0,E2=g2+88|0,A2=e[E2>>2]|0,K1=o2+A2|0,e[E2>>2]=K1;break}if(h2=(U|0)>0,$2=(Y3|0)<(U|0),Y6=h2&$2,Y6){i2=Y3-U|0,l2=g2+88|0,r2=e[l2>>2]|0,a2=i2+r2|0,e[l2>>2]=a2;break}if(s2=g2+88|0,f2=e[s2>>2]|0,e2=(f2|0)>(q2|0),e2)if(P1){y2=Y3-I0|0,v2=f2+y2|0,w2=(v2|0)<(q2|0),n=w2?q2:v2,e[s2>>2]=n;break}else{e[s2>>2]=q2;break}else if(h2){C2=Y3-U|0,F2=f2+C2|0,D2=(F2|0)>(q2|0),a=D2?q2:F2,e[s2>>2]=a;break}else{e[s2>>2]=q2;break}}while(!1);return N2=e[g5>>2]|0,K2=(N2|0)>0,K2?(G2=e[_1>>2]|0,H2=(G2|0)==0,H2?O2=N2:(M2=g2+104|0,P2=e[M2>>2]|0,z2=r5(P2,N2)|0,O2=z2),o5=Y3-O2|0,T1=g2+84|0,X2=e[T1>>2]|0,e5=o5+X2|0,e[T1>>2]=e5,A=0,A|0):(A=0,A|0)}function Wp(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0;return I0=C,a=t+104|0,c=e[a>>2]|0,b=c+120|0,z=e[b>>2]|0,K=(z|0)==0,K?(A=0,A|0):(u0=(n|0)==0,u0||(d0=z+104|0,w0=e[d0>>2]|0,C0=z+64|0,k0=e[C0>>2]|0,u=k0+104|0,E=e[u>>2]|0,I=E+80|0,m=e[I>>2]|0,B0=(m|0)==0,B0?f0=7:(p=c+124|0,B=e[p>>2]|0,f0=B),v=(w0+12|0)+(f0<<2)|0,S=e[v>>2]|0,w=Vp(S)|0,e[n>>2]=w,y=e[v>>2]|0,Q=pt(y)|0,_=n+4|0,e[_>>2]=Q,R=n+8|0,e[R>>2]=0,x=z+44|0,L=e[x>>2]|0,M=n+12|0,e[M>>2]=L,T=z+48|0,N=T,G=N,O=e[G>>2]|0,Y=N+4|0,t0=Y,J=e[t0>>2]|0,W=n+16|0,e0=W,q=e0,e[q>>2]=O,X=e0+4|0,U=X,e[U>>2]=J,$0=z+56|0,Z=$0,a0=Z,n0=e[a0>>2]|0,i0=Z+4|0,r0=i0,V=e[r0>>2]|0,h0=n+24|0,s0=h0,g0=s0,e[g0>>2]=n0,j=s0+4|0,c0=j,e[c0>>2]=V),e[b>>2]=0,A=1,A|0)}function zv(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0;M=C,x=n,T=x+112|0;do e[x>>2]=0,x=x+4|0;while((x|0)<(T|0));if(A=n+64|0,e[A>>2]=t,a=n+76|0,e[a>>2]=0,p=n+68|0,e[p>>2]=0,B=e[t>>2]|0,v=(B|0)==0,v)return 0;for(S=n4(1,72)|0,w=n+104|0,e[w>>2]=S,y=S+4|0,s[y>>2]=-9999,b=n+4|0,Q=S+12|0,c=S+40|0,R=0;;)if(u=(R|0)==7,u){e[c>>2]=b,sB(b),R=8;continue}else{if(E=n4(1,20)|0,I=Q+(R<<2)|0,e[I>>2]=E,sB(E),m=R+1|0,_=(m|0)==15,_)break;R=m;continue}return 0}function Ot(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0;return Y=C,A=n+7|0,a=A&-8,y=t+72|0,x=e[y>>2]|0,L=x+a|0,M=t+76|0,T=e[M>>2]|0,N=(L|0)>(T|0),G=t+68|0,O=e[G>>2]|0,N?(c=(O|0)==0,c||(u=O,E=S9(8)|0,I=t+80|0,m=e[I>>2]|0,p=m+x|0,e[I>>2]=p,B=t+84|0,v=e[B>>2]|0,S=E+4|0,e[S>>2]=v,e[E>>2]=u,e[B>>2]=E),e[M>>2]=a,w=S9(a)|0,e[G>>2]=w,e[y>>2]=0,Q=w,_=0,b=Q+_|0,R=_+a|0,e[y>>2]=R,b|0):(Q=O,_=x,b=Q+_|0,R=_+a|0,e[y>>2]=R,b|0)}function Zv(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0;if(Z=C,a=t+104|0,c=e[a>>2]|0,b=t+84|0,G=e[b>>2]|0,O=(G|0)==0,!O)for(X=G;z=X+4|0,Y=e[z>>2]|0,t0=e[X>>2]|0,I2(t0),I2(X),J=(Y|0)==0,!J;)X=Y;if(W=t+80|0,u=e[W>>2]|0,E=(u|0)==0,n=t+68|0,A=e[n>>2]|0,E?Q=A:(I=t+76|0,m=e[I>>2]|0,p=m+u|0,B=Oi(A,p)|0,e[n>>2]=B,v=e[W>>2]|0,S=e[I>>2]|0,w=S+v|0,e[I>>2]=w,e[W>>2]=0,Q=B),y=t+72|0,e[y>>2]=0,e[b>>2]=0,_=(Q|0)==0,_||I2(Q),R=(c|0)==0,R){U=t,K=U+112|0;do e[U>>2]=0,U=U+4|0;while((U|0)<(K|0));return 0}else q=0;for(;;){if(x=(c+12|0)+(q<<2)|0,L=e[x>>2]|0,oB(L),M=(q|0)==7,M){q=8;continue}if(T=e[x>>2]|0,I2(T),N=q+1|0,e0=(N|0)==15,e0)break;q=N}I2(c),U=t,K=U+112|0;do e[U>>2]=0,U=U+4|0;while((U|0)<(K|0));return 0}function Wv(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0;return _=C,a=Xv(t,n,1)|0,c=(a|0)==0,c?(m=t+104|0,p=e[m>>2]|0,B=_S(n)|0,v=p+60|0,e[v>>2]=B,S=n4(1,180)|0,e[p>>2]=S,nS(S,n),w=p+80|0,Jv(n,w),y=t+64|0,b=y,u=b,e[u>>2]=3,E=b+4|0,I=E,e[I>>2]=0,A=0,A|0):(A=1,A|0)}function jp(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0;if(G2=C,B=(t|0)==0,!B){if(v=t+4|0,p0=e[v>>2]|0,Y0=(p0|0)!=0,Y0?(H0=p0+28|0,n1=e[H0>>2]|0,y0=n1):y0=0,_1=t+104|0,b1=e[_1>>2]|0,z1=(b1|0)!=0,z1){if(a2=e[b1>>2]|0,S=(a2|0)==0,S||(sS(a2),N=e[b1>>2]|0,I2(N)),U=b1+12|0,g0=e[U>>2]|0,d0=(g0|0)==0,d0||(w0=e[g0>>2]|0,gB(w0),C0=e[U>>2]|0,k0=e[C0>>2]|0,I2(k0),f0=e[U>>2]|0,I2(f0)),B0=b1+16|0,I0=e[B0>>2]|0,S0=(I0|0)==0,S0||(K0=e[I0>>2]|0,gB(K0),_0=e[B0>>2]|0,Q0=e[_0>>2]|0,I2(Q0),F0=e[B0>>2]|0,I2(F0)),M0=b1+48|0,N0=e[M0>>2]|0,U0=(N0|0)==0,!U0){if(L0=(y0|0)==0,L0)d1=N0;else if(D0=y0+16|0,T0=e[D0>>2]|0,V0=(T0|0)>0,V0){if(J0=y0+800|0,P0=e[J0>>2]|0,z0=25640+(P0<<2)|0,G0=e[z0>>2]|0,O0=G0+16|0,r1=e[O0>>2]|0,e1=e[N0>>2]|0,js[r1&7](e1),b0=e[D0>>2]|0,i1=(b0|0)>1,i1)for($1=1;n=e[M0>>2]|0,c1=J0+($1<<2)|0,f1=e[c1>>2]|0,g1=25640+(f1<<2)|0,l1=e[g1>>2]|0,s1=l1+16|0,a1=e[s1>>2]|0,o1=n+($1<<2)|0,Z0=e[o1>>2]|0,js[a1&7](Z0),I1=$1+1|0,h1=e[D0>>2]|0,m1=(I1|0)<(h1|0),m1;)$1=I1;A=e[M0>>2]|0,d1=A}else d1=N0;I2(d1)}if(E1=b1+52|0,B1=e[E1>>2]|0,p1=(B1|0)==0,!p1){if(Q1=(y0|0)==0,Q1)K1=B1;else if(x1=y0+20|0,w1=e[x1>>2]|0,S1=(w1|0)>0,S1){if(R1=y0+1312|0,F1=e[R1>>2]|0,G1=25648+(F1<<2)|0,k1=e[G1>>2]|0,U1=k1+16|0,Z1=e[U1>>2]|0,N1=e[B1>>2]|0,js[Z1&7](N1),V1=e[x1>>2]|0,O1=(V1|0)>1,O1)for(H1=1;a=e[E1>>2]|0,q1=R1+(H1<<2)|0,Y1=e[q1>>2]|0,j1=25648+(Y1<<2)|0,n2=e[j1>>2]|0,W1=n2+16|0,P1=e[W1>>2]|0,c2=a+(H1<<2)|0,u2=e[c2>>2]|0,js[P1&7](u2),o2=H1+1|0,E2=e[x1>>2]|0,A2=(o2|0)<(E2|0),A2;)H1=o2;c=e[E1>>2]|0,K1=c}else K1=B1;I2(K1)}if(h2=b1+56|0,$2=e[h2>>2]|0,i2=($2|0)==0,!i2){if(l2=(y0|0)==0,l2)D2=$2;else if(r2=y0+28|0,X1=e[r2>>2]|0,s2=(X1|0)>0,s2){if(AQ($2),f2=e[r2>>2]|0,e2=(f2|0)>1,e2)for(v2=1;u=e[h2>>2]|0,y2=u+(v2*52|0)|0,AQ(y2),w2=v2+1|0,C2=e[r2>>2]|0,F2=(w2|0)<(C2|0),F2;)v2=w2;E=e[h2>>2]|0,D2=E}else D2=$2;I2(D2)}w=b1+60|0,y=e[w>>2]|0,b=(y|0)==0,b||xS(y),Q=b1+80|0,Vv(Q),_=b1+20|0,IQ(_),R=b1+32|0,IQ(R)}if(x=t+8|0,L=e[x>>2]|0,M=(L|0)==0,!M){if(Y0)if(T=p0+4|0,G=e[T>>2]|0,O=(G|0)>0,O){for(Y=L,u0=G,N2=0;z=Y+(N2<<2)|0,t0=e[z>>2]|0,J=(t0|0)==0,J?q=u0:(I2(t0),m=e[T>>2]|0,q=m),W=N2+1|0,e0=(W|0)<(q|0),!!e0;)I=e[x>>2]|0,Y=I,u0=q,N2=W;p=e[x>>2]|0,X=p}else X=L;else X=L;I2(X),$0=t+12|0,Z=e[$0>>2]|0,K=(Z|0)==0,K||I2(Z)}z1&&(a0=b1+64|0,n0=e[a0>>2]|0,i0=(n0|0)==0,i0||I2(n0),r0=b1+68|0,V=e[r0>>2]|0,h0=(V|0)==0,h0||I2(V),s0=b1+72|0,j=e[s0>>2]|0,c0=(j|0)==0,c0||I2(j),I2(b1)),d2=t,H2=d2+112|0;do e[d2>>2]=0,d2=d2+4|0;while((d2|0)<(H2|0))}}function Xp(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0;if(Y0=C,I=t+4|0,m=e[I>>2]|0,x=t+104|0,W=e[x>>2]|0,r0=W+64|0,k0=e[r0>>2]|0,Q0=(k0|0)==0,Q0||I2(k0),e[r0>>2]=0,F0=W+68|0,M0=e[F0>>2]|0,N0=(M0|0)==0,N0||I2(M0),e[F0>>2]=0,p=W+72|0,B=e[p>>2]|0,v=(B|0)==0,v||I2(B),e[p>>2]=0,S=t+20|0,w=e[S>>2]|0,y=w+n|0,b=t+16|0,Q=e[b>>2]|0,_=(y|0)<(Q|0),_)A=m+4|0,u=e[A>>2]|0,X=u,y0=11;else if(R=n<<1,L=w+R|0,e[b>>2]=L,M=m+4|0,T=e[M>>2]|0,N=(T|0)>0,N)if(G=t+8|0,O=e[G>>2]|0,z=e[O>>2]|0,Y=L<<2,t0=Oi(z,Y)|0,J=e[G>>2]|0,e[J>>2]=t0,e0=e[M>>2]|0,q=(e0|0)>1,q)for(i0=1;;)if(a=e[b>>2]|0,a0=e[G>>2]|0,n0=a0+(i0<<2)|0,V=e[n0>>2]|0,h0=a<<2,s0=Oi(V,h0)|0,g0=e[G>>2]|0,j=g0+(i0<<2)|0,e[j>>2]=s0,c0=i0+1|0,u0=e[M>>2]|0,d0=(c0|0)<(u0|0),d0)i0=c0;else{X=u0,y0=11;break}else X=e0,y0=11;if((y0|0)==11&&(U=(X|0)>0,U)){for($0=t+8|0,Z=e[S>>2]|0,K=t+12|0,U0=0;;)if(w0=e[$0>>2]|0,C0=w0+(U0<<2)|0,f0=e[C0>>2]|0,B0=f0+(Z<<2)|0,p0=e[K>>2]|0,I0=p0+(U0<<2)|0,e[I0>>2]=B0,S0=U0+1|0,K0=(S0|0)<(X|0),K0)U0=S0;else{c=K;break}return _0=e[c>>2]|0,_0|0}return E=t+12|0,c=E,_0=e[c>>2]|0,_0|0}function jv(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0,T0=0,V0=0,J0=0,P0=0;if(P0=C,I=t+4|0,m=e[I>>2]|0,x=m+28|0,W=e[x>>2]|0,r0=(n|0)<1,!r0)return w0=t+20|0,C0=e[w0>>2]|0,f0=C0+n|0,B0=t+16|0,p0=e[B0>>2]|0,I0=(f0|0)>(p0|0),I0?(a=-131,C=P0,a|0):(e[w0>>2]=f0,S0=t+28|0,K0=e[S0>>2]|0,_0=(K0|0)==0,!_0||(Q0=t+48|0,F0=e[Q0>>2]|0,M0=f0-F0|0,U0=W+4|0,y0=e[U0>>2]|0,Y0=(M0|0)>(y0|0),!Y0)?(a=0,C=P0,a|0):(tQ(t),a=0,C=P0,a|0));if(k0=C,C=C+128|0,N0=t+28|0,L0=e[N0>>2]|0,D0=(L0|0)==0,D0&&tQ(t),T0=W+4|0,p=e[T0>>2]|0,B=p*3|0,Xp(t,B)|0,v=t+20|0,S=e[v>>2]|0,w=t+32|0,e[w>>2]=S,y=e[T0>>2]|0,b=y*3|0,Q=S+b|0,e[v>>2]=Q,_=m+4|0,R=e[_>>2]|0,L=(R|0)>0,!L)return a=0,C=P0,a|0;for(M=t+8|0,T=S,V0=0;;){if(N=(T|0)>64,N?(G=e[T0>>2]|0,O=(T|0)>(G|0),A=O?G:T,z=e[M>>2]|0,Y=z+(V0<<2)|0,t0=e[Y>>2]|0,u=T-A|0,J=t0+(u<<2)|0,+iQ(J,k0,A,32),e0=e[M>>2]|0,q=e0+(V0<<2)|0,X=e[q>>2]|0,U=e[w>>2]|0,$0=X+(U<<2)|0,E=U+-32|0,Z=X+(E<<2)|0,K=e[v>>2]|0,a0=K-U|0,rQ(k0,Z,32,$0,a0)):(n0=e[M>>2]|0,i0=n0+(V0<<2)|0,V=e[i0>>2]|0,h0=V+(T<<2)|0,s0=e[v>>2]|0,g0=s0-T|0,j=g0<<2,Ae(h0|0,0,j|0)|0),c0=V0+1|0,u0=e[_>>2]|0,d0=(c0|0)<(u0|0),!d0){a=0;break}c=e[w>>2]|0,T=c,V0=c0}return C=P0,a|0}function eQ(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,R5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,R2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,k3=0,u3=0,p3=0,z3=0,G3=0,K5=0,w3=0,Z5=0,i6=0,R3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,L3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,X3=0,c6=0,p6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,R6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,L6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0;if(o4=C,v=t+4|0,S=e[v>>2]|0,o2=S+28|0,k5=e[o2>>2]|0,r6=t+104|0,S6=e[r6>>2]|0,f6=S6+60|0,d6=e[f6>>2]|0,G6=t+48|0,t9=e[G6>>2]|0,w=t+40|0,G=e[w>>2]|0,$0=k5+(G<<2)|0,j=e[$0>>2]|0,S0=(j|0)/2&-1,D0=t9-S0|0,b0=n+104|0,Z0=e[b0>>2]|0,w1=t+28|0,O1=e[w1>>2]|0,E2=(O1|0)==0,E2||(f2=t+32|0,G2=e[f2>>2]|0,b5=(G2|0)==-1,b5))return a=0,a|0;B2=oS(t)|0,B5=(B2|0)==-1;do if(B5){if(J2=e[f2>>2]|0,f3=(J2|0)==0,f3)return a=0,a|0;z3=t+44|0,e[z3>>2]=0,u=z3,O3=0;break}else if(C3=e[k5>>2]|0,P3=k5+4|0,M5=e[P3>>2]|0,o6=(C3|0)==(M5|0),e3=t+44|0,o6){e[e3>>2]=0,u=e3,O3=0;break}else{e[e3>>2]=B2,u=e3,O3=B2;break}while(!1);if(A3=e[G6>>2]|0,L3=e[w>>2]|0,u6=k5+(L3<<2)|0,Q3=e[u6>>2]|0,v3=(Q3|0)/4&-1,y3=v3+A3|0,j3=k5+(O3<<2)|0,V5=e[j3>>2]|0,S3=(V5|0)/4&-1,g3=y3+S3|0,q3=(V5|0)/2&-1,l6=g3+q3|0,d3=t+20|0,k6=e[d3>>2]|0,v6=(k6|0)<(l6|0),v6)return a=0,a|0;if(B6=n+84|0,X3=e[B6>>2]|0,c6=(X3|0)==0,!c6)for(I9=X3;p6=I9+4|0,x6=e[p6>>2]|0,Y6=e[I9>>2]|0,I2(Y6),I2(I9),C6=(x6|0)==0,!C6;)I9=x6;b3=n+80|0,e6=e[b3>>2]|0,t6=(e6|0)==0,t6||(H3=n+68|0,D3=e[H3>>2]|0,Y3=n+76|0,Z3=e[Y3>>2]|0,b6=Z3+e6|0,A6=Oi(D3,b6)|0,e[H3>>2]=A6,t3=e[b3>>2]|0,O6=e[Y3>>2]|0,s3=O6+t3|0,e[Y3>>2]=s3,e[b3>>2]=0),a6=n+72|0,e[a6>>2]=0,e[B6>>2]=0,_3=t+36|0,N6=e[_3>>2]|0,n6=n+24|0,e[n6>>2]=N6,Q6=e[w>>2]|0,R6=n+28|0,e[R6>>2]=Q6,K6=e[u>>2]|0,I6=n+32|0,e[I6>>2]=K6,J6=(Q6|0)==0;do if(J6)if(s9=AS(t)|0,L6=(s9|0)==0,U6=Z0+8|0,L6){e[U6>>2]=1;break}else{e[U6>>2]=0;break}else if(F3=(N6|0)==0,j6=(K6|0)==0,N9=F3|j6,e9=Z0+8|0,N9){e[e9>>2]=0;break}else{e[e9>>2]=1;break}while(!1);D6=n+64|0,e[D6>>2]=t,z6=t+64|0,y6=z6,F6=y6,M3=e[F6>>2]|0,M6=y6+4|0,A9=M6,X6=e[A9>>2]|0,u9=zs(M3|0,X6|0,1,0)|0,f9=H6,d9=z6,a9=d9,e[a9>>2]=u9,$9=d9+4|0,T9=$9,e[T9>>2]=f9,E6=n+56|0,T6=E6,y=T6,e[y>>2]=M3,b=T6+4|0,Q=b,e[Q>>2]=X6,_=t+56|0,R=_,x=R,L=e[x>>2]|0,M=R+4|0,T=M,N=e[T>>2]|0,O=n+48|0,z=O,Y=z,e[Y>>2]=L,t0=z+4|0,J=t0,e[J>>2]=N,W=e[w>>2]|0,e0=k5+(W<<2)|0,q=e[e0>>2]|0,X=n+36|0,e[X>>2]=q,U=Z0+4|0,Z=+s[U>>2],K=+s[d6>>2],a0=Z>K,a0?(s[d6>>2]=Z,n0=Z):n0=K,i0=+FS(n0,t),s[d6>>2]=i0,s[U>>2]=i0,r0=S+4|0,V=e[r0>>2]|0,h0=V<<2,s0=h0+7|0,g0=s0&-8,c0=e[a6>>2]|0,u0=g0+c0|0,d0=n+76|0,w0=e[d0>>2]|0,C0=(u0|0)>(w0|0),k0=n+68|0,f0=e[k0>>2]|0,C0?(B0=(f0|0)==0,B0||(p0=f0,I0=S9(8)|0,K0=e[b3>>2]|0,_0=K0+c0|0,e[b3>>2]=_0,Q0=e[B6>>2]|0,F0=I0+4|0,e[F0>>2]=Q0,e[I0>>2]=p0,e[B6>>2]=I0),e[d0>>2]=g0,M0=S9(g0)|0,e[k0>>2]=M0,e[a6>>2]=0,c=e[r0>>2]|0,U0=M0,y0=0,T0=c,G0=g0):(U0=f0,y0=c0,T0=V,G0=w0),N0=U0+y0|0,Y0=y0+g0|0,e[a6>>2]=Y0,e[n>>2]=N0,L0=T0<<2,V0=L0+7|0,J0=V0&-8,P0=J0+Y0|0,z0=(P0|0)>(G0|0),z0?(O0=(U0|0)==0,O0||(r1=U0,H0=S9(8)|0,e1=e[b3>>2]|0,i1=e1+Y0|0,e[b3>>2]=i1,c1=e[B6>>2]|0,$1=H0+4|0,e[$1>>2]=c1,e[H0>>2]=r1,e[B6>>2]=H0),e[d0>>2]=J0,f1=S9(J0)|0,e[k0>>2]=f1,e[a6>>2]=0,E=e[r0>>2]|0,l1=f1,s1=0,n1=E,O5=J0):(l1=U0,s1=Y0,n1=T0,O5=G0),g1=l1+s1|0,a1=s1+J0|0,e[a6>>2]=a1,e[Z0>>2]=g1,o1=(n1|0)>0;e:do if(o1)for(I1=t+8|0,Q1=a1,x1=O5,S1=l1,i9=0;;){if(h1=e[X>>2]|0,m1=h1+D0|0,d1=m1<<2,E1=d1+7|0,B1=E1&-8,p1=B1+Q1|0,_1=(p1|0)>(x1|0),_1?(R1=(S1|0)==0,R1||(F1=S1,G1=S9(8)|0,k1=e[b3>>2]|0,U1=k1+Q1|0,e[b3>>2]=U1,Z1=e[B6>>2]|0,N1=G1+4|0,e[N1>>2]=Z1,e[G1>>2]=F1,e[B6>>2]=G1),e[d0>>2]=B1,b1=S9(B1)|0,e[k0>>2]=b1,e[a6>>2]=0,q1=b1,H1=0):(q1=S1,H1=Q1),V1=q1+H1|0,Y1=H1+B1|0,e[a6>>2]=Y1,j1=e[Z0>>2]|0,n2=j1+(i9<<2)|0,e[n2>>2]=V1,W1=e[Z0>>2]|0,P1=W1+(i9<<2)|0,c2=e[P1>>2]|0,z1=e[I1>>2]|0,u2=z1+(i9<<2)|0,A2=e[u2>>2]|0,s4(c2|0,A2|0,d1|0)|0,K1=e[Z0>>2]|0,h2=K1+(i9<<2)|0,$2=e[h2>>2]|0,i2=$2+(D0<<2)|0,l2=e[n>>2]|0,r2=l2+(i9<<2)|0,e[r2>>2]=i2,a2=i9+1|0,X1=e[r0>>2]|0,s2=(a2|0)<(X1|0),!s2)break e;I=e[a6>>2]|0,m=e[d0>>2]|0,p=e[k0>>2]|0,Q1=I,x1=m,S1=p,i9=a2}while(!1);if(e2=e[f2>>2]|0,y2=(e2|0)==0,!y2&&(v2=e[G6>>2]|0,w2=(v2|0)<(e2|0),!w2))return e[f2>>2]=-1,C2=n+44|0,e[C2>>2]=1,a=1,a|0;if(F2=k5+4|0,D2=e[F2>>2]|0,N2=(D2|0)/2&-1,d2=g3-N2|0,K2=(d2|0)>0,!K2)return a=1,a|0;if(H2=e[S6>>2]|0,aS(H2,d2),M2=e[d3>>2]|0,P2=M2-d2|0,e[d3>>2]=P2,z2=e[r0>>2]|0,o5=(z2|0)>0,o5&&(O2=t+8|0,T1=e[O2>>2]|0,X2=e[T1>>2]|0,R5=X2+(d2<<2)|0,e5=P2<<2,WA(X2|0,R5|0,e5|0)|0,Z2=e[r0>>2]|0,f5=(Z2|0)>1,f5))for(l5=1;B=e[d3>>2]|0,v5=e[O2>>2]|0,P5=v5+(l5<<2)|0,k2=e[P5>>2]|0,m5=k2+(d2<<2)|0,n5=B<<2,WA(k2|0,m5|0,n5|0)|0,x2=l5+1|0,_2=e[r0>>2]|0,C5=(x2|0)<(_2|0),C5;)l5=x2;return L5=e[w>>2]|0,e[_3>>2]=L5,d5=e[u>>2]|0,e[w>>2]=d5,e[G6>>2]=N2,D5=e[f2>>2]|0,G5=(D5|0)==0,G5?(u3=(d2|0)<0,p3=u3<<31>>31,G3=_,K5=G3,w3=e[K5>>2]|0,Z5=G3+4|0,i6=Z5,R3=e[i6>>2]|0,U3=zs(w3|0,R3|0,d2|0,p3|0)|0,a3=H6,l3=_,c3=l3,e[c3>>2]=U3,H5=l3+4|0,U5=H5,e[U5>>2]=a3,a=1,a|0):(_5=D5-d2|0,q2=(_5|0)<1,A=q2?-1:_5,e[f2>>2]=A,I5=(A|0)>(N2|0),I5?($5=(d2|0)<0,R2=$5<<31>>31,Q5=_,q5=Q5,j5=e[q5>>2]|0,E5=Q5+4|0,h3=E5,Y5=e[h3>>2]|0,X5=zs(j5|0,Y5|0,d2|0,R2|0)|0,n3=H6,m3=_,F5=m3,e[F5>>2]=X5,J5=m3+4|0,k3=J5,e[k3>>2]=n3,a=1,a|0):(A5=A+d2|0,c5=A5-N2|0,M1=(c5|0)<0,S5=M1<<31>>31,g5=_,a5=g5,W2=e[a5>>2]|0,g2=g5+4|0,p5=g2,t5=e[p5>>2]|0,s5=zs(W2|0,t5|0,c5|0,S5|0)|0,h5=H6,u5=_,i5=u5,e[i5>>2]=s5,x5=u5+4|0,j2=x5,e[j2>>2]=h5,a=1,a|0))}function Xv(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,R5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0;if(i5=C,p=n+28|0,B=e[p>>2]|0,p1=(B|0)==0,p1||(Z1=B+8|0,P1=e[Z1>>2]|0,l2=(P1|0)<1,l2)||(F2=e[B>>2]|0,O2=(F2|0)<64,O2)||(k2=B+4|0,_5=e[k2>>2]|0,v=(_5|0)<(F2|0),v))return a=1,a|0;T=B+3656|0,X=e[T>>2]|0,J2=t,x5=J2+112|0;do e[J2>>2]=0,J2=J2+4|0;while((J2|0)<(x5|0));s0=n4(1,136)|0,p0=t+104|0,e[p0>>2]=s0,Y0=t+4|0,e[Y0>>2]=n,H0=e[Z1>>2]|0,n1=H0+-1|0,E1=Ft(n1)|0,B1=s0+44|0,e[B1>>2]=E1,Q1=n4(1,4)|0,_1=s0+12|0,e[_1>>2]=Q1,x1=n4(1,4)|0,w1=s0+16|0,e[w1>>2]=x1,S1=n4(1,20)|0,e[Q1>>2]=S1,R1=n4(1,20)|0,e[x1>>2]=R1,F1=e[B>>2]|0,G1=F1>>X,cB(S1,G1),k1=e[w1>>2]|0,U1=e[k1>>2]|0,N1=e[k2>>2]|0,b1=N1>>X,cB(U1,b1),V1=e[B>>2]|0,O1=Ft(V1)|0,q1=O1+-7|0,H1=s0+4|0,e[H1>>2]=q1,Y1=e[k2>>2]|0,j1=Ft(Y1)|0,n2=j1+-7|0,W1=s0+8|0,e[W1>>2]=n2,c2=(A|0)==0;e:do if(c2){if(B2=B+2848|0,C5=e[B2>>2]|0,L5=(C5|0)==0,L5&&(d5=B+24|0,D5=e[d5>>2]|0,G5=n4(D5,56)|0,e[B2>>2]=G5,q2=e[d5>>2]|0,I5=(q2|0)>0,I5)){for(m1=q2,p5=0;;){if(A5=(B+1824|0)+(p5<<2)|0,c5=e[A5>>2]|0,B5=(c5|0)==0,B5){M1=m1;break}if(g5=e[B2>>2]|0,a5=g5+(p5*56|0)|0,W2=tb(a5,c5)|0,S=(W2|0)==0,!S){u5=20;break}if(w=e[A5>>2]|0,hB(w),e[A5>>2]=0,y=p5+1|0,b=e[d5>>2]|0,Q=(y|0)<(b|0),Q)m1=b,p5=y;else break e}if((u5|0)==20&&(I=e[d5>>2]|0,M1=I),S5=(M1|0)>0,S5)for(d1=M1,h5=0;s1=(B+1824|0)+(h5<<2)|0,a1=e[s1>>2]|0,o1=(a1|0)==0,o1?h1=d1:(hB(a1),e[s1>>2]=0,m=e[d5>>2]|0,h1=m),Z0=h5+1|0,I1=(Z0|0)<(h1|0),I1;)d1=h1,h5=Z0;return jp(t),a=-1,a|0}}else{if(z1=s0+20|0,u2=e[B>>2]|0,dQ(z1,u2),o2=s0+32|0,E2=e[k2>>2]|0,dQ(o2,E2),A2=B+2848|0,K1=e[A2>>2]|0,h2=(K1|0)==0,h2&&($2=B+24|0,i2=e[$2>>2]|0,r2=n4(i2,56)|0,e[A2>>2]=r2,a2=e[$2>>2]|0,X1=(a2|0)>0,X1&&(s2=B+1824|0,f2=e[s2>>2]|0,fQ(r2,f2)|0,e2=e[$2>>2]|0,y2=(e2|0)>1,y2)))for(w2=1;c=e[A2>>2]|0,v2=c+(w2*56|0)|0,C2=(B+1824|0)+(w2<<2)|0,D2=e[C2>>2]|0,fQ(v2,D2)|0,N2=w2+1|0,d2=e[$2>>2]|0,K2=(N2|0)<(d2|0),K2;)w2=N2;G2=B+28|0,H2=e[G2>>2]|0,M2=n4(H2,52)|0,P2=s0+56|0,e[P2>>2]=M2,z2=e[G2>>2]|0,o5=(z2|0)>0;t:do if(o5)for(T1=B+2868|0,X2=n+8|0,e5=M2,g2=0;;){if(R5=e5+(g2*52|0)|0,b5=(B+2852|0)+(g2<<2)|0,Z2=e[b5>>2]|0,f5=e[Z2>>2]|0,v5=B+(f5<<2)|0,P5=e[v5>>2]|0,l5=(P5|0)/2&-1,m5=e[X2>>2]|0,LS(R5,Z2,T1,l5,m5),n5=g2+1|0,x2=e[G2>>2]|0,_2=(n5|0)<(x2|0),!_2)break t;u=e[P2>>2]|0,e5=u,g2=n5}while(!1);e[t>>2]=1}while(!1);if(_=e[k2>>2]|0,R=t+16|0,e[R>>2]=_,x=n+4|0,L=e[x>>2]|0,M=L<<2,N=S9(M)|0,G=t+8|0,e[G>>2]=N,O=S9(M)|0,z=t+12|0,e[z>>2]=O,Y=(L|0)>0,Y&&(t0=n4(_,4)|0,e[N>>2]=t0,J=(L|0)>1,J))for(q=1;E=e[G>>2]|0,W=n4(_,4)|0,e0=E+(q<<2)|0,e[e0>>2]=W,U=q+1|0,$0=(U|0)<(L|0),$0;)q=U;if(Z=t+36|0,e[Z>>2]=0,K=t+40|0,e[K>>2]=0,a0=e[k2>>2]|0,n0=(a0|0)/2&-1,i0=t+48|0,e[i0>>2]=n0,r0=t+20|0,e[r0>>2]=n0,V=B+16|0,h0=e[V>>2]|0,g0=n4(h0,4)|0,j=s0+48|0,e[j>>2]=g0,c0=B+20|0,u0=e[c0>>2]|0,d0=n4(u0,4)|0,w0=s0+52|0,e[w0>>2]=d0,C0=e[V>>2]|0,k0=(C0|0)>0,k0)for(t5=0;I0=(B+800|0)+(t5<<2)|0,S0=e[I0>>2]|0,K0=25640+(S0<<2)|0,_0=e[K0>>2]|0,Q0=_0+8|0,F0=e[Q0>>2]|0,M0=(B+1056|0)+(t5<<2)|0,N0=e[M0>>2]|0,U0=f7[F0&15](t,N0)|0,y0=e[j>>2]|0,L0=y0+(t5<<2)|0,e[L0>>2]=U0,D0=t5+1|0,T0=e[V>>2]|0,V0=(D0|0)<(T0|0),V0;)t5=D0;if(f0=e[c0>>2]|0,B0=(f0|0)>0,B0)s5=0;else return a=0,a|0;for(;;)if(J0=(B+1312|0)+(s5<<2)|0,P0=e[J0>>2]|0,z0=25648+(P0<<2)|0,G0=e[z0>>2]|0,O0=G0+8|0,r1=e[O0>>2]|0,e1=(B+1568|0)+(s5<<2)|0,b0=e[e1>>2]|0,i1=f7[r1&15](t,b0)|0,c1=e[w0>>2]|0,$1=c1+(s5<<2)|0,e[$1>>2]=i1,f1=s5+1|0,g1=e[c0>>2]|0,l1=(f1|0)<(g1|0),l1)s5=f1;else{a=0;break}return a|0}function tQ(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0;if(_0=C,C=C+64|0,c=_0,u=t+20|0,Q=e[u>>2]|0,Y=Q<<2,n=Y,a0=C,C=C+((1*n|0)+15&-16)|0,d0=t+28|0,e[d0>>2]=1,C0=t+48|0,k0=e[C0>>2]|0,f0=Q-k0|0,B0=(f0|0)>32,!B0){C=_0;return}if(E=t+4|0,I=e[E>>2]|0,m=I+4|0,p=e[m>>2]|0,B=(p|0)>0,!B){C=_0;return}for(v=t+8|0,S=Q,p0=0;;){if(w=(S|0)>0,w)for(y=e[v>>2]|0,b=y+(p0<<2)|0,_=e[b>>2]|0,I0=0;R=I0^-1,x=S+R|0,L=_+(x<<2)|0,M=e[L>>2]|0,T=a0+(I0<<2)|0,e[T>>2]=M,N=I0+1|0,G=(S|0)>(N|0),G;)I0=N;if(O=e[C0>>2]|0,z=S-O|0,+iQ(a0,c,z,16),t0=e[u>>2]|0,J=e[C0>>2]|0,A=t0-J|0,W=a0+(A<<2)|0,a=A+-16|0,e0=a0+(a<<2)|0,rQ(c,e0,16,W,J),q=e[u>>2]|0,X=(q|0)>0,X)for(U=e[v>>2]|0,$0=U+(p0<<2)|0,Z=e[$0>>2]|0,S0=0;K=a0+(S0<<2)|0,n0=e[K>>2]|0,i0=S0^-1,r0=q+i0|0,V=Z+(r0<<2)|0,e[V>>2]=n0,h0=S0+1|0,s0=(q|0)>(h0|0),s0;)S0=h0;if(g0=p0+1|0,j=e[E>>2]|0,c0=j+4|0,u0=e[c0>>2]|0,w0=(g0|0)<(u0|0),w0)S=q,p0=g0;else break}C=_0}function eS(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0;a2=C,U2(n,5653314,24),E=e[t>>2]|0,U2(n,E,16),I=t+4|0,G=e[I>>2]|0,U2(n,G,24),$0=e[I>>2]|0,j=($0|0)>1;e:do if(j)for(S0=t+8|0,D0=e[S0>>2]|0,c=d[D0>>0]|0,b0=c,P1=1;;){if(Z0=b0<<24>>24==0,Z0){W1=P1;break e}if(w1=D0+P1|0,m=d[w1>>0]|0,b=m<<24>>24>24,b){W1=P1;break e}if(Q=P1+1|0,_=(Q|0)<($0|0),_)b0=m,P1=Q;else{W1=Q;break}}else W1=1;while(!1);R=(W1|0)==($0|0);e:do if(R){if(U2(n,1,1),x=t+8|0,L=e[x>>2]|0,M=d[L>>0]|0,T=M<<24>>24,N=T+-1|0,U2(n,N,5),O=e[I>>2]|0,z=(O|0)>1,z)for(y=O,q1=0,z1=1;;){if(Y=e[x>>2]|0,t0=Y+z1|0,J=d[t0>>0]|0,W=z1+-1|0,e0=Y+W|0,q=d[e0>>0]|0,X=J<<24>>24>q<<24>>24,X)for(U=q<<24>>24,Z=J<<24>>24,n0=y,H1=q1,$2=U;;)if(K=z1-H1|0,a0=n0-H1|0,i0=Ft(a0)|0,U2(n,K,i0),r0=$2+1|0,n2=(r0|0)==(Z|0),u=e[I>>2]|0,n2){s0=u,Y1=z1;break}else n0=u,H1=z1,$2=r0;else s0=y,Y1=q1;if(V=z1+1|0,h0=(V|0)<(s0|0),h0)y=s0,q1=Y1,z1=V;else{a=s0,O1=Y1,c2=V;break}}else a=O,O1=0,c2=1;g0=c2-O1|0,c0=a-O1|0,u0=Ft(c0)|0,U2(n,g0,u0)}else{U2(n,0,1),d0=e[I>>2]|0,w0=(d0|0)>0;t:do if(w0)for(C0=t+8|0,k0=e[C0>>2]|0,o2=0;;){if(f0=k0+o2|0,B0=d[f0>>0]|0,p0=B0<<24>>24==0,p0){u2=o2;break t}if(I0=o2+1|0,K0=(I0|0)<(d0|0),K0)o2=I0;else{u2=I0;break}}else u2=0;while(!1);if(_0=(u2|0)==(d0|0),_0){if(U2(n,0,1),Q0=e[I>>2]|0,F0=(Q0|0)>0,!F0)break;for(M0=t+8|0,E2=0;;)if(N0=e[M0>>2]|0,U0=N0+E2|0,y0=d[U0>>0]|0,Y0=y0<<24>>24,L0=Y0+-1|0,U2(n,L0,5),T0=E2+1|0,V0=e[I>>2]|0,J0=(T0|0)<(V0|0),J0)E2=T0;else break e}if(U2(n,1,1),P0=e[I>>2]|0,z0=(P0|0)>0,z0)for(G0=t+8|0,A2=0;O0=e[G0>>2]|0,r1=O0+A2|0,H0=d[r1>>0]|0,e1=H0<<24>>24==0,e1?U2(n,0,1):(U2(n,1,1),i1=e[G0>>2]|0,c1=i1+A2|0,$1=d[c1>>0]|0,f1=$1<<24>>24,g1=f1+-1|0,U2(n,g1,5)),l1=A2+1|0,s1=e[I>>2]|0,a1=(l1|0)<(s1|0),a1;)A2=l1}while(!1);if(n1=t+12|0,o1=e[n1>>2]|0,U2(n,o1,4),I1=e[n1>>2]|0,(I1|0)==2|(I1|0)==1)r2=28;else if(I1|0)return A=-1,A|0;do if((r2|0)==28){if(h1=t+32|0,m1=e[h1>>2]|0,d1=(m1|0)==0,d1)return A=-1,A|0;if(E1=t+16|0,B1=e[E1>>2]|0,U2(n,B1,32),p1=t+20|0,Q1=e[p1>>2]|0,U2(n,Q1,32),_1=t+24|0,x1=e[_1>>2]|0,S1=x1+-1|0,U2(n,S1,4),R1=t+28|0,F1=e[R1>>2]|0,U2(n,F1,1),G1=e[n1>>2]|0,(G1|0)==1)k1=jS(t)|0,l2=k1;else if((G1|0)==2)U1=e[I>>2]|0,Z1=e[t>>2]|0,N1=r5(Z1,U1)|0,l2=N1;else break;if(b1=(l2|0)>0,b1)for(K1=0;V1=e[h1>>2]|0,p=V1+(K1<<2)|0,B=e[p>>2]|0,h2=(B|0)>-1,i2=0-B|0,v=h2?B:i2,S=e[_1>>2]|0,U2(n,v,S),w=K1+1|0,j1=(w|0)==(l2|0),!j1;)K1=w}while(!1);return A=0,A|0}function xh(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0;return z=C,c=(n|0)<0,c||(u=t+12|0,Q=e[u>>2]|0,R=Q+4|0,x=e[R>>2]|0,L=(x|0)>(n|0),!L)?(a=0,a|0):(M=t+20|0,T=e[M>>2]|0,N=T+(n<<2)|0,G=e[N>>2]|0,E=Q+8|0,I=e[E>>2]|0,m=I+n|0,p=d[m>>0]|0,B=p<<24>>24,U2(A,G,B),v=e[u>>2]|0,S=v+8|0,w=e[S>>2]|0,y=w+n|0,b=d[y>>0]|0,_=b<<24>>24,a=_,a|0)}function Vm(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0;return w=C,a=t+8|0,c=e[a>>2]|0,u=(c|0)>0,!u||(E=Rh(t,n)|0,I=(E|0)>-1,!I)?(A=-1,A|0):(m=t+24|0,p=e[m>>2]|0,B=p+(E<<2)|0,v=e[B>>2]|0,A=v,A|0)}function tS(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0;if(j=C,m=t+8|0,p=e[m>>2]|0,L=(p|0)>0,!L)return c=0,C=j,c|0;e0=e[t>>2]|0,X=(a|0)/(e0|0)&-1,U=X<<2,u=U,$0=C,C=C+((1*u|0)+15&-16)|0,Z=(X|0)>0;e:do if(Z){for(K=t+16|0,r0=0;;){if(N=Rh(t,A)|0,G=(N|0)==-1,G){c=-1;break}if(O=e[K>>2]|0,z=e[t>>2]|0,Y=r5(z,N)|0,t0=O+(Y<<2)|0,J=$0+(r0<<2)|0,e[J>>2]=t0,W=r0+1|0,q=(W|0)<(X|0),q)r0=W;else{a0=z;break e}}return C=j,c|0}else a0=e0;while(!1);if(E=(a0|0)<1,I=Z^1,n0=E|I,n0)return c=0,C=j,c|0;for(V=0,s0=0;;){for(h0=0;w=$0+(h0<<2)|0,y=e[w>>2]|0,b=y+(V<<2)|0,Q=+s[b>>2],_=h0+s0|0,R=n+(_<<2)|0,x=+s[R>>2],M=x+Q,s[R>>2]=M,T=h0+1|0,i0=(T|0)==(X|0),!i0;)h0=T;if(B=V+1|0,v=s0+X|0,S=(B|0)<(a0|0),S)V=B,s0=v;else{c=0;break}}return C=j,c|0}function iS(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0;if(X2=C,Y=t+8|0,t0=e[Y>>2]|0,g0=(t0|0)>0,!g0)return c=0,c|0;if(I0=e[t>>2]|0,L0=(I0|0)>8,L0){if(x1=(a|0)>0,!x1)return c=0,c|0;for(V1=t+16|0,X1=0;;){if(Z=Rh(t,A)|0,K=(Z|0)==-1,K){c=-1,T1=29;break}if(a0=e[V1>>2]|0,n0=e[t>>2]|0,i0=r5(n0,Z)|0,r0=(n0|0)>0,r0){for(V=(n0|0)>1,O2=V?n0:1,f2=X1,d2=0;h0=d2+1|0,z=d2+i0|0,s0=a0+(z<<2)|0,j=+s[s0>>2],c0=f2+1|0,u0=n+(f2<<2)|0,d0=+s[u0>>2],w0=d0+j,s[u0>>2]=w0,C0=(h0|0)<(n0|0),C0;)f2=c0,d2=h0;u2=X1+O2|0,s2=u2}else s2=X1;if(J=(s2|0)<(a|0),J)X1=s2;else{c=0,T1=29;break}}if((T1|0)==29)return c|0}if(e1=t+16|0,o1=(a|0)>0,o1)e2=0;else return c=0,c|0;e:for(;;){t:for(;;){if(q=Rh(t,A)|0,X=(q|0)==-1,X){c=-1,T1=29;break e}switch(U=e[e1>>2]|0,$0=e[t>>2]|0,$0|0){case 4:{B=q,Q=U,T1=19;break t}case 3:{v=q,_=U,T1=21;break t}case 7:{I=q,w=U,T1=13;break t}case 6:{m=q,y=U,T1=15;break t}case 8:{u=U,E=q,T1=12;break t}case 5:{p=q,b=U,T1=17;break t}case 1:{K1=q,$2=U,N2=e2,o5=0;break t}case 2:{S=q,R=U,T1=23;break t}default:}}if((T1|0)==12?(T1=0,k0=E<<3,f0=u+(k0<<2)|0,B0=+s[f0>>2],p0=e2+1|0,S0=n+(e2<<2)|0,K0=+s[S0>>2],_0=K0+B0,s[S0>>2]=_0,M0=k0,U0=u,y2=p0,K2=1,T1=14):(T1|0)==13?(T1=0,Q0=I*7|0,M0=Q0,U0=w,y2=e2,K2=0,T1=14):(T1|0)==15?(T1=0,J0=m*6|0,z0=J0,O0=y,v2=e2,G2=0,T1=16):(T1|0)==17?(T1=0,$1=p*5|0,g1=$1,s1=b,w2=e2,H2=0,T1=18):(T1|0)==19?(T1=0,m1=B<<2,E1=m1,p1=Q,C2=e2,M2=0,T1=20):(T1|0)==21?(T1=0,F1=v*3|0,k1=F1,Z1=_,F2=e2,P2=0,T1=22):(T1|0)==23&&(T1=0,Y1=S<<1,n2=Y1,P1=R,D2=e2,z2=0,T1=24),(T1|0)==14&&(T1=0,F0=K2+1|0,O=K2+M0|0,N0=U0+(O<<2)|0,y0=+s[N0>>2],Y0=y2+1|0,D0=n+(y2<<2)|0,T0=+s[D0>>2],V0=T0+y0,s[D0>>2]=V0,z0=M0,O0=U0,v2=Y0,G2=F0,T1=16),(T1|0)==16&&(T1=0,P0=G2+1|0,G=G2+z0|0,G0=O0+(G<<2)|0,r1=+s[G0>>2],H0=v2+1|0,b0=n+(v2<<2)|0,i1=+s[b0>>2],c1=i1+r1,s[b0>>2]=c1,g1=z0,s1=O0,w2=H0,H2=P0,T1=18),(T1|0)==18&&(T1=0,f1=H2+1|0,N=H2+g1|0,l1=s1+(N<<2)|0,a1=+s[l1>>2],n1=w2+1|0,Z0=n+(w2<<2)|0,I1=+s[Z0>>2],h1=I1+a1,s[Z0>>2]=h1,E1=g1,p1=s1,C2=n1,M2=f1,T1=20),(T1|0)==20&&(T1=0,d1=M2+1|0,T=M2+E1|0,B1=p1+(T<<2)|0,Q1=+s[B1>>2],_1=C2+1|0,w1=n+(C2<<2)|0,S1=+s[w1>>2],R1=S1+Q1,s[w1>>2]=R1,k1=E1,Z1=p1,F2=_1,P2=d1,T1=22),(T1|0)==22&&(T1=0,G1=P2+1|0,M=P2+k1|0,U1=Z1+(M<<2)|0,N1=+s[U1>>2],b1=F2+1|0,O1=n+(F2<<2)|0,q1=+s[O1>>2],H1=q1+N1,s[O1>>2]=H1,n2=k1,P1=Z1,D2=b1,z2=G1,T1=24),(T1|0)==24&&(T1=0,j1=z2+1|0,L=z2+n2|0,W1=P1+(L<<2)|0,c2=+s[W1>>2],z1=D2+1|0,o2=n+(D2<<2)|0,E2=+s[o2>>2],A2=E2+c2,s[o2>>2]=A2,K1=n2,$2=P1,N2=z1,o5=j1),x=o5+K1|0,h2=$2+(x<<2)|0,i2=+s[h2>>2],l2=N2+1|0,r2=n+(N2<<2)|0,a2=+s[r2>>2],W=a2+i2,s[r2>>2]=W,e0=(l2|0)<(a|0),e0)e2=l2;else{c=0,T1=29;break}}return(T1|0)==29?c|0:0}function rS(t,n,A,a,c,u){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0,u=u|0;var E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0;if(g0=C,B=t+8|0,v=e[B>>2]|0,T=(v|0)>0,!T||(W=(A|0)/(a|0)&-1,e0=u+A|0,q=(e0|0)/(a|0)&-1,X=(W|0)<(q|0),!X))return I=0,I|0;for(U=t+16|0,K=0,i0=W;;){if(Z=Rh(t,c)|0,S=(Z|0)==-1,S){I=-1,s0=8;break}if(w=e[U>>2]|0,y=e[t>>2]|0,b=r5(y,Z)|0,Q=(y|0)>0,Q)for(n0=K,V=i0,h0=0;;)if(p=h0+b|0,_=w+(p<<2)|0,R=+s[_>>2],x=n0+1|0,L=n+(n0<<2)|0,M=e[L>>2]|0,N=M+(V<<2)|0,G=+s[N>>2],O=G+R,s[N>>2]=O,z=(x|0)==(a|0),Y=z&1,m=Y+V|0,E=z?0:x,t0=h0+1|0,J=(t0|0)<(y|0),J)n0=E,V=m,h0=t0;else{a0=E,r0=m;break}else a0=K,r0=i0;if($0=(r0|0)<(q|0),$0)K=a0,i0=r0;else{I=0,s0=8;break}}return(s0|0)==8?I|0:0}function Rh(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0;h1=C,c=t+40|0,u=e[c>>2]|0,Q=t+36|0,Y=e[Q>>2]|0,a0=AB(n,Y)|0,d0=(a0|0)>-1;do if(d0){if(Q0=t+32|0,J0=e[Q0>>2]|0,c1=J0+(a0<<2)|0,$1=e[c1>>2]|0,E=($1|0)<0,E){I=$1>>>15,m=I&32767,p=t+8|0,B=e[p>>2]|0,v=$1&32767,S=B-v|0,f1=S,l1=m;break}return w=$1+-1|0,y=t+28|0,b=e[y>>2]|0,_=b+w|0,R=d[_>>0]|0,x=R<<24>>24,aB(n,x),A=w,A|0}else L=t+8|0,M=e[L>>2]|0,f1=M,l1=0;while(!1);if(T=AB(n,u)|0,N=(T|0)<0,G=(u|0)>1,O=N&G,O)for(Z0=u;;)if(z=Z0+-1|0,t0=AB(n,z)|0,J=(t0|0)<0,W=(z|0)>1,e0=J&W,e0)Z0=z;else{a=J,n1=t0,o1=z;break}else a=N,n1=T,o1=u;if(a)return A=-1,A|0;if(q=n1>>>16,X=n1<<16,U=q|X,$0=U>>>8,Z=$0&16711935,K=U<<8,n0=K&-16711936,i0=Z|n0,r0=i0>>>4,V=r0&252645135,h0=i0<<4,s0=h0&-252645136,g0=V|s0,j=g0>>>2,c0=j&858993459,u0=g0<<2,w0=u0&-858993460,C0=c0|w0,k0=C0>>>1,f0=k0&1431655765,B0=C0<<1,p0=B0&-1431655766,I0=f0|p0,S0=f1-l1|0,K0=(S0|0)>1,K0)for(_0=t+20|0,F0=e[_0>>2]|0,N0=S0,g1=f1,a1=l1;;)if(M0=N0>>1,U0=M0+a1|0,y0=F0+(U0<<2)|0,Y0=e[y0>>2]|0,L0=Y0>>>0>I0>>>0,D0=L0?0:M0,T0=D0+a1|0,V0=L0?M0:0,P0=g1-V0|0,z0=P0-T0|0,G0=(z0|0)>1,G0)N0=z0,g1=P0,a1=T0;else{s1=T0;break}else s1=l1;return O0=t+28|0,r1=e[O0>>2]|0,H0=r1+s1|0,e1=d[H0>>0]|0,b0=e1<<24>>24,i1=(b0|0)>(o1|0),i1?(aB(n,o1),A=-1,A|0):(aB(n,b0),A=s1,A|0)}function nS(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0;for(c1=C,p=n+28|0,B=e[p>>2]|0,M=n+4|0,q=e[M>>2]|0,h0=t+4|0,e[h0>>2]=128,B0=t+8|0,e[B0>>2]=64,y0=B+2932|0,J0=e[y0>>2]|0,P0=t+12|0,e[P0>>2]=J0,e[t>>2]=q,z0=t+164|0,e[z0>>2]=128,v=B+4|0,S=e[v>>2]|0,w=(S|0)/2&-1,y=t+176|0,e[y>>2]=w,b=n4(128,4)|0,Q=t+36|0,e[Q>>2]=b,_=t+16|0,cB(_,128),R=e[Q>>2]|0,H0=0;x=+(H0|0),L=x*.024736950028266088,T=+Nn(+L),N=T,G=R+(H0<<2)|0,O=N*N,s[G>>2]=O,z=H0+1|0,r1=(z|0)==128,!r1;)H0=z;for(Y=t+40|0,e[Y>>2]=2,t0=t+44|0,e[t0>>2]=4,J=t+56|0,e[J>>2]=4,W=t+60|0,e[W>>2]=5,e0=t+72|0,e[e0>>2]=6,X=t+76|0,e[X>>2]=6,U=t+88|0,e[U>>2]=9,$0=t+92|0,e[$0>>2]=8,Z=t+104|0,e[Z>>2]=13,K=t+108|0,e[K>>2]=8,a0=t+120|0,e[a0>>2]=17,n0=t+124|0,e[n0>>2]=8,i0=t+136|0,e[i0>>2]=22,r0=t+140|0,e[r0>>2]=8,s0=4,b0=0;;){if(V=s0<<2,g0=S9(V)|0,j=((t+40|0)+(b0<<4)|0)+8|0,e[j>>2]=g0,c0=(s0|0)>0,c0){for(u0=+(s0|0),d0=((t+40|0)+(b0<<4)|0)+12|0,m=+s[d0>>2],_0=m,e1=0;;)if(w0=+(e1|0),C0=w0+.5,k0=C0/u0,f0=k0*3.141592653589793,p0=+Nn(+f0),I0=p0,S0=g0+(e1<<2)|0,s[S0>>2]=I0,K0=_0+I0,Q0=e1+1|0,G0=(Q0|0)==(s0|0),G0){A=K0;break}else _0=K0,e1=Q0;s[d0>>2]=A,E=d0,M0=A}else c=((t+40|0)+(b0<<4)|0)+12|0,I=+s[c>>2],E=c,M0=I;if(F0=1/M0,s[E>>2]=F0,N0=b0+1|0,O0=(N0|0)==7,O0)break;a=((t+40|0)+(N0<<4)|0)+4|0,u=e[a>>2]|0,s0=u,b0=N0}U0=q*7|0,Y0=n4(U0,144)|0,L0=t+152|0,e[L0>>2]=Y0,D0=e[z0>>2]|0,T0=n4(D0,4)|0,V0=t+160|0,e[V0>>2]=T0}function sS(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0;N=C,n=t+16|0,gB(n),A=t+48|0,w=e[A>>2]|0,I2(w),b=t+64|0,Q=e[b>>2]|0,I2(Q),_=t+80|0,R=e[_>>2]|0,I2(R),x=t+96|0,L=e[x>>2]|0,I2(L),M=t+112|0,a=e[M>>2]|0,I2(a),c=t+128|0,u=e[c>>2]|0,I2(u),E=t+144|0,I=e[E>>2]|0,I2(I),m=t+36|0,p=e[m>>2]|0,I2(p),B=t+152|0,v=e[B>>2]|0,I2(v),S=t+160|0,y=e[S>>2]|0,I2(y),Ae(t|0,0,180)|0}function oS(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0;if(j1=C,u=t+4|0,E=e[u>>2]|0,L=E+28|0,e0=e[L>>2]|0,V=e0+2868|0,f0=t+104|0,U0=e[f0>>2]|0,O0=e[U0>>2]|0,s1=O0+168|0,p1=e[s1>>2]|0,I=O0+8|0,v=e[I>>2]|0,S=(p1|0)/(v|0)&-1,w=t+20|0,y=e[w>>2]|0,b=(y|0)/(v|0)&-1,Q=b+-4|0,_=(S|0)<0,n=_?0:S,R=b+2|0,x=O0+164|0,M=e[x>>2]|0,T=(R|0)>(M|0),T&&(e[x>>2]=R,N=O0+160|0,G=e[N>>2]|0,O=R<<2,z=Oi(G,O)|0,e[N>>2]=z),Y=(n|0)<(Q|0),Y)for(t0=O0+156|0,J=O0+160|0,W=t+8|0,q=O0+40|0,X=O0+152|0,b1=n;;){if(U=e[t0>>2]|0,$0=U+1|0,Z=(U|0)>23,a=Z?24:$0,e[t0>>2]=a,K=e[O0>>2]|0,a0=(K|0)>0,a0){for(N1=0,H1=0;;)if(h0=e[W>>2]|0,s0=h0+(N1<<2)|0,g0=e[s0>>2]|0,j=e[I>>2]|0,c0=r5(j,b1)|0,u0=g0+(c0<<2)|0,d0=e[X>>2]|0,w0=N1*7|0,C0=d0+(w0*144|0)|0,k0=$S(O0,V,u0,q,C0)|0,B0=k0|H1,p0=N1+1|0,I0=e[O0>>2]|0,S0=(p0|0)<(I0|0),S0)N1=p0,H1=B0;else{c=B0;break}K0=b1+2|0,_0=e[J>>2]|0,Q0=_0+(K0<<2)|0,e[Q0>>2]=0,F0=c&1,M0=(F0|0)==0,M0||(N0=_0+(b1<<2)|0,e[N0>>2]=1,y0=b1+1|0,Y0=_0+(y0<<2)|0,e[Y0>>2]=1),L0=c&2,D0=(L0|0)==0,D0||(T0=_0+(b1<<2)|0,e[T0>>2]=1,V0=(b1|0)>0,V0&&(J0=b1+-1|0,P0=_0+(J0<<2)|0,e[P0>>2]=1)),z0=c&4,G0=(z0|0)==0,G0||(e[t0>>2]=-1)}else n0=b1+2|0,i0=e[J>>2]|0,r0=i0+(n0<<2)|0,e[r0>>2]=0;if(r1=b1+1|0,Z1=(r1|0)==(Q|0),Z1)break;b1=r1}if(H0=e[I>>2]|0,e1=r5(H0,Q)|0,e[s1>>2]=e1,b0=t+48|0,i1=e[b0>>2]|0,c1=t+40|0,$1=e[c1>>2]|0,f1=e0+($1<<2)|0,g1=e[f1>>2]|0,l1=(g1|0)/4&-1,a1=l1+i1|0,n1=e0+4|0,o1=e[n1>>2]|0,Z0=(o1|0)/2&-1,I1=a1+Z0|0,h1=e[e0>>2]|0,m1=(h1|0)/4&-1,d1=I1+m1|0,E1=O0+176|0,B1=e[E1>>2]|0,Q1=e1-H0|0,_1=(B1|0)<(Q1|0),!_1)return A=-1,A|0;for(x1=O0+160|0,V1=B1;;){if(R1=(V1|0)<(d1|0),!R1){A=1,Y1=22;break}if(e[E1>>2]=V1,F1=(V1|0)/(H0|0)&-1,G1=e[x1>>2]|0,k1=G1+(F1<<2)|0,U1=e[k1>>2]|0,m=(U1|0)!=0,p=(V1|0)>(i1|0),q1=p&m,w1=H0+V1|0,q1){O1=V1,Y1=21;break}if(S1=(w1|0)<(Q1|0),S1)V1=w1;else{A=-1,Y1=22;break}}return(Y1|0)==21?(B=O0+172|0,e[B>>2]=O1,A=0,A|0):(Y1|0)==22?A|0:0}function AS(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0;if(B0=C,c=t+104|0,u=e[c>>2]|0,Q=e[u>>2]|0,Y=t+4|0,a0=e[Y>>2]|0,s0=a0+28|0,g0=e[s0>>2]|0,j=t+48|0,c0=e[j>>2]|0,u0=t+40|0,E=e[u0>>2]|0,I=g0+(E<<2)|0,m=e[I>>2]|0,p=(m|0)/4&-1,B=c0-p|0,v=p+c0|0,S=(E|0)==0,S?(G=e[g0>>2]|0,O=(G|0)/4&-1,A=O,a=O):(w=t+36|0,y=e[w>>2]|0,b=g0+(y<<2)|0,_=e[b>>2]|0,R=(_|0)/4&-1,x=t+44|0,L=e[x>>2]|0,M=g0+(L<<2)|0,T=e[M>>2]|0,N=(T|0)/4&-1,A=N,a=R),d0=B-a|0,w0=v+A|0,z=Q+172|0,t0=e[z>>2]|0,J=(t0|0)>=(d0|0),W=(t0|0)<(w0|0),k0=J&W,k0)return n=1,n|0;if(e0=Q+8|0,q=e[e0>>2]|0,X=(d0|0)/(q|0)&-1,U=(w0|0)/(q|0)&-1,$0=(X|0)<(U|0),!$0)return n=0,n|0;for(Z=Q+160|0,K=e[Z>>2]|0,C0=X;;){if(r0=K+(C0<<2)|0,V=e[r0>>2]|0,h0=(V|0)==0,n0=C0+1|0,!h0){n=1,f0=9;break}if(i0=(n0|0)<(U|0),i0)C0=n0;else{n=0,f0=9;break}}return(f0|0)==9?n|0:0}function aS(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0;if(G=C,A=t+168|0,a=e[A>>2]|0,y=t+8|0,Q=e[y>>2]|0,_=(a|0)/(Q|0)&-1,R=_+2|0,x=(n|0)/(Q|0)&-1,L=t+160|0,M=e[L>>2]|0,T=M+(x<<2)|0,c=R-x|0,u=c<<2,WA(M|0,T|0,u|0)|0,E=e[A>>2]|0,I=E-n|0,e[A>>2]=I,m=t+172|0,p=e[m>>2]|0,B=(p|0)>-1,!B){S=t+176|0,w=e[S>>2]|0,b=w-n|0,e[S>>2]=b;return}v=p-n|0,e[m>>2]=v,S=t+176|0,w=e[S>>2]|0,b=w-n|0,e[S>>2]=b}function $S(t,n,A,a,c){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0;var u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,R5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,R2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,k3=0,u3=0,p3=0,z3=0,G3=0,K5=0,w3=0,Z5=0,i6=0,R3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,L3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0,l6=0,d3=0;if(d3=C,Y=t+4|0,t0=e[Y>>2]|0,l2=t+12|0,F2=+s[l2>>2],O2=t0<<2,_=O2,k2=C,C=C+((1*_|0)+15&-16)|0,_5=t+156|0,g2=e[_5>>2]|0,R2=(g2|0)>5,F5=(g2|0)/2&-1,u=R2?F5:2,J=n+60|0,i0=+s[J>>2],C0=F5+-2|0,M0=+(C0|0),z0=i0-M0,g1=z0<0,u6=g1?0:z0,E1=u6>i0,Q3=E1?i0:u6,k1=(t0|0)>0,k1)for(n2=t+36|0,$2=e[n2>>2]|0,O5=0;r2=A+(O5<<2)|0,a2=+s[r2>>2],X1=$2+(O5<<2)|0,s2=+s[X1>>2],f2=s2*a2,e2=k2+(O5<<2)|0,s[e2>>2]=f2,y2=O5+1|0,C3=(y2|0)==(t0|0),!C3;)O5=y2;v2=t+16|0,nQ(v2,k2,k2),w2=+s[k2>>2],C2=w2*w2,D2=C2,N2=k2+4|0,d2=+s[N2>>2],K2=d2,G2=K2*K2,H2=G2*.7,M2=H2+D2,P2=k2+8|0,z2=+s[P2>>2],o5=z2,T1=o5*o5,X2=T1*.2,R5=M2+X2,e5=R5,b5=c+140|0,Z2=e[b5>>2]|0,f5=(Z2|0)==0,f5?(v5=c+136|0,P5=+s[v5>>2],l5=P5+e5,m5=c+132|0,s[m5>>2]=l5,s[v5>>2]=e5,T=m5,q2=l5):(n5=c+132|0,x2=+s[n5>>2],_2=x2+e5,s[n5>>2]=_2,B2=c+136|0,C5=+s[B2>>2],L5=C5+e5,s[B2>>2]=L5,T=n5,q2=_2),d5=(c+72|0)+(Z2<<2)|0,D5=+s[d5>>2],G5=q2-D5,s[T>>2]=G5,s[d5>>2]=e5,I5=e[b5>>2]|0,A5=I5+1|0,c5=(I5|0)>13,E=c5?0:A5,e[b5>>2]=E,B5=(t0|0)/2&-1,M1=(t0|0)>1;e:do if(M1)for(S5=q2*.0625,g5=(s[p2>>2]=S5,e[p2>>2]|0),a5=g5&2147483647,W2=+(a5>>>0),p5=W2*7177114298428933e-22,t5=p5+-764.6162109375,s5=t5,h5=s5*.5,J2=h5+-15,u5=J2,R=u5,F0=w2,k5=0;;){if(Q0=F0*F0,N0=k5|1,U0=k2+(N0<<2)|0,y0=+s[U0>>2],Y0=y0*y0,L0=Y0+Q0,D0=(s[p2>>2]=L0,e[p2>>2]|0),T0=D0&2147483647,V0=+(T0>>>0),J0=V0*35885571492144663e-23,P0=J0+-382.30810546875,G0=P0>1,H0=k2+(r1<<2)|0,s[H0>>2]=z,e1=k5+2|0,b0=(e1|0)<(B5|0),!b0)break e;i1=R+-8,L=k2+(e1<<2)|0,M=+s[L>>2],R=i1,F0=M,k5=e1}while(!1);if(i5=(u|0)>0,i5)A3=0,O3=0;else{for(e3=0,j3=0;;){if(c1=(a+(e3<<4)|0)+4|0,$1=e[c1>>2]|0,f1=($1|0)>0,f1)for(l1=a+(e3<<4)|0,s1=e[l1>>2]|0,a1=(a+(e3<<4)|0)+8|0,n1=e[a1>>2]|0,a3=0,P3=0;;)if(o1=s1+P3|0,Z0=k2+(o1<<2)|0,I1=+s[Z0>>2],h1=n1+(P3<<2)|0,m1=+s[h1>>2],d1=m1*I1,B1=d1+a3,p1=P3+1|0,Q1=(p1|0)<($1|0),Q1)a3=B1,P3=p1;else{R3=B1;break}else R3=0;if(_1=(a+(e3<<4)|0)+12|0,x1=+s[_1>>2],w1=x1*R3,S1=(c+(e3*144|0)|0)+68|0,R1=e[S1>>2]|0,F1=(R1|0)<1,p=F1?16:-1,I=p+R1|0,G1=(c+(e3*144|0)|0)+(I<<2)|0,U1=+s[G1>>2],Z1=w1U1,v=b1?U1:w1,V1=v+-99999,O1=N1+99999,q1=(c+(e3*144|0)|0)+(R1<<2)|0,s[q1>>2]=w1,H1=e[S1>>2]|0,Y1=H1+1|0,j1=(H1|0)>15,b=j1?0:Y1,e[S1>>2]=b,W1=(n+4|0)+(e3<<2)|0,P1=+s[W1>>2],c2=P1+Q3,z1=O1>c2,u2=j3|5,V5=z1?u2:j3,o2=(n+32|0)+(e3<<2)|0,E2=+s[o2>>2],A2=E2-Q3,K1=V1>2]|0,$5=(j2|0)>0,$5)for(w0=a+(A3<<4)|0,n0=e[w0>>2]|0,k0=(a+(A3<<4)|0)+8|0,s0=e[k0>>2]|0,l3=0,M5=0;;)if(a0=n0+M5|0,r0=k2+(a0<<2)|0,V=+s[r0>>2],h0=s0+(M5<<2)|0,g0=+s[h0>>2],j=g0*V,c0=j+l3,u0=M5+1|0,d0=(u0|0)<(j2|0),d0)l3=c0,M5=u0;else{U3=c0;break}else U3=0;for(f0=(a+(A3<<4)|0)+12|0,B0=+s[f0>>2],h3=B0*U3,X5=(c+(A3*144|0)|0)+68|0,f3=e[X5>>2]|0,p0=(f3|0)<1,B=p0?16:-1,m=B+f3|0,I0=(c+(A3*144|0)|0)+(m<<2)|0,S0=+s[I0>>2],K0=h3S0,S=_0?S0:h3,o6=0,L3=m,v3=-99999,y3=99999;;)if(e0=(L3|0)<1,y=e0?16:-1,w=y+L3|0,q=(c+(A3*144|0)|0)+(w<<2)|0,X=+s[q>>2],U=v3X,N=Z?X:y3,K=o6+1|0,H5=(K|0)==(u|0),H5){x=$0,G=N;break}else o6=K,L3=w,v3=$0,y3=N;if(Q5=S-G,q5=j5-x,E5=(c+(A3*144|0)|0)+(f3<<2)|0,s[E5>>2]=h3,Y5=e[X5>>2]|0,n3=Y5+1|0,m3=(Y5|0)>15,Q=m3?0:n3,e[X5>>2]=Q,J5=(n+4|0)+(A3<<2)|0,k3=+s[J5>>2],u3=k3+Q3,p3=q5>u3,z3=O3|5,S3=p3?z3:O3,G3=(n+32|0)+(A3<<2)|0,K5=+s[G3>>2],w3=K5-Q3,Z5=Q5>2]|0,C2=n+1288|0,X3=e[C2>>2]|0,M3=n+1284|0,E6=e[M3>>2]|0,E9=(E6|0)>0,E9){for(u8=0;W4=p4+(u8<<2)|0,e[W4>>2]=-200,Be=u8+1|0,pe=(Be|0)==(E6|0),!pe;)u8=Be;if(E9){for(J3=0;f4=c4+(J3<<2)|0,e[f4>>2]=-200,W=J3+1|0,l4=(W|0)==(E6|0),!l4;)J3=W;if(E9){for(r0=E6<<2,Ae(M8|0,0,r0|0)|0,w9=0;k0=De+(w9<<2)|0,e[k0>>2]=1,N0=w9+1|0,Ue=(N0|0)==(E6|0),!Ue;)w9=N0;if(E9){if(l1=E6<<2,Ae(Z8|0,-1,l1|0)|0,B1=(E6|0)>1,!B1)return te=0,C=e4,te|0;for(U1=X3+-1|0,W1=J+1112|0,i2=E6+-1|0,M=e[n>>2]|0,C4=M,B9=0,Qe=0;;){b4=B9+1|0,D4=n+(b4<<2)|0,x4=e[D4>>2]|0,M4=P6+(B9*56|0)|0,Me=M4,Dt=Me+56|0;do e[Me>>2]=0,Me=Me+4|0;while((Me|0)<(Dt|0));if(e[M4>>2]=C4,T4=(P6+(B9*56|0)|0)+4|0,e[T4>>2]=x4,U9=(x4|0)<(X3|0),tt=U9?x4:U1,N4=(tt|0)<(C4|0),N4)k8=0,X8=0,b8=0,D8=0,m8=0,Fe=0,it=0,H9=0,V8=0,x8=0,qt=0,Ht=0;else for(k4=C4,f8=0,Pe=0,O4=0,j9=0,ye=0,A8=0,I3=0,D9=0,$8=0,p9=0,at=0,R8=0;;){a4=a+(k4<<2)|0,O=+s[a4>>2],R4=O*7.314285755157471,u4=R4+1023.5,Ce=~~u4,q9=(Ce|0)>1023,m9=(Ce|0)<0,E=m9?0:Ce,v=q9?1023:E,Ne=(v|0)==0;do if(Ne)q8=f8,i8=Pe,n8=O4,E8=j9,qe=ye,Q4=A8,B8=I3,Y8=D9,H4=$8,Ve=p9,ne=at,K8=R8;else if(Xe=A+(k4<<2)|0,G4=+s[Xe>>2],Ge=+s[W1>>2],U4=Ge+G4,j4=!(U4>=O),j4){$e=k4+A8|0,W9=v+R8|0,le=r5(k4,k4)|0,ce=le+j9|0,B4=r5(v,v)|0,e0=B4+p9|0,q=r5(v,k4)|0,X=q+D9|0,U=Pe+1|0,q8=f8,i8=U,n8=O4,E8=ce,qe=ye,Q4=$e,B8=I3,Y8=X,H4=$8,Ve=e0,ne=at,K8=W9;break}else{be=k4+ye|0,e8=v+at|0,Z9=r5(k4,k4)|0,ae=Z9+O4|0,_6=r5(v,v)|0,P4=_6+$8|0,L9=r5(v,k4)|0,$4=L9+I3|0,_4=f8+1|0,q8=_4,i8=Pe,n8=ae,E8=j9,qe=be,Q4=A8,B8=$4,Y8=D9,H4=P4,Ve=p9,ne=e8,K8=R8;break}while(!1);if($0=k4+1|0,Z=(k4|0)<(tt|0),Z)k4=$0,f8=q8,Pe=i8,O4=n8,j9=E8,ye=qe,A8=Q4,I3=B8,D9=Y8,$8=H4,p9=Ve,at=ne,R8=K8;else{k8=q8,X8=i8,b8=n8,D8=E8,m8=qe,Fe=Q4,it=B8,H9=Y8,V8=H4,x8=Ve,qt=ne,Ht=K8;break}}if(K=(P6+(B9*56|0)|0)+8|0,e[K>>2]=m8,a0=(P6+(B9*56|0)|0)+12|0,e[a0>>2]=qt,n0=(P6+(B9*56|0)|0)+16|0,e[n0>>2]=b8,i0=(P6+(B9*56|0)|0)+20|0,e[i0>>2]=V8,V=(P6+(B9*56|0)|0)+24|0,e[V>>2]=it,h0=(P6+(B9*56|0)|0)+28|0,e[h0>>2]=k8,s0=(P6+(B9*56|0)|0)+32|0,e[s0>>2]=Fe,g0=(P6+(B9*56|0)|0)+36|0,e[g0>>2]=Ht,j=(P6+(B9*56|0)|0)+40|0,e[j>>2]=D8,c0=(P6+(B9*56|0)|0)+44|0,e[c0>>2]=x8,u0=(P6+(B9*56|0)|0)+48|0,e[u0>>2]=H9,d0=(P6+(B9*56|0)|0)+52|0,e[d0>>2]=X8,w0=k8+Qe|0,g6=(b4|0)==(i2|0),g6){ut=w0;break}else C4=x4,B9=b4,Qe=w0}}else de=9}else de=9}else de=9}else de=9;if((de|0)==9){if(G0=(E6|0)==0,!G0)return te=0,C=e4,te|0;F2=P6+4|0,Me=P6,Dt=Me+56|0;do e[Me>>2]=0,Me=Me+4|0;while((Me|0)<(Dt|0));if(e[F2>>2]=X3,O2=(X3|0)<1,O2)P8=0,j8=0,H8=0,I8=0,o8=0,X9=0,C8=0,ie=0,st=0,ot=0,Mt=0,Tt=0;else for(k2=J+1112|0,g4=0,v8=0,d8=0,r8=0,he=0,ue=0,fe=0,q4=0,re=0,a8=0,Je=0,vt=0,l8=0;;){_5=a+(g4<<2)|0,G=+s[_5>>2],g2=G*7.314285755157471,R2=g2+1023.5,F5=~~R2,R3=(F5|0)>1023,M5=(F5|0)<0,u=M5?0:F5,B=R3?1023:u,O3=(B|0)==0;do if(O3)O8=v8,Re=d8,Le=r8,s8=he,Oe=ue,we=fe,He=q4,Ye=re,_8=a8,At=Je,St=vt,bt=l8;else if(c6=A+(g4<<2)|0,Y3=+s[c6>>2],n6=+s[k2>>2],s9=n6+Y3,L6=!(s9>=G),L6){u9=g4+fe|0,f9=B+l8|0,d9=r5(g4,g4)|0,a9=d9+he|0,$9=r5(B,B)|0,T9=$9+Je|0,T6=r5(B,g4)|0,i9=T6+re|0,N9=d8+1|0,O8=v8,Re=N9,Le=r8,s8=a9,Oe=ue,we=u9,He=q4,Ye=i9,_8=a8,At=T9,St=vt,bt=f9;break}else{U6=g4+ue|0,D6=B+vt|0,z6=r5(g4,g4)|0,y6=z6+r8|0,F6=r5(B,B)|0,M6=F6+a8|0,t9=r5(B,g4)|0,A9=t9+q4|0,X6=v8+1|0,O8=X6,Re=d8,Le=y6,s8=he,Oe=U6,we=fe,He=A9,Ye=re,_8=M6,At=Je,St=D6,bt=l8;break}while(!1);if(I9=g4+1|0,C9=(I9|0)==(X3|0),C9){P8=O8,j8=Re,H8=Le,I8=s8,o8=Oe,X9=we,C8=He,ie=Ye,st=_8,ot=At,Mt=St,Tt=bt;break}else g4=I9,v8=O8,d8=Re,r8=Le,he=s8,ue=Oe,fe=we,q4=He,re=Ye,a8=_8,Je=At,vt=St,l8=bt}E4=P6+8|0,e[E4>>2]=o8,o4=P6+12|0,e[o4>>2]=Mt,h4=P6+16|0,e[h4>>2]=H8,G9=P6+20|0,e[G9>>2]=st,z9=P6+24|0,e[z9>>2]=C8,b9=P6+28|0,e[b9>>2]=P8,q6=P6+32|0,e[q6>>2]=X9,r9=P6+36|0,e[r9>>2]=Tt,m4=P6+40|0,e[m4>>2]=I8,S4=P6+44|0,e[S4>>2]=ot,A4=P6+48|0,e[A4>>2]=ie,y9=P6+52|0,e[y9>>2]=j8,ut=P8}if(C0=(ut|0)==0,C0)return te=0,C=e4,te|0;e[nt>>2]=-200,e[J8>>2]=-200,f0=E6+-1|0,$B(P6,f0,nt,J8,J)|0,B0=e[nt>>2]|0,e[p4>>2]=B0,e[c4>>2]=B0,p0=e[J8>>2]|0,I0=c4+4|0,e[I0>>2]=p0,S0=p4+4|0,e[S0>>2]=p0,K0=(E6|0)>2;do if(K0){_0=J+1112|0,Q0=J+1096|0,F0=J+1100|0,M0=J+1104|0,F4=2;e:for(;;){U0=(n+520|0)+(F4<<2)|0,y0=e[U0>>2]|0,Y0=M8+(y0<<2)|0,L0=e[Y0>>2]|0,D0=De+(y0<<2)|0,T0=e[D0>>2]|0,V0=Z8+(L0<<2)|0,J0=e[V0>>2]|0,P0=(J0|0)==(T0|0);t:do if(!P0){if(z0=(n+520|0)+(L0<<2)|0,O0=e[z0>>2]|0,r1=(n+520|0)+(T0<<2)|0,H0=e[r1>>2]|0,e[V0>>2]=T0,e1=(J+836|0)+(L0<<2)|0,b0=e[e1>>2]|0,i1=(J+836|0)+(T0<<2)|0,c1=e[i1>>2]|0,$1=p4+(L0<<2)|0,f1=e[$1>>2]|0,g1=(f1|0)<0,s1=c4+(L0<<2)|0,a1=e[s1>>2]|0,g1?y=a1:(n1=(a1|0)<0,n1?y=f1:(o1=a1+f1|0,Z0=o1>>1,y=Z0)),I1=p4+(T0<<2)|0,h1=e[I1>>2]|0,m1=(h1|0)<0,d1=c4+(T0<<2)|0,E1=e[d1>>2]|0,m1?Q=E1:(p1=(E1|0)<0,p1?Q=h1:(Q1=E1+h1|0,_1=Q1>>1,Q=_1)),x1=(y|0)==-1,w1=(Q|0)==-1,wt=x1|w1,wt){de=38;break e}S1=Q-y|0,R1=c1-b0|0,xe=(S1|0)>-1,k9=0-S1|0,F1=xe?S1:k9,G1=(S1|0)/(R1|0)&-1,k1=S1>>31,Z1=k1|1,N1=a+(b0<<2)|0,Y=+s[N1>>2],b1=Y*7.314285755157471,V1=b1+1023.5,O1=~~V1,q1=(O1|0)>1023,H1=(O1|0)<0,I=H1?0:O1,S=q1?1023:I,Y1=r5(G1,R1)|0,lt=(Y1|0)>-1,ht=0-Y1|0,j1=lt?Y1:ht,n2=F1-j1|0,P1=y-S|0,c2=r5(P1,P1)|0,z1=A+(b0<<2)|0,u2=+s[z1>>2],o2=+s[_0>>2],E2=o2+u2,A2=!(E2>=Y),A2?de=42:(K1=+(y|0),h2=+s[Q0>>2],$2=h2+K1,l2=+(S|0),r2=$2>2],X1=K1-a2,s2=X1>l2,s2||(de=42)));i:do if((de|0)==42){if(de=0,f2=b0+1|0,e2=(f2|0)<(c1|0),e2)for(d2=f2,X4=0,yt=c2,U8=1,ft=y;;){if(y2=X4+n2|0,v2=(y2|0)<(R1|0),w2=v2?0:Z1,D2=v2?0:R1,L4=y2-D2|0,L=ft+G1|0,rt=L+w2|0,N2=a+(d2<<2)|0,z=+s[N2>>2],K2=z*7.314285755157471,G2=K2+1023.5,H2=~~G2,M2=(H2|0)>1023,P2=(H2|0)<0,m=P2?0:H2,b=M2?1023:m,z2=rt-b|0,o5=r5(z2,z2)|0,T1=o5+yt|0,X2=U8+1|0,R5=A+(d2<<2)|0,e5=+s[R5>>2],b5=e5+o2,Z2=b5>=z,f5=(b|0)!=0,et=Z2&f5,et&&(v5=+(rt|0),P5=+s[Q0>>2],l5=P5+v5,m5=+(b|0),n5=l5>2],_2=v5-x2,B2=_2>m5,B2)))break i;if(C5=d2+1|0,L5=(C5|0)<(c1|0),L5)d2=C5,X4=L4,yt=T1,U8=X2,ft=rt;else{W8=T1,G8=X2;break}}else W8=c2,G8=1;if(d5=+s[Q0>>2],D5=d5*d5,G5=+(G8|0),q2=D5/G5,I5=+s[M0>>2],A5=q2>I5,!A5&&(c5=+s[F0>>2],B5=c5*c5,M1=B5/G5,S5=M1>I5,!S5&&(g5=(W8|0)/(G8|0)&-1,a5=+(g5|0),W2=a5>I5,W2)))break;l3=p4+(F4<<2)|0,e[l3>>2]=-200,c3=c4+(F4<<2)|0,e[c3>>2]=-200;break t}while(!1);if(e[T8>>2]=-200,e[N8>>2]=-200,e[_e>>2]=-200,e[t8>>2]=-200,p5=P6+(O0*56|0)|0,t5=y0-O0|0,s5=$B(p5,t5,T8,N8,J)|0,h5=P6+(y0*56|0)|0,J2=H0-y0|0,u5=$B(h5,J2,_e,t8,J)|0,i5=(s5|0)!=0,i5&&(e[T8>>2]=y,x5=e[_e>>2]|0,e[N8>>2]=x5),j2=(u5|0)==0,!j2&&($5=e[N8>>2]|0,e[_e>>2]=$5,e[t8>>2]=Q,i5)){Q5=p4+(F4<<2)|0,e[Q5>>2]=-200,q5=c4+(F4<<2)|0,e[q5>>2]=-200;break}if(j5=e[T8>>2]|0,e[s1>>2]=j5,E5=(L0|0)==0,E5&&(e[p4>>2]=j5),f3=e[N8>>2]|0,h3=p4+(F4<<2)|0,e[h3>>2]=f3,Y5=e[_e>>2]|0,X5=c4+(F4<<2)|0,e[X5>>2]=Y5,n3=e[t8>>2]|0,e[I1>>2]=n3,m3=(T0|0)==1,m3&&(e[I0>>2]=n3),J5=Y5&f3,k3=(J5|0)>-1,k3){u3=(y0|0)>0;i:do if(u3)for(z8=y0;;){if(Qt=z8+-1|0,z3=De+(Qt<<2)|0,G3=e[z3>>2]|0,K5=(G3|0)==(T0|0),!K5)break i;if(e[z3>>2]=F4,w3=(z8|0)>1,w3)z8=Qt;else break}while(!1);if(gt=y0+1|0,p3=(gt|0)<(E6|0),p3)for(F8=gt;;){if(Z5=M8+(F8<<2)|0,i6=e[Z5>>2]|0,U3=(i6|0)==(L0|0),!U3)break t;if(e[Z5>>2]=F4,ct=F8+1|0,a3=(ct|0)<(E6|0),a3)F8=ct;else break}}}while(!1);if(C3=F4+1|0,H5=(C3|0)<(E6|0),H5)F4=C3;else{de=68;break}}if((de|0)==38)_v(1);else if((de|0)==68){T=e[p4>>2]|0,N=e[c4>>2]|0,k5=T,o6=N;break}}else k5=B0,o6=B0;while(!1);if(U5=E6<<2,O5=Ot(t,U5)|0,P3=(k5|0)<0,P3?w=o6:(e3=(o6|0)<0,e3?w=k5:(A3=o6+k5|0,L3=A3>>1,w=L3)),e[O5>>2]=w,u6=e[S0>>2]|0,Q3=(u6|0)<0,v3=e[I0>>2]|0,Q3?R=v3:(y3=(v3|0)<0,y3?R=u6:(r6=v3+u6|0,j3=r6>>1,R=j3)),V5=O5+4|0,e[V5>>2]=R,K0)ee=2;else return te=O5,C=e4,te|0;for(;;)if(S3=ee+-2|0,g3=(n+1032|0)+(S3<<2)|0,q3=e[g3>>2]|0,l6=(n+780|0)+(S3<<2)|0,d3=e[l6>>2]|0,k6=(J+836|0)+(q3<<2)|0,v6=e[k6>>2]|0,S6=(J+836|0)+(d3<<2)|0,B6=e[S6>>2]|0,p6=O5+(q3<<2)|0,x6=e[p6>>2]|0,Y6=O5+(d3<<2)|0,C6=e[Y6>>2]|0,b3=(J+836|0)+(ee<<2)|0,e6=e[b3>>2]|0,t6=x6&32767,f6=C6&32767,H3=f6-t6|0,D3=B6-v6|0,$t=(H3|0)>-1,S8=0-H3|0,Z3=$t?H3:S8,b6=e6-v6|0,A6=r5(Z3,b6)|0,t3=(A6|0)/(D3|0)&-1,O6=(H3|0)<0,s3=0-t3|0,x=O6?s3:t3,_=x+t6|0,a6=p4+(ee<<2)|0,d6=e[a6>>2]|0,_3=(d6|0)<0,N6=c4+(ee<<2)|0,Q6=e[N6>>2]|0,_3?p=Q6:(R6=(Q6|0)<0,R6?p=d6:(K6=Q6+d6|0,I6=K6>>1,p=I6)),J6=(p|0)<0,F3=(_|0)==(p|0),kt=J6|F3,j6=_|32768,c=kt?j6:p,G6=O5+(ee<<2)|0,e[G6>>2]=c,e9=ee+1|0,ge=(e9|0)==(E6|0),ge){te=O5;break}else ee=e9;return C=e4,te|0}function L8(t,n,A,a,c){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0;var u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0;if(a0=C,u=n+1284|0,E=e[u>>2]|0,_=(A|0)!=0,z=(a|0)!=0,$0=_&z,!$0)return Z=0,Z|0;if(Y=E<<2,t0=Ot(t,Y)|0,J=(E|0)>0,!J)return Z=t0,Z|0;for(W=65536-c|0,U=0;;)if(e0=A+(U<<2)|0,q=e[e0>>2]|0,I=q&32767,m=r5(I,W)|0,p=a+(U<<2)|0,B=e[p>>2]|0,v=B&32767,S=r5(v,c)|0,w=m+32768|0,y=w+S|0,b=y>>16,Q=t0+(U<<2)|0,e[Q>>2]=b,R=e[e0>>2]|0,x=R&32768,L=(x|0)==0,L||(M=e[p>>2]|0,T=M&32768,N=(T|0)==0,N||(G=b|32768,e[Q>>2]=G)),O=U+1|0,X=(O|0)==(E|0),X){Z=t0;break}else U=O;return Z|0}function lS(t,n,A,a,c){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0;var u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,R5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,R2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,k3=0,u3=0,p3=0,z3=0,G3=0,K5=0,w3=0,Z5=0,i6=0,R3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,L3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,X3=0,c6=0,p6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,R6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,L6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0;if(M6=C,C=C+336|0,L6=M6+64|0,g3=M6+32|0,F3=M6,b=A+1296|0,Q=e[b>>2]|0,h2=A+1284|0,x2=e[h2>>2]|0,A5=n+64|0,s5=e[A5>>2]|0,j5=s5+4|0,u3=e[j5>>2]|0,l3=u3+28|0,A3=e[l3>>2]|0,_=A3+2848|0,t0=e[_>>2]|0,n0=(a|0)==0,n0)return U2(t,0,1),R5=n+36|0,e5=e[R5>>2]|0,b5=(e5|0)/2&-1,Z2=b5<<2,Ae(c|0,0,Z2|0)|0,E=0,C=M6,E|0;if(w0=(x2|0)>0,w0)for(F0=Q+832|0,f6=0;P0=a+(f6<<2)|0,f1=e[P0>>2]|0,d1=f1&32767,G1=e[F0>>2]|0,(G1|0)==4?(z2=d1>>>4,U6=z2):(G1|0)==1?(j1=d1>>>2,U6=j1):(G1|0)==2?($2=d1>>>3,U6=$2):(G1|0)==3?(w2=(d1>>>0)/12&-1,U6=w2):U6=d1,f5=f1&32768,v5=f5|U6,e[P0>>2]=v5,P5=f6+1|0,C6=(P5|0)==(x2|0),!C6;)f6=P5;if(l5=e[a>>2]|0,e[L6>>2]=l5,k2=a+4|0,m5=e[k2>>2]|0,n5=L6+4|0,e[n5>>2]=m5,_2=(x2|0)>2,B2=A+1292|0,_2){for(H3=2;;){if(C5=H3+-2|0,L5=(A+1032|0)+(C5<<2)|0,d5=e[L5>>2]|0,D5=(A+780|0)+(C5<<2)|0,G5=e[D5>>2]|0,_5=(Q+836|0)+(d5<<2)|0,q2=e[_5>>2]|0,I5=(Q+836|0)+(G5<<2)|0,c5=e[I5>>2]|0,B5=a+(d5<<2)|0,M1=e[B5>>2]|0,S5=a+(G5<<2)|0,g5=e[S5>>2]|0,a5=(Q+836|0)+(H3<<2)|0,W2=e[a5>>2]|0,g2=M1&32767,p5=g5&32767,t5=p5-g2|0,h5=c5-q2|0,Y3=(t5|0)>-1,j6=0-t5|0,J2=Y3?t5:j6,u5=W2-q2|0,i5=r5(J2,u5)|0,x5=(i5|0)/(h5|0)&-1,j2=(t5|0)<0,$5=0-x5|0,m=j2?$5:x5,I=m+g2|0,R2=a+(H3<<2)|0,Q5=e[R2>>2]|0,q5=Q5&32768,E5=(q5|0)!=0,f3=(Q5|0)==(I|0),s9=E5|f3,s9)h3=I|32768,e[R2>>2]=h3,Y5=L6+(H3<<2)|0,e[Y5>>2]=0;else{X5=e[B2>>2]|0,n3=X5-I|0,m3=(n3|0)<(I|0),u=m3?n3:I,F5=Q5-I|0,J5=(F5|0)<0;do if(J5)if(k3=0-u|0,p3=(F5|0)<(k3|0),p3){z3=F5^-1,G3=u+z3|0,D6=G3;break}else{K5=F5<<1,w3=K5^-1,D6=w3;break}else if(Z5=(u|0)>(F5|0),Z5){R3=F5<<1,D6=R3;break}else{i6=u+F5|0,D6=i6;break}while(!1);U3=L6+(H3<<2)|0,e[U3>>2]=D6,e[B5>>2]=g2,a3=e[S5>>2]|0,c3=a3&32767,e[S5>>2]=c3}if(C3=H3+1|0,Y6=(C3|0)==(x2|0),Y6)break;H3=C3}v=e[L6>>2]|0,S=e[n5>>2]|0,r6=v,S3=S}else r6=l5,S3=m5;if(U2(t,1,1),H5=A+1308|0,U5=e[H5>>2]|0,O5=U5+1|0,e[H5>>2]=O5,k5=e[B2>>2]|0,P3=k5+-1|0,M5=Ft(P3)|0,o6=M5<<1,e3=A+1304|0,L3=e[e3>>2]|0,u6=L3+o6|0,e[e3>>2]=u6,Q3=e[B2>>2]|0,v3=Q3+-1|0,y3=Ft(v3)|0,U2(t,r6,y3),j3=e[B2>>2]|0,O3=j3+-1|0,V5=Ft(O3)|0,U2(t,S3,V5),R=e[Q>>2]|0,x=(R|0)>0,x)for(L=A+1300|0,D3=0,A6=2;;){if(M=(Q+4|0)+(D3<<2)|0,T=e[M>>2]|0,N=(Q+128|0)+(T<<2)|0,G=e[N>>2]|0,O=(Q+192|0)+(T<<2)|0,z=e[O>>2]|0,Y=1<>2]=0,e[g3+4>>2]=0,e[g3+8>>2]=0,e[g3+12>>2]=0,e[g3+16>>2]=0,e[g3+20>>2]=0,e[g3+24>>2]=0,e[g3+28>>2]=0,J=(z|0)==0,!J){if(e[F3>>2]=0,e[F3+4>>2]=0,e[F3+8>>2]=0,e[F3+12>>2]=0,e[F3+16>>2]=0,e[F3+20>>2]=0,e[F3+24>>2]=0,e[F3+28>>2]=0,W=(z|0)==31,!W)for(s3=0;c0=((Q+320|0)+(T<<5)|0)+(s3<<2)|0,u0=e[c0>>2]|0,d0=(u0|0)<0,d0?y=1:(C0=(A3+1824|0)+(u0<<2)|0,k0=e[C0>>2]|0,f0=k0+4|0,B0=e[f0>>2]|0,y=B0),p0=F3+(s3<<2)|0,e[p0>>2]=y,I0=s3+1|0,S0=(I0|0)<(Y|0),S0;)s3=I0;e0=(G|0)>0;e:do if(e0){if(W)for(q3=0,k6=0,a6=0;;)if(K0=g3+(a6<<2)|0,_0=e[K0>>2]|0,Q0=_0<>2]|0,N6=0;;){if(q=F3+(N6<<2)|0,X=e[q>>2]|0,$0=(U|0)<(X|0),$0){n6=N6,M3=31;break}if(Z=N6+1|0,K=(Z|0)<(Y|0),K)N6=Z;else{M3=33;break}}if((M3|0)==31?(M3=0,a0=g3+(d6<<2)|0,e[a0>>2]=n6,r0=n6):(M3|0)==33&&(M3=0,p=g3+(d6<<2)|0,w=e[p>>2]|0,r0=w),i0=r0<>2]|0,L0=t0+(Y0*56|0)|0,D0=xh(L0,d3,t)|0,T0=e[L>>2]|0,V0=T0+D0|0,e[L>>2]=V0}if(J0=(G|0)>0,J0)for(_3=0;z0=g3+(_3<<2)|0,G0=e[z0>>2]|0,O0=((Q+320|0)+(T<<5)|0)+(G0<<2)|0,r1=e[O0>>2]|0,H0=(r1|0)>-1,H0&&(e1=_3+A6|0,b0=L6+(e1<<2)|0,i1=e[b0>>2]|0,c1=(t0+(r1*56|0)|0)+4|0,$1=e[c1>>2]|0,g1=(i1|0)<($1|0),g1&&(l1=t0+(r1*56|0)|0,s1=xh(l1,i1,t)|0,a1=e[e3>>2]|0,n1=a1+s1|0,e[e3>>2]=n1)),o1=_3+1|0,p6=(o1|0)==(G|0),!p6;)_3=o1;if(Z0=G+A6|0,I1=D3+1|0,h1=e[Q>>2]|0,m1=(I1|0)<(h1|0),m1)D3=I1,A6=Z0;else break}if(E1=e[a>>2]|0,B1=Q+832|0,p1=e[B1>>2]|0,Q1=r5(p1,E1)|0,_1=n+28|0,x1=e[_1>>2]|0,w1=A3+(x1<<2)|0,S1=e[w1>>2]|0,R1=(S1|0)/2&-1,F1=e[h2>>2]|0,k1=(F1|0)>1,k1)for(e6=0,t3=1,Q6=0,I6=Q1;;){if(V1=(A+260|0)+(t3<<2)|0,O1=e[V1>>2]|0,q1=a+(O1<<2)|0,H1=e[q1>>2]|0,Y1=H1&32767,n2=(Y1|0)==(H1|0),n2)if(W1=e[B1>>2]|0,P1=r5(W1,H1)|0,c2=(Q+836|0)+(O1<<2)|0,z1=e[c2>>2]|0,u2=P1-I6|0,o2=z1-Q6|0,Z3=(u2|0)>-1,G6=0-u2|0,E2=Z3?u2:G6,A2=(u2|0)/(o2|0)&-1,K1=u2>>31,i2=K1|1,l2=r5(A2,o2)|0,b6=(l2|0)>-1,e9=0-l2|0,r2=b6?l2:e9,a2=E2-r2|0,X1=(R1|0)>(z1|0),z6=X1?z1:R1,s2=(z6|0)>(Q6|0),s2&&(f2=c+(Q6<<2)|0,e[f2>>2]=I6),e2=Q6+1|0,y2=(e2|0)<(z6|0),y2)for(d2=e2,S6=0,y6=I6;;)if(v2=S6+a2|0,C2=(v2|0)<(o2|0),F2=C2?0:i2,D2=C2?0:o2,B6=v2-D2|0,B=y6+A2|0,F6=B+F2|0,N2=c+(d2<<2)|0,e[N2>>2]=F6,K2=d2+1|0,c6=(K2|0)==(z6|0),c6){t6=z1,R6=z1,J6=P1;break}else d2=K2,S6=B6,y6=F6;else t6=z1,R6=z1,J6=P1;else t6=e6,R6=Q6,J6=I6;if(G2=t3+1|0,H2=e[h2>>2]|0,M2=(G2|0)<(H2|0),M2)e6=t6,t3=G2,Q6=R6,I6=J6;else{b3=t6,K6=J6;break}}else b3=0,K6=Q1;if(U1=n+36|0,Z1=e[U1>>2]|0,N1=(Z1|0)/2&-1,b1=(b3|0)<(N1|0),b1)O6=b3;else return E=1,C=M6,E|0;for(;;)if(P2=c+(O6<<2)|0,e[P2>>2]=K6,o5=O6+1|0,O2=e[U1>>2]|0,T1=(O2|0)/2&-1,X2=(o5|0)<(T1|0),X2)O6=o5;else{E=1;break}return C=M6,E|0}function $B(t,n,A,a,c){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0;var u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0;if(o5=C,p=e[t>>2]|0,B=n+-1|0,i0=(t+(B*56|0)|0)+4|0,C0=e[i0>>2]|0,M0=(n|0)>0,M0)for(z0=c+1108|0,g1=+s[z0>>2],i2=0,X1=0,f2=0,w2=0,N2=0,H2=0;;)if(E1=(t+(X1*56|0)|0)+52|0,k1=e[E1>>2]|0,n2=(t+(X1*56|0)|0)+28|0,v=e[n2>>2]|0,T=v+k1|0,q=+(T|0),X=q*g1,U=v+1|0,$0=+(U|0),Z=X/$0,K=Z,a0=K+1,n0=(t+(X1*56|0)|0)+32|0,r0=e[n0>>2]|0,V=+(r0|0),h0=(t+(X1*56|0)|0)+8|0,s0=e[h0>>2]|0,g0=+(s0|0),j=g0*a0,c0=V+w2,u0=c0+j,d0=(t+(X1*56|0)|0)+36|0,w0=e[d0>>2]|0,k0=+(w0|0),f0=(t+(X1*56|0)|0)+12|0,B0=e[f0>>2]|0,p0=+(B0|0),I0=p0*a0,S0=k0+H2,K0=S0+I0,_0=(t+(X1*56|0)|0)+40|0,Q0=e[_0>>2]|0,F0=+(Q0|0),N0=(t+(X1*56|0)|0)+16|0,U0=e[N0>>2]|0,y0=+(U0|0),Y0=y0*a0,L0=F0+f2,D0=L0+Y0,T0=(t+(X1*56|0)|0)+48|0,V0=e[T0>>2]|0,J0=+(V0|0),P0=(t+(X1*56|0)|0)+24|0,G0=e[P0>>2]|0,O0=+(G0|0),r1=O0*a0,H0=J0+N2,e1=H0+r1,b0=+(k1|0),i1=+(v|0),c1=a0*i1,$1=b0+i2,f1=$1+c1,l1=X1+1|0,a2=(l1|0)==(n|0),a2){$2=f1,s2=D0,v2=u0,D2=e1,G2=K0;break}else i2=f1,X1=l1,f2=D0,w2=u0,N2=e1,H2=K0;else $2=0,s2=0,v2=0,D2=0,G2=0;return s1=e[A>>2]|0,a1=(s1|0)>-1,a1?(n1=+(p|0),o1=v2+n1,Z0=+(s1|0),I1=Z0+G2,h1=r5(p,p)|0,m1=+(h1|0),d1=s2+m1,B1=r5(s1,p)|0,p1=+(B1|0),Q1=p1+D2,_1=$2+1,l2=_1,e2=d1,C2=o1,d2=Q1,M2=I1):(l2=$2,e2=s2,C2=v2,d2=D2,M2=G2),x1=e[a>>2]|0,w1=(x1|0)>-1,w1?(S1=+(C0|0),R1=C2+S1,F1=+(x1|0),G1=F1+M2,U1=r5(C0,C0)|0,Z1=+(U1|0),N1=e2+Z1,b1=r5(x1,C0)|0,V1=+(b1|0),O1=V1+d2,q1=l2+1,r2=q1,y2=N1,F2=R1,K2=O1,P2=G1):(r2=l2,y2=e2,F2=C2,K2=d2,P2=M2),H1=y2*r2,Y1=F2*F2,j1=H1-Y1,W1=j1>0,W1?(P1=P2*y2,c2=F2*K2,z1=P1-c2,u2=z1/j1,o2=K2*r2,E2=F2*P2,A2=o2-E2,K1=A2/j1,h2=+(p|0),S=K1*h2,w=S+u2,y=+Pi(w),b=~~y,e[A>>2]=b,Q=+(C0|0),_=K1*Q,R=_+u2,x=+Pi(R),L=~~x,e[a>>2]=L,M=e[A>>2]|0,N=(M|0)>1023,N?(e[A>>2]=1023,E=e[a>>2]|0,G=E,W=1023):(G=L,W=M),O=(G|0)>1023,O?(e[a>>2]=1023,I=e[A>>2]|0,z=I,e0=1023):(z=W,e0=G),Y=(z|0)<0,Y?(e[A>>2]=0,m=e[a>>2]|0,t0=m):t0=e0,J=(t0|0)<0,J?(e[a>>2]=0,u=0,u|0):(u=0,u|0)):(e[A>>2]=0,e[a>>2]=0,u=1,u|0)}function cS(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0;if(b0=C,E=t+836|0,I=t+840|0,R=e[I>>2]|0,J=e[t>>2]|0,U2(n,J,5),i0=e[t>>2]|0,C0=(i0|0)>0,C0){for(M0=t+4|0,V0=0,H0=-1;;)if(B=M0+(V0<<2)|0,v=e[B>>2]|0,U2(n,v,4),S=e[B>>2]|0,w=(H0|0)<(S|0),A=w?S:H0,y=V0+1|0,b=e[t>>2]|0,Q=(y|0)<(b|0),Q)V0=y,H0=A;else{a=A;break}if(U0=(a|0)>-1,U0)for(y0=t+128|0,Y0=t+192|0,m=t+256|0,p=t+320|0,J0=0;;){if(_=y0+(J0<<2)|0,x=e[_>>2]|0,L=x+-1|0,U2(n,L,3),M=Y0+(J0<<2)|0,T=e[M>>2]|0,U2(n,T,2),N=e[M>>2]|0,G=(N|0)==0,G?(z0=0,e1=8):(O=m+(J0<<2)|0,z=e[O>>2]|0,U2(n,z,8),c=e[M>>2]|0,Y=(c|0)==31,Y||(z0=0,e1=8)),(e1|0)==8)for(;e1=0,t0=(p+(J0<<5)|0)+(z0<<2)|0,W=e[t0>>2]|0,e0=W+1|0,U2(n,e0,8),q=z0+1|0,X=e[M>>2]|0,U=1<>2]|0,n0=a0+-1|0,U2(n,n0,2),r0=R+-1|0,V=Ft(r0)|0,U2(n,V,4),h0=Ft(r0)|0,s0=e[t>>2]|0,g0=(s0|0)>0,!!g0)for(j=t+4|0,c0=t+128|0,N0=s0,L0=0,P0=0,G0=0;;){if(u0=j+(P0<<2)|0,d0=e[u0>>2]|0,w0=c0+(d0<<2)|0,k0=e[w0>>2]|0,f0=k0+L0|0,B0=(G0|0)<(f0|0),B0){for(r1=G0;p0=r1+2|0,I0=E+(p0<<2)|0,S0=e[I0>>2]|0,U2(n,S0,h0),K0=r1+1|0,D0=(K0|0)==(f0|0),!D0;)r1=K0;u=e[t>>2]|0,F0=u,O0=f0}else F0=N0,O0=G0;if(_0=P0+1|0,Q0=(_0|0)<(F0|0),Q0)N0=F0,L0=f0,P0=_0,G0=O0;else break}}function gS(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0;z1=C,C=C+272|0,P1=z1,b=t+28|0,Q=e[b>>2]|0,Y=n4(1,1120)|0,a0=Z4(n,5)|0,e[Y>>2]=a0,d0=(a0|0)>0;e:do if(d0){for(Q0=Y+4|0,Z1=0,n2=-1;;){if(x=Z4(n,4)|0,L=Q0+(Z1<<2)|0,e[L>>2]=x,M=(x|0)<0,M)break e;if(T=(n2|0)<(x|0),c=T?x:n2,N=Z1+1|0,G=e[Y>>2]|0,O=(N|0)<(G|0),O)Z1=N,n2=c;else{u=c;break}}if(J0=(u|0)>-1,J0)for($1=Y+128|0,m1=Y+192|0,F1=Y+256|0,_=Q+24|0,R=Y+320|0,N1=0;;){if(z=Z4(n,3)|0,t0=z+1|0,J=$1+(N1<<2)|0,e[J>>2]=t0,W=Z4(n,2)|0,e0=m1+(N1<<2)|0,e[e0>>2]=W,q=(W|0)<0,q||(X=(W|0)==0,X?(E=F1+(N1<<2)|0,I=e[E>>2]|0,Z=I):(U=Z4(n,8)|0,$0=F1+(N1<<2)|0,e[$0>>2]=U,Z=U),K=(Z|0)<0,K)||(n0=e[_>>2]|0,i0=(Z|0)<(n0|0),!i0))break e;if(r0=e[e0>>2]|0,V=(r0|0)==31,!V)for(q1=0;;){if(c0=Z4(n,8)|0,u0=c0+-1|0,w0=(R+(N1<<5)|0)+(q1<<2)|0,e[w0>>2]=u0,C0=(c0|0)<0,C0||(k0=e[_>>2]|0,f0=(c0|0)>(k0|0),g0=q1+1|0,f0))break e;if(h0=e[e0>>2]|0,s0=1<>2]=S0,_0=Z4(n,4)|0,F0=(_0|0)<0,!F0)){if(M0=e[Y>>2]|0,N0=(M0|0)>0,N0)for(U0=Y+4|0,y0=Y+128|0,Y0=Y+836|0,L0=1<<_0,G1=M0,U1=0,b1=0,H1=0;;){if(D0=U0+(b1<<2)|0,T0=e[D0>>2]|0,V0=y0+(T0<<2)|0,P0=e[V0>>2]|0,z0=P0+U1|0,G0=(z0|0)>63,G0)break e;if(O0=(H1|0)<(z0|0),O0){for(j1=H1;;){if(r1=Z4(n,_0)|0,H0=j1+2|0,e1=Y0+(H0<<2)|0,e[e1>>2]=r1,b0=(r1|0)>-1,i1=(r1|0)<(L0|0),W1=b0&i1,!W1)break e;if(c1=j1+1|0,f1=(c1|0)<(z0|0),f1)j1=c1;else{a=c1;break}}B=e[Y>>2]|0,s1=B,Y1=a}else s1=G1,Y1=H1;if(g1=b1+1|0,l1=(g1|0)<(s1|0),l1)G1=s1,U1=z0,b1=g1,H1=Y1;else{m=Y0,p=L0,k1=z0;break}}else w=Y+836|0,y=1<<_0,m=w,p=y,k1=0;if(e[m>>2]=0,a1=Y+840|0,e[a1>>2]=p,n1=k1+2|0,o1=(k1|0)>-2,o1)for(V1=0;Z0=m+(V1<<2)|0,I1=P1+(V1<<2)|0,e[I1>>2]=Z0,h1=V1+1|0,d1=(h1|0)<(n1|0),d1;)V1=h1;Lh(P1,n1,4,8),E1=(n1|0)>1;t:do if(E1){for(v=e[P1>>2]|0,S=e[v>>2]|0,w1=S,O1=1;Q1=P1+(O1<<2)|0,_1=e[Q1>>2]|0,x1=e[_1>>2]|0,S1=(w1|0)==(x1|0),B1=O1+1|0,!S1;)if(p1=(B1|0)<(n1|0),p1)w1=x1,O1=B1;else break t;if(R1=(Y|0)==0,R1)A=0;else break e;return C=z1,A|0}while(!1);return A=Y,C=z1,A|0}while(!1);return I2(Y),A=0,C=z1,A|0}function hS(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,R1=0;if(R1=C,C=C+272|0,w1=R1,a=n4(1,1312)|0,c=a+1296|0,e[c>>2]=n,b=n+836|0,z=n+840|0,K=e[z>>2]|0,u0=a+1288|0,e[u0>>2]=K,_0=e[n>>2]|0,V0=(_0|0)>0,V0){for(H0=n+4|0,u=n+128|0,g1=0,Q1=0;;)if(E=H0+(g1<<2)|0,I=e[E>>2]|0,m=u+(I<<2)|0,p=e[m>>2]|0,B=p+Q1|0,v=g1+1|0,S=(v|0)<(_0|0),S)g1=v,Q1=B;else{A=B;break}w=A+2|0,y=a+1284|0,e[y>>2]=w,Q=(A|0)>-2,Q?(M=w,p1=A,S1=7):(Lh(w1,w,4,8),B1=A)}else r1=a+1284|0,e[r1>>2]=2,M=2,p1=0,S1=7;if((S1|0)==7){for(l1=0;_=b+(l1<<2)|0,R=w1+(l1<<2)|0,e[R>>2]=_,x=l1+1|0,L=(x|0)<(M|0),L;)l1=x;for(Lh(w1,M,4,8),T=b,N=a+260|0,s1=0;Y=w1+(s1<<2)|0,t0=e[Y>>2]|0,J=t0,W=J-T|0,e0=W>>2,q=N+(s1<<2)|0,e[q>>2]=e0,X=s1+1|0,U=(X|0)<(M|0),U;)s1=X;for(G=a+260|0,O=a+520|0,a1=0;Z=G+(a1<<2)|0,a0=e[Z>>2]|0,n0=O+(a0<<2)|0,e[n0>>2]=a1,i0=a1+1|0,r0=(i0|0)<(M|0),r0;)a1=i0;for($0=a+260|0,n1=0;;)if(V=$0+(n1<<2)|0,h0=e[V>>2]|0,s0=b+(h0<<2)|0,g0=e[s0>>2]|0,j=a+(n1<<2)|0,e[j>>2]=g0,c0=n1+1|0,d0=(c0|0)<(M|0),d0)n1=c0;else{B1=p1;break}}if(w0=n+832|0,C0=e[w0>>2]|0,(C0|0)==4?(p0=a+1292|0,e[p0>>2]=64):(C0|0)==2?(f0=a+1292|0,e[f0>>2]=128):(C0|0)==1?(k0=a+1292|0,e[k0>>2]=256):(C0|0)==3&&(B0=a+1292|0,e[B0>>2]=86),I0=(B1|0)>0,!I0)return C=R1,a|0;for(S0=a+1032|0,K0=a+780|0,o1=0;;){for(Q0=o1+2|0,F0=b+(Q0<<2)|0,M0=e[F0>>2]|0,N0=e[u0>>2]|0,b0=1,$1=N0,Z0=0,I1=0,d1=0;;)if(U0=b+(Z0<<2)|0,y0=e[U0>>2]|0,Y0=(y0|0)>(d1|0),L0=(y0|0)<(M0|0),_1=Y0&L0,h1=_1?Z0:I1,E1=_1?y0:d1,D0=(y0|0)<($1|0),T0=(y0|0)>(M0|0),x1=D0&T0,i1=x1?Z0:b0,f1=x1?y0:$1,J0=Z0+1|0,P0=(J0|0)<(Q0|0),P0)b0=i1,$1=f1,Z0=J0,I1=h1,d1=E1;else{c1=i1,m1=h1;break}if(z0=S0+(o1<<2)|0,e[z0>>2]=m1,G0=K0+(o1<<2)|0,e[G0>>2]=c1,O0=o1+1|0,e1=(O0|0)==(B1|0),e1)break;o1=O0}return C=R1,a|0}function uS(t){t=t|0;var n=0,A=0,a=0;a=C,n=(t|0)==0,n||I2(t)}function fS(t){t=t|0;var n=0,A=0,a=0;a=C,n=(t|0)==0,n||I2(t)}function dS(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0;if(w2=C,u=n+1296|0,E=e[u>>2]|0,r0=t+64|0,k0=e[r0>>2]|0,N0=k0+4|0,G0=e[N0>>2]|0,l1=G0+28|0,B1=e[l1>>2]|0,U1=B1+2848|0,W1=e[U1>>2]|0,I=t+4|0,R=Z4(I,1)|0,J=(R|0)==1,!J)return A=0,A|0;U=n+1284|0,$0=e[U>>2]|0,Z=$0<<2,K=Ot(t,Z)|0,a0=n+1292|0,n0=e[a0>>2]|0,i0=n0+-1|0,V=Ft(i0)|0,h0=Z4(I,V)|0,e[K>>2]=h0,s0=e[a0>>2]|0,g0=s0+-1|0,j=Ft(g0)|0,c0=Z4(I,j)|0,u0=K+4|0,e[u0>>2]=c0,d0=e[E>>2]|0,w0=(d0|0)>0;e:do if(w0){r2=0,s2=2;t:for(;;){if(I0=(E+4|0)+(r2<<2)|0,S0=e[I0>>2]|0,K0=(E+128|0)+(S0<<2)|0,_0=e[K0>>2]|0,Q0=(E+192|0)+(S0<<2)|0,F0=e[Q0>>2]|0,M0=1<>2]|0,L0=W1+(Y0*56|0)|0,D0=Vm(L0,I)|0,T0=(D0|0)==-1,T0){A=0,v2=25;break}else i2=D0;if(V0=(_0|0)>0,V0)for(J0=M0+-1|0,l2=i2,f2=0;;){if(P0=l2&J0,z0=((E+320|0)+(S0<<5)|0)+(P0<<2)|0,O0=e[z0>>2]|0,r1=l2>>F0,H0=(O0|0)>-1,H0){if(e1=W1+(O0*56|0)|0,b0=Vm(e1,I)|0,i1=f2+s2|0,c1=K+(i1<<2)|0,e[c1>>2]=b0,$1=(b0|0)==-1,$1){A=0,v2=25;break t}}else f1=f2+s2|0,g1=K+(f1<<2)|0,e[g1>>2]=0;if(s1=f2+1|0,a1=(s1|0)<(_0|0),a1)l2=r1,f2=s1;else break}if(n1=_0+s2|0,o1=r2+1|0,Z0=e[E>>2]|0,I1=(o1|0)<(Z0|0),I1)r2=o1,s2=n1;else break e}if((v2|0)==25)return A|0}while(!1);if(C0=e[U>>2]|0,f0=(C0|0)>2,!f0)return A=K,A|0;for(B0=n+1032|0,p0=n+780|0,a2=2;;){if(h1=a2+-2|0,m1=B0+(h1<<2)|0,d1=e[m1>>2]|0,E1=(E+836|0)+(d1<<2)|0,p1=e[E1>>2]|0,Q1=p0+(h1<<2)|0,_1=e[Q1>>2]|0,x1=(E+836|0)+(_1<<2)|0,w1=e[x1>>2]|0,S1=K+(d1<<2)|0,R1=e[S1>>2]|0,F1=K+(_1<<2)|0,G1=e[F1>>2]|0,k1=(E+836|0)+(a2<<2)|0,Z1=e[k1>>2]|0,N1=R1&32767,b1=G1&32767,V1=b1-N1|0,O1=w1-p1|0,X1=(V1|0)>-1,e2=0-V1|0,q1=X1?V1:e2,H1=Z1-p1|0,Y1=r5(q1,H1)|0,j1=(Y1|0)/(O1|0)&-1,n2=(V1|0)<0,P1=0-j1|0,c=n2?P1:j1,a=c+N1|0,c2=e[a0>>2]|0,z1=c2-a|0,u2=K+(a2<<2)|0,o2=e[u2>>2]|0,E2=(o2|0)==0,E2)W=a|32768,e[u2>>2]=W;else{A2=(z1|0)<(a|0),K1=A2?z1:a,h2=K1<<1,$2=(o2|0)<(h2|0);do if($2)if(S=o2&1,w=(S|0)==0,w){_=o2>>1,y2=_;break}else{y=o2+1|0,b=y>>1,Q=0-b|0,y2=Q;break}else if(m=(z1|0)>(a|0),m){p=o2-a|0,y2=p;break}else{B=o2-z1|0,v=B^-1,y2=v;break}while(!1);x=y2+a|0,L=x&32767,e[u2>>2]=L,M=e[m1>>2]|0,T=K+(M<<2)|0,N=e[T>>2]|0,G=N&32767,e[T>>2]=G,O=e[Q1>>2]|0,z=K+(O<<2)|0,Y=e[z>>2]|0,t0=Y&32767,e[z>>2]=t0}if(e0=a2+1|0,q=e[U>>2]|0,X=(e0|0)<(q|0),X)a2=e0;else{A=K;break}}return A|0}function IS(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0;if(k1=C,E=n+1296|0,I=e[E>>2]|0,R=t+64|0,J=e[R>>2]|0,i0=J+4|0,C0=e[i0>>2]|0,M0=C0+28|0,z0=e[M0>>2]|0,$1=t+28|0,f1=e[$1>>2]|0,m=z0+(f1<<2)|0,p=e[m>>2]|0,B=(p|0)/2&-1,v=(A|0)==0,v)return c1=B<<2,Ae(a|0,0,c1|0)|0,c=0,c|0;if(S=e[A>>2]|0,w=I+832|0,y=e[w>>2]|0,b=r5(y,S)|0,Q=(b|0)<0,_=(b|0)>255,x=_?255:b,L=Q?0:x,M=n+1284|0,T=e[M>>2]|0,N=(T|0)>1,N)for(G=n+260|0,o1=0,m1=1,E1=0,Q1=L;;){if(t0=G+(m1<<2)|0,W=e[t0>>2]|0,e0=A+(W<<2)|0,q=e[e0>>2]|0,X=q&32767,U=(X|0)==(q|0),U)if($0=(I+836|0)+(W<<2)|0,Z=e[$0>>2]|0,K=r5(y,q)|0,a0=(K|0)<0,n0=(K|0)>255,r0=n0?255:K,V=a0?0:r0,h0=V-Q1|0,s0=Z-E1|0,I1=(h0|0)>-1,x1=0-h0|0,g0=I1?h0:x1,j=(h0|0)/(s0|0)&-1,c0=h0>>31,u0=c0|1,d0=r5(j,s0)|0,h1=(d0|0)>-1,w1=0-d0|0,w0=h1?d0:w1,k0=g0-w0|0,f0=(B|0)>(Z|0),S1=f0?Z:B,B0=(S1|0)>(E1|0),B0&&(p0=1768+(Q1<<2)|0,I0=+s[p0>>2],S0=a+(E1<<2)|0,K0=+s[S0>>2],_0=K0*I0,s[S0>>2]=_0),Q0=E1+1|0,F0=(Q0|0)<(S1|0),F0)for(V0=Q0,g1=0,R1=Q1;;)if(N0=g1+k0|0,U0=(N0|0)<(s0|0),y0=U0?0:u0,Y0=U0?0:s0,l1=N0-Y0|0,u=R1+j|0,F1=u+y0|0,L0=1768+(F1<<2)|0,D0=+s[L0>>2],T0=a+(V0<<2)|0,J0=+s[T0>>2],P0=J0*D0,s[T0>>2]=P0,G0=V0+1|0,a1=(G0|0)==(S1|0),a1){Z0=Z,B1=Z,_1=V;break}else V0=G0,g1=l1,R1=F1;else Z0=Z,B1=Z,_1=V;else Z0=o1,B1=E1,_1=Q1;if(O0=m1+1|0,r1=(O0|0)<(T|0),r1)o1=Z0,m1=O0,E1=B1,Q1=_1;else{n1=Z0,p1=_1;break}}else n1=0,p1=L;if(O=(n1|0)<(B|0),!O)return c=1,c|0;for(z=1768+(p1<<2)|0,Y=+s[z>>2],d1=n1;;)if(H0=a+(d1<<2)|0,e1=+s[H0>>2],b0=e1*Y,s[H0>>2]=b0,i1=d1+1|0,s1=(i1|0)==(B|0),s1){c=1;break}else d1=i1;return c|0}function ES(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0;return m=C,A=e[t>>2]|0,a=e[A>>2]|0,c=e[n>>2]|0,u=e[c>>2]|0,E=a-u|0,E|0}function mS(t){t=t|0;var n=0,A=0;A=C,e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0}function CS(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0;a0=C,c=Z$(n|0)|0,u=Z$(A|0)|0,Q=c+2|0,Y=Q+u|0,a=Y,J=C,C=C+((1*a|0)+15&-16)|0,uB(J|0,n|0)|0,Z=Z$(J|0)|0,$0=J+Z|0,d[$0>>0]=61,d[$0+1>>0]=0,QQ(J|0,A|0)|0,W=e[t>>2]|0,e0=t+8|0,q=e[e0>>2]|0,X=q<<2,U=X+8|0,E=Oi(W,U)|0,e[t>>2]=E,I=t+4|0,m=e[I>>2]|0,p=e[e0>>2]|0,B=p<<2,v=B+8|0,S=Oi(m,v)|0,e[I>>2]=S,w=Z$(J|0)|0,y=e[e0>>2]|0,b=S+(y<<2)|0,e[b>>2]=w,_=w+1|0,R=S9(_)|0,x=e[t>>2]|0,L=x+(y<<2)|0,e[L>>2]=R,M=e[t>>2]|0,T=M+(y<<2)|0,N=e[T>>2]|0,uB(N|0,J|0)|0,G=e[e0>>2]|0,O=G+1|0,e[e0>>2]=O,z=e[t>>2]|0,t0=z+(O<<2)|0,e[t0>>2]=0,C=a0}function BS(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0;if(Y=C,c=(t|0)==0,!c){if(u=e[t>>2]|0,Q=(u|0)==0,!Q){if(R=t+8|0,x=e[R>>2]|0,L=(x|0)>0,L){for(_=x,T=u,O=0;M=T+(O<<2)|0,N=e[M>>2]|0,G=(N|0)==0,G?m=_:(I2(N),A=e[R>>2]|0,m=A),E=O+1|0,I=(E|0)<(m|0),!!I;)n=e[t>>2]|0,_=m,T=n,O=E;a=e[t>>2]|0,p=a}else p=u;I2(p)}B=t+4|0,v=e[B>>2]|0,S=(v|0)==0,S||I2(v),w=t+12|0,y=e[w>>2]|0,b=(y|0)==0,b||I2(y),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0}}function pS(t){t=t|0;var n=0,A=0,a=0,c=0;c=C,e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,e[t+24>>2]=0,n=n4(1,3664)|0,A=t+28|0,e[A>>2]=n}function lB(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0;if(B1=C,u=t+28|0,E=e[u>>2]|0,_=(E|0)==0,_){e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,e[t+24>>2]=0,e[t+28>>2]=0;return}if(t0=E+8|0,n0=e[t0>>2]|0,w0=(n0|0)>0,w0)for(g1=n0,o1=0;n1=(E+32|0)+(o1<<2)|0,I=e[n1>>2]|0,m=(I|0)==0,m?v=g1:(I2(I),n=e[t0>>2]|0,v=n),p=o1+1|0,B=(p|0)<(v|0),B;)g1=v,o1=p;if(F0=E+12|0,P0=e[F0>>2]|0,f1=(P0|0)>0,f1)for(l1=P0,Z0=0;b=(E+544|0)+(Z0<<2)|0,Q=e[b>>2]|0,R=(Q|0)==0,R?Y=l1:(x=(E+288|0)+(Z0<<2)|0,L=e[x>>2]|0,M=25664+(L<<2)|0,T=e[M>>2]|0,N=T+8|0,G=e[N>>2]|0,js[G&7](Q),A=e[F0>>2]|0,Y=A),O=Z0+1|0,z=(O|0)<(Y|0),z;)l1=Y,Z0=O;if(S=E+16|0,w=e[S>>2]|0,y=(w|0)>0,y)for(s1=w,I1=0;q=(E+1056|0)+(I1<<2)|0,X=e[q>>2]|0,U=(X|0)==0,U?s0=s1:($0=(E+800|0)+(I1<<2)|0,Z=e[$0>>2]|0,K=25640+(Z<<2)|0,a0=e[K>>2]|0,i0=a0+12|0,r0=e[i0>>2]|0,js[r0&7](X),a=e[S>>2]|0,s0=a),V=I1+1|0,h0=(V|0)<(s0|0),h0;)s1=s0,I1=V;if(J=E+20|0,W=e[J>>2]|0,e0=(W|0)>0,e0)for(a1=W,h1=0;d0=(E+1568|0)+(h1<<2)|0,C0=e[d0>>2]|0,k0=(C0|0)==0,k0?M0=a1:(f0=(E+1312|0)+(h1<<2)|0,B0=e[f0>>2]|0,p0=25648+(B0<<2)|0,I0=e[p0>>2]|0,S0=I0+12|0,K0=e[S0>>2]|0,js[K0&7](C0),c=e[J>>2]|0,M0=c),_0=h1+1|0,Q0=(_0|0)<(M0|0),Q0;)a1=M0,h1=_0;if(g0=E+24|0,j=e[g0>>2]|0,c0=(j|0)>0,u0=E+2848|0,c0)for(m1=0;N0=(E+1824|0)+(m1<<2)|0,U0=e[N0>>2]|0,y0=(U0|0)==0,y0||hB(U0),Y0=e[u0>>2]|0,L0=(Y0|0)==0,L0||(D0=Y0+(m1*56|0)|0,eb(D0)),T0=m1+1|0,V0=e[g0>>2]|0,J0=(T0|0)<(V0|0),J0;)m1=T0;if(z0=e[u0>>2]|0,G0=(z0|0)==0,G0||I2(z0),O0=E+28|0,r1=e[O0>>2]|0,H0=(r1|0)>0,H0)for(d1=0;e1=(E+2852|0)+(d1<<2)|0,b0=e[e1>>2]|0,RS(b0),i1=d1+1|0,c1=e[O0>>2]|0,$1=(i1|0)<(c1|0),$1;)d1=i1;I2(E),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,e[t+24>>2]=0,e[t+28>>2]=0}function QS(t,n,A,a,c){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0;var u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,R5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0;if(W2=C,C=C+32|0,M1=W2,m=t+4|0,p=e[m>>2]|0,a1=t+104|0,Q1=e[a1>>2]|0,N1=(Q1|0)==0,N1)return e[A>>2]=0,e[A+4>>2]=0,e[A+8>>2]=0,e[A+12>>2]=0,e[A+16>>2]=0,e[A+20>>2]=0,e[A+24>>2]=0,e[A+28>>2]=0,e[a>>2]=0,e[a+4>>2]=0,e[a+8>>2]=0,e[a+12>>2]=0,e[a+16>>2]=0,e[a+20>>2]=0,e[a+24>>2]=0,e[a+28>>2]=0,e[c>>2]=0,e[c+4>>2]=0,e[c+8>>2]=0,e[c+12>>2]=0,e[c+16>>2]=0,e[c+20>>2]=0,e[c+24>>2]=0,e[c+28>>2]=0,u=-129,C=W2,u|0;if(c2=p+4|0,r2=e[c2>>2]|0,D2=(r2|0)<1,D2)S5=-129,a5=27;else if(sB(M1),T1=p+28|0,m5=e[T1>>2]|0,B=(m5|0)==0,B)S5=-130,a5=27;else if(M=e[m5>>2]|0,q=(M|0)<64,q)S5=-130,a5=27;else if(h0=m5+4|0,B0=e[h0>>2]|0,y0=(B0|0)<(M|0),y0)S5=-130,a5=27;else{U2(M1,1,8),U2(M1,118,8),U2(M1,111,8),U2(M1,114,8),U2(M1,98,8),U2(M1,105,8),U2(M1,115,8),U2(M1,0,32),r1=e[c2>>2]|0,U2(M1,r1,8),g1=p+8|0,l1=e[g1>>2]|0,U2(M1,l1,32),s1=p+12|0,n1=e[s1>>2]|0,U2(M1,n1,32),o1=p+16|0,Z0=e[o1>>2]|0,U2(M1,Z0,32),I1=p+20|0,h1=e[I1>>2]|0,U2(M1,h1,32),m1=e[m5>>2]|0,d1=m1+-1|0,E1=Ft(d1)|0,U2(M1,E1,4),B1=e[h0>>2]|0,p1=B1+-1|0,_1=Ft(p1)|0,U2(M1,_1,4),U2(M1,1,1),x1=Q1+64|0,w1=e[x1>>2]|0,S1=(w1|0)==0,S1||I2(w1),R1=pt(M1)|0,F1=S9(R1)|0,e[x1>>2]=F1,G1=M1+8|0,k1=e[G1>>2]|0,U1=pt(M1)|0,s4(F1|0,k1|0,U1|0)|0,Z1=e[x1>>2]|0,e[A>>2]=Z1,b1=pt(M1)|0,V1=A+4|0,e[V1>>2]=b1,O1=A+8|0,e[O1>>2]=1,q1=A+12|0,e[q1>>2]=0,e[q1+4>>2]=0,e[q1+8>>2]=0,e[q1+12>>2]=0,e[q1+16>>2]=0,u7(M1),yS(M1,n),H1=Q1+68|0,Y1=e[H1>>2]|0,j1=(Y1|0)==0,j1||I2(Y1),n2=pt(M1)|0,W1=S9(n2)|0,e[H1>>2]=W1,P1=e[G1>>2]|0,z1=pt(M1)|0,s4(W1|0,P1|0,z1|0)|0,u2=e[H1>>2]|0,e[a>>2]=u2,o2=pt(M1)|0,E2=a+4|0,e[E2>>2]=o2,A2=a+8|0,K1=a+24|0,e[A2>>2]=0,e[A2+4>>2]=0,e[A2+8>>2]=0,e[A2+12>>2]=0,h2=K1,$2=h2,e[$2>>2]=1,i2=h2+4|0,l2=i2,e[l2>>2]=0,u7(M1),a2=e[T1>>2]|0,X1=(a2|0)==0;e:do if(!X1){if(U2(M1,5,8),U2(M1,118,8),U2(M1,111,8),U2(M1,114,8),U2(M1,98,8),U2(M1,105,8),U2(M1,115,8),s2=a2+24|0,f2=e[s2>>2]|0,e2=f2+-1|0,U2(M1,e2,8),y2=e[s2>>2]|0,v2=(y2|0)>0,v2)for(q2=0;;){if(N2=(a2+1824|0)+(q2<<2)|0,d2=e[N2>>2]|0,K2=eS(d2,M1)|0,G2=(K2|0)==0,C2=q2+1|0,!G2)break e;if(w2=e[s2>>2]|0,F2=(C2|0)<(w2|0),F2)q2=C2;else break}if(U2(M1,0,6),U2(M1,0,16),H2=a2+16|0,M2=e[H2>>2]|0,P2=M2+-1|0,U2(M1,P2,6),z2=e[H2>>2]|0,o5=(z2|0)>0,o5)for(I5=0;;){if(O2=(a2+800|0)+(I5<<2)|0,X2=e[O2>>2]|0,U2(M1,X2,16),R5=e[O2>>2]|0,e5=25640+(R5<<2)|0,b5=e[e5>>2]|0,Z2=e[b5>>2]|0,f5=(Z2|0)==0,f5)break e;if(v5=(a2+1056|0)+(I5<<2)|0,P5=e[v5>>2]|0,EB[Z2&3](P5,M1),l5=I5+1|0,k2=e[H2>>2]|0,n5=(l5|0)<(k2|0),n5)I5=l5;else break}if(x2=a2+20|0,_2=e[x2>>2]|0,B2=_2+-1|0,U2(M1,B2,6),C5=e[x2>>2]|0,L5=(C5|0)>0,L5)for(A5=0;d5=(a2+1312|0)+(A5<<2)|0,D5=e[d5>>2]|0,U2(M1,D5,16),G5=e[d5>>2]|0,_5=25648+(G5<<2)|0,v=e[_5>>2]|0,S=e[v>>2]|0,w=(a2+1568|0)+(A5<<2)|0,y=e[w>>2]|0,EB[S&3](y,M1),b=A5+1|0,Q=e[x2>>2]|0,_=(b|0)<(Q|0),_;)A5=b;if(R=a2+12|0,x=e[R>>2]|0,L=x+-1|0,U2(M1,L,6),T=e[R>>2]|0,N=(T|0)>0,N)for(c5=0;G=(a2+288|0)+(c5<<2)|0,O=e[G>>2]|0,U2(M1,O,16),z=e[G>>2]|0,Y=25664+(z<<2)|0,t0=e[Y>>2]|0,J=e[t0>>2]|0,W=(a2+544|0)+(c5<<2)|0,e0=e[W>>2]|0,bQ[J&1](p,e0,M1),X=c5+1|0,U=e[R>>2]|0,$0=(X|0)<(U|0),$0;)c5=X;if(Z=a2+8|0,K=e[Z>>2]|0,a0=K+-1|0,U2(M1,a0,6),n0=e[Z>>2]|0,i0=(n0|0)>0,i0)for(B5=0;r0=(a2+32|0)+(B5<<2)|0,V=e[r0>>2]|0,s0=e[V>>2]|0,U2(M1,s0,1),g0=e[r0>>2]|0,j=g0+4|0,c0=e[j>>2]|0,U2(M1,c0,16),u0=e[r0>>2]|0,d0=u0+8|0,w0=e[d0>>2]|0,U2(M1,w0,16),C0=e[r0>>2]|0,k0=C0+12|0,f0=e[k0>>2]|0,U2(M1,f0,8),p0=B5+1|0,I0=e[Z>>2]|0,S0=(p0|0)<(I0|0),S0;)B5=p0;return U2(M1,1,1),K0=Q1+72|0,_0=e[K0>>2]|0,Q0=(_0|0)==0,Q0||I2(_0),F0=pt(M1)|0,M0=S9(F0)|0,e[K0>>2]=M0,N0=e[G1>>2]|0,U0=pt(M1)|0,s4(M0|0,N0|0,U0|0)|0,Y0=e[K0>>2]|0,e[c>>2]=Y0,L0=pt(M1)|0,D0=c+4|0,e[D0>>2]=L0,T0=c+8|0,V0=c+24|0,e[T0>>2]=0,e[T0+4>>2]=0,e[T0+8>>2]=0,e[T0+12>>2]=0,J0=V0,P0=J0,e[P0>>2]=2,z0=J0+4|0,G0=z0,e[G0>>2]=0,oB(M1),u=0,C=W2,u|0}while(!1);e[A>>2]=0,e[A+4>>2]=0,e[A+8>>2]=0,e[A+12>>2]=0,e[A+16>>2]=0,e[A+20>>2]=0,e[A+24>>2]=0,e[A+28>>2]=0,e[a>>2]=0,e[a+4>>2]=0,e[a+8>>2]=0,e[a+12>>2]=0,e[a+16>>2]=0,e[a+20>>2]=0,e[a+24>>2]=0,e[a+28>>2]=0,e[c>>2]=0,e[c+4>>2]=0,e[c+8>>2]=0,e[c+12>>2]=0,e[c+16>>2]=0,e[c+20>>2]=0,e[c+24>>2]=0,e[c+28>>2]=0,I=x1,g5=-130}return(a5|0)==27&&(e[A>>2]=0,e[A+4>>2]=0,e[A+8>>2]=0,e[A+12>>2]=0,e[A+16>>2]=0,e[A+20>>2]=0,e[A+24>>2]=0,e[A+28>>2]=0,e[a>>2]=0,e[a+4>>2]=0,e[a+8>>2]=0,e[a+12>>2]=0,e[a+16>>2]=0,e[a+20>>2]=0,e[a+24>>2]=0,e[a+28>>2]=0,e[c>>2]=0,e[c+4>>2]=0,e[c+8>>2]=0,e[c+12>>2]=0,e[c+16>>2]=0,e[c+20>>2]=0,e[c+24>>2]=0,e[c+28>>2]=0,E=Q1+64|0,I=E,g5=S5),oB(M1),O0=e[I>>2]|0,H0=(O0|0)==0,H0||I2(O0),e1=Q1+68|0,b0=e[e1>>2]|0,i1=(b0|0)==0,i1||I2(b0),c1=Q1+72|0,$1=e[c1>>2]|0,f1=($1|0)==0,f1||I2($1),e[I>>2]=0,e[e1>>2]=0,e[c1>>2]=0,u=g5,C=W2,u|0}function yS(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0;for(i0=C,U2(t,3,8),U2(t,118,8),U2(t,111,8),U2(t,114,8),U2(t,98,8),U2(t,105,8),U2(t,115,8),U2(t,44,32),A=1200,c=44;E=c+-1|0,I=A+1|0,R=d[A>>0]|0,J=R<<24>>24,U2(t,J,8),q=(E|0)==0,!q;)A=I,c=E;if(X=n+8|0,U=e[X>>2]|0,U2(t,U,32),$0=e[X>>2]|0,Z=($0|0)>0,!Z){U2(t,1,1);return}for(K=n+4|0,a0=0;;){if(m=e[n>>2]|0,p=m+(a0<<2)|0,B=e[p>>2]|0,v=(B|0)==0,v)U2(t,0,32);else if(S=e[K>>2]|0,w=S+(a0<<2)|0,y=e[w>>2]|0,U2(t,y,32),b=e[K>>2]|0,Q=b+(a0<<2)|0,_=e[Q>>2]|0,x=(_|0)==0,!x)for(L=e[n>>2]|0,M=L+(a0<<2)|0,T=e[M>>2]|0,a=T,u=_;N=u+-1|0,G=a+1|0,O=d[a>>0]|0,z=O<<24>>24,U2(t,z,8),Y=(N|0)==0,!Y;)a=G,u=N;if(t0=a0+1|0,W=e[X>>2]|0,e0=(t0|0)<(W|0),e0)a0=t0;else break}U2(t,1,1)}function iQ(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0;if(Y1=C,m=a+1|0,p=m<<3,c=p,L=C,C=C+((1*c|0)+15&-16)|0,e0=a<<3,u=e0,V=C,C=C+((1*u|0)+15&-16)|0,f0=(m|0)==0,f0)N=0;else{for(U0=a;;){if(O0=(U0|0)<(A|0),O0)for(m1=0,R1=U0;;)if(s1=t+(R1<<2)|0,I1=+s[s1>>2],B=I1,v=R1-U0|0,S=t+(v<<2)|0,w=+s[S>>2],y=w,b=y*B,Q=b+m1,_=R1+1|0,S1=(_|0)==(A|0),S1){h1=Q;break}else m1=Q,R1=_;else h1=0;if(R=L+(U0<<3)|0,A1[R>>3]=h1,x=U0+-1|0,M=(U0|0)==0,M)break;U0=x}I=+A1[L>>3],N=I}if(T=N*1.0000000001,G=N*1e-9,O=G+1e-10,z=(a|0)>0,z)E1=T,F1=0;else return Q1=T,Z0=Q1,C=Y1,+Z0;for(;;){if(k1=F1+1|0,Y=E1>3],U=-X,$0=(F1|0)>0,$0){for(U1=0,O1=U;;)if(a0=V+(U1<<3)|0,n0=+A1[a0>>3],i0=F1-U1|0,r0=L+(i0<<3)|0,h0=+A1[r0>>3],s0=h0*n0,g0=O1-s0,j=U1+1|0,w1=(j|0)==(F1|0),w1){E=g0;break}else U1=j,O1=g0;if(c0=E/E1,u0=V+(F1<<3)|0,A1[u0>>3]=c0,d0=(F1|0)/2&-1,w0=(F1|0)>1,w0){for(C0=F1+-1|0,k0=(d0|0)>1,N1=0;B0=V+(N1<<3)|0,p0=+A1[B0>>3],I0=C0-N1|0,S0=V+(I0<<3)|0,K0=+A1[S0>>3],_0=K0*c0,Q0=_0+p0,A1[B0>>3]=Q0,F0=p0*c0,M0=+A1[S0>>3],N0=M0+F0,A1[S0>>3]=N0,y0=N1+1|0,Y0=(y0|0)<(d0|0),Y0;)N1=y0;q1=k0?d0:1,P0=c0,Z1=q1}else P0=c0,Z1=0}else Z=U/E1,K=V+(F1<<3)|0,A1[K>>3]=Z,P0=Z,Z1=0;if(L0=F1&1,D0=(L0|0)==0,D0||(T0=V+(Z1<<3)|0,V0=+A1[T0>>3],J0=V0*P0,z0=J0+V0,A1[T0>>3]=z0),G0=P0*P0,r1=1-G0,H0=r1*E1,e1=(k1|0)<(a|0),e1)E1=H0,F1=k1;else{p1=H0;break}}if((H1|0)==8&&(t0=V+(G1<<3)|0,J=a-G1|0,W=J<<3,Ae(t0|0,0,W|0)|0,p1=B1),z)d1=.99,b1=0;else return Q1=p1,Z0=Q1,C=Y1,+Z0;for(;b0=V+(b1<<3)|0,i1=+A1[b0>>3],c1=i1*d1,A1[b0>>3]=c1,$1=d1*.99,f1=b1+1|0,x1=(f1|0)==(a|0),!x1;)d1=$1,b1=f1;if(z)V1=0;else return Q1=p1,Z0=Q1,C=Y1,+Z0;for(;;)if(g1=V+(V1<<3)|0,l1=+A1[g1>>3],a1=l1,n1=n+(V1<<2)|0,s[n1>>2]=a1,o1=V1+1|0,_1=(o1|0)==(a|0),_1){Q1=p1;break}else V1=o1;return Z0=Q1,C=Y1,+Z0}function rQ(t,n,A,a,c){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0;var u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0;if(K=C,I=c+A|0,m=I<<2,u=m,x=C,C=C+((1*u|0)+15&-16)|0,M=(n|0)==0,T=(A|0)>0,M?T&&(G=A<<2,Ae(x|0,0,G|0)|0):T&&(N=A<<2,s4(x|0,n|0,N|0)|0),O=(c|0)>0,!O){C=K;return}if(z=(A|0)>0,z)W=0,e0=A;else{Y=c<<2,Ae(x|0,0,Y|0)|0,Ae(a|0,0,Y|0)|0,C=K;return}for(;;){for(X=W,U=A,$0=0;;)if(S=X+1|0,w=x+(X<<2)|0,y=+s[w>>2],b=U+-1|0,Q=t+(b<<2)|0,_=+s[Q>>2],R=_*y,L=$0-R,t0=(S|0)==(e0|0),t0){E=L;break}else X=S,U=b,$0=L;if(p=x+(e0<<2)|0,s[p>>2]=E,B=a+(W<<2)|0,s[B>>2]=E,v=W+1|0,q=e0+1|0,J=(v|0)==(c|0),J)break;W=v,e0=q}C=K}function wS(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0;if(S0=C,c=e[n>>2]|0,u=(c|0)>1,u?(U2(A,1,1),Q=e[n>>2]|0,Y=Q+-1|0,U2(A,Y,4)):U2(A,0,1),a0=n+1156|0,u0=e[a0>>2]|0,d0=(u0|0)>0,d0){if(U2(A,1,1),w0=e[a0>>2]|0,C0=w0+-1|0,U2(A,C0,8),k0=e[a0>>2]|0,E=(k0|0)>0,E)for(I=n+1160|0,m=t+4|0,p=n+2184|0,f0=0;B=I+(f0<<2)|0,v=e[B>>2]|0,S=e[m>>2]|0,w=S+-1|0,y=Ft(w)|0,U2(A,v,y),b=p+(f0<<2)|0,_=e[b>>2]|0,R=e[m>>2]|0,x=R+-1|0,L=Ft(x)|0,U2(A,_,L),M=f0+1|0,T=e[a0>>2]|0,N=(M|0)<(T|0),N;)f0=M}else U2(A,0,1);if(U2(A,0,2),G=e[n>>2]|0,O=(G|0)>1,O){if(z=t+4|0,t0=e[z>>2]|0,J=(t0|0)>0,J){for(W=n+4|0,B0=0;$0=W+(B0<<2)|0,Z=e[$0>>2]|0,U2(A,Z,4),K=B0+1|0,n0=e[z>>2]|0,i0=(K|0)<(n0|0),i0;)B0=K;a=e[n>>2]|0,e0=a,I0=13}}else e0=G,I0=13;if(!((I0|0)==13&&(q=(e0|0)>0,!q)))for(X=n+1028|0,U=n+1092|0,p0=0;U2(A,0,8),r0=X+(p0<<2)|0,V=e[r0>>2]|0,U2(A,V,8),h0=U+(p0<<2)|0,s0=e[h0>>2]|0,U2(A,s0,8),g0=p0+1|0,j=e[n>>2]|0,c0=(g0|0)<(j|0),c0;)p0=g0}function kS(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0;n1=C,c=n4(1,3208)|0,u=t+28|0,Q=e[u>>2]|0,Ae(c|0,0,3208)|0,Y=t+4|0,a0=e[Y>>2]|0,d0=(a0|0)<1;e:do if(d0)a1=24;else if(Q0=Z4(n,1)|0,J0=(Q0|0)<0,J0)a1=24;else{if(H0=(Q0|0)==0,H0)e[c>>2]=1;else if(e1=Z4(n,4)|0,E=e1+1|0,e[c>>2]=E,I=(e1|0)<0,I)break;if(m=Z4(n,1)|0,p=(m|0)<0,!p){if(B=(m|0)==0,!B){if(v=Z4(n,8)|0,S=v+1|0,w=c+1156|0,e[w>>2]=S,y=(v|0)<0,y)break;for(b=c+1160|0,_=c+2184|0,a=e[Y>>2]|0,T=a,b0=0;;){if(M=T+-1|0,N=Ft(M)|0,G=Z4(n,N)|0,O=b+(b0<<2)|0,e[O>>2]=G,z=e[Y>>2]|0,t0=z+-1|0,J=Ft(t0)|0,W=Z4(n,J)|0,e0=_+(b0<<2)|0,e[e0>>2]=W,q=W|G,X=(q|0)<0,U=(G|0)==(W|0),$1=U|X,$1||($0=e[Y>>2]|0,Z=(G|0)<($0|0),K=(W|0)<($0|0),f1=Z&K,x=b0+1|0,!f1))break e;if(R=e[w>>2]|0,L=(x|0)<(R|0),L)T=$0,b0=x;else break}}if(n0=Z4(n,2)|0,i0=(n0|0)==0,i0){if(r0=e[c>>2]|0,V=(r0|0)>1,V){if(h0=e[Y>>2]|0,s0=(h0|0)>0,s0)for(g0=c+4|0,i1=0;;){if(I0=Z4(n,4)|0,S0=g0+(i1<<2)|0,e[S0>>2]=I0,K0=e[c>>2]|0,_0=(I0|0)>=(K0|0),F0=(I0|0)<0,g1=F0|_0,B0=i1+1|0,g1)break e;if(f0=e[Y>>2]|0,p0=(B0|0)<(f0|0),p0)i1=B0;else{j=K0,a1=17;break}}}else j=r0,a1=17;if((a1|0)==17&&(c0=(j|0)>0,!c0))return A=c,A|0;for(u0=c+1028|0,w0=Q+16|0,C0=c+1092|0,k0=Q+20|0,c1=0;;){if(Z4(n,8)|0,y0=Z4(n,8)|0,Y0=u0+(c1<<2)|0,e[Y0>>2]=y0,L0=e[w0>>2]|0,D0=(y0|0)>=(L0|0),T0=(y0|0)<0,l1=T0|D0,l1||(V0=Z4(n,8)|0,P0=C0+(c1<<2)|0,e[P0>>2]=V0,z0=e[k0>>2]|0,G0=(V0|0)>=(z0|0),O0=(V0|0)<0,s1=O0|G0,N0=c1+1|0,s1))break e;if(M0=e[c>>2]|0,U0=(N0|0)<(M0|0),U0)c1=N0;else{A=c;break}}return A|0}}}while(!1);return(a1|0)==24&&(r1=(c|0)==0,r1)?(A=0,A|0):(I2(c),A=0,A|0)}function vS(t){t=t|0;var n=0,A=0,a=0;a=C,n=(t|0)==0,n||I2(t)}function SS(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,R5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,R2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,k3=0,u3=0,p3=0,z3=0,G3=0,K5=0,w3=0,Z5=0,i6=0,R3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,L3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,X3=0,c6=0,p6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,R6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,L6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,M4=0,W4=0,C4=0,T4=0,U9=0,N4=0,a4=0,R4=0,u4=0,Ce=0,q9=0,m9=0,Be=0,Ne=0,Xe=0,G4=0,Ge=0,U4=0,j4=0,be=0,e8=0,Z9=0,ae=0,f4=0,_6=0,P4=0,L9=0,$4=0,_4=0,$e=0,W9=0,le=0,ce=0,B4=0,X4=0,L4=0,ge=0,C9=0,g6=0,Ue=0,l4=0,pe=0,p4=0,c4=0,P6=0,De=0,_e=0,t8=0,g4=0,k4=0,u8=0,J3=0,w9=0,B9=0,F4=0,ee=0,$t=0,xe=0,lt=0,Qt=0,z8=0,ct=0,gt=0,F8=0,M8=0,T8=0,N8=0,Z8=0,W8=0,yt=0,G8=0,U8=0,P8=0,k8=0,v8=0,f8=0,O8=0,q8=0,j8=0,X8=0,d8=0,Pe=0,Re=0,i8=0,S8=0,k9=0,ht=0,Qe=0,ut=0,wt=0,et=0,kt=0,te=0,tt=0,H8=0,b8=0,r8=0,O4=0,Le=0,n8=0,I8=0,D8=0,he=0,j9=0,s8=0,E8=0,o8=0,m8=0,ue=0,ye=0,Oe=0,qe=0,X9=0,Fe=0,fe=0,A8=0,we=0,Q4=0,C8=0,it=0,q4=0,I3=0,He=0,B8=0,ie=0,H9=0,re=0,D9=0,Ye=0,Y8=0,ft=0,rt=0,nt=0,J8=0,st=0,V8=0,a8=0,$8=0,_8=0,H4=0,ot=0,x8=0,Je=0,p9=0,At=0,Ve=0,Mt=0,qt=0,vt=0,at=0,St=0,ne=0,Tt=0,Ht=0,l8=0,R8=0,bt=0,K8=0,Me=0,de=0,e4=0,Dt=0,t7=0,G7=0,U7=0,P7=0,d7=0,Yt=0,I7=0,Jt=0,E7=0,Vt=0,m7=0,i7=0,oi=0,O7=0,C7=0,B7=0,Ai=0,p7=0,r7=0,ai=0,q7=0,H7=0,Y7=0,J7=0,n7=0,Q7=0,V7=0,Kt=0,s7=0,Nt=0,zt=0,$i=0,K7=0,li=0,y7=0,z7=0,w7=0,k7=0,Z7=0,v7=0,Zt=0,S7=0,W7=0,o7=0,Gt=0,b7=0,ke=0,D7=0,_t=0,A7=0,n9=0,dt=0,p8=0,It=0,xt=0,Zr=0,Ir=0,Xs=0,Un=0,eo=0,Pn=0,to=0,io=0,On=0,ro=0,Wr=0,no=0,so=0,oo=0,qn=0,Ao=0,Hn=0,Yn=0,ao=0,jr=0,Jn=0,Xr=0,Vn=0,Kn=0,$o=0,lo=0,co=0,en=0,zn=0,go=0,Er=0,tn=0,ho=0,uo=0,rn=0,ci=0,Zn=0,fo=0,Io=0,Wn=0,jn=0,Xn=0,Eo=0,gi=0,nn=0,mo=0,es=0,Co=0,Bo=0,po=0,ts=0,Qo=0,yo=0,wo=0,ko=0,is=0,vo=0,So=0,sn=0,mr=0,on=0,bo=0,Wi=0,Do=0,rs=0,An=0,ns=0,an=0,_o=0,ss=0,os=0,xo=0,As=0,as=0,Ro=0,Cr=0,$s=0,hi=0,$n=0,Br=0,ji=0,pr=0,qi=0,Qr=0,ls=0,Hi=0,yi=0,wi=0,j7=0,ki=0,yr=0,Xi=0,er=0,wr=0,ui=0,Lo=0,a7=0,j$=0,ln=0,cn=0;if(ln=C,_=t+64|0,R=e[_>>2]|0,i2=R+4|0,O3=e[i2>>2]|0,_4=O3+28|0,H4=e[_4>>2]|0,ho=R+104|0,gi=e[ho>>2]|0,ko=t+104|0,An=e[ko>>2]|0,x=t+36|0,W=e[x>>2]|0,r0=O3+4|0,k0=e[r0>>2]|0,N0=k0<<2,a=N0,G0=C,C=C+((1*a|0)+15&-16)|0,l1=Ot(t,N0)|0,B1=e[r0>>2]|0,U1=B1<<2,W1=Ot(t,U1)|0,l2=e[r0>>2]|0,F2=l2<<2,O2=Ot(t,F2)|0,k2=An+4|0,_5=+s[k2>>2],g2=e[r0>>2]|0,R2=g2<<2,c=R2,F5=C,C=C+((1*c|0)+15&-16)|0,R3=An+8|0,M5=e[R3>>2]|0,V5=t+28|0,c6=e[V5>>2]|0,Y3=(H4+544|0)+(c6<<2)|0,n6=e[Y3>>2]|0,L6=gi+56|0,u9=e[L6>>2]|0,E4=(c6|0)!=0,A4=E4?2:0,b=A4+M5|0,a4=u9+(b*52|0)|0,U4=t+40|0,e[U4>>2]=c6,$e=(g2|0)>0,$e)for(l4=+(W|0),J3=4/l4,gt=(s[p2>>2]=J3,e[p2>>2]|0),k8=(W|0)/2&-1,S8=k8<<2,b8=gt&2147483647,o8=+(b8>>>0),Q4=o8*7177114298428933e-22,Ye=Q4+-764.6162109375,ot=Ye,ne=ot+.345,t7=ne,i7=gi+4|0,Y7=t+24|0,li=t+32|0,Gt=t7+-764.6162109375,Zr=W+-1|0,no=(Zr|0)>1,Vn=t7+-382.30810546875,Qr=_5,Hi=0;;){if(uo=e[t>>2]|0,rn=uo+(Hi<<2)|0,ci=e[rn>>2]|0,Zn=Ot(t,S8)|0,fo=W1+(Hi<<2)|0,e[fo>>2]=Zn,Io=Ot(t,S8)|0,Wn=l1+(Hi<<2)|0,e[Wn>>2]=Io,jn=e[Y7>>2]|0,Xn=e[V5>>2]|0,Eo=e[li>>2]|0,ab(ci,i7,H4,jn,Xn,Eo),nn=e[V5>>2]|0,mo=(gi+12|0)+(nn<<2)|0,es=e[mo>>2]|0,Co=e[es>>2]|0,Bo=e[Wn>>2]|0,nQ(Co,ci,Bo),po=e[V5>>2]|0,ts=(gi+20|0)+(po*12|0)|0,rb(ts,ci),Qo=e[ci>>2]|0,yo=Qo&2147483647,wo=+(yo>>>0),is=wo*7177114298428933e-22,vo=Gt+is,So=vo,sn=So+.345,mr=sn,s[ci>>2]=mr,on=F5+(Hi<<2)|0,s[on>>2]=mr,no)for(O=mr,yr=1;;)if(bo=ci+(yr<<2)|0,Wi=+s[bo>>2],Do=Wi*Wi,rs=yr+1|0,ns=ci+(rs<<2)|0,an=+s[ns>>2],_o=an*an,ss=_o+Do,os=(s[p2>>2]=ss,e[p2>>2]|0),xo=os&2147483647,As=+(xo>>>0),as=As*35885571492144663e-23,Ro=Vn+as,Cr=Ro,L=Cr+.345,M=L,T=rs>>1,N=ci+(T<<2)|0,s[N>>2]=M,G=M>O,G?(s[on>>2]=M,Er=M):Er=O,z=yr+2|0,Y=(z|0)<(Zr|0),Y)O=Er,yr=z;else{J=Er;break}else J=mr;if(t0=J>0,t0?(s[on>>2]=0,q=0):q=J,e0=q>Qr,ls=e0?q:Qr,X=Hi+1|0,U=e[r0>>2]|0,$0=(X|0)<(U|0),$0)Qr=ls,Hi=X;else{p=S8,v=k8,qi=ls;break}}else S=(W|0)/2&-1,w=S<<2,p=w,v=S,qi=_5;Z=Ot(t,p)|0,K=Ot(t,p)|0,a0=e[r0>>2]|0,n0=(a0|0)>0;e:do if(n0){if(i0=(W|0)>1,V=gi+48|0,i0)wi=0;else{for(yi=0;;){t6=(n6+4|0)+(yi<<2)|0,f6=e[t6>>2]|0,H3=l1+(yi<<2)|0,D3=e[H3>>2]|0,Z3=e[t>>2]|0,b6=Z3+(yi<<2)|0,A6=e[b6>>2]|0,t3=A6+(v<<2)|0,e[U4>>2]=c6,O6=Ot(t,60)|0,s3=O2+(yi<<2)|0,e[s3>>2]=O6,a7=O6,cn=a7+60|0;do e[a7>>2]=0,a7=a7+4|0;while((a7|0)<(cn|0));if(aQ(a4,t3,Z),a6=F5+(yi<<2)|0,d6=+s[a6>>2],$Q(a4,A6,K,qi,d6),z$(a4,Z,K,1,A6,D3,t3),_3=(n6+1028|0)+(f6<<2)|0,N6=e[_3>>2]|0,Q6=(H4+800|0)+(N6<<2)|0,R6=e[Q6>>2]|0,K6=(R6|0)==1,!K6){A=-1;break}if(I6=e[V>>2]|0,J6=I6+(N6<<2)|0,F3=e[J6>>2]|0,j6=K$(t,F3,t3,A6)|0,G6=e[s3>>2]|0,e9=G6+28|0,e[e9>>2]=j6,s9=_h(t)|0,U6=(s9|0)==0,U6||(D6=e[s3>>2]|0,z6=D6+28|0,y6=e[z6>>2]|0,F6=(y6|0)==0,F6||(z$(a4,Z,K,2,A6,D3,t3),M3=e[_3>>2]|0,M6=e[V>>2]|0,t9=M6+(M3<<2)|0,A9=e[t9>>2]|0,X6=K$(t,A9,t3,A6)|0,f9=e[s3>>2]|0,d9=f9+56|0,e[d9>>2]=X6,z$(a4,Z,K,0,A6,D3,t3),a9=e[_3>>2]|0,$9=e[V>>2]|0,T9=$9+(a9<<2)|0,E6=e[T9>>2]|0,T6=K$(t,E6,t3,A6)|0,i9=e[s3>>2]|0,e[i9>>2]=T6,N9=e[_3>>2]|0,I9=e[V>>2]|0,o4=I9+(N9<<2)|0,h4=e[o4>>2]|0,G9=e[s3>>2]|0,z9=e[G9>>2]|0,b9=G9+28|0,E9=e[b9>>2]|0,q6=L8(t,h4,z9,E9,9362)|0,r9=e[s3>>2]|0,m4=r9+4|0,e[m4>>2]=q6,S4=e[_3>>2]|0,y9=e[V>>2]|0,b4=y9+(S4<<2)|0,D4=e[b4>>2]|0,x4=e[s3>>2]|0,M4=e[x4>>2]|0,W4=x4+28|0,C4=e[W4>>2]|0,T4=L8(t,D4,M4,C4,18724)|0,U9=e[s3>>2]|0,N4=U9+8|0,e[N4>>2]=T4,R4=e[_3>>2]|0,u4=e[V>>2]|0,Ce=u4+(R4<<2)|0,q9=e[Ce>>2]|0,m9=e[s3>>2]|0,Be=e[m9>>2]|0,Ne=m9+28|0,Xe=e[Ne>>2]|0,G4=L8(t,q9,Be,Xe,28086)|0,Ge=e[s3>>2]|0,j4=Ge+12|0,e[j4>>2]=G4,be=e[_3>>2]|0,e8=e[V>>2]|0,Z9=e8+(be<<2)|0,ae=e[Z9>>2]|0,f4=e[s3>>2]|0,_6=e[f4>>2]|0,P4=f4+28|0,L9=e[P4>>2]|0,$4=L8(t,ae,_6,L9,37449)|0,W9=e[s3>>2]|0,le=W9+16|0,e[le>>2]=$4,ce=e[_3>>2]|0,B4=e[V>>2]|0,X4=B4+(ce<<2)|0,L4=e[X4>>2]|0,ge=e[s3>>2]|0,C9=e[ge>>2]|0,g6=ge+28|0,Ue=e[g6>>2]|0,pe=L8(t,L4,C9,Ue,46811)|0,p4=e[s3>>2]|0,c4=p4+20|0,e[c4>>2]=pe,P6=e[_3>>2]|0,De=e[V>>2]|0,_e=De+(P6<<2)|0,t8=e[_e>>2]|0,g4=e[s3>>2]|0,k4=e[g4>>2]|0,u8=g4+28|0,w9=e[u8>>2]|0,B9=L8(t,t8,k4,w9,56173)|0,F4=e[s3>>2]|0,ee=F4+24|0,e[ee>>2]=B9,$t=e[_3>>2]|0,xe=e[V>>2]|0,lt=xe+($t<<2)|0,Qt=e[lt>>2]|0,z8=e[s3>>2]|0,ct=z8+28|0,F8=e[ct>>2]|0,M8=z8+56|0,T8=e[M8>>2]|0,N8=L8(t,Qt,F8,T8,9362)|0,Z8=e[s3>>2]|0,W8=Z8+32|0,e[W8>>2]=N8,yt=e[_3>>2]|0,G8=e[V>>2]|0,U8=G8+(yt<<2)|0,P8=e[U8>>2]|0,v8=e[s3>>2]|0,f8=v8+28|0,O8=e[f8>>2]|0,q8=v8+56|0,j8=e[q8>>2]|0,X8=L8(t,P8,O8,j8,18724)|0,d8=e[s3>>2]|0,Pe=d8+36|0,e[Pe>>2]=X8,Re=e[_3>>2]|0,i8=e[V>>2]|0,k9=i8+(Re<<2)|0,ht=e[k9>>2]|0,Qe=e[s3>>2]|0,ut=Qe+28|0,wt=e[ut>>2]|0,et=Qe+56|0,kt=e[et>>2]|0,te=L8(t,ht,wt,kt,28086)|0,tt=e[s3>>2]|0,H8=tt+40|0,e[H8>>2]=te,r8=e[_3>>2]|0,O4=e[V>>2]|0,Le=O4+(r8<<2)|0,n8=e[Le>>2]|0,I8=e[s3>>2]|0,D8=I8+28|0,he=e[D8>>2]|0,j9=I8+56|0,s8=e[j9>>2]|0,E8=L8(t,n8,he,s8,37449)|0,m8=e[s3>>2]|0,ue=m8+44|0,e[ue>>2]=E8,ye=e[_3>>2]|0,Oe=e[V>>2]|0,qe=Oe+(ye<<2)|0,X9=e[qe>>2]|0,Fe=e[s3>>2]|0,fe=Fe+28|0,A8=e[fe>>2]|0,we=Fe+56|0,C8=e[we>>2]|0,it=L8(t,X9,A8,C8,46811)|0,q4=e[s3>>2]|0,I3=q4+48|0,e[I3>>2]=it,He=e[_3>>2]|0,B8=e[V>>2]|0,ie=B8+(He<<2)|0,H9=e[ie>>2]|0,re=e[s3>>2]|0,D9=re+28|0,Y8=e[D9>>2]|0,ft=re+56|0,rt=e[ft>>2]|0,nt=L8(t,H9,Y8,rt,56173)|0,J8=e[s3>>2]|0,st=J8+52|0,e[st>>2]=nt)),V8=yi+1|0,a8=e[r0>>2]|0,$8=(V8|0)<(a8|0),$8)yi=V8;else{B=V,x8=a8;break e}}return C=ln,A|0}for(;;){x6=(n6+4|0)+(wi<<2)|0,d0=e[x6>>2]|0,Y6=l1+(wi<<2)|0,c0=e[Y6>>2]|0,C6=e[t>>2]|0,b3=C6+(wi<<2)|0,j=e[b3>>2]|0,h0=j+(v<<2)|0,e[U4>>2]=c6,e6=Ot(t,60)|0,Q0=O2+(wi<<2)|0,e[Q0>>2]=e6,a7=e6,cn=a7+60|0;do e[a7>>2]=0,a7=a7+4|0;while((a7|0)<(cn|0));for(Xi=0;j3=c0+(Xi<<2)|0,S3=e[j3>>2]|0,g3=S3&2147483647,q3=+(g3>>>0),l6=q3*7177114298428933e-22,d3=l6+-764.6162109375,k6=d3,v6=k6+.345,S6=v6,Q=Xi+v|0,B6=j+(Q<<2)|0,s[B6>>2]=S6,X3=Xi+1|0,p6=(X3|0)<(v|0),p6;)Xi=X3;if(aQ(a4,h0,Z),s0=F5+(wi<<2)|0,g0=+s[s0>>2],$Q(a4,j,K,qi,g0),z$(a4,Z,K,1,j,c0,h0),u0=(n6+1028|0)+(d0<<2)|0,w0=e[u0>>2]|0,C0=(H4+800|0)+(w0<<2)|0,f0=e[C0>>2]|0,B0=(f0|0)==1,!B0){A=-1;break}if(p0=e[V>>2]|0,I0=p0+(w0<<2)|0,S0=e[I0>>2]|0,K0=K$(t,S0,h0,j)|0,_0=e[Q0>>2]|0,F0=_0+28|0,e[F0>>2]=K0,M0=_h(t)|0,U0=(M0|0)==0,U0||(y0=e[Q0>>2]|0,Y0=y0+28|0,L0=e[Y0>>2]|0,D0=(L0|0)==0,D0||(z$(a4,Z,K,2,j,c0,h0),T0=e[u0>>2]|0,V0=e[V>>2]|0,J0=V0+(T0<<2)|0,P0=e[J0>>2]|0,z0=K$(t,P0,h0,j)|0,O0=e[Q0>>2]|0,r1=O0+56|0,e[r1>>2]=z0,z$(a4,Z,K,0,j,c0,h0),H0=e[u0>>2]|0,e1=e[V>>2]|0,b0=e1+(H0<<2)|0,i1=e[b0>>2]|0,c1=K$(t,i1,h0,j)|0,$1=e[Q0>>2]|0,e[$1>>2]=c1,f1=e[u0>>2]|0,g1=e[V>>2]|0,s1=g1+(f1<<2)|0,a1=e[s1>>2]|0,n1=e[Q0>>2]|0,o1=e[n1>>2]|0,Z0=n1+28|0,I1=e[Z0>>2]|0,h1=L8(t,a1,o1,I1,9362)|0,m1=e[Q0>>2]|0,d1=m1+4|0,e[d1>>2]=h1,E1=e[u0>>2]|0,p1=e[V>>2]|0,Q1=p1+(E1<<2)|0,_1=e[Q1>>2]|0,x1=e[Q0>>2]|0,w1=e[x1>>2]|0,S1=x1+28|0,R1=e[S1>>2]|0,F1=L8(t,_1,w1,R1,18724)|0,G1=e[Q0>>2]|0,k1=G1+8|0,e[k1>>2]=F1,Z1=e[u0>>2]|0,N1=e[V>>2]|0,b1=N1+(Z1<<2)|0,V1=e[b1>>2]|0,O1=e[Q0>>2]|0,q1=e[O1>>2]|0,H1=O1+28|0,Y1=e[H1>>2]|0,j1=L8(t,V1,q1,Y1,28086)|0,n2=e[Q0>>2]|0,P1=n2+12|0,e[P1>>2]=j1,c2=e[u0>>2]|0,z1=e[V>>2]|0,u2=z1+(c2<<2)|0,o2=e[u2>>2]|0,E2=e[Q0>>2]|0,A2=e[E2>>2]|0,K1=E2+28|0,h2=e[K1>>2]|0,$2=L8(t,o2,A2,h2,37449)|0,r2=e[Q0>>2]|0,a2=r2+16|0,e[a2>>2]=$2,X1=e[u0>>2]|0,s2=e[V>>2]|0,f2=s2+(X1<<2)|0,e2=e[f2>>2]|0,y2=e[Q0>>2]|0,v2=e[y2>>2]|0,w2=y2+28|0,C2=e[w2>>2]|0,D2=L8(t,e2,v2,C2,46811)|0,N2=e[Q0>>2]|0,d2=N2+20|0,e[d2>>2]=D2,K2=e[u0>>2]|0,G2=e[V>>2]|0,H2=G2+(K2<<2)|0,M2=e[H2>>2]|0,P2=e[Q0>>2]|0,z2=e[P2>>2]|0,o5=P2+28|0,T1=e[o5>>2]|0,X2=L8(t,M2,z2,T1,56173)|0,R5=e[Q0>>2]|0,e5=R5+24|0,e[e5>>2]=X2,b5=e[u0>>2]|0,Z2=e[V>>2]|0,f5=Z2+(b5<<2)|0,v5=e[f5>>2]|0,P5=e[Q0>>2]|0,l5=P5+28|0,m5=e[l5>>2]|0,n5=P5+56|0,x2=e[n5>>2]|0,_2=L8(t,v5,m5,x2,9362)|0,B2=e[Q0>>2]|0,C5=B2+32|0,e[C5>>2]=_2,L5=e[u0>>2]|0,d5=e[V>>2]|0,D5=d5+(L5<<2)|0,G5=e[D5>>2]|0,q2=e[Q0>>2]|0,I5=q2+28|0,A5=e[I5>>2]|0,c5=q2+56|0,B5=e[c5>>2]|0,M1=L8(t,G5,A5,B5,18724)|0,S5=e[Q0>>2]|0,g5=S5+36|0,e[g5>>2]=M1,a5=e[u0>>2]|0,W2=e[V>>2]|0,p5=W2+(a5<<2)|0,t5=e[p5>>2]|0,s5=e[Q0>>2]|0,h5=s5+28|0,J2=e[h5>>2]|0,u5=s5+56|0,i5=e[u5>>2]|0,x5=L8(t,t5,J2,i5,28086)|0,j2=e[Q0>>2]|0,$5=j2+40|0,e[$5>>2]=x5,Q5=e[u0>>2]|0,q5=e[V>>2]|0,j5=q5+(Q5<<2)|0,E5=e[j5>>2]|0,f3=e[Q0>>2]|0,h3=f3+28|0,Y5=e[h3>>2]|0,X5=f3+56|0,n3=e[X5>>2]|0,m3=L8(t,E5,Y5,n3,37449)|0,J5=e[Q0>>2]|0,k3=J5+44|0,e[k3>>2]=m3,u3=e[u0>>2]|0,p3=e[V>>2]|0,z3=p3+(u3<<2)|0,G3=e[z3>>2]|0,K5=e[Q0>>2]|0,w3=K5+28|0,Z5=e[w3>>2]|0,i6=K5+56|0,U3=e[i6>>2]|0,a3=L8(t,G3,Z5,U3,46811)|0,l3=e[Q0>>2]|0,c3=l3+48|0,e[c3>>2]=a3,C3=e[u0>>2]|0,H5=e[V>>2]|0,U5=H5+(C3<<2)|0,O5=e[U5>>2]|0,k5=e[Q0>>2]|0,P3=k5+28|0,o6=e[P3>>2]|0,e3=k5+56|0,A3=e[e3>>2]|0,L3=L8(t,O5,o6,A3,56173)|0,u6=e[Q0>>2]|0,Q3=u6+52|0,e[Q3>>2]=L3)),v3=wi+1|0,y3=e[r0>>2]|0,r6=(v3|0)<(y3|0),r6)wi=v3;else{B=V,x8=y3;break e}}return C=ln,A|0}else y=gi+48|0,B=y,x8=a0;while(!1);for(s[k2>>2]=qi,_8=x8<<2,u=_8,Je=C,C=C+((1*u|0)+15&-16)|0,E=_8,p9=C,C=C+((1*E|0)+15&-16)|0,At=_h(t)|0,Ve=(At|0)!=0,Mt=Ve?0:7,qt=gi+44|0,vt=t+24|0,at=t+32|0,St=H4+2868|0,Tt=gi+52|0,ui=Mt;;){if(Ht=(An+12|0)+(ui<<2)|0,l8=e[Ht>>2]|0,U2(l8,0,1),R8=e[qt>>2]|0,U2(l8,c6,R8),bt=e[V5>>2]|0,K8=(bt|0)==0,K8||(Me=e[vt>>2]|0,U2(l8,Me,1),de=e[at>>2]|0,U2(l8,de,1)),e4=e[r0>>2]|0,Dt=(e4|0)>0,Dt)for(j7=0;;)if(G7=(n6+4|0)+(j7<<2)|0,U7=e[G7>>2]|0,P7=W1+(j7<<2)|0,d7=e[P7>>2]|0,Yt=(n6+1028|0)+(U7<<2)|0,I7=e[Yt>>2]|0,Jt=e[B>>2]|0,E7=Jt+(I7<<2)|0,Vt=e[E7>>2]|0,m7=O2+(j7<<2)|0,oi=e[m7>>2]|0,O7=oi+(ui<<2)|0,C7=e[O7>>2]|0,B7=lS(l8,t,Vt,C7,d7)|0,Ai=G0+(j7<<2)|0,e[Ai>>2]=B7,p7=j7+1|0,r7=e[r0>>2]|0,ai=(p7|0)<(r7|0),ai)j7=p7;else{I=r7;break}else I=e4;if(q7=e[V5>>2]|0,H7=((H4+3240|0)+(q7*60|0)|0)+(ui<<2)|0,J7=e[H7>>2]|0,MS(ui,St,a4,n6,l1,W1,G0,J7,I),n7=e[n6>>2]|0,Q7=(n7|0)>0,Q7)for(ki=0;;){if(V7=(n6+1092|0)+(ki<<2)|0,Kt=e[V7>>2]|0,s7=e[r0>>2]|0,Nt=(s7|0)>0,Nt)for(tn=s7,hi=0,er=0;;)if(zt=(n6+4|0)+(er<<2)|0,$i=e[zt>>2]|0,K7=($i|0)==(ki|0),K7?(y7=p9+(hi<<2)|0,z7=G0+(er<<2)|0,w7=e[z7>>2]|0,Lo=(w7|0)!=0,n=Lo&1,e[y7>>2]=n,k7=W1+(er<<2)|0,Z7=e[k7>>2]|0,v7=hi+1|0,Zt=Je+(hi<<2)|0,e[Zt>>2]=Z7,m=e[r0>>2]|0,o7=m,$n=v7):(o7=tn,$n=hi),S7=er+1|0,W7=(S7|0)<(o7|0),W7)tn=o7,hi=$n,er=S7;else{$s=$n;break}else $s=0;if(b7=(H4+1312|0)+(Kt<<2)|0,ke=e[b7>>2]|0,D7=25648+(ke<<2)|0,_t=e[D7>>2]|0,A7=_t+20|0,n9=e[A7>>2]|0,dt=e[Tt>>2]|0,p8=dt+(Kt<<2)|0,It=e[p8>>2]|0,xt=mB[n9&7](t,It,Je,p9,$s)|0,Ir=e[r0>>2]|0,Xs=(Ir|0)>0,Xs)for(ji=0,wr=0;;)if(Un=(n6+4|0)+(wr<<2)|0,eo=e[Un>>2]|0,Pn=(eo|0)==(ki|0),Pn?(to=W1+(wr<<2)|0,io=e[to>>2]|0,On=ji+1|0,ro=Je+(ji<<2)|0,e[ro>>2]=io,pr=On):pr=ji,Wr=wr+1|0,so=(Wr|0)<(Ir|0),so)ji=pr,wr=Wr;else{Br=pr;break}else Br=0;if(oo=e[b7>>2]|0,qn=25648+(oo<<2)|0,Ao=e[qn>>2]|0,Hn=Ao+24|0,Yn=e[Hn>>2]|0,ao=e[Tt>>2]|0,jr=ao+(Kt<<2)|0,Jn=e[jr>>2]|0,DQ[Yn&3](l8,t,Jn,Je,p9,Br,xt,ki)|0,Xr=ki+1|0,Kn=e[n6>>2]|0,$o=(Xr|0)<(Kn|0),$o)ki=Xr;else break}if(lo=ui+1|0,co=_h(t)|0,en=(co|0)!=0,zn=en?14:7,go=(ui|0)<(zn|0),go)ui=lo;else{A=0;break}}return C=ln,A|0}function bS(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,R5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,R2=0;if(R2=C,S=t+64|0,w=e[S>>2]|0,m1=w+4|0,F1=e[m1>>2]|0,Y1=F1+28|0,K1=e[Y1>>2]|0,y2=w+104|0,M2=e[y2>>2]|0,f5=t+28|0,L5=e[f5>>2]|0,y=K1+(L5<<2)|0,O=e[y>>2]|0,Z=t+36|0,e[Z>>2]=O,c0=F1+4|0,K0=e[c0>>2]|0,T0=K0<<2,c=T0,i1=C,C=C+((1*c|0)+15&-16)|0,u=T0,Z0=C,C=C+((1*u|0)+15&-16)|0,E=T0,I1=C,C=C+((1*E|0)+15&-16)|0,I=T0,h1=C,C=C+((1*I|0)+15&-16)|0,d1=e[c0>>2]|0,E1=(d1|0)>0,E1)for(B1=n+4|0,p1=n+1028|0,Q1=M2+48|0,_1=O<<1,x1=_1&2147483646,W2=0;;)if(U1=B1+(W2<<2)|0,Z1=e[U1>>2]|0,N1=p1+(Z1<<2)|0,b1=e[N1>>2]|0,V1=(K1+800|0)+(b1<<2)|0,O1=e[V1>>2]|0,q1=25640+(O1<<2)|0,H1=e[q1>>2]|0,j1=H1+20|0,n2=e[j1>>2]|0,W1=e[Q1>>2]|0,P1=W1+(b1<<2)|0,c2=e[P1>>2]|0,z1=f7[n2&15](t,c2)|0,u2=h1+(W2<<2)|0,e[u2>>2]=z1,o2=I1+(W2<<2)|0,j2=(z1|0)!=0,A=j2&1,e[o2>>2]=A,E2=e[t>>2]|0,A2=E2+(W2<<2)|0,h2=e[A2>>2]|0,Ae(h2|0,0,x1|0)|0,$2=W2+1|0,i2=e[c0>>2]|0,l2=($2|0)<(i2|0),l2)W2=$2;else{n1=i2;break}else n1=d1;if(w1=n+1156|0,S1=e[w1>>2]|0,R1=(S1|0)>0,R1)for(G1=n+1160|0,k1=n+2184|0,g2=0;e2=G1+(g2<<2)|0,v2=e[e2>>2]|0,w2=I1+(v2<<2)|0,C2=e[w2>>2]|0,F2=(C2|0)==0,D2=k1+(g2<<2)|0,N2=e[D2>>2]|0,F2?(d2=I1+(N2<<2)|0,K2=e[d2>>2]|0,G2=(K2|0)==0,G2||($5=10)):$5=10,($5|0)==10&&($5=0,e[w2>>2]=1,H2=I1+(N2<<2)|0,e[H2>>2]=1),P2=g2+1|0,z2=(P2|0)<(S1|0),z2;)g2=P2;if(r2=e[n>>2]|0,a2=(r2|0)>0,a2){for(X1=n+1092|0,s2=M2+52|0,f2=n+4|0,o5=n1,p5=0;;){if(O2=(o5|0)>0,O2)for(o1=o5,g5=0,u5=0;;)if(T1=f2+(u5<<2)|0,X2=e[T1>>2]|0,R5=(X2|0)==(p5|0),R5?(e5=I1+(u5<<2)|0,b5=e[e5>>2]|0,Z2=Z0+(g5<<2)|0,x5=(b5|0)!=0,a=x5&1,e[Z2>>2]=a,v5=e[t>>2]|0,P5=v5+(u5<<2)|0,l5=e[P5>>2]|0,k2=g5+1|0,m5=i1+(g5<<2)|0,e[m5>>2]=l5,B=e[c0>>2]|0,_2=B,a5=k2):(_2=o1,a5=g5),n5=u5+1|0,x2=(n5|0)<(_2|0),x2)o1=_2,g5=a5,u5=n5;else{S5=a5;break}else S5=0;if(B2=X1+(p5<<2)|0,C5=e[B2>>2]|0,d5=(K1+1312|0)+(C5<<2)|0,D5=e[d5>>2]|0,G5=25648+(D5<<2)|0,_5=e[G5>>2]|0,q2=_5+28|0,I5=e[q2>>2]|0,A5=e[s2>>2]|0,c5=A5+(C5<<2)|0,B5=e[c5>>2]|0,mB[I5&7](t,B5,i1,Z0,S5)|0,M1=p5+1|0,b=e[n>>2]|0,Q=(M1|0)<(b|0),!Q)break;p=e[c0>>2]|0,o5=p,p5=M1}v=e[w1>>2]|0,_=v}else _=S1;if(R=(_|0)>0,R)for(x=n+1160|0,L=e[t>>2]|0,M=n+2184|0,T=(O|0)/2&-1,N=(O|0)>1,s5=_;;){if(t5=s5+-1|0,e0=x+(t5<<2)|0,q=e[e0>>2]|0,X=L+(q<<2)|0,U=e[X>>2]|0,$0=M+(t5<<2)|0,K=e[$0>>2]|0,a0=L+(K<<2)|0,n0=e[a0>>2]|0,N)for(i5=0;;){i0=U+(i5<<2)|0,r0=+s[i0>>2],V=n0+(i5<<2)|0,h0=+s[V>>2],s0=r0>0,g0=h0>0;do if(s0)if(g0){s[i0>>2]=r0,j=r0-h0,s[V>>2]=j;break}else{s[V>>2]=r0,u0=h0+r0,s[i0>>2]=u0;break}else if(g0){s[i0>>2]=r0,d0=h0+r0,s[V>>2]=d0;break}else{s[V>>2]=r0,w0=r0-h0,s[i0>>2]=w0;break}while(!1);if(C0=i5+1|0,k0=(C0|0)<(T|0),k0)i5=C0;else break}if(G=(s5|0)>1,G)s5=t5;else break}if(z=e[c0>>2]|0,Y=(z|0)>0,!Y)return C=R2,0;for(t0=n+4|0,J=n+1028|0,W=M2+48|0,h5=0;;)if(B0=e[t>>2]|0,p0=B0+(h5<<2)|0,I0=e[p0>>2]|0,S0=t0+(h5<<2)|0,_0=e[S0>>2]|0,Q0=J+(_0<<2)|0,F0=e[Q0>>2]|0,M0=(K1+800|0)+(F0<<2)|0,N0=e[M0>>2]|0,U0=25640+(N0<<2)|0,y0=e[U0>>2]|0,Y0=y0+24|0,L0=e[Y0>>2]|0,D0=e[W>>2]|0,V0=D0+(F0<<2)|0,J0=e[V0>>2]|0,P0=h1+(h5<<2)|0,z0=e[P0>>2]|0,IB[L0&3](t,J0,z0,I0)|0,G0=h5+1|0,O0=e[c0>>2]|0,r1=(G0|0)<(O0|0),r1)h5=G0;else{m=O0;break}if(f0=(m|0)>0,!f0)return C=R2,0;for(J2=0;H0=e[t>>2]|0,e1=H0+(J2<<2)|0,b0=e[e1>>2]|0,c1=e[f5>>2]|0,$1=(M2+12|0)+(c1<<2)|0,f1=e[$1>>2]|0,g1=e[f1>>2]|0,DS(g1,b0,b0),l1=J2+1|0,s1=e[c0>>2]|0,a1=(l1|0)<(s1|0),a1;)J2=l1;return C=R2,0}function cB(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0;if(w1=C,A=(n|0)/4&-1,a=A<<2,y=S9(a)|0,O=A+n|0,Z=O<<2,c0=S9(Z)|0,K0=n>>1,T0=+(n|0),i1=T0,I1=+Kr(+i1),c=I1*1.4426950408889634,u=+Pi(c),E=~~u,I=t+4|0,e[I>>2]=E,e[t>>2]=n,m=t+8|0,e[m>>2]=c0,p=t+12|0,e[p>>2]=y,B=(n|0)>3,!B){Z0=4/T0,h1=t+16|0,s[h1>>2]=Z0;return}for(v=+(n|0),S=3.141592653589793/v,w=n<<1,b=+(w|0),Q=3.141592653589793/b,B1=0;M=B1<<2,T=+(M|0),N=S*T,G=+zA(+N),z=G,Y=B1<<1,t0=c0+(Y<<2)|0,s[t0>>2]=z,J=+Nn(+N),W=J,e0=-W,q=Y|1,X=c0+(q<<2)|0,s[X>>2]=e0,U=+(q|0),$0=Q*U,K=+zA(+$0),a0=K,n0=Y+K0|0,i0=c0+(n0<<2)|0,s[i0>>2]=a0,r0=+Nn(+$0),V=r0,h0=n0+1|0,s0=c0+(h0<<2)|0,s[s0>>2]=V,g0=B1+1|0,j=(g0|0)<(A|0),j;)B1=g0;if(_=(n|0)/8&-1,R=(n|0)>7,!R){Z0=4/T0,h1=t+16|0,s[h1>>2]=Z0;return}for(x=+(n|0),L=3.141592653589793/x,p1=0;u0=p1<<2,d0=u0|2,w0=+(d0|0),C0=L*w0,k0=+zA(+C0),f0=k0*.5,B0=f0,p0=p1<<1,I0=p0+n|0,S0=c0+(I0<<2)|0,s[S0>>2]=B0,_0=+Nn(+C0),Q0=_0*-.5,F0=Q0,M0=I0+1|0,N0=c0+(M0<<2)|0,s[N0>>2]=F0,U0=p1+1|0,y0=(U0|0)<(_|0),y0;)p1=U0;if(Y0=E+-1|0,L0=1<>2]=Z0;return}for(;;){for(z0=J0,m1=0,_1=0;;)if(P0=z0&Q1,G0=(P0|0)==0,O0=1<<_1,r1=G0?0:O0,d1=r1|m1,H0=_1+1|0,e1=J0>>H0,b0=(e1|0)==0,b0){E1=d1;break}else z0=e1,m1=d1,_1=H0;if(c1=E1^-1,$1=D0&c1,f1=$1+-1|0,g1=Q1<<1,l1=y+(g1<<2)|0,e[l1>>2]=f1,s1=g1|1,a1=y+(s1<<2)|0,e[a1>>2]=E1,n1=Q1+1|0,o1=(n1|0)<(_|0),o1)Q1=n1;else break}Z0=4/T0,h1=t+16|0,s[h1>>2]=Z0}function gB(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0;p=C,n=(t|0)==0,!n&&(A=t+8|0,a=e[A>>2]|0,c=(a|0)==0,c||I2(a),u=t+12|0,E=e[u>>2]|0,I=(E|0)==0,I||I2(E),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0)}function DS(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,R5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,R2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,k3=0,u3=0,p3=0,z3=0,G3=0,K5=0,w3=0,Z5=0,i6=0,R3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,L3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0;for(q3=C,E=e[t>>2]|0,I=E>>1,W1=E>>2,a=I+-7|0,K2=n+(a<<2)|0,c=I+W1|0,e5=A+(c<<2)|0,_2=t+8|0,c5=e[_2>>2]|0,h5=c5+(W1<<2)|0,c3=h5,U5=K2,v3=e5;E5=v3+-16|0,p3=U5+8|0,m=+s[p3>>2],x=c3+12|0,W=+s[x>>2],r0=m*W,k0=-r0,N0=+s[U5>>2],G0=c3+8|0,l1=+s[G0>>2],B1=l1*N0,U1=k0-B1,s[E5>>2]=U1,P1=+s[U5>>2],l2=+s[x>>2],y2=l2*P1,v2=+s[p3>>2],w2=+s[G0>>2],C2=w2*v2,F2=y2-C2,D2=v3+-12|0,s[D2>>2]=F2,N2=U5+24|0,d2=+s[N2>>2],G2=c3+4|0,H2=+s[G2>>2],M2=d2*H2,P2=-M2,z2=U5+16|0,o5=+s[z2>>2],O2=+s[c3>>2],T1=O2*o5,X2=P2-T1,R5=v3+-8|0,s[R5>>2]=X2,b5=+s[z2>>2],Z2=+s[G2>>2],f5=Z2*b5,v5=+s[N2>>2],P5=+s[c3>>2],l5=P5*v5,k2=f5-l5,m5=v3+-4|0,s[m5>>2]=k2,n5=U5+-32|0,x2=c3+16|0,B2=n5>>>0>>0,!B2;)c3=x2,U5=n5,v3=E5;for(C5=A+(I<<2)|0,u=I+-8|0,L5=n+(u<<2)|0,C3=h5,O5=L5,y3=e5;d5=C3+-16|0,D5=O5+16|0,G5=+s[D5>>2],_5=C3+-4|0,q2=+s[_5>>2],I5=q2*G5,A5=O5+24|0,B5=+s[A5>>2],M1=C3+-8|0,S5=+s[M1>>2],g5=S5*B5,a5=g5+I5,s[y3>>2]=a5,W2=+s[D5>>2],g2=+s[M1>>2],p5=g2*W2,t5=+s[A5>>2],s5=+s[_5>>2],J2=s5*t5,u5=p5-J2,i5=y3+4|0,s[i5>>2]=u5,x5=+s[O5>>2],j2=C3+-12|0,$5=+s[j2>>2],R2=$5*x5,Q5=O5+8|0,q5=+s[Q5>>2],j5=+s[d5>>2],f3=j5*q5,h3=f3+R2,Y5=y3+8|0,s[Y5>>2]=h3,X5=+s[O5>>2],n3=+s[d5>>2],m3=n3*X5,F5=+s[Q5>>2],J5=+s[j2>>2],k3=J5*F5,u3=m3-k3,z3=y3+12|0,s[z3>>2]=u3,G3=O5+-32|0,K5=y3+16|0,w3=G3>>>0>>0,!w3;)C3=d5,O5=G3,y3=K5;for(o6=t+4|0,e3=e[o6>>2]|0,sQ(e3,c5,C5,I),A3=e[t>>2]|0,L3=e[_2>>2]|0,u6=t+12|0,Q3=e[u6>>2]|0,oQ(A3,L3,Q3,A),Z5=e[_2>>2]|0,i6=Z5+(I<<2)|0,H5=i6,k5=A,r6=e5,V5=e5;R3=r6+-16|0,U3=+s[k5>>2],a3=H5+4|0,l3=+s[a3>>2],p=l3*U3,B=k5+4|0,v=+s[B>>2],S=+s[H5>>2],w=S*v,y=p-w,b=r6+-4|0,s[b>>2]=y,Q=+s[k5>>2],_=+s[H5>>2],R=_*Q,L=+s[B>>2],M=+s[a3>>2],T=M*L,N=R+T,G=-N,s[V5>>2]=G,O=k5+8|0,z=+s[O>>2],Y=H5+12|0,t0=+s[Y>>2],J=t0*z,e0=k5+12|0,q=+s[e0>>2],X=H5+8|0,U=+s[X>>2],$0=U*q,Z=J-$0,K=r6+-8|0,s[K>>2]=Z,a0=+s[O>>2],n0=+s[X>>2],i0=n0*a0,V=+s[e0>>2],h0=+s[Y>>2],s0=h0*V,g0=i0+s0,j=-g0,c0=V5+4|0,s[c0>>2]=j,u0=k5+16|0,d0=+s[u0>>2],w0=H5+20|0,C0=+s[w0>>2],f0=C0*d0,B0=k5+20|0,p0=+s[B0>>2],I0=H5+16|0,S0=+s[I0>>2],K0=S0*p0,_0=f0-K0,Q0=r6+-12|0,s[Q0>>2]=_0,F0=+s[u0>>2],M0=+s[I0>>2],U0=M0*F0,y0=+s[B0>>2],Y0=+s[w0>>2],L0=Y0*y0,D0=U0+L0,T0=-D0,V0=V5+8|0,s[V0>>2]=T0,J0=k5+24|0,P0=+s[J0>>2],z0=H5+28|0,O0=+s[z0>>2],r1=O0*P0,H0=k5+28|0,e1=+s[H0>>2],b0=H5+24|0,i1=+s[b0>>2],c1=i1*e1,$1=r1-c1,s[R3>>2]=$1,f1=+s[J0>>2],g1=+s[b0>>2],s1=g1*f1,a1=+s[H0>>2],n1=+s[z0>>2],o1=n1*a1,Z0=s1+o1,I1=-Z0,h1=V5+12|0,s[h1>>2]=I1,m1=V5+16|0,d1=k5+32|0,E1=H5+32|0,p1=d1>>>0>>0,p1;)H5=E1,k5=d1,r6=R3,V5=m1;for(Q1=A+(W1<<2)|0,P3=e5,j3=Q1,S3=Q1;;)if(_1=j3+-16|0,x1=P3+-16|0,w1=P3+-4|0,S1=+s[w1>>2],R1=j3+-4|0,s[R1>>2]=S1,F1=-S1,s[S3>>2]=F1,G1=P3+-8|0,k1=+s[G1>>2],Z1=j3+-8|0,s[Z1>>2]=k1,N1=-k1,b1=S3+4|0,s[b1>>2]=N1,V1=P3+-12|0,O1=+s[V1>>2],q1=j3+-12|0,s[q1>>2]=O1,H1=-O1,Y1=S3+8|0,s[Y1>>2]=H1,j1=+s[x1>>2],s[_1>>2]=j1,n2=-j1,c2=S3+12|0,s[c2>>2]=n2,z1=S3+16|0,u2=z1>>>0>>0,u2)P3=x1,j3=_1,S3=z1;else{M5=e5,O3=e5;break}for(;o2=O3+-16|0,E2=M5+12|0,A2=e[E2>>2]|0,e[o2>>2]=A2,K1=M5+8|0,h2=e[K1>>2]|0,$2=O3+-12|0,e[$2>>2]=h2,i2=M5+4|0,r2=e[i2>>2]|0,a2=O3+-8|0,e[a2>>2]=r2,X1=e[M5>>2]|0,s2=O3+-4|0,e[s2>>2]=X1,f2=M5+16|0,e2=o2>>>0>C5>>>0,e2;)M5=f2,O3=o2}function nQ(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,R5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,R2=0,Q5=0,q5=0;if(q5=C,w=e[t>>2]|0,y=w>>1,r1=w>>2,a1=w>>3,Q1=w<<2,a=Q1,N1=C,C=C+((1*a|0)+15&-16)|0,c2=N1+(y<<2)|0,c=y+r1|0,r2=n+(c<<2)|0,D2=t+8|0,T1=e[D2>>2]|0,b=T1+(y<<2)|0,z=(a1|0)>0,z){for(u=c+1|0,K=n+(u<<2)|0,u0=a1+-1|0,_0=u0>>>1,V0=_0<<1,P0=y+-2|0,z0=P0-V0|0,G0=c+-4|0,O0=_0<<2,H0=G0-O0|0,n5=b,D5=0,h5=r2,x5=K;e1=h5+-16|0,b0=n5+-8|0,i1=h5+-8|0,c1=+s[i1>>2],$1=+s[x5>>2],f1=$1+c1,g1=+s[e1>>2],l1=x5+8|0,s1=+s[l1>>2],n1=s1+g1,o1=n5+-4|0,Z0=+s[o1>>2],I1=n1*Z0,h1=+s[b0>>2],m1=h1*f1,d1=m1+I1,v=D5+y|0,E1=N1+(v<<2)|0,s[E1>>2]=d1,B1=+s[b0>>2],p1=B1*n1,_1=+s[o1>>2],x1=_1*f1,w1=p1-x1,S1=D5|1,S=S1+y|0,R1=N1+(S<<2)|0,s[R1>>2]=w1,F1=x5+16|0,G1=D5+2|0,k1=(G1|0)<(a1|0),k1;)n5=b0,D5=G1,h5=e1,x5=F1;U1=V0+2|0,g2=T1+(z0<<2)|0,p5=n+(H0<<2)|0,O2=z0,m5=g2,d5=U1,s5=p5}else O2=y,m5=b,d5=0,s5=r2;if(Z1=n+4|0,b1=y-a1|0,V1=(d5|0)<(b1|0),V1){for(O1=y+-1|0,q1=O1-d5|0,H1=q1-a1|0,Y1=H1>>>1,j1=Y1<<1,n2=d5+j1|0,W1=Y1<<2,P1=W1+5|0,z1=-2-j1|0,_2=m5,_5=d5,J2=s5,$5=Z1;u2=_2+-8|0,o2=J2+-16|0,E2=J2+-8|0,A2=+s[E2>>2],K1=+s[$5>>2],h2=A2-K1,$2=+s[o2>>2],i2=$5+8|0,l2=+s[i2>>2],a2=$2-l2,X1=_2+-4|0,s2=+s[X1>>2],f2=a2*s2,e2=+s[u2>>2],y2=e2*h2,v2=y2+f2,m=_5+y|0,w2=N1+(m<<2)|0,s[w2>>2]=v2,C2=+s[u2>>2],F2=C2*a2,N2=+s[X1>>2],d2=N2*h2,K2=F2-d2,G2=_5|1,p=G2+y|0,H2=N1+(p<<2)|0,s[H2>>2]=K2,M2=$5+16|0,P2=_5+2|0,z2=(P2|0)<(b1|0),z2;)_2=u2,_5=P2,J2=o2,$5=M2;o5=n2+2|0,a5=n+(P1<<2)|0,B=O2+z1|0,W2=T1+(B<<2)|0,x2=W2,G5=o5,j2=a5}else x2=m5,G5=d5,j2=Z1;if(X2=(G5|0)<(y|0),X2)for(R5=n+(w<<2)|0,B2=x2,q2=G5,u5=R5,R2=j2;e5=B2+-8|0,b5=u5+-16|0,Z2=u5+-8|0,f5=+s[Z2>>2],v5=-f5,P5=+s[R2>>2],l5=v5-P5,k2=+s[b5>>2],Q=-k2,_=R2+8|0,R=+s[_>>2],x=Q-R,L=B2+-4|0,M=+s[L>>2],T=x*M,N=+s[e5>>2],G=N*l5,O=G+T,E=q2+y|0,Y=N1+(E<<2)|0,s[Y>>2]=O,t0=+s[e5>>2],J=t0*x,W=+s[L>>2],e0=W*l5,q=J-e0,X=q2|1,I=X+y|0,U=N1+(I<<2)|0,s[U>>2]=q,$0=R2+16|0,Z=q2+2|0,a0=(Z|0)<(y|0),a0;)B2=e5,q2=Z,u5=b5,R2=$0;if(A5=t+4|0,c5=e[A5>>2]|0,sQ(c5,T1,c2,y),g5=e[t>>2]|0,B5=e[D2>>2]|0,M1=t+12|0,S5=e[M1>>2]|0,oQ(g5,B5,S5,N1),n0=(r1|0)>0,!n0){C=q5;return}for(i0=A+(y<<2)|0,r0=e[D2>>2]|0,V=r0+(y<<2)|0,h0=t+16|0,C5=V,I5=0,t5=N1,i5=i0;s0=i5+-4|0,g0=+s[t5>>2],j=+s[C5>>2],c0=j*g0,d0=t5+4|0,w0=+s[d0>>2],C0=C5+4|0,k0=+s[C0>>2],f0=k0*w0,B0=f0+c0,p0=+s[h0>>2],I0=B0*p0,S0=A+(I5<<2)|0,s[S0>>2]=I0,K0=+s[t5>>2],Q0=+s[C0>>2],F0=Q0*K0,M0=+s[d0>>2],N0=+s[C5>>2],U0=N0*M0,y0=F0-U0,Y0=+s[h0>>2],L0=y0*Y0,s[s0>>2]=L0,D0=t5+8|0,T0=C5+8|0,J0=I5+1|0,L5=(J0|0)==(r1|0),!L5;)C5=T0,I5=J0,t5=D0,i5=s0;C=q5}function sQ(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,R5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,R2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,k3=0,u3=0,p3=0,z3=0,G3=0,K5=0,w3=0,Z5=0,i6=0,R3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,L3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,X3=0,c6=0,p6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,R6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,L6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,M4=0,W4=0,C4=0,T4=0,U9=0,N4=0,a4=0,R4=0,u4=0,Ce=0,q9=0,m9=0,Be=0,Ne=0,Xe=0,G4=0,Ge=0,U4=0,j4=0,be=0,e8=0,Z9=0,ae=0,f4=0,_6=0,P4=0,L9=0,$4=0,_4=0,$e=0,W9=0,le=0,ce=0,B4=0,X4=0,L4=0,ge=0,C9=0,g6=0,Ue=0,l4=0,pe=0,p4=0,c4=0,P6=0,De=0,_e=0,t8=0,g4=0,k4=0,u8=0,J3=0,w9=0,B9=0,F4=0,ee=0,$t=0,xe=0,lt=0,Qt=0,z8=0,ct=0,gt=0,F8=0,M8=0,T8=0,N8=0,Z8=0,W8=0,yt=0,G8=0,U8=0,P8=0,k8=0,v8=0,f8=0,O8=0,q8=0,j8=0,X8=0,d8=0,Pe=0,Re=0,i8=0,S8=0,k9=0,ht=0,Qe=0,ut=0,wt=0,et=0,kt=0,te=0,tt=0,H8=0,b8=0,r8=0,O4=0,Le=0,n8=0,I8=0,D8=0,he=0,j9=0,s8=0,E8=0,o8=0,m8=0,ue=0,ye=0,Oe=0,qe=0,X9=0,Fe=0,fe=0,A8=0,we=0,Q4=0,C8=0,it=0,q4=0,I3=0,He=0,B8=0,ie=0,H9=0,re=0,D9=0,Ye=0,Y8=0,ft=0,rt=0,nt=0,J8=0,st=0,V8=0,a8=0,$8=0,_8=0,H4=0,ot=0,x8=0,Je=0,p9=0,At=0,Ve=0,Mt=0,qt=0,vt=0,at=0,St=0,ne=0,Tt=0,Ht=0,l8=0,R8=0,bt=0,K8=0,Me=0,de=0,e4=0,Dt=0,t7=0,G7=0,U7=0,P7=0,d7=0,Yt=0,I7=0,Jt=0,E7=0,Vt=0,m7=0,i7=0,oi=0,O7=0,C7=0,B7=0,Ai=0,p7=0,r7=0,ai=0,q7=0,H7=0,Y7=0,J7=0,n7=0,Q7=0,V7=0,Kt=0,s7=0,Nt=0,zt=0,$i=0,K7=0,li=0,y7=0,z7=0,w7=0,k7=0,Z7=0,v7=0,Zt=0,S7=0,W7=0,o7=0,Gt=0,b7=0,ke=0,D7=0,_t=0,A7=0,n9=0,dt=0,p8=0,It=0,xt=0,Zr=0,Ir=0;if(Ir=C,d0=t+-6|0,w0=(t|0)>6,w0)for(I=a+-8|0,P5=A+(I<<2)|0,_3=a>>1,B=_3+-8|0,z8=A+(B<<2)|0,c=n,dt=P5,It=z8;l8=dt+24|0,P7=+s[l8>>2],C7=It+24|0,Q7=+s[C7>>2],w7=P7-Q7,C0=dt+28|0,M0=+s[C0>>2],z0=It+28|0,g1=+s[z0>>2],E1=M0-g1,k1=Q7+P7,s[l8>>2]=k1,n2=+s[z0>>2],$2=n2+M0,s[C0>>2]=$2,w2=c+4|0,z2=+s[w2>>2],l5=z2*E1,G5=+s[c>>2],W2=G5*w7,$5=W2+l5,s[C7>>2]=$5,m3=+s[c>>2],i6=m3*E1,P3=+s[w2>>2],j3=P3*w7,B6=i6-j3,s[z0>>2]=B6,H3=dt+16|0,N6=+s[H3>>2],s9=It+16|0,X6=+s[s9>>2],I9=N6-X6,S4=dt+20|0,N4=+s[S4>>2],Ge=It+20|0,$4=+s[Ge>>2],g6=N4-$4,k4=X6+N6,s[H3>>2]=k4,ct=+s[Ge>>2],P8=ct+N4,s[S4>>2]=P8,i8=c+20|0,H8=+s[i8>>2],E8=H8*g6,we=c+16|0,D9=+s[we>>2],_8=D9*I9,at=_8+E8,s[s9>>2]=at,Ht=+s[we>>2],R8=Ht*g6,bt=+s[i8>>2],K8=bt*I9,Me=R8-K8,s[Ge>>2]=Me,de=dt+8|0,e4=+s[de>>2],Dt=It+8|0,t7=+s[Dt>>2],G7=e4-t7,U7=dt+12|0,d7=+s[U7>>2],Yt=It+12|0,I7=+s[Yt>>2],Jt=d7-I7,E7=t7+e4,s[de>>2]=E7,Vt=+s[Yt>>2],m7=Vt+d7,s[U7>>2]=m7,i7=c+36|0,oi=+s[i7>>2],O7=oi*Jt,B7=c+32|0,Ai=+s[B7>>2],p7=Ai*G7,r7=p7+O7,s[Dt>>2]=r7,ai=+s[B7>>2],q7=ai*Jt,H7=+s[i7>>2],Y7=H7*G7,J7=q7-Y7,s[Yt>>2]=J7,n7=+s[dt>>2],V7=+s[It>>2],Kt=n7-V7,s7=dt+4|0,Nt=+s[s7>>2],zt=It+4|0,$i=+s[zt>>2],K7=Nt-$i,li=V7+n7,s[dt>>2]=li,y7=+s[zt>>2],z7=y7+Nt,s[s7>>2]=z7,k7=c+52|0,Z7=+s[k7>>2],v7=Z7*K7,Zt=c+48|0,S7=+s[Zt>>2],W7=S7*Kt,o7=W7+v7,s[It>>2]=o7,Gt=+s[Zt>>2],b7=Gt*K7,ke=+s[k7>>2],k0=ke*Kt,f0=b7-k0,s[zt>>2]=f0,B0=dt+-32|0,p0=It+-32|0,I0=c+64|0,S0=p0>>>0
>>0,!S0;)c=I0,dt=B0,It=p0;if(K0=(d0|0)>1,K0)for(_t=1;;){if(_0=1<<_t,Q0=(_t|0)==31,!Q0)for(F0=a>>_t,N0=4<<_t,m=F0+-8|0,U0=F0>>1,v=U0+-8|0,N=N0+1|0,$0=N0<<1,i0=$0|1,h0=N0*3|0,g0=h0+1|0,c0=N0<<2,A7=0;;){for(Y0=r5(A7,F0)|0,L0=A+(Y0<<2)|0,E=m+Y0|0,D0=A+(E<<2)|0,a0=v+Y0|0,T0=A+(a0<<2)|0,u=n,p8=D0,xt=T0;V0=p8+24|0,J0=+s[V0>>2],P0=xt+24|0,G0=+s[P0>>2],O0=J0-G0,r1=p8+28|0,H0=+s[r1>>2],e1=xt+28|0,b0=+s[e1>>2],i1=H0-b0,c1=G0+J0,s[V0>>2]=c1,$1=+s[e1>>2],f1=$1+H0,s[r1>>2]=f1,l1=u+4|0,s1=+s[l1>>2],a1=s1*i1,n1=+s[u>>2],o1=n1*O0,Z0=o1+a1,s[P0>>2]=Z0,I1=+s[u>>2],h1=I1*i1,m1=+s[l1>>2],d1=m1*O0,B1=h1-d1,s[e1>>2]=B1,p1=u+(N0<<2)|0,Q1=p8+16|0,_1=+s[Q1>>2],x1=xt+16|0,w1=+s[x1>>2],S1=_1-w1,R1=p8+20|0,F1=+s[R1>>2],G1=xt+20|0,U1=+s[G1>>2],Z1=F1-U1,N1=w1+_1,s[Q1>>2]=N1,b1=+s[G1>>2],V1=b1+F1,s[R1>>2]=V1,O1=u+(N<<2)|0,q1=+s[O1>>2],H1=q1*Z1,Y1=+s[p1>>2],j1=Y1*S1,W1=j1+H1,s[x1>>2]=W1,P1=+s[p1>>2],c2=P1*Z1,z1=+s[O1>>2],u2=z1*S1,o2=c2-u2,s[G1>>2]=o2,E2=u+($0<<2)|0,A2=p8+8|0,K1=+s[A2>>2],h2=xt+8|0,i2=+s[h2>>2],l2=K1-i2,r2=p8+12|0,a2=+s[r2>>2],X1=xt+12|0,s2=+s[X1>>2],f2=a2-s2,e2=i2+K1,s[A2>>2]=e2,y2=+s[X1>>2],v2=y2+a2,s[r2>>2]=v2,C2=u+(i0<<2)|0,F2=+s[C2>>2],D2=F2*f2,N2=+s[E2>>2],d2=N2*l2,K2=d2+D2,s[h2>>2]=K2,G2=+s[E2>>2],H2=G2*f2,M2=+s[C2>>2],P2=M2*l2,o5=H2-P2,s[X1>>2]=o5,O2=u+(h0<<2)|0,T1=+s[p8>>2],X2=+s[xt>>2],R5=T1-X2,e5=p8+4|0,b5=+s[e5>>2],Z2=xt+4|0,f5=+s[Z2>>2],v5=b5-f5,k2=X2+T1,s[p8>>2]=k2,m5=+s[Z2>>2],n5=m5+b5,s[e5>>2]=n5,x2=u+(g0<<2)|0,_2=+s[x2>>2],B2=_2*v5,C5=+s[O2>>2],L5=C5*R5,d5=L5+B2,s[xt>>2]=d5,D5=+s[O2>>2],_5=D5*v5,q2=+s[x2>>2],I5=q2*R5,A5=_5-I5,s[Z2>>2]=A5,c5=u+(c0<<2)|0,B5=p8+-32|0,M1=xt+-32|0,S5=M1>>>0>>0,!S5;)u=c5,p8=B5,xt=M1;if(g5=A7+1|0,a5=(g5|0)<(_0|0),a5)A7=g5;else break}if(g2=_t+1|0,D7=(g2|0)==(d0|0),D7)break;_t=g2}if(y0=(a|0)>0,y0)n9=0;else return;for(;p5=A+(n9<<2)|0,p=n9|30,t5=A+(p<<2)|0,s5=+s[t5>>2],T=n9|14,h5=A+(T<<2)|0,J2=+s[h5>>2],u5=s5-J2,U=n9|31,i5=A+(U<<2)|0,x5=+s[i5>>2],n0=n9|15,j2=A+(n0<<2)|0,R2=+s[j2>>2],Q5=x5-R2,q5=J2+s5,s[t5>>2]=q5,j5=R2+x5,s[i5>>2]=j5,s[h5>>2]=u5,s[j2>>2]=Q5,r0=n9|28,E5=A+(r0<<2)|0,f3=+s[E5>>2],V=n9|12,h3=A+(V<<2)|0,Y5=+s[h3>>2],X5=f3-Y5,s0=n9|29,n3=A+(s0<<2)|0,F5=+s[n3>>2],j=n9|13,J5=A+(j<<2)|0,k3=+s[J5>>2],u3=F5-k3,p3=Y5+f3,s[E5>>2]=p3,z3=k3+F5,s[n3>>2]=z3,G3=X5*.9238795042037964,K5=u3*.3826834261417389,w3=G3-K5,s[h3>>2]=w3,Z5=X5*.3826834261417389,R3=u3*.9238795042037964,U3=R3+Z5,s[J5>>2]=U3,u0=n9|26,a3=A+(u0<<2)|0,l3=+s[a3>>2],S=n9|10,c3=A+(S<<2)|0,C3=+s[c3>>2],H5=l3-C3,w=n9|27,U5=A+(w<<2)|0,O5=+s[U5>>2],y=n9|11,k5=A+(y<<2)|0,M5=+s[k5>>2],o6=O5-M5,e3=C3+l3,s[a3>>2]=e3,A3=M5+O5,s[U5>>2]=A3,L3=H5-o6,u6=L3*.7071067690849304,s[c3>>2]=u6,Q3=o6+H5,v3=Q3*.7071067690849304,s[k5>>2]=v3,b=n9|24,y3=A+(b<<2)|0,r6=+s[y3>>2],Q=n9|8,O3=A+(Q<<2)|0,V5=+s[O3>>2],S3=r6-V5,_=n9|25,g3=A+(_<<2)|0,q3=+s[g3>>2],R=n9|9,l6=A+(R<<2)|0,d3=+s[l6>>2],k6=q3-d3,v6=V5+r6,s[y3>>2]=v6,S6=d3+q3,s[g3>>2]=S6,X3=S3*.3826834261417389,c6=k6*.9238795042037964,p6=X3-c6,x6=k6*.3826834261417389,Y6=S3*.9238795042037964,C6=x6+Y6,x=n9|22,b3=A+(x<<2)|0,e6=+s[b3>>2],L=n9|6,t6=A+(L<<2)|0,f6=+s[t6>>2],D3=e6-f6,M=n9|7,Y3=A+(M<<2)|0,Z3=+s[Y3>>2],G=n9|23,b6=A+(G<<2)|0,A6=+s[b6>>2],t3=Z3-A6,O6=f6+e6,s[b3>>2]=O6,s3=A6+Z3,s[b6>>2]=s3,s[t6>>2]=t3,s[Y3>>2]=D3,O=n9|4,a6=A+(O<<2)|0,d6=+s[a6>>2],z=n9|20,n6=A+(z<<2)|0,Q6=+s[n6>>2],R6=d6-Q6,Y=n9|5,K6=A+(Y<<2)|0,I6=+s[K6>>2],t0=n9|21,J6=A+(t0<<2)|0,F3=+s[J6>>2],j6=I6-F3,G6=Q6+d6,s[n6>>2]=G6,e9=F3+I6,s[J6>>2]=e9,L6=j6*.9238795042037964,U6=R6*.3826834261417389,D6=L6+U6,z6=j6*.3826834261417389,y6=R6*.9238795042037964,F6=z6-y6,J=n9|2,M3=A+(J<<2)|0,M6=+s[M3>>2],W=n9|18,t9=A+(W<<2)|0,A9=+s[t9>>2],u9=M6-A9,e0=n9|3,f9=A+(e0<<2)|0,d9=+s[f9>>2],q=n9|19,a9=A+(q<<2)|0,$9=+s[a9>>2],T9=d9-$9,E6=A9+M6,s[t9>>2]=E6,T6=$9+d9,s[a9>>2]=T6,i9=T9+u9,N9=i9*.7071067690849304,E4=T9-u9,o4=E4*.7071067690849304,h4=+s[p5>>2],X=n9|16,G9=A+(X<<2)|0,z9=+s[G9>>2],b9=h4-z9,Z=n9|1,E9=A+(Z<<2)|0,q6=+s[E9>>2],K=n9|17,r9=A+(K<<2)|0,m4=+s[r9>>2],A4=q6-m4,y9=z9+h4,s[G9>>2]=y9,b4=m4+q6,s[r9>>2]=b4,D4=A4*.3826834261417389,x4=b9*.9238795042037964,M4=D4+x4,W4=A4*.9238795042037964,C4=b9*.3826834261417389,T4=W4-C4,U9=T4-C6,a4=M4-p6,R4=M4+p6,u4=T4+C6,Ce=a4+U9,q9=U9-a4,m9=+s[k5>>2],Be=o4-m9,Ne=+s[c3>>2],Xe=Ne-N9,G4=Ne+N9,U4=m9+o4,j4=+s[h3>>2],be=j4-D6,e8=+s[J5>>2],Z9=e8-F6,ae=j4+D6,f4=e8+F6,_6=be-Z9,P4=Z9+be,L9=+s[h5>>2],_4=L9-t3,$e=+s[j2>>2],W9=$e-D3,le=t3+L9,ce=D3+$e,B4=_4+Be,X4=_4-Be,L4=_6+Ce,ge=L4*.7071067690849304,C9=_6-Ce,Ue=C9*.7071067690849304,l4=ge+B4,s[t6>>2]=l4,pe=B4-ge,s[a6>>2]=pe,p4=P4-q9,c4=p4*.7071067690849304,P6=W9-Xe,De=c4+X4,s[p5>>2]=De,_e=X4-c4,s[M3>>2]=_e,t8=P4+q9,g4=t8*.7071067690849304,u8=W9+Xe,J3=P6+Ue,s[f9>>2]=J3,w9=P6-Ue,s[E9>>2]=w9,B9=u8+g4,s[Y3>>2]=B9,F4=u8-g4,s[K6>>2]=F4,ee=le+G4,$t=le-G4,xe=R4+ae,lt=ae-R4,Qt=ee+xe,s[h5>>2]=Qt,gt=ee-xe,s[h3>>2]=gt,F8=f4-u4,M8=ce-U4,T8=$t+F8,s[O3>>2]=T8,N8=$t-F8,s[c3>>2]=N8,Z8=f4+u4,W8=ce+U4,yt=M8+lt,s[k5>>2]=yt,G8=M8-lt,s[l6>>2]=G8,U8=W8+Z8,s[j2>>2]=U8,k8=W8-Z8,s[J5>>2]=k8,v8=+s[g3>>2],f8=b4-v8,O8=+s[y3>>2],q8=y9-O8,j8=O8+y9,X8=v8+b4,d8=q8+f8,Pe=f8-q8,Re=+s[a9>>2],S8=+s[U5>>2],k9=Re-S8,ht=+s[a3>>2],Qe=+s[t9>>2],ut=ht-Qe,wt=Qe+ht,et=S8+Re,kt=+s[E5>>2],te=+s[n6>>2],tt=kt-te,b8=+s[n3>>2],r8=+s[J6>>2],O4=b8-r8,Le=te+kt,n8=r8+b8,I8=tt-O4,D8=O4+tt,he=+s[t5>>2],j9=+s[b3>>2],s8=he-j9,o8=+s[i5>>2],m8=+s[b6>>2],ue=o8-m8,ye=j9+he,Oe=m8+o8,qe=s8+k9,X9=s8-k9,Fe=I8+d8,fe=Fe*.7071067690849304,A8=I8-d8,Q4=A8*.7071067690849304,C8=fe+qe,s[b3>>2]=C8,it=qe-fe,s[n6>>2]=it,q4=D8-Pe,I3=q4*.7071067690849304,He=ue-ut,B8=I3+X9,s[G9>>2]=B8,ie=X9-I3,s[t9>>2]=ie,H9=D8+Pe,re=H9*.7071067690849304,Ye=ue+ut,Y8=He+Q4,s[a9>>2]=Y8,ft=He-Q4,s[r9>>2]=ft,rt=Ye+re,s[b6>>2]=rt,nt=Ye-re,s[J6>>2]=nt,J8=ye+wt,st=ye-wt,V8=Le+j8,a8=Le-j8,$8=J8+V8,s[t5>>2]=$8,H4=J8-V8,s[E5>>2]=H4,ot=n8-X8,x8=Oe-et,Je=st+ot,s[y3>>2]=Je,p9=st-ot,s[a3>>2]=p9,At=n8+X8,Ve=Oe+et,Mt=x8+a8,s[U5>>2]=Mt,qt=x8-a8,s[g3>>2]=qt,vt=Ve+At,s[i5>>2]=vt,St=Ve-At,s[n3>>2]=St,ne=n9+32|0,Tt=(ne|0)<(a|0),Tt;)n9=ne}function oQ(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0;for(m1=C,S=t>>1,w=a+(S<<2)|0,G=n+(t<<2)|0,n1=G,o1=A,Z0=a,I1=w;$0=e[o1>>2]|0,c=$0+S|0,j=a+(c<<2)|0,S0=o1+4|0,D0=e[S0>>2]|0,u=D0+S|0,b0=a+(u<<2)|0,E=c+1|0,s1=a+(E<<2)|0,a1=+s[s1>>2],I=u+1|0,y=a+(I<<2)|0,b=+s[y>>2],Q=a1-b,_=+s[j>>2],R=+s[b0>>2],x=R+_,L=+s[n1>>2],M=x*L,T=n1+4|0,N=+s[T>>2],O=N*Q,z=O+M,Y=N*x,t0=L*Q,J=Y-t0,W=I1+-16|0,e0=b+a1,q=e0*.5,X=_-R,U=X*.5,Z=z+q,s[Z0>>2]=Z,K=q-z,a0=I1+-8|0,s[a0>>2]=K,n0=J+U,i0=Z0+4|0,s[i0>>2]=n0,r0=J-U,V=I1+-4|0,s[V>>2]=r0,h0=o1+8|0,s0=e[h0>>2]|0,m=s0+S|0,g0=a+(m<<2)|0,c0=o1+12|0,u0=e[c0>>2]|0,p=u0+S|0,d0=a+(p<<2)|0,B=m+1|0,w0=a+(B<<2)|0,C0=+s[w0>>2],v=p+1|0,k0=a+(v<<2)|0,f0=+s[k0>>2],B0=C0-f0,p0=+s[g0>>2],I0=+s[d0>>2],K0=I0+p0,_0=n1+8|0,Q0=+s[_0>>2],F0=K0*Q0,M0=n1+12|0,N0=+s[M0>>2],U0=N0*B0,y0=U0+F0,Y0=N0*K0,L0=Q0*B0,T0=Y0-L0,V0=f0+C0,J0=V0*.5,P0=p0-I0,z0=P0*.5,G0=y0+J0,O0=Z0+8|0,s[O0>>2]=G0,r1=J0-y0,s[W>>2]=r1,H0=T0+z0,e1=Z0+12|0,s[e1>>2]=H0,i1=T0-z0,c1=I1+-12|0,s[c1>>2]=i1,$1=n1+16|0,f1=o1+16|0,g1=Z0+16|0,l1=g1>>>0>>0,l1;)n1=$1,o1=f1,Z0=g1,I1=W}function _S(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0;return B=C,n=t+28|0,A=e[n>>2]|0,a=A+2868|0,c=n4(1,36)|0,u=t+4|0,E=e[u>>2]|0,I=c+4|0,e[I>>2]=E,s[c>>2]=-9999,m=c+8|0,e[m>>2]=a,c|0}function xS(t){t=t|0;var n=0,A=0,a=0;a=C,n=(t|0)==0,!n&&I2(t)}function RS(t){t=t|0;var n=0,A=0,a=0;a=C,n=(t|0)==0,n||I2(t)}function LS(t,n,A,a,c){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0;var u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,R5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,R2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,k3=0,u3=0,p3=0,z3=0,G3=0,K5=0,w3=0,Z5=0,i6=0,R3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,L3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,X3=0,c6=0,p6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,R6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,L6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0;i9=C,E6=t,N9=E6+48|0;do e[E6>>2]=0,E6=E6+4|0;while((E6|0)<(N9|0));_=e[A>>2]|0,R=t+36|0,e[R>>2]=_,i2=+(_|0),j5=i2*8,u3=j5,l3=+Kr(+u3),A3=l3*1.4426950408889634,g3=+Pi(A3),x6=g3+-1,b6=~~x6,x=t+32|0,e[x>>2]=b6,W=+(c|0),r0=W*.25,k0=r0,N0=k0*.5,G0=+(a|0),l1=N0/G0,B1=+Kr(+l1),U1=B1*1.4426950216293335,W1=U1+-5.965784072875977,l2=b6+1|0,F2=1<>2]=$5,Q5=+(a|0),q5=Q5+.25,E5=q5*W,f3=E5,h3=f3*.5,Y5=h3/G0,X5=+Kr(+Y5),n3=X5*1.4426950216293335,m3=n3+-5.965784072875977,F5=O2*m3,J5=F5+.5,k3=~~J5,p3=1-$5|0,z3=p3+k3|0,G3=t+40|0,e[G3>>2]=z3,K5=a<<2,w3=S9(K5)|0,Z5=t+16|0,e[Z5>>2]=w3,i6=S9(K5)|0,R3=t+20|0,e[R3>>2]=i6,U3=S9(K5)|0,a3=t+24|0,e[a3>>2]=U3,c3=t+4|0,e[c3>>2]=n,e[t>>2]=a,C3=t+44|0,e[C3>>2]=c,H5=t+48|0,s[H5>>2]=1,U5=(c|0)<26e3;do if(U5)s[H5>>2]=0;else{if(O5=(c|0)<38e3,O5){s[H5>>2]=.9399999976158142;break}k5=(c|0)>46e3,k5&&(s[H5>>2]=1.274999976158142)}while(!1);P3=G0*2,M5=+(c|0),o6=(a|0)>0,Q3=o6,z6=0,X6=0;e:for(;;){for(p=Q3^1,y6=z6;;){if(y3=y6+1|0,r6=+(y3|0),j3=r6*.08664337545633316,O3=j3+2.7488713472395148,V5=+Gn(+O3),S3=P3*V5,q3=S3/M5,l6=+Pi(q3),d3=~~l6,m=(d3|0)<=(X6|0),K6=m|p,!K6){E=y3,I=d3,F6=y6;break}if(k6=(y3|0)<87,k6)y6=y3;else{A9=X6;break e}}for(v6=1272+(F6<<2)|0,S6=+s[v6>>2],B6=1272+(E<<2)|0,X3=+s[B6>>2],c6=X3-S6,p6=I-X6|0,Y6=+(p6|0),C6=c6/Y6,b3=X6-I|0,e6=X6-a|0,t6=b3>>>0>e6>>>0,T9=t6?b3:e6,e3=X6-T9|0,R6=S6,u9=X6;f6=R6+100,H3=w3+(u9<<2)|0,s[H3>>2]=f6,D3=R6+C6,Y3=u9+1|0,G6=(Y3|0)==(e3|0),!G6;)R6=D3,u9=Y3;if(L3=(e3|0)<(a|0),u6=(E|0)<87,u6)Q3=L3,z6=E,X6=e3;else{A9=e3;break}}if(v3=(A9|0)<(a|0),v3)for(f9=A9;N6=f9+-1|0,n6=w3+(N6<<2)|0,Q6=e[n6>>2]|0,L=w3+(f9<<2)|0,e[L>>2]=Q6,M=f9+1|0,j6=(M|0)==(a|0),!j6;)f9=M;if(Z3=(a|0)>0,Z3){for(A6=a<<1,t3=(c|0)/(A6|0)&-1,O6=n+120|0,s3=e[O6>>2]|0,a6=n+124|0,d6=n+116|0,_3=n+112|0,L6=1,M3=0,d9=-99;;){Y=r5(t3,M3)|0,t0=+(Y|0),J=t0*.0007399999885819852,e0=J,q=+Vs(+e0),X=q*13.100000381469727,U=r5(Y,Y)|0,$0=+(U|0),Z=$0*18499999754340024e-24,K=Z,a0=+Vs(+K),n0=a0*2.240000009536743,i0=n0+X,V=t0*9999999747378752e-20,h0=V,s0=i0+h0,g0=s0,j=s3+d9|0,c0=(j|0)<(M3|0);e:do if(c0)for(u0=+s[_3>>2],d0=g0-u0,w0=d0,$9=d9;;){if(C0=r5($9,t3)|0,f0=+(C0|0),B0=f0*.0007399999885819852,p0=B0,I0=+Vs(+p0),S0=I0*13.100000381469727,K0=r5(C0,C0)|0,_0=+(K0|0),Q0=_0*18499999754340024e-24,F0=Q0,M0=+Vs(+F0),U0=M0*2.240000009536743,y0=f0*9999999747378752e-20,Y0=y0,L0=S0+Y0,D0=L0+U0,T0=D0(a|0);e:do if(V0)U6=L6;else for(J0=e[a6>>2]|0,P0=J0+M3|0,D6=L6;;){if(H0=(D6|0)<(P0|0),!H0&&(e1=r5(D6,t3)|0,b0=+(e1|0),i1=b0*.0007399999885819852,c1=i1,$1=+Vs(+c1),f1=$1*13.100000381469727,g1=r5(e1,e1)|0,s1=+(g1|0),a1=s1*18499999754340024e-24,n1=a1,o1=+Vs(+n1),Z0=o1*2.240000009536743,I1=b0*9999999747378752e-20,h1=I1,m1=f1+h1,d1=m1+Z0,E1=+s[d6>>2],p1=E1+g0,Q1=p1,_1=d1>2]=F1,k1=M3+1|0,F3=(k1|0)==(a|0),F3)break;L6=U6,M3=k1,d9=a9}if(Z3)for(T=M5*.5,N=e[x>>2]|0,G=N+1|0,O=1<>2]=P1,z1=M6+1|0,J6=(z1|0)==(a|0),J6){w=T;break}else M6=z1;else T6=19}else T6=19;if((T6|0)==19&&(Q=M5*.5,w=Q),u2=n+36|0,o2=w/G0,E2=o2,A2=n+24|0,K1=+s[A2>>2],h2=n+28|0,$2=+s[h2>>2],r2=TS(u2,E2,a,K1,$2)|0,a2=t+8|0,e[a2>>2]=r2,X1=S9(12)|0,s2=t+12|0,e[s2>>2]=X1,f2=S9(K5)|0,e[X1>>2]=f2,e2=S9(K5)|0,y2=X1+4|0,e[y2>>2]=e2,v2=S9(K5)|0,w2=X1+8|0,e[w2>>2]=v2,!!Z3)for(C2=e[c3>>2]|0,S=e[X1>>2]|0,B=X1+4|0,y=e[B>>2]|0,v=X1+8|0,b=e[v>>2]|0,t9=0;D2=+(t9|0),N2=D2+.5,d2=N2*M5,K2=d2/P3,G2=+Kr(+K2),H2=G2*2.885390043258667,M2=H2+-11.931568145751953,P2=M2,z2=P2<0,e9=z2?0:P2,u=e9>=16,s9=u?16:e9,o5=~~s9,T1=+(o5|0),X2=s9-T1,R5=X2,e5=1-R5,b5=o5+1|0,Z2=(C2+132|0)+(o5<<2)|0,f5=+s[Z2>>2],v5=f5,P5=v5*e5,l5=(C2+132|0)+(b5<<2)|0,m5=+s[l5>>2],n5=m5*X2,x2=n5,_2=x2+P5,B2=_2,C5=S+(t9<<2)|0,s[C5>>2]=B2,L5=(C2+200|0)+(o5<<2)|0,d5=+s[L5>>2],D5=d5,G5=D5*e5,q2=(C2+200|0)+(b5<<2)|0,I5=+s[q2>>2],A5=I5*X2,c5=A5,B5=c5+G5,M1=B5,S5=y+(t9<<2)|0,s[S5>>2]=M1,g5=(C2+268|0)+(o5<<2)|0,a5=+s[g5>>2],W2=a5,p5=W2*e5,t5=(C2+268|0)+(b5<<2)|0,s5=+s[t5>>2],h5=s5*X2,J2=h5,u5=J2+p5,i5=u5,x5=b+(t9<<2)|0,s[x5>>2]=i5,j2=t9+1|0,I6=(j2|0)==(a|0),!I6;)t9=j2}function AQ(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0;if(G0=C,A=(t|0)==0,!A){if(a=t+16|0,y=e[a>>2]|0,O=(y|0)==0,O||I2(y),Z=t+20|0,c0=e[Z>>2]|0,K0=(c0|0)==0,K0||I2(c0),L0=t+24|0,D0=e[L0>>2]|0,T0=(D0|0)==0,T0||I2(D0),c=t+8|0,u=e[c>>2]|0,E=(u|0)==0,!E){for(m=u,J0=0;I=m+(J0<<2)|0,p=e[I>>2]|0,B=e[p>>2]|0,I2(B),v=e[c>>2]|0,S=v+(J0<<2)|0,w=e[S>>2]|0,b=w+4|0,Q=e[b>>2]|0,I2(Q),_=e[c>>2]|0,R=_+(J0<<2)|0,x=e[R>>2]|0,L=x+8|0,M=e[L>>2]|0,I2(M),T=e[c>>2]|0,N=T+(J0<<2)|0,G=e[N>>2]|0,z=G+12|0,Y=e[z>>2]|0,I2(Y),t0=e[c>>2]|0,J=t0+(J0<<2)|0,W=e[J>>2]|0,e0=W+16|0,q=e[e0>>2]|0,I2(q),X=e[c>>2]|0,U=X+(J0<<2)|0,$0=e[U>>2]|0,K=$0+20|0,a0=e[K>>2]|0,I2(a0),n0=e[c>>2]|0,i0=n0+(J0<<2)|0,r0=e[i0>>2]|0,V=r0+24|0,h0=e[V>>2]|0,I2(h0),s0=e[c>>2]|0,g0=s0+(J0<<2)|0,j=e[g0>>2]|0,u0=j+28|0,d0=e[u0>>2]|0,I2(d0),w0=e[c>>2]|0,C0=w0+(J0<<2)|0,k0=e[C0>>2]|0,I2(k0),f0=J0+1|0,V0=(f0|0)==17,!V0;)n=e[c>>2]|0,m=n,J0=f0;B0=e[c>>2]|0,I2(B0)}p0=t+12|0,I0=e[p0>>2]|0,S0=(I0|0)==0,S0||(_0=e[I0>>2]|0,I2(_0),Q0=e[p0>>2]|0,F0=Q0+4|0,M0=e[F0>>2]|0,I2(M0),N0=e[p0>>2]|0,U0=N0+8|0,y0=e[U0>>2]|0,I2(y0),Y0=e[p0>>2]|0,I2(Y0)),P0=t,O0=P0+52|0;do e[P0>>2]=0,P0=P0+4|0;while((P0|0)<(O0|0))}}function aQ(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0;if(C0=C,E=e[t>>2]|0,I=E<<2,u=I,R=C,C=C+((1*u|0)+15&-16)|0,J=t+24|0,a0=e[J>>2]|0,lQ(E,a0,n,A,140,-1),n0=(E|0)>0,n0)for(c0=0;i0=n+(c0<<2)|0,r0=+s[i0>>2],V=A+(c0<<2)|0,h0=+s[V>>2],m=r0-h0,p=R+(c0<<2)|0,s[p>>2]=m,B=c0+1|0,g0=(B|0)==(E|0),!g0;)c0=B;if(v=e[J>>2]|0,S=t+4|0,w=e[S>>2]|0,y=w+128|0,b=e[y>>2]|0,lQ(E,v,R,A,0,b),n0)u0=0;else{C=C0;return}for(;_=n+(u0<<2)|0,x=+s[_>>2],L=R+(u0<<2)|0,M=+s[L>>2],T=x-M,s[L>>2]=T,N=u0+1|0,j=(N|0)==(E|0),!j;)u0=N;if(!n0){C=C0;return}for(Q=e[S>>2]|0,d0=0;G=A+(d0<<2)|0,O=+s[G>>2],z=O,Y=z+.5,t0=~~Y,W=(t0|0)>39,a=W?39:t0,e0=(a|0)<0,c=e0?0:a,q=R+(d0<<2)|0,X=+s[q>>2],U=(Q+336|0)+(c<<2)|0,$0=+s[U>>2],Z=$0+X,s[G>>2]=Z,K=d0+1|0,s0=(K|0)==(E|0),!s0;)d0=K;C=C0}function $Q(t,n,A,a,c){t=t|0,n=n|0,A=A|0,a=+a,c=+c;var u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,R5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,R2=0,Q5=0,q5=0,j5=0,E5=0;if(E5=C,M=e[t>>2]|0,T=t+40|0,l1=e[T>>2]|0,B1=l1<<2,I=B1,U1=C,C=C+((1*I|0)+15&-16)|0,W1=t+4|0,i2=e[W1>>2]|0,C2=i2+4|0,o5=+s[C2>>2],l5=o5+c,N=(l1|0)>0,N)for(A5=0;U=U1+(A5<<2)|0,s[U>>2]=-9999,g0=A5+1|0,I0=(g0|0)<(l1|0),I0;)A5=g0;if(L0=i2+8|0,e1=+s[L0>>2],c1=l50,$1){for(f1=t+16|0,g1=e[f1>>2]|0,g5=0;s1=g1+(g5<<2)|0,a1=+s[s1>>2],n1=a1+G5,o1=A+(g5<<2)|0,s[o1>>2]=n1,Z0=g5+1|0,q2=(Z0|0)==(M|0),!q2;)g5=Z0;if(I1=t+8|0,h1=e[I1>>2]|0,m1=i2+496|0,d1=+s[m1>>2],E1=d1-a,$1)for(p1=t+20|0,Q1=e[p1>>2]|0,_1=t+32|0,x1=t+36|0,w1=t+28|0,c5=0;;){S1=n+(c5<<2)|0,R1=+s[S1>>2],F1=Q1+(c5<<2)|0,G1=e[F1>>2]|0,S5=c5,s5=R1;e:for(;;)for(B5=S5;;){if(k1=B5+1|0,Z1=(k1|0)<(M|0),!Z1){v=0,w=k1,M1=B5,h5=s5;break e}if(N1=Q1+(k1<<2)|0,b1=e[N1>>2]|0,V1=(b1|0)==(G1|0),!V1){v=1,w=k1,M1=B5,h5=s5;break e}if(O1=n+(k1<<2)|0,q1=+s[O1>>2],H1=q1>s5,H1){S5=k1,s5=q1;continue e}else B5=k1}if(Y1=h5+6,j1=A+(M1<<2)|0,n2=+s[j1>>2],P1=Y1>n2,P1&&(c2=e[_1>>2]|0,z1=G1>>c2,u2=(z1|0)>16,E=u2?16:z1,o2=(E|0)<0,u=o2?0:E,E2=h1+(u<<2)|0,A2=e[E2>>2]|0,K1=e[x1>>2]|0,h2=E1+h5,$2=h2,l2=$2+-30,r2=l2*.10000000149011612,a2=~~r2,X1=(a2|0)<0,s2=X1?0:a2,f2=(s2|0)>7,e2=f2?7:s2,y2=A2+(e2<<2)|0,v2=e[y2>>2]|0,w2=v2+4|0,F2=+s[w2>>2],D2=~~F2,N2=+s[v2>>2],d2=~~N2,K2=(d2|0)<(D2|0),K2))for(G2=Q1+(M1<<2)|0,H2=e[G2>>2]|0,M2=e[w1>>2]|0,P2=H2-M2|0,z2=+(P2|0),O2=K1>>1,T1=+(O2|0),X2=N2+-16,R5=+(K1|0),e5=X2*R5,b5=e5-T1,Z2=b5+z2,f5=~~Z2,I5=d2,q5=f5;v5=(q5|0)>0,v5&&(L=I5+2|0,P5=v2+(L<<2)|0,k2=+s[P5>>2],m5=k2+h5,n5=U1+(q5<<2)|0,x2=+s[n5>>2],_2=x2>2]=m5)),B2=q5+K1|0,C5=(B2|0)<(l1|0),L5=I5+1|0,d5=(L5|0)<(D2|0),$5=d5&C5,$5;)I5=L5,q5=B2;if(v)c5=w;else{R=x1;break}}else j5=7}else j5=7;(j5|0)==7&&(Q=t+36|0,R=Q),D5=e[R>>2]|0,NS(U1,D5,l1),G=e[t>>2]|0,O=(G|0)>1;e:do if(O)for(z=t+20|0,Y=t+28|0,t0=e[z>>2]|0,J=e[t0>>2]|0,W=D5>>1,e0=J-W|0,q=e[Y>>2]|0,X=e0-q|0,$0=e[W1>>2]|0,Z=$0+32|0,V=1,j=J,W2=0,R2=X;;){n0=U1+(R2<<2)|0,i0=+s[n0>>2],r0=t0+(V<<2)|0,h0=e[r0>>2]|0,s0=h0+j|0,c0=s0>>1,u0=c0-q|0,d0=+s[Z>>2],w0=i0>d0,J2=w0?d0:i0,C0=(R2|0)<(u0|0);t:do if(C0)for(m=R2,i5=J2;;){for(k0=i5==-9999,p=m;;){if(f0=p+1|0,B0=U1+(f0<<2)|0,p0=+s[B0>>2],S0=p0>-9999,S0){if(K0=p0=(G|0),N0=(j|0)>(F0|0),x5=M0|N0;t:do if(x5)g2=W2;else for(p5=W2;;){if(U0=A+(p5<<2)|0,y0=+s[U0>>2],Y0=y0>2]=u5),D0=p5+1|0,T0=(D0|0)<(G|0),!T0){g2=D0;break t}if(b=t0+(D0<<2)|0,x=e[b>>2]|0,V0=(x|0)>(F0|0),V0){g2=D0;break}else p5=D0}while(!1);if(K=g2+1|0,a0=(K|0)<(G|0),!a0){a5=g2;break e}y=t0+(g2<<2)|0,_=e[y>>2]|0,V=K,j=_,W2=g2,R2=Q5}else a5=0;while(!1);if(J0=e[T>>2]|0,P0=J0+-1|0,z0=U1+(P0<<2)|0,G0=+s[z0>>2],O0=(a5|0)<(G|0),O0)t5=a5;else{C=E5;return}for(;r1=A+(t5<<2)|0,H0=+s[r1>>2],b0=H0>2]=G0),i1=t5+1|0,_5=(i1|0)==(G|0),!_5;)t5=i1;C=E5}function z$(t,n,A,a,c,u,E){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0,u=u|0,E=E|0;var I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0;if(_0=C,m=e[t>>2]|0,p=t+4|0,L=e[p>>2]|0,e0=(L+12|0)+(a<<2)|0,V=+s[e0>>2],d0=(m|0)>0,!!d0)for(w0=t+48|0,C0=+s[w0>>2],k0=t+12|0,f0=e[k0>>2]|0,B=f0+(a<<2)|0,v=e[B>>2]|0,S=L+108|0,w=(a|0)==1,y=C0,b=y*.005,Q=y*3e-4,I0=0;_=n+(I0<<2)|0,R=+s[_>>2],x=v+(I0<<2)|0,M=+s[x>>2],T=M+R,N=+s[S>>2],G=T>N,S0=G?N:T,O=A+(I0<<2)|0,z=+s[O>>2],Y=z+V,t0=S0>2]=I,w&&(W=E+(I0<<2)|0,q=+s[W>>2],X=S0-q,U=X>-17.200000762939453,$0=X+17.200000762939453,Z=$0,U?(K=b*Z,a0=1-K,n0=a0,i0=n0<0,i0?B0=9999999747378752e-20:B0=n0):(r0=Q*Z,h0=1-r0,s0=h0,B0=s0),g0=u+(I0<<2)|0,j=+s[g0>>2],c0=j*B0,s[g0>>2]=c0),u0=I0+1|0,p0=(u0|0)==(m|0),!p0;)I0=u0}function FS(t,n){t=+t,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0;return N=C,a=n+4|0,c=e[a>>2]|0,y=c+28|0,b=e[y>>2]|0,Q=n+40|0,_=e[Q>>2]|0,R=b+(_<<2)|0,x=e[R>>2]|0,L=(x|0)/2&-1,M=+(L|0),u=c+8|0,E=e[u>>2]|0,I=+(E|0),m=M/I,p=b+2936|0,B=+s[p>>2],v=B*m,S=v+t,w=S<-9999,A=w?-9999:S,+A}function MS(t,n,A,a,c,u,E,I,m){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0,u=u|0,E=E|0,I=I|0,m=m|0;var p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,R5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,R2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,k3=0,u3=0,p3=0,z3=0,G3=0,K5=0,w3=0,Z5=0,i6=0,R3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,L3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,X3=0,c6=0,p6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,R6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,L6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,M4=0,W4=0,C4=0,T4=0,U9=0,N4=0;if(N4=C,n0=e[A>>2]|0,i0=A+4|0,o5=e[i0>>2]|0,z3=o5+500|0,C3=e[z3>>2]|0,u6=(C3|0)==0,u6?J5=16:(l6=o5+508|0,C6=e[l6>>2]|0,J5=C6),t3=e[o5>>2]|0,I6=((n+132|0)+(t3*60|0)|0)+(t<<2)|0,r0=e[I6>>2]|0,k0=(n+252|0)+(t<<2)|0,N0=e[k0>>2]|0,G0=1624+(N0<<3)|0,l1=+A1[G0>>3],B1=(n+312|0)+(t<<2)|0,U1=e[B1>>2]|0,W1=m<<2,v=W1,i2=C,C=C+((1*v|0)+15&-16)|0,S=W1,C2=C,C=C+((1*S|0)+15&-16)|0,Q=W1,O2=C,C=C+((1*Q|0)+15&-16)|0,_=W1,k2=C,C=C+((1*_|0)+15&-16)|0,R=W1,_5=C,C=C+((1*R|0)+15&-16)|0,g2=a+1156|0,R2=(n0|0)>1e3,T4=R2?1696:1624,M4=T4+(U1<<3)|0,x4=+A1[M4>>3],F5=r5(W1,J5)|0,x=F5,k3=C,C=C+((1*x|0)+15&-16)|0,e[i2>>2]=k3,w=F5,u3=C,C=C+((1*w|0)+15&-16)|0,e[C2>>2]=u3,y=F5,p3=C,C=C+((1*y|0)+15&-16)|0,e[O2>>2]=p3,b=F5,G3=C,C=C+((1*b|0)+15&-16)|0,e[k2>>2]=G3,K5=(m|0)>1,K5&&(w3=k3+(J5<<2)|0,Z5=i2+4|0,e[Z5>>2]=w3,i6=u3+(J5<<2)|0,R3=C2+4|0,e[R3>>2]=i6,U3=p3+(J5<<2)|0,a3=O2+4|0,e[a3>>2]=U3,l3=G3+(J5<<2)|0,c3=k2+4|0,e[c3>>2]=l3,u9=(m|0)==2,!u9))for(k5=2;M=e[i2>>2]|0,G=e[C2>>2]|0,O=e[O2>>2]|0,z=e[k2>>2]|0,O5=r5(k5,J5)|0,P3=M+(O5<<2)|0,M5=i2+(k5<<2)|0,e[M5>>2]=P3,o6=G+(O5<<2)|0,e3=C2+(k5<<2)|0,e[e3>>2]=o6,A3=O+(O5<<2)|0,L3=O2+(k5<<2)|0,e[L3>>2]=A3,Q3=z+(O5<<2)|0,v3=k2+(k5<<2)|0,e[v3>>2]=Q3,y3=k5+1|0,X6=(y3|0)==(m|0),!X6;)k5=y3;if(H5=e[g2>>2]|0,U5=(n0|0)>0,U5)for(r6=e[k2>>2]|0,j3=(m|0)>0,O3=n0^-1,V5=J5^-1,T6=0,I9=O3;;){if(q3=(I9|0)>(V5|0),W4=q3?I9:V5,d3=W4^-1,k6=n0-T6|0,v6=(J5|0)>(k6|0),p=v6?k6:J5,s4(_5|0,E|0,W1|0)|0,Ae(r6|0,0,F5|0)|0,j3)for(S6=(p|0)>0,B6=r0-T6|0,r9=0;;){if(b3=u+(r9<<2)|0,e6=e[b3>>2]|0,t6=e6+(T6<<2)|0,f6=_5+(r9<<2)|0,H3=e[f6>>2]|0,D3=(H3|0)==0,D3){if(S6)for(b6=O2+(r9<<2)|0,A6=e[b6>>2]|0,O6=i2+(r9<<2)|0,s3=e[O6>>2]|0,a6=C2+(r9<<2)|0,d6=e[a6>>2]|0,_3=k2+(r9<<2)|0,N6=e[_3>>2]|0,E9=0;T0=A6+(E9<<2)|0,s[T0>>2]=1000000013351432e-25,V0=s3+(E9<<2)|0,s[V0>>2]=0,J0=d6+(E9<<2)|0,s[J0>>2]=0,P0=N6+(E9<<2)|0,e[P0>>2]=0,U=E9+T6|0,z0=e6+(U<<2)|0,e[z0>>2]=0,O0=E9+1|0,M6=(O0|0)==(d3|0),!M6;)E9=O0}else{if(Y3=O2+(r9<<2)|0,Z3=e[Y3>>2]|0,S6){for(z9=0;$0=z9+T6|0,n6=e6+($0<<2)|0,Q6=e[n6>>2]|0,R6=1768+(Q6<<2)|0,K6=e[R6>>2]|0,J6=Z3+(z9<<2)|0,e[J6>>2]=K6,F3=z9+1|0,y6=(F3|0)==(d3|0),!y6;)z9=F3;if(j6=c+(r9<<2)|0,G6=e[j6>>2]|0,e9=k2+(r9<<2)|0,s9=e[e9>>2]|0,S6){for(G9=0;L6=(G9|0)>=(B6|0),a0=L6?x4:l1,U6=a0,Z=G9+T6|0,D6=G6+(Z<<2)|0,z6=+s[D6>>2],d9=+zi(+z6),V=Z3+(G9<<2)|0,h0=+s[V>>2],s0=d9/h0,g0=s9+(G9<<2)|0,y9=!(s0>2]=B,j=G9+1|0,F6=(j|0)==(p|0),!F6;)G9=j;if(S6)for(c0=i2+(r9<<2)|0,u0=e[c0>>2]|0,d0=C2+(r9<<2)|0,w0=e[d0>>2]|0,b9=0;;)if(C0=b9+T6|0,f0=G6+(C0<<2)|0,B0=+s[f0>>2],p0=B0*B0,I0=u0+(b9<<2)|0,s[I0>>2]=p0,S0=w0+(b9<<2)|0,s[S0>>2]=p0,K0=+s[f0>>2],_0=K0<0,_0&&(Q0=+s[I0>>2],F0=-Q0,s[I0>>2]=F0),M0=Z3+(b9<<2)|0,U0=+s[M0>>2],y0=U0*U0,s[M0>>2]=y0,Y0=b9+1|0,M3=(Y0|0)==(d3|0),M3){T=d0,D0=u0;break}else b9=Y0;else U9=21}else U9=21}else U9=21;(U9|0)==21&&(U9=0,L=i2+(r9<<2)|0,Y=e[L>>2]|0,q=C2+(r9<<2)|0,T=q,D0=Y),L0=e[T>>2]|0,b4=e[i0>>2]|0,+cQ(b4,r0,D0,L0,Z3,0,T6,p,t6)}if(r1=r9+1|0,t9=(r1|0)==(m|0),t9)break;r9=r1}if(X3=e[g2>>2]|0,c6=(X3|0)>0,c6)for(p6=(p|0)>0,x6=I-T6|0,Y6=r0-T6|0,m3=X3,C4=0;;){if(H0=(a+1160|0)+(C4<<2)|0,e1=e[H0>>2]|0,b0=(a+2184|0)+(C4<<2)|0,i1=e[b0>>2]|0,c1=u+(e1<<2)|0,$1=e[c1>>2]|0,f1=$1+(T6<<2)|0,g1=u+(i1<<2)|0,s1=e[g1>>2]|0,a1=i2+(e1<<2)|0,n1=e[a1>>2]|0,o1=i2+(i1<<2)|0,Z0=e[o1>>2]|0,I1=C2+(e1<<2)|0,h1=e[I1>>2]|0,m1=C2+(i1<<2)|0,d1=e[m1>>2]|0,E1=O2+(e1<<2)|0,p1=e[E1>>2]|0,Q1=O2+(i1<<2)|0,_1=e[Q1>>2]|0,x1=k2+(e1<<2)|0,w1=e[x1>>2]|0,S1=k2+(i1<<2)|0,R1=e[S1>>2]|0,F1=_5+(e1<<2)|0,G1=e[F1>>2]|0,k1=(G1|0)==0,Z1=_5+(i1<<2)|0,k1?(N1=e[Z1>>2]|0,b1=(N1|0)==0,b1?W2=m3:U9=31):U9=31,(U9|0)==31){if(U9=0,e[Z1>>2]=1,e[F1>>2]=1,p6)for(q6=0;;){V1=(q6|0)<(x6|0);do if(V1){if(O1=w1+(q6<<2)|0,q1=e[O1>>2]|0,H1=(q1|0)==0,Y1=R1+(q6<<2)|0,H1&&(j1=e[Y1>>2]|0,n2=(j1|0)==0,n2)){e5=(q6|0)<(Y6|0);do if(e5)b5=Z0+(q6<<2)|0,Z2=+s[b5>>2],f5=n1+(q6<<2)|0,v5=+s[f5>>2],P5=v5+Z2,s[f5>>2]=P5,$9=+zi(+P5),l5=h1+(q6<<2)|0,s[l5>>2]=$9,N=b5;else if(m5=n1+(q6<<2)|0,n5=+s[m5>>2],x2=Z0+(q6<<2)|0,_2=+s[x2>>2],B2=_2+n5,C5=B2<0,f9=+zi(+n5),a9=+zi(+_2),L5=a9+f9,d5=h1+(q6<<2)|0,s[d5>>2]=L5,C5){D5=-L5,s[m5>>2]=D5,N=x2;break}else{s[m5>>2]=L5,N=x2;break}while(!1);G5=d1+(q6<<2)|0,s[G5>>2]=0,s[N>>2]=0,e[Y1>>2]=1,X=q6+T6|0,q2=s1+(X<<2)|0,e[q2>>2]=0;break}P1=n1+(q6<<2)|0,c2=+s[P1>>2],T9=+zi(+c2),z1=Z0+(q6<<2)|0,u2=+s[z1>>2],E6=+zi(+u2),o2=E6+T9,s[P1>>2]=o2,E2=h1+(q6<<2)|0,A2=+s[E2>>2],K1=d1+(q6<<2)|0,h2=+s[K1>>2],$2=h2+A2,s[E2>>2]=$2,e[Y1>>2]=1,e[O1>>2]=1,K=q6+T6|0,l2=$1+(K<<2)|0,r2=e[l2>>2]|0,a2=s1+(K<<2)|0,X1=e[a2>>2]|0,E4=(r2|0)>-1,m4=0-r2|0,s2=E4?r2:m4,o4=(X1|0)>-1,A4=0-X1|0,f2=o4?X1:A4,e2=(s2|0)>(f2|0),e2?(y2=(r2|0)>0,v2=r2-X1|0,w2=X1-r2|0,F2=y2?v2:w2,e[a2>>2]=F2,J=e[l2>>2]|0,G2=J,P2=F2):(D2=(X1|0)>0,N2=r2-X1|0,d2=X1-r2|0,K2=D2?N2:d2,e[a2>>2]=K2,e[l2>>2]=X1,t0=e[a2>>2]|0,G2=X1,P2=t0),h4=(G2|0)>-1,S4=0-G2|0,H2=h4?G2:S4,M2=H2<<1,z2=(P2|0)<(M2|0),z2||(T1=0-P2|0,e[a2>>2]=T1,X2=e[l2>>2]|0,R5=0-X2|0,e[l2>>2]=R5)}while(!1);if(I5=p1+(q6<<2)|0,A5=+s[I5>>2],c5=_1+(q6<<2)|0,B5=+s[c5>>2],M1=B5+A5,s[c5>>2]=M1,s[I5>>2]=M1,S5=q6+1|0,A9=(S5|0)==(d3|0),A9)break;q6=S5}D4=e[i0>>2]|0,+cQ(D4,r0,n1,h1,p1,w1,T6,p,f1),W=e[g2>>2]|0,W2=W}if(g5=C4+1|0,a5=(g5|0)<(W2|0),a5)m3=W2,C4=g5;else{n3=W2;break}}else n3=X3;if(p5=T6+J5|0,t5=(n0|0)>(p5|0),N9=I9+J5|0,t5)T6=p5,I9=N9;else{S3=n3;break}}else S3=H5;if(g3=(S3|0)>0,g3)X5=S3,i9=0;else{C=N4;return}for(;s5=(a+1160|0)+(i9<<2)|0,h5=e[s5>>2]|0,J2=E+(h5<<2)|0,u5=e[J2>>2]|0,i5=(u5|0)==0,x5=(a+2184|0)+(i9<<2)|0,i5?(j2=e[x5>>2]|0,$5=E+(j2<<2)|0,Q5=e[$5>>2]|0,q5=(Q5|0)==0,q5?Y5=X5:U9=52):U9=52,(U9|0)==52&&(U9=0,e[J2>>2]=1,j5=e[x5>>2]|0,E5=E+(j5<<2)|0,e[E5>>2]=1,e0=e[g2>>2]|0,Y5=e0),f3=i9+1|0,h3=(f3|0)<(Y5|0),h3;)X5=Y5,i9=f3;C=N4}function TS(t,n,A,a,c){t=t|0,n=+n,A=A|0,a=+a,c=+c;var u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,R5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,R2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,k3=0,u3=0,p3=0,z3=0,G3=0,K5=0,w3=0,Z5=0,i6=0,R3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,L3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,X3=0,c6=0,p6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,R6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,L6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,M4=0,W4=0,C4=0,T4=0,U9=0,N4=0,a4=0,R4=0,u4=0,Ce=0,q9=0,m9=0,Be=0,Ne=0,Xe=0,G4=0,Ge=0,U4=0,j4=0,be=0,e8=0,Z9=0,ae=0,f4=0,_6=0,P4=0,L9=0,$4=0,_4=0,$e=0,W9=0,le=0,ce=0,B4=0,X4=0,L4=0,ge=0,C9=0,g6=0,Ue=0,l4=0,pe=0,p4=0,c4=0,P6=0,De=0,_e=0,t8=0,g4=0,k4=0,u8=0,J3=0,w9=0,B9=0,F4=0,ee=0,$t=0,xe=0,lt=0,Qt=0,z8=0,ct=0,gt=0,F8=0,M8=0,T8=0,N8=0,Z8=0,W8=0,yt=0,G8=0,U8=0,P8=0,k8=0,v8=0,f8=0,O8=0,q8=0,j8=0,X8=0,d8=0,Pe=0,Re=0,i8=0,S8=0,k9=0,ht=0,Qe=0,ut=0,wt=0,et=0,kt=0,te=0,tt=0,H8=0,b8=0,r8=0,O4=0,Le=0,n8=0,I8=0,D8=0,he=0,j9=0,s8=0,E8=0,o8=0,m8=0,ue=0,ye=0,Oe=0,qe=0,X9=0,Fe=0,fe=0,A8=0,we=0,Q4=0,C8=0,it=0,q4=0,I3=0,He=0,B8=0,ie=0,H9=0,re=0,D9=0,Ye=0,Y8=0,ft=0,rt=0,nt=0,J8=0,st=0,V8=0,a8=0,$8=0,_8=0,H4=0,ot=0,x8=0,Je=0,p9=0,At=0,Ve=0;for(Ve=C,C=C+32480|0,J3=Ve+32256|0,p9=Ve+1792|0,w9=Ve,x=A<<2,S=x,L=C,C=C+((1*S|0)+15&-16)|0,r2=S9(68)|0,Ae(p9|0,0,30464)|0,S3=a>0,o4=a<0,k9=0;;){for($e=k9<<2,te=0;n5=te+$e|0,I5=(n5|0)<88,I5?(t5=1272+(n5<<2)|0,q5=+s[t5>>2],H9=q5):H9=-30,k3=n5+1|0,a3=(k3|0)<88,a3?(L6=1272+(k3<<2)|0,U6=+s[L6>>2],z6=H9>U6,z6?re=U6:re=H9):(s9=H9>-30,s9?re=-30:re=H9),y6=n5+2|0,F6=(y6|0)<88,F6?(M6=1272+(y6<<2)|0,t9=+s[M6>>2],A9=re>t9,A9?D9=t9:D9=re):(M3=re>-30,M3?D9=-30:D9=re),X6=n5+3|0,u9=(X6|0)<88,u9?(a9=1272+(X6<<2)|0,$9=+s[a9>>2],T9=D9>$9,T9?Ye=$9:Ye=D9):(f9=D9>-30,f9?Ye=-30:Ye=D9),E6=J3+(te<<2)|0,s[E6>>2]=Ye,T6=te+1|0,T8=(T6|0)==56,!T8;)te=T6;if(l4=(p9+(k9*1792|0)|0)+448|0,M=2792+(k9*1344|0)|0,s4(l4|0,M|0,224)|0,q=(p9+(k9*1792|0)|0)+672|0,h0=(2792+(k9*1344|0)|0)+224|0,s4(q|0,h0|0,224)|0,B0=(p9+(k9*1792|0)|0)+896|0,y0=(2792+(k9*1344|0)|0)+448|0,s4(B0|0,y0|0,224)|0,r1=(p9+(k9*1792|0)|0)+1120|0,a1=(2792+(k9*1344|0)|0)+672|0,s4(r1|0,a1|0,224)|0,Q1=(p9+(k9*1792|0)|0)+1344|0,N1=(2792+(k9*1344|0)|0)+896|0,s4(Q1|0,N1|0,224)|0,c2=(p9+(k9*1792|0)|0)+1568|0,a2=(2792+(k9*1344|0)|0)+1120|0,s4(c2|0,a2|0,224)|0,N2=p9+(k9*1792|0)|0,s4(N2|0,M|0,224)|0,X2=(p9+(k9*1792|0)|0)+224|0,s4(X2|0,M|0,224)|0,S3)for(r8=0;;){if(o4)for(E8=0;h4=16-E8|0,wt=(h4|0)>-1,nt=0-h4|0,G9=wt?h4:nt,z9=+(G9|0),b9=z9*c,E9=b9+a,q6=E9<0,I=q6?0:E9,r9=I>0,u=r9?0:I,m4=((p9+(k9*1792|0)|0)+(r8*224|0)|0)+(E8<<2)|0,S4=+s[m4>>2],A4=S4+u,s[m4>>2]=A4,b4=E8+1|0,P8=(b4|0)==56,!P8;)E8=b4;else for(o8=0;g3=16-o8|0,et=(g3|0)>-1,J8=0-g3|0,x6=et?g3:J8,b6=+(x6|0),R6=b6*c,D6=R6+a,d9=D6<0,m=d9?0:D6,i9=((p9+(k9*1792|0)|0)+(r8*224|0)|0)+(o8<<2)|0,N9=+s[i9>>2],I9=N9+m,s[i9>>2]=I9,E4=o8+1|0,U8=(E4|0)==56,!U8;)o8=E4;if(e3=r8+1|0,k8=(e3|0)==8,k8)break;r8=e3}else for(b8=0;;){if(o4)for(m8=0;W4=16-m8|0,kt=(W4|0)>-1,st=0-W4|0,C4=kt?W4:st,T4=+(C4|0),U9=T4*c,N4=U9+a,a4=N4>0,E=a4?0:N4,u4=((p9+(k9*1792|0)|0)+(b8*224|0)|0)+(m8<<2)|0,Ce=+s[u4>>2],q9=Ce+E,s[u4>>2]=q9,m9=m8+1|0,Z8=(m9|0)==56,!Z8;)m8=m9;else for(s8=0;Be=16-s8|0,ut=(Be|0)>-1,rt=0-Be|0,Ne=ut?Be:rt,Xe=+(Ne|0),G4=Xe*c,Ge=G4+a,U4=((p9+(k9*1792|0)|0)+(b8*224|0)|0)+(s8<<2)|0,be=+s[U4>>2],e8=be+Ge,s[U4>>2]=e8,Z9=s8+1|0,N8=(Z9|0)==56,!N8;)s8=Z9;if(ae=b8+1|0,W8=(ae|0)==8,W8)break;b8=ae}for(D4=t+(k9<<2)|0,x4=+s[D4>>2],M4=x4,O4=0;;){for(f4=(O4|0)<2,_6=+(O4|0),w=_6*10,y=70-w,P4=f4?50:y,L9=P4+M4,$4=L9,d8=0;_4=((p9+(k9*1792|0)|0)+(O4*224|0)|0)+(d8<<2)|0,W9=+s[_4>>2],le=W9+$4,s[_4>>2]=le,ce=d8+1|0,F4=(ce|0)==56,!F4;)d8=ce;for(B4=w9+(O4*224|0)|0,s4(B4|0,J3|0,224)|0,X4=+(O4|0),L4=X4*10,ge=70-L4,S8=0;;)if(C9=(w9+(O4*224|0)|0)+(S8<<2)|0,g6=+s[C9>>2],Ue=ge+g6,s[C9>>2]=Ue,pe=S8+1|0,lt=(pe|0)==56,lt){i8=0;break}else S8=pe;for(;p4=((p9+(k9*1792|0)|0)+(O4*224|0)|0)+(i8<<2)|0,c4=+s[p4>>2],P6=(w9+(O4*224|0)|0)+(i8<<2)|0,De=+s[P6>>2],_e=c4>De,_e&&(s[P6>>2]=c4),t8=i8+1|0,xe=(t8|0)==56,!xe;)i8=t8;if(g4=O4+1|0,yt=(g4|0)==8,yt){Le=1;break}else O4=g4}for(;;){for(k4=Le+-1|0,Re=0;;)if(u8=(w9+(k4*224|0)|0)+(Re<<2)|0,T=+s[u8>>2],N=(w9+(Le*224|0)|0)+(Re<<2)|0,G=+s[N>>2],O=T>2]=T),z=Re+1|0,$t=(z|0)==56,$t){Pe=0;break}else Re=z;for(;Y=(w9+(Le*224|0)|0)+(Pe<<2)|0,t0=+s[Y>>2],J=((p9+(k9*1792|0)|0)+(Le*224|0)|0)+(Pe<<2)|0,W=+s[J>>2],e0=t0>2]=t0),X=Pe+1|0,ee=(X|0)==56,!ee;)Pe=X;if(U=Le+1|0,G8=(U|0)==8,G8)break;Le=U}if($0=k9+1|0,v8=($0|0)==17,v8)break;k9=$0}for(y9=n,R4=(A|0)>0,j4=A^-1,Qe=0;;){for(Z=S9(32)|0,K=r2+(Qe<<2)|0,e[K>>2]=Z,a0=+(Qe|0),n0=a0*.5,i0=a0*.34657350182533264,r0=i0+4.135165354540845,V=+Gn(+r0),s0=V/y9,g0=+KA(+s0),j=~~g0,c0=+(j|0),u0=c0*n,d0=u0+1,w0=d0,C0=+Kr(+w0),k0=C0*2.885390043258667,f0=k0+-11.931568145751953,p0=+nB(+f0),I0=~~p0,S0=j+1|0,K0=+(S0|0),_0=K0*n,Q0=_0,F0=+Kr(+Q0),M0=F0*2.885390043258667,N0=M0+-11.931568145751953,U0=+KA(+N0),Y0=~~U0,L0=(I0|0)>(Qe|0),ht=L0?Qe:I0,D0=(ht|0)<0,B8=D0?0:ht,T0=(Y0|0)>16,p=T0?16:Y0,V0=(B8|0)>(p|0),J0=Qe+1|0,P0=(J0|0)<17,z0=n0+3.9657840728759766,ie=0;;){if(G0=S9(232)|0,O0=Z+(ie<<2)|0,e[O0>>2]=G0,R4)for(n8=0;H0=L+(n8<<2)|0,s[H0>>2]=999,e1=n8+1|0,B9=(e1|0)==(A|0),!B9;)n8=e1;if(!V0)for(ue=B8;;){for(b0=+(ue|0),i1=b0*.5,I8=0,ye=0;;){if(g1=+(I8|0),l1=g1*.125,s1=l1+i1,n1=s1+3.9032840728759766,o1=n1*.6931470036506653,Z0=+Gn(+o1),I1=Z0/y9,h1=~~I1,m1=s1+4.028284072875977,d1=m1*.6931470036506653,E1=+Gn(+d1),B1=E1/y9,p1=B1+1,_1=~~p1,x1=(h1|0)<0,B=x1?0:h1,w1=(B|0)>(A|0),it=w1?A:B,S1=(it|0)<(ye|0),q4=S1?it:ye,R1=(_1|0)<0,j8=R1?0:_1,F1=(j8|0)>(A|0),Y8=F1?A:j8,G1=(q4|0)<(Y8|0),k1=(q4|0)<(A|0),V8=G1&k1,V8)for(U1=((p9+(ue*1792|0)|0)+(ie*224|0)|0)+(I8<<2)|0,Z1=+s[U1>>2],b1=(ye|0)<(A|0),V1=b1?ye:A,O1=V1^-1,q1=(h1|0)>0,_=h1^-1,H1=q1?_:-1,Y1=(H1|0)<(O1|0),H4=Y1?O1:H1,j1=H4^-1,n2=(_1|0)>0,R=_1^-1,W1=n2?R:-1,P1=(W1|0)<(j4|0),ot=P1?j4:W1,z1=ot-H4|0,u2=H4+A|0,o2=u2^-1,E2=z1>>>0>o2>>>0,x8=E2?z1:o2,A2=j1-x8|0,X9=q4;;)if(K1=L+(X9<<2)|0,h2=+s[K1>>2],$2=h2>Z1,$2&&(s[K1>>2]=Z1),i2=X9+1|0,f8=(i2|0)==(A2|0),f8){Oe=A2;break}else X9=i2;else Oe=q4;if(l2=I8+1|0,O8=(l2|0)==56,O8){qe=Oe;break}else I8=l2,ye=Oe}if(c1=(qe|0)<(A|0),c1)for($1=((p9+(ue*1792|0)|0)+(ie*224|0)|0)+220|0,f1=+s[$1>>2],Fe=qe;X1=L+(Fe<<2)|0,s2=+s[X1>>2],f2=s2>f1,f2&&(s[X1>>2]=f1),e2=Fe+1|0,q8=(e2|0)==(A|0),!q8;)Fe=e2;if(y2=ue+1|0,v2=(ue|0)<(p|0),v2)ue=y2;else break}if(P0){for(D8=0,fe=0;;){if(G2=+(D8|0),H2=G2*.125,M2=H2+n0,P2=M2+3.9032840728759766,z2=P2*.6931470036506653,o5=+Gn(+z2),O2=o5/y9,T1=~~O2,R5=M2+4.028284072875977,e5=R5*.6931470036506653,b5=+Gn(+e5),Z2=b5/y9,f5=Z2+1,v5=~~f5,P5=(T1|0)<0,v=P5?0:T1,l5=(v|0)>(A|0),I3=l5?A:v,k2=(I3|0)<(fe|0),He=k2?I3:fe,m5=(v5|0)<0,X8=m5?0:v5,x2=(X8|0)>(A|0),ft=x2?A:X8,_2=(He|0)<(ft|0),B2=(He|0)<(A|0),a8=_2&B2,a8)for(C5=((p9+(J0*1792|0)|0)+(ie*224|0)|0)+(D8<<2)|0,L5=+s[C5>>2],d5=(fe|0)<(A|0),D5=d5?fe:A,G5=D5^-1,_5=(T1|0)>0,b=T1^-1,q2=_5?b:-1,A5=(q2|0)<(G5|0),$8=A5?G5:q2,c5=$8^-1,B5=(v5|0)>0,Q=v5^-1,M1=B5?Q:-1,S5=(M1|0)<(j4|0),_8=S5?j4:M1,g5=_8-$8|0,a5=$8+A|0,W2=a5^-1,g2=g5>>>0>W2>>>0,Je=g2?g5:W2,p5=c5-Je|0,Q4=He;;)if(s5=L+(Q4<<2)|0,h5=+s[s5>>2],J2=h5>L5,J2&&(s[s5>>2]=L5),u5=Q4+1|0,Qt=(u5|0)==(p5|0),Qt){A8=p5;break}else Q4=u5;else A8=He;if(i5=D8+1|0,z8=(i5|0)==56,z8){we=A8;break}else D8=i5,fe=A8}if(D2=(we|0)<(A|0),D2)for(d2=((p9+(J0*1792|0)|0)+(ie*224|0)|0)+220|0,K2=+s[d2>>2],C8=we;x5=L+(C8<<2)|0,j2=+s[x5>>2],$5=j2>K2,$5&&(s[x5>>2]=K2),R2=C8+1|0,ct=(R2|0)==(A|0),!ct;)C8=R2}for(w2=Z+(ie<<2)|0,C2=Z+(ie<<2)|0,F2=Z+(ie<<2)|0,he=0;;){f3=+(he|0),h3=f3*.125,Y5=z0+h3,X5=Y5*.6931470036506653,n3=+Gn(+X5),m3=n3/y9,F5=~~m3,J5=(F5|0)<0;do if(J5)u3=he+2|0,p3=e[w2>>2]|0,z3=p3+(u3<<2)|0,s[z3>>2]=-999;else if(G3=(F5|0)<(A|0),G3){i6=L+(F5<<2)|0,R3=e[i6>>2]|0,U3=he+2|0,l3=e[C2>>2]|0,c3=l3+(U3<<2)|0,e[c3>>2]=R3;break}else{K5=he+2|0,w3=e[F2>>2]|0,Z5=w3+(K5<<2)|0,s[Z5>>2]=-999;break}while(!1);if(C3=he+1|0,gt=(C3|0)==56,gt)break;he=C3}Q5=G0+8|0,j5=+s[Q5>>2],E5=j5>-200;do if(E5)j9=0;else if(H5=G0+12|0,U5=+s[H5>>2],O5=U5>-200,O5)j9=1;else if(y3=G0+16|0,r6=+s[y3>>2],j3=r6>-200,j3)j9=2;else if(O3=G0+20|0,V5=+s[O3>>2],q3=V5>-200,q3)j9=3;else if(l6=G0+24|0,d3=+s[l6>>2],k6=d3>-200,k6)j9=4;else if(v6=G0+28|0,S6=+s[v6>>2],B6=S6>-200,B6)j9=5;else if(X3=G0+32|0,c6=+s[X3>>2],p6=c6>-200,p6)j9=6;else if(Y6=G0+36|0,C6=+s[Y6>>2],b3=C6>-200,b3)j9=7;else if(e6=G0+40|0,t6=+s[e6>>2],f6=t6>-200,f6)j9=8;else if(H3=G0+44|0,D3=+s[H3>>2],Y3=D3>-200,Y3)j9=9;else if(Z3=G0+48|0,A6=+s[Z3>>2],t3=A6>-200,t3)j9=10;else if(O6=G0+52|0,s3=+s[O6>>2],a6=s3>-200,a6)j9=11;else if(d6=G0+56|0,_3=+s[d6>>2],N6=_3>-200,N6)j9=12;else if(n6=G0+60|0,Q6=+s[n6>>2],K6=Q6>-200,K6)j9=13;else{if(I6=G0+64|0,J6=+s[I6>>2],F3=J6>-200,F3){j9=14;break}if(j6=G0+68|0,G6=+s[j6>>2],e9=G6>-200,e9){j9=15;break}j9=16}while(!1);for(s[G0>>2]=j9,H8=55;;){if(k5=H8+2|0,P3=G0+(k5<<2)|0,M5=+s[P3>>2],o6=M5>-200,o6){tt=H8;break}if(A3=H8+-1|0,L3=(A3|0)>17,L3)H8=A3;else{tt=A3;break}}if(u6=+(tt|0),Q3=G0+4|0,s[Q3>>2]=u6,v3=ie+1|0,F8=(v3|0)==8,F8)break;ie=v3}if(M8=(J0|0)==17,M8)break;Qe=J0}return C=Ve,r2|0}function lQ(t,n,A,a,c,u){t=t|0,n=n|0,A=A|0,a=a|0,c=+c,u=u|0;var E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,R5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,R2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,k3=0,u3=0,p3=0,z3=0,G3=0,K5=0,w3=0,Z5=0,i6=0,R3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,L3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,X3=0,c6=0,p6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,R6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,L6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0;if(D4=C,w=t<<2,E=w,y=C,C=C+((1*E|0)+15&-16)|0,I=w,A2=C,C=C+((1*I|0)+15&-16)|0,m=w,j2=C,C=C+((1*m|0)+15&-16)|0,p=w,n3=C,C=C+((1*p|0)+15&-16)|0,B=w,Z5=C,C=C+((1*B|0)+15&-16)|0,k5=+s[A>>2],r6=k5+c,S6=r6<1,A4=S6?1:r6,f6=A4*A4,b=f6*.5,z=b*A4,s[y>>2]=b,s[A2>>2]=b,s[j2>>2]=0,s[n3>>2]=z,s[Z5>>2]=0,K=(t|0)>1,K)for(M3=1,E6=b,T6=b,i9=0,N9=0,I9=z,E4=1;c1=A+(M3<<2)|0,h1=+s[c1>>2],R1=h1+c,H1=R1<1,y9=H1?1:R1,K1=y9*y9,y2=K1+E6,M2=K1*E4,f5=M2+T6,L5=M2*E4,S5=L5+i9,J2=K1*y9,u5=J2+I9,i5=M2*y9,x5=i5+N9,$5=y+(M3<<2)|0,s[$5>>2]=y2,R2=A2+(M3<<2)|0,s[R2>>2]=f5,Q5=j2+(M3<<2)|0,s[Q5>>2]=S5,q5=n3+(M3<<2)|0,s[q5>>2]=u5,j5=Z5+(M3<<2)|0,s[j5>>2]=x5,E5=M3+1|0,f3=E4+1,F6=(E5|0)==(t|0),!F6;)M3=E5,E6=y2,T6=f5,i9=S5,N9=x5,I9=u5,E4=f3;if(u0=e[n>>2]|0,_0=u0>>16,V0=(_0|0)>-1,V0)Y5=u0,d6=0,Q6=0,J6=1,M6=0,o4=0;else for(F5=u0,p3=_0,t9=0,h4=0;;)if(m3=F5&65535,J5=y+(m3<<2)|0,k3=+s[J5>>2],u3=0-p3|0,z3=y+(u3<<2)|0,G3=+s[z3>>2],K5=G3+k3,w3=A2+(m3<<2)|0,i6=+s[w3>>2],R3=A2+(u3<<2)|0,U3=+s[R3>>2],a3=i6-U3,l3=j2+(m3<<2)|0,c3=+s[l3>>2],C3=j2+(u3<<2)|0,H5=+s[C3>>2],U5=H5+c3,O5=n3+(m3<<2)|0,P3=+s[O5>>2],M5=n3+(u3<<2)|0,o6=+s[M5>>2],e3=o6+P3,A3=Z5+(m3<<2)|0,L3=+s[A3>>2],u6=Z5+(u3<<2)|0,Q3=+s[u6>>2],v3=L3-Q3,y3=e3*U5,j3=v3*a3,O3=y3-j3,V5=v3*K5,S3=e3*a3,g3=V5-S3,q3=U5*K5,l6=a3*a3,d3=q3-l6,k6=g3*h4,v6=k6+O3,B6=v6/d3,X3=B6<0,e9=X3?0:B6,c6=e9-c,p6=a+(t9<<2)|0,s[p6>>2]=c6,x6=t9+1|0,Y6=h4+1,C6=n+(x6<<2)|0,b3=e[C6>>2]|0,e6=b3>>16,t6=(e6|0)>-1,t6){Y5=b3,d6=O3,Q6=g3,J6=d3,M6=x6,o4=Y6;break}else F5=b3,p3=e6,t9=x6,h4=Y6;if(h3=Y5&65535,X5=(h3|0)<(t|0),X5)for(v=Y5,Z3=h3,X6=M6,z9=o4;;)if(D3=v>>16,Y3=y+(Z3<<2)|0,b6=+s[Y3>>2],A6=y+(D3<<2)|0,t3=+s[A6>>2],O6=b6-t3,s3=A2+(Z3<<2)|0,a6=+s[s3>>2],Q=A2+(D3<<2)|0,_=+s[Q>>2],R=a6-_,x=j2+(Z3<<2)|0,L=+s[x>>2],M=j2+(D3<<2)|0,T=+s[M>>2],N=L-T,G=n3+(Z3<<2)|0,O=+s[G>>2],Y=n3+(D3<<2)|0,t0=+s[Y>>2],J=O-t0,W=Z5+(Z3<<2)|0,e0=+s[W>>2],q=Z5+(D3<<2)|0,X=+s[q>>2],U=e0-X,$0=J*N,Z=U*R,a0=$0-Z,n0=U*O6,i0=J*R,r0=n0-i0,V=N*O6,h0=R*R,s0=V-h0,g0=r0*z9,j=g0+a0,c0=j/s0,d0=c0<0,s9=d0?0:c0,w0=s9-c,C0=a+(X6<<2)|0,s[C0>>2]=w0,k0=X6+1|0,f0=z9+1,B0=n+(k0<<2)|0,p0=e[B0>>2]|0,I0=p0&65535,S0=(I0|0)<(t|0),S0)v=p0,Z3=I0,X6=k0,z9=f0;else{_3=a0,R6=r0,F3=s0,A9=k0,G9=f0;break}else _3=d6,R6=Q6,F3=J6,A9=M6,G9=o4;if(H3=(A9|0)<(t|0),H3)for(u9=A9,b9=G9;K0=b9*R6,Q0=K0+_3,F0=Q0/F3,M0=F0<0,L6=M0?0:F0,N0=L6-c,U0=a+(u9<<2)|0,s[U0>>2]=N0,y0=u9+1|0,Y0=b9+1,y6=(y0|0)==(t|0),!y6;)u9=y0,b9=Y0;if(L0=(u|0)<1,L0){C=D4;return}if(D0=(u|0)/2&-1,T0=D0-u|0,J0=(T0|0)>-1,J0)N6=_3,K6=R6,j6=F3,f9=0,E9=0;else for(P0=u-D0|0,H0=D0,i1=T0,d9=0,q6=0;;)if(r1=y+(H0<<2)|0,e1=+s[r1>>2],b0=0-i1|0,$1=y+(b0<<2)|0,f1=+s[$1>>2],g1=f1+e1,l1=A2+(H0<<2)|0,s1=+s[l1>>2],a1=A2+(b0<<2)|0,n1=+s[a1>>2],o1=s1-n1,Z0=j2+(H0<<2)|0,I1=+s[Z0>>2],m1=j2+(b0<<2)|0,d1=+s[m1>>2],E1=d1+I1,B1=n3+(H0<<2)|0,p1=+s[B1>>2],Q1=n3+(b0<<2)|0,_1=+s[Q1>>2],x1=_1+p1,w1=Z5+(H0<<2)|0,S1=+s[w1>>2],F1=Z5+(b0<<2)|0,G1=+s[F1>>2],k1=S1-G1,U1=x1*E1,Z1=k1*o1,N1=U1-Z1,b1=k1*g1,V1=x1*o1,O1=b1-V1,q1=E1*g1,Y1=o1*o1,j1=q1-Y1,n2=O1*q6,W1=n2+N1,P1=W1/j1,c2=P1-c,z1=a+(d9<<2)|0,u2=+s[z1>>2],o2=c2>2]=c2),E2=d9+1|0,h2=q6+1,$2=D0+E2|0,i2=$2-u|0,z6=(E2|0)==(P0|0),z6){N6=N1,K6=O1,j6=j1,f9=P0,E9=h2;break}else H0=$2,i1=i2,d9=E2,q6=h2;if(z0=f9+D0|0,G0=(z0|0)<(t|0),G0)for(O0=t-D0|0,S=z0,$9=f9,m4=E9;;)if(r2=S-u|0,a2=y+(S<<2)|0,X1=+s[a2>>2],s2=y+(r2<<2)|0,f2=+s[s2>>2],e2=X1-f2,v2=A2+(S<<2)|0,w2=+s[v2>>2],C2=A2+(r2<<2)|0,F2=+s[C2>>2],D2=w2-F2,N2=j2+(S<<2)|0,d2=+s[N2>>2],K2=j2+(r2<<2)|0,G2=+s[K2>>2],H2=d2-G2,P2=n3+(S<<2)|0,z2=+s[P2>>2],o5=n3+(r2<<2)|0,O2=+s[o5>>2],T1=z2-O2,X2=Z5+(S<<2)|0,R5=+s[X2>>2],e5=Z5+(r2<<2)|0,b5=+s[e5>>2],Z2=R5-b5,v5=T1*H2,P5=Z2*D2,l5=v5-P5,k2=Z2*e2,m5=T1*D2,n5=k2-m5,x2=H2*e2,_2=D2*D2,B2=x2-_2,C5=n5*m4,d5=C5+l5,D5=d5/B2,G5=D5-c,_5=a+($9<<2)|0,q2=+s[_5>>2],I5=G5>2]=G5),A5=$9+1|0,c5=m4+1,B5=A5+D0|0,D6=(A5|0)==(O0|0),D6){n6=l5,I6=n5,G6=B2,a9=O0,r9=c5;break}else S=B5,$9=A5,m4=c5;else n6=N6,I6=K6,G6=j6,a9=f9,r9=E9;if(l2=(a9|0)<(t|0),l2)T9=a9,S4=r9;else{C=D4;return}for(;M1=S4*I6,g5=M1+n6,a5=g5/G6,W2=a5-c,g2=a+(T9<<2)|0,p5=+s[g2>>2],t5=W2>2]=W2),s5=T9+1|0,h5=S4+1,U6=(s5|0)==(t|0),!U6;)T9=s5,S4=h5;C=D4}function NS(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0;if(c1=C,u=A<<2,a=u,E=C,C=C+((1*a|0)+15&-16)|0,c=u,_=C,C=C+((1*c|0)+15&-16)|0,t0=(A|0)>0,t0)y0=0,P0=0;else{C=c1;return}for(;;){S0=(P0|0)<2;do if(S0)Q0=E+(P0<<2)|0,e[Q0>>2]=y0,I=t+(y0<<2)|0,m=e[I>>2]|0,p=_+(P0<<2)|0,e[p>>2]=m,H0=P0;else{for(K0=t+(y0<<2)|0,_0=+s[K0>>2],z0=P0;;){if(B=z0+-1|0,v=_+(B<<2)|0,S=+s[v>>2],w=_0>2]|0,x=R+n|0,L=(y0|0)<(x|0),M=(z0|0)>1,D0=M&L,!D0){O0=z0,i1=12;break}if(T=z0+-2|0,N=_+(T<<2)|0,G=+s[N>>2],O=!(S<=G),O){O0=z0,i1=12;break}if(z=E+(T<<2)|0,Y=e[z>>2]|0,J=Y+n|0,W=(y0|0)<(J|0),W)z0=B;else{O0=z0,i1=12;break}}if((i1|0)==8){i1=0,y=E+(G0<<2)|0,e[y>>2]=y0,b=_+(G0<<2)|0,s[b>>2]=_0,H0=G0;break}else if((i1|0)==12){i1=0,e0=E+(O0<<2)|0,e[e0>>2]=y0,q=_+(O0<<2)|0,s[q>>2]=_0,H0=O0;break}}while(!1);if(r1=H0+1|0,X=y0+1|0,U0=(X|0)==(A|0),U0){e1=H0,b0=r1;break}else y0=X,P0=r1}if(n0=(e1|0)>-1,!n0){C=c1;return}for(w0=n+1|0,Y0=0,T0=0;;){if(U=(Y0|0)<(e1|0),U?($0=Y0+1|0,Z=_+($0<<2)|0,K=+s[Z>>2],a0=_+(Y0<<2)|0,i0=+s[a0>>2],r0=K>i0,r0?(V=E+($0<<2)|0,h0=e[V>>2]|0,F0=h0):i1=17):i1=17,(i1|0)==17&&(i1=0,s0=E+(Y0<<2)|0,g0=e[s0>>2]|0,j=w0+g0|0,F0=j),c0=(F0|0)>(A|0),L0=c0?A:F0,u0=(T0|0)<(L0|0),u0)for(d0=_+(Y0<<2)|0,C0=e[d0>>2]|0,k0=(F0|0)<(A|0),f0=k0?F0:A,J0=T0;;)if(B0=t+(J0<<2)|0,e[B0>>2]=C0,p0=J0+1|0,M0=(p0|0)==(f0|0),M0){V0=f0;break}else J0=p0;else V0=T0;if(I0=Y0+1|0,N0=(I0|0)==(b0|0),N0)break;Y0=I0,T0=V0}C=c1}function cQ(t,n,A,a,c,u,E,I,m){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0,u=u|0,E=E|0,I=I|0,m=m|0;var p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0;if(c2=C,x=I<<2,b=x,L=C,C=C+((1*b|0)+15&-16)|0,e0=t+500|0,V=e[e0>>2]|0,f0=(V|0)==0,f0?p1=I:(U0=t+504|0,O0=e[U0>>2]|0,s1=O0-E|0,p1=s1),F1=(p1|0)>(I|0),Y1=F1?I:p1,M=(Y1|0)>0,M)for(T=(u|0)==0,N=(p1|0)<(I|0),G=N?p1:I,O1=0;;){T?P1=9:(t0=u+(O1<<2)|0,J=e[t0>>2]|0,W=(J|0)==0,W&&(P1=9));do if((P1|0)==9)if(P1=0,q=a+(O1<<2)|0,X=+s[q>>2],U=c+(O1<<2)|0,$0=+s[U>>2],Z=X/$0,K=A+(O1<<2)|0,a0=+s[K>>2],n0=a0<0,i0=Z,r0=+Tn(+i0),h0=+Pi(r0),n0){s0=-h0,g0=~~s0,j=m+(O1<<2)|0,e[j>>2]=g0;break}else{c0=~~h0,u0=m+(O1<<2)|0,e[u0>>2]=c0;break}while(!1);if(d0=O1+1|0,b1=(d0|0)==(G|0),b1){V1=G;break}else O1=d0}else V1=0;if(O=(V1|0)<(I|0),!O)return y=0,C=c2,+y;for(z=(u|0)!=0,Y=n-E|0,p=0,G1=0,q1=V1;;){z?(w0=u+(q1<<2)|0,C0=e[w0>>2]|0,k0=(C0|0)==0,k0?P1=15:(B=p,k1=G1)):P1=15;do if((P1|0)==15)if(P1=0,B0=a+(q1<<2)|0,p0=+s[B0>>2],I0=c+(q1<<2)|0,S0=+s[I0>>2],K0=p0/S0,_0=!(K0<.25),Q0=(q1|0)<(Y|0),j1=z&Q0,n2=_0|j1,n2){y0=A+(q1<<2)|0,Y0=+s[y0>>2],L0=Y0<0,D0=K0,T0=+Tn(+D0),V0=+Pi(T0),J0=-V0,_=L0?J0:V0,Q=~~_,P0=m+(q1<<2)|0,e[P0>>2]=Q,z0=r5(Q,Q)|0,G0=+(z0|0),r1=+s[I0>>2],H0=G0*r1,s[B0>>2]=H0,B=p,k1=G1;break}else{F0=K0+p,M0=G1+1|0,N0=L+(G1<<2)|0,e[N0>>2]=B0,B=F0,k1=M0;break}while(!1);if(e1=q1+1|0,N1=(e1|0)==(I|0),N1){v=B,U1=k1;break}else p=B,G1=k1,q1=e1}if(b0=(U1|0)==0,b0||(Lh(L,U1,4,9),i1=(U1|0)>0,!i1))return y=v,C=c2,+y;for(c1=a,$1=t+512|0,f1=+A1[$1>>3],S=v,H1=0;;)if(g1=L+(H1<<2)|0,l1=e[g1>>2]|0,a1=l1,n1=a1-c1|0,o1=n1>>2,Z0=S,I1=!(Z0>=f1),I1?(w=S,R=0,W1=0):(h1=A+(o1<<2)|0,m1=e[h1>>2]|0,d1=m1&-2147483648,E1=d1|1065353216,B1=(e[p2>>2]=E1,+s[p2>>2]),Q1=~~B1,_1=S+-1,x1=c+(o1<<2)|0,w1=+s[x1>>2],w=_1,R=Q1,W1=w1),S1=m+(o1<<2)|0,e[S1>>2]=R,s[l1>>2]=W1,R1=H1+1|0,Z1=(R1|0)==(U1|0),Z1){y=w;break}else S=w,H1=R1;return C=c2,+y}function GS(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0;return S=C,A=e[t>>2]|0,a=+s[A>>2],c=e[n>>2]|0,u=+s[c>>2],E=au,p=m&1,B=I-p|0,B|0}function US(t){t=t|0;var n=0,A=0,a=0;a=C,n=(t|0)==0,n||I2(t)}function PS(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0;if(W=C,A=(t|0)==0,!A){if(a=t+4|0,y=e[a>>2]|0,L=(y|0)>0,M=t+20|0,L)for(x=y,Y=0;T=e[M>>2]|0,N=T+(Y<<2)|0,G=e[N>>2]|0,O=(G|0)==0,O?u=x:(I2(G),n=e[a>>2]|0,u=n),z=Y+1|0,c=(z|0)<(u|0),c;)x=u,Y=z;if(E=e[M>>2]|0,I2(E),I=t+24|0,m=e[I>>2]|0,p=(m|0)>0,B=t+28|0,p)for(t0=0;v=e[B>>2]|0,S=v+(t0<<2)|0,w=e[S>>2]|0,I2(w),b=t0+1|0,Q=e[I>>2]|0,_=(b|0)<(Q|0),_;)t0=b;R=e[B>>2]|0,I2(R),I2(t)}}function OS(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0;if(c0=C,c=e[t>>2]|0,U2(n,c,24),u=t+4|0,Q=e[u>>2]|0,U2(n,Q,24),Y=t+8|0,U=e[Y>>2]|0,$0=U+-1|0,U2(n,$0,24),Z=t+12|0,K=e[Z>>2]|0,a0=K+-1|0,U2(n,a0,6),n0=t+20|0,E=e[n0>>2]|0,U2(n,E,8),I=e[Z>>2]|0,m=(I|0)>0,!!m){for(p=t+24|0,i0=0,V=0;;){if(S=p+(V<<2)|0,w=e[S>>2]|0,y=Ft(w)|0,b=(y|0)>3,_=e[S>>2]|0,b?(U2(n,_,3),U2(n,1,1),R=e[S>>2]|0,x=R>>3,U2(n,x,5)):U2(n,_,4),L=e[S>>2]|0,M=(L|0)==0,M)s0=0;else for(A=L,g0=0;;)if(T=A&1,N=T+g0|0,G=A>>>1,O=(G|0)==0,O){s0=N;break}else A=G,g0=N;if(z=s0+i0|0,t0=V+1|0,J=e[Z>>2]|0,W=(t0|0)<(J|0),W)i0=z,V=t0;else{a=z;break}}if(B=(a|0)>0,!!B)for(v=t+280|0,h0=0;e0=v+(h0<<2)|0,q=e[e0>>2]|0,U2(n,q,8),X=h0+1|0,r0=(X|0)==(a|0),!r0;)h0=X}}function qS(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0;n1=C,E=n4(1,2840)|0,I=t+28|0,R=e[I>>2]|0,J=Z4(n,24)|0,e[E>>2]=J,i0=Z4(n,24)|0,C0=E+4|0,e[C0>>2]=i0,M0=Z4(n,24)|0,z0=M0+1|0,O0=E+8|0,e[O0>>2]=z0,r1=Z4(n,6)|0,m=r1+1|0,p=E+12|0,e[p>>2]=m,B=Z4(n,8)|0,v=E+20|0,e[v>>2]=B,S=(B|0)<0;e:do if(S)a1=26;else{if(w=(r1|0)>-1,w){for(y=E+24|0,e1=0,c1=0;;){if(_=Z4(n,3)|0,x=Z4(n,1)|0,L=(x|0)<0,L){a1=26;break e}if(M=(x|0)==0,M)b0=_;else{if(T=Z4(n,5)|0,N=(T|0)<0,N){a1=26;break e}G=T<<3,O=G|_,b0=O}if(z=y+(c1<<2)|0,e[z>>2]=b0,Y=(b0|0)==0,Y)l1=0;else for(a=b0,s1=0;;)if(t0=a&1,W=t0+s1|0,e0=a>>>1,q=(e0|0)==0,q){l1=W;break}else a=e0,s1=W;if(X=l1+e1|0,U=c1+1|0,$0=e[p>>2]|0,Z=(U|0)<($0|0),Z)e1=X,c1=U;else{u=X;break}}if(b=(u|0)>0,b)for(Q=E+280|0,$1=0;;){if(K=Z4(n,8)|0,a0=(K|0)<0,a0)break e;if(n0=Q+($1<<2)|0,e[n0>>2]=K,r0=$1+1|0,V=(r0|0)<(u|0),V)$1=r0;else{G0=b,H0=u;break}}else G0=0,H0=u}else G0=0,H0=0;if(h0=e[v>>2]|0,s0=R+24|0,g0=e[s0>>2]|0,j=(h0|0)<(g0|0),j){if(G0)for(c0=E+280|0,f1=0;;){if(w0=c0+(f1<<2)|0,k0=e[w0>>2]|0,f0=(k0|0)<(g0|0),!f0||(B0=(R+1824|0)+(k0<<2)|0,p0=e[B0>>2]|0,I0=p0+12|0,S0=e[I0>>2]|0,K0=(S0|0)==0,u0=f1+1|0,K0))break e;if(d0=(u0|0)<(H0|0),d0)f1=u0;else break}if(_0=(R+1824|0)+(h0<<2)|0,Q0=e[_0>>2]|0,F0=Q0+4|0,N0=e[F0>>2]|0,U0=e[Q0>>2]|0,y0=(U0|0)<1,!y0){for(Y0=e[p>>2]|0,i1=U0,g1=1;;){if(T0=r5(Y0,g1)|0,V0=(T0|0)>(N0|0),V0)break e;if(L0=i1+-1|0,D0=(i1|0)>1,D0)i1=L0,g1=T0;else{c=T0;break}}return J0=E+16|0,e[J0>>2]=c,A=E,A|0}}}while(!1);return(a1|0)==26&&(P0=(E|0)==0,P0)?(A=0,A|0):(I2(E),A=0,A|0)}function HS(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0;if(p1=C,u=n4(1,44)|0,E=t+4|0,_=e[E>>2]|0,t0=_+28|0,n0=e[t0>>2]|0,e[u>>2]=n,w0=n+12|0,F0=e[w0>>2]|0,P0=u+4|0,e[P0>>2]=F0,r1=n0+2848|0,H0=e[r1>>2]|0,I=u+12|0,e[I>>2]=H0,m=H0,p=n+20|0,B=e[p>>2]|0,v=m+(B*56|0)|0,S=u+16|0,e[S>>2]=v,w=e[v>>2]|0,y=n4(F0,4)|0,b=u+20|0,e[b>>2]=y,Q=(F0|0)>0,Q)for(R=n+24|0,x=n+280|0,e1=0,l1=0,h1=0;;){if(L=R+(l1<<2)|0,M=e[L>>2]|0,T=Ft(M)|0,N=(T|0)==0,N)c1=e1,m1=h1;else if(G=(T|0)>(h1|0),a=G?T:h1,O=n4(T,4)|0,z=y+(l1<<2)|0,e[z>>2]=O,Y=(T|0)>0,Y)for(J=e[L>>2]|0,W=y+(l1<<2)|0,b0=e1,o1=0;;)if(e0=1<>2]|0,$0=b0+1|0,Z=x+(b0<<2)|0,K=e[Z>>2]|0,a0=U+(K*56|0)|0,i0=e[W>>2]|0,r0=i0+(o1<<2)|0,e[r0>>2]=a0,i1=$0),V=o1+1|0,f1=(V|0)==(T|0),f1){c1=i1,m1=a;break}else b0=i1,o1=V;else c1=e1,m1=a;if(h0=l1+1|0,s0=(h0|0)<(F0|0),s0)e1=c1,l1=h0,h1=m1;else{I1=m1;break}}else I1=0;if(g0=u+24|0,e[g0>>2]=1,j=(w|0)>0,j){for(u0=1,s1=0;;)if(c0=r5(u0,F0)|0,d0=s1+1|0,$1=(d0|0)==(w|0),$1){A=c0;break}else u0=c0,s1=d0;e[g0>>2]=A,f0=A}else f0=1;if(C0=u+8|0,e[C0>>2]=I1,k0=f0<<2,B0=S9(k0)|0,p0=u+28|0,e[p0>>2]=B0,I0=(f0|0)>0,!I0)return u|0;if(S0=w<<2,!j){for(a1=0;J0=S9(S0)|0,z0=B0+(a1<<2)|0,e[z0>>2]=J0,G0=a1+1|0,O0=(G0|0)<(f0|0),O0;)a1=G0;return u|0}for(K0=e[p0>>2]|0,n1=0;;){for(D0=S9(S0)|0,T0=B0+(n1<<2)|0,e[T0>>2]=D0,V0=K0+(n1<<2)|0,Y0=e[V0>>2]|0,c=f0,Z0=0,E1=n1;d1=(c|0)/(F0|0)&-1,M0=(E1|0)/(d1|0)&-1,N0=r5(M0,d1)|0,U0=E1-N0|0,y0=Y0+(Z0<<2)|0,e[y0>>2]=M0,L0=Z0+1|0,g1=(L0|0)==(w|0),!g1;)c=d1,Z0=L0,E1=U0;if(_0=n1+1|0,Q0=(_0|0)<(f0|0),Q0)n1=_0;else break}return u|0}function YS(t,n,A,a,c){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0;var u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0;if(M=C,u=(c|0)>0,u)Q=0,_=0;else return 0;for(;;)if(E=a+(Q<<2)|0,I=e[E>>2]|0,m=(I|0)==0,m?R=_:(p=A+(Q<<2)|0,B=e[p>>2]|0,v=_+1|0,S=A+(_<<2)|0,e[S>>2]=B,R=v),w=Q+1|0,b=(w|0)==(c|0),b){x=R;break}else Q=w,_=R;return y=(x|0)==0,y||gQ(t,n,A,x,2),0}function JS(t,n,A,a,c,u,E,I){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0,u=u|0,E=E|0,I=I|0;var m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0;if(G=C,m=(u|0)>0,m)x=0,L=0;else return 0;for(;;)if(p=c+(x<<2)|0,B=e[p>>2]|0,v=(B|0)==0,v?M=L:(S=a+(x<<2)|0,w=e[S>>2]|0,y=L+1|0,b=a+(L<<2)|0,e[b>>2]=w,M=y),Q=x+1|0,R=(Q|0)==(u|0),R){T=M;break}else x=Q,L=M;return _=(T|0)==0,_||hQ(t,A,a,T,E),0}function VS(t,n,A,a,c){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0;var u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0;if(B1=C,I=(c|0)>0,I)i1=0,h1=0;else return u=0,u|0;for(;;)if(m=a+(i1<<2)|0,x=e[m>>2]|0,W=(x|0)==0,W?m1=h1:(r0=A+(i1<<2)|0,k0=e[r0>>2]|0,N0=h1+1|0,V0=A+(h1<<2)|0,e[V0>>2]=k0,m1=N0),J0=i1+1|0,O0=(J0|0)==(c|0),O0){d1=m1;break}else i1=J0,h1=m1;if(P0=(d1|0)==0,P0)return u=0,u|0;if(p=e[n>>2]|0,B=p+8|0,v=e[B>>2]|0,S=p+12|0,w=e[S>>2]|0,y=p+4|0,b=e[y>>2]|0,Q=e[p>>2]|0,_=b-Q|0,R=(_|0)/(v|0)&-1,L=d1<<2,M=Ot(t,L)|0,T=+(v|0),N=100/T,G=N,O=(d1|0)>0,O)for(z=R<<2,c1=0;q=Ot(t,z)|0,X=M+(c1<<2)|0,e[X>>2]=q,Ae(q|0,0,z|0)|0,U=c1+1|0,b0=(U|0)==(d1|0),!b0;)c1=U;if(Y=(R|0)>0,Y)for(t0=(v|0)>0,J=w+-1|0,e0=(w|0)>1,$1=0;;){if($0=r5($1,v)|0,Z=e[p>>2]|0,K=Z+$0|0,O)for(g1=0;;){if(t0)for(a0=A+(g1<<2)|0,n0=e[a0>>2]|0,G0=0,l1=0,o1=0;;)if(i0=K+l1|0,V=n0+(i0<<2)|0,h0=e[V>>2]|0,f1=(h0|0)>-1,Z0=0-h0|0,s0=f1?h0:Z0,g0=(s0|0)>(o1|0),E=g0?s0:o1,j=s0+G0|0,c0=l1+1|0,r1=(c0|0)==(v|0),r1){z0=j,n1=E;break}else G0=j,l1=c0,o1=E;else z0=0,n1=0;u0=+(z0|0),d0=u0*G,w0=~~d0;e:do if(e0)for(a1=0;;){if(C0=(p+2328|0)+(a1<<2)|0,f0=e[C0>>2]|0,B0=(n1|0)>(f0|0),!B0&&(p0=(p+2584|0)+(a1<<2)|0,I0=e[p0>>2]|0,S0=(I0|0)<0,K0=(w0|0)<(I0|0),I1=S0|K0,I1)){s1=a1;break e}if(_0=a1+1|0,Q0=(_0|0)<(J|0),Q0)a1=_0;else{s1=_0;break}}else s1=0;while(!1);if(F0=M+(g1<<2)|0,M0=e[F0>>2]|0,U0=M0+($1<<2)|0,e[U0>>2]=s1,y0=g1+1|0,H0=(y0|0)==(d1|0),H0)break;g1=y0}if(Y0=$1+1|0,e1=(Y0|0)==(R|0),e1)break;$1=Y0}return L0=n+40|0,D0=e[L0>>2]|0,T0=D0+1|0,e[L0>>2]=T0,u=M,u|0}function KS(t,n,A,a,c){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0;var u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0;if(M=C,u=(c|0)>0,u)Q=0,_=0;else return 0;for(;;)if(E=a+(Q<<2)|0,I=e[E>>2]|0,m=(I|0)==0,m?R=_:(p=A+(Q<<2)|0,B=e[p>>2]|0,v=_+1|0,S=A+(_<<2)|0,e[S>>2]=B,R=v),w=Q+1|0,b=(w|0)==(c|0),b){x=R;break}else Q=w,_=R;return y=(x|0)==0,y||gQ(t,n,A,x,3),0}function zS(t,n,A,a,c){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0;var u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0;if(Z0=C,m=(c|0)>0,m)T0=0,n1=0;else return u=0,u|0;for(;;)if(p=a+(T0<<2)|0,L=e[p>>2]|0,g1=(L|0)!=0,e0=g1&1,s1=e0+n1|0,V=T0+1|0,Y0=(V|0)==(c|0),Y0){a1=s1;break}else T0=V,n1=s1;if(l1=(a1|0)==0,l1)return u=0,u|0;if(f0=e[n>>2]|0,K0=f0+8|0,_0=e[K0>>2]|0,Q0=f0+12|0,F0=e[Q0>>2]|0,B=f0+4|0,v=e[B>>2]|0,S=e[f0>>2]|0,w=v-S|0,y=(w|0)/(_0|0)&-1,b=Ot(t,4)|0,Q=y<<2,_=Ot(t,Q)|0,e[b>>2]=_,Ae(_|0,0,Q|0)|0,R=(y|0)>0,R)for(x=e[f0>>2]|0,M=(x|0)/(c|0)&-1,T=(_0|0)>0,N=F0+-1|0,G=(F0|0)>1,O=e[b>>2]|0,z=(c|0)>1,V0=0,H0=M;;){if(T)for(Y=e[A>>2]|0,N0=0,z0=0,b0=H0,c1=0;;){if(t0=Y+(b0<<2)|0,J=e[t0>>2]|0,J0=(J|0)>-1,$1=0-J|0,W=J0?J:$1,q=(W|0)>(c1|0),I=q?W:c1,z)for(y0=N0,r1=1;;)if(X=A+(r1<<2)|0,U=e[X>>2]|0,$0=U+(b0<<2)|0,Z=e[$0>>2]|0,P0=(Z|0)>-1,f1=0-Z|0,K=P0?Z:f1,a0=(K|0)>(y0|0),E=a0?K:y0,n0=r1+1|0,L0=(n0|0)==(c|0),L0){U0=E;break}else y0=E,r1=n0;else U0=N0;if(i0=b0+1|0,r0=z0+c|0,h0=(r0|0)<(_0|0),h0)N0=U0,z0=r0,b0=i0,c1=I;else{M0=U0,e1=i0,i1=I;break}}else M0=0,e1=H0,i1=0;e:do if(G)for(O0=0;;){if(s0=(f0+2328|0)+(O0<<2)|0,g0=e[s0>>2]|0,j=(i1|0)>(g0|0),!j&&(c0=(f0+2584|0)+(O0<<2)|0,u0=e[c0>>2]|0,d0=(M0|0)>(u0|0),!d0)){G0=O0;break e}if(w0=O0+1|0,C0=(w0|0)<(N|0),C0)O0=w0;else{G0=w0;break}}else G0=0;while(!1);if(k0=O+(V0<<2)|0,e[k0>>2]=G0,B0=V0+1|0,D0=(B0|0)==(y|0),D0)break;V0=B0,H0=e1}return p0=n+40|0,I0=e[p0>>2]|0,S0=I0+1|0,e[p0>>2]=S0,u=b,u|0}function ZS(t,n,A,a,c,u,E,I){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0,u=u|0,E=E|0,I=I|0;var m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0;if(n0=C,C=C+16|0,K=n0,m=n+36|0,p=e[m>>2]|0,L=(p|0)/2&-1,M=u<<2,T=r5(M,L)|0,N=Ot(n,T)|0,e[K>>2]=N,G=(u|0)>0,!G)return C=n0,0;for(O=(p|0)>1,J=0,Z=0;;){if(z=a+(J<<2)|0,Y=e[z>>2]|0,B=c+(J<<2)|0,v=e[B>>2]|0,q=(v|0)!=0,S=q&1,U=S+Z|0,O)for(W=0,e0=J;w=Y+(W<<2)|0,y=e[w>>2]|0,b=N+(e0<<2)|0,e[b>>2]=y,Q=W+1|0,_=e0+u|0,R=(Q|0)<(L|0),R;)W=Q,e0=_;if(x=J+1|0,t0=(x|0)==(u|0),t0){$0=U;break}else J=x,Z=U}return X=($0|0)==0,X?(C=n0,0):(hQ(t,A,K,1,E),C=n0,0)}function WS(t,n,A,a,c){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0;var u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0;if(Q1=C,I=e[n>>2]|0,m=I+8|0,x=e[m>>2]|0,W=n+16|0,r0=e[W>>2]|0,k0=e[r0>>2]|0,N0=t+36|0,G0=e[N0>>2]|0,l1=r5(G0,c)|0,s1=l1>>1,p=I+4|0,B=e[p>>2]|0,v=(B|0)<(s1|0),u=v?B:s1,S=e[I>>2]|0,w=u-S|0,y=(w|0)>0,!y)return 0;b=(w|0)/(x|0)&-1,Q=k0+-1|0,_=Q+b|0,R=(_|0)/(k0|0)&-1,L=R<<2,M=Ot(t,L)|0,T=(c|0)>0;e:do if(T)for(n1=0;;){if(N=a+(n1<<2)|0,G=e[N>>2]|0,O=(G|0)==0,!O){a1=n1;break e}if(z=n1+1|0,Y=(z|0)<(c|0),Y)n1=z;else{a1=z;break}}else a1=0;while(!1);if(t0=(a1|0)==(c|0),t0||(J=n+8|0,e0=e[J>>2]|0,q=(e0|0)>0,!q))return 0;X=(b|0)>0,U=t+4|0,$0=I+16|0,Z=n+28|0,K=(k0|0)>0,a0=n+20|0,g1=e0,B1=0;e:for(;;){if(X){for(n0=(B1|0)==0,i0=1<>2]|0,h0=Vm(V,U)|0,s0=(h0|0)==-1,s0){p1=23;break e}if(g0=e[$0>>2]|0,j=(h0|0)<(g0|0),!j){p1=23;break e}if(c0=e[Z>>2]|0,u0=c0+(h0<<2)|0,d0=e[u0>>2]|0,w0=M+(m1<<2)|0,e[w0>>2]=d0,C0=(d0|0)==0,C0){p1=23;break e}}if(f0=(o1|0)<(b|0),E1=K&f0,E1)for(B0=M+(m1<<2)|0,I1=o1,h1=0;;){if(p0=e[B0>>2]|0,I0=p0+(h1<<2)|0,S0=e[I0>>2]|0,K0=(I+24|0)+(S0<<2)|0,_0=e[K0>>2]|0,Q0=_0&i0,F0=(Q0|0)==0,!F0&&(M0=e[a0>>2]|0,U0=M0+(S0<<2)|0,y0=e[U0>>2]|0,Y0=y0+(B1<<2)|0,L0=e[Y0>>2]|0,D0=(L0|0)==0,!D0&&(T0=r5(I1,x)|0,V0=e[I>>2]|0,J0=V0+T0|0,P0=rS(L0,A,J0,c,U,x)|0,z0=(P0|0)==-1,z0))){p1=23;break e}if(O0=h1+1|0,r1=I1+1|0,H0=(O0|0)<(k0|0),e1=(r1|0)<(b|0),d1=H0&e1,d1)I1=r1,h1=O0;else{Z0=r1;break}}else Z0=o1;if(b0=m1+1|0,i1=(Z0|0)<(b|0),i1)o1=Z0,m1=b0;else break}E=e[J>>2]|0,f1=E}else f1=g1;if(c1=B1+1|0,$1=(c1|0)<(f1|0),$1)g1=f1,B1=c1;else{p1=23;break}}return(p1|0)==23,0}function gQ(t,n,A,a,c){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0;var u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0;if(j1=C,p=e[n>>2]|0,B=p+8|0,M=e[B>>2]|0,q=n+16|0,h0=e[q>>2]|0,B0=e[h0>>2]|0,y0=t+36|0,r1=e[y0>>2]|0,a1=r1>>1,Q1=p+4|0,v=e[Q1>>2]|0,S=(v|0)<(a1|0),u=S?v:a1,w=e[p>>2]|0,y=u-w|0,b=(y|0)>0,!b){C=j1;return}if(Q=(y|0)/(M|0)&-1,_=a<<2,E=_,R=C,C=C+((1*E|0)+15&-16)|0,x=(a|0)>0,x)for(L=B0+-1|0,T=L+Q|0,N=(T|0)/(B0|0)&-1,G=N<<2,G1=0;$0=Ot(t,G)|0,Z=R+(G1<<2)|0,e[Z>>2]=$0,K=G1+1|0,x1=(K|0)==(a|0),!x1;)G1=K;if(O=n+8|0,z=e[O>>2]|0,Y=(z|0)>0,!Y){C=j1;return}t0=(Q|0)>0,J=t+4|0,W=p+16|0,e0=n+28|0,X=(B0|0)>0,U=n+20|0,m=x^1,H1=0;e:for(;;){if(t0)for(a0=1<>2]|0,H0=Vm(O0,J)|0,e1=(H0|0)==-1,e1){Y1=25;break e}if(b0=e[W>>2]|0,i1=(H0|0)<(b0|0),!i1){Y1=25;break e}if(c1=e[e0>>2]|0,$1=c1+(H0<<2)|0,f1=e[$1>>2]|0,g1=R+(k1<<2)|0,l1=e[g1>>2]|0,s1=l1+(b1<<2)|0,e[s1>>2]=f1,n1=(f1|0)==0,z0=k1+1|0,n1){Y1=25;break e}if(G0=(z0|0)<(a|0),G0)k1=z0;else break}n0=(w1|0)<(Q|0),q1=X&n0;t:do if(q1){if(x)F1=w1,N1=0;else for(R1=w1,Z1=0;;)if(o1=Z1+1|0,Z0=R1+1|0,I1=(o1|0)<(B0|0),h1=(Z0|0)<(Q|0),V1=I1&h1,V1)R1=Z0,Z1=o1;else{S1=Z0;break t}for(;;){for(c0=r5(F1,M)|0,U1=0;;){if(g0=e[p>>2]|0,j=g0+c0|0,u0=R+(U1<<2)|0,d0=e[u0>>2]|0,w0=d0+(b1<<2)|0,C0=e[w0>>2]|0,k0=C0+(N1<<2)|0,f0=e[k0>>2]|0,p0=(p+24|0)+(f0<<2)|0,I0=e[p0>>2]|0,S0=I0&a0,K0=(S0|0)==0,!K0&&(_0=e[U>>2]|0,Q0=_0+(f0<<2)|0,F0=e[Q0>>2]|0,M0=F0+(H1<<2)|0,N0=e[M0>>2]|0,U0=(N0|0)==0,!U0&&(Y0=A+(U1<<2)|0,L0=e[Y0>>2]|0,D0=L0+(j<<2)|0,T0=IB[c&3](N0,D0,J,M)|0,V0=(T0|0)==-1,V0))){Y1=25;break e}if(J0=U1+1|0,P0=(J0|0)<(a|0),P0)U1=J0;else break}if(i0=N1+1|0,r0=F1+1|0,V=(i0|0)<(B0|0),s0=(r0|0)<(Q|0),O1=V&s0,O1)F1=r0,N1=i0;else{S1=r0;break}}}else S1=w1;while(!1);if(m1=b1+1|0,d1=(S1|0)<(Q|0),d1)w1=S1,b1=m1;else break}if(E1=H1+1|0,B1=e[O>>2]|0,p1=(E1|0)<(B1|0),p1)H1=E1;else{Y1=25;break}}if((Y1|0)==25){C=j1;return}}function hQ(t,n,A,a,c){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0;var u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,R5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,R2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,k3=0,u3=0,p3=0,z3=0,G3=0,K5=0,w3=0,Z5=0,i6=0,R3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,L3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,X3=0,c6=0,p6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,R6=0,K6=0,I6=0;if(I6=C,C=C+1088|0,t3=I6+1056|0,M5=I6+1024|0,O6=I6+512|0,s3=I6,Q=e[n>>2]|0,_=Q+8|0,$2=e[_>>2]|0,H2=Q+12|0,Z2=e[H2>>2]|0,C5=n+16|0,M1=e[C5>>2]|0,u5=e[M1>>2]|0,h3=Q+4|0,G3=e[h3>>2]|0,R=e[Q>>2]|0,J=G3-R|0,i0=(J|0)/($2|0)&-1,Ae(O6|0,0,512)|0,Ae(s3|0,0,512)|0,C0=n+8|0,M0=e[C0>>2]|0,z0=(M0|0)>0,!z0){C=I6;return}for(g1=(i0|0)>0,E1=(a|0)>0,k1=(u5|0)>1,n2=n+36|0,i2=(u5|0)>0,v2=n+20|0,w2=n+32|0,C2=0-u5|0,y2=M0,a6=0;;){if(g1){for(F2=(a6|0)==0,D2=1<>2]|0,G5=D5+(V5<<2)|0,_5=e[G5>>2]|0,q2=e[C5>>2]|0,I5=q2+4|0,A5=e[I5>>2]|0,c5=(_5|0)<(A5|0),c5&&(B5=xh(q2,_5,t)|0,S5=e[n2>>2]|0,g5=S5+B5|0,e[n2>>2]=g5),a5=C6+1|0,o6=(a5|0)==(a|0),o6)break e;C6=a5}for(;;){for(k2=c+(b3<<2)|0,f5=e[k2>>2]|0,m5=f5+(V5<<2)|0,n5=e[m5>>2]|0,f6=1,n6=n5;;)if(X2=r5(n6,Z2)|0,R5=f6+V5|0,e5=(R5|0)<(i0|0),e5?(b5=f5+(R5<<2)|0,v5=e[b5>>2]|0,P5=v5+X2|0,Q6=P5):Q6=X2,l5=f6+1|0,v3=(l5|0)==(u5|0),v3){R6=Q6;break}else f6=l5,n6=Q6;if(K2=e[C5>>2]|0,G2=K2+4|0,M2=e[G2>>2]|0,P2=(R6|0)<(M2|0),P2&&(z2=xh(K2,R6,t)|0,o5=e[n2>>2]|0,O2=o5+z2|0,e[n2>>2]=O2),T1=b3+1|0,y3=(T1|0)==(a|0),y3)break;b3=T1}}while(!1);if(x2=(V5|0)<(i0|0),b6=i2&x2,b6){for(_2=V5-i0|0,B2=_2>>>0>>0,N6=B2?C2:_2,L5=0-N6|0,l6=V5,H3=0;;){if(W2=r5(l6,$2)|0,g2=e[Q>>2]|0,p5=g2+W2|0,E1)for(t6=0;;){if(t5=c+(t6<<2)|0,s5=e[t5>>2]|0,h5=s5+(l6<<2)|0,J2=e[h5>>2]|0,F2&&(i5=s3+(J2<<2)|0,x5=e[i5>>2]|0,j2=x5+$2|0,e[i5>>2]=j2),$5=(Q+24|0)+(J2<<2)|0,R2=e[$5>>2]|0,Q5=R2&D2,q5=(Q5|0)==0,!q5&&(j5=e[v2>>2]|0,E5=j5+(J2<<2)|0,f3=e[E5>>2]|0,Y5=f3+(a6<<2)|0,X5=e[Y5>>2]|0,n3=(X5|0)==0,!n3)){if(m3=A+(t6<<2)|0,F5=e[m3>>2]|0,J5=e[X5>>2]|0,k3=($2|0)/(J5|0)&-1,u3=(k3|0)>0,u3){for(p3=X5+48|0,z3=X5+52|0,K5=X5+44|0,w3=X5+12|0,Z5=X5+4|0,x=J5,k5=0,g3=0;;){i6=r5(g3,J5)|0,S=i6+p5|0,R3=F5+(S<<2)|0,U3=e[p3>>2]|0,a3=e[z3>>2]|0,l3=e[K5>>2]|0,c3=l3>>1,e[t3>>2]=0,e[t3+4>>2]=0,e[t3+8>>2]=0,e[t3+12>>2]=0,e[t3+16>>2]=0,e[t3+20>>2]=0,e[t3+24>>2]=0,e[t3+28>>2]=0,C3=(a3|0)==1,L=(x|0)>0;do if(C3){if(!L){X3=0;break}for(G=l3+-1|0,d3=0,B6=0,Y3=x;;)if(d0=Y3+-1|0,b=S+d0|0,w0=F5+(b<<2)|0,k0=e[w0>>2]|0,f0=k0-U3|0,B0=(f0|0)<(c3|0),B0?(p0=c3-f0|0,I0=p0<<1,S0=I0+-1|0,F0=S0):(K0=f0-c3|0,_0=K0<<1,F0=_0),Q0=r5(B6,l3)|0,N0=(F0|0)<0,U0=(F0|0)>=(l3|0),y0=U0?G:F0,Y0=N0?0:y0,L0=Y0+Q0|0,D0=t3+(d0<<2)|0,e[D0>>2]=k0,T0=d3+1|0,j3=(T0|0)==(x|0),j3){X3=L0;break}else d3=T0,B6=L0,Y3=d0}else{if(!L){X3=0;break}for(M=a3>>1,T=M-U3|0,N=l3+-1|0,S3=0,S6=0,D3=x;;)if(O=D3+-1|0,y=S+O|0,z=F5+(y<<2)|0,Y=e[z>>2]|0,t0=T+Y|0,W=(t0|0)/(a3|0)&-1,e0=(W|0)<(c3|0),e0?(q=c3-W|0,X=q<<1,U=X+-1|0,a0=U):($0=W-c3|0,Z=$0<<1,a0=Z),K=r5(S6,l3)|0,n0=(a0|0)<0,r0=(a0|0)>=(l3|0),V=r0?N:a0,h0=n0?0:V,s0=h0+K|0,g0=r5(W,a3)|0,j=g0+U3|0,c0=t3+(O<<2)|0,e[c0>>2]=j,u0=S3+1|0,O3=(u0|0)==(x|0),O3){X3=s0;break}else S3=u0,S6=s0,D3=O}while(!1);V0=e[w3>>2]|0,J0=V0+8|0,P0=e[J0>>2]|0,G0=P0+X3|0,O0=d[G0>>0]|0,r1=O0<<24>>24<1;do if(r1){if(e[M5>>2]=0,e[M5+4>>2]=0,e[M5+8>>2]=0,e[M5+12>>2]=0,e[M5+16>>2]=0,e[M5+20>>2]=0,e[M5+24>>2]=0,e[M5+28>>2]=0,H0=l3+-1|0,e1=r5(H0,a3)|0,b0=e1+U3|0,i1=e[Z5>>2]|0,c1=(i1|0)>0,c1)H5=-1,k6=0,c6=X3;else{x6=X3;break}for(;;){$1=P0+k6|0,f1=d[$1>>0]|0,l1=f1<<24>>24>0;do if(l1){if(L)for(Y6=0,_3=0;;)if(s1=M5+(Y6<<2)|0,a1=e[s1>>2]|0,w=S+Y6|0,n1=F5+(w<<2)|0,o1=e[n1>>2]|0,Z0=a1-o1|0,I1=r5(Z0,Z0)|0,h1=I1+_3|0,m1=Y6+1|0,r6=(m1|0)==(x|0),r6){d6=h1;break}else Y6=m1,_3=h1;else d6=0;if(d1=(H5|0)==-1,B1=(d6|0)<(H5|0),Z3=d1|B1,!Z3){U5=H5,p6=c6;break}e[t3>>2]=e[M5>>2]|0,e[t3+4>>2]=e[M5+4>>2]|0,e[t3+8>>2]=e[M5+8>>2]|0,e[t3+12>>2]=e[M5+12>>2]|0,e[t3+16>>2]=e[M5+16>>2]|0,e[t3+20>>2]=e[M5+20>>2]|0,e[t3+24>>2]=e[M5+24>>2]|0,e[t3+28>>2]=e[M5+28>>2]|0,U5=d6,p6=k6}else U5=H5,p6=c6;while(!1);if(p1=e[M5>>2]|0,Q1=(p1|0)<(b0|0),Q1)E=M5,I=p1;else for(x1=M5,e6=0;;)if(_1=e6+1|0,e[x1>>2]=0,w1=M5+(_1<<2)|0,S1=e[w1>>2]|0,R1=(S1|0)<(b0|0),R1){E=w1,I=S1;break}else x1=w1,e6=_1;if(F1=(I|0)>-1,F1?(G1=I+a3|0,e[E>>2]=G1,Z1=G1):Z1=I,U1=0-Z1|0,e[E>>2]=U1,N1=k6+1|0,e3=(N1|0)==(i1|0),e3){x6=p6;break}else H5=U5,k6=N1,c6=p6}}else x6=X3;while(!1);if(b1=(x6|0)>-1,A6=L&b1,A6)for(u=R3,v6=0;V1=t3+(v6<<2)|0,O1=e[V1>>2]|0,q1=u+4|0,H1=e[u>>2]|0,Y1=H1-O1|0,e[u>>2]=Y1,j1=v6+1|0,A3=(j1|0)==(x|0),!A3;)u=q1,v6=j1;if(W1=xh(X5,x6,t)|0,P1=W1+k5|0,c2=g3+1|0,L3=(c2|0)==(k3|0),L3){m=P1;break}p=e[X5>>2]|0,x=p,k5=P1,g3=c2}B=e[t5>>2]|0,E2=B,O5=m}else E2=s5,O5=0;z1=e[w2>>2]|0,u2=z1+O5|0,e[w2>>2]=u2,o2=E2+(l6<<2)|0,A2=e[o2>>2]|0,K1=O6+(A2<<2)|0,h2=e[K1>>2]|0,l2=h2+O5|0,e[K1>>2]=l2}if(r2=t6+1|0,u6=(r2|0)==(a|0),u6)break;t6=r2}if(a2=H3+1|0,X1=l6+1|0,Q3=(a2|0)==(L5|0),Q3)break;l6=X1,H3=a2}N2=V5-N6|0,q3=N2}else q3=V5;if(d2=(q3|0)<(i0|0),d2)V5=q3;else break}v=e[C0>>2]|0,e2=v}else e2=y2;if(s2=a6+1|0,f2=(s2|0)<(e2|0),f2)y2=e2,a6=s2;else break}C=I6}function Ft(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0;if(p=C,A=(t|0)==0,A)E=0;else for(n=t,I=0;;)if(a=n>>>1,c=I+1|0,u=(a|0)==0,u){E=c;break}else n=a,I=c;return E|0}function uQ(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0;h2=C,C=C+144|0,P1=h2,m=(A|0)!=0,p=m?A:n,L=p<<2,e0=S9(L)|0,Ae(P1|0,0,132)|0,V=(n|0)>0;do if(V){f0=P1+4|0,U0=(A|0)==0,O0=U0&1,p1=0,k1=0;e:for(;;){s1=t+k1|0,B1=d[s1>>0]|0,B=B1<<24>>24,v=B1<<24>>24>0;t:do if(v){if(S=P1+(B<<2)|0,w=e[S>>2]|0,y=B1<<24>>24>31,b=w>>>B,Q=(b|0)==0,c2=y|Q,!c2){K1=5;break e}_=e0+(p1<<2)|0,e[_>>2]=w,R=P1+(B<<2)|0,x=w&1,M=(x|0)==0;i:do if(M)for(q=w,X=R,V1=B;;){if(W=q+1|0,e[X>>2]=W,U=V1+-1|0,$0=(V1|0)>1,!$0)break i;if(u=P1+(U<<2)|0,I=e[u>>2]|0,Z=P1+(U<<2)|0,K=I&1,a0=(K|0)==0,a0)q=I,X=Z,V1=U;else{c=Z,b1=U,K1=8;break}}else c=R,b1=B,K1=8;while(!1);do if((K1|0)==8)if(K1=0,N=(b1|0)==1,N){G=e[f0>>2]|0,O=G+1|0,e[f0>>2]=O;break}else{z=b1+-1|0,Y=P1+(z<<2)|0,t0=e[Y>>2]|0,J=t0<<1,e[c>>2]=J;break}while(!1);if(Y1=B+1|0,T=(Y1|0)<33,T)for(R1=w,q1=B,j1=Y1;;){if(n0=P1+(j1<<2)|0,i0=e[n0>>2]|0,r0=i0>>>1,h0=(r0|0)==(R1|0),!h0){E=1;break t}if(s0=P1+(q1<<2)|0,g0=e[s0>>2]|0,j=g0<<1,e[n0>>2]=j,O1=j1+1|0,c0=(O1|0)<33,c0)H1=j1,R1=i0,j1=O1,q1=H1;else{E=1;break}}else E=1}else E=O0;while(!1);if(Q1=p1+E|0,u0=k1+1|0,d0=(u0|0)<(n|0),d0)p1=Q1,k1=u0;else{_1=Q1,K1=16;break}}if((K1|0)==5)return I2(e0),a=0,C=h2,a|0;if((K1|0)==16){if(z1=(_1|0)==1,!z1){U1=1,K1=27;break}if(w0=P1+8|0,C0=e[w0>>2]|0,k0=(C0|0)==2,k0)break;U1=1,K1=27;break}}else U1=1,K1=27;while(!1);e:do if((K1|0)==27){for(;K1=0,z0=P1+(U1<<2)|0,G0=e[z0>>2]|0,r1=32-U1|0,H0=-1>>>r1,e1=G0&H0,b0=(e1|0)==0,J0=U1+1|0,!!b0;)if(P0=(J0|0)<33,P0)U1=J0,K1=27;else break e;return I2(e0),a=0,C=h2,a|0}while(!1);if(!V)return a=e0,C=h2,a|0;if(m)w1=0,N1=0;else{for(x1=0,Z1=0;;){if(i1=t+Z1|0,c1=d[i1>>0]|0,$1=c1<<24>>24>0,$1)for(f1=e0+(x1<<2)|0,g1=e[f1>>2]|0,l1=c1<<24>>24,n2=0,E2=0;;)if(a1=E2<<1,n1=g1>>>n2,o1=n1&1,Z0=o1|a1,I1=n2+1|0,h1=(I1|0)<(l1|0),h1)n2=I1,E2=Z0;else{u2=Z0;break}else u2=0;if(m1=x1+1|0,d1=e0+(x1<<2)|0,e[d1>>2]=u2,E1=Z1+1|0,F1=(E1|0)==(n|0),F1){a=e0;break}else x1=m1,Z1=E1}return C=h2,a|0}for(;;){if(B0=t+N1|0,p0=d[B0>>0]|0,I0=p0<<24>>24>0,I0)for(V0=e0+(w1<<2)|0,N0=e[V0>>2]|0,T0=p0<<24>>24,W1=0,A2=0;;)if(F0=A2<<1,M0=N0>>>W1,y0=M0&1,Y0=y0|F0,L0=W1+1|0,D0=(L0|0)<(T0|0),D0)W1=L0,A2=Y0;else{o2=Y0;break}else o2=0;if(S0=p0<<24>>24==0,S0?S1=w1:(K0=w1+1|0,_0=e0+(w1<<2)|0,e[_0>>2]=o2,S1=K0),Q0=N1+1|0,G1=(Q0|0)==(n|0),G1){a=e0;break}else w1=S1,N1=Q0}return C=h2,a|0}function jS(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0;if(q=C,a=t+4|0,c=e[a>>2]|0,b=e[t>>2]|0,Q=(b|0)>0,!Q)for(;;);for(_=+(c|0),R=_,x=+(b|0),L=1/x,M=L,T=+bh(+R,+M),u=+KA(+T),E=~~u,Y=E;;){for(S=Y+1|0,N=1,G=1,O=0;;)if(B=r5(N,Y)|0,v=r5(G,S)|0,w=O+1|0,y=(w|0)<(b|0),y)N=B,G=v,O=w;else{n=B,A=v;break}if(I=(n|0)<=(c|0),m=(A|0)>(c|0),z=I&m,z){W=Y;break}p=(n|0)>(c|0),J=p?-1:1,t0=Y+J|0,Y=t0}return W|0}function XS(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,R5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,R2=0,Q5=0,q5=0;if(q5=C,p=t+12|0,B=e[p>>2]|0,m=B+-1|0,i5=m>>>0<2,!i5)return u=0,u|0;if(H0=t+16|0,n1=e[H0>>2]|0,_1=n1&2097151,b1=+(_1|0),z1=n1>>>21,a2=z1&1023,N2=(n1|0)<0,X2=-b1,a=N2?X2:b1,v=a2+-788|0,T=+Zm(a,v),X=T,s0=t+20|0,p0=e[s0>>2]|0,Y0=p0&2097151,z0=+(Y0|0),G0=p0>>>21,O0=G0&1023,r1=(p0|0)<0,e1=-z0,c=r1?e1:z0,b0=O0+-788|0,i1=+Zm(c,b0),c1=i1,$1=e[t>>2]|0,f1=r5($1,n)|0,g1=n4(f1,4)|0,(B|0)==1){if(B1=t+4|0,p1=e[B1>>2]|0,Q1=($1|0)>0,!Q1)for(;;);for(x1=+(p1|0),w1=x1,S1=+($1|0),R1=1/S1,F1=R1,G1=+bh(+w1,+F1),k1=+KA(+G1),U1=~~k1,$5=U1;;){for(u2=$5+1|0,n5=1,x2=1,I5=0;;)if(P1=r5(n5,$5)|0,c2=r5(x2,u2)|0,o2=I5+1|0,d5=(o2|0)==($1|0),d5){E=P1,I=c2;break}else n5=P1,x2=c2,I5=o2;if(Z1=(E|0)<=(p1|0),N1=(I|0)>(p1|0),u5=N1&Z1,u5){R2=$5;break}W1=(E|0)>(p1|0),j2=W1?-1:1,x5=j2+$5|0,$5=x5}if(V1=(p1|0)>0,!V1)return u=g1,u|0;for(O1=(A|0)==0,q1=t+8|0,H1=t+32|0,Y1=c1,j1=X,n2=t+28|0,_2=0,M1=0;;){if(O1)if($2=e[H1>>2]|0,i2=e[n2>>2]|0,l2=(i2|0)==0,r2=r5($1,_2)|0,l2)for(B5=1,W2=0;;)if(b5=(M1|0)/(B5|0)&-1,Z2=(b5|0)%(R2|0)&-1,f5=$2+(Z2<<2)|0,v5=e[f5>>2]|0,P5=+(v5|0),q2=+zi(+P5),l5=q2,k2=l5*Y1,m5=j1+k2,S=m5,w=r2+W2|0,y=g1+(w<<2)|0,s[y>>2]=S,b=r5(B5,R2)|0,Q=W2+1|0,_=(Q|0)<($1|0),_)B5=b,W2=Q;else{Q5=21;break}else for(A5=1,g5=0,t5=0;;)if(R=(M1|0)/(A5|0)&-1,x=(R|0)%(R2|0)&-1,L=$2+(x<<2)|0,M=e[L>>2]|0,N=+(M|0),G5=+zi(+N),G=G5,O=G*Y1,z=t5,Y=z+j1,t0=Y+O,J=t0,W=r2+g5|0,e0=g1+(W<<2)|0,s[e0>>2]=J,q=r5(A5,R2)|0,U=g5+1|0,$0=(U|0)<($1|0),$0)A5=q,g5=U,t5=J;else{Q5=21;break}else if(E2=e[q1>>2]|0,A2=E2+M1|0,K1=d[A2>>0]|0,h2=K1<<24>>24==0,h2)B2=_2;else for(X1=e[H1>>2]|0,s2=e[n2>>2]|0,f2=(s2|0)==0,e2=A+(_2<<2)|0,y2=e[e2>>2]|0,v2=r5(y2,$1)|0,c5=1,a5=0,s5=0;;)if(w2=(M1|0)/(c5|0)&-1,C2=(w2|0)%(R2|0)&-1,F2=X1+(C2<<2)|0,D2=e[F2>>2]|0,d2=+(D2|0),_5=+zi(+d2),K2=_5,G2=K2*Y1,H2=s5,M2=H2+j1,P2=M2+G2,z2=P2,p5=f2?s5:z2,o5=v2+a5|0,O2=g1+(o5<<2)|0,s[O2>>2]=z2,T1=r5(c5,R2)|0,R5=a5+1|0,e5=(R5|0)<($1|0),e5)c5=T1,a5=R5,s5=p5;else{Q5=21;break}if((Q5|0)==21&&(Q5=0,Z=_2+1|0,B2=Z),K=M1+1|0,a0=(K|0)<(p1|0),a0)_2=B2,M1=K;else{u=g1;break}}return u|0}else if((B|0)==2){if(l1=t+4|0,s1=e[l1>>2]|0,a1=(s1|0)>0,!a1)return u=g1,u|0;for(o1=(A|0)!=0,Z0=t+8|0,I1=t+32|0,h1=c1,m1=X,d1=t+28|0,E1=($1|0)>0,C5=0,S5=0;;){if(o1?(n0=e[Z0>>2]|0,i0=n0+S5|0,r0=d[i0>>0]|0,V=r0<<24>>24==0,V?L5=C5:Q5=25):Q5=25,(Q5|0)==25){if(Q5=0,E1)for(h0=e[I1>>2]|0,g0=e[d1>>2]|0,j=(g0|0)==0,c0=A+(C5<<2)|0,u0=r5($1,S5)|0,d0=r5($1,C5)|0,g2=0,J2=0;w0=u0+g2|0,C0=h0+(w0<<2)|0,k0=e[C0>>2]|0,f0=+(k0|0),D5=+zi(+f0),B0=D5,I0=B0*h1,S0=J2,K0=S0+m1,_0=K0+I0,Q0=_0,h5=j?J2:Q0,o1?(F0=e[c0>>2]|0,M0=r5(F0,$1)|0,N0=M0+g2|0,U0=g1+(N0<<2)|0,s[U0>>2]=Q0):(y0=d0+g2|0,L0=g1+(y0<<2)|0,s[L0>>2]=Q0),D0=g2+1|0,T0=(D0|0)<($1|0),T0;)g2=D0,J2=h5;V0=C5+1|0,L5=V0}if(J0=S5+1|0,P0=(J0|0)<(s1|0),P0)C5=L5,S5=J0;else{u=g1;break}}return u|0}else return u=g1,u|0;return 0}function hB(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0;v=C,n=t+36|0,A=e[n>>2]|0,a=(A|0)==0,!a&&(c=t+32|0,u=e[c>>2]|0,E=(u|0)==0,E||I2(u),I=t+8|0,m=e[I>>2]|0,p=(m|0)==0,p||I2(m),I2(t))}function eb(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0;R=C,n=t+16|0,A=e[n>>2]|0,m=(A|0)==0,m||I2(A),p=t+20|0,B=e[p>>2]|0,v=(B|0)==0,v||I2(B),S=t+24|0,w=e[S>>2]|0,y=(w|0)==0,y||I2(w),b=t+28|0,a=e[b>>2]|0,c=(a|0)==0,c||I2(a),u=t+32|0,E=e[u>>2]|0,I=(E|0)==0,I||I2(E),Q=t,x=Q+56|0;do e[Q>>2]=0,Q=Q+4|0;while((Q|0)<(x|0))}function fQ(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0;G0=C,P0=t,O0=P0+56|0;do e[P0>>2]=0,P0=P0+4|0;while((P0|0)<(O0|0));if(E=t+12|0,e[E>>2]=n,I=n+4|0,R=e[I>>2]|0,J=t+4|0,e[J>>2]=R,i0=t+8|0,e[i0>>2]=R,C0=e[n>>2]|0,e[t>>2]=C0,S0=n+8|0,K0=e[S0>>2]|0,_0=uQ(K0,R,0)|0,Q0=t+20|0,e[Q0>>2]=_0,m=e[I>>2]|0,p=e[n>>2]|0,B=(p|0)>0,!B)for(;;);for(v=+(m|0),S=v,w=+(p|0),y=1/w,b=y,Q=+bh(+S,+b),_=+KA(+Q),x=~~_,V0=x;;){for(O=V0+1|0,F0=1,M0=1,U0=0;;)if(N=r5(F0,V0)|0,G=r5(M0,O)|0,z=U0+1|0,N0=(z|0)==(p|0),N0){c=N,u=G;break}else F0=N,M0=G,U0=z;if(L=(c|0)<=(m|0),M=(u|0)>(m|0),y0=M&L,y0){J0=V0;break}T=(c|0)>(m|0),T0=T?-1:1,D0=T0+V0|0,V0=D0}return Y=t+44|0,e[Y>>2]=J0,t0=n+16|0,W=e[t0>>2]|0,e0=W&2097151,q=+(e0|0),X=W>>>21,U=X&1023,$0=(W|0)<0,Z=-q,A=$0?Z:q,K=U+-788|0,a0=+Zm(A,K),n0=a0,Y0=+BQ(n0),r0=~~Y0,V=t+48|0,e[V>>2]=r0,h0=n+20|0,s0=e[h0>>2]|0,g0=s0&2097151,j=+(g0|0),c0=s0>>>21,u0=c0&1023,d0=(s0|0)<0,w0=-j,a=d0?w0:j,k0=u0+-788|0,f0=+Zm(a,k0),B0=f0,L0=+BQ(B0),p0=~~L0,I0=t+52|0,e[I0>>2]=p0,0}function tb(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,R5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,R2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,k3=0,u3=0,p3=0,z3=0,G3=0,K5=0,w3=0,Z5=0,i6=0,R3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,L3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,X3=0,c6=0,p6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,R6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,L6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0;M3=C,y6=t,M6=y6+56|0;do e[y6>>2]=0,y6=y6+4|0;while((y6|0)<(M6|0));if(S=n+4|0,w=e[S>>2]|0,E2=(w|0)>0,E2)for(q2=n+8|0,p5=e[q2>>2]|0,H3=0,R6=0;;)if(Q5=p5+H3|0,J5=d[Q5>>0]|0,U3=J5<<24>>24>0,o6=U3&1,m=o6+R6|0,V5=H3+1|0,y=(V5|0)<(w|0),y)H3=V5,R6=m;else{c0=m;break}else c0=0;if(O=t+4|0,e[O>>2]=w,Z=t+8|0,e[Z>>2]=c0,K0=e[n>>2]|0,e[t>>2]=K0,T0=(c0|0)>0,!T0)return a=0,C=M3,a|0;if(i1=n+8|0,I1=e[i1>>2]|0,S1=uQ(I1,w,c0)|0,q1=c0<<2,u=q1,A2=C,C=C+((1*u|0)+15&-16)|0,e2=(S1|0)==0,e2){P2=t+16|0,z2=e[P2>>2]|0,o5=(z2|0)==0,o5||I2(z2),O2=t+20|0,T1=e[O2>>2]|0,X2=(T1|0)==0,X2||I2(T1),R5=t+24|0,e5=e[R5>>2]|0,b5=(e5|0)==0,b5||I2(e5),f5=t+28|0,v5=e[f5>>2]|0,P5=(v5|0)==0,P5||I2(v5),l5=t+32|0,k2=e[l5>>2]|0,m5=(k2|0)==0,m5||I2(k2),y6=t,M6=y6+56|0;do e[y6>>2]=0,y6=y6+4|0;while((y6|0)<(M6|0));return a=-1,C=M3,a|0}else D3=0;for(;H2=S1+(D3<<2)|0,Z2=e[H2>>2]|0,C5=Z2>>>16,L5=Z2<<16,d5=C5|L5,D5=d5>>>8,G5=D5&16711935,_5=d5<<8,I5=_5&-16711936,A5=G5|I5,c5=A5>>>4,B5=c5&252645135,M1=A5<<4,S5=M1&-252645136,g5=B5|S5,a5=g5>>>2,W2=a5&858993459,g2=g5<<2,t5=g2&-858993460,s5=W2|t5,h5=s5>>>1,J2=h5&1431655765,u5=s5<<1,i5=u5&-1431655766,x5=J2|i5,e[H2>>2]=x5,j2=A2+(D3<<2)|0,e[j2>>2]=H2,$5=D3+1|0,Y6=($5|0)==(c0|0),!Y6;)D3=$5;for(Lh(A2,c0,4,10),E=q1,R2=C,C=C+((1*E|0)+15&-16)|0,q5=S9(q1)|0,j5=t+20|0,e[j5>>2]=q5,E5=S1,Y3=0;;)if(f3=A2+(Y3<<2)|0,h3=e[f3>>2]|0,Y5=h3,X5=Y5-E5|0,n3=X5>>2,m3=R2+(n3<<2)|0,e[m3>>2]=Y3,F5=Y3+1|0,x6=(F5|0)==(c0|0),x6){Z3=0;break}else Y3=F5;for(;k3=S1+(Z3<<2)|0,u3=e[k3>>2]|0,p3=R2+(Z3<<2)|0,z3=e[p3>>2]|0,G3=q5+(z3<<2)|0,e[G3>>2]=u3,K5=Z3+1|0,p6=(K5|0)==(c0|0),!p6;)Z3=K5;if(I2(S1),w3=XS(n,c0,R2)|0,Z5=t+16|0,e[Z5>>2]=w3,i6=S9(q1)|0,R3=t+24|0,e[R3>>2]=i6,a3=e[S>>2]|0,l3=(a3|0)>0,l3)for(p=e[i1>>2]|0,b6=0,I6=0;;)if(c3=p+b6|0,C3=d[c3>>0]|0,H5=C3<<24>>24>0,H5?(U5=I6+1|0,O5=R2+(I6<<2)|0,k5=e[O5>>2]|0,P3=i6+(k5<<2)|0,e[P3>>2]=b6,J6=U5):J6=I6,M5=b6+1|0,e3=(M5|0)<(a3|0),e3)b6=M5,I6=J6;else{K6=J6;break}else K6=0;if(A3=S9(K6)|0,L3=t+28|0,e[L3>>2]=A3,u6=t+40|0,e[u6>>2]=0,l3){for(B=e[i1>>2]|0,n5=0,v3=B,A6=0,j6=0;;)if(Q3=v3+A6|0,y3=d[Q3>>0]|0,r6=y3<<24>>24>0,r6?(j3=j6+1|0,O3=R2+(j6<<2)|0,S3=e[O3>>2]|0,g3=e[L3>>2]|0,q3=g3+S3|0,d[q3>>0]=y3,l6=e[i1>>2]|0,d3=l6+A6|0,k6=d[d3>>0]|0,v6=k6<<24>>24,S6=e[u6>>2]|0,B6=(v6|0)>(S6|0),B6?(e[u6>>2]=v6,x2=v6,_2=l6,G6=j3):(x2=S6,_2=l6,G6=j3)):(x2=n5,_2=v3,G6=j6),X3=A6+1|0,b=e[S>>2]|0,Q=(X3|0)<(b|0),Q)n5=x2,v3=_2,A6=X3,j6=G6;else{I=x2,e9=G6;break}if(_=(e9|0)==1,_){if(R=(I|0)==1,R)return x=t+36|0,e[x>>2]=1,L=n4(2,4)|0,M=t+32|0,e[M>>2]=L,T=L+4|0,e[T>>2]=1,e[L>>2]=1,a=0,C=M3,a|0;F3=1}else F3=e9}else F3=0;if(N=e[Z>>2]|0,G=(N|0)==0,G)L6=-4;else{for(c=N,U6=0;;)if(z=c>>>1,Y=U6+1|0,t0=(z|0)==0,t0){D6=U6;break}else c=z,U6=Y;s9=D6+-3|0,L6=s9}if(J=t+36|0,W=(L6|0)<5,A=W?5:L6,e0=(A|0)>8,z6=e0?8:A,e[J>>2]=z6,q=1<>2]=X,$0=(F3|0)>0,$0)for(r0=z6,t3=0;;){if(K=e[L3>>2]|0,a0=K+t3|0,n0=d[a0>>0]|0,i0=n0<<24>>24,V=(r0|0)<(i0|0),V)B2=r0;else if(h0=e[j5>>2]|0,s0=h0+(t3<<2)|0,g0=e[s0>>2]|0,j=g0>>>16,u0=g0<<16,d0=j|u0,w0=d0>>>8,C0=w0&16711935,k0=d0<<8,f0=k0&-16711936,B0=C0|f0,p0=B0>>>4,I0=p0&252645135,S0=B0<<4,_0=S0&-252645136,Q0=I0|_0,F0=Q0>>>2,M0=F0&858993459,N0=Q0<<2,U0=N0&-858993460,y0=M0|U0,Y0=y0>>>1,L0=Y0&1431655765,D0=y0<<1,V0=D0&-1431655766,J0=L0|V0,P0=r0-i0|0,z0=(P0|0)==31,z0)B2=r0;else for(G0=t3+1|0,r1=i0,s3=0;;)if(O0=s3<>2]=G0,b0=s3+1|0,c1=e[J>>2]|0,$1=d[a0>>0]|0,f1=$1<<24>>24,g1=c1-f1|0,l1=1<>>16,p1=E1<<16,Q1=B1|p1,_1=Q1>>>8,x1=_1&16711935,w1=Q1<<8,R1=w1&-16711936,F1=x1|R1,G1=F1>>>4,k1=G1&252645135,U1=F1<<4,Z1=U1&-252645136,N1=k1|Z1,b1=N1>>>2,V1=b1&858993459,O1=N1<<2,H1=O1&-858993460,Y1=V1|H1,j1=Y1>>>1,n2=j1&1431655765,W1=Y1<<1,P1=W1&-1431655766,c2=n2|P1,z1=X+(c2<<2)|0,u2=e[z1>>2]|0,o2=(u2|0)==0,o2){for(d6=a6;;){if(K1=d6+1|0,h2=(K1|0)<(F3|0),!h2){_3=d6;break}if($2=e[j5>>2]|0,i2=$2+(K1<<2)|0,l2=e[i2>>2]|0,r2=l2>>>0>E1>>>0,r2){_3=d6;break}else d6=K1}a2=(F3|0)>(C6|0);e:do if(a2)for(X1=e[j5>>2]|0,e6=C6;;){if(s2=X1+(e6<<2)|0,f2=e[s2>>2]|0,y2=f2&Z0,v2=E1>>>0>>0,v2){b3=e6;break e}if(w2=e6+1|0,C2=(F3|0)>(w2|0),C2)e6=w2;else{b3=w2;break}}else b3=C6;while(!1);F2=F3-b3|0,D2=_3>>>0>32767,N2=F2>>>0>32767,f6=N2?32767:F2,N6=_3<<15,n6=N6|-2147483648,d2=D2?-1073774592:n6,K2=d2|f6,e[z1>>2]=K2,t6=b3,Q6=_3}else t6=C6,Q6=a6;if(G2=O6+1|0,M2=(G2|0)<(q|0),!M2){a=0;break}v=e[J>>2]|0,d1=v,C6=t6,O6=G2,a6=Q6}return C=M3,a|0}function ib(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0;return S=C,A=e[t>>2]|0,a=e[A>>2]|0,c=e[n>>2]|0,u=e[c>>2]|0,E=a>>>0>u>>>0,I=E&1,m=a>>>0>>0,p=m&1,B=I-p|0,B|0}function rb(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0;if(K0=C,p=e[t>>2]|0,B=(p|0)==1,!B&&(M=t+4|0,q=e[M>>2]|0,i0=t+8|0,r0=e[i0>>2]|0,V=r0+4|0,h0=e[V>>2]|0,s0=(h0|0)>0,!!s0)){for(g0=h0+1|0,m=p+-1|0,d0=p,w0=0,C0=p,f0=1;;){v=g0-w0|0,S=r0+(v<<2)|0,w=e[S>>2]|0,y=(C0|0)/(w|0)&-1,b=(p|0)/(C0|0)&-1,Q=r5(b,y)|0,_=w+-1|0,R=r5(b,_)|0,x=d0-R|0,L=1-f0|0;do if((w|0)==2)if(Y=(L|0)==0,A=m+x|0,t0=q+(A<<2)|0,Y){mQ(b,y,n,q,t0),B0=0;break}else{mQ(b,y,q,n,t0),B0=L;break}else if((w|0)==4)if(T=x+b|0,N=(L|0)==0,a=m+x|0,G=q+(a<<2)|0,c=m+T|0,O=q+(c<<2)|0,u=m+b|0,E=u+T|0,z=q+(E<<2)|0,N){EQ(b,y,n,q,G,O,z),B0=0;break}else{EQ(b,y,q,n,G,O,z),B0=L;break}else if(J=(b|0)==1,k0=J?f0:L,W=(k0|0)==0,I=m+x|0,e0=q+(I<<2)|0,W){CQ(b,w,y,Q,n,n,n,q,q,e0),B0=1;break}else{CQ(b,w,y,Q,q,q,q,n,n,e0),B0=0;break}while(!1);if(X=w0+1|0,c0=(X|0)==(h0|0),c0){p0=B0;break}else d0=x,w0=X,C0=y,f0=B0}if(U=(p0|0)!=1,$0=(p|0)>0,I0=$0&U,I0)u0=0;else return;for(;Z=q+(u0<<2)|0,K=e[Z>>2]|0,a0=n+(u0<<2)|0,e[a0>>2]=K,n0=u0+1|0,j=(n0|0)==(p|0),!j;)u0=n0}}function dQ(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0;if(I1=C,e[t>>2]=n,E=n*3|0,I=n4(E,4)|0,R=t+4|0,e[R>>2]=I,J=n4(32,4)|0,i0=t+8|0,e[i0>>2]=J,C0=(n|0)==1,!C0){K0=J+8|0,H0=-1,$1=0,f1=n,l1=0;e:for(;;)for(_0=H0+1|0,Q0=(_0|0)<4,Q0?(F0=25768+(_0<<2)|0,m=e[F0>>2]|0,s1=m):(p=l1+2|0,s1=p),B=(s1|0)!=2,P0=$1,g1=f1;;){if(V0=P0+1|0,v=(g1|0)/(s1|0)&-1,S=r5(v,s1)|0,w=(g1|0)==(S|0),!w){H0=_0,$1=P0,f1=g1,l1=s1;continue e}if(y=P0+2|0,b=J+(y<<2)|0,e[b>>2]=s1,Q=(P0|0)==0,a1=B|Q,!a1){if(_=(P0|0)<1,!_)for(L0=1;x=V0-L0|0,L=x+1|0,M=J+(L<<2)|0,T=e[M>>2]|0,N=x+2|0,G=J+(N<<2)|0,e[G>>2]=T,O=L0+1|0,y0=(O|0)==(V0|0),!y0;)L0=O;e[K0>>2]=2}if(z=(v|0)==1,z){A=Q,J0=V0,z0=P0;break e}else P0=V0,g1=v}if(e[J>>2]=n,Y=J+4|0,e[Y>>2]=J0,t0=+(n|0),W=6.2831854820251465/t0,a=A^1,e0=(z0|0)>0,n1=e0&a,!!n1)for(q=n+1|0,G0=0,b0=0,i1=1;;){if(X=b0+2|0,U=J+(X<<2)|0,$0=e[U>>2]|0,Z=r5($0,i1)|0,K=(n|0)/(Z|0)&-1,a0=($0|0)>1,a0){for(n0=(K|0)>2,r0=$0+-1|0,r1=G0,e1=0,c1=0;;){if(V=c1+i1|0,h0=+(V|0),s0=h0*W,n0)for(Y0=0,D0=r1,T0=2;g0=Y0+1,j=s0*g0,M0=+zA(+j),c=D0+n|0,c0=I+(c<<2)|0,s[c0>>2]=M0,o1=+Nn(+j),u0=D0+2|0,u=q+D0|0,d0=I+(u<<2)|0,s[d0>>2]=o1,w0=T0+2|0,k0=(w0|0)<(K|0),k0;)Y0=g0,D0=u0,T0=w0;if(f0=r1+K|0,B0=e1+1|0,N0=(B0|0)==(r0|0),N0)break;r1=f0,e1=B0,c1=V}p0=r5(K,r0)|0,I0=p0+G0|0,O0=I0}else O0=G0;if(S0=b0+1|0,U0=(S0|0)==(z0|0),U0)break;G0=O0,b0=S0,i1=Z}}}function IQ(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0;p=C,n=(t|0)==0,!n&&(A=t+4|0,a=e[A>>2]|0,c=(a|0)==0,c||I2(a),u=t+8|0,E=e[u>>2]|0,I=(E|0)==0,I||I2(E),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0)}function EQ(t,n,A,a,c,u,E){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0,u=u|0,E=E|0;var I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,R5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,R2=0,Q5=0,q5=0,j5=0,E5=0,f3=0;if(f3=C,I=r5(n,t)|0,m=I<<1,m1=(n|0)>0,m1)for(F1=I*3|0,Y1=t<<2,K1=Y1+-1|0,y2=t<<1,g2=0,s5=I,u5=F1,j2=0,$5=m;M2=A+(s5<<2)|0,f5=+s[M2>>2],L5=A+(u5<<2)|0,p=+s[L5>>2],L=p+f5,e0=A+(j2<<2)|0,V=+s[e0>>2],f0=A+($5<<2)|0,U0=+s[f0>>2],O0=U0+V,s1=O0+L,I1=j2<<2,h1=a+(I1<<2)|0,s[h1>>2]=s1,d1=O0-L,E1=K1+I1|0,B1=a+(E1<<2)|0,s[B1>>2]=d1,p1=+s[e0>>2],Q1=+s[f0>>2],_1=p1-Q1,x1=I1+y2|0,w1=x1+-1|0,S1=a+(w1<<2)|0,s[S1>>2]=_1,R1=+s[L5>>2],G1=+s[M2>>2],k1=R1-G1,U1=a+(x1<<2)|0,s[U1>>2]=k1,Z1=s5+t|0,N1=u5+t|0,b1=j2+t|0,V1=$5+t|0,O1=g2+1|0,g5=(O1|0)==(n|0),!g5;)g2=O1,s5=Z1,u5=N1,j2=b1,$5=V1;if(q1=(t|0)<2,!q1){if(H1=(t|0)==2,!H1){if(m1)for(j1=t<<1,p5=0,h5=0;;){for(j=h5<<2,c0=j+j1|0,W2=2,i5=h5,R2=j,q5=c0;P1=i5+2|0,c2=R2+2|0,z1=q5+-2|0,u2=P1+I|0,o2=W2+-2|0,E2=c+(o2<<2)|0,A2=+s[E2>>2],h2=u2+-1|0,$2=A+(h2<<2)|0,i2=+s[$2>>2],l2=i2*A2,r2=W2+-1|0,a2=c+(r2<<2)|0,X1=+s[a2>>2],s2=A+(u2<<2)|0,f2=+s[s2>>2],e2=f2*X1,v2=e2+l2,w2=f2*A2,C2=X1*i2,F2=w2-C2,D2=u2+I|0,N2=u+(o2<<2)|0,d2=+s[N2>>2],K2=D2+-1|0,G2=A+(K2<<2)|0,H2=+s[G2>>2],P2=H2*d2,z2=u+(r2<<2)|0,o5=+s[z2>>2],O2=A+(D2<<2)|0,T1=+s[O2>>2],X2=T1*o5,R5=X2+P2,e5=T1*d2,b5=o5*H2,Z2=e5-b5,v5=D2+I|0,P5=E+(o2<<2)|0,l5=+s[P5>>2],k2=v5+-1|0,m5=A+(k2<<2)|0,n5=+s[m5>>2],x2=n5*l5,_2=E+(r2<<2)|0,B2=+s[_2>>2],C5=A+(v5<<2)|0,d5=+s[C5>>2],D5=d5*B2,G5=D5+x2,_5=d5*l5,q2=B2*n5,I5=_5-q2,A5=G5+v2,c5=G5-v2,B5=I5+F2,M1=F2-I5,B=A+(P1<<2)|0,v=+s[B>>2],S=v+Z2,w=v-Z2,y=i5+1|0,b=A+(y<<2)|0,Q=+s[b>>2],_=Q+R5,R=Q-R5,x=A5+_,M=R2|1,T=a+(M<<2)|0,s[T>>2]=x,N=B5+S,G=a+(c2<<2)|0,s[G>>2]=N,O=R-M1,z=q5+-3|0,Y=a+(z<<2)|0,s[Y>>2]=O,t0=c5-w,J=a+(z1<<2)|0,s[J>>2]=t0,W=M1+R,q=c2+j1|0,X=q+-1|0,U=a+(X<<2)|0,s[U>>2]=W,$0=c5+w,Z=a+(q<<2)|0,s[Z>>2]=$0,K=_-A5,a0=z1+j1|0,n0=a0+-1|0,i0=a+(n0<<2)|0,s[i0>>2]=K,r0=B5-S,h0=a+(a0<<2)|0,s[h0>>2]=r0,s0=W2+2|0,g0=(s0|0)<(t|0),g0;)W2=s0,i5=P1,R2=c2,q5=z1;if(n2=h5+t|0,W1=p5+1|0,a5=(W1|0)==(n|0),a5)break;p5=W1,h5=n2}if(u0=t&1,d0=(u0|0)==0,!d0)return}if(w0=t+-1|0,C0=w0+I|0,k0=t<<2,B0=t<<1,!!m1)for(p0=C0+m|0,t5=0,J2=C0,x5=p0,Q5=t,j5=t;I0=A+(J2<<2)|0,S0=+s[I0>>2],K0=A+(x5<<2)|0,_0=+s[K0>>2],Q0=_0+S0,F0=Q0*-.7071067690849304,M0=S0-_0,N0=M0*.7071067690849304,y0=j5+-1|0,Y0=A+(y0<<2)|0,L0=+s[Y0>>2],D0=N0+L0,T0=Q5+-1|0,V0=a+(T0<<2)|0,s[V0>>2]=D0,J0=+s[Y0>>2],P0=J0-N0,z0=Q5+B0|0,G0=z0+-1|0,r1=a+(G0<<2)|0,s[r1>>2]=P0,H0=J2+I|0,e1=A+(H0<<2)|0,b0=+s[e1>>2],i1=F0-b0,c1=a+(Q5<<2)|0,s[c1>>2]=i1,$1=+s[e1>>2],f1=$1+F0,g1=a+(z0<<2)|0,s[g1>>2]=f1,l1=J2+t|0,a1=x5+t|0,n1=Q5+k0|0,o1=j5+t|0,Z0=t5+1|0,S5=(Z0|0)==(n|0),!S5;)t5=Z0,J2=l1,x5=a1,Q5=n1,j5=o1}}function mQ(t,n,A,a,c){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0;var u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0;if(k1=C,u=r5(n,t)|0,E=t<<1,_=(n|0)>0,_)for(t0=E+-1|0,I1=0,d1=0,p1=u;n0=A+(d1<<2)|0,w0=+s[n0>>2],F0=A+(p1<<2)|0,P0=+s[F0>>2],f1=P0+w0,s1=d1<<1,I=a+(s1<<2)|0,s[I>>2]=f1,m=+s[n0>>2],p=+s[F0>>2],B=m-p,v=t0+s1|0,S=a+(v<<2)|0,s[S>>2]=B,w=d1+t|0,y=p1+t|0,b=I1+1|0,n1=(b|0)==(n|0),!n1;)I1=b,d1=w,p1=y;if(Q=(t|0)<2,!Q){if(R=(t|0)==2,!R){if(_)for(h1=0,E1=0,Q1=u;;){for(Y0=E1<<1,L0=Y0+E|0,Z0=2,x1=Q1,S1=L0,R1=E1,F1=Y0;T=x1+2|0,N=S1+-2|0,G=R1+2|0,O=F1+2|0,z=Z0+-2|0,Y=c+(z<<2)|0,J=+s[Y>>2],W=x1+1|0,e0=A+(W<<2)|0,q=+s[e0>>2],X=q*J,U=Z0+-1|0,$0=c+(U<<2)|0,Z=+s[$0>>2],K=A+(T<<2)|0,a0=+s[K>>2],i0=a0*Z,r0=i0+X,V=a0*J,h0=Z*q,s0=V-h0,g0=A+(G<<2)|0,j=+s[g0>>2],c0=s0+j,u0=a+(O<<2)|0,s[u0>>2]=c0,d0=+s[g0>>2],C0=s0-d0,k0=a+(N<<2)|0,s[k0>>2]=C0,f0=R1+1|0,B0=A+(f0<<2)|0,p0=+s[B0>>2],I0=p0+r0,S0=F1|1,K0=a+(S0<<2)|0,s[K0>>2]=I0,_0=+s[B0>>2],Q0=_0-r0,M0=S1+-3|0,N0=a+(M0<<2)|0,s[N0>>2]=Q0,U0=Z0+2|0,y0=(U0|0)<(t|0),y0;)Z0=U0,x1=T,S1=N,R1=G,F1=O;if(x=E1+t|0,L=Q1+t|0,M=h1+1|0,o1=(M|0)==(n|0),o1)break;h1=M,E1=x,Q1=L}if(D0=(t|0)%2&-1,T0=(D0|0)==1,T0)return}if(V0=t+-1|0,!!_)for(J0=u+V0|0,m1=0,B1=t,_1=J0,w1=V0;z0=A+(_1<<2)|0,G0=+s[z0>>2],O0=-G0,r1=a+(B1<<2)|0,s[r1>>2]=O0,H0=A+(w1<<2)|0,e1=e[H0>>2]|0,b0=B1+-1|0,i1=a+(b0<<2)|0,e[i1>>2]=e1,c1=B1+E|0,$1=_1+t|0,g1=w1+t|0,l1=m1+1|0,a1=(l1|0)==(n|0),!a1;)m1=l1,B1=c1,_1=$1,w1=g1}}function CQ(t,n,A,a,c,u,E,I,m,p){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0,u=u|0,E=E|0,I=I|0,m=m|0,p=p|0;var B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,R5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,R2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,k3=0,u3=0,p3=0,z3=0,G3=0,K5=0,w3=0,Z5=0,i6=0,R3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,L3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,X3=0,c6=0,p6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,R6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,L6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,M4=0,W4=0,C4=0,T4=0,U9=0,N4=0,a4=0,R4=0,u4=0,Ce=0,q9=0,m9=0,Be=0,Ne=0,Xe=0,G4=0,Ge=0,U4=0,j4=0,be=0,e8=0,Z9=0,ae=0,f4=0,_6=0,P4=0,L9=0,$4=0,_4=0,$e=0,W9=0,le=0,ce=0,B4=0,X4=0,L4=0,ge=0,C9=0,g6=0,Ue=0,l4=0,pe=0,p4=0,c4=0,P6=0,De=0,_e=0,t8=0,g4=0,k4=0,u8=0,J3=0,w9=0,B9=0,F4=0,ee=0,$t=0,xe=0,lt=0,Qt=0,z8=0,ct=0,gt=0,F8=0,M8=0,T8=0,N8=0,Z8=0,W8=0,yt=0,G8=0,U8=0,P8=0,k8=0,v8=0,f8=0,O8=0,q8=0,j8=0,X8=0,d8=0,Pe=0,Re=0,i8=0,S8=0,k9=0,ht=0,Qe=0,ut=0,wt=0,et=0,kt=0,te=0,tt=0,H8=0,b8=0,r8=0,O4=0,Le=0,n8=0,I8=0,D8=0,he=0,j9=0,s8=0,E8=0,o8=0,m8=0,ue=0,ye=0,Oe=0,qe=0,X9=0,Fe=0,fe=0,A8=0,we=0,Q4=0,C8=0,it=0,q4=0,I3=0,He=0,B8=0,ie=0,H9=0,re=0,D9=0,Ye=0,Y8=0,ft=0,rt=0,nt=0,J8=0,st=0,V8=0,a8=0,$8=0,_8=0,H4=0,ot=0,x8=0,Je=0,p9=0,At=0,Ve=0,Mt=0,qt=0,vt=0,at=0,St=0,ne=0,Tt=0,Ht=0,l8=0,R8=0,bt=0,K8=0,Me=0,de=0,e4=0,Dt=0,t7=0,G7=0,U7=0,P7=0,d7=0,Yt=0,I7=0,Jt=0,E7=0,Vt=0,m7=0,i7=0,oi=0,O7=0,C7=0,B7=0,Ai=0,p7=0,r7=0,ai=0,q7=0,H7=0,Y7=0,J7=0,n7=0,Q7=0,V7=0,Kt=0,s7=0,Nt=0,zt=0,$i=0,K7=0,li=0,y7=0,z7=0,w7=0,k7=0,Z7=0,v7=0,Zt=0,S7=0,W7=0,o7=0,Gt=0,b7=0,ke=0,D7=0,_t=0,A7=0,n9=0,dt=0,p8=0;p8=C,S=+(n|0),w=6.2831854820251465/S,f8=+zA(+w),Mt=+Nn(+w),E2=n+1|0,Q3=E2>>1,U9=t+-1|0,G4=U9>>1,L9=r5(A,t)|0,C9=r5(n,t)|0,g4=(t|0)==1;e:do if(!g4){if(Qt=(a|0)>0,Qt)for(we=0;c0=E+(we<<2)|0,K0=e[c0>>2]|0,T0=m+(we<<2)|0,e[T0>>2]=K0,i1=we+1|0,E8=(i1|0)==(a|0),!E8;)we=i1;if(O=(n|0)>1,O)for(Z=(A|0)>0,B8=1,qt=0;;){if(I1=qt+L9|0,Z)for(st=0,e4=I1;S1=u+(e4<<2)|0,q1=e[S1>>2]|0,A2=I+(e4<<2)|0,e[A2>>2]=q1,e2=e4+t|0,H2=st+1|0,j9=(H2|0)==(A|0),!j9;)st=H2,e4=e2;if(Z2=B8+1|0,s8=(Z2|0)==(n|0),s8)break;B8=Z2,qt=I1}if(C5=0-t|0,M1=(G4|0)>(A|0),M1){if(O)for(G3=(A|0)>0,H5=(t|0)>2,I3=C5,H9=1,St=0;;){if(v3=St+L9|0,k6=I3+t|0,G3)for(e6=v3-t|0,s3=k6+-1|0,a8=0,Dt=e6;;){if(F3=Dt+t|0,H5)for(o8=2,fe=s3,E7=F3;M3=fe+2|0,E6=E7+2|0,E9=fe+1|0,W4=p+(E9<<2)|0,T4=+s[W4>>2],N4=E7+1|0,a4=u+(N4<<2)|0,R4=+s[a4>>2],u4=R4*T4,Ce=p+(M3<<2)|0,q9=+s[Ce>>2],m9=u+(E6<<2)|0,Be=+s[m9>>2],Ne=Be*q9,Xe=Ne+u4,Ge=I+(N4<<2)|0,s[Ge>>2]=Xe,U4=+s[W4>>2],j4=+s[m9>>2],be=j4*U4,e8=+s[Ce>>2],Z9=+s[a4>>2],ae=Z9*e8,f4=be-ae,_6=I+(E6<<2)|0,s[_6>>2]=f4,P4=o8+2|0,$4=(P4|0)<(t|0),$4;)o8=P4,fe=M3,E7=E6;if(_4=a8+1|0,n8=(_4|0)==(A|0),n8)break;a8=_4,Dt=F3}if($e=H9+1|0,I8=($e|0)==(n|0),I8)break;I3=k6,H9=$e,St=v3}}else if(O)for(u5=(t|0)>2,h3=(A|0)>0,He=C5,re=1,Tt=0;;){if(W9=He+t|0,le=Tt+L9|0,u5)for(ce=W9+-1|0,m8=2,A8=ce,t7=le;;){if(B4=A8+2|0,X4=t7+2|0,h3)for(L4=A8+1|0,ge=p+(L4<<2)|0,g6=p+(B4<<2)|0,$8=0,Vt=X4;Ue=+s[ge>>2],l4=Vt+-1|0,pe=u+(l4<<2)|0,p4=+s[pe>>2],c4=p4*Ue,P6=+s[g6>>2],De=u+(Vt<<2)|0,_e=+s[De>>2],t8=_e*P6,k4=t8+c4,u8=I+(l4<<2)|0,s[u8>>2]=k4,J3=+s[ge>>2],w9=+s[De>>2],B9=w9*J3,F4=+s[g6>>2],ee=+s[pe>>2],$t=ee*F4,xe=B9-$t,lt=I+(Vt<<2)|0,s[lt>>2]=xe,z8=Vt+t|0,ct=$8+1|0,D8=(ct|0)==(A|0),!D8;)$8=ct,Vt=z8;if(gt=m8+2|0,F8=(gt|0)<(t|0),F8)m8=gt,A8=B4,t7=X4;else break}if(M8=re+1|0,he=(M8|0)==(n|0),he)break;He=W9,re=M8,Tt=le}if(T8=r5(L9,n)|0,N8=(G4|0)<(A|0),Z8=(Q3|0)>1,!N8){if(!Z8)break;for(W8=(A|0)>0,yt=(t|0)>2,Ye=1,l8=0,U7=T8;;){if(B0=l8+L9|0,p0=U7-L9|0,W8)for(H4=0,i7=B0,r7=p0;;){if(yt)for(ye=2,Kt=i7,y7=r7;I0=Kt+2|0,S0=y7+2|0,_0=Kt+1|0,Q0=I+(_0<<2)|0,F0=+s[Q0>>2],M0=y7+1|0,N0=I+(M0<<2)|0,U0=+s[N0>>2],y0=U0+F0,Y0=u+(_0<<2)|0,s[Y0>>2]=y0,L0=I+(I0<<2)|0,D0=+s[L0>>2],V0=I+(S0<<2)|0,J0=+s[V0>>2],P0=D0-J0,z0=u+(M0<<2)|0,s[z0>>2]=P0,G0=+s[L0>>2],O0=+s[V0>>2],r1=O0+G0,H0=u+(I0<<2)|0,s[H0>>2]=r1,e1=+s[N0>>2],b0=+s[Q0>>2],c1=e1-b0,$1=u+(S0<<2)|0,s[$1>>2]=c1,f1=ye+2|0,g1=(f1|0)<(t|0),g1;)ye=f1,Kt=I0,y7=S0;if(l1=i7+t|0,s1=r7+t|0,a1=H4+1|0,O4=(a1|0)==(A|0),O4)break;H4=a1,i7=l1,r7=s1}if(n1=Ye+1|0,Le=(n1|0)==(Q3|0),Le)break e;Ye=n1,l8=B0,U7=p0}}if(Z8)for(b=(t|0)>2,Q=(A|0)>0,D9=1,Ht=0,G7=T8;;){if(_=Ht+L9|0,R=G7-L9|0,b)for(ue=2,m7=_,p7=R;;){if(x=m7+2|0,L=p7+2|0,Q)for(M=L-t|0,T=x-t|0,_8=0,V7=T,li=M;N=V7+t|0,G=li+t|0,z=N+-1|0,Y=I+(z<<2)|0,t0=+s[Y>>2],J=G+-1|0,W=I+(J<<2)|0,e0=+s[W>>2],q=e0+t0,X=u+(z<<2)|0,s[X>>2]=q,U=I+(N<<2)|0,$0=+s[U>>2],K=I+(G<<2)|0,a0=+s[K>>2],n0=$0-a0,i0=u+(J<<2)|0,s[i0>>2]=n0,r0=+s[U>>2],V=+s[K>>2],h0=V+r0,s0=u+(N<<2)|0,s[s0>>2]=h0,g0=+s[W>>2],j=+s[Y>>2],u0=g0-j,d0=u+(G<<2)|0,s[d0>>2]=u0,w0=_8+1|0,b8=(w0|0)==(A|0),!b8;)_8=w0,V7=N,li=G;if(C0=ue+2|0,k0=(C0|0)<(t|0),k0)ue=C0,m7=x,p7=L;else break}if(f0=D9+1|0,r8=(f0|0)==(Q3|0),r8)break;D9=f0,Ht=_,G7=R}}while(!1);if(y=(a|0)>0,y)for(Q4=0;o1=m+(Q4<<2)|0,Z0=e[o1>>2]|0,h1=E+(Q4<<2)|0,e[h1>>2]=Z0,m1=Q4+1|0,H8=(m1|0)==(a|0),!H8;)Q4=m1;if(d1=r5(a,n)|0,E1=(Q3|0)>1,E1){for(B1=(A|0)>0,Y8=1,R8=0,P7=d1;;){if(p1=R8+L9|0,Q1=P7-L9|0,B1)for(_1=Q1-t|0,x1=p1-t|0,ot=0,oi=x1,ai=_1;w1=oi+t|0,R1=ai+t|0,F1=I+(w1<<2)|0,G1=+s[F1>>2],k1=I+(R1<<2)|0,U1=+s[k1>>2],Z1=U1+G1,N1=u+(w1<<2)|0,s[N1>>2]=Z1,b1=+s[k1>>2],V1=+s[F1>>2],O1=b1-V1,H1=u+(R1<<2)|0,s[H1>>2]=O1,Y1=ot+1|0,te=(Y1|0)==(A|0),!te;)ot=Y1,oi=w1,ai=R1;if(j1=Y8+1|0,tt=(j1|0)==(Q3|0),tt)break;Y8=j1,R8=p1,P7=Q1}if(n2=n+-1|0,W1=r5(n2,a)|0,E1){for(P1=(Q3|0)>2,G8=0,P8=1,Ve=1,bt=0,d7=d1;;){if(c2=bt+a|0,z1=d7-a|0,u2=P8*f8,o2=G8*Mt,K1=u2-o2,h2=G8*f8,$2=P8*Mt,i2=$2+h2,y)for(C8=0,q7=c2,s7=z1,z7=W1,Zt=a;l2=E+(C8<<2)|0,r2=+s[l2>>2],a2=Zt+1|0,X1=E+(Zt<<2)|0,s2=+s[X1>>2],f2=s2*K1,y2=f2+r2,v2=q7+1|0,w2=m+(q7<<2)|0,s[w2>>2]=y2,C2=z7+1|0,F2=E+(z7<<2)|0,D2=+s[F2>>2],N2=D2*i2,d2=s7+1|0,K2=m+(s7<<2)|0,s[K2>>2]=N2,G2=C8+1|0,ut=(G2|0)==(a|0),!ut;)C8=G2,q7=v2,s7=d2,z7=C2,Zt=a2;if(P1)for(U8=i2,k8=K1,ft=2,H7=a,Nt=W1;;){if(M2=H7+a|0,P2=Nt-a|0,z2=k8*K1,o5=U8*i2,O2=z2-o5,T1=U8*K1,X2=k8*i2,R5=X2+T1,y)for(it=0,w7=c2,S7=z1,b7=M2,_t=P2;e5=b7+1|0,b5=E+(b7<<2)|0,f5=+s[b5>>2],v5=f5*O2,P5=w7+1|0,l5=m+(w7<<2)|0,k2=+s[l5>>2],m5=k2+v5,s[l5>>2]=m5,n5=_t+1|0,x2=E+(_t<<2)|0,_2=+s[x2>>2],B2=_2*R5,L5=S7+1|0,d5=m+(S7<<2)|0,D5=+s[d5>>2],G5=D5+B2,s[d5>>2]=G5,_5=it+1|0,wt=(_5|0)==(a|0),!wt;)it=_5,w7=P5,S7=L5,b7=e5,_t=n5;if(q2=ft+1|0,et=(q2|0)==(Q3|0),et)break;U8=R5,k8=O2,ft=q2,H7=M2,Nt=P2}if(I5=Ve+1|0,kt=(I5|0)==(Q3|0),kt)break;G8=i2,P8=K1,Ve=I5,bt=c2,d7=z1}if(E1)for(rt=1,K8=0;;){if(A5=K8+a|0,y)for(q4=0,Yt=A5;c5=Yt+1|0,B5=E+(Yt<<2)|0,S5=+s[B5>>2],g5=m+(q4<<2)|0,a5=+s[g5>>2],W2=a5+S5,s[g5>>2]=W2,g2=q4+1|0,ht=(g2|0)==(a|0),!ht;)q4=g2,Yt=c5;if(p5=rt+1|0,Qe=(p5|0)==(Q3|0),Qe)break;rt=p5,K8=A5}}}if(t5=(t|0)<(A|0),t5){if(J2=(t|0)>0,J2)for(i5=(A|0)>0,qe=0;;){if(i5)for(Je=0,de=qe,Jt=qe;Y5=I+(de<<2)|0,X5=e[Y5>>2]|0,n3=c+(Jt<<2)|0,e[n3>>2]=X5,m3=de+t|0,F5=Jt+C9|0,J5=Je+1|0,Re=(J5|0)==(A|0),!Re;)Je=J5,de=m3,Jt=F5;if(k3=qe+1|0,i8=(k3|0)==(t|0),i8)break;qe=k3}}else if(s5=(A|0)>0,s5)for(h5=(t|0)>0,x8=0,Me=0,I7=0;;){if(h5)for(Oe=0,O7=Me,Y7=I7;x5=O7+1|0,j2=I+(O7<<2)|0,$5=e[j2>>2]|0,R2=Y7+1|0,Q5=c+(Y7<<2)|0,e[Q5>>2]=$5,q5=Oe+1|0,S8=(q5|0)==(t|0),!S8;)Oe=q5,O7=x5,Y7=R2;if(j5=Me+t|0,E5=I7+C9|0,f3=x8+1|0,k9=(f3|0)==(A|0),k9)break;x8=f3,Me=j5,I7=E5}if(u3=t<<1,p3=r5(L9,n)|0,E1)for(z3=(A|0)>0,nt=1,vt=0,C7=0,J7=p3;;){if(K5=vt+u3|0,w3=C7+L9|0,Z5=J7-L9|0,z3)for(p9=0,zt=K5,k7=w3,W7=Z5;i6=I+(k7<<2)|0,R3=e[i6>>2]|0,U3=zt+-1|0,a3=c+(U3<<2)|0,e[a3>>2]=R3,l3=I+(W7<<2)|0,c3=e[l3>>2]|0,C3=c+(zt<<2)|0,e[C3>>2]=c3,U5=zt+C9|0,O5=k7+t|0,k5=W7+t|0,P3=p9+1|0,d8=(P3|0)==(A|0),!d8;)p9=P3,zt=U5,k7=O5,W7=k5;if(M5=nt+1|0,Pe=(M5|0)==(Q3|0),Pe)break;nt=M5,vt=K5,C7=w3,J7=Z5}if(!g4){if(o6=(G4|0)<(A|0),e3=0-t|0,!o6){if(!E1)return;for(B=(A|0)<1,v=(t|0)<3,v8=B|v,J8=1,at=e3,B7=0,n7=0,$i=p3;;){if(u6=at+u3|0,y3=B7+u3|0,r6=n7+L9|0,j3=$i-L9|0,!v8)for(At=0,Z7=u6,o7=y3,ke=r6,A7=j3;;){for(X9=2;l6=t-X9|0,d3=X9+ke|0,v6=d3+-1|0,S6=I+(v6<<2)|0,B6=+s[S6>>2],X3=X9+A7|0,c6=X3+-1|0,p6=I+(c6<<2)|0,x6=+s[p6>>2],Y6=x6+B6,C6=X9+o7|0,b3=C6+-1|0,t6=c+(b3<<2)|0,s[t6>>2]=Y6,f6=+s[S6>>2],H3=+s[p6>>2],D3=f6-H3,Y3=l6+Z7|0,Z3=Y3+-1|0,b6=c+(Z3<<2)|0,s[b6>>2]=D3,A6=I+(d3<<2)|0,t3=+s[A6>>2],O6=I+(X3<<2)|0,a6=+s[O6>>2],d6=a6+t3,_3=c+(C6<<2)|0,s[_3>>2]=d6,N6=+s[O6>>2],n6=+s[A6>>2],Q6=N6-n6,R6=c+(Y3<<2)|0,s[R6>>2]=Q6,K6=X9+2|0,I6=(K6|0)<(t|0),I6;)X9=K6;if(O3=Z7+C9|0,V5=o7+C9|0,S3=ke+t|0,g3=A7+t|0,q3=At+1|0,j8=(q3|0)==(A|0),j8)break;At=q3,Z7=O3,o7=V5,ke=S3,A7=g3}if(J6=J8+1|0,X8=(J6|0)==(Q3|0),X8)break;J8=J6,at=u6,B7=y3,n7=r6,$i=j3}return}if(E1)for(A3=(t|0)>2,L3=(A|0)>0,ie=1,ne=e3,Ai=0,Q7=0,K7=p3;;){if(j6=ne+u3|0,G6=Ai+u3|0,e9=Q7+L9|0,s9=K7-L9|0,A3&&(L6=j6+t|0,L3))for(Fe=2;;){for(b4=Fe+s9|0,D4=Fe+e9|0,x4=Fe+G6|0,M4=L6-Fe|0,V8=0,v7=M4,Gt=x4,D7=D4,n9=b4;z6=D7+-1|0,y6=I+(z6<<2)|0,F6=+s[y6>>2],M6=n9+-1|0,t9=I+(M6<<2)|0,A9=+s[t9>>2],X6=A9+F6,u9=Gt+-1|0,f9=c+(u9<<2)|0,s[f9>>2]=X6,d9=+s[y6>>2],a9=+s[t9>>2],$9=d9-a9,T9=v7+-1|0,T6=c+(T9<<2)|0,s[T6>>2]=$9,i9=I+(D7<<2)|0,N9=+s[i9>>2],I9=I+(n9<<2)|0,E4=+s[I9>>2],o4=E4+N9,h4=c+(Gt<<2)|0,s[h4>>2]=o4,G9=+s[I9>>2],z9=+s[i9>>2],b9=G9-z9,q6=c+(v7<<2)|0,s[q6>>2]=b9,r9=v7+C9|0,m4=Gt+C9|0,S4=D7+t|0,A4=n9+t|0,y9=V8+1|0,O8=(y9|0)==(A|0),!O8;)V8=y9,v7=r9,Gt=m4,D7=S4,n9=A4;if(U6=Fe+2|0,D6=(U6|0)<(t|0),D6)Fe=U6;else break}if(C4=ie+1|0,q8=(C4|0)==(Q3|0),q8)break;ie=C4,ne=j6,Ai=G6,Q7=e9,K7=s9}}}function nb(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,R5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,R2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,k3=0,u3=0,p3=0,z3=0,G3=0,K5=0,w3=0,Z5=0,i6=0,R3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,L3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,X3=0,c6=0,p6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,R6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,L6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,M4=0,W4=0,C4=0,T4=0,U9=0,N4=0,a4=0,R4=0,u4=0,Ce=0,q9=0,m9=0,Be=0,Ne=0,Xe=0,G4=0,Ge=0,U4=0,j4=0,be=0,e8=0,Z9=0,ae=0,f4=0,_6=0,P4=0,L9=0,$4=0,_4=0,$e=0,W9=0,le=0,ce=0,B4=0,X4=0,L4=0,ge=0,C9=0,g6=0,Ue=0,l4=0,pe=0,p4=0,c4=0,P6=0,De=0,_e=0,t8=0,g4=0,k4=0,u8=0,J3=0,w9=0,B9=0,F4=0,ee=0,$t=0,xe=0,lt=0,Qt=0,z8=0,ct=0,gt=0,F8=0,M8=0,T8=0,N8=0,Z8=0,W8=0,yt=0,G8=0,U8=0,P8=0,k8=0,v8=0,f8=0,O8=0,q8=0,j8=0,X8=0,d8=0,Pe=0,Re=0,i8=0,S8=0,k9=0,ht=0,Qe=0,ut=0,wt=0,et=0,kt=0,te=0,tt=0,H8=0,b8=0,r8=0,O4=0,Le=0,n8=0,I8=0,D8=0,he=0,j9=0,s8=0,E8=0,o8=0,m8=0,ue=0,ye=0,Oe=0,qe=0,X9=0,Fe=0,fe=0,A8=0,we=0,Q4=0,C8=0,it=0,q4=0,I3=0,He=0,B8=0,ie=0,H9=0,re=0,D9=0,Ye=0,Y8=0,ft=0,rt=0,nt=0,J8=0,st=0,V8=0,a8=0,$8=0,_8=0,H4=0,ot=0,x8=0,Je=0,p9=0,At=0,Ve=0,Mt=0,qt=0,vt=0,at=0,St=0,ne=0,Tt=0,Ht=0,l8=0,R8=0,bt=0,K8=0,Me=0,de=0,e4=0,Dt=0,t7=0,G7=0,U7=0,P7=0,d7=0,Yt=0,I7=0,Jt=0,E7=0,Vt=0,m7=0,i7=0,oi=0,O7=0,C7=0,B7=0,Ai=0,p7=0,r7=0,ai=0,q7=0,H7=0,Y7=0,J7=0,n7=0,Q7=0,V7=0,Kt=0,s7=0,Nt=0,zt=0,$i=0,K7=0,li=0,y7=0,z7=0,w7=0,k7=0,Z7=0,v7=0,Zt=0,S7=0,W7=0,o7=0,Gt=0,b7=0,ke=0,D7=0,_t=0,A7=0,n9=0,dt=0,p8=0,It=0,xt=0,Zr=0,Ir=0,Xs=0,Un=0,eo=0,Pn=0,to=0,io=0,On=0,ro=0,Wr=0,no=0,so=0,oo=0,qn=0,Ao=0,Hn=0,Yn=0,ao=0,jr=0,Jn=0,Xr=0,Vn=0,Kn=0,$o=0,lo=0,co=0,en=0,zn=0,go=0,Er=0,tn=0,ho=0,uo=0,rn=0,ci=0,Zn=0,fo=0,Io=0,Wn=0,jn=0,Xn=0,Eo=0,gi=0,nn=0,mo=0,es=0,Co=0,Bo=0,po=0,ts=0,Qo=0,yo=0,wo=0,ko=0,is=0,vo=0,So=0,sn=0,mr=0,on=0,bo=0,Wi=0,Do=0,rs=0,An=0,ns=0,an=0,_o=0,ss=0,os=0,xo=0,As=0,as=0,Ro=0,Cr=0,$s=0,hi=0,$n=0,Br=0,ji=0,pr=0,qi=0,Qr=0,ls=0,Hi=0,yi=0,wi=0,j7=0,ki=0,yr=0,Xi=0,er=0,wr=0,ui=0,Lo=0,a7=0,j$=0,ln=0,cn=0,Fh=0,X$=0,Fo=0,Mh=0,jA=0,el=0,Th=0,Nh=0,Gh=0,XA=0,tl=0,il=0,ea=0,gn=0,rl=0,Uh=0,Mo=0,tr=0,Ph=0,Oh=0,qh=0,Hh=0,Yh=0,Jh=0,Vh=0,Kh=0,zh=0,Zh=0,nl=0,kr=0,Wh=0,jh=0,sl=0,Xh=0,ta=0,To=0,ia=0,eu=0,tu=0,ra=0,ol=0,Al=0,al=0,na=0,$l=0,No=0,iu=0,ru=0,ll=0,nu=0,su=0,cl=0,ou=0,Au=0,gl=0,hl=0,ul=0,fl=0,dl=0,hn=0,au=0,Il=0,$u=0,El=0,ml=0,lu=0,cu=0,gu=0,sa=0,Cl=0,Bl=0,cs=0,pl=0,oa=0,hu=0,Ql=0,uu=0,yl=0,fu=0,du=0,wl=0,kl=0,Iu=0,Go=0,Eu=0,Aa=0,vl=0,Sl=0,mu=0,Cu=0,Bu=0,pu=0,Qu=0,yu=0,Uo=0,bl=0,Dl=0,_l=0,Po=0,wu=0,xl=0,ku=0,Rl=0,vu=0,Su=0,Ll=0,aa=0,bu=0,Du=0,Oo=0,_u=0,qo=0,xu=0,$a=0,Ru=0,Lu=0,Fu=0,Fl=0,Mu=0,Tu=0,Nu=0,Gu=0,Ml=0,Tl=0,ir=0,Nl=0,Ho=0,la=0,ca=0,un=0,Gl=0,fn=0,Uu=0,Ul=0,Pu=0,Ou=0,qu=0,Hu=0,Yo=0,ga=0,vr=0,Yu=0,Ju=0,Pl=0,ha=0,Ol=0,ql=0,Vu=0,Hl=0,Ku=0,ua=0,zu=0,Zu=0,P9=0,Wu=0,Yl=0,ju=0,Xu=0,fa=0,ef=0,da=0,Jl=0,tf=0,rf=0,Vl=0,Kl=0,nf=0,Ia=0,Ea=0,zl=0,Zl=0,sf=0,Wl=0,ma=0,of=0,jl=0,Af=0,af=0,$f=0,lf=0,Xl=0,ec=0,Ca=0,Jo=0,tc=0,cf=0,ic=0,rc=0,gf=0,hf=0,uf=0,nc=0,ff=0,df=0,If=0,Ef=0,mf=0,Cf=0,sc=0,Bf=0,oc=0,pf=0,dn=0,Qf=0,Ac=0,yf=0,gs=0,ac=0,Ba=0,wf=0,Vo=0,pa=0,kf=0,Qa=0,$c=0,vf=0,Sf=0,bf=0,Df=0,_f=0,lc=0,xf=0,Rf=0,Lf=0,Ko=0,hs=0,ya=0,Ff=0,wa=0,Mf=0,Tf=0,Nf=0,cc=0,Gf=0,Uf=0,Pf=0,Of=0,qf=0,zo=0,Hf=0,Yf=0,gc=0,Jf=0,Vf=0,Kf=0,zf=0,fi=0,hc=0,di=0,uc=0,ka=0,Zf=0,X7=0,us=0,Wf=0,jf=0,Xf=0,ed=0,td=0,fc=0,id=0,rd=0,dc=0,nd=0,sd=0,fs=0,va=0,od=0,Ic=0,Ad=0,ad=0,Zo=0,$d=0,ld=0,Ec=0,mc=0,cd=0,gd=0,In=0,hd=0,ud=0,En=0,fd=0,Cc=0,dd=0,Id=0,ds=0,Bc=0,Ed=0,pc=0,md=0,rr=0,Sa=0,Cd=0,Qc=0,yc=0,Bd=0,pd=0,wc=0,Qd=0,yd=0,wd=0,kc=0,kd=0,Is=0,vd=0,mn=0,Sd=0,bd=0,ba=0,Dd=0,Da=0,_a=0,_d=0,vc=0,Sc=0,xd=0,bc=0,Dc=0,_c=0,Rd=0,xc=0,Rc=0,Ld=0,Fd=0,Lc=0,Fc=0,Md=0,Mc=0,Tc=0,Td=0,Nd=0,Nc=0,xa=0,Gc=0,Uc=0,Pc=0,Oc=0,Gd=0,Ud=0,Pd=0,Od=0,qd=0,Hd=0,Yd=0,Jd=0,qc=0,Ra=0,Vd=0,Kd=0,zd=0,Hc=0,Yc=0,Zd=0,Jc=0,La=0,Wo=0,Vc=0,Wd=0,jd=0,Xd=0,eI=0,Kc=0,jo=0,tI=0,iI=0,rI=0,nI=0,sI=0,oI=0,AI=0,aI=0,zc=0,$I=0,lI=0,cI=0,gI=0,Xo=0,Zc=0,hI=0,uI=0,Cn=0,Wc=0,jc=0,Fa=0,fI=0,Xc=0,dI=0,eg=0,tg=0,II=0,EI=0,mI=0,CI=0,BI=0,eA=0,Ma=0,pI=0,QI=0,yI=0,wI=0,ig=0,kI=0,rg=0,vI=0,SI=0,ng=0,Sr=0,sg=0,og=0,bI=0,Ag=0,tA=0,DI=0,_I=0,xI=0,iA=0,ag=0,RI=0,LI=0,$g=0,FI=0,MI=0,Ta=0,rA=0,TI=0,NI=0,GI=0,lg=0,cg=0,gg=0,UI=0,PI=0,Es=0,OI=0,hg=0,qI=0,Na=0,ug=0,HI=0,YI=0,JI=0,VI=0,fg=0,KI=0,zI=0,dg=0,nA=0,ZI=0,WI=0,jI=0,ms=0,Ig=0,Eg=0,XI=0,mg=0,Cg=0,vi=0,Bg=0,nr=0,eE=0,tE=0,iE=0,rE=0,Ga=0,sA=0,pg=0,Qg=0,nE=0,oA=0,Cs=0,sE=0,AA=0,Ua=0,oE=0,Pa=0,AE=0,aE=0,yg=0,aA=0,wg=0,$E=0,lE=0,cE=0,gE=0,kg=0,hE=0,Wt=0,y4=0,ei=0,uE=0,vg=0,Sg=0,Oa=0,fE=0,br=0,Bs=0,dE=0,IE=0,bg=0,qa=0,EE=0,Dg=0,_g=0,xg=0,Ha=0,Ya=0,Rg=0,ps=0,Ja=0,Lg=0,mE=0,Bn=0,CE=0,Fg=0,$A=0,BE=0,Mg=0,Si=0,pE=0,QE=0,yE=0,wE=0,kE=0,vE=0,bi=0,SE=0,bE=0,DE=0,Tg=0,Ii=0,lA=0,Va=0,Ng=0,Gg=0,_E=0,Ug=0,Pg=0,xE=0,RE=0,Og=0,qg=0,LE=0,FE=0,Hg=0,ME=0,Qs=0,cA=0,gA=0,TE=0,Ka=0,NE=0,GE=0,Yg=0,ys=0,UE=0,PE=0,za=0,Za=0,hA=0,Wa=0,ja=0,sr=0,Dr=0,_r=0,Xa=0,e$=0,ws=0,or=0,pn=0,OE=0,Ar=0,Qn=0,qE=0,_7=0,x7=0,R7=0,uA=0,fA=0,Jg=0,Vg=0,dA=0,t$=0,L7=0,IA=0,xr=0,i$=0,HE=0,r$=0,YE=0,n$=0,Kg=0,EA=0,JE=0,VE=0,mA=0,KE=0,CA=0,yn=0,Ke=0,v4=0,zg=0,zE=0,s$=0,Zg=0,ZE=0,WE=0,BA=0,jE=0,XE=0,em=0,tm=0,Wg=0,im=0,rm=0,nm=0,ti=0,pA=0,wn=0,o$=0,ks=0,vs=0,jt=0,Ss=0,jg=0,Xg=0,QA=0,bs=0,Ds=0,_s=0,sm=0,xs=0,ar=0,eh=0,Rr=0,ii=0,A$=0,a$=0,Yi=0,$$=0,l$=0,c$=0,Lr=0,$6=0,yA=0,Fr=0,th=0,ve=0,g$=0,Q8=0,Rs=0,kn=0,vn=0,F9=0,Sn=0,Mr=0,Y4=0,h$=0,CB=0,om=0,Xm=0,eC=0,BB=0,Am=0,_Q=0,xQ=0,RQ=0,LQ=0,FQ=0,MQ=0,TQ=0,NQ=0,GQ=0,UQ=0,PQ=0,OQ=0,pB=0,QB=0,qQ=0,HQ=0,YQ=0,ih=0,tC=0,Ei=0,rh=0,nh=0,sh=0,oh=0,am=0,$m=0,lm=0,cm=0,gm=0,hm=0,um=0,fm=0,dm=0,Im=0,iC=0,wA=0,$r=0,u$=0,Ah=0,f$=0,yB=0,kA=0,Em=0,d$=0,rC=0,nC=0,mm=0,sC=0,oC=0,AC=0,aC=0,$C=0,lC=0,cC=0,wB=0,kB=0,vB=0,SB=0,bB=0,vA=0,SA=0,bA=0,DA=0,JQ=0,lr=0,t4=0,Rb=0,_A=0,gC=0;if(Rb=C,g0=t+28|0,j=e[g0>>2]|0,X8=(j|0)==0,X8||(s7=j+3456|0,ls=e[s7>>2]|0,bl=(ls|0)==0,n=bl&1,gs=j+3496|0,bc=+A1[gs>>3],lg=bc>-80,lg?A1[gs>>3]=-80:(RE=bc<-200,RE&&(A1[gs>>3]=-200)),c0=j+3512|0,Z2=+A1[c0>>3],s3=Z2>0,s3?A1[c0>>3]=0:(C4=Z2<-99999,C4&&(A1[c0>>3]=-99999)),Ne=j+3396|0,_6=e[Ne>>2]|0,L4=(_6|0)==0,L4))return m=-131,m|0;if(_e=j+3392|0,e[_e>>2]=1,xe=j+3400|0,W8=+A1[xe>>3],d8=_6+24|0,kt=e[d8>>2]|0,he=_6+28|0,Fe=e[he>>2]|0,ie=~~W8,V8=kt+(ie<<2)|0,Mt=e[V8>>2]|0,K8=Fe+(ie<<2)|0,I7=e[K8>>2]|0,e[j>>2]=Mt,p7=j+4|0,e[p7>>2]=I7,Nt=(Mt|0)==(I7|0),Zt=_6+144|0,dt=e[Zt>>2]|0,io=(dt|0)>0,io){for(ao=_6+136|0,go=_6+140|0,jn=_6+148|0,Wi=W8,vr=j,iC=0;;){if(Qo=~~Wi,as=e[ao>>2]|0,Hi=e[go>>2]|0,a7=e[jn>>2]|0,Nh=a7+(iC<<2)|0,Ph=e[Nh>>2]|0,kr=n4(1,1120)|0,ol=Ph+(Qo<<2)|0,cl=e[ol>>2]|0,$u=Hi+(cl*1120|0)|0,s4(kr|0,$u|0,1120)|0,oa=e[kr>>2]|0,Eu=(oa|0)>0,Eu){for(Dl=kr+4|0,tC=0,cC=-1;;)if(ma=Dl+(tC<<2)|0,tc=e[ma>>2]|0,Ef=(tc|0)>(cC|0),t0=Ef?tc:cC,ac=tC+1|0,PQ=(ac|0)==(oa|0),PQ){J=t0;break}else tC=ac,cC=t0;if(bu=(J|0)<0,!bu){for(Mu=kr+256|0,un=vr+24|0,zu=kr+192|0,tf=kr+320|0,f$=0,AC=-1;;){if(yc=Mu+(f$<<2)|0,mn=e[yc>>2]|0,Dc=(mn|0)>(AC|0),z=Dc?mn:AC,Tc=e[un>>2]|0,Pd=Tc+mn|0,e[yc>>2]=Pd,Hc=zu+(f$<<2)|0,Kc=e[Hc>>2]|0,$I=(Kc|0)==31,$I)aC=z;else for(y9=Kc,sC=0,lC=z;;)if(Fa=(tf+(f$<<5)|0)+(sC<<2)|0,eA=e[Fa>>2]|0,ng=(eA|0)>(lC|0),Y=ng?eA:lC,ag=(eA|0)>-1,ag?(cg=e[un>>2]|0,YI=cg+eA|0,e[Fa>>2]=YI,e0=e[Hc>>2]|0,Ua=e0):Ua=y9,ms=sC+1|0,iE=1<>2]|0,Zf=e[Yf>>2]|0,dc=e[un>>2]|0,ld=dc+1|0,e[un>>2]=ld,dd=(vr+1824|0)+(dc<<2)|0,e[dd>>2]=Zf,TQ=($C|0)==0,!TQ))for(yB=0;Ya=yB+1|0,Z=e[ol>>2]|0,Mg=as+(Z<<2)|0,DE=e[Mg>>2]|0,Og=DE+(Ya<<2)|0,NE=e[Og>>2]|0,sr=e[un>>2]|0,qE=sr+1|0,e[un>>2]=qE,IA=(vr+1824|0)+(sr<<2)|0,e[IA>>2]=NE,MQ=(Ya|0)==($C|0),!MQ;)yB=Ya}}if(mA=vr+16|0,WE=e[mA>>2]|0,pA=(vr+800|0)+(WE<<2)|0,e[pA>>2]=1,Ds=e[mA>>2]|0,$$=(vr+1056|0)+(Ds<<2)|0,e[$$>>2]=kr,u0=e[mA>>2]|0,_0=u0+1|0,e[mA>>2]=_0,V0=iC+1|0,c1=e[Zt>>2]|0,h1=(V0|0)<(c1|0),!h1)break;W=+A1[xe>>3],r0=e[g0>>2]|0,Wi=W,vr=r0,iC=V0}h0=e[g0>>2]|0,K5=h0}else K5=j;R1=j+3520|0,H1=+A1[R1>>3],A2=_6+124|0,e2=e[A2>>2]|0,H2=_6+128|0,f5=e[H2>>2]|0,L5=~~H1,S5=+(L5|0),i5=H1-S5,Y5=K5+2868|0,U5=f5+(L5<<3)|0,v3=+A1[U5>>3],k6=~~v3,e6=e2+(k6*492|0)|0,s4(Y5|0,e6|0,492)|0,a6=+A1[U5>>3],j6=1-i5,M6=a6*j6,T6=L5+1|0,q6=f5+(T6<<3)|0,b4=+A1[q6>>3],D4=b4*i5,x4=D4+M6,M4=~~x4,W4=+(M4|0),T4=x4-W4,U9=T4==0,N4=(M4|0)>0,wB=N4&U9,I=wB?1:T4,a4=wB<<31>>31,L=a4+M4|0,R4=1-I,u4=L+1|0,Ce=(e2+(L*492|0)|0)+4|0,q9=+s[Ce>>2],m9=q9,Be=R4*m9,Xe=(e2+(u4*492|0)|0)+4|0,G4=+s[Xe>>2],Ge=G4,U4=I*Ge,j4=Be+U4,be=j4,e8=K5+2872|0,s[e8>>2]=be,Z9=(e2+(L*492|0)|0)+32|0,ae=+s[Z9>>2],f4=ae,P4=R4*f4,L9=(e2+(u4*492|0)|0)+32|0,$4=+s[L9>>2],_4=$4,$e=I*_4,W9=P4+$e,le=W9,ce=K5+2900|0,s[ce>>2]=le,B4=(e2+(L*492|0)|0)+8|0,X4=+s[B4>>2],ge=X4,C9=R4*ge,g6=(e2+(u4*492|0)|0)+8|0,Ue=+s[g6>>2],l4=Ue,pe=I*l4,p4=C9+pe,c4=p4,P6=K5+2876|0,s[P6>>2]=c4,De=(e2+(L*492|0)|0)+36|0,t8=+s[De>>2],g4=t8,k4=R4*g4,u8=(e2+(u4*492|0)|0)+36|0,J3=+s[u8>>2],w9=J3,B9=w9*I,F4=B9+k4,ee=F4,$t=K5+2904|0,s[$t>>2]=ee,lt=(e2+(L*492|0)|0)+12|0,Qt=+s[lt>>2],z8=Qt,ct=z8*R4,gt=(e2+(u4*492|0)|0)+12|0,F8=+s[gt>>2],M8=F8,T8=M8*I,N8=T8+ct,Z8=N8,yt=K5+2880|0,s[yt>>2]=Z8,G8=(e2+(L*492|0)|0)+40|0,U8=+s[G8>>2],P8=U8,k8=P8*R4,v8=(e2+(u4*492|0)|0)+40|0,f8=+s[v8>>2],O8=f8,q8=O8*I,j8=q8+k8,Pe=j8,Re=K5+2908|0,s[Re>>2]=Pe,i8=(e2+(L*492|0)|0)+16|0,S8=+s[i8>>2],k9=S8,ht=k9*R4,Qe=(e2+(u4*492|0)|0)+16|0,ut=+s[Qe>>2],wt=ut,et=wt*I,te=et+ht,tt=te,H8=K5+2884|0,s[H8>>2]=tt,b8=(e2+(L*492|0)|0)+44|0,r8=+s[b8>>2],O4=r8,Le=O4*R4,n8=(e2+(u4*492|0)|0)+44|0,I8=+s[n8>>2],D8=I8,j9=D8*I,s8=j9+Le,E8=s8,o8=K5+2912|0,s[o8>>2]=E8,m8=K5+3512|0,ue=+A1[m8>>3],ye=ue,Oe=K5+2936|0,s[Oe>>2]=ye,qe=_6+132|0,X9=e[qe>>2]|0,fe=j+3472|0,A8=+A1[fe>>3],we=A8,Q4=~~we,C8=+(Q4|0),it=we-C8,q4=it,I3=e[g0>>2]|0,He=(X9|0)==0;e:do if(He)B8=I3+4|0,H9=e[I3>>2]|0,re=I3+3240|0,e[re>>2]=H9,D9=e[B8>>2]|0,Ye=I3+3300|0,e[Ye>>2]=D9,Y8=I3+3244|0,e[Y8>>2]=H9,ft=I3+3304|0,e[ft>>2]=D9,rt=I3+3248|0,e[rt>>2]=H9,nt=I3+3308|0,e[nt>>2]=D9,J8=I3+3252|0,e[J8>>2]=H9,st=I3+3312|0,e[st>>2]=D9,a8=I3+3256|0,e[a8>>2]=H9,$8=I3+3316|0,e[$8>>2]=D9,_8=I3+3260|0,e[_8>>2]=H9,H4=I3+3320|0,e[H4>>2]=D9,ot=I3+3264|0,e[ot>>2]=H9,x8=I3+3324|0,e[x8>>2]=D9,Je=I3+3268|0,e[Je>>2]=H9,p9=I3+3328|0,e[p9>>2]=D9,At=I3+3272|0,e[At>>2]=H9,Ve=I3+3332|0,e[Ve>>2]=D9,qt=I3+3276|0,e[qt>>2]=H9,vt=I3+3336|0,e[vt>>2]=D9,at=I3+3280|0,e[at>>2]=H9,St=I3+3340|0,e[St>>2]=D9,ne=I3+3284|0,e[ne>>2]=H9,Tt=I3+3344|0,e[Tt>>2]=D9,Ht=I3+3288|0,e[Ht>>2]=H9,l8=I3+3348|0,e[l8>>2]=D9,R8=I3+3292|0,e[R8>>2]=H9,bt=I3+3352|0,e[bt>>2]=D9,Me=I3+3296|0,e[Me>>2]=H9,de=I3+3356|0,e[de>>2]=D9;else{e4=I3+3120|0,Dt=X9+(Q4*240|0)|0,lr=e4,_A=Dt,gC=lr+60|0;do e[lr>>2]=e[_A>>2]|0,lr=lr+4|0,_A=_A+4|0;while((lr|0)<(gC|0));t7=I3+3180|0,G7=(X9+(Q4*240|0)|0)+60|0,lr=t7,_A=G7,gC=lr+60|0;do e[lr>>2]=e[_A>>2]|0,lr=lr+4|0,_A=_A+4|0;while((lr|0)<(gC|0));if(U7=j+3420|0,P7=e[U7>>2]|0,d7=(P7|0)==0,!d7)for(Yt=1-q4,Jt=Q4+1|0,E7=t+8|0,Vt=I3+4|0,X=e[E7>>2]|0,m7=+(X|0),$r=0;;){if(i7=((X9+(Q4*240|0)|0)+120|0)+($r<<2)|0,oi=+s[i7>>2],O7=oi,C7=O7*Yt,B7=((X9+(Jt*240|0)|0)+120|0)+($r<<2)|0,Ai=+s[B7>>2],r7=Ai,ai=r7*q4,q7=ai+C7,H7=q7,Y7=H7,J7=Y7*1e3,n7=J7/m7,Q7=e[I3>>2]|0,V7=+(Q7|0),Kt=V7*n7,zt=~~Kt,$i=(I3+3e3|0)+($r<<2)|0,e[$i>>2]=zt,K7=e[Vt>>2]|0,li=+(K7|0),y7=li*n7,z7=~~y7,w7=(I3+3060|0)+($r<<2)|0,e[w7>>2]=z7,k7=~~H7,Z7=(I3+2940|0)+($r<<2)|0,e[Z7>>2]=k7,v7=((X9+(Q4*240|0)|0)+180|0)+($r<<2)|0,S7=+s[v7>>2],W7=S7,o7=W7*Yt,Gt=((X9+(Jt*240|0)|0)+180|0)+($r<<2)|0,b7=+s[Gt>>2],ke=b7,D7=ke*q4,_t=D7+o7,A7=_t,n9=A7,p8=n9*1e3,It=p8/m7,xt=e[I3>>2]|0,Zr=+(xt|0),Ir=Zr*It,Xs=~~Ir,Un=(I3+3240|0)+($r<<2)|0,e[Un>>2]=Xs,eo=e[Vt>>2]|0,Pn=+(eo|0),to=Pn*It,On=~~to,ro=(I3+3300|0)+($r<<2)|0,e[ro>>2]=On,Wr=$r+1|0,GQ=(Wr|0)==15,GQ)break e;$r=Wr}for(no=(X9+(Q4*240|0)|0)+148|0,so=+s[no>>2],oo=so,qn=1-q4,Ao=oo*qn,Hn=Q4+1|0,Yn=(X9+(Hn*240|0)|0)+148|0,jr=+s[Yn>>2],Jn=jr,Xr=Jn*q4,Vn=Xr+Ao,Kn=Vn,$o=Kn,lo=$o*1e3,co=t+8|0,en=I3+4|0,zn=~~Kn,$0=e[co>>2]|0,Er=+($0|0),tn=lo/Er,Ah=0;ho=e[I3>>2]|0,uo=+(ho|0),rn=uo*tn,ci=~~rn,Zn=(I3+3e3|0)+(Ah<<2)|0,e[Zn>>2]=ci,fo=e[en>>2]|0,Io=+(fo|0),Wn=Io*tn,Xn=~~Wn,Eo=(I3+3060|0)+(Ah<<2)|0,e[Eo>>2]=Xn,gi=(I3+2940|0)+(Ah<<2)|0,e[gi>>2]=zn,nn=Ah+1|0,OQ=(nn|0)==15,!OQ;)Ah=nn;for(mo=(X9+(Q4*240|0)|0)+208|0,es=+s[mo>>2],Co=es,Bo=Co*qn,po=(X9+(Hn*240|0)|0)+208|0,ts=+s[po>>2],yo=ts,wo=yo*q4,ko=wo+Bo,is=ko,vo=is,So=vo*1e3,sn=So/Er,Em=0;mr=e[I3>>2]|0,on=+(mr|0),bo=on*sn,Do=~~bo,rs=(I3+3240|0)+(Em<<2)|0,e[rs>>2]=Do,An=e[en>>2]|0,ns=+(An|0),an=ns*sn,_o=~~an,ss=(I3+3300|0)+(Em<<2)|0,e[ss>>2]=_o,os=Em+1|0,NQ=(os|0)==15,!NQ;)Em=os}while(!1);for(xo=+A1[xe>>3],As=_6+92|0,Ro=e[As>>2]|0,Cr=_6+100|0,$s=e[Cr>>2]|0,hi=_6+108|0,$n=e[hi>>2]|0,Br=e[g0>>2]|0,ji=Br+2852|0,pr=e[ji>>2]|0,qi=~~xo,Qr=Br+28|0,yi=e[Qr>>2]|0,wi=(yi|0)>0,wi||(e[Qr>>2]=1),j7=(pr|0)==0,j7?(ki=n4(1,520)|0,e[ji>>2]=ki,vA=ki):vA=pr,s4(vA|0,25784,520)|0,e[vA>>2]=0,yr=Br+3460|0,Xi=e[yr>>2]|0,er=(Xi|0)==0,er||(wr=vA+500|0,e[wr>>2]=1,ui=Ro+(qi<<2)|0,Lo=e[ui>>2]|0,j$=vA+504|0,e[j$>>2]=Lo,ln=$s+(qi<<2)|0,cn=e[ln>>2]|0,Fh=vA+508|0,e[Fh>>2]=cn,X$=$n+(qi<<3)|0,Fo=+A1[X$>>3],Mh=vA+512|0,A1[Mh>>3]=Fo),jA=+A1[xe>>3],el=e[As>>2]|0,Th=e[Cr>>2]|0,Gh=e[hi>>2]|0,XA=e[g0>>2]|0,tl=XA+2856|0,il=e[tl>>2]|0,ea=~~jA,gn=XA+28|0,rl=e[gn>>2]|0,Uh=(rl|0)>1,Uh||(e[gn>>2]=2),Mo=(il|0)==0,Mo?(tr=n4(1,520)|0,e[tl>>2]=tr,SA=tr):SA=il,s4(SA|0,25784,520)|0,e[SA>>2]=0,Oh=XA+3460|0,qh=e[Oh>>2]|0,Hh=(qh|0)==0,Hh||(Yh=SA+500|0,e[Yh>>2]=1,Jh=el+(ea<<2)|0,Vh=e[Jh>>2]|0,Kh=SA+504|0,e[Kh>>2]=Vh,zh=Th+(ea<<2)|0,Zh=e[zh>>2]|0,nl=SA+508|0,e[nl>>2]=Zh,Wh=Gh+(ea<<3)|0,jh=+A1[Wh>>3],sl=SA+512|0,A1[sl>>3]=jh),Nt||(Xh=+A1[xe>>3],ta=_6+96|0,To=e[ta>>2]|0,ia=_6+104|0,eu=e[ia>>2]|0,tu=e[hi>>2]|0,ra=e[g0>>2]|0,Al=ra+2860|0,al=e[Al>>2]|0,na=~~Xh,$l=ra+28|0,No=e[$l>>2]|0,iu=(No|0)>2,iu||(e[$l>>2]=3),ru=(al|0)==0,ru?(ll=n4(1,520)|0,e[Al>>2]=ll,bA=ll):bA=al,s4(bA|0,25784,520)|0,e[bA>>2]=1,nu=ra+3460|0,su=e[nu>>2]|0,ou=(su|0)==0,ou||(Au=bA+500|0,e[Au>>2]=1,gl=To+(na<<2)|0,hl=e[gl>>2]|0,ul=bA+504|0,e[ul>>2]=hl,fl=eu+(na<<2)|0,dl=e[fl>>2]|0,hn=bA+508|0,e[hn>>2]=dl,au=tu+(na<<3)|0,Il=+A1[au>>3],El=bA+512|0,A1[El>>3]=Il),ml=+A1[xe>>3],lu=e[ta>>2]|0,cu=e[ia>>2]|0,gu=e[hi>>2]|0,sa=e[g0>>2]|0,Cl=sa+2864|0,Bl=e[Cl>>2]|0,cs=~~ml,pl=sa+28|0,hu=e[pl>>2]|0,Ql=(hu|0)>3,Ql||(e[pl>>2]=4),uu=(Bl|0)==0,uu?(yl=n4(1,520)|0,e[Cl>>2]=yl,DA=yl):DA=Bl,s4(DA|0,25784,520)|0,e[DA>>2]=1,fu=sa+3460|0,du=e[fu>>2]|0,wl=(du|0)==0,wl||(kl=DA+500|0,e[kl>>2]=1,Iu=lu+(cs<<2)|0,Go=e[Iu>>2]|0,Aa=DA+504|0,e[Aa>>2]=Go,vl=cu+(cs<<2)|0,Sl=e[vl>>2]|0,mu=DA+508|0,e[mu>>2]=Sl,Cu=gu+(cs<<3)|0,Bu=+A1[Cu>>3],pu=DA+512|0,A1[pu>>3]=Bu)),Qu=(j+3528|0)+(n<<5)|0,yu=+A1[Qu>>3],Uo=_6+32|0,_l=e[Uo>>2]|0,Po=_6+36|0,wu=e[Po>>2]|0,xl=_6+44|0,ku=e[xl>>2]|0,Km(t,yu,0,_l,wu,ku),Rl=j+3560|0,vu=+A1[Rl>>3],Su=e[Uo>>2]|0,Ll=e[Po>>2]|0,aa=_6+52|0,Du=e[aa>>2]|0,Km(t,vu,1,Su,Ll,Du),Nt||(Oo=j+3592|0,_u=+A1[Oo>>3],qo=e[Uo>>2]|0,xu=e[Po>>2]|0,$a=e[aa>>2]|0,Km(t,_u,2,qo,xu,$a),Ru=j+3624|0,Lu=+A1[Ru>>3],Fu=e[Uo>>2]|0,Fl=e[Po>>2]|0,Tu=_6+48|0,Nu=e[Tu>>2]|0,Km(t,Lu,3,Fu,Fl,Nu)),Gu=((j+3528|0)+(n<<5)|0)+24|0,Ml=+A1[Gu>>3],Tl=_6+80|0,ir=e[Tl>>2]|0,Nl=_6+84|0,Ho=e[Nl>>2]|0,la=~~Ml,ca=+(la|0),Gl=Ml-ca,fn=e[g0>>2]|0,Uu=fn+2852|0,Ul=e[Uu>>2]|0,Pu=Ho+(la<<3)|0,Ou=+A1[Pu>>3],qu=1-Gl,Hu=Ou*qu,Yo=la+1|0,ga=Ho+(Yo<<3)|0,Yu=+A1[ga>>3],Ju=Yu*Gl,Pl=Ju+Hu,ha=~~Pl,Ol=+(ha|0),ql=Pl-Ol,Vu=ql==0,Hl=(ha|0)>0,kB=Hl&Vu,a=kB?1:ql,Ku=kB<<31>>31,M=Ku+ha|0,ua=1-a,Zu=M+1|0,rh=0;P9=(ir+(M*160|0)|0)+(rh<<2)|0,Wu=e[P9>>2]|0,Yl=+(Wu|0),ju=Yl*ua,Xu=(ir+(Zu*160|0)|0)+(rh<<2)|0,fa=e[Xu>>2]|0,ef=+(fa|0),da=ef*a,Jl=da+ju,rf=Jl,Vl=(Ul+336|0)+(rh<<2)|0,s[Vl>>2]=rf,Kl=rh+1|0,xQ=(Kl|0)==40,!xQ;)rh=Kl;for(nf=j+3584|0,Ia=+A1[nf>>3],Ea=~~Ia,zl=+(Ea|0),Zl=Ia-zl,sf=fn+2856|0,Wl=e[sf>>2]|0,of=Ho+(Ea<<3)|0,jl=+A1[of>>3],Af=1-Zl,af=jl*Af,$f=Ea+1|0,lf=Ho+($f<<3)|0,Xl=+A1[lf>>3],ec=Xl*Zl,Ca=ec+af,Jo=~~Ca,cf=+(Jo|0),ic=Ca-cf,rc=ic==0,gf=(Jo|0)>0,vB=gf&rc,c=vB?1:ic,hf=vB<<31>>31,T=hf+Jo|0,uf=1-c,nc=T+1|0,nh=0;ff=(ir+(T*160|0)|0)+(nh<<2)|0,df=e[ff>>2]|0,If=+(df|0),mf=If*uf,Cf=(ir+(nc*160|0)|0)+(nh<<2)|0,sc=e[Cf>>2]|0,Bf=+(sc|0),oc=Bf*c,pf=oc+mf,dn=pf,Qf=(Wl+336|0)+(nh<<2)|0,s[Qf>>2]=dn,Ac=nh+1|0,RQ=(Ac|0)==40,!RQ;)nh=Ac;if(!Nt){for(yf=j+3616|0,Ba=+A1[yf>>3],wf=_6+88|0,Vo=e[wf>>2]|0,pa=~~Ba,kf=+(pa|0),Qa=Ba-kf,$c=fn+2860|0,vf=e[$c>>2]|0,Sf=Vo+(pa<<3)|0,bf=+A1[Sf>>3],_f=1-Qa,lc=bf*_f,xf=pa+1|0,Rf=Vo+(xf<<3)|0,Lf=+A1[Rf>>3],Ko=Lf*Qa,hs=Ko+lc,ya=~~hs,Ff=+(ya|0),wa=hs-Ff,Tf=wa==0,Nf=(ya|0)>0,SB=Nf&Tf,u=SB?1:wa,cc=SB<<31>>31,N=cc+ya|0,Gf=1-u,Uf=N+1|0,sh=0;Pf=(ir+(N*160|0)|0)+(sh<<2)|0,Of=e[Pf>>2]|0,qf=+(Of|0),zo=qf*Gf,Hf=(ir+(Uf*160|0)|0)+(sh<<2)|0,gc=e[Hf>>2]|0,Jf=+(gc|0),Vf=Jf*u,Kf=Vf+zo,zf=Kf,fi=(vf+336|0)+(sh<<2)|0,s[fi>>2]=zf,hc=sh+1|0,LQ=(hc|0)==40,!LQ;)sh=hc;for(di=j+3648|0,uc=+A1[di>>3],ka=~~uc,X7=+(ka|0),us=uc-X7,Wf=fn+2864|0,jf=e[Wf>>2]|0,Xf=Vo+(ka<<3)|0,ed=+A1[Xf>>3],td=1-us,fc=ed*td,id=ka+1|0,rd=Vo+(id<<3)|0,nd=+A1[rd>>3],sd=nd*us,fs=sd+fc,va=~~fs,od=+(va|0),Ic=fs-od,Ad=Ic==0,ad=(va|0)>0,bB=ad&Ad,E=bB?1:Ic,Zo=bB<<31>>31,G=Zo+va|0,$d=1-E,Ec=G+1|0,oh=0;mc=(ir+(G*160|0)|0)+(oh<<2)|0,cd=e[mc>>2]|0,gd=+(cd|0),In=gd*$d,hd=(ir+(Ec*160|0)|0)+(oh<<2)|0,ud=e[hd>>2]|0,En=+(ud|0),fd=En*E,Cc=fd+In,Id=Cc,ds=(jf+336|0)+(oh<<2)|0,s[ds>>2]=Id,Bc=oh+1|0,FQ=(Bc|0)==40,!FQ;)oh=Bc}for(Ed=((j+3528|0)+(n<<5)|0)+8|0,pc=+A1[Ed>>3],md=_6+40|0,rr=e[md>>2]|0,Sa=~~pc,Cd=+(Sa|0),Qc=pc-Cd,Bd=rr+(Sa<<2)|0,pd=e[Bd>>2]|0,wc=+(pd|0),Qd=1-Qc,yd=wc*Qd,wd=Sa+1|0,kc=rr+(wd<<2)|0,kd=e[kc>>2]|0,Is=+(kd|0),vd=Is*Qc,Sd=vd+yd,bd=Sd,ba=Ul+32|0,s[ba>>2]=bd,Dd=j+3568|0,Da=+A1[Dd>>3],_a=~~Da,_d=+(_a|0),vc=Da-_d,Sc=rr+(_a<<2)|0,xd=e[Sc>>2]|0,_c=+(xd|0),Rd=1-vc,xc=_c*Rd,Rc=_a+1|0,Ld=rr+(Rc<<2)|0,Fd=e[Ld>>2]|0,Lc=+(Fd|0),Fc=Lc*vc,Md=Fc+xc,Mc=Md,Td=Wl+32|0,s[Td>>2]=Mc,Nt||(Nd=j+3600|0,Nc=+A1[Nd>>3],xa=~~Nc,Gc=+(xa|0),Uc=Nc-Gc,Pc=fn+2860|0,Oc=e[Pc>>2]|0,Gd=rr+(xa<<2)|0,Ud=e[Gd>>2]|0,Od=+(Ud|0),qd=1-Uc,Hd=Od*qd,Yd=xa+1|0,Jd=rr+(Yd<<2)|0,qc=e[Jd>>2]|0,Ra=+(qc|0),Vd=Ra*Uc,Kd=Vd+Hd,zd=Kd,Yc=Oc+32|0,s[Yc>>2]=zd,Zd=j+3632|0,Jc=+A1[Zd>>3],La=~~Jc,Wo=+(La|0),Vc=Jc-Wo,Wd=fn+2864|0,jd=e[Wd>>2]|0,Xd=rr+(La<<2)|0,eI=e[Xd>>2]|0,jo=+(eI|0),tI=1-Vc,iI=jo*tI,rI=La+1|0,nI=rr+(rI<<2)|0,sI=e[nI>>2]|0,oI=+(sI|0),AI=oI*Vc,aI=AI+iI,zc=aI,lI=jd+32|0,s[lI>>2]=zc),cI=((j+3528|0)+(n<<5)|0)+16|0,gI=+A1[cI>>3],Xo=_6+76|0,Zc=e[Xo>>2]|0,hI=_6+60|0,uI=e[hI>>2]|0,Cn=_6+56|0,Wc=e[Cn>>2]|0,bl?Xc=0:(jc=j+3408|0,fI=+A1[jc>>3],Xc=fI),zm(t,gI,0,Zc,uI,Wc,Xc),dI=j+3576|0,eg=+A1[dI>>3],tg=e[Xo>>2]|0,II=_6+64|0,EI=e[II>>2]|0,mI=e[Cn>>2]|0,zm(t,eg,1,tg,EI,mI,0),Nt?(Es=e[g0>>2]|0,OI=Es+2852|0,hg=e[OI>>2]|0,qI=Es+3496|0,Na=+A1[qI>>3],ug=Na,HI=hg+4|0,s[HI>>2]=ug,JI=Es+3504|0,VI=+A1[JI>>3],fg=VI,KI=hg+8|0,s[KI>>2]=fg,zI=Es+2856|0,dg=e[zI>>2]|0,nA=dg+4|0,s[nA>>2]=ug,ZI=dg+8|0,s[ZI>>2]=fg,nr=Es):(CI=j+3608|0,BI=+A1[CI>>3],Ma=e[Xo>>2]|0,pI=_6+68|0,QI=e[pI>>2]|0,yI=e[Cn>>2]|0,zm(t,BI,2,Ma,QI,yI,0),wI=j+3640|0,ig=+A1[wI>>3],kI=e[Xo>>2]|0,rg=_6+72|0,vI=e[rg>>2]|0,SI=e[Cn>>2]|0,zm(t,ig,3,kI,vI,SI,0),Sr=e[g0>>2]|0,sg=Sr+2852|0,og=e[sg>>2]|0,bI=Sr+3496|0,Ag=+A1[bI>>3],tA=Ag,DI=og+4|0,s[DI>>2]=tA,_I=Sr+3504|0,xI=+A1[_I>>3],iA=xI,RI=og+8|0,s[RI>>2]=iA,LI=Sr+2856|0,$g=e[LI>>2]|0,FI=$g+4|0,s[FI>>2]=tA,MI=$g+8|0,s[MI>>2]=iA,Ta=Sr+2860|0,rA=e[Ta>>2]|0,TI=rA+4|0,s[TI>>2]=tA,NI=rA+8|0,s[NI>>2]=iA,GI=Sr+2864|0,gg=e[GI>>2]|0,UI=gg+4|0,s[UI>>2]=tA,PI=gg+8|0,s[PI>>2]=iA,nr=Sr),WI=+A1[xe>>3],jI=_6+152|0,Ig=e[jI>>2]|0,Eg=~~WI,XI=Ig+(Eg<<3)|0,mg=e[XI>>2]|0,Cg=(Ig+(Eg<<3)|0)+4|0,vi=e[Cg>>2]|0,Bg=e[nr>>2]|0,eE=nr+4|0,tE=e[eE>>2]|0,rE=(Bg|0)==(tE|0),A=rE?1:2,Ga=nr+8|0,sA=nr+12|0,pg=t+8|0,Qg=t+4|0,Ei=0;;){if(nE=n4(1,3208)|0,oA=(nr+544|0)+(Ei<<2)|0,e[oA>>2]=nE,Cs=n4(1,16)|0,sE=(nr+32|0)+(Ei<<2)|0,e[sE>>2]=Cs,AA=26304+(Ei<<4)|0,e[Cs>>2]=e[AA>>2]|0,e[Cs+4>>2]=e[AA+4>>2]|0,e[Cs+8>>2]=e[AA+8>>2]|0,e[Cs+12>>2]=e[AA+12>>2]|0,oE=e[Ga>>2]|0,Pa=(Ei|0)<(oE|0),Pa||(AE=Ei+1|0,e[Ga>>2]=AE),aE=(nr+288|0)+(Ei<<2)|0,e[aE>>2]=0,yg=e[oA>>2]|0,aA=mg+(Ei*3208|0)|0,s4(yg|0,aA|0,3208)|0,wg=e[sA>>2]|0,$E=(Ei|0)<(wg|0),$E||(lE=Ei+1|0,e[sA>>2]=lE),cE=e[aA>>2]|0,kg=(cE|0)>0,kg)for(nC=0;;){hE=((mg+(Ei*3208|0)|0)+1092|0)+(nC<<2)|0,Wt=e[hE>>2]|0,y4=e[g0>>2]|0,ei=S9(2840)|0,uE=(y4+1568|0)+(Wt<<2)|0,e[uE>>2]=ei,vg=(vi+(Wt<<5)|0)+12|0,Sg=e[vg>>2]|0,s4(ei|0,Sg|0,2840)|0,Oa=y4+20|0,fE=e[Oa>>2]|0,Bs=(fE|0)>(Wt|0),Bs||(dE=Wt+1|0,e[Oa>>2]=dE),IE=(vi+(Wt<<5)|0)+8|0,bg=e[IE>>2]|0,qa=ei+8|0,e[qa>>2]=bg,EE=vi+(Wt<<5)|0,Dg=e[EE>>2]|0,_g=(y4+1312|0)+(Wt<<2)|0,e[_g>>2]=Dg,xg=y4+3420|0,Ha=e[xg>>2]|0,Rg=(Ha|0)==0,ps=ei+12|0,Ja=e[ps>>2]|0,Lg=(Ja|0)>0;do if(Rg){if(Lg)for(Fg=(vi+(Wt<<5)|0)+24|0,$A=e[Fg>>2]|0,BE=ei+24|0,kA=0;;)if(Ar=BE+(kA<<2)|0,Qn=$A+(kA<<4)|0,_7=e[Qn>>2]|0,x7=(_7|0)==0,x7||(R7=e[Ar>>2]|0,uA=R7|1,e[Ar>>2]=uA),fA=($A+(kA<<4)|0)+4|0,Jg=e[fA>>2]|0,Vg=(Jg|0)==0,Vg||(k2=e[Ar>>2]|0,m5=k2|2,e[Ar>>2]=m5),n5=($A+(kA<<4)|0)+8|0,x2=e[n5>>2]|0,_2=(x2|0)==0,_2||(B2=e[Ar>>2]|0,C5=B2|4,e[Ar>>2]=C5),d5=($A+(kA<<4)|0)+12|0,D5=e[d5>>2]|0,G5=(D5|0)==0,G5||(_5=e[Ar>>2]|0,q2=_5|8,e[Ar>>2]=q2),I5=kA+1|0,A5=e[ps>>2]|0,c5=(I5|0)<(A5|0),c5)kA=I5;else{CA=A5;break}else CA=Ja;dA=(vi+(Wt<<5)|0)+16|0,t$=e[dA>>2]|0,L7=y4+24|0,xr=e[L7>>2]|0,i$=(xr|0)>0,HE=t$;e:do if(i$)for(Im=0;;){if(r$=(y4+1824|0)+(Im<<2)|0,YE=e[r$>>2]|0,n$=(YE|0)==(t$|0),n$){x=Im;break e}if(Kg=Im+1|0,EA=(Kg|0)<(xr|0),EA)Im=Kg;else{t4=116;break}}else t4=116;while(!1);if((t4|0)==116&&(t4=0,JE=xr+1|0,e[L7>>2]=JE,x=xr),VE=ei+20|0,e[VE>>2]=x,KE=(y4+1824|0)+(x<<2)|0,e[KE>>2]=HE,yn=(CA|0)>0,!yn)break;for(Ke=(vi+(Wt<<5)|0)+24|0,v4=ei+280|0,Mr=0,d$=0;;){if(zg=e[Ke>>2]|0,zE=zg+(d$<<4)|0,s$=e[zE>>2]|0,Zg=(s$|0)==0,ZE=s$,Zg)ks=zg,om=Mr;else{BA=e[L7>>2]|0,jE=(BA|0)>0;e:do if(jE)for(gm=0;;){if(XE=(y4+1824|0)+(gm<<2)|0,em=e[XE>>2]|0,tm=(em|0)==(s$|0),tm){R=gm;break e}if(Wg=gm+1|0,im=(Wg|0)<(BA|0),im)gm=Wg;else{t4=123;break}}else t4=123;while(!1);(t4|0)==123&&(t4=0,rm=BA+1|0,e[L7>>2]=rm,R=BA),nm=Mr+1|0,ti=v4+(Mr<<2)|0,e[ti>>2]=R,wn=(y4+1824|0)+(R<<2)|0,e[wn>>2]=ZE,n0=e[Ke>>2]|0,ks=n0,om=nm}if(o$=(ks+(d$<<4)|0)+4|0,vs=e[o$>>2]|0,jt=(vs|0)==0,Ss=vs,jt)E2=ks,Y4=om;else{V1=e[L7>>2]|0,O1=(V1|0)>0;e:do if(O1)for($m=0;;){if(q1=(y4+1824|0)+($m<<2)|0,Y1=e[q1>>2]|0,j1=(Y1|0)==(vs|0),j1){b=$m;break e}if(n2=$m+1|0,W1=(n2|0)<(V1|0),W1)$m=n2;else{t4=147;break}}else t4=147;while(!1);(t4|0)==147&&(t4=0,P1=V1+1|0,e[L7>>2]=P1,b=V1),c2=om+1|0,z1=v4+(om<<2)|0,e[z1>>2]=b,u2=(y4+1824|0)+(b<<2)|0,e[u2>>2]=Ss,i0=e[Ke>>2]|0,E2=i0,Y4=c2}if(o2=(E2+(d$<<4)|0)+8|0,K1=e[o2>>2]|0,h2=(K1|0)==0,$2=K1,h2)D2=E2,h$=Y4;else{i2=e[L7>>2]|0,l2=(i2|0)>0;e:do if(l2)for(lm=0;;){if(r2=(y4+1824|0)+(lm<<2)|0,a2=e[r2>>2]|0,X1=(a2|0)==(K1|0),X1){Q=lm;break e}if(s2=lm+1|0,f2=(s2|0)<(i2|0),f2)lm=s2;else{t4=153;break}}else t4=153;while(!1);(t4|0)==153&&(t4=0,y2=i2+1|0,e[L7>>2]=y2,Q=i2),v2=Y4+1|0,w2=v4+(Y4<<2)|0,e[w2>>2]=Q,C2=(y4+1824|0)+(Q<<2)|0,e[C2>>2]=$2,V=e[Ke>>2]|0,D2=V,h$=v2}if(F2=(D2+(d$<<4)|0)+12|0,N2=e[F2>>2]|0,d2=(N2|0)==0,K2=N2,d2)CB=h$;else{G2=e[L7>>2]|0,M2=(G2|0)>0;e:do if(M2)for(cm=0;;){if(P2=(y4+1824|0)+(cm<<2)|0,z2=e[P2>>2]|0,o5=(z2|0)==(N2|0),o5){_=cm;break e}if(O2=cm+1|0,T1=(O2|0)<(G2|0),T1)cm=O2;else{t4=159;break}}else t4=159;while(!1);(t4|0)==159&&(t4=0,X2=G2+1|0,e[L7>>2]=X2,_=G2),R5=h$+1|0,e5=v4+(h$<<2)|0,e[e5>>2]=_,b5=(y4+1824|0)+(_<<2)|0,e[b5>>2]=K2,CB=R5}if(v5=d$+1|0,P5=e[ps>>2]|0,l5=(v5|0)<(P5|0),l5)Mr=CB,d$=v5;else break}}else{if(Lg)for(mE=(vi+(Wt<<5)|0)+28|0,Bn=e[mE>>2]|0,CE=ei+24|0,wA=0;;)if(Si=CE+(wA<<2)|0,pE=Bn+(wA<<4)|0,QE=e[pE>>2]|0,yE=(QE|0)==0,yE||(wE=e[Si>>2]|0,kE=wE|1,e[Si>>2]=kE),vE=(Bn+(wA<<4)|0)+4|0,bi=e[vE>>2]|0,SE=(bi|0)==0,SE||(o6=e[Si>>2]|0,e3=o6|2,e[Si>>2]=e3),A3=(Bn+(wA<<4)|0)+8|0,L3=e[A3>>2]|0,u6=(L3|0)==0,u6||(Q3=e[Si>>2]|0,y3=Q3|4,e[Si>>2]=y3),r6=(Bn+(wA<<4)|0)+12|0,j3=e[r6>>2]|0,O3=(j3|0)==0,O3||(V5=e[Si>>2]|0,S3=V5|8,e[Si>>2]=S3),g3=wA+1|0,q3=e[ps>>2]|0,l6=(g3|0)<(q3|0),l6)wA=g3;else{Hg=q3;break}else Hg=Ja;bE=(vi+(Wt<<5)|0)+20|0,Tg=e[bE>>2]|0,Ii=y4+24|0,lA=e[Ii>>2]|0,Va=(lA|0)>0,Ng=Tg;e:do if(Va)for(am=0;;){if(Gg=(y4+1824|0)+(am<<2)|0,_E=e[Gg>>2]|0,Ug=(_E|0)==(Tg|0),Ug){B=am;break e}if(Pg=am+1|0,xE=(Pg|0)<(lA|0),xE)am=Pg;else{t4=100;break}}else t4=100;while(!1);if((t4|0)==100&&(t4=0,qg=lA+1|0,e[Ii>>2]=qg,B=lA),LE=ei+20|0,e[LE>>2]=B,FE=(y4+1824|0)+(B<<2)|0,e[FE>>2]=Ng,ME=(Hg|0)>0,!ME)break;for(Qs=(vi+(Wt<<5)|0)+28|0,cA=ei+280|0,Rs=0,u$=0;;){if(gA=e[Qs>>2]|0,TE=gA+(u$<<4)|0,Ka=e[TE>>2]|0,GE=(Ka|0)==0,Yg=Ka,GE)ws=gA,Sn=Rs;else{ys=e[Ii>>2]|0,UE=(ys|0)>0;e:do if(UE)for(dm=0;;){if(PE=(y4+1824|0)+(dm<<2)|0,za=e[PE>>2]|0,Za=(za|0)==(Ka|0),Za){y=dm;break e}if(hA=dm+1|0,Wa=(hA|0)<(ys|0),Wa)dm=hA;else{t4=107;break}}else t4=107;while(!1);(t4|0)==107&&(t4=0,ja=ys+1|0,e[Ii>>2]=ja,y=ys),Dr=Rs+1|0,_r=cA+(Rs<<2)|0,e[_r>>2]=y,Xa=(y4+1824|0)+(y<<2)|0,e[Xa>>2]=Yg,q=e[Qs>>2]|0,ws=q,Sn=Dr}if(e$=(ws+(u$<<4)|0)+4|0,or=e[e$>>2]|0,pn=(or|0)==0,OE=or,pn)x5=ws,kn=Sn;else{B5=e[Ii>>2]|0,M1=(B5|0)>0;e:do if(M1)for(hm=0;;){if(g5=(y4+1824|0)+(hm<<2)|0,a5=e[g5>>2]|0,W2=(a5|0)==(or|0),W2){v=hm;break e}if(g2=hm+1|0,p5=(g2|0)<(B5|0),p5)hm=g2;else{t4=171;break}}else t4=171;while(!1);(t4|0)==171&&(t4=0,t5=B5+1|0,e[Ii>>2]=t5,v=B5),s5=Sn+1|0,h5=cA+(Sn<<2)|0,e[h5>>2]=v,J2=(y4+1824|0)+(v<<2)|0,e[J2>>2]=OE,K=e[Qs>>2]|0,x5=K,kn=s5}if(u5=(x5+(u$<<4)|0)+8|0,j2=e[u5>>2]|0,$5=(j2|0)==0,R2=j2,$5)u3=x5,vn=kn;else{Q5=e[Ii>>2]|0,q5=(Q5|0)>0;e:do if(q5)for(um=0;;){if(j5=(y4+1824|0)+(um<<2)|0,E5=e[j5>>2]|0,f3=(E5|0)==(j2|0),f3){S=um;break e}if(h3=um+1|0,X5=(h3|0)<(Q5|0),X5)um=h3;else{t4=177;break}}else t4=177;while(!1);(t4|0)==177&&(t4=0,n3=Q5+1|0,e[Ii>>2]=n3,S=Q5),m3=kn+1|0,F5=cA+(kn<<2)|0,e[F5>>2]=S,J5=(y4+1824|0)+(S<<2)|0,e[J5>>2]=R2,a0=e[Qs>>2]|0,u3=a0,vn=m3}if(k3=(u3+(u$<<4)|0)+12|0,p3=e[k3>>2]|0,z3=(p3|0)==0,G3=p3,z3)F9=vn;else{w3=e[Ii>>2]|0,Z5=(w3|0)>0;e:do if(Z5)for(fm=0;;){if(i6=(y4+1824|0)+(fm<<2)|0,R3=e[i6>>2]|0,U3=(R3|0)==(p3|0),U3){w=fm;break e}if(a3=fm+1|0,l3=(a3|0)<(w3|0),l3)fm=a3;else{t4=183;break}}else t4=183;while(!1);(t4|0)==183&&(t4=0,c3=w3+1|0,e[Ii>>2]=c3,w=w3),C3=vn+1|0,H5=cA+(vn<<2)|0,e[H5>>2]=w,O5=(y4+1824|0)+(w<<2)|0,e[O5>>2]=G3,F9=C3}if(k5=u$+1|0,P3=e[ps>>2]|0,M5=(k5|0)<(P3|0),M5)Rs=F9,u$=k5;else break}}while(!1);jg=y4+3480|0,Xg=+A1[jg>>3],QA=Xg*1e3,bs=(y4+1056|0)+(Ei<<2)|0,_s=e[bs>>2]|0,sm=e[pg>>2]|0,xs=+(sm|0),ar=xs*.5,eh=y4+(Ei<<2)|0,Rr=e[eh>>2]|0,ii=Rr>>1,A$=QA>ar,pB=A$?ar:QA,a$=pB/ar,Yi=+(ii|0),l$=Yi*a$,c$=~~l$,Lr=_s+1116|0,e[Lr>>2]=c$,$6=(vi+(Wt<<5)|0)+4|0,yA=e[$6>>2]|0;do if((yA|0)==2)ih=250;else if((yA|0)==1){if(Fr=e[xg>>2]|0,th=(Fr|0)==0,ve=y4+2996|0,g$=y4+2968|0,YQ=th?g$:ve,HQ=e[YQ>>2]|0,qQ=+(HQ|0),QB=qQ*1e3,Q8=QB>ar,!Q8){ih=QB;break}ih=ar}else ih=pB;while(!1);d0=e[_g>>2]|0,w0=(d0|0)==2;do if(w0){if(C0=y4+12|0,k0=e[C0>>2]|0,f0=(k0|0)>0,f0)for(rC=0;;){if(B0=(y4+544|0)+(rC<<2)|0,p0=e[B0>>2]|0,I0=e[p0>>2]|0,S0=(I0|0)>0,S0)for(mm=0;;){K0=(p0+1092|0)+(mm<<2)|0,Q0=e[K0>>2]|0,F0=(Q0|0)==(Wt|0);do if(F0){if(M0=e[Qg>>2]|0,N0=(M0|0)>0,N0)BB=0,oC=0;else{Am=0;break}for(;;)if(U0=(p0+4|0)+(oC<<2)|0,y0=e[U0>>2]|0,Y0=(y0|0)==(mm|0),L0=Y0&1,O=L0+BB|0,D0=oC+1|0,_Q=(D0|0)==(M0|0),_Q){Am=O;break}else BB=O,oC=D0}else Am=0;while(!1);if(T0=mm+1|0,J0=(T0|0)<(I0|0),P0=(Am|0)==0,z0=J0&P0,z0)mm=T0;else{eC=Am;break}}else eC=0;if(G0=rC+1|0,O0=(G0|0)<(k0|0),r1=(eC|0)==0,H0=O0&r1,H0)rC=G0;else{Xm=eC;break}}else Xm=0;if(e1=ih/ar,b0=+(Xm|0),i1=b0*Yi,$1=i1*e1,f1=e[qa>>2]|0,g1=+(f1|0),l1=$1/g1,s1=l1+.9,a1=~~s1,n1=r5(a1,f1)|0,o1=ei+4|0,e[o1>>2]=n1,Z0=r5(Xm,ii)|0,I1=(n1|0)>(Z0|0),!I1){U=o1,Z1=n1,b1=f1;break}m1=(Z0|0)%(f1|0)&-1,d1=Z0-m1|0,e[o1>>2]=d1,U=o1,Z1=d1,b1=f1}else{if(E1=ih/ar,B1=E1*Yi,p1=e[qa>>2]|0,Q1=+(p1|0),_1=B1/Q1,x1=_1+.9,w1=~~x1,S1=r5(w1,p1)|0,F1=ei+4|0,e[F1>>2]=S1,G1=(S1|0)>(ii|0),!G1){U=F1,Z1=S1,b1=p1;break}k1=(ii|0)%(p1|0)&-1,U1=ii-k1|0,e[F1>>2]=U1,U=F1,Z1=U1,b1=p1}while(!1);if(N1=(Z1|0)==0,N1&&(e[U>>2]=b1),d3=nC+1|0,v6=e[aA>>2]|0,S6=(d3|0)<(v6|0),S6)nC=d3;else break}if(B6=Ei+1|0,X3=(B6|0)<(A|0),X3)Ei=B6;else break}return c6=j+3428|0,p6=e[c6>>2]|0,x6=(p6|0)>0,x6?(Y6=t+16|0,e[Y6>>2]=p6):(C6=e[g0>>2]|0,b3=C6+3396|0,t6=e[b3>>2]|0,f6=C6+3400|0,H3=+A1[f6>>3],D3=~~H3,Y3=+(D3|0),Z3=H3-Y3,b6=t6+4|0,A6=e[b6>>2]|0,t3=(A6|0)==0,t3?p=-1:(O6=e[Qg>>2]|0,d6=A6+(D3<<3)|0,_3=+A1[d6>>3],N6=1-Z3,n6=_3*N6,Q6=D3+1|0,R6=A6+(Q6<<3)|0,K6=+A1[R6>>3],I6=K6*Z3,J6=I6+n6,F3=+(O6|0),G6=J6*F3,JQ=~~G6,p=JQ),e9=t+16|0,e[e9>>2]=p),s9=j+3424|0,L6=e[s9>>2]|0,U6=t+20|0,e[U6>>2]=L6,D6=j+3440|0,z6=e[D6>>2]|0,y6=t+12|0,e[y6>>2]=z6,F6=(p6|0)==0,F6?s0=0:(M3=j+3444|0,t9=e[M3>>2]|0,A9=+(t9|0),X6=+(p6|0),u9=A9/X6,f9=~~u9,s0=f9),d9=t+24|0,e[d9>>2]=s0,a9=j+3420|0,$9=e[a9>>2]|0,T9=($9|0)==0,T9?(m=0,m|0):(E6=e[c6>>2]|0,i9=j+3360|0,e[i9>>2]=E6,N9=e[s9>>2]|0,I9=j+3364|0,e[I9>>2]=N9,E4=e[D6>>2]|0,o4=j+3368|0,e[o4>>2]=E4,h4=j+3444|0,G9=e[h4>>2]|0,z9=j+3372|0,e[z9>>2]=G9,b9=j+3448|0,E9=+A1[b9>>3],r9=j+3376|0,A1[r9>>3]=E9,m4=j+3432|0,S4=+A1[m4>>3],A4=j+3384|0,A1[A4>>3]=S4,m=0,m|0)}function sb(t,n,A,a){t=t|0,n=n|0,A=A|0,a=+a;var c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0;if(O=C,I=(A|0)<1,I)u=-131;else if(m=t+28|0,Q=e[m>>2]|0,_=a,R=_+1e-7,x=R,L=!(x>=1),E=L?x:.9998999834060669,M=Q+3416|0,s[M>>2]=E,T=E,N=Q+3400|0,p=ob(n,A,T,0,N)|0,B=Q+3396|0,e[B>>2]=p,v=(p|0)==0,v)u=-130;else return Ab(t,n,A),S=Q+3420|0,e[S>>2]=0,w=Q+3464|0,e[w>>2]=1,y=nb(t)|0,b=(y|0)==0,b?(c=0,c|0):(lB(t),c=y,c|0);return lB(t),c=u,c|0}function Km(t,n,A,a,c,u){t=t|0,n=+n,A=A|0,a=a|0,c=c|0,u=u|0;var E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0;for(B1=C,E=~~n,I=+(E|0),R=n-I,J=t+28|0,i0=e[J>>2]|0,C0=(i0+2852|0)+(A<<2)|0,M0=e[C0>>2]|0,z0=a+(E*20|0)|0,g1=e[z0>>2]|0,h1=+(g1|0),m=1-R,p=h1*m,B=E+1|0,v=a+(B*20|0)|0,S=e[v>>2]|0,w=+(S|0),y=w*R,b=y+p,Q=b,_=M0+12|0,s[_>>2]=Q,x=(a+(E*20|0)|0)+4|0,L=e[x>>2]|0,M=+(L|0),T=M*m,N=(a+(B*20|0)|0)+4|0,G=e[N>>2]|0,O=+(G|0),z=O*R,Y=z+T,t0=Y,W=M0+16|0,s[W>>2]=t0,e0=(a+(E*20|0)|0)+8|0,q=e[e0>>2]|0,X=+(q|0),U=X*m,$0=(a+(B*20|0)|0)+8|0,Z=e[$0>>2]|0,K=+(Z|0),a0=K*R,n0=a0+U,r0=n0,V=M0+20|0,s[V>>2]=r0,h0=(a+(E*20|0)|0)+12|0,s0=+s[h0>>2],g0=s0,j=g0*m,c0=(a+(B*20|0)|0)+12|0,u0=+s[c0>>2],d0=u0,w0=d0*R,k0=w0+j,f0=k0,B0=M0+24|0,s[B0>>2]=f0,p0=(a+(E*20|0)|0)+16|0,I0=+s[p0>>2],S0=I0,K0=S0*m,_0=(a+(B*20|0)|0)+16|0,Q0=+s[_0>>2],F0=Q0,N0=F0*R,U0=N0+K0,y0=U0,Y0=M0+28|0,s[Y0>>2]=y0,L0=c+(E<<2)|0,D0=e[L0>>2]|0,T0=+(D0|0),V0=T0*m,J0=c+(B<<2)|0,P0=e[J0>>2]|0,G0=+(P0|0),O0=G0*R,r1=O0+V0,H0=r1,e1=M0+496|0,s[e1>>2]=H0,d1=0;b0=(u+(E*68|0)|0)+(d1<<2)|0,i1=e[b0>>2]|0,c1=+(i1|0),$1=c1*m,f1=(u+(B*68|0)|0)+(d1<<2)|0,l1=e[f1>>2]|0,s1=+(l1|0),a1=s1*R,n1=a1+$1,o1=n1,Z0=(M0+36|0)+(d1<<2)|0,s[Z0>>2]=o1,I1=d1+1|0,m1=(I1|0)==17,!m1;)d1=I1}function zm(t,n,A,a,c,u,E){t=t|0,n=+n,A=A|0,a=a|0,c=c|0,u=u|0,E=+E;var I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0;for(w2=C,w=~~n,y=+(w|0),$0=n-y,j=t+28|0,S0=e[j>>2]|0,D0=(S0+2852|0)+(A<<2)|0,b0=e[D0>>2]|0,Z0=a+(w<<2)|0,w1=e[Z0>>2]|0,O1=+(w1|0),b=1-$0,z=O1*b,Y=w+1|0,t0=a+(Y<<2)|0,J=e[t0>>2]|0,W=+(J|0),e0=W*$0,q=e0+z,X=q,U=b0+108|0,s[U>>2]=X,Z=u+(A*12|0)|0,K=e[Z>>2]|0,a0=b0+120|0,e[a0>>2]=K,n0=(u+(A*12|0)|0)+4|0,i0=e[n0>>2]|0,r0=b0+124|0,e[r0>>2]=i0,V=(u+(A*12|0)|0)+8|0,h0=e[V>>2]|0,s0=b0+128|0,e[s0>>2]=h0,i2=0;;)if(g0=(c+(w*204|0)|0)+(i2<<2)|0,c0=e[g0>>2]|0,u0=+(c0|0),d0=u0*b,w0=(c+(Y*204|0)|0)+(i2<<2)|0,C0=e[w0>>2]|0,k0=+(C0|0),f0=k0*$0,B0=f0+d0,p0=B0,I0=(b0+132|0)+(i2<<2)|0,s[I0>>2]=p0,K0=i2+1|0,K1=(K0|0)==17,K1){l2=0;break}else i2=K0;for(;;)if(x1=((c+(w*204|0)|0)+68|0)+(l2<<2)|0,S1=e[x1>>2]|0,R1=+(S1|0),F1=R1*b,G1=((c+(Y*204|0)|0)+68|0)+(l2<<2)|0,k1=e[G1>>2]|0,U1=+(k1|0),Z1=U1*$0,N1=Z1+F1,b1=N1,V1=(b0+200|0)+(l2<<2)|0,s[V1>>2]=b1,q1=l2+1|0,h2=(q1|0)==17,h2){r2=0;break}else l2=q1;for(;H1=((c+(w*204|0)|0)+136|0)+(r2<<2)|0,Y1=e[H1>>2]|0,j1=+(Y1|0),n2=j1*b,W1=((c+(Y*204|0)|0)+136|0)+(r2<<2)|0,P1=e[W1>>2]|0,c2=+(P1|0),z1=c2*$0,u2=z1+n2,Q=u2,_=(b0+268|0)+(r2<<2)|0,s[_>>2]=Q,R=r2+1|0,$2=(R|0)==17,!$2;)r2=R;for(x=b0+132|0,L=+s[x>>2],y0=L+6,M=b0+132|0,T=L,N=T+E,G=N,O=G>2]=y2,_0=1;I=(b0+132|0)+(_0<<2)|0,B=+s[I>>2],Q0=(b0+132|0)+(_0<<2)|0,F0=B,M0=F0+E,N0=M0,U0=N0>2]=a2,Y0=_0+1|0,o2=(Y0|0)==17,!o2;)_0=Y0;for(L0=b0+200|0,T0=+s[L0>>2],V0=T0+6,J0=b0+200|0,P0=T0,z0=P0+E,G0=z0,O0=G0>2]=s2,r1=1;m=(b0+200|0)+(r1<<2)|0,v=+s[m>>2],H0=(b0+200|0)+(r1<<2)|0,e1=v,i1=e1+E,c1=i1,$1=c1>2]=X1,f1=r1+1|0,E2=(f1|0)==17,!E2;)r1=f1;for(g1=b0+268|0,l1=+s[g1>>2],s1=l1+6,a1=b0+268|0,n1=l1,o1=n1+E,I1=o1,h1=I1>2]=e2,m1=1;p=(b0+268|0)+(m1<<2)|0,S=+s[p>>2],d1=(b0+268|0)+(m1<<2)|0,E1=S,B1=E1+E,p1=B1,Q1=p1>2]=f2,_1=m1+1|0,A2=(_1|0)==17,!A2;)m1=_1}function ob(t,n,A,a,c){t=t|0,n=n|0,A=+A,a=a|0,c=c|0;var u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0;Q1=C,w=(a|0)==0;e:do if(w){for(q=26336,Z0=0;;){if(e0=e[q>>2]|0,X=e0+12|0,U=e[X>>2]|0,$0=(U|0)==-1,K=(U|0)==(t|0),d1=$0|K,d1&&(a0=e0+16|0,n0=e[a0>>2]|0,i0=(n0|0)>(n|0),!i0&&(r0=e0+20|0,V=e[r0>>2]|0,h0=(V|0)<(n|0),!h0&&(s0=e[e0>>2]|0,g0=e0+8|0,j=e[g0>>2]|0,u0=+A1[j>>3],d0=u0>A,!d0&&(k0=j+(s0<<3)|0,f0=+A1[k0>>3],B0=f0>2]|0,K0=Z+12|0,T0=e[K0>>2]|0,i1=(T0|0)==-1,s1=(T0|0)==(t|0),E1=i1|s1,E1&&(a1=Z+16|0,b=e[a1>>2]|0,Q=(b|0)>(n|0),!Q&&(_=Z+20|0,R=e[_>>2]|0,x=(R|0)<(n|0),!x&&(L=e[Z>>2]|0,M=Z+4|0,T=e[M>>2]|0,N=+A1[T>>3],G=O>3],t0=O>Y,!t0))))){E=O,I=L,m=c0,p=T,l1=N;break e}if(o1=I1+1|0,J=26336+(o1<<2)|0,W=(o1|0)==17,W){u=0;break}else c0=J,I1=o1}return u|0}while(!1);p0=(I|0)>0;e:do if(p0)for(S0=l1,m1=0;;){if(I0=!(E>=S0),S=m1+1|0,!I0&&(_0=p+(S<<3)|0,Q0=+A1[_0>>3],F0=E>3],S0=v,m1=S}else h1=0;while(!1);return N0=(h1|0)==(I|0),N0?(U0=+(I|0),y0=U0+-.001,B1=y0):(Y0=p+(h1<<3)|0,L0=+A1[Y0>>3],D0=L0,V0=h1+1|0,J0=p+(V0<<3)|0,P0=+A1[J0>>3],z0=P0,G0=D0,O0=E-G0,r1=z0-D0,H0=r1,e1=O0/H0,b0=e1,c1=+(h1|0),$1=b0+c1,f1=$1,B1=f1),A1[c>>3]=B1,g1=e[m>>2]|0,u=g1,u|0}function Ab(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0;b0=C,I=t+28|0,m=e[I>>2]|0,x=m+3396|0,W=e[x>>2]|0,e[t>>2]=0,r0=t+4|0,e[r0>>2]=n,k0=t+8|0,e[k0>>2]=A,N0=m+3456|0,e[N0>>2]=1,G0=m+3460|0,e[G0>>2]=1,r1=m+3400|0,H0=+A1[r1>>3],p=~~H0,B=+(p|0),v=H0-B,S=m+3472|0,A1[S>>3]=H0,w=m+3488|0,y=e[w>>2]|0,b=(y|0)==0,b?(Q=W+120|0,_=e[Q>>2]|0,R=_+(p<<3)|0,L=+A1[R>>3],M=1-v,T=L*M,N=p+1|0,G=_+(N<<3)|0,O=+A1[G>>3],z=O*v,Y=z+T,t0=m+3480|0,A1[t0>>3]=Y,c=N,u=M):(a=1-v,E=p+1|0,c=E,u=a),J=W+112|0,e0=e[J>>2]|0,q=e0+(p<<2)|0,X=e[q>>2]|0,U=+(X|0),$0=U*u,Z=e0+(c<<2)|0,K=e[Z>>2]|0,a0=+(K|0),n0=a0*v,i0=n0+$0,V=m+3496|0,A1[V>>3]=i0,h0=W+116|0,s0=e[h0>>2]|0,g0=s0+(p<<2)|0,j=e[g0>>2]|0,c0=+(j|0),u0=c0*u,d0=s0+(c<<2)|0,w0=e[d0>>2]|0,C0=+(w0|0),f0=C0*v,B0=f0+u0,p0=m+3504|0,A1[p0>>3]=B0,I0=m+3512|0,A1[I0>>3]=-6,S0=m+3520|0,A1[S0>>3]=H0,K0=m+3528|0,A1[K0>>3]=H0,_0=m+3536|0,A1[_0>>3]=H0,Q0=m+3544|0,A1[Q0>>3]=H0,F0=m+3552|0,A1[F0>>3]=H0,M0=m+3560|0,A1[M0>>3]=H0,U0=m+3568|0,A1[U0>>3]=H0,y0=m+3576|0,A1[y0>>3]=H0,Y0=m+3584|0,A1[Y0>>3]=H0,L0=m+3592|0,A1[L0>>3]=H0,D0=m+3600|0,A1[D0>>3]=H0,T0=m+3608|0,A1[T0>>3]=H0,V0=m+3616|0,A1[V0>>3]=H0,J0=m+3624|0,A1[J0>>3]=H0,P0=m+3632|0,A1[P0>>3]=H0,z0=m+3640|0,A1[z0>>3]=H0,O0=m+3648|0,A1[O0>>3]=H0}function ab(t,n,A,a,c,u){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0,u=u|0;var E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0,T0=0,V0=0,J0=0,P0=0;if(P0=C,I=(c|0)!=0,m=I?a:0,x=I?u:0,W=n+(m<<2)|0,r0=e[W>>2]|0,k0=520336+(r0<<2)|0,S0=e[k0>>2]|0,K0=n+(x<<2)|0,_0=e[K0>>2]|0,Q0=520336+(_0<<2)|0,p=e[Q0>>2]|0,B=A+(c<<2)|0,v=e[B>>2]|0,S=A+(m<<2)|0,w=e[S>>2]|0,y=A+(x<<2)|0,b=e[y>>2]|0,Q=(v|0)/4&-1,_=(w|0)/4&-1,R=Q-_|0,L=(w|0)/2&-1,M=R+L|0,T=(v|0)/2&-1,N=T+Q|0,E=(b|0)/-4&-1,G=N+E|0,O=(b|0)/2&-1,z=G+O|0,Y=(R|0)>0,Y?(t0=Q-_|0,J=t0<<2,Ae(t|0,0,J|0)|0,M0=R):M0=0,e0=(M0|0)<(M|0),e0)for(q=Q+L|0,X=q-M0|0,U=X-_|0,N0=M0,Y0=0;a0=S0+(Y0<<2)|0,n0=+s[a0>>2],i0=t+(N0<<2)|0,V=+s[i0>>2],h0=V*n0,s[i0>>2]=h0,s0=N0+1|0,g0=Y0+1|0,F0=(g0|0)==(U|0),!F0;)N0=s0,Y0=g0;if($0=(b|0)>1,$0){for(Z=G+1|0,K=(z|0)>(Z|0),y0=G,D0=O;L0=D0+-1|0,d0=p+(L0<<2)|0,w0=+s[d0>>2],C0=t+(y0<<2)|0,f0=+s[C0>>2],B0=f0*w0,s[C0>>2]=B0,p0=y0+1|0,I0=(p0|0)<(z|0),I0;)y0=p0,D0=L0;V0=K?z:Z,U0=V0}else U0=G;j=(v|0)>(U0|0),j&&(T0=t+(U0<<2)|0,c0=v-U0|0,u0=c0<<2,Ae(T0|0,0,u0|0)|0)}function $b(t,n,A){t=t|0,n=+n,A=+A;var a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0;if(V=C,C=C+64|0,i0=V+32|0,n0=V,a=S9(688)|0,c=a+408|0,pS(c),b=~~n,sb(c,t,b,A)|0,z=a+440|0,mS(z),CS(z,553008,553016),X=a+456|0,Wv(X,c)|0,U=a+568|0,zv(X,U)|0,$0=Jp(0)|0,db($0),Z=Ib()|0,Uv(a,Z)|0,K=a+680|0,e[K>>2]=0,a0=a+684|0,e[a0>>2]=0,u=a+360|0,QS(X,z,u,i0,n0)|0,Jm(a,u)|0,Jm(a,i0)|0,Jm(a,n0)|0,E=a+392|0,I=Kp(a,E)|0,m=(I|0)==0,m)return C=V,a|0;for(p=a+396|0,B=a+404|0,v=a+400|0;S=e[a0>>2]|0,w=e[p>>2]|0,y=w+S|0,Q=e[B>>2]|0,_=y+Q|0,R=(_|0)==0,R||(M=e[K>>2]|0,T=Oi(M,_)|0,e[K>>2]=T,N=e[a0>>2]|0,G=T+N|0,O=e[E>>2]|0,Y=e[p>>2]|0,s4(G|0,O|0,Y|0)|0,t0=Y+N|0,e[a0>>2]=t0,J=T+t0|0,W=e[v>>2]|0,e0=e[B>>2]|0,s4(J|0,W|0,e0|0)|0,q=e0+t0|0,e[a0>>2]=q),x=Kp(a,E)|0,L=(x|0)==0,!L;);return C=V,a|0}function lb(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0;m=C,Pv(t)|0,n=t+568|0,Zv(n)|0,A=t+456|0,jp(A),a=t+440|0,BS(a),c=t+408|0,lB(c),u=t+680|0,E=e[u>>2]|0,I2(E),I2(t)}function cb(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0;return u=C,A=t+456|0,a=Xp(A,n)|0,a|0}function gb(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0;if(V=C,A=t+456|0,jv(A,n)|0,a=t+568|0,y=eQ(A,a)|0,O=(y|0)==1,!!O)for($0=t+360|0,Z=t+392|0,K=t+684|0,a0=t+396|0,n0=t+404|0,i0=t+680|0,c=t+392|0,u=t+400|0;;){if(Yv(a,0)|0,Kv(a)|0,m=Wp(A,$0)|0,p=(m|0)==0,!p)for(;;){if(Jm(t,$0)|0,S=zp(t,Z)|0,w=(S|0)==0,!w)for(;b=e[K>>2]|0,Q=e[a0>>2]|0,_=Q+b|0,R=e[n0>>2]|0,x=_+R|0,L=(x|0)==0,L||(N=e[i0>>2]|0,G=Oi(N,x)|0,e[i0>>2]=G,z=e[K>>2]|0,Y=G+z|0,t0=e[c>>2]|0,J=e[a0>>2]|0,s4(Y|0,t0|0,J|0)|0,W=J+z|0,e[K>>2]=W,e0=G+W|0,q=e[u>>2]|0,X=e[n0>>2]|0,s4(e0|0,q|0,X|0)|0,U=X+W|0,e[K>>2]=U),M=zp(t,Z)|0,T=(M|0)==0,!T;);if(B=Wp(A,$0)|0,v=(B|0)==0,v)break}if(E=eQ(A,a)|0,I=(E|0)==1,!I)break}}function hb(t){t=t|0;var n=0,A=0,a=0,c=0;return c=C,n=t+684|0,A=e[n>>2]|0,A|0}function ub(t){t=t|0;var n=0,A=0,a=0,c=0,u=0;return u=C,n=t+684|0,e[n>>2]=0,A=t+680|0,a=e[A>>2]|0,a|0}function Zm(t,n){t=+t,n=n|0;var A=0,a=0,c=0;return c=C,A=+fb(t,n),+A}function Lh(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,R5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,R2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,k3=0,u3=0,p3=0,z3=0,G3=0,K5=0,w3=0,Z5=0,i6=0,R3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,L3=0;if(L3=C,C=C+688|0,e3=L3+424|0,Y5=L3+192|0,Z5=L3,X=r5(A,n)|0,U=(X|0)==0,U){C=L3;return}for(J=X-A|0,H1=Z5+4|0,e[H1>>2]=A,e[Z5>>2]=A,e2=A,f5=A,k3=2;A2=e2+A|0,M2=A2+f5|0,L5=Z5+(k3<<2)|0,e[L5>>2]=M2,S5=M2>>>0>>0,i5=k3+1|0,S5;)y2=f5,f5=M2,k3=i5,e2=y2;if($0=0-A|0,j=t+J|0,S0=(J|0)>0,S0)for(D0=(A|0)==0,b0=j,w1=1,z2=0,F5=t,U5=1;;){Z0=w1&3,V1=(Z0|0)==3;do if(V1){e[Y5>>2]=F5,O1=(U5|0)>1;e:do if(O1){for(B=U5,Q=F5,P1=F5,K5=1;;){if(q1=Q+$0|0,Y1=B+-2|0,j1=Z5+(Y1<<2)|0,n2=e[j1>>2]|0,M5=n2+A|0,W=0-M5|0,W1=Q+W|0,c2=f7[a&15](P1,W1)|0,z1=(c2|0)>-1,z1&&(u2=f7[a&15](P1,q1)|0,o2=(u2|0)>-1,o2)){u3=K5;break}if(E2=f7[a&15](W1,q1)|0,K1=(E2|0)>-1,h2=K5+1|0,$2=Y5+(K5<<2)|0,K1?(e[$2>>2]=W1,i2=B+-1|0,u=W1,m=i2):(e[$2>>2]=q1,u=q1,m=Y1),l2=(m|0)>1,!l2){u3=h2;break}O=e[Y5>>2]|0,B=m,Q=u,P1=O,K5=h2}if(r2=(u3|0)<2,!r2&&(a2=Y5+(u3<<2)|0,e[a2>>2]=e3,!D0))for(y=A,G2=e3;;){for(d2=y>>>0>256,s2=d2?256:y,K2=e[Y5>>2]|0,s4(G2|0,K2|0,s2|0)|0,D2=K2,z3=0;v2=Y5+(z3<<2)|0,w2=z3+1|0,C2=Y5+(w2<<2)|0,F2=e[C2>>2]|0,s4(D2|0,F2|0,s2|0)|0,N2=D2+s2|0,e[v2>>2]=N2,X5=(w2|0)==(u3|0),!X5;)D2=F2,z3=w2;if(X1=(y|0)==(s2|0),X1)break e;f2=y-s2|0,Y=e[a2>>2]|0,y=f2,G2=Y}}while(!1);H2=w1>>>2,P2=z2<<30,o5=H2|P2,O2=z2>>>2,T1=U5+2|0,r0=o5,b1=O2,O5=T1}else{if(X2=U5+-1|0,R5=Z5+(X2<<2)|0,e5=e[R5>>2]|0,b5=F5,Z2=b0-b5|0,v5=e5>>>0>>0,v5){e[Y5>>2]=F5,P5=(U5|0)>1;e:do if(P5){for(v=U5,_=F5,_2=F5,w3=1;;){if(l5=_+$0|0,k2=v+-2|0,m5=Z5+(k2<<2)|0,n5=e[m5>>2]|0,o6=n5+A|0,e0=0-o6|0,x2=_+e0|0,B2=f7[a&15](_2,x2)|0,C5=(B2|0)>-1,C5&&(d5=f7[a&15](_2,l5)|0,D5=(d5|0)>-1,D5)){p3=w3;break}if(G5=f7[a&15](x2,l5)|0,_5=(G5|0)>-1,q2=w3+1|0,I5=Y5+(w3<<2)|0,_5?(e[I5>>2]=x2,A5=v+-1|0,E=x2,p=A5):(e[I5>>2]=l5,E=l5,p=k2),c5=(p|0)>1,!c5){p3=q2;break}z=e[Y5>>2]|0,v=p,_=E,_2=z,w3=q2}if(B5=(p3|0)<2,!B5&&(M1=Y5+(p3<<2)|0,e[M1>>2]=e3,!D0))for(b=A,j2=e3;;){for(u5=b>>>0>256,a5=u5?256:b,x5=e[Y5>>2]|0,s4(j2|0,x5|0,a5|0)|0,h5=x5,G3=0;g2=Y5+(G3<<2)|0,p5=G3+1|0,t5=Y5+(p5<<2)|0,s5=e[t5>>2]|0,s4(h5|0,s5|0,a5|0)|0,J2=h5+a5|0,e[g2>>2]=J2,n3=(p5|0)==(p3|0),!n3;)h5=s5,G3=p5;if(g5=(b|0)==(a5|0),g5)break e;W2=b-a5|0,t0=e[M1>>2]|0,b=W2,j2=t0}}while(!1)}else Wm(F5,A,a,w1,z2,U5,0,Z5);if($5=(U5|0)==1,$5){R2=z2<<1,Q5=w1>>>31,q5=Q5|R2,j5=w1<<1,r0=j5,b1=q5,O5=0;break}else{E5=X2>>>0>31,f3=U5+-33|0,c=E5?0:w1,R=E5?w1:z2,x=E5?f3:X2,h3=R<>>Z,a0=K|h3,n0=c<>>0>>0,h0)w1=i0,z2=b1,F5=V,U5=O5;else{T=b1,N=i0,m3=V,H5=O5;break}}else T=0,N=1,m3=t,H5=1;if(Wm(m3,A,a,N,T,H5,0,Z5),s0=(H5|0)==1,g0=(N|0)==1,C3=g0&s0,c0=(T|0)==0,c3=c0&C3,c3){C=L3;return}else w0=N,Q0=T,J5=m3,k5=H5;for(;;){if(u0=(k5|0)<2,!u0){O0=Q0<<2,r1=w0>>>30,H0=r1|O0,e1=k5+-2|0,i1=w0<<1,c1=i1&2147483646,$1=r1<<31,f1=c1|$1,g1=f1^3,l1=H0>>>1,s1=Z5+(e1<<2)|0,a1=e[s1>>2]|0,P3=a1+A|0,q=0-P3|0,n1=J5+q|0,o1=k5+-1|0,Wm(n1,A,a,g1,l1,o1,1,Z5),I1=l1<<1,h1=r1&1,m1=I1|h1,d1=g1<<1,E1=d1|1,B1=J5+$0|0,Wm(B1,A,a,E1,m1,e1,1,Z5),w0=E1,Q0=m1,J5=B1,k5=e1;continue}d0=w0+-1|0,C0=(d0|0)==0;do if(C0)G0=32,A3=56;else{if(k0=d0&1,f0=(k0|0)==0,f0){for(S=d0,i6=0;;)if(B0=i6+1|0,p0=S>>>1,I0=p0&1,K0=(I0|0)==0,K0)S=p0,i6=B0;else{L=B0;break}_0=(L|0)==0,_0?A3=51:J0=L}else A3=51;if((A3|0)==51){if(A3=0,F0=(Q0|0)==0,F0){G0=64,A3=56;break}if(M0=Q0&1,N0=(M0|0)==0,N0)w=Q0,R3=0;else{I=0,Q1=w0,S1=Q0,k1=0;break}for(;;)if(U0=R3+1|0,y0=w>>>1,Y0=y0&1,L0=(Y0|0)==0,L0)w=y0,R3=U0;else{M=U0,U3=R3;break}if(T0=U3+33|0,V0=(M|0)==0,V0){I=0,Q1=w0,S1=Q0,k1=0;break}else J0=T0}P0=J0>>>0>31,P0?(G0=J0,A3=56):(I=J0,Q1=w0,S1=Q0,k1=J0)}while(!1);if((A3|0)==56&&(A3=0,z0=G0+-32|0,I=z0,Q1=Q0,S1=0,k1=G0),p1=Q1>>>I,_1=32-I|0,x1=S1<<_1,R1=x1|p1,F1=S1>>>I,G1=k1+k5|0,G=J5+$0|0,U1=(G1|0)==1,Z1=(R1|0)==1,a3=Z1&U1,N1=(F1|0)==0,l3=N1&a3,l3)break;w0=R1,Q0=F1,J5=G,k5=G1}C=L3}function Wm(t,n,A,a,c,u,E,I){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0,u=u|0,E=E|0,I=I|0;var m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,R5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0;B2=C,C=C+720|0,x2=B2+456|0,P2=B2+228|0,M2=B2,e[M2>>2]=t,U=0-n|0,$0=(a|0)!=1,Q0=(c|0)!=0,J0=Q0|$0;e:do if(J0)if($1=I+(u<<2)|0,m1=e[$1>>2]|0,F1=0-m1|0,Y1=t+F1|0,K1=f7[A&15](Y1,t)|0,y2=(K1|0)<1,y2)B=t,R=u,G=E,O2=1,_2=18;else for(w=t,T=u,O=E,I0=Y1,O0=c,b5=1,k2=a;;){if(Z=(O|0)==0,c0=(T|0)>1,l5=Z&c0,l5){if(k0=w+U|0,f0=T+-2|0,B0=I+(f0<<2)|0,p0=e[B0>>2]|0,S0=f7[A&15](k0,I0)|0,K0=(S0|0)>-1,K0){v=w,x=T,X2=b5;break e}if(m5=p0+n|0,q=0-m5|0,_0=w+q|0,F0=f7[A&15](_0,I0)|0,M0=(F0|0)>-1,M0){v=w,x=T,X2=b5;break e}}N0=b5+1|0,U0=M2+(b5<<2)|0,e[U0>>2]=I0,y0=k2+-1|0,Y0=(y0|0)==0;do if(Y0)o1=32,_2=15;else{if(L0=y0&1,D0=(L0|0)==0,D0){for(Q=y0,f5=0;;)if(T0=f5+1|0,V0=Q>>>1,P0=V0&1,z0=(P0|0)==0,z0)Q=V0,f5=T0;else{z=T0;break}G0=(z|0)==0,G0?_2=10:s1=z}else _2=10;if((_2|0)==10){if(_2=0,r1=(O0|0)==0,r1){o1=64,_2=15;break}if(H0=O0&1,e1=(H0|0)==0,e1)_=O0,v5=0;else{p=0,I1=k2,E1=O0,_1=0;break}for(;;)if(b0=v5+1|0,i1=_>>>1,c1=i1&1,f1=(c1|0)==0,f1)_=i1,v5=b0;else{Y=b0,P5=v5;break}if(g1=P5+33|0,l1=(Y|0)==0,l1){p=0,I1=k2,E1=O0,_1=0;break}else s1=g1}a1=s1>>>0>31,a1?(o1=s1,_2=15):(p=s1,I1=k2,E1=O0,_1=s1)}while(!1);if((_2|0)==15&&(_2=0,n1=o1+-32|0,p=n1,I1=O0,E1=0,_1=o1),Z0=I1>>>p,h1=32-p|0,d1=E1<>>p,Q1=_1+T|0,x1=(B1|0)!=1,w1=(p1|0)!=0,S1=w1|x1,!S1){v=I0,x=Q1,X2=N0;break e}if(t0=e[M2>>2]|0,R1=I+(Q1<<2)|0,G1=e[R1>>2]|0,k1=0-G1|0,U1=I0+k1|0,Z1=f7[A&15](U1,t0)|0,N1=(Z1|0)<1,N1){B=I0,R=Q1,G=0,O2=N0,_2=18;break}else y=I0,T=Q1,O=0,I0=U1,O0=p1,b5=N0,k2=B1,w=y}else B=t,R=u,G=E,O2=1,_2=18;while(!1);if((_2|0)==18)if(b1=(G|0)==0,b1)v=B,x=R,X2=O2;else{C=B2;return}V1=(X2|0)<2;e:do if(!V1&&(O1=M2+(X2<<2)|0,e[O1>>2]=x2,q1=(n|0)==0,!q1))for(M=n,h2=x2;;){for(E2=M>>>0>256,j1=E2?256:M,A2=e[M2>>2]|0,s4(h2|0,A2|0,j1|0)|0,u2=A2,e5=0;W1=M2+(e5<<2)|0,P1=e5+1|0,c2=M2+(P1<<2)|0,z1=e[c2>>2]|0,s4(u2|0,z1|0,j1|0)|0,o2=u2+j1|0,e[W1>>2]=o2,o5=(P1|0)==(X2|0),!o5;)u2=z1,e5=P1;if(H1=(M|0)==(j1|0),H1)break e;n2=M-j1|0,e0=e[O1>>2]|0,M=n2,h2=e0}while(!1);e[P2>>2]=v,$2=(x|0)>1;e:do if($2){for(b=x,N=v,s2=v,Z2=1;;){if(i2=N+U|0,l2=b+-2|0,r2=I+(l2<<2)|0,a2=e[r2>>2]|0,n5=a2+n|0,X=0-n5|0,X1=N+X|0,f2=f7[A&15](s2,X1)|0,e2=(f2|0)>-1,e2&&(v2=f7[A&15](s2,i2)|0,w2=(v2|0)>-1,w2)){T1=Z2;break}if(C2=f7[A&15](X1,i2)|0,F2=(C2|0)>-1,D2=Z2+1|0,N2=P2+(Z2<<2)|0,F2?(e[N2>>2]=X1,d2=b+-1|0,m=X1,S=d2):(e[N2>>2]=i2,m=i2,S=l2),K2=(S|0)>1,!K2){T1=D2;break}J=e[P2>>2]|0,b=S,N=m,s2=J,Z2=D2}if(G2=(T1|0)<2,G2)C0=x2;else if(H2=P2+(T1<<2)|0,e[H2>>2]=x2,K=(n|0)==0,K)C0=x2;else for(L=n,w0=x2;;){for(u0=L>>>0>256,n0=u0?256:L,d0=e[P2>>2]|0,s4(w0|0,d0|0,n0|0)|0,g0=d0,R5=0;r0=P2+(R5<<2)|0,V=R5+1|0,h0=P2+(V<<2)|0,s0=e[h0>>2]|0,s4(g0|0,s0|0,n0|0)|0,j=g0+n0|0,e[r0>>2]=j,z2=(V|0)==(T1|0),!z2;)g0=s0,R5=V;if(a0=(L|0)==(n0|0),a0){C0=x2;break e}i0=L-n0|0,W=e[H2>>2]|0,L=i0,w0=W}}else C0=x2;while(!1);C=B2}function Pi(t){t=+t;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0;return x=C,A1[p2>>3]=t,A=e[p2>>2]|0,a=e[p2+4>>2]|0,p=a&2146435072,B=p>>>0>1126170624,v=!1,S=(p|0)==1126170624,w=S&v,y=B|w,y?(n=t,+n):(b=(a|0)<0,Q=t+-4503599627370496,c=Q+4503599627370496,u=t+4503599627370496,E=u+-4503599627370496,_=b?c:E,I=_==0,I?(m=b?-0:0,n=m,+n):(n=_,+n))}function BQ(t){t=+t;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0;return y=C,A=(s[p2>>2]=t,e[p2>>2]|0),a=A&2130706432,c=a>>>0>1249902592,c?(n=t,+n):(u=(A|0)<0,E=t+-8388608,I=E+8388608,m=t+8388608,p=m+-8388608,S=u?I:p,B=S==0,B?(v=u?-0:0,n=v,+n):(n=S,+n))}function fb(t,n){t=+t,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0;return z=C,u=(n|0)>1023,u?(E=t*898846567431158e293,Q=n+-1023|0,_=(Q|0)>1023,_?(R=E*898846567431158e293,x=n+-2046|0,L=(x|0)>1023,A=L?1023:x,a=A,G=R):(a=Q,G=E)):(M=(n|0)<-1022,M?(T=t*22250738585072014e-324,N=n+1022|0,I=(N|0)<-1022,I?(m=T*22250738585072014e-324,p=n+2044|0,B=(p|0)<-1022,c=B?-1022:p,a=c,G=m):(a=N,G=T)):(a=n,G=t)),v=a+1023|0,S=yQ(v|0,0,52)|0,w=H6,e[p2>>2]=S,e[p2+4>>2]=w,y=+A1[p2>>3],b=G*y,+b}function db(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0;I=C,n=t+-1|0,A=553040,a=A,e[a>>2]=n,c=A+4|0,u=c,e[u>>2]=0}function Ib(){var t=0,n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0;return _=C,t=553040,n=t,m=e[n>>2]|0,p=t+4|0,B=p,v=e[B>>2]|0,S=Bb(m|0,v|0,1284865837,1481765933)|0,w=H6,y=zs(S|0,w|0,1,0)|0,b=H6,A=553040,a=A,e[a>>2]=y,c=A+4|0,u=c,e[u>>2]=b,E=Zs(y|0,b|0,33)|0,I=H6,E|0}function S9(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,R5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,R2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,k3=0,u3=0,p3=0,z3=0,G3=0,K5=0,w3=0,Z5=0,i6=0,R3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,L3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,X3=0,c6=0,p6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,R6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,L6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,M4=0,W4=0,C4=0,T4=0,U9=0,N4=0,a4=0,R4=0,u4=0,Ce=0,q9=0,m9=0,Be=0,Ne=0,Xe=0,G4=0,Ge=0,U4=0,j4=0,be=0,e8=0,Z9=0,ae=0,f4=0,_6=0,P4=0,L9=0,$4=0,_4=0,$e=0,W9=0,le=0,ce=0,B4=0,X4=0,L4=0,ge=0,C9=0,g6=0,Ue=0,l4=0,pe=0,p4=0,c4=0,P6=0,De=0,_e=0,t8=0,g4=0,k4=0,u8=0,J3=0,w9=0,B9=0,F4=0,ee=0,$t=0,xe=0,lt=0,Qt=0,z8=0,ct=0,gt=0,F8=0,M8=0,T8=0,N8=0,Z8=0,W8=0,yt=0,G8=0,U8=0,P8=0,k8=0,v8=0,f8=0,O8=0,q8=0,j8=0,X8=0,d8=0,Pe=0,Re=0,i8=0,S8=0,k9=0,ht=0,Qe=0,ut=0,wt=0,et=0,kt=0,te=0,tt=0,H8=0,b8=0,r8=0,O4=0,Le=0,n8=0,I8=0,D8=0,he=0,j9=0,s8=0,E8=0,o8=0,m8=0,ue=0,ye=0,Oe=0,qe=0,X9=0,Fe=0,fe=0,A8=0,we=0,Q4=0,C8=0,it=0,q4=0,I3=0,He=0,B8=0,ie=0,H9=0,re=0,D9=0,Ye=0,Y8=0,ft=0,rt=0,nt=0,J8=0,st=0,V8=0,a8=0,$8=0,_8=0,H4=0,ot=0,x8=0,Je=0,p9=0,At=0,Ve=0,Mt=0,qt=0,vt=0,at=0,St=0,ne=0,Tt=0,Ht=0,l8=0,R8=0,bt=0,K8=0,Me=0,de=0,e4=0,Dt=0,t7=0,G7=0,U7=0,P7=0,d7=0,Yt=0,I7=0,Jt=0,E7=0,Vt=0,m7=0,i7=0,oi=0,O7=0,C7=0,B7=0,Ai=0,p7=0,r7=0,ai=0,q7=0,H7=0,Y7=0,J7=0,n7=0,Q7=0,V7=0,Kt=0,s7=0,Nt=0,zt=0,$i=0,K7=0,li=0,y7=0,z7=0,w7=0,k7=0,Z7=0,v7=0,Zt=0,S7=0,W7=0,o7=0,Gt=0,b7=0,ke=0,D7=0,_t=0,A7=0,n9=0,dt=0,p8=0,It=0,xt=0,Zr=0,Ir=0,Xs=0,Un=0,eo=0,Pn=0,to=0,io=0,On=0,ro=0,Wr=0,no=0,so=0,oo=0,qn=0,Ao=0,Hn=0,Yn=0,ao=0,jr=0,Jn=0,Xr=0,Vn=0,Kn=0,$o=0,lo=0,co=0,en=0,zn=0,go=0,Er=0,tn=0,ho=0,uo=0,rn=0,ci=0,Zn=0,fo=0,Io=0,Wn=0,jn=0,Xn=0,Eo=0,gi=0,nn=0,mo=0,es=0,Co=0,Bo=0,po=0,ts=0,Qo=0,yo=0,wo=0,ko=0,is=0,vo=0,So=0,sn=0,mr=0,on=0,bo=0,Wi=0,Do=0,rs=0,An=0,ns=0,an=0,_o=0,ss=0,os=0,xo=0,As=0,as=0,Ro=0,Cr=0,$s=0,hi=0,$n=0,Br=0,ji=0,pr=0,qi=0,Qr=0,ls=0,Hi=0,yi=0,wi=0,j7=0,ki=0,yr=0,Xi=0,er=0,wr=0,ui=0,Lo=0,a7=0,j$=0,ln=0,cn=0,Fh=0,X$=0,Fo=0,Mh=0,jA=0,el=0,Th=0,Nh=0,Gh=0,XA=0,tl=0,il=0,ea=0,gn=0,rl=0,Uh=0,Mo=0,tr=0,Ph=0,Oh=0,qh=0,Hh=0,Yh=0,Jh=0,Vh=0,Kh=0,zh=0,Zh=0,nl=0,kr=0,Wh=0,jh=0,sl=0,Xh=0,ta=0,To=0,ia=0,eu=0,tu=0,ra=0,ol=0,Al=0,al=0,na=0,$l=0,No=0,iu=0,ru=0,ll=0,nu=0,su=0,cl=0,ou=0,Au=0,gl=0,hl=0,ul=0,fl=0,dl=0,hn=0,au=0,Il=0,$u=0,El=0,ml=0,lu=0,cu=0,gu=0,sa=0,Cl=0,Bl=0,cs=0,pl=0,oa=0,hu=0,Ql=0,uu=0,yl=0,fu=0,du=0,wl=0,kl=0,Iu=0,Go=0,Eu=0,Aa=0,vl=0,Sl=0,mu=0,Cu=0,Bu=0,pu=0,Qu=0,yu=0,Uo=0,bl=0,Dl=0,_l=0,Po=0,wu=0,xl=0,ku=0,Rl=0,vu=0,Su=0,Ll=0,aa=0,bu=0,Du=0,Oo=0,_u=0,qo=0,xu=0,$a=0,Ru=0,Lu=0,Fu=0,Fl=0,Mu=0,Tu=0,Nu=0,Gu=0,Ml=0,Tl=0,ir=0,Nl=0,Ho=0,la=0,ca=0,un=0,Gl=0,fn=0,Uu=0,Ul=0,Pu=0,Ou=0,qu=0,Hu=0,Yo=0,ga=0,vr=0,Yu=0,Ju=0,Pl=0,ha=0,Ol=0,ql=0,Vu=0,Hl=0,Ku=0,ua=0,zu=0,Zu=0,P9=0,Wu=0,Yl=0,ju=0,Xu=0,fa=0,ef=0,da=0,Jl=0,tf=0,rf=0,Vl=0,Kl=0,nf=0,Ia=0,Ea=0,zl=0,Zl=0,sf=0,Wl=0,ma=0,of=0,jl=0,Af=0,af=0,$f=0,lf=0,Xl=0,ec=0,Ca=0,Jo=0,tc=0,cf=0,ic=0,rc=0,gf=0,hf=0,uf=0,nc=0,ff=0,df=0,If=0,Ef=0,mf=0,Cf=0,sc=0,Bf=0,oc=0,pf=0,dn=0,Qf=0,Ac=0,yf=0,gs=0,ac=0,Ba=0,wf=0,Vo=0,pa=0,kf=0,Qa=0,$c=0,vf=0,Sf=0,bf=0,Df=0,_f=0,lc=0,xf=0,Rf=0,Lf=0,Ko=0,hs=0,ya=0,Ff=0,wa=0,Mf=0,Tf=0,Nf=0,cc=0,Gf=0,Uf=0,Pf=0,Of=0,qf=0,zo=0,Hf=0,Yf=0,gc=0,Jf=0,Vf=0,Kf=0,zf=0,fi=0,hc=0,di=0,uc=0,ka=0,Zf=0,X7=0,us=0,Wf=0,jf=0,Xf=0,ed=0,td=0,fc=0,id=0,rd=0,dc=0,nd=0,sd=0,fs=0,va=0,od=0,Ic=0,Ad=0,ad=0,Zo=0,$d=0,ld=0,Ec=0,mc=0,cd=0,gd=0,In=0,hd=0,ud=0,En=0,fd=0,Cc=0,dd=0,Id=0,ds=0,Bc=0,Ed=0,pc=0,md=0,rr=0,Sa=0,Cd=0,Qc=0,yc=0,Bd=0,pd=0,wc=0,Qd=0,yd=0,wd=0,kc=0,kd=0,Is=0,vd=0,mn=0,Sd=0,bd=0,ba=0,Dd=0,Da=0,_a=0,_d=0,vc=0,Sc=0,xd=0,bc=0,Dc=0,_c=0,Rd=0,xc=0,Rc=0,Ld=0,Fd=0,Lc=0,Fc=0,Md=0,Mc=0,Tc=0,Td=0,Nd=0,Nc=0,xa=0,Gc=0,Uc=0,Pc=0,Oc=0,Gd=0,Ud=0,Pd=0,Od=0,qd=0,Hd=0,Yd=0,Jd=0,qc=0,Ra=0,Vd=0,Kd=0,zd=0,Hc=0,Yc=0,Zd=0,Jc=0,La=0,Wo=0,Vc=0,Wd=0,jd=0,Xd=0,eI=0,Kc=0,jo=0,tI=0,iI=0,rI=0,nI=0,sI=0,oI=0,AI=0,aI=0,zc=0,$I=0,lI=0,cI=0,gI=0,Xo=0,Zc=0,hI=0,uI=0,Cn=0,Wc=0,jc=0,Fa=0,fI=0,Xc=0,dI=0,eg=0,tg=0,II=0,EI=0,mI=0,CI=0,BI=0,eA=0,Ma=0,pI=0,QI=0,yI=0,wI=0,ig=0,kI=0,rg=0,vI=0,SI=0,ng=0,Sr=0,sg=0,og=0,bI=0,Ag=0,tA=0,DI=0,_I=0,xI=0,iA=0,ag=0,RI=0,LI=0,$g=0,FI=0,MI=0,Ta=0,rA=0,TI=0,NI=0,GI=0,lg=0,cg=0,gg=0,UI=0,PI=0,Es=0,OI=0,hg=0,qI=0,Na=0,ug=0,HI=0,YI=0,JI=0,VI=0,fg=0,KI=0,zI=0,dg=0,nA=0,ZI=0,WI=0,jI=0,ms=0,Ig=0,Eg=0,XI=0,mg=0,Cg=0,vi=0,Bg=0,nr=0,eE=0,tE=0,iE=0,rE=0,Ga=0,sA=0,pg=0,Qg=0,nE=0,oA=0,Cs=0,sE=0,AA=0,Ua=0,oE=0,Pa=0,AE=0,aE=0,yg=0,aA=0,wg=0,$E=0,lE=0,cE=0,gE=0,kg=0,hE=0,Wt=0,y4=0,ei=0,uE=0,vg=0,Sg=0,Oa=0,fE=0,br=0,Bs=0,dE=0,IE=0,bg=0,qa=0,EE=0,Dg=0,_g=0,xg=0,Ha=0,Ya=0,Rg=0,ps=0,Ja=0,Lg=0,mE=0,Bn=0,CE=0,Fg=0,$A=0,BE=0,Mg=0,Si=0,pE=0,QE=0,yE=0,wE=0,kE=0,vE=0,bi=0,SE=0,bE=0,DE=0,Tg=0,Ii=0,lA=0,Va=0,Ng=0,Gg=0,_E=0,Ug=0,Pg=0,xE=0,RE=0,Og=0,qg=0,LE=0,FE=0,Hg=0,ME=0,Qs=0,cA=0,gA=0,TE=0,Ka=0,NE=0,GE=0,Yg=0,ys=0,UE=0,PE=0,za=0,Za=0,hA=0,Wa=0,ja=0,sr=0,Dr=0,_r=0,Xa=0,e$=0,ws=0,or=0,pn=0,OE=0,Ar=0,Qn=0,qE=0,_7=0,x7=0,R7=0,uA=0,fA=0,Jg=0,Vg=0,dA=0,t$=0,L7=0,IA=0,xr=0,i$=0,HE=0,r$=0,YE=0,n$=0,Kg=0,EA=0,JE=0,VE=0,mA=0,KE=0,CA=0,yn=0,Ke=0,v4=0,zg=0,zE=0,s$=0,Zg=0,ZE=0,WE=0,BA=0,jE=0,XE=0,em=0,tm=0,Wg=0,im=0,rm=0,nm=0,ti=0,pA=0,wn=0,o$=0,ks=0,vs=0,jt=0,Ss=0,jg=0,Xg=0,QA=0,bs=0,Ds=0,_s=0,sm=0,xs=0,ar=0,eh=0,Rr=0,ii=0,A$=0,a$=0,Yi=0,$$=0,l$=0,c$=0,Lr=0,$6=0,yA=0,Fr=0,th=0,ve=0,g$=0,Q8=0,Rs=0,kn=0,vn=0,F9=0,Sn=0,Mr=0,Y4=0,h$=0;h$=C,K1=t>>>0<245;do if(K1){if(h2=t>>>0<11,h4=t+11|0,O4=h4&-8,ke=h2?16:O4,Fo=ke>>>3,$a=e[138262]|0,Ko=$a>>>Fo,Uc=Ko&3,dg=(Uc|0)==0,!dg){$2=Ko&1,u3=$2^1,l3=u3+Fo|0,A3=l3<<1,g3=553088+(A3<<2)|0,w0=A3+2|0,x6=553088+(w0<<2)|0,b6=e[x6>>2]|0,R6=b6+8|0,D6=e[R6>>2]|0,d9=(g3|0)==(D6|0);do if(d9)G9=1<>>0>>0,le&&Q2(),p4=D6+12|0,B9=e[p4>>2]|0,M8=(B9|0)==(b6|0),M8){e[p4>>2]=g3,e[x6>>2]=D6;break}else Q2();while(!1);return f8=l3<<3,ht=f8|3,Le=b6+4|0,e[Le>>2]=ht,p0=f8|4,ye=b6+p0|0,q4=e[ye>>2]|0,rt=q4|1,e[ye>>2]=rt,Ke=R6,Ke|0}if(Je=e[138264]|0,Ht=ke>>>0>Je>>>0,Ht){if(U7=(Ko|0)==0,!U7){O7=Ko<>>12,sn=Co&16,ss=Zn>>>sn,ji=ss>>>5,Xi=ji&8,Mh=Xi|sn,rl=ss>>>Xi,Kh=rl>>>2,ia=Kh&4,ru=Mh|ia,dl=rl>>>ia,Cl=dl>>>1,wl=Cl&2,pu=ru|wl,Rl=dl>>>wl,Ru=Rl>>>1,Nl=Ru&1,qu=pu|Nl,Vu=Rl>>>Nl,fa=qu+Vu|0,zl=fa<<1,Xl=553088+(zl<<2)|0,U1=zl+2|0,nc=553088+(U1<<2)|0,dn=e[nc>>2]|0,Qa=dn+8|0,hs=e[Qa>>2]|0,Of=(Xl|0)==(hs|0);do if(Of)hc=1<>>0>>0,rr&&Q2(),kc=hs+12|0,_d=e[kc>>2]|0,Fd=(_d|0)==(dn|0),Fd){e[kc>>2]=Xl,e[nc>>2]=hs,y=e[138264]|0,rA=y;break}else Q2();while(!1);return Pc=fa<<3,Ra=Pc-ke|0,Wd=ke|3,oI=dn+4|0,e[oI>>2]=Wd,uI=dn+ke|0,EI=Ra|1,j1=ke|4,kI=dn+j1|0,e[kI>>2]=EI,DI=dn+Pc|0,e[DI>>2]=Ra,hg=(rA|0)==0,hg||(nA=e[138267]|0,Bg=rA>>>3,oA=Bg<<1,wg=553088+(oA<<2)|0,vg=e[138262]|0,Dg=1<>2]|0,C2=e[138266]|0,o5=i2>>>0>>0,o5?Q2():(G=Qs,hA=i2)),e[G>>2]=nA,l5=hA+12|0,e[l5>>2]=nA,G5=nA+8|0,e[G5>>2]=hA,W2=nA+12|0,e[W2>>2]=wg),e[138264]=Ra,e[138267]=uI,Ke=Qa,Ke|0}if($5=e[138263]|0,m3=($5|0)==0,m3)v4=ke;else{for(J5=0-$5|0,k3=$5&J5,p3=k3+-1|0,z3=p3>>>12,G3=z3&16,K5=p3>>>G3,w3=K5>>>5,Z5=w3&8,i6=Z5|G3,R3=K5>>>Z5,U3=R3>>>2,a3=U3&4,c3=i6|a3,C3=R3>>>a3,H5=C3>>>1,U5=H5&2,O5=c3|U5,k5=C3>>>U5,P3=k5>>>1,M5=P3&1,o6=O5|M5,e3=k5>>>M5,L3=o6+e3|0,u6=553352+(L3<<2)|0,Q3=e[u6>>2]|0,v3=Q3+4|0,y3=e[v3>>2]|0,r6=y3&-8,j3=r6-ke|0,pA=j3,a$=Q3,g$=Q3;;){if(O3=a$+16|0,V5=e[O3>>2]|0,S3=(V5|0)==0,S3)if(q3=a$+20|0,l6=e[q3>>2]|0,d3=(l6|0)==0,d3){wn=pA,Q8=g$;break}else v6=l6;else v6=V5;k6=v6+4|0,S6=e[k6>>2]|0,B6=S6&-8,X3=B6-ke|0,c6=X3>>>0>>0,q=c6?X3:pA,A2=c6?v6:g$,pA=q,a$=v6,g$=A2}p6=e[138266]|0,Y6=Q8>>>0>>0,Y6&&Q2(),C6=Q8+ke|0,b3=Q8>>>0>>0,b3||Q2(),e6=Q8+24|0,t6=e[e6>>2]|0,f6=Q8+12|0,H3=e[f6>>2]|0,D3=(H3|0)==(Q8|0);do if(D3){if(N6=Q8+20|0,n6=e[N6>>2]|0,Q6=(n6|0)==0,Q6)if(K6=Q8+16|0,I6=e[K6>>2]|0,J6=(I6|0)==0,J6){_7=0;break}else or=I6,uA=K6;else or=n6,uA=N6;for(;;){if(F3=or+20|0,j6=e[F3>>2]|0,G6=(j6|0)==0,!G6){or=j6,uA=F3;continue}if(e9=or+16|0,s9=e[e9>>2]|0,L6=(s9|0)==0,L6){Ar=or,Vg=uA;break}else or=s9,uA=e9}if(U6=Vg>>>0>>0,U6)Q2();else{e[Vg>>2]=0,_7=Ar;break}}else if(Y3=Q8+8|0,Z3=e[Y3>>2]|0,A6=Z3>>>0>>0,A6&&Q2(),t3=Z3+12|0,O6=e[t3>>2]|0,s3=(O6|0)==(Q8|0),s3||Q2(),a6=H3+8|0,d6=e[a6>>2]|0,_3=(d6|0)==(Q8|0),_3){e[t3>>2]=H3,e[a6>>2]=Z3,_7=H3;break}else Q2();while(!1);z6=(t6|0)==0;do if(!z6){if(y6=Q8+28|0,F6=e[y6>>2]|0,M3=553352+(F6<<2)|0,M6=e[M3>>2]|0,t9=(Q8|0)==(M6|0),t9){if(e[M3>>2]=_7,JE=(_7|0)==0,JE){A9=1<>>0>>0,$9&&Q2(),T9=t6+16|0,E6=e[T9>>2]|0,T6=(E6|0)==(Q8|0),T6?e[T9>>2]=_7:(i9=t6+20|0,e[i9>>2]=_7),N9=(_7|0)==0,N9)break;I9=e[138266]|0,E4=_7>>>0>>0,E4&&Q2(),o4=_7+24|0,e[o4>>2]=t6,z9=Q8+16|0,b9=e[z9>>2]|0,E9=(b9|0)==0;do if(!E9)if(q6=b9>>>0>>0,q6)Q2();else{r9=_7+16|0,e[r9>>2]=b9,m4=b9+24|0,e[m4>>2]=_7;break}while(!1);if(S4=Q8+20|0,A4=e[S4>>2]|0,y9=(A4|0)==0,!y9)if(b4=e[138266]|0,x4=A4>>>0>>0,x4)Q2();else{M4=_7+20|0,e[M4>>2]=A4,W4=A4+24|0,e[W4>>2]=_7;break}}while(!1);return C4=wn>>>0<16,C4?(T4=wn+ke|0,U9=T4|3,N4=Q8+4|0,e[N4>>2]=U9,Z1=T4+4|0,a4=Q8+Z1|0,R4=e[a4>>2]|0,u4=R4|1,e[a4>>2]=u4):(q9=ke|3,m9=Q8+4|0,e[m9>>2]=q9,Be=wn|1,h0=ke|4,Ne=Q8+h0|0,e[Ne>>2]=Be,g0=wn+ke|0,Xe=Q8+g0|0,e[Xe>>2]=wn,G4=e[138264]|0,Ge=(G4|0)==0,Ge||(U4=e[138267]|0,j4=G4>>>3,be=j4<<1,Z9=553088+(be<<2)|0,ae=e[138262]|0,f4=1<>2]|0,$e=e[138266]|0,W9=_4>>>0<$e>>>0,W9?Q2():(T=$4,Za=_4)),e[T>>2]=U4,ce=Za+12|0,e[ce>>2]=U4,B4=U4+8|0,e[B4>>2]=Za,X4=U4+12|0,e[X4>>2]=Z9),e[138264]=wn,e[138267]=C6),L4=Q8+8|0,Ke=L4,Ke|0}}else v4=ke}else if(ge=t>>>0>4294967231,ge)v4=-1;else if(C9=t+11|0,g6=C9&-8,Ue=e[138263]|0,l4=(Ue|0)==0,l4)v4=g6;else{pe=0-g6|0,c4=C9>>>8,P6=(c4|0)==0,P6?yn=0:(De=g6>>>0>16777215,De?yn=31:(_e=c4+1048320|0,t8=_e>>>16,g4=t8&8,k4=c4<>>16,w9=J3&4,F4=w9|g4,ee=k4<>>16,lt=xe&2,Qt=F4|lt,z8=14-Qt|0,ct=ee<>>15,F8=z8+gt|0,T8=F8<<1,N8=F8+7|0,Z8=g6>>>N8,W8=Z8&1,yt=W8|T8,yn=yt)),G8=553352+(yn<<2)|0,U8=e[G8>>2]|0,P8=(U8|0)==0;e:do if(P8)vs=pe,$$=0,vn=0,Y4=86;else for(k8=(yn|0)==31,v8=yn>>>1,O8=25-v8|0,q8=k8?0:O8,j8=g6<>2]|0,Pe=d8&-8,Re=Pe-g6|0,i8=Re>>>0>>0,i8)if(S8=(Pe|0)==(g6|0),S8){Ss=Re,Lr=Yi,Mr=Yi,Y4=90;break e}else ks=Re,kn=Yi;else ks=o$,kn=Rs;if(k9=Yi+20|0,Qe=e[k9>>2]|0,ut=QA>>>31,wt=(Yi+16|0)+(ut<<2)|0,et=e[wt>>2]|0,kt=(Qe|0)==0,te=(Qe|0)==(et|0),jE=kt|te,Xg=jE?jg:Qe,tt=(et|0)==0,H8=QA<<1,tt){vs=ks,$$=Xg,vn=kn,Y4=86;break}else o$=ks,jg=Xg,QA=H8,Yi=et,Rs=kn}while(!1);if((Y4|0)==86){if(b8=($$|0)==0,r8=(vn|0)==0,ZE=b8&r8,ZE){if(n8=2<>>12,ue=m8&16,Oe=o8>>>ue,qe=Oe>>>5,X9=qe&8,Fe=X9|ue,fe=Oe>>>X9,A8=fe>>>2,we=A8&4,Q4=Fe|we,C8=fe>>>we,it=C8>>>1,I3=it&2,He=Q4|I3,B8=C8>>>I3,ie=B8>>>1,H9=ie&1,re=He|H9,D9=B8>>>H9,Ye=re+D9|0,Y8=553352+(Ye<<2)|0,ft=e[Y8>>2]|0,l$=ft,Sn=0}else l$=$$,Sn=vn;nt=(l$|0)==0,nt?(jt=vs,F9=Sn):(Ss=vs,Lr=l$,Mr=Sn,Y4=90)}if((Y4|0)==90)for(;;){if(Y4=0,J8=Lr+4|0,st=e[J8>>2]|0,V8=st&-8,a8=V8-g6|0,$8=a8>>>0>>0,X=$8?a8:Ss,c$=$8?Lr:Mr,_8=Lr+16|0,H4=e[_8>>2]|0,ot=(H4|0)==0,!ot){Ss=X,Lr=H4,Mr=c$,Y4=90;continue}if(x8=Lr+20|0,p9=e[x8>>2]|0,At=(p9|0)==0,At){jt=X,F9=c$;break}else Ss=X,Lr=p9,Mr=c$,Y4=90}if(Ve=(F9|0)==0,Ve)v4=g6;else if(Mt=e[138264]|0,qt=Mt-g6|0,vt=jt>>>0>>0,vt){at=e[138266]|0,St=F9>>>0>>0,St&&Q2(),ne=F9+g6|0,Tt=F9>>>0>>0,Tt||Q2(),l8=F9+24|0,R8=e[l8>>2]|0,bt=F9+12|0,K8=e[bt>>2]|0,Me=(K8|0)==(F9|0);do if(Me){if(Jt=F9+20|0,E7=e[Jt>>2]|0,Vt=(E7|0)==0,Vt)if(m7=F9+16|0,i7=e[m7>>2]|0,oi=(i7|0)==0,oi){R7=0;break}else Qn=i7,dA=m7;else Qn=E7,dA=Jt;for(;;){if(C7=Qn+20|0,B7=e[C7>>2]|0,Ai=(B7|0)==0,!Ai){Qn=B7,dA=C7;continue}if(p7=Qn+16|0,r7=e[p7>>2]|0,ai=(r7|0)==0,ai){qE=Qn,t$=dA;break}else Qn=r7,dA=p7}if(q7=t$>>>0>>0,q7)Q2();else{e[t$>>2]=0,R7=qE;break}}else if(de=F9+8|0,e4=e[de>>2]|0,Dt=e4>>>0>>0,Dt&&Q2(),t7=e4+12|0,G7=e[t7>>2]|0,P7=(G7|0)==(F9|0),P7||Q2(),d7=K8+8|0,Yt=e[d7>>2]|0,I7=(Yt|0)==(F9|0),I7){e[t7>>2]=K8,e[d7>>2]=e4,R7=K8;break}else Q2();while(!1);H7=(R8|0)==0;do if(!H7){if(Y7=F9+28|0,J7=e[Y7>>2]|0,Q7=553352+(J7<<2)|0,V7=e[Q7>>2]|0,Kt=(F9|0)==(V7|0),Kt){if(e[Q7>>2]=R7,mA=(R7|0)==0,mA){s7=1<>>0>>0,li&&Q2(),y7=R8+16|0,w7=e[y7>>2]|0,k7=(w7|0)==(F9|0),k7?e[y7>>2]=R7:(Z7=R8+20|0,e[Z7>>2]=R7),v7=(R7|0)==0,v7)break;Zt=e[138266]|0,S7=R7>>>0>>0,S7&&Q2(),W7=R7+24|0,e[W7>>2]=R8,o7=F9+16|0,Gt=e[o7>>2]|0,b7=(Gt|0)==0;do if(!b7)if(_t=Gt>>>0>>0,_t)Q2();else{A7=R7+16|0,e[A7>>2]=Gt,n9=Gt+24|0,e[n9>>2]=R7;break}while(!1);if(dt=F9+20|0,p8=e[dt>>2]|0,It=(p8|0)==0,!It)if(xt=e[138266]|0,Zr=p8>>>0>>0,Zr)Q2();else{Ir=R7+20|0,e[Ir>>2]=p8,Xs=p8+24|0,e[Xs>>2]=R7;break}}while(!1);eo=jt>>>0<16;e:do if(eo)Pn=jt+g6|0,to=Pn|3,io=F9+4|0,e[io>>2]=to,c1=Pn+4|0,On=F9+c1|0,ro=e[On>>2]|0,Wr=ro|1,e[On>>2]=Wr;else{if(no=g6|3,so=F9+4|0,e[so>>2]=no,oo=jt|1,r0=g6|4,Ao=F9+r0|0,e[Ao>>2]=oo,d0=jt+g6|0,Hn=F9+d0|0,e[Hn>>2]=jt,Yn=jt>>>3,ao=jt>>>0<256,ao){jr=Yn<<1,Jn=553088+(jr<<2)|0,Xr=e[138262]|0,Vn=1<>2]|0,go=e[138266]|0,Er=zn>>>0>>0,Er?Q2():(M=en,ja=zn)),e[M>>2]=ne,tn=ja+12|0,e[tn>>2]=ne,O0=g6+8|0,ho=F9+O0|0,e[ho>>2]=ja,H0=g6+12|0,uo=F9+H0|0,e[uo>>2]=Jn;break}if(rn=jt>>>8,ci=(rn|0)==0,ci?Dr=0:(fo=jt>>>0>16777215,fo?Dr=31:(Io=rn+1048320|0,Wn=Io>>>16,jn=Wn&8,Xn=rn<>>16,nn=gi&4,mo=nn|jn,es=Xn<>>16,ts=po&2,Qo=mo|ts,yo=14-Qo|0,wo=es<>>15,is=yo+ko|0,vo=is<<1,So=is+7|0,mr=jt>>>So,on=mr&1,bo=on|vo,Dr=bo)),Wi=553352+(Dr<<2)|0,g1=g6+28|0,Do=F9+g1|0,e[Do>>2]=Dr,x1=g6+16|0,rs=F9+x1|0,b1=g6+20|0,An=F9+b1|0,e[An>>2]=0,e[rs>>2]=0,ns=e[138263]|0,an=1<>2]=ne,H1=g6+24|0,As=F9+H1|0,e[As>>2]=Wi,n2=g6+12|0,as=F9+n2|0,e[as>>2]=ne,P1=g6+8|0,Ro=F9+P1|0,e[Ro>>2]=ne;break}Cr=e[Wi>>2]|0,$s=Cr+4|0,hi=e[$s>>2]|0,$n=hi&-8,Br=($n|0)==(jt|0);t:do if(Br)L7=Cr;else{for(pr=(Dr|0)==31,qi=Dr>>>1,Qr=25-qi|0,ls=pr?0:Qr,Hi=jt<>>31,ui=(i$+16|0)+(wr<<2)|0,j7=e[ui>>2]|0,Lo=(j7|0)==0,Lo){w=ui,HE=i$;break}if(yi=Xa<<1,wi=j7+4|0,ki=e[wi>>2]|0,yr=ki&-8,er=(yr|0)==(jt|0),er){L7=j7;break t}else Xa=yi,i$=j7}if(a7=e[138266]|0,j$=w>>>0>>0,j$)Q2();else{e[w>>2]=ne,f0=g6+24|0,ln=F9+f0|0,e[ln>>2]=HE,U0=g6+12|0,cn=F9+U0|0,e[cn>>2]=ne,P0=g6+8|0,Fh=F9+P0|0,e[Fh>>2]=ne;break e}}while(!1);if(X$=L7+8|0,jA=e[X$>>2]|0,el=e[138266]|0,Th=jA>>>0>=el>>>0,zg=L7>>>0>=el>>>0,Nh=Th&zg,Nh){Gh=jA+12|0,e[Gh>>2]=ne,e[X$>>2]=ne,c2=g6+8|0,XA=F9+c2|0,e[XA>>2]=jA,u2=g6+12|0,tl=F9+u2|0,e[tl>>2]=L7,C0=g6+24|0,il=F9+C0|0,e[il>>2]=0;break}else Q2()}while(!1);return ea=F9+8|0,Ke=ea,Ke|0}else v4=g6}while(!1);if(gn=e[138264]|0,Uh=gn>>>0>>0,!Uh)return Mo=gn-v4|0,tr=e[138267]|0,Ph=Mo>>>0>15,Ph?(Oh=tr+v4|0,e[138267]=Oh,e[138264]=Mo,qh=Mo|1,f1=v4+4|0,Hh=tr+f1|0,e[Hh>>2]=qh,Yh=tr+gn|0,e[Yh>>2]=Mo,Jh=v4|3,Vh=tr+4|0,e[Vh>>2]=Jh):(e[138264]=0,e[138267]=0,zh=gn|3,Zh=tr+4|0,e[Zh>>2]=zh,s0=gn+4|0,nl=tr+s0|0,kr=e[nl>>2]|0,Wh=kr|1,e[nl>>2]=Wh),jh=tr+8|0,Ke=jh,Ke|0;if(sl=e[138265]|0,Xh=sl>>>0>v4>>>0,Xh)return ta=sl-v4|0,e[138265]=ta,To=e[138268]|0,eu=To+v4|0,e[138268]=eu,tu=ta|1,U=v4+4|0,ra=To+U|0,e[ra>>2]=tu,ol=v4|3,Al=To+4|0,e[Al>>2]=ol,al=To+8|0,Ke=al,Ke|0;na=e[138380]|0,$l=(na|0)==0;do if($l)if(No=Dv(30)|0,iu=No+-1|0,ll=iu&No,nu=(ll|0)==0,nu){e[138382]=No,e[138381]=No,e[138383]=-1,e[138384]=-1,e[138385]=0,e[138373]=0,su=Jp(0)|0,cl=su&-16,ou=cl^1431655768,e[138380]=ou;break}else Q2();while(!1);if(Au=v4+48|0,gl=e[138382]|0,hl=v4+47|0,ul=gl+hl|0,fl=0-gl|0,hn=ul&fl,au=hn>>>0>v4>>>0,!au||(Il=e[138372]|0,$u=(Il|0)==0,!$u&&(El=e[138370]|0,ml=El+hn|0,lu=ml>>>0<=El>>>0,cu=ml>>>0>Il>>>0,BA=lu|cu,BA)))return Ke=0,Ke|0;gu=e[138373]|0,sa=gu&4,Bl=(sa|0)==0;e:do if(Bl){cs=e[138268]|0,pl=(cs|0)==0;t:do if(pl)Y4=174;else{for(bs=553496;;){if(oa=e[bs>>2]|0,hu=oa>>>0>cs>>>0,!hu&&(Ql=bs+4|0,uu=e[Ql>>2]|0,yl=oa+uu|0,fu=yl>>>0>cs>>>0,fu)){v=bs,S=Ql;break}if(du=bs+8|0,kl=e[du>>2]|0,Iu=(kl|0)==0,Iu){Y4=174;break t}else bs=kl}if(bu=e[138265]|0,Du=ul-bu|0,Oo=Du&fl,_u=Oo>>>0<2147483647,_u)if(qo=N7(Oo|0)|0,xu=e[v>>2]|0,Lu=e[S>>2]|0,Fu=xu+Lu|0,Fl=(qo|0)==(Fu|0),n=Fl?Oo:0,Fl)if(Mu=(qo|0)==-1,Mu)Fr=n;else{$6=qo,ve=n,Y4=194;break e}else EA=qo,ii=Oo,yA=n,Y4=184;else Fr=0}while(!1);do if((Y4|0)==174)if(Go=N7(0)|0,Eu=(Go|0)==-1,Eu)Fr=0;else if(Aa=Go,vl=e[138381]|0,Sl=vl+-1|0,mu=Sl&Aa,Cu=(mu|0)==0,Cu?Rr=hn:(Bu=Sl+Aa|0,Qu=0-vl|0,yu=Bu&Qu,Uo=hn-Aa|0,bl=Uo+yu|0,Rr=bl),Dl=e[138370]|0,_l=Dl+Rr|0,Po=Rr>>>0>v4>>>0,wu=Rr>>>0<2147483647,WE=Po&wu,WE){if(xl=e[138372]|0,ku=(xl|0)==0,!ku&&(vu=_l>>>0<=Dl>>>0,Su=_l>>>0>xl>>>0,XE=vu|Su,XE)){Fr=0;break}if(Ll=N7(Rr|0)|0,aa=(Ll|0)==(Go|0),eh=aa?Rr:0,aa){$6=Go,ve=eh,Y4=194;break e}else EA=Ll,ii=Rr,yA=eh,Y4=184}else Fr=0;while(!1);t:do if((Y4|0)==184){Tu=0-ii|0,Nu=(EA|0)!=-1,Gu=ii>>>0<2147483647,tm=Gu&Nu,Ml=Au>>>0>ii>>>0,im=Ml&tm;do if(im)if(Tl=e[138382]|0,ir=hl-ii|0,Ho=ir+Tl|0,la=0-Tl|0,ca=Ho&la,un=ca>>>0<2147483647,un)if(Gl=N7(ca|0)|0,fn=(Gl|0)==-1,fn){N7(Tu|0)|0,Fr=yA;break t}else{Uu=ca+ii|0,A$=Uu;break}else A$=ii;else A$=ii;while(!1);if(Ul=(EA|0)==-1,Ul)Fr=yA;else{$6=EA,ve=A$,Y4=194;break e}}while(!1);Pu=e[138373]|0,Ou=Pu|4,e[138373]=Ou,th=Fr,Y4=191}else th=0,Y4=191;while(!1);if((Y4|0)==191&&(Hu=hn>>>0<2147483647,Hu&&(Yo=N7(hn|0)|0,ga=N7(0)|0,vr=(Yo|0)!=-1,Yu=(ga|0)!=-1,em=vr&Yu,Ju=Yo>>>0>>0,rm=Ju&em,rm&&(Pl=ga,ha=Yo,Ol=Pl-ha|0,ql=v4+40|0,Hl=Ol>>>0>ql>>>0,E2=Hl?Ol:th,Hl&&($6=Yo,ve=E2,Y4=194)))),(Y4|0)==194){Ku=e[138370]|0,ua=Ku+ve|0,e[138370]=ua,zu=e[138371]|0,Zu=ua>>>0>zu>>>0,Zu&&(e[138371]=ua),P9=e[138268]|0,Wu=(P9|0)==0;e:do if(Wu){for(Yl=e[138266]|0,ju=(Yl|0)==0,Xu=$6>>>0>>0,nm=ju|Xu,nm&&(e[138266]=$6),e[138374]=$6,e[138375]=ve,e[138377]=0,ef=e[138380]|0,e[138271]=ef,e[138270]=-1,CA=0;da=CA<<1,Jl=553088+(da<<2)|0,$0=da+3|0,tf=553088+($0<<2)|0,e[tf>>2]=Jl,j=da+2|0,rf=553088+(j<<2)|0,e[rf>>2]=Jl,Vl=CA+1|0,KE=(Vl|0)==32,!KE;)CA=Vl;Kl=ve+-40|0,nf=$6+8|0,Ia=nf,Ea=Ia&7,Zl=(Ea|0)==0,sf=0-Ia|0,Wl=sf&7,ma=Zl?0:Wl,of=$6+ma|0,jl=Kl-ma|0,e[138268]=of,e[138265]=jl,Af=jl|1,K=ma+4|0,af=$6+K|0,e[af>>2]=Af,l1=ve+-36|0,$f=$6+l1|0,e[$f>>2]=40,lf=e[138384]|0,e[138269]=lf}else{for(_s=553496;;){if(ec=e[_s>>2]|0,Ca=_s+4|0,Jo=e[Ca>>2]|0,tc=ec+Jo|0,cf=($6|0)==(tc|0),cf){m=ec,p=Ca,B=Jo,sm=_s,Y4=204;break}if(ic=_s+8|0,rc=e[ic>>2]|0,gf=(rc|0)==0,gf)break;_s=rc}if((Y4|0)==204&&(hf=sm+12|0,uf=e[hf>>2]|0,ff=uf&8,df=(ff|0)==0,df&&(If=P9>>>0>=m>>>0,Ef=P9>>>0<$6>>>0,Wg=Ef&If,Wg))){mf=B+ve|0,e[p>>2]=mf,Cf=e[138265]|0,sc=Cf+ve|0,Bf=P9+8|0,oc=Bf,pf=oc&7,Qf=(pf|0)==0,Ac=0-oc|0,yf=Ac&7,gs=Qf?0:yf,ac=P9+gs|0,Ba=sc-gs|0,e[138268]=ac,e[138265]=Ba,wf=Ba|1,n0=gs+4|0,Vo=P9+n0|0,e[Vo>>2]=wf,n1=sc+4|0,pa=P9+n1|0,e[pa>>2]=40,kf=e[138384]|0,e[138269]=kf;break}for($c=e[138266]|0,vf=$6>>>0<$c>>>0,vf?(e[138266]=$6,ds=$6):ds=$c,Sf=$6+ve|0,xs=553496;;){if(bf=e[xs>>2]|0,Df=(bf|0)==(Sf|0),Df){I=xs,ar=xs,Y4=212;break}if(_f=xs+8|0,lc=e[_f>>2]|0,xf=(lc|0)==0,xf){Ds=553496;break}else xs=lc}if((Y4|0)==212)if(Rf=ar+12|0,Lf=e[Rf>>2]|0,ya=Lf&8,Ff=(ya|0)==0,Ff){e[I>>2]=$6,wa=ar+4|0,Mf=e[wa>>2]|0,Tf=Mf+ve|0,e[wa>>2]=Tf,Nf=$6+8|0,cc=Nf,Gf=cc&7,Uf=(Gf|0)==0,Pf=0-cc|0,qf=Pf&7,zo=Uf?0:qf,Hf=$6+zo|0,I0=ve+8|0,Yf=$6+I0|0,gc=Yf,Jf=gc&7,Vf=(Jf|0)==0,Kf=0-gc|0,zf=Kf&7,fi=Vf?0:zf,S0=fi+ve|0,di=$6+S0|0,uc=di,ka=Hf,Zf=uc-ka|0,i0=zo+v4|0,X7=$6+i0|0,us=Zf-v4|0,Wf=v4|3,u0=zo+4|0,jf=$6+u0|0,e[jf>>2]=Wf,Xf=(di|0)==(P9|0);t:do if(Xf)ed=e[138265]|0,fc=ed+us|0,e[138265]=fc,e[138268]=X7,id=fc|1,q1=i0+4|0,rd=$6+q1|0,e[rd>>2]=id;else{if(dc=e[138267]|0,nd=(di|0)==(dc|0),nd){sd=e[138264]|0,fs=sd+us|0,e[138264]=fs,e[138267]=X7,va=fs|1,V1=i0+4|0,od=$6+V1|0,e[od>>2]=va,O1=fs+i0|0,Ic=$6+O1|0,e[Ic>>2]=fs;break}if(o1=ve+4|0,K0=o1+fi|0,ad=$6+K0|0,Zo=e[ad>>2]|0,$d=Zo&3,ld=($d|0)==1,ld){Ec=Zo&-8,mc=Zo>>>3,cd=Zo>>>0<256;i:do if(cd){G1=fi|8,V0=G1+ve|0,gd=$6+V0|0,In=e[gd>>2]|0,k1=ve+12|0,J0=k1+fi|0,hd=$6+J0|0,En=e[hd>>2]|0,fd=mc<<1,Cc=553088+(fd<<2)|0,dd=(In|0)==(Cc|0);do if(!dd){if(Id=In>>>0>>0,Id&&Q2(),Bc=In+12|0,Ed=e[Bc>>2]|0,pc=(Ed|0)==(di|0),pc)break;Q2()}while(!1);if(md=(En|0)==(In|0),md){Sa=1<>>0>>0,pd&&Q2(),wc=En+8|0,Qd=e[wc>>2]|0,yd=(Qd|0)==(di|0),yd){N=wc;break}Q2()}while(!1);wd=In+12|0,e[wd>>2]=En,e[N>>2]=In}else{R1=fi|24,_0=R1+ve|0,kd=$6+_0|0,Is=e[kd>>2]|0,Y1=ve+12|0,Q0=Y1+fi|0,vd=$6+Q0|0,mn=e[vd>>2]|0,Sd=(mn|0)==(di|0);do if(Sd){if(W1=fi|16,D0=o1+W1|0,Dc=$6+D0|0,_c=e[Dc>>2]|0,Rd=(_c|0)==0,Rd)if(T0=W1+ve|0,xc=$6+T0|0,Rc=e[xc>>2]|0,Ld=(Rc|0)==0,Ld){x7=0;break}else pn=Rc,fA=xc;else pn=_c,fA=Dc;for(;;){if(Lc=pn+20|0,Fc=e[Lc>>2]|0,Md=(Fc|0)==0,!Md){pn=Fc,fA=Lc;continue}if(Mc=pn+16|0,Tc=e[Mc>>2]|0,Td=(Tc|0)==0,Td){OE=pn,Jg=fA;break}else pn=Tc,fA=Mc}if(Nd=Jg>>>0>>0,Nd)Q2();else{e[Jg>>2]=0,x7=OE;break}}else if(F1=fi|8,F0=F1+ve|0,bd=$6+F0|0,ba=e[bd>>2]|0,Dd=ba>>>0>>0,Dd&&Q2(),Da=ba+12|0,_a=e[Da>>2]|0,vc=(_a|0)==(di|0),vc||Q2(),Sc=mn+8|0,xd=e[Sc>>2]|0,bc=(xd|0)==(di|0),bc){e[Da>>2]=mn,e[Sc>>2]=ba,x7=mn;break}else Q2();while(!1);if(Nc=(Is|0)==0,Nc)break;w1=ve+28|0,M0=w1+fi|0,xa=$6+M0|0,Gc=e[xa>>2]|0,Oc=553352+(Gc<<2)|0,Gd=e[Oc>>2]|0,Ud=(di|0)==(Gd|0);do if(Ud){if(e[Oc>>2]=x7,VE=(x7|0)==0,!VE)break;Pd=1<>>0>>0,Jd&&Q2(),qc=Is+16|0,Vd=e[qc>>2]|0,Kd=(Vd|0)==(di|0),Kd?e[qc>>2]=x7:(zd=Is+20|0,e[zd>>2]=x7),Hc=(x7|0)==0,Hc)break i;while(!1);Yc=e[138266]|0,Zd=x7>>>0>>0,Zd&&Q2(),Jc=x7+24|0,e[Jc>>2]=Is,S1=fi|16,N0=S1+ve|0,La=$6+N0|0,Wo=e[La>>2]|0,Vc=(Wo|0)==0;do if(!Vc)if(jd=Wo>>>0>>0,jd)Q2();else{Xd=x7+16|0,e[Xd>>2]=Wo,eI=Wo+24|0,e[eI>>2]=x7;break}while(!1);if(Y0=o1+S1|0,Kc=$6+Y0|0,jo=e[Kc>>2]|0,tI=(jo|0)==0,tI)break;if(iI=e[138266]|0,rI=jo>>>0>>0,rI)Q2();else{nI=x7+20|0,e[nI>>2]=jo,sI=jo+24|0,e[sI>>2]=x7;break}}while(!1);o2=Ec|fi,L0=o2+ve|0,AI=$6+L0|0,aI=Ec+us|0,Zg=AI,ti=aI}else Zg=di,ti=us;if(zc=Zg+4|0,$I=e[zc>>2]|0,lI=$I&-2,e[zc>>2]=lI,cI=ti|1,k0=i0+4|0,gI=$6+k0|0,e[gI>>2]=cI,B0=ti+i0|0,Xo=$6+B0|0,e[Xo>>2]=ti,Zc=ti>>>3,hI=ti>>>0<256,hI){Cn=Zc<<1,Wc=553088+(Cn<<2)|0,jc=e[138262]|0,Fa=1<>2]|0,II=e[138266]|0,mI=tg>>>0>>0,!mI){L=eg,Wa=tg;break}Q2()}while(!1);e[L>>2]=X7,CI=Wa+12|0,e[CI>>2]=X7,B1=i0+8|0,BI=$6+B1|0,e[BI>>2]=Wa,p1=i0+12|0,eA=$6+p1|0,e[eA>>2]=Wc;break}Ma=ti>>>8,pI=(Ma|0)==0;do if(pI)_r=0;else{if(QI=ti>>>0>16777215,QI){_r=31;break}yI=Ma+1048320|0,wI=yI>>>16,ig=wI&8,rg=Ma<>>16,ng=SI&4,Sr=ng|ig,sg=rg<>>16,Ag=bI&2,tA=Sr|Ag,_I=14-tA|0,xI=sg<>>15,ag=_I+iA|0,RI=ag<<1,LI=ag+7|0,$g=ti>>>LI,FI=$g&1,MI=FI|RI,_r=MI}while(!1);if(Ta=553352+(_r<<2)|0,y0=i0+28|0,TI=$6+y0|0,e[TI>>2]=_r,z0=i0+16|0,NI=$6+z0|0,G0=i0+20|0,GI=$6+G0|0,e[GI>>2]=0,e[NI>>2]=0,lg=e[138263]|0,cg=1<<_r,gg=lg&cg,UI=(gg|0)==0,UI){PI=lg|cg,e[138263]=PI,e[Ta>>2]=X7,r1=i0+24|0,Es=$6+r1|0,e[Es>>2]=Ta,e1=i0+12|0,OI=$6+e1|0,e[OI>>2]=X7,i1=i0+8|0,qI=$6+i1|0,e[qI>>2]=X7;break}Na=e[Ta>>2]|0,ug=Na+4|0,HI=e[ug>>2]|0,YI=HI&-8,JI=(YI|0)==(ti|0);i:do if(JI)xr=Na;else{for(VI=(_r|0)==31,fg=_r>>>1,KI=25-fg|0,zI=VI?0:KI,ZI=ti<>>31,Cg=(r$+16|0)+(mg<<2)|0,ms=e[Cg>>2]|0,vi=(ms|0)==0,vi){A=Cg,YE=r$;break}if(WI=ws<<1,jI=ms+4|0,Ig=e[jI>>2]|0,Eg=Ig&-8,XI=(Eg|0)==(ti|0),XI){xr=ms;break i}else ws=WI,r$=ms}if(nr=e[138266]|0,eE=A>>>0>>0,eE)Q2();else{e[A>>2]=X7,m1=i0+24|0,tE=$6+m1|0,e[tE>>2]=YE,d1=i0+12|0,iE=$6+d1|0,e[iE>>2]=X7,E1=i0+8|0,rE=$6+E1|0,e[rE>>2]=X7;break t}}while(!1);if(Ga=xr+8|0,sA=e[Ga>>2]|0,pg=e[138266]|0,Qg=sA>>>0>=pg>>>0,s$=xr>>>0>=pg>>>0,nE=Qg&s$,nE){Cs=sA+12|0,e[Cs>>2]=X7,e[Ga>>2]=X7,Z0=i0+8|0,sE=$6+Z0|0,e[sE>>2]=sA,I1=i0+12|0,AA=$6+I1|0,e[AA>>2]=xr,h1=i0+24|0,Ua=$6+h1|0,e[Ua>>2]=0;break}else Q2()}while(!1);return $1=zo|8,oE=$6+$1|0,Ke=oE,Ke|0}else Ds=553496;for(;;){if(Pa=e[Ds>>2]|0,AE=Pa>>>0>P9>>>0,!AE&&(aE=Ds+4|0,yg=e[aE>>2]|0,aA=Pa+yg|0,$E=aA>>>0>P9>>>0,$E)){c=Pa,u=yg,E=aA;break}lE=Ds+8|0,cE=e[lE>>2]|0,Ds=cE}if(a0=u+-47|0,c0=u+-39|0,gE=c+c0|0,kg=gE,hE=kg&7,Wt=(hE|0)==0,y4=0-kg|0,ei=y4&7,uE=Wt?0:ei,a1=a0+uE|0,Sg=c+a1|0,Oa=P9+16|0,fE=Sg>>>0>>0,br=fE?P9:Sg,Bs=br+8|0,dE=ve+-40|0,IE=$6+8|0,bg=IE,qa=bg&7,EE=(qa|0)==0,_g=0-bg|0,xg=_g&7,Ha=EE?0:xg,Ya=$6+Ha|0,Rg=dE-Ha|0,e[138268]=Ya,e[138265]=Rg,ps=Rg|1,Z=Ha+4|0,Ja=$6+Z|0,e[Ja>>2]=ps,s1=ve+-36|0,Lg=$6+s1|0,e[Lg>>2]=40,mE=e[138384]|0,e[138269]=mE,Bn=br+4|0,e[Bn>>2]=27,e[Bs>>2]=e[138374]|0,e[Bs+4>>2]=e[138375]|0,e[Bs+8>>2]=e[138376]|0,e[Bs+12>>2]=e[138377]|0,e[138374]=$6,e[138375]=ve,e[138377]=0,e[138376]=Bs,Fg=br+28|0,e[Fg>>2]=7,$A=br+32|0,BE=$A>>>0>>0,BE)for(Si=Fg;Mg=Si+4|0,e[Mg>>2]=7,pE=Si+8|0,QE=pE>>>0>>0,QE;)Si=Mg;if(yE=(br|0)==(P9|0),!yE){if(wE=br,kE=P9,bi=wE-kE|0,SE=e[Bn>>2]|0,bE=SE&-2,e[Bn>>2]=bE,DE=bi|1,Tg=P9+4|0,e[Tg>>2]=DE,e[br>>2]=bi,Ii=bi>>>3,lA=bi>>>0<256,lA){Va=Ii<<1,Ng=553088+(Va<<2)|0,Gg=e[138262]|0,Ug=1<>2]|0,LE=e[138266]|0,FE=qg>>>0>>0,FE?Q2():(x=Og,za=qg)),e[x>>2]=P9,Hg=za+12|0,e[Hg>>2]=P9,ME=P9+8|0,e[ME>>2]=za,cA=P9+12|0,e[cA>>2]=Ng;break}if(gA=bi>>>8,TE=(gA|0)==0,TE?sr=0:(Ka=bi>>>0>16777215,Ka?sr=31:(NE=gA+1048320|0,GE=NE>>>16,Yg=GE&8,ys=gA<>>16,l2=PE&4,r2=l2|Yg,a2=ys<>>16,f2=s2&2,e2=r2|f2,y2=14-e2|0,v2=a2<>>15,F2=y2+w2|0,D2=F2<<1,N2=F2+7|0,d2=bi>>>N2,K2=d2&1,G2=K2|D2,sr=G2)),H2=553352+(sr<<2)|0,M2=P9+28|0,e[M2>>2]=sr,P2=P9+20|0,e[P2>>2]=0,e[Oa>>2]=0,z2=e[138263]|0,O2=1<>2]=P9,e5=P9+24|0,e[e5>>2]=H2,b5=P9+12|0,e[b5>>2]=P9,Z2=P9+8|0,e[Z2>>2]=P9;break}f5=e[H2>>2]|0,v5=f5+4|0,P5=e[v5>>2]|0,k2=P5&-8,m5=(k2|0)==(bi|0);t:do if(m5)IA=f5;else{for(n5=(sr|0)==31,x2=sr>>>1,_2=25-x2|0,B2=n5?0:_2,C5=bi<>>31,c5=(n$+16|0)+(A5<<2)|0,D5=e[c5>>2]|0,B5=(D5|0)==0,B5){a=c5,Kg=n$;break}if(L5=e$<<1,d5=D5+4|0,_5=e[d5>>2]|0,q2=_5&-8,I5=(q2|0)==(bi|0),I5){IA=D5;break t}else e$=L5,n$=D5}if(M1=e[138266]|0,S5=a>>>0>>0,S5)Q2();else{e[a>>2]=P9,g5=P9+24|0,e[g5>>2]=Kg,a5=P9+12|0,e[a5>>2]=P9,g2=P9+8|0,e[g2>>2]=P9;break e}}while(!1);if(p5=IA+8|0,t5=e[p5>>2]|0,s5=e[138266]|0,h5=t5>>>0>=s5>>>0,zE=IA>>>0>=s5>>>0,J2=h5&zE,J2){u5=t5+12|0,e[u5>>2]=P9,e[p5>>2]=P9,i5=P9+8|0,e[i5>>2]=t5,x5=P9+12|0,e[x5>>2]=IA,j2=P9+24|0,e[j2>>2]=0;break}else Q2()}}while(!1);if(R2=e[138265]|0,Q5=R2>>>0>v4>>>0,Q5)return q5=R2-v4|0,e[138265]=q5,j5=e[138268]|0,E5=j5+v4|0,e[138268]=E5,f3=q5|1,V=v4+4|0,h3=j5+V|0,e[h3>>2]=f3,Y5=v4|3,X5=j5+4|0,e[X5>>2]=Y5,n3=j5+8|0,Ke=n3,Ke|0}return F5=Yp()|0,e[F5>>2]=12,Ke=0,Ke|0}function I2(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,R5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,R2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,k3=0,u3=0,p3=0,z3=0,G3=0,K5=0,w3=0,Z5=0,i6=0,R3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,L3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,X3=0,c6=0,p6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,R6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,L6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,M4=0,W4=0,C4=0,T4=0,U9=0,N4=0,a4=0,R4=0,u4=0,Ce=0,q9=0,m9=0,Be=0,Ne=0,Xe=0,G4=0,Ge=0,U4=0,j4=0,be=0,e8=0,Z9=0,ae=0,f4=0,_6=0,P4=0,L9=0,$4=0,_4=0,$e=0,W9=0,le=0,ce=0,B4=0,X4=0,L4=0,ge=0,C9=0,g6=0,Ue=0,l4=0,pe=0,p4=0,c4=0,P6=0,De=0,_e=0,t8=0,g4=0,k4=0,u8=0,J3=0,w9=0,B9=0,F4=0,ee=0,$t=0,xe=0;if(xe=C,X=(t|0)==0,!X){U=t+-8|0,K2=e[138266]|0,C6=U>>>0>>0,C6&&Q2(),y6=t+-4|0,$9=e[y6>>2]|0,z9=$9&3,x4=(z9|0)==1,x4&&Q2(),q9=$9&-8,p=q9+-8|0,Z9=t+p|0,$0=$9&1,j=($0|0)==0;do if(j){if(S0=e[U>>2]|0,D0=(z9|0)==0,D0)return;if(Q=-8-S0|0,b0=t+Q|0,Z0=S0+q9|0,w1=b0>>>0>>0,w1&&Q2(),O1=e[138267]|0,o2=(b0|0)==(O1|0),o2){if(z=q9+-4|0,n0=t+z|0,i0=e[n0>>2]|0,r0=i0&3,V=(r0|0)==3,!V){J3=b0,w9=Z0;break}e[138264]=Z0,h0=i0&-2,e[n0>>2]=h0,s0=Z0|1,_=Q+4|0,g0=t+_|0,e[g0>>2]=s0,e[Z9>>2]=Z0;return}if(s2=S0>>>3,G2=S0>>>0<256,G2){if(Y=Q+8|0,b5=t+Y|0,B2=e[b5>>2]|0,t0=Q+12|0,B5=t+t0|0,J2=e[B5>>2]|0,f3=s2<<1,z3=553088+(f3<<2)|0,C3=(B2|0)==(z3|0),C3||(u6=B2>>>0>>0,u6&&Q2(),l6=B2+12|0,b3=e[l6>>2]|0,O6=(b3|0)==(b0|0),O6||Q2()),J6=(J2|0)==(B2|0),J6){G6=1<>>0>>0,D6&&Q2(),z6=J2+8|0,F6=e[z6>>2]|0,M3=(F6|0)==(b0|0),M3?c=z6:Q2()),M6=B2+12|0,e[M6>>2]=J2,e[c>>2]=B2,J3=b0,w9=Z0;break}R=Q+24|0,t9=t+R|0,A9=e[t9>>2]|0,x=Q+12|0,X6=t+x|0,u9=e[X6>>2]|0,f9=(u9|0)==(b0|0);do if(f9){if(M=Q+20|0,o4=t+M|0,h4=e[o4>>2]|0,G9=(h4|0)==0,G9)if(L=Q+16|0,b9=t+L|0,E9=e[b9>>2]|0,q6=(E9|0)==0,q6){C9=0;break}else L4=E9,pe=b9;else L4=h4,pe=o4;for(;;){if(r9=L4+20|0,m4=e[r9>>2]|0,S4=(m4|0)==0,!S4){L4=m4,pe=r9;continue}if(A4=L4+16|0,y9=e[A4>>2]|0,b4=(y9|0)==0,b4){ge=L4,p4=pe;break}else L4=y9,pe=A4}if(D4=p4>>>0>>0,D4)Q2();else{e[p4>>2]=0,C9=ge;break}}else if(O=Q+8|0,d9=t+O|0,a9=e[d9>>2]|0,T9=a9>>>0>>0,T9&&Q2(),E6=a9+12|0,T6=e[E6>>2]|0,i9=(T6|0)==(b0|0),i9||Q2(),N9=u9+8|0,I9=e[N9>>2]|0,E4=(I9|0)==(b0|0),E4){e[E6>>2]=u9,e[N9>>2]=a9,C9=u9;break}else Q2();while(!1);if(M4=(A9|0)==0,M4)J3=b0,w9=Z0;else{if(T=Q+28|0,W4=t+T|0,C4=e[W4>>2]|0,T4=553352+(C4<<2)|0,U9=e[T4>>2]|0,N4=(b0|0)==(U9|0),N4){if(e[T4>>2]=C9,g4=(C9|0)==0,g4){a4=1<>>0>>0,Be&&Q2(),Ne=A9+16|0,Xe=e[Ne>>2]|0,G4=(Xe|0)==(b0|0),G4?e[Ne>>2]=C9:(Ge=A9+20|0,e[Ge>>2]=C9),U4=(C9|0)==0,U4){J3=b0,w9=Z0;break}j4=e[138266]|0,be=C9>>>0>>0,be&&Q2(),e8=C9+24|0,e[e8>>2]=A9,N=Q+16|0,ae=t+N|0,f4=e[ae>>2]|0,_6=(f4|0)==0;do if(!_6)if(P4=f4>>>0>>0,P4)Q2();else{L9=C9+16|0,e[L9>>2]=f4,$4=f4+24|0,e[$4>>2]=C9;break}while(!1);if(G=Q+20|0,_4=t+G|0,$e=e[_4>>2]|0,W9=($e|0)==0,W9)J3=b0,w9=Z0;else if(le=e[138266]|0,Z=$e>>>0>>0,Z)Q2();else{K=C9+20|0,e[K>>2]=$e,a0=$e+24|0,e[a0>>2]=C9,J3=b0,w9=Z0;break}}}else J3=U,w9=q9;while(!1);if(c0=J3>>>0>>0,c0||Q2(),b=q9+-4|0,u0=t+b|0,d0=e[u0>>2]|0,w0=d0&1,C0=(w0|0)==0,C0&&Q2(),k0=d0&2,f0=(k0|0)==0,f0){if(B0=e[138268]|0,p0=(Z9|0)==(B0|0),p0){if(I0=e[138265]|0,K0=I0+w9|0,e[138265]=K0,e[138268]=J3,_0=K0|1,Q0=J3+4|0,e[Q0>>2]=_0,F0=e[138267]|0,M0=(J3|0)==(F0|0),!M0)return;e[138267]=0,e[138264]=0;return}if(N0=e[138267]|0,U0=(Z9|0)==(N0|0),U0){y0=e[138264]|0,Y0=y0+w9|0,e[138264]=Y0,e[138267]=J3,L0=Y0|1,T0=J3+4|0,e[T0>>2]=L0,V0=J3+Y0|0,e[V0>>2]=Y0;return}J0=d0&-8,P0=J0+w9|0,z0=d0>>>3,G0=d0>>>0<256;do if(G0){if(O0=t+q9|0,r1=e[O0>>2]|0,y=q9|4,H0=t+y|0,e1=e[H0>>2]|0,i1=z0<<1,c1=553088+(i1<<2)|0,$1=(r1|0)==(c1|0),$1||(f1=e[138266]|0,g1=r1>>>0>>0,g1&&Q2(),l1=r1+12|0,s1=e[l1>>2]|0,a1=(s1|0)==(Z9|0),a1||Q2()),n1=(e1|0)==(r1|0),n1){o1=1<>>0>>0,B1&&Q2(),p1=e1+8|0,Q1=e[p1>>2]|0,_1=(Q1|0)==(Z9|0),_1?a=p1:Q2()),x1=r1+12|0,e[x1>>2]=e1,e[a>>2]=r1}else{J=q9+16|0,S1=t+J|0,R1=e[S1>>2]|0,W=q9|4,F1=t+W|0,G1=e[F1>>2]|0,k1=(G1|0)==(Z9|0);do if(k1){if(q=q9+12|0,W1=t+q|0,P1=e[W1>>2]|0,c2=(P1|0)==0,c2)if(e0=q9+8|0,z1=t+e0|0,u2=e[z1>>2]|0,E2=(u2|0)==0,E2){l4=0;break}else g6=u2,c4=z1;else g6=P1,c4=W1;for(;;){if(A2=g6+20|0,K1=e[A2>>2]|0,h2=(K1|0)==0,!h2){g6=K1,c4=A2;continue}if($2=g6+16|0,i2=e[$2>>2]|0,l2=(i2|0)==0,l2){Ue=g6,P6=c4;break}else g6=i2,c4=$2}if(r2=e[138266]|0,a2=P6>>>0>>0,a2)Q2();else{e[P6>>2]=0,l4=Ue;break}}else if(U1=t+q9|0,Z1=e[U1>>2]|0,N1=e[138266]|0,b1=Z1>>>0>>0,b1&&Q2(),V1=Z1+12|0,q1=e[V1>>2]|0,H1=(q1|0)==(Z9|0),H1||Q2(),Y1=G1+8|0,j1=e[Y1>>2]|0,n2=(j1|0)==(Z9|0),n2){e[V1>>2]=G1,e[Y1>>2]=Z1,l4=G1;break}else Q2();while(!1);if(X1=(R1|0)==0,!X1){if(v=q9+20|0,f2=t+v|0,e2=e[f2>>2]|0,y2=553352+(e2<<2)|0,v2=e[y2>>2]|0,w2=(Z9|0)==(v2|0),w2){if(e[y2>>2]=l4,k4=(l4|0)==0,k4){C2=1<>>0>>0,H2&&Q2(),M2=R1+16|0,P2=e[M2>>2]|0,z2=(P2|0)==(Z9|0),z2?e[M2>>2]=l4:(o5=R1+20|0,e[o5>>2]=l4),O2=(l4|0)==0,O2)break;T1=e[138266]|0,X2=l4>>>0>>0,X2&&Q2(),R5=l4+24|0,e[R5>>2]=R1,S=q9+8|0,e5=t+S|0,Z2=e[e5>>2]|0,f5=(Z2|0)==0;do if(!f5)if(v5=Z2>>>0>>0,v5)Q2();else{P5=l4+16|0,e[P5>>2]=Z2,l5=Z2+24|0,e[l5>>2]=l4;break}while(!1);if(w=q9+12|0,k2=t+w|0,m5=e[k2>>2]|0,n5=(m5|0)==0,!n5)if(x2=e[138266]|0,_2=m5>>>0>>0,_2)Q2();else{C5=l4+20|0,e[C5>>2]=m5,L5=m5+24|0,e[L5>>2]=l4;break}}}while(!1);if(d5=P0|1,D5=J3+4|0,e[D5>>2]=d5,G5=J3+P0|0,e[G5>>2]=P0,_5=e[138267]|0,q2=(J3|0)==(_5|0),q2){e[138264]=P0;return}else B9=P0}else I5=d0&-2,e[u0>>2]=I5,A5=w9|1,c5=J3+4|0,e[c5>>2]=A5,M1=J3+w9|0,e[M1>>2]=w9,B9=w9;if(S5=B9>>>3,g5=B9>>>0<256,g5){a5=S5<<1,W2=553088+(a5<<2)|0,g2=e[138262]|0,p5=1<>2]|0,x5=e[138266]|0,j2=i5>>>0>>0,j2?Q2():(u=u5,ce=i5)),e[u>>2]=J3,$5=ce+12|0,e[$5>>2]=J3,R2=J3+8|0,e[R2>>2]=ce,Q5=J3+12|0,e[Q5>>2]=W2;return}q5=B9>>>8,j5=(q5|0)==0,j5?B4=0:(E5=B9>>>0>16777215,E5?B4=31:(h3=q5+1048320|0,Y5=h3>>>16,X5=Y5&8,n3=q5<>>16,J5=F5&4,k3=J5|X5,u3=n3<>>16,K5=G3&2,w3=k3|K5,Z5=14-w3|0,i6=u3<>>15,U3=Z5+R3|0,a3=U3<<1,l3=U3+7|0,c3=B9>>>l3,H5=c3&1,U5=H5|a3,B4=U5)),O5=553352+(B4<<2)|0,k5=J3+28|0,e[k5>>2]=B4,P3=J3+16|0,M5=J3+20|0,e[M5>>2]=0,e[P3>>2]=0,o6=e[138263]|0,e3=1<>2]=J3,v3=J3+24|0,e[v3>>2]=O5,y3=J3+12|0,e[y3>>2]=J3,r6=J3+8|0,e[r6>>2]=J3;else{j3=e[O5>>2]|0,O3=j3+4|0,V5=e[O3>>2]|0,S3=V5&-8,g3=(S3|0)==(B9|0);t:do if(g3)De=j3;else{for(q3=(B4|0)==31,d3=B4>>>1,k6=25-d3|0,v6=q3?0:k6,S6=B9<>>31,t6=(_e+16|0)+(e6<<2)|0,c6=e[t6>>2]|0,f6=(c6|0)==0,f6){n=t6,t8=_e;break}if(B6=X4<<1,X3=c6+4|0,p6=e[X3>>2]|0,x6=p6&-8,Y6=(x6|0)==(B9|0),Y6){De=c6;break t}else X4=B6,_e=c6}if(H3=e[138266]|0,D3=n>>>0

>>0,D3)Q2();else{e[n>>2]=J3,Y3=J3+24|0,e[Y3>>2]=t8,Z3=J3+12|0,e[Z3>>2]=J3,b6=J3+8|0,e[b6>>2]=J3;break e}}while(!1);if(A6=De+8|0,t3=e[A6>>2]|0,s3=e[138266]|0,a6=t3>>>0>=s3>>>0,u8=De>>>0>=s3>>>0,d6=a6&u8,d6){_3=t3+12|0,e[_3>>2]=J3,e[A6>>2]=J3,N6=J3+8|0,e[N6>>2]=t3,n6=J3+12|0,e[n6>>2]=De,Q6=J3+24|0,e[Q6>>2]=0;break}else Q2()}while(!1);if(R6=e[138270]|0,K6=R6+-1|0,e[138270]=K6,I6=(K6|0)==0,I6)ee=553504;else return;for(;F4=e[ee>>2]|0,F3=(F4|0)==0,j6=F4+8|0,!F3;)ee=j6;e[138270]=-1}}function n4(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0;return _=C,a=(t|0)==0,a?b=0:(c=r5(n,t)|0,I=n|t,m=I>>>0>65535,m?(p=(c>>>0)/(t>>>0)&-1,B=(p|0)==(n|0),A=B?c:-1,b=A):b=c),v=S9(b)|0,S=(v|0)==0,S||(w=v+-4|0,y=e[w>>2]|0,u=y&3,E=(u|0)==0,E)||Ae(v|0,0,b|0)|0,v|0}function Oi(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0;return Y=C,A=(t|0)==0,A?(a=S9(n)|0,O=a,O|0):(y=n>>>0>4294967231,y?(R=Yp()|0,e[R>>2]=12,O=0,O|0):(x=n>>>0<11,L=n+11|0,M=L&-8,T=x?16:M,N=t+-8|0,G=Eb(N,T)|0,c=(G|0)==0,c?(E=S9(n)|0,I=(E|0)==0,I?(O=0,O|0):(m=t+-4|0,p=e[m>>2]|0,B=p&-8,v=p&3,S=(v|0)==0,w=S?8:4,b=B-w|0,Q=b>>>0>>0,_=Q?b:n,s4(E|0,t|0,_|0)|0,I2(t),O=E,O|0)):(u=G+8|0,O=u,O|0)))}function Eb(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,R5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,R2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0;if(J5=C,N=t+4|0,G=e[N>>2]|0,k1=G&-8,n2=t+k1|0,$2=e[138266]|0,w2=G&3,f3=t>>>0>=$2>>>0,h3=(w2|0)!=1,Y5=h3&f3,z2=t>>>0>>0,X5=Y5&z2,X5||Q2(),_=k1|4,P5=t+_|0,D5=e[P5>>2]|0,a5=D5&1,O=(a5|0)==0,O&&Q2(),Z=(w2|0)==0,Z)return c0=n>>>0<256,c0?(E5=0,E5|0):(K0=n+4|0,T0=k1>>>0>>0,!T0&&(i1=k1-n|0,I1=e[138382]|0,S1=I1<<1,F1=i1>>>0>S1>>>0,!F1)?(E5=t,E5|0):(E5=0,E5|0));if(G1=k1>>>0>>0,!G1)return U1=k1-n|0,Z1=U1>>>0>15,Z1?(N1=t+n|0,b1=G&1,V1=b1|n,O1=V1|2,e[N>>2]=O1,Q=n+4|0,q1=t+Q|0,H1=U1|3,e[q1>>2]=H1,Y1=e[P5>>2]|0,j1=Y1|1,e[P5>>2]=j1,pQ(N1,U1),E5=t,E5|0):(E5=t,E5|0);if(W1=e[138268]|0,P1=(n2|0)==(W1|0),P1)return c2=e[138265]|0,z1=c2+k1|0,u2=z1>>>0>n>>>0,u2?(o2=z1-n|0,E2=t+n|0,A2=G&1,K1=A2|n,h2=K1|2,e[N>>2]=h2,b=n+4|0,i2=t+b|0,l2=o2|1,e[i2>>2]=l2,e[138268]=E2,e[138265]=o2,E5=t,E5|0):(E5=0,E5|0);if(r2=e[138267]|0,a2=(n2|0)==(r2|0),a2)return X1=e[138264]|0,s2=X1+k1|0,f2=s2>>>0>>0,f2?(E5=0,E5|0):(e2=s2-n|0,y2=e2>>>0>15,y2?(v2=t+n|0,C2=t+s2|0,F2=G&1,D2=F2|n,N2=D2|2,e[N>>2]=N2,S=n+4|0,d2=t+S|0,K2=e2|1,e[d2>>2]=K2,e[C2>>2]=e2,y=s2+4|0,G2=t+y|0,H2=e[G2>>2]|0,M2=H2&-2,e[G2>>2]=M2,n3=v2,m3=e2):(P2=G&1,o5=P2|s2,O2=o5|2,e[N>>2]=O2,v=s2+4|0,T1=t+v|0,X2=e[T1>>2]|0,R5=X2|1,e[T1>>2]=R5,n3=0,m3=0),e[138264]=m3,e[138267]=n3,E5=t,E5|0);if(e5=D5&2,b5=(e5|0)==0,!b5||(Z2=D5&-8,f5=Z2+k1|0,v5=f5>>>0>>0,v5))return E5=0,E5|0;l5=f5-n|0,k2=D5>>>3,m5=D5>>>0<256;do if(m5){if(p=k1+8|0,n5=t+p|0,x2=e[n5>>2]|0,B=k1+12|0,_2=t+B|0,B2=e[_2>>2]|0,C5=k2<<1,L5=553088+(C5<<2)|0,d5=(x2|0)==(L5|0),d5||(G5=x2>>>0<$2>>>0,G5&&Q2(),_5=x2+12|0,q2=e[_5>>2]|0,I5=(q2|0)==(n2|0),I5||Q2()),A5=(B2|0)==(x2|0),A5){c5=1<>>0<$2>>>0,W2&&Q2(),g2=B2+8|0,p5=e[g2>>2]|0,t5=(p5|0)==(n2|0),t5?a=g2:Q2()),s5=x2+12|0,e[s5>>2]=B2,e[a>>2]=x2}else{c=k1+24|0,h5=t+c|0,J2=e[h5>>2]|0,w=k1+12|0,u5=t+w|0,i5=e[u5>>2]|0,x5=(i5|0)==(n2|0);do if(x5){if(x=k1+20|0,$0=t+x|0,K=e[$0>>2]|0,a0=(K|0)==0,a0)if(R=k1+16|0,n0=t+R|0,i0=e[n0>>2]|0,r0=(i0|0)==0,r0){R2=0;break}else j2=i0,Q5=n0;else j2=K,Q5=$0;for(;;){if(V=j2+20|0,h0=e[V>>2]|0,s0=(h0|0)==0,!s0){j2=h0,Q5=V;continue}if(g0=j2+16|0,j=e[g0>>2]|0,u0=(j|0)==0,u0){$5=j2,q5=Q5;break}else j2=j,Q5=g0}if(d0=q5>>>0<$2>>>0,d0)Q2();else{e[q5>>2]=0,R2=$5;break}}else if(m=k1+8|0,z=t+m|0,Y=e[z>>2]|0,t0=Y>>>0<$2>>>0,t0&&Q2(),J=Y+12|0,W=e[J>>2]|0,e0=(W|0)==(n2|0),e0||Q2(),q=i5+8|0,X=e[q>>2]|0,U=(X|0)==(n2|0),U){e[J>>2]=i5,e[q>>2]=Y,R2=i5;break}else Q2();while(!1);if(w0=(J2|0)==0,!w0){if(u=k1+28|0,C0=t+u|0,k0=e[C0>>2]|0,f0=553352+(k0<<2)|0,B0=e[f0>>2]|0,p0=(n2|0)==(B0|0),p0){if(e[f0>>2]=R2,j5=(R2|0)==0,j5){I0=1<>>0>>0,M0&&Q2(),N0=J2+16|0,U0=e[N0>>2]|0,y0=(U0|0)==(n2|0),y0?e[N0>>2]=R2:(Y0=J2+20|0,e[Y0>>2]=R2),L0=(R2|0)==0,L0)break;D0=e[138266]|0,V0=R2>>>0>>0,V0&&Q2(),J0=R2+24|0,e[J0>>2]=J2,E=k1+16|0,P0=t+E|0,z0=e[P0>>2]|0,G0=(z0|0)==0;do if(!G0)if(O0=z0>>>0>>0,O0)Q2();else{r1=R2+16|0,e[r1>>2]=z0,H0=z0+24|0,e[H0>>2]=R2;break}while(!1);if(I=k1+20|0,e1=t+I|0,b0=e[e1>>2]|0,c1=(b0|0)==0,!c1)if($1=e[138266]|0,f1=b0>>>0<$1>>>0,f1)Q2();else{g1=R2+20|0,e[g1>>2]=b0,l1=b0+24|0,e[l1>>2]=R2;break}}}while(!1);return s1=l5>>>0<16,s1?(a1=G&1,n1=f5|a1,o1=n1|2,e[N>>2]=o1,T=f5|4,Z0=t+T|0,h1=e[Z0>>2]|0,m1=h1|1,e[Z0>>2]=m1,E5=t,E5|0):(d1=t+n|0,E1=G&1,B1=E1|n,p1=B1|2,e[N>>2]=p1,L=n+4|0,Q1=t+L|0,_1=l5|3,e[Q1>>2]=_1,M=f5|4,x1=t+M|0,w1=e[x1>>2]|0,R1=w1|1,e[x1>>2]=R1,pQ(d1,l5),E5=t,E5|0)}function pQ(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0,T0=0,V0=0,J0=0,P0=0,z0=0,G0=0,O0=0,r1=0,H0=0,e1=0,b0=0,i1=0,c1=0,$1=0,f1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,Z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,_1=0,x1=0,w1=0,S1=0,R1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,b1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,n2=0,W1=0,P1=0,c2=0,z1=0,u2=0,o2=0,E2=0,A2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,a2=0,X1=0,s2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,R5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,R2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,k3=0,u3=0,p3=0,z3=0,G3=0,K5=0,w3=0,Z5=0,i6=0,R3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,L3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,X3=0,c6=0,p6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,R6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,L6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,M4=0,W4=0,C4=0,T4=0,U9=0,N4=0,a4=0,R4=0,u4=0,Ce=0,q9=0,m9=0,Be=0,Ne=0,Xe=0,G4=0,Ge=0,U4=0,j4=0,be=0,e8=0,Z9=0,ae=0,f4=0,_6=0,P4=0,L9=0,$4=0,_4=0,$e=0,W9=0,le=0,ce=0,B4=0,X4=0,L4=0,ge=0,C9=0,g6=0,Ue=0,l4=0,pe=0,p4=0;p4=C,K=t+n|0,a0=t+4|0,P2=e[a0>>2]|0,f6=P2&1,J6=(f6|0)==0;do if(J6){if(F6=e[t>>2]|0,T9=P2&3,b9=(T9|0)==0,b9)return;if(M4=0-F6|0,m9=t+M4|0,n0=F6+n|0,w0=e[138266]|0,F0=m9>>>0>>0,F0&&Q2(),P0=e[138267]|0,f1=(m9|0)==(P0|0),f1){if(w=n+4|0,Z9=t+w|0,i0=e[Z9>>2]|0,r0=i0&3,V=(r0|0)==3,!V){A=m9,a=n0;break}e[138264]=n0,h0=i0&-2,e[Z9>>2]=h0,s0=n0|1,x=4-F6|0,g0=t+x|0,e[g0>>2]=s0,e[K>>2]=n0;return}if(d1=F6>>>3,G1=F6>>>0<256,G1){if(J=8-F6|0,j1=t+J|0,h2=e[j1>>2]|0,W=12-F6|0,v2=t+W|0,z2=e[v2>>2]|0,P5=d1<<1,D5=553088+(P5<<2)|0,a5=(h2|0)==(D5|0),a5||(j2=h2>>>0>>0,j2&&Q2(),n3=h2+12|0,Z5=e[n3>>2]|0,k5=(Z5|0)==(m9|0),k5||Q2()),r6=(z2|0)==(h2|0),r6){S6=1<>>0>>0,N6&&Q2(),n6=z2+8|0,Q6=e[n6>>2]|0,R6=(Q6|0)==(m9|0),R6?m=n6:Q2()),K6=h2+12|0,e[K6>>2]=z2,e[m>>2]=h2,A=m9,a=n0;break}L=24-F6|0,I6=t+L|0,F3=e[I6>>2]|0,M=12-F6|0,j6=t+M|0,G6=e[j6>>2]|0,e9=(G6|0)==(m9|0);do if(e9){if(T=16-F6|0,N=T+4|0,A9=t+N|0,X6=e[A9>>2]|0,u9=(X6|0)==0,u9)if(f9=t+T|0,d9=e[f9>>2]|0,a9=(d9|0)==0,a9){$4=0;break}else P4=d9,le=f9;else P4=X6,le=A9;for(;;){if($9=P4+20|0,E6=e[$9>>2]|0,T6=(E6|0)==0,!T6){P4=E6,le=$9;continue}if(i9=P4+16|0,N9=e[i9>>2]|0,I9=(N9|0)==0,I9){L9=P4,ce=le;break}else P4=N9,le=i9}if(E4=ce>>>0>>0,E4)Q2();else{e[ce>>2]=0,$4=L9;break}}else if(t0=8-F6|0,s9=t+t0|0,L6=e[s9>>2]|0,U6=L6>>>0>>0,U6&&Q2(),D6=L6+12|0,z6=e[D6>>2]|0,y6=(z6|0)==(m9|0),y6||Q2(),M3=G6+8|0,M6=e[M3>>2]|0,t9=(M6|0)==(m9|0),t9){e[D6>>2]=G6,e[M3>>2]=L6,$4=G6;break}else Q2();while(!1);if(o4=(F3|0)==0,o4)A=m9,a=n0;else{if(O=28-F6|0,h4=t+O|0,G9=e[h4>>2]|0,z9=553352+(G9<<2)|0,E9=e[z9>>2]|0,q6=(m9|0)==(E9|0),q6){if(e[z9>>2]=$4,g6=($4|0)==0,g6){r9=1<>>0>>0,b4&&Q2(),D4=F3+16|0,x4=e[D4>>2]|0,W4=(x4|0)==(m9|0),W4?e[D4>>2]=$4:(C4=F3+20|0,e[C4>>2]=$4),T4=($4|0)==0,T4){A=m9,a=n0;break}U9=e[138266]|0,N4=$4>>>0>>0,N4&&Q2(),a4=$4+24|0,e[a4>>2]=F3,z=16-F6|0,R4=t+z|0,u4=e[R4>>2]|0,Ce=(u4|0)==0;do if(!Ce)if(q9=u4>>>0>>0,q9)Q2();else{Be=$4+16|0,e[Be>>2]=u4,Ne=u4+24|0,e[Ne>>2]=$4;break}while(!1);if(Y=z+4|0,Xe=t+Y|0,G4=e[Xe>>2]|0,Ge=(G4|0)==0,Ge)A=m9,a=n0;else if(U4=e[138266]|0,j4=G4>>>0>>0,j4)Q2();else{be=$4+20|0,e[be>>2]=G4,e8=G4+24|0,e[e8>>2]=$4,A=m9,a=n0;break}}}else A=t,a=n;while(!1);if(j=e[138266]|0,c0=K>>>0>>0,c0&&Q2(),y=n+4|0,u0=t+y|0,d0=e[u0>>2]|0,C0=d0&2,k0=(C0|0)==0,k0){if(f0=e[138268]|0,B0=(K|0)==(f0|0),B0){if(p0=e[138265]|0,I0=p0+a|0,e[138265]=I0,e[138268]=A,S0=I0|1,K0=A+4|0,e[K0>>2]=S0,_0=e[138267]|0,Q0=(A|0)==(_0|0),!Q0)return;e[138267]=0,e[138264]=0;return}if(M0=e[138267]|0,N0=(K|0)==(M0|0),N0){U0=e[138264]|0,y0=U0+a|0,e[138264]=y0,e[138267]=A,Y0=y0|1,L0=A+4|0,e[L0>>2]=Y0,D0=A+y0|0,e[D0>>2]=y0;return}T0=d0&-8,V0=T0+a|0,J0=d0>>>3,z0=d0>>>0<256;do if(z0){if(_=n+8|0,G0=t+_|0,O0=e[G0>>2]|0,R=n+12|0,r1=t+R|0,H0=e[r1>>2]|0,e1=J0<<1,b0=553088+(e1<<2)|0,i1=(O0|0)==(b0|0),i1||(c1=O0>>>0>>0,c1&&Q2(),$1=O0+12|0,g1=e[$1>>2]|0,l1=(g1|0)==(K|0),l1||Q2()),s1=(H0|0)==(O0|0),s1){a1=1<>>0>>0,h1&&Q2(),m1=H0+8|0,E1=e[m1>>2]|0,B1=(E1|0)==(K|0),B1?I=m1:Q2()),p1=O0+12|0,e[p1>>2]=H0,e[I>>2]=O0}else{G=n+24|0,Q1=t+G|0,_1=e[Q1>>2]|0,e0=n+12|0,x1=t+e0|0,w1=e[x1>>2]|0,S1=(w1|0)==(K|0);do if(S1){if(X=n+20|0,q1=t+X|0,H1=e[q1>>2]|0,Y1=(H1|0)==0,Y1)if(q=n+16|0,n2=t+q|0,W1=e[n2>>2]|0,P1=(W1|0)==0,P1){W9=0;break}else _4=W1,B4=n2;else _4=H1,B4=q1;for(;;){if(c2=_4+20|0,z1=e[c2>>2]|0,u2=(z1|0)==0,!u2){_4=z1,B4=c2;continue}if(o2=_4+16|0,E2=e[o2>>2]|0,A2=(E2|0)==0,A2){$e=_4,X4=B4;break}else _4=E2,B4=o2}if(K1=X4>>>0>>0,K1)Q2();else{e[X4>>2]=0,W9=$e;break}}else if(Q=n+8|0,R1=t+Q|0,F1=e[R1>>2]|0,k1=F1>>>0>>0,k1&&Q2(),U1=F1+12|0,Z1=e[U1>>2]|0,N1=(Z1|0)==(K|0),N1||Q2(),b1=w1+8|0,V1=e[b1>>2]|0,O1=(V1|0)==(K|0),O1){e[U1>>2]=w1,e[b1>>2]=F1,W9=w1;break}else Q2();while(!1);if($2=(_1|0)==0,!$2){if($0=n+28|0,i2=t+$0|0,l2=e[i2>>2]|0,r2=553352+(l2<<2)|0,a2=e[r2>>2]|0,X1=(K|0)==(a2|0),X1){if(e[r2>>2]=W9,Ue=(W9|0)==0,Ue){s2=1<>>0>>0,C2&&Q2(),F2=_1+16|0,D2=e[F2>>2]|0,N2=(D2|0)==(K|0),N2?e[F2>>2]=W9:(d2=_1+20|0,e[d2>>2]=W9),K2=(W9|0)==0,K2)break;G2=e[138266]|0,H2=W9>>>0>>0,H2&&Q2(),M2=W9+24|0,e[M2>>2]=_1,Z=n+16|0,o5=t+Z|0,O2=e[o5>>2]|0,T1=(O2|0)==0;do if(!T1)if(X2=O2>>>0>>0,X2)Q2();else{R5=W9+16|0,e[R5>>2]=O2,e5=O2+24|0,e[e5>>2]=W9;break}while(!1);if(b=n+20|0,b5=t+b|0,Z2=e[b5>>2]|0,f5=(Z2|0)==0,!f5)if(v5=e[138266]|0,l5=Z2>>>0>>0,l5)Q2();else{k2=W9+20|0,e[k2>>2]=Z2,m5=Z2+24|0,e[m5>>2]=W9;break}}}while(!1);if(n5=V0|1,x2=A+4|0,e[x2>>2]=n5,_2=A+V0|0,e[_2>>2]=V0,B2=e[138267]|0,C5=(A|0)==(B2|0),C5){e[138264]=V0;return}else c=V0}else L5=d0&-2,e[u0>>2]=L5,d5=a|1,G5=A+4|0,e[G5>>2]=d5,_5=A+a|0,e[_5>>2]=a,c=a;if(q2=c>>>3,I5=c>>>0<256,I5){A5=q2<<1,c5=553088+(A5<<2)|0,B5=e[138262]|0,M1=1<>2]|0,t5=e[138266]|0,s5=p5>>>0>>0,s5?Q2():(p=g2,ae=p5)),e[p>>2]=A,h5=ae+12|0,e[h5>>2]=A,J2=A+8|0,e[J2>>2]=ae,u5=A+12|0,e[u5>>2]=c5;return}if(i5=c>>>8,x5=(i5|0)==0,x5?f4=0:($5=c>>>0>16777215,$5?f4=31:(R2=i5+1048320|0,Q5=R2>>>16,q5=Q5&8,j5=i5<>>16,h3=f3&4,Y5=h3|q5,X5=j5<>>16,J5=F5&2,k3=Y5|J5,u3=14-k3|0,p3=X5<>>15,G3=u3+z3|0,K5=G3<<1,w3=G3+7|0,i6=c>>>w3,R3=i6&1,U3=R3|K5,f4=U3)),a3=553352+(f4<<2)|0,l3=A+28|0,e[l3>>2]=f4,c3=A+16|0,C3=A+20|0,e[C3>>2]=0,e[c3>>2]=0,H5=e[138263]|0,U5=1<>2]=A,o6=A+24|0,e[o6>>2]=a3,e3=A+12|0,e[e3>>2]=A,A3=A+8|0,e[A3>>2]=A;return}L3=e[a3>>2]|0,u6=L3+4|0,Q3=e[u6>>2]|0,v3=Q3&-8,y3=(v3|0)==(c|0);e:do if(y3)L4=L3;else{for(j3=(f4|0)==31,O3=f4>>>1,V5=25-O3|0,S3=j3?0:V5,g3=c<>>31,c6=(ge+16|0)+(X3<<2)|0,d3=e[c6>>2]|0,p6=(d3|0)==0,p6){u=c6,C9=ge;break}if(q3=_6<<1,l6=d3+4|0,k6=e[l6>>2]|0,v6=k6&-8,B6=(v6|0)==(c|0),B6){L4=d3;break e}else _6=q3,ge=d3}x6=e[138266]|0,Y6=u>>>0>>0,Y6&&Q2(),e[u>>2]=A,C6=A+24|0,e[C6>>2]=C9,b3=A+12|0,e[b3>>2]=A,e6=A+8|0,e[e6>>2]=A;return}while(!1);t6=L4+8|0,D3=e[t6>>2]|0,Y3=e[138266]|0,Z3=D3>>>0>=Y3>>>0,l4=L4>>>0>=Y3>>>0,b6=Z3&l4,b6||Q2(),A6=D3+12|0,e[A6>>2]=A,e[t6>>2]=A,t3=A+8|0,e[t3>>2]=D3,O6=A+12|0,e[O6>>2]=L4,s3=A+24|0,e[s3>>2]=0}function mb(){e[6410]=O9}function Ae(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,c=0,u=0,E=0;if(a=t+A|0,(A|0)>=20){if(n=n&255,E=t&3,c=n|n<<8|n<<16|n<<24,u=a&-4,E)for(E=t+4-E|0;(t|0)<(E|0);)d[t>>0]=n,t=t+1|0;for(;(t|0)<(u|0);)e[t>>2]=c,t=t+4|0}for(;(t|0)<(a|0);)d[t>>0]=n,t=t+1|0;return t-A|0}function Z$(t){t=t|0;var n=0;for(n=t;d[n>>0]|0;)n=n+1|0;return n-t|0}function QQ(t,n){t=t|0,n=n|0;var A=0,a=0;a=t+(Z$(t)|0)|0;do d[a+A>>0]=d[n+A>>0],A=A+1|0;while(d[n+(A-1)>>0]|0);return t|0}function yQ(t,n,A){t=t|0,n=n|0,A=A|0;var a=0;return(A|0)<32?(a=(1<>>32-A,t<>>0,u=n+a+(c>>>0>>0|0)>>>0,H6=u,c|0|0}function Zs(t,n,A){t=t|0,n=n|0,A=A|0;var a=0;return(A|0)<32?(a=(1<>>A,t>>>A|(n&a)<<32-A):(H6=0,n>>>A-32|0)}function s4(t,n,A){t=t|0,n=n|0,A=A|0;var a=0;if((A|0)>=4096)return bv(t|0,n|0,A|0)|0;if(a=t|0,(t&3)==(n&3)){for(;t&3;){if(!(A|0))return a|0;d[t>>0]=d[n>>0]|0,t=t+1|0,n=n+1|0,A=A-1|0}for(;(A|0)>=4;)e[t>>2]=e[n>>2]|0,t=t+4|0,n=n+4|0,A=A-4|0}for(;(A|0)>0;)d[t>>0]=d[n>>0]|0,t=t+1|0,n=n+1|0,A=A-1|0;return a|0}function WA(t,n,A){t=t|0,n=n|0,A=A|0;var a=0;if((n|0)<(t|0)&(t|0)<(n+A|0)){for(a=t,n=n+A|0,t=t+A|0;(A|0)>0;)t=t-1|0,n=n-1|0,A=A-1|0,d[t>>0]=d[n>>0]|0;t=a}else s4(t,n,A)|0;return t|0}function uB(t,n){t=t|0,n=n|0;var A=0;do d[(t+A|0)>>0]=d[(n+A|0)>>0],A=A+1|0;while(d[n+(A-1)>>0]|0);return t|0}function Ws(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var c=0,u=0;return c=t-A>>>0,u=n-a>>>0,u=n-a-(A>>>0>t>>>0|0)>>>0,H6=u,c|0|0}function GD(t,n,A){t=t|0,n=n|0,A=A|0;var a=0;return(A|0)<32?(a=(1<>A,t>>>A|(n&a)<<32-A):(H6=(n|0)<0?-1:0,n>>A-32|0)}function wQ(t){t=t|0;var n=0;return n=d[x9+(t&255)>>0]|0,(n|0)<8?n|0:(n=d[x9+(t>>8&255)>>0]|0,(n|0)<8?n+8|0:(n=d[x9+(t>>16&255)>>0]|0,(n|0)<8?n+16|0:(d[x9+(t>>>24)>>0]|0)+24|0))}function Cb(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0;return A=t&65535,a=n&65535,c=r5(a,A)|0,u=t>>>16,E=(c>>>16)+(r5(a,u)|0)|0,I=n>>>16,m=r5(I,A)|0,H6=((E>>>16)+(r5(I,u)|0)|0)+(((E&65535)+m|0)>>>16)|0,0|(E+m<<16|c&65535)|0}function UD(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0;return c=n>>31|((n|0)<0?-1:0)<<1,u=((n|0)<0?-1:0)>>31|((n|0)<0?-1:0)<<1,E=a>>31|((a|0)<0?-1:0)<<1,I=((a|0)<0?-1:0)>>31|((a|0)<0?-1:0)<<1,m=Ws(c^t,u^n,c,u)|0,p=H6,B=Ws(E^A,I^a,E,I)|0,v=E^c,S=I^u,w=jm(m,p,B,H6,0)|0,y=Ws(w^v,H6^S,v,S)|0,y|0}function PD(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0;return y=C,C=C+8|0,c=y|0,u=n>>31|((n|0)<0?-1:0)<<1,E=((n|0)<0?-1:0)>>31|((n|0)<0?-1:0)<<1,I=a>>31|((a|0)<0?-1:0)<<1,m=((a|0)<0?-1:0)>>31|((a|0)<0?-1:0)<<1,p=Ws(u^t,E^n,u,E)|0,B=H6,v=Ws(I^A,m^a,I,m)|0,jm(p,B,v,H6,c)|0,S=Ws(e[c>>2]^u,e[c+4>>2]^E,u,E)|0,w=H6,C=y,H6=w,S|0}function Bb(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var c=0,u=0,E=0,I=0,m=0;return c=t,u=A,E=Cb(c,u)|0,I=H6,m=r5(n,u)|0,H6=((r5(a,c)|0)+m|0)+I|I&0,0|E&-1|0}function OD(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var c=0;return c=jm(t,n,A,a,0)|0,c|0}function qD(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var c=0,u=0;return u=C,C=C+8|0,c=u|0,jm(t,n,A,a,c)|0,C=u,H6=e[c+4>>2]|0,e[c>>2]|0|0}function jm(t,n,A,a,c){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0;var u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,R=0,x=0,L=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,c0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,K0=0,_0=0,Q0=0,F0=0,M0=0,N0=0,U0=0,y0=0,Y0=0,L0=0,D0=0;if(u=t,E=n,I=E,m=A,p=a,B=p,!(I|0))return v=(c|0)!=0,B|0?v?(e[c>>2]=t&-1,e[c+4>>2]=n&0,D0=0,L0=0,H6=D0,L0|0):(D0=0,L0=0,H6=D0,L0|0):(v&&(e[c>>2]=(u>>>0)%(m>>>0),e[c+4>>2]=0),D0=0,L0=(u>>>0)/(m>>>0)>>>0,H6=D0,L0|0);S=(B|0)==0;do if(m|0){if(!S){if(Y=Ks(B|0)|0,t0=Y-(Ks(I|0)|0)|0,t0>>>0<=31){J=t0+1|0,W=31-t0|0,e0=t0-31>>31,Z=J,$0=u>>>(J>>>0)&e0|I<>>(J>>>0)&e0,X=0,q=u<>2]=0|t&-1,e[c+4>>2]=E|n&0,D0=0,L0=0,H6=D0,L0|0):(D0=0,L0=0,H6=D0,L0|0)}if(R=m-1|0,R&m|0){L=(Ks(m|0)|0)+33|0,M=L-(Ks(I|0)|0)|0,T=64-M|0,N=32-M|0,G=N>>31,O=M-32|0,z=O>>31,Z=M,$0=N-1>>31&I>>>(O>>>0)|(I<>>(M>>>0))&z,U=z&I>>>(M>>>0),X=u<>>(O>>>0))&G|u<>31;break}return c|0&&(e[c>>2]=R&u,e[c+4>>2]=0),(m|0)==1?(D0=E|n&0,L0=0|t&-1,H6=D0,L0|0):(x=wQ(m|0)|0,D0=0|I>>>(x>>>0),L0=I<<32-x|u>>>(x>>>0)|0,H6=D0,L0|0)}else{if(S)return c|0&&(e[c>>2]=(I>>>0)%(m>>>0),e[c+4>>2]=0),D0=0,L0=(I>>>0)/(m>>>0)>>>0,H6=D0,L0|0;if(!(u|0))return c|0&&(e[c>>2]=0,e[c+4>>2]=(I>>>0)%(B>>>0)),D0=0,L0=(I>>>0)/(B>>>0)>>>0,H6=D0,L0|0;if(w=B-1|0,!(w&B|0))return c|0&&(e[c>>2]=0|t&-1,e[c+4>>2]=w&I|n&0),D0=0,L0=I>>>((wQ(B|0)|0)>>>0),H6=D0,L0|0;if(y=Ks(B|0)|0,b=y-(Ks(I|0)|0)|0,b>>>0<=30){Q=b+1|0,_=31-b|0,Z=Q,$0=I<<_|u>>>(Q>>>0),U=I>>>(Q>>>0),X=0,q=u<<_;break}return c|0?(e[c>>2]=0|t&-1,e[c+4>>2]=E|n&0,D0=0,L0=0,H6=D0,L0|0):(D0=0,L0=0,H6=D0,L0|0)}while(!1);if(!(Z|0))N0=q,M0=X,F0=U,Q0=$0,_0=0,K0=0;else{for(K=0|A&-1,a0=p|a&0,n0=zs(K|0,a0|0,-1,-1)|0,i0=H6,j=q,g0=X,s0=U,h0=$0,V=Z,r0=0;c0=g0>>>31|j<<1,u0=r0|g0<<1,d0=0|(h0<<1|j>>>31),w0=h0>>>31|s0<<1|0,Ws(n0,i0,d0,w0)|0,C0=H6,k0=C0>>31|((C0|0)<0?-1:0)<<1,f0=k0&1,B0=Ws(d0,w0,k0&K,(((C0|0)<0?-1:0)>>31|((C0|0)<0?-1:0)<<1)&a0)|0,p0=B0,I0=H6,S0=V-1|0,S0|0;)j=c0,g0=u0,s0=I0,h0=p0,V=S0,r0=f0;N0=c0,M0=u0,F0=I0,Q0=p0,_0=0,K0=f0}return U0=M0,y0=0,Y0=N0|y0,c|0&&(e[c>>2]=0|Q0,e[c+4>>2]=F0|0),D0=(0|U0)>>>31|Y0<<1|(y0<<1|U0>>>31)&0|_0,L0=(U0<<1|0)&-2|K0,H6=D0,L0|0}function pb(t,n,A,a,c){return t=t|0,n=n|0,A=A|0,a=a|0,c=c|0,IB[t&3](n|0,A|0,a|0,c|0)|0}function Qb(t,n){t=t|0,n=n|0,js[t&7](n|0)}function yb(t,n,A){t=t|0,n=n|0,A=A|0,EB[t&3](n|0,A|0)}function wb(t,n){return t=t|0,n=n|0,SQ[t&1](n|0)|0}function kb(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0,bQ[t&1](n|0,A|0,a|0)}function vb(t,n,A,a,c,u,E,I,m){return t=t|0,n=n|0,A=A|0,a=a|0,c=c|0,u=u|0,E=E|0,I=I|0,m=m|0,DQ[t&3](n|0,A|0,a|0,c|0,u|0,E|0,I|0,m|0)|0}function Sb(t,n,A){return t=t|0,n=n|0,A=A|0,f7[t&15](n|0,A|0)|0}function bb(t,n,A,a,c,u){return t=t|0,n=n|0,A=A|0,a=a|0,c=c|0,u=u|0,mB[t&7](n|0,A|0,a|0,c|0,u|0)|0}function Db(t,n,A,a){return t=t|0,n=n|0,A=A|0,a=a|0,zr(0),0}function fB(t){t=t|0,zr(1)}function kQ(t,n){t=t|0,n=n|0,zr(2)}function _b(t){return t=t|0,zr(3),0}function xb(t,n,A){t=t|0,n=n|0,A=A|0,zr(4)}function vQ(t,n,A,a,c,u,E,I){return t=t|0,n=n|0,A=A|0,a=a|0,c=c|0,u=u|0,E=E|0,I=I|0,zr(5),0}function W$(t,n){return t=t|0,n=n|0,zr(6),0}function dB(t,n,A,a,c){return t=t|0,n=n|0,A=A|0,a=a|0,c=c|0,zr(7),0}var IB=[Db,IS,tS,iS],js=[fB,uS,fS,vS,US,PS,fB,fB],EB=[kQ,cS,OS,kQ],SQ=[_b,SS],bQ=[xb,wS],DQ=[vQ,JS,ZS,vQ],f7=[W$,gS,hS,dS,kS,bS,qS,HS,ES,GS,ib,W$,W$,W$,W$,W$],mB=[dB,YS,VS,KS,zS,WS,dB,dB];return{_memmove:WA,_strlen:Z$,_strcat:QQ,_free:I2,_i64Add:zs,_encoder_clear:lb,_encoder_transfer_data:ub,_encoder_data_len:hb,_memset:Ae,_malloc:S9,_memcpy:s4,_encoder_init:$b,_encoder_process:gb,_bitshift64Lshr:Zs,_bitshift64Shl:yQ,_strcpy:uB,_encoder_analysis_buffer:cb,runPostSets:mb,stackAlloc:xv,stackSave:Rv,stackRestore:Lv,establishStackSpace:Fv,setThrew:Mv,setTempRet0:Tv,getTempRet0:Nv,dynCall_iiiii:pb,dynCall_vi:Qb,dynCall_vii:yb,dynCall_ii:wb,dynCall_viii:kb,dynCall_iiiiiiiii:vb,dynCall_iii:Sb,dynCall_iiiiii:bb}}(o.asmGlobalArg,o.asmLibraryArg,Fi),uD=o.runPostSets=V9.runPostSets,hv=o._strlen=V9._strlen,uv=o._strcat=V9._strcat,iB=o._free=V9._free,fD=o._encoder_init=V9._encoder_init,fv=o._i64Add=V9._i64Add,dv=o._memmove=V9._memmove,dD=o._encoder_transfer_data=V9._encoder_transfer_data,ID=o._encoder_process=V9._encoder_process,ED=o._encoder_data_len=V9._encoder_data_len,Iv=o._memset=V9._memset,Sh=o._malloc=V9._malloc,Ev=o._memcpy=V9._memcpy,mD=o._encoder_clear=V9._encoder_clear,mv=o._bitshift64Lshr=V9._bitshift64Lshr,CD=o._encoder_analysis_buffer=V9._encoder_analysis_buffer,Cv=o._strcpy=V9._strcpy,Bv=o._bitshift64Shl=V9._bitshift64Shl,BD=o.dynCall_iiiii=V9.dynCall_iiiii,pD=o.dynCall_vi=V9.dynCall_vi,QD=o.dynCall_vii=V9.dynCall_vii,yD=o.dynCall_ii=V9.dynCall_ii,wD=o.dynCall_viii=V9.dynCall_viii,kD=o.dynCall_iiiiiiiii=V9.dynCall_iiiiiiiii,vD=o.dynCall_iii=V9.dynCall_iii,SD=o.dynCall_iiiiii=V9.dynCall_iiiiii;F.stackAlloc=V9.stackAlloc,F.stackSave=V9.stackSave,F.stackRestore=V9.stackRestore,F.establishStackSpace=V9.establishStackSpace,F.setTempRet0=V9.setTempRet0,F.getTempRet0=V9.getTempRet0;var bD=function(){var i={math:{}};i.math.Long=function(H,v0){this.low_=H|0,this.high_=v0|0},i.math.Long.IntCache_={},i.math.Long.fromInt=function(H){if(-128<=H&&H<128){var v0=i.math.Long.IntCache_[H];if(v0)return v0}var j0=new i.math.Long(H|0,H<0?-1:0);return-128<=H&&H<128&&(i.math.Long.IntCache_[H]=j0),j0},i.math.Long.fromNumber=function(H){return isNaN(H)||!isFinite(H)?i.math.Long.ZERO:H<=-i.math.Long.TWO_PWR_63_DBL_?i.math.Long.MIN_VALUE:H+1>=i.math.Long.TWO_PWR_63_DBL_?i.math.Long.MAX_VALUE:H<0?i.math.Long.fromNumber(-H).negate():new i.math.Long(H%i.math.Long.TWO_PWR_32_DBL_|0,H/i.math.Long.TWO_PWR_32_DBL_|0)},i.math.Long.fromBits=function(H,v0){return new i.math.Long(H,v0)},i.math.Long.fromString=function(H,v0){if(H.length==0)throw Error("number format error: empty string");var j0=v0||10;if(j0<2||36=0)throw Error('number format error: interior "-" character: '+H);for(var m2=i.math.Long.fromNumber(Math.pow(j0,8)),z5=i.math.Long.ZERO,N5=0;N5=0?this.low_:i.math.Long.TWO_PWR_32_DBL_+this.low_},i.math.Long.prototype.getNumBitsAbs=function(){if(this.isNegative())return this.equals(i.math.Long.MIN_VALUE)?64:this.negate().getNumBitsAbs();for(var H=this.high_!=0?this.high_:this.low_,v0=31;v0>0&&!(H&1<0},i.math.Long.prototype.greaterThanOrEqual=function(H){return this.compare(H)>=0},i.math.Long.prototype.compare=function(H){if(this.equals(H))return 0;var v0=this.isNegative(),j0=H.isNegative();return v0&&!j0?-1:!v0&&j0?1:this.subtract(H).isNegative()?-1:1},i.math.Long.prototype.negate=function(){return this.equals(i.math.Long.MIN_VALUE)?i.math.Long.MIN_VALUE:this.not().add(i.math.Long.ONE)},i.math.Long.prototype.add=function(H){var v0=this.high_>>>16,j0=this.high_&65535,m2=this.low_>>>16,z5=this.low_&65535,N5=H.high_>>>16,x3=H.high_&65535,Z6=H.low_>>>16,M9=H.low_&65535,R9=0,z4=0,e7=0,Zi=0;return Zi+=z5+M9,e7+=Zi>>>16,Zi&=65535,e7+=m2+Z6,z4+=e7>>>16,e7&=65535,z4+=j0+x3,R9+=z4>>>16,z4&=65535,R9+=v0+N5,R9&=65535,i.math.Long.fromBits(e7<<16|Zi,R9<<16|z4)},i.math.Long.prototype.subtract=function(H){return this.add(H.negate())},i.math.Long.prototype.multiply=function(H){if(this.isZero())return i.math.Long.ZERO;if(H.isZero())return i.math.Long.ZERO;if(this.equals(i.math.Long.MIN_VALUE))return H.isOdd()?i.math.Long.MIN_VALUE:i.math.Long.ZERO;if(H.equals(i.math.Long.MIN_VALUE))return this.isOdd()?i.math.Long.MIN_VALUE:i.math.Long.ZERO;if(this.isNegative())return H.isNegative()?this.negate().multiply(H.negate()):this.negate().multiply(H).negate();if(H.isNegative())return this.multiply(H.negate()).negate();if(this.lessThan(i.math.Long.TWO_PWR_24_)&&H.lessThan(i.math.Long.TWO_PWR_24_))return i.math.Long.fromNumber(this.toNumber()*H.toNumber());var v0=this.high_>>>16,j0=this.high_&65535,m2=this.low_>>>16,z5=this.low_&65535,N5=H.high_>>>16,x3=H.high_&65535,Z6=H.low_>>>16,M9=H.low_&65535,R9=0,z4=0,e7=0,Zi=0;return Zi+=z5*M9,e7+=Zi>>>16,Zi&=65535,e7+=m2*M9,z4+=e7>>>16,e7&=65535,e7+=z5*Z6,z4+=e7>>>16,e7&=65535,z4+=j0*M9,R9+=z4>>>16,z4&=65535,z4+=m2*Z6,R9+=z4>>>16,z4&=65535,z4+=z5*x3,R9+=z4>>>16,z4&=65535,R9+=v0*M9+j0*Z6+m2*x3+z5*N5,R9&=65535,i.math.Long.fromBits(e7<<16|Zi,R9<<16|z4)},i.math.Long.prototype.div=function(H){if(H.isZero())throw Error("division by zero");if(this.isZero())return i.math.Long.ZERO;if(this.equals(i.math.Long.MIN_VALUE)){if(H.equals(i.math.Long.ONE)||H.equals(i.math.Long.NEG_ONE))return i.math.Long.MIN_VALUE;if(H.equals(i.math.Long.MIN_VALUE))return i.math.Long.ONE;var v0=this.shiftRight(1),j0=v0.div(H).shiftLeft(1);if(j0.equals(i.math.Long.ZERO))return H.isNegative()?i.math.Long.ONE:i.math.Long.NEG_ONE;var N5=this.subtract(H.multiply(j0)),m2=j0.add(N5.div(H));return m2}else if(H.equals(i.math.Long.MIN_VALUE))return i.math.Long.ZERO;if(this.isNegative())return H.isNegative()?this.negate().div(H.negate()):this.negate().div(H).negate();if(H.isNegative())return this.div(H.negate()).negate();for(var z5=i.math.Long.ZERO,N5=this;N5.greaterThanOrEqual(H);){for(var j0=Math.max(1,Math.floor(N5.toNumber()/H.toNumber())),x3=Math.ceil(Math.log(j0)/Math.LN2),Z6=x3<=48?1:Math.pow(2,x3-48),M9=i.math.Long.fromNumber(j0),R9=M9.multiply(H);R9.isNegative()||R9.greaterThan(N5);)j0-=Z6,M9=i.math.Long.fromNumber(j0),R9=M9.multiply(H);M9.isZero()&&(M9=i.math.Long.ONE),z5=z5.add(M9),N5=N5.subtract(R9)}return z5},i.math.Long.prototype.modulo=function(H){return this.subtract(this.div(H).multiply(H))},i.math.Long.prototype.not=function(){return i.math.Long.fromBits(~this.low_,~this.high_)},i.math.Long.prototype.and=function(H){return i.math.Long.fromBits(this.low_&H.low_,this.high_&H.high_)},i.math.Long.prototype.or=function(H){return i.math.Long.fromBits(this.low_|H.low_,this.high_|H.high_)},i.math.Long.prototype.xor=function(H){return i.math.Long.fromBits(this.low_^H.low_,this.high_^H.high_)},i.math.Long.prototype.shiftLeft=function(H){if(H&=63,H==0)return this;var v0=this.low_;if(H<32){var j0=this.high_;return i.math.Long.fromBits(v0<>>32-H)}else return i.math.Long.fromBits(0,v0<>>H|v0<<32-H,v0>>H)}else return i.math.Long.fromBits(v0>>H-32,v0>=0?0:-1)},i.math.Long.prototype.shiftRightUnsigned=function(H){if(H&=63,H==0)return this;var v0=this.high_;if(H<32){var j0=this.low_;return i.math.Long.fromBits(j0>>>H|v0<<32-H,v0>>>H)}else return H==32?i.math.Long.fromBits(v0,0):i.math.Long.fromBits(v0>>>H-32,0)};var $={appName:"Modern Browser"},h,d=0xdeadbeefcafe,P=(d&16777215)==15715070;function e(H,v0,j0){H!=null&&(typeof H=="number"?this.fromNumber(H,v0,j0):v0==null&&typeof H!="string"?this.fromString(H,256):this.fromString(H,v0))}function W0(){return new e(null)}function t1(H,v0,j0,m2,z5,N5){for(;--N5>=0;){var x3=v0*this[H++]+j0[m2]+z5;z5=Math.floor(x3/67108864),j0[m2++]=x3&67108863}return z5}function b2(H,v0,j0,m2,z5,N5){for(var x3=v0&32767,Z6=v0>>15;--N5>=0;){var M9=this[H]&32767,R9=this[H++]>>15,z4=Z6*M9+R9*x3;M9=x3*M9+((z4&32767)<<15)+j0[m2]+(z5&1073741823),z5=(M9>>>30)+(z4>>>15)+Z6*R9+(z5>>>30),j0[m2++]=M9&1073741823}return z5}function s(H,v0,j0,m2,z5,N5){for(var x3=v0&16383,Z6=v0>>14;--N5>=0;){var M9=this[H]&16383,R9=this[H++]>>14,z4=Z6*M9+R9*x3;M9=x3*M9+((z4&16383)<<14)+j0[m2]+z5,z5=(M9>>28)+(z4>>14)+Z6*R9,j0[m2++]=M9&268435455}return z5}P&&$.appName=="Microsoft Internet Explorer"?(e.prototype.am=b2,h=30):P&&$.appName!="Netscape"?(e.prototype.am=t1,h=26):(e.prototype.am=s,h=28),e.prototype.DB=h,e.prototype.DM=(1<=0;--v0)H[v0]=this[v0];H.t=this.t,H.s=this.s}function w8(H){this.t=1,this.s=H<0?-1:0,H>0?this[0]=H:H<-1?this[0]=H+DV:this.t=0}function K9(H){var v0=W0();return v0.fromInt(H),v0}function h8(H,v0){var j0;if(v0==16)j0=4;else if(v0==8)j0=3;else if(v0==256)j0=8;else if(v0==2)j0=1;else if(v0==32)j0=5;else if(v0==4)j0=2;else{this.fromRadix(H,v0);return}this.t=0,this.s=0;for(var m2=H.length,z5=!1,N5=0;--m2>=0;){var x3=j0==8?H[m2]&255:O9(H,m2);if(x3<0){H.charAt(m2)=="-"&&(z5=!0);continue}z5=!1,N5==0?this[this.t++]=x3:N5+j0>this.DB?(this[this.t-1]|=(x3&(1<>this.DB-N5):this[this.t-1]|=x3<=this.DB&&(N5-=this.DB)}j0==8&&H[0]&128&&(this.s=-1,N5>0&&(this[this.t-1]|=(1<0&&this[this.t-1]==H;)--this.t}function Gi(H){if(this.s<0)return"-"+this.negate().toString(H);var v0;if(H==16)v0=4;else if(H==8)v0=3;else if(H==2)v0=1;else if(H==32)v0=5;else if(H==4)v0=2;else return this.toRadix(H);var j0=(1<0)for(Z6>Z6)>0&&(z5=!0,N5=x9(m2));x3>=0;)Z6>(Z6+=this.DB-v0)):(m2=this[x3]>>(Z6-=v0)&j0,Z6<=0&&(Z6+=this.DB,--x3)),m2>0&&(z5=!0),z5&&(N5+=x9(m2));return z5?N5:"0"}function Ui(){var H=W0();return e.ZERO.subTo(this,H),H}function dr(){return this.s<0?this.negate():this}function V$(H){var v0=this.s-H.s;if(v0!=0)return v0;var j0=this.t;if(v0=j0-H.t,v0!=0)return this.s<0?-v0:v0;for(;--j0>=0;)if((v0=this[j0]-H[j0])!=0)return v0;return 0}function Hm(H){var v0=1,j0;return(j0=H>>>16)!=0&&(H=j0,v0+=16),(j0=H>>8)!=0&&(H=j0,v0+=8),(j0=H>>4)!=0&&(H=j0,v0+=4),(j0=H>>2)!=0&&(H=j0,v0+=2),(j0=H>>1)!=0&&(H=j0,v0+=1),v0}function yp(){return this.t<=0?0:this.DB*(this.t-1)+Hm(this[this.t-1]^this.s&this.DM)}function wp(H,v0){var j0;for(j0=this.t-1;j0>=0;--j0)v0[j0+H]=this[j0];for(j0=H-1;j0>=0;--j0)v0[j0]=0;v0.t=this.t+H,v0.s=this.s}function kp(H,v0){for(var j0=H;j0=0;--Z6)v0[Z6+N5+1]=this[Z6]>>m2|x3,x3=(this[Z6]&z5)<=0;--Z6)v0[Z6]=0;v0[N5]=x3,v0.t=this.t+N5+1,v0.s=this.s,v0.clamp()}function Sp(H,v0){v0.s=this.s;var j0=Math.floor(H/this.DB);if(j0>=this.t){v0.t=0;return}var m2=H%this.DB,z5=this.DB-m2,N5=(1<>m2;for(var x3=j0+1;x3>m2;m2>0&&(v0[this.t-j0-1]|=(this.s&N5)<>=this.DB;if(H.t>=this.DB;m2+=this.s}else{for(m2+=this.s;j0>=this.DB;m2-=H.s}v0.s=m2<0?-1:0,m2<-1?v0[j0++]=this.DV+m2:m2>0&&(v0[j0++]=m2),v0.t=j0,v0.clamp()}function bp(H,v0){var j0=this.abs(),m2=H.abs(),z5=j0.t;for(v0.t=z5+m2.t;--z5>=0;)v0[z5]=0;for(z5=0;z5=0;)H[j0]=0;for(j0=0;j0=v0.DV&&(H[j0+v0.t]-=v0.DV,H[j0+v0.t+1]=1)}H.t>0&&(H[H.t-1]+=v0.am(j0,v0[j0],H,2*j0,0,1)),H.s=0,H.clamp()}function _p(H,v0,j0){var m2=H.abs();if(!(m2.t<=0)){var z5=this.abs();if(z5.t0?(m2.lShiftTo(M9,N5),z5.lShiftTo(M9,j0)):(m2.copyTo(N5),z5.copyTo(j0));var R9=N5.t,z4=N5[R9-1];if(z4!=0){var e7=z4*(1<1?N5[R9-2]>>this.F2:0),Zi=this.FV/e7,qp=(1<=0&&(j0[j0.t++]=1,j0.subTo(N7,j0)),e.ONE.dlShiftTo(R9,N7),N7.subTo(N5,N5);N5.t=0;){var Ym=j0[--ZA]==z4?this.DM:Math.floor(j0[ZA]*Zi+(j0[ZA-1]+Hp)*qp);if((j0[ZA]+=N5.am(0,Ym,j0,Dh,0,R9))0&&j0.rShiftTo(M9,j0),x3<0&&e.ZERO.subTo(j0,j0)}}}function xp(H){var v0=W0();return this.abs().divRemTo(H,null,v0),this.s<0&&v0.compareTo(e.ZERO)>0&&H.subTo(v0,v0),v0}function VA(H){this.m=H}function Rp(H){return H.s<0||H.compareTo(this.m)>=0?H.mod(this.m):H}function Lp(H){return H}function Fp(H){H.divRemTo(this.m,null,H)}function Mp(H,v0,j0){H.multiplyTo(v0,j0),this.reduce(j0)}function KA(H,v0){H.squareTo(v0),this.reduce(v0)}VA.prototype.convert=Rp,VA.prototype.revert=Lp,VA.prototype.reduce=Fp,VA.prototype.mulTo=Mp,VA.prototype.sqrTo=KA;function zi(){if(this.t<1)return 0;var H=this[0];if(!(H&1))return 0;var v0=H&3;return v0=v0*(2-(H&15)*v0)&15,v0=v0*(2-(H&255)*v0)&255,v0=v0*(2-((H&65535)*v0&65535))&65535,v0=v0*(2-H*v0%this.DV)%this.DV,v0>0?this.DV-v0:-v0}function Tn(H){this.m=H,this.mp=H.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<0&&this.m.subTo(v0,v0),v0}function zA(H){var v0=W0();return H.copyTo(v0),this.reduce(v0),v0}function Nn(H){for(;H.t<=this.mt2;)H[H.t++]=0;for(var v0=0;v0>15)*this.mpl&this.um)<<15)&H.DM;for(j0=v0+this.m.t,H[j0]+=this.m.am(0,m2,H,v0,0,this.m.t);H[j0]>=H.DV;)H[j0]-=H.DV,H[++j0]++}H.clamp(),H.drShiftTo(this.m.t,H),H.compareTo(this.m)>=0&&H.subTo(this.m,H)}function Tp(H,v0){H.squareTo(v0),this.reduce(v0)}function Np(H,v0,j0){H.multiplyTo(v0,j0),this.reduce(j0)}Tn.prototype.convert=bh,Tn.prototype.revert=zA,Tn.prototype.reduce=Nn,Tn.prototype.mulTo=Np,Tn.prototype.sqrTo=Tp;function Gp(){return(this.t>0?this[0]&1:this.s)==0}function Vs(H,v0){if(H>4294967295||H<1)return e.ONE;var j0=W0(),m2=W0(),z5=v0.convert(this),N5=Hm(H)-1;for(z5.copyTo(j0);--N5>=0;)if(v0.sqrTo(j0,m2),(H&1<0)v0.mulTo(m2,z5,j0);else{var x3=j0;j0=m2,m2=x3}return v0.revert(j0)}function Up(H,v0){var j0;return H<256||v0.isEven()?j0=new VA(v0):j0=new Tn(v0),this.exp(H,j0)}e.prototype.copyTo=I4,e.prototype.fromInt=w8,e.prototype.fromString=h8,e.prototype.clamp=K4,e.prototype.dlShiftTo=wp,e.prototype.drShiftTo=kp,e.prototype.lShiftTo=vp,e.prototype.rShiftTo=Sp,e.prototype.subTo=H6,e.prototype.multiplyTo=bp,e.prototype.squareTo=Dp,e.prototype.divRemTo=_p,e.prototype.invDigit=zi,e.prototype.isEven=Gp,e.prototype.exp=Vs,e.prototype.toString=Gi,e.prototype.negate=Ui,e.prototype.abs=dr,e.prototype.compareTo=V$,e.prototype.bitLength=yp,e.prototype.mod=xp,e.prototype.modPowInt=Up,e.ZERO=K9(0),e.ONE=K9(1);function Gn(H,v0){this.fromInt(0),v0==null&&(v0=10);for(var j0=this.chunkSize(v0),m2=Math.pow(v0,j0),z5=!1,N5=0,x3=0,Z6=0;Z6=j0&&(this.dMultiply(m2),this.dAddOffset(x3,0),N5=0,x3=0)}N5>0&&(this.dMultiply(Math.pow(v0,N5)),this.dAddOffset(x3,0)),z5&&e.ZERO.subTo(this,this)}function Kr(H){return Math.floor(Math.LN2*this.DB/Math.log(H))}function nB(){return this.s<0?-1:this.t<=0||this.t==1&&this[0]<=0?0:1}function r5(H){this[this.t]=this.am(0,H-1,this,0,0,this.t),++this.t,this.clamp()}function Pp(H,v0){if(H!=0){for(;this.t<=v0;)this[this.t++]=0;for(this[v0]+=H;this[v0]>=this.DV;)this[v0]-=this.DV,++v0>=this.t&&(this[this.t++]=0),++this[v0]}}function Ks(H){if(H==null&&(H=10),this.signum()==0||H<2||H>36)return"0";var v0=this.chunkSize(H),j0=Math.pow(H,v0),m2=K9(j0),z5=W0(),N5=W0(),x3="";for(this.divRemTo(m2,z5,N5);z5.signum()>0;)x3=(j0+N5.intValue()).toString(H).substr(1)+x3,z5.divRemTo(m2,z5,N5);return N5.intValue().toString(H)+x3}function zr(){if(this.s<0){if(this.t==1)return this[0]-this.DV;if(this.t==0)return-1}else{if(this.t==1)return this[0];if(this.t==0)return 0}return(this[1]&(1<<32-this.DB)-1)<>=this.DB;if(H.t>=this.DB;m2+=this.s}else{for(m2+=this.s;j0>=this.DB;m2+=H.s}v0.s=m2<0?-1:0,m2>0?v0[j0++]=m2:m2<-1&&(v0[j0++]=this.DV+m2),v0.t=j0,v0.clamp()}e.prototype.fromRadix=Gn,e.prototype.chunkSize=Kr,e.prototype.signum=nB,e.prototype.dMultiply=r5,e.prototype.dAddOffset=Pp,e.prototype.toRadix=Ks,e.prototype.intValue=zr,e.prototype.addTo=Op;var si={abs:function(H,v0){var j0=new i.math.Long(H,v0),m2;j0.isNegative()?m2=j0.negate():m2=j0,_9[y8>>2]=m2.low_,_9[y8+4>>2]=m2.high_},ensureTemps:function(){si.ensuredTemps||(si.ensuredTemps=!0,si.two32=new e,si.two32.fromString("4294967296",10),si.two64=new e,si.two64.fromString("18446744073709551616",10),si.temp1=new e,si.temp2=new e)},lh2bignum:function(H,v0){var j0=new e;j0.fromString(v0.toString(),10);var m2=new e;j0.multiplyTo(si.two32,m2);var z5=new e;z5.fromString(H.toString(),10);var N5=new e;return z5.addTo(m2,N5),N5},stringify:function(H,v0,j0){var m2=new i.math.Long(H,v0).toString();if(j0&&m2[0]=="-"){si.ensureTemps();var z5=new e;z5.fromString(m2,10),m2=new e,si.two64.addTo(z5,m2),m2=m2.toString(10)}return m2},fromString:function(H,v0,j0,m2,z5){si.ensureTemps();var N5=new e;N5.fromString(H,v0);var x3=new e;x3.fromString(j0,10);var Z6=new e;if(Z6.fromString(m2,10),z5&&N5.compareTo(e.ZERO)<0){var M9=new e;N5.addTo(si.two64,M9),N5=M9}var R9=!1;N5.compareTo(x3)<0?(N5=x3,R9=!0):N5.compareTo(Z6)>0&&(N5=Z6,R9=!0);var z4=i.math.Long.fromString(N5.toString());if(_9[y8>>2]=z4.low_,_9[y8+4>>2]=z4.high_,R9)throw"range error"}};return si}();function JA(i){this.name="ExitStatus",this.message="Program terminated with exit("+i+")",this.status=i}JA.prototype=new Error,JA.prototype.constructor=JA;var Cp,qm=null,pv=!1;Ti=function i(){o.calledRun||rB(),o.calledRun||(Ti=i)},o.callMain=o.callMain=function($){V4(mt==0,"cannot call main when async dependencies remain! (listen on __ATMAIN__)"),V4(Tm.length==0,"cannot call main when preRun functions remain to be called"),$=$||[],Os();var h=$.length+1;function d(){for(var t1=0;t1<3;t1++)P.push(0)}var P=[E3(Vr(o.thisProgram),"i8",qA)];d();for(var e=0;e0||(kh(),mt>0)||o.calledRun)return;function $(){o.calledRun||(o.calledRun=!0,!R0&&(Os(),cp(),g&&qm!==null&&o.printErr("pre-main prep time: "+(Date.now()-qm)+" ms"),o.onRuntimeInitialized&&o.onRuntimeInitialized(),o._main&&Qp&&o.callMain(i),U$()))}o.setStatus?(o.setStatus("Running..."),setTimeout(function(){setTimeout(function(){o.setStatus("")},1),$()},1)):$()}o.run=o.run=rB;function Bp(i,$){if(!($&&o.noExitRuntime))throw o.noExitRuntime||(R0=!0,L1=i,pi=Cp,Nm(),o.onExit&&o.onExit(i)),f?(process.stdout.once("drain",function(){process.exit(i)}),console.log(" "),setTimeout(function(){process.exit(i)},500)):o0&&typeof quit=="function"&&quit(i),new JA(i)}o.exit=o.exit=Bp;var pp=[];function Js(i){i!==void 0?(o.print(i),o.printErr(i),i=JSON.stringify(i)):i="",R0=!0,L1=1;var $=` -If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.`,h="abort("+i+") at "+Lm()+$;throw pp&&pp.forEach(function(d){h=d(h,i)}),h}if(o.abort=o.abort=Js,o.preInit)for(typeof o.preInit=="function"&&(o.preInit=[o.preInit]);o.preInit.length>0;)o.preInit.pop()();var Qp=!0;o.noInitialRun&&(Qp=!1),rB();var Qv=o._encoder_init,yv=o._encoder_clear,wv=o._encoder_analysis_buffer,kv=o._encoder_process,vv=o._encoder_data_len,Sv=o._encoder_transfer_data,Qi=o.HEAPU8,H$=o.HEAPU32,Y$=o.HEAPF32,J$=function(i,$,h){this.numChannels=$,this.oggBuffers=[],this.encoder=Qv(this.numChannels,i,h)};J$.prototype.encode=function(i){for(var $=i[0].length,h=wv(this.encoder,$)>>2,d=0;d>2);this.process($)},J$.prototype.finish=function(){this.process(0);let i=this.oggBuffers.slice();return this.cleanup(),i},J$.prototype.cancel=J$.prototype.cleanup=function(){yv(this.encoder),delete this.encoder,delete this.oggBuffers},J$.prototype.process=function(i){kv(this.encoder,i);var $=vv(this.encoder);if($>0){var h=Sv(this.encoder);this.oggBuffers.push(new Uint8Array(Qi.subarray(h,h+$)))}},JC.OggVorbisEncoder=J$}};typeof window<"u"&&window===self&&JC.init();function Dk(o,r,l,g){let f=new JC.OggVorbisEncoder(l,r,g);f.encode(o);let D=f.finish(),o0=D.reduce((l0,u1)=>l0+u1.length,0),E0=new Uint8Array(o0),m0=0;for(let l0 of D)E0.set(l0,m0),m0+=l0.length;return E0}var VC=class{constructor(r,l){let g=document.getElementsByClassName("drop_prompt")[0];document.body.addEventListener("dragover",f=>{f.preventDefault(),g.classList.remove("hidden")}),document.body.addEventListener("dragleave",()=>{g.classList.add("hidden")}),document.body.addEventListener("drop",async f=>{f.preventDefault(),g.classList.add("hidden");let D=f.dataTransfer.files[0];if(!D)return;let o0=D.name,E0=await D.arrayBuffer(),m0=E0.slice(0,4),l0=new TextDecoder;if(l0.decode(m0)==="RIFF"){let u1=E0.slice(8,12);if(l0.decode(u1)==="RMID"){r({buf:E0,name:o0});return}l(E0);return}r({buf:E0,name:o0})})}};document.body.classList.add("load");var _k=!1,Pr=class{channelColors=["rgba(255, 99, 71, 1)","rgba(255, 165, 0, 1)","rgba(255, 215, 0, 1)","rgba(50, 205, 50, 1)","rgba(60, 179, 113, 1)","rgba(0, 128, 0, 1)","rgba(0, 191, 255, 1)","rgba(65, 105, 225, 1)","rgba(138, 43, 226, 1)","rgba(50, 120, 125, 1)","rgba(255, 0, 255, 1)","rgba(255, 20, 147, 1)","rgba(218, 112, 214, 1)","rgba(240, 128, 128, 1)","rgba(255, 192, 203, 1)","rgba(255, 255, 0, 1)"];sfError;constructor(r,l,g){this.localeManager=g,this.context=r,this.isExporting=!1,this.compressionFunc=Dk;let f;this.ready=new Promise(D=>f=D),this.initializeContext(r,l).then(()=>{f()})}saveBlob(r,l){let g=URL.createObjectURL(r),f=document.createElement("a");f.href=g,f.download=l,f.click(),W5(f)}async initializeContext(r,l){if(!r.audioWorklet)throw alert("Audio worklet is not supported on your browser. Sorry!"),"Not supported.";for(let q0 of document.querySelectorAll("*[translate-path]"))this.localeManager.bindObjectProperty(q0,"innerText",q0.getAttribute("translate-path"));for(let q0 of document.querySelectorAll("*[translate-path-title]"))this.localeManager.bindObjectProperty(q0,"innerText",q0.getAttribute("translate-path-title")+".title"),this.localeManager.bindObjectProperty(q0,"title",q0.getAttribute("translate-path-title")+".description");let f=_k?"synthetizer/worklet_system/worklet_processor.js":GC;_k&&console.warn("DEBUG ENABLED! DEBUGGING ENABLED!!");let D=window.isLocalEdition?"../../../spessasynth_lib/":"../../spessasynth_lib/";r.audioWorklet&&await r.audioWorklet.addModule(new URL(D+f,import.meta.url)),this.soundFont=l;let o0=new URL(D+"synthetizer/audio_effects/impulse_response_2.flac",import.meta.url),m0=await(await fetch(o0)).arrayBuffer();this.impulseResponse=await r.decodeAudioData(m0),this.audioDelay=new DelayNode(r,{delayTime:0}),this.audioDelay.connect(r.destination),this.synth=new ah(this.audioDelay,this.soundFont,void 0,void 0,{chorusEnabled:!0,chorusConfig:void 0,reverbImpulseResponse:this.impulseResponse,reverbEnabled:!0}),this.synth.eventHandler.addEvent("soundfonterror","manager-sf-error",q0=>{this.sfError&&this.sfError(q0)}),await this.synth.isReady,this.midHandler=new DC,this.wml=new _C(this.synth),this.keyboard=new pm(this.channelColors,this.synth);let l0=document.getElementById("note_canvas");l0.width=window.innerWidth*window.devicePixelRatio,l0.height=window.innerHeight*window.devicePixelRatio,this.renderer=new _i(this.channelColors,this.synth,l0,this.audioDelay,window.SPESSASYNTH_VERSION),this.renderer.render(!0);let u1=!1,F=()=>{if(l0.width=window.innerWidth*window.devicePixelRatio,l0.height=window.innerHeight*window.devicePixelRatio,this.renderer.computeColors(),xA){if(window.innerWidth/window.innerHeight>1){if(!u1){let q0=document.getElementById("title_wrapper"),R0=document.getElementById("settings_div");u1=!0,q0.parentElement.insertBefore(R0,q0)}}else if(u1){let q0=document.getElementById("title_wrapper"),R0=document.getElementById("settings_div");u1=!1,q0.parentElement.insertBefore(q0,R0)}}this.renderer.render(!1,!0)};F(),window.addEventListener("resize",F.bind(this)),window.addEventListener("orientationchange",F.bind(this)),xA&&(this.renderer.keyRange={min:48,max:72},this.keyboard.setKeyRange({min:48,max:72},!1)),this.synthUI=new Ur(this.channelColors,document.getElementById("synthetizer_controls"),this.localeManager),this.synthUI.connectSynth(this.synth),this.playerUI=new TC(document.getElementById("player_info"),this.localeManager),this.seqUI=new Ls(document.getElementById("sequencer_controls"),this.localeManager,this.playerUI),this.settingsUI=new Bi(document.getElementById("settings_div"),this.synthUI,this.seqUI,this.renderer,this.keyboard,this.midHandler,this.playerUI,this.localeManager),this.dropFileHandler=new VC(q0=>{this.play([{binary:q0.buf,altName:q0.name}]),q0.name.length>20&&(q0.name=q0.name.substring(0,21)+"..."),document.getElementById("file_upload").textContent=q0.name},q0=>{this.reloadSf(q0)}),document.addEventListener("keydown",q0=>{switch(q0.key.toLowerCase()){case Xt.cinematicMode:this.seq&&this.seq.pause();let R0=window.prompt(`Cinematic mode activated! - Paste the link to the image for canvas (leave blank to disable)`,"");if(this.seq&&this.seq.play(),R0===null)return;l0.style.background=`linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)), center center / cover url("${R0}")`,document.getElementsByClassName("top_part")[0].style.display="none",document.getElementsByClassName("bottom_part")[0].style.display="none",document.body.requestFullscreen().then();break;case Xt.videoMode:this.seq&&this.seq.pause();let L1=window.prompt(`Video mode! +`));if(!$)return null;i.input=Vr($,!0)}return i.input.shift()},put_char:function(i,$){$===null||$===10?(o.print(Ns(i.output,0)),i.output=[]):$!=0&&i.output.push($)},flush:function(i){i.output&&i.output.length>0&&(o.print(Ns(i.output,0)),i.output=[])}},default_tty1_ops:{put_char:function(i,$){$===null||$===10?(o.printErr(Ns(i.output,0)),i.output=[]):$!=0&&i.output.push($)},flush:function(i){i.output&&i.output.length>0&&(o.printErr(Ns(i.output,0)),i.output=[])}}},v9={ops_table:null,mount:function(i){return v9.createNode(null,"/",16895,0)},createNode:function(i,$,h,d){if(k.isBlkdev(h)||k.isFIFO(h))throw new k.ErrnoError(L2.EPERM);v9.ops_table||(v9.ops_table={dir:{node:{getattr:v9.node_ops.getattr,setattr:v9.node_ops.setattr,lookup:v9.node_ops.lookup,mknod:v9.node_ops.mknod,rename:v9.node_ops.rename,unlink:v9.node_ops.unlink,rmdir:v9.node_ops.rmdir,readdir:v9.node_ops.readdir,symlink:v9.node_ops.symlink},stream:{llseek:v9.stream_ops.llseek}},file:{node:{getattr:v9.node_ops.getattr,setattr:v9.node_ops.setattr},stream:{llseek:v9.stream_ops.llseek,read:v9.stream_ops.read,write:v9.stream_ops.write,allocate:v9.stream_ops.allocate,mmap:v9.stream_ops.mmap,msync:v9.stream_ops.msync}},link:{node:{getattr:v9.node_ops.getattr,setattr:v9.node_ops.setattr,readlink:v9.node_ops.readlink},stream:{}},chrdev:{node:{getattr:v9.node_ops.getattr,setattr:v9.node_ops.setattr},stream:k.chrdev_stream_ops}});var P=k.createNode(i,$,h,d);return k.isDir(P.mode)?(P.node_ops=v9.ops_table.dir.node,P.stream_ops=v9.ops_table.dir.stream,P.contents={}):k.isFile(P.mode)?(P.node_ops=v9.ops_table.file.node,P.stream_ops=v9.ops_table.file.stream,P.usedBytes=0,P.contents=null):k.isLink(P.mode)?(P.node_ops=v9.ops_table.link.node,P.stream_ops=v9.ops_table.link.stream):k.isChrdev(P.mode)&&(P.node_ops=v9.ops_table.chrdev.node,P.stream_ops=v9.ops_table.chrdev.stream),P.timestamp=Date.now(),i&&(i.contents[$]=P),P},getFileDataAsRegularArray:function(i){if(i.contents&&i.contents.subarray){for(var $=[],h=0;hi.contents.length&&(i.contents=v9.getFileDataAsRegularArray(i),i.usedBytes=i.contents.length),!i.contents||i.contents.subarray){var h=i.contents?i.contents.buffer.byteLength:0;if(h>=$)return;var d=1024*1024;$=Math.max($,h*(h0&&i.contents.set(P.subarray(0,i.usedBytes),0);return}for(!i.contents&&$>0&&(i.contents=[]);i.contents.length<$;)i.contents.push(0)},resizeFileStorage:function(i,$){if(i.usedBytes!=$){if($==0){i.contents=null,i.usedBytes=0;return}if(!i.contents||i.contents.subarray){var h=i.contents;i.contents=new Uint8Array(new ArrayBuffer($)),h&&i.contents.set(h.subarray(0,Math.min($,i.usedBytes))),i.usedBytes=$;return}if(i.contents||(i.contents=[]),i.contents.length>$)i.contents.length=$;else for(;i.contents.length<$;)i.contents.push(0);i.usedBytes=$}},node_ops:{getattr:function(i){var $={};return $.dev=k.isChrdev(i.mode)?i.id:1,$.ino=i.id,$.mode=i.mode,$.nlink=1,$.uid=0,$.gid=0,$.rdev=i.rdev,k.isDir(i.mode)?$.size=4096:k.isFile(i.mode)?$.size=i.usedBytes:k.isLink(i.mode)?$.size=i.link.length:$.size=0,$.atime=new Date(i.timestamp),$.mtime=new Date(i.timestamp),$.ctime=new Date(i.timestamp),$.blksize=4096,$.blocks=Math.ceil($.size/$.blksize),$},setattr:function(i,$){$.mode!==void 0&&(i.mode=$.mode),$.timestamp!==void 0&&(i.timestamp=$.timestamp),$.size!==void 0&&v9.resizeFileStorage(i,$.size)},lookup:function(i,$){throw k.genericErrors[L2.ENOENT]},mknod:function(i,$,h,d){return v9.createNode(i,$,h,d)},rename:function(i,$,h){if(k.isDir(i.mode)){var d;try{d=k.lookupNode($,h)}catch{}if(d)for(var P in d.contents)throw new k.ErrnoError(L2.ENOTEMPTY)}delete i.parent.contents[i.name],i.name=h,$.contents[h]=i,i.parent=$},unlink:function(i,$){delete i.contents[$]},rmdir:function(i,$){var h=k.lookupNode(i,$);for(var d in h.contents)throw new k.ErrnoError(L2.ENOTEMPTY);delete i.contents[$]},readdir:function(i){var $=[".",".."];for(var h in i.contents)i.contents.hasOwnProperty(h)&&$.push(h);return $},symlink:function(i,$,h){var d=v9.createNode(i,$,41471,0);return d.link=h,d},readlink:function(i){if(!k.isLink(i.mode))throw new k.ErrnoError(L2.EINVAL);return i.link}},stream_ops:{read:function(i,$,h,d,P){var e=i.node.contents;if(P>=i.node.usedBytes)return 0;var Z0=Math.min(i.node.usedBytes-P,d);if(V4(Z0>=0),Z0>8&&e.subarray)$.set(e.subarray(P,P+Z0),h);else for(var t1=0;t10||P+dT5.timestamp)&&(P.push(w5),d++)});var e=[];if(Object.keys($.entries).forEach(function(w5){var p2=$.entries[w5],T5=i.entries[w5];T5||(e.push(w5),d++)}),!d)return h(null);var Z0=!1,t1=0,b2=i.type==="remote"?i.db:$.db,s=b2.transaction([Ct.DB_STORE_NAME],"readwrite"),A1=s.objectStore(Ct.DB_STORE_NAME);function C(w5){if(w5)return C.errored?void 0:(C.errored=!0,h(w5));if(++t1>=d)return h(null)}s.onerror=function(w5){C(this.error),w5.preventDefault()},P.sort().forEach(function(w5){$.type==="local"?Ct.loadRemoteEntry(A1,w5,function(p2,T5){if(p2)return C(p2);Ct.storeLocalEntry(w5,T5,C)}):Ct.loadLocalEntry(w5,function(p2,T5){if(p2)return C(p2);Ct.storeRemoteEntry(A1,w5,T5,C)})}),e.sort().reverse().forEach(function(w5){$.type==="local"?Ct.removeLocalEntry(w5,C):Ct.removeRemoteEntry(A1,w5,C)})}},g8={isWindows:!1,staticInit:function(){g8.isWindows=!!process.platform.match(/^win/)},mount:function(i){return V4(f),g8.createNode(null,"/",g8.getMode(i.opts.root),0)},createNode:function(i,$,h,d){if(!k.isDir(h)&&!k.isFile(h)&&!k.isLink(h))throw new k.ErrnoError(L2.EINVAL);var P=k.createNode(i,$,h);return P.node_ops=g8.node_ops,P.stream_ops=g8.stream_ops,P},getMode:function(i){var $;try{$=Bt.lstatSync(i),g8.isWindows&&($.mode=$.mode|($.mode&146)>>1)}catch(h){throw h.code?new k.ErrnoError(L2[h.code]):h}return $.mode},realPath:function(i){for(var $=[];i.parent!==i;)$.push(i.name),i=i.parent;return $.push(i.mount.opts.root),$.reverse(),c9.join.apply(null,$)},flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:function(i){return i in g8.flagsToPermissionStringMap?g8.flagsToPermissionStringMap[i]:i},node_ops:{getattr:function(i){var $=g8.realPath(i),h;try{h=Bt.lstatSync($)}catch(d){throw d.code?new k.ErrnoError(L2[d.code]):d}return g8.isWindows&&!h.blksize&&(h.blksize=4096),g8.isWindows&&!h.blocks&&(h.blocks=(h.size+h.blksize-1)/h.blksize|0),{dev:h.dev,ino:h.ino,mode:h.mode,nlink:h.nlink,uid:h.uid,gid:h.gid,rdev:h.rdev,size:h.size,atime:h.atime,mtime:h.mtime,ctime:h.ctime,blksize:h.blksize,blocks:h.blocks}},setattr:function(i,$){var h=g8.realPath(i);try{if($.mode!==void 0&&(Bt.chmodSync(h,$.mode),i.mode=$.mode),$.timestamp!==void 0){var d=new Date($.timestamp);Bt.utimesSync(h,d,d)}$.size!==void 0&&Bt.truncateSync(h,$.size)}catch(P){throw P.code?new k.ErrnoError(L2[P.code]):P}},lookup:function(i,$){var h=c9.join2(g8.realPath(i),$),d=g8.getMode(h);return g8.createNode(i,$,d)},mknod:function(i,$,h,d){var P=g8.createNode(i,$,h,d),e=g8.realPath(P);try{k.isDir(P.mode)?Bt.mkdirSync(e,P.mode):Bt.writeFileSync(e,"",{mode:P.mode})}catch(Z0){throw Z0.code?new k.ErrnoError(L2[Z0.code]):Z0}return P},rename:function(i,$,h){var d=g8.realPath(i),P=c9.join2(g8.realPath($),h);try{Bt.renameSync(d,P)}catch(e){throw e.code?new k.ErrnoError(L2[e.code]):e}},unlink:function(i,$){var h=c9.join2(g8.realPath(i),$);try{Bt.unlinkSync(h)}catch(d){throw d.code?new k.ErrnoError(L2[d.code]):d}},rmdir:function(i,$){var h=c9.join2(g8.realPath(i),$);try{Bt.rmdirSync(h)}catch(d){throw d.code?new k.ErrnoError(L2[d.code]):d}},readdir:function(i){var $=g8.realPath(i);try{return Bt.readdirSync($)}catch(h){throw h.code?new k.ErrnoError(L2[h.code]):h}},symlink:function(i,$,h){var d=c9.join2(g8.realPath(i),$);try{Bt.symlinkSync(h,d)}catch(P){throw P.code?new k.ErrnoError(L2[P.code]):P}},readlink:function(i){var $=g8.realPath(i);try{return $=Bt.readlinkSync($),$=mp.relative(mp.resolve(i.mount.opts.root),$),$}catch(h){throw h.code?new k.ErrnoError(L2[h.code]):h}}},stream_ops:{open:function(i){var $=g8.realPath(i.node);try{k.isFile(i.node.mode)&&(i.nfd=Bt.openSync($,g8.flagsToPermissionString(i.flags)))}catch(h){throw h.code?new k.ErrnoError(L2[h.code]):h}},close:function(i){try{k.isFile(i.node.mode)&&i.nfd&&Bt.closeSync(i.nfd)}catch($){throw $.code?new k.ErrnoError(L2[$.code]):$}},read:function(i,$,h,d,P){if(d===0)return 0;var e=new Buffer(d),Z0;try{Z0=Bt.readSync(i.nfd,e,0,d,P)}catch(b2){throw new k.ErrnoError(L2[b2.code])}if(Z0>0)for(var t1=0;t18)throw new k.ErrnoError(L2.ELOOP);for(var P=c9.normalizeArray(i.split("/").filter(function(w5){return!!w5}),!1),e=k.root,Z0="/",t1=0;t140)throw new k.ErrnoError(L2.ELOOP)}}return{path:Z0,node:e}},getPath:function(i){for(var $;;){if(k.isRoot(i)){var h=i.mount.mountpoint;return $?h[h.length-1]!=="/"?h+"/"+$:h+$:h}$=$?i.name+"/"+$:i.name,i=i.parent}},hashName:function(i,$){for(var h=0,d=0;d<$.length;d++)h=(h<<5)-h+$.charCodeAt(d)|0;return(i+h>>>0)%k.nameTable.length},hashAddNode:function(i){var $=k.hashName(i.parent.id,i.name);i.name_next=k.nameTable[$],k.nameTable[$]=i},hashRemoveNode:function(i){var $=k.hashName(i.parent.id,i.name);if(k.nameTable[$]===i)k.nameTable[$]=i.name_next;else for(var h=k.nameTable[$];h;){if(h.name_next===i){h.name_next=i.name_next;break}h=h.name_next}},lookupNode:function(i,$){var h=k.mayLookup(i);if(h)throw new k.ErrnoError(h,i);for(var d=k.hashName(i.id,$),P=k.nameTable[d];P;P=P.name_next){var e=P.name;if(P.parent.id===i.id&&e===$)return P}return k.lookup(i,$)},createNode:function(i,$,h,d){if(!k.FSNode){k.FSNode=function(t1,b2,s,A1){t1||(t1=this),this.parent=t1,this.mount=t1.mount,this.mounted=null,this.id=k.nextInode++,this.name=b2,this.mode=s,this.node_ops={},this.stream_ops={},this.rdev=A1},k.FSNode.prototype={};var P=365,e=146;Object.defineProperties(k.FSNode.prototype,{read:{get:function(){return(this.mode&P)===P},set:function(t1){t1?this.mode|=P:this.mode&=~P}},write:{get:function(){return(this.mode&e)===e},set:function(t1){t1?this.mode|=e:this.mode&=~e}},isFolder:{get:function(){return k.isDir(this.mode)}},isDevice:{get:function(){return k.isChrdev(this.mode)}}})}var Z0=new k.FSNode(i,$,h,d);return k.hashAddNode(Z0),Z0},destroyNode:function(i){k.hashRemoveNode(i)},isRoot:function(i){return i===i.parent},isMountpoint:function(i){return!!i.mounted},isFile:function(i){return(i&61440)===32768},isDir:function(i){return(i&61440)===16384},isLink:function(i){return(i&61440)===40960},isChrdev:function(i){return(i&61440)===8192},isBlkdev:function(i){return(i&61440)===24576},isFIFO:function(i){return(i&61440)===4096},isSocket:function(i){return(i&49152)===49152},flagModes:{r:0,rs:1052672,"r+":2,w:577,wx:705,xw:705,"w+":578,"wx+":706,"xw+":706,a:1089,ax:1217,xa:1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(i){var $=k.flagModes[i];if(typeof $>"u")throw new Error("Unknown file open mode: "+i);return $},flagsToPermissionString:function(i){var $=i&2097155,h=["r","w","rw"][$];return i&512&&(h+="w"),h},nodePermissions:function(i,$){return k.ignorePermissions?0:$.indexOf("r")!==-1&&!(i.mode&292)||$.indexOf("w")!==-1&&!(i.mode&146)||$.indexOf("x")!==-1&&!(i.mode&73)?L2.EACCES:0},mayLookup:function(i){var $=k.nodePermissions(i,"x");return $||(i.node_ops.lookup?0:L2.EACCES)},mayCreate:function(i,$){try{var h=k.lookupNode(i,$);return L2.EEXIST}catch{}return k.nodePermissions(i,"wx")},mayDelete:function(i,$,h){var d;try{d=k.lookupNode(i,$)}catch(e){return e.errno}var P=k.nodePermissions(i,"wx");if(P)return P;if(h){if(!k.isDir(d.mode))return L2.ENOTDIR;if(k.isRoot(d)||k.getPath(d)===k.cwd())return L2.EBUSY}else if(k.isDir(d.mode))return L2.EISDIR;return 0},mayOpen:function(i,$){return i?k.isLink(i.mode)?L2.ELOOP:k.isDir(i.mode)&&($&2097155||$&512)?L2.EISDIR:k.nodePermissions(i,k.flagsToPermissionString($)):L2.ENOENT},MAX_OPEN_FDS:4096,nextfd:function(i,$){i=i||0,$=$||k.MAX_OPEN_FDS;for(var h=i;h<=$;h++)if(!k.streams[h])return h;throw new k.ErrnoError(L2.EMFILE)},getStream:function(i){return k.streams[i]},createStream:function(i,$,h){k.FSStream||(k.FSStream=function(){},k.FSStream.prototype={},Object.defineProperties(k.FSStream.prototype,{object:{get:function(){return this.node},set:function(Z0){this.node=Z0}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}));var d=new k.FSStream;for(var P in i)d[P]=i[P];i=d;var e=k.nextfd($,h);return i.fd=e,k.streams[e]=i,i},closeStream:function(i){k.streams[i]=null},getStreamFromPtr:function(i){return k.streams[i-1]},getPtrForStream:function(i){return i?i.fd+1:0},chrdev_stream_ops:{open:function(i){var $=k.getDevice(i.node.rdev);i.stream_ops=$.stream_ops,i.stream_ops.open&&i.stream_ops.open(i)},llseek:function(){throw new k.ErrnoError(L2.ESPIPE)}},major:function(i){return i>>8},minor:function(i){return i&255},makedev:function(i,$){return i<<8|$},registerDevice:function(i,$){k.devices[i]={stream_ops:$}},getDevice:function(i){return k.devices[i]},getMounts:function(i){for(var $=[],h=[i];h.length;){var d=h.pop();$.push(d),h.push.apply(h,d.mounts)}return $},syncfs:function(i,$){typeof i=="function"&&($=i,i=!1);var h=k.getMounts(k.root.mount),d=0;function P(e){if(e)return P.errored?void 0:(P.errored=!0,$(e));++d>=h.length&&$(null)}h.forEach(function(e){if(!e.type.syncfs)return P(null);e.type.syncfs(e,i,P)})},mount:function(i,$,h){var d=h==="/",P=!h,e;if(d&&k.root)throw new k.ErrnoError(L2.EBUSY);if(!d&&!P){var Z0=k.lookupPath(h,{follow_mount:!1});if(h=Z0.path,e=Z0.node,k.isMountpoint(e))throw new k.ErrnoError(L2.EBUSY);if(!k.isDir(e.mode))throw new k.ErrnoError(L2.ENOTDIR)}var t1={type:i,opts:$,mountpoint:h,mounts:[]},b2=i.mount(t1);return b2.mount=t1,t1.root=b2,d?k.root=b2:e&&(e.mounted=t1,e.mount&&e.mount.mounts.push(t1)),b2},unmount:function(i){var $=k.lookupPath(i,{follow_mount:!1});if(!k.isMountpoint($.node))throw new k.ErrnoError(L2.EINVAL);var h=$.node,d=h.mounted,P=k.getMounts(d);Object.keys(k.nameTable).forEach(function(Z0){for(var t1=k.nameTable[Z0];t1;){var b2=t1.name_next;P.indexOf(t1.mount)!==-1&&k.destroyNode(t1),t1=b2}}),h.mounted=null;var e=h.mount.mounts.indexOf(d);V4(e!==-1),h.mount.mounts.splice(e,1)},lookup:function(i,$){return i.node_ops.lookup(i,$)},mknod:function(i,$,h){var d=k.lookupPath(i,{parent:!0}),P=d.node,e=c9.basename(i);if(!e||e==="."||e==="..")throw new k.ErrnoError(L2.EINVAL);var Z0=k.mayCreate(P,e);if(Z0)throw new k.ErrnoError(Z0);if(!P.node_ops.mknod)throw new k.ErrnoError(L2.EPERM);return P.node_ops.mknod(P,e,$,h)},create:function(i,$){return $=$!==void 0?$:438,$&=4095,$|=32768,k.mknod(i,$,0)},mkdir:function(i,$){return $=$!==void 0?$:511,$&=1023,$|=16384,k.mknod(i,$,0)},mkdev:function(i,$,h){return typeof h>"u"&&(h=$,$=438),$|=8192,k.mknod(i,$,h)},symlink:function(i,$){if(!c9.resolve(i))throw new k.ErrnoError(L2.ENOENT);var h=k.lookupPath($,{parent:!0}),d=h.node;if(!d)throw new k.ErrnoError(L2.ENOENT);var P=c9.basename($),e=k.mayCreate(d,P);if(e)throw new k.ErrnoError(e);if(!d.node_ops.symlink)throw new k.ErrnoError(L2.EPERM);return d.node_ops.symlink(d,P,i)},rename:function(i,$){var h=c9.dirname(i),d=c9.dirname($),P=c9.basename(i),e=c9.basename($),Z0,t1,b2;try{Z0=k.lookupPath(i,{parent:!0}),t1=Z0.node,Z0=k.lookupPath($,{parent:!0}),b2=Z0.node}catch{throw new k.ErrnoError(L2.EBUSY)}if(!t1||!b2)throw new k.ErrnoError(L2.ENOENT);if(t1.mount!==b2.mount)throw new k.ErrnoError(L2.EXDEV);var s=k.lookupNode(t1,P),A1=c9.relative(i,d);if(A1.charAt(0)!==".")throw new k.ErrnoError(L2.EINVAL);if(A1=c9.relative($,h),A1.charAt(0)!==".")throw new k.ErrnoError(L2.ENOTEMPTY);var C;try{C=k.lookupNode(b2,e)}catch{}if(s!==C){var w5=k.isDir(s.mode),p2=k.mayDelete(t1,P,w5);if(p2)throw new k.ErrnoError(p2);if(p2=C?k.mayDelete(b2,e,w5):k.mayCreate(b2,e),p2)throw new k.ErrnoError(p2);if(!t1.node_ops.rename)throw new k.ErrnoError(L2.EPERM);if(k.isMountpoint(s)||C&&k.isMountpoint(C))throw new k.ErrnoError(L2.EBUSY);if(b2!==t1&&(p2=k.nodePermissions(t1,"w"),p2))throw new k.ErrnoError(p2);try{k.trackingDelegate.willMovePath&&k.trackingDelegate.willMovePath(i,$)}catch(T5){console.log("FS.trackingDelegate['willMovePath']('"+i+"', '"+$+"') threw an exception: "+T5.message)}k.hashRemoveNode(s);try{t1.node_ops.rename(s,b2,e)}catch(T5){throw T5}finally{k.hashAddNode(s)}try{k.trackingDelegate.onMovePath&&k.trackingDelegate.onMovePath(i,$)}catch(T5){console.log("FS.trackingDelegate['onMovePath']('"+i+"', '"+$+"') threw an exception: "+T5.message)}}},rmdir:function(i){var $=k.lookupPath(i,{parent:!0}),h=$.node,d=c9.basename(i),P=k.lookupNode(h,d),e=k.mayDelete(h,d,!0);if(e)throw new k.ErrnoError(e);if(!h.node_ops.rmdir)throw new k.ErrnoError(L2.EPERM);if(k.isMountpoint(P))throw new k.ErrnoError(L2.EBUSY);try{k.trackingDelegate.willDeletePath&&k.trackingDelegate.willDeletePath(i)}catch(Z0){console.log("FS.trackingDelegate['willDeletePath']('"+i+"') threw an exception: "+Z0.message)}h.node_ops.rmdir(h,d),k.destroyNode(P);try{k.trackingDelegate.onDeletePath&&k.trackingDelegate.onDeletePath(i)}catch(Z0){console.log("FS.trackingDelegate['onDeletePath']('"+i+"') threw an exception: "+Z0.message)}},readdir:function(i){var $=k.lookupPath(i,{follow:!0}),h=$.node;if(!h.node_ops.readdir)throw new k.ErrnoError(L2.ENOTDIR);return h.node_ops.readdir(h)},unlink:function(i){var $=k.lookupPath(i,{parent:!0}),h=$.node,d=c9.basename(i),P=k.lookupNode(h,d),e=k.mayDelete(h,d,!1);if(e)throw e===L2.EISDIR&&(e=L2.EPERM),new k.ErrnoError(e);if(!h.node_ops.unlink)throw new k.ErrnoError(L2.EPERM);if(k.isMountpoint(P))throw new k.ErrnoError(L2.EBUSY);try{k.trackingDelegate.willDeletePath&&k.trackingDelegate.willDeletePath(i)}catch(Z0){console.log("FS.trackingDelegate['willDeletePath']('"+i+"') threw an exception: "+Z0.message)}h.node_ops.unlink(h,d),k.destroyNode(P);try{k.trackingDelegate.onDeletePath&&k.trackingDelegate.onDeletePath(i)}catch(Z0){console.log("FS.trackingDelegate['onDeletePath']('"+i+"') threw an exception: "+Z0.message)}},readlink:function(i){var $=k.lookupPath(i),h=$.node;if(!h)throw new k.ErrnoError(L2.ENOENT);if(!h.node_ops.readlink)throw new k.ErrnoError(L2.EINVAL);return c9.resolve(k.getPath($.node.parent),h.node_ops.readlink(h))},stat:function(i,$){var h=k.lookupPath(i,{follow:!$}),d=h.node;if(!d)throw new k.ErrnoError(L2.ENOENT);if(!d.node_ops.getattr)throw new k.ErrnoError(L2.EPERM);return d.node_ops.getattr(d)},lstat:function(i){return k.stat(i,!0)},chmod:function(i,$,h){var d;if(typeof i=="string"){var P=k.lookupPath(i,{follow:!h});d=P.node}else d=i;if(!d.node_ops.setattr)throw new k.ErrnoError(L2.EPERM);d.node_ops.setattr(d,{mode:$&4095|d.mode&-4096,timestamp:Date.now()})},lchmod:function(i,$){k.chmod(i,$,!0)},fchmod:function(i,$){var h=k.getStream(i);if(!h)throw new k.ErrnoError(L2.EBADF);k.chmod(h.node,$)},chown:function(i,$,h,d){var P;if(typeof i=="string"){var e=k.lookupPath(i,{follow:!d});P=e.node}else P=i;if(!P.node_ops.setattr)throw new k.ErrnoError(L2.EPERM);P.node_ops.setattr(P,{timestamp:Date.now()})},lchown:function(i,$,h){k.chown(i,$,h,!0)},fchown:function(i,$,h){var d=k.getStream(i);if(!d)throw new k.ErrnoError(L2.EBADF);k.chown(d.node,$,h)},truncate:function(i,$){if($<0)throw new k.ErrnoError(L2.EINVAL);var h;if(typeof i=="string"){var d=k.lookupPath(i,{follow:!0});h=d.node}else h=i;if(!h.node_ops.setattr)throw new k.ErrnoError(L2.EPERM);if(k.isDir(h.mode))throw new k.ErrnoError(L2.EISDIR);if(!k.isFile(h.mode))throw new k.ErrnoError(L2.EINVAL);var P=k.nodePermissions(h,"w");if(P)throw new k.ErrnoError(P);h.node_ops.setattr(h,{size:$,timestamp:Date.now()})},ftruncate:function(i,$){var h=k.getStream(i);if(!h)throw new k.ErrnoError(L2.EBADF);if(!(h.flags&2097155))throw new k.ErrnoError(L2.EINVAL);k.truncate(h.node,$)},utime:function(i,$,h){var d=k.lookupPath(i,{follow:!0}),P=d.node;P.node_ops.setattr(P,{timestamp:Math.max($,h)})},open:function(i,$,h,d,P){if(i==="")throw new k.ErrnoError(L2.ENOENT);$=typeof $=="string"?k.modeStringToFlags($):$,h=typeof h>"u"?438:h,$&64?h=h&4095|32768:h=0;var e;if(typeof i=="object")e=i;else{i=c9.normalize(i);try{var Z0=k.lookupPath(i,{follow:!($&131072)});e=Z0.node}catch{}}var t1=!1;if($&64)if(e){if($&128)throw new k.ErrnoError(L2.EEXIST)}else e=k.mknod(i,h,0),t1=!0;if(!e)throw new k.ErrnoError(L2.ENOENT);if(k.isChrdev(e.mode)&&($&=-513),!t1){var b2=k.mayOpen(e,$);if(b2)throw new k.ErrnoError(b2)}$&512&&k.truncate(e,0),$&=-641;var s=k.createStream({node:e,path:k.getPath(e),flags:$,seekable:!0,position:0,stream_ops:e.stream_ops,ungotten:[],error:!1},d,P);s.stream_ops.open&&s.stream_ops.open(s),o.logReadFiles&&!($&1)&&(k.readFiles||(k.readFiles={}),i in k.readFiles||(k.readFiles[i]=1,o.printErr("read file: "+i)));try{if(k.trackingDelegate.onOpenFile){var A1=0;($&2097155)!==1&&(A1|=k.tracking.openFlags.READ),$&2097155&&(A1|=k.tracking.openFlags.WRITE),k.trackingDelegate.onOpenFile(i,A1)}}catch(C){console.log("FS.trackingDelegate['onOpenFile']('"+i+"', flags) threw an exception: "+C.message)}return s},close:function(i){try{i.stream_ops.close&&i.stream_ops.close(i)}catch($){throw $}finally{k.closeStream(i.fd)}},llseek:function(i,$,h){if(!i.seekable||!i.stream_ops.llseek)throw new k.ErrnoError(L2.ESPIPE);return i.position=i.stream_ops.llseek(i,$,h),i.ungotten=[],i.position},read:function(i,$,h,d,P){if(d<0||P<0)throw new k.ErrnoError(L2.EINVAL);if((i.flags&2097155)===1)throw new k.ErrnoError(L2.EBADF);if(k.isDir(i.node.mode))throw new k.ErrnoError(L2.EISDIR);if(!i.stream_ops.read)throw new k.ErrnoError(L2.EINVAL);var e=!0;if(typeof P>"u")P=i.position,e=!1;else if(!i.seekable)throw new k.ErrnoError(L2.ESPIPE);var Z0=i.stream_ops.read(i,$,h,d,P);return e||(i.position+=Z0),Z0},write:function(i,$,h,d,P,e){if(d<0||P<0)throw new k.ErrnoError(L2.EINVAL);if(!(i.flags&2097155))throw new k.ErrnoError(L2.EBADF);if(k.isDir(i.node.mode))throw new k.ErrnoError(L2.EISDIR);if(!i.stream_ops.write)throw new k.ErrnoError(L2.EINVAL);i.flags&1024&&k.llseek(i,0,2);var Z0=!0;if(typeof P>"u")P=i.position,Z0=!1;else if(!i.seekable)throw new k.ErrnoError(L2.ESPIPE);var t1=i.stream_ops.write(i,$,h,d,P,e);Z0||(i.position+=t1);try{i.path&&k.trackingDelegate.onWriteToFile&&k.trackingDelegate.onWriteToFile(i.path)}catch(b2){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+b2.message)}return t1},allocate:function(i,$,h){if($<0||h<=0)throw new k.ErrnoError(L2.EINVAL);if(!(i.flags&2097155))throw new k.ErrnoError(L2.EBADF);if(!k.isFile(i.node.mode)&&!k.isDir(node.mode))throw new k.ErrnoError(L2.ENODEV);if(!i.stream_ops.allocate)throw new k.ErrnoError(L2.EOPNOTSUPP);i.stream_ops.allocate(i,$,h)},mmap:function(i,$,h,d,P,e,Z0){if((i.flags&2097155)===1)throw new k.ErrnoError(L2.EACCES);if(!i.stream_ops.mmap)throw new k.ErrnoError(L2.ENODEV);return i.stream_ops.mmap(i,$,h,d,P,e,Z0)},msync:function(i,$,h,d,P){return!i||!i.stream_ops.msync?0:i.stream_ops.msync(i,$,h,d,P)},munmap:function(i){return 0},ioctl:function(i,$,h){if(!i.stream_ops.ioctl)throw new k.ErrnoError(L2.ENOTTY);return i.stream_ops.ioctl(i,$,h)},readFile:function(i,$){if($=$||{},$.flags=$.flags||"r",$.encoding=$.encoding||"binary",$.encoding!=="utf8"&&$.encoding!=="binary")throw new Error('Invalid encoding type "'+$.encoding+'"');var h,d=k.open(i,$.flags),P=k.stat(i),e=P.size,Z0=new Uint8Array(e);return k.read(d,Z0,0,e,0),$.encoding==="utf8"?h=Ns(Z0,0):$.encoding==="binary"&&(h=Z0),k.close(d),h},writeFile:function(i,$,h){if(h=h||{},h.flags=h.flags||"w",h.encoding=h.encoding||"utf8",h.encoding!=="utf8"&&h.encoding!=="binary")throw new Error('Invalid encoding type "'+h.encoding+'"');var d=k.open(i,h.flags,h.mode);if(h.encoding==="utf8"){var P=new Uint8Array(Gs($)+1),e=Rn($,P,0,P.length);k.write(d,P,0,e,0,h.canOwn)}else h.encoding==="binary"&&k.write(d,$,0,$.length,0,h.canOwn);k.close(d)},cwd:function(){return k.currentPath},chdir:function(i){var $=k.lookupPath(i,{follow:!0});if(!k.isDir($.node.mode))throw new k.ErrnoError(L2.ENOTDIR);var h=k.nodePermissions($.node,"x");if(h)throw new k.ErrnoError(h);k.currentPath=$.path},createDefaultDirectories:function(){k.mkdir("/tmp"),k.mkdir("/home"),k.mkdir("/home/web_user")},createDefaultDevices:function(){k.mkdir("/dev"),k.registerDevice(k.makedev(1,3),{read:function(){return 0},write:function(h,d,P,e,Z0){return e}}),k.mkdev("/dev/null",k.makedev(1,3)),Mn.register(k.makedev(5,0),Mn.default_tty_ops),Mn.register(k.makedev(6,0),Mn.default_tty1_ops),k.mkdev("/dev/tty",k.makedev(5,0)),k.mkdev("/dev/tty1",k.makedev(6,0));var i;if(typeof crypto<"u"){var $=new Uint8Array(1);i=function(){return crypto.getRandomValues($),$[0]}}else f?i=void 0:i=function(){return Math.random()*256|0};k.createDevice("/dev","random",i),k.createDevice("/dev","urandom",i),k.mkdir("/dev/shm"),k.mkdir("/dev/shm/tmp")},createStandardStreams:function(){o.stdin?k.createDevice("/dev","stdin",o.stdin):k.symlink("/dev/tty","/dev/stdin"),o.stdout?k.createDevice("/dev","stdout",null,o.stdout):k.symlink("/dev/tty","/dev/stdout"),o.stderr?k.createDevice("/dev","stderr",null,o.stderr):k.symlink("/dev/tty1","/dev/stderr");var i=k.open("/dev/stdin","r");_9[Uk>>2]=k.getPtrForStream(i),V4(i.fd===0,"invalid handle for stdin ("+i.fd+")");var $=k.open("/dev/stdout","w");_9[Pk>>2]=k.getPtrForStream($),V4($.fd===1,"invalid handle for stdout ("+$.fd+")");var h=k.open("/dev/stderr","w");_9[Ok>>2]=k.getPtrForStream(h),V4(h.fd===2,"invalid handle for stderr ("+h.fd+")")},ensureErrnoError:function(){k.ErrnoError||(k.ErrnoError=function($,h){this.node=h,this.setErrno=function(d){this.errno=d;for(var P in L2)if(L2[P]===d){this.code=P;break}},this.setErrno($),this.message=Gk[$]},k.ErrnoError.prototype=new Error,k.ErrnoError.prototype.constructor=k.ErrnoError,[L2.ENOENT].forEach(function(i){k.genericErrors[i]=new k.ErrnoError(i),k.genericErrors[i].stack=""}))},staticInit:function(){k.ensureErrnoError(),k.nameTable=new Array(4096),k.mount(v9,{},"/"),k.createDefaultDirectories(),k.createDefaultDevices()},init:function(i,$,h){V4(!k.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)"),k.init.initialized=!0,k.ensureErrnoError(),o.stdin=i||o.stdin,o.stdout=$||o.stdout,o.stderr=h||o.stderr,k.createStandardStreams()},quit:function(){k.init.initialized=!1;for(var i=0;ithis.length-1||w5<0)){var p2=w5%this.chunkSize,T5=w5/this.chunkSize|0;return this.getter(T5)[p2]}},e.prototype.setDataGetter=function(w5){this.getter=w5},e.prototype.cacheLength=function(){var w5=new XMLHttpRequest;if(w5.open("HEAD",h,!1),w5.send(null),!(w5.status>=200&&w5.status<300||w5.status===304))throw new Error("Couldn't load "+h+". Status: "+w5.status);var p2=Number(w5.getResponseHeader("Content-length")),T5,x9=(T5=w5.getResponseHeader("Accept-Ranges"))&&T5==="bytes",O9=1024*1024;x9||(O9=p2);var I4=function(K9,h8){if(K9>h8)throw new Error("invalid range ("+K9+", "+h8+") or no bytes requested!");if(h8>p2-1)throw new Error("only "+p2+" bytes available! programmer error!");var K4=new XMLHttpRequest;if(K4.open("GET",h,!1),p2!==O9&&K4.setRequestHeader("Range","bytes="+K9+"-"+h8),typeof Uint8Array<"u"&&(K4.responseType="arraybuffer"),K4.overrideMimeType&&K4.overrideMimeType("text/plain; charset=x-user-defined"),K4.send(null),!(K4.status>=200&&K4.status<300||K4.status===304))throw new Error("Couldn't load "+h+". Status: "+K4.status);return K4.response!==void 0?new Uint8Array(K4.response||[]):Vr(K4.responseText||"",!0)},w8=this;w8.setDataGetter(function(K9){var h8=K9*O9,K4=(K9+1)*O9-1;if(K4=Math.min(K4,p2-1),typeof w8.chunks[K9]>"u"&&(w8.chunks[K9]=I4(h8,K4)),typeof w8.chunks[K9]>"u")throw new Error("doXHR failed!");return w8.chunks[K9]}),this._length=p2,this._chunkSize=O9,this.lengthKnown=!0},typeof XMLHttpRequest<"u"){if(!D)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var Z0=new e;Object.defineProperty(Z0,"length",{get:function(){return this.lengthKnown||this.cacheLength(),this._length}}),Object.defineProperty(Z0,"chunkSize",{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}});var t1={isDevice:!1,contents:Z0}}else var t1={isDevice:!1,url:h};var b2=k.createFile(i,$,t1,d,P);t1.contents?b2.contents=t1.contents:t1.url&&(b2.contents=null,b2.url=t1.url),Object.defineProperty(b2,"usedBytes",{get:function(){return this.contents.length}});var s={},A1=Object.keys(b2.stream_ops);return A1.forEach(function(C){var w5=b2.stream_ops[C];s[C]=function(){if(!k.forceLoadFile(b2))throw new k.ErrnoError(L2.EIO);return w5.apply(null,arguments)}}),s.read=function(w5,p2,T5,x9,O9){if(!k.forceLoadFile(b2))throw new k.ErrnoError(L2.EIO);var I4=w5.node.contents;if(O9>=I4.length)return 0;var w8=Math.min(I4.length-O9,x9);if(V4(w8>=0),I4.slice)for(var K9=0;K9=0;d--){var P=i[d];P==="."?i.splice(d,1):P===".."?(i.splice(d,1),h++):h&&(i.splice(d,1),h--)}if($)for(;h--;h)i.unshift("..");return i},normalize:function(i){var $=i.charAt(0)==="/",h=i.substr(-1)==="/";return i=c9.normalizeArray(i.split("/").filter(function(d){return!!d}),!$).join("/"),!i&&!$&&(i="."),i&&h&&(i+="/"),($?"/":"")+i},dirname:function(i){var $=c9.splitPath(i),h=$[0],d=$[1];return!h&&!d?".":(d&&(d=d.substr(0,d.length-1)),h+d)},basename:function(i){if(i==="/")return"/";var $=i.lastIndexOf("/");return $===-1?i:i.substr($+1)},extname:function(i){return c9.splitPath(i)[3]},join:function(){var i=Array.prototype.slice.call(arguments,0);return c9.normalize(i.join("/"))},join2:function(i,$){return c9.normalize(i+"/"+$)},resolve:function(){for(var i="",$=!1,h=arguments.length-1;h>=-1&&!$;h--){var d=h>=0?arguments[h]:k.cwd();if(typeof d!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!d)return"";i=d+"/"+i,$=d.charAt(0)==="/"}return i=c9.normalizeArray(i.split("/").filter(function(P){return!!P}),!$).join("/"),($?"/":"")+i||"."},relative:function(i,$){i=c9.resolve(i).substr(1),$=c9.resolve($).substr(1);function h(s){for(var A1=0;A1=0&&s[C]==="";C--);return A1>C?[]:s.slice(A1,C-A1+1)}for(var d=h(i.split("/")),P=h($.split("/")),e=Math.min(d.length,P.length),Z0=e,t1=0;t10){var t1=Date.now(),b2=J1.mainLoop.queue.shift();if(b2.func(b2.arg),J1.mainLoop.remainingBlockers){var s=J1.mainLoop.remainingBlockers,A1=s%1==0?s-1:Math.floor(s);b2.counted?J1.mainLoop.remainingBlockers=A1:(A1=A1+.5,J1.mainLoop.remainingBlockers=(8*s+A1)/9)}console.log('main loop blocker "'+b2.name+'" took '+(Date.now()-t1)+" ms"),J1.mainLoop.updateStatus(),setTimeout(J1.mainLoop.runner,0);return}if(!(e1&&J1.mainLoop.currentFrameNumber%J1.mainLoop.timingValue!=0){J1.mainLoop.scheduler();return}J1.mainLoop.method==="timeout"&&o.ctx&&(o.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!"),J1.mainLoop.method=""),J1.mainLoop.runIter(function(){typeof d<"u"?x.dynCall("vi",i,[d]):x.dynCall("v",i)}),!(e0?Pm(0,1e3/$):Pm(1,1),J1.mainLoop.scheduler()),h)throw"SimulateInfiniteLoop"}var J1={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){J1.mainLoop.scheduler=null,J1.mainLoop.currentlyRunningMainloop++},resume:function(){J1.mainLoop.currentlyRunningMainloop++;var i=J1.mainLoop.timingMode,$=J1.mainLoop.timingValue,h=J1.mainLoop.func;J1.mainLoop.func=null,Ip(h,0,!1,J1.mainLoop.arg,!0),Pm(i,$),J1.mainLoop.scheduler()},updateStatus:function(){if(o.setStatus){var i=o.statusMessage||"Please wait...",$=J1.mainLoop.remainingBlockers,h=J1.mainLoop.expectedBlockers;$?$"u"&&(console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."),o.noImageDecoding=!0);var i={};i.canHandle=function(e){return!o.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(e)},i.handle=function(e,Z0,t1,b2){var s=null;if(J1.hasBlobConstructor)try{s=new Blob([e],{type:J1.getMimetype(Z0)}),s.size!==e.length&&(s=new Blob([new Uint8Array(e).buffer],{type:J1.getMimetype(Z0)}))}catch(p2){x.warnOnce("Blob constructor present but fails: "+p2+"; falling back to blob builder")}if(!s){var A1=new J1.BlobBuilder;A1.append(new Uint8Array(e).buffer),s=A1.getBlob()}var C=J1.URLObject.createObjectURL(s),w5=new Image;w5.onload=function(){V4(w5.complete,"Image "+Z0+" could not be decoded");var T5=document.createElement("canvas");T5.width=w5.width,T5.height=w5.height;var x9=T5.getContext("2d");x9.drawImage(w5,0,0),o.preloadedImages[Z0]=T5,J1.URLObject.revokeObjectURL(C),t1&&t1(e)},w5.onerror=function(T5){console.log("Image "+C+" could not be decoded"),b2&&b2()},w5.src=C},o.preloadPlugins.push(i);var $={};$.canHandle=function(e){return!o.noAudioDecoding&&e.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},$.handle=function(e,Z0,t1,b2){var s=!1;function A1(x9){s||(s=!0,o.preloadedAudios[Z0]=x9,t1&&t1(e))}function C(){s||(s=!0,o.preloadedAudios[Z0]=new Audio,b2&&b2())}if(J1.hasBlobConstructor){try{var w5=new Blob([e],{type:J1.getMimetype(Z0)})}catch{return C()}var p2=J1.URLObject.createObjectURL(w5),T5=new Audio;T5.addEventListener("canplaythrough",function(){A1(T5)},!1),T5.onerror=function(O9){if(s)return;console.log("warning: browser could not fully decode audio "+Z0+", trying slower base64 approach");function I4(w8){for(var K9="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",h8="=",K4="",Gi=0,Ui=0,dr=0;dr=6;){var V$=Gi>>Ui-6&63;Ui-=6,K4+=K9[V$]}return Ui==2?(K4+=K9[(Gi&3)<<4],K4+=h8+h8):Ui==4&&(K4+=K9[(Gi&15)<<2],K4+=h8),K4}T5.src="data:audio/x-"+Z0.substr(-3)+";base64,"+I4(e),A1(T5)},T5.src=p2,J1.safeSetTimeout(function(){A1(T5)},1e4)}else return C()},o.preloadPlugins.push($);var h=o.canvas;function d(){J1.pointerLock=document.pointerLockElement===h||document.mozPointerLockElement===h||document.webkitPointerLockElement===h||document.msPointerLockElement===h}h&&(h.requestPointerLock=h.requestPointerLock||h.mozRequestPointerLock||h.webkitRequestPointerLock||h.msRequestPointerLock||function(){},h.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},h.exitPointerLock=h.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",d,!1),document.addEventListener("mozpointerlockchange",d,!1),document.addEventListener("webkitpointerlockchange",d,!1),document.addEventListener("mspointerlockchange",d,!1),o.elementPointerLock&&h.addEventListener("click",function(P){!J1.pointerLock&&h.requestPointerLock&&(h.requestPointerLock(),P.preventDefault())},!1))},createContext:function(i,$,h,d){if($&&o.ctx&&i==o.canvas)return o.ctx;var P,e;if($){var Z0={antialias:!1,alpha:!1};if(d)for(var t1 in d)Z0[t1]=d[t1];e=GL.createContext(i,Z0),e&&(P=GL.getContext(e).GLctx),i.style.backgroundColor="black"}else P=i.getContext("2d");return P?(h&&($||V4(typeof GLctx>"u","cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),o.ctx=P,$&&GL.makeContextCurrent(e),o.useWebGL=$,J1.moduleContextCreatedCallbacks.forEach(function(b2){b2()}),J1.init()),P):null},destroyContext:function(i,$,h){},fullScreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullScreen:function(i,$,h){J1.lockPointer=i,J1.resizeCanvas=$,J1.vrDevice=h,typeof J1.lockPointer>"u"&&(J1.lockPointer=!0),typeof J1.resizeCanvas>"u"&&(J1.resizeCanvas=!1),typeof J1.vrDevice>"u"&&(J1.vrDevice=null);var d=o.canvas;function P(){J1.isFullScreen=!1;var Z0=d.parentNode;(document.webkitFullScreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.mozFullscreenElement||document.fullScreenElement||document.fullscreenElement||document.msFullScreenElement||document.msFullscreenElement||document.webkitCurrentFullScreenElement)===Z0?(d.cancelFullScreen=document.cancelFullScreen||document.mozCancelFullScreen||document.webkitCancelFullScreen||document.msExitFullscreen||document.exitFullscreen||function(){},d.cancelFullScreen=d.cancelFullScreen.bind(document),J1.lockPointer&&d.requestPointerLock(),J1.isFullScreen=!0,J1.resizeCanvas&&J1.setFullScreenCanvasSize()):(Z0.parentNode.insertBefore(d,Z0),Z0.parentNode.removeChild(Z0),J1.resizeCanvas&&J1.setWindowedCanvasSize()),o.onFullScreen&&o.onFullScreen(J1.isFullScreen),J1.updateCanvasDimensions(d)}J1.fullScreenHandlersInstalled||(J1.fullScreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",P,!1),document.addEventListener("mozfullscreenchange",P,!1),document.addEventListener("webkitfullscreenchange",P,!1),document.addEventListener("MSFullscreenChange",P,!1));var e=document.createElement("div");d.parentNode.insertBefore(e,d),e.appendChild(d),e.requestFullScreen=e.requestFullScreen||e.mozRequestFullScreen||e.msRequestFullscreen||(e.webkitRequestFullScreen?function(){e.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),h?e.requestFullScreen({vrDisplay:h}):e.requestFullScreen()},nextRAF:0,fakeRequestAnimationFrame:function(i){var $=Date.now();if(J1.nextRAF===0)J1.nextRAF=$+1e3/60;else for(;$+2>=J1.nextRAF;)J1.nextRAF+=1e3/60;var h=Math.max(J1.nextRAF-$,0);setTimeout(i,h)},requestAnimationFrame:function($){typeof window>"u"?J1.fakeRequestAnimationFrame($):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||J1.fakeRequestAnimationFrame),window.requestAnimationFrame($))},safeCallback:function(i){return function(){if(!F0)return i.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){J1.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(J1.allowAsyncCallbacks=!0,J1.queuedAsyncCallbacks.length>0){var i=J1.queuedAsyncCallbacks;J1.queuedAsyncCallbacks=[],i.forEach(function($){$()})}},safeRequestAnimationFrame:function(i){return J1.requestAnimationFrame(function(){F0||(J1.allowAsyncCallbacks?i():J1.queuedAsyncCallbacks.push(i))})},safeSetTimeout:function(i,$){return o.noExitRuntime=!0,setTimeout(function(){F0||(J1.allowAsyncCallbacks?i():J1.queuedAsyncCallbacks.push(i))},$)},safeSetInterval:function(i,$){return o.noExitRuntime=!0,setInterval(function(){F0||J1.allowAsyncCallbacks&&i()},$)},getMimetype:function(i){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[i.substr(i.lastIndexOf(".")+1)]},getUserMedia:function(i){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(i)},getMovementX:function(i){return i.movementX||i.mozMovementX||i.webkitMovementX||0},getMovementY:function(i){return i.movementY||i.mozMovementY||i.webkitMovementY||0},getMouseWheelDelta:function(i){var $=0;switch(i.type){case"DOMMouseScroll":$=i.detail;break;case"mousewheel":$=i.wheelDelta;break;case"wheel":$=i.deltaY;break;default:throw"unrecognized mouse wheel event: "+i.type}return $},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(i){if(J1.pointerLock)i.type!="mousemove"&&"mozMovementX"in i?J1.mouseMovementX=J1.mouseMovementY=0:(J1.mouseMovementX=J1.getMovementX(i),J1.mouseMovementY=J1.getMovementY(i)),typeof SDL<"u"?(J1.mouseX=SDL.mouseX+J1.mouseMovementX,J1.mouseY=SDL.mouseY+J1.mouseMovementY):(J1.mouseX+=J1.mouseMovementX,J1.mouseY+=J1.mouseMovementY);else{var $=o.canvas.getBoundingClientRect(),h=o.canvas.width,d=o.canvas.height,P=typeof window.scrollX<"u"?window.scrollX:window.pageXOffset,e=typeof window.scrollY<"u"?window.scrollY:window.pageYOffset;if(i.type==="touchstart"||i.type==="touchend"||i.type==="touchmove"){var Z0=i.touch;if(Z0===void 0)return;var t1=Z0.pageX-(P+$.left),b2=Z0.pageY-(e+$.top);t1=t1*(h/$.width),b2=b2*(d/$.height);var s={x:t1,y:b2};if(i.type==="touchstart")J1.lastTouches[Z0.identifier]=s,J1.touches[Z0.identifier]=s;else if(i.type==="touchend"||i.type==="touchmove"){var A1=J1.touches[Z0.identifier];A1||(A1=s),J1.lastTouches[Z0.identifier]=A1,J1.touches[Z0.identifier]=s}return}var C=i.pageX-(P+$.left),w5=i.pageY-(e+$.top);C=C*(h/$.width),w5=w5*(d/$.height),J1.mouseMovementX=C-J1.mouseX,J1.mouseMovementY=w5-J1.mouseY,J1.mouseX=C,J1.mouseY=w5}},xhrLoad:function(i,$,h){var d=new XMLHttpRequest;d.open("GET",i,!0),d.responseType="arraybuffer",d.onload=function(){d.status==200||d.status==0&&d.response?$(d.response):h()},d.onerror=h,d.send(null)},asyncLoad:function(i,$,h,d){J1.xhrLoad(i,function(P){V4(P,'Loading data file "'+i+'" failed (no arrayBuffer).'),$(new Uint8Array(P)),d||ur("al "+i)},function(P){if(h)h();else throw'Loading data file "'+i+'" failed.'}),d||Fn("al "+i)},resizeListeners:[],updateResizeListeners:function(){var i=o.canvas;J1.resizeListeners.forEach(function($){$(i.width,i.height)})},setCanvasSize:function(i,$,h){var d=o.canvas;J1.updateCanvasDimensions(d,i,$),h||J1.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:function(){if(typeof SDL<"u"){var i=H$[SDL.screen+x.QUANTUM_SIZE*0>>2];i=i|8388608,_9[SDL.screen+x.QUANTUM_SIZE*0>>2]=i}J1.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL<"u"){var i=H$[SDL.screen+x.QUANTUM_SIZE*0>>2];i=i&-8388609,_9[SDL.screen+x.QUANTUM_SIZE*0>>2]=i}J1.updateResizeListeners()},updateCanvasDimensions:function(i,$,h){$&&h?(i.widthNative=$,i.heightNative=h):($=i.widthNative,h=i.heightNative);var d=$,P=h;if(o.forcedAspectRatio&&o.forcedAspectRatio>0&&(d/P>2]=$),$}function rv(){o.printErr("missing function: floor0_exportbundle"),Js(-1)}if(Hs=x.staticAlloc(4),_9[Hs>>2]=0,o.requestFullScreen=function($,h,d){J1.requestFullScreen($,h,d)},o.requestAnimationFrame=function($){J1.requestAnimationFrame($)},o.setCanvasSize=function($,h,d){J1.setCanvasSize($,h,d)},o.pauseMainLoop=function(){J1.mainLoop.pause()},o.resumeMainLoop=function(){J1.mainLoop.resume()},o.getUserMedia=function(){J1.getUserMedia()},o.createContext=function($,h,d,P){return J1.createContext($,h,d,P)},k.staticInit(),N$.unshift(function(){!o.noFSInit&&!k.init.initialized&&k.init()}),Qh.push(function(){k.ignorePermissions=!1}),G$.push(function(){k.quit()}),o.FS_createFolder=k.createFolder,o.FS_createPath=k.createPath,o.FS_createDataFile=k.createDataFile,o.FS_createPreloadedFile=k.createPreloadedFile,o.FS_createLazyFile=k.createLazyFile,o.FS_createLink=k.createLink,o.FS_createDevice=k.createDevice,N$.unshift(function(){Mn.init()}),G$.push(function(){Mn.shutdown()}),f)var Bt=void 0,mp=void 0;ph=pi=x.alignMemory(Yr),L$=!0,F$=ph+Mm,M$=Li=x.alignMemory(F$),V4(M$>0]=d[t>>0],d[p2+1>>0]=d[t+1>>0],d[p2+2>>0]=d[t+2>>0],d[p2+3>>0]=d[t+3>>0]}function ND(t){t=t|0,d[p2>>0]=d[t>>0],d[p2+1>>0]=d[t+1>>0],d[p2+2>>0]=d[t+2>>0],d[p2+3>>0]=d[t+3>>0],d[p2+4>>0]=d[t+4>>0],d[p2+5>>0]=d[t+5>>0],d[p2+6>>0]=d[t+6>>0],d[p2+7>>0]=d[t+7>>0]}function Tv(t){t=t|0,H6=t}function Nv(){return H6|0}function sB(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0;E=C,e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,n=S9(256)|0,A=t+8|0,e[A>>2]=n,a=t+12|0,e[a>>2]=n,d[n>>0]=0,c=t+16|0,e[c>>2]=256}function Gv(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0;R=C,A=n>>3,a=t+12|0,B=e[a>>2]|0,v=(B|0)==0,!v&&(S=A<<3,w=n-S|0,y=t+8|0,b=e[y>>2]|0,Q=b+A|0,e[a>>2]=Q,_=t+4|0,e[_>>2]=w,e[t>>2]=A,c=8+(w<<2)|0,u=e[c>>2]|0,E=d[Q>>0]|0,I=E&255,m=I&u,p=m&255,d[Q>>0]=p)}function U2(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0;O0=C,u=A>>>0>32;do if(!u){if(E=e[t>>2]|0,_=t+16|0,t0=e[_>>2]|0,n0=t0+-4|0,w0=(E|0)<(n0|0),a=t+12|0,c=e[a>>2]|0,w0)N=c;else{if(L0=(c|0)==0,L0)return;if(Y0=(t0|0)>2147483391,Y0||(P0=t+8|0,K0=e[P0>>2]|0,I=t0+256|0,m=Oi(K0,I)|0,p=(m|0)==0,p))break;e[P0>>2]=m,B=e[_>>2]|0,v=B+256|0,e[_>>2]=v,S=e[t>>2]|0,w=m+S|0,e[a>>2]=w,N=w}y=8+(A<<2)|0,b=e[y>>2]|0,Q=b&n,L=t+4|0,R=e[L>>2]|0,F=R+A|0,M=Q<>0]|0,G=T&255,O=G|M,z=O&255,d[N>>0]=z,Y=(F|0)>7;do if(Y&&(J=e[L>>2]|0,W=8-J|0,e0=Q>>>W,q=e0&255,X=e[a>>2]|0,U=X+1|0,d[U>>0]=q,$0=(F|0)>15,$0&&(Z=e[L>>2]|0,K=16-Z|0,a0=Q>>>K,i0=a0&255,r0=e[a>>2]|0,V=r0+2|0,d[V>>0]=i0,h0=(F|0)>23,h0&&(s0=e[L>>2]|0,g0=24-s0|0,j=Q>>>g0,l0=j&255,u0=e[a>>2]|0,d0=u0+3|0,d[d0>>0]=l0,C0=(F|0)>31,C0))))if(k0=e[L>>2]|0,f0=(k0|0)==0,f0){_0=e[a>>2]|0,Q0=_0+4|0,d[Q0>>0]=0;break}else{B0=32-k0|0,p0=Q>>>B0,I0=p0&255,S0=e[a>>2]|0,V0=S0+4|0,d[V0>>0]=I0;break}while(!1);M0=(F|0)/8&-1,N0=e[t>>2]|0,U0=N0+M0|0,e[t>>2]=U0,y0=e[a>>2]|0,H0=y0+M0|0,e[a>>2]=H0,R0=F&7,e[L>>2]=R0;return}while(!1);D0=t+8|0,T0=e[D0>>2]|0,J0=(T0|0)==0,J0||I2(T0),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0}function oB(t){t=t|0;var n=0,A=0,a=0,c=0,u=0;u=C,n=t+8|0,A=e[n>>2]|0,a=(A|0)==0,a||I2(A),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0}function u7(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0;p=C,n=t+12|0,A=e[n>>2]|0,a=(A|0)==0,!a&&(c=t+8|0,u=e[c>>2]|0,e[n>>2]=u,E=u,d[E>>0]=0,e[t>>2]=0,I=t+4|0,e[I>>2]=0)}function AB(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0;if(S0=C,a=n>>>0>32,a)return A=-1,A|0;if(c=8+(n<<2)|0,b=e[c>>2]|0,z=t+4|0,K=e[z>>2]|0,u0=K+n|0,w0=e[t>>2]|0,C0=t+16|0,k0=e[C0>>2]|0,f0=k0+-4|0,u=(w0|0)<(f0|0),!u){if(E=u0+7|0,I=E>>3,m=k0-I|0,p=(w0|0)>(m|0),p)return A=-1,A|0;if(B=(u0|0)==0,B)return A=0,A|0}return v=t+12|0,S=e[v>>2]|0,w=d[S>>0]|0,y=w&255,Q=y>>>K,_=(u0|0)>8,_?(L=S+1|0,R=d[L>>0]|0,F=R&255,M=8-K|0,T=F<16,G?(O=S+2|0,Y=d[O>>0]|0,t0=Y&255,J=16-K|0,W=t0<24,q?(X=S+3|0,U=d[X>>0]|0,$0=U&255,Z=24-K|0,a0=$0<>0]|0,s0=h0&255,g0=32-K|0,j=s0<>2]|0,v=a+n|0,S=e[t>>2]|0,w=t+16|0,y=e[w>>2]|0,b=v+7|0,Q=b>>3,_=y-Q|0,L=(S|0)>(_|0),L){B=t+12|0,e[B>>2]=0,e[t>>2]=y,R=1,e[A>>2]=R;return}else{c=(v|0)/8&-1,u=t+12|0,E=e[u>>2]|0,I=E+c|0,e[u>>2]=I,m=S+c|0,e[t>>2]=m,p=v&7,R=p,e[A>>2]=R;return}}function Z4(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0;D0=C,m=n>>>0>32;do if(m)a=t+16|0,c=e[a>>2]|0,I=t+4|0,u=t,E=I,Q0=c;else{if(p=8+(n<<2)|0,F=e[p>>2]|0,e0=t+4|0,V=e[e0>>2]|0,f0=V+n|0,L0=e[t>>2]|0,M0=t+16|0,N0=e[M0>>2]|0,U0=N0+-4|0,B=(L0|0)<(U0|0),!B){if(v=f0+7|0,S=v>>3,w=N0-S|0,y=(L0|0)>(w|0),y){u=t,E=e0,Q0=N0;break}if(b=(f0|0)==0,b)return A=0,A|0}return Q=t+12|0,_=e[Q>>2]|0,L=d[_>>0]|0,R=L&255,M=R>>>V,T=(f0|0)>8,T?(N=_+1|0,G=d[N>>0]|0,O=G&255,z=8-V|0,Y=O<16,J?(W=_+2|0,q=d[W>>0]|0,X=q&255,U=16-V|0,$0=X<24,K?(a0=_+3|0,n0=d[a0>>0]|0,i0=n0&255,r0=24-V|0,h0=i0<>0]|0,d0=u0&255,w0=32-V|0,C0=d0<>2]=I0,S0=L0+p0|0,e[t>>2]=S0,V0=f0&7,e[e0>>2]=V0,A=B0,A|0}while(!1);return _0=t+12|0,e[_0>>2]=0,e[u>>2]=Q0,e[E>>2]=1,A=-1,A|0}function pt(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0;return m=C,n=e[t>>2]|0,A=t+4|0,a=e[A>>2]|0,c=a+7|0,u=(c|0)/8&-1,E=u+n|0,E|0}function Vp(t){t=t|0;var n=0,A=0,a=0,c=0;return c=C,n=t+8|0,A=e[n>>2]|0,A|0}function Uv(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0;if(T=C,c=(t|0)==0,c)return A=-1,A|0;Ae(t|0,0,360)|0,u=t+4|0,e[u>>2]=16384,S=t+24|0,e[S>>2]=1024,w=S9(16384)|0,e[t>>2]=w,y=S9(4096)|0,b=t+16|0,e[b>>2]=y,Q=S9(8192)|0,_=t+20|0,e[_>>2]=Q,L=(w|0)==0;do if(L)I=y;else{if(R=(y|0)==0,E=(Q|0)==0,F=E|R,F){I2(w),a=e[b>>2]|0,I=a;break}return v=t+336|0,e[v>>2]=n,A=0,A|0}while(!1);return m=(I|0)==0,m||I2(I),p=e[_>>2]|0,B=(p|0)==0,B||I2(p),Ae(t|0,0,360)|0,A=-1,A|0}function Pv(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0;return v=C,n=(t|0)==0,n||(A=e[t>>2]|0,a=(A|0)==0,a||I2(A),c=t+16|0,u=e[c>>2]|0,E=(u|0)==0,E||I2(u),I=t+20|0,m=e[I>>2]|0,p=(m|0)==0,p||I2(m),Ae(t|0,0,360)|0),0}function Ov(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0;if(N0=C,n=(t|0)==0,!n){if(A=e[t>>2]|0,w=A+22|0,d[w>>0]=0,G=e[t>>2]|0,$0=G+23|0,d[$0>>0]=0,j=e[t>>2]|0,k0=j+24|0,d[k0>>0]=0,f0=e[t>>2]|0,B0=f0+25|0,d[B0>>0]=0,p0=t+4|0,a=e[p0>>2]|0,c=(a|0)>0,c)for(u=e[t>>2]|0,S0=0,Q0=0;;)if(v=S0<<8,S=S0>>>24,y=u+Q0|0,b=d[y>>0]|0,Q=b&255,_=Q^S,L=144+(_<<2)|0,R=e[L>>2]|0,F=R^v,M=Q0+1|0,T=(M|0)<(a|0),T)S0=F,Q0=M;else{I0=F;break}else I0=0;if(E=t+12|0,I=e[E>>2]|0,m=(I|0)>0,m)for(p=t+8|0,B=e[p>>2]|0,_0=I0,L0=0;;)if(N=_0<<8,O=_0>>>24,z=B+L0|0,Y=d[z>>0]|0,t0=Y&255,J=t0^O,W=144+(J<<2)|0,e0=e[W>>2]|0,q=e0^N,X=L0+1|0,U=(X|0)<(I|0),U)_0=q,L0=X;else{V0=q;break}else V0=I0;Z=V0&255,K=e[t>>2]|0,a0=K+22|0,d[a0>>0]=Z,n0=V0>>>8,i0=n0&255,r0=e[t>>2]|0,V=r0+23|0,d[V>>0]=i0,h0=V0>>>16,s0=h0&255,g0=e[t>>2]|0,l0=g0+24|0,d[l0>>0]=s0,u0=V0>>>24,d0=u0&255,w0=e[t>>2]|0,C0=w0+25|0,d[C0>>0]=d0}}function qv(t,n,A,a,c,u){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0,u=u|0;var E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,R1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0;if(d2=C,j=(t|0)==0,j||(S0=e[t>>2]|0,D0=(S0|0)==0,D0))return I=-1,I|0;if(b0=(n|0)==0,b0)return I=0,I|0;z0=(A|0)>0;e:do if(z0){for(f2=0,y2=0;;){if(w1=(n+(y2<<3)|0)+4|0,O1=e[w1>>2]|0,s2=(O1|0)<0,y=2147483647-O1|0,O=(f2|0)>(y|0),F2=s2|O,F2){I=-1;break}if(Z=O1+f2|0,n0=y2+1|0,i0=(n0|0)<(A|0),i0)f2=Z,y2=n0;else{n2=Z;break e}}return I|0}else n2=0;while(!1);r0=(n2|0)/255&-1,V=r0+1|0,h0=t+12|0,s0=e[h0>>2]|0,g0=(s0|0)==0,w=t+8|0,g0||(l0=e[w>>2]|0,u0=l0-s0|0,e[w>>2]=u0,d0=(l0|0)==(s0|0),d0||(w0=S0+s0|0,WA(S0|0,w0|0,u0|0)|0),e[h0>>2]=0),C0=t+4|0,k0=e[C0>>2]|0,f0=k0-n2|0,B0=e[w>>2]|0,p0=(f0|0)>(B0|0);do if(!p0){if(I0=2147483647-n2|0,V0=(k0|0)>(I0|0),V0)return _0=e[t>>2]|0,Q0=(_0|0)==0,Q0||I2(_0),L0=t+16|0,M0=e[L0>>2]|0,N0=(M0|0)==0,N0||I2(M0),U0=t+20|0,y0=e[U0>>2]|0,H0=(y0|0)==0,H0||I2(y0),Ae(t|0,0,360)|0,I=-1,I|0;if(R0=k0+n2|0,T0=(R0|0)<2147482623,J0=R0+1024|0,E=T0?J0:R0,Y0=e[t>>2]|0,P0=Oi(Y0,E)|0,K0=(P0|0)==0,!K0){e[C0>>2]=E,e[t>>2]=P0;break}return G0=e[t>>2]|0,O0=(G0|0)==0,O0||I2(G0),r1=t+16|0,q0=e[r1>>2]|0,e1=(q0|0)==0,e1||I2(q0),i1=t+20|0,c1=e[i1>>2]|0,$1=(c1|0)==0,$1||I2(c1),Ae(t|0,0,360)|0,I=-1,I|0}while(!1);if(u1=Hv(t,V)|0,g1=(u1|0)==0,!g1)return I=-1,I|0;if(z0)for(p=e[w>>2]|0,p1=p,v2=0;E1=e[t>>2]|0,B1=E1+p1|0,Q1=n+(v2<<3)|0,x1=e[Q1>>2]|0,R1=(n+(v2<<3)|0)+4|0,S1=e[R1>>2]|0,s4(B1|0,x1|0,S1|0)|0,L1=e[R1>>2]|0,F1=e[w>>2]|0,G1=F1+L1|0,e[w>>2]=G1,k1=v2+1|0,e2=(k1|0)==(A|0),!e2;)p1=G1,v2=k1;if(l1=(n2|0)>254,s1=t+28|0,a1=e[s1>>2]|0,n1=t+16|0,o1=e[n1>>2]|0,l1){for(I1=t+352|0,h1=t+20|0,m1=e[h1>>2]|0,d1=(r0|0)>1,C2=0;U1=a1+C2|0,Z1=o1+(U1<<2)|0,e[Z1>>2]=255,N1=I1,D1=N1,V1=e[D1>>2]|0,q1=N1+4|0,H1=q1,Y1=e[H1>>2]|0,j1=m1+(U1<<3)|0,r2=j1,W1=r2,e[W1>>2]=V1,P1=r2+4|0,c2=P1,e[c2>>2]=Y1,z1=C2+1|0,u2=(z1|0)<(r0|0),u2;)C2=z1;D2=d1?r0:1,B=I1,a2=m1,w2=D2}else m=t+20|0,v=e[m>>2]|0,S=t+352|0,B=S,a2=v,w2=0;return E2=(n2|0)%255&-1,o2=a1+w2|0,K1=o1+(o2<<2)|0,e[K1>>2]=E2,h2=a2+(o2<<3)|0,t2=h2,$2=t2,e[$2>>2]=c,i2=t2+4|0,A2=i2,e[A2>>2]=u,X1=B,b=X1,e[b>>2]=c,Q=X1+4|0,_=Q,e[_>>2]=u,L=o1+(a1<<2)|0,R=e[L>>2]|0,F=R|256,e[L>>2]=F,M=a1+V|0,e[s1>>2]=M,T=t+344|0,N=T,G=N,z=e[G>>2]|0,Y=N+4|0,t0=Y,J=e[t0>>2]|0,W=zs(z|0,J|0,1,0)|0,e0=H6,q=T,X=q,e[X>>2]=W,U=q+4|0,$0=U,e[$0>>2]=e0,K=(a|0)==0,K?(I=0,I|0):(a0=t+328|0,e[a0>>2]=1,I=0,I|0)}function Jm(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0;return L=C,C=C+16|0,Q=L,A=e[n>>2]|0,e[Q>>2]=A,a=n+4|0,m=e[a>>2]|0,p=Q+4|0,e[p>>2]=m,B=n+12|0,v=e[B>>2]|0,S=n+16|0,w=S,y=w,b=e[y>>2]|0,c=w+4|0,u=c,E=e[u>>2]|0,I=qv(t,Q,1,v,b,E)|0,C=L,I|0}function Kp(t,n){t=t|0,n=n|0;var A=0,a=0,c=0;return c=C,A=Zp(t,n,1,4096)|0,A|0}function zp(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0;return L=C,u=(t|0)==0,u||(E=e[t>>2]|0,I=(E|0)==0,I)?(A=0,A|0):(m=t+328|0,p=e[m>>2]|0,B=(p|0)==0,a=t+28|0,c=e[a>>2]|0,Q=(c|0)==0,B?Q?b=0:(v=t+332|0,S=e[v>>2]|0,w=(S|0)==0,w?_=7:b=0):Q?b=0:_=7,(_|0)==7&&(b=1),y=Zp(t,n,b,4096)|0,A=y,A|0)}function Hv(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0;return l0=C,c=t+24|0,u=e[c>>2]|0,Q=u-n|0,Y=t+28|0,a0=e[Y>>2]|0,r0=(Q|0)>(a0|0),r0?(a=0,a|0):(V=2147483647-n|0,h0=(u|0)>(V|0),h0?(s0=e[t>>2]|0,g0=(s0|0)==0,g0||I2(s0),E=t+16|0,I=e[E>>2]|0,m=(I|0)==0,m||I2(I),p=t+20|0,B=e[p>>2]|0,v=(B|0)==0,v||I2(B),Ae(t|0,0,360)|0,a=-1,a|0):(S=u+n|0,w=(S|0)<2147483615,y=S+32|0,A=w?y:S,b=t+16|0,_=e[b>>2]|0,L=A<<2,R=Oi(_,L)|0,F=(R|0)==0,F?(M=e[t>>2]|0,T=(M|0)==0,T||I2(M),N=e[b>>2]|0,G=(N|0)==0,G||I2(N),O=t+20|0,z=e[O>>2]|0,t0=(z|0)==0,t0||I2(z),Ae(t|0,0,360)|0,a=-1,a|0):(e[b>>2]=R,J=t+20|0,W=e[J>>2]|0,e0=A<<3,q=Oi(W,e0)|0,X=(q|0)==0,X?(U=e[t>>2]|0,$0=(U|0)==0,$0||I2(U),Z=e[b>>2]|0,K=(Z|0)==0,K||I2(Z),n0=e[J>>2]|0,i0=(n0|0)==0,i0||I2(n0),Ae(t|0,0,360)|0,a=-1,a|0):(e[J>>2]=q,e[c>>2]=A,a=0,a|0))))}function Zp(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,R1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,R5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,R2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,k3=0,u3=0,p3=0,z3=0,G3=0,K5=0,w3=0,Z5=0,i6=0,R3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0;if(k5=C,Q=t+28|0,_=e[Q>>2]|0,c1=(_|0)>255,c=c1?255:_,h1=(t|0)==0,h1||(L1=e[t>>2]|0,H1=(L1|0)==0,o2=(c|0)==0,w3=o2|H1,w3))return u=0,u|0;e2=t+332|0,H2=e[e2>>2]|0,Z2=(H2|0)==0;e:do if(Z2)for(C0=t+16|0,l3=0;;){if(M0=(l3|0)<(c|0),!M0){I=A,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,H5=l3,O5=14;break e}if(K0=e[C0>>2]|0,q0=K0+(l3<<2)|0,e1=e[q0>>2]|0,b0=e1&255,i1=(b0|0)==255,$1=l3+1|0,i1)l3=$1;else{I=A,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,H5=$1,O5=14;break}}else if(L=(c|0)>0,L){for(J=t+16|0,i0=t+20|0,C5=0,S5=-1,g5=-1,a5=-1,W2=-1,g2=-1,p5=-1,t5=-1,s5=-1,Z5=0,R3=0,C3=0;;){if(u1=(C5|0)>(a|0),g1=(Z5|0)>3,G3=u1&g1,G3){E=1,G5=S5,_5=g5,q2=a5,I5=W2,A5=g2,c5=p5,B5=t5,M1=s5,c3=C3;break}if(l1=e[J>>2]|0,s1=l1+(C3<<2)|0,a1=e[s1>>2]|0,n1=a1&255,o1=n1+C5|0,z0=(n1|0)==255,z0?(h5=S5,J2=g5,u5=a5,i5=W2,x5=g2,j2=p5,$5=t5,R2=s5,i6=0,U3=R3):(I1=e[i0>>2]|0,m1=I1+(C3<<3)|0,d1=m1,E1=d1,B1=e[E1>>2]|0,p1=d1+4|0,Q1=p1,x1=e[Q1>>2]|0,R1=R3+1|0,w1=B1&255,S1=Zs(B1|0,x1|0,8)|0,F1=H6,G1=S1&255,k1=Zs(B1|0,x1|0,16)|0,U1=H6,Z1=k1&255,N1=Zs(B1|0,x1|0,24)|0,D1=H6,V1=N1&255,O1=x1&255,q1=Zs(B1|0,x1|0,40)|0,Y1=H6,j1=q1&255,r2=Zs(B1|0,x1|0,48)|0,W1=H6,P1=r2&255,c2=Zs(B1|0,x1|0,56)|0,z1=H6,u2=c2&255,h5=w1,J2=Z1,u5=V1,i5=O1,x5=j1,j2=P1,$5=u2,R2=G1,i6=R1,U3=R1),s2=C3+1|0,E2=(s2|0)<(c|0),E2)C5=o1,S5=h5,g5=J2,a5=u5,W2=i5,g2=x5,p5=j2,t5=$5,s5=R2,Z5=i6,R3=U3,C3=s2;else{E=A,G5=h5,_5=J2,q2=u5,I5=i5,A5=x5,c5=j2,B5=$5,M1=R2,c3=s2;break}}K1=(c3|0)==255,K1?(n3=G5,m3=_5,F5=q2,J5=I5,k3=A5,u3=c5,p3=B5,z3=M1,U5=255):(I=E,Q5=G5,q5=_5,j5=q2,E5=I5,f3=A5,h3=c5,Y5=B5,X5=M1,H5=c3,O5=14)}else I=A,Q5=-1,q5=-1,j5=-1,E5=-1,f3=-1,h3=-1,Y5=-1,X5=-1,H5=0,O5=14;while(!1);if((O5|0)==14){if(h2=(I|0)==0,h2)return u=0,u|0;n3=Q5,m3=q5,F5=j5,J5=E5,k3=f3,u3=h3,p3=Y5,z3=X5,U5=H5}if(a2=t+40|0,d[a2>>0]=79,d[a2+1>>0]=103,d[a2+2>>0]=103,d[a2+3>>0]=83,t2=t+44|0,d[t2>>0]=0,$2=t+45|0,d[$2>>0]=0,i2=t+16|0,A2=e[i2>>2]|0,X1=e[A2>>2]|0,n2=X1>>>8,v=n2&1,f2=v^1,y2=f2|2,m=Z2?y2:f2,a3=m&255,d[$2>>0]=a3,v2=t+328|0,w2=e[v2>>2]|0,C2=(w2|0)!=0,F2=(_|0)==(U5|0),K5=C2&F2,K5&&(p=Z2?y2:f2,D2=p|4,N2=D2&255,d[$2>>0]=N2),e[e2>>2]=1,d2=t+46|0,d[d2>>0]=n3,K2=t+47|0,d[K2>>0]=z3,G2=t+48|0,d[G2>>0]=m3,M2=t+49|0,d[M2>>0]=F5,P2=t+50|0,d[P2>>0]=J5,z2=t+51|0,d[z2>>0]=k3,o5=t+52|0,d[o5>>0]=u3,O2=t+53|0,d[O2>>0]=p3,T1=t+336|0,X2=e[T1>>2]|0,R5=X2&255,e5=t+54|0,d[e5>>0]=R5,b5=X2>>>8,f5=b5&255,v5=t+55|0,d[v5>>0]=f5,P5=X2>>>16,l5=P5&255,k2=t+56|0,d[k2>>0]=l5,m5=X2>>>24,n5=m5&255,x2=t+57|0,d[x2>>0]=n5,_2=t+340|0,B2=e[_2>>2]|0,R=(B2|0)==-1,R?(e[_2>>2]=0,M=0):M=B2,F=M+1|0,e[_2>>2]=F,T=M&255,N=t+58|0,d[N>>0]=T,G=M>>>8,O=G&255,z=t+59|0,d[z>>0]=O,Y=M>>>16,t0=Y&255,W=t+60|0,d[W>>0]=t0,e0=M>>>24,q=e0&255,X=t+61|0,d[X>>0]=q,U=t+62|0,$0=U5&255,Z=t+66|0,d[U>>0]=0,d[U+1>>0]=0,d[U+2>>0]=0,d[U+3>>0]=0,d[Z>>0]=$0,K=(U5|0)>0,K){if(a0=e[A2>>2]|0,n0=a0&255,r0=t+67|0,d[r0>>0]=n0,V=a0&255,D5=(U5|0)==1,D5)B=V;else for(s0=1,k0=V;;)if(S=e[i2>>2]|0,h0=S+(s0<<2)|0,g0=e[h0>>2]|0,j=g0&255,l0=s0+27|0,u0=(t+40|0)+l0|0,d[u0>>0]=j,d0=g0&255,w0=d0+k0|0,f0=s0+1|0,d5=(f0|0)==(U5|0),d5){B=w0;break}else s0=f0,k0=w0;w=e[t>>2]|0,y=e[Q>>2]|0,b=e[i2>>2]|0,Q0=w,y0=y,R0=b,L5=B}else Q0=L1,y0=_,R0=A2,L5=0;return e[n>>2]=a2,B0=U5+27|0,p0=t+324|0,e[p0>>2]=B0,I0=n+4|0,e[I0>>2]=B0,S0=t+12|0,V0=e[S0>>2]|0,_0=Q0+V0|0,L0=n+8|0,e[L0>>2]=_0,N0=n+12|0,e[N0>>2]=L5,U0=y0-U5|0,e[Q>>2]=U0,H0=R0+(U5<<2)|0,D0=U0<<2,WA(R0|0,H0|0,D0|0)|0,T0=t+20|0,J0=e[T0>>2]|0,Y0=J0+(U5<<3)|0,P0=e[Q>>2]|0,G0=P0<<3,WA(J0|0,Y0|0,G0|0)|0,O0=e[S0>>2]|0,r1=O0+L5|0,e[S0>>2]=r1,Ov(n),u=1,u|0}function Yv(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0;return q0=C,a=t+104|0,c=e[a>>2]|0,b=t+88|0,z=c+12|0,e[b>>2]=0,e[b+4>>2]=0,e[b+8>>2]=0,e[b+12>>2]=0,K=e[z>>2]|0,u7(K),u0=c+16|0,_0=e[u0>>2]|0,u7(_0),J0=c+20|0,G0=e[J0>>2]|0,u7(G0),O0=c+24|0,u=e[O0>>2]|0,u7(u),E=c+28|0,I=e[E>>2]|0,u7(I),m=c+32|0,p=e[m>>2]|0,u7(p),B=c+36|0,v=e[B>>2]|0,u7(v),S=c+40|0,w=e[S>>2]|0,u7(w),y=c+44|0,Q=e[y>>2]|0,u7(Q),_=c+48|0,L=e[_>>2]|0,u7(L),R=c+52|0,F=e[R>>2]|0,u7(F),M=c+56|0,T=e[M>>2]|0,u7(T),N=c+60|0,G=e[N>>2]|0,u7(G),O=c+64|0,Y=e[O>>2]|0,u7(Y),t0=c+68|0,J=e[t0>>2]|0,u7(J),W=e[6416]|0,e0=W+12|0,q=e[e0>>2]|0,X=SQ[q&1](t)|0,U=(X|0)==0,U?($0=(n|0)==0,$0?(A=0,A|0):(Z=_h(t)|0,a0=(Z|0)==0,a0?(n0=t+4|0,i0=Vp(n0)|0,e[n>>2]=i0,r0=pt(n0)|0,V=n+4|0,e[V>>2]=r0,h0=n+8|0,e[h0>>2]=0,s0=t+44|0,g0=e[s0>>2]|0,j=n+12|0,e[j>>2]=g0,l0=t+48|0,d0=l0,w0=d0,C0=e[w0>>2]|0,k0=d0+4|0,f0=k0,B0=e[f0>>2]|0,p0=n+16|0,I0=p0,S0=I0,e[S0>>2]=C0,V0=I0+4|0,Q0=V0,e[Q0>>2]=B0,L0=t+56|0,M0=L0,N0=M0,U0=e[N0>>2]|0,y0=M0+4|0,H0=y0,R0=e[H0>>2]|0,D0=n+24|0,T0=D0,Y0=T0,e[Y0>>2]=U0,P0=T0+4|0,K0=P0,e[K0>>2]=R0,A=0,A|0):(A=-131,A|0))):(A=X,A|0)}function Jv(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0;C0=C,A=t+28|0,a=e[A>>2]|0,d0=n,k0=d0+48|0;do e[d0>>2]=0,d0=d0+4|0;while((d0|0)<(k0|0));y=a+3372|0,O=e[y>>2]|0,Z=(O|0)>0,Z&&(s0=t+8|0,g0=e[s0>>2]|0,j=e[a>>2]|0,l0=j>>1,u0=a+4|0,c=e[u0>>2]|0,u=(c|0)/(j|0)&-1,E=n+24|0,e[E>>2]=u,e[n>>2]=1,I=a+3360|0,m=e[I>>2]|0,p=+(m|0),B=+(l0|0),v=p*B,S=+(g0|0),w=v/S,b=+Pi(w),Q=~~b,_=n+12|0,e[_>>2]=Q,L=a+3364|0,R=e[L>>2]|0,F=+(R|0),M=F*B,T=M/S,N=+Pi(T),G=~~N,z=n+16|0,e[z>>2]=G,Y=a+3368|0,t0=e[Y>>2]|0,J=+(t0|0),W=J*B,e0=W/S,q=+Pi(e0),X=~~q,U=n+20|0,e[U>>2]=X,$0=n+32|0,A1[$0>>3]=7,K=+(O|0),a0=a+3376|0,n0=+A1[a0>>3],i0=K*n0,r0=~~i0,V=n+8|0,e[V>>2]=r0,h0=n+4|0,e[h0>>2]=r0)}function Vv(t){t=t|0;var n=0,A=0,a=0,c=0;a=C,n=t,c=n+48|0;do e[n>>2]=0,n=n+4|0;while((n|0)<(c|0))}function _h(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0;return B=C,A=t+64|0,a=e[A>>2]|0,c=a+104|0,u=e[c>>2]|0,E=u+80|0,I=e[E>>2]|0,m=(I|0)!=0,n=m&1,n|0}function Kv(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,R1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,R5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,R2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,k3=0,u3=0,p3=0,z3=0,G3=0,K5=0,w3=0,Z5=0,i6=0,R3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,L3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,X3=0,c6=0,p6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0;if(b6=C,p=t+104|0,B=e[p>>2]|0,z1=t+64|0,k2=e[z1>>2]|0,_5=k2+104|0,g2=e[_5>>2]|0,R2=k2+4|0,F5=e[R2>>2]|0,R3=F5+28|0,M5=e[R3>>2]|0,v=g2+112|0,T=+A1[v>>3],X=+Pi(T),s0=~~X,p0=(B+12|0)+(s0<<2)|0,H0=e[p0>>2]|0,q0=pt(H0)|0,n1=q0<<3,x1=t+28|0,D1=e[x1>>2]|0,u2=(D1|0)==0,X1=g2+96|0,d2=e[X1>>2]|0,u2?(R5=g2+100|0,b5=e[R5>>2]|0,U=d2,k0=R5,I0=b5):(Z2=g2+104|0,f5=e[Z2>>2]|0,v5=g2+100|0,P5=e[v5>>2]|0,l5=r5(f5,d2)|0,m5=r5(f5,P5)|0,U=l5,k0=v5,I0=m5),n5=M5+(D1<<2)|0,x2=e[n5>>2]|0,_2=x2>>1,B2=M5+3372|0,C5=e[B2>>2]|0,L5=+(C5|0),d5=M5+3376|0,D5=+A1[d5>>3],G5=L5*D5,q2=~~G5,I5=g2+80|0,A5=e[I5>>2]|0,c5=(A5|0)==0,B5=g2+120|0,c5)return M1=e[B5>>2]|0,S5=(M1|0)==0,S5?(e[B5>>2]=t,A=0,A|0):(A=-1,A|0);if(e[B5>>2]=t,g5=g2+92|0,a5=e[g5>>2]|0,W2=(a5|0)>0,W2){u2?$5=a5:(p5=g2+104|0,t5=e[p5>>2]|0,s5=r5(t5,a5)|0,$5=s5),h5=M5+3384|0,J2=+A1[h5>>3],u5=15/J2,i5=g2+84|0,x5=e[i5>>2]|0,j2=n1-$5|0,Q5=x5+j2|0,q5=(Q5|0)>(q2|0);e:do if(q5)if(j5=(s0|0)>0,E5=(n1|0)>($5|0),S6=E5&j5,S6)if(f3=n1-$5|0,h3=f3+x5|0,Y5=(h3|0)>(q2|0),Y5)for(O3=s0;;){if(X5=O3+-1|0,n3=(B+12|0)+(X5<<2)|0,m3=e[n3>>2]|0,J5=pt(m3)|0,k3=J5<<3,u3=(O3|0)>1,p3=(k3|0)>($5|0),v6=p3&u3,!v6){V5=X5;break e}if(I=e[i5>>2]|0,z3=k3-$5|0,G3=z3+I|0,K5=(G3|0)>(q2|0),K5)O3=X5;else{V5=X5;break}}else V5=s0;else V5=s0;else if(w3=(Q5|0)<(q2|0),w3)if(Z5=s0+1|0,i6=(Z5|0)<15,U3=(n1|0)<($5|0),X3=U3&i6,X3)if(a3=n1-$5|0,l3=a3+x5|0,c3=(l3|0)<(q2|0),c3)for(H5=Z5;;){if(C3=(B+12|0)+(H5<<2)|0,U5=e[C3>>2]|0,O5=pt(U5)|0,k5=O5<<3,P3=H5+1|0,o6=(P3|0)<15,e3=(k5|0)<($5|0),B6=e3&o6,!B6){V5=H5;break e}if(E=e[i5>>2]|0,A3=k5-$5|0,L3=A3+E|0,u6=(L3|0)<(q2|0),u6)H5=P3;else{V5=H5;break}}else V5=s0;else V5=s0;else V5=s0;while(!1);Q3=+(V5|0),v3=+A1[v>>3],y3=Q3-v3,r6=+Pi(y3),j3=+(_2|0),S=r6/j3,w=F5+8|0,y=e[w>>2]|0,b=+(y|0),Q=b*S,_=-u5,L=Q<_,C6=L?_:Q,R=C6>u5,b3=R?u5:C6,F=b3/b,M=F*j3,N=M+v3,A1[v>>3]=N,G=+Pi(N),O=~~G,z=(B+12|0)+(O<<2)|0,Y=e[z>>2]|0,t0=pt(Y)|0,J=t0<<3,m=e[X1>>2]|0,W=m,S3=O,e6=J}else W=d2,S3=s0,e6=n1;e0=(W|0)>0,q=(e6|0)<(U|0),c6=q&e0;e:do if(c6)if($0=g2+88|0,Z=e[$0>>2]|0,K=e6-U|0,a0=K+Z|0,n0=(a0|0)<0,n0)for(g3=S3,t6=e6;;){if(i0=g3+1|0,r0=(g3|0)>13,r0){q3=i0,f6=t6;break e}if(V=(B+12|0)+(i0<<2)|0,h0=e[V>>2]|0,g0=pt(h0)|0,j=g0<<3,l0=e[$0>>2]|0,u0=j-U|0,d0=u0+l0|0,w0=(d0|0)<0,w0)g3=i0,t6=j;else{q3=i0,f6=j;break}}else q3=S3,f6=e6;else q3=S3,f6=e6;while(!1);C0=e[k0>>2]|0,f0=(C0|0)>0,B0=(f6|0)>(I0|0),p6=B0&f0;e:do if(p6)if(S0=g2+88|0,V0=e[S0>>2]|0,_0=f6-I0|0,Q0=_0+V0|0,L0=e[B2>>2]|0,M0=(Q0|0)>(L0|0),M0)for(l6=q3,H3=f6;;){if(N0=l6+-1|0,U0=(l6|0)<1,U0){d3=N0,D3=H3;break e}if(y0=(B+12|0)+(N0<<2)|0,R0=e[y0>>2]|0,D0=pt(R0)|0,T0=D0<<3,J0=e[S0>>2]|0,Y0=T0-I0|0,P0=Y0+J0|0,K0=e[B2>>2]|0,G0=(P0|0)>(K0|0),G0)l6=N0,H3=T0;else{d3=N0,D3=T0;break}}else d3=q3,D3=f6;else d3=q3,D3=f6;while(!1);if(O0=(d3|0)<0,O0)r1=e[B2>>2]|0,e1=g2+88|0,b0=e[e1>>2]|0,i1=r1+I0|0,c1=i1-b0|0,$1=(c1|0)/8&-1,u1=g2+124|0,e[u1>>2]=0,g1=B+12|0,l1=e[g1>>2]|0,s1=pt(l1)|0,a1=(s1|0)>($1|0),a1?(o1=e[g1>>2]|0,z0=$1<<3,Gv(o1,z0),I1=e[g1>>2]|0,h1=pt(I1)|0,m1=h1<<3,Y3=m1):Y3=D3;else{if(d1=g2+88|0,E1=e[d1>>2]|0,B1=U+7|0,p1=B1-E1|0,Q1=(p1|0)/8&-1,R1=(d3|0)>14,c=R1?14:d3,w1=g2+124|0,e[w1>>2]=c,S1=(B+12|0)+(c<<2)|0,L1=e[S1>>2]|0,F1=pt(L1)|0,G1=Q1-F1|0,k1=(G1|0)>0,U1=e[S1>>2]|0,k1)for(N1=U1,k6=G1;;)if(Z1=k6+-1|0,U2(N1,0,8),V1=(k6|0)>1,O1=e[S1>>2]|0,V1)N1=O1,k6=Z1;else{u=O1;break}else u=U1;q1=pt(u)|0,H1=q1<<3,Y3=H1}Y1=e[X1>>2]|0,j1=(Y1|0)>0,j1?Z3=37:(r2=e[k0>>2]|0,W1=(r2|0)>0,W1&&(Z3=37));do if((Z3|0)==37){if(P1=(I0|0)>0,c2=(Y3|0)>(I0|0),x6=P1&c2,x6){s2=Y3-I0|0,E2=g2+88|0,o2=e[E2>>2]|0,K1=s2+o2|0,e[E2>>2]=K1;break}if(h2=(U|0)>0,a2=(Y3|0)<(U|0),Y6=h2&a2,Y6){t2=Y3-U|0,$2=g2+88|0,i2=e[$2>>2]|0,A2=t2+i2|0,e[$2>>2]=A2;break}if(n2=g2+88|0,f2=e[n2>>2]|0,e2=(f2|0)>(q2|0),e2)if(P1){y2=Y3-I0|0,v2=f2+y2|0,w2=(v2|0)<(q2|0),n=w2?q2:v2,e[n2>>2]=n;break}else{e[n2>>2]=q2;break}else if(h2){C2=Y3-U|0,F2=f2+C2|0,D2=(F2|0)>(q2|0),a=D2?q2:F2,e[n2>>2]=a;break}else{e[n2>>2]=q2;break}}while(!1);return N2=e[g5>>2]|0,K2=(N2|0)>0,K2?(G2=e[x1>>2]|0,H2=(G2|0)==0,H2?O2=N2:(M2=g2+104|0,P2=e[M2>>2]|0,z2=r5(P2,N2)|0,O2=z2),o5=Y3-O2|0,T1=g2+84|0,X2=e[T1>>2]|0,e5=o5+X2|0,e[T1>>2]=e5,A=0,A|0):(A=0,A|0)}function Wp(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0;return I0=C,a=t+104|0,c=e[a>>2]|0,b=c+120|0,z=e[b>>2]|0,K=(z|0)==0,K?(A=0,A|0):(u0=(n|0)==0,u0||(d0=z+104|0,w0=e[d0>>2]|0,C0=z+64|0,k0=e[C0>>2]|0,u=k0+104|0,E=e[u>>2]|0,I=E+80|0,m=e[I>>2]|0,B0=(m|0)==0,B0?f0=7:(p=c+124|0,B=e[p>>2]|0,f0=B),v=(w0+12|0)+(f0<<2)|0,S=e[v>>2]|0,w=Vp(S)|0,e[n>>2]=w,y=e[v>>2]|0,Q=pt(y)|0,_=n+4|0,e[_>>2]=Q,L=n+8|0,e[L>>2]=0,R=z+44|0,F=e[R>>2]|0,M=n+12|0,e[M>>2]=F,T=z+48|0,N=T,G=N,O=e[G>>2]|0,Y=N+4|0,t0=Y,J=e[t0>>2]|0,W=n+16|0,e0=W,q=e0,e[q>>2]=O,X=e0+4|0,U=X,e[U>>2]=J,$0=z+56|0,Z=$0,a0=Z,n0=e[a0>>2]|0,i0=Z+4|0,r0=i0,V=e[r0>>2]|0,h0=n+24|0,s0=h0,g0=s0,e[g0>>2]=n0,j=s0+4|0,l0=j,e[l0>>2]=V),e[b>>2]=0,A=1,A|0)}function zv(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0;M=C,R=n,T=R+112|0;do e[R>>2]=0,R=R+4|0;while((R|0)<(T|0));if(A=n+64|0,e[A>>2]=t,a=n+76|0,e[a>>2]=0,p=n+68|0,e[p>>2]=0,B=e[t>>2]|0,v=(B|0)==0,v)return 0;for(S=n4(1,72)|0,w=n+104|0,e[w>>2]=S,y=S+4|0,s[y>>2]=-9999,b=n+4|0,Q=S+12|0,c=S+40|0,L=0;;)if(u=(L|0)==7,u){e[c>>2]=b,sB(b),L=8;continue}else{if(E=n4(1,20)|0,I=Q+(L<<2)|0,e[I>>2]=E,sB(E),m=L+1|0,_=(m|0)==15,_)break;L=m;continue}return 0}function Ot(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0;return Y=C,A=n+7|0,a=A&-8,y=t+72|0,R=e[y>>2]|0,F=R+a|0,M=t+76|0,T=e[M>>2]|0,N=(F|0)>(T|0),G=t+68|0,O=e[G>>2]|0,N?(c=(O|0)==0,c||(u=O,E=S9(8)|0,I=t+80|0,m=e[I>>2]|0,p=m+R|0,e[I>>2]=p,B=t+84|0,v=e[B>>2]|0,S=E+4|0,e[S>>2]=v,e[E>>2]=u,e[B>>2]=E),e[M>>2]=a,w=S9(a)|0,e[G>>2]=w,e[y>>2]=0,Q=w,_=0,b=Q+_|0,L=_+a|0,e[y>>2]=L,b|0):(Q=O,_=R,b=Q+_|0,L=_+a|0,e[y>>2]=L,b|0)}function Zv(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0;if(Z=C,a=t+104|0,c=e[a>>2]|0,b=t+84|0,G=e[b>>2]|0,O=(G|0)==0,!O)for(X=G;z=X+4|0,Y=e[z>>2]|0,t0=e[X>>2]|0,I2(t0),I2(X),J=(Y|0)==0,!J;)X=Y;if(W=t+80|0,u=e[W>>2]|0,E=(u|0)==0,n=t+68|0,A=e[n>>2]|0,E?Q=A:(I=t+76|0,m=e[I>>2]|0,p=m+u|0,B=Oi(A,p)|0,e[n>>2]=B,v=e[W>>2]|0,S=e[I>>2]|0,w=S+v|0,e[I>>2]=w,e[W>>2]=0,Q=B),y=t+72|0,e[y>>2]=0,e[b>>2]=0,_=(Q|0)==0,_||I2(Q),L=(c|0)==0,L){U=t,K=U+112|0;do e[U>>2]=0,U=U+4|0;while((U|0)<(K|0));return 0}else q=0;for(;;){if(R=(c+12|0)+(q<<2)|0,F=e[R>>2]|0,oB(F),M=(q|0)==7,M){q=8;continue}if(T=e[R>>2]|0,I2(T),N=q+1|0,e0=(N|0)==15,e0)break;q=N}I2(c),U=t,K=U+112|0;do e[U>>2]=0,U=U+4|0;while((U|0)<(K|0));return 0}function Wv(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0;return _=C,a=Xv(t,n,1)|0,c=(a|0)==0,c?(m=t+104|0,p=e[m>>2]|0,B=_S(n)|0,v=p+60|0,e[v>>2]=B,S=n4(1,180)|0,e[p>>2]=S,nS(S,n),w=p+80|0,Jv(n,w),y=t+64|0,b=y,u=b,e[u>>2]=3,E=b+4|0,I=E,e[I>>2]=0,A=0,A|0):(A=1,A|0)}function jp(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,R1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0;if(G2=C,B=(t|0)==0,!B){if(v=t+4|0,p0=e[v>>2]|0,H0=(p0|0)!=0,H0?(q0=p0+28|0,n1=e[q0>>2]|0,y0=n1):y0=0,x1=t+104|0,D1=e[x1>>2]|0,z1=(D1|0)!=0,z1){if(A2=e[D1>>2]|0,S=(A2|0)==0,S||(sS(A2),N=e[D1>>2]|0,I2(N)),U=D1+12|0,g0=e[U>>2]|0,d0=(g0|0)==0,d0||(w0=e[g0>>2]|0,gB(w0),C0=e[U>>2]|0,k0=e[C0>>2]|0,I2(k0),f0=e[U>>2]|0,I2(f0)),B0=D1+16|0,I0=e[B0>>2]|0,S0=(I0|0)==0,S0||(V0=e[I0>>2]|0,gB(V0),_0=e[B0>>2]|0,Q0=e[_0>>2]|0,I2(Q0),L0=e[B0>>2]|0,I2(L0)),M0=D1+48|0,N0=e[M0>>2]|0,U0=(N0|0)==0,!U0){if(R0=(y0|0)==0,R0)d1=N0;else if(D0=y0+16|0,T0=e[D0>>2]|0,J0=(T0|0)>0,J0){if(Y0=y0+800|0,P0=e[Y0>>2]|0,K0=25640+(P0<<2)|0,G0=e[K0>>2]|0,O0=G0+16|0,r1=e[O0>>2]|0,e1=e[N0>>2]|0,js[r1&7](e1),b0=e[D0>>2]|0,i1=(b0|0)>1,i1)for($1=1;n=e[M0>>2]|0,c1=Y0+($1<<2)|0,u1=e[c1>>2]|0,g1=25640+(u1<<2)|0,l1=e[g1>>2]|0,s1=l1+16|0,a1=e[s1>>2]|0,o1=n+($1<<2)|0,z0=e[o1>>2]|0,js[a1&7](z0),I1=$1+1|0,h1=e[D0>>2]|0,m1=(I1|0)<(h1|0),m1;)$1=I1;A=e[M0>>2]|0,d1=A}else d1=N0;I2(d1)}if(E1=D1+52|0,B1=e[E1>>2]|0,p1=(B1|0)==0,!p1){if(Q1=(y0|0)==0,Q1)K1=B1;else if(R1=y0+20|0,w1=e[R1>>2]|0,S1=(w1|0)>0,S1){if(L1=y0+1312|0,F1=e[L1>>2]|0,G1=25648+(F1<<2)|0,k1=e[G1>>2]|0,U1=k1+16|0,Z1=e[U1>>2]|0,N1=e[B1>>2]|0,js[Z1&7](N1),V1=e[R1>>2]|0,O1=(V1|0)>1,O1)for(H1=1;a=e[E1>>2]|0,q1=L1+(H1<<2)|0,Y1=e[q1>>2]|0,j1=25648+(Y1<<2)|0,r2=e[j1>>2]|0,W1=r2+16|0,P1=e[W1>>2]|0,c2=a+(H1<<2)|0,u2=e[c2>>2]|0,js[P1&7](u2),s2=H1+1|0,E2=e[R1>>2]|0,o2=(s2|0)<(E2|0),o2;)H1=s2;c=e[E1>>2]|0,K1=c}else K1=B1;I2(K1)}if(h2=D1+56|0,a2=e[h2>>2]|0,t2=(a2|0)==0,!t2){if($2=(y0|0)==0,$2)D2=a2;else if(i2=y0+28|0,X1=e[i2>>2]|0,n2=(X1|0)>0,n2){if(AQ(a2),f2=e[i2>>2]|0,e2=(f2|0)>1,e2)for(v2=1;u=e[h2>>2]|0,y2=u+(v2*52|0)|0,AQ(y2),w2=v2+1|0,C2=e[i2>>2]|0,F2=(w2|0)<(C2|0),F2;)v2=w2;E=e[h2>>2]|0,D2=E}else D2=a2;I2(D2)}w=D1+60|0,y=e[w>>2]|0,b=(y|0)==0,b||xS(y),Q=D1+80|0,Vv(Q),_=D1+20|0,IQ(_),L=D1+32|0,IQ(L)}if(R=t+8|0,F=e[R>>2]|0,M=(F|0)==0,!M){if(H0)if(T=p0+4|0,G=e[T>>2]|0,O=(G|0)>0,O){for(Y=F,u0=G,N2=0;z=Y+(N2<<2)|0,t0=e[z>>2]|0,J=(t0|0)==0,J?q=u0:(I2(t0),m=e[T>>2]|0,q=m),W=N2+1|0,e0=(W|0)<(q|0),!!e0;)I=e[R>>2]|0,Y=I,u0=q,N2=W;p=e[R>>2]|0,X=p}else X=F;else X=F;I2(X),$0=t+12|0,Z=e[$0>>2]|0,K=(Z|0)==0,K||I2(Z)}z1&&(a0=D1+64|0,n0=e[a0>>2]|0,i0=(n0|0)==0,i0||I2(n0),r0=D1+68|0,V=e[r0>>2]|0,h0=(V|0)==0,h0||I2(V),s0=D1+72|0,j=e[s0>>2]|0,l0=(j|0)==0,l0||I2(j),I2(D1)),d2=t,H2=d2+112|0;do e[d2>>2]=0,d2=d2+4|0;while((d2|0)<(H2|0))}}function Xp(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0;if(H0=C,I=t+4|0,m=e[I>>2]|0,R=t+104|0,W=e[R>>2]|0,r0=W+64|0,k0=e[r0>>2]|0,Q0=(k0|0)==0,Q0||I2(k0),e[r0>>2]=0,L0=W+68|0,M0=e[L0>>2]|0,N0=(M0|0)==0,N0||I2(M0),e[L0>>2]=0,p=W+72|0,B=e[p>>2]|0,v=(B|0)==0,v||I2(B),e[p>>2]=0,S=t+20|0,w=e[S>>2]|0,y=w+n|0,b=t+16|0,Q=e[b>>2]|0,_=(y|0)<(Q|0),_)A=m+4|0,u=e[A>>2]|0,X=u,y0=11;else if(L=n<<1,F=w+L|0,e[b>>2]=F,M=m+4|0,T=e[M>>2]|0,N=(T|0)>0,N)if(G=t+8|0,O=e[G>>2]|0,z=e[O>>2]|0,Y=F<<2,t0=Oi(z,Y)|0,J=e[G>>2]|0,e[J>>2]=t0,e0=e[M>>2]|0,q=(e0|0)>1,q)for(i0=1;;)if(a=e[b>>2]|0,a0=e[G>>2]|0,n0=a0+(i0<<2)|0,V=e[n0>>2]|0,h0=a<<2,s0=Oi(V,h0)|0,g0=e[G>>2]|0,j=g0+(i0<<2)|0,e[j>>2]=s0,l0=i0+1|0,u0=e[M>>2]|0,d0=(l0|0)<(u0|0),d0)i0=l0;else{X=u0,y0=11;break}else X=e0,y0=11;if((y0|0)==11&&(U=(X|0)>0,U)){for($0=t+8|0,Z=e[S>>2]|0,K=t+12|0,U0=0;;)if(w0=e[$0>>2]|0,C0=w0+(U0<<2)|0,f0=e[C0>>2]|0,B0=f0+(Z<<2)|0,p0=e[K>>2]|0,I0=p0+(U0<<2)|0,e[I0>>2]=B0,S0=U0+1|0,V0=(S0|0)<(X|0),V0)U0=S0;else{c=K;break}return _0=e[c>>2]|0,_0|0}return E=t+12|0,c=E,_0=e[c>>2]|0,_0|0}function jv(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0,T0=0,J0=0,Y0=0,P0=0;if(P0=C,I=t+4|0,m=e[I>>2]|0,R=m+28|0,W=e[R>>2]|0,r0=(n|0)<1,!r0)return w0=t+20|0,C0=e[w0>>2]|0,f0=C0+n|0,B0=t+16|0,p0=e[B0>>2]|0,I0=(f0|0)>(p0|0),I0?(a=-131,C=P0,a|0):(e[w0>>2]=f0,S0=t+28|0,V0=e[S0>>2]|0,_0=(V0|0)==0,!_0||(Q0=t+48|0,L0=e[Q0>>2]|0,M0=f0-L0|0,U0=W+4|0,y0=e[U0>>2]|0,H0=(M0|0)>(y0|0),!H0)?(a=0,C=P0,a|0):(tQ(t),a=0,C=P0,a|0));if(k0=C,C=C+128|0,N0=t+28|0,R0=e[N0>>2]|0,D0=(R0|0)==0,D0&&tQ(t),T0=W+4|0,p=e[T0>>2]|0,B=p*3|0,Xp(t,B)|0,v=t+20|0,S=e[v>>2]|0,w=t+32|0,e[w>>2]=S,y=e[T0>>2]|0,b=y*3|0,Q=S+b|0,e[v>>2]=Q,_=m+4|0,L=e[_>>2]|0,F=(L|0)>0,!F)return a=0,C=P0,a|0;for(M=t+8|0,T=S,J0=0;;){if(N=(T|0)>64,N?(G=e[T0>>2]|0,O=(T|0)>(G|0),A=O?G:T,z=e[M>>2]|0,Y=z+(J0<<2)|0,t0=e[Y>>2]|0,u=T-A|0,J=t0+(u<<2)|0,+iQ(J,k0,A,32),e0=e[M>>2]|0,q=e0+(J0<<2)|0,X=e[q>>2]|0,U=e[w>>2]|0,$0=X+(U<<2)|0,E=U+-32|0,Z=X+(E<<2)|0,K=e[v>>2]|0,a0=K-U|0,rQ(k0,Z,32,$0,a0)):(n0=e[M>>2]|0,i0=n0+(J0<<2)|0,V=e[i0>>2]|0,h0=V+(T<<2)|0,s0=e[v>>2]|0,g0=s0-T|0,j=g0<<2,Ae(h0|0,0,j|0)|0),l0=J0+1|0,u0=e[_>>2]|0,d0=(l0|0)<(u0|0),!d0){a=0;break}c=e[w>>2]|0,T=c,J0=l0}return C=P0,a|0}function eQ(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,R1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,R5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,R2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,k3=0,u3=0,p3=0,z3=0,G3=0,K5=0,w3=0,Z5=0,i6=0,R3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,L3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,X3=0,c6=0,p6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,R6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,L6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0;if(o4=C,v=t+4|0,S=e[v>>2]|0,s2=S+28|0,k5=e[s2>>2]|0,r6=t+104|0,S6=e[r6>>2]|0,f6=S6+60|0,d6=e[f6>>2]|0,G6=t+48|0,t9=e[G6>>2]|0,w=t+40|0,G=e[w>>2]|0,$0=k5+(G<<2)|0,j=e[$0>>2]|0,S0=(j|0)/2&-1,D0=t9-S0|0,b0=n+104|0,z0=e[b0>>2]|0,w1=t+28|0,O1=e[w1>>2]|0,E2=(O1|0)==0,E2||(f2=t+32|0,G2=e[f2>>2]|0,b5=(G2|0)==-1,b5))return a=0,a|0;B2=oS(t)|0,B5=(B2|0)==-1;do if(B5){if(J2=e[f2>>2]|0,f3=(J2|0)==0,f3)return a=0,a|0;z3=t+44|0,e[z3>>2]=0,u=z3,O3=0;break}else if(C3=e[k5>>2]|0,P3=k5+4|0,M5=e[P3>>2]|0,o6=(C3|0)==(M5|0),e3=t+44|0,o6){e[e3>>2]=0,u=e3,O3=0;break}else{e[e3>>2]=B2,u=e3,O3=B2;break}while(!1);if(A3=e[G6>>2]|0,L3=e[w>>2]|0,u6=k5+(L3<<2)|0,Q3=e[u6>>2]|0,v3=(Q3|0)/4&-1,y3=v3+A3|0,j3=k5+(O3<<2)|0,V5=e[j3>>2]|0,S3=(V5|0)/4&-1,g3=y3+S3|0,q3=(V5|0)/2&-1,l6=g3+q3|0,d3=t+20|0,k6=e[d3>>2]|0,v6=(k6|0)<(l6|0),v6)return a=0,a|0;if(B6=n+84|0,X3=e[B6>>2]|0,c6=(X3|0)==0,!c6)for(I9=X3;p6=I9+4|0,x6=e[p6>>2]|0,Y6=e[I9>>2]|0,I2(Y6),I2(I9),C6=(x6|0)==0,!C6;)I9=x6;b3=n+80|0,e6=e[b3>>2]|0,t6=(e6|0)==0,t6||(H3=n+68|0,D3=e[H3>>2]|0,Y3=n+76|0,Z3=e[Y3>>2]|0,b6=Z3+e6|0,A6=Oi(D3,b6)|0,e[H3>>2]=A6,t3=e[b3>>2]|0,O6=e[Y3>>2]|0,s3=O6+t3|0,e[Y3>>2]=s3,e[b3>>2]=0),a6=n+72|0,e[a6>>2]=0,e[B6>>2]=0,_3=t+36|0,N6=e[_3>>2]|0,n6=n+24|0,e[n6>>2]=N6,Q6=e[w>>2]|0,R6=n+28|0,e[R6>>2]=Q6,K6=e[u>>2]|0,I6=n+32|0,e[I6>>2]=K6,J6=(Q6|0)==0;do if(J6)if(s9=AS(t)|0,L6=(s9|0)==0,U6=z0+8|0,L6){e[U6>>2]=1;break}else{e[U6>>2]=0;break}else if(F3=(N6|0)==0,j6=(K6|0)==0,N9=F3|j6,e9=z0+8|0,N9){e[e9>>2]=0;break}else{e[e9>>2]=1;break}while(!1);D6=n+64|0,e[D6>>2]=t,z6=t+64|0,y6=z6,F6=y6,M3=e[F6>>2]|0,M6=y6+4|0,A9=M6,X6=e[A9>>2]|0,u9=zs(M3|0,X6|0,1,0)|0,f9=H6,d9=z6,a9=d9,e[a9>>2]=u9,$9=d9+4|0,T9=$9,e[T9>>2]=f9,E6=n+56|0,T6=E6,y=T6,e[y>>2]=M3,b=T6+4|0,Q=b,e[Q>>2]=X6,_=t+56|0,L=_,R=L,F=e[R>>2]|0,M=L+4|0,T=M,N=e[T>>2]|0,O=n+48|0,z=O,Y=z,e[Y>>2]=F,t0=z+4|0,J=t0,e[J>>2]=N,W=e[w>>2]|0,e0=k5+(W<<2)|0,q=e[e0>>2]|0,X=n+36|0,e[X>>2]=q,U=z0+4|0,Z=+s[U>>2],K=+s[d6>>2],a0=Z>K,a0?(s[d6>>2]=Z,n0=Z):n0=K,i0=+FS(n0,t),s[d6>>2]=i0,s[U>>2]=i0,r0=S+4|0,V=e[r0>>2]|0,h0=V<<2,s0=h0+7|0,g0=s0&-8,l0=e[a6>>2]|0,u0=g0+l0|0,d0=n+76|0,w0=e[d0>>2]|0,C0=(u0|0)>(w0|0),k0=n+68|0,f0=e[k0>>2]|0,C0?(B0=(f0|0)==0,B0||(p0=f0,I0=S9(8)|0,V0=e[b3>>2]|0,_0=V0+l0|0,e[b3>>2]=_0,Q0=e[B6>>2]|0,L0=I0+4|0,e[L0>>2]=Q0,e[I0>>2]=p0,e[B6>>2]=I0),e[d0>>2]=g0,M0=S9(g0)|0,e[k0>>2]=M0,e[a6>>2]=0,c=e[r0>>2]|0,U0=M0,y0=0,T0=c,G0=g0):(U0=f0,y0=l0,T0=V,G0=w0),N0=U0+y0|0,H0=y0+g0|0,e[a6>>2]=H0,e[n>>2]=N0,R0=T0<<2,J0=R0+7|0,Y0=J0&-8,P0=Y0+H0|0,K0=(P0|0)>(G0|0),K0?(O0=(U0|0)==0,O0||(r1=U0,q0=S9(8)|0,e1=e[b3>>2]|0,i1=e1+H0|0,e[b3>>2]=i1,c1=e[B6>>2]|0,$1=q0+4|0,e[$1>>2]=c1,e[q0>>2]=r1,e[B6>>2]=q0),e[d0>>2]=Y0,u1=S9(Y0)|0,e[k0>>2]=u1,e[a6>>2]=0,E=e[r0>>2]|0,l1=u1,s1=0,n1=E,O5=Y0):(l1=U0,s1=H0,n1=T0,O5=G0),g1=l1+s1|0,a1=s1+Y0|0,e[a6>>2]=a1,e[z0>>2]=g1,o1=(n1|0)>0;e:do if(o1)for(I1=t+8|0,Q1=a1,R1=O5,S1=l1,i9=0;;){if(h1=e[X>>2]|0,m1=h1+D0|0,d1=m1<<2,E1=d1+7|0,B1=E1&-8,p1=B1+Q1|0,x1=(p1|0)>(R1|0),x1?(L1=(S1|0)==0,L1||(F1=S1,G1=S9(8)|0,k1=e[b3>>2]|0,U1=k1+Q1|0,e[b3>>2]=U1,Z1=e[B6>>2]|0,N1=G1+4|0,e[N1>>2]=Z1,e[G1>>2]=F1,e[B6>>2]=G1),e[d0>>2]=B1,D1=S9(B1)|0,e[k0>>2]=D1,e[a6>>2]=0,q1=D1,H1=0):(q1=S1,H1=Q1),V1=q1+H1|0,Y1=H1+B1|0,e[a6>>2]=Y1,j1=e[z0>>2]|0,r2=j1+(i9<<2)|0,e[r2>>2]=V1,W1=e[z0>>2]|0,P1=W1+(i9<<2)|0,c2=e[P1>>2]|0,z1=e[I1>>2]|0,u2=z1+(i9<<2)|0,o2=e[u2>>2]|0,s4(c2|0,o2|0,d1|0)|0,K1=e[z0>>2]|0,h2=K1+(i9<<2)|0,a2=e[h2>>2]|0,t2=a2+(D0<<2)|0,$2=e[n>>2]|0,i2=$2+(i9<<2)|0,e[i2>>2]=t2,A2=i9+1|0,X1=e[r0>>2]|0,n2=(A2|0)<(X1|0),!n2)break e;I=e[a6>>2]|0,m=e[d0>>2]|0,p=e[k0>>2]|0,Q1=I,R1=m,S1=p,i9=A2}while(!1);if(e2=e[f2>>2]|0,y2=(e2|0)==0,!y2&&(v2=e[G6>>2]|0,w2=(v2|0)<(e2|0),!w2))return e[f2>>2]=-1,C2=n+44|0,e[C2>>2]=1,a=1,a|0;if(F2=k5+4|0,D2=e[F2>>2]|0,N2=(D2|0)/2&-1,d2=g3-N2|0,K2=(d2|0)>0,!K2)return a=1,a|0;if(H2=e[S6>>2]|0,aS(H2,d2),M2=e[d3>>2]|0,P2=M2-d2|0,e[d3>>2]=P2,z2=e[r0>>2]|0,o5=(z2|0)>0,o5&&(O2=t+8|0,T1=e[O2>>2]|0,X2=e[T1>>2]|0,R5=X2+(d2<<2)|0,e5=P2<<2,WA(X2|0,R5|0,e5|0)|0,Z2=e[r0>>2]|0,f5=(Z2|0)>1,f5))for(l5=1;B=e[d3>>2]|0,v5=e[O2>>2]|0,P5=v5+(l5<<2)|0,k2=e[P5>>2]|0,m5=k2+(d2<<2)|0,n5=B<<2,WA(k2|0,m5|0,n5|0)|0,x2=l5+1|0,_2=e[r0>>2]|0,C5=(x2|0)<(_2|0),C5;)l5=x2;return L5=e[w>>2]|0,e[_3>>2]=L5,d5=e[u>>2]|0,e[w>>2]=d5,e[G6>>2]=N2,D5=e[f2>>2]|0,G5=(D5|0)==0,G5?(u3=(d2|0)<0,p3=u3<<31>>31,G3=_,K5=G3,w3=e[K5>>2]|0,Z5=G3+4|0,i6=Z5,R3=e[i6>>2]|0,U3=zs(w3|0,R3|0,d2|0,p3|0)|0,a3=H6,l3=_,c3=l3,e[c3>>2]=U3,H5=l3+4|0,U5=H5,e[U5>>2]=a3,a=1,a|0):(_5=D5-d2|0,q2=(_5|0)<1,A=q2?-1:_5,e[f2>>2]=A,I5=(A|0)>(N2|0),I5?($5=(d2|0)<0,R2=$5<<31>>31,Q5=_,q5=Q5,j5=e[q5>>2]|0,E5=Q5+4|0,h3=E5,Y5=e[h3>>2]|0,X5=zs(j5|0,Y5|0,d2|0,R2|0)|0,n3=H6,m3=_,F5=m3,e[F5>>2]=X5,J5=m3+4|0,k3=J5,e[k3>>2]=n3,a=1,a|0):(A5=A+d2|0,c5=A5-N2|0,M1=(c5|0)<0,S5=M1<<31>>31,g5=_,a5=g5,W2=e[a5>>2]|0,g2=g5+4|0,p5=g2,t5=e[p5>>2]|0,s5=zs(W2|0,t5|0,c5|0,S5|0)|0,h5=H6,u5=_,i5=u5,e[i5>>2]=s5,x5=u5+4|0,j2=x5,e[j2>>2]=h5,a=1,a|0))}function Xv(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,R1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,R5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0;if(i5=C,p=n+28|0,B=e[p>>2]|0,p1=(B|0)==0,p1||(Z1=B+8|0,P1=e[Z1>>2]|0,$2=(P1|0)<1,$2)||(F2=e[B>>2]|0,O2=(F2|0)<64,O2)||(k2=B+4|0,_5=e[k2>>2]|0,v=(_5|0)<(F2|0),v))return a=1,a|0;T=B+3656|0,X=e[T>>2]|0,J2=t,x5=J2+112|0;do e[J2>>2]=0,J2=J2+4|0;while((J2|0)<(x5|0));s0=n4(1,136)|0,p0=t+104|0,e[p0>>2]=s0,H0=t+4|0,e[H0>>2]=n,q0=e[Z1>>2]|0,n1=q0+-1|0,E1=Ft(n1)|0,B1=s0+44|0,e[B1>>2]=E1,Q1=n4(1,4)|0,x1=s0+12|0,e[x1>>2]=Q1,R1=n4(1,4)|0,w1=s0+16|0,e[w1>>2]=R1,S1=n4(1,20)|0,e[Q1>>2]=S1,L1=n4(1,20)|0,e[R1>>2]=L1,F1=e[B>>2]|0,G1=F1>>X,cB(S1,G1),k1=e[w1>>2]|0,U1=e[k1>>2]|0,N1=e[k2>>2]|0,D1=N1>>X,cB(U1,D1),V1=e[B>>2]|0,O1=Ft(V1)|0,q1=O1+-7|0,H1=s0+4|0,e[H1>>2]=q1,Y1=e[k2>>2]|0,j1=Ft(Y1)|0,r2=j1+-7|0,W1=s0+8|0,e[W1>>2]=r2,c2=(A|0)==0;e:do if(c2){if(B2=B+2848|0,C5=e[B2>>2]|0,L5=(C5|0)==0,L5&&(d5=B+24|0,D5=e[d5>>2]|0,G5=n4(D5,56)|0,e[B2>>2]=G5,q2=e[d5>>2]|0,I5=(q2|0)>0,I5)){for(m1=q2,p5=0;;){if(A5=(B+1824|0)+(p5<<2)|0,c5=e[A5>>2]|0,B5=(c5|0)==0,B5){M1=m1;break}if(g5=e[B2>>2]|0,a5=g5+(p5*56|0)|0,W2=tb(a5,c5)|0,S=(W2|0)==0,!S){u5=20;break}if(w=e[A5>>2]|0,hB(w),e[A5>>2]=0,y=p5+1|0,b=e[d5>>2]|0,Q=(y|0)<(b|0),Q)m1=b,p5=y;else break e}if((u5|0)==20&&(I=e[d5>>2]|0,M1=I),S5=(M1|0)>0,S5)for(d1=M1,h5=0;s1=(B+1824|0)+(h5<<2)|0,a1=e[s1>>2]|0,o1=(a1|0)==0,o1?h1=d1:(hB(a1),e[s1>>2]=0,m=e[d5>>2]|0,h1=m),z0=h5+1|0,I1=(z0|0)<(h1|0),I1;)d1=h1,h5=z0;return jp(t),a=-1,a|0}}else{if(z1=s0+20|0,u2=e[B>>2]|0,dQ(z1,u2),s2=s0+32|0,E2=e[k2>>2]|0,dQ(s2,E2),o2=B+2848|0,K1=e[o2>>2]|0,h2=(K1|0)==0,h2&&(a2=B+24|0,t2=e[a2>>2]|0,i2=n4(t2,56)|0,e[o2>>2]=i2,A2=e[a2>>2]|0,X1=(A2|0)>0,X1&&(n2=B+1824|0,f2=e[n2>>2]|0,fQ(i2,f2)|0,e2=e[a2>>2]|0,y2=(e2|0)>1,y2)))for(w2=1;c=e[o2>>2]|0,v2=c+(w2*56|0)|0,C2=(B+1824|0)+(w2<<2)|0,D2=e[C2>>2]|0,fQ(v2,D2)|0,N2=w2+1|0,d2=e[a2>>2]|0,K2=(N2|0)<(d2|0),K2;)w2=N2;G2=B+28|0,H2=e[G2>>2]|0,M2=n4(H2,52)|0,P2=s0+56|0,e[P2>>2]=M2,z2=e[G2>>2]|0,o5=(z2|0)>0;t:do if(o5)for(T1=B+2868|0,X2=n+8|0,e5=M2,g2=0;;){if(R5=e5+(g2*52|0)|0,b5=(B+2852|0)+(g2<<2)|0,Z2=e[b5>>2]|0,f5=e[Z2>>2]|0,v5=B+(f5<<2)|0,P5=e[v5>>2]|0,l5=(P5|0)/2&-1,m5=e[X2>>2]|0,LS(R5,Z2,T1,l5,m5),n5=g2+1|0,x2=e[G2>>2]|0,_2=(n5|0)<(x2|0),!_2)break t;u=e[P2>>2]|0,e5=u,g2=n5}while(!1);e[t>>2]=1}while(!1);if(_=e[k2>>2]|0,L=t+16|0,e[L>>2]=_,R=n+4|0,F=e[R>>2]|0,M=F<<2,N=S9(M)|0,G=t+8|0,e[G>>2]=N,O=S9(M)|0,z=t+12|0,e[z>>2]=O,Y=(F|0)>0,Y&&(t0=n4(_,4)|0,e[N>>2]=t0,J=(F|0)>1,J))for(q=1;E=e[G>>2]|0,W=n4(_,4)|0,e0=E+(q<<2)|0,e[e0>>2]=W,U=q+1|0,$0=(U|0)<(F|0),$0;)q=U;if(Z=t+36|0,e[Z>>2]=0,K=t+40|0,e[K>>2]=0,a0=e[k2>>2]|0,n0=(a0|0)/2&-1,i0=t+48|0,e[i0>>2]=n0,r0=t+20|0,e[r0>>2]=n0,V=B+16|0,h0=e[V>>2]|0,g0=n4(h0,4)|0,j=s0+48|0,e[j>>2]=g0,l0=B+20|0,u0=e[l0>>2]|0,d0=n4(u0,4)|0,w0=s0+52|0,e[w0>>2]=d0,C0=e[V>>2]|0,k0=(C0|0)>0,k0)for(t5=0;I0=(B+800|0)+(t5<<2)|0,S0=e[I0>>2]|0,V0=25640+(S0<<2)|0,_0=e[V0>>2]|0,Q0=_0+8|0,L0=e[Q0>>2]|0,M0=(B+1056|0)+(t5<<2)|0,N0=e[M0>>2]|0,U0=f7[L0&15](t,N0)|0,y0=e[j>>2]|0,R0=y0+(t5<<2)|0,e[R0>>2]=U0,D0=t5+1|0,T0=e[V>>2]|0,J0=(D0|0)<(T0|0),J0;)t5=D0;if(f0=e[l0>>2]|0,B0=(f0|0)>0,B0)s5=0;else return a=0,a|0;for(;;)if(Y0=(B+1312|0)+(s5<<2)|0,P0=e[Y0>>2]|0,K0=25648+(P0<<2)|0,G0=e[K0>>2]|0,O0=G0+8|0,r1=e[O0>>2]|0,e1=(B+1568|0)+(s5<<2)|0,b0=e[e1>>2]|0,i1=f7[r1&15](t,b0)|0,c1=e[w0>>2]|0,$1=c1+(s5<<2)|0,e[$1>>2]=i1,u1=s5+1|0,g1=e[l0>>2]|0,l1=(u1|0)<(g1|0),l1)s5=u1;else{a=0;break}return a|0}function tQ(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0;if(_0=C,C=C+64|0,c=_0,u=t+20|0,Q=e[u>>2]|0,Y=Q<<2,n=Y,a0=C,C=C+((1*n|0)+15&-16)|0,d0=t+28|0,e[d0>>2]=1,C0=t+48|0,k0=e[C0>>2]|0,f0=Q-k0|0,B0=(f0|0)>32,!B0){C=_0;return}if(E=t+4|0,I=e[E>>2]|0,m=I+4|0,p=e[m>>2]|0,B=(p|0)>0,!B){C=_0;return}for(v=t+8|0,S=Q,p0=0;;){if(w=(S|0)>0,w)for(y=e[v>>2]|0,b=y+(p0<<2)|0,_=e[b>>2]|0,I0=0;L=I0^-1,R=S+L|0,F=_+(R<<2)|0,M=e[F>>2]|0,T=a0+(I0<<2)|0,e[T>>2]=M,N=I0+1|0,G=(S|0)>(N|0),G;)I0=N;if(O=e[C0>>2]|0,z=S-O|0,+iQ(a0,c,z,16),t0=e[u>>2]|0,J=e[C0>>2]|0,A=t0-J|0,W=a0+(A<<2)|0,a=A+-16|0,e0=a0+(a<<2)|0,rQ(c,e0,16,W,J),q=e[u>>2]|0,X=(q|0)>0,X)for(U=e[v>>2]|0,$0=U+(p0<<2)|0,Z=e[$0>>2]|0,S0=0;K=a0+(S0<<2)|0,n0=e[K>>2]|0,i0=S0^-1,r0=q+i0|0,V=Z+(r0<<2)|0,e[V>>2]=n0,h0=S0+1|0,s0=(q|0)>(h0|0),s0;)S0=h0;if(g0=p0+1|0,j=e[E>>2]|0,l0=j+4|0,u0=e[l0>>2]|0,w0=(g0|0)<(u0|0),w0)S=q,p0=g0;else break}C=_0}function eS(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,R1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0;A2=C,U2(n,5653314,24),E=e[t>>2]|0,U2(n,E,16),I=t+4|0,G=e[I>>2]|0,U2(n,G,24),$0=e[I>>2]|0,j=($0|0)>1;e:do if(j)for(S0=t+8|0,D0=e[S0>>2]|0,c=d[D0>>0]|0,b0=c,P1=1;;){if(z0=b0<<24>>24==0,z0){W1=P1;break e}if(w1=D0+P1|0,m=d[w1>>0]|0,b=m<<24>>24>24,b){W1=P1;break e}if(Q=P1+1|0,_=(Q|0)<($0|0),_)b0=m,P1=Q;else{W1=Q;break}}else W1=1;while(!1);L=(W1|0)==($0|0);e:do if(L){if(U2(n,1,1),R=t+8|0,F=e[R>>2]|0,M=d[F>>0]|0,T=M<<24>>24,N=T+-1|0,U2(n,N,5),O=e[I>>2]|0,z=(O|0)>1,z)for(y=O,q1=0,z1=1;;){if(Y=e[R>>2]|0,t0=Y+z1|0,J=d[t0>>0]|0,W=z1+-1|0,e0=Y+W|0,q=d[e0>>0]|0,X=J<<24>>24>q<<24>>24,X)for(U=q<<24>>24,Z=J<<24>>24,n0=y,H1=q1,a2=U;;)if(K=z1-H1|0,a0=n0-H1|0,i0=Ft(a0)|0,U2(n,K,i0),r0=a2+1|0,r2=(r0|0)==(Z|0),u=e[I>>2]|0,r2){s0=u,Y1=z1;break}else n0=u,H1=z1,a2=r0;else s0=y,Y1=q1;if(V=z1+1|0,h0=(V|0)<(s0|0),h0)y=s0,q1=Y1,z1=V;else{a=s0,O1=Y1,c2=V;break}}else a=O,O1=0,c2=1;g0=c2-O1|0,l0=a-O1|0,u0=Ft(l0)|0,U2(n,g0,u0)}else{U2(n,0,1),d0=e[I>>2]|0,w0=(d0|0)>0;t:do if(w0)for(C0=t+8|0,k0=e[C0>>2]|0,s2=0;;){if(f0=k0+s2|0,B0=d[f0>>0]|0,p0=B0<<24>>24==0,p0){u2=s2;break t}if(I0=s2+1|0,V0=(I0|0)<(d0|0),V0)s2=I0;else{u2=I0;break}}else u2=0;while(!1);if(_0=(u2|0)==(d0|0),_0){if(U2(n,0,1),Q0=e[I>>2]|0,L0=(Q0|0)>0,!L0)break;for(M0=t+8|0,E2=0;;)if(N0=e[M0>>2]|0,U0=N0+E2|0,y0=d[U0>>0]|0,H0=y0<<24>>24,R0=H0+-1|0,U2(n,R0,5),T0=E2+1|0,J0=e[I>>2]|0,Y0=(T0|0)<(J0|0),Y0)E2=T0;else break e}if(U2(n,1,1),P0=e[I>>2]|0,K0=(P0|0)>0,K0)for(G0=t+8|0,o2=0;O0=e[G0>>2]|0,r1=O0+o2|0,q0=d[r1>>0]|0,e1=q0<<24>>24==0,e1?U2(n,0,1):(U2(n,1,1),i1=e[G0>>2]|0,c1=i1+o2|0,$1=d[c1>>0]|0,u1=$1<<24>>24,g1=u1+-1|0,U2(n,g1,5)),l1=o2+1|0,s1=e[I>>2]|0,a1=(l1|0)<(s1|0),a1;)o2=l1}while(!1);if(n1=t+12|0,o1=e[n1>>2]|0,U2(n,o1,4),I1=e[n1>>2]|0,(I1|0)==2|(I1|0)==1)i2=28;else if(I1|0)return A=-1,A|0;do if((i2|0)==28){if(h1=t+32|0,m1=e[h1>>2]|0,d1=(m1|0)==0,d1)return A=-1,A|0;if(E1=t+16|0,B1=e[E1>>2]|0,U2(n,B1,32),p1=t+20|0,Q1=e[p1>>2]|0,U2(n,Q1,32),x1=t+24|0,R1=e[x1>>2]|0,S1=R1+-1|0,U2(n,S1,4),L1=t+28|0,F1=e[L1>>2]|0,U2(n,F1,1),G1=e[n1>>2]|0,(G1|0)==1)k1=jS(t)|0,$2=k1;else if((G1|0)==2)U1=e[I>>2]|0,Z1=e[t>>2]|0,N1=r5(Z1,U1)|0,$2=N1;else break;if(D1=($2|0)>0,D1)for(K1=0;V1=e[h1>>2]|0,p=V1+(K1<<2)|0,B=e[p>>2]|0,h2=(B|0)>-1,t2=0-B|0,v=h2?B:t2,S=e[x1>>2]|0,U2(n,v,S),w=K1+1|0,j1=(w|0)==($2|0),!j1;)K1=w}while(!1);return A=0,A|0}function xh(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0;return z=C,c=(n|0)<0,c||(u=t+12|0,Q=e[u>>2]|0,L=Q+4|0,R=e[L>>2]|0,F=(R|0)>(n|0),!F)?(a=0,a|0):(M=t+20|0,T=e[M>>2]|0,N=T+(n<<2)|0,G=e[N>>2]|0,E=Q+8|0,I=e[E>>2]|0,m=I+n|0,p=d[m>>0]|0,B=p<<24>>24,U2(A,G,B),v=e[u>>2]|0,S=v+8|0,w=e[S>>2]|0,y=w+n|0,b=d[y>>0]|0,_=b<<24>>24,a=_,a|0)}function Vm(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0;return w=C,a=t+8|0,c=e[a>>2]|0,u=(c|0)>0,!u||(E=Rh(t,n)|0,I=(E|0)>-1,!I)?(A=-1,A|0):(m=t+24|0,p=e[m>>2]|0,B=p+(E<<2)|0,v=e[B>>2]|0,A=v,A|0)}function tS(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0;if(j=C,m=t+8|0,p=e[m>>2]|0,F=(p|0)>0,!F)return c=0,C=j,c|0;e0=e[t>>2]|0,X=(a|0)/(e0|0)&-1,U=X<<2,u=U,$0=C,C=C+((1*u|0)+15&-16)|0,Z=(X|0)>0;e:do if(Z){for(K=t+16|0,r0=0;;){if(N=Rh(t,A)|0,G=(N|0)==-1,G){c=-1;break}if(O=e[K>>2]|0,z=e[t>>2]|0,Y=r5(z,N)|0,t0=O+(Y<<2)|0,J=$0+(r0<<2)|0,e[J>>2]=t0,W=r0+1|0,q=(W|0)<(X|0),q)r0=W;else{a0=z;break e}}return C=j,c|0}else a0=e0;while(!1);if(E=(a0|0)<1,I=Z^1,n0=E|I,n0)return c=0,C=j,c|0;for(V=0,s0=0;;){for(h0=0;w=$0+(h0<<2)|0,y=e[w>>2]|0,b=y+(V<<2)|0,Q=+s[b>>2],_=h0+s0|0,L=n+(_<<2)|0,R=+s[L>>2],M=R+Q,s[L>>2]=M,T=h0+1|0,i0=(T|0)==(X|0),!i0;)h0=T;if(B=V+1|0,v=s0+X|0,S=(B|0)<(a0|0),S)V=B,s0=v;else{c=0;break}}return C=j,c|0}function iS(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,R1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0;if(X2=C,Y=t+8|0,t0=e[Y>>2]|0,g0=(t0|0)>0,!g0)return c=0,c|0;if(I0=e[t>>2]|0,R0=(I0|0)>8,R0){if(R1=(a|0)>0,!R1)return c=0,c|0;for(V1=t+16|0,X1=0;;){if(Z=Rh(t,A)|0,K=(Z|0)==-1,K){c=-1,T1=29;break}if(a0=e[V1>>2]|0,n0=e[t>>2]|0,i0=r5(n0,Z)|0,r0=(n0|0)>0,r0){for(V=(n0|0)>1,O2=V?n0:1,f2=X1,d2=0;h0=d2+1|0,z=d2+i0|0,s0=a0+(z<<2)|0,j=+s[s0>>2],l0=f2+1|0,u0=n+(f2<<2)|0,d0=+s[u0>>2],w0=d0+j,s[u0>>2]=w0,C0=(h0|0)<(n0|0),C0;)f2=l0,d2=h0;u2=X1+O2|0,n2=u2}else n2=X1;if(J=(n2|0)<(a|0),J)X1=n2;else{c=0,T1=29;break}}if((T1|0)==29)return c|0}if(e1=t+16|0,o1=(a|0)>0,o1)e2=0;else return c=0,c|0;e:for(;;){t:for(;;){if(q=Rh(t,A)|0,X=(q|0)==-1,X){c=-1,T1=29;break e}switch(U=e[e1>>2]|0,$0=e[t>>2]|0,$0|0){case 4:{B=q,Q=U,T1=19;break t}case 3:{v=q,_=U,T1=21;break t}case 7:{I=q,w=U,T1=13;break t}case 6:{m=q,y=U,T1=15;break t}case 8:{u=U,E=q,T1=12;break t}case 5:{p=q,b=U,T1=17;break t}case 1:{K1=q,a2=U,N2=e2,o5=0;break t}case 2:{S=q,L=U,T1=23;break t}default:}}if((T1|0)==12?(T1=0,k0=E<<3,f0=u+(k0<<2)|0,B0=+s[f0>>2],p0=e2+1|0,S0=n+(e2<<2)|0,V0=+s[S0>>2],_0=V0+B0,s[S0>>2]=_0,M0=k0,U0=u,y2=p0,K2=1,T1=14):(T1|0)==13?(T1=0,Q0=I*7|0,M0=Q0,U0=w,y2=e2,K2=0,T1=14):(T1|0)==15?(T1=0,Y0=m*6|0,K0=Y0,O0=y,v2=e2,G2=0,T1=16):(T1|0)==17?(T1=0,$1=p*5|0,g1=$1,s1=b,w2=e2,H2=0,T1=18):(T1|0)==19?(T1=0,m1=B<<2,E1=m1,p1=Q,C2=e2,M2=0,T1=20):(T1|0)==21?(T1=0,F1=v*3|0,k1=F1,Z1=_,F2=e2,P2=0,T1=22):(T1|0)==23&&(T1=0,Y1=S<<1,r2=Y1,P1=L,D2=e2,z2=0,T1=24),(T1|0)==14&&(T1=0,L0=K2+1|0,O=K2+M0|0,N0=U0+(O<<2)|0,y0=+s[N0>>2],H0=y2+1|0,D0=n+(y2<<2)|0,T0=+s[D0>>2],J0=T0+y0,s[D0>>2]=J0,K0=M0,O0=U0,v2=H0,G2=L0,T1=16),(T1|0)==16&&(T1=0,P0=G2+1|0,G=G2+K0|0,G0=O0+(G<<2)|0,r1=+s[G0>>2],q0=v2+1|0,b0=n+(v2<<2)|0,i1=+s[b0>>2],c1=i1+r1,s[b0>>2]=c1,g1=K0,s1=O0,w2=q0,H2=P0,T1=18),(T1|0)==18&&(T1=0,u1=H2+1|0,N=H2+g1|0,l1=s1+(N<<2)|0,a1=+s[l1>>2],n1=w2+1|0,z0=n+(w2<<2)|0,I1=+s[z0>>2],h1=I1+a1,s[z0>>2]=h1,E1=g1,p1=s1,C2=n1,M2=u1,T1=20),(T1|0)==20&&(T1=0,d1=M2+1|0,T=M2+E1|0,B1=p1+(T<<2)|0,Q1=+s[B1>>2],x1=C2+1|0,w1=n+(C2<<2)|0,S1=+s[w1>>2],L1=S1+Q1,s[w1>>2]=L1,k1=E1,Z1=p1,F2=x1,P2=d1,T1=22),(T1|0)==22&&(T1=0,G1=P2+1|0,M=P2+k1|0,U1=Z1+(M<<2)|0,N1=+s[U1>>2],D1=F2+1|0,O1=n+(F2<<2)|0,q1=+s[O1>>2],H1=q1+N1,s[O1>>2]=H1,r2=k1,P1=Z1,D2=D1,z2=G1,T1=24),(T1|0)==24&&(T1=0,j1=z2+1|0,F=z2+r2|0,W1=P1+(F<<2)|0,c2=+s[W1>>2],z1=D2+1|0,s2=n+(D2<<2)|0,E2=+s[s2>>2],o2=E2+c2,s[s2>>2]=o2,K1=r2,a2=P1,N2=z1,o5=j1),R=o5+K1|0,h2=a2+(R<<2)|0,t2=+s[h2>>2],$2=N2+1|0,i2=n+(N2<<2)|0,A2=+s[i2>>2],W=A2+t2,s[i2>>2]=W,e0=($2|0)<(a|0),e0)e2=$2;else{c=0,T1=29;break}}return(T1|0)==29?c|0:0}function rS(t,n,A,a,c,u){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0,u=u|0;var E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0;if(g0=C,B=t+8|0,v=e[B>>2]|0,T=(v|0)>0,!T||(W=(A|0)/(a|0)&-1,e0=u+A|0,q=(e0|0)/(a|0)&-1,X=(W|0)<(q|0),!X))return I=0,I|0;for(U=t+16|0,K=0,i0=W;;){if(Z=Rh(t,c)|0,S=(Z|0)==-1,S){I=-1,s0=8;break}if(w=e[U>>2]|0,y=e[t>>2]|0,b=r5(y,Z)|0,Q=(y|0)>0,Q)for(n0=K,V=i0,h0=0;;)if(p=h0+b|0,_=w+(p<<2)|0,L=+s[_>>2],R=n0+1|0,F=n+(n0<<2)|0,M=e[F>>2]|0,N=M+(V<<2)|0,G=+s[N>>2],O=G+L,s[N>>2]=O,z=(R|0)==(a|0),Y=z&1,m=Y+V|0,E=z?0:R,t0=h0+1|0,J=(t0|0)<(y|0),J)n0=E,V=m,h0=t0;else{a0=E,r0=m;break}else a0=K,r0=i0;if($0=(r0|0)<(q|0),$0)K=a0,i0=r0;else{I=0,s0=8;break}}return(s0|0)==8?I|0:0}function Rh(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0;h1=C,c=t+40|0,u=e[c>>2]|0,Q=t+36|0,Y=e[Q>>2]|0,a0=AB(n,Y)|0,d0=(a0|0)>-1;do if(d0){if(Q0=t+32|0,Y0=e[Q0>>2]|0,c1=Y0+(a0<<2)|0,$1=e[c1>>2]|0,E=($1|0)<0,E){I=$1>>>15,m=I&32767,p=t+8|0,B=e[p>>2]|0,v=$1&32767,S=B-v|0,u1=S,l1=m;break}return w=$1+-1|0,y=t+28|0,b=e[y>>2]|0,_=b+w|0,L=d[_>>0]|0,R=L<<24>>24,aB(n,R),A=w,A|0}else F=t+8|0,M=e[F>>2]|0,u1=M,l1=0;while(!1);if(T=AB(n,u)|0,N=(T|0)<0,G=(u|0)>1,O=N&G,O)for(z0=u;;)if(z=z0+-1|0,t0=AB(n,z)|0,J=(t0|0)<0,W=(z|0)>1,e0=J&W,e0)z0=z;else{a=J,n1=t0,o1=z;break}else a=N,n1=T,o1=u;if(a)return A=-1,A|0;if(q=n1>>>16,X=n1<<16,U=q|X,$0=U>>>8,Z=$0&16711935,K=U<<8,n0=K&-16711936,i0=Z|n0,r0=i0>>>4,V=r0&252645135,h0=i0<<4,s0=h0&-252645136,g0=V|s0,j=g0>>>2,l0=j&858993459,u0=g0<<2,w0=u0&-858993460,C0=l0|w0,k0=C0>>>1,f0=k0&1431655765,B0=C0<<1,p0=B0&-1431655766,I0=f0|p0,S0=u1-l1|0,V0=(S0|0)>1,V0)for(_0=t+20|0,L0=e[_0>>2]|0,N0=S0,g1=u1,a1=l1;;)if(M0=N0>>1,U0=M0+a1|0,y0=L0+(U0<<2)|0,H0=e[y0>>2]|0,R0=H0>>>0>I0>>>0,D0=R0?0:M0,T0=D0+a1|0,J0=R0?M0:0,P0=g1-J0|0,K0=P0-T0|0,G0=(K0|0)>1,G0)N0=K0,g1=P0,a1=T0;else{s1=T0;break}else s1=l1;return O0=t+28|0,r1=e[O0>>2]|0,q0=r1+s1|0,e1=d[q0>>0]|0,b0=e1<<24>>24,i1=(b0|0)>(o1|0),i1?(aB(n,o1),A=-1,A|0):(aB(n,b0),A=s1,A|0)}function nS(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0;for(c1=C,p=n+28|0,B=e[p>>2]|0,M=n+4|0,q=e[M>>2]|0,h0=t+4|0,e[h0>>2]=128,B0=t+8|0,e[B0>>2]=64,y0=B+2932|0,Y0=e[y0>>2]|0,P0=t+12|0,e[P0>>2]=Y0,e[t>>2]=q,K0=t+164|0,e[K0>>2]=128,v=B+4|0,S=e[v>>2]|0,w=(S|0)/2&-1,y=t+176|0,e[y>>2]=w,b=n4(128,4)|0,Q=t+36|0,e[Q>>2]=b,_=t+16|0,cB(_,128),L=e[Q>>2]|0,q0=0;R=+(q0|0),F=R*.024736950028266088,T=+Nn(+F),N=T,G=L+(q0<<2)|0,O=N*N,s[G>>2]=O,z=q0+1|0,r1=(z|0)==128,!r1;)q0=z;for(Y=t+40|0,e[Y>>2]=2,t0=t+44|0,e[t0>>2]=4,J=t+56|0,e[J>>2]=4,W=t+60|0,e[W>>2]=5,e0=t+72|0,e[e0>>2]=6,X=t+76|0,e[X>>2]=6,U=t+88|0,e[U>>2]=9,$0=t+92|0,e[$0>>2]=8,Z=t+104|0,e[Z>>2]=13,K=t+108|0,e[K>>2]=8,a0=t+120|0,e[a0>>2]=17,n0=t+124|0,e[n0>>2]=8,i0=t+136|0,e[i0>>2]=22,r0=t+140|0,e[r0>>2]=8,s0=4,b0=0;;){if(V=s0<<2,g0=S9(V)|0,j=((t+40|0)+(b0<<4)|0)+8|0,e[j>>2]=g0,l0=(s0|0)>0,l0){for(u0=+(s0|0),d0=((t+40|0)+(b0<<4)|0)+12|0,m=+s[d0>>2],_0=m,e1=0;;)if(w0=+(e1|0),C0=w0+.5,k0=C0/u0,f0=k0*3.141592653589793,p0=+Nn(+f0),I0=p0,S0=g0+(e1<<2)|0,s[S0>>2]=I0,V0=_0+I0,Q0=e1+1|0,G0=(Q0|0)==(s0|0),G0){A=V0;break}else _0=V0,e1=Q0;s[d0>>2]=A,E=d0,M0=A}else c=((t+40|0)+(b0<<4)|0)+12|0,I=+s[c>>2],E=c,M0=I;if(L0=1/M0,s[E>>2]=L0,N0=b0+1|0,O0=(N0|0)==7,O0)break;a=((t+40|0)+(N0<<4)|0)+4|0,u=e[a>>2]|0,s0=u,b0=N0}U0=q*7|0,H0=n4(U0,144)|0,R0=t+152|0,e[R0>>2]=H0,D0=e[K0>>2]|0,T0=n4(D0,4)|0,J0=t+160|0,e[J0>>2]=T0}function sS(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0;N=C,n=t+16|0,gB(n),A=t+48|0,w=e[A>>2]|0,I2(w),b=t+64|0,Q=e[b>>2]|0,I2(Q),_=t+80|0,L=e[_>>2]|0,I2(L),R=t+96|0,F=e[R>>2]|0,I2(F),M=t+112|0,a=e[M>>2]|0,I2(a),c=t+128|0,u=e[c>>2]|0,I2(u),E=t+144|0,I=e[E>>2]|0,I2(I),m=t+36|0,p=e[m>>2]|0,I2(p),B=t+152|0,v=e[B>>2]|0,I2(v),S=t+160|0,y=e[S>>2]|0,I2(y),Ae(t|0,0,180)|0}function oS(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,R1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0;if(j1=C,u=t+4|0,E=e[u>>2]|0,F=E+28|0,e0=e[F>>2]|0,V=e0+2868|0,f0=t+104|0,U0=e[f0>>2]|0,O0=e[U0>>2]|0,s1=O0+168|0,p1=e[s1>>2]|0,I=O0+8|0,v=e[I>>2]|0,S=(p1|0)/(v|0)&-1,w=t+20|0,y=e[w>>2]|0,b=(y|0)/(v|0)&-1,Q=b+-4|0,_=(S|0)<0,n=_?0:S,L=b+2|0,R=O0+164|0,M=e[R>>2]|0,T=(L|0)>(M|0),T&&(e[R>>2]=L,N=O0+160|0,G=e[N>>2]|0,O=L<<2,z=Oi(G,O)|0,e[N>>2]=z),Y=(n|0)<(Q|0),Y)for(t0=O0+156|0,J=O0+160|0,W=t+8|0,q=O0+40|0,X=O0+152|0,D1=n;;){if(U=e[t0>>2]|0,$0=U+1|0,Z=(U|0)>23,a=Z?24:$0,e[t0>>2]=a,K=e[O0>>2]|0,a0=(K|0)>0,a0){for(N1=0,H1=0;;)if(h0=e[W>>2]|0,s0=h0+(N1<<2)|0,g0=e[s0>>2]|0,j=e[I>>2]|0,l0=r5(j,D1)|0,u0=g0+(l0<<2)|0,d0=e[X>>2]|0,w0=N1*7|0,C0=d0+(w0*144|0)|0,k0=$S(O0,V,u0,q,C0)|0,B0=k0|H1,p0=N1+1|0,I0=e[O0>>2]|0,S0=(p0|0)<(I0|0),S0)N1=p0,H1=B0;else{c=B0;break}V0=D1+2|0,_0=e[J>>2]|0,Q0=_0+(V0<<2)|0,e[Q0>>2]=0,L0=c&1,M0=(L0|0)==0,M0||(N0=_0+(D1<<2)|0,e[N0>>2]=1,y0=D1+1|0,H0=_0+(y0<<2)|0,e[H0>>2]=1),R0=c&2,D0=(R0|0)==0,D0||(T0=_0+(D1<<2)|0,e[T0>>2]=1,J0=(D1|0)>0,J0&&(Y0=D1+-1|0,P0=_0+(Y0<<2)|0,e[P0>>2]=1)),K0=c&4,G0=(K0|0)==0,G0||(e[t0>>2]=-1)}else n0=D1+2|0,i0=e[J>>2]|0,r0=i0+(n0<<2)|0,e[r0>>2]=0;if(r1=D1+1|0,Z1=(r1|0)==(Q|0),Z1)break;D1=r1}if(q0=e[I>>2]|0,e1=r5(q0,Q)|0,e[s1>>2]=e1,b0=t+48|0,i1=e[b0>>2]|0,c1=t+40|0,$1=e[c1>>2]|0,u1=e0+($1<<2)|0,g1=e[u1>>2]|0,l1=(g1|0)/4&-1,a1=l1+i1|0,n1=e0+4|0,o1=e[n1>>2]|0,z0=(o1|0)/2&-1,I1=a1+z0|0,h1=e[e0>>2]|0,m1=(h1|0)/4&-1,d1=I1+m1|0,E1=O0+176|0,B1=e[E1>>2]|0,Q1=e1-q0|0,x1=(B1|0)<(Q1|0),!x1)return A=-1,A|0;for(R1=O0+160|0,V1=B1;;){if(L1=(V1|0)<(d1|0),!L1){A=1,Y1=22;break}if(e[E1>>2]=V1,F1=(V1|0)/(q0|0)&-1,G1=e[R1>>2]|0,k1=G1+(F1<<2)|0,U1=e[k1>>2]|0,m=(U1|0)!=0,p=(V1|0)>(i1|0),q1=p&m,w1=q0+V1|0,q1){O1=V1,Y1=21;break}if(S1=(w1|0)<(Q1|0),S1)V1=w1;else{A=-1,Y1=22;break}}return(Y1|0)==21?(B=O0+172|0,e[B>>2]=O1,A=0,A|0):(Y1|0)==22?A|0:0}function AS(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0;if(B0=C,c=t+104|0,u=e[c>>2]|0,Q=e[u>>2]|0,Y=t+4|0,a0=e[Y>>2]|0,s0=a0+28|0,g0=e[s0>>2]|0,j=t+48|0,l0=e[j>>2]|0,u0=t+40|0,E=e[u0>>2]|0,I=g0+(E<<2)|0,m=e[I>>2]|0,p=(m|0)/4&-1,B=l0-p|0,v=p+l0|0,S=(E|0)==0,S?(G=e[g0>>2]|0,O=(G|0)/4&-1,A=O,a=O):(w=t+36|0,y=e[w>>2]|0,b=g0+(y<<2)|0,_=e[b>>2]|0,L=(_|0)/4&-1,R=t+44|0,F=e[R>>2]|0,M=g0+(F<<2)|0,T=e[M>>2]|0,N=(T|0)/4&-1,A=N,a=L),d0=B-a|0,w0=v+A|0,z=Q+172|0,t0=e[z>>2]|0,J=(t0|0)>=(d0|0),W=(t0|0)<(w0|0),k0=J&W,k0)return n=1,n|0;if(e0=Q+8|0,q=e[e0>>2]|0,X=(d0|0)/(q|0)&-1,U=(w0|0)/(q|0)&-1,$0=(X|0)<(U|0),!$0)return n=0,n|0;for(Z=Q+160|0,K=e[Z>>2]|0,C0=X;;){if(r0=K+(C0<<2)|0,V=e[r0>>2]|0,h0=(V|0)==0,n0=C0+1|0,!h0){n=1,f0=9;break}if(i0=(n0|0)<(U|0),i0)C0=n0;else{n=0,f0=9;break}}return(f0|0)==9?n|0:0}function aS(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0;if(G=C,A=t+168|0,a=e[A>>2]|0,y=t+8|0,Q=e[y>>2]|0,_=(a|0)/(Q|0)&-1,L=_+2|0,R=(n|0)/(Q|0)&-1,F=t+160|0,M=e[F>>2]|0,T=M+(R<<2)|0,c=L-R|0,u=c<<2,WA(M|0,T|0,u|0)|0,E=e[A>>2]|0,I=E-n|0,e[A>>2]=I,m=t+172|0,p=e[m>>2]|0,B=(p|0)>-1,!B){S=t+176|0,w=e[S>>2]|0,b=w-n|0,e[S>>2]=b;return}v=p-n|0,e[m>>2]=v,S=t+176|0,w=e[S>>2]|0,b=w-n|0,e[S>>2]=b}function $S(t,n,A,a,c){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0;var u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,R1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,R5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,R2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,k3=0,u3=0,p3=0,z3=0,G3=0,K5=0,w3=0,Z5=0,i6=0,R3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,L3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0,l6=0,d3=0;if(d3=C,Y=t+4|0,t0=e[Y>>2]|0,$2=t+12|0,F2=+s[$2>>2],O2=t0<<2,_=O2,k2=C,C=C+((1*_|0)+15&-16)|0,_5=t+156|0,g2=e[_5>>2]|0,R2=(g2|0)>5,F5=(g2|0)/2&-1,u=R2?F5:2,J=n+60|0,i0=+s[J>>2],C0=F5+-2|0,M0=+(C0|0),K0=i0-M0,g1=K0<0,u6=g1?0:K0,E1=u6>i0,Q3=E1?i0:u6,k1=(t0|0)>0,k1)for(r2=t+36|0,a2=e[r2>>2]|0,O5=0;i2=A+(O5<<2)|0,A2=+s[i2>>2],X1=a2+(O5<<2)|0,n2=+s[X1>>2],f2=n2*A2,e2=k2+(O5<<2)|0,s[e2>>2]=f2,y2=O5+1|0,C3=(y2|0)==(t0|0),!C3;)O5=y2;v2=t+16|0,nQ(v2,k2,k2),w2=+s[k2>>2],C2=w2*w2,D2=C2,N2=k2+4|0,d2=+s[N2>>2],K2=d2,G2=K2*K2,H2=G2*.7,M2=H2+D2,P2=k2+8|0,z2=+s[P2>>2],o5=z2,T1=o5*o5,X2=T1*.2,R5=M2+X2,e5=R5,b5=c+140|0,Z2=e[b5>>2]|0,f5=(Z2|0)==0,f5?(v5=c+136|0,P5=+s[v5>>2],l5=P5+e5,m5=c+132|0,s[m5>>2]=l5,s[v5>>2]=e5,T=m5,q2=l5):(n5=c+132|0,x2=+s[n5>>2],_2=x2+e5,s[n5>>2]=_2,B2=c+136|0,C5=+s[B2>>2],L5=C5+e5,s[B2>>2]=L5,T=n5,q2=_2),d5=(c+72|0)+(Z2<<2)|0,D5=+s[d5>>2],G5=q2-D5,s[T>>2]=G5,s[d5>>2]=e5,I5=e[b5>>2]|0,A5=I5+1|0,c5=(I5|0)>13,E=c5?0:A5,e[b5>>2]=E,B5=(t0|0)/2&-1,M1=(t0|0)>1;e:do if(M1)for(S5=q2*.0625,g5=(s[p2>>2]=S5,e[p2>>2]|0),a5=g5&2147483647,W2=+(a5>>>0),p5=W2*7177114298428933e-22,t5=p5+-764.6162109375,s5=t5,h5=s5*.5,J2=h5+-15,u5=J2,L=u5,L0=w2,k5=0;;){if(Q0=L0*L0,N0=k5|1,U0=k2+(N0<<2)|0,y0=+s[U0>>2],H0=y0*y0,R0=H0+Q0,D0=(s[p2>>2]=R0,e[p2>>2]|0),T0=D0&2147483647,J0=+(T0>>>0),Y0=J0*35885571492144663e-23,P0=Y0+-382.30810546875,G0=P0>1,q0=k2+(r1<<2)|0,s[q0>>2]=z,e1=k5+2|0,b0=(e1|0)<(B5|0),!b0)break e;i1=L+-8,F=k2+(e1<<2)|0,M=+s[F>>2],L=i1,L0=M,k5=e1}while(!1);if(i5=(u|0)>0,i5)A3=0,O3=0;else{for(e3=0,j3=0;;){if(c1=(a+(e3<<4)|0)+4|0,$1=e[c1>>2]|0,u1=($1|0)>0,u1)for(l1=a+(e3<<4)|0,s1=e[l1>>2]|0,a1=(a+(e3<<4)|0)+8|0,n1=e[a1>>2]|0,a3=0,P3=0;;)if(o1=s1+P3|0,z0=k2+(o1<<2)|0,I1=+s[z0>>2],h1=n1+(P3<<2)|0,m1=+s[h1>>2],d1=m1*I1,B1=d1+a3,p1=P3+1|0,Q1=(p1|0)<($1|0),Q1)a3=B1,P3=p1;else{R3=B1;break}else R3=0;if(x1=(a+(e3<<4)|0)+12|0,R1=+s[x1>>2],w1=R1*R3,S1=(c+(e3*144|0)|0)+68|0,L1=e[S1>>2]|0,F1=(L1|0)<1,p=F1?16:-1,I=p+L1|0,G1=(c+(e3*144|0)|0)+(I<<2)|0,U1=+s[G1>>2],Z1=w1U1,v=D1?U1:w1,V1=v+-99999,O1=N1+99999,q1=(c+(e3*144|0)|0)+(L1<<2)|0,s[q1>>2]=w1,H1=e[S1>>2]|0,Y1=H1+1|0,j1=(H1|0)>15,b=j1?0:Y1,e[S1>>2]=b,W1=(n+4|0)+(e3<<2)|0,P1=+s[W1>>2],c2=P1+Q3,z1=O1>c2,u2=j3|5,V5=z1?u2:j3,s2=(n+32|0)+(e3<<2)|0,E2=+s[s2>>2],o2=E2-Q3,K1=V1>2]|0,$5=(j2|0)>0,$5)for(w0=a+(A3<<4)|0,n0=e[w0>>2]|0,k0=(a+(A3<<4)|0)+8|0,s0=e[k0>>2]|0,l3=0,M5=0;;)if(a0=n0+M5|0,r0=k2+(a0<<2)|0,V=+s[r0>>2],h0=s0+(M5<<2)|0,g0=+s[h0>>2],j=g0*V,l0=j+l3,u0=M5+1|0,d0=(u0|0)<(j2|0),d0)l3=l0,M5=u0;else{U3=l0;break}else U3=0;for(f0=(a+(A3<<4)|0)+12|0,B0=+s[f0>>2],h3=B0*U3,X5=(c+(A3*144|0)|0)+68|0,f3=e[X5>>2]|0,p0=(f3|0)<1,B=p0?16:-1,m=B+f3|0,I0=(c+(A3*144|0)|0)+(m<<2)|0,S0=+s[I0>>2],V0=h3S0,S=_0?S0:h3,o6=0,L3=m,v3=-99999,y3=99999;;)if(e0=(L3|0)<1,y=e0?16:-1,w=y+L3|0,q=(c+(A3*144|0)|0)+(w<<2)|0,X=+s[q>>2],U=v3X,N=Z?X:y3,K=o6+1|0,H5=(K|0)==(u|0),H5){R=$0,G=N;break}else o6=K,L3=w,v3=$0,y3=N;if(Q5=S-G,q5=j5-R,E5=(c+(A3*144|0)|0)+(f3<<2)|0,s[E5>>2]=h3,Y5=e[X5>>2]|0,n3=Y5+1|0,m3=(Y5|0)>15,Q=m3?0:n3,e[X5>>2]=Q,J5=(n+4|0)+(A3<<2)|0,k3=+s[J5>>2],u3=k3+Q3,p3=q5>u3,z3=O3|5,S3=p3?z3:O3,G3=(n+32|0)+(A3<<2)|0,K5=+s[G3>>2],w3=K5-Q3,Z5=Q5>2]|0,C2=n+1288|0,X3=e[C2>>2]|0,M3=n+1284|0,E6=e[M3>>2]|0,E9=(E6|0)>0,E9){for(u8=0;W4=p4+(u8<<2)|0,e[W4>>2]=-200,Be=u8+1|0,pe=(Be|0)==(E6|0),!pe;)u8=Be;if(E9){for(J3=0;f4=c4+(J3<<2)|0,e[f4>>2]=-200,W=J3+1|0,l4=(W|0)==(E6|0),!l4;)J3=W;if(E9){for(r0=E6<<2,Ae(M8|0,0,r0|0)|0,w9=0;k0=De+(w9<<2)|0,e[k0>>2]=1,N0=w9+1|0,Ue=(N0|0)==(E6|0),!Ue;)w9=N0;if(E9){if(l1=E6<<2,Ae(Z8|0,-1,l1|0)|0,B1=(E6|0)>1,!B1)return te=0,C=e4,te|0;for(U1=X3+-1|0,W1=J+1112|0,t2=E6+-1|0,M=e[n>>2]|0,C4=M,B9=0,Qe=0;;){b4=B9+1|0,D4=n+(b4<<2)|0,x4=e[D4>>2]|0,M4=P6+(B9*56|0)|0,Me=M4,Dt=Me+56|0;do e[Me>>2]=0,Me=Me+4|0;while((Me|0)<(Dt|0));if(e[M4>>2]=C4,T4=(P6+(B9*56|0)|0)+4|0,e[T4>>2]=x4,U9=(x4|0)<(X3|0),tt=U9?x4:U1,N4=(tt|0)<(C4|0),N4)k8=0,X8=0,b8=0,D8=0,m8=0,Fe=0,it=0,H9=0,V8=0,x8=0,qt=0,Ht=0;else for(k4=C4,f8=0,Pe=0,O4=0,j9=0,ye=0,A8=0,I3=0,D9=0,$8=0,p9=0,at=0,R8=0;;){a4=a+(k4<<2)|0,O=+s[a4>>2],R4=O*7.314285755157471,u4=R4+1023.5,Ce=~~u4,q9=(Ce|0)>1023,m9=(Ce|0)<0,E=m9?0:Ce,v=q9?1023:E,Ne=(v|0)==0;do if(Ne)q8=f8,i8=Pe,n8=O4,E8=j9,qe=ye,Q4=A8,B8=I3,Y8=D9,H4=$8,Ve=p9,ne=at,K8=R8;else if(Xe=A+(k4<<2)|0,G4=+s[Xe>>2],Ge=+s[W1>>2],U4=Ge+G4,j4=!(U4>=O),j4){$e=k4+A8|0,W9=v+R8|0,le=r5(k4,k4)|0,ce=le+j9|0,B4=r5(v,v)|0,e0=B4+p9|0,q=r5(v,k4)|0,X=q+D9|0,U=Pe+1|0,q8=f8,i8=U,n8=O4,E8=ce,qe=ye,Q4=$e,B8=I3,Y8=X,H4=$8,Ve=e0,ne=at,K8=W9;break}else{be=k4+ye|0,e8=v+at|0,Z9=r5(k4,k4)|0,ae=Z9+O4|0,_6=r5(v,v)|0,P4=_6+$8|0,L9=r5(v,k4)|0,$4=L9+I3|0,_4=f8+1|0,q8=_4,i8=Pe,n8=ae,E8=j9,qe=be,Q4=A8,B8=$4,Y8=D9,H4=P4,Ve=p9,ne=e8,K8=R8;break}while(!1);if($0=k4+1|0,Z=(k4|0)<(tt|0),Z)k4=$0,f8=q8,Pe=i8,O4=n8,j9=E8,ye=qe,A8=Q4,I3=B8,D9=Y8,$8=H4,p9=Ve,at=ne,R8=K8;else{k8=q8,X8=i8,b8=n8,D8=E8,m8=qe,Fe=Q4,it=B8,H9=Y8,V8=H4,x8=Ve,qt=ne,Ht=K8;break}}if(K=(P6+(B9*56|0)|0)+8|0,e[K>>2]=m8,a0=(P6+(B9*56|0)|0)+12|0,e[a0>>2]=qt,n0=(P6+(B9*56|0)|0)+16|0,e[n0>>2]=b8,i0=(P6+(B9*56|0)|0)+20|0,e[i0>>2]=V8,V=(P6+(B9*56|0)|0)+24|0,e[V>>2]=it,h0=(P6+(B9*56|0)|0)+28|0,e[h0>>2]=k8,s0=(P6+(B9*56|0)|0)+32|0,e[s0>>2]=Fe,g0=(P6+(B9*56|0)|0)+36|0,e[g0>>2]=Ht,j=(P6+(B9*56|0)|0)+40|0,e[j>>2]=D8,l0=(P6+(B9*56|0)|0)+44|0,e[l0>>2]=x8,u0=(P6+(B9*56|0)|0)+48|0,e[u0>>2]=H9,d0=(P6+(B9*56|0)|0)+52|0,e[d0>>2]=X8,w0=k8+Qe|0,g6=(b4|0)==(t2|0),g6){ut=w0;break}else C4=x4,B9=b4,Qe=w0}}else de=9}else de=9}else de=9}else de=9;if((de|0)==9){if(G0=(E6|0)==0,!G0)return te=0,C=e4,te|0;F2=P6+4|0,Me=P6,Dt=Me+56|0;do e[Me>>2]=0,Me=Me+4|0;while((Me|0)<(Dt|0));if(e[F2>>2]=X3,O2=(X3|0)<1,O2)P8=0,j8=0,H8=0,I8=0,o8=0,X9=0,C8=0,ie=0,st=0,ot=0,Mt=0,Tt=0;else for(k2=J+1112|0,g4=0,v8=0,d8=0,r8=0,he=0,ue=0,fe=0,q4=0,re=0,a8=0,Je=0,vt=0,l8=0;;){_5=a+(g4<<2)|0,G=+s[_5>>2],g2=G*7.314285755157471,R2=g2+1023.5,F5=~~R2,R3=(F5|0)>1023,M5=(F5|0)<0,u=M5?0:F5,B=R3?1023:u,O3=(B|0)==0;do if(O3)O8=v8,Re=d8,Le=r8,s8=he,Oe=ue,we=fe,He=q4,Ye=re,_8=a8,At=Je,St=vt,bt=l8;else if(c6=A+(g4<<2)|0,Y3=+s[c6>>2],n6=+s[k2>>2],s9=n6+Y3,L6=!(s9>=G),L6){u9=g4+fe|0,f9=B+l8|0,d9=r5(g4,g4)|0,a9=d9+he|0,$9=r5(B,B)|0,T9=$9+Je|0,T6=r5(B,g4)|0,i9=T6+re|0,N9=d8+1|0,O8=v8,Re=N9,Le=r8,s8=a9,Oe=ue,we=u9,He=q4,Ye=i9,_8=a8,At=T9,St=vt,bt=f9;break}else{U6=g4+ue|0,D6=B+vt|0,z6=r5(g4,g4)|0,y6=z6+r8|0,F6=r5(B,B)|0,M6=F6+a8|0,t9=r5(B,g4)|0,A9=t9+q4|0,X6=v8+1|0,O8=X6,Re=d8,Le=y6,s8=he,Oe=U6,we=fe,He=A9,Ye=re,_8=M6,At=Je,St=D6,bt=l8;break}while(!1);if(I9=g4+1|0,C9=(I9|0)==(X3|0),C9){P8=O8,j8=Re,H8=Le,I8=s8,o8=Oe,X9=we,C8=He,ie=Ye,st=_8,ot=At,Mt=St,Tt=bt;break}else g4=I9,v8=O8,d8=Re,r8=Le,he=s8,ue=Oe,fe=we,q4=He,re=Ye,a8=_8,Je=At,vt=St,l8=bt}E4=P6+8|0,e[E4>>2]=o8,o4=P6+12|0,e[o4>>2]=Mt,h4=P6+16|0,e[h4>>2]=H8,G9=P6+20|0,e[G9>>2]=st,z9=P6+24|0,e[z9>>2]=C8,b9=P6+28|0,e[b9>>2]=P8,q6=P6+32|0,e[q6>>2]=X9,r9=P6+36|0,e[r9>>2]=Tt,m4=P6+40|0,e[m4>>2]=I8,S4=P6+44|0,e[S4>>2]=ot,A4=P6+48|0,e[A4>>2]=ie,y9=P6+52|0,e[y9>>2]=j8,ut=P8}if(C0=(ut|0)==0,C0)return te=0,C=e4,te|0;e[nt>>2]=-200,e[J8>>2]=-200,f0=E6+-1|0,$B(P6,f0,nt,J8,J)|0,B0=e[nt>>2]|0,e[p4>>2]=B0,e[c4>>2]=B0,p0=e[J8>>2]|0,I0=c4+4|0,e[I0>>2]=p0,S0=p4+4|0,e[S0>>2]=p0,V0=(E6|0)>2;do if(V0){_0=J+1112|0,Q0=J+1096|0,L0=J+1100|0,M0=J+1104|0,F4=2;e:for(;;){U0=(n+520|0)+(F4<<2)|0,y0=e[U0>>2]|0,H0=M8+(y0<<2)|0,R0=e[H0>>2]|0,D0=De+(y0<<2)|0,T0=e[D0>>2]|0,J0=Z8+(R0<<2)|0,Y0=e[J0>>2]|0,P0=(Y0|0)==(T0|0);t:do if(!P0){if(K0=(n+520|0)+(R0<<2)|0,O0=e[K0>>2]|0,r1=(n+520|0)+(T0<<2)|0,q0=e[r1>>2]|0,e[J0>>2]=T0,e1=(J+836|0)+(R0<<2)|0,b0=e[e1>>2]|0,i1=(J+836|0)+(T0<<2)|0,c1=e[i1>>2]|0,$1=p4+(R0<<2)|0,u1=e[$1>>2]|0,g1=(u1|0)<0,s1=c4+(R0<<2)|0,a1=e[s1>>2]|0,g1?y=a1:(n1=(a1|0)<0,n1?y=u1:(o1=a1+u1|0,z0=o1>>1,y=z0)),I1=p4+(T0<<2)|0,h1=e[I1>>2]|0,m1=(h1|0)<0,d1=c4+(T0<<2)|0,E1=e[d1>>2]|0,m1?Q=E1:(p1=(E1|0)<0,p1?Q=h1:(Q1=E1+h1|0,x1=Q1>>1,Q=x1)),R1=(y|0)==-1,w1=(Q|0)==-1,wt=R1|w1,wt){de=38;break e}S1=Q-y|0,L1=c1-b0|0,xe=(S1|0)>-1,k9=0-S1|0,F1=xe?S1:k9,G1=(S1|0)/(L1|0)&-1,k1=S1>>31,Z1=k1|1,N1=a+(b0<<2)|0,Y=+s[N1>>2],D1=Y*7.314285755157471,V1=D1+1023.5,O1=~~V1,q1=(O1|0)>1023,H1=(O1|0)<0,I=H1?0:O1,S=q1?1023:I,Y1=r5(G1,L1)|0,lt=(Y1|0)>-1,ht=0-Y1|0,j1=lt?Y1:ht,r2=F1-j1|0,P1=y-S|0,c2=r5(P1,P1)|0,z1=A+(b0<<2)|0,u2=+s[z1>>2],s2=+s[_0>>2],E2=s2+u2,o2=!(E2>=Y),o2?de=42:(K1=+(y|0),h2=+s[Q0>>2],a2=h2+K1,$2=+(S|0),i2=a2<$2,i2||(A2=+s[L0>>2],X1=K1-A2,n2=X1>$2,n2||(de=42)));i:do if((de|0)==42){if(de=0,f2=b0+1|0,e2=(f2|0)<(c1|0),e2)for(d2=f2,X4=0,yt=c2,U8=1,ft=y;;){if(y2=X4+r2|0,v2=(y2|0)<(L1|0),w2=v2?0:Z1,D2=v2?0:L1,L4=y2-D2|0,F=ft+G1|0,rt=F+w2|0,N2=a+(d2<<2)|0,z=+s[N2>>2],K2=z*7.314285755157471,G2=K2+1023.5,H2=~~G2,M2=(H2|0)>1023,P2=(H2|0)<0,m=P2?0:H2,b=M2?1023:m,z2=rt-b|0,o5=r5(z2,z2)|0,T1=o5+yt|0,X2=U8+1|0,R5=A+(d2<<2)|0,e5=+s[R5>>2],b5=e5+s2,Z2=b5>=z,f5=(b|0)!=0,et=Z2&f5,et&&(v5=+(rt|0),P5=+s[Q0>>2],l5=P5+v5,m5=+(b|0),n5=l5>2],_2=v5-x2,B2=_2>m5,B2)))break i;if(C5=d2+1|0,L5=(C5|0)<(c1|0),L5)d2=C5,X4=L4,yt=T1,U8=X2,ft=rt;else{W8=T1,G8=X2;break}}else W8=c2,G8=1;if(d5=+s[Q0>>2],D5=d5*d5,G5=+(G8|0),q2=D5/G5,I5=+s[M0>>2],A5=q2>I5,!A5&&(c5=+s[L0>>2],B5=c5*c5,M1=B5/G5,S5=M1>I5,!S5&&(g5=(W8|0)/(G8|0)&-1,a5=+(g5|0),W2=a5>I5,W2)))break;l3=p4+(F4<<2)|0,e[l3>>2]=-200,c3=c4+(F4<<2)|0,e[c3>>2]=-200;break t}while(!1);if(e[T8>>2]=-200,e[N8>>2]=-200,e[_e>>2]=-200,e[t8>>2]=-200,p5=P6+(O0*56|0)|0,t5=y0-O0|0,s5=$B(p5,t5,T8,N8,J)|0,h5=P6+(y0*56|0)|0,J2=q0-y0|0,u5=$B(h5,J2,_e,t8,J)|0,i5=(s5|0)!=0,i5&&(e[T8>>2]=y,x5=e[_e>>2]|0,e[N8>>2]=x5),j2=(u5|0)==0,!j2&&($5=e[N8>>2]|0,e[_e>>2]=$5,e[t8>>2]=Q,i5)){Q5=p4+(F4<<2)|0,e[Q5>>2]=-200,q5=c4+(F4<<2)|0,e[q5>>2]=-200;break}if(j5=e[T8>>2]|0,e[s1>>2]=j5,E5=(R0|0)==0,E5&&(e[p4>>2]=j5),f3=e[N8>>2]|0,h3=p4+(F4<<2)|0,e[h3>>2]=f3,Y5=e[_e>>2]|0,X5=c4+(F4<<2)|0,e[X5>>2]=Y5,n3=e[t8>>2]|0,e[I1>>2]=n3,m3=(T0|0)==1,m3&&(e[I0>>2]=n3),J5=Y5&f3,k3=(J5|0)>-1,k3){u3=(y0|0)>0;i:do if(u3)for(z8=y0;;){if(Qt=z8+-1|0,z3=De+(Qt<<2)|0,G3=e[z3>>2]|0,K5=(G3|0)==(T0|0),!K5)break i;if(e[z3>>2]=F4,w3=(z8|0)>1,w3)z8=Qt;else break}while(!1);if(gt=y0+1|0,p3=(gt|0)<(E6|0),p3)for(F8=gt;;){if(Z5=M8+(F8<<2)|0,i6=e[Z5>>2]|0,U3=(i6|0)==(R0|0),!U3)break t;if(e[Z5>>2]=F4,ct=F8+1|0,a3=(ct|0)<(E6|0),a3)F8=ct;else break}}}while(!1);if(C3=F4+1|0,H5=(C3|0)<(E6|0),H5)F4=C3;else{de=68;break}}if((de|0)==38)_v(1);else if((de|0)==68){T=e[p4>>2]|0,N=e[c4>>2]|0,k5=T,o6=N;break}}else k5=B0,o6=B0;while(!1);if(U5=E6<<2,O5=Ot(t,U5)|0,P3=(k5|0)<0,P3?w=o6:(e3=(o6|0)<0,e3?w=k5:(A3=o6+k5|0,L3=A3>>1,w=L3)),e[O5>>2]=w,u6=e[S0>>2]|0,Q3=(u6|0)<0,v3=e[I0>>2]|0,Q3?L=v3:(y3=(v3|0)<0,y3?L=u6:(r6=v3+u6|0,j3=r6>>1,L=j3)),V5=O5+4|0,e[V5>>2]=L,V0)ee=2;else return te=O5,C=e4,te|0;for(;;)if(S3=ee+-2|0,g3=(n+1032|0)+(S3<<2)|0,q3=e[g3>>2]|0,l6=(n+780|0)+(S3<<2)|0,d3=e[l6>>2]|0,k6=(J+836|0)+(q3<<2)|0,v6=e[k6>>2]|0,S6=(J+836|0)+(d3<<2)|0,B6=e[S6>>2]|0,p6=O5+(q3<<2)|0,x6=e[p6>>2]|0,Y6=O5+(d3<<2)|0,C6=e[Y6>>2]|0,b3=(J+836|0)+(ee<<2)|0,e6=e[b3>>2]|0,t6=x6&32767,f6=C6&32767,H3=f6-t6|0,D3=B6-v6|0,$t=(H3|0)>-1,S8=0-H3|0,Z3=$t?H3:S8,b6=e6-v6|0,A6=r5(Z3,b6)|0,t3=(A6|0)/(D3|0)&-1,O6=(H3|0)<0,s3=0-t3|0,R=O6?s3:t3,_=R+t6|0,a6=p4+(ee<<2)|0,d6=e[a6>>2]|0,_3=(d6|0)<0,N6=c4+(ee<<2)|0,Q6=e[N6>>2]|0,_3?p=Q6:(R6=(Q6|0)<0,R6?p=d6:(K6=Q6+d6|0,I6=K6>>1,p=I6)),J6=(p|0)<0,F3=(_|0)==(p|0),kt=J6|F3,j6=_|32768,c=kt?j6:p,G6=O5+(ee<<2)|0,e[G6>>2]=c,e9=ee+1|0,ge=(e9|0)==(E6|0),ge){te=O5;break}else ee=e9;return C=e4,te|0}function L8(t,n,A,a,c){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0;var u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0;if(a0=C,u=n+1284|0,E=e[u>>2]|0,_=(A|0)!=0,z=(a|0)!=0,$0=_&z,!$0)return Z=0,Z|0;if(Y=E<<2,t0=Ot(t,Y)|0,J=(E|0)>0,!J)return Z=t0,Z|0;for(W=65536-c|0,U=0;;)if(e0=A+(U<<2)|0,q=e[e0>>2]|0,I=q&32767,m=r5(I,W)|0,p=a+(U<<2)|0,B=e[p>>2]|0,v=B&32767,S=r5(v,c)|0,w=m+32768|0,y=w+S|0,b=y>>16,Q=t0+(U<<2)|0,e[Q>>2]=b,L=e[e0>>2]|0,R=L&32768,F=(R|0)==0,F||(M=e[p>>2]|0,T=M&32768,N=(T|0)==0,N||(G=b|32768,e[Q>>2]=G)),O=U+1|0,X=(O|0)==(E|0),X){Z=t0;break}else U=O;return Z|0}function lS(t,n,A,a,c){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0;var u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,R1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,R5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,R2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,k3=0,u3=0,p3=0,z3=0,G3=0,K5=0,w3=0,Z5=0,i6=0,R3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,L3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,X3=0,c6=0,p6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,R6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,L6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0;if(M6=C,C=C+336|0,L6=M6+64|0,g3=M6+32|0,F3=M6,b=A+1296|0,Q=e[b>>2]|0,h2=A+1284|0,x2=e[h2>>2]|0,A5=n+64|0,s5=e[A5>>2]|0,j5=s5+4|0,u3=e[j5>>2]|0,l3=u3+28|0,A3=e[l3>>2]|0,_=A3+2848|0,t0=e[_>>2]|0,n0=(a|0)==0,n0)return U2(t,0,1),R5=n+36|0,e5=e[R5>>2]|0,b5=(e5|0)/2&-1,Z2=b5<<2,Ae(c|0,0,Z2|0)|0,E=0,C=M6,E|0;if(w0=(x2|0)>0,w0)for(L0=Q+832|0,f6=0;P0=a+(f6<<2)|0,u1=e[P0>>2]|0,d1=u1&32767,G1=e[L0>>2]|0,(G1|0)==4?(z2=d1>>>4,U6=z2):(G1|0)==1?(j1=d1>>>2,U6=j1):(G1|0)==2?(a2=d1>>>3,U6=a2):(G1|0)==3?(w2=(d1>>>0)/12&-1,U6=w2):U6=d1,f5=u1&32768,v5=f5|U6,e[P0>>2]=v5,P5=f6+1|0,C6=(P5|0)==(x2|0),!C6;)f6=P5;if(l5=e[a>>2]|0,e[L6>>2]=l5,k2=a+4|0,m5=e[k2>>2]|0,n5=L6+4|0,e[n5>>2]=m5,_2=(x2|0)>2,B2=A+1292|0,_2){for(H3=2;;){if(C5=H3+-2|0,L5=(A+1032|0)+(C5<<2)|0,d5=e[L5>>2]|0,D5=(A+780|0)+(C5<<2)|0,G5=e[D5>>2]|0,_5=(Q+836|0)+(d5<<2)|0,q2=e[_5>>2]|0,I5=(Q+836|0)+(G5<<2)|0,c5=e[I5>>2]|0,B5=a+(d5<<2)|0,M1=e[B5>>2]|0,S5=a+(G5<<2)|0,g5=e[S5>>2]|0,a5=(Q+836|0)+(H3<<2)|0,W2=e[a5>>2]|0,g2=M1&32767,p5=g5&32767,t5=p5-g2|0,h5=c5-q2|0,Y3=(t5|0)>-1,j6=0-t5|0,J2=Y3?t5:j6,u5=W2-q2|0,i5=r5(J2,u5)|0,x5=(i5|0)/(h5|0)&-1,j2=(t5|0)<0,$5=0-x5|0,m=j2?$5:x5,I=m+g2|0,R2=a+(H3<<2)|0,Q5=e[R2>>2]|0,q5=Q5&32768,E5=(q5|0)!=0,f3=(Q5|0)==(I|0),s9=E5|f3,s9)h3=I|32768,e[R2>>2]=h3,Y5=L6+(H3<<2)|0,e[Y5>>2]=0;else{X5=e[B2>>2]|0,n3=X5-I|0,m3=(n3|0)<(I|0),u=m3?n3:I,F5=Q5-I|0,J5=(F5|0)<0;do if(J5)if(k3=0-u|0,p3=(F5|0)<(k3|0),p3){z3=F5^-1,G3=u+z3|0,D6=G3;break}else{K5=F5<<1,w3=K5^-1,D6=w3;break}else if(Z5=(u|0)>(F5|0),Z5){R3=F5<<1,D6=R3;break}else{i6=u+F5|0,D6=i6;break}while(!1);U3=L6+(H3<<2)|0,e[U3>>2]=D6,e[B5>>2]=g2,a3=e[S5>>2]|0,c3=a3&32767,e[S5>>2]=c3}if(C3=H3+1|0,Y6=(C3|0)==(x2|0),Y6)break;H3=C3}v=e[L6>>2]|0,S=e[n5>>2]|0,r6=v,S3=S}else r6=l5,S3=m5;if(U2(t,1,1),H5=A+1308|0,U5=e[H5>>2]|0,O5=U5+1|0,e[H5>>2]=O5,k5=e[B2>>2]|0,P3=k5+-1|0,M5=Ft(P3)|0,o6=M5<<1,e3=A+1304|0,L3=e[e3>>2]|0,u6=L3+o6|0,e[e3>>2]=u6,Q3=e[B2>>2]|0,v3=Q3+-1|0,y3=Ft(v3)|0,U2(t,r6,y3),j3=e[B2>>2]|0,O3=j3+-1|0,V5=Ft(O3)|0,U2(t,S3,V5),L=e[Q>>2]|0,R=(L|0)>0,R)for(F=A+1300|0,D3=0,A6=2;;){if(M=(Q+4|0)+(D3<<2)|0,T=e[M>>2]|0,N=(Q+128|0)+(T<<2)|0,G=e[N>>2]|0,O=(Q+192|0)+(T<<2)|0,z=e[O>>2]|0,Y=1<>2]=0,e[g3+4>>2]=0,e[g3+8>>2]=0,e[g3+12>>2]=0,e[g3+16>>2]=0,e[g3+20>>2]=0,e[g3+24>>2]=0,e[g3+28>>2]=0,J=(z|0)==0,!J){if(e[F3>>2]=0,e[F3+4>>2]=0,e[F3+8>>2]=0,e[F3+12>>2]=0,e[F3+16>>2]=0,e[F3+20>>2]=0,e[F3+24>>2]=0,e[F3+28>>2]=0,W=(z|0)==31,!W)for(s3=0;l0=((Q+320|0)+(T<<5)|0)+(s3<<2)|0,u0=e[l0>>2]|0,d0=(u0|0)<0,d0?y=1:(C0=(A3+1824|0)+(u0<<2)|0,k0=e[C0>>2]|0,f0=k0+4|0,B0=e[f0>>2]|0,y=B0),p0=F3+(s3<<2)|0,e[p0>>2]=y,I0=s3+1|0,S0=(I0|0)<(Y|0),S0;)s3=I0;e0=(G|0)>0;e:do if(e0){if(W)for(q3=0,k6=0,a6=0;;)if(V0=g3+(a6<<2)|0,_0=e[V0>>2]|0,Q0=_0<>2]|0,N6=0;;){if(q=F3+(N6<<2)|0,X=e[q>>2]|0,$0=(U|0)<(X|0),$0){n6=N6,M3=31;break}if(Z=N6+1|0,K=(Z|0)<(Y|0),K)N6=Z;else{M3=33;break}}if((M3|0)==31?(M3=0,a0=g3+(d6<<2)|0,e[a0>>2]=n6,r0=n6):(M3|0)==33&&(M3=0,p=g3+(d6<<2)|0,w=e[p>>2]|0,r0=w),i0=r0<>2]|0,R0=t0+(H0*56|0)|0,D0=xh(R0,d3,t)|0,T0=e[F>>2]|0,J0=T0+D0|0,e[F>>2]=J0}if(Y0=(G|0)>0,Y0)for(_3=0;K0=g3+(_3<<2)|0,G0=e[K0>>2]|0,O0=((Q+320|0)+(T<<5)|0)+(G0<<2)|0,r1=e[O0>>2]|0,q0=(r1|0)>-1,q0&&(e1=_3+A6|0,b0=L6+(e1<<2)|0,i1=e[b0>>2]|0,c1=(t0+(r1*56|0)|0)+4|0,$1=e[c1>>2]|0,g1=(i1|0)<($1|0),g1&&(l1=t0+(r1*56|0)|0,s1=xh(l1,i1,t)|0,a1=e[e3>>2]|0,n1=a1+s1|0,e[e3>>2]=n1)),o1=_3+1|0,p6=(o1|0)==(G|0),!p6;)_3=o1;if(z0=G+A6|0,I1=D3+1|0,h1=e[Q>>2]|0,m1=(I1|0)<(h1|0),m1)D3=I1,A6=z0;else break}if(E1=e[a>>2]|0,B1=Q+832|0,p1=e[B1>>2]|0,Q1=r5(p1,E1)|0,x1=n+28|0,R1=e[x1>>2]|0,w1=A3+(R1<<2)|0,S1=e[w1>>2]|0,L1=(S1|0)/2&-1,F1=e[h2>>2]|0,k1=(F1|0)>1,k1)for(e6=0,t3=1,Q6=0,I6=Q1;;){if(V1=(A+260|0)+(t3<<2)|0,O1=e[V1>>2]|0,q1=a+(O1<<2)|0,H1=e[q1>>2]|0,Y1=H1&32767,r2=(Y1|0)==(H1|0),r2)if(W1=e[B1>>2]|0,P1=r5(W1,H1)|0,c2=(Q+836|0)+(O1<<2)|0,z1=e[c2>>2]|0,u2=P1-I6|0,s2=z1-Q6|0,Z3=(u2|0)>-1,G6=0-u2|0,E2=Z3?u2:G6,o2=(u2|0)/(s2|0)&-1,K1=u2>>31,t2=K1|1,$2=r5(o2,s2)|0,b6=($2|0)>-1,e9=0-$2|0,i2=b6?$2:e9,A2=E2-i2|0,X1=(L1|0)>(z1|0),z6=X1?z1:L1,n2=(z6|0)>(Q6|0),n2&&(f2=c+(Q6<<2)|0,e[f2>>2]=I6),e2=Q6+1|0,y2=(e2|0)<(z6|0),y2)for(d2=e2,S6=0,y6=I6;;)if(v2=S6+A2|0,C2=(v2|0)<(s2|0),F2=C2?0:t2,D2=C2?0:s2,B6=v2-D2|0,B=y6+o2|0,F6=B+F2|0,N2=c+(d2<<2)|0,e[N2>>2]=F6,K2=d2+1|0,c6=(K2|0)==(z6|0),c6){t6=z1,R6=z1,J6=P1;break}else d2=K2,S6=B6,y6=F6;else t6=z1,R6=z1,J6=P1;else t6=e6,R6=Q6,J6=I6;if(G2=t3+1|0,H2=e[h2>>2]|0,M2=(G2|0)<(H2|0),M2)e6=t6,t3=G2,Q6=R6,I6=J6;else{b3=t6,K6=J6;break}}else b3=0,K6=Q1;if(U1=n+36|0,Z1=e[U1>>2]|0,N1=(Z1|0)/2&-1,D1=(b3|0)<(N1|0),D1)O6=b3;else return E=1,C=M6,E|0;for(;;)if(P2=c+(O6<<2)|0,e[P2>>2]=K6,o5=O6+1|0,O2=e[U1>>2]|0,T1=(O2|0)/2&-1,X2=(o5|0)<(T1|0),X2)O6=o5;else{E=1;break}return C=M6,E|0}function $B(t,n,A,a,c){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0;var u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,R1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0;if(o5=C,p=e[t>>2]|0,B=n+-1|0,i0=(t+(B*56|0)|0)+4|0,C0=e[i0>>2]|0,M0=(n|0)>0,M0)for(K0=c+1108|0,g1=+s[K0>>2],t2=0,X1=0,f2=0,w2=0,N2=0,H2=0;;)if(E1=(t+(X1*56|0)|0)+52|0,k1=e[E1>>2]|0,r2=(t+(X1*56|0)|0)+28|0,v=e[r2>>2]|0,T=v+k1|0,q=+(T|0),X=q*g1,U=v+1|0,$0=+(U|0),Z=X/$0,K=Z,a0=K+1,n0=(t+(X1*56|0)|0)+32|0,r0=e[n0>>2]|0,V=+(r0|0),h0=(t+(X1*56|0)|0)+8|0,s0=e[h0>>2]|0,g0=+(s0|0),j=g0*a0,l0=V+w2,u0=l0+j,d0=(t+(X1*56|0)|0)+36|0,w0=e[d0>>2]|0,k0=+(w0|0),f0=(t+(X1*56|0)|0)+12|0,B0=e[f0>>2]|0,p0=+(B0|0),I0=p0*a0,S0=k0+H2,V0=S0+I0,_0=(t+(X1*56|0)|0)+40|0,Q0=e[_0>>2]|0,L0=+(Q0|0),N0=(t+(X1*56|0)|0)+16|0,U0=e[N0>>2]|0,y0=+(U0|0),H0=y0*a0,R0=L0+f2,D0=R0+H0,T0=(t+(X1*56|0)|0)+48|0,J0=e[T0>>2]|0,Y0=+(J0|0),P0=(t+(X1*56|0)|0)+24|0,G0=e[P0>>2]|0,O0=+(G0|0),r1=O0*a0,q0=Y0+N2,e1=q0+r1,b0=+(k1|0),i1=+(v|0),c1=a0*i1,$1=b0+t2,u1=$1+c1,l1=X1+1|0,A2=(l1|0)==(n|0),A2){a2=u1,n2=D0,v2=u0,D2=e1,G2=V0;break}else t2=u1,X1=l1,f2=D0,w2=u0,N2=e1,H2=V0;else a2=0,n2=0,v2=0,D2=0,G2=0;return s1=e[A>>2]|0,a1=(s1|0)>-1,a1?(n1=+(p|0),o1=v2+n1,z0=+(s1|0),I1=z0+G2,h1=r5(p,p)|0,m1=+(h1|0),d1=n2+m1,B1=r5(s1,p)|0,p1=+(B1|0),Q1=p1+D2,x1=a2+1,$2=x1,e2=d1,C2=o1,d2=Q1,M2=I1):($2=a2,e2=n2,C2=v2,d2=D2,M2=G2),R1=e[a>>2]|0,w1=(R1|0)>-1,w1?(S1=+(C0|0),L1=C2+S1,F1=+(R1|0),G1=F1+M2,U1=r5(C0,C0)|0,Z1=+(U1|0),N1=e2+Z1,D1=r5(R1,C0)|0,V1=+(D1|0),O1=V1+d2,q1=$2+1,i2=q1,y2=N1,F2=L1,K2=O1,P2=G1):(i2=$2,y2=e2,F2=C2,K2=d2,P2=M2),H1=y2*i2,Y1=F2*F2,j1=H1-Y1,W1=j1>0,W1?(P1=P2*y2,c2=F2*K2,z1=P1-c2,u2=z1/j1,s2=K2*i2,E2=F2*P2,o2=s2-E2,K1=o2/j1,h2=+(p|0),S=K1*h2,w=S+u2,y=+Pi(w),b=~~y,e[A>>2]=b,Q=+(C0|0),_=K1*Q,L=_+u2,R=+Pi(L),F=~~R,e[a>>2]=F,M=e[A>>2]|0,N=(M|0)>1023,N?(e[A>>2]=1023,E=e[a>>2]|0,G=E,W=1023):(G=F,W=M),O=(G|0)>1023,O?(e[a>>2]=1023,I=e[A>>2]|0,z=I,e0=1023):(z=W,e0=G),Y=(z|0)<0,Y?(e[A>>2]=0,m=e[a>>2]|0,t0=m):t0=e0,J=(t0|0)<0,J?(e[a>>2]=0,u=0,u|0):(u=0,u|0)):(e[A>>2]=0,e[a>>2]=0,u=1,u|0)}function cS(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0;if(b0=C,E=t+836|0,I=t+840|0,L=e[I>>2]|0,J=e[t>>2]|0,U2(n,J,5),i0=e[t>>2]|0,C0=(i0|0)>0,C0){for(M0=t+4|0,J0=0,q0=-1;;)if(B=M0+(J0<<2)|0,v=e[B>>2]|0,U2(n,v,4),S=e[B>>2]|0,w=(q0|0)<(S|0),A=w?S:q0,y=J0+1|0,b=e[t>>2]|0,Q=(y|0)<(b|0),Q)J0=y,q0=A;else{a=A;break}if(U0=(a|0)>-1,U0)for(y0=t+128|0,H0=t+192|0,m=t+256|0,p=t+320|0,Y0=0;;){if(_=y0+(Y0<<2)|0,R=e[_>>2]|0,F=R+-1|0,U2(n,F,3),M=H0+(Y0<<2)|0,T=e[M>>2]|0,U2(n,T,2),N=e[M>>2]|0,G=(N|0)==0,G?(K0=0,e1=8):(O=m+(Y0<<2)|0,z=e[O>>2]|0,U2(n,z,8),c=e[M>>2]|0,Y=(c|0)==31,Y||(K0=0,e1=8)),(e1|0)==8)for(;e1=0,t0=(p+(Y0<<5)|0)+(K0<<2)|0,W=e[t0>>2]|0,e0=W+1|0,U2(n,e0,8),q=K0+1|0,X=e[M>>2]|0,U=1<>2]|0,n0=a0+-1|0,U2(n,n0,2),r0=L+-1|0,V=Ft(r0)|0,U2(n,V,4),h0=Ft(r0)|0,s0=e[t>>2]|0,g0=(s0|0)>0,!!g0)for(j=t+4|0,l0=t+128|0,N0=s0,R0=0,P0=0,G0=0;;){if(u0=j+(P0<<2)|0,d0=e[u0>>2]|0,w0=l0+(d0<<2)|0,k0=e[w0>>2]|0,f0=k0+R0|0,B0=(G0|0)<(f0|0),B0){for(r1=G0;p0=r1+2|0,I0=E+(p0<<2)|0,S0=e[I0>>2]|0,U2(n,S0,h0),V0=r1+1|0,D0=(V0|0)==(f0|0),!D0;)r1=V0;u=e[t>>2]|0,L0=u,O0=f0}else L0=N0,O0=G0;if(_0=P0+1|0,Q0=(_0|0)<(L0|0),Q0)N0=L0,R0=f0,P0=_0,G0=O0;else break}}function gS(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,R1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0;z1=C,C=C+272|0,P1=z1,b=t+28|0,Q=e[b>>2]|0,Y=n4(1,1120)|0,a0=Z4(n,5)|0,e[Y>>2]=a0,d0=(a0|0)>0;e:do if(d0){for(Q0=Y+4|0,Z1=0,r2=-1;;){if(R=Z4(n,4)|0,F=Q0+(Z1<<2)|0,e[F>>2]=R,M=(R|0)<0,M)break e;if(T=(r2|0)<(R|0),c=T?R:r2,N=Z1+1|0,G=e[Y>>2]|0,O=(N|0)<(G|0),O)Z1=N,r2=c;else{u=c;break}}if(Y0=(u|0)>-1,Y0)for($1=Y+128|0,m1=Y+192|0,F1=Y+256|0,_=Q+24|0,L=Y+320|0,N1=0;;){if(z=Z4(n,3)|0,t0=z+1|0,J=$1+(N1<<2)|0,e[J>>2]=t0,W=Z4(n,2)|0,e0=m1+(N1<<2)|0,e[e0>>2]=W,q=(W|0)<0,q||(X=(W|0)==0,X?(E=F1+(N1<<2)|0,I=e[E>>2]|0,Z=I):(U=Z4(n,8)|0,$0=F1+(N1<<2)|0,e[$0>>2]=U,Z=U),K=(Z|0)<0,K)||(n0=e[_>>2]|0,i0=(Z|0)<(n0|0),!i0))break e;if(r0=e[e0>>2]|0,V=(r0|0)==31,!V)for(q1=0;;){if(l0=Z4(n,8)|0,u0=l0+-1|0,w0=(L+(N1<<5)|0)+(q1<<2)|0,e[w0>>2]=u0,C0=(l0|0)<0,C0||(k0=e[_>>2]|0,f0=(l0|0)>(k0|0),g0=q1+1|0,f0))break e;if(h0=e[e0>>2]|0,s0=1<>2]=S0,_0=Z4(n,4)|0,L0=(_0|0)<0,!L0)){if(M0=e[Y>>2]|0,N0=(M0|0)>0,N0)for(U0=Y+4|0,y0=Y+128|0,H0=Y+836|0,R0=1<<_0,G1=M0,U1=0,D1=0,H1=0;;){if(D0=U0+(D1<<2)|0,T0=e[D0>>2]|0,J0=y0+(T0<<2)|0,P0=e[J0>>2]|0,K0=P0+U1|0,G0=(K0|0)>63,G0)break e;if(O0=(H1|0)<(K0|0),O0){for(j1=H1;;){if(r1=Z4(n,_0)|0,q0=j1+2|0,e1=H0+(q0<<2)|0,e[e1>>2]=r1,b0=(r1|0)>-1,i1=(r1|0)<(R0|0),W1=b0&i1,!W1)break e;if(c1=j1+1|0,u1=(c1|0)<(K0|0),u1)j1=c1;else{a=c1;break}}B=e[Y>>2]|0,s1=B,Y1=a}else s1=G1,Y1=H1;if(g1=D1+1|0,l1=(g1|0)<(s1|0),l1)G1=s1,U1=K0,D1=g1,H1=Y1;else{m=H0,p=R0,k1=K0;break}}else w=Y+836|0,y=1<<_0,m=w,p=y,k1=0;if(e[m>>2]=0,a1=Y+840|0,e[a1>>2]=p,n1=k1+2|0,o1=(k1|0)>-2,o1)for(V1=0;z0=m+(V1<<2)|0,I1=P1+(V1<<2)|0,e[I1>>2]=z0,h1=V1+1|0,d1=(h1|0)<(n1|0),d1;)V1=h1;Lh(P1,n1,4,8),E1=(n1|0)>1;t:do if(E1){for(v=e[P1>>2]|0,S=e[v>>2]|0,w1=S,O1=1;Q1=P1+(O1<<2)|0,x1=e[Q1>>2]|0,R1=e[x1>>2]|0,S1=(w1|0)==(R1|0),B1=O1+1|0,!S1;)if(p1=(B1|0)<(n1|0),p1)w1=R1,O1=B1;else break t;if(L1=(Y|0)==0,L1)A=0;else break e;return C=z1,A|0}while(!1);return A=Y,C=z1,A|0}while(!1);return I2(Y),A=0,C=z1,A|0}function hS(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,R1=0,w1=0,S1=0,L1=0;if(L1=C,C=C+272|0,w1=L1,a=n4(1,1312)|0,c=a+1296|0,e[c>>2]=n,b=n+836|0,z=n+840|0,K=e[z>>2]|0,u0=a+1288|0,e[u0>>2]=K,_0=e[n>>2]|0,J0=(_0|0)>0,J0){for(q0=n+4|0,u=n+128|0,g1=0,Q1=0;;)if(E=q0+(g1<<2)|0,I=e[E>>2]|0,m=u+(I<<2)|0,p=e[m>>2]|0,B=p+Q1|0,v=g1+1|0,S=(v|0)<(_0|0),S)g1=v,Q1=B;else{A=B;break}w=A+2|0,y=a+1284|0,e[y>>2]=w,Q=(A|0)>-2,Q?(M=w,p1=A,S1=7):(Lh(w1,w,4,8),B1=A)}else r1=a+1284|0,e[r1>>2]=2,M=2,p1=0,S1=7;if((S1|0)==7){for(l1=0;_=b+(l1<<2)|0,L=w1+(l1<<2)|0,e[L>>2]=_,R=l1+1|0,F=(R|0)<(M|0),F;)l1=R;for(Lh(w1,M,4,8),T=b,N=a+260|0,s1=0;Y=w1+(s1<<2)|0,t0=e[Y>>2]|0,J=t0,W=J-T|0,e0=W>>2,q=N+(s1<<2)|0,e[q>>2]=e0,X=s1+1|0,U=(X|0)<(M|0),U;)s1=X;for(G=a+260|0,O=a+520|0,a1=0;Z=G+(a1<<2)|0,a0=e[Z>>2]|0,n0=O+(a0<<2)|0,e[n0>>2]=a1,i0=a1+1|0,r0=(i0|0)<(M|0),r0;)a1=i0;for($0=a+260|0,n1=0;;)if(V=$0+(n1<<2)|0,h0=e[V>>2]|0,s0=b+(h0<<2)|0,g0=e[s0>>2]|0,j=a+(n1<<2)|0,e[j>>2]=g0,l0=n1+1|0,d0=(l0|0)<(M|0),d0)n1=l0;else{B1=p1;break}}if(w0=n+832|0,C0=e[w0>>2]|0,(C0|0)==4?(p0=a+1292|0,e[p0>>2]=64):(C0|0)==2?(f0=a+1292|0,e[f0>>2]=128):(C0|0)==1?(k0=a+1292|0,e[k0>>2]=256):(C0|0)==3&&(B0=a+1292|0,e[B0>>2]=86),I0=(B1|0)>0,!I0)return C=L1,a|0;for(S0=a+1032|0,V0=a+780|0,o1=0;;){for(Q0=o1+2|0,L0=b+(Q0<<2)|0,M0=e[L0>>2]|0,N0=e[u0>>2]|0,b0=1,$1=N0,z0=0,I1=0,d1=0;;)if(U0=b+(z0<<2)|0,y0=e[U0>>2]|0,H0=(y0|0)>(d1|0),R0=(y0|0)<(M0|0),x1=H0&R0,h1=x1?z0:I1,E1=x1?y0:d1,D0=(y0|0)<($1|0),T0=(y0|0)>(M0|0),R1=D0&T0,i1=R1?z0:b0,u1=R1?y0:$1,Y0=z0+1|0,P0=(Y0|0)<(Q0|0),P0)b0=i1,$1=u1,z0=Y0,I1=h1,d1=E1;else{c1=i1,m1=h1;break}if(K0=S0+(o1<<2)|0,e[K0>>2]=m1,G0=V0+(o1<<2)|0,e[G0>>2]=c1,O0=o1+1|0,e1=(O0|0)==(B1|0),e1)break;o1=O0}return C=L1,a|0}function uS(t){t=t|0;var n=0,A=0,a=0;a=C,n=(t|0)==0,n||I2(t)}function fS(t){t=t|0;var n=0,A=0,a=0;a=C,n=(t|0)==0,n||I2(t)}function dS(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,R1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0;if(w2=C,u=n+1296|0,E=e[u>>2]|0,r0=t+64|0,k0=e[r0>>2]|0,N0=k0+4|0,G0=e[N0>>2]|0,l1=G0+28|0,B1=e[l1>>2]|0,U1=B1+2848|0,W1=e[U1>>2]|0,I=t+4|0,L=Z4(I,1)|0,J=(L|0)==1,!J)return A=0,A|0;U=n+1284|0,$0=e[U>>2]|0,Z=$0<<2,K=Ot(t,Z)|0,a0=n+1292|0,n0=e[a0>>2]|0,i0=n0+-1|0,V=Ft(i0)|0,h0=Z4(I,V)|0,e[K>>2]=h0,s0=e[a0>>2]|0,g0=s0+-1|0,j=Ft(g0)|0,l0=Z4(I,j)|0,u0=K+4|0,e[u0>>2]=l0,d0=e[E>>2]|0,w0=(d0|0)>0;e:do if(w0){i2=0,n2=2;t:for(;;){if(I0=(E+4|0)+(i2<<2)|0,S0=e[I0>>2]|0,V0=(E+128|0)+(S0<<2)|0,_0=e[V0>>2]|0,Q0=(E+192|0)+(S0<<2)|0,L0=e[Q0>>2]|0,M0=1<>2]|0,R0=W1+(H0*56|0)|0,D0=Vm(R0,I)|0,T0=(D0|0)==-1,T0){A=0,v2=25;break}else t2=D0;if(J0=(_0|0)>0,J0)for(Y0=M0+-1|0,$2=t2,f2=0;;){if(P0=$2&Y0,K0=((E+320|0)+(S0<<5)|0)+(P0<<2)|0,O0=e[K0>>2]|0,r1=$2>>L0,q0=(O0|0)>-1,q0){if(e1=W1+(O0*56|0)|0,b0=Vm(e1,I)|0,i1=f2+n2|0,c1=K+(i1<<2)|0,e[c1>>2]=b0,$1=(b0|0)==-1,$1){A=0,v2=25;break t}}else u1=f2+n2|0,g1=K+(u1<<2)|0,e[g1>>2]=0;if(s1=f2+1|0,a1=(s1|0)<(_0|0),a1)$2=r1,f2=s1;else break}if(n1=_0+n2|0,o1=i2+1|0,z0=e[E>>2]|0,I1=(o1|0)<(z0|0),I1)i2=o1,n2=n1;else break e}if((v2|0)==25)return A|0}while(!1);if(C0=e[U>>2]|0,f0=(C0|0)>2,!f0)return A=K,A|0;for(B0=n+1032|0,p0=n+780|0,A2=2;;){if(h1=A2+-2|0,m1=B0+(h1<<2)|0,d1=e[m1>>2]|0,E1=(E+836|0)+(d1<<2)|0,p1=e[E1>>2]|0,Q1=p0+(h1<<2)|0,x1=e[Q1>>2]|0,R1=(E+836|0)+(x1<<2)|0,w1=e[R1>>2]|0,S1=K+(d1<<2)|0,L1=e[S1>>2]|0,F1=K+(x1<<2)|0,G1=e[F1>>2]|0,k1=(E+836|0)+(A2<<2)|0,Z1=e[k1>>2]|0,N1=L1&32767,D1=G1&32767,V1=D1-N1|0,O1=w1-p1|0,X1=(V1|0)>-1,e2=0-V1|0,q1=X1?V1:e2,H1=Z1-p1|0,Y1=r5(q1,H1)|0,j1=(Y1|0)/(O1|0)&-1,r2=(V1|0)<0,P1=0-j1|0,c=r2?P1:j1,a=c+N1|0,c2=e[a0>>2]|0,z1=c2-a|0,u2=K+(A2<<2)|0,s2=e[u2>>2]|0,E2=(s2|0)==0,E2)W=a|32768,e[u2>>2]=W;else{o2=(z1|0)<(a|0),K1=o2?z1:a,h2=K1<<1,a2=(s2|0)<(h2|0);do if(a2)if(S=s2&1,w=(S|0)==0,w){_=s2>>1,y2=_;break}else{y=s2+1|0,b=y>>1,Q=0-b|0,y2=Q;break}else if(m=(z1|0)>(a|0),m){p=s2-a|0,y2=p;break}else{B=s2-z1|0,v=B^-1,y2=v;break}while(!1);R=y2+a|0,F=R&32767,e[u2>>2]=F,M=e[m1>>2]|0,T=K+(M<<2)|0,N=e[T>>2]|0,G=N&32767,e[T>>2]=G,O=e[Q1>>2]|0,z=K+(O<<2)|0,Y=e[z>>2]|0,t0=Y&32767,e[z>>2]=t0}if(e0=A2+1|0,q=e[U>>2]|0,X=(e0|0)<(q|0),X)A2=e0;else{A=K;break}}return A|0}function IS(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,R1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0;if(k1=C,E=n+1296|0,I=e[E>>2]|0,L=t+64|0,J=e[L>>2]|0,i0=J+4|0,C0=e[i0>>2]|0,M0=C0+28|0,K0=e[M0>>2]|0,$1=t+28|0,u1=e[$1>>2]|0,m=K0+(u1<<2)|0,p=e[m>>2]|0,B=(p|0)/2&-1,v=(A|0)==0,v)return c1=B<<2,Ae(a|0,0,c1|0)|0,c=0,c|0;if(S=e[A>>2]|0,w=I+832|0,y=e[w>>2]|0,b=r5(y,S)|0,Q=(b|0)<0,_=(b|0)>255,R=_?255:b,F=Q?0:R,M=n+1284|0,T=e[M>>2]|0,N=(T|0)>1,N)for(G=n+260|0,o1=0,m1=1,E1=0,Q1=F;;){if(t0=G+(m1<<2)|0,W=e[t0>>2]|0,e0=A+(W<<2)|0,q=e[e0>>2]|0,X=q&32767,U=(X|0)==(q|0),U)if($0=(I+836|0)+(W<<2)|0,Z=e[$0>>2]|0,K=r5(y,q)|0,a0=(K|0)<0,n0=(K|0)>255,r0=n0?255:K,V=a0?0:r0,h0=V-Q1|0,s0=Z-E1|0,I1=(h0|0)>-1,R1=0-h0|0,g0=I1?h0:R1,j=(h0|0)/(s0|0)&-1,l0=h0>>31,u0=l0|1,d0=r5(j,s0)|0,h1=(d0|0)>-1,w1=0-d0|0,w0=h1?d0:w1,k0=g0-w0|0,f0=(B|0)>(Z|0),S1=f0?Z:B,B0=(S1|0)>(E1|0),B0&&(p0=1768+(Q1<<2)|0,I0=+s[p0>>2],S0=a+(E1<<2)|0,V0=+s[S0>>2],_0=V0*I0,s[S0>>2]=_0),Q0=E1+1|0,L0=(Q0|0)<(S1|0),L0)for(J0=Q0,g1=0,L1=Q1;;)if(N0=g1+k0|0,U0=(N0|0)<(s0|0),y0=U0?0:u0,H0=U0?0:s0,l1=N0-H0|0,u=L1+j|0,F1=u+y0|0,R0=1768+(F1<<2)|0,D0=+s[R0>>2],T0=a+(J0<<2)|0,Y0=+s[T0>>2],P0=Y0*D0,s[T0>>2]=P0,G0=J0+1|0,a1=(G0|0)==(S1|0),a1){z0=Z,B1=Z,x1=V;break}else J0=G0,g1=l1,L1=F1;else z0=Z,B1=Z,x1=V;else z0=o1,B1=E1,x1=Q1;if(O0=m1+1|0,r1=(O0|0)<(T|0),r1)o1=z0,m1=O0,E1=B1,Q1=x1;else{n1=z0,p1=x1;break}}else n1=0,p1=F;if(O=(n1|0)<(B|0),!O)return c=1,c|0;for(z=1768+(p1<<2)|0,Y=+s[z>>2],d1=n1;;)if(q0=a+(d1<<2)|0,e1=+s[q0>>2],b0=e1*Y,s[q0>>2]=b0,i1=d1+1|0,s1=(i1|0)==(B|0),s1){c=1;break}else d1=i1;return c|0}function ES(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0;return m=C,A=e[t>>2]|0,a=e[A>>2]|0,c=e[n>>2]|0,u=e[c>>2]|0,E=a-u|0,E|0}function mS(t){t=t|0;var n=0,A=0;A=C,e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0}function CS(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0;a0=C,c=Z$(n|0)|0,u=Z$(A|0)|0,Q=c+2|0,Y=Q+u|0,a=Y,J=C,C=C+((1*a|0)+15&-16)|0,uB(J|0,n|0)|0,Z=Z$(J|0)|0,$0=J+Z|0,d[$0>>0]=61,d[$0+1>>0]=0,QQ(J|0,A|0)|0,W=e[t>>2]|0,e0=t+8|0,q=e[e0>>2]|0,X=q<<2,U=X+8|0,E=Oi(W,U)|0,e[t>>2]=E,I=t+4|0,m=e[I>>2]|0,p=e[e0>>2]|0,B=p<<2,v=B+8|0,S=Oi(m,v)|0,e[I>>2]=S,w=Z$(J|0)|0,y=e[e0>>2]|0,b=S+(y<<2)|0,e[b>>2]=w,_=w+1|0,L=S9(_)|0,R=e[t>>2]|0,F=R+(y<<2)|0,e[F>>2]=L,M=e[t>>2]|0,T=M+(y<<2)|0,N=e[T>>2]|0,uB(N|0,J|0)|0,G=e[e0>>2]|0,O=G+1|0,e[e0>>2]=O,z=e[t>>2]|0,t0=z+(O<<2)|0,e[t0>>2]=0,C=a0}function BS(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0;if(Y=C,c=(t|0)==0,!c){if(u=e[t>>2]|0,Q=(u|0)==0,!Q){if(L=t+8|0,R=e[L>>2]|0,F=(R|0)>0,F){for(_=R,T=u,O=0;M=T+(O<<2)|0,N=e[M>>2]|0,G=(N|0)==0,G?m=_:(I2(N),A=e[L>>2]|0,m=A),E=O+1|0,I=(E|0)<(m|0),!!I;)n=e[t>>2]|0,_=m,T=n,O=E;a=e[t>>2]|0,p=a}else p=u;I2(p)}B=t+4|0,v=e[B>>2]|0,S=(v|0)==0,S||I2(v),w=t+12|0,y=e[w>>2]|0,b=(y|0)==0,b||I2(y),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0}}function pS(t){t=t|0;var n=0,A=0,a=0,c=0;c=C,e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,e[t+24>>2]=0,n=n4(1,3664)|0,A=t+28|0,e[A>>2]=n}function lB(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0;if(B1=C,u=t+28|0,E=e[u>>2]|0,_=(E|0)==0,_){e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,e[t+24>>2]=0,e[t+28>>2]=0;return}if(t0=E+8|0,n0=e[t0>>2]|0,w0=(n0|0)>0,w0)for(g1=n0,o1=0;n1=(E+32|0)+(o1<<2)|0,I=e[n1>>2]|0,m=(I|0)==0,m?v=g1:(I2(I),n=e[t0>>2]|0,v=n),p=o1+1|0,B=(p|0)<(v|0),B;)g1=v,o1=p;if(L0=E+12|0,P0=e[L0>>2]|0,u1=(P0|0)>0,u1)for(l1=P0,z0=0;b=(E+544|0)+(z0<<2)|0,Q=e[b>>2]|0,L=(Q|0)==0,L?Y=l1:(R=(E+288|0)+(z0<<2)|0,F=e[R>>2]|0,M=25664+(F<<2)|0,T=e[M>>2]|0,N=T+8|0,G=e[N>>2]|0,js[G&7](Q),A=e[L0>>2]|0,Y=A),O=z0+1|0,z=(O|0)<(Y|0),z;)l1=Y,z0=O;if(S=E+16|0,w=e[S>>2]|0,y=(w|0)>0,y)for(s1=w,I1=0;q=(E+1056|0)+(I1<<2)|0,X=e[q>>2]|0,U=(X|0)==0,U?s0=s1:($0=(E+800|0)+(I1<<2)|0,Z=e[$0>>2]|0,K=25640+(Z<<2)|0,a0=e[K>>2]|0,i0=a0+12|0,r0=e[i0>>2]|0,js[r0&7](X),a=e[S>>2]|0,s0=a),V=I1+1|0,h0=(V|0)<(s0|0),h0;)s1=s0,I1=V;if(J=E+20|0,W=e[J>>2]|0,e0=(W|0)>0,e0)for(a1=W,h1=0;d0=(E+1568|0)+(h1<<2)|0,C0=e[d0>>2]|0,k0=(C0|0)==0,k0?M0=a1:(f0=(E+1312|0)+(h1<<2)|0,B0=e[f0>>2]|0,p0=25648+(B0<<2)|0,I0=e[p0>>2]|0,S0=I0+12|0,V0=e[S0>>2]|0,js[V0&7](C0),c=e[J>>2]|0,M0=c),_0=h1+1|0,Q0=(_0|0)<(M0|0),Q0;)a1=M0,h1=_0;if(g0=E+24|0,j=e[g0>>2]|0,l0=(j|0)>0,u0=E+2848|0,l0)for(m1=0;N0=(E+1824|0)+(m1<<2)|0,U0=e[N0>>2]|0,y0=(U0|0)==0,y0||hB(U0),H0=e[u0>>2]|0,R0=(H0|0)==0,R0||(D0=H0+(m1*56|0)|0,eb(D0)),T0=m1+1|0,J0=e[g0>>2]|0,Y0=(T0|0)<(J0|0),Y0;)m1=T0;if(K0=e[u0>>2]|0,G0=(K0|0)==0,G0||I2(K0),O0=E+28|0,r1=e[O0>>2]|0,q0=(r1|0)>0,q0)for(d1=0;e1=(E+2852|0)+(d1<<2)|0,b0=e[e1>>2]|0,RS(b0),i1=d1+1|0,c1=e[O0>>2]|0,$1=(i1|0)<(c1|0),$1;)d1=i1;I2(E),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,e[t+24>>2]=0,e[t+28>>2]=0}function QS(t,n,A,a,c){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0;var u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,R1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,R5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0;if(W2=C,C=C+32|0,M1=W2,m=t+4|0,p=e[m>>2]|0,a1=t+104|0,Q1=e[a1>>2]|0,N1=(Q1|0)==0,N1)return e[A>>2]=0,e[A+4>>2]=0,e[A+8>>2]=0,e[A+12>>2]=0,e[A+16>>2]=0,e[A+20>>2]=0,e[A+24>>2]=0,e[A+28>>2]=0,e[a>>2]=0,e[a+4>>2]=0,e[a+8>>2]=0,e[a+12>>2]=0,e[a+16>>2]=0,e[a+20>>2]=0,e[a+24>>2]=0,e[a+28>>2]=0,e[c>>2]=0,e[c+4>>2]=0,e[c+8>>2]=0,e[c+12>>2]=0,e[c+16>>2]=0,e[c+20>>2]=0,e[c+24>>2]=0,e[c+28>>2]=0,u=-129,C=W2,u|0;if(c2=p+4|0,i2=e[c2>>2]|0,D2=(i2|0)<1,D2)S5=-129,a5=27;else if(sB(M1),T1=p+28|0,m5=e[T1>>2]|0,B=(m5|0)==0,B)S5=-130,a5=27;else if(M=e[m5>>2]|0,q=(M|0)<64,q)S5=-130,a5=27;else if(h0=m5+4|0,B0=e[h0>>2]|0,y0=(B0|0)<(M|0),y0)S5=-130,a5=27;else{U2(M1,1,8),U2(M1,118,8),U2(M1,111,8),U2(M1,114,8),U2(M1,98,8),U2(M1,105,8),U2(M1,115,8),U2(M1,0,32),r1=e[c2>>2]|0,U2(M1,r1,8),g1=p+8|0,l1=e[g1>>2]|0,U2(M1,l1,32),s1=p+12|0,n1=e[s1>>2]|0,U2(M1,n1,32),o1=p+16|0,z0=e[o1>>2]|0,U2(M1,z0,32),I1=p+20|0,h1=e[I1>>2]|0,U2(M1,h1,32),m1=e[m5>>2]|0,d1=m1+-1|0,E1=Ft(d1)|0,U2(M1,E1,4),B1=e[h0>>2]|0,p1=B1+-1|0,x1=Ft(p1)|0,U2(M1,x1,4),U2(M1,1,1),R1=Q1+64|0,w1=e[R1>>2]|0,S1=(w1|0)==0,S1||I2(w1),L1=pt(M1)|0,F1=S9(L1)|0,e[R1>>2]=F1,G1=M1+8|0,k1=e[G1>>2]|0,U1=pt(M1)|0,s4(F1|0,k1|0,U1|0)|0,Z1=e[R1>>2]|0,e[A>>2]=Z1,D1=pt(M1)|0,V1=A+4|0,e[V1>>2]=D1,O1=A+8|0,e[O1>>2]=1,q1=A+12|0,e[q1>>2]=0,e[q1+4>>2]=0,e[q1+8>>2]=0,e[q1+12>>2]=0,e[q1+16>>2]=0,u7(M1),yS(M1,n),H1=Q1+68|0,Y1=e[H1>>2]|0,j1=(Y1|0)==0,j1||I2(Y1),r2=pt(M1)|0,W1=S9(r2)|0,e[H1>>2]=W1,P1=e[G1>>2]|0,z1=pt(M1)|0,s4(W1|0,P1|0,z1|0)|0,u2=e[H1>>2]|0,e[a>>2]=u2,s2=pt(M1)|0,E2=a+4|0,e[E2>>2]=s2,o2=a+8|0,K1=a+24|0,e[o2>>2]=0,e[o2+4>>2]=0,e[o2+8>>2]=0,e[o2+12>>2]=0,h2=K1,a2=h2,e[a2>>2]=1,t2=h2+4|0,$2=t2,e[$2>>2]=0,u7(M1),A2=e[T1>>2]|0,X1=(A2|0)==0;e:do if(!X1){if(U2(M1,5,8),U2(M1,118,8),U2(M1,111,8),U2(M1,114,8),U2(M1,98,8),U2(M1,105,8),U2(M1,115,8),n2=A2+24|0,f2=e[n2>>2]|0,e2=f2+-1|0,U2(M1,e2,8),y2=e[n2>>2]|0,v2=(y2|0)>0,v2)for(q2=0;;){if(N2=(A2+1824|0)+(q2<<2)|0,d2=e[N2>>2]|0,K2=eS(d2,M1)|0,G2=(K2|0)==0,C2=q2+1|0,!G2)break e;if(w2=e[n2>>2]|0,F2=(C2|0)<(w2|0),F2)q2=C2;else break}if(U2(M1,0,6),U2(M1,0,16),H2=A2+16|0,M2=e[H2>>2]|0,P2=M2+-1|0,U2(M1,P2,6),z2=e[H2>>2]|0,o5=(z2|0)>0,o5)for(I5=0;;){if(O2=(A2+800|0)+(I5<<2)|0,X2=e[O2>>2]|0,U2(M1,X2,16),R5=e[O2>>2]|0,e5=25640+(R5<<2)|0,b5=e[e5>>2]|0,Z2=e[b5>>2]|0,f5=(Z2|0)==0,f5)break e;if(v5=(A2+1056|0)+(I5<<2)|0,P5=e[v5>>2]|0,EB[Z2&3](P5,M1),l5=I5+1|0,k2=e[H2>>2]|0,n5=(l5|0)<(k2|0),n5)I5=l5;else break}if(x2=A2+20|0,_2=e[x2>>2]|0,B2=_2+-1|0,U2(M1,B2,6),C5=e[x2>>2]|0,L5=(C5|0)>0,L5)for(A5=0;d5=(A2+1312|0)+(A5<<2)|0,D5=e[d5>>2]|0,U2(M1,D5,16),G5=e[d5>>2]|0,_5=25648+(G5<<2)|0,v=e[_5>>2]|0,S=e[v>>2]|0,w=(A2+1568|0)+(A5<<2)|0,y=e[w>>2]|0,EB[S&3](y,M1),b=A5+1|0,Q=e[x2>>2]|0,_=(b|0)<(Q|0),_;)A5=b;if(L=A2+12|0,R=e[L>>2]|0,F=R+-1|0,U2(M1,F,6),T=e[L>>2]|0,N=(T|0)>0,N)for(c5=0;G=(A2+288|0)+(c5<<2)|0,O=e[G>>2]|0,U2(M1,O,16),z=e[G>>2]|0,Y=25664+(z<<2)|0,t0=e[Y>>2]|0,J=e[t0>>2]|0,W=(A2+544|0)+(c5<<2)|0,e0=e[W>>2]|0,bQ[J&1](p,e0,M1),X=c5+1|0,U=e[L>>2]|0,$0=(X|0)<(U|0),$0;)c5=X;if(Z=A2+8|0,K=e[Z>>2]|0,a0=K+-1|0,U2(M1,a0,6),n0=e[Z>>2]|0,i0=(n0|0)>0,i0)for(B5=0;r0=(A2+32|0)+(B5<<2)|0,V=e[r0>>2]|0,s0=e[V>>2]|0,U2(M1,s0,1),g0=e[r0>>2]|0,j=g0+4|0,l0=e[j>>2]|0,U2(M1,l0,16),u0=e[r0>>2]|0,d0=u0+8|0,w0=e[d0>>2]|0,U2(M1,w0,16),C0=e[r0>>2]|0,k0=C0+12|0,f0=e[k0>>2]|0,U2(M1,f0,8),p0=B5+1|0,I0=e[Z>>2]|0,S0=(p0|0)<(I0|0),S0;)B5=p0;return U2(M1,1,1),V0=Q1+72|0,_0=e[V0>>2]|0,Q0=(_0|0)==0,Q0||I2(_0),L0=pt(M1)|0,M0=S9(L0)|0,e[V0>>2]=M0,N0=e[G1>>2]|0,U0=pt(M1)|0,s4(M0|0,N0|0,U0|0)|0,H0=e[V0>>2]|0,e[c>>2]=H0,R0=pt(M1)|0,D0=c+4|0,e[D0>>2]=R0,T0=c+8|0,J0=c+24|0,e[T0>>2]=0,e[T0+4>>2]=0,e[T0+8>>2]=0,e[T0+12>>2]=0,Y0=J0,P0=Y0,e[P0>>2]=2,K0=Y0+4|0,G0=K0,e[G0>>2]=0,oB(M1),u=0,C=W2,u|0}while(!1);e[A>>2]=0,e[A+4>>2]=0,e[A+8>>2]=0,e[A+12>>2]=0,e[A+16>>2]=0,e[A+20>>2]=0,e[A+24>>2]=0,e[A+28>>2]=0,e[a>>2]=0,e[a+4>>2]=0,e[a+8>>2]=0,e[a+12>>2]=0,e[a+16>>2]=0,e[a+20>>2]=0,e[a+24>>2]=0,e[a+28>>2]=0,e[c>>2]=0,e[c+4>>2]=0,e[c+8>>2]=0,e[c+12>>2]=0,e[c+16>>2]=0,e[c+20>>2]=0,e[c+24>>2]=0,e[c+28>>2]=0,I=R1,g5=-130}return(a5|0)==27&&(e[A>>2]=0,e[A+4>>2]=0,e[A+8>>2]=0,e[A+12>>2]=0,e[A+16>>2]=0,e[A+20>>2]=0,e[A+24>>2]=0,e[A+28>>2]=0,e[a>>2]=0,e[a+4>>2]=0,e[a+8>>2]=0,e[a+12>>2]=0,e[a+16>>2]=0,e[a+20>>2]=0,e[a+24>>2]=0,e[a+28>>2]=0,e[c>>2]=0,e[c+4>>2]=0,e[c+8>>2]=0,e[c+12>>2]=0,e[c+16>>2]=0,e[c+20>>2]=0,e[c+24>>2]=0,e[c+28>>2]=0,E=Q1+64|0,I=E,g5=S5),oB(M1),O0=e[I>>2]|0,q0=(O0|0)==0,q0||I2(O0),e1=Q1+68|0,b0=e[e1>>2]|0,i1=(b0|0)==0,i1||I2(b0),c1=Q1+72|0,$1=e[c1>>2]|0,u1=($1|0)==0,u1||I2($1),e[I>>2]=0,e[e1>>2]=0,e[c1>>2]=0,u=g5,C=W2,u|0}function yS(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0;for(i0=C,U2(t,3,8),U2(t,118,8),U2(t,111,8),U2(t,114,8),U2(t,98,8),U2(t,105,8),U2(t,115,8),U2(t,44,32),A=1200,c=44;E=c+-1|0,I=A+1|0,L=d[A>>0]|0,J=L<<24>>24,U2(t,J,8),q=(E|0)==0,!q;)A=I,c=E;if(X=n+8|0,U=e[X>>2]|0,U2(t,U,32),$0=e[X>>2]|0,Z=($0|0)>0,!Z){U2(t,1,1);return}for(K=n+4|0,a0=0;;){if(m=e[n>>2]|0,p=m+(a0<<2)|0,B=e[p>>2]|0,v=(B|0)==0,v)U2(t,0,32);else if(S=e[K>>2]|0,w=S+(a0<<2)|0,y=e[w>>2]|0,U2(t,y,32),b=e[K>>2]|0,Q=b+(a0<<2)|0,_=e[Q>>2]|0,R=(_|0)==0,!R)for(F=e[n>>2]|0,M=F+(a0<<2)|0,T=e[M>>2]|0,a=T,u=_;N=u+-1|0,G=a+1|0,O=d[a>>0]|0,z=O<<24>>24,U2(t,z,8),Y=(N|0)==0,!Y;)a=G,u=N;if(t0=a0+1|0,W=e[X>>2]|0,e0=(t0|0)<(W|0),e0)a0=t0;else break}U2(t,1,1)}function iQ(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,R1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0;if(Y1=C,m=a+1|0,p=m<<3,c=p,F=C,C=C+((1*c|0)+15&-16)|0,e0=a<<3,u=e0,V=C,C=C+((1*u|0)+15&-16)|0,f0=(m|0)==0,f0)N=0;else{for(U0=a;;){if(O0=(U0|0)<(A|0),O0)for(m1=0,L1=U0;;)if(s1=t+(L1<<2)|0,I1=+s[s1>>2],B=I1,v=L1-U0|0,S=t+(v<<2)|0,w=+s[S>>2],y=w,b=y*B,Q=b+m1,_=L1+1|0,S1=(_|0)==(A|0),S1){h1=Q;break}else m1=Q,L1=_;else h1=0;if(L=F+(U0<<3)|0,A1[L>>3]=h1,R=U0+-1|0,M=(U0|0)==0,M)break;U0=R}I=+A1[F>>3],N=I}if(T=N*1.0000000001,G=N*1e-9,O=G+1e-10,z=(a|0)>0,z)E1=T,F1=0;else return Q1=T,z0=Q1,C=Y1,+z0;for(;;){if(k1=F1+1|0,Y=E1>3],U=-X,$0=(F1|0)>0,$0){for(U1=0,O1=U;;)if(a0=V+(U1<<3)|0,n0=+A1[a0>>3],i0=F1-U1|0,r0=F+(i0<<3)|0,h0=+A1[r0>>3],s0=h0*n0,g0=O1-s0,j=U1+1|0,w1=(j|0)==(F1|0),w1){E=g0;break}else U1=j,O1=g0;if(l0=E/E1,u0=V+(F1<<3)|0,A1[u0>>3]=l0,d0=(F1|0)/2&-1,w0=(F1|0)>1,w0){for(C0=F1+-1|0,k0=(d0|0)>1,N1=0;B0=V+(N1<<3)|0,p0=+A1[B0>>3],I0=C0-N1|0,S0=V+(I0<<3)|0,V0=+A1[S0>>3],_0=V0*l0,Q0=_0+p0,A1[B0>>3]=Q0,L0=p0*l0,M0=+A1[S0>>3],N0=M0+L0,A1[S0>>3]=N0,y0=N1+1|0,H0=(y0|0)<(d0|0),H0;)N1=y0;q1=k0?d0:1,P0=l0,Z1=q1}else P0=l0,Z1=0}else Z=U/E1,K=V+(F1<<3)|0,A1[K>>3]=Z,P0=Z,Z1=0;if(R0=F1&1,D0=(R0|0)==0,D0||(T0=V+(Z1<<3)|0,J0=+A1[T0>>3],Y0=J0*P0,K0=Y0+J0,A1[T0>>3]=K0),G0=P0*P0,r1=1-G0,q0=r1*E1,e1=(k1|0)<(a|0),e1)E1=q0,F1=k1;else{p1=q0;break}}if((H1|0)==8&&(t0=V+(G1<<3)|0,J=a-G1|0,W=J<<3,Ae(t0|0,0,W|0)|0,p1=B1),z)d1=.99,D1=0;else return Q1=p1,z0=Q1,C=Y1,+z0;for(;b0=V+(D1<<3)|0,i1=+A1[b0>>3],c1=i1*d1,A1[b0>>3]=c1,$1=d1*.99,u1=D1+1|0,R1=(u1|0)==(a|0),!R1;)d1=$1,D1=u1;if(z)V1=0;else return Q1=p1,z0=Q1,C=Y1,+z0;for(;;)if(g1=V+(V1<<3)|0,l1=+A1[g1>>3],a1=l1,n1=n+(V1<<2)|0,s[n1>>2]=a1,o1=V1+1|0,x1=(o1|0)==(a|0),x1){Q1=p1;break}else V1=o1;return z0=Q1,C=Y1,+z0}function rQ(t,n,A,a,c){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0;var u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0;if(K=C,I=c+A|0,m=I<<2,u=m,R=C,C=C+((1*u|0)+15&-16)|0,M=(n|0)==0,T=(A|0)>0,M?T&&(G=A<<2,Ae(R|0,0,G|0)|0):T&&(N=A<<2,s4(R|0,n|0,N|0)|0),O=(c|0)>0,!O){C=K;return}if(z=(A|0)>0,z)W=0,e0=A;else{Y=c<<2,Ae(R|0,0,Y|0)|0,Ae(a|0,0,Y|0)|0,C=K;return}for(;;){for(X=W,U=A,$0=0;;)if(S=X+1|0,w=R+(X<<2)|0,y=+s[w>>2],b=U+-1|0,Q=t+(b<<2)|0,_=+s[Q>>2],L=_*y,F=$0-L,t0=(S|0)==(e0|0),t0){E=F;break}else X=S,U=b,$0=F;if(p=R+(e0<<2)|0,s[p>>2]=E,B=a+(W<<2)|0,s[B>>2]=E,v=W+1|0,q=e0+1|0,J=(v|0)==(c|0),J)break;W=v,e0=q}C=K}function wS(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0;if(S0=C,c=e[n>>2]|0,u=(c|0)>1,u?(U2(A,1,1),Q=e[n>>2]|0,Y=Q+-1|0,U2(A,Y,4)):U2(A,0,1),a0=n+1156|0,u0=e[a0>>2]|0,d0=(u0|0)>0,d0){if(U2(A,1,1),w0=e[a0>>2]|0,C0=w0+-1|0,U2(A,C0,8),k0=e[a0>>2]|0,E=(k0|0)>0,E)for(I=n+1160|0,m=t+4|0,p=n+2184|0,f0=0;B=I+(f0<<2)|0,v=e[B>>2]|0,S=e[m>>2]|0,w=S+-1|0,y=Ft(w)|0,U2(A,v,y),b=p+(f0<<2)|0,_=e[b>>2]|0,L=e[m>>2]|0,R=L+-1|0,F=Ft(R)|0,U2(A,_,F),M=f0+1|0,T=e[a0>>2]|0,N=(M|0)<(T|0),N;)f0=M}else U2(A,0,1);if(U2(A,0,2),G=e[n>>2]|0,O=(G|0)>1,O){if(z=t+4|0,t0=e[z>>2]|0,J=(t0|0)>0,J){for(W=n+4|0,B0=0;$0=W+(B0<<2)|0,Z=e[$0>>2]|0,U2(A,Z,4),K=B0+1|0,n0=e[z>>2]|0,i0=(K|0)<(n0|0),i0;)B0=K;a=e[n>>2]|0,e0=a,I0=13}}else e0=G,I0=13;if(!((I0|0)==13&&(q=(e0|0)>0,!q)))for(X=n+1028|0,U=n+1092|0,p0=0;U2(A,0,8),r0=X+(p0<<2)|0,V=e[r0>>2]|0,U2(A,V,8),h0=U+(p0<<2)|0,s0=e[h0>>2]|0,U2(A,s0,8),g0=p0+1|0,j=e[n>>2]|0,l0=(g0|0)<(j|0),l0;)p0=g0}function kS(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0;n1=C,c=n4(1,3208)|0,u=t+28|0,Q=e[u>>2]|0,Ae(c|0,0,3208)|0,Y=t+4|0,a0=e[Y>>2]|0,d0=(a0|0)<1;e:do if(d0)a1=24;else if(Q0=Z4(n,1)|0,Y0=(Q0|0)<0,Y0)a1=24;else{if(q0=(Q0|0)==0,q0)e[c>>2]=1;else if(e1=Z4(n,4)|0,E=e1+1|0,e[c>>2]=E,I=(e1|0)<0,I)break;if(m=Z4(n,1)|0,p=(m|0)<0,!p){if(B=(m|0)==0,!B){if(v=Z4(n,8)|0,S=v+1|0,w=c+1156|0,e[w>>2]=S,y=(v|0)<0,y)break;for(b=c+1160|0,_=c+2184|0,a=e[Y>>2]|0,T=a,b0=0;;){if(M=T+-1|0,N=Ft(M)|0,G=Z4(n,N)|0,O=b+(b0<<2)|0,e[O>>2]=G,z=e[Y>>2]|0,t0=z+-1|0,J=Ft(t0)|0,W=Z4(n,J)|0,e0=_+(b0<<2)|0,e[e0>>2]=W,q=W|G,X=(q|0)<0,U=(G|0)==(W|0),$1=U|X,$1||($0=e[Y>>2]|0,Z=(G|0)<($0|0),K=(W|0)<($0|0),u1=Z&K,R=b0+1|0,!u1))break e;if(L=e[w>>2]|0,F=(R|0)<(L|0),F)T=$0,b0=R;else break}}if(n0=Z4(n,2)|0,i0=(n0|0)==0,i0){if(r0=e[c>>2]|0,V=(r0|0)>1,V){if(h0=e[Y>>2]|0,s0=(h0|0)>0,s0)for(g0=c+4|0,i1=0;;){if(I0=Z4(n,4)|0,S0=g0+(i1<<2)|0,e[S0>>2]=I0,V0=e[c>>2]|0,_0=(I0|0)>=(V0|0),L0=(I0|0)<0,g1=L0|_0,B0=i1+1|0,g1)break e;if(f0=e[Y>>2]|0,p0=(B0|0)<(f0|0),p0)i1=B0;else{j=V0,a1=17;break}}}else j=r0,a1=17;if((a1|0)==17&&(l0=(j|0)>0,!l0))return A=c,A|0;for(u0=c+1028|0,w0=Q+16|0,C0=c+1092|0,k0=Q+20|0,c1=0;;){if(Z4(n,8)|0,y0=Z4(n,8)|0,H0=u0+(c1<<2)|0,e[H0>>2]=y0,R0=e[w0>>2]|0,D0=(y0|0)>=(R0|0),T0=(y0|0)<0,l1=T0|D0,l1||(J0=Z4(n,8)|0,P0=C0+(c1<<2)|0,e[P0>>2]=J0,K0=e[k0>>2]|0,G0=(J0|0)>=(K0|0),O0=(J0|0)<0,s1=O0|G0,N0=c1+1|0,s1))break e;if(M0=e[c>>2]|0,U0=(N0|0)<(M0|0),U0)c1=N0;else{A=c;break}}return A|0}}}while(!1);return(a1|0)==24&&(r1=(c|0)==0,r1)?(A=0,A|0):(I2(c),A=0,A|0)}function vS(t){t=t|0;var n=0,A=0,a=0;a=C,n=(t|0)==0,n||I2(t)}function SS(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,R1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,R5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,R2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,k3=0,u3=0,p3=0,z3=0,G3=0,K5=0,w3=0,Z5=0,i6=0,R3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,L3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,X3=0,c6=0,p6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,R6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,L6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,M4=0,W4=0,C4=0,T4=0,U9=0,N4=0,a4=0,R4=0,u4=0,Ce=0,q9=0,m9=0,Be=0,Ne=0,Xe=0,G4=0,Ge=0,U4=0,j4=0,be=0,e8=0,Z9=0,ae=0,f4=0,_6=0,P4=0,L9=0,$4=0,_4=0,$e=0,W9=0,le=0,ce=0,B4=0,X4=0,L4=0,ge=0,C9=0,g6=0,Ue=0,l4=0,pe=0,p4=0,c4=0,P6=0,De=0,_e=0,t8=0,g4=0,k4=0,u8=0,J3=0,w9=0,B9=0,F4=0,ee=0,$t=0,xe=0,lt=0,Qt=0,z8=0,ct=0,gt=0,F8=0,M8=0,T8=0,N8=0,Z8=0,W8=0,yt=0,G8=0,U8=0,P8=0,k8=0,v8=0,f8=0,O8=0,q8=0,j8=0,X8=0,d8=0,Pe=0,Re=0,i8=0,S8=0,k9=0,ht=0,Qe=0,ut=0,wt=0,et=0,kt=0,te=0,tt=0,H8=0,b8=0,r8=0,O4=0,Le=0,n8=0,I8=0,D8=0,he=0,j9=0,s8=0,E8=0,o8=0,m8=0,ue=0,ye=0,Oe=0,qe=0,X9=0,Fe=0,fe=0,A8=0,we=0,Q4=0,C8=0,it=0,q4=0,I3=0,He=0,B8=0,ie=0,H9=0,re=0,D9=0,Ye=0,Y8=0,ft=0,rt=0,nt=0,J8=0,st=0,V8=0,a8=0,$8=0,_8=0,H4=0,ot=0,x8=0,Je=0,p9=0,At=0,Ve=0,Mt=0,qt=0,vt=0,at=0,St=0,ne=0,Tt=0,Ht=0,l8=0,R8=0,bt=0,K8=0,Me=0,de=0,e4=0,Dt=0,t7=0,G7=0,U7=0,P7=0,d7=0,Yt=0,I7=0,Jt=0,E7=0,Vt=0,m7=0,i7=0,oi=0,O7=0,C7=0,B7=0,Ai=0,p7=0,r7=0,ai=0,q7=0,H7=0,Y7=0,J7=0,n7=0,Q7=0,V7=0,Kt=0,s7=0,Nt=0,zt=0,$i=0,K7=0,li=0,y7=0,z7=0,w7=0,k7=0,Z7=0,v7=0,Zt=0,S7=0,W7=0,o7=0,Gt=0,b7=0,ke=0,D7=0,_t=0,A7=0,n9=0,dt=0,p8=0,It=0,xt=0,Zr=0,Ir=0,Xs=0,Un=0,eo=0,Pn=0,to=0,io=0,On=0,ro=0,Wr=0,no=0,so=0,oo=0,qn=0,Ao=0,Hn=0,Yn=0,ao=0,jr=0,Jn=0,Xr=0,Vn=0,Kn=0,$o=0,lo=0,co=0,en=0,zn=0,go=0,Er=0,tn=0,ho=0,uo=0,rn=0,ci=0,Zn=0,fo=0,Io=0,Wn=0,jn=0,Xn=0,Eo=0,gi=0,nn=0,mo=0,es=0,Co=0,Bo=0,po=0,ts=0,Qo=0,yo=0,wo=0,ko=0,is=0,vo=0,So=0,sn=0,mr=0,on=0,bo=0,Wi=0,Do=0,rs=0,An=0,ns=0,an=0,_o=0,ss=0,os=0,xo=0,As=0,as=0,Ro=0,Cr=0,$s=0,hi=0,$n=0,Br=0,ji=0,pr=0,qi=0,Qr=0,ls=0,Hi=0,yi=0,wi=0,j7=0,ki=0,yr=0,Xi=0,er=0,wr=0,ui=0,Lo=0,a7=0,j$=0,ln=0,cn=0;if(ln=C,_=t+64|0,L=e[_>>2]|0,t2=L+4|0,O3=e[t2>>2]|0,_4=O3+28|0,H4=e[_4>>2]|0,ho=L+104|0,gi=e[ho>>2]|0,ko=t+104|0,An=e[ko>>2]|0,R=t+36|0,W=e[R>>2]|0,r0=O3+4|0,k0=e[r0>>2]|0,N0=k0<<2,a=N0,G0=C,C=C+((1*a|0)+15&-16)|0,l1=Ot(t,N0)|0,B1=e[r0>>2]|0,U1=B1<<2,W1=Ot(t,U1)|0,$2=e[r0>>2]|0,F2=$2<<2,O2=Ot(t,F2)|0,k2=An+4|0,_5=+s[k2>>2],g2=e[r0>>2]|0,R2=g2<<2,c=R2,F5=C,C=C+((1*c|0)+15&-16)|0,R3=An+8|0,M5=e[R3>>2]|0,V5=t+28|0,c6=e[V5>>2]|0,Y3=(H4+544|0)+(c6<<2)|0,n6=e[Y3>>2]|0,L6=gi+56|0,u9=e[L6>>2]|0,E4=(c6|0)!=0,A4=E4?2:0,b=A4+M5|0,a4=u9+(b*52|0)|0,U4=t+40|0,e[U4>>2]=c6,$e=(g2|0)>0,$e)for(l4=+(W|0),J3=4/l4,gt=(s[p2>>2]=J3,e[p2>>2]|0),k8=(W|0)/2&-1,S8=k8<<2,b8=gt&2147483647,o8=+(b8>>>0),Q4=o8*7177114298428933e-22,Ye=Q4+-764.6162109375,ot=Ye,ne=ot+.345,t7=ne,i7=gi+4|0,Y7=t+24|0,li=t+32|0,Gt=t7+-764.6162109375,Zr=W+-1|0,no=(Zr|0)>1,Vn=t7+-382.30810546875,Qr=_5,Hi=0;;){if(uo=e[t>>2]|0,rn=uo+(Hi<<2)|0,ci=e[rn>>2]|0,Zn=Ot(t,S8)|0,fo=W1+(Hi<<2)|0,e[fo>>2]=Zn,Io=Ot(t,S8)|0,Wn=l1+(Hi<<2)|0,e[Wn>>2]=Io,jn=e[Y7>>2]|0,Xn=e[V5>>2]|0,Eo=e[li>>2]|0,ab(ci,i7,H4,jn,Xn,Eo),nn=e[V5>>2]|0,mo=(gi+12|0)+(nn<<2)|0,es=e[mo>>2]|0,Co=e[es>>2]|0,Bo=e[Wn>>2]|0,nQ(Co,ci,Bo),po=e[V5>>2]|0,ts=(gi+20|0)+(po*12|0)|0,rb(ts,ci),Qo=e[ci>>2]|0,yo=Qo&2147483647,wo=+(yo>>>0),is=wo*7177114298428933e-22,vo=Gt+is,So=vo,sn=So+.345,mr=sn,s[ci>>2]=mr,on=F5+(Hi<<2)|0,s[on>>2]=mr,no)for(O=mr,yr=1;;)if(bo=ci+(yr<<2)|0,Wi=+s[bo>>2],Do=Wi*Wi,rs=yr+1|0,ns=ci+(rs<<2)|0,an=+s[ns>>2],_o=an*an,ss=_o+Do,os=(s[p2>>2]=ss,e[p2>>2]|0),xo=os&2147483647,As=+(xo>>>0),as=As*35885571492144663e-23,Ro=Vn+as,Cr=Ro,F=Cr+.345,M=F,T=rs>>1,N=ci+(T<<2)|0,s[N>>2]=M,G=M>O,G?(s[on>>2]=M,Er=M):Er=O,z=yr+2|0,Y=(z|0)<(Zr|0),Y)O=Er,yr=z;else{J=Er;break}else J=mr;if(t0=J>0,t0?(s[on>>2]=0,q=0):q=J,e0=q>Qr,ls=e0?q:Qr,X=Hi+1|0,U=e[r0>>2]|0,$0=(X|0)<(U|0),$0)Qr=ls,Hi=X;else{p=S8,v=k8,qi=ls;break}}else S=(W|0)/2&-1,w=S<<2,p=w,v=S,qi=_5;Z=Ot(t,p)|0,K=Ot(t,p)|0,a0=e[r0>>2]|0,n0=(a0|0)>0;e:do if(n0){if(i0=(W|0)>1,V=gi+48|0,i0)wi=0;else{for(yi=0;;){t6=(n6+4|0)+(yi<<2)|0,f6=e[t6>>2]|0,H3=l1+(yi<<2)|0,D3=e[H3>>2]|0,Z3=e[t>>2]|0,b6=Z3+(yi<<2)|0,A6=e[b6>>2]|0,t3=A6+(v<<2)|0,e[U4>>2]=c6,O6=Ot(t,60)|0,s3=O2+(yi<<2)|0,e[s3>>2]=O6,a7=O6,cn=a7+60|0;do e[a7>>2]=0,a7=a7+4|0;while((a7|0)<(cn|0));if(aQ(a4,t3,Z),a6=F5+(yi<<2)|0,d6=+s[a6>>2],$Q(a4,A6,K,qi,d6),z$(a4,Z,K,1,A6,D3,t3),_3=(n6+1028|0)+(f6<<2)|0,N6=e[_3>>2]|0,Q6=(H4+800|0)+(N6<<2)|0,R6=e[Q6>>2]|0,K6=(R6|0)==1,!K6){A=-1;break}if(I6=e[V>>2]|0,J6=I6+(N6<<2)|0,F3=e[J6>>2]|0,j6=K$(t,F3,t3,A6)|0,G6=e[s3>>2]|0,e9=G6+28|0,e[e9>>2]=j6,s9=_h(t)|0,U6=(s9|0)==0,U6||(D6=e[s3>>2]|0,z6=D6+28|0,y6=e[z6>>2]|0,F6=(y6|0)==0,F6||(z$(a4,Z,K,2,A6,D3,t3),M3=e[_3>>2]|0,M6=e[V>>2]|0,t9=M6+(M3<<2)|0,A9=e[t9>>2]|0,X6=K$(t,A9,t3,A6)|0,f9=e[s3>>2]|0,d9=f9+56|0,e[d9>>2]=X6,z$(a4,Z,K,0,A6,D3,t3),a9=e[_3>>2]|0,$9=e[V>>2]|0,T9=$9+(a9<<2)|0,E6=e[T9>>2]|0,T6=K$(t,E6,t3,A6)|0,i9=e[s3>>2]|0,e[i9>>2]=T6,N9=e[_3>>2]|0,I9=e[V>>2]|0,o4=I9+(N9<<2)|0,h4=e[o4>>2]|0,G9=e[s3>>2]|0,z9=e[G9>>2]|0,b9=G9+28|0,E9=e[b9>>2]|0,q6=L8(t,h4,z9,E9,9362)|0,r9=e[s3>>2]|0,m4=r9+4|0,e[m4>>2]=q6,S4=e[_3>>2]|0,y9=e[V>>2]|0,b4=y9+(S4<<2)|0,D4=e[b4>>2]|0,x4=e[s3>>2]|0,M4=e[x4>>2]|0,W4=x4+28|0,C4=e[W4>>2]|0,T4=L8(t,D4,M4,C4,18724)|0,U9=e[s3>>2]|0,N4=U9+8|0,e[N4>>2]=T4,R4=e[_3>>2]|0,u4=e[V>>2]|0,Ce=u4+(R4<<2)|0,q9=e[Ce>>2]|0,m9=e[s3>>2]|0,Be=e[m9>>2]|0,Ne=m9+28|0,Xe=e[Ne>>2]|0,G4=L8(t,q9,Be,Xe,28086)|0,Ge=e[s3>>2]|0,j4=Ge+12|0,e[j4>>2]=G4,be=e[_3>>2]|0,e8=e[V>>2]|0,Z9=e8+(be<<2)|0,ae=e[Z9>>2]|0,f4=e[s3>>2]|0,_6=e[f4>>2]|0,P4=f4+28|0,L9=e[P4>>2]|0,$4=L8(t,ae,_6,L9,37449)|0,W9=e[s3>>2]|0,le=W9+16|0,e[le>>2]=$4,ce=e[_3>>2]|0,B4=e[V>>2]|0,X4=B4+(ce<<2)|0,L4=e[X4>>2]|0,ge=e[s3>>2]|0,C9=e[ge>>2]|0,g6=ge+28|0,Ue=e[g6>>2]|0,pe=L8(t,L4,C9,Ue,46811)|0,p4=e[s3>>2]|0,c4=p4+20|0,e[c4>>2]=pe,P6=e[_3>>2]|0,De=e[V>>2]|0,_e=De+(P6<<2)|0,t8=e[_e>>2]|0,g4=e[s3>>2]|0,k4=e[g4>>2]|0,u8=g4+28|0,w9=e[u8>>2]|0,B9=L8(t,t8,k4,w9,56173)|0,F4=e[s3>>2]|0,ee=F4+24|0,e[ee>>2]=B9,$t=e[_3>>2]|0,xe=e[V>>2]|0,lt=xe+($t<<2)|0,Qt=e[lt>>2]|0,z8=e[s3>>2]|0,ct=z8+28|0,F8=e[ct>>2]|0,M8=z8+56|0,T8=e[M8>>2]|0,N8=L8(t,Qt,F8,T8,9362)|0,Z8=e[s3>>2]|0,W8=Z8+32|0,e[W8>>2]=N8,yt=e[_3>>2]|0,G8=e[V>>2]|0,U8=G8+(yt<<2)|0,P8=e[U8>>2]|0,v8=e[s3>>2]|0,f8=v8+28|0,O8=e[f8>>2]|0,q8=v8+56|0,j8=e[q8>>2]|0,X8=L8(t,P8,O8,j8,18724)|0,d8=e[s3>>2]|0,Pe=d8+36|0,e[Pe>>2]=X8,Re=e[_3>>2]|0,i8=e[V>>2]|0,k9=i8+(Re<<2)|0,ht=e[k9>>2]|0,Qe=e[s3>>2]|0,ut=Qe+28|0,wt=e[ut>>2]|0,et=Qe+56|0,kt=e[et>>2]|0,te=L8(t,ht,wt,kt,28086)|0,tt=e[s3>>2]|0,H8=tt+40|0,e[H8>>2]=te,r8=e[_3>>2]|0,O4=e[V>>2]|0,Le=O4+(r8<<2)|0,n8=e[Le>>2]|0,I8=e[s3>>2]|0,D8=I8+28|0,he=e[D8>>2]|0,j9=I8+56|0,s8=e[j9>>2]|0,E8=L8(t,n8,he,s8,37449)|0,m8=e[s3>>2]|0,ue=m8+44|0,e[ue>>2]=E8,ye=e[_3>>2]|0,Oe=e[V>>2]|0,qe=Oe+(ye<<2)|0,X9=e[qe>>2]|0,Fe=e[s3>>2]|0,fe=Fe+28|0,A8=e[fe>>2]|0,we=Fe+56|0,C8=e[we>>2]|0,it=L8(t,X9,A8,C8,46811)|0,q4=e[s3>>2]|0,I3=q4+48|0,e[I3>>2]=it,He=e[_3>>2]|0,B8=e[V>>2]|0,ie=B8+(He<<2)|0,H9=e[ie>>2]|0,re=e[s3>>2]|0,D9=re+28|0,Y8=e[D9>>2]|0,ft=re+56|0,rt=e[ft>>2]|0,nt=L8(t,H9,Y8,rt,56173)|0,J8=e[s3>>2]|0,st=J8+52|0,e[st>>2]=nt)),V8=yi+1|0,a8=e[r0>>2]|0,$8=(V8|0)<(a8|0),$8)yi=V8;else{B=V,x8=a8;break e}}return C=ln,A|0}for(;;){x6=(n6+4|0)+(wi<<2)|0,d0=e[x6>>2]|0,Y6=l1+(wi<<2)|0,l0=e[Y6>>2]|0,C6=e[t>>2]|0,b3=C6+(wi<<2)|0,j=e[b3>>2]|0,h0=j+(v<<2)|0,e[U4>>2]=c6,e6=Ot(t,60)|0,Q0=O2+(wi<<2)|0,e[Q0>>2]=e6,a7=e6,cn=a7+60|0;do e[a7>>2]=0,a7=a7+4|0;while((a7|0)<(cn|0));for(Xi=0;j3=l0+(Xi<<2)|0,S3=e[j3>>2]|0,g3=S3&2147483647,q3=+(g3>>>0),l6=q3*7177114298428933e-22,d3=l6+-764.6162109375,k6=d3,v6=k6+.345,S6=v6,Q=Xi+v|0,B6=j+(Q<<2)|0,s[B6>>2]=S6,X3=Xi+1|0,p6=(X3|0)<(v|0),p6;)Xi=X3;if(aQ(a4,h0,Z),s0=F5+(wi<<2)|0,g0=+s[s0>>2],$Q(a4,j,K,qi,g0),z$(a4,Z,K,1,j,l0,h0),u0=(n6+1028|0)+(d0<<2)|0,w0=e[u0>>2]|0,C0=(H4+800|0)+(w0<<2)|0,f0=e[C0>>2]|0,B0=(f0|0)==1,!B0){A=-1;break}if(p0=e[V>>2]|0,I0=p0+(w0<<2)|0,S0=e[I0>>2]|0,V0=K$(t,S0,h0,j)|0,_0=e[Q0>>2]|0,L0=_0+28|0,e[L0>>2]=V0,M0=_h(t)|0,U0=(M0|0)==0,U0||(y0=e[Q0>>2]|0,H0=y0+28|0,R0=e[H0>>2]|0,D0=(R0|0)==0,D0||(z$(a4,Z,K,2,j,l0,h0),T0=e[u0>>2]|0,J0=e[V>>2]|0,Y0=J0+(T0<<2)|0,P0=e[Y0>>2]|0,K0=K$(t,P0,h0,j)|0,O0=e[Q0>>2]|0,r1=O0+56|0,e[r1>>2]=K0,z$(a4,Z,K,0,j,l0,h0),q0=e[u0>>2]|0,e1=e[V>>2]|0,b0=e1+(q0<<2)|0,i1=e[b0>>2]|0,c1=K$(t,i1,h0,j)|0,$1=e[Q0>>2]|0,e[$1>>2]=c1,u1=e[u0>>2]|0,g1=e[V>>2]|0,s1=g1+(u1<<2)|0,a1=e[s1>>2]|0,n1=e[Q0>>2]|0,o1=e[n1>>2]|0,z0=n1+28|0,I1=e[z0>>2]|0,h1=L8(t,a1,o1,I1,9362)|0,m1=e[Q0>>2]|0,d1=m1+4|0,e[d1>>2]=h1,E1=e[u0>>2]|0,p1=e[V>>2]|0,Q1=p1+(E1<<2)|0,x1=e[Q1>>2]|0,R1=e[Q0>>2]|0,w1=e[R1>>2]|0,S1=R1+28|0,L1=e[S1>>2]|0,F1=L8(t,x1,w1,L1,18724)|0,G1=e[Q0>>2]|0,k1=G1+8|0,e[k1>>2]=F1,Z1=e[u0>>2]|0,N1=e[V>>2]|0,D1=N1+(Z1<<2)|0,V1=e[D1>>2]|0,O1=e[Q0>>2]|0,q1=e[O1>>2]|0,H1=O1+28|0,Y1=e[H1>>2]|0,j1=L8(t,V1,q1,Y1,28086)|0,r2=e[Q0>>2]|0,P1=r2+12|0,e[P1>>2]=j1,c2=e[u0>>2]|0,z1=e[V>>2]|0,u2=z1+(c2<<2)|0,s2=e[u2>>2]|0,E2=e[Q0>>2]|0,o2=e[E2>>2]|0,K1=E2+28|0,h2=e[K1>>2]|0,a2=L8(t,s2,o2,h2,37449)|0,i2=e[Q0>>2]|0,A2=i2+16|0,e[A2>>2]=a2,X1=e[u0>>2]|0,n2=e[V>>2]|0,f2=n2+(X1<<2)|0,e2=e[f2>>2]|0,y2=e[Q0>>2]|0,v2=e[y2>>2]|0,w2=y2+28|0,C2=e[w2>>2]|0,D2=L8(t,e2,v2,C2,46811)|0,N2=e[Q0>>2]|0,d2=N2+20|0,e[d2>>2]=D2,K2=e[u0>>2]|0,G2=e[V>>2]|0,H2=G2+(K2<<2)|0,M2=e[H2>>2]|0,P2=e[Q0>>2]|0,z2=e[P2>>2]|0,o5=P2+28|0,T1=e[o5>>2]|0,X2=L8(t,M2,z2,T1,56173)|0,R5=e[Q0>>2]|0,e5=R5+24|0,e[e5>>2]=X2,b5=e[u0>>2]|0,Z2=e[V>>2]|0,f5=Z2+(b5<<2)|0,v5=e[f5>>2]|0,P5=e[Q0>>2]|0,l5=P5+28|0,m5=e[l5>>2]|0,n5=P5+56|0,x2=e[n5>>2]|0,_2=L8(t,v5,m5,x2,9362)|0,B2=e[Q0>>2]|0,C5=B2+32|0,e[C5>>2]=_2,L5=e[u0>>2]|0,d5=e[V>>2]|0,D5=d5+(L5<<2)|0,G5=e[D5>>2]|0,q2=e[Q0>>2]|0,I5=q2+28|0,A5=e[I5>>2]|0,c5=q2+56|0,B5=e[c5>>2]|0,M1=L8(t,G5,A5,B5,18724)|0,S5=e[Q0>>2]|0,g5=S5+36|0,e[g5>>2]=M1,a5=e[u0>>2]|0,W2=e[V>>2]|0,p5=W2+(a5<<2)|0,t5=e[p5>>2]|0,s5=e[Q0>>2]|0,h5=s5+28|0,J2=e[h5>>2]|0,u5=s5+56|0,i5=e[u5>>2]|0,x5=L8(t,t5,J2,i5,28086)|0,j2=e[Q0>>2]|0,$5=j2+40|0,e[$5>>2]=x5,Q5=e[u0>>2]|0,q5=e[V>>2]|0,j5=q5+(Q5<<2)|0,E5=e[j5>>2]|0,f3=e[Q0>>2]|0,h3=f3+28|0,Y5=e[h3>>2]|0,X5=f3+56|0,n3=e[X5>>2]|0,m3=L8(t,E5,Y5,n3,37449)|0,J5=e[Q0>>2]|0,k3=J5+44|0,e[k3>>2]=m3,u3=e[u0>>2]|0,p3=e[V>>2]|0,z3=p3+(u3<<2)|0,G3=e[z3>>2]|0,K5=e[Q0>>2]|0,w3=K5+28|0,Z5=e[w3>>2]|0,i6=K5+56|0,U3=e[i6>>2]|0,a3=L8(t,G3,Z5,U3,46811)|0,l3=e[Q0>>2]|0,c3=l3+48|0,e[c3>>2]=a3,C3=e[u0>>2]|0,H5=e[V>>2]|0,U5=H5+(C3<<2)|0,O5=e[U5>>2]|0,k5=e[Q0>>2]|0,P3=k5+28|0,o6=e[P3>>2]|0,e3=k5+56|0,A3=e[e3>>2]|0,L3=L8(t,O5,o6,A3,56173)|0,u6=e[Q0>>2]|0,Q3=u6+52|0,e[Q3>>2]=L3)),v3=wi+1|0,y3=e[r0>>2]|0,r6=(v3|0)<(y3|0),r6)wi=v3;else{B=V,x8=y3;break e}}return C=ln,A|0}else y=gi+48|0,B=y,x8=a0;while(!1);for(s[k2>>2]=qi,_8=x8<<2,u=_8,Je=C,C=C+((1*u|0)+15&-16)|0,E=_8,p9=C,C=C+((1*E|0)+15&-16)|0,At=_h(t)|0,Ve=(At|0)!=0,Mt=Ve?0:7,qt=gi+44|0,vt=t+24|0,at=t+32|0,St=H4+2868|0,Tt=gi+52|0,ui=Mt;;){if(Ht=(An+12|0)+(ui<<2)|0,l8=e[Ht>>2]|0,U2(l8,0,1),R8=e[qt>>2]|0,U2(l8,c6,R8),bt=e[V5>>2]|0,K8=(bt|0)==0,K8||(Me=e[vt>>2]|0,U2(l8,Me,1),de=e[at>>2]|0,U2(l8,de,1)),e4=e[r0>>2]|0,Dt=(e4|0)>0,Dt)for(j7=0;;)if(G7=(n6+4|0)+(j7<<2)|0,U7=e[G7>>2]|0,P7=W1+(j7<<2)|0,d7=e[P7>>2]|0,Yt=(n6+1028|0)+(U7<<2)|0,I7=e[Yt>>2]|0,Jt=e[B>>2]|0,E7=Jt+(I7<<2)|0,Vt=e[E7>>2]|0,m7=O2+(j7<<2)|0,oi=e[m7>>2]|0,O7=oi+(ui<<2)|0,C7=e[O7>>2]|0,B7=lS(l8,t,Vt,C7,d7)|0,Ai=G0+(j7<<2)|0,e[Ai>>2]=B7,p7=j7+1|0,r7=e[r0>>2]|0,ai=(p7|0)<(r7|0),ai)j7=p7;else{I=r7;break}else I=e4;if(q7=e[V5>>2]|0,H7=((H4+3240|0)+(q7*60|0)|0)+(ui<<2)|0,J7=e[H7>>2]|0,MS(ui,St,a4,n6,l1,W1,G0,J7,I),n7=e[n6>>2]|0,Q7=(n7|0)>0,Q7)for(ki=0;;){if(V7=(n6+1092|0)+(ki<<2)|0,Kt=e[V7>>2]|0,s7=e[r0>>2]|0,Nt=(s7|0)>0,Nt)for(tn=s7,hi=0,er=0;;)if(zt=(n6+4|0)+(er<<2)|0,$i=e[zt>>2]|0,K7=($i|0)==(ki|0),K7?(y7=p9+(hi<<2)|0,z7=G0+(er<<2)|0,w7=e[z7>>2]|0,Lo=(w7|0)!=0,n=Lo&1,e[y7>>2]=n,k7=W1+(er<<2)|0,Z7=e[k7>>2]|0,v7=hi+1|0,Zt=Je+(hi<<2)|0,e[Zt>>2]=Z7,m=e[r0>>2]|0,o7=m,$n=v7):(o7=tn,$n=hi),S7=er+1|0,W7=(S7|0)<(o7|0),W7)tn=o7,hi=$n,er=S7;else{$s=$n;break}else $s=0;if(b7=(H4+1312|0)+(Kt<<2)|0,ke=e[b7>>2]|0,D7=25648+(ke<<2)|0,_t=e[D7>>2]|0,A7=_t+20|0,n9=e[A7>>2]|0,dt=e[Tt>>2]|0,p8=dt+(Kt<<2)|0,It=e[p8>>2]|0,xt=mB[n9&7](t,It,Je,p9,$s)|0,Ir=e[r0>>2]|0,Xs=(Ir|0)>0,Xs)for(ji=0,wr=0;;)if(Un=(n6+4|0)+(wr<<2)|0,eo=e[Un>>2]|0,Pn=(eo|0)==(ki|0),Pn?(to=W1+(wr<<2)|0,io=e[to>>2]|0,On=ji+1|0,ro=Je+(ji<<2)|0,e[ro>>2]=io,pr=On):pr=ji,Wr=wr+1|0,so=(Wr|0)<(Ir|0),so)ji=pr,wr=Wr;else{Br=pr;break}else Br=0;if(oo=e[b7>>2]|0,qn=25648+(oo<<2)|0,Ao=e[qn>>2]|0,Hn=Ao+24|0,Yn=e[Hn>>2]|0,ao=e[Tt>>2]|0,jr=ao+(Kt<<2)|0,Jn=e[jr>>2]|0,DQ[Yn&3](l8,t,Jn,Je,p9,Br,xt,ki)|0,Xr=ki+1|0,Kn=e[n6>>2]|0,$o=(Xr|0)<(Kn|0),$o)ki=Xr;else break}if(lo=ui+1|0,co=_h(t)|0,en=(co|0)!=0,zn=en?14:7,go=(ui|0)<(zn|0),go)ui=lo;else{A=0;break}}return C=ln,A|0}function bS(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,R1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,R5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,R2=0;if(R2=C,S=t+64|0,w=e[S>>2]|0,m1=w+4|0,F1=e[m1>>2]|0,Y1=F1+28|0,K1=e[Y1>>2]|0,y2=w+104|0,M2=e[y2>>2]|0,f5=t+28|0,L5=e[f5>>2]|0,y=K1+(L5<<2)|0,O=e[y>>2]|0,Z=t+36|0,e[Z>>2]=O,l0=F1+4|0,V0=e[l0>>2]|0,T0=V0<<2,c=T0,i1=C,C=C+((1*c|0)+15&-16)|0,u=T0,z0=C,C=C+((1*u|0)+15&-16)|0,E=T0,I1=C,C=C+((1*E|0)+15&-16)|0,I=T0,h1=C,C=C+((1*I|0)+15&-16)|0,d1=e[l0>>2]|0,E1=(d1|0)>0,E1)for(B1=n+4|0,p1=n+1028|0,Q1=M2+48|0,x1=O<<1,R1=x1&2147483646,W2=0;;)if(U1=B1+(W2<<2)|0,Z1=e[U1>>2]|0,N1=p1+(Z1<<2)|0,D1=e[N1>>2]|0,V1=(K1+800|0)+(D1<<2)|0,O1=e[V1>>2]|0,q1=25640+(O1<<2)|0,H1=e[q1>>2]|0,j1=H1+20|0,r2=e[j1>>2]|0,W1=e[Q1>>2]|0,P1=W1+(D1<<2)|0,c2=e[P1>>2]|0,z1=f7[r2&15](t,c2)|0,u2=h1+(W2<<2)|0,e[u2>>2]=z1,s2=I1+(W2<<2)|0,j2=(z1|0)!=0,A=j2&1,e[s2>>2]=A,E2=e[t>>2]|0,o2=E2+(W2<<2)|0,h2=e[o2>>2]|0,Ae(h2|0,0,R1|0)|0,a2=W2+1|0,t2=e[l0>>2]|0,$2=(a2|0)<(t2|0),$2)W2=a2;else{n1=t2;break}else n1=d1;if(w1=n+1156|0,S1=e[w1>>2]|0,L1=(S1|0)>0,L1)for(G1=n+1160|0,k1=n+2184|0,g2=0;e2=G1+(g2<<2)|0,v2=e[e2>>2]|0,w2=I1+(v2<<2)|0,C2=e[w2>>2]|0,F2=(C2|0)==0,D2=k1+(g2<<2)|0,N2=e[D2>>2]|0,F2?(d2=I1+(N2<<2)|0,K2=e[d2>>2]|0,G2=(K2|0)==0,G2||($5=10)):$5=10,($5|0)==10&&($5=0,e[w2>>2]=1,H2=I1+(N2<<2)|0,e[H2>>2]=1),P2=g2+1|0,z2=(P2|0)<(S1|0),z2;)g2=P2;if(i2=e[n>>2]|0,A2=(i2|0)>0,A2){for(X1=n+1092|0,n2=M2+52|0,f2=n+4|0,o5=n1,p5=0;;){if(O2=(o5|0)>0,O2)for(o1=o5,g5=0,u5=0;;)if(T1=f2+(u5<<2)|0,X2=e[T1>>2]|0,R5=(X2|0)==(p5|0),R5?(e5=I1+(u5<<2)|0,b5=e[e5>>2]|0,Z2=z0+(g5<<2)|0,x5=(b5|0)!=0,a=x5&1,e[Z2>>2]=a,v5=e[t>>2]|0,P5=v5+(u5<<2)|0,l5=e[P5>>2]|0,k2=g5+1|0,m5=i1+(g5<<2)|0,e[m5>>2]=l5,B=e[l0>>2]|0,_2=B,a5=k2):(_2=o1,a5=g5),n5=u5+1|0,x2=(n5|0)<(_2|0),x2)o1=_2,g5=a5,u5=n5;else{S5=a5;break}else S5=0;if(B2=X1+(p5<<2)|0,C5=e[B2>>2]|0,d5=(K1+1312|0)+(C5<<2)|0,D5=e[d5>>2]|0,G5=25648+(D5<<2)|0,_5=e[G5>>2]|0,q2=_5+28|0,I5=e[q2>>2]|0,A5=e[n2>>2]|0,c5=A5+(C5<<2)|0,B5=e[c5>>2]|0,mB[I5&7](t,B5,i1,z0,S5)|0,M1=p5+1|0,b=e[n>>2]|0,Q=(M1|0)<(b|0),!Q)break;p=e[l0>>2]|0,o5=p,p5=M1}v=e[w1>>2]|0,_=v}else _=S1;if(L=(_|0)>0,L)for(R=n+1160|0,F=e[t>>2]|0,M=n+2184|0,T=(O|0)/2&-1,N=(O|0)>1,s5=_;;){if(t5=s5+-1|0,e0=R+(t5<<2)|0,q=e[e0>>2]|0,X=F+(q<<2)|0,U=e[X>>2]|0,$0=M+(t5<<2)|0,K=e[$0>>2]|0,a0=F+(K<<2)|0,n0=e[a0>>2]|0,N)for(i5=0;;){i0=U+(i5<<2)|0,r0=+s[i0>>2],V=n0+(i5<<2)|0,h0=+s[V>>2],s0=r0>0,g0=h0>0;do if(s0)if(g0){s[i0>>2]=r0,j=r0-h0,s[V>>2]=j;break}else{s[V>>2]=r0,u0=h0+r0,s[i0>>2]=u0;break}else if(g0){s[i0>>2]=r0,d0=h0+r0,s[V>>2]=d0;break}else{s[V>>2]=r0,w0=r0-h0,s[i0>>2]=w0;break}while(!1);if(C0=i5+1|0,k0=(C0|0)<(T|0),k0)i5=C0;else break}if(G=(s5|0)>1,G)s5=t5;else break}if(z=e[l0>>2]|0,Y=(z|0)>0,!Y)return C=R2,0;for(t0=n+4|0,J=n+1028|0,W=M2+48|0,h5=0;;)if(B0=e[t>>2]|0,p0=B0+(h5<<2)|0,I0=e[p0>>2]|0,S0=t0+(h5<<2)|0,_0=e[S0>>2]|0,Q0=J+(_0<<2)|0,L0=e[Q0>>2]|0,M0=(K1+800|0)+(L0<<2)|0,N0=e[M0>>2]|0,U0=25640+(N0<<2)|0,y0=e[U0>>2]|0,H0=y0+24|0,R0=e[H0>>2]|0,D0=e[W>>2]|0,J0=D0+(L0<<2)|0,Y0=e[J0>>2]|0,P0=h1+(h5<<2)|0,K0=e[P0>>2]|0,IB[R0&3](t,Y0,K0,I0)|0,G0=h5+1|0,O0=e[l0>>2]|0,r1=(G0|0)<(O0|0),r1)h5=G0;else{m=O0;break}if(f0=(m|0)>0,!f0)return C=R2,0;for(J2=0;q0=e[t>>2]|0,e1=q0+(J2<<2)|0,b0=e[e1>>2]|0,c1=e[f5>>2]|0,$1=(M2+12|0)+(c1<<2)|0,u1=e[$1>>2]|0,g1=e[u1>>2]|0,DS(g1,b0,b0),l1=J2+1|0,s1=e[l0>>2]|0,a1=(l1|0)<(s1|0),a1;)J2=l1;return C=R2,0}function cB(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,R1=0,w1=0;if(w1=C,A=(n|0)/4&-1,a=A<<2,y=S9(a)|0,O=A+n|0,Z=O<<2,l0=S9(Z)|0,V0=n>>1,T0=+(n|0),i1=T0,I1=+Kr(+i1),c=I1*1.4426950408889634,u=+Pi(c),E=~~u,I=t+4|0,e[I>>2]=E,e[t>>2]=n,m=t+8|0,e[m>>2]=l0,p=t+12|0,e[p>>2]=y,B=(n|0)>3,!B){z0=4/T0,h1=t+16|0,s[h1>>2]=z0;return}for(v=+(n|0),S=3.141592653589793/v,w=n<<1,b=+(w|0),Q=3.141592653589793/b,B1=0;M=B1<<2,T=+(M|0),N=S*T,G=+zA(+N),z=G,Y=B1<<1,t0=l0+(Y<<2)|0,s[t0>>2]=z,J=+Nn(+N),W=J,e0=-W,q=Y|1,X=l0+(q<<2)|0,s[X>>2]=e0,U=+(q|0),$0=Q*U,K=+zA(+$0),a0=K,n0=Y+V0|0,i0=l0+(n0<<2)|0,s[i0>>2]=a0,r0=+Nn(+$0),V=r0,h0=n0+1|0,s0=l0+(h0<<2)|0,s[s0>>2]=V,g0=B1+1|0,j=(g0|0)<(A|0),j;)B1=g0;if(_=(n|0)/8&-1,L=(n|0)>7,!L){z0=4/T0,h1=t+16|0,s[h1>>2]=z0;return}for(R=+(n|0),F=3.141592653589793/R,p1=0;u0=p1<<2,d0=u0|2,w0=+(d0|0),C0=F*w0,k0=+zA(+C0),f0=k0*.5,B0=f0,p0=p1<<1,I0=p0+n|0,S0=l0+(I0<<2)|0,s[S0>>2]=B0,_0=+Nn(+C0),Q0=_0*-.5,L0=Q0,M0=I0+1|0,N0=l0+(M0<<2)|0,s[N0>>2]=L0,U0=p1+1|0,y0=(U0|0)<(_|0),y0;)p1=U0;if(H0=E+-1|0,R0=1<>2]=z0;return}for(;;){for(K0=Y0,m1=0,x1=0;;)if(P0=K0&Q1,G0=(P0|0)==0,O0=1<>q0,b0=(e1|0)==0,b0){E1=d1;break}else K0=e1,m1=d1,x1=q0;if(c1=E1^-1,$1=D0&c1,u1=$1+-1|0,g1=Q1<<1,l1=y+(g1<<2)|0,e[l1>>2]=u1,s1=g1|1,a1=y+(s1<<2)|0,e[a1>>2]=E1,n1=Q1+1|0,o1=(n1|0)<(_|0),o1)Q1=n1;else break}z0=4/T0,h1=t+16|0,s[h1>>2]=z0}function gB(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0;p=C,n=(t|0)==0,!n&&(A=t+8|0,a=e[A>>2]|0,c=(a|0)==0,c||I2(a),u=t+12|0,E=e[u>>2]|0,I=(E|0)==0,I||I2(E),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0)}function DS(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,R1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,R5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,R2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,k3=0,u3=0,p3=0,z3=0,G3=0,K5=0,w3=0,Z5=0,i6=0,R3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,L3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0;for(q3=C,E=e[t>>2]|0,I=E>>1,W1=E>>2,a=I+-7|0,K2=n+(a<<2)|0,c=I+W1|0,e5=A+(c<<2)|0,_2=t+8|0,c5=e[_2>>2]|0,h5=c5+(W1<<2)|0,c3=h5,U5=K2,v3=e5;E5=v3+-16|0,p3=U5+8|0,m=+s[p3>>2],R=c3+12|0,W=+s[R>>2],r0=m*W,k0=-r0,N0=+s[U5>>2],G0=c3+8|0,l1=+s[G0>>2],B1=l1*N0,U1=k0-B1,s[E5>>2]=U1,P1=+s[U5>>2],$2=+s[R>>2],y2=$2*P1,v2=+s[p3>>2],w2=+s[G0>>2],C2=w2*v2,F2=y2-C2,D2=v3+-12|0,s[D2>>2]=F2,N2=U5+24|0,d2=+s[N2>>2],G2=c3+4|0,H2=+s[G2>>2],M2=d2*H2,P2=-M2,z2=U5+16|0,o5=+s[z2>>2],O2=+s[c3>>2],T1=O2*o5,X2=P2-T1,R5=v3+-8|0,s[R5>>2]=X2,b5=+s[z2>>2],Z2=+s[G2>>2],f5=Z2*b5,v5=+s[N2>>2],P5=+s[c3>>2],l5=P5*v5,k2=f5-l5,m5=v3+-4|0,s[m5>>2]=k2,n5=U5+-32|0,x2=c3+16|0,B2=n5>>>0>>0,!B2;)c3=x2,U5=n5,v3=E5;for(C5=A+(I<<2)|0,u=I+-8|0,L5=n+(u<<2)|0,C3=h5,O5=L5,y3=e5;d5=C3+-16|0,D5=O5+16|0,G5=+s[D5>>2],_5=C3+-4|0,q2=+s[_5>>2],I5=q2*G5,A5=O5+24|0,B5=+s[A5>>2],M1=C3+-8|0,S5=+s[M1>>2],g5=S5*B5,a5=g5+I5,s[y3>>2]=a5,W2=+s[D5>>2],g2=+s[M1>>2],p5=g2*W2,t5=+s[A5>>2],s5=+s[_5>>2],J2=s5*t5,u5=p5-J2,i5=y3+4|0,s[i5>>2]=u5,x5=+s[O5>>2],j2=C3+-12|0,$5=+s[j2>>2],R2=$5*x5,Q5=O5+8|0,q5=+s[Q5>>2],j5=+s[d5>>2],f3=j5*q5,h3=f3+R2,Y5=y3+8|0,s[Y5>>2]=h3,X5=+s[O5>>2],n3=+s[d5>>2],m3=n3*X5,F5=+s[Q5>>2],J5=+s[j2>>2],k3=J5*F5,u3=m3-k3,z3=y3+12|0,s[z3>>2]=u3,G3=O5+-32|0,K5=y3+16|0,w3=G3>>>0>>0,!w3;)C3=d5,O5=G3,y3=K5;for(o6=t+4|0,e3=e[o6>>2]|0,sQ(e3,c5,C5,I),A3=e[t>>2]|0,L3=e[_2>>2]|0,u6=t+12|0,Q3=e[u6>>2]|0,oQ(A3,L3,Q3,A),Z5=e[_2>>2]|0,i6=Z5+(I<<2)|0,H5=i6,k5=A,r6=e5,V5=e5;R3=r6+-16|0,U3=+s[k5>>2],a3=H5+4|0,l3=+s[a3>>2],p=l3*U3,B=k5+4|0,v=+s[B>>2],S=+s[H5>>2],w=S*v,y=p-w,b=r6+-4|0,s[b>>2]=y,Q=+s[k5>>2],_=+s[H5>>2],L=_*Q,F=+s[B>>2],M=+s[a3>>2],T=M*F,N=L+T,G=-N,s[V5>>2]=G,O=k5+8|0,z=+s[O>>2],Y=H5+12|0,t0=+s[Y>>2],J=t0*z,e0=k5+12|0,q=+s[e0>>2],X=H5+8|0,U=+s[X>>2],$0=U*q,Z=J-$0,K=r6+-8|0,s[K>>2]=Z,a0=+s[O>>2],n0=+s[X>>2],i0=n0*a0,V=+s[e0>>2],h0=+s[Y>>2],s0=h0*V,g0=i0+s0,j=-g0,l0=V5+4|0,s[l0>>2]=j,u0=k5+16|0,d0=+s[u0>>2],w0=H5+20|0,C0=+s[w0>>2],f0=C0*d0,B0=k5+20|0,p0=+s[B0>>2],I0=H5+16|0,S0=+s[I0>>2],V0=S0*p0,_0=f0-V0,Q0=r6+-12|0,s[Q0>>2]=_0,L0=+s[u0>>2],M0=+s[I0>>2],U0=M0*L0,y0=+s[B0>>2],H0=+s[w0>>2],R0=H0*y0,D0=U0+R0,T0=-D0,J0=V5+8|0,s[J0>>2]=T0,Y0=k5+24|0,P0=+s[Y0>>2],K0=H5+28|0,O0=+s[K0>>2],r1=O0*P0,q0=k5+28|0,e1=+s[q0>>2],b0=H5+24|0,i1=+s[b0>>2],c1=i1*e1,$1=r1-c1,s[R3>>2]=$1,u1=+s[Y0>>2],g1=+s[b0>>2],s1=g1*u1,a1=+s[q0>>2],n1=+s[K0>>2],o1=n1*a1,z0=s1+o1,I1=-z0,h1=V5+12|0,s[h1>>2]=I1,m1=V5+16|0,d1=k5+32|0,E1=H5+32|0,p1=d1>>>0>>0,p1;)H5=E1,k5=d1,r6=R3,V5=m1;for(Q1=A+(W1<<2)|0,P3=e5,j3=Q1,S3=Q1;;)if(x1=j3+-16|0,R1=P3+-16|0,w1=P3+-4|0,S1=+s[w1>>2],L1=j3+-4|0,s[L1>>2]=S1,F1=-S1,s[S3>>2]=F1,G1=P3+-8|0,k1=+s[G1>>2],Z1=j3+-8|0,s[Z1>>2]=k1,N1=-k1,D1=S3+4|0,s[D1>>2]=N1,V1=P3+-12|0,O1=+s[V1>>2],q1=j3+-12|0,s[q1>>2]=O1,H1=-O1,Y1=S3+8|0,s[Y1>>2]=H1,j1=+s[R1>>2],s[x1>>2]=j1,r2=-j1,c2=S3+12|0,s[c2>>2]=r2,z1=S3+16|0,u2=z1>>>0>>0,u2)P3=R1,j3=x1,S3=z1;else{M5=e5,O3=e5;break}for(;s2=O3+-16|0,E2=M5+12|0,o2=e[E2>>2]|0,e[s2>>2]=o2,K1=M5+8|0,h2=e[K1>>2]|0,a2=O3+-12|0,e[a2>>2]=h2,t2=M5+4|0,i2=e[t2>>2]|0,A2=O3+-8|0,e[A2>>2]=i2,X1=e[M5>>2]|0,n2=O3+-4|0,e[n2>>2]=X1,f2=M5+16|0,e2=s2>>>0>C5>>>0,e2;)M5=f2,O3=s2}function nQ(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,R1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,R5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,R2=0,Q5=0,q5=0;if(q5=C,w=e[t>>2]|0,y=w>>1,r1=w>>2,a1=w>>3,Q1=w<<2,a=Q1,N1=C,C=C+((1*a|0)+15&-16)|0,c2=N1+(y<<2)|0,c=y+r1|0,i2=n+(c<<2)|0,D2=t+8|0,T1=e[D2>>2]|0,b=T1+(y<<2)|0,z=(a1|0)>0,z){for(u=c+1|0,K=n+(u<<2)|0,u0=a1+-1|0,_0=u0>>>1,J0=_0<<1,P0=y+-2|0,K0=P0-J0|0,G0=c+-4|0,O0=_0<<2,q0=G0-O0|0,n5=b,D5=0,h5=i2,x5=K;e1=h5+-16|0,b0=n5+-8|0,i1=h5+-8|0,c1=+s[i1>>2],$1=+s[x5>>2],u1=$1+c1,g1=+s[e1>>2],l1=x5+8|0,s1=+s[l1>>2],n1=s1+g1,o1=n5+-4|0,z0=+s[o1>>2],I1=n1*z0,h1=+s[b0>>2],m1=h1*u1,d1=m1+I1,v=D5+y|0,E1=N1+(v<<2)|0,s[E1>>2]=d1,B1=+s[b0>>2],p1=B1*n1,x1=+s[o1>>2],R1=x1*u1,w1=p1-R1,S1=D5|1,S=S1+y|0,L1=N1+(S<<2)|0,s[L1>>2]=w1,F1=x5+16|0,G1=D5+2|0,k1=(G1|0)<(a1|0),k1;)n5=b0,D5=G1,h5=e1,x5=F1;U1=J0+2|0,g2=T1+(K0<<2)|0,p5=n+(q0<<2)|0,O2=K0,m5=g2,d5=U1,s5=p5}else O2=y,m5=b,d5=0,s5=i2;if(Z1=n+4|0,D1=y-a1|0,V1=(d5|0)<(D1|0),V1){for(O1=y+-1|0,q1=O1-d5|0,H1=q1-a1|0,Y1=H1>>>1,j1=Y1<<1,r2=d5+j1|0,W1=Y1<<2,P1=W1+5|0,z1=-2-j1|0,_2=m5,_5=d5,J2=s5,$5=Z1;u2=_2+-8|0,s2=J2+-16|0,E2=J2+-8|0,o2=+s[E2>>2],K1=+s[$5>>2],h2=o2-K1,a2=+s[s2>>2],t2=$5+8|0,$2=+s[t2>>2],A2=a2-$2,X1=_2+-4|0,n2=+s[X1>>2],f2=A2*n2,e2=+s[u2>>2],y2=e2*h2,v2=y2+f2,m=_5+y|0,w2=N1+(m<<2)|0,s[w2>>2]=v2,C2=+s[u2>>2],F2=C2*A2,N2=+s[X1>>2],d2=N2*h2,K2=F2-d2,G2=_5|1,p=G2+y|0,H2=N1+(p<<2)|0,s[H2>>2]=K2,M2=$5+16|0,P2=_5+2|0,z2=(P2|0)<(D1|0),z2;)_2=u2,_5=P2,J2=s2,$5=M2;o5=r2+2|0,a5=n+(P1<<2)|0,B=O2+z1|0,W2=T1+(B<<2)|0,x2=W2,G5=o5,j2=a5}else x2=m5,G5=d5,j2=Z1;if(X2=(G5|0)<(y|0),X2)for(R5=n+(w<<2)|0,B2=x2,q2=G5,u5=R5,R2=j2;e5=B2+-8|0,b5=u5+-16|0,Z2=u5+-8|0,f5=+s[Z2>>2],v5=-f5,P5=+s[R2>>2],l5=v5-P5,k2=+s[b5>>2],Q=-k2,_=R2+8|0,L=+s[_>>2],R=Q-L,F=B2+-4|0,M=+s[F>>2],T=R*M,N=+s[e5>>2],G=N*l5,O=G+T,E=q2+y|0,Y=N1+(E<<2)|0,s[Y>>2]=O,t0=+s[e5>>2],J=t0*R,W=+s[F>>2],e0=W*l5,q=J-e0,X=q2|1,I=X+y|0,U=N1+(I<<2)|0,s[U>>2]=q,$0=R2+16|0,Z=q2+2|0,a0=(Z|0)<(y|0),a0;)B2=e5,q2=Z,u5=b5,R2=$0;if(A5=t+4|0,c5=e[A5>>2]|0,sQ(c5,T1,c2,y),g5=e[t>>2]|0,B5=e[D2>>2]|0,M1=t+12|0,S5=e[M1>>2]|0,oQ(g5,B5,S5,N1),n0=(r1|0)>0,!n0){C=q5;return}for(i0=A+(y<<2)|0,r0=e[D2>>2]|0,V=r0+(y<<2)|0,h0=t+16|0,C5=V,I5=0,t5=N1,i5=i0;s0=i5+-4|0,g0=+s[t5>>2],j=+s[C5>>2],l0=j*g0,d0=t5+4|0,w0=+s[d0>>2],C0=C5+4|0,k0=+s[C0>>2],f0=k0*w0,B0=f0+l0,p0=+s[h0>>2],I0=B0*p0,S0=A+(I5<<2)|0,s[S0>>2]=I0,V0=+s[t5>>2],Q0=+s[C0>>2],L0=Q0*V0,M0=+s[d0>>2],N0=+s[C5>>2],U0=N0*M0,y0=L0-U0,H0=+s[h0>>2],R0=y0*H0,s[s0>>2]=R0,D0=t5+8|0,T0=C5+8|0,Y0=I5+1|0,L5=(Y0|0)==(r1|0),!L5;)C5=T0,I5=Y0,t5=D0,i5=s0;C=q5}function sQ(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,R1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,R5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,R2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,k3=0,u3=0,p3=0,z3=0,G3=0,K5=0,w3=0,Z5=0,i6=0,R3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,L3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,X3=0,c6=0,p6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,R6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,L6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,M4=0,W4=0,C4=0,T4=0,U9=0,N4=0,a4=0,R4=0,u4=0,Ce=0,q9=0,m9=0,Be=0,Ne=0,Xe=0,G4=0,Ge=0,U4=0,j4=0,be=0,e8=0,Z9=0,ae=0,f4=0,_6=0,P4=0,L9=0,$4=0,_4=0,$e=0,W9=0,le=0,ce=0,B4=0,X4=0,L4=0,ge=0,C9=0,g6=0,Ue=0,l4=0,pe=0,p4=0,c4=0,P6=0,De=0,_e=0,t8=0,g4=0,k4=0,u8=0,J3=0,w9=0,B9=0,F4=0,ee=0,$t=0,xe=0,lt=0,Qt=0,z8=0,ct=0,gt=0,F8=0,M8=0,T8=0,N8=0,Z8=0,W8=0,yt=0,G8=0,U8=0,P8=0,k8=0,v8=0,f8=0,O8=0,q8=0,j8=0,X8=0,d8=0,Pe=0,Re=0,i8=0,S8=0,k9=0,ht=0,Qe=0,ut=0,wt=0,et=0,kt=0,te=0,tt=0,H8=0,b8=0,r8=0,O4=0,Le=0,n8=0,I8=0,D8=0,he=0,j9=0,s8=0,E8=0,o8=0,m8=0,ue=0,ye=0,Oe=0,qe=0,X9=0,Fe=0,fe=0,A8=0,we=0,Q4=0,C8=0,it=0,q4=0,I3=0,He=0,B8=0,ie=0,H9=0,re=0,D9=0,Ye=0,Y8=0,ft=0,rt=0,nt=0,J8=0,st=0,V8=0,a8=0,$8=0,_8=0,H4=0,ot=0,x8=0,Je=0,p9=0,At=0,Ve=0,Mt=0,qt=0,vt=0,at=0,St=0,ne=0,Tt=0,Ht=0,l8=0,R8=0,bt=0,K8=0,Me=0,de=0,e4=0,Dt=0,t7=0,G7=0,U7=0,P7=0,d7=0,Yt=0,I7=0,Jt=0,E7=0,Vt=0,m7=0,i7=0,oi=0,O7=0,C7=0,B7=0,Ai=0,p7=0,r7=0,ai=0,q7=0,H7=0,Y7=0,J7=0,n7=0,Q7=0,V7=0,Kt=0,s7=0,Nt=0,zt=0,$i=0,K7=0,li=0,y7=0,z7=0,w7=0,k7=0,Z7=0,v7=0,Zt=0,S7=0,W7=0,o7=0,Gt=0,b7=0,ke=0,D7=0,_t=0,A7=0,n9=0,dt=0,p8=0,It=0,xt=0,Zr=0,Ir=0;if(Ir=C,d0=t+-6|0,w0=(t|0)>6,w0)for(I=a+-8|0,P5=A+(I<<2)|0,_3=a>>1,B=_3+-8|0,z8=A+(B<<2)|0,c=n,dt=P5,It=z8;l8=dt+24|0,P7=+s[l8>>2],C7=It+24|0,Q7=+s[C7>>2],w7=P7-Q7,C0=dt+28|0,M0=+s[C0>>2],K0=It+28|0,g1=+s[K0>>2],E1=M0-g1,k1=Q7+P7,s[l8>>2]=k1,r2=+s[K0>>2],a2=r2+M0,s[C0>>2]=a2,w2=c+4|0,z2=+s[w2>>2],l5=z2*E1,G5=+s[c>>2],W2=G5*w7,$5=W2+l5,s[C7>>2]=$5,m3=+s[c>>2],i6=m3*E1,P3=+s[w2>>2],j3=P3*w7,B6=i6-j3,s[K0>>2]=B6,H3=dt+16|0,N6=+s[H3>>2],s9=It+16|0,X6=+s[s9>>2],I9=N6-X6,S4=dt+20|0,N4=+s[S4>>2],Ge=It+20|0,$4=+s[Ge>>2],g6=N4-$4,k4=X6+N6,s[H3>>2]=k4,ct=+s[Ge>>2],P8=ct+N4,s[S4>>2]=P8,i8=c+20|0,H8=+s[i8>>2],E8=H8*g6,we=c+16|0,D9=+s[we>>2],_8=D9*I9,at=_8+E8,s[s9>>2]=at,Ht=+s[we>>2],R8=Ht*g6,bt=+s[i8>>2],K8=bt*I9,Me=R8-K8,s[Ge>>2]=Me,de=dt+8|0,e4=+s[de>>2],Dt=It+8|0,t7=+s[Dt>>2],G7=e4-t7,U7=dt+12|0,d7=+s[U7>>2],Yt=It+12|0,I7=+s[Yt>>2],Jt=d7-I7,E7=t7+e4,s[de>>2]=E7,Vt=+s[Yt>>2],m7=Vt+d7,s[U7>>2]=m7,i7=c+36|0,oi=+s[i7>>2],O7=oi*Jt,B7=c+32|0,Ai=+s[B7>>2],p7=Ai*G7,r7=p7+O7,s[Dt>>2]=r7,ai=+s[B7>>2],q7=ai*Jt,H7=+s[i7>>2],Y7=H7*G7,J7=q7-Y7,s[Yt>>2]=J7,n7=+s[dt>>2],V7=+s[It>>2],Kt=n7-V7,s7=dt+4|0,Nt=+s[s7>>2],zt=It+4|0,$i=+s[zt>>2],K7=Nt-$i,li=V7+n7,s[dt>>2]=li,y7=+s[zt>>2],z7=y7+Nt,s[s7>>2]=z7,k7=c+52|0,Z7=+s[k7>>2],v7=Z7*K7,Zt=c+48|0,S7=+s[Zt>>2],W7=S7*Kt,o7=W7+v7,s[It>>2]=o7,Gt=+s[Zt>>2],b7=Gt*K7,ke=+s[k7>>2],k0=ke*Kt,f0=b7-k0,s[zt>>2]=f0,B0=dt+-32|0,p0=It+-32|0,I0=c+64|0,S0=p0>>>0>>0,!S0;)c=I0,dt=B0,It=p0;if(V0=(d0|0)>1,V0)for(_t=1;;){if(_0=1<<_t,Q0=(_t|0)==31,!Q0)for(L0=a>>_t,N0=4<<_t,m=L0+-8|0,U0=L0>>1,v=U0+-8|0,N=N0+1|0,$0=N0<<1,i0=$0|1,h0=N0*3|0,g0=h0+1|0,l0=N0<<2,A7=0;;){for(H0=r5(A7,L0)|0,R0=A+(H0<<2)|0,E=m+H0|0,D0=A+(E<<2)|0,a0=v+H0|0,T0=A+(a0<<2)|0,u=n,p8=D0,xt=T0;J0=p8+24|0,Y0=+s[J0>>2],P0=xt+24|0,G0=+s[P0>>2],O0=Y0-G0,r1=p8+28|0,q0=+s[r1>>2],e1=xt+28|0,b0=+s[e1>>2],i1=q0-b0,c1=G0+Y0,s[J0>>2]=c1,$1=+s[e1>>2],u1=$1+q0,s[r1>>2]=u1,l1=u+4|0,s1=+s[l1>>2],a1=s1*i1,n1=+s[u>>2],o1=n1*O0,z0=o1+a1,s[P0>>2]=z0,I1=+s[u>>2],h1=I1*i1,m1=+s[l1>>2],d1=m1*O0,B1=h1-d1,s[e1>>2]=B1,p1=u+(N0<<2)|0,Q1=p8+16|0,x1=+s[Q1>>2],R1=xt+16|0,w1=+s[R1>>2],S1=x1-w1,L1=p8+20|0,F1=+s[L1>>2],G1=xt+20|0,U1=+s[G1>>2],Z1=F1-U1,N1=w1+x1,s[Q1>>2]=N1,D1=+s[G1>>2],V1=D1+F1,s[L1>>2]=V1,O1=u+(N<<2)|0,q1=+s[O1>>2],H1=q1*Z1,Y1=+s[p1>>2],j1=Y1*S1,W1=j1+H1,s[R1>>2]=W1,P1=+s[p1>>2],c2=P1*Z1,z1=+s[O1>>2],u2=z1*S1,s2=c2-u2,s[G1>>2]=s2,E2=u+($0<<2)|0,o2=p8+8|0,K1=+s[o2>>2],h2=xt+8|0,t2=+s[h2>>2],$2=K1-t2,i2=p8+12|0,A2=+s[i2>>2],X1=xt+12|0,n2=+s[X1>>2],f2=A2-n2,e2=t2+K1,s[o2>>2]=e2,y2=+s[X1>>2],v2=y2+A2,s[i2>>2]=v2,C2=u+(i0<<2)|0,F2=+s[C2>>2],D2=F2*f2,N2=+s[E2>>2],d2=N2*$2,K2=d2+D2,s[h2>>2]=K2,G2=+s[E2>>2],H2=G2*f2,M2=+s[C2>>2],P2=M2*$2,o5=H2-P2,s[X1>>2]=o5,O2=u+(h0<<2)|0,T1=+s[p8>>2],X2=+s[xt>>2],R5=T1-X2,e5=p8+4|0,b5=+s[e5>>2],Z2=xt+4|0,f5=+s[Z2>>2],v5=b5-f5,k2=X2+T1,s[p8>>2]=k2,m5=+s[Z2>>2],n5=m5+b5,s[e5>>2]=n5,x2=u+(g0<<2)|0,_2=+s[x2>>2],B2=_2*v5,C5=+s[O2>>2],L5=C5*R5,d5=L5+B2,s[xt>>2]=d5,D5=+s[O2>>2],_5=D5*v5,q2=+s[x2>>2],I5=q2*R5,A5=_5-I5,s[Z2>>2]=A5,c5=u+(l0<<2)|0,B5=p8+-32|0,M1=xt+-32|0,S5=M1>>>0>>0,!S5;)u=c5,p8=B5,xt=M1;if(g5=A7+1|0,a5=(g5|0)<(_0|0),a5)A7=g5;else break}if(g2=_t+1|0,D7=(g2|0)==(d0|0),D7)break;_t=g2}if(y0=(a|0)>0,y0)n9=0;else return;for(;p5=A+(n9<<2)|0,p=n9|30,t5=A+(p<<2)|0,s5=+s[t5>>2],T=n9|14,h5=A+(T<<2)|0,J2=+s[h5>>2],u5=s5-J2,U=n9|31,i5=A+(U<<2)|0,x5=+s[i5>>2],n0=n9|15,j2=A+(n0<<2)|0,R2=+s[j2>>2],Q5=x5-R2,q5=J2+s5,s[t5>>2]=q5,j5=R2+x5,s[i5>>2]=j5,s[h5>>2]=u5,s[j2>>2]=Q5,r0=n9|28,E5=A+(r0<<2)|0,f3=+s[E5>>2],V=n9|12,h3=A+(V<<2)|0,Y5=+s[h3>>2],X5=f3-Y5,s0=n9|29,n3=A+(s0<<2)|0,F5=+s[n3>>2],j=n9|13,J5=A+(j<<2)|0,k3=+s[J5>>2],u3=F5-k3,p3=Y5+f3,s[E5>>2]=p3,z3=k3+F5,s[n3>>2]=z3,G3=X5*.9238795042037964,K5=u3*.3826834261417389,w3=G3-K5,s[h3>>2]=w3,Z5=X5*.3826834261417389,R3=u3*.9238795042037964,U3=R3+Z5,s[J5>>2]=U3,u0=n9|26,a3=A+(u0<<2)|0,l3=+s[a3>>2],S=n9|10,c3=A+(S<<2)|0,C3=+s[c3>>2],H5=l3-C3,w=n9|27,U5=A+(w<<2)|0,O5=+s[U5>>2],y=n9|11,k5=A+(y<<2)|0,M5=+s[k5>>2],o6=O5-M5,e3=C3+l3,s[a3>>2]=e3,A3=M5+O5,s[U5>>2]=A3,L3=H5-o6,u6=L3*.7071067690849304,s[c3>>2]=u6,Q3=o6+H5,v3=Q3*.7071067690849304,s[k5>>2]=v3,b=n9|24,y3=A+(b<<2)|0,r6=+s[y3>>2],Q=n9|8,O3=A+(Q<<2)|0,V5=+s[O3>>2],S3=r6-V5,_=n9|25,g3=A+(_<<2)|0,q3=+s[g3>>2],L=n9|9,l6=A+(L<<2)|0,d3=+s[l6>>2],k6=q3-d3,v6=V5+r6,s[y3>>2]=v6,S6=d3+q3,s[g3>>2]=S6,X3=S3*.3826834261417389,c6=k6*.9238795042037964,p6=X3-c6,x6=k6*.3826834261417389,Y6=S3*.9238795042037964,C6=x6+Y6,R=n9|22,b3=A+(R<<2)|0,e6=+s[b3>>2],F=n9|6,t6=A+(F<<2)|0,f6=+s[t6>>2],D3=e6-f6,M=n9|7,Y3=A+(M<<2)|0,Z3=+s[Y3>>2],G=n9|23,b6=A+(G<<2)|0,A6=+s[b6>>2],t3=Z3-A6,O6=f6+e6,s[b3>>2]=O6,s3=A6+Z3,s[b6>>2]=s3,s[t6>>2]=t3,s[Y3>>2]=D3,O=n9|4,a6=A+(O<<2)|0,d6=+s[a6>>2],z=n9|20,n6=A+(z<<2)|0,Q6=+s[n6>>2],R6=d6-Q6,Y=n9|5,K6=A+(Y<<2)|0,I6=+s[K6>>2],t0=n9|21,J6=A+(t0<<2)|0,F3=+s[J6>>2],j6=I6-F3,G6=Q6+d6,s[n6>>2]=G6,e9=F3+I6,s[J6>>2]=e9,L6=j6*.9238795042037964,U6=R6*.3826834261417389,D6=L6+U6,z6=j6*.3826834261417389,y6=R6*.9238795042037964,F6=z6-y6,J=n9|2,M3=A+(J<<2)|0,M6=+s[M3>>2],W=n9|18,t9=A+(W<<2)|0,A9=+s[t9>>2],u9=M6-A9,e0=n9|3,f9=A+(e0<<2)|0,d9=+s[f9>>2],q=n9|19,a9=A+(q<<2)|0,$9=+s[a9>>2],T9=d9-$9,E6=A9+M6,s[t9>>2]=E6,T6=$9+d9,s[a9>>2]=T6,i9=T9+u9,N9=i9*.7071067690849304,E4=T9-u9,o4=E4*.7071067690849304,h4=+s[p5>>2],X=n9|16,G9=A+(X<<2)|0,z9=+s[G9>>2],b9=h4-z9,Z=n9|1,E9=A+(Z<<2)|0,q6=+s[E9>>2],K=n9|17,r9=A+(K<<2)|0,m4=+s[r9>>2],A4=q6-m4,y9=z9+h4,s[G9>>2]=y9,b4=m4+q6,s[r9>>2]=b4,D4=A4*.3826834261417389,x4=b9*.9238795042037964,M4=D4+x4,W4=A4*.9238795042037964,C4=b9*.3826834261417389,T4=W4-C4,U9=T4-C6,a4=M4-p6,R4=M4+p6,u4=T4+C6,Ce=a4+U9,q9=U9-a4,m9=+s[k5>>2],Be=o4-m9,Ne=+s[c3>>2],Xe=Ne-N9,G4=Ne+N9,U4=m9+o4,j4=+s[h3>>2],be=j4-D6,e8=+s[J5>>2],Z9=e8-F6,ae=j4+D6,f4=e8+F6,_6=be-Z9,P4=Z9+be,L9=+s[h5>>2],_4=L9-t3,$e=+s[j2>>2],W9=$e-D3,le=t3+L9,ce=D3+$e,B4=_4+Be,X4=_4-Be,L4=_6+Ce,ge=L4*.7071067690849304,C9=_6-Ce,Ue=C9*.7071067690849304,l4=ge+B4,s[t6>>2]=l4,pe=B4-ge,s[a6>>2]=pe,p4=P4-q9,c4=p4*.7071067690849304,P6=W9-Xe,De=c4+X4,s[p5>>2]=De,_e=X4-c4,s[M3>>2]=_e,t8=P4+q9,g4=t8*.7071067690849304,u8=W9+Xe,J3=P6+Ue,s[f9>>2]=J3,w9=P6-Ue,s[E9>>2]=w9,B9=u8+g4,s[Y3>>2]=B9,F4=u8-g4,s[K6>>2]=F4,ee=le+G4,$t=le-G4,xe=R4+ae,lt=ae-R4,Qt=ee+xe,s[h5>>2]=Qt,gt=ee-xe,s[h3>>2]=gt,F8=f4-u4,M8=ce-U4,T8=$t+F8,s[O3>>2]=T8,N8=$t-F8,s[c3>>2]=N8,Z8=f4+u4,W8=ce+U4,yt=M8+lt,s[k5>>2]=yt,G8=M8-lt,s[l6>>2]=G8,U8=W8+Z8,s[j2>>2]=U8,k8=W8-Z8,s[J5>>2]=k8,v8=+s[g3>>2],f8=b4-v8,O8=+s[y3>>2],q8=y9-O8,j8=O8+y9,X8=v8+b4,d8=q8+f8,Pe=f8-q8,Re=+s[a9>>2],S8=+s[U5>>2],k9=Re-S8,ht=+s[a3>>2],Qe=+s[t9>>2],ut=ht-Qe,wt=Qe+ht,et=S8+Re,kt=+s[E5>>2],te=+s[n6>>2],tt=kt-te,b8=+s[n3>>2],r8=+s[J6>>2],O4=b8-r8,Le=te+kt,n8=r8+b8,I8=tt-O4,D8=O4+tt,he=+s[t5>>2],j9=+s[b3>>2],s8=he-j9,o8=+s[i5>>2],m8=+s[b6>>2],ue=o8-m8,ye=j9+he,Oe=m8+o8,qe=s8+k9,X9=s8-k9,Fe=I8+d8,fe=Fe*.7071067690849304,A8=I8-d8,Q4=A8*.7071067690849304,C8=fe+qe,s[b3>>2]=C8,it=qe-fe,s[n6>>2]=it,q4=D8-Pe,I3=q4*.7071067690849304,He=ue-ut,B8=I3+X9,s[G9>>2]=B8,ie=X9-I3,s[t9>>2]=ie,H9=D8+Pe,re=H9*.7071067690849304,Ye=ue+ut,Y8=He+Q4,s[a9>>2]=Y8,ft=He-Q4,s[r9>>2]=ft,rt=Ye+re,s[b6>>2]=rt,nt=Ye-re,s[J6>>2]=nt,J8=ye+wt,st=ye-wt,V8=Le+j8,a8=Le-j8,$8=J8+V8,s[t5>>2]=$8,H4=J8-V8,s[E5>>2]=H4,ot=n8-X8,x8=Oe-et,Je=st+ot,s[y3>>2]=Je,p9=st-ot,s[a3>>2]=p9,At=n8+X8,Ve=Oe+et,Mt=x8+a8,s[U5>>2]=Mt,qt=x8-a8,s[g3>>2]=qt,vt=Ve+At,s[i5>>2]=vt,St=Ve-At,s[n3>>2]=St,ne=n9+32|0,Tt=(ne|0)<(a|0),Tt;)n9=ne}function oQ(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0;for(m1=C,S=t>>1,w=a+(S<<2)|0,G=n+(t<<2)|0,n1=G,o1=A,z0=a,I1=w;$0=e[o1>>2]|0,c=$0+S|0,j=a+(c<<2)|0,S0=o1+4|0,D0=e[S0>>2]|0,u=D0+S|0,b0=a+(u<<2)|0,E=c+1|0,s1=a+(E<<2)|0,a1=+s[s1>>2],I=u+1|0,y=a+(I<<2)|0,b=+s[y>>2],Q=a1-b,_=+s[j>>2],L=+s[b0>>2],R=L+_,F=+s[n1>>2],M=R*F,T=n1+4|0,N=+s[T>>2],O=N*Q,z=O+M,Y=N*R,t0=F*Q,J=Y-t0,W=I1+-16|0,e0=b+a1,q=e0*.5,X=_-L,U=X*.5,Z=z+q,s[z0>>2]=Z,K=q-z,a0=I1+-8|0,s[a0>>2]=K,n0=J+U,i0=z0+4|0,s[i0>>2]=n0,r0=J-U,V=I1+-4|0,s[V>>2]=r0,h0=o1+8|0,s0=e[h0>>2]|0,m=s0+S|0,g0=a+(m<<2)|0,l0=o1+12|0,u0=e[l0>>2]|0,p=u0+S|0,d0=a+(p<<2)|0,B=m+1|0,w0=a+(B<<2)|0,C0=+s[w0>>2],v=p+1|0,k0=a+(v<<2)|0,f0=+s[k0>>2],B0=C0-f0,p0=+s[g0>>2],I0=+s[d0>>2],V0=I0+p0,_0=n1+8|0,Q0=+s[_0>>2],L0=V0*Q0,M0=n1+12|0,N0=+s[M0>>2],U0=N0*B0,y0=U0+L0,H0=N0*V0,R0=Q0*B0,T0=H0-R0,J0=f0+C0,Y0=J0*.5,P0=p0-I0,K0=P0*.5,G0=y0+Y0,O0=z0+8|0,s[O0>>2]=G0,r1=Y0-y0,s[W>>2]=r1,q0=T0+K0,e1=z0+12|0,s[e1>>2]=q0,i1=T0-K0,c1=I1+-12|0,s[c1>>2]=i1,$1=n1+16|0,u1=o1+16|0,g1=z0+16|0,l1=g1>>>0>>0,l1;)n1=$1,o1=u1,z0=g1,I1=W}function _S(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0;return B=C,n=t+28|0,A=e[n>>2]|0,a=A+2868|0,c=n4(1,36)|0,u=t+4|0,E=e[u>>2]|0,I=c+4|0,e[I>>2]=E,s[c>>2]=-9999,m=c+8|0,e[m>>2]=a,c|0}function xS(t){t=t|0;var n=0,A=0,a=0;a=C,n=(t|0)==0,!n&&I2(t)}function RS(t){t=t|0;var n=0,A=0,a=0;a=C,n=(t|0)==0,n||I2(t)}function LS(t,n,A,a,c){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0;var u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,R1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,R5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,R2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,k3=0,u3=0,p3=0,z3=0,G3=0,K5=0,w3=0,Z5=0,i6=0,R3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,L3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,X3=0,c6=0,p6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,R6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,L6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0;i9=C,E6=t,N9=E6+48|0;do e[E6>>2]=0,E6=E6+4|0;while((E6|0)<(N9|0));_=e[A>>2]|0,L=t+36|0,e[L>>2]=_,t2=+(_|0),j5=t2*8,u3=j5,l3=+Kr(+u3),A3=l3*1.4426950408889634,g3=+Pi(A3),x6=g3+-1,b6=~~x6,R=t+32|0,e[R>>2]=b6,W=+(c|0),r0=W*.25,k0=r0,N0=k0*.5,G0=+(a|0),l1=N0/G0,B1=+Kr(+l1),U1=B1*1.4426950216293335,W1=U1+-5.965784072875977,$2=b6+1|0,F2=1<<$2,O2=+(F2|0),k2=O2*W1,_5=+(_|0),g2=k2-_5,$5=~~g2,R2=t+28|0,e[R2>>2]=$5,Q5=+(a|0),q5=Q5+.25,E5=q5*W,f3=E5,h3=f3*.5,Y5=h3/G0,X5=+Kr(+Y5),n3=X5*1.4426950216293335,m3=n3+-5.965784072875977,F5=O2*m3,J5=F5+.5,k3=~~J5,p3=1-$5|0,z3=p3+k3|0,G3=t+40|0,e[G3>>2]=z3,K5=a<<2,w3=S9(K5)|0,Z5=t+16|0,e[Z5>>2]=w3,i6=S9(K5)|0,R3=t+20|0,e[R3>>2]=i6,U3=S9(K5)|0,a3=t+24|0,e[a3>>2]=U3,c3=t+4|0,e[c3>>2]=n,e[t>>2]=a,C3=t+44|0,e[C3>>2]=c,H5=t+48|0,s[H5>>2]=1,U5=(c|0)<26e3;do if(U5)s[H5>>2]=0;else{if(O5=(c|0)<38e3,O5){s[H5>>2]=.9399999976158142;break}k5=(c|0)>46e3,k5&&(s[H5>>2]=1.274999976158142)}while(!1);P3=G0*2,M5=+(c|0),o6=(a|0)>0,Q3=o6,z6=0,X6=0;e:for(;;){for(p=Q3^1,y6=z6;;){if(y3=y6+1|0,r6=+(y3|0),j3=r6*.08664337545633316,O3=j3+2.7488713472395148,V5=+Gn(+O3),S3=P3*V5,q3=S3/M5,l6=+Pi(q3),d3=~~l6,m=(d3|0)<=(X6|0),K6=m|p,!K6){E=y3,I=d3,F6=y6;break}if(k6=(y3|0)<87,k6)y6=y3;else{A9=X6;break e}}for(v6=1272+(F6<<2)|0,S6=+s[v6>>2],B6=1272+(E<<2)|0,X3=+s[B6>>2],c6=X3-S6,p6=I-X6|0,Y6=+(p6|0),C6=c6/Y6,b3=X6-I|0,e6=X6-a|0,t6=b3>>>0>e6>>>0,T9=t6?b3:e6,e3=X6-T9|0,R6=S6,u9=X6;f6=R6+100,H3=w3+(u9<<2)|0,s[H3>>2]=f6,D3=R6+C6,Y3=u9+1|0,G6=(Y3|0)==(e3|0),!G6;)R6=D3,u9=Y3;if(L3=(e3|0)<(a|0),u6=(E|0)<87,u6)Q3=L3,z6=E,X6=e3;else{A9=e3;break}}if(v3=(A9|0)<(a|0),v3)for(f9=A9;N6=f9+-1|0,n6=w3+(N6<<2)|0,Q6=e[n6>>2]|0,F=w3+(f9<<2)|0,e[F>>2]=Q6,M=f9+1|0,j6=(M|0)==(a|0),!j6;)f9=M;if(Z3=(a|0)>0,Z3){for(A6=a<<1,t3=(c|0)/(A6|0)&-1,O6=n+120|0,s3=e[O6>>2]|0,a6=n+124|0,d6=n+116|0,_3=n+112|0,L6=1,M3=0,d9=-99;;){Y=r5(t3,M3)|0,t0=+(Y|0),J=t0*.0007399999885819852,e0=J,q=+Vs(+e0),X=q*13.100000381469727,U=r5(Y,Y)|0,$0=+(U|0),Z=$0*18499999754340024e-24,K=Z,a0=+Vs(+K),n0=a0*2.240000009536743,i0=n0+X,V=t0*9999999747378752e-20,h0=V,s0=i0+h0,g0=s0,j=s3+d9|0,l0=(j|0)<(M3|0);e:do if(l0)for(u0=+s[_3>>2],d0=g0-u0,w0=d0,$9=d9;;){if(C0=r5($9,t3)|0,f0=+(C0|0),B0=f0*.0007399999885819852,p0=B0,I0=+Vs(+p0),S0=I0*13.100000381469727,V0=r5(C0,C0)|0,_0=+(V0|0),Q0=_0*18499999754340024e-24,L0=Q0,M0=+Vs(+L0),U0=M0*2.240000009536743,y0=f0*9999999747378752e-20,H0=y0,R0=S0+H0,D0=R0+U0,T0=D0(a|0);e:do if(J0)U6=L6;else for(Y0=e[a6>>2]|0,P0=Y0+M3|0,D6=L6;;){if(q0=(D6|0)<(P0|0),!q0&&(e1=r5(D6,t3)|0,b0=+(e1|0),i1=b0*.0007399999885819852,c1=i1,$1=+Vs(+c1),u1=$1*13.100000381469727,g1=r5(e1,e1)|0,s1=+(g1|0),a1=s1*18499999754340024e-24,n1=a1,o1=+Vs(+n1),z0=o1*2.240000009536743,I1=b0*9999999747378752e-20,h1=I1,m1=u1+h1,d1=m1+z0,E1=+s[d6>>2],p1=E1+g0,Q1=p1,x1=d1>2]=F1,k1=M3+1|0,F3=(k1|0)==(a|0),F3)break;L6=U6,M3=k1,d9=a9}if(Z3)for(T=M5*.5,N=e[R>>2]|0,G=N+1|0,O=1<>2]=P1,z1=M6+1|0,J6=(z1|0)==(a|0),J6){w=T;break}else M6=z1;else T6=19}else T6=19;if((T6|0)==19&&(Q=M5*.5,w=Q),u2=n+36|0,s2=w/G0,E2=s2,o2=n+24|0,K1=+s[o2>>2],h2=n+28|0,a2=+s[h2>>2],i2=TS(u2,E2,a,K1,a2)|0,A2=t+8|0,e[A2>>2]=i2,X1=S9(12)|0,n2=t+12|0,e[n2>>2]=X1,f2=S9(K5)|0,e[X1>>2]=f2,e2=S9(K5)|0,y2=X1+4|0,e[y2>>2]=e2,v2=S9(K5)|0,w2=X1+8|0,e[w2>>2]=v2,!!Z3)for(C2=e[c3>>2]|0,S=e[X1>>2]|0,B=X1+4|0,y=e[B>>2]|0,v=X1+8|0,b=e[v>>2]|0,t9=0;D2=+(t9|0),N2=D2+.5,d2=N2*M5,K2=d2/P3,G2=+Kr(+K2),H2=G2*2.885390043258667,M2=H2+-11.931568145751953,P2=M2,z2=P2<0,e9=z2?0:P2,u=e9>=16,s9=u?16:e9,o5=~~s9,T1=+(o5|0),X2=s9-T1,R5=X2,e5=1-R5,b5=o5+1|0,Z2=(C2+132|0)+(o5<<2)|0,f5=+s[Z2>>2],v5=f5,P5=v5*e5,l5=(C2+132|0)+(b5<<2)|0,m5=+s[l5>>2],n5=m5*X2,x2=n5,_2=x2+P5,B2=_2,C5=S+(t9<<2)|0,s[C5>>2]=B2,L5=(C2+200|0)+(o5<<2)|0,d5=+s[L5>>2],D5=d5,G5=D5*e5,q2=(C2+200|0)+(b5<<2)|0,I5=+s[q2>>2],A5=I5*X2,c5=A5,B5=c5+G5,M1=B5,S5=y+(t9<<2)|0,s[S5>>2]=M1,g5=(C2+268|0)+(o5<<2)|0,a5=+s[g5>>2],W2=a5,p5=W2*e5,t5=(C2+268|0)+(b5<<2)|0,s5=+s[t5>>2],h5=s5*X2,J2=h5,u5=J2+p5,i5=u5,x5=b+(t9<<2)|0,s[x5>>2]=i5,j2=t9+1|0,I6=(j2|0)==(a|0),!I6;)t9=j2}function AQ(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0;if(G0=C,A=(t|0)==0,!A){if(a=t+16|0,y=e[a>>2]|0,O=(y|0)==0,O||I2(y),Z=t+20|0,l0=e[Z>>2]|0,V0=(l0|0)==0,V0||I2(l0),R0=t+24|0,D0=e[R0>>2]|0,T0=(D0|0)==0,T0||I2(D0),c=t+8|0,u=e[c>>2]|0,E=(u|0)==0,!E){for(m=u,Y0=0;I=m+(Y0<<2)|0,p=e[I>>2]|0,B=e[p>>2]|0,I2(B),v=e[c>>2]|0,S=v+(Y0<<2)|0,w=e[S>>2]|0,b=w+4|0,Q=e[b>>2]|0,I2(Q),_=e[c>>2]|0,L=_+(Y0<<2)|0,R=e[L>>2]|0,F=R+8|0,M=e[F>>2]|0,I2(M),T=e[c>>2]|0,N=T+(Y0<<2)|0,G=e[N>>2]|0,z=G+12|0,Y=e[z>>2]|0,I2(Y),t0=e[c>>2]|0,J=t0+(Y0<<2)|0,W=e[J>>2]|0,e0=W+16|0,q=e[e0>>2]|0,I2(q),X=e[c>>2]|0,U=X+(Y0<<2)|0,$0=e[U>>2]|0,K=$0+20|0,a0=e[K>>2]|0,I2(a0),n0=e[c>>2]|0,i0=n0+(Y0<<2)|0,r0=e[i0>>2]|0,V=r0+24|0,h0=e[V>>2]|0,I2(h0),s0=e[c>>2]|0,g0=s0+(Y0<<2)|0,j=e[g0>>2]|0,u0=j+28|0,d0=e[u0>>2]|0,I2(d0),w0=e[c>>2]|0,C0=w0+(Y0<<2)|0,k0=e[C0>>2]|0,I2(k0),f0=Y0+1|0,J0=(f0|0)==17,!J0;)n=e[c>>2]|0,m=n,Y0=f0;B0=e[c>>2]|0,I2(B0)}p0=t+12|0,I0=e[p0>>2]|0,S0=(I0|0)==0,S0||(_0=e[I0>>2]|0,I2(_0),Q0=e[p0>>2]|0,L0=Q0+4|0,M0=e[L0>>2]|0,I2(M0),N0=e[p0>>2]|0,U0=N0+8|0,y0=e[U0>>2]|0,I2(y0),H0=e[p0>>2]|0,I2(H0)),P0=t,O0=P0+52|0;do e[P0>>2]=0,P0=P0+4|0;while((P0|0)<(O0|0))}}function aQ(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0;if(C0=C,E=e[t>>2]|0,I=E<<2,u=I,L=C,C=C+((1*u|0)+15&-16)|0,J=t+24|0,a0=e[J>>2]|0,lQ(E,a0,n,A,140,-1),n0=(E|0)>0,n0)for(l0=0;i0=n+(l0<<2)|0,r0=+s[i0>>2],V=A+(l0<<2)|0,h0=+s[V>>2],m=r0-h0,p=L+(l0<<2)|0,s[p>>2]=m,B=l0+1|0,g0=(B|0)==(E|0),!g0;)l0=B;if(v=e[J>>2]|0,S=t+4|0,w=e[S>>2]|0,y=w+128|0,b=e[y>>2]|0,lQ(E,v,L,A,0,b),n0)u0=0;else{C=C0;return}for(;_=n+(u0<<2)|0,R=+s[_>>2],F=L+(u0<<2)|0,M=+s[F>>2],T=R-M,s[F>>2]=T,N=u0+1|0,j=(N|0)==(E|0),!j;)u0=N;if(!n0){C=C0;return}for(Q=e[S>>2]|0,d0=0;G=A+(d0<<2)|0,O=+s[G>>2],z=O,Y=z+.5,t0=~~Y,W=(t0|0)>39,a=W?39:t0,e0=(a|0)<0,c=e0?0:a,q=L+(d0<<2)|0,X=+s[q>>2],U=(Q+336|0)+(c<<2)|0,$0=+s[U>>2],Z=$0+X,s[G>>2]=Z,K=d0+1|0,s0=(K|0)==(E|0),!s0;)d0=K;C=C0}function $Q(t,n,A,a,c){t=t|0,n=n|0,A=A|0,a=+a,c=+c;var u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,R1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,R5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,R2=0,Q5=0,q5=0,j5=0,E5=0;if(E5=C,M=e[t>>2]|0,T=t+40|0,l1=e[T>>2]|0,B1=l1<<2,I=B1,U1=C,C=C+((1*I|0)+15&-16)|0,W1=t+4|0,t2=e[W1>>2]|0,C2=t2+4|0,o5=+s[C2>>2],l5=o5+c,N=(l1|0)>0,N)for(A5=0;U=U1+(A5<<2)|0,s[U>>2]=-9999,g0=A5+1|0,I0=(g0|0)<(l1|0),I0;)A5=g0;if(R0=t2+8|0,e1=+s[R0>>2],c1=l50,$1){for(u1=t+16|0,g1=e[u1>>2]|0,g5=0;s1=g1+(g5<<2)|0,a1=+s[s1>>2],n1=a1+G5,o1=A+(g5<<2)|0,s[o1>>2]=n1,z0=g5+1|0,q2=(z0|0)==(M|0),!q2;)g5=z0;if(I1=t+8|0,h1=e[I1>>2]|0,m1=t2+496|0,d1=+s[m1>>2],E1=d1-a,$1)for(p1=t+20|0,Q1=e[p1>>2]|0,x1=t+32|0,R1=t+36|0,w1=t+28|0,c5=0;;){S1=n+(c5<<2)|0,L1=+s[S1>>2],F1=Q1+(c5<<2)|0,G1=e[F1>>2]|0,S5=c5,s5=L1;e:for(;;)for(B5=S5;;){if(k1=B5+1|0,Z1=(k1|0)<(M|0),!Z1){v=0,w=k1,M1=B5,h5=s5;break e}if(N1=Q1+(k1<<2)|0,D1=e[N1>>2]|0,V1=(D1|0)==(G1|0),!V1){v=1,w=k1,M1=B5,h5=s5;break e}if(O1=n+(k1<<2)|0,q1=+s[O1>>2],H1=q1>s5,H1){S5=k1,s5=q1;continue e}else B5=k1}if(Y1=h5+6,j1=A+(M1<<2)|0,r2=+s[j1>>2],P1=Y1>r2,P1&&(c2=e[x1>>2]|0,z1=G1>>c2,u2=(z1|0)>16,E=u2?16:z1,s2=(E|0)<0,u=s2?0:E,E2=h1+(u<<2)|0,o2=e[E2>>2]|0,K1=e[R1>>2]|0,h2=E1+h5,a2=h2,$2=a2+-30,i2=$2*.10000000149011612,A2=~~i2,X1=(A2|0)<0,n2=X1?0:A2,f2=(n2|0)>7,e2=f2?7:n2,y2=o2+(e2<<2)|0,v2=e[y2>>2]|0,w2=v2+4|0,F2=+s[w2>>2],D2=~~F2,N2=+s[v2>>2],d2=~~N2,K2=(d2|0)<(D2|0),K2))for(G2=Q1+(M1<<2)|0,H2=e[G2>>2]|0,M2=e[w1>>2]|0,P2=H2-M2|0,z2=+(P2|0),O2=K1>>1,T1=+(O2|0),X2=N2+-16,R5=+(K1|0),e5=X2*R5,b5=e5-T1,Z2=b5+z2,f5=~~Z2,I5=d2,q5=f5;v5=(q5|0)>0,v5&&(F=I5+2|0,P5=v2+(F<<2)|0,k2=+s[P5>>2],m5=k2+h5,n5=U1+(q5<<2)|0,x2=+s[n5>>2],_2=x2>2]=m5)),B2=q5+K1|0,C5=(B2|0)<(l1|0),L5=I5+1|0,d5=(L5|0)<(D2|0),$5=d5&C5,$5;)I5=L5,q5=B2;if(v)c5=w;else{L=R1;break}}else j5=7}else j5=7;(j5|0)==7&&(Q=t+36|0,L=Q),D5=e[L>>2]|0,NS(U1,D5,l1),G=e[t>>2]|0,O=(G|0)>1;e:do if(O)for(z=t+20|0,Y=t+28|0,t0=e[z>>2]|0,J=e[t0>>2]|0,W=D5>>1,e0=J-W|0,q=e[Y>>2]|0,X=e0-q|0,$0=e[W1>>2]|0,Z=$0+32|0,V=1,j=J,W2=0,R2=X;;){n0=U1+(R2<<2)|0,i0=+s[n0>>2],r0=t0+(V<<2)|0,h0=e[r0>>2]|0,s0=h0+j|0,l0=s0>>1,u0=l0-q|0,d0=+s[Z>>2],w0=i0>d0,J2=w0?d0:i0,C0=(R2|0)<(u0|0);t:do if(C0)for(m=R2,i5=J2;;){for(k0=i5==-9999,p=m;;){if(f0=p+1|0,B0=U1+(f0<<2)|0,p0=+s[B0>>2],S0=p0>-9999,S0){if(V0=p0=(G|0),N0=(j|0)>(L0|0),x5=M0|N0;t:do if(x5)g2=W2;else for(p5=W2;;){if(U0=A+(p5<<2)|0,y0=+s[U0>>2],H0=y0>2]=u5),D0=p5+1|0,T0=(D0|0)<(G|0),!T0){g2=D0;break t}if(b=t0+(D0<<2)|0,R=e[b>>2]|0,J0=(R|0)>(L0|0),J0){g2=D0;break}else p5=D0}while(!1);if(K=g2+1|0,a0=(K|0)<(G|0),!a0){a5=g2;break e}y=t0+(g2<<2)|0,_=e[y>>2]|0,V=K,j=_,W2=g2,R2=Q5}else a5=0;while(!1);if(Y0=e[T>>2]|0,P0=Y0+-1|0,K0=U1+(P0<<2)|0,G0=+s[K0>>2],O0=(a5|0)<(G|0),O0)t5=a5;else{C=E5;return}for(;r1=A+(t5<<2)|0,q0=+s[r1>>2],b0=q0>2]=G0),i1=t5+1|0,_5=(i1|0)==(G|0),!_5;)t5=i1;C=E5}function z$(t,n,A,a,c,u,E){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0,u=u|0,E=E|0;var I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0;if(_0=C,m=e[t>>2]|0,p=t+4|0,F=e[p>>2]|0,e0=(F+12|0)+(a<<2)|0,V=+s[e0>>2],d0=(m|0)>0,!!d0)for(w0=t+48|0,C0=+s[w0>>2],k0=t+12|0,f0=e[k0>>2]|0,B=f0+(a<<2)|0,v=e[B>>2]|0,S=F+108|0,w=(a|0)==1,y=C0,b=y*.005,Q=y*3e-4,I0=0;_=n+(I0<<2)|0,L=+s[_>>2],R=v+(I0<<2)|0,M=+s[R>>2],T=M+L,N=+s[S>>2],G=T>N,S0=G?N:T,O=A+(I0<<2)|0,z=+s[O>>2],Y=z+V,t0=S0>2]=I,w&&(W=E+(I0<<2)|0,q=+s[W>>2],X=S0-q,U=X>-17.200000762939453,$0=X+17.200000762939453,Z=$0,U?(K=b*Z,a0=1-K,n0=a0,i0=n0<0,i0?B0=9999999747378752e-20:B0=n0):(r0=Q*Z,h0=1-r0,s0=h0,B0=s0),g0=u+(I0<<2)|0,j=+s[g0>>2],l0=j*B0,s[g0>>2]=l0),u0=I0+1|0,p0=(u0|0)==(m|0),!p0;)I0=u0}function FS(t,n){t=+t,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0;return N=C,a=n+4|0,c=e[a>>2]|0,y=c+28|0,b=e[y>>2]|0,Q=n+40|0,_=e[Q>>2]|0,L=b+(_<<2)|0,R=e[L>>2]|0,F=(R|0)/2&-1,M=+(F|0),u=c+8|0,E=e[u>>2]|0,I=+(E|0),m=M/I,p=b+2936|0,B=+s[p>>2],v=B*m,S=v+t,w=S<-9999,A=w?-9999:S,+A}function MS(t,n,A,a,c,u,E,I,m){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0,u=u|0,E=E|0,I=I|0,m=m|0;var p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,R1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,R5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,R2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,k3=0,u3=0,p3=0,z3=0,G3=0,K5=0,w3=0,Z5=0,i6=0,R3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,L3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,X3=0,c6=0,p6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,R6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,L6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,M4=0,W4=0,C4=0,T4=0,U9=0,N4=0;if(N4=C,n0=e[A>>2]|0,i0=A+4|0,o5=e[i0>>2]|0,z3=o5+500|0,C3=e[z3>>2]|0,u6=(C3|0)==0,u6?J5=16:(l6=o5+508|0,C6=e[l6>>2]|0,J5=C6),t3=e[o5>>2]|0,I6=((n+132|0)+(t3*60|0)|0)+(t<<2)|0,r0=e[I6>>2]|0,k0=(n+252|0)+(t<<2)|0,N0=e[k0>>2]|0,G0=1624+(N0<<3)|0,l1=+A1[G0>>3],B1=(n+312|0)+(t<<2)|0,U1=e[B1>>2]|0,W1=m<<2,v=W1,t2=C,C=C+((1*v|0)+15&-16)|0,S=W1,C2=C,C=C+((1*S|0)+15&-16)|0,Q=W1,O2=C,C=C+((1*Q|0)+15&-16)|0,_=W1,k2=C,C=C+((1*_|0)+15&-16)|0,L=W1,_5=C,C=C+((1*L|0)+15&-16)|0,g2=a+1156|0,R2=(n0|0)>1e3,T4=R2?1696:1624,M4=T4+(U1<<3)|0,x4=+A1[M4>>3],F5=r5(W1,J5)|0,R=F5,k3=C,C=C+((1*R|0)+15&-16)|0,e[t2>>2]=k3,w=F5,u3=C,C=C+((1*w|0)+15&-16)|0,e[C2>>2]=u3,y=F5,p3=C,C=C+((1*y|0)+15&-16)|0,e[O2>>2]=p3,b=F5,G3=C,C=C+((1*b|0)+15&-16)|0,e[k2>>2]=G3,K5=(m|0)>1,K5&&(w3=k3+(J5<<2)|0,Z5=t2+4|0,e[Z5>>2]=w3,i6=u3+(J5<<2)|0,R3=C2+4|0,e[R3>>2]=i6,U3=p3+(J5<<2)|0,a3=O2+4|0,e[a3>>2]=U3,l3=G3+(J5<<2)|0,c3=k2+4|0,e[c3>>2]=l3,u9=(m|0)==2,!u9))for(k5=2;M=e[t2>>2]|0,G=e[C2>>2]|0,O=e[O2>>2]|0,z=e[k2>>2]|0,O5=r5(k5,J5)|0,P3=M+(O5<<2)|0,M5=t2+(k5<<2)|0,e[M5>>2]=P3,o6=G+(O5<<2)|0,e3=C2+(k5<<2)|0,e[e3>>2]=o6,A3=O+(O5<<2)|0,L3=O2+(k5<<2)|0,e[L3>>2]=A3,Q3=z+(O5<<2)|0,v3=k2+(k5<<2)|0,e[v3>>2]=Q3,y3=k5+1|0,X6=(y3|0)==(m|0),!X6;)k5=y3;if(H5=e[g2>>2]|0,U5=(n0|0)>0,U5)for(r6=e[k2>>2]|0,j3=(m|0)>0,O3=n0^-1,V5=J5^-1,T6=0,I9=O3;;){if(q3=(I9|0)>(V5|0),W4=q3?I9:V5,d3=W4^-1,k6=n0-T6|0,v6=(J5|0)>(k6|0),p=v6?k6:J5,s4(_5|0,E|0,W1|0)|0,Ae(r6|0,0,F5|0)|0,j3)for(S6=(p|0)>0,B6=r0-T6|0,r9=0;;){if(b3=u+(r9<<2)|0,e6=e[b3>>2]|0,t6=e6+(T6<<2)|0,f6=_5+(r9<<2)|0,H3=e[f6>>2]|0,D3=(H3|0)==0,D3){if(S6)for(b6=O2+(r9<<2)|0,A6=e[b6>>2]|0,O6=t2+(r9<<2)|0,s3=e[O6>>2]|0,a6=C2+(r9<<2)|0,d6=e[a6>>2]|0,_3=k2+(r9<<2)|0,N6=e[_3>>2]|0,E9=0;T0=A6+(E9<<2)|0,s[T0>>2]=1000000013351432e-25,J0=s3+(E9<<2)|0,s[J0>>2]=0,Y0=d6+(E9<<2)|0,s[Y0>>2]=0,P0=N6+(E9<<2)|0,e[P0>>2]=0,U=E9+T6|0,K0=e6+(U<<2)|0,e[K0>>2]=0,O0=E9+1|0,M6=(O0|0)==(d3|0),!M6;)E9=O0}else{if(Y3=O2+(r9<<2)|0,Z3=e[Y3>>2]|0,S6){for(z9=0;$0=z9+T6|0,n6=e6+($0<<2)|0,Q6=e[n6>>2]|0,R6=1768+(Q6<<2)|0,K6=e[R6>>2]|0,J6=Z3+(z9<<2)|0,e[J6>>2]=K6,F3=z9+1|0,y6=(F3|0)==(d3|0),!y6;)z9=F3;if(j6=c+(r9<<2)|0,G6=e[j6>>2]|0,e9=k2+(r9<<2)|0,s9=e[e9>>2]|0,S6){for(G9=0;L6=(G9|0)>=(B6|0),a0=L6?x4:l1,U6=a0,Z=G9+T6|0,D6=G6+(Z<<2)|0,z6=+s[D6>>2],d9=+zi(+z6),V=Z3+(G9<<2)|0,h0=+s[V>>2],s0=d9/h0,g0=s9+(G9<<2)|0,y9=!(s0>2]=B,j=G9+1|0,F6=(j|0)==(p|0),!F6;)G9=j;if(S6)for(l0=t2+(r9<<2)|0,u0=e[l0>>2]|0,d0=C2+(r9<<2)|0,w0=e[d0>>2]|0,b9=0;;)if(C0=b9+T6|0,f0=G6+(C0<<2)|0,B0=+s[f0>>2],p0=B0*B0,I0=u0+(b9<<2)|0,s[I0>>2]=p0,S0=w0+(b9<<2)|0,s[S0>>2]=p0,V0=+s[f0>>2],_0=V0<0,_0&&(Q0=+s[I0>>2],L0=-Q0,s[I0>>2]=L0),M0=Z3+(b9<<2)|0,U0=+s[M0>>2],y0=U0*U0,s[M0>>2]=y0,H0=b9+1|0,M3=(H0|0)==(d3|0),M3){T=d0,D0=u0;break}else b9=H0;else U9=21}else U9=21}else U9=21;(U9|0)==21&&(U9=0,F=t2+(r9<<2)|0,Y=e[F>>2]|0,q=C2+(r9<<2)|0,T=q,D0=Y),R0=e[T>>2]|0,b4=e[i0>>2]|0,+cQ(b4,r0,D0,R0,Z3,0,T6,p,t6)}if(r1=r9+1|0,t9=(r1|0)==(m|0),t9)break;r9=r1}if(X3=e[g2>>2]|0,c6=(X3|0)>0,c6)for(p6=(p|0)>0,x6=I-T6|0,Y6=r0-T6|0,m3=X3,C4=0;;){if(q0=(a+1160|0)+(C4<<2)|0,e1=e[q0>>2]|0,b0=(a+2184|0)+(C4<<2)|0,i1=e[b0>>2]|0,c1=u+(e1<<2)|0,$1=e[c1>>2]|0,u1=$1+(T6<<2)|0,g1=u+(i1<<2)|0,s1=e[g1>>2]|0,a1=t2+(e1<<2)|0,n1=e[a1>>2]|0,o1=t2+(i1<<2)|0,z0=e[o1>>2]|0,I1=C2+(e1<<2)|0,h1=e[I1>>2]|0,m1=C2+(i1<<2)|0,d1=e[m1>>2]|0,E1=O2+(e1<<2)|0,p1=e[E1>>2]|0,Q1=O2+(i1<<2)|0,x1=e[Q1>>2]|0,R1=k2+(e1<<2)|0,w1=e[R1>>2]|0,S1=k2+(i1<<2)|0,L1=e[S1>>2]|0,F1=_5+(e1<<2)|0,G1=e[F1>>2]|0,k1=(G1|0)==0,Z1=_5+(i1<<2)|0,k1?(N1=e[Z1>>2]|0,D1=(N1|0)==0,D1?W2=m3:U9=31):U9=31,(U9|0)==31){if(U9=0,e[Z1>>2]=1,e[F1>>2]=1,p6)for(q6=0;;){V1=(q6|0)<(x6|0);do if(V1){if(O1=w1+(q6<<2)|0,q1=e[O1>>2]|0,H1=(q1|0)==0,Y1=L1+(q6<<2)|0,H1&&(j1=e[Y1>>2]|0,r2=(j1|0)==0,r2)){e5=(q6|0)<(Y6|0);do if(e5)b5=z0+(q6<<2)|0,Z2=+s[b5>>2],f5=n1+(q6<<2)|0,v5=+s[f5>>2],P5=v5+Z2,s[f5>>2]=P5,$9=+zi(+P5),l5=h1+(q6<<2)|0,s[l5>>2]=$9,N=b5;else if(m5=n1+(q6<<2)|0,n5=+s[m5>>2],x2=z0+(q6<<2)|0,_2=+s[x2>>2],B2=_2+n5,C5=B2<0,f9=+zi(+n5),a9=+zi(+_2),L5=a9+f9,d5=h1+(q6<<2)|0,s[d5>>2]=L5,C5){D5=-L5,s[m5>>2]=D5,N=x2;break}else{s[m5>>2]=L5,N=x2;break}while(!1);G5=d1+(q6<<2)|0,s[G5>>2]=0,s[N>>2]=0,e[Y1>>2]=1,X=q6+T6|0,q2=s1+(X<<2)|0,e[q2>>2]=0;break}P1=n1+(q6<<2)|0,c2=+s[P1>>2],T9=+zi(+c2),z1=z0+(q6<<2)|0,u2=+s[z1>>2],E6=+zi(+u2),s2=E6+T9,s[P1>>2]=s2,E2=h1+(q6<<2)|0,o2=+s[E2>>2],K1=d1+(q6<<2)|0,h2=+s[K1>>2],a2=h2+o2,s[E2>>2]=a2,e[Y1>>2]=1,e[O1>>2]=1,K=q6+T6|0,$2=$1+(K<<2)|0,i2=e[$2>>2]|0,A2=s1+(K<<2)|0,X1=e[A2>>2]|0,E4=(i2|0)>-1,m4=0-i2|0,n2=E4?i2:m4,o4=(X1|0)>-1,A4=0-X1|0,f2=o4?X1:A4,e2=(n2|0)>(f2|0),e2?(y2=(i2|0)>0,v2=i2-X1|0,w2=X1-i2|0,F2=y2?v2:w2,e[A2>>2]=F2,J=e[$2>>2]|0,G2=J,P2=F2):(D2=(X1|0)>0,N2=i2-X1|0,d2=X1-i2|0,K2=D2?N2:d2,e[A2>>2]=K2,e[$2>>2]=X1,t0=e[A2>>2]|0,G2=X1,P2=t0),h4=(G2|0)>-1,S4=0-G2|0,H2=h4?G2:S4,M2=H2<<1,z2=(P2|0)<(M2|0),z2||(T1=0-P2|0,e[A2>>2]=T1,X2=e[$2>>2]|0,R5=0-X2|0,e[$2>>2]=R5)}while(!1);if(I5=p1+(q6<<2)|0,A5=+s[I5>>2],c5=x1+(q6<<2)|0,B5=+s[c5>>2],M1=B5+A5,s[c5>>2]=M1,s[I5>>2]=M1,S5=q6+1|0,A9=(S5|0)==(d3|0),A9)break;q6=S5}D4=e[i0>>2]|0,+cQ(D4,r0,n1,h1,p1,w1,T6,p,u1),W=e[g2>>2]|0,W2=W}if(g5=C4+1|0,a5=(g5|0)<(W2|0),a5)m3=W2,C4=g5;else{n3=W2;break}}else n3=X3;if(p5=T6+J5|0,t5=(n0|0)>(p5|0),N9=I9+J5|0,t5)T6=p5,I9=N9;else{S3=n3;break}}else S3=H5;if(g3=(S3|0)>0,g3)X5=S3,i9=0;else{C=N4;return}for(;s5=(a+1160|0)+(i9<<2)|0,h5=e[s5>>2]|0,J2=E+(h5<<2)|0,u5=e[J2>>2]|0,i5=(u5|0)==0,x5=(a+2184|0)+(i9<<2)|0,i5?(j2=e[x5>>2]|0,$5=E+(j2<<2)|0,Q5=e[$5>>2]|0,q5=(Q5|0)==0,q5?Y5=X5:U9=52):U9=52,(U9|0)==52&&(U9=0,e[J2>>2]=1,j5=e[x5>>2]|0,E5=E+(j5<<2)|0,e[E5>>2]=1,e0=e[g2>>2]|0,Y5=e0),f3=i9+1|0,h3=(f3|0)<(Y5|0),h3;)X5=Y5,i9=f3;C=N4}function TS(t,n,A,a,c){t=t|0,n=+n,A=A|0,a=+a,c=+c;var u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,R1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,R5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,R2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,k3=0,u3=0,p3=0,z3=0,G3=0,K5=0,w3=0,Z5=0,i6=0,R3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,L3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,X3=0,c6=0,p6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,R6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,L6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,M4=0,W4=0,C4=0,T4=0,U9=0,N4=0,a4=0,R4=0,u4=0,Ce=0,q9=0,m9=0,Be=0,Ne=0,Xe=0,G4=0,Ge=0,U4=0,j4=0,be=0,e8=0,Z9=0,ae=0,f4=0,_6=0,P4=0,L9=0,$4=0,_4=0,$e=0,W9=0,le=0,ce=0,B4=0,X4=0,L4=0,ge=0,C9=0,g6=0,Ue=0,l4=0,pe=0,p4=0,c4=0,P6=0,De=0,_e=0,t8=0,g4=0,k4=0,u8=0,J3=0,w9=0,B9=0,F4=0,ee=0,$t=0,xe=0,lt=0,Qt=0,z8=0,ct=0,gt=0,F8=0,M8=0,T8=0,N8=0,Z8=0,W8=0,yt=0,G8=0,U8=0,P8=0,k8=0,v8=0,f8=0,O8=0,q8=0,j8=0,X8=0,d8=0,Pe=0,Re=0,i8=0,S8=0,k9=0,ht=0,Qe=0,ut=0,wt=0,et=0,kt=0,te=0,tt=0,H8=0,b8=0,r8=0,O4=0,Le=0,n8=0,I8=0,D8=0,he=0,j9=0,s8=0,E8=0,o8=0,m8=0,ue=0,ye=0,Oe=0,qe=0,X9=0,Fe=0,fe=0,A8=0,we=0,Q4=0,C8=0,it=0,q4=0,I3=0,He=0,B8=0,ie=0,H9=0,re=0,D9=0,Ye=0,Y8=0,ft=0,rt=0,nt=0,J8=0,st=0,V8=0,a8=0,$8=0,_8=0,H4=0,ot=0,x8=0,Je=0,p9=0,At=0,Ve=0;for(Ve=C,C=C+32480|0,J3=Ve+32256|0,p9=Ve+1792|0,w9=Ve,R=A<<2,S=R,F=C,C=C+((1*S|0)+15&-16)|0,i2=S9(68)|0,Ae(p9|0,0,30464)|0,S3=a>0,o4=a<0,k9=0;;){for($e=k9<<2,te=0;n5=te+$e|0,I5=(n5|0)<88,I5?(t5=1272+(n5<<2)|0,q5=+s[t5>>2],H9=q5):H9=-30,k3=n5+1|0,a3=(k3|0)<88,a3?(L6=1272+(k3<<2)|0,U6=+s[L6>>2],z6=H9>U6,z6?re=U6:re=H9):(s9=H9>-30,s9?re=-30:re=H9),y6=n5+2|0,F6=(y6|0)<88,F6?(M6=1272+(y6<<2)|0,t9=+s[M6>>2],A9=re>t9,A9?D9=t9:D9=re):(M3=re>-30,M3?D9=-30:D9=re),X6=n5+3|0,u9=(X6|0)<88,u9?(a9=1272+(X6<<2)|0,$9=+s[a9>>2],T9=D9>$9,T9?Ye=$9:Ye=D9):(f9=D9>-30,f9?Ye=-30:Ye=D9),E6=J3+(te<<2)|0,s[E6>>2]=Ye,T6=te+1|0,T8=(T6|0)==56,!T8;)te=T6;if(l4=(p9+(k9*1792|0)|0)+448|0,M=2792+(k9*1344|0)|0,s4(l4|0,M|0,224)|0,q=(p9+(k9*1792|0)|0)+672|0,h0=(2792+(k9*1344|0)|0)+224|0,s4(q|0,h0|0,224)|0,B0=(p9+(k9*1792|0)|0)+896|0,y0=(2792+(k9*1344|0)|0)+448|0,s4(B0|0,y0|0,224)|0,r1=(p9+(k9*1792|0)|0)+1120|0,a1=(2792+(k9*1344|0)|0)+672|0,s4(r1|0,a1|0,224)|0,Q1=(p9+(k9*1792|0)|0)+1344|0,N1=(2792+(k9*1344|0)|0)+896|0,s4(Q1|0,N1|0,224)|0,c2=(p9+(k9*1792|0)|0)+1568|0,A2=(2792+(k9*1344|0)|0)+1120|0,s4(c2|0,A2|0,224)|0,N2=p9+(k9*1792|0)|0,s4(N2|0,M|0,224)|0,X2=(p9+(k9*1792|0)|0)+224|0,s4(X2|0,M|0,224)|0,S3)for(r8=0;;){if(o4)for(E8=0;h4=16-E8|0,wt=(h4|0)>-1,nt=0-h4|0,G9=wt?h4:nt,z9=+(G9|0),b9=z9*c,E9=b9+a,q6=E9<0,I=q6?0:E9,r9=I>0,u=r9?0:I,m4=((p9+(k9*1792|0)|0)+(r8*224|0)|0)+(E8<<2)|0,S4=+s[m4>>2],A4=S4+u,s[m4>>2]=A4,b4=E8+1|0,P8=(b4|0)==56,!P8;)E8=b4;else for(o8=0;g3=16-o8|0,et=(g3|0)>-1,J8=0-g3|0,x6=et?g3:J8,b6=+(x6|0),R6=b6*c,D6=R6+a,d9=D6<0,m=d9?0:D6,i9=((p9+(k9*1792|0)|0)+(r8*224|0)|0)+(o8<<2)|0,N9=+s[i9>>2],I9=N9+m,s[i9>>2]=I9,E4=o8+1|0,U8=(E4|0)==56,!U8;)o8=E4;if(e3=r8+1|0,k8=(e3|0)==8,k8)break;r8=e3}else for(b8=0;;){if(o4)for(m8=0;W4=16-m8|0,kt=(W4|0)>-1,st=0-W4|0,C4=kt?W4:st,T4=+(C4|0),U9=T4*c,N4=U9+a,a4=N4>0,E=a4?0:N4,u4=((p9+(k9*1792|0)|0)+(b8*224|0)|0)+(m8<<2)|0,Ce=+s[u4>>2],q9=Ce+E,s[u4>>2]=q9,m9=m8+1|0,Z8=(m9|0)==56,!Z8;)m8=m9;else for(s8=0;Be=16-s8|0,ut=(Be|0)>-1,rt=0-Be|0,Ne=ut?Be:rt,Xe=+(Ne|0),G4=Xe*c,Ge=G4+a,U4=((p9+(k9*1792|0)|0)+(b8*224|0)|0)+(s8<<2)|0,be=+s[U4>>2],e8=be+Ge,s[U4>>2]=e8,Z9=s8+1|0,N8=(Z9|0)==56,!N8;)s8=Z9;if(ae=b8+1|0,W8=(ae|0)==8,W8)break;b8=ae}for(D4=t+(k9<<2)|0,x4=+s[D4>>2],M4=x4,O4=0;;){for(f4=(O4|0)<2,_6=+(O4|0),w=_6*10,y=70-w,P4=f4?50:y,L9=P4+M4,$4=L9,d8=0;_4=((p9+(k9*1792|0)|0)+(O4*224|0)|0)+(d8<<2)|0,W9=+s[_4>>2],le=W9+$4,s[_4>>2]=le,ce=d8+1|0,F4=(ce|0)==56,!F4;)d8=ce;for(B4=w9+(O4*224|0)|0,s4(B4|0,J3|0,224)|0,X4=+(O4|0),L4=X4*10,ge=70-L4,S8=0;;)if(C9=(w9+(O4*224|0)|0)+(S8<<2)|0,g6=+s[C9>>2],Ue=ge+g6,s[C9>>2]=Ue,pe=S8+1|0,lt=(pe|0)==56,lt){i8=0;break}else S8=pe;for(;p4=((p9+(k9*1792|0)|0)+(O4*224|0)|0)+(i8<<2)|0,c4=+s[p4>>2],P6=(w9+(O4*224|0)|0)+(i8<<2)|0,De=+s[P6>>2],_e=c4>De,_e&&(s[P6>>2]=c4),t8=i8+1|0,xe=(t8|0)==56,!xe;)i8=t8;if(g4=O4+1|0,yt=(g4|0)==8,yt){Le=1;break}else O4=g4}for(;;){for(k4=Le+-1|0,Re=0;;)if(u8=(w9+(k4*224|0)|0)+(Re<<2)|0,T=+s[u8>>2],N=(w9+(Le*224|0)|0)+(Re<<2)|0,G=+s[N>>2],O=T>2]=T),z=Re+1|0,$t=(z|0)==56,$t){Pe=0;break}else Re=z;for(;Y=(w9+(Le*224|0)|0)+(Pe<<2)|0,t0=+s[Y>>2],J=((p9+(k9*1792|0)|0)+(Le*224|0)|0)+(Pe<<2)|0,W=+s[J>>2],e0=t0>2]=t0),X=Pe+1|0,ee=(X|0)==56,!ee;)Pe=X;if(U=Le+1|0,G8=(U|0)==8,G8)break;Le=U}if($0=k9+1|0,v8=($0|0)==17,v8)break;k9=$0}for(y9=n,R4=(A|0)>0,j4=A^-1,Qe=0;;){for(Z=S9(32)|0,K=i2+(Qe<<2)|0,e[K>>2]=Z,a0=+(Qe|0),n0=a0*.5,i0=a0*.34657350182533264,r0=i0+4.135165354540845,V=+Gn(+r0),s0=V/y9,g0=+KA(+s0),j=~~g0,l0=+(j|0),u0=l0*n,d0=u0+1,w0=d0,C0=+Kr(+w0),k0=C0*2.885390043258667,f0=k0+-11.931568145751953,p0=+nB(+f0),I0=~~p0,S0=j+1|0,V0=+(S0|0),_0=V0*n,Q0=_0,L0=+Kr(+Q0),M0=L0*2.885390043258667,N0=M0+-11.931568145751953,U0=+KA(+N0),H0=~~U0,R0=(I0|0)>(Qe|0),ht=R0?Qe:I0,D0=(ht|0)<0,B8=D0?0:ht,T0=(H0|0)>16,p=T0?16:H0,J0=(B8|0)>(p|0),Y0=Qe+1|0,P0=(Y0|0)<17,K0=n0+3.9657840728759766,ie=0;;){if(G0=S9(232)|0,O0=Z+(ie<<2)|0,e[O0>>2]=G0,R4)for(n8=0;q0=F+(n8<<2)|0,s[q0>>2]=999,e1=n8+1|0,B9=(e1|0)==(A|0),!B9;)n8=e1;if(!J0)for(ue=B8;;){for(b0=+(ue|0),i1=b0*.5,I8=0,ye=0;;){if(g1=+(I8|0),l1=g1*.125,s1=l1+i1,n1=s1+3.9032840728759766,o1=n1*.6931470036506653,z0=+Gn(+o1),I1=z0/y9,h1=~~I1,m1=s1+4.028284072875977,d1=m1*.6931470036506653,E1=+Gn(+d1),B1=E1/y9,p1=B1+1,x1=~~p1,R1=(h1|0)<0,B=R1?0:h1,w1=(B|0)>(A|0),it=w1?A:B,S1=(it|0)<(ye|0),q4=S1?it:ye,L1=(x1|0)<0,j8=L1?0:x1,F1=(j8|0)>(A|0),Y8=F1?A:j8,G1=(q4|0)<(Y8|0),k1=(q4|0)<(A|0),V8=G1&k1,V8)for(U1=((p9+(ue*1792|0)|0)+(ie*224|0)|0)+(I8<<2)|0,Z1=+s[U1>>2],D1=(ye|0)<(A|0),V1=D1?ye:A,O1=V1^-1,q1=(h1|0)>0,_=h1^-1,H1=q1?_:-1,Y1=(H1|0)<(O1|0),H4=Y1?O1:H1,j1=H4^-1,r2=(x1|0)>0,L=x1^-1,W1=r2?L:-1,P1=(W1|0)<(j4|0),ot=P1?j4:W1,z1=ot-H4|0,u2=H4+A|0,s2=u2^-1,E2=z1>>>0>s2>>>0,x8=E2?z1:s2,o2=j1-x8|0,X9=q4;;)if(K1=F+(X9<<2)|0,h2=+s[K1>>2],a2=h2>Z1,a2&&(s[K1>>2]=Z1),t2=X9+1|0,f8=(t2|0)==(o2|0),f8){Oe=o2;break}else X9=t2;else Oe=q4;if($2=I8+1|0,O8=($2|0)==56,O8){qe=Oe;break}else I8=$2,ye=Oe}if(c1=(qe|0)<(A|0),c1)for($1=((p9+(ue*1792|0)|0)+(ie*224|0)|0)+220|0,u1=+s[$1>>2],Fe=qe;X1=F+(Fe<<2)|0,n2=+s[X1>>2],f2=n2>u1,f2&&(s[X1>>2]=u1),e2=Fe+1|0,q8=(e2|0)==(A|0),!q8;)Fe=e2;if(y2=ue+1|0,v2=(ue|0)<(p|0),v2)ue=y2;else break}if(P0){for(D8=0,fe=0;;){if(G2=+(D8|0),H2=G2*.125,M2=H2+n0,P2=M2+3.9032840728759766,z2=P2*.6931470036506653,o5=+Gn(+z2),O2=o5/y9,T1=~~O2,R5=M2+4.028284072875977,e5=R5*.6931470036506653,b5=+Gn(+e5),Z2=b5/y9,f5=Z2+1,v5=~~f5,P5=(T1|0)<0,v=P5?0:T1,l5=(v|0)>(A|0),I3=l5?A:v,k2=(I3|0)<(fe|0),He=k2?I3:fe,m5=(v5|0)<0,X8=m5?0:v5,x2=(X8|0)>(A|0),ft=x2?A:X8,_2=(He|0)<(ft|0),B2=(He|0)<(A|0),a8=_2&B2,a8)for(C5=((p9+(Y0*1792|0)|0)+(ie*224|0)|0)+(D8<<2)|0,L5=+s[C5>>2],d5=(fe|0)<(A|0),D5=d5?fe:A,G5=D5^-1,_5=(T1|0)>0,b=T1^-1,q2=_5?b:-1,A5=(q2|0)<(G5|0),$8=A5?G5:q2,c5=$8^-1,B5=(v5|0)>0,Q=v5^-1,M1=B5?Q:-1,S5=(M1|0)<(j4|0),_8=S5?j4:M1,g5=_8-$8|0,a5=$8+A|0,W2=a5^-1,g2=g5>>>0>W2>>>0,Je=g2?g5:W2,p5=c5-Je|0,Q4=He;;)if(s5=F+(Q4<<2)|0,h5=+s[s5>>2],J2=h5>L5,J2&&(s[s5>>2]=L5),u5=Q4+1|0,Qt=(u5|0)==(p5|0),Qt){A8=p5;break}else Q4=u5;else A8=He;if(i5=D8+1|0,z8=(i5|0)==56,z8){we=A8;break}else D8=i5,fe=A8}if(D2=(we|0)<(A|0),D2)for(d2=((p9+(Y0*1792|0)|0)+(ie*224|0)|0)+220|0,K2=+s[d2>>2],C8=we;x5=F+(C8<<2)|0,j2=+s[x5>>2],$5=j2>K2,$5&&(s[x5>>2]=K2),R2=C8+1|0,ct=(R2|0)==(A|0),!ct;)C8=R2}for(w2=Z+(ie<<2)|0,C2=Z+(ie<<2)|0,F2=Z+(ie<<2)|0,he=0;;){f3=+(he|0),h3=f3*.125,Y5=K0+h3,X5=Y5*.6931470036506653,n3=+Gn(+X5),m3=n3/y9,F5=~~m3,J5=(F5|0)<0;do if(J5)u3=he+2|0,p3=e[w2>>2]|0,z3=p3+(u3<<2)|0,s[z3>>2]=-999;else if(G3=(F5|0)<(A|0),G3){i6=F+(F5<<2)|0,R3=e[i6>>2]|0,U3=he+2|0,l3=e[C2>>2]|0,c3=l3+(U3<<2)|0,e[c3>>2]=R3;break}else{K5=he+2|0,w3=e[F2>>2]|0,Z5=w3+(K5<<2)|0,s[Z5>>2]=-999;break}while(!1);if(C3=he+1|0,gt=(C3|0)==56,gt)break;he=C3}Q5=G0+8|0,j5=+s[Q5>>2],E5=j5>-200;do if(E5)j9=0;else if(H5=G0+12|0,U5=+s[H5>>2],O5=U5>-200,O5)j9=1;else if(y3=G0+16|0,r6=+s[y3>>2],j3=r6>-200,j3)j9=2;else if(O3=G0+20|0,V5=+s[O3>>2],q3=V5>-200,q3)j9=3;else if(l6=G0+24|0,d3=+s[l6>>2],k6=d3>-200,k6)j9=4;else if(v6=G0+28|0,S6=+s[v6>>2],B6=S6>-200,B6)j9=5;else if(X3=G0+32|0,c6=+s[X3>>2],p6=c6>-200,p6)j9=6;else if(Y6=G0+36|0,C6=+s[Y6>>2],b3=C6>-200,b3)j9=7;else if(e6=G0+40|0,t6=+s[e6>>2],f6=t6>-200,f6)j9=8;else if(H3=G0+44|0,D3=+s[H3>>2],Y3=D3>-200,Y3)j9=9;else if(Z3=G0+48|0,A6=+s[Z3>>2],t3=A6>-200,t3)j9=10;else if(O6=G0+52|0,s3=+s[O6>>2],a6=s3>-200,a6)j9=11;else if(d6=G0+56|0,_3=+s[d6>>2],N6=_3>-200,N6)j9=12;else if(n6=G0+60|0,Q6=+s[n6>>2],K6=Q6>-200,K6)j9=13;else{if(I6=G0+64|0,J6=+s[I6>>2],F3=J6>-200,F3){j9=14;break}if(j6=G0+68|0,G6=+s[j6>>2],e9=G6>-200,e9){j9=15;break}j9=16}while(!1);for(s[G0>>2]=j9,H8=55;;){if(k5=H8+2|0,P3=G0+(k5<<2)|0,M5=+s[P3>>2],o6=M5>-200,o6){tt=H8;break}if(A3=H8+-1|0,L3=(A3|0)>17,L3)H8=A3;else{tt=A3;break}}if(u6=+(tt|0),Q3=G0+4|0,s[Q3>>2]=u6,v3=ie+1|0,F8=(v3|0)==8,F8)break;ie=v3}if(M8=(Y0|0)==17,M8)break;Qe=Y0}return C=Ve,i2|0}function lQ(t,n,A,a,c,u){t=t|0,n=n|0,A=A|0,a=a|0,c=+c,u=u|0;var E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,R1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,R5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,R2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,k3=0,u3=0,p3=0,z3=0,G3=0,K5=0,w3=0,Z5=0,i6=0,R3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,L3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,X3=0,c6=0,p6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,R6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,L6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0;if(D4=C,w=t<<2,E=w,y=C,C=C+((1*E|0)+15&-16)|0,I=w,o2=C,C=C+((1*I|0)+15&-16)|0,m=w,j2=C,C=C+((1*m|0)+15&-16)|0,p=w,n3=C,C=C+((1*p|0)+15&-16)|0,B=w,Z5=C,C=C+((1*B|0)+15&-16)|0,k5=+s[A>>2],r6=k5+c,S6=r6<1,A4=S6?1:r6,f6=A4*A4,b=f6*.5,z=b*A4,s[y>>2]=b,s[o2>>2]=b,s[j2>>2]=0,s[n3>>2]=z,s[Z5>>2]=0,K=(t|0)>1,K)for(M3=1,E6=b,T6=b,i9=0,N9=0,I9=z,E4=1;c1=A+(M3<<2)|0,h1=+s[c1>>2],L1=h1+c,H1=L1<1,y9=H1?1:L1,K1=y9*y9,y2=K1+E6,M2=K1*E4,f5=M2+T6,L5=M2*E4,S5=L5+i9,J2=K1*y9,u5=J2+I9,i5=M2*y9,x5=i5+N9,$5=y+(M3<<2)|0,s[$5>>2]=y2,R2=o2+(M3<<2)|0,s[R2>>2]=f5,Q5=j2+(M3<<2)|0,s[Q5>>2]=S5,q5=n3+(M3<<2)|0,s[q5>>2]=u5,j5=Z5+(M3<<2)|0,s[j5>>2]=x5,E5=M3+1|0,f3=E4+1,F6=(E5|0)==(t|0),!F6;)M3=E5,E6=y2,T6=f5,i9=S5,N9=x5,I9=u5,E4=f3;if(u0=e[n>>2]|0,_0=u0>>16,J0=(_0|0)>-1,J0)Y5=u0,d6=0,Q6=0,J6=1,M6=0,o4=0;else for(F5=u0,p3=_0,t9=0,h4=0;;)if(m3=F5&65535,J5=y+(m3<<2)|0,k3=+s[J5>>2],u3=0-p3|0,z3=y+(u3<<2)|0,G3=+s[z3>>2],K5=G3+k3,w3=o2+(m3<<2)|0,i6=+s[w3>>2],R3=o2+(u3<<2)|0,U3=+s[R3>>2],a3=i6-U3,l3=j2+(m3<<2)|0,c3=+s[l3>>2],C3=j2+(u3<<2)|0,H5=+s[C3>>2],U5=H5+c3,O5=n3+(m3<<2)|0,P3=+s[O5>>2],M5=n3+(u3<<2)|0,o6=+s[M5>>2],e3=o6+P3,A3=Z5+(m3<<2)|0,L3=+s[A3>>2],u6=Z5+(u3<<2)|0,Q3=+s[u6>>2],v3=L3-Q3,y3=e3*U5,j3=v3*a3,O3=y3-j3,V5=v3*K5,S3=e3*a3,g3=V5-S3,q3=U5*K5,l6=a3*a3,d3=q3-l6,k6=g3*h4,v6=k6+O3,B6=v6/d3,X3=B6<0,e9=X3?0:B6,c6=e9-c,p6=a+(t9<<2)|0,s[p6>>2]=c6,x6=t9+1|0,Y6=h4+1,C6=n+(x6<<2)|0,b3=e[C6>>2]|0,e6=b3>>16,t6=(e6|0)>-1,t6){Y5=b3,d6=O3,Q6=g3,J6=d3,M6=x6,o4=Y6;break}else F5=b3,p3=e6,t9=x6,h4=Y6;if(h3=Y5&65535,X5=(h3|0)<(t|0),X5)for(v=Y5,Z3=h3,X6=M6,z9=o4;;)if(D3=v>>16,Y3=y+(Z3<<2)|0,b6=+s[Y3>>2],A6=y+(D3<<2)|0,t3=+s[A6>>2],O6=b6-t3,s3=o2+(Z3<<2)|0,a6=+s[s3>>2],Q=o2+(D3<<2)|0,_=+s[Q>>2],L=a6-_,R=j2+(Z3<<2)|0,F=+s[R>>2],M=j2+(D3<<2)|0,T=+s[M>>2],N=F-T,G=n3+(Z3<<2)|0,O=+s[G>>2],Y=n3+(D3<<2)|0,t0=+s[Y>>2],J=O-t0,W=Z5+(Z3<<2)|0,e0=+s[W>>2],q=Z5+(D3<<2)|0,X=+s[q>>2],U=e0-X,$0=J*N,Z=U*L,a0=$0-Z,n0=U*O6,i0=J*L,r0=n0-i0,V=N*O6,h0=L*L,s0=V-h0,g0=r0*z9,j=g0+a0,l0=j/s0,d0=l0<0,s9=d0?0:l0,w0=s9-c,C0=a+(X6<<2)|0,s[C0>>2]=w0,k0=X6+1|0,f0=z9+1,B0=n+(k0<<2)|0,p0=e[B0>>2]|0,I0=p0&65535,S0=(I0|0)<(t|0),S0)v=p0,Z3=I0,X6=k0,z9=f0;else{_3=a0,R6=r0,F3=s0,A9=k0,G9=f0;break}else _3=d6,R6=Q6,F3=J6,A9=M6,G9=o4;if(H3=(A9|0)<(t|0),H3)for(u9=A9,b9=G9;V0=b9*R6,Q0=V0+_3,L0=Q0/F3,M0=L0<0,L6=M0?0:L0,N0=L6-c,U0=a+(u9<<2)|0,s[U0>>2]=N0,y0=u9+1|0,H0=b9+1,y6=(y0|0)==(t|0),!y6;)u9=y0,b9=H0;if(R0=(u|0)<1,R0){C=D4;return}if(D0=(u|0)/2&-1,T0=D0-u|0,Y0=(T0|0)>-1,Y0)N6=_3,K6=R6,j6=F3,f9=0,E9=0;else for(P0=u-D0|0,q0=D0,i1=T0,d9=0,q6=0;;)if(r1=y+(q0<<2)|0,e1=+s[r1>>2],b0=0-i1|0,$1=y+(b0<<2)|0,u1=+s[$1>>2],g1=u1+e1,l1=o2+(q0<<2)|0,s1=+s[l1>>2],a1=o2+(b0<<2)|0,n1=+s[a1>>2],o1=s1-n1,z0=j2+(q0<<2)|0,I1=+s[z0>>2],m1=j2+(b0<<2)|0,d1=+s[m1>>2],E1=d1+I1,B1=n3+(q0<<2)|0,p1=+s[B1>>2],Q1=n3+(b0<<2)|0,x1=+s[Q1>>2],R1=x1+p1,w1=Z5+(q0<<2)|0,S1=+s[w1>>2],F1=Z5+(b0<<2)|0,G1=+s[F1>>2],k1=S1-G1,U1=R1*E1,Z1=k1*o1,N1=U1-Z1,D1=k1*g1,V1=R1*o1,O1=D1-V1,q1=E1*g1,Y1=o1*o1,j1=q1-Y1,r2=O1*q6,W1=r2+N1,P1=W1/j1,c2=P1-c,z1=a+(d9<<2)|0,u2=+s[z1>>2],s2=c2>2]=c2),E2=d9+1|0,h2=q6+1,a2=D0+E2|0,t2=a2-u|0,z6=(E2|0)==(P0|0),z6){N6=N1,K6=O1,j6=j1,f9=P0,E9=h2;break}else q0=a2,i1=t2,d9=E2,q6=h2;if(K0=f9+D0|0,G0=(K0|0)<(t|0),G0)for(O0=t-D0|0,S=K0,$9=f9,m4=E9;;)if(i2=S-u|0,A2=y+(S<<2)|0,X1=+s[A2>>2],n2=y+(i2<<2)|0,f2=+s[n2>>2],e2=X1-f2,v2=o2+(S<<2)|0,w2=+s[v2>>2],C2=o2+(i2<<2)|0,F2=+s[C2>>2],D2=w2-F2,N2=j2+(S<<2)|0,d2=+s[N2>>2],K2=j2+(i2<<2)|0,G2=+s[K2>>2],H2=d2-G2,P2=n3+(S<<2)|0,z2=+s[P2>>2],o5=n3+(i2<<2)|0,O2=+s[o5>>2],T1=z2-O2,X2=Z5+(S<<2)|0,R5=+s[X2>>2],e5=Z5+(i2<<2)|0,b5=+s[e5>>2],Z2=R5-b5,v5=T1*H2,P5=Z2*D2,l5=v5-P5,k2=Z2*e2,m5=T1*D2,n5=k2-m5,x2=H2*e2,_2=D2*D2,B2=x2-_2,C5=n5*m4,d5=C5+l5,D5=d5/B2,G5=D5-c,_5=a+($9<<2)|0,q2=+s[_5>>2],I5=G5>2]=G5),A5=$9+1|0,c5=m4+1,B5=A5+D0|0,D6=(A5|0)==(O0|0),D6){n6=l5,I6=n5,G6=B2,a9=O0,r9=c5;break}else S=B5,$9=A5,m4=c5;else n6=N6,I6=K6,G6=j6,a9=f9,r9=E9;if($2=(a9|0)<(t|0),$2)T9=a9,S4=r9;else{C=D4;return}for(;M1=S4*I6,g5=M1+n6,a5=g5/G6,W2=a5-c,g2=a+(T9<<2)|0,p5=+s[g2>>2],t5=W2>2]=W2),s5=T9+1|0,h5=S4+1,U6=(s5|0)==(t|0),!U6;)T9=s5,S4=h5;C=D4}function NS(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0;if(c1=C,u=A<<2,a=u,E=C,C=C+((1*a|0)+15&-16)|0,c=u,_=C,C=C+((1*c|0)+15&-16)|0,t0=(A|0)>0,t0)y0=0,P0=0;else{C=c1;return}for(;;){S0=(P0|0)<2;do if(S0)Q0=E+(P0<<2)|0,e[Q0>>2]=y0,I=t+(y0<<2)|0,m=e[I>>2]|0,p=_+(P0<<2)|0,e[p>>2]=m,q0=P0;else{for(V0=t+(y0<<2)|0,_0=+s[V0>>2],K0=P0;;){if(B=K0+-1|0,v=_+(B<<2)|0,S=+s[v>>2],w=_0>2]|0,R=L+n|0,F=(y0|0)<(R|0),M=(K0|0)>1,D0=M&F,!D0){O0=K0,i1=12;break}if(T=K0+-2|0,N=_+(T<<2)|0,G=+s[N>>2],O=!(S<=G),O){O0=K0,i1=12;break}if(z=E+(T<<2)|0,Y=e[z>>2]|0,J=Y+n|0,W=(y0|0)<(J|0),W)K0=B;else{O0=K0,i1=12;break}}if((i1|0)==8){i1=0,y=E+(G0<<2)|0,e[y>>2]=y0,b=_+(G0<<2)|0,s[b>>2]=_0,q0=G0;break}else if((i1|0)==12){i1=0,e0=E+(O0<<2)|0,e[e0>>2]=y0,q=_+(O0<<2)|0,s[q>>2]=_0,q0=O0;break}}while(!1);if(r1=q0+1|0,X=y0+1|0,U0=(X|0)==(A|0),U0){e1=q0,b0=r1;break}else y0=X,P0=r1}if(n0=(e1|0)>-1,!n0){C=c1;return}for(w0=n+1|0,H0=0,T0=0;;){if(U=(H0|0)<(e1|0),U?($0=H0+1|0,Z=_+($0<<2)|0,K=+s[Z>>2],a0=_+(H0<<2)|0,i0=+s[a0>>2],r0=K>i0,r0?(V=E+($0<<2)|0,h0=e[V>>2]|0,L0=h0):i1=17):i1=17,(i1|0)==17&&(i1=0,s0=E+(H0<<2)|0,g0=e[s0>>2]|0,j=w0+g0|0,L0=j),l0=(L0|0)>(A|0),R0=l0?A:L0,u0=(T0|0)<(R0|0),u0)for(d0=_+(H0<<2)|0,C0=e[d0>>2]|0,k0=(L0|0)<(A|0),f0=k0?L0:A,Y0=T0;;)if(B0=t+(Y0<<2)|0,e[B0>>2]=C0,p0=Y0+1|0,M0=(p0|0)==(f0|0),M0){J0=f0;break}else Y0=p0;else J0=T0;if(I0=H0+1|0,N0=(I0|0)==(b0|0),N0)break;H0=I0,T0=J0}C=c1}function cQ(t,n,A,a,c,u,E,I,m){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0,u=u|0,E=E|0,I=I|0,m=m|0;var p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,R1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0;if(c2=C,R=I<<2,b=R,F=C,C=C+((1*b|0)+15&-16)|0,e0=t+500|0,V=e[e0>>2]|0,f0=(V|0)==0,f0?p1=I:(U0=t+504|0,O0=e[U0>>2]|0,s1=O0-E|0,p1=s1),F1=(p1|0)>(I|0),Y1=F1?I:p1,M=(Y1|0)>0,M)for(T=(u|0)==0,N=(p1|0)<(I|0),G=N?p1:I,O1=0;;){T?P1=9:(t0=u+(O1<<2)|0,J=e[t0>>2]|0,W=(J|0)==0,W&&(P1=9));do if((P1|0)==9)if(P1=0,q=a+(O1<<2)|0,X=+s[q>>2],U=c+(O1<<2)|0,$0=+s[U>>2],Z=X/$0,K=A+(O1<<2)|0,a0=+s[K>>2],n0=a0<0,i0=Z,r0=+Tn(+i0),h0=+Pi(r0),n0){s0=-h0,g0=~~s0,j=m+(O1<<2)|0,e[j>>2]=g0;break}else{l0=~~h0,u0=m+(O1<<2)|0,e[u0>>2]=l0;break}while(!1);if(d0=O1+1|0,D1=(d0|0)==(G|0),D1){V1=G;break}else O1=d0}else V1=0;if(O=(V1|0)<(I|0),!O)return y=0,C=c2,+y;for(z=(u|0)!=0,Y=n-E|0,p=0,G1=0,q1=V1;;){z?(w0=u+(q1<<2)|0,C0=e[w0>>2]|0,k0=(C0|0)==0,k0?P1=15:(B=p,k1=G1)):P1=15;do if((P1|0)==15)if(P1=0,B0=a+(q1<<2)|0,p0=+s[B0>>2],I0=c+(q1<<2)|0,S0=+s[I0>>2],V0=p0/S0,_0=!(V0<.25),Q0=(q1|0)<(Y|0),j1=z&Q0,r2=_0|j1,r2){y0=A+(q1<<2)|0,H0=+s[y0>>2],R0=H0<0,D0=V0,T0=+Tn(+D0),J0=+Pi(T0),Y0=-J0,_=R0?Y0:J0,Q=~~_,P0=m+(q1<<2)|0,e[P0>>2]=Q,K0=r5(Q,Q)|0,G0=+(K0|0),r1=+s[I0>>2],q0=G0*r1,s[B0>>2]=q0,B=p,k1=G1;break}else{L0=V0+p,M0=G1+1|0,N0=F+(G1<<2)|0,e[N0>>2]=B0,B=L0,k1=M0;break}while(!1);if(e1=q1+1|0,N1=(e1|0)==(I|0),N1){v=B,U1=k1;break}else p=B,G1=k1,q1=e1}if(b0=(U1|0)==0,b0||(Lh(F,U1,4,9),i1=(U1|0)>0,!i1))return y=v,C=c2,+y;for(c1=a,$1=t+512|0,u1=+A1[$1>>3],S=v,H1=0;;)if(g1=F+(H1<<2)|0,l1=e[g1>>2]|0,a1=l1,n1=a1-c1|0,o1=n1>>2,z0=S,I1=!(z0>=u1),I1?(w=S,L=0,W1=0):(h1=A+(o1<<2)|0,m1=e[h1>>2]|0,d1=m1&-2147483648,E1=d1|1065353216,B1=(e[p2>>2]=E1,+s[p2>>2]),Q1=~~B1,x1=S+-1,R1=c+(o1<<2)|0,w1=+s[R1>>2],w=x1,L=Q1,W1=w1),S1=m+(o1<<2)|0,e[S1>>2]=L,s[l1>>2]=W1,L1=H1+1|0,Z1=(L1|0)==(U1|0),Z1){y=w;break}else S=w,H1=L1;return C=c2,+y}function GS(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0;return S=C,A=e[t>>2]|0,a=+s[A>>2],c=e[n>>2]|0,u=+s[c>>2],E=au,p=m&1,B=I-p|0,B|0}function US(t){t=t|0;var n=0,A=0,a=0;a=C,n=(t|0)==0,n||I2(t)}function PS(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0;if(W=C,A=(t|0)==0,!A){if(a=t+4|0,y=e[a>>2]|0,F=(y|0)>0,M=t+20|0,F)for(R=y,Y=0;T=e[M>>2]|0,N=T+(Y<<2)|0,G=e[N>>2]|0,O=(G|0)==0,O?u=R:(I2(G),n=e[a>>2]|0,u=n),z=Y+1|0,c=(z|0)<(u|0),c;)R=u,Y=z;if(E=e[M>>2]|0,I2(E),I=t+24|0,m=e[I>>2]|0,p=(m|0)>0,B=t+28|0,p)for(t0=0;v=e[B>>2]|0,S=v+(t0<<2)|0,w=e[S>>2]|0,I2(w),b=t0+1|0,Q=e[I>>2]|0,_=(b|0)<(Q|0),_;)t0=b;L=e[B>>2]|0,I2(L),I2(t)}}function OS(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0;if(l0=C,c=e[t>>2]|0,U2(n,c,24),u=t+4|0,Q=e[u>>2]|0,U2(n,Q,24),Y=t+8|0,U=e[Y>>2]|0,$0=U+-1|0,U2(n,$0,24),Z=t+12|0,K=e[Z>>2]|0,a0=K+-1|0,U2(n,a0,6),n0=t+20|0,E=e[n0>>2]|0,U2(n,E,8),I=e[Z>>2]|0,m=(I|0)>0,!!m){for(p=t+24|0,i0=0,V=0;;){if(S=p+(V<<2)|0,w=e[S>>2]|0,y=Ft(w)|0,b=(y|0)>3,_=e[S>>2]|0,b?(U2(n,_,3),U2(n,1,1),L=e[S>>2]|0,R=L>>3,U2(n,R,5)):U2(n,_,4),F=e[S>>2]|0,M=(F|0)==0,M)s0=0;else for(A=F,g0=0;;)if(T=A&1,N=T+g0|0,G=A>>>1,O=(G|0)==0,O){s0=N;break}else A=G,g0=N;if(z=s0+i0|0,t0=V+1|0,J=e[Z>>2]|0,W=(t0|0)<(J|0),W)i0=z,V=t0;else{a=z;break}}if(B=(a|0)>0,!!B)for(v=t+280|0,h0=0;e0=v+(h0<<2)|0,q=e[e0>>2]|0,U2(n,q,8),X=h0+1|0,r0=(X|0)==(a|0),!r0;)h0=X}}function qS(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0;n1=C,E=n4(1,2840)|0,I=t+28|0,L=e[I>>2]|0,J=Z4(n,24)|0,e[E>>2]=J,i0=Z4(n,24)|0,C0=E+4|0,e[C0>>2]=i0,M0=Z4(n,24)|0,K0=M0+1|0,O0=E+8|0,e[O0>>2]=K0,r1=Z4(n,6)|0,m=r1+1|0,p=E+12|0,e[p>>2]=m,B=Z4(n,8)|0,v=E+20|0,e[v>>2]=B,S=(B|0)<0;e:do if(S)a1=26;else{if(w=(r1|0)>-1,w){for(y=E+24|0,e1=0,c1=0;;){if(_=Z4(n,3)|0,R=Z4(n,1)|0,F=(R|0)<0,F){a1=26;break e}if(M=(R|0)==0,M)b0=_;else{if(T=Z4(n,5)|0,N=(T|0)<0,N){a1=26;break e}G=T<<3,O=G|_,b0=O}if(z=y+(c1<<2)|0,e[z>>2]=b0,Y=(b0|0)==0,Y)l1=0;else for(a=b0,s1=0;;)if(t0=a&1,W=t0+s1|0,e0=a>>>1,q=(e0|0)==0,q){l1=W;break}else a=e0,s1=W;if(X=l1+e1|0,U=c1+1|0,$0=e[p>>2]|0,Z=(U|0)<($0|0),Z)e1=X,c1=U;else{u=X;break}}if(b=(u|0)>0,b)for(Q=E+280|0,$1=0;;){if(K=Z4(n,8)|0,a0=(K|0)<0,a0)break e;if(n0=Q+($1<<2)|0,e[n0>>2]=K,r0=$1+1|0,V=(r0|0)<(u|0),V)$1=r0;else{G0=b,q0=u;break}}else G0=0,q0=u}else G0=0,q0=0;if(h0=e[v>>2]|0,s0=L+24|0,g0=e[s0>>2]|0,j=(h0|0)<(g0|0),j){if(G0)for(l0=E+280|0,u1=0;;){if(w0=l0+(u1<<2)|0,k0=e[w0>>2]|0,f0=(k0|0)<(g0|0),!f0||(B0=(L+1824|0)+(k0<<2)|0,p0=e[B0>>2]|0,I0=p0+12|0,S0=e[I0>>2]|0,V0=(S0|0)==0,u0=u1+1|0,V0))break e;if(d0=(u0|0)<(q0|0),d0)u1=u0;else break}if(_0=(L+1824|0)+(h0<<2)|0,Q0=e[_0>>2]|0,L0=Q0+4|0,N0=e[L0>>2]|0,U0=e[Q0>>2]|0,y0=(U0|0)<1,!y0){for(H0=e[p>>2]|0,i1=U0,g1=1;;){if(T0=r5(H0,g1)|0,J0=(T0|0)>(N0|0),J0)break e;if(R0=i1+-1|0,D0=(i1|0)>1,D0)i1=R0,g1=T0;else{c=T0;break}}return Y0=E+16|0,e[Y0>>2]=c,A=E,A|0}}}while(!1);return(a1|0)==26&&(P0=(E|0)==0,P0)?(A=0,A|0):(I2(E),A=0,A|0)}function HS(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0;if(p1=C,u=n4(1,44)|0,E=t+4|0,_=e[E>>2]|0,t0=_+28|0,n0=e[t0>>2]|0,e[u>>2]=n,w0=n+12|0,L0=e[w0>>2]|0,P0=u+4|0,e[P0>>2]=L0,r1=n0+2848|0,q0=e[r1>>2]|0,I=u+12|0,e[I>>2]=q0,m=q0,p=n+20|0,B=e[p>>2]|0,v=m+(B*56|0)|0,S=u+16|0,e[S>>2]=v,w=e[v>>2]|0,y=n4(L0,4)|0,b=u+20|0,e[b>>2]=y,Q=(L0|0)>0,Q)for(L=n+24|0,R=n+280|0,e1=0,l1=0,h1=0;;){if(F=L+(l1<<2)|0,M=e[F>>2]|0,T=Ft(M)|0,N=(T|0)==0,N)c1=e1,m1=h1;else if(G=(T|0)>(h1|0),a=G?T:h1,O=n4(T,4)|0,z=y+(l1<<2)|0,e[z>>2]=O,Y=(T|0)>0,Y)for(J=e[F>>2]|0,W=y+(l1<<2)|0,b0=e1,o1=0;;)if(e0=1<>2]|0,$0=b0+1|0,Z=R+(b0<<2)|0,K=e[Z>>2]|0,a0=U+(K*56|0)|0,i0=e[W>>2]|0,r0=i0+(o1<<2)|0,e[r0>>2]=a0,i1=$0),V=o1+1|0,u1=(V|0)==(T|0),u1){c1=i1,m1=a;break}else b0=i1,o1=V;else c1=e1,m1=a;if(h0=l1+1|0,s0=(h0|0)<(L0|0),s0)e1=c1,l1=h0,h1=m1;else{I1=m1;break}}else I1=0;if(g0=u+24|0,e[g0>>2]=1,j=(w|0)>0,j){for(u0=1,s1=0;;)if(l0=r5(u0,L0)|0,d0=s1+1|0,$1=(d0|0)==(w|0),$1){A=l0;break}else u0=l0,s1=d0;e[g0>>2]=A,f0=A}else f0=1;if(C0=u+8|0,e[C0>>2]=I1,k0=f0<<2,B0=S9(k0)|0,p0=u+28|0,e[p0>>2]=B0,I0=(f0|0)>0,!I0)return u|0;if(S0=w<<2,!j){for(a1=0;Y0=S9(S0)|0,K0=B0+(a1<<2)|0,e[K0>>2]=Y0,G0=a1+1|0,O0=(G0|0)<(f0|0),O0;)a1=G0;return u|0}for(V0=e[p0>>2]|0,n1=0;;){for(D0=S9(S0)|0,T0=B0+(n1<<2)|0,e[T0>>2]=D0,J0=V0+(n1<<2)|0,H0=e[J0>>2]|0,c=f0,z0=0,E1=n1;d1=(c|0)/(L0|0)&-1,M0=(E1|0)/(d1|0)&-1,N0=r5(M0,d1)|0,U0=E1-N0|0,y0=H0+(z0<<2)|0,e[y0>>2]=M0,R0=z0+1|0,g1=(R0|0)==(w|0),!g1;)c=d1,z0=R0,E1=U0;if(_0=n1+1|0,Q0=(_0|0)<(f0|0),Q0)n1=_0;else break}return u|0}function YS(t,n,A,a,c){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0;var u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0;if(M=C,u=(c|0)>0,u)Q=0,_=0;else return 0;for(;;)if(E=a+(Q<<2)|0,I=e[E>>2]|0,m=(I|0)==0,m?L=_:(p=A+(Q<<2)|0,B=e[p>>2]|0,v=_+1|0,S=A+(_<<2)|0,e[S>>2]=B,L=v),w=Q+1|0,b=(w|0)==(c|0),b){R=L;break}else Q=w,_=L;return y=(R|0)==0,y||gQ(t,n,A,R,2),0}function JS(t,n,A,a,c,u,E,I){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0,u=u|0,E=E|0,I=I|0;var m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0;if(G=C,m=(u|0)>0,m)R=0,F=0;else return 0;for(;;)if(p=c+(R<<2)|0,B=e[p>>2]|0,v=(B|0)==0,v?M=F:(S=a+(R<<2)|0,w=e[S>>2]|0,y=F+1|0,b=a+(F<<2)|0,e[b>>2]=w,M=y),Q=R+1|0,L=(Q|0)==(u|0),L){T=M;break}else R=Q,F=M;return _=(T|0)==0,_||hQ(t,A,a,T,E),0}function VS(t,n,A,a,c){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0;var u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0;if(B1=C,I=(c|0)>0,I)i1=0,h1=0;else return u=0,u|0;for(;;)if(m=a+(i1<<2)|0,R=e[m>>2]|0,W=(R|0)==0,W?m1=h1:(r0=A+(i1<<2)|0,k0=e[r0>>2]|0,N0=h1+1|0,J0=A+(h1<<2)|0,e[J0>>2]=k0,m1=N0),Y0=i1+1|0,O0=(Y0|0)==(c|0),O0){d1=m1;break}else i1=Y0,h1=m1;if(P0=(d1|0)==0,P0)return u=0,u|0;if(p=e[n>>2]|0,B=p+8|0,v=e[B>>2]|0,S=p+12|0,w=e[S>>2]|0,y=p+4|0,b=e[y>>2]|0,Q=e[p>>2]|0,_=b-Q|0,L=(_|0)/(v|0)&-1,F=d1<<2,M=Ot(t,F)|0,T=+(v|0),N=100/T,G=N,O=(d1|0)>0,O)for(z=L<<2,c1=0;q=Ot(t,z)|0,X=M+(c1<<2)|0,e[X>>2]=q,Ae(q|0,0,z|0)|0,U=c1+1|0,b0=(U|0)==(d1|0),!b0;)c1=U;if(Y=(L|0)>0,Y)for(t0=(v|0)>0,J=w+-1|0,e0=(w|0)>1,$1=0;;){if($0=r5($1,v)|0,Z=e[p>>2]|0,K=Z+$0|0,O)for(g1=0;;){if(t0)for(a0=A+(g1<<2)|0,n0=e[a0>>2]|0,G0=0,l1=0,o1=0;;)if(i0=K+l1|0,V=n0+(i0<<2)|0,h0=e[V>>2]|0,u1=(h0|0)>-1,z0=0-h0|0,s0=u1?h0:z0,g0=(s0|0)>(o1|0),E=g0?s0:o1,j=s0+G0|0,l0=l1+1|0,r1=(l0|0)==(v|0),r1){K0=j,n1=E;break}else G0=j,l1=l0,o1=E;else K0=0,n1=0;u0=+(K0|0),d0=u0*G,w0=~~d0;e:do if(e0)for(a1=0;;){if(C0=(p+2328|0)+(a1<<2)|0,f0=e[C0>>2]|0,B0=(n1|0)>(f0|0),!B0&&(p0=(p+2584|0)+(a1<<2)|0,I0=e[p0>>2]|0,S0=(I0|0)<0,V0=(w0|0)<(I0|0),I1=S0|V0,I1)){s1=a1;break e}if(_0=a1+1|0,Q0=(_0|0)<(J|0),Q0)a1=_0;else{s1=_0;break}}else s1=0;while(!1);if(L0=M+(g1<<2)|0,M0=e[L0>>2]|0,U0=M0+($1<<2)|0,e[U0>>2]=s1,y0=g1+1|0,q0=(y0|0)==(d1|0),q0)break;g1=y0}if(H0=$1+1|0,e1=(H0|0)==(L|0),e1)break;$1=H0}return R0=n+40|0,D0=e[R0>>2]|0,T0=D0+1|0,e[R0>>2]=T0,u=M,u|0}function KS(t,n,A,a,c){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0;var u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0;if(M=C,u=(c|0)>0,u)Q=0,_=0;else return 0;for(;;)if(E=a+(Q<<2)|0,I=e[E>>2]|0,m=(I|0)==0,m?L=_:(p=A+(Q<<2)|0,B=e[p>>2]|0,v=_+1|0,S=A+(_<<2)|0,e[S>>2]=B,L=v),w=Q+1|0,b=(w|0)==(c|0),b){R=L;break}else Q=w,_=L;return y=(R|0)==0,y||gQ(t,n,A,R,3),0}function zS(t,n,A,a,c){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0;var u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0;if(z0=C,m=(c|0)>0,m)T0=0,n1=0;else return u=0,u|0;for(;;)if(p=a+(T0<<2)|0,F=e[p>>2]|0,g1=(F|0)!=0,e0=g1&1,s1=e0+n1|0,V=T0+1|0,H0=(V|0)==(c|0),H0){a1=s1;break}else T0=V,n1=s1;if(l1=(a1|0)==0,l1)return u=0,u|0;if(f0=e[n>>2]|0,V0=f0+8|0,_0=e[V0>>2]|0,Q0=f0+12|0,L0=e[Q0>>2]|0,B=f0+4|0,v=e[B>>2]|0,S=e[f0>>2]|0,w=v-S|0,y=(w|0)/(_0|0)&-1,b=Ot(t,4)|0,Q=y<<2,_=Ot(t,Q)|0,e[b>>2]=_,Ae(_|0,0,Q|0)|0,L=(y|0)>0,L)for(R=e[f0>>2]|0,M=(R|0)/(c|0)&-1,T=(_0|0)>0,N=L0+-1|0,G=(L0|0)>1,O=e[b>>2]|0,z=(c|0)>1,J0=0,q0=M;;){if(T)for(Y=e[A>>2]|0,N0=0,K0=0,b0=q0,c1=0;;){if(t0=Y+(b0<<2)|0,J=e[t0>>2]|0,Y0=(J|0)>-1,$1=0-J|0,W=Y0?J:$1,q=(W|0)>(c1|0),I=q?W:c1,z)for(y0=N0,r1=1;;)if(X=A+(r1<<2)|0,U=e[X>>2]|0,$0=U+(b0<<2)|0,Z=e[$0>>2]|0,P0=(Z|0)>-1,u1=0-Z|0,K=P0?Z:u1,a0=(K|0)>(y0|0),E=a0?K:y0,n0=r1+1|0,R0=(n0|0)==(c|0),R0){U0=E;break}else y0=E,r1=n0;else U0=N0;if(i0=b0+1|0,r0=K0+c|0,h0=(r0|0)<(_0|0),h0)N0=U0,K0=r0,b0=i0,c1=I;else{M0=U0,e1=i0,i1=I;break}}else M0=0,e1=q0,i1=0;e:do if(G)for(O0=0;;){if(s0=(f0+2328|0)+(O0<<2)|0,g0=e[s0>>2]|0,j=(i1|0)>(g0|0),!j&&(l0=(f0+2584|0)+(O0<<2)|0,u0=e[l0>>2]|0,d0=(M0|0)>(u0|0),!d0)){G0=O0;break e}if(w0=O0+1|0,C0=(w0|0)<(N|0),C0)O0=w0;else{G0=w0;break}}else G0=0;while(!1);if(k0=O+(J0<<2)|0,e[k0>>2]=G0,B0=J0+1|0,D0=(B0|0)==(y|0),D0)break;J0=B0,q0=e1}return p0=n+40|0,I0=e[p0>>2]|0,S0=I0+1|0,e[p0>>2]=S0,u=b,u|0}function ZS(t,n,A,a,c,u,E,I){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0,u=u|0,E=E|0,I=I|0;var m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0;if(n0=C,C=C+16|0,K=n0,m=n+36|0,p=e[m>>2]|0,F=(p|0)/2&-1,M=u<<2,T=r5(M,F)|0,N=Ot(n,T)|0,e[K>>2]=N,G=(u|0)>0,!G)return C=n0,0;for(O=(p|0)>1,J=0,Z=0;;){if(z=a+(J<<2)|0,Y=e[z>>2]|0,B=c+(J<<2)|0,v=e[B>>2]|0,q=(v|0)!=0,S=q&1,U=S+Z|0,O)for(W=0,e0=J;w=Y+(W<<2)|0,y=e[w>>2]|0,b=N+(e0<<2)|0,e[b>>2]=y,Q=W+1|0,_=e0+u|0,L=(Q|0)<(F|0),L;)W=Q,e0=_;if(R=J+1|0,t0=(R|0)==(u|0),t0){$0=U;break}else J=R,Z=U}return X=($0|0)==0,X?(C=n0,0):(hQ(t,A,K,1,E),C=n0,0)}function WS(t,n,A,a,c){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0;var u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0;if(Q1=C,I=e[n>>2]|0,m=I+8|0,R=e[m>>2]|0,W=n+16|0,r0=e[W>>2]|0,k0=e[r0>>2]|0,N0=t+36|0,G0=e[N0>>2]|0,l1=r5(G0,c)|0,s1=l1>>1,p=I+4|0,B=e[p>>2]|0,v=(B|0)<(s1|0),u=v?B:s1,S=e[I>>2]|0,w=u-S|0,y=(w|0)>0,!y)return 0;b=(w|0)/(R|0)&-1,Q=k0+-1|0,_=Q+b|0,L=(_|0)/(k0|0)&-1,F=L<<2,M=Ot(t,F)|0,T=(c|0)>0;e:do if(T)for(n1=0;;){if(N=a+(n1<<2)|0,G=e[N>>2]|0,O=(G|0)==0,!O){a1=n1;break e}if(z=n1+1|0,Y=(z|0)<(c|0),Y)n1=z;else{a1=z;break}}else a1=0;while(!1);if(t0=(a1|0)==(c|0),t0||(J=n+8|0,e0=e[J>>2]|0,q=(e0|0)>0,!q))return 0;X=(b|0)>0,U=t+4|0,$0=I+16|0,Z=n+28|0,K=(k0|0)>0,a0=n+20|0,g1=e0,B1=0;e:for(;;){if(X){for(n0=(B1|0)==0,i0=1<>2]|0,h0=Vm(V,U)|0,s0=(h0|0)==-1,s0){p1=23;break e}if(g0=e[$0>>2]|0,j=(h0|0)<(g0|0),!j){p1=23;break e}if(l0=e[Z>>2]|0,u0=l0+(h0<<2)|0,d0=e[u0>>2]|0,w0=M+(m1<<2)|0,e[w0>>2]=d0,C0=(d0|0)==0,C0){p1=23;break e}}if(f0=(o1|0)<(b|0),E1=K&f0,E1)for(B0=M+(m1<<2)|0,I1=o1,h1=0;;){if(p0=e[B0>>2]|0,I0=p0+(h1<<2)|0,S0=e[I0>>2]|0,V0=(I+24|0)+(S0<<2)|0,_0=e[V0>>2]|0,Q0=_0&i0,L0=(Q0|0)==0,!L0&&(M0=e[a0>>2]|0,U0=M0+(S0<<2)|0,y0=e[U0>>2]|0,H0=y0+(B1<<2)|0,R0=e[H0>>2]|0,D0=(R0|0)==0,!D0&&(T0=r5(I1,R)|0,J0=e[I>>2]|0,Y0=J0+T0|0,P0=rS(R0,A,Y0,c,U,R)|0,K0=(P0|0)==-1,K0))){p1=23;break e}if(O0=h1+1|0,r1=I1+1|0,q0=(O0|0)<(k0|0),e1=(r1|0)<(b|0),d1=q0&e1,d1)I1=r1,h1=O0;else{z0=r1;break}}else z0=o1;if(b0=m1+1|0,i1=(z0|0)<(b|0),i1)o1=z0,m1=b0;else break}E=e[J>>2]|0,u1=E}else u1=g1;if(c1=B1+1|0,$1=(c1|0)<(u1|0),$1)g1=u1,B1=c1;else{p1=23;break}}return(p1|0)==23,0}function gQ(t,n,A,a,c){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0;var u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,R1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0;if(j1=C,p=e[n>>2]|0,B=p+8|0,M=e[B>>2]|0,q=n+16|0,h0=e[q>>2]|0,B0=e[h0>>2]|0,y0=t+36|0,r1=e[y0>>2]|0,a1=r1>>1,Q1=p+4|0,v=e[Q1>>2]|0,S=(v|0)<(a1|0),u=S?v:a1,w=e[p>>2]|0,y=u-w|0,b=(y|0)>0,!b){C=j1;return}if(Q=(y|0)/(M|0)&-1,_=a<<2,E=_,L=C,C=C+((1*E|0)+15&-16)|0,R=(a|0)>0,R)for(F=B0+-1|0,T=F+Q|0,N=(T|0)/(B0|0)&-1,G=N<<2,G1=0;$0=Ot(t,G)|0,Z=L+(G1<<2)|0,e[Z>>2]=$0,K=G1+1|0,R1=(K|0)==(a|0),!R1;)G1=K;if(O=n+8|0,z=e[O>>2]|0,Y=(z|0)>0,!Y){C=j1;return}t0=(Q|0)>0,J=t+4|0,W=p+16|0,e0=n+28|0,X=(B0|0)>0,U=n+20|0,m=R^1,H1=0;e:for(;;){if(t0)for(a0=1<>2]|0,q0=Vm(O0,J)|0,e1=(q0|0)==-1,e1){Y1=25;break e}if(b0=e[W>>2]|0,i1=(q0|0)<(b0|0),!i1){Y1=25;break e}if(c1=e[e0>>2]|0,$1=c1+(q0<<2)|0,u1=e[$1>>2]|0,g1=L+(k1<<2)|0,l1=e[g1>>2]|0,s1=l1+(D1<<2)|0,e[s1>>2]=u1,n1=(u1|0)==0,K0=k1+1|0,n1){Y1=25;break e}if(G0=(K0|0)<(a|0),G0)k1=K0;else break}n0=(w1|0)<(Q|0),q1=X&n0;t:do if(q1){if(R)F1=w1,N1=0;else for(L1=w1,Z1=0;;)if(o1=Z1+1|0,z0=L1+1|0,I1=(o1|0)<(B0|0),h1=(z0|0)<(Q|0),V1=I1&h1,V1)L1=z0,Z1=o1;else{S1=z0;break t}for(;;){for(l0=r5(F1,M)|0,U1=0;;){if(g0=e[p>>2]|0,j=g0+l0|0,u0=L+(U1<<2)|0,d0=e[u0>>2]|0,w0=d0+(D1<<2)|0,C0=e[w0>>2]|0,k0=C0+(N1<<2)|0,f0=e[k0>>2]|0,p0=(p+24|0)+(f0<<2)|0,I0=e[p0>>2]|0,S0=I0&a0,V0=(S0|0)==0,!V0&&(_0=e[U>>2]|0,Q0=_0+(f0<<2)|0,L0=e[Q0>>2]|0,M0=L0+(H1<<2)|0,N0=e[M0>>2]|0,U0=(N0|0)==0,!U0&&(H0=A+(U1<<2)|0,R0=e[H0>>2]|0,D0=R0+(j<<2)|0,T0=IB[c&3](N0,D0,J,M)|0,J0=(T0|0)==-1,J0))){Y1=25;break e}if(Y0=U1+1|0,P0=(Y0|0)<(a|0),P0)U1=Y0;else break}if(i0=N1+1|0,r0=F1+1|0,V=(i0|0)<(B0|0),s0=(r0|0)<(Q|0),O1=V&s0,O1)F1=r0,N1=i0;else{S1=r0;break}}}else S1=w1;while(!1);if(m1=D1+1|0,d1=(S1|0)<(Q|0),d1)w1=S1,D1=m1;else break}if(E1=H1+1|0,B1=e[O>>2]|0,p1=(E1|0)<(B1|0),p1)H1=E1;else{Y1=25;break}}if((Y1|0)==25){C=j1;return}}function hQ(t,n,A,a,c){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0;var u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,R1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,R5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,R2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,k3=0,u3=0,p3=0,z3=0,G3=0,K5=0,w3=0,Z5=0,i6=0,R3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,L3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,X3=0,c6=0,p6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,R6=0,K6=0,I6=0;if(I6=C,C=C+1088|0,t3=I6+1056|0,M5=I6+1024|0,O6=I6+512|0,s3=I6,Q=e[n>>2]|0,_=Q+8|0,a2=e[_>>2]|0,H2=Q+12|0,Z2=e[H2>>2]|0,C5=n+16|0,M1=e[C5>>2]|0,u5=e[M1>>2]|0,h3=Q+4|0,G3=e[h3>>2]|0,L=e[Q>>2]|0,J=G3-L|0,i0=(J|0)/(a2|0)&-1,Ae(O6|0,0,512)|0,Ae(s3|0,0,512)|0,C0=n+8|0,M0=e[C0>>2]|0,K0=(M0|0)>0,!K0){C=I6;return}for(g1=(i0|0)>0,E1=(a|0)>0,k1=(u5|0)>1,r2=n+36|0,t2=(u5|0)>0,v2=n+20|0,w2=n+32|0,C2=0-u5|0,y2=M0,a6=0;;){if(g1){for(F2=(a6|0)==0,D2=1<>2]|0,G5=D5+(V5<<2)|0,_5=e[G5>>2]|0,q2=e[C5>>2]|0,I5=q2+4|0,A5=e[I5>>2]|0,c5=(_5|0)<(A5|0),c5&&(B5=xh(q2,_5,t)|0,S5=e[r2>>2]|0,g5=S5+B5|0,e[r2>>2]=g5),a5=C6+1|0,o6=(a5|0)==(a|0),o6)break e;C6=a5}for(;;){for(k2=c+(b3<<2)|0,f5=e[k2>>2]|0,m5=f5+(V5<<2)|0,n5=e[m5>>2]|0,f6=1,n6=n5;;)if(X2=r5(n6,Z2)|0,R5=f6+V5|0,e5=(R5|0)<(i0|0),e5?(b5=f5+(R5<<2)|0,v5=e[b5>>2]|0,P5=v5+X2|0,Q6=P5):Q6=X2,l5=f6+1|0,v3=(l5|0)==(u5|0),v3){R6=Q6;break}else f6=l5,n6=Q6;if(K2=e[C5>>2]|0,G2=K2+4|0,M2=e[G2>>2]|0,P2=(R6|0)<(M2|0),P2&&(z2=xh(K2,R6,t)|0,o5=e[r2>>2]|0,O2=o5+z2|0,e[r2>>2]=O2),T1=b3+1|0,y3=(T1|0)==(a|0),y3)break;b3=T1}}while(!1);if(x2=(V5|0)<(i0|0),b6=t2&x2,b6){for(_2=V5-i0|0,B2=_2>>>0>>0,N6=B2?C2:_2,L5=0-N6|0,l6=V5,H3=0;;){if(W2=r5(l6,a2)|0,g2=e[Q>>2]|0,p5=g2+W2|0,E1)for(t6=0;;){if(t5=c+(t6<<2)|0,s5=e[t5>>2]|0,h5=s5+(l6<<2)|0,J2=e[h5>>2]|0,F2&&(i5=s3+(J2<<2)|0,x5=e[i5>>2]|0,j2=x5+a2|0,e[i5>>2]=j2),$5=(Q+24|0)+(J2<<2)|0,R2=e[$5>>2]|0,Q5=R2&D2,q5=(Q5|0)==0,!q5&&(j5=e[v2>>2]|0,E5=j5+(J2<<2)|0,f3=e[E5>>2]|0,Y5=f3+(a6<<2)|0,X5=e[Y5>>2]|0,n3=(X5|0)==0,!n3)){if(m3=A+(t6<<2)|0,F5=e[m3>>2]|0,J5=e[X5>>2]|0,k3=(a2|0)/(J5|0)&-1,u3=(k3|0)>0,u3){for(p3=X5+48|0,z3=X5+52|0,K5=X5+44|0,w3=X5+12|0,Z5=X5+4|0,R=J5,k5=0,g3=0;;){i6=r5(g3,J5)|0,S=i6+p5|0,R3=F5+(S<<2)|0,U3=e[p3>>2]|0,a3=e[z3>>2]|0,l3=e[K5>>2]|0,c3=l3>>1,e[t3>>2]=0,e[t3+4>>2]=0,e[t3+8>>2]=0,e[t3+12>>2]=0,e[t3+16>>2]=0,e[t3+20>>2]=0,e[t3+24>>2]=0,e[t3+28>>2]=0,C3=(a3|0)==1,F=(R|0)>0;do if(C3){if(!F){X3=0;break}for(G=l3+-1|0,d3=0,B6=0,Y3=R;;)if(d0=Y3+-1|0,b=S+d0|0,w0=F5+(b<<2)|0,k0=e[w0>>2]|0,f0=k0-U3|0,B0=(f0|0)<(c3|0),B0?(p0=c3-f0|0,I0=p0<<1,S0=I0+-1|0,L0=S0):(V0=f0-c3|0,_0=V0<<1,L0=_0),Q0=r5(B6,l3)|0,N0=(L0|0)<0,U0=(L0|0)>=(l3|0),y0=U0?G:L0,H0=N0?0:y0,R0=H0+Q0|0,D0=t3+(d0<<2)|0,e[D0>>2]=k0,T0=d3+1|0,j3=(T0|0)==(R|0),j3){X3=R0;break}else d3=T0,B6=R0,Y3=d0}else{if(!F){X3=0;break}for(M=a3>>1,T=M-U3|0,N=l3+-1|0,S3=0,S6=0,D3=R;;)if(O=D3+-1|0,y=S+O|0,z=F5+(y<<2)|0,Y=e[z>>2]|0,t0=T+Y|0,W=(t0|0)/(a3|0)&-1,e0=(W|0)<(c3|0),e0?(q=c3-W|0,X=q<<1,U=X+-1|0,a0=U):($0=W-c3|0,Z=$0<<1,a0=Z),K=r5(S6,l3)|0,n0=(a0|0)<0,r0=(a0|0)>=(l3|0),V=r0?N:a0,h0=n0?0:V,s0=h0+K|0,g0=r5(W,a3)|0,j=g0+U3|0,l0=t3+(O<<2)|0,e[l0>>2]=j,u0=S3+1|0,O3=(u0|0)==(R|0),O3){X3=s0;break}else S3=u0,S6=s0,D3=O}while(!1);J0=e[w3>>2]|0,Y0=J0+8|0,P0=e[Y0>>2]|0,G0=P0+X3|0,O0=d[G0>>0]|0,r1=O0<<24>>24<1;do if(r1){if(e[M5>>2]=0,e[M5+4>>2]=0,e[M5+8>>2]=0,e[M5+12>>2]=0,e[M5+16>>2]=0,e[M5+20>>2]=0,e[M5+24>>2]=0,e[M5+28>>2]=0,q0=l3+-1|0,e1=r5(q0,a3)|0,b0=e1+U3|0,i1=e[Z5>>2]|0,c1=(i1|0)>0,c1)H5=-1,k6=0,c6=X3;else{x6=X3;break}for(;;){$1=P0+k6|0,u1=d[$1>>0]|0,l1=u1<<24>>24>0;do if(l1){if(F)for(Y6=0,_3=0;;)if(s1=M5+(Y6<<2)|0,a1=e[s1>>2]|0,w=S+Y6|0,n1=F5+(w<<2)|0,o1=e[n1>>2]|0,z0=a1-o1|0,I1=r5(z0,z0)|0,h1=I1+_3|0,m1=Y6+1|0,r6=(m1|0)==(R|0),r6){d6=h1;break}else Y6=m1,_3=h1;else d6=0;if(d1=(H5|0)==-1,B1=(d6|0)<(H5|0),Z3=d1|B1,!Z3){U5=H5,p6=c6;break}e[t3>>2]=e[M5>>2]|0,e[t3+4>>2]=e[M5+4>>2]|0,e[t3+8>>2]=e[M5+8>>2]|0,e[t3+12>>2]=e[M5+12>>2]|0,e[t3+16>>2]=e[M5+16>>2]|0,e[t3+20>>2]=e[M5+20>>2]|0,e[t3+24>>2]=e[M5+24>>2]|0,e[t3+28>>2]=e[M5+28>>2]|0,U5=d6,p6=k6}else U5=H5,p6=c6;while(!1);if(p1=e[M5>>2]|0,Q1=(p1|0)<(b0|0),Q1)E=M5,I=p1;else for(R1=M5,e6=0;;)if(x1=e6+1|0,e[R1>>2]=0,w1=M5+(x1<<2)|0,S1=e[w1>>2]|0,L1=(S1|0)<(b0|0),L1){E=w1,I=S1;break}else R1=w1,e6=x1;if(F1=(I|0)>-1,F1?(G1=I+a3|0,e[E>>2]=G1,Z1=G1):Z1=I,U1=0-Z1|0,e[E>>2]=U1,N1=k6+1|0,e3=(N1|0)==(i1|0),e3){x6=p6;break}else H5=U5,k6=N1,c6=p6}}else x6=X3;while(!1);if(D1=(x6|0)>-1,A6=F&D1,A6)for(u=R3,v6=0;V1=t3+(v6<<2)|0,O1=e[V1>>2]|0,q1=u+4|0,H1=e[u>>2]|0,Y1=H1-O1|0,e[u>>2]=Y1,j1=v6+1|0,A3=(j1|0)==(R|0),!A3;)u=q1,v6=j1;if(W1=xh(X5,x6,t)|0,P1=W1+k5|0,c2=g3+1|0,L3=(c2|0)==(k3|0),L3){m=P1;break}p=e[X5>>2]|0,R=p,k5=P1,g3=c2}B=e[t5>>2]|0,E2=B,O5=m}else E2=s5,O5=0;z1=e[w2>>2]|0,u2=z1+O5|0,e[w2>>2]=u2,s2=E2+(l6<<2)|0,o2=e[s2>>2]|0,K1=O6+(o2<<2)|0,h2=e[K1>>2]|0,$2=h2+O5|0,e[K1>>2]=$2}if(i2=t6+1|0,u6=(i2|0)==(a|0),u6)break;t6=i2}if(A2=H3+1|0,X1=l6+1|0,Q3=(A2|0)==(L5|0),Q3)break;l6=X1,H3=A2}N2=V5-N6|0,q3=N2}else q3=V5;if(d2=(q3|0)<(i0|0),d2)V5=q3;else break}v=e[C0>>2]|0,e2=v}else e2=y2;if(n2=a6+1|0,f2=(n2|0)<(e2|0),f2)y2=e2,a6=n2;else break}C=I6}function Ft(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0;if(p=C,A=(t|0)==0,A)E=0;else for(n=t,I=0;;)if(a=n>>>1,c=I+1|0,u=(a|0)==0,u){E=c;break}else n=a,I=c;return E|0}function uQ(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,R1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0;h2=C,C=C+144|0,P1=h2,m=(A|0)!=0,p=m?A:n,F=p<<2,e0=S9(F)|0,Ae(P1|0,0,132)|0,V=(n|0)>0;do if(V){f0=P1+4|0,U0=(A|0)==0,O0=U0&1,p1=0,k1=0;e:for(;;){s1=t+k1|0,B1=d[s1>>0]|0,B=B1<<24>>24,v=B1<<24>>24>0;t:do if(v){if(S=P1+(B<<2)|0,w=e[S>>2]|0,y=B1<<24>>24>31,b=w>>>B,Q=(b|0)==0,c2=y|Q,!c2){K1=5;break e}_=e0+(p1<<2)|0,e[_>>2]=w,L=P1+(B<<2)|0,R=w&1,M=(R|0)==0;i:do if(M)for(q=w,X=L,V1=B;;){if(W=q+1|0,e[X>>2]=W,U=V1+-1|0,$0=(V1|0)>1,!$0)break i;if(u=P1+(U<<2)|0,I=e[u>>2]|0,Z=P1+(U<<2)|0,K=I&1,a0=(K|0)==0,a0)q=I,X=Z,V1=U;else{c=Z,D1=U,K1=8;break}}else c=L,D1=B,K1=8;while(!1);do if((K1|0)==8)if(K1=0,N=(D1|0)==1,N){G=e[f0>>2]|0,O=G+1|0,e[f0>>2]=O;break}else{z=D1+-1|0,Y=P1+(z<<2)|0,t0=e[Y>>2]|0,J=t0<<1,e[c>>2]=J;break}while(!1);if(Y1=B+1|0,T=(Y1|0)<33,T)for(L1=w,q1=B,j1=Y1;;){if(n0=P1+(j1<<2)|0,i0=e[n0>>2]|0,r0=i0>>>1,h0=(r0|0)==(L1|0),!h0){E=1;break t}if(s0=P1+(q1<<2)|0,g0=e[s0>>2]|0,j=g0<<1,e[n0>>2]=j,O1=j1+1|0,l0=(O1|0)<33,l0)H1=j1,L1=i0,j1=O1,q1=H1;else{E=1;break}}else E=1}else E=O0;while(!1);if(Q1=p1+E|0,u0=k1+1|0,d0=(u0|0)<(n|0),d0)p1=Q1,k1=u0;else{x1=Q1,K1=16;break}}if((K1|0)==5)return I2(e0),a=0,C=h2,a|0;if((K1|0)==16){if(z1=(x1|0)==1,!z1){U1=1,K1=27;break}if(w0=P1+8|0,C0=e[w0>>2]|0,k0=(C0|0)==2,k0)break;U1=1,K1=27;break}}else U1=1,K1=27;while(!1);e:do if((K1|0)==27){for(;K1=0,K0=P1+(U1<<2)|0,G0=e[K0>>2]|0,r1=32-U1|0,q0=-1>>>r1,e1=G0&q0,b0=(e1|0)==0,Y0=U1+1|0,!!b0;)if(P0=(Y0|0)<33,P0)U1=Y0,K1=27;else break e;return I2(e0),a=0,C=h2,a|0}while(!1);if(!V)return a=e0,C=h2,a|0;if(m)w1=0,N1=0;else{for(R1=0,Z1=0;;){if(i1=t+Z1|0,c1=d[i1>>0]|0,$1=c1<<24>>24>0,$1)for(u1=e0+(R1<<2)|0,g1=e[u1>>2]|0,l1=c1<<24>>24,r2=0,E2=0;;)if(a1=E2<<1,n1=g1>>>r2,o1=n1&1,z0=o1|a1,I1=r2+1|0,h1=(I1|0)<(l1|0),h1)r2=I1,E2=z0;else{u2=z0;break}else u2=0;if(m1=R1+1|0,d1=e0+(R1<<2)|0,e[d1>>2]=u2,E1=Z1+1|0,F1=(E1|0)==(n|0),F1){a=e0;break}else R1=m1,Z1=E1}return C=h2,a|0}for(;;){if(B0=t+N1|0,p0=d[B0>>0]|0,I0=p0<<24>>24>0,I0)for(J0=e0+(w1<<2)|0,N0=e[J0>>2]|0,T0=p0<<24>>24,W1=0,o2=0;;)if(L0=o2<<1,M0=N0>>>W1,y0=M0&1,H0=y0|L0,R0=W1+1|0,D0=(R0|0)<(T0|0),D0)W1=R0,o2=H0;else{s2=H0;break}else s2=0;if(S0=p0<<24>>24==0,S0?S1=w1:(V0=w1+1|0,_0=e0+(w1<<2)|0,e[_0>>2]=s2,S1=V0),Q0=N1+1|0,G1=(Q0|0)==(n|0),G1){a=e0;break}else w1=S1,N1=Q0}return C=h2,a|0}function jS(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0;if(q=C,a=t+4|0,c=e[a>>2]|0,b=e[t>>2]|0,Q=(b|0)>0,!Q)for(;;);for(_=+(c|0),L=_,R=+(b|0),F=1/R,M=F,T=+bh(+L,+M),u=+KA(+T),E=~~u,Y=E;;){for(S=Y+1|0,N=1,G=1,O=0;;)if(B=r5(N,Y)|0,v=r5(G,S)|0,w=O+1|0,y=(w|0)<(b|0),y)N=B,G=v,O=w;else{n=B,A=v;break}if(I=(n|0)<=(c|0),m=(A|0)>(c|0),z=I&m,z){W=Y;break}p=(n|0)>(c|0),J=p?-1:1,t0=Y+J|0,Y=t0}return W|0}function XS(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,R1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,R5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,R2=0,Q5=0,q5=0;if(q5=C,p=t+12|0,B=e[p>>2]|0,m=B+-1|0,i5=m>>>0<2,!i5)return u=0,u|0;if(q0=t+16|0,n1=e[q0>>2]|0,x1=n1&2097151,D1=+(x1|0),z1=n1>>>21,A2=z1&1023,N2=(n1|0)<0,X2=-D1,a=N2?X2:D1,v=A2+-788|0,T=+Zm(a,v),X=T,s0=t+20|0,p0=e[s0>>2]|0,H0=p0&2097151,K0=+(H0|0),G0=p0>>>21,O0=G0&1023,r1=(p0|0)<0,e1=-K0,c=r1?e1:K0,b0=O0+-788|0,i1=+Zm(c,b0),c1=i1,$1=e[t>>2]|0,u1=r5($1,n)|0,g1=n4(u1,4)|0,(B|0)==1){if(B1=t+4|0,p1=e[B1>>2]|0,Q1=($1|0)>0,!Q1)for(;;);for(R1=+(p1|0),w1=R1,S1=+($1|0),L1=1/S1,F1=L1,G1=+bh(+w1,+F1),k1=+KA(+G1),U1=~~k1,$5=U1;;){for(u2=$5+1|0,n5=1,x2=1,I5=0;;)if(P1=r5(n5,$5)|0,c2=r5(x2,u2)|0,s2=I5+1|0,d5=(s2|0)==($1|0),d5){E=P1,I=c2;break}else n5=P1,x2=c2,I5=s2;if(Z1=(E|0)<=(p1|0),N1=(I|0)>(p1|0),u5=N1&Z1,u5){R2=$5;break}W1=(E|0)>(p1|0),j2=W1?-1:1,x5=j2+$5|0,$5=x5}if(V1=(p1|0)>0,!V1)return u=g1,u|0;for(O1=(A|0)==0,q1=t+8|0,H1=t+32|0,Y1=c1,j1=X,r2=t+28|0,_2=0,M1=0;;){if(O1)if(a2=e[H1>>2]|0,t2=e[r2>>2]|0,$2=(t2|0)==0,i2=r5($1,_2)|0,$2)for(B5=1,W2=0;;)if(b5=(M1|0)/(B5|0)&-1,Z2=(b5|0)%(R2|0)&-1,f5=a2+(Z2<<2)|0,v5=e[f5>>2]|0,P5=+(v5|0),q2=+zi(+P5),l5=q2,k2=l5*Y1,m5=j1+k2,S=m5,w=i2+W2|0,y=g1+(w<<2)|0,s[y>>2]=S,b=r5(B5,R2)|0,Q=W2+1|0,_=(Q|0)<($1|0),_)B5=b,W2=Q;else{Q5=21;break}else for(A5=1,g5=0,t5=0;;)if(L=(M1|0)/(A5|0)&-1,R=(L|0)%(R2|0)&-1,F=a2+(R<<2)|0,M=e[F>>2]|0,N=+(M|0),G5=+zi(+N),G=G5,O=G*Y1,z=t5,Y=z+j1,t0=Y+O,J=t0,W=i2+g5|0,e0=g1+(W<<2)|0,s[e0>>2]=J,q=r5(A5,R2)|0,U=g5+1|0,$0=(U|0)<($1|0),$0)A5=q,g5=U,t5=J;else{Q5=21;break}else if(E2=e[q1>>2]|0,o2=E2+M1|0,K1=d[o2>>0]|0,h2=K1<<24>>24==0,h2)B2=_2;else for(X1=e[H1>>2]|0,n2=e[r2>>2]|0,f2=(n2|0)==0,e2=A+(_2<<2)|0,y2=e[e2>>2]|0,v2=r5(y2,$1)|0,c5=1,a5=0,s5=0;;)if(w2=(M1|0)/(c5|0)&-1,C2=(w2|0)%(R2|0)&-1,F2=X1+(C2<<2)|0,D2=e[F2>>2]|0,d2=+(D2|0),_5=+zi(+d2),K2=_5,G2=K2*Y1,H2=s5,M2=H2+j1,P2=M2+G2,z2=P2,p5=f2?s5:z2,o5=v2+a5|0,O2=g1+(o5<<2)|0,s[O2>>2]=z2,T1=r5(c5,R2)|0,R5=a5+1|0,e5=(R5|0)<($1|0),e5)c5=T1,a5=R5,s5=p5;else{Q5=21;break}if((Q5|0)==21&&(Q5=0,Z=_2+1|0,B2=Z),K=M1+1|0,a0=(K|0)<(p1|0),a0)_2=B2,M1=K;else{u=g1;break}}return u|0}else if((B|0)==2){if(l1=t+4|0,s1=e[l1>>2]|0,a1=(s1|0)>0,!a1)return u=g1,u|0;for(o1=(A|0)!=0,z0=t+8|0,I1=t+32|0,h1=c1,m1=X,d1=t+28|0,E1=($1|0)>0,C5=0,S5=0;;){if(o1?(n0=e[z0>>2]|0,i0=n0+S5|0,r0=d[i0>>0]|0,V=r0<<24>>24==0,V?L5=C5:Q5=25):Q5=25,(Q5|0)==25){if(Q5=0,E1)for(h0=e[I1>>2]|0,g0=e[d1>>2]|0,j=(g0|0)==0,l0=A+(C5<<2)|0,u0=r5($1,S5)|0,d0=r5($1,C5)|0,g2=0,J2=0;w0=u0+g2|0,C0=h0+(w0<<2)|0,k0=e[C0>>2]|0,f0=+(k0|0),D5=+zi(+f0),B0=D5,I0=B0*h1,S0=J2,V0=S0+m1,_0=V0+I0,Q0=_0,h5=j?J2:Q0,o1?(L0=e[l0>>2]|0,M0=r5(L0,$1)|0,N0=M0+g2|0,U0=g1+(N0<<2)|0,s[U0>>2]=Q0):(y0=d0+g2|0,R0=g1+(y0<<2)|0,s[R0>>2]=Q0),D0=g2+1|0,T0=(D0|0)<($1|0),T0;)g2=D0,J2=h5;J0=C5+1|0,L5=J0}if(Y0=S5+1|0,P0=(Y0|0)<(s1|0),P0)C5=L5,S5=Y0;else{u=g1;break}}return u|0}else return u=g1,u|0;return 0}function hB(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0;v=C,n=t+36|0,A=e[n>>2]|0,a=(A|0)==0,!a&&(c=t+32|0,u=e[c>>2]|0,E=(u|0)==0,E||I2(u),I=t+8|0,m=e[I>>2]|0,p=(m|0)==0,p||I2(m),I2(t))}function eb(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0;L=C,n=t+16|0,A=e[n>>2]|0,m=(A|0)==0,m||I2(A),p=t+20|0,B=e[p>>2]|0,v=(B|0)==0,v||I2(B),S=t+24|0,w=e[S>>2]|0,y=(w|0)==0,y||I2(w),b=t+28|0,a=e[b>>2]|0,c=(a|0)==0,c||I2(a),u=t+32|0,E=e[u>>2]|0,I=(E|0)==0,I||I2(E),Q=t,R=Q+56|0;do e[Q>>2]=0,Q=Q+4|0;while((Q|0)<(R|0))}function fQ(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0;G0=C,P0=t,O0=P0+56|0;do e[P0>>2]=0,P0=P0+4|0;while((P0|0)<(O0|0));if(E=t+12|0,e[E>>2]=n,I=n+4|0,L=e[I>>2]|0,J=t+4|0,e[J>>2]=L,i0=t+8|0,e[i0>>2]=L,C0=e[n>>2]|0,e[t>>2]=C0,S0=n+8|0,V0=e[S0>>2]|0,_0=uQ(V0,L,0)|0,Q0=t+20|0,e[Q0>>2]=_0,m=e[I>>2]|0,p=e[n>>2]|0,B=(p|0)>0,!B)for(;;);for(v=+(m|0),S=v,w=+(p|0),y=1/w,b=y,Q=+bh(+S,+b),_=+KA(+Q),R=~~_,J0=R;;){for(O=J0+1|0,L0=1,M0=1,U0=0;;)if(N=r5(L0,J0)|0,G=r5(M0,O)|0,z=U0+1|0,N0=(z|0)==(p|0),N0){c=N,u=G;break}else L0=N,M0=G,U0=z;if(F=(c|0)<=(m|0),M=(u|0)>(m|0),y0=M&F,y0){Y0=J0;break}T=(c|0)>(m|0),T0=T?-1:1,D0=T0+J0|0,J0=D0}return Y=t+44|0,e[Y>>2]=Y0,t0=n+16|0,W=e[t0>>2]|0,e0=W&2097151,q=+(e0|0),X=W>>>21,U=X&1023,$0=(W|0)<0,Z=-q,A=$0?Z:q,K=U+-788|0,a0=+Zm(A,K),n0=a0,H0=+BQ(n0),r0=~~H0,V=t+48|0,e[V>>2]=r0,h0=n+20|0,s0=e[h0>>2]|0,g0=s0&2097151,j=+(g0|0),l0=s0>>>21,u0=l0&1023,d0=(s0|0)<0,w0=-j,a=d0?w0:j,k0=u0+-788|0,f0=+Zm(a,k0),B0=f0,R0=+BQ(B0),p0=~~R0,I0=t+52|0,e[I0>>2]=p0,0}function tb(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,R1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,R5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,R2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,k3=0,u3=0,p3=0,z3=0,G3=0,K5=0,w3=0,Z5=0,i6=0,R3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,L3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,X3=0,c6=0,p6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,R6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,L6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0;M3=C,y6=t,M6=y6+56|0;do e[y6>>2]=0,y6=y6+4|0;while((y6|0)<(M6|0));if(S=n+4|0,w=e[S>>2]|0,E2=(w|0)>0,E2)for(q2=n+8|0,p5=e[q2>>2]|0,H3=0,R6=0;;)if(Q5=p5+H3|0,J5=d[Q5>>0]|0,U3=J5<<24>>24>0,o6=U3&1,m=o6+R6|0,V5=H3+1|0,y=(V5|0)<(w|0),y)H3=V5,R6=m;else{l0=m;break}else l0=0;if(O=t+4|0,e[O>>2]=w,Z=t+8|0,e[Z>>2]=l0,V0=e[n>>2]|0,e[t>>2]=V0,T0=(l0|0)>0,!T0)return a=0,C=M3,a|0;if(i1=n+8|0,I1=e[i1>>2]|0,S1=uQ(I1,w,l0)|0,q1=l0<<2,u=q1,o2=C,C=C+((1*u|0)+15&-16)|0,e2=(S1|0)==0,e2){P2=t+16|0,z2=e[P2>>2]|0,o5=(z2|0)==0,o5||I2(z2),O2=t+20|0,T1=e[O2>>2]|0,X2=(T1|0)==0,X2||I2(T1),R5=t+24|0,e5=e[R5>>2]|0,b5=(e5|0)==0,b5||I2(e5),f5=t+28|0,v5=e[f5>>2]|0,P5=(v5|0)==0,P5||I2(v5),l5=t+32|0,k2=e[l5>>2]|0,m5=(k2|0)==0,m5||I2(k2),y6=t,M6=y6+56|0;do e[y6>>2]=0,y6=y6+4|0;while((y6|0)<(M6|0));return a=-1,C=M3,a|0}else D3=0;for(;H2=S1+(D3<<2)|0,Z2=e[H2>>2]|0,C5=Z2>>>16,L5=Z2<<16,d5=C5|L5,D5=d5>>>8,G5=D5&16711935,_5=d5<<8,I5=_5&-16711936,A5=G5|I5,c5=A5>>>4,B5=c5&252645135,M1=A5<<4,S5=M1&-252645136,g5=B5|S5,a5=g5>>>2,W2=a5&858993459,g2=g5<<2,t5=g2&-858993460,s5=W2|t5,h5=s5>>>1,J2=h5&1431655765,u5=s5<<1,i5=u5&-1431655766,x5=J2|i5,e[H2>>2]=x5,j2=o2+(D3<<2)|0,e[j2>>2]=H2,$5=D3+1|0,Y6=($5|0)==(l0|0),!Y6;)D3=$5;for(Lh(o2,l0,4,10),E=q1,R2=C,C=C+((1*E|0)+15&-16)|0,q5=S9(q1)|0,j5=t+20|0,e[j5>>2]=q5,E5=S1,Y3=0;;)if(f3=o2+(Y3<<2)|0,h3=e[f3>>2]|0,Y5=h3,X5=Y5-E5|0,n3=X5>>2,m3=R2+(n3<<2)|0,e[m3>>2]=Y3,F5=Y3+1|0,x6=(F5|0)==(l0|0),x6){Z3=0;break}else Y3=F5;for(;k3=S1+(Z3<<2)|0,u3=e[k3>>2]|0,p3=R2+(Z3<<2)|0,z3=e[p3>>2]|0,G3=q5+(z3<<2)|0,e[G3>>2]=u3,K5=Z3+1|0,p6=(K5|0)==(l0|0),!p6;)Z3=K5;if(I2(S1),w3=XS(n,l0,R2)|0,Z5=t+16|0,e[Z5>>2]=w3,i6=S9(q1)|0,R3=t+24|0,e[R3>>2]=i6,a3=e[S>>2]|0,l3=(a3|0)>0,l3)for(p=e[i1>>2]|0,b6=0,I6=0;;)if(c3=p+b6|0,C3=d[c3>>0]|0,H5=C3<<24>>24>0,H5?(U5=I6+1|0,O5=R2+(I6<<2)|0,k5=e[O5>>2]|0,P3=i6+(k5<<2)|0,e[P3>>2]=b6,J6=U5):J6=I6,M5=b6+1|0,e3=(M5|0)<(a3|0),e3)b6=M5,I6=J6;else{K6=J6;break}else K6=0;if(A3=S9(K6)|0,L3=t+28|0,e[L3>>2]=A3,u6=t+40|0,e[u6>>2]=0,l3){for(B=e[i1>>2]|0,n5=0,v3=B,A6=0,j6=0;;)if(Q3=v3+A6|0,y3=d[Q3>>0]|0,r6=y3<<24>>24>0,r6?(j3=j6+1|0,O3=R2+(j6<<2)|0,S3=e[O3>>2]|0,g3=e[L3>>2]|0,q3=g3+S3|0,d[q3>>0]=y3,l6=e[i1>>2]|0,d3=l6+A6|0,k6=d[d3>>0]|0,v6=k6<<24>>24,S6=e[u6>>2]|0,B6=(v6|0)>(S6|0),B6?(e[u6>>2]=v6,x2=v6,_2=l6,G6=j3):(x2=S6,_2=l6,G6=j3)):(x2=n5,_2=v3,G6=j6),X3=A6+1|0,b=e[S>>2]|0,Q=(X3|0)<(b|0),Q)n5=x2,v3=_2,A6=X3,j6=G6;else{I=x2,e9=G6;break}if(_=(e9|0)==1,_){if(L=(I|0)==1,L)return R=t+36|0,e[R>>2]=1,F=n4(2,4)|0,M=t+32|0,e[M>>2]=F,T=F+4|0,e[T>>2]=1,e[F>>2]=1,a=0,C=M3,a|0;F3=1}else F3=e9}else F3=0;if(N=e[Z>>2]|0,G=(N|0)==0,G)L6=-4;else{for(c=N,U6=0;;)if(z=c>>>1,Y=U6+1|0,t0=(z|0)==0,t0){D6=U6;break}else c=z,U6=Y;s9=D6+-3|0,L6=s9}if(J=t+36|0,W=(L6|0)<5,A=W?5:L6,e0=(A|0)>8,z6=e0?8:A,e[J>>2]=z6,q=1<>2]=X,$0=(F3|0)>0,$0)for(r0=z6,t3=0;;){if(K=e[L3>>2]|0,a0=K+t3|0,n0=d[a0>>0]|0,i0=n0<<24>>24,V=(r0|0)<(i0|0),V)B2=r0;else if(h0=e[j5>>2]|0,s0=h0+(t3<<2)|0,g0=e[s0>>2]|0,j=g0>>>16,u0=g0<<16,d0=j|u0,w0=d0>>>8,C0=w0&16711935,k0=d0<<8,f0=k0&-16711936,B0=C0|f0,p0=B0>>>4,I0=p0&252645135,S0=B0<<4,_0=S0&-252645136,Q0=I0|_0,L0=Q0>>>2,M0=L0&858993459,N0=Q0<<2,U0=N0&-858993460,y0=M0|U0,H0=y0>>>1,R0=H0&1431655765,D0=y0<<1,J0=D0&-1431655766,Y0=R0|J0,P0=r0-i0|0,K0=(P0|0)==31,K0)B2=r0;else for(G0=t3+1|0,r1=i0,s3=0;;)if(O0=s3<>2]=G0,b0=s3+1|0,c1=e[J>>2]|0,$1=d[a0>>0]|0,u1=$1<<24>>24,g1=c1-u1|0,l1=1<>>16,p1=E1<<16,Q1=B1|p1,x1=Q1>>>8,R1=x1&16711935,w1=Q1<<8,L1=w1&-16711936,F1=R1|L1,G1=F1>>>4,k1=G1&252645135,U1=F1<<4,Z1=U1&-252645136,N1=k1|Z1,D1=N1>>>2,V1=D1&858993459,O1=N1<<2,H1=O1&-858993460,Y1=V1|H1,j1=Y1>>>1,r2=j1&1431655765,W1=Y1<<1,P1=W1&-1431655766,c2=r2|P1,z1=X+(c2<<2)|0,u2=e[z1>>2]|0,s2=(u2|0)==0,s2){for(d6=a6;;){if(K1=d6+1|0,h2=(K1|0)<(F3|0),!h2){_3=d6;break}if(a2=e[j5>>2]|0,t2=a2+(K1<<2)|0,$2=e[t2>>2]|0,i2=$2>>>0>E1>>>0,i2){_3=d6;break}else d6=K1}A2=(F3|0)>(C6|0);e:do if(A2)for(X1=e[j5>>2]|0,e6=C6;;){if(n2=X1+(e6<<2)|0,f2=e[n2>>2]|0,y2=f2&z0,v2=E1>>>0>>0,v2){b3=e6;break e}if(w2=e6+1|0,C2=(F3|0)>(w2|0),C2)e6=w2;else{b3=w2;break}}else b3=C6;while(!1);F2=F3-b3|0,D2=_3>>>0>32767,N2=F2>>>0>32767,f6=N2?32767:F2,N6=_3<<15,n6=N6|-2147483648,d2=D2?-1073774592:n6,K2=d2|f6,e[z1>>2]=K2,t6=b3,Q6=_3}else t6=C6,Q6=a6;if(G2=O6+1|0,M2=(G2|0)<(q|0),!M2){a=0;break}v=e[J>>2]|0,d1=v,C6=t6,O6=G2,a6=Q6}return C=M3,a|0}function ib(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0;return S=C,A=e[t>>2]|0,a=e[A>>2]|0,c=e[n>>2]|0,u=e[c>>2]|0,E=a>>>0>u>>>0,I=E&1,m=a>>>0>>0,p=m&1,B=I-p|0,B|0}function rb(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0;if(V0=C,p=e[t>>2]|0,B=(p|0)==1,!B&&(M=t+4|0,q=e[M>>2]|0,i0=t+8|0,r0=e[i0>>2]|0,V=r0+4|0,h0=e[V>>2]|0,s0=(h0|0)>0,!!s0)){for(g0=h0+1|0,m=p+-1|0,d0=p,w0=0,C0=p,f0=1;;){v=g0-w0|0,S=r0+(v<<2)|0,w=e[S>>2]|0,y=(C0|0)/(w|0)&-1,b=(p|0)/(C0|0)&-1,Q=r5(b,y)|0,_=w+-1|0,L=r5(b,_)|0,R=d0-L|0,F=1-f0|0;do if((w|0)==2)if(Y=(F|0)==0,A=m+R|0,t0=q+(A<<2)|0,Y){mQ(b,y,n,q,t0),B0=0;break}else{mQ(b,y,q,n,t0),B0=F;break}else if((w|0)==4)if(T=R+b|0,N=(F|0)==0,a=m+R|0,G=q+(a<<2)|0,c=m+T|0,O=q+(c<<2)|0,u=m+b|0,E=u+T|0,z=q+(E<<2)|0,N){EQ(b,y,n,q,G,O,z),B0=0;break}else{EQ(b,y,q,n,G,O,z),B0=F;break}else if(J=(b|0)==1,k0=J?f0:F,W=(k0|0)==0,I=m+R|0,e0=q+(I<<2)|0,W){CQ(b,w,y,Q,n,n,n,q,q,e0),B0=1;break}else{CQ(b,w,y,Q,q,q,q,n,n,e0),B0=0;break}while(!1);if(X=w0+1|0,l0=(X|0)==(h0|0),l0){p0=B0;break}else d0=R,w0=X,C0=y,f0=B0}if(U=(p0|0)!=1,$0=(p|0)>0,I0=$0&U,I0)u0=0;else return;for(;Z=q+(u0<<2)|0,K=e[Z>>2]|0,a0=n+(u0<<2)|0,e[a0>>2]=K,n0=u0+1|0,j=(n0|0)==(p|0),!j;)u0=n0}}function dQ(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0;if(I1=C,e[t>>2]=n,E=n*3|0,I=n4(E,4)|0,L=t+4|0,e[L>>2]=I,J=n4(32,4)|0,i0=t+8|0,e[i0>>2]=J,C0=(n|0)==1,!C0){V0=J+8|0,q0=-1,$1=0,u1=n,l1=0;e:for(;;)for(_0=q0+1|0,Q0=(_0|0)<4,Q0?(L0=25768+(_0<<2)|0,m=e[L0>>2]|0,s1=m):(p=l1+2|0,s1=p),B=(s1|0)!=2,P0=$1,g1=u1;;){if(J0=P0+1|0,v=(g1|0)/(s1|0)&-1,S=r5(v,s1)|0,w=(g1|0)==(S|0),!w){q0=_0,$1=P0,u1=g1,l1=s1;continue e}if(y=P0+2|0,b=J+(y<<2)|0,e[b>>2]=s1,Q=(P0|0)==0,a1=B|Q,!a1){if(_=(P0|0)<1,!_)for(R0=1;R=J0-R0|0,F=R+1|0,M=J+(F<<2)|0,T=e[M>>2]|0,N=R+2|0,G=J+(N<<2)|0,e[G>>2]=T,O=R0+1|0,y0=(O|0)==(J0|0),!y0;)R0=O;e[V0>>2]=2}if(z=(v|0)==1,z){A=Q,Y0=J0,K0=P0;break e}else P0=J0,g1=v}if(e[J>>2]=n,Y=J+4|0,e[Y>>2]=Y0,t0=+(n|0),W=6.2831854820251465/t0,a=A^1,e0=(K0|0)>0,n1=e0&a,!!n1)for(q=n+1|0,G0=0,b0=0,i1=1;;){if(X=b0+2|0,U=J+(X<<2)|0,$0=e[U>>2]|0,Z=r5($0,i1)|0,K=(n|0)/(Z|0)&-1,a0=($0|0)>1,a0){for(n0=(K|0)>2,r0=$0+-1|0,r1=G0,e1=0,c1=0;;){if(V=c1+i1|0,h0=+(V|0),s0=h0*W,n0)for(H0=0,D0=r1,T0=2;g0=H0+1,j=s0*g0,M0=+zA(+j),c=D0+n|0,l0=I+(c<<2)|0,s[l0>>2]=M0,o1=+Nn(+j),u0=D0+2|0,u=q+D0|0,d0=I+(u<<2)|0,s[d0>>2]=o1,w0=T0+2|0,k0=(w0|0)<(K|0),k0;)H0=g0,D0=u0,T0=w0;if(f0=r1+K|0,B0=e1+1|0,N0=(B0|0)==(r0|0),N0)break;r1=f0,e1=B0,c1=V}p0=r5(K,r0)|0,I0=p0+G0|0,O0=I0}else O0=G0;if(S0=b0+1|0,U0=(S0|0)==(K0|0),U0)break;G0=O0,b0=S0,i1=Z}}}function IQ(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0;p=C,n=(t|0)==0,!n&&(A=t+4|0,a=e[A>>2]|0,c=(a|0)==0,c||I2(a),u=t+8|0,E=e[u>>2]|0,I=(E|0)==0,I||I2(E),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0)}function EQ(t,n,A,a,c,u,E){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0,u=u|0,E=E|0;var I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,R1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,R5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,R2=0,Q5=0,q5=0,j5=0,E5=0,f3=0;if(f3=C,I=r5(n,t)|0,m=I<<1,m1=(n|0)>0,m1)for(F1=I*3|0,Y1=t<<2,K1=Y1+-1|0,y2=t<<1,g2=0,s5=I,u5=F1,j2=0,$5=m;M2=A+(s5<<2)|0,f5=+s[M2>>2],L5=A+(u5<<2)|0,p=+s[L5>>2],F=p+f5,e0=A+(j2<<2)|0,V=+s[e0>>2],f0=A+($5<<2)|0,U0=+s[f0>>2],O0=U0+V,s1=O0+F,I1=j2<<2,h1=a+(I1<<2)|0,s[h1>>2]=s1,d1=O0-F,E1=K1+I1|0,B1=a+(E1<<2)|0,s[B1>>2]=d1,p1=+s[e0>>2],Q1=+s[f0>>2],x1=p1-Q1,R1=I1+y2|0,w1=R1+-1|0,S1=a+(w1<<2)|0,s[S1>>2]=x1,L1=+s[L5>>2],G1=+s[M2>>2],k1=L1-G1,U1=a+(R1<<2)|0,s[U1>>2]=k1,Z1=s5+t|0,N1=u5+t|0,D1=j2+t|0,V1=$5+t|0,O1=g2+1|0,g5=(O1|0)==(n|0),!g5;)g2=O1,s5=Z1,u5=N1,j2=D1,$5=V1;if(q1=(t|0)<2,!q1){if(H1=(t|0)==2,!H1){if(m1)for(j1=t<<1,p5=0,h5=0;;){for(j=h5<<2,l0=j+j1|0,W2=2,i5=h5,R2=j,q5=l0;P1=i5+2|0,c2=R2+2|0,z1=q5+-2|0,u2=P1+I|0,s2=W2+-2|0,E2=c+(s2<<2)|0,o2=+s[E2>>2],h2=u2+-1|0,a2=A+(h2<<2)|0,t2=+s[a2>>2],$2=t2*o2,i2=W2+-1|0,A2=c+(i2<<2)|0,X1=+s[A2>>2],n2=A+(u2<<2)|0,f2=+s[n2>>2],e2=f2*X1,v2=e2+$2,w2=f2*o2,C2=X1*t2,F2=w2-C2,D2=u2+I|0,N2=u+(s2<<2)|0,d2=+s[N2>>2],K2=D2+-1|0,G2=A+(K2<<2)|0,H2=+s[G2>>2],P2=H2*d2,z2=u+(i2<<2)|0,o5=+s[z2>>2],O2=A+(D2<<2)|0,T1=+s[O2>>2],X2=T1*o5,R5=X2+P2,e5=T1*d2,b5=o5*H2,Z2=e5-b5,v5=D2+I|0,P5=E+(s2<<2)|0,l5=+s[P5>>2],k2=v5+-1|0,m5=A+(k2<<2)|0,n5=+s[m5>>2],x2=n5*l5,_2=E+(i2<<2)|0,B2=+s[_2>>2],C5=A+(v5<<2)|0,d5=+s[C5>>2],D5=d5*B2,G5=D5+x2,_5=d5*l5,q2=B2*n5,I5=_5-q2,A5=G5+v2,c5=G5-v2,B5=I5+F2,M1=F2-I5,B=A+(P1<<2)|0,v=+s[B>>2],S=v+Z2,w=v-Z2,y=i5+1|0,b=A+(y<<2)|0,Q=+s[b>>2],_=Q+R5,L=Q-R5,R=A5+_,M=R2|1,T=a+(M<<2)|0,s[T>>2]=R,N=B5+S,G=a+(c2<<2)|0,s[G>>2]=N,O=L-M1,z=q5+-3|0,Y=a+(z<<2)|0,s[Y>>2]=O,t0=c5-w,J=a+(z1<<2)|0,s[J>>2]=t0,W=M1+L,q=c2+j1|0,X=q+-1|0,U=a+(X<<2)|0,s[U>>2]=W,$0=c5+w,Z=a+(q<<2)|0,s[Z>>2]=$0,K=_-A5,a0=z1+j1|0,n0=a0+-1|0,i0=a+(n0<<2)|0,s[i0>>2]=K,r0=B5-S,h0=a+(a0<<2)|0,s[h0>>2]=r0,s0=W2+2|0,g0=(s0|0)<(t|0),g0;)W2=s0,i5=P1,R2=c2,q5=z1;if(r2=h5+t|0,W1=p5+1|0,a5=(W1|0)==(n|0),a5)break;p5=W1,h5=r2}if(u0=t&1,d0=(u0|0)==0,!d0)return}if(w0=t+-1|0,C0=w0+I|0,k0=t<<2,B0=t<<1,!!m1)for(p0=C0+m|0,t5=0,J2=C0,x5=p0,Q5=t,j5=t;I0=A+(J2<<2)|0,S0=+s[I0>>2],V0=A+(x5<<2)|0,_0=+s[V0>>2],Q0=_0+S0,L0=Q0*-.7071067690849304,M0=S0-_0,N0=M0*.7071067690849304,y0=j5+-1|0,H0=A+(y0<<2)|0,R0=+s[H0>>2],D0=N0+R0,T0=Q5+-1|0,J0=a+(T0<<2)|0,s[J0>>2]=D0,Y0=+s[H0>>2],P0=Y0-N0,K0=Q5+B0|0,G0=K0+-1|0,r1=a+(G0<<2)|0,s[r1>>2]=P0,q0=J2+I|0,e1=A+(q0<<2)|0,b0=+s[e1>>2],i1=L0-b0,c1=a+(Q5<<2)|0,s[c1>>2]=i1,$1=+s[e1>>2],u1=$1+L0,g1=a+(K0<<2)|0,s[g1>>2]=u1,l1=J2+t|0,a1=x5+t|0,n1=Q5+k0|0,o1=j5+t|0,z0=t5+1|0,S5=(z0|0)==(n|0),!S5;)t5=z0,J2=l1,x5=a1,Q5=n1,j5=o1}}function mQ(t,n,A,a,c){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0;var u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,R1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0;if(k1=C,u=r5(n,t)|0,E=t<<1,_=(n|0)>0,_)for(t0=E+-1|0,I1=0,d1=0,p1=u;n0=A+(d1<<2)|0,w0=+s[n0>>2],L0=A+(p1<<2)|0,P0=+s[L0>>2],u1=P0+w0,s1=d1<<1,I=a+(s1<<2)|0,s[I>>2]=u1,m=+s[n0>>2],p=+s[L0>>2],B=m-p,v=t0+s1|0,S=a+(v<<2)|0,s[S>>2]=B,w=d1+t|0,y=p1+t|0,b=I1+1|0,n1=(b|0)==(n|0),!n1;)I1=b,d1=w,p1=y;if(Q=(t|0)<2,!Q){if(L=(t|0)==2,!L){if(_)for(h1=0,E1=0,Q1=u;;){for(H0=E1<<1,R0=H0+E|0,z0=2,R1=Q1,S1=R0,L1=E1,F1=H0;T=R1+2|0,N=S1+-2|0,G=L1+2|0,O=F1+2|0,z=z0+-2|0,Y=c+(z<<2)|0,J=+s[Y>>2],W=R1+1|0,e0=A+(W<<2)|0,q=+s[e0>>2],X=q*J,U=z0+-1|0,$0=c+(U<<2)|0,Z=+s[$0>>2],K=A+(T<<2)|0,a0=+s[K>>2],i0=a0*Z,r0=i0+X,V=a0*J,h0=Z*q,s0=V-h0,g0=A+(G<<2)|0,j=+s[g0>>2],l0=s0+j,u0=a+(O<<2)|0,s[u0>>2]=l0,d0=+s[g0>>2],C0=s0-d0,k0=a+(N<<2)|0,s[k0>>2]=C0,f0=L1+1|0,B0=A+(f0<<2)|0,p0=+s[B0>>2],I0=p0+r0,S0=F1|1,V0=a+(S0<<2)|0,s[V0>>2]=I0,_0=+s[B0>>2],Q0=_0-r0,M0=S1+-3|0,N0=a+(M0<<2)|0,s[N0>>2]=Q0,U0=z0+2|0,y0=(U0|0)<(t|0),y0;)z0=U0,R1=T,S1=N,L1=G,F1=O;if(R=E1+t|0,F=Q1+t|0,M=h1+1|0,o1=(M|0)==(n|0),o1)break;h1=M,E1=R,Q1=F}if(D0=(t|0)%2&-1,T0=(D0|0)==1,T0)return}if(J0=t+-1|0,!!_)for(Y0=u+J0|0,m1=0,B1=t,x1=Y0,w1=J0;K0=A+(x1<<2)|0,G0=+s[K0>>2],O0=-G0,r1=a+(B1<<2)|0,s[r1>>2]=O0,q0=A+(w1<<2)|0,e1=e[q0>>2]|0,b0=B1+-1|0,i1=a+(b0<<2)|0,e[i1>>2]=e1,c1=B1+E|0,$1=x1+t|0,g1=w1+t|0,l1=m1+1|0,a1=(l1|0)==(n|0),!a1;)m1=l1,B1=c1,x1=$1,w1=g1}}function CQ(t,n,A,a,c,u,E,I,m,p){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0,u=u|0,E=E|0,I=I|0,m=m|0,p=p|0;var B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,R1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,R5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,R2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,k3=0,u3=0,p3=0,z3=0,G3=0,K5=0,w3=0,Z5=0,i6=0,R3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,L3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,X3=0,c6=0,p6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,R6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,L6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,M4=0,W4=0,C4=0,T4=0,U9=0,N4=0,a4=0,R4=0,u4=0,Ce=0,q9=0,m9=0,Be=0,Ne=0,Xe=0,G4=0,Ge=0,U4=0,j4=0,be=0,e8=0,Z9=0,ae=0,f4=0,_6=0,P4=0,L9=0,$4=0,_4=0,$e=0,W9=0,le=0,ce=0,B4=0,X4=0,L4=0,ge=0,C9=0,g6=0,Ue=0,l4=0,pe=0,p4=0,c4=0,P6=0,De=0,_e=0,t8=0,g4=0,k4=0,u8=0,J3=0,w9=0,B9=0,F4=0,ee=0,$t=0,xe=0,lt=0,Qt=0,z8=0,ct=0,gt=0,F8=0,M8=0,T8=0,N8=0,Z8=0,W8=0,yt=0,G8=0,U8=0,P8=0,k8=0,v8=0,f8=0,O8=0,q8=0,j8=0,X8=0,d8=0,Pe=0,Re=0,i8=0,S8=0,k9=0,ht=0,Qe=0,ut=0,wt=0,et=0,kt=0,te=0,tt=0,H8=0,b8=0,r8=0,O4=0,Le=0,n8=0,I8=0,D8=0,he=0,j9=0,s8=0,E8=0,o8=0,m8=0,ue=0,ye=0,Oe=0,qe=0,X9=0,Fe=0,fe=0,A8=0,we=0,Q4=0,C8=0,it=0,q4=0,I3=0,He=0,B8=0,ie=0,H9=0,re=0,D9=0,Ye=0,Y8=0,ft=0,rt=0,nt=0,J8=0,st=0,V8=0,a8=0,$8=0,_8=0,H4=0,ot=0,x8=0,Je=0,p9=0,At=0,Ve=0,Mt=0,qt=0,vt=0,at=0,St=0,ne=0,Tt=0,Ht=0,l8=0,R8=0,bt=0,K8=0,Me=0,de=0,e4=0,Dt=0,t7=0,G7=0,U7=0,P7=0,d7=0,Yt=0,I7=0,Jt=0,E7=0,Vt=0,m7=0,i7=0,oi=0,O7=0,C7=0,B7=0,Ai=0,p7=0,r7=0,ai=0,q7=0,H7=0,Y7=0,J7=0,n7=0,Q7=0,V7=0,Kt=0,s7=0,Nt=0,zt=0,$i=0,K7=0,li=0,y7=0,z7=0,w7=0,k7=0,Z7=0,v7=0,Zt=0,S7=0,W7=0,o7=0,Gt=0,b7=0,ke=0,D7=0,_t=0,A7=0,n9=0,dt=0,p8=0;p8=C,S=+(n|0),w=6.2831854820251465/S,f8=+zA(+w),Mt=+Nn(+w),E2=n+1|0,Q3=E2>>1,U9=t+-1|0,G4=U9>>1,L9=r5(A,t)|0,C9=r5(n,t)|0,g4=(t|0)==1;e:do if(!g4){if(Qt=(a|0)>0,Qt)for(we=0;l0=E+(we<<2)|0,V0=e[l0>>2]|0,T0=m+(we<<2)|0,e[T0>>2]=V0,i1=we+1|0,E8=(i1|0)==(a|0),!E8;)we=i1;if(O=(n|0)>1,O)for(Z=(A|0)>0,B8=1,qt=0;;){if(I1=qt+L9|0,Z)for(st=0,e4=I1;S1=u+(e4<<2)|0,q1=e[S1>>2]|0,o2=I+(e4<<2)|0,e[o2>>2]=q1,e2=e4+t|0,H2=st+1|0,j9=(H2|0)==(A|0),!j9;)st=H2,e4=e2;if(Z2=B8+1|0,s8=(Z2|0)==(n|0),s8)break;B8=Z2,qt=I1}if(C5=0-t|0,M1=(G4|0)>(A|0),M1){if(O)for(G3=(A|0)>0,H5=(t|0)>2,I3=C5,H9=1,St=0;;){if(v3=St+L9|0,k6=I3+t|0,G3)for(e6=v3-t|0,s3=k6+-1|0,a8=0,Dt=e6;;){if(F3=Dt+t|0,H5)for(o8=2,fe=s3,E7=F3;M3=fe+2|0,E6=E7+2|0,E9=fe+1|0,W4=p+(E9<<2)|0,T4=+s[W4>>2],N4=E7+1|0,a4=u+(N4<<2)|0,R4=+s[a4>>2],u4=R4*T4,Ce=p+(M3<<2)|0,q9=+s[Ce>>2],m9=u+(E6<<2)|0,Be=+s[m9>>2],Ne=Be*q9,Xe=Ne+u4,Ge=I+(N4<<2)|0,s[Ge>>2]=Xe,U4=+s[W4>>2],j4=+s[m9>>2],be=j4*U4,e8=+s[Ce>>2],Z9=+s[a4>>2],ae=Z9*e8,f4=be-ae,_6=I+(E6<<2)|0,s[_6>>2]=f4,P4=o8+2|0,$4=(P4|0)<(t|0),$4;)o8=P4,fe=M3,E7=E6;if(_4=a8+1|0,n8=(_4|0)==(A|0),n8)break;a8=_4,Dt=F3}if($e=H9+1|0,I8=($e|0)==(n|0),I8)break;I3=k6,H9=$e,St=v3}}else if(O)for(u5=(t|0)>2,h3=(A|0)>0,He=C5,re=1,Tt=0;;){if(W9=He+t|0,le=Tt+L9|0,u5)for(ce=W9+-1|0,m8=2,A8=ce,t7=le;;){if(B4=A8+2|0,X4=t7+2|0,h3)for(L4=A8+1|0,ge=p+(L4<<2)|0,g6=p+(B4<<2)|0,$8=0,Vt=X4;Ue=+s[ge>>2],l4=Vt+-1|0,pe=u+(l4<<2)|0,p4=+s[pe>>2],c4=p4*Ue,P6=+s[g6>>2],De=u+(Vt<<2)|0,_e=+s[De>>2],t8=_e*P6,k4=t8+c4,u8=I+(l4<<2)|0,s[u8>>2]=k4,J3=+s[ge>>2],w9=+s[De>>2],B9=w9*J3,F4=+s[g6>>2],ee=+s[pe>>2],$t=ee*F4,xe=B9-$t,lt=I+(Vt<<2)|0,s[lt>>2]=xe,z8=Vt+t|0,ct=$8+1|0,D8=(ct|0)==(A|0),!D8;)$8=ct,Vt=z8;if(gt=m8+2|0,F8=(gt|0)<(t|0),F8)m8=gt,A8=B4,t7=X4;else break}if(M8=re+1|0,he=(M8|0)==(n|0),he)break;He=W9,re=M8,Tt=le}if(T8=r5(L9,n)|0,N8=(G4|0)<(A|0),Z8=(Q3|0)>1,!N8){if(!Z8)break;for(W8=(A|0)>0,yt=(t|0)>2,Ye=1,l8=0,U7=T8;;){if(B0=l8+L9|0,p0=U7-L9|0,W8)for(H4=0,i7=B0,r7=p0;;){if(yt)for(ye=2,Kt=i7,y7=r7;I0=Kt+2|0,S0=y7+2|0,_0=Kt+1|0,Q0=I+(_0<<2)|0,L0=+s[Q0>>2],M0=y7+1|0,N0=I+(M0<<2)|0,U0=+s[N0>>2],y0=U0+L0,H0=u+(_0<<2)|0,s[H0>>2]=y0,R0=I+(I0<<2)|0,D0=+s[R0>>2],J0=I+(S0<<2)|0,Y0=+s[J0>>2],P0=D0-Y0,K0=u+(M0<<2)|0,s[K0>>2]=P0,G0=+s[R0>>2],O0=+s[J0>>2],r1=O0+G0,q0=u+(I0<<2)|0,s[q0>>2]=r1,e1=+s[N0>>2],b0=+s[Q0>>2],c1=e1-b0,$1=u+(S0<<2)|0,s[$1>>2]=c1,u1=ye+2|0,g1=(u1|0)<(t|0),g1;)ye=u1,Kt=I0,y7=S0;if(l1=i7+t|0,s1=r7+t|0,a1=H4+1|0,O4=(a1|0)==(A|0),O4)break;H4=a1,i7=l1,r7=s1}if(n1=Ye+1|0,Le=(n1|0)==(Q3|0),Le)break e;Ye=n1,l8=B0,U7=p0}}if(Z8)for(b=(t|0)>2,Q=(A|0)>0,D9=1,Ht=0,G7=T8;;){if(_=Ht+L9|0,L=G7-L9|0,b)for(ue=2,m7=_,p7=L;;){if(R=m7+2|0,F=p7+2|0,Q)for(M=F-t|0,T=R-t|0,_8=0,V7=T,li=M;N=V7+t|0,G=li+t|0,z=N+-1|0,Y=I+(z<<2)|0,t0=+s[Y>>2],J=G+-1|0,W=I+(J<<2)|0,e0=+s[W>>2],q=e0+t0,X=u+(z<<2)|0,s[X>>2]=q,U=I+(N<<2)|0,$0=+s[U>>2],K=I+(G<<2)|0,a0=+s[K>>2],n0=$0-a0,i0=u+(J<<2)|0,s[i0>>2]=n0,r0=+s[U>>2],V=+s[K>>2],h0=V+r0,s0=u+(N<<2)|0,s[s0>>2]=h0,g0=+s[W>>2],j=+s[Y>>2],u0=g0-j,d0=u+(G<<2)|0,s[d0>>2]=u0,w0=_8+1|0,b8=(w0|0)==(A|0),!b8;)_8=w0,V7=N,li=G;if(C0=ue+2|0,k0=(C0|0)<(t|0),k0)ue=C0,m7=R,p7=F;else break}if(f0=D9+1|0,r8=(f0|0)==(Q3|0),r8)break;D9=f0,Ht=_,G7=L}}while(!1);if(y=(a|0)>0,y)for(Q4=0;o1=m+(Q4<<2)|0,z0=e[o1>>2]|0,h1=E+(Q4<<2)|0,e[h1>>2]=z0,m1=Q4+1|0,H8=(m1|0)==(a|0),!H8;)Q4=m1;if(d1=r5(a,n)|0,E1=(Q3|0)>1,E1){for(B1=(A|0)>0,Y8=1,R8=0,P7=d1;;){if(p1=R8+L9|0,Q1=P7-L9|0,B1)for(x1=Q1-t|0,R1=p1-t|0,ot=0,oi=R1,ai=x1;w1=oi+t|0,L1=ai+t|0,F1=I+(w1<<2)|0,G1=+s[F1>>2],k1=I+(L1<<2)|0,U1=+s[k1>>2],Z1=U1+G1,N1=u+(w1<<2)|0,s[N1>>2]=Z1,D1=+s[k1>>2],V1=+s[F1>>2],O1=D1-V1,H1=u+(L1<<2)|0,s[H1>>2]=O1,Y1=ot+1|0,te=(Y1|0)==(A|0),!te;)ot=Y1,oi=w1,ai=L1;if(j1=Y8+1|0,tt=(j1|0)==(Q3|0),tt)break;Y8=j1,R8=p1,P7=Q1}if(r2=n+-1|0,W1=r5(r2,a)|0,E1){for(P1=(Q3|0)>2,G8=0,P8=1,Ve=1,bt=0,d7=d1;;){if(c2=bt+a|0,z1=d7-a|0,u2=P8*f8,s2=G8*Mt,K1=u2-s2,h2=G8*f8,a2=P8*Mt,t2=a2+h2,y)for(C8=0,q7=c2,s7=z1,z7=W1,Zt=a;$2=E+(C8<<2)|0,i2=+s[$2>>2],A2=Zt+1|0,X1=E+(Zt<<2)|0,n2=+s[X1>>2],f2=n2*K1,y2=f2+i2,v2=q7+1|0,w2=m+(q7<<2)|0,s[w2>>2]=y2,C2=z7+1|0,F2=E+(z7<<2)|0,D2=+s[F2>>2],N2=D2*t2,d2=s7+1|0,K2=m+(s7<<2)|0,s[K2>>2]=N2,G2=C8+1|0,ut=(G2|0)==(a|0),!ut;)C8=G2,q7=v2,s7=d2,z7=C2,Zt=A2;if(P1)for(U8=t2,k8=K1,ft=2,H7=a,Nt=W1;;){if(M2=H7+a|0,P2=Nt-a|0,z2=k8*K1,o5=U8*t2,O2=z2-o5,T1=U8*K1,X2=k8*t2,R5=X2+T1,y)for(it=0,w7=c2,S7=z1,b7=M2,_t=P2;e5=b7+1|0,b5=E+(b7<<2)|0,f5=+s[b5>>2],v5=f5*O2,P5=w7+1|0,l5=m+(w7<<2)|0,k2=+s[l5>>2],m5=k2+v5,s[l5>>2]=m5,n5=_t+1|0,x2=E+(_t<<2)|0,_2=+s[x2>>2],B2=_2*R5,L5=S7+1|0,d5=m+(S7<<2)|0,D5=+s[d5>>2],G5=D5+B2,s[d5>>2]=G5,_5=it+1|0,wt=(_5|0)==(a|0),!wt;)it=_5,w7=P5,S7=L5,b7=e5,_t=n5;if(q2=ft+1|0,et=(q2|0)==(Q3|0),et)break;U8=R5,k8=O2,ft=q2,H7=M2,Nt=P2}if(I5=Ve+1|0,kt=(I5|0)==(Q3|0),kt)break;G8=t2,P8=K1,Ve=I5,bt=c2,d7=z1}if(E1)for(rt=1,K8=0;;){if(A5=K8+a|0,y)for(q4=0,Yt=A5;c5=Yt+1|0,B5=E+(Yt<<2)|0,S5=+s[B5>>2],g5=m+(q4<<2)|0,a5=+s[g5>>2],W2=a5+S5,s[g5>>2]=W2,g2=q4+1|0,ht=(g2|0)==(a|0),!ht;)q4=g2,Yt=c5;if(p5=rt+1|0,Qe=(p5|0)==(Q3|0),Qe)break;rt=p5,K8=A5}}}if(t5=(t|0)<(A|0),t5){if(J2=(t|0)>0,J2)for(i5=(A|0)>0,qe=0;;){if(i5)for(Je=0,de=qe,Jt=qe;Y5=I+(de<<2)|0,X5=e[Y5>>2]|0,n3=c+(Jt<<2)|0,e[n3>>2]=X5,m3=de+t|0,F5=Jt+C9|0,J5=Je+1|0,Re=(J5|0)==(A|0),!Re;)Je=J5,de=m3,Jt=F5;if(k3=qe+1|0,i8=(k3|0)==(t|0),i8)break;qe=k3}}else if(s5=(A|0)>0,s5)for(h5=(t|0)>0,x8=0,Me=0,I7=0;;){if(h5)for(Oe=0,O7=Me,Y7=I7;x5=O7+1|0,j2=I+(O7<<2)|0,$5=e[j2>>2]|0,R2=Y7+1|0,Q5=c+(Y7<<2)|0,e[Q5>>2]=$5,q5=Oe+1|0,S8=(q5|0)==(t|0),!S8;)Oe=q5,O7=x5,Y7=R2;if(j5=Me+t|0,E5=I7+C9|0,f3=x8+1|0,k9=(f3|0)==(A|0),k9)break;x8=f3,Me=j5,I7=E5}if(u3=t<<1,p3=r5(L9,n)|0,E1)for(z3=(A|0)>0,nt=1,vt=0,C7=0,J7=p3;;){if(K5=vt+u3|0,w3=C7+L9|0,Z5=J7-L9|0,z3)for(p9=0,zt=K5,k7=w3,W7=Z5;i6=I+(k7<<2)|0,R3=e[i6>>2]|0,U3=zt+-1|0,a3=c+(U3<<2)|0,e[a3>>2]=R3,l3=I+(W7<<2)|0,c3=e[l3>>2]|0,C3=c+(zt<<2)|0,e[C3>>2]=c3,U5=zt+C9|0,O5=k7+t|0,k5=W7+t|0,P3=p9+1|0,d8=(P3|0)==(A|0),!d8;)p9=P3,zt=U5,k7=O5,W7=k5;if(M5=nt+1|0,Pe=(M5|0)==(Q3|0),Pe)break;nt=M5,vt=K5,C7=w3,J7=Z5}if(!g4){if(o6=(G4|0)<(A|0),e3=0-t|0,!o6){if(!E1)return;for(B=(A|0)<1,v=(t|0)<3,v8=B|v,J8=1,at=e3,B7=0,n7=0,$i=p3;;){if(u6=at+u3|0,y3=B7+u3|0,r6=n7+L9|0,j3=$i-L9|0,!v8)for(At=0,Z7=u6,o7=y3,ke=r6,A7=j3;;){for(X9=2;l6=t-X9|0,d3=X9+ke|0,v6=d3+-1|0,S6=I+(v6<<2)|0,B6=+s[S6>>2],X3=X9+A7|0,c6=X3+-1|0,p6=I+(c6<<2)|0,x6=+s[p6>>2],Y6=x6+B6,C6=X9+o7|0,b3=C6+-1|0,t6=c+(b3<<2)|0,s[t6>>2]=Y6,f6=+s[S6>>2],H3=+s[p6>>2],D3=f6-H3,Y3=l6+Z7|0,Z3=Y3+-1|0,b6=c+(Z3<<2)|0,s[b6>>2]=D3,A6=I+(d3<<2)|0,t3=+s[A6>>2],O6=I+(X3<<2)|0,a6=+s[O6>>2],d6=a6+t3,_3=c+(C6<<2)|0,s[_3>>2]=d6,N6=+s[O6>>2],n6=+s[A6>>2],Q6=N6-n6,R6=c+(Y3<<2)|0,s[R6>>2]=Q6,K6=X9+2|0,I6=(K6|0)<(t|0),I6;)X9=K6;if(O3=Z7+C9|0,V5=o7+C9|0,S3=ke+t|0,g3=A7+t|0,q3=At+1|0,j8=(q3|0)==(A|0),j8)break;At=q3,Z7=O3,o7=V5,ke=S3,A7=g3}if(J6=J8+1|0,X8=(J6|0)==(Q3|0),X8)break;J8=J6,at=u6,B7=y3,n7=r6,$i=j3}return}if(E1)for(A3=(t|0)>2,L3=(A|0)>0,ie=1,ne=e3,Ai=0,Q7=0,K7=p3;;){if(j6=ne+u3|0,G6=Ai+u3|0,e9=Q7+L9|0,s9=K7-L9|0,A3&&(L6=j6+t|0,L3))for(Fe=2;;){for(b4=Fe+s9|0,D4=Fe+e9|0,x4=Fe+G6|0,M4=L6-Fe|0,V8=0,v7=M4,Gt=x4,D7=D4,n9=b4;z6=D7+-1|0,y6=I+(z6<<2)|0,F6=+s[y6>>2],M6=n9+-1|0,t9=I+(M6<<2)|0,A9=+s[t9>>2],X6=A9+F6,u9=Gt+-1|0,f9=c+(u9<<2)|0,s[f9>>2]=X6,d9=+s[y6>>2],a9=+s[t9>>2],$9=d9-a9,T9=v7+-1|0,T6=c+(T9<<2)|0,s[T6>>2]=$9,i9=I+(D7<<2)|0,N9=+s[i9>>2],I9=I+(n9<<2)|0,E4=+s[I9>>2],o4=E4+N9,h4=c+(Gt<<2)|0,s[h4>>2]=o4,G9=+s[I9>>2],z9=+s[i9>>2],b9=G9-z9,q6=c+(v7<<2)|0,s[q6>>2]=b9,r9=v7+C9|0,m4=Gt+C9|0,S4=D7+t|0,A4=n9+t|0,y9=V8+1|0,O8=(y9|0)==(A|0),!O8;)V8=y9,v7=r9,Gt=m4,D7=S4,n9=A4;if(U6=Fe+2|0,D6=(U6|0)<(t|0),D6)Fe=U6;else break}if(C4=ie+1|0,q8=(C4|0)==(Q3|0),q8)break;ie=C4,ne=j6,Ai=G6,Q7=e9,K7=s9}}}function nb(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,R1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,R5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,R2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,k3=0,u3=0,p3=0,z3=0,G3=0,K5=0,w3=0,Z5=0,i6=0,R3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,L3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,X3=0,c6=0,p6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,R6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,L6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,M4=0,W4=0,C4=0,T4=0,U9=0,N4=0,a4=0,R4=0,u4=0,Ce=0,q9=0,m9=0,Be=0,Ne=0,Xe=0,G4=0,Ge=0,U4=0,j4=0,be=0,e8=0,Z9=0,ae=0,f4=0,_6=0,P4=0,L9=0,$4=0,_4=0,$e=0,W9=0,le=0,ce=0,B4=0,X4=0,L4=0,ge=0,C9=0,g6=0,Ue=0,l4=0,pe=0,p4=0,c4=0,P6=0,De=0,_e=0,t8=0,g4=0,k4=0,u8=0,J3=0,w9=0,B9=0,F4=0,ee=0,$t=0,xe=0,lt=0,Qt=0,z8=0,ct=0,gt=0,F8=0,M8=0,T8=0,N8=0,Z8=0,W8=0,yt=0,G8=0,U8=0,P8=0,k8=0,v8=0,f8=0,O8=0,q8=0,j8=0,X8=0,d8=0,Pe=0,Re=0,i8=0,S8=0,k9=0,ht=0,Qe=0,ut=0,wt=0,et=0,kt=0,te=0,tt=0,H8=0,b8=0,r8=0,O4=0,Le=0,n8=0,I8=0,D8=0,he=0,j9=0,s8=0,E8=0,o8=0,m8=0,ue=0,ye=0,Oe=0,qe=0,X9=0,Fe=0,fe=0,A8=0,we=0,Q4=0,C8=0,it=0,q4=0,I3=0,He=0,B8=0,ie=0,H9=0,re=0,D9=0,Ye=0,Y8=0,ft=0,rt=0,nt=0,J8=0,st=0,V8=0,a8=0,$8=0,_8=0,H4=0,ot=0,x8=0,Je=0,p9=0,At=0,Ve=0,Mt=0,qt=0,vt=0,at=0,St=0,ne=0,Tt=0,Ht=0,l8=0,R8=0,bt=0,K8=0,Me=0,de=0,e4=0,Dt=0,t7=0,G7=0,U7=0,P7=0,d7=0,Yt=0,I7=0,Jt=0,E7=0,Vt=0,m7=0,i7=0,oi=0,O7=0,C7=0,B7=0,Ai=0,p7=0,r7=0,ai=0,q7=0,H7=0,Y7=0,J7=0,n7=0,Q7=0,V7=0,Kt=0,s7=0,Nt=0,zt=0,$i=0,K7=0,li=0,y7=0,z7=0,w7=0,k7=0,Z7=0,v7=0,Zt=0,S7=0,W7=0,o7=0,Gt=0,b7=0,ke=0,D7=0,_t=0,A7=0,n9=0,dt=0,p8=0,It=0,xt=0,Zr=0,Ir=0,Xs=0,Un=0,eo=0,Pn=0,to=0,io=0,On=0,ro=0,Wr=0,no=0,so=0,oo=0,qn=0,Ao=0,Hn=0,Yn=0,ao=0,jr=0,Jn=0,Xr=0,Vn=0,Kn=0,$o=0,lo=0,co=0,en=0,zn=0,go=0,Er=0,tn=0,ho=0,uo=0,rn=0,ci=0,Zn=0,fo=0,Io=0,Wn=0,jn=0,Xn=0,Eo=0,gi=0,nn=0,mo=0,es=0,Co=0,Bo=0,po=0,ts=0,Qo=0,yo=0,wo=0,ko=0,is=0,vo=0,So=0,sn=0,mr=0,on=0,bo=0,Wi=0,Do=0,rs=0,An=0,ns=0,an=0,_o=0,ss=0,os=0,xo=0,As=0,as=0,Ro=0,Cr=0,$s=0,hi=0,$n=0,Br=0,ji=0,pr=0,qi=0,Qr=0,ls=0,Hi=0,yi=0,wi=0,j7=0,ki=0,yr=0,Xi=0,er=0,wr=0,ui=0,Lo=0,a7=0,j$=0,ln=0,cn=0,Fh=0,X$=0,Fo=0,Mh=0,jA=0,el=0,Th=0,Nh=0,Gh=0,XA=0,tl=0,il=0,ea=0,gn=0,rl=0,Uh=0,Mo=0,tr=0,Ph=0,Oh=0,qh=0,Hh=0,Yh=0,Jh=0,Vh=0,Kh=0,zh=0,Zh=0,nl=0,kr=0,Wh=0,jh=0,sl=0,Xh=0,ta=0,To=0,ia=0,eu=0,tu=0,ra=0,ol=0,Al=0,al=0,na=0,$l=0,No=0,iu=0,ru=0,ll=0,nu=0,su=0,cl=0,ou=0,Au=0,gl=0,hl=0,ul=0,fl=0,dl=0,hn=0,au=0,Il=0,$u=0,El=0,ml=0,lu=0,cu=0,gu=0,sa=0,Cl=0,Bl=0,cs=0,pl=0,oa=0,hu=0,Ql=0,uu=0,yl=0,fu=0,du=0,wl=0,kl=0,Iu=0,Go=0,Eu=0,Aa=0,vl=0,Sl=0,mu=0,Cu=0,Bu=0,pu=0,Qu=0,yu=0,Uo=0,bl=0,Dl=0,_l=0,Po=0,wu=0,xl=0,ku=0,Rl=0,vu=0,Su=0,Ll=0,aa=0,bu=0,Du=0,Oo=0,_u=0,qo=0,xu=0,$a=0,Ru=0,Lu=0,Fu=0,Fl=0,Mu=0,Tu=0,Nu=0,Gu=0,Ml=0,Tl=0,ir=0,Nl=0,Ho=0,la=0,ca=0,un=0,Gl=0,fn=0,Uu=0,Ul=0,Pu=0,Ou=0,qu=0,Hu=0,Yo=0,ga=0,vr=0,Yu=0,Ju=0,Pl=0,ha=0,Ol=0,ql=0,Vu=0,Hl=0,Ku=0,ua=0,zu=0,Zu=0,P9=0,Wu=0,Yl=0,ju=0,Xu=0,fa=0,ef=0,da=0,Jl=0,tf=0,rf=0,Vl=0,Kl=0,nf=0,Ia=0,Ea=0,zl=0,Zl=0,sf=0,Wl=0,ma=0,of=0,jl=0,Af=0,af=0,$f=0,lf=0,Xl=0,ec=0,Ca=0,Jo=0,tc=0,cf=0,ic=0,rc=0,gf=0,hf=0,uf=0,nc=0,ff=0,df=0,If=0,Ef=0,mf=0,Cf=0,sc=0,Bf=0,oc=0,pf=0,dn=0,Qf=0,Ac=0,yf=0,gs=0,ac=0,Ba=0,wf=0,Vo=0,pa=0,kf=0,Qa=0,$c=0,vf=0,Sf=0,bf=0,Df=0,_f=0,lc=0,xf=0,Rf=0,Lf=0,Ko=0,hs=0,ya=0,Ff=0,wa=0,Mf=0,Tf=0,Nf=0,cc=0,Gf=0,Uf=0,Pf=0,Of=0,qf=0,zo=0,Hf=0,Yf=0,gc=0,Jf=0,Vf=0,Kf=0,zf=0,fi=0,hc=0,di=0,uc=0,ka=0,Zf=0,X7=0,us=0,Wf=0,jf=0,Xf=0,ed=0,td=0,fc=0,id=0,rd=0,dc=0,nd=0,sd=0,fs=0,va=0,od=0,Ic=0,Ad=0,ad=0,Zo=0,$d=0,ld=0,Ec=0,mc=0,cd=0,gd=0,In=0,hd=0,ud=0,En=0,fd=0,Cc=0,dd=0,Id=0,ds=0,Bc=0,Ed=0,pc=0,md=0,rr=0,Sa=0,Cd=0,Qc=0,yc=0,Bd=0,pd=0,wc=0,Qd=0,yd=0,wd=0,kc=0,kd=0,Is=0,vd=0,mn=0,Sd=0,bd=0,ba=0,Dd=0,Da=0,_a=0,_d=0,vc=0,Sc=0,xd=0,bc=0,Dc=0,_c=0,Rd=0,xc=0,Rc=0,Ld=0,Fd=0,Lc=0,Fc=0,Md=0,Mc=0,Tc=0,Td=0,Nd=0,Nc=0,xa=0,Gc=0,Uc=0,Pc=0,Oc=0,Gd=0,Ud=0,Pd=0,Od=0,qd=0,Hd=0,Yd=0,Jd=0,qc=0,Ra=0,Vd=0,Kd=0,zd=0,Hc=0,Yc=0,Zd=0,Jc=0,La=0,Wo=0,Vc=0,Wd=0,jd=0,Xd=0,eI=0,Kc=0,jo=0,tI=0,iI=0,rI=0,nI=0,sI=0,oI=0,AI=0,aI=0,zc=0,$I=0,lI=0,cI=0,gI=0,Xo=0,Zc=0,hI=0,uI=0,Cn=0,Wc=0,jc=0,Fa=0,fI=0,Xc=0,dI=0,eg=0,tg=0,II=0,EI=0,mI=0,CI=0,BI=0,eA=0,Ma=0,pI=0,QI=0,yI=0,wI=0,ig=0,kI=0,rg=0,vI=0,SI=0,ng=0,Sr=0,sg=0,og=0,bI=0,Ag=0,tA=0,DI=0,_I=0,xI=0,iA=0,ag=0,RI=0,LI=0,$g=0,FI=0,MI=0,Ta=0,rA=0,TI=0,NI=0,GI=0,lg=0,cg=0,gg=0,UI=0,PI=0,Es=0,OI=0,hg=0,qI=0,Na=0,ug=0,HI=0,YI=0,JI=0,VI=0,fg=0,KI=0,zI=0,dg=0,nA=0,ZI=0,WI=0,jI=0,ms=0,Ig=0,Eg=0,XI=0,mg=0,Cg=0,vi=0,Bg=0,nr=0,eE=0,tE=0,iE=0,rE=0,Ga=0,sA=0,pg=0,Qg=0,nE=0,oA=0,Cs=0,sE=0,AA=0,Ua=0,oE=0,Pa=0,AE=0,aE=0,yg=0,aA=0,wg=0,$E=0,lE=0,cE=0,gE=0,kg=0,hE=0,Wt=0,y4=0,ei=0,uE=0,vg=0,Sg=0,Oa=0,fE=0,br=0,Bs=0,dE=0,IE=0,bg=0,qa=0,EE=0,Dg=0,_g=0,xg=0,Ha=0,Ya=0,Rg=0,ps=0,Ja=0,Lg=0,mE=0,Bn=0,CE=0,Fg=0,$A=0,BE=0,Mg=0,Si=0,pE=0,QE=0,yE=0,wE=0,kE=0,vE=0,bi=0,SE=0,bE=0,DE=0,Tg=0,Ii=0,lA=0,Va=0,Ng=0,Gg=0,_E=0,Ug=0,Pg=0,xE=0,RE=0,Og=0,qg=0,LE=0,FE=0,Hg=0,ME=0,Qs=0,cA=0,gA=0,TE=0,Ka=0,NE=0,GE=0,Yg=0,ys=0,UE=0,PE=0,za=0,Za=0,hA=0,Wa=0,ja=0,sr=0,Dr=0,_r=0,Xa=0,e$=0,ws=0,or=0,pn=0,OE=0,Ar=0,Qn=0,qE=0,_7=0,x7=0,R7=0,uA=0,fA=0,Jg=0,Vg=0,dA=0,t$=0,L7=0,IA=0,xr=0,i$=0,HE=0,r$=0,YE=0,n$=0,Kg=0,EA=0,JE=0,VE=0,mA=0,KE=0,CA=0,yn=0,Ke=0,v4=0,zg=0,zE=0,s$=0,Zg=0,ZE=0,WE=0,BA=0,jE=0,XE=0,em=0,tm=0,Wg=0,im=0,rm=0,nm=0,ti=0,pA=0,wn=0,o$=0,ks=0,vs=0,jt=0,Ss=0,jg=0,Xg=0,QA=0,bs=0,Ds=0,_s=0,sm=0,xs=0,ar=0,eh=0,Rr=0,ii=0,A$=0,a$=0,Yi=0,$$=0,l$=0,c$=0,Lr=0,$6=0,yA=0,Fr=0,th=0,ve=0,g$=0,Q8=0,Rs=0,kn=0,vn=0,F9=0,Sn=0,Mr=0,Y4=0,h$=0,CB=0,om=0,Xm=0,eC=0,BB=0,Am=0,_Q=0,xQ=0,RQ=0,LQ=0,FQ=0,MQ=0,TQ=0,NQ=0,GQ=0,UQ=0,PQ=0,OQ=0,pB=0,QB=0,qQ=0,HQ=0,YQ=0,ih=0,tC=0,Ei=0,rh=0,nh=0,sh=0,oh=0,am=0,$m=0,lm=0,cm=0,gm=0,hm=0,um=0,fm=0,dm=0,Im=0,iC=0,wA=0,$r=0,u$=0,Ah=0,f$=0,yB=0,kA=0,Em=0,d$=0,rC=0,nC=0,mm=0,sC=0,oC=0,AC=0,aC=0,$C=0,lC=0,cC=0,wB=0,kB=0,vB=0,SB=0,bB=0,vA=0,SA=0,bA=0,DA=0,JQ=0,lr=0,t4=0,Rb=0,_A=0,gC=0;if(Rb=C,g0=t+28|0,j=e[g0>>2]|0,X8=(j|0)==0,X8||(s7=j+3456|0,ls=e[s7>>2]|0,bl=(ls|0)==0,n=bl&1,gs=j+3496|0,bc=+A1[gs>>3],lg=bc>-80,lg?A1[gs>>3]=-80:(RE=bc<-200,RE&&(A1[gs>>3]=-200)),l0=j+3512|0,Z2=+A1[l0>>3],s3=Z2>0,s3?A1[l0>>3]=0:(C4=Z2<-99999,C4&&(A1[l0>>3]=-99999)),Ne=j+3396|0,_6=e[Ne>>2]|0,L4=(_6|0)==0,L4))return m=-131,m|0;if(_e=j+3392|0,e[_e>>2]=1,xe=j+3400|0,W8=+A1[xe>>3],d8=_6+24|0,kt=e[d8>>2]|0,he=_6+28|0,Fe=e[he>>2]|0,ie=~~W8,V8=kt+(ie<<2)|0,Mt=e[V8>>2]|0,K8=Fe+(ie<<2)|0,I7=e[K8>>2]|0,e[j>>2]=Mt,p7=j+4|0,e[p7>>2]=I7,Nt=(Mt|0)==(I7|0),Zt=_6+144|0,dt=e[Zt>>2]|0,io=(dt|0)>0,io){for(ao=_6+136|0,go=_6+140|0,jn=_6+148|0,Wi=W8,vr=j,iC=0;;){if(Qo=~~Wi,as=e[ao>>2]|0,Hi=e[go>>2]|0,a7=e[jn>>2]|0,Nh=a7+(iC<<2)|0,Ph=e[Nh>>2]|0,kr=n4(1,1120)|0,ol=Ph+(Qo<<2)|0,cl=e[ol>>2]|0,$u=Hi+(cl*1120|0)|0,s4(kr|0,$u|0,1120)|0,oa=e[kr>>2]|0,Eu=(oa|0)>0,Eu){for(Dl=kr+4|0,tC=0,cC=-1;;)if(ma=Dl+(tC<<2)|0,tc=e[ma>>2]|0,Ef=(tc|0)>(cC|0),t0=Ef?tc:cC,ac=tC+1|0,PQ=(ac|0)==(oa|0),PQ){J=t0;break}else tC=ac,cC=t0;if(bu=(J|0)<0,!bu){for(Mu=kr+256|0,un=vr+24|0,zu=kr+192|0,tf=kr+320|0,f$=0,AC=-1;;){if(yc=Mu+(f$<<2)|0,mn=e[yc>>2]|0,Dc=(mn|0)>(AC|0),z=Dc?mn:AC,Tc=e[un>>2]|0,Pd=Tc+mn|0,e[yc>>2]=Pd,Hc=zu+(f$<<2)|0,Kc=e[Hc>>2]|0,$I=(Kc|0)==31,$I)aC=z;else for(y9=Kc,sC=0,lC=z;;)if(Fa=(tf+(f$<<5)|0)+(sC<<2)|0,eA=e[Fa>>2]|0,ng=(eA|0)>(lC|0),Y=ng?eA:lC,ag=(eA|0)>-1,ag?(cg=e[un>>2]|0,YI=cg+eA|0,e[Fa>>2]=YI,e0=e[Hc>>2]|0,Ua=e0):Ua=y9,ms=sC+1|0,iE=1<>2]|0,Zf=e[Yf>>2]|0,dc=e[un>>2]|0,ld=dc+1|0,e[un>>2]=ld,dd=(vr+1824|0)+(dc<<2)|0,e[dd>>2]=Zf,TQ=($C|0)==0,!TQ))for(yB=0;Ya=yB+1|0,Z=e[ol>>2]|0,Mg=as+(Z<<2)|0,DE=e[Mg>>2]|0,Og=DE+(Ya<<2)|0,NE=e[Og>>2]|0,sr=e[un>>2]|0,qE=sr+1|0,e[un>>2]=qE,IA=(vr+1824|0)+(sr<<2)|0,e[IA>>2]=NE,MQ=(Ya|0)==($C|0),!MQ;)yB=Ya}}if(mA=vr+16|0,WE=e[mA>>2]|0,pA=(vr+800|0)+(WE<<2)|0,e[pA>>2]=1,Ds=e[mA>>2]|0,$$=(vr+1056|0)+(Ds<<2)|0,e[$$>>2]=kr,u0=e[mA>>2]|0,_0=u0+1|0,e[mA>>2]=_0,J0=iC+1|0,c1=e[Zt>>2]|0,h1=(J0|0)<(c1|0),!h1)break;W=+A1[xe>>3],r0=e[g0>>2]|0,Wi=W,vr=r0,iC=J0}h0=e[g0>>2]|0,K5=h0}else K5=j;L1=j+3520|0,H1=+A1[L1>>3],o2=_6+124|0,e2=e[o2>>2]|0,H2=_6+128|0,f5=e[H2>>2]|0,L5=~~H1,S5=+(L5|0),i5=H1-S5,Y5=K5+2868|0,U5=f5+(L5<<3)|0,v3=+A1[U5>>3],k6=~~v3,e6=e2+(k6*492|0)|0,s4(Y5|0,e6|0,492)|0,a6=+A1[U5>>3],j6=1-i5,M6=a6*j6,T6=L5+1|0,q6=f5+(T6<<3)|0,b4=+A1[q6>>3],D4=b4*i5,x4=D4+M6,M4=~~x4,W4=+(M4|0),T4=x4-W4,U9=T4==0,N4=(M4|0)>0,wB=N4&U9,I=wB?1:T4,a4=wB<<31>>31,F=a4+M4|0,R4=1-I,u4=F+1|0,Ce=(e2+(F*492|0)|0)+4|0,q9=+s[Ce>>2],m9=q9,Be=R4*m9,Xe=(e2+(u4*492|0)|0)+4|0,G4=+s[Xe>>2],Ge=G4,U4=I*Ge,j4=Be+U4,be=j4,e8=K5+2872|0,s[e8>>2]=be,Z9=(e2+(F*492|0)|0)+32|0,ae=+s[Z9>>2],f4=ae,P4=R4*f4,L9=(e2+(u4*492|0)|0)+32|0,$4=+s[L9>>2],_4=$4,$e=I*_4,W9=P4+$e,le=W9,ce=K5+2900|0,s[ce>>2]=le,B4=(e2+(F*492|0)|0)+8|0,X4=+s[B4>>2],ge=X4,C9=R4*ge,g6=(e2+(u4*492|0)|0)+8|0,Ue=+s[g6>>2],l4=Ue,pe=I*l4,p4=C9+pe,c4=p4,P6=K5+2876|0,s[P6>>2]=c4,De=(e2+(F*492|0)|0)+36|0,t8=+s[De>>2],g4=t8,k4=R4*g4,u8=(e2+(u4*492|0)|0)+36|0,J3=+s[u8>>2],w9=J3,B9=w9*I,F4=B9+k4,ee=F4,$t=K5+2904|0,s[$t>>2]=ee,lt=(e2+(F*492|0)|0)+12|0,Qt=+s[lt>>2],z8=Qt,ct=z8*R4,gt=(e2+(u4*492|0)|0)+12|0,F8=+s[gt>>2],M8=F8,T8=M8*I,N8=T8+ct,Z8=N8,yt=K5+2880|0,s[yt>>2]=Z8,G8=(e2+(F*492|0)|0)+40|0,U8=+s[G8>>2],P8=U8,k8=P8*R4,v8=(e2+(u4*492|0)|0)+40|0,f8=+s[v8>>2],O8=f8,q8=O8*I,j8=q8+k8,Pe=j8,Re=K5+2908|0,s[Re>>2]=Pe,i8=(e2+(F*492|0)|0)+16|0,S8=+s[i8>>2],k9=S8,ht=k9*R4,Qe=(e2+(u4*492|0)|0)+16|0,ut=+s[Qe>>2],wt=ut,et=wt*I,te=et+ht,tt=te,H8=K5+2884|0,s[H8>>2]=tt,b8=(e2+(F*492|0)|0)+44|0,r8=+s[b8>>2],O4=r8,Le=O4*R4,n8=(e2+(u4*492|0)|0)+44|0,I8=+s[n8>>2],D8=I8,j9=D8*I,s8=j9+Le,E8=s8,o8=K5+2912|0,s[o8>>2]=E8,m8=K5+3512|0,ue=+A1[m8>>3],ye=ue,Oe=K5+2936|0,s[Oe>>2]=ye,qe=_6+132|0,X9=e[qe>>2]|0,fe=j+3472|0,A8=+A1[fe>>3],we=A8,Q4=~~we,C8=+(Q4|0),it=we-C8,q4=it,I3=e[g0>>2]|0,He=(X9|0)==0;e:do if(He)B8=I3+4|0,H9=e[I3>>2]|0,re=I3+3240|0,e[re>>2]=H9,D9=e[B8>>2]|0,Ye=I3+3300|0,e[Ye>>2]=D9,Y8=I3+3244|0,e[Y8>>2]=H9,ft=I3+3304|0,e[ft>>2]=D9,rt=I3+3248|0,e[rt>>2]=H9,nt=I3+3308|0,e[nt>>2]=D9,J8=I3+3252|0,e[J8>>2]=H9,st=I3+3312|0,e[st>>2]=D9,a8=I3+3256|0,e[a8>>2]=H9,$8=I3+3316|0,e[$8>>2]=D9,_8=I3+3260|0,e[_8>>2]=H9,H4=I3+3320|0,e[H4>>2]=D9,ot=I3+3264|0,e[ot>>2]=H9,x8=I3+3324|0,e[x8>>2]=D9,Je=I3+3268|0,e[Je>>2]=H9,p9=I3+3328|0,e[p9>>2]=D9,At=I3+3272|0,e[At>>2]=H9,Ve=I3+3332|0,e[Ve>>2]=D9,qt=I3+3276|0,e[qt>>2]=H9,vt=I3+3336|0,e[vt>>2]=D9,at=I3+3280|0,e[at>>2]=H9,St=I3+3340|0,e[St>>2]=D9,ne=I3+3284|0,e[ne>>2]=H9,Tt=I3+3344|0,e[Tt>>2]=D9,Ht=I3+3288|0,e[Ht>>2]=H9,l8=I3+3348|0,e[l8>>2]=D9,R8=I3+3292|0,e[R8>>2]=H9,bt=I3+3352|0,e[bt>>2]=D9,Me=I3+3296|0,e[Me>>2]=H9,de=I3+3356|0,e[de>>2]=D9;else{e4=I3+3120|0,Dt=X9+(Q4*240|0)|0,lr=e4,_A=Dt,gC=lr+60|0;do e[lr>>2]=e[_A>>2]|0,lr=lr+4|0,_A=_A+4|0;while((lr|0)<(gC|0));t7=I3+3180|0,G7=(X9+(Q4*240|0)|0)+60|0,lr=t7,_A=G7,gC=lr+60|0;do e[lr>>2]=e[_A>>2]|0,lr=lr+4|0,_A=_A+4|0;while((lr|0)<(gC|0));if(U7=j+3420|0,P7=e[U7>>2]|0,d7=(P7|0)==0,!d7)for(Yt=1-q4,Jt=Q4+1|0,E7=t+8|0,Vt=I3+4|0,X=e[E7>>2]|0,m7=+(X|0),$r=0;;){if(i7=((X9+(Q4*240|0)|0)+120|0)+($r<<2)|0,oi=+s[i7>>2],O7=oi,C7=O7*Yt,B7=((X9+(Jt*240|0)|0)+120|0)+($r<<2)|0,Ai=+s[B7>>2],r7=Ai,ai=r7*q4,q7=ai+C7,H7=q7,Y7=H7,J7=Y7*1e3,n7=J7/m7,Q7=e[I3>>2]|0,V7=+(Q7|0),Kt=V7*n7,zt=~~Kt,$i=(I3+3e3|0)+($r<<2)|0,e[$i>>2]=zt,K7=e[Vt>>2]|0,li=+(K7|0),y7=li*n7,z7=~~y7,w7=(I3+3060|0)+($r<<2)|0,e[w7>>2]=z7,k7=~~H7,Z7=(I3+2940|0)+($r<<2)|0,e[Z7>>2]=k7,v7=((X9+(Q4*240|0)|0)+180|0)+($r<<2)|0,S7=+s[v7>>2],W7=S7,o7=W7*Yt,Gt=((X9+(Jt*240|0)|0)+180|0)+($r<<2)|0,b7=+s[Gt>>2],ke=b7,D7=ke*q4,_t=D7+o7,A7=_t,n9=A7,p8=n9*1e3,It=p8/m7,xt=e[I3>>2]|0,Zr=+(xt|0),Ir=Zr*It,Xs=~~Ir,Un=(I3+3240|0)+($r<<2)|0,e[Un>>2]=Xs,eo=e[Vt>>2]|0,Pn=+(eo|0),to=Pn*It,On=~~to,ro=(I3+3300|0)+($r<<2)|0,e[ro>>2]=On,Wr=$r+1|0,GQ=(Wr|0)==15,GQ)break e;$r=Wr}for(no=(X9+(Q4*240|0)|0)+148|0,so=+s[no>>2],oo=so,qn=1-q4,Ao=oo*qn,Hn=Q4+1|0,Yn=(X9+(Hn*240|0)|0)+148|0,jr=+s[Yn>>2],Jn=jr,Xr=Jn*q4,Vn=Xr+Ao,Kn=Vn,$o=Kn,lo=$o*1e3,co=t+8|0,en=I3+4|0,zn=~~Kn,$0=e[co>>2]|0,Er=+($0|0),tn=lo/Er,Ah=0;ho=e[I3>>2]|0,uo=+(ho|0),rn=uo*tn,ci=~~rn,Zn=(I3+3e3|0)+(Ah<<2)|0,e[Zn>>2]=ci,fo=e[en>>2]|0,Io=+(fo|0),Wn=Io*tn,Xn=~~Wn,Eo=(I3+3060|0)+(Ah<<2)|0,e[Eo>>2]=Xn,gi=(I3+2940|0)+(Ah<<2)|0,e[gi>>2]=zn,nn=Ah+1|0,OQ=(nn|0)==15,!OQ;)Ah=nn;for(mo=(X9+(Q4*240|0)|0)+208|0,es=+s[mo>>2],Co=es,Bo=Co*qn,po=(X9+(Hn*240|0)|0)+208|0,ts=+s[po>>2],yo=ts,wo=yo*q4,ko=wo+Bo,is=ko,vo=is,So=vo*1e3,sn=So/Er,Em=0;mr=e[I3>>2]|0,on=+(mr|0),bo=on*sn,Do=~~bo,rs=(I3+3240|0)+(Em<<2)|0,e[rs>>2]=Do,An=e[en>>2]|0,ns=+(An|0),an=ns*sn,_o=~~an,ss=(I3+3300|0)+(Em<<2)|0,e[ss>>2]=_o,os=Em+1|0,NQ=(os|0)==15,!NQ;)Em=os}while(!1);for(xo=+A1[xe>>3],As=_6+92|0,Ro=e[As>>2]|0,Cr=_6+100|0,$s=e[Cr>>2]|0,hi=_6+108|0,$n=e[hi>>2]|0,Br=e[g0>>2]|0,ji=Br+2852|0,pr=e[ji>>2]|0,qi=~~xo,Qr=Br+28|0,yi=e[Qr>>2]|0,wi=(yi|0)>0,wi||(e[Qr>>2]=1),j7=(pr|0)==0,j7?(ki=n4(1,520)|0,e[ji>>2]=ki,vA=ki):vA=pr,s4(vA|0,25784,520)|0,e[vA>>2]=0,yr=Br+3460|0,Xi=e[yr>>2]|0,er=(Xi|0)==0,er||(wr=vA+500|0,e[wr>>2]=1,ui=Ro+(qi<<2)|0,Lo=e[ui>>2]|0,j$=vA+504|0,e[j$>>2]=Lo,ln=$s+(qi<<2)|0,cn=e[ln>>2]|0,Fh=vA+508|0,e[Fh>>2]=cn,X$=$n+(qi<<3)|0,Fo=+A1[X$>>3],Mh=vA+512|0,A1[Mh>>3]=Fo),jA=+A1[xe>>3],el=e[As>>2]|0,Th=e[Cr>>2]|0,Gh=e[hi>>2]|0,XA=e[g0>>2]|0,tl=XA+2856|0,il=e[tl>>2]|0,ea=~~jA,gn=XA+28|0,rl=e[gn>>2]|0,Uh=(rl|0)>1,Uh||(e[gn>>2]=2),Mo=(il|0)==0,Mo?(tr=n4(1,520)|0,e[tl>>2]=tr,SA=tr):SA=il,s4(SA|0,25784,520)|0,e[SA>>2]=0,Oh=XA+3460|0,qh=e[Oh>>2]|0,Hh=(qh|0)==0,Hh||(Yh=SA+500|0,e[Yh>>2]=1,Jh=el+(ea<<2)|0,Vh=e[Jh>>2]|0,Kh=SA+504|0,e[Kh>>2]=Vh,zh=Th+(ea<<2)|0,Zh=e[zh>>2]|0,nl=SA+508|0,e[nl>>2]=Zh,Wh=Gh+(ea<<3)|0,jh=+A1[Wh>>3],sl=SA+512|0,A1[sl>>3]=jh),Nt||(Xh=+A1[xe>>3],ta=_6+96|0,To=e[ta>>2]|0,ia=_6+104|0,eu=e[ia>>2]|0,tu=e[hi>>2]|0,ra=e[g0>>2]|0,Al=ra+2860|0,al=e[Al>>2]|0,na=~~Xh,$l=ra+28|0,No=e[$l>>2]|0,iu=(No|0)>2,iu||(e[$l>>2]=3),ru=(al|0)==0,ru?(ll=n4(1,520)|0,e[Al>>2]=ll,bA=ll):bA=al,s4(bA|0,25784,520)|0,e[bA>>2]=1,nu=ra+3460|0,su=e[nu>>2]|0,ou=(su|0)==0,ou||(Au=bA+500|0,e[Au>>2]=1,gl=To+(na<<2)|0,hl=e[gl>>2]|0,ul=bA+504|0,e[ul>>2]=hl,fl=eu+(na<<2)|0,dl=e[fl>>2]|0,hn=bA+508|0,e[hn>>2]=dl,au=tu+(na<<3)|0,Il=+A1[au>>3],El=bA+512|0,A1[El>>3]=Il),ml=+A1[xe>>3],lu=e[ta>>2]|0,cu=e[ia>>2]|0,gu=e[hi>>2]|0,sa=e[g0>>2]|0,Cl=sa+2864|0,Bl=e[Cl>>2]|0,cs=~~ml,pl=sa+28|0,hu=e[pl>>2]|0,Ql=(hu|0)>3,Ql||(e[pl>>2]=4),uu=(Bl|0)==0,uu?(yl=n4(1,520)|0,e[Cl>>2]=yl,DA=yl):DA=Bl,s4(DA|0,25784,520)|0,e[DA>>2]=1,fu=sa+3460|0,du=e[fu>>2]|0,wl=(du|0)==0,wl||(kl=DA+500|0,e[kl>>2]=1,Iu=lu+(cs<<2)|0,Go=e[Iu>>2]|0,Aa=DA+504|0,e[Aa>>2]=Go,vl=cu+(cs<<2)|0,Sl=e[vl>>2]|0,mu=DA+508|0,e[mu>>2]=Sl,Cu=gu+(cs<<3)|0,Bu=+A1[Cu>>3],pu=DA+512|0,A1[pu>>3]=Bu)),Qu=(j+3528|0)+(n<<5)|0,yu=+A1[Qu>>3],Uo=_6+32|0,_l=e[Uo>>2]|0,Po=_6+36|0,wu=e[Po>>2]|0,xl=_6+44|0,ku=e[xl>>2]|0,Km(t,yu,0,_l,wu,ku),Rl=j+3560|0,vu=+A1[Rl>>3],Su=e[Uo>>2]|0,Ll=e[Po>>2]|0,aa=_6+52|0,Du=e[aa>>2]|0,Km(t,vu,1,Su,Ll,Du),Nt||(Oo=j+3592|0,_u=+A1[Oo>>3],qo=e[Uo>>2]|0,xu=e[Po>>2]|0,$a=e[aa>>2]|0,Km(t,_u,2,qo,xu,$a),Ru=j+3624|0,Lu=+A1[Ru>>3],Fu=e[Uo>>2]|0,Fl=e[Po>>2]|0,Tu=_6+48|0,Nu=e[Tu>>2]|0,Km(t,Lu,3,Fu,Fl,Nu)),Gu=((j+3528|0)+(n<<5)|0)+24|0,Ml=+A1[Gu>>3],Tl=_6+80|0,ir=e[Tl>>2]|0,Nl=_6+84|0,Ho=e[Nl>>2]|0,la=~~Ml,ca=+(la|0),Gl=Ml-ca,fn=e[g0>>2]|0,Uu=fn+2852|0,Ul=e[Uu>>2]|0,Pu=Ho+(la<<3)|0,Ou=+A1[Pu>>3],qu=1-Gl,Hu=Ou*qu,Yo=la+1|0,ga=Ho+(Yo<<3)|0,Yu=+A1[ga>>3],Ju=Yu*Gl,Pl=Ju+Hu,ha=~~Pl,Ol=+(ha|0),ql=Pl-Ol,Vu=ql==0,Hl=(ha|0)>0,kB=Hl&Vu,a=kB?1:ql,Ku=kB<<31>>31,M=Ku+ha|0,ua=1-a,Zu=M+1|0,rh=0;P9=(ir+(M*160|0)|0)+(rh<<2)|0,Wu=e[P9>>2]|0,Yl=+(Wu|0),ju=Yl*ua,Xu=(ir+(Zu*160|0)|0)+(rh<<2)|0,fa=e[Xu>>2]|0,ef=+(fa|0),da=ef*a,Jl=da+ju,rf=Jl,Vl=(Ul+336|0)+(rh<<2)|0,s[Vl>>2]=rf,Kl=rh+1|0,xQ=(Kl|0)==40,!xQ;)rh=Kl;for(nf=j+3584|0,Ia=+A1[nf>>3],Ea=~~Ia,zl=+(Ea|0),Zl=Ia-zl,sf=fn+2856|0,Wl=e[sf>>2]|0,of=Ho+(Ea<<3)|0,jl=+A1[of>>3],Af=1-Zl,af=jl*Af,$f=Ea+1|0,lf=Ho+($f<<3)|0,Xl=+A1[lf>>3],ec=Xl*Zl,Ca=ec+af,Jo=~~Ca,cf=+(Jo|0),ic=Ca-cf,rc=ic==0,gf=(Jo|0)>0,vB=gf&rc,c=vB?1:ic,hf=vB<<31>>31,T=hf+Jo|0,uf=1-c,nc=T+1|0,nh=0;ff=(ir+(T*160|0)|0)+(nh<<2)|0,df=e[ff>>2]|0,If=+(df|0),mf=If*uf,Cf=(ir+(nc*160|0)|0)+(nh<<2)|0,sc=e[Cf>>2]|0,Bf=+(sc|0),oc=Bf*c,pf=oc+mf,dn=pf,Qf=(Wl+336|0)+(nh<<2)|0,s[Qf>>2]=dn,Ac=nh+1|0,RQ=(Ac|0)==40,!RQ;)nh=Ac;if(!Nt){for(yf=j+3616|0,Ba=+A1[yf>>3],wf=_6+88|0,Vo=e[wf>>2]|0,pa=~~Ba,kf=+(pa|0),Qa=Ba-kf,$c=fn+2860|0,vf=e[$c>>2]|0,Sf=Vo+(pa<<3)|0,bf=+A1[Sf>>3],_f=1-Qa,lc=bf*_f,xf=pa+1|0,Rf=Vo+(xf<<3)|0,Lf=+A1[Rf>>3],Ko=Lf*Qa,hs=Ko+lc,ya=~~hs,Ff=+(ya|0),wa=hs-Ff,Tf=wa==0,Nf=(ya|0)>0,SB=Nf&Tf,u=SB?1:wa,cc=SB<<31>>31,N=cc+ya|0,Gf=1-u,Uf=N+1|0,sh=0;Pf=(ir+(N*160|0)|0)+(sh<<2)|0,Of=e[Pf>>2]|0,qf=+(Of|0),zo=qf*Gf,Hf=(ir+(Uf*160|0)|0)+(sh<<2)|0,gc=e[Hf>>2]|0,Jf=+(gc|0),Vf=Jf*u,Kf=Vf+zo,zf=Kf,fi=(vf+336|0)+(sh<<2)|0,s[fi>>2]=zf,hc=sh+1|0,LQ=(hc|0)==40,!LQ;)sh=hc;for(di=j+3648|0,uc=+A1[di>>3],ka=~~uc,X7=+(ka|0),us=uc-X7,Wf=fn+2864|0,jf=e[Wf>>2]|0,Xf=Vo+(ka<<3)|0,ed=+A1[Xf>>3],td=1-us,fc=ed*td,id=ka+1|0,rd=Vo+(id<<3)|0,nd=+A1[rd>>3],sd=nd*us,fs=sd+fc,va=~~fs,od=+(va|0),Ic=fs-od,Ad=Ic==0,ad=(va|0)>0,bB=ad&Ad,E=bB?1:Ic,Zo=bB<<31>>31,G=Zo+va|0,$d=1-E,Ec=G+1|0,oh=0;mc=(ir+(G*160|0)|0)+(oh<<2)|0,cd=e[mc>>2]|0,gd=+(cd|0),In=gd*$d,hd=(ir+(Ec*160|0)|0)+(oh<<2)|0,ud=e[hd>>2]|0,En=+(ud|0),fd=En*E,Cc=fd+In,Id=Cc,ds=(jf+336|0)+(oh<<2)|0,s[ds>>2]=Id,Bc=oh+1|0,FQ=(Bc|0)==40,!FQ;)oh=Bc}for(Ed=((j+3528|0)+(n<<5)|0)+8|0,pc=+A1[Ed>>3],md=_6+40|0,rr=e[md>>2]|0,Sa=~~pc,Cd=+(Sa|0),Qc=pc-Cd,Bd=rr+(Sa<<2)|0,pd=e[Bd>>2]|0,wc=+(pd|0),Qd=1-Qc,yd=wc*Qd,wd=Sa+1|0,kc=rr+(wd<<2)|0,kd=e[kc>>2]|0,Is=+(kd|0),vd=Is*Qc,Sd=vd+yd,bd=Sd,ba=Ul+32|0,s[ba>>2]=bd,Dd=j+3568|0,Da=+A1[Dd>>3],_a=~~Da,_d=+(_a|0),vc=Da-_d,Sc=rr+(_a<<2)|0,xd=e[Sc>>2]|0,_c=+(xd|0),Rd=1-vc,xc=_c*Rd,Rc=_a+1|0,Ld=rr+(Rc<<2)|0,Fd=e[Ld>>2]|0,Lc=+(Fd|0),Fc=Lc*vc,Md=Fc+xc,Mc=Md,Td=Wl+32|0,s[Td>>2]=Mc,Nt||(Nd=j+3600|0,Nc=+A1[Nd>>3],xa=~~Nc,Gc=+(xa|0),Uc=Nc-Gc,Pc=fn+2860|0,Oc=e[Pc>>2]|0,Gd=rr+(xa<<2)|0,Ud=e[Gd>>2]|0,Od=+(Ud|0),qd=1-Uc,Hd=Od*qd,Yd=xa+1|0,Jd=rr+(Yd<<2)|0,qc=e[Jd>>2]|0,Ra=+(qc|0),Vd=Ra*Uc,Kd=Vd+Hd,zd=Kd,Yc=Oc+32|0,s[Yc>>2]=zd,Zd=j+3632|0,Jc=+A1[Zd>>3],La=~~Jc,Wo=+(La|0),Vc=Jc-Wo,Wd=fn+2864|0,jd=e[Wd>>2]|0,Xd=rr+(La<<2)|0,eI=e[Xd>>2]|0,jo=+(eI|0),tI=1-Vc,iI=jo*tI,rI=La+1|0,nI=rr+(rI<<2)|0,sI=e[nI>>2]|0,oI=+(sI|0),AI=oI*Vc,aI=AI+iI,zc=aI,lI=jd+32|0,s[lI>>2]=zc),cI=((j+3528|0)+(n<<5)|0)+16|0,gI=+A1[cI>>3],Xo=_6+76|0,Zc=e[Xo>>2]|0,hI=_6+60|0,uI=e[hI>>2]|0,Cn=_6+56|0,Wc=e[Cn>>2]|0,bl?Xc=0:(jc=j+3408|0,fI=+A1[jc>>3],Xc=fI),zm(t,gI,0,Zc,uI,Wc,Xc),dI=j+3576|0,eg=+A1[dI>>3],tg=e[Xo>>2]|0,II=_6+64|0,EI=e[II>>2]|0,mI=e[Cn>>2]|0,zm(t,eg,1,tg,EI,mI,0),Nt?(Es=e[g0>>2]|0,OI=Es+2852|0,hg=e[OI>>2]|0,qI=Es+3496|0,Na=+A1[qI>>3],ug=Na,HI=hg+4|0,s[HI>>2]=ug,JI=Es+3504|0,VI=+A1[JI>>3],fg=VI,KI=hg+8|0,s[KI>>2]=fg,zI=Es+2856|0,dg=e[zI>>2]|0,nA=dg+4|0,s[nA>>2]=ug,ZI=dg+8|0,s[ZI>>2]=fg,nr=Es):(CI=j+3608|0,BI=+A1[CI>>3],Ma=e[Xo>>2]|0,pI=_6+68|0,QI=e[pI>>2]|0,yI=e[Cn>>2]|0,zm(t,BI,2,Ma,QI,yI,0),wI=j+3640|0,ig=+A1[wI>>3],kI=e[Xo>>2]|0,rg=_6+72|0,vI=e[rg>>2]|0,SI=e[Cn>>2]|0,zm(t,ig,3,kI,vI,SI,0),Sr=e[g0>>2]|0,sg=Sr+2852|0,og=e[sg>>2]|0,bI=Sr+3496|0,Ag=+A1[bI>>3],tA=Ag,DI=og+4|0,s[DI>>2]=tA,_I=Sr+3504|0,xI=+A1[_I>>3],iA=xI,RI=og+8|0,s[RI>>2]=iA,LI=Sr+2856|0,$g=e[LI>>2]|0,FI=$g+4|0,s[FI>>2]=tA,MI=$g+8|0,s[MI>>2]=iA,Ta=Sr+2860|0,rA=e[Ta>>2]|0,TI=rA+4|0,s[TI>>2]=tA,NI=rA+8|0,s[NI>>2]=iA,GI=Sr+2864|0,gg=e[GI>>2]|0,UI=gg+4|0,s[UI>>2]=tA,PI=gg+8|0,s[PI>>2]=iA,nr=Sr),WI=+A1[xe>>3],jI=_6+152|0,Ig=e[jI>>2]|0,Eg=~~WI,XI=Ig+(Eg<<3)|0,mg=e[XI>>2]|0,Cg=(Ig+(Eg<<3)|0)+4|0,vi=e[Cg>>2]|0,Bg=e[nr>>2]|0,eE=nr+4|0,tE=e[eE>>2]|0,rE=(Bg|0)==(tE|0),A=rE?1:2,Ga=nr+8|0,sA=nr+12|0,pg=t+8|0,Qg=t+4|0,Ei=0;;){if(nE=n4(1,3208)|0,oA=(nr+544|0)+(Ei<<2)|0,e[oA>>2]=nE,Cs=n4(1,16)|0,sE=(nr+32|0)+(Ei<<2)|0,e[sE>>2]=Cs,AA=26304+(Ei<<4)|0,e[Cs>>2]=e[AA>>2]|0,e[Cs+4>>2]=e[AA+4>>2]|0,e[Cs+8>>2]=e[AA+8>>2]|0,e[Cs+12>>2]=e[AA+12>>2]|0,oE=e[Ga>>2]|0,Pa=(Ei|0)<(oE|0),Pa||(AE=Ei+1|0,e[Ga>>2]=AE),aE=(nr+288|0)+(Ei<<2)|0,e[aE>>2]=0,yg=e[oA>>2]|0,aA=mg+(Ei*3208|0)|0,s4(yg|0,aA|0,3208)|0,wg=e[sA>>2]|0,$E=(Ei|0)<(wg|0),$E||(lE=Ei+1|0,e[sA>>2]=lE),cE=e[aA>>2]|0,kg=(cE|0)>0,kg)for(nC=0;;){hE=((mg+(Ei*3208|0)|0)+1092|0)+(nC<<2)|0,Wt=e[hE>>2]|0,y4=e[g0>>2]|0,ei=S9(2840)|0,uE=(y4+1568|0)+(Wt<<2)|0,e[uE>>2]=ei,vg=(vi+(Wt<<5)|0)+12|0,Sg=e[vg>>2]|0,s4(ei|0,Sg|0,2840)|0,Oa=y4+20|0,fE=e[Oa>>2]|0,Bs=(fE|0)>(Wt|0),Bs||(dE=Wt+1|0,e[Oa>>2]=dE),IE=(vi+(Wt<<5)|0)+8|0,bg=e[IE>>2]|0,qa=ei+8|0,e[qa>>2]=bg,EE=vi+(Wt<<5)|0,Dg=e[EE>>2]|0,_g=(y4+1312|0)+(Wt<<2)|0,e[_g>>2]=Dg,xg=y4+3420|0,Ha=e[xg>>2]|0,Rg=(Ha|0)==0,ps=ei+12|0,Ja=e[ps>>2]|0,Lg=(Ja|0)>0;do if(Rg){if(Lg)for(Fg=(vi+(Wt<<5)|0)+24|0,$A=e[Fg>>2]|0,BE=ei+24|0,kA=0;;)if(Ar=BE+(kA<<2)|0,Qn=$A+(kA<<4)|0,_7=e[Qn>>2]|0,x7=(_7|0)==0,x7||(R7=e[Ar>>2]|0,uA=R7|1,e[Ar>>2]=uA),fA=($A+(kA<<4)|0)+4|0,Jg=e[fA>>2]|0,Vg=(Jg|0)==0,Vg||(k2=e[Ar>>2]|0,m5=k2|2,e[Ar>>2]=m5),n5=($A+(kA<<4)|0)+8|0,x2=e[n5>>2]|0,_2=(x2|0)==0,_2||(B2=e[Ar>>2]|0,C5=B2|4,e[Ar>>2]=C5),d5=($A+(kA<<4)|0)+12|0,D5=e[d5>>2]|0,G5=(D5|0)==0,G5||(_5=e[Ar>>2]|0,q2=_5|8,e[Ar>>2]=q2),I5=kA+1|0,A5=e[ps>>2]|0,c5=(I5|0)<(A5|0),c5)kA=I5;else{CA=A5;break}else CA=Ja;dA=(vi+(Wt<<5)|0)+16|0,t$=e[dA>>2]|0,L7=y4+24|0,xr=e[L7>>2]|0,i$=(xr|0)>0,HE=t$;e:do if(i$)for(Im=0;;){if(r$=(y4+1824|0)+(Im<<2)|0,YE=e[r$>>2]|0,n$=(YE|0)==(t$|0),n$){R=Im;break e}if(Kg=Im+1|0,EA=(Kg|0)<(xr|0),EA)Im=Kg;else{t4=116;break}}else t4=116;while(!1);if((t4|0)==116&&(t4=0,JE=xr+1|0,e[L7>>2]=JE,R=xr),VE=ei+20|0,e[VE>>2]=R,KE=(y4+1824|0)+(R<<2)|0,e[KE>>2]=HE,yn=(CA|0)>0,!yn)break;for(Ke=(vi+(Wt<<5)|0)+24|0,v4=ei+280|0,Mr=0,d$=0;;){if(zg=e[Ke>>2]|0,zE=zg+(d$<<4)|0,s$=e[zE>>2]|0,Zg=(s$|0)==0,ZE=s$,Zg)ks=zg,om=Mr;else{BA=e[L7>>2]|0,jE=(BA|0)>0;e:do if(jE)for(gm=0;;){if(XE=(y4+1824|0)+(gm<<2)|0,em=e[XE>>2]|0,tm=(em|0)==(s$|0),tm){L=gm;break e}if(Wg=gm+1|0,im=(Wg|0)<(BA|0),im)gm=Wg;else{t4=123;break}}else t4=123;while(!1);(t4|0)==123&&(t4=0,rm=BA+1|0,e[L7>>2]=rm,L=BA),nm=Mr+1|0,ti=v4+(Mr<<2)|0,e[ti>>2]=L,wn=(y4+1824|0)+(L<<2)|0,e[wn>>2]=ZE,n0=e[Ke>>2]|0,ks=n0,om=nm}if(o$=(ks+(d$<<4)|0)+4|0,vs=e[o$>>2]|0,jt=(vs|0)==0,Ss=vs,jt)E2=ks,Y4=om;else{V1=e[L7>>2]|0,O1=(V1|0)>0;e:do if(O1)for($m=0;;){if(q1=(y4+1824|0)+($m<<2)|0,Y1=e[q1>>2]|0,j1=(Y1|0)==(vs|0),j1){b=$m;break e}if(r2=$m+1|0,W1=(r2|0)<(V1|0),W1)$m=r2;else{t4=147;break}}else t4=147;while(!1);(t4|0)==147&&(t4=0,P1=V1+1|0,e[L7>>2]=P1,b=V1),c2=om+1|0,z1=v4+(om<<2)|0,e[z1>>2]=b,u2=(y4+1824|0)+(b<<2)|0,e[u2>>2]=Ss,i0=e[Ke>>2]|0,E2=i0,Y4=c2}if(s2=(E2+(d$<<4)|0)+8|0,K1=e[s2>>2]|0,h2=(K1|0)==0,a2=K1,h2)D2=E2,h$=Y4;else{t2=e[L7>>2]|0,$2=(t2|0)>0;e:do if($2)for(lm=0;;){if(i2=(y4+1824|0)+(lm<<2)|0,A2=e[i2>>2]|0,X1=(A2|0)==(K1|0),X1){Q=lm;break e}if(n2=lm+1|0,f2=(n2|0)<(t2|0),f2)lm=n2;else{t4=153;break}}else t4=153;while(!1);(t4|0)==153&&(t4=0,y2=t2+1|0,e[L7>>2]=y2,Q=t2),v2=Y4+1|0,w2=v4+(Y4<<2)|0,e[w2>>2]=Q,C2=(y4+1824|0)+(Q<<2)|0,e[C2>>2]=a2,V=e[Ke>>2]|0,D2=V,h$=v2}if(F2=(D2+(d$<<4)|0)+12|0,N2=e[F2>>2]|0,d2=(N2|0)==0,K2=N2,d2)CB=h$;else{G2=e[L7>>2]|0,M2=(G2|0)>0;e:do if(M2)for(cm=0;;){if(P2=(y4+1824|0)+(cm<<2)|0,z2=e[P2>>2]|0,o5=(z2|0)==(N2|0),o5){_=cm;break e}if(O2=cm+1|0,T1=(O2|0)<(G2|0),T1)cm=O2;else{t4=159;break}}else t4=159;while(!1);(t4|0)==159&&(t4=0,X2=G2+1|0,e[L7>>2]=X2,_=G2),R5=h$+1|0,e5=v4+(h$<<2)|0,e[e5>>2]=_,b5=(y4+1824|0)+(_<<2)|0,e[b5>>2]=K2,CB=R5}if(v5=d$+1|0,P5=e[ps>>2]|0,l5=(v5|0)<(P5|0),l5)Mr=CB,d$=v5;else break}}else{if(Lg)for(mE=(vi+(Wt<<5)|0)+28|0,Bn=e[mE>>2]|0,CE=ei+24|0,wA=0;;)if(Si=CE+(wA<<2)|0,pE=Bn+(wA<<4)|0,QE=e[pE>>2]|0,yE=(QE|0)==0,yE||(wE=e[Si>>2]|0,kE=wE|1,e[Si>>2]=kE),vE=(Bn+(wA<<4)|0)+4|0,bi=e[vE>>2]|0,SE=(bi|0)==0,SE||(o6=e[Si>>2]|0,e3=o6|2,e[Si>>2]=e3),A3=(Bn+(wA<<4)|0)+8|0,L3=e[A3>>2]|0,u6=(L3|0)==0,u6||(Q3=e[Si>>2]|0,y3=Q3|4,e[Si>>2]=y3),r6=(Bn+(wA<<4)|0)+12|0,j3=e[r6>>2]|0,O3=(j3|0)==0,O3||(V5=e[Si>>2]|0,S3=V5|8,e[Si>>2]=S3),g3=wA+1|0,q3=e[ps>>2]|0,l6=(g3|0)<(q3|0),l6)wA=g3;else{Hg=q3;break}else Hg=Ja;bE=(vi+(Wt<<5)|0)+20|0,Tg=e[bE>>2]|0,Ii=y4+24|0,lA=e[Ii>>2]|0,Va=(lA|0)>0,Ng=Tg;e:do if(Va)for(am=0;;){if(Gg=(y4+1824|0)+(am<<2)|0,_E=e[Gg>>2]|0,Ug=(_E|0)==(Tg|0),Ug){B=am;break e}if(Pg=am+1|0,xE=(Pg|0)<(lA|0),xE)am=Pg;else{t4=100;break}}else t4=100;while(!1);if((t4|0)==100&&(t4=0,qg=lA+1|0,e[Ii>>2]=qg,B=lA),LE=ei+20|0,e[LE>>2]=B,FE=(y4+1824|0)+(B<<2)|0,e[FE>>2]=Ng,ME=(Hg|0)>0,!ME)break;for(Qs=(vi+(Wt<<5)|0)+28|0,cA=ei+280|0,Rs=0,u$=0;;){if(gA=e[Qs>>2]|0,TE=gA+(u$<<4)|0,Ka=e[TE>>2]|0,GE=(Ka|0)==0,Yg=Ka,GE)ws=gA,Sn=Rs;else{ys=e[Ii>>2]|0,UE=(ys|0)>0;e:do if(UE)for(dm=0;;){if(PE=(y4+1824|0)+(dm<<2)|0,za=e[PE>>2]|0,Za=(za|0)==(Ka|0),Za){y=dm;break e}if(hA=dm+1|0,Wa=(hA|0)<(ys|0),Wa)dm=hA;else{t4=107;break}}else t4=107;while(!1);(t4|0)==107&&(t4=0,ja=ys+1|0,e[Ii>>2]=ja,y=ys),Dr=Rs+1|0,_r=cA+(Rs<<2)|0,e[_r>>2]=y,Xa=(y4+1824|0)+(y<<2)|0,e[Xa>>2]=Yg,q=e[Qs>>2]|0,ws=q,Sn=Dr}if(e$=(ws+(u$<<4)|0)+4|0,or=e[e$>>2]|0,pn=(or|0)==0,OE=or,pn)x5=ws,kn=Sn;else{B5=e[Ii>>2]|0,M1=(B5|0)>0;e:do if(M1)for(hm=0;;){if(g5=(y4+1824|0)+(hm<<2)|0,a5=e[g5>>2]|0,W2=(a5|0)==(or|0),W2){v=hm;break e}if(g2=hm+1|0,p5=(g2|0)<(B5|0),p5)hm=g2;else{t4=171;break}}else t4=171;while(!1);(t4|0)==171&&(t4=0,t5=B5+1|0,e[Ii>>2]=t5,v=B5),s5=Sn+1|0,h5=cA+(Sn<<2)|0,e[h5>>2]=v,J2=(y4+1824|0)+(v<<2)|0,e[J2>>2]=OE,K=e[Qs>>2]|0,x5=K,kn=s5}if(u5=(x5+(u$<<4)|0)+8|0,j2=e[u5>>2]|0,$5=(j2|0)==0,R2=j2,$5)u3=x5,vn=kn;else{Q5=e[Ii>>2]|0,q5=(Q5|0)>0;e:do if(q5)for(um=0;;){if(j5=(y4+1824|0)+(um<<2)|0,E5=e[j5>>2]|0,f3=(E5|0)==(j2|0),f3){S=um;break e}if(h3=um+1|0,X5=(h3|0)<(Q5|0),X5)um=h3;else{t4=177;break}}else t4=177;while(!1);(t4|0)==177&&(t4=0,n3=Q5+1|0,e[Ii>>2]=n3,S=Q5),m3=kn+1|0,F5=cA+(kn<<2)|0,e[F5>>2]=S,J5=(y4+1824|0)+(S<<2)|0,e[J5>>2]=R2,a0=e[Qs>>2]|0,u3=a0,vn=m3}if(k3=(u3+(u$<<4)|0)+12|0,p3=e[k3>>2]|0,z3=(p3|0)==0,G3=p3,z3)F9=vn;else{w3=e[Ii>>2]|0,Z5=(w3|0)>0;e:do if(Z5)for(fm=0;;){if(i6=(y4+1824|0)+(fm<<2)|0,R3=e[i6>>2]|0,U3=(R3|0)==(p3|0),U3){w=fm;break e}if(a3=fm+1|0,l3=(a3|0)<(w3|0),l3)fm=a3;else{t4=183;break}}else t4=183;while(!1);(t4|0)==183&&(t4=0,c3=w3+1|0,e[Ii>>2]=c3,w=w3),C3=vn+1|0,H5=cA+(vn<<2)|0,e[H5>>2]=w,O5=(y4+1824|0)+(w<<2)|0,e[O5>>2]=G3,F9=C3}if(k5=u$+1|0,P3=e[ps>>2]|0,M5=(k5|0)<(P3|0),M5)Rs=F9,u$=k5;else break}}while(!1);jg=y4+3480|0,Xg=+A1[jg>>3],QA=Xg*1e3,bs=(y4+1056|0)+(Ei<<2)|0,_s=e[bs>>2]|0,sm=e[pg>>2]|0,xs=+(sm|0),ar=xs*.5,eh=y4+(Ei<<2)|0,Rr=e[eh>>2]|0,ii=Rr>>1,A$=QA>ar,pB=A$?ar:QA,a$=pB/ar,Yi=+(ii|0),l$=Yi*a$,c$=~~l$,Lr=_s+1116|0,e[Lr>>2]=c$,$6=(vi+(Wt<<5)|0)+4|0,yA=e[$6>>2]|0;do if((yA|0)==2)ih=250;else if((yA|0)==1){if(Fr=e[xg>>2]|0,th=(Fr|0)==0,ve=y4+2996|0,g$=y4+2968|0,YQ=th?g$:ve,HQ=e[YQ>>2]|0,qQ=+(HQ|0),QB=qQ*1e3,Q8=QB>ar,!Q8){ih=QB;break}ih=ar}else ih=pB;while(!1);d0=e[_g>>2]|0,w0=(d0|0)==2;do if(w0){if(C0=y4+12|0,k0=e[C0>>2]|0,f0=(k0|0)>0,f0)for(rC=0;;){if(B0=(y4+544|0)+(rC<<2)|0,p0=e[B0>>2]|0,I0=e[p0>>2]|0,S0=(I0|0)>0,S0)for(mm=0;;){V0=(p0+1092|0)+(mm<<2)|0,Q0=e[V0>>2]|0,L0=(Q0|0)==(Wt|0);do if(L0){if(M0=e[Qg>>2]|0,N0=(M0|0)>0,N0)BB=0,oC=0;else{Am=0;break}for(;;)if(U0=(p0+4|0)+(oC<<2)|0,y0=e[U0>>2]|0,H0=(y0|0)==(mm|0),R0=H0&1,O=R0+BB|0,D0=oC+1|0,_Q=(D0|0)==(M0|0),_Q){Am=O;break}else BB=O,oC=D0}else Am=0;while(!1);if(T0=mm+1|0,Y0=(T0|0)<(I0|0),P0=(Am|0)==0,K0=Y0&P0,K0)mm=T0;else{eC=Am;break}}else eC=0;if(G0=rC+1|0,O0=(G0|0)<(k0|0),r1=(eC|0)==0,q0=O0&r1,q0)rC=G0;else{Xm=eC;break}}else Xm=0;if(e1=ih/ar,b0=+(Xm|0),i1=b0*Yi,$1=i1*e1,u1=e[qa>>2]|0,g1=+(u1|0),l1=$1/g1,s1=l1+.9,a1=~~s1,n1=r5(a1,u1)|0,o1=ei+4|0,e[o1>>2]=n1,z0=r5(Xm,ii)|0,I1=(n1|0)>(z0|0),!I1){U=o1,Z1=n1,D1=u1;break}m1=(z0|0)%(u1|0)&-1,d1=z0-m1|0,e[o1>>2]=d1,U=o1,Z1=d1,D1=u1}else{if(E1=ih/ar,B1=E1*Yi,p1=e[qa>>2]|0,Q1=+(p1|0),x1=B1/Q1,R1=x1+.9,w1=~~R1,S1=r5(w1,p1)|0,F1=ei+4|0,e[F1>>2]=S1,G1=(S1|0)>(ii|0),!G1){U=F1,Z1=S1,D1=p1;break}k1=(ii|0)%(p1|0)&-1,U1=ii-k1|0,e[F1>>2]=U1,U=F1,Z1=U1,D1=p1}while(!1);if(N1=(Z1|0)==0,N1&&(e[U>>2]=D1),d3=nC+1|0,v6=e[aA>>2]|0,S6=(d3|0)<(v6|0),S6)nC=d3;else break}if(B6=Ei+1|0,X3=(B6|0)<(A|0),X3)Ei=B6;else break}return c6=j+3428|0,p6=e[c6>>2]|0,x6=(p6|0)>0,x6?(Y6=t+16|0,e[Y6>>2]=p6):(C6=e[g0>>2]|0,b3=C6+3396|0,t6=e[b3>>2]|0,f6=C6+3400|0,H3=+A1[f6>>3],D3=~~H3,Y3=+(D3|0),Z3=H3-Y3,b6=t6+4|0,A6=e[b6>>2]|0,t3=(A6|0)==0,t3?p=-1:(O6=e[Qg>>2]|0,d6=A6+(D3<<3)|0,_3=+A1[d6>>3],N6=1-Z3,n6=_3*N6,Q6=D3+1|0,R6=A6+(Q6<<3)|0,K6=+A1[R6>>3],I6=K6*Z3,J6=I6+n6,F3=+(O6|0),G6=J6*F3,JQ=~~G6,p=JQ),e9=t+16|0,e[e9>>2]=p),s9=j+3424|0,L6=e[s9>>2]|0,U6=t+20|0,e[U6>>2]=L6,D6=j+3440|0,z6=e[D6>>2]|0,y6=t+12|0,e[y6>>2]=z6,F6=(p6|0)==0,F6?s0=0:(M3=j+3444|0,t9=e[M3>>2]|0,A9=+(t9|0),X6=+(p6|0),u9=A9/X6,f9=~~u9,s0=f9),d9=t+24|0,e[d9>>2]=s0,a9=j+3420|0,$9=e[a9>>2]|0,T9=($9|0)==0,T9?(m=0,m|0):(E6=e[c6>>2]|0,i9=j+3360|0,e[i9>>2]=E6,N9=e[s9>>2]|0,I9=j+3364|0,e[I9>>2]=N9,E4=e[D6>>2]|0,o4=j+3368|0,e[o4>>2]=E4,h4=j+3444|0,G9=e[h4>>2]|0,z9=j+3372|0,e[z9>>2]=G9,b9=j+3448|0,E9=+A1[b9>>3],r9=j+3376|0,A1[r9>>3]=E9,m4=j+3432|0,S4=+A1[m4>>3],A4=j+3384|0,A1[A4>>3]=S4,m=0,m|0)}function sb(t,n,A,a){t=t|0,n=n|0,A=A|0,a=+a;var c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0;if(O=C,I=(A|0)<1,I)u=-131;else if(m=t+28|0,Q=e[m>>2]|0,_=a,L=_+1e-7,R=L,F=!(R>=1),E=F?R:.9998999834060669,M=Q+3416|0,s[M>>2]=E,T=E,N=Q+3400|0,p=ob(n,A,T,0,N)|0,B=Q+3396|0,e[B>>2]=p,v=(p|0)==0,v)u=-130;else return Ab(t,n,A),S=Q+3420|0,e[S>>2]=0,w=Q+3464|0,e[w>>2]=1,y=nb(t)|0,b=(y|0)==0,b?(c=0,c|0):(lB(t),c=y,c|0);return lB(t),c=u,c|0}function Km(t,n,A,a,c,u){t=t|0,n=+n,A=A|0,a=a|0,c=c|0,u=u|0;var E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0;for(B1=C,E=~~n,I=+(E|0),L=n-I,J=t+28|0,i0=e[J>>2]|0,C0=(i0+2852|0)+(A<<2)|0,M0=e[C0>>2]|0,K0=a+(E*20|0)|0,g1=e[K0>>2]|0,h1=+(g1|0),m=1-L,p=h1*m,B=E+1|0,v=a+(B*20|0)|0,S=e[v>>2]|0,w=+(S|0),y=w*L,b=y+p,Q=b,_=M0+12|0,s[_>>2]=Q,R=(a+(E*20|0)|0)+4|0,F=e[R>>2]|0,M=+(F|0),T=M*m,N=(a+(B*20|0)|0)+4|0,G=e[N>>2]|0,O=+(G|0),z=O*L,Y=z+T,t0=Y,W=M0+16|0,s[W>>2]=t0,e0=(a+(E*20|0)|0)+8|0,q=e[e0>>2]|0,X=+(q|0),U=X*m,$0=(a+(B*20|0)|0)+8|0,Z=e[$0>>2]|0,K=+(Z|0),a0=K*L,n0=a0+U,r0=n0,V=M0+20|0,s[V>>2]=r0,h0=(a+(E*20|0)|0)+12|0,s0=+s[h0>>2],g0=s0,j=g0*m,l0=(a+(B*20|0)|0)+12|0,u0=+s[l0>>2],d0=u0,w0=d0*L,k0=w0+j,f0=k0,B0=M0+24|0,s[B0>>2]=f0,p0=(a+(E*20|0)|0)+16|0,I0=+s[p0>>2],S0=I0,V0=S0*m,_0=(a+(B*20|0)|0)+16|0,Q0=+s[_0>>2],L0=Q0,N0=L0*L,U0=N0+V0,y0=U0,H0=M0+28|0,s[H0>>2]=y0,R0=c+(E<<2)|0,D0=e[R0>>2]|0,T0=+(D0|0),J0=T0*m,Y0=c+(B<<2)|0,P0=e[Y0>>2]|0,G0=+(P0|0),O0=G0*L,r1=O0+J0,q0=r1,e1=M0+496|0,s[e1>>2]=q0,d1=0;b0=(u+(E*68|0)|0)+(d1<<2)|0,i1=e[b0>>2]|0,c1=+(i1|0),$1=c1*m,u1=(u+(B*68|0)|0)+(d1<<2)|0,l1=e[u1>>2]|0,s1=+(l1|0),a1=s1*L,n1=a1+$1,o1=n1,z0=(M0+36|0)+(d1<<2)|0,s[z0>>2]=o1,I1=d1+1|0,m1=(I1|0)==17,!m1;)d1=I1}function zm(t,n,A,a,c,u,E){t=t|0,n=+n,A=A|0,a=a|0,c=c|0,u=u|0,E=+E;var I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,R1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0;for(w2=C,w=~~n,y=+(w|0),$0=n-y,j=t+28|0,S0=e[j>>2]|0,D0=(S0+2852|0)+(A<<2)|0,b0=e[D0>>2]|0,z0=a+(w<<2)|0,w1=e[z0>>2]|0,O1=+(w1|0),b=1-$0,z=O1*b,Y=w+1|0,t0=a+(Y<<2)|0,J=e[t0>>2]|0,W=+(J|0),e0=W*$0,q=e0+z,X=q,U=b0+108|0,s[U>>2]=X,Z=u+(A*12|0)|0,K=e[Z>>2]|0,a0=b0+120|0,e[a0>>2]=K,n0=(u+(A*12|0)|0)+4|0,i0=e[n0>>2]|0,r0=b0+124|0,e[r0>>2]=i0,V=(u+(A*12|0)|0)+8|0,h0=e[V>>2]|0,s0=b0+128|0,e[s0>>2]=h0,t2=0;;)if(g0=(c+(w*204|0)|0)+(t2<<2)|0,l0=e[g0>>2]|0,u0=+(l0|0),d0=u0*b,w0=(c+(Y*204|0)|0)+(t2<<2)|0,C0=e[w0>>2]|0,k0=+(C0|0),f0=k0*$0,B0=f0+d0,p0=B0,I0=(b0+132|0)+(t2<<2)|0,s[I0>>2]=p0,V0=t2+1|0,K1=(V0|0)==17,K1){$2=0;break}else t2=V0;for(;;)if(R1=((c+(w*204|0)|0)+68|0)+($2<<2)|0,S1=e[R1>>2]|0,L1=+(S1|0),F1=L1*b,G1=((c+(Y*204|0)|0)+68|0)+($2<<2)|0,k1=e[G1>>2]|0,U1=+(k1|0),Z1=U1*$0,N1=Z1+F1,D1=N1,V1=(b0+200|0)+($2<<2)|0,s[V1>>2]=D1,q1=$2+1|0,h2=(q1|0)==17,h2){i2=0;break}else $2=q1;for(;H1=((c+(w*204|0)|0)+136|0)+(i2<<2)|0,Y1=e[H1>>2]|0,j1=+(Y1|0),r2=j1*b,W1=((c+(Y*204|0)|0)+136|0)+(i2<<2)|0,P1=e[W1>>2]|0,c2=+(P1|0),z1=c2*$0,u2=z1+r2,Q=u2,_=(b0+268|0)+(i2<<2)|0,s[_>>2]=Q,L=i2+1|0,a2=(L|0)==17,!a2;)i2=L;for(R=b0+132|0,F=+s[R>>2],y0=F+6,M=b0+132|0,T=F,N=T+E,G=N,O=G>2]=y2,_0=1;I=(b0+132|0)+(_0<<2)|0,B=+s[I>>2],Q0=(b0+132|0)+(_0<<2)|0,L0=B,M0=L0+E,N0=M0,U0=N0>2]=A2,H0=_0+1|0,s2=(H0|0)==17,!s2;)_0=H0;for(R0=b0+200|0,T0=+s[R0>>2],J0=T0+6,Y0=b0+200|0,P0=T0,K0=P0+E,G0=K0,O0=G0>2]=n2,r1=1;m=(b0+200|0)+(r1<<2)|0,v=+s[m>>2],q0=(b0+200|0)+(r1<<2)|0,e1=v,i1=e1+E,c1=i1,$1=c1>2]=X1,u1=r1+1|0,E2=(u1|0)==17,!E2;)r1=u1;for(g1=b0+268|0,l1=+s[g1>>2],s1=l1+6,a1=b0+268|0,n1=l1,o1=n1+E,I1=o1,h1=I1>2]=e2,m1=1;p=(b0+268|0)+(m1<<2)|0,S=+s[p>>2],d1=(b0+268|0)+(m1<<2)|0,E1=S,B1=E1+E,p1=B1,Q1=p1>2]=f2,x1=m1+1|0,o2=(x1|0)==17,!o2;)m1=x1}function ob(t,n,A,a,c){t=t|0,n=n|0,A=+A,a=a|0,c=c|0;var u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0;Q1=C,w=(a|0)==0;e:do if(w){for(q=26336,z0=0;;){if(e0=e[q>>2]|0,X=e0+12|0,U=e[X>>2]|0,$0=(U|0)==-1,K=(U|0)==(t|0),d1=$0|K,d1&&(a0=e0+16|0,n0=e[a0>>2]|0,i0=(n0|0)>(n|0),!i0&&(r0=e0+20|0,V=e[r0>>2]|0,h0=(V|0)<(n|0),!h0&&(s0=e[e0>>2]|0,g0=e0+8|0,j=e[g0>>2]|0,u0=+A1[j>>3],d0=u0>A,!d0&&(k0=j+(s0<<3)|0,f0=+A1[k0>>3],B0=f0>2]|0,V0=Z+12|0,T0=e[V0>>2]|0,i1=(T0|0)==-1,s1=(T0|0)==(t|0),E1=i1|s1,E1&&(a1=Z+16|0,b=e[a1>>2]|0,Q=(b|0)>(n|0),!Q&&(_=Z+20|0,L=e[_>>2]|0,R=(L|0)<(n|0),!R&&(F=e[Z>>2]|0,M=Z+4|0,T=e[M>>2]|0,N=+A1[T>>3],G=O>3],t0=O>Y,!t0))))){E=O,I=F,m=l0,p=T,l1=N;break e}if(o1=I1+1|0,J=26336+(o1<<2)|0,W=(o1|0)==17,W){u=0;break}else l0=J,I1=o1}return u|0}while(!1);p0=(I|0)>0;e:do if(p0)for(S0=l1,m1=0;;){if(I0=!(E>=S0),S=m1+1|0,!I0&&(_0=p+(S<<3)|0,Q0=+A1[_0>>3],L0=E>3],S0=v,m1=S}else h1=0;while(!1);return N0=(h1|0)==(I|0),N0?(U0=+(I|0),y0=U0+-.001,B1=y0):(H0=p+(h1<<3)|0,R0=+A1[H0>>3],D0=R0,J0=h1+1|0,Y0=p+(J0<<3)|0,P0=+A1[Y0>>3],K0=P0,G0=D0,O0=E-G0,r1=K0-D0,q0=r1,e1=O0/q0,b0=e1,c1=+(h1|0),$1=b0+c1,u1=$1,B1=u1),A1[c>>3]=B1,g1=e[m>>2]|0,u=g1,u|0}function Ab(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0;b0=C,I=t+28|0,m=e[I>>2]|0,R=m+3396|0,W=e[R>>2]|0,e[t>>2]=0,r0=t+4|0,e[r0>>2]=n,k0=t+8|0,e[k0>>2]=A,N0=m+3456|0,e[N0>>2]=1,G0=m+3460|0,e[G0>>2]=1,r1=m+3400|0,q0=+A1[r1>>3],p=~~q0,B=+(p|0),v=q0-B,S=m+3472|0,A1[S>>3]=q0,w=m+3488|0,y=e[w>>2]|0,b=(y|0)==0,b?(Q=W+120|0,_=e[Q>>2]|0,L=_+(p<<3)|0,F=+A1[L>>3],M=1-v,T=F*M,N=p+1|0,G=_+(N<<3)|0,O=+A1[G>>3],z=O*v,Y=z+T,t0=m+3480|0,A1[t0>>3]=Y,c=N,u=M):(a=1-v,E=p+1|0,c=E,u=a),J=W+112|0,e0=e[J>>2]|0,q=e0+(p<<2)|0,X=e[q>>2]|0,U=+(X|0),$0=U*u,Z=e0+(c<<2)|0,K=e[Z>>2]|0,a0=+(K|0),n0=a0*v,i0=n0+$0,V=m+3496|0,A1[V>>3]=i0,h0=W+116|0,s0=e[h0>>2]|0,g0=s0+(p<<2)|0,j=e[g0>>2]|0,l0=+(j|0),u0=l0*u,d0=s0+(c<<2)|0,w0=e[d0>>2]|0,C0=+(w0|0),f0=C0*v,B0=f0+u0,p0=m+3504|0,A1[p0>>3]=B0,I0=m+3512|0,A1[I0>>3]=-6,S0=m+3520|0,A1[S0>>3]=q0,V0=m+3528|0,A1[V0>>3]=q0,_0=m+3536|0,A1[_0>>3]=q0,Q0=m+3544|0,A1[Q0>>3]=q0,L0=m+3552|0,A1[L0>>3]=q0,M0=m+3560|0,A1[M0>>3]=q0,U0=m+3568|0,A1[U0>>3]=q0,y0=m+3576|0,A1[y0>>3]=q0,H0=m+3584|0,A1[H0>>3]=q0,R0=m+3592|0,A1[R0>>3]=q0,D0=m+3600|0,A1[D0>>3]=q0,T0=m+3608|0,A1[T0>>3]=q0,J0=m+3616|0,A1[J0>>3]=q0,Y0=m+3624|0,A1[Y0>>3]=q0,P0=m+3632|0,A1[P0>>3]=q0,K0=m+3640|0,A1[K0>>3]=q0,O0=m+3648|0,A1[O0>>3]=q0}function ab(t,n,A,a,c,u){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0,u=u|0;var E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0,T0=0,J0=0,Y0=0,P0=0;if(P0=C,I=(c|0)!=0,m=I?a:0,R=I?u:0,W=n+(m<<2)|0,r0=e[W>>2]|0,k0=520336+(r0<<2)|0,S0=e[k0>>2]|0,V0=n+(R<<2)|0,_0=e[V0>>2]|0,Q0=520336+(_0<<2)|0,p=e[Q0>>2]|0,B=A+(c<<2)|0,v=e[B>>2]|0,S=A+(m<<2)|0,w=e[S>>2]|0,y=A+(R<<2)|0,b=e[y>>2]|0,Q=(v|0)/4&-1,_=(w|0)/4&-1,L=Q-_|0,F=(w|0)/2&-1,M=L+F|0,T=(v|0)/2&-1,N=T+Q|0,E=(b|0)/-4&-1,G=N+E|0,O=(b|0)/2&-1,z=G+O|0,Y=(L|0)>0,Y?(t0=Q-_|0,J=t0<<2,Ae(t|0,0,J|0)|0,M0=L):M0=0,e0=(M0|0)<(M|0),e0)for(q=Q+F|0,X=q-M0|0,U=X-_|0,N0=M0,H0=0;a0=S0+(H0<<2)|0,n0=+s[a0>>2],i0=t+(N0<<2)|0,V=+s[i0>>2],h0=V*n0,s[i0>>2]=h0,s0=N0+1|0,g0=H0+1|0,L0=(g0|0)==(U|0),!L0;)N0=s0,H0=g0;if($0=(b|0)>1,$0){for(Z=G+1|0,K=(z|0)>(Z|0),y0=G,D0=O;R0=D0+-1|0,d0=p+(R0<<2)|0,w0=+s[d0>>2],C0=t+(y0<<2)|0,f0=+s[C0>>2],B0=f0*w0,s[C0>>2]=B0,p0=y0+1|0,I0=(p0|0)<(z|0),I0;)y0=p0,D0=R0;J0=K?z:Z,U0=J0}else U0=G;j=(v|0)>(U0|0),j&&(T0=t+(U0<<2)|0,l0=v-U0|0,u0=l0<<2,Ae(T0|0,0,u0|0)|0)}function $b(t,n,A){t=t|0,n=+n,A=+A;var a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0;if(V=C,C=C+64|0,i0=V+32|0,n0=V,a=S9(688)|0,c=a+408|0,pS(c),b=~~n,sb(c,t,b,A)|0,z=a+440|0,mS(z),CS(z,553008,553016),X=a+456|0,Wv(X,c)|0,U=a+568|0,zv(X,U)|0,$0=Jp(0)|0,db($0),Z=Ib()|0,Uv(a,Z)|0,K=a+680|0,e[K>>2]=0,a0=a+684|0,e[a0>>2]=0,u=a+360|0,QS(X,z,u,i0,n0)|0,Jm(a,u)|0,Jm(a,i0)|0,Jm(a,n0)|0,E=a+392|0,I=Kp(a,E)|0,m=(I|0)==0,m)return C=V,a|0;for(p=a+396|0,B=a+404|0,v=a+400|0;S=e[a0>>2]|0,w=e[p>>2]|0,y=w+S|0,Q=e[B>>2]|0,_=y+Q|0,L=(_|0)==0,L||(M=e[K>>2]|0,T=Oi(M,_)|0,e[K>>2]=T,N=e[a0>>2]|0,G=T+N|0,O=e[E>>2]|0,Y=e[p>>2]|0,s4(G|0,O|0,Y|0)|0,t0=Y+N|0,e[a0>>2]=t0,J=T+t0|0,W=e[v>>2]|0,e0=e[B>>2]|0,s4(J|0,W|0,e0|0)|0,q=e0+t0|0,e[a0>>2]=q),R=Kp(a,E)|0,F=(R|0)==0,!F;);return C=V,a|0}function lb(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0;m=C,Pv(t)|0,n=t+568|0,Zv(n)|0,A=t+456|0,jp(A),a=t+440|0,BS(a),c=t+408|0,lB(c),u=t+680|0,E=e[u>>2]|0,I2(E),I2(t)}function cb(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0;return u=C,A=t+456|0,a=Xp(A,n)|0,a|0}function gb(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0;if(V=C,A=t+456|0,jv(A,n)|0,a=t+568|0,y=eQ(A,a)|0,O=(y|0)==1,!!O)for($0=t+360|0,Z=t+392|0,K=t+684|0,a0=t+396|0,n0=t+404|0,i0=t+680|0,c=t+392|0,u=t+400|0;;){if(Yv(a,0)|0,Kv(a)|0,m=Wp(A,$0)|0,p=(m|0)==0,!p)for(;;){if(Jm(t,$0)|0,S=zp(t,Z)|0,w=(S|0)==0,!w)for(;b=e[K>>2]|0,Q=e[a0>>2]|0,_=Q+b|0,L=e[n0>>2]|0,R=_+L|0,F=(R|0)==0,F||(N=e[i0>>2]|0,G=Oi(N,R)|0,e[i0>>2]=G,z=e[K>>2]|0,Y=G+z|0,t0=e[c>>2]|0,J=e[a0>>2]|0,s4(Y|0,t0|0,J|0)|0,W=J+z|0,e[K>>2]=W,e0=G+W|0,q=e[u>>2]|0,X=e[n0>>2]|0,s4(e0|0,q|0,X|0)|0,U=X+W|0,e[K>>2]=U),M=zp(t,Z)|0,T=(M|0)==0,!T;);if(B=Wp(A,$0)|0,v=(B|0)==0,v)break}if(E=eQ(A,a)|0,I=(E|0)==1,!I)break}}function hb(t){t=t|0;var n=0,A=0,a=0,c=0;return c=C,n=t+684|0,A=e[n>>2]|0,A|0}function ub(t){t=t|0;var n=0,A=0,a=0,c=0,u=0;return u=C,n=t+684|0,e[n>>2]=0,A=t+680|0,a=e[A>>2]|0,a|0}function Zm(t,n){t=+t,n=n|0;var A=0,a=0,c=0;return c=C,A=+fb(t,n),+A}function Lh(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,R1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,R5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,R2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,k3=0,u3=0,p3=0,z3=0,G3=0,K5=0,w3=0,Z5=0,i6=0,R3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,L3=0;if(L3=C,C=C+688|0,e3=L3+424|0,Y5=L3+192|0,Z5=L3,X=r5(A,n)|0,U=(X|0)==0,U){C=L3;return}for(J=X-A|0,H1=Z5+4|0,e[H1>>2]=A,e[Z5>>2]=A,e2=A,f5=A,k3=2;o2=e2+A|0,M2=o2+f5|0,L5=Z5+(k3<<2)|0,e[L5>>2]=M2,S5=M2>>>0>>0,i5=k3+1|0,S5;)y2=f5,f5=M2,k3=i5,e2=y2;if($0=0-A|0,j=t+J|0,S0=(J|0)>0,S0)for(D0=(A|0)==0,b0=j,w1=1,z2=0,F5=t,U5=1;;){z0=w1&3,V1=(z0|0)==3;do if(V1){e[Y5>>2]=F5,O1=(U5|0)>1;e:do if(O1){for(B=U5,Q=F5,P1=F5,K5=1;;){if(q1=Q+$0|0,Y1=B+-2|0,j1=Z5+(Y1<<2)|0,r2=e[j1>>2]|0,M5=r2+A|0,W=0-M5|0,W1=Q+W|0,c2=f7[a&15](P1,W1)|0,z1=(c2|0)>-1,z1&&(u2=f7[a&15](P1,q1)|0,s2=(u2|0)>-1,s2)){u3=K5;break}if(E2=f7[a&15](W1,q1)|0,K1=(E2|0)>-1,h2=K5+1|0,a2=Y5+(K5<<2)|0,K1?(e[a2>>2]=W1,t2=B+-1|0,u=W1,m=t2):(e[a2>>2]=q1,u=q1,m=Y1),$2=(m|0)>1,!$2){u3=h2;break}O=e[Y5>>2]|0,B=m,Q=u,P1=O,K5=h2}if(i2=(u3|0)<2,!i2&&(A2=Y5+(u3<<2)|0,e[A2>>2]=e3,!D0))for(y=A,G2=e3;;){for(d2=y>>>0>256,n2=d2?256:y,K2=e[Y5>>2]|0,s4(G2|0,K2|0,n2|0)|0,D2=K2,z3=0;v2=Y5+(z3<<2)|0,w2=z3+1|0,C2=Y5+(w2<<2)|0,F2=e[C2>>2]|0,s4(D2|0,F2|0,n2|0)|0,N2=D2+n2|0,e[v2>>2]=N2,X5=(w2|0)==(u3|0),!X5;)D2=F2,z3=w2;if(X1=(y|0)==(n2|0),X1)break e;f2=y-n2|0,Y=e[A2>>2]|0,y=f2,G2=Y}}while(!1);H2=w1>>>2,P2=z2<<30,o5=H2|P2,O2=z2>>>2,T1=U5+2|0,r0=o5,D1=O2,O5=T1}else{if(X2=U5+-1|0,R5=Z5+(X2<<2)|0,e5=e[R5>>2]|0,b5=F5,Z2=b0-b5|0,v5=e5>>>0>>0,v5){e[Y5>>2]=F5,P5=(U5|0)>1;e:do if(P5){for(v=U5,_=F5,_2=F5,w3=1;;){if(l5=_+$0|0,k2=v+-2|0,m5=Z5+(k2<<2)|0,n5=e[m5>>2]|0,o6=n5+A|0,e0=0-o6|0,x2=_+e0|0,B2=f7[a&15](_2,x2)|0,C5=(B2|0)>-1,C5&&(d5=f7[a&15](_2,l5)|0,D5=(d5|0)>-1,D5)){p3=w3;break}if(G5=f7[a&15](x2,l5)|0,_5=(G5|0)>-1,q2=w3+1|0,I5=Y5+(w3<<2)|0,_5?(e[I5>>2]=x2,A5=v+-1|0,E=x2,p=A5):(e[I5>>2]=l5,E=l5,p=k2),c5=(p|0)>1,!c5){p3=q2;break}z=e[Y5>>2]|0,v=p,_=E,_2=z,w3=q2}if(B5=(p3|0)<2,!B5&&(M1=Y5+(p3<<2)|0,e[M1>>2]=e3,!D0))for(b=A,j2=e3;;){for(u5=b>>>0>256,a5=u5?256:b,x5=e[Y5>>2]|0,s4(j2|0,x5|0,a5|0)|0,h5=x5,G3=0;g2=Y5+(G3<<2)|0,p5=G3+1|0,t5=Y5+(p5<<2)|0,s5=e[t5>>2]|0,s4(h5|0,s5|0,a5|0)|0,J2=h5+a5|0,e[g2>>2]=J2,n3=(p5|0)==(p3|0),!n3;)h5=s5,G3=p5;if(g5=(b|0)==(a5|0),g5)break e;W2=b-a5|0,t0=e[M1>>2]|0,b=W2,j2=t0}}while(!1)}else Wm(F5,A,a,w1,z2,U5,0,Z5);if($5=(U5|0)==1,$5){R2=z2<<1,Q5=w1>>>31,q5=Q5|R2,j5=w1<<1,r0=j5,D1=q5,O5=0;break}else{E5=X2>>>0>31,f3=U5+-33|0,c=E5?0:w1,L=E5?w1:z2,R=E5?f3:X2,h3=L<>>Z,a0=K|h3,n0=c<>>0>>0,h0)w1=i0,z2=D1,F5=V,U5=O5;else{T=D1,N=i0,m3=V,H5=O5;break}}else T=0,N=1,m3=t,H5=1;if(Wm(m3,A,a,N,T,H5,0,Z5),s0=(H5|0)==1,g0=(N|0)==1,C3=g0&s0,l0=(T|0)==0,c3=l0&C3,c3){C=L3;return}else w0=N,Q0=T,J5=m3,k5=H5;for(;;){if(u0=(k5|0)<2,!u0){O0=Q0<<2,r1=w0>>>30,q0=r1|O0,e1=k5+-2|0,i1=w0<<1,c1=i1&2147483646,$1=r1<<31,u1=c1|$1,g1=u1^3,l1=q0>>>1,s1=Z5+(e1<<2)|0,a1=e[s1>>2]|0,P3=a1+A|0,q=0-P3|0,n1=J5+q|0,o1=k5+-1|0,Wm(n1,A,a,g1,l1,o1,1,Z5),I1=l1<<1,h1=r1&1,m1=I1|h1,d1=g1<<1,E1=d1|1,B1=J5+$0|0,Wm(B1,A,a,E1,m1,e1,1,Z5),w0=E1,Q0=m1,J5=B1,k5=e1;continue}d0=w0+-1|0,C0=(d0|0)==0;do if(C0)G0=32,A3=56;else{if(k0=d0&1,f0=(k0|0)==0,f0){for(S=d0,i6=0;;)if(B0=i6+1|0,p0=S>>>1,I0=p0&1,V0=(I0|0)==0,V0)S=p0,i6=B0;else{F=B0;break}_0=(F|0)==0,_0?A3=51:Y0=F}else A3=51;if((A3|0)==51){if(A3=0,L0=(Q0|0)==0,L0){G0=64,A3=56;break}if(M0=Q0&1,N0=(M0|0)==0,N0)w=Q0,R3=0;else{I=0,Q1=w0,S1=Q0,k1=0;break}for(;;)if(U0=R3+1|0,y0=w>>>1,H0=y0&1,R0=(H0|0)==0,R0)w=y0,R3=U0;else{M=U0,U3=R3;break}if(T0=U3+33|0,J0=(M|0)==0,J0){I=0,Q1=w0,S1=Q0,k1=0;break}else Y0=T0}P0=Y0>>>0>31,P0?(G0=Y0,A3=56):(I=Y0,Q1=w0,S1=Q0,k1=Y0)}while(!1);if((A3|0)==56&&(A3=0,K0=G0+-32|0,I=K0,Q1=Q0,S1=0,k1=G0),p1=Q1>>>I,x1=32-I|0,R1=S1<>>I,G1=k1+k5|0,G=J5+$0|0,U1=(G1|0)==1,Z1=(L1|0)==1,a3=Z1&U1,N1=(F1|0)==0,l3=N1&a3,l3)break;w0=L1,Q0=F1,J5=G,k5=G1}C=L3}function Wm(t,n,A,a,c,u,E,I){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0,u=u|0,E=E|0,I=I|0;var m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,R1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,R5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0;B2=C,C=C+720|0,x2=B2+456|0,P2=B2+228|0,M2=B2,e[M2>>2]=t,U=0-n|0,$0=(a|0)!=1,Q0=(c|0)!=0,Y0=Q0|$0;e:do if(Y0)if($1=I+(u<<2)|0,m1=e[$1>>2]|0,F1=0-m1|0,Y1=t+F1|0,K1=f7[A&15](Y1,t)|0,y2=(K1|0)<1,y2)B=t,L=u,G=E,O2=1,_2=18;else for(w=t,T=u,O=E,I0=Y1,O0=c,b5=1,k2=a;;){if(Z=(O|0)==0,l0=(T|0)>1,l5=Z&l0,l5){if(k0=w+U|0,f0=T+-2|0,B0=I+(f0<<2)|0,p0=e[B0>>2]|0,S0=f7[A&15](k0,I0)|0,V0=(S0|0)>-1,V0){v=w,R=T,X2=b5;break e}if(m5=p0+n|0,q=0-m5|0,_0=w+q|0,L0=f7[A&15](_0,I0)|0,M0=(L0|0)>-1,M0){v=w,R=T,X2=b5;break e}}N0=b5+1|0,U0=M2+(b5<<2)|0,e[U0>>2]=I0,y0=k2+-1|0,H0=(y0|0)==0;do if(H0)o1=32,_2=15;else{if(R0=y0&1,D0=(R0|0)==0,D0){for(Q=y0,f5=0;;)if(T0=f5+1|0,J0=Q>>>1,P0=J0&1,K0=(P0|0)==0,K0)Q=J0,f5=T0;else{z=T0;break}G0=(z|0)==0,G0?_2=10:s1=z}else _2=10;if((_2|0)==10){if(_2=0,r1=(O0|0)==0,r1){o1=64,_2=15;break}if(q0=O0&1,e1=(q0|0)==0,e1)_=O0,v5=0;else{p=0,I1=k2,E1=O0,x1=0;break}for(;;)if(b0=v5+1|0,i1=_>>>1,c1=i1&1,u1=(c1|0)==0,u1)_=i1,v5=b0;else{Y=b0,P5=v5;break}if(g1=P5+33|0,l1=(Y|0)==0,l1){p=0,I1=k2,E1=O0,x1=0;break}else s1=g1}a1=s1>>>0>31,a1?(o1=s1,_2=15):(p=s1,I1=k2,E1=O0,x1=s1)}while(!1);if((_2|0)==15&&(_2=0,n1=o1+-32|0,p=n1,I1=O0,E1=0,x1=o1),z0=I1>>>p,h1=32-p|0,d1=E1<>>p,Q1=x1+T|0,R1=(B1|0)!=1,w1=(p1|0)!=0,S1=w1|R1,!S1){v=I0,R=Q1,X2=N0;break e}if(t0=e[M2>>2]|0,L1=I+(Q1<<2)|0,G1=e[L1>>2]|0,k1=0-G1|0,U1=I0+k1|0,Z1=f7[A&15](U1,t0)|0,N1=(Z1|0)<1,N1){B=I0,L=Q1,G=0,O2=N0,_2=18;break}else y=I0,T=Q1,O=0,I0=U1,O0=p1,b5=N0,k2=B1,w=y}else B=t,L=u,G=E,O2=1,_2=18;while(!1);if((_2|0)==18)if(D1=(G|0)==0,D1)v=B,R=L,X2=O2;else{C=B2;return}V1=(X2|0)<2;e:do if(!V1&&(O1=M2+(X2<<2)|0,e[O1>>2]=x2,q1=(n|0)==0,!q1))for(M=n,h2=x2;;){for(E2=M>>>0>256,j1=E2?256:M,o2=e[M2>>2]|0,s4(h2|0,o2|0,j1|0)|0,u2=o2,e5=0;W1=M2+(e5<<2)|0,P1=e5+1|0,c2=M2+(P1<<2)|0,z1=e[c2>>2]|0,s4(u2|0,z1|0,j1|0)|0,s2=u2+j1|0,e[W1>>2]=s2,o5=(P1|0)==(X2|0),!o5;)u2=z1,e5=P1;if(H1=(M|0)==(j1|0),H1)break e;r2=M-j1|0,e0=e[O1>>2]|0,M=r2,h2=e0}while(!1);e[P2>>2]=v,a2=(R|0)>1;e:do if(a2){for(b=R,N=v,n2=v,Z2=1;;){if(t2=N+U|0,$2=b+-2|0,i2=I+($2<<2)|0,A2=e[i2>>2]|0,n5=A2+n|0,X=0-n5|0,X1=N+X|0,f2=f7[A&15](n2,X1)|0,e2=(f2|0)>-1,e2&&(v2=f7[A&15](n2,t2)|0,w2=(v2|0)>-1,w2)){T1=Z2;break}if(C2=f7[A&15](X1,t2)|0,F2=(C2|0)>-1,D2=Z2+1|0,N2=P2+(Z2<<2)|0,F2?(e[N2>>2]=X1,d2=b+-1|0,m=X1,S=d2):(e[N2>>2]=t2,m=t2,S=$2),K2=(S|0)>1,!K2){T1=D2;break}J=e[P2>>2]|0,b=S,N=m,n2=J,Z2=D2}if(G2=(T1|0)<2,G2)C0=x2;else if(H2=P2+(T1<<2)|0,e[H2>>2]=x2,K=(n|0)==0,K)C0=x2;else for(F=n,w0=x2;;){for(u0=F>>>0>256,n0=u0?256:F,d0=e[P2>>2]|0,s4(w0|0,d0|0,n0|0)|0,g0=d0,R5=0;r0=P2+(R5<<2)|0,V=R5+1|0,h0=P2+(V<<2)|0,s0=e[h0>>2]|0,s4(g0|0,s0|0,n0|0)|0,j=g0+n0|0,e[r0>>2]=j,z2=(V|0)==(T1|0),!z2;)g0=s0,R5=V;if(a0=(F|0)==(n0|0),a0){C0=x2;break e}i0=F-n0|0,W=e[H2>>2]|0,F=i0,w0=W}}else C0=x2;while(!1);C=B2}function Pi(t){t=+t;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0;return R=C,A1[p2>>3]=t,A=e[p2>>2]|0,a=e[p2+4>>2]|0,p=a&2146435072,B=p>>>0>1126170624,v=!1,S=(p|0)==1126170624,w=S&v,y=B|w,y?(n=t,+n):(b=(a|0)<0,Q=t+-4503599627370496,c=Q+4503599627370496,u=t+4503599627370496,E=u+-4503599627370496,_=b?c:E,I=_==0,I?(m=b?-0:0,n=m,+n):(n=_,+n))}function BQ(t){t=+t;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0;return y=C,A=(s[p2>>2]=t,e[p2>>2]|0),a=A&2130706432,c=a>>>0>1249902592,c?(n=t,+n):(u=(A|0)<0,E=t+-8388608,I=E+8388608,m=t+8388608,p=m+-8388608,S=u?I:p,B=S==0,B?(v=u?-0:0,n=v,+n):(n=S,+n))}function fb(t,n){t=+t,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0;return z=C,u=(n|0)>1023,u?(E=t*898846567431158e293,Q=n+-1023|0,_=(Q|0)>1023,_?(L=E*898846567431158e293,R=n+-2046|0,F=(R|0)>1023,A=F?1023:R,a=A,G=L):(a=Q,G=E)):(M=(n|0)<-1022,M?(T=t*22250738585072014e-324,N=n+1022|0,I=(N|0)<-1022,I?(m=T*22250738585072014e-324,p=n+2044|0,B=(p|0)<-1022,c=B?-1022:p,a=c,G=m):(a=N,G=T)):(a=n,G=t)),v=a+1023|0,S=yQ(v|0,0,52)|0,w=H6,e[p2>>2]=S,e[p2+4>>2]=w,y=+A1[p2>>3],b=G*y,+b}function db(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0;I=C,n=t+-1|0,A=553040,a=A,e[a>>2]=n,c=A+4|0,u=c,e[u>>2]=0}function Ib(){var t=0,n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0;return _=C,t=553040,n=t,m=e[n>>2]|0,p=t+4|0,B=p,v=e[B>>2]|0,S=Bb(m|0,v|0,1284865837,1481765933)|0,w=H6,y=zs(S|0,w|0,1,0)|0,b=H6,A=553040,a=A,e[a>>2]=y,c=A+4|0,u=c,e[u>>2]=b,E=Zs(y|0,b|0,33)|0,I=H6,E|0}function S9(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,R1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,R5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,R2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,k3=0,u3=0,p3=0,z3=0,G3=0,K5=0,w3=0,Z5=0,i6=0,R3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,L3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,X3=0,c6=0,p6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,R6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,L6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,M4=0,W4=0,C4=0,T4=0,U9=0,N4=0,a4=0,R4=0,u4=0,Ce=0,q9=0,m9=0,Be=0,Ne=0,Xe=0,G4=0,Ge=0,U4=0,j4=0,be=0,e8=0,Z9=0,ae=0,f4=0,_6=0,P4=0,L9=0,$4=0,_4=0,$e=0,W9=0,le=0,ce=0,B4=0,X4=0,L4=0,ge=0,C9=0,g6=0,Ue=0,l4=0,pe=0,p4=0,c4=0,P6=0,De=0,_e=0,t8=0,g4=0,k4=0,u8=0,J3=0,w9=0,B9=0,F4=0,ee=0,$t=0,xe=0,lt=0,Qt=0,z8=0,ct=0,gt=0,F8=0,M8=0,T8=0,N8=0,Z8=0,W8=0,yt=0,G8=0,U8=0,P8=0,k8=0,v8=0,f8=0,O8=0,q8=0,j8=0,X8=0,d8=0,Pe=0,Re=0,i8=0,S8=0,k9=0,ht=0,Qe=0,ut=0,wt=0,et=0,kt=0,te=0,tt=0,H8=0,b8=0,r8=0,O4=0,Le=0,n8=0,I8=0,D8=0,he=0,j9=0,s8=0,E8=0,o8=0,m8=0,ue=0,ye=0,Oe=0,qe=0,X9=0,Fe=0,fe=0,A8=0,we=0,Q4=0,C8=0,it=0,q4=0,I3=0,He=0,B8=0,ie=0,H9=0,re=0,D9=0,Ye=0,Y8=0,ft=0,rt=0,nt=0,J8=0,st=0,V8=0,a8=0,$8=0,_8=0,H4=0,ot=0,x8=0,Je=0,p9=0,At=0,Ve=0,Mt=0,qt=0,vt=0,at=0,St=0,ne=0,Tt=0,Ht=0,l8=0,R8=0,bt=0,K8=0,Me=0,de=0,e4=0,Dt=0,t7=0,G7=0,U7=0,P7=0,d7=0,Yt=0,I7=0,Jt=0,E7=0,Vt=0,m7=0,i7=0,oi=0,O7=0,C7=0,B7=0,Ai=0,p7=0,r7=0,ai=0,q7=0,H7=0,Y7=0,J7=0,n7=0,Q7=0,V7=0,Kt=0,s7=0,Nt=0,zt=0,$i=0,K7=0,li=0,y7=0,z7=0,w7=0,k7=0,Z7=0,v7=0,Zt=0,S7=0,W7=0,o7=0,Gt=0,b7=0,ke=0,D7=0,_t=0,A7=0,n9=0,dt=0,p8=0,It=0,xt=0,Zr=0,Ir=0,Xs=0,Un=0,eo=0,Pn=0,to=0,io=0,On=0,ro=0,Wr=0,no=0,so=0,oo=0,qn=0,Ao=0,Hn=0,Yn=0,ao=0,jr=0,Jn=0,Xr=0,Vn=0,Kn=0,$o=0,lo=0,co=0,en=0,zn=0,go=0,Er=0,tn=0,ho=0,uo=0,rn=0,ci=0,Zn=0,fo=0,Io=0,Wn=0,jn=0,Xn=0,Eo=0,gi=0,nn=0,mo=0,es=0,Co=0,Bo=0,po=0,ts=0,Qo=0,yo=0,wo=0,ko=0,is=0,vo=0,So=0,sn=0,mr=0,on=0,bo=0,Wi=0,Do=0,rs=0,An=0,ns=0,an=0,_o=0,ss=0,os=0,xo=0,As=0,as=0,Ro=0,Cr=0,$s=0,hi=0,$n=0,Br=0,ji=0,pr=0,qi=0,Qr=0,ls=0,Hi=0,yi=0,wi=0,j7=0,ki=0,yr=0,Xi=0,er=0,wr=0,ui=0,Lo=0,a7=0,j$=0,ln=0,cn=0,Fh=0,X$=0,Fo=0,Mh=0,jA=0,el=0,Th=0,Nh=0,Gh=0,XA=0,tl=0,il=0,ea=0,gn=0,rl=0,Uh=0,Mo=0,tr=0,Ph=0,Oh=0,qh=0,Hh=0,Yh=0,Jh=0,Vh=0,Kh=0,zh=0,Zh=0,nl=0,kr=0,Wh=0,jh=0,sl=0,Xh=0,ta=0,To=0,ia=0,eu=0,tu=0,ra=0,ol=0,Al=0,al=0,na=0,$l=0,No=0,iu=0,ru=0,ll=0,nu=0,su=0,cl=0,ou=0,Au=0,gl=0,hl=0,ul=0,fl=0,dl=0,hn=0,au=0,Il=0,$u=0,El=0,ml=0,lu=0,cu=0,gu=0,sa=0,Cl=0,Bl=0,cs=0,pl=0,oa=0,hu=0,Ql=0,uu=0,yl=0,fu=0,du=0,wl=0,kl=0,Iu=0,Go=0,Eu=0,Aa=0,vl=0,Sl=0,mu=0,Cu=0,Bu=0,pu=0,Qu=0,yu=0,Uo=0,bl=0,Dl=0,_l=0,Po=0,wu=0,xl=0,ku=0,Rl=0,vu=0,Su=0,Ll=0,aa=0,bu=0,Du=0,Oo=0,_u=0,qo=0,xu=0,$a=0,Ru=0,Lu=0,Fu=0,Fl=0,Mu=0,Tu=0,Nu=0,Gu=0,Ml=0,Tl=0,ir=0,Nl=0,Ho=0,la=0,ca=0,un=0,Gl=0,fn=0,Uu=0,Ul=0,Pu=0,Ou=0,qu=0,Hu=0,Yo=0,ga=0,vr=0,Yu=0,Ju=0,Pl=0,ha=0,Ol=0,ql=0,Vu=0,Hl=0,Ku=0,ua=0,zu=0,Zu=0,P9=0,Wu=0,Yl=0,ju=0,Xu=0,fa=0,ef=0,da=0,Jl=0,tf=0,rf=0,Vl=0,Kl=0,nf=0,Ia=0,Ea=0,zl=0,Zl=0,sf=0,Wl=0,ma=0,of=0,jl=0,Af=0,af=0,$f=0,lf=0,Xl=0,ec=0,Ca=0,Jo=0,tc=0,cf=0,ic=0,rc=0,gf=0,hf=0,uf=0,nc=0,ff=0,df=0,If=0,Ef=0,mf=0,Cf=0,sc=0,Bf=0,oc=0,pf=0,dn=0,Qf=0,Ac=0,yf=0,gs=0,ac=0,Ba=0,wf=0,Vo=0,pa=0,kf=0,Qa=0,$c=0,vf=0,Sf=0,bf=0,Df=0,_f=0,lc=0,xf=0,Rf=0,Lf=0,Ko=0,hs=0,ya=0,Ff=0,wa=0,Mf=0,Tf=0,Nf=0,cc=0,Gf=0,Uf=0,Pf=0,Of=0,qf=0,zo=0,Hf=0,Yf=0,gc=0,Jf=0,Vf=0,Kf=0,zf=0,fi=0,hc=0,di=0,uc=0,ka=0,Zf=0,X7=0,us=0,Wf=0,jf=0,Xf=0,ed=0,td=0,fc=0,id=0,rd=0,dc=0,nd=0,sd=0,fs=0,va=0,od=0,Ic=0,Ad=0,ad=0,Zo=0,$d=0,ld=0,Ec=0,mc=0,cd=0,gd=0,In=0,hd=0,ud=0,En=0,fd=0,Cc=0,dd=0,Id=0,ds=0,Bc=0,Ed=0,pc=0,md=0,rr=0,Sa=0,Cd=0,Qc=0,yc=0,Bd=0,pd=0,wc=0,Qd=0,yd=0,wd=0,kc=0,kd=0,Is=0,vd=0,mn=0,Sd=0,bd=0,ba=0,Dd=0,Da=0,_a=0,_d=0,vc=0,Sc=0,xd=0,bc=0,Dc=0,_c=0,Rd=0,xc=0,Rc=0,Ld=0,Fd=0,Lc=0,Fc=0,Md=0,Mc=0,Tc=0,Td=0,Nd=0,Nc=0,xa=0,Gc=0,Uc=0,Pc=0,Oc=0,Gd=0,Ud=0,Pd=0,Od=0,qd=0,Hd=0,Yd=0,Jd=0,qc=0,Ra=0,Vd=0,Kd=0,zd=0,Hc=0,Yc=0,Zd=0,Jc=0,La=0,Wo=0,Vc=0,Wd=0,jd=0,Xd=0,eI=0,Kc=0,jo=0,tI=0,iI=0,rI=0,nI=0,sI=0,oI=0,AI=0,aI=0,zc=0,$I=0,lI=0,cI=0,gI=0,Xo=0,Zc=0,hI=0,uI=0,Cn=0,Wc=0,jc=0,Fa=0,fI=0,Xc=0,dI=0,eg=0,tg=0,II=0,EI=0,mI=0,CI=0,BI=0,eA=0,Ma=0,pI=0,QI=0,yI=0,wI=0,ig=0,kI=0,rg=0,vI=0,SI=0,ng=0,Sr=0,sg=0,og=0,bI=0,Ag=0,tA=0,DI=0,_I=0,xI=0,iA=0,ag=0,RI=0,LI=0,$g=0,FI=0,MI=0,Ta=0,rA=0,TI=0,NI=0,GI=0,lg=0,cg=0,gg=0,UI=0,PI=0,Es=0,OI=0,hg=0,qI=0,Na=0,ug=0,HI=0,YI=0,JI=0,VI=0,fg=0,KI=0,zI=0,dg=0,nA=0,ZI=0,WI=0,jI=0,ms=0,Ig=0,Eg=0,XI=0,mg=0,Cg=0,vi=0,Bg=0,nr=0,eE=0,tE=0,iE=0,rE=0,Ga=0,sA=0,pg=0,Qg=0,nE=0,oA=0,Cs=0,sE=0,AA=0,Ua=0,oE=0,Pa=0,AE=0,aE=0,yg=0,aA=0,wg=0,$E=0,lE=0,cE=0,gE=0,kg=0,hE=0,Wt=0,y4=0,ei=0,uE=0,vg=0,Sg=0,Oa=0,fE=0,br=0,Bs=0,dE=0,IE=0,bg=0,qa=0,EE=0,Dg=0,_g=0,xg=0,Ha=0,Ya=0,Rg=0,ps=0,Ja=0,Lg=0,mE=0,Bn=0,CE=0,Fg=0,$A=0,BE=0,Mg=0,Si=0,pE=0,QE=0,yE=0,wE=0,kE=0,vE=0,bi=0,SE=0,bE=0,DE=0,Tg=0,Ii=0,lA=0,Va=0,Ng=0,Gg=0,_E=0,Ug=0,Pg=0,xE=0,RE=0,Og=0,qg=0,LE=0,FE=0,Hg=0,ME=0,Qs=0,cA=0,gA=0,TE=0,Ka=0,NE=0,GE=0,Yg=0,ys=0,UE=0,PE=0,za=0,Za=0,hA=0,Wa=0,ja=0,sr=0,Dr=0,_r=0,Xa=0,e$=0,ws=0,or=0,pn=0,OE=0,Ar=0,Qn=0,qE=0,_7=0,x7=0,R7=0,uA=0,fA=0,Jg=0,Vg=0,dA=0,t$=0,L7=0,IA=0,xr=0,i$=0,HE=0,r$=0,YE=0,n$=0,Kg=0,EA=0,JE=0,VE=0,mA=0,KE=0,CA=0,yn=0,Ke=0,v4=0,zg=0,zE=0,s$=0,Zg=0,ZE=0,WE=0,BA=0,jE=0,XE=0,em=0,tm=0,Wg=0,im=0,rm=0,nm=0,ti=0,pA=0,wn=0,o$=0,ks=0,vs=0,jt=0,Ss=0,jg=0,Xg=0,QA=0,bs=0,Ds=0,_s=0,sm=0,xs=0,ar=0,eh=0,Rr=0,ii=0,A$=0,a$=0,Yi=0,$$=0,l$=0,c$=0,Lr=0,$6=0,yA=0,Fr=0,th=0,ve=0,g$=0,Q8=0,Rs=0,kn=0,vn=0,F9=0,Sn=0,Mr=0,Y4=0,h$=0;h$=C,K1=t>>>0<245;do if(K1){if(h2=t>>>0<11,h4=t+11|0,O4=h4&-8,ke=h2?16:O4,Fo=ke>>>3,$a=e[138262]|0,Ko=$a>>>Fo,Uc=Ko&3,dg=(Uc|0)==0,!dg){a2=Ko&1,u3=a2^1,l3=u3+Fo|0,A3=l3<<1,g3=553088+(A3<<2)|0,w0=A3+2|0,x6=553088+(w0<<2)|0,b6=e[x6>>2]|0,R6=b6+8|0,D6=e[R6>>2]|0,d9=(g3|0)==(D6|0);do if(d9)G9=1<>>0>>0,le&&Q2(),p4=D6+12|0,B9=e[p4>>2]|0,M8=(B9|0)==(b6|0),M8){e[p4>>2]=g3,e[x6>>2]=D6;break}else Q2();while(!1);return f8=l3<<3,ht=f8|3,Le=b6+4|0,e[Le>>2]=ht,p0=f8|4,ye=b6+p0|0,q4=e[ye>>2]|0,rt=q4|1,e[ye>>2]=rt,Ke=R6,Ke|0}if(Je=e[138264]|0,Ht=ke>>>0>Je>>>0,Ht){if(U7=(Ko|0)==0,!U7){O7=Ko<>>12,sn=Co&16,ss=Zn>>>sn,ji=ss>>>5,Xi=ji&8,Mh=Xi|sn,rl=ss>>>Xi,Kh=rl>>>2,ia=Kh&4,ru=Mh|ia,dl=rl>>>ia,Cl=dl>>>1,wl=Cl&2,pu=ru|wl,Rl=dl>>>wl,Ru=Rl>>>1,Nl=Ru&1,qu=pu|Nl,Vu=Rl>>>Nl,fa=qu+Vu|0,zl=fa<<1,Xl=553088+(zl<<2)|0,U1=zl+2|0,nc=553088+(U1<<2)|0,dn=e[nc>>2]|0,Qa=dn+8|0,hs=e[Qa>>2]|0,Of=(Xl|0)==(hs|0);do if(Of)hc=1<>>0>>0,rr&&Q2(),kc=hs+12|0,_d=e[kc>>2]|0,Fd=(_d|0)==(dn|0),Fd){e[kc>>2]=Xl,e[nc>>2]=hs,y=e[138264]|0,rA=y;break}else Q2();while(!1);return Pc=fa<<3,Ra=Pc-ke|0,Wd=ke|3,oI=dn+4|0,e[oI>>2]=Wd,uI=dn+ke|0,EI=Ra|1,j1=ke|4,kI=dn+j1|0,e[kI>>2]=EI,DI=dn+Pc|0,e[DI>>2]=Ra,hg=(rA|0)==0,hg||(nA=e[138267]|0,Bg=rA>>>3,oA=Bg<<1,wg=553088+(oA<<2)|0,vg=e[138262]|0,Dg=1<>2]|0,C2=e[138266]|0,o5=t2>>>0>>0,o5?Q2():(G=Qs,hA=t2)),e[G>>2]=nA,l5=hA+12|0,e[l5>>2]=nA,G5=nA+8|0,e[G5>>2]=hA,W2=nA+12|0,e[W2>>2]=wg),e[138264]=Ra,e[138267]=uI,Ke=Qa,Ke|0}if($5=e[138263]|0,m3=($5|0)==0,m3)v4=ke;else{for(J5=0-$5|0,k3=$5&J5,p3=k3+-1|0,z3=p3>>>12,G3=z3&16,K5=p3>>>G3,w3=K5>>>5,Z5=w3&8,i6=Z5|G3,R3=K5>>>Z5,U3=R3>>>2,a3=U3&4,c3=i6|a3,C3=R3>>>a3,H5=C3>>>1,U5=H5&2,O5=c3|U5,k5=C3>>>U5,P3=k5>>>1,M5=P3&1,o6=O5|M5,e3=k5>>>M5,L3=o6+e3|0,u6=553352+(L3<<2)|0,Q3=e[u6>>2]|0,v3=Q3+4|0,y3=e[v3>>2]|0,r6=y3&-8,j3=r6-ke|0,pA=j3,a$=Q3,g$=Q3;;){if(O3=a$+16|0,V5=e[O3>>2]|0,S3=(V5|0)==0,S3)if(q3=a$+20|0,l6=e[q3>>2]|0,d3=(l6|0)==0,d3){wn=pA,Q8=g$;break}else v6=l6;else v6=V5;k6=v6+4|0,S6=e[k6>>2]|0,B6=S6&-8,X3=B6-ke|0,c6=X3>>>0>>0,q=c6?X3:pA,o2=c6?v6:g$,pA=q,a$=v6,g$=o2}p6=e[138266]|0,Y6=Q8>>>0>>0,Y6&&Q2(),C6=Q8+ke|0,b3=Q8>>>0>>0,b3||Q2(),e6=Q8+24|0,t6=e[e6>>2]|0,f6=Q8+12|0,H3=e[f6>>2]|0,D3=(H3|0)==(Q8|0);do if(D3){if(N6=Q8+20|0,n6=e[N6>>2]|0,Q6=(n6|0)==0,Q6)if(K6=Q8+16|0,I6=e[K6>>2]|0,J6=(I6|0)==0,J6){_7=0;break}else or=I6,uA=K6;else or=n6,uA=N6;for(;;){if(F3=or+20|0,j6=e[F3>>2]|0,G6=(j6|0)==0,!G6){or=j6,uA=F3;continue}if(e9=or+16|0,s9=e[e9>>2]|0,L6=(s9|0)==0,L6){Ar=or,Vg=uA;break}else or=s9,uA=e9}if(U6=Vg>>>0>>0,U6)Q2();else{e[Vg>>2]=0,_7=Ar;break}}else if(Y3=Q8+8|0,Z3=e[Y3>>2]|0,A6=Z3>>>0>>0,A6&&Q2(),t3=Z3+12|0,O6=e[t3>>2]|0,s3=(O6|0)==(Q8|0),s3||Q2(),a6=H3+8|0,d6=e[a6>>2]|0,_3=(d6|0)==(Q8|0),_3){e[t3>>2]=H3,e[a6>>2]=Z3,_7=H3;break}else Q2();while(!1);z6=(t6|0)==0;do if(!z6){if(y6=Q8+28|0,F6=e[y6>>2]|0,M3=553352+(F6<<2)|0,M6=e[M3>>2]|0,t9=(Q8|0)==(M6|0),t9){if(e[M3>>2]=_7,JE=(_7|0)==0,JE){A9=1<>>0>>0,$9&&Q2(),T9=t6+16|0,E6=e[T9>>2]|0,T6=(E6|0)==(Q8|0),T6?e[T9>>2]=_7:(i9=t6+20|0,e[i9>>2]=_7),N9=(_7|0)==0,N9)break;I9=e[138266]|0,E4=_7>>>0>>0,E4&&Q2(),o4=_7+24|0,e[o4>>2]=t6,z9=Q8+16|0,b9=e[z9>>2]|0,E9=(b9|0)==0;do if(!E9)if(q6=b9>>>0>>0,q6)Q2();else{r9=_7+16|0,e[r9>>2]=b9,m4=b9+24|0,e[m4>>2]=_7;break}while(!1);if(S4=Q8+20|0,A4=e[S4>>2]|0,y9=(A4|0)==0,!y9)if(b4=e[138266]|0,x4=A4>>>0>>0,x4)Q2();else{M4=_7+20|0,e[M4>>2]=A4,W4=A4+24|0,e[W4>>2]=_7;break}}while(!1);return C4=wn>>>0<16,C4?(T4=wn+ke|0,U9=T4|3,N4=Q8+4|0,e[N4>>2]=U9,Z1=T4+4|0,a4=Q8+Z1|0,R4=e[a4>>2]|0,u4=R4|1,e[a4>>2]=u4):(q9=ke|3,m9=Q8+4|0,e[m9>>2]=q9,Be=wn|1,h0=ke|4,Ne=Q8+h0|0,e[Ne>>2]=Be,g0=wn+ke|0,Xe=Q8+g0|0,e[Xe>>2]=wn,G4=e[138264]|0,Ge=(G4|0)==0,Ge||(U4=e[138267]|0,j4=G4>>>3,be=j4<<1,Z9=553088+(be<<2)|0,ae=e[138262]|0,f4=1<>2]|0,$e=e[138266]|0,W9=_4>>>0<$e>>>0,W9?Q2():(T=$4,Za=_4)),e[T>>2]=U4,ce=Za+12|0,e[ce>>2]=U4,B4=U4+8|0,e[B4>>2]=Za,X4=U4+12|0,e[X4>>2]=Z9),e[138264]=wn,e[138267]=C6),L4=Q8+8|0,Ke=L4,Ke|0}}else v4=ke}else if(ge=t>>>0>4294967231,ge)v4=-1;else if(C9=t+11|0,g6=C9&-8,Ue=e[138263]|0,l4=(Ue|0)==0,l4)v4=g6;else{pe=0-g6|0,c4=C9>>>8,P6=(c4|0)==0,P6?yn=0:(De=g6>>>0>16777215,De?yn=31:(_e=c4+1048320|0,t8=_e>>>16,g4=t8&8,k4=c4<>>16,w9=J3&4,F4=w9|g4,ee=k4<>>16,lt=xe&2,Qt=F4|lt,z8=14-Qt|0,ct=ee<>>15,F8=z8+gt|0,T8=F8<<1,N8=F8+7|0,Z8=g6>>>N8,W8=Z8&1,yt=W8|T8,yn=yt)),G8=553352+(yn<<2)|0,U8=e[G8>>2]|0,P8=(U8|0)==0;e:do if(P8)vs=pe,$$=0,vn=0,Y4=86;else for(k8=(yn|0)==31,v8=yn>>>1,O8=25-v8|0,q8=k8?0:O8,j8=g6<>2]|0,Pe=d8&-8,Re=Pe-g6|0,i8=Re>>>0>>0,i8)if(S8=(Pe|0)==(g6|0),S8){Ss=Re,Lr=Yi,Mr=Yi,Y4=90;break e}else ks=Re,kn=Yi;else ks=o$,kn=Rs;if(k9=Yi+20|0,Qe=e[k9>>2]|0,ut=QA>>>31,wt=(Yi+16|0)+(ut<<2)|0,et=e[wt>>2]|0,kt=(Qe|0)==0,te=(Qe|0)==(et|0),jE=kt|te,Xg=jE?jg:Qe,tt=(et|0)==0,H8=QA<<1,tt){vs=ks,$$=Xg,vn=kn,Y4=86;break}else o$=ks,jg=Xg,QA=H8,Yi=et,Rs=kn}while(!1);if((Y4|0)==86){if(b8=($$|0)==0,r8=(vn|0)==0,ZE=b8&r8,ZE){if(n8=2<>>12,ue=m8&16,Oe=o8>>>ue,qe=Oe>>>5,X9=qe&8,Fe=X9|ue,fe=Oe>>>X9,A8=fe>>>2,we=A8&4,Q4=Fe|we,C8=fe>>>we,it=C8>>>1,I3=it&2,He=Q4|I3,B8=C8>>>I3,ie=B8>>>1,H9=ie&1,re=He|H9,D9=B8>>>H9,Ye=re+D9|0,Y8=553352+(Ye<<2)|0,ft=e[Y8>>2]|0,l$=ft,Sn=0}else l$=$$,Sn=vn;nt=(l$|0)==0,nt?(jt=vs,F9=Sn):(Ss=vs,Lr=l$,Mr=Sn,Y4=90)}if((Y4|0)==90)for(;;){if(Y4=0,J8=Lr+4|0,st=e[J8>>2]|0,V8=st&-8,a8=V8-g6|0,$8=a8>>>0>>0,X=$8?a8:Ss,c$=$8?Lr:Mr,_8=Lr+16|0,H4=e[_8>>2]|0,ot=(H4|0)==0,!ot){Ss=X,Lr=H4,Mr=c$,Y4=90;continue}if(x8=Lr+20|0,p9=e[x8>>2]|0,At=(p9|0)==0,At){jt=X,F9=c$;break}else Ss=X,Lr=p9,Mr=c$,Y4=90}if(Ve=(F9|0)==0,Ve)v4=g6;else if(Mt=e[138264]|0,qt=Mt-g6|0,vt=jt>>>0>>0,vt){at=e[138266]|0,St=F9>>>0>>0,St&&Q2(),ne=F9+g6|0,Tt=F9>>>0>>0,Tt||Q2(),l8=F9+24|0,R8=e[l8>>2]|0,bt=F9+12|0,K8=e[bt>>2]|0,Me=(K8|0)==(F9|0);do if(Me){if(Jt=F9+20|0,E7=e[Jt>>2]|0,Vt=(E7|0)==0,Vt)if(m7=F9+16|0,i7=e[m7>>2]|0,oi=(i7|0)==0,oi){R7=0;break}else Qn=i7,dA=m7;else Qn=E7,dA=Jt;for(;;){if(C7=Qn+20|0,B7=e[C7>>2]|0,Ai=(B7|0)==0,!Ai){Qn=B7,dA=C7;continue}if(p7=Qn+16|0,r7=e[p7>>2]|0,ai=(r7|0)==0,ai){qE=Qn,t$=dA;break}else Qn=r7,dA=p7}if(q7=t$>>>0>>0,q7)Q2();else{e[t$>>2]=0,R7=qE;break}}else if(de=F9+8|0,e4=e[de>>2]|0,Dt=e4>>>0>>0,Dt&&Q2(),t7=e4+12|0,G7=e[t7>>2]|0,P7=(G7|0)==(F9|0),P7||Q2(),d7=K8+8|0,Yt=e[d7>>2]|0,I7=(Yt|0)==(F9|0),I7){e[t7>>2]=K8,e[d7>>2]=e4,R7=K8;break}else Q2();while(!1);H7=(R8|0)==0;do if(!H7){if(Y7=F9+28|0,J7=e[Y7>>2]|0,Q7=553352+(J7<<2)|0,V7=e[Q7>>2]|0,Kt=(F9|0)==(V7|0),Kt){if(e[Q7>>2]=R7,mA=(R7|0)==0,mA){s7=1<>>0>>0,li&&Q2(),y7=R8+16|0,w7=e[y7>>2]|0,k7=(w7|0)==(F9|0),k7?e[y7>>2]=R7:(Z7=R8+20|0,e[Z7>>2]=R7),v7=(R7|0)==0,v7)break;Zt=e[138266]|0,S7=R7>>>0>>0,S7&&Q2(),W7=R7+24|0,e[W7>>2]=R8,o7=F9+16|0,Gt=e[o7>>2]|0,b7=(Gt|0)==0;do if(!b7)if(_t=Gt>>>0>>0,_t)Q2();else{A7=R7+16|0,e[A7>>2]=Gt,n9=Gt+24|0,e[n9>>2]=R7;break}while(!1);if(dt=F9+20|0,p8=e[dt>>2]|0,It=(p8|0)==0,!It)if(xt=e[138266]|0,Zr=p8>>>0>>0,Zr)Q2();else{Ir=R7+20|0,e[Ir>>2]=p8,Xs=p8+24|0,e[Xs>>2]=R7;break}}while(!1);eo=jt>>>0<16;e:do if(eo)Pn=jt+g6|0,to=Pn|3,io=F9+4|0,e[io>>2]=to,c1=Pn+4|0,On=F9+c1|0,ro=e[On>>2]|0,Wr=ro|1,e[On>>2]=Wr;else{if(no=g6|3,so=F9+4|0,e[so>>2]=no,oo=jt|1,r0=g6|4,Ao=F9+r0|0,e[Ao>>2]=oo,d0=jt+g6|0,Hn=F9+d0|0,e[Hn>>2]=jt,Yn=jt>>>3,ao=jt>>>0<256,ao){jr=Yn<<1,Jn=553088+(jr<<2)|0,Xr=e[138262]|0,Vn=1<>2]|0,go=e[138266]|0,Er=zn>>>0>>0,Er?Q2():(M=en,ja=zn)),e[M>>2]=ne,tn=ja+12|0,e[tn>>2]=ne,O0=g6+8|0,ho=F9+O0|0,e[ho>>2]=ja,q0=g6+12|0,uo=F9+q0|0,e[uo>>2]=Jn;break}if(rn=jt>>>8,ci=(rn|0)==0,ci?Dr=0:(fo=jt>>>0>16777215,fo?Dr=31:(Io=rn+1048320|0,Wn=Io>>>16,jn=Wn&8,Xn=rn<>>16,nn=gi&4,mo=nn|jn,es=Xn<>>16,ts=po&2,Qo=mo|ts,yo=14-Qo|0,wo=es<>>15,is=yo+ko|0,vo=is<<1,So=is+7|0,mr=jt>>>So,on=mr&1,bo=on|vo,Dr=bo)),Wi=553352+(Dr<<2)|0,g1=g6+28|0,Do=F9+g1|0,e[Do>>2]=Dr,R1=g6+16|0,rs=F9+R1|0,D1=g6+20|0,An=F9+D1|0,e[An>>2]=0,e[rs>>2]=0,ns=e[138263]|0,an=1<>2]=ne,H1=g6+24|0,As=F9+H1|0,e[As>>2]=Wi,r2=g6+12|0,as=F9+r2|0,e[as>>2]=ne,P1=g6+8|0,Ro=F9+P1|0,e[Ro>>2]=ne;break}Cr=e[Wi>>2]|0,$s=Cr+4|0,hi=e[$s>>2]|0,$n=hi&-8,Br=($n|0)==(jt|0);t:do if(Br)L7=Cr;else{for(pr=(Dr|0)==31,qi=Dr>>>1,Qr=25-qi|0,ls=pr?0:Qr,Hi=jt<>>31,ui=(i$+16|0)+(wr<<2)|0,j7=e[ui>>2]|0,Lo=(j7|0)==0,Lo){w=ui,HE=i$;break}if(yi=Xa<<1,wi=j7+4|0,ki=e[wi>>2]|0,yr=ki&-8,er=(yr|0)==(jt|0),er){L7=j7;break t}else Xa=yi,i$=j7}if(a7=e[138266]|0,j$=w>>>0>>0,j$)Q2();else{e[w>>2]=ne,f0=g6+24|0,ln=F9+f0|0,e[ln>>2]=HE,U0=g6+12|0,cn=F9+U0|0,e[cn>>2]=ne,P0=g6+8|0,Fh=F9+P0|0,e[Fh>>2]=ne;break e}}while(!1);if(X$=L7+8|0,jA=e[X$>>2]|0,el=e[138266]|0,Th=jA>>>0>=el>>>0,zg=L7>>>0>=el>>>0,Nh=Th&zg,Nh){Gh=jA+12|0,e[Gh>>2]=ne,e[X$>>2]=ne,c2=g6+8|0,XA=F9+c2|0,e[XA>>2]=jA,u2=g6+12|0,tl=F9+u2|0,e[tl>>2]=L7,C0=g6+24|0,il=F9+C0|0,e[il>>2]=0;break}else Q2()}while(!1);return ea=F9+8|0,Ke=ea,Ke|0}else v4=g6}while(!1);if(gn=e[138264]|0,Uh=gn>>>0>>0,!Uh)return Mo=gn-v4|0,tr=e[138267]|0,Ph=Mo>>>0>15,Ph?(Oh=tr+v4|0,e[138267]=Oh,e[138264]=Mo,qh=Mo|1,u1=v4+4|0,Hh=tr+u1|0,e[Hh>>2]=qh,Yh=tr+gn|0,e[Yh>>2]=Mo,Jh=v4|3,Vh=tr+4|0,e[Vh>>2]=Jh):(e[138264]=0,e[138267]=0,zh=gn|3,Zh=tr+4|0,e[Zh>>2]=zh,s0=gn+4|0,nl=tr+s0|0,kr=e[nl>>2]|0,Wh=kr|1,e[nl>>2]=Wh),jh=tr+8|0,Ke=jh,Ke|0;if(sl=e[138265]|0,Xh=sl>>>0>v4>>>0,Xh)return ta=sl-v4|0,e[138265]=ta,To=e[138268]|0,eu=To+v4|0,e[138268]=eu,tu=ta|1,U=v4+4|0,ra=To+U|0,e[ra>>2]=tu,ol=v4|3,Al=To+4|0,e[Al>>2]=ol,al=To+8|0,Ke=al,Ke|0;na=e[138380]|0,$l=(na|0)==0;do if($l)if(No=Dv(30)|0,iu=No+-1|0,ll=iu&No,nu=(ll|0)==0,nu){e[138382]=No,e[138381]=No,e[138383]=-1,e[138384]=-1,e[138385]=0,e[138373]=0,su=Jp(0)|0,cl=su&-16,ou=cl^1431655768,e[138380]=ou;break}else Q2();while(!1);if(Au=v4+48|0,gl=e[138382]|0,hl=v4+47|0,ul=gl+hl|0,fl=0-gl|0,hn=ul&fl,au=hn>>>0>v4>>>0,!au||(Il=e[138372]|0,$u=(Il|0)==0,!$u&&(El=e[138370]|0,ml=El+hn|0,lu=ml>>>0<=El>>>0,cu=ml>>>0>Il>>>0,BA=lu|cu,BA)))return Ke=0,Ke|0;gu=e[138373]|0,sa=gu&4,Bl=(sa|0)==0;e:do if(Bl){cs=e[138268]|0,pl=(cs|0)==0;t:do if(pl)Y4=174;else{for(bs=553496;;){if(oa=e[bs>>2]|0,hu=oa>>>0>cs>>>0,!hu&&(Ql=bs+4|0,uu=e[Ql>>2]|0,yl=oa+uu|0,fu=yl>>>0>cs>>>0,fu)){v=bs,S=Ql;break}if(du=bs+8|0,kl=e[du>>2]|0,Iu=(kl|0)==0,Iu){Y4=174;break t}else bs=kl}if(bu=e[138265]|0,Du=ul-bu|0,Oo=Du&fl,_u=Oo>>>0<2147483647,_u)if(qo=N7(Oo|0)|0,xu=e[v>>2]|0,Lu=e[S>>2]|0,Fu=xu+Lu|0,Fl=(qo|0)==(Fu|0),n=Fl?Oo:0,Fl)if(Mu=(qo|0)==-1,Mu)Fr=n;else{$6=qo,ve=n,Y4=194;break e}else EA=qo,ii=Oo,yA=n,Y4=184;else Fr=0}while(!1);do if((Y4|0)==174)if(Go=N7(0)|0,Eu=(Go|0)==-1,Eu)Fr=0;else if(Aa=Go,vl=e[138381]|0,Sl=vl+-1|0,mu=Sl&Aa,Cu=(mu|0)==0,Cu?Rr=hn:(Bu=Sl+Aa|0,Qu=0-vl|0,yu=Bu&Qu,Uo=hn-Aa|0,bl=Uo+yu|0,Rr=bl),Dl=e[138370]|0,_l=Dl+Rr|0,Po=Rr>>>0>v4>>>0,wu=Rr>>>0<2147483647,WE=Po&wu,WE){if(xl=e[138372]|0,ku=(xl|0)==0,!ku&&(vu=_l>>>0<=Dl>>>0,Su=_l>>>0>xl>>>0,XE=vu|Su,XE)){Fr=0;break}if(Ll=N7(Rr|0)|0,aa=(Ll|0)==(Go|0),eh=aa?Rr:0,aa){$6=Go,ve=eh,Y4=194;break e}else EA=Ll,ii=Rr,yA=eh,Y4=184}else Fr=0;while(!1);t:do if((Y4|0)==184){Tu=0-ii|0,Nu=(EA|0)!=-1,Gu=ii>>>0<2147483647,tm=Gu&Nu,Ml=Au>>>0>ii>>>0,im=Ml&tm;do if(im)if(Tl=e[138382]|0,ir=hl-ii|0,Ho=ir+Tl|0,la=0-Tl|0,ca=Ho&la,un=ca>>>0<2147483647,un)if(Gl=N7(ca|0)|0,fn=(Gl|0)==-1,fn){N7(Tu|0)|0,Fr=yA;break t}else{Uu=ca+ii|0,A$=Uu;break}else A$=ii;else A$=ii;while(!1);if(Ul=(EA|0)==-1,Ul)Fr=yA;else{$6=EA,ve=A$,Y4=194;break e}}while(!1);Pu=e[138373]|0,Ou=Pu|4,e[138373]=Ou,th=Fr,Y4=191}else th=0,Y4=191;while(!1);if((Y4|0)==191&&(Hu=hn>>>0<2147483647,Hu&&(Yo=N7(hn|0)|0,ga=N7(0)|0,vr=(Yo|0)!=-1,Yu=(ga|0)!=-1,em=vr&Yu,Ju=Yo>>>0>>0,rm=Ju&em,rm&&(Pl=ga,ha=Yo,Ol=Pl-ha|0,ql=v4+40|0,Hl=Ol>>>0>ql>>>0,E2=Hl?Ol:th,Hl&&($6=Yo,ve=E2,Y4=194)))),(Y4|0)==194){Ku=e[138370]|0,ua=Ku+ve|0,e[138370]=ua,zu=e[138371]|0,Zu=ua>>>0>zu>>>0,Zu&&(e[138371]=ua),P9=e[138268]|0,Wu=(P9|0)==0;e:do if(Wu){for(Yl=e[138266]|0,ju=(Yl|0)==0,Xu=$6>>>0>>0,nm=ju|Xu,nm&&(e[138266]=$6),e[138374]=$6,e[138375]=ve,e[138377]=0,ef=e[138380]|0,e[138271]=ef,e[138270]=-1,CA=0;da=CA<<1,Jl=553088+(da<<2)|0,$0=da+3|0,tf=553088+($0<<2)|0,e[tf>>2]=Jl,j=da+2|0,rf=553088+(j<<2)|0,e[rf>>2]=Jl,Vl=CA+1|0,KE=(Vl|0)==32,!KE;)CA=Vl;Kl=ve+-40|0,nf=$6+8|0,Ia=nf,Ea=Ia&7,Zl=(Ea|0)==0,sf=0-Ia|0,Wl=sf&7,ma=Zl?0:Wl,of=$6+ma|0,jl=Kl-ma|0,e[138268]=of,e[138265]=jl,Af=jl|1,K=ma+4|0,af=$6+K|0,e[af>>2]=Af,l1=ve+-36|0,$f=$6+l1|0,e[$f>>2]=40,lf=e[138384]|0,e[138269]=lf}else{for(_s=553496;;){if(ec=e[_s>>2]|0,Ca=_s+4|0,Jo=e[Ca>>2]|0,tc=ec+Jo|0,cf=($6|0)==(tc|0),cf){m=ec,p=Ca,B=Jo,sm=_s,Y4=204;break}if(ic=_s+8|0,rc=e[ic>>2]|0,gf=(rc|0)==0,gf)break;_s=rc}if((Y4|0)==204&&(hf=sm+12|0,uf=e[hf>>2]|0,ff=uf&8,df=(ff|0)==0,df&&(If=P9>>>0>=m>>>0,Ef=P9>>>0<$6>>>0,Wg=Ef&If,Wg))){mf=B+ve|0,e[p>>2]=mf,Cf=e[138265]|0,sc=Cf+ve|0,Bf=P9+8|0,oc=Bf,pf=oc&7,Qf=(pf|0)==0,Ac=0-oc|0,yf=Ac&7,gs=Qf?0:yf,ac=P9+gs|0,Ba=sc-gs|0,e[138268]=ac,e[138265]=Ba,wf=Ba|1,n0=gs+4|0,Vo=P9+n0|0,e[Vo>>2]=wf,n1=sc+4|0,pa=P9+n1|0,e[pa>>2]=40,kf=e[138384]|0,e[138269]=kf;break}for($c=e[138266]|0,vf=$6>>>0<$c>>>0,vf?(e[138266]=$6,ds=$6):ds=$c,Sf=$6+ve|0,xs=553496;;){if(bf=e[xs>>2]|0,Df=(bf|0)==(Sf|0),Df){I=xs,ar=xs,Y4=212;break}if(_f=xs+8|0,lc=e[_f>>2]|0,xf=(lc|0)==0,xf){Ds=553496;break}else xs=lc}if((Y4|0)==212)if(Rf=ar+12|0,Lf=e[Rf>>2]|0,ya=Lf&8,Ff=(ya|0)==0,Ff){e[I>>2]=$6,wa=ar+4|0,Mf=e[wa>>2]|0,Tf=Mf+ve|0,e[wa>>2]=Tf,Nf=$6+8|0,cc=Nf,Gf=cc&7,Uf=(Gf|0)==0,Pf=0-cc|0,qf=Pf&7,zo=Uf?0:qf,Hf=$6+zo|0,I0=ve+8|0,Yf=$6+I0|0,gc=Yf,Jf=gc&7,Vf=(Jf|0)==0,Kf=0-gc|0,zf=Kf&7,fi=Vf?0:zf,S0=fi+ve|0,di=$6+S0|0,uc=di,ka=Hf,Zf=uc-ka|0,i0=zo+v4|0,X7=$6+i0|0,us=Zf-v4|0,Wf=v4|3,u0=zo+4|0,jf=$6+u0|0,e[jf>>2]=Wf,Xf=(di|0)==(P9|0);t:do if(Xf)ed=e[138265]|0,fc=ed+us|0,e[138265]=fc,e[138268]=X7,id=fc|1,q1=i0+4|0,rd=$6+q1|0,e[rd>>2]=id;else{if(dc=e[138267]|0,nd=(di|0)==(dc|0),nd){sd=e[138264]|0,fs=sd+us|0,e[138264]=fs,e[138267]=X7,va=fs|1,V1=i0+4|0,od=$6+V1|0,e[od>>2]=va,O1=fs+i0|0,Ic=$6+O1|0,e[Ic>>2]=fs;break}if(o1=ve+4|0,V0=o1+fi|0,ad=$6+V0|0,Zo=e[ad>>2]|0,$d=Zo&3,ld=($d|0)==1,ld){Ec=Zo&-8,mc=Zo>>>3,cd=Zo>>>0<256;i:do if(cd){G1=fi|8,J0=G1+ve|0,gd=$6+J0|0,In=e[gd>>2]|0,k1=ve+12|0,Y0=k1+fi|0,hd=$6+Y0|0,En=e[hd>>2]|0,fd=mc<<1,Cc=553088+(fd<<2)|0,dd=(In|0)==(Cc|0);do if(!dd){if(Id=In>>>0>>0,Id&&Q2(),Bc=In+12|0,Ed=e[Bc>>2]|0,pc=(Ed|0)==(di|0),pc)break;Q2()}while(!1);if(md=(En|0)==(In|0),md){Sa=1<>>0>>0,pd&&Q2(),wc=En+8|0,Qd=e[wc>>2]|0,yd=(Qd|0)==(di|0),yd){N=wc;break}Q2()}while(!1);wd=In+12|0,e[wd>>2]=En,e[N>>2]=In}else{L1=fi|24,_0=L1+ve|0,kd=$6+_0|0,Is=e[kd>>2]|0,Y1=ve+12|0,Q0=Y1+fi|0,vd=$6+Q0|0,mn=e[vd>>2]|0,Sd=(mn|0)==(di|0);do if(Sd){if(W1=fi|16,D0=o1+W1|0,Dc=$6+D0|0,_c=e[Dc>>2]|0,Rd=(_c|0)==0,Rd)if(T0=W1+ve|0,xc=$6+T0|0,Rc=e[xc>>2]|0,Ld=(Rc|0)==0,Ld){x7=0;break}else pn=Rc,fA=xc;else pn=_c,fA=Dc;for(;;){if(Lc=pn+20|0,Fc=e[Lc>>2]|0,Md=(Fc|0)==0,!Md){pn=Fc,fA=Lc;continue}if(Mc=pn+16|0,Tc=e[Mc>>2]|0,Td=(Tc|0)==0,Td){OE=pn,Jg=fA;break}else pn=Tc,fA=Mc}if(Nd=Jg>>>0>>0,Nd)Q2();else{e[Jg>>2]=0,x7=OE;break}}else if(F1=fi|8,L0=F1+ve|0,bd=$6+L0|0,ba=e[bd>>2]|0,Dd=ba>>>0>>0,Dd&&Q2(),Da=ba+12|0,_a=e[Da>>2]|0,vc=(_a|0)==(di|0),vc||Q2(),Sc=mn+8|0,xd=e[Sc>>2]|0,bc=(xd|0)==(di|0),bc){e[Da>>2]=mn,e[Sc>>2]=ba,x7=mn;break}else Q2();while(!1);if(Nc=(Is|0)==0,Nc)break;w1=ve+28|0,M0=w1+fi|0,xa=$6+M0|0,Gc=e[xa>>2]|0,Oc=553352+(Gc<<2)|0,Gd=e[Oc>>2]|0,Ud=(di|0)==(Gd|0);do if(Ud){if(e[Oc>>2]=x7,VE=(x7|0)==0,!VE)break;Pd=1<>>0>>0,Jd&&Q2(),qc=Is+16|0,Vd=e[qc>>2]|0,Kd=(Vd|0)==(di|0),Kd?e[qc>>2]=x7:(zd=Is+20|0,e[zd>>2]=x7),Hc=(x7|0)==0,Hc)break i;while(!1);Yc=e[138266]|0,Zd=x7>>>0>>0,Zd&&Q2(),Jc=x7+24|0,e[Jc>>2]=Is,S1=fi|16,N0=S1+ve|0,La=$6+N0|0,Wo=e[La>>2]|0,Vc=(Wo|0)==0;do if(!Vc)if(jd=Wo>>>0>>0,jd)Q2();else{Xd=x7+16|0,e[Xd>>2]=Wo,eI=Wo+24|0,e[eI>>2]=x7;break}while(!1);if(H0=o1+S1|0,Kc=$6+H0|0,jo=e[Kc>>2]|0,tI=(jo|0)==0,tI)break;if(iI=e[138266]|0,rI=jo>>>0>>0,rI)Q2();else{nI=x7+20|0,e[nI>>2]=jo,sI=jo+24|0,e[sI>>2]=x7;break}}while(!1);s2=Ec|fi,R0=s2+ve|0,AI=$6+R0|0,aI=Ec+us|0,Zg=AI,ti=aI}else Zg=di,ti=us;if(zc=Zg+4|0,$I=e[zc>>2]|0,lI=$I&-2,e[zc>>2]=lI,cI=ti|1,k0=i0+4|0,gI=$6+k0|0,e[gI>>2]=cI,B0=ti+i0|0,Xo=$6+B0|0,e[Xo>>2]=ti,Zc=ti>>>3,hI=ti>>>0<256,hI){Cn=Zc<<1,Wc=553088+(Cn<<2)|0,jc=e[138262]|0,Fa=1<>2]|0,II=e[138266]|0,mI=tg>>>0>>0,!mI){F=eg,Wa=tg;break}Q2()}while(!1);e[F>>2]=X7,CI=Wa+12|0,e[CI>>2]=X7,B1=i0+8|0,BI=$6+B1|0,e[BI>>2]=Wa,p1=i0+12|0,eA=$6+p1|0,e[eA>>2]=Wc;break}Ma=ti>>>8,pI=(Ma|0)==0;do if(pI)_r=0;else{if(QI=ti>>>0>16777215,QI){_r=31;break}yI=Ma+1048320|0,wI=yI>>>16,ig=wI&8,rg=Ma<>>16,ng=SI&4,Sr=ng|ig,sg=rg<>>16,Ag=bI&2,tA=Sr|Ag,_I=14-tA|0,xI=sg<>>15,ag=_I+iA|0,RI=ag<<1,LI=ag+7|0,$g=ti>>>LI,FI=$g&1,MI=FI|RI,_r=MI}while(!1);if(Ta=553352+(_r<<2)|0,y0=i0+28|0,TI=$6+y0|0,e[TI>>2]=_r,K0=i0+16|0,NI=$6+K0|0,G0=i0+20|0,GI=$6+G0|0,e[GI>>2]=0,e[NI>>2]=0,lg=e[138263]|0,cg=1<<_r,gg=lg&cg,UI=(gg|0)==0,UI){PI=lg|cg,e[138263]=PI,e[Ta>>2]=X7,r1=i0+24|0,Es=$6+r1|0,e[Es>>2]=Ta,e1=i0+12|0,OI=$6+e1|0,e[OI>>2]=X7,i1=i0+8|0,qI=$6+i1|0,e[qI>>2]=X7;break}Na=e[Ta>>2]|0,ug=Na+4|0,HI=e[ug>>2]|0,YI=HI&-8,JI=(YI|0)==(ti|0);i:do if(JI)xr=Na;else{for(VI=(_r|0)==31,fg=_r>>>1,KI=25-fg|0,zI=VI?0:KI,ZI=ti<>>31,Cg=(r$+16|0)+(mg<<2)|0,ms=e[Cg>>2]|0,vi=(ms|0)==0,vi){A=Cg,YE=r$;break}if(WI=ws<<1,jI=ms+4|0,Ig=e[jI>>2]|0,Eg=Ig&-8,XI=(Eg|0)==(ti|0),XI){xr=ms;break i}else ws=WI,r$=ms}if(nr=e[138266]|0,eE=A>>>0>>0,eE)Q2();else{e[A>>2]=X7,m1=i0+24|0,tE=$6+m1|0,e[tE>>2]=YE,d1=i0+12|0,iE=$6+d1|0,e[iE>>2]=X7,E1=i0+8|0,rE=$6+E1|0,e[rE>>2]=X7;break t}}while(!1);if(Ga=xr+8|0,sA=e[Ga>>2]|0,pg=e[138266]|0,Qg=sA>>>0>=pg>>>0,s$=xr>>>0>=pg>>>0,nE=Qg&s$,nE){Cs=sA+12|0,e[Cs>>2]=X7,e[Ga>>2]=X7,z0=i0+8|0,sE=$6+z0|0,e[sE>>2]=sA,I1=i0+12|0,AA=$6+I1|0,e[AA>>2]=xr,h1=i0+24|0,Ua=$6+h1|0,e[Ua>>2]=0;break}else Q2()}while(!1);return $1=zo|8,oE=$6+$1|0,Ke=oE,Ke|0}else Ds=553496;for(;;){if(Pa=e[Ds>>2]|0,AE=Pa>>>0>P9>>>0,!AE&&(aE=Ds+4|0,yg=e[aE>>2]|0,aA=Pa+yg|0,$E=aA>>>0>P9>>>0,$E)){c=Pa,u=yg,E=aA;break}lE=Ds+8|0,cE=e[lE>>2]|0,Ds=cE}if(a0=u+-47|0,l0=u+-39|0,gE=c+l0|0,kg=gE,hE=kg&7,Wt=(hE|0)==0,y4=0-kg|0,ei=y4&7,uE=Wt?0:ei,a1=a0+uE|0,Sg=c+a1|0,Oa=P9+16|0,fE=Sg>>>0>>0,br=fE?P9:Sg,Bs=br+8|0,dE=ve+-40|0,IE=$6+8|0,bg=IE,qa=bg&7,EE=(qa|0)==0,_g=0-bg|0,xg=_g&7,Ha=EE?0:xg,Ya=$6+Ha|0,Rg=dE-Ha|0,e[138268]=Ya,e[138265]=Rg,ps=Rg|1,Z=Ha+4|0,Ja=$6+Z|0,e[Ja>>2]=ps,s1=ve+-36|0,Lg=$6+s1|0,e[Lg>>2]=40,mE=e[138384]|0,e[138269]=mE,Bn=br+4|0,e[Bn>>2]=27,e[Bs>>2]=e[138374]|0,e[Bs+4>>2]=e[138375]|0,e[Bs+8>>2]=e[138376]|0,e[Bs+12>>2]=e[138377]|0,e[138374]=$6,e[138375]=ve,e[138377]=0,e[138376]=Bs,Fg=br+28|0,e[Fg>>2]=7,$A=br+32|0,BE=$A>>>0>>0,BE)for(Si=Fg;Mg=Si+4|0,e[Mg>>2]=7,pE=Si+8|0,QE=pE>>>0>>0,QE;)Si=Mg;if(yE=(br|0)==(P9|0),!yE){if(wE=br,kE=P9,bi=wE-kE|0,SE=e[Bn>>2]|0,bE=SE&-2,e[Bn>>2]=bE,DE=bi|1,Tg=P9+4|0,e[Tg>>2]=DE,e[br>>2]=bi,Ii=bi>>>3,lA=bi>>>0<256,lA){Va=Ii<<1,Ng=553088+(Va<<2)|0,Gg=e[138262]|0,Ug=1<>2]|0,LE=e[138266]|0,FE=qg>>>0>>0,FE?Q2():(R=Og,za=qg)),e[R>>2]=P9,Hg=za+12|0,e[Hg>>2]=P9,ME=P9+8|0,e[ME>>2]=za,cA=P9+12|0,e[cA>>2]=Ng;break}if(gA=bi>>>8,TE=(gA|0)==0,TE?sr=0:(Ka=bi>>>0>16777215,Ka?sr=31:(NE=gA+1048320|0,GE=NE>>>16,Yg=GE&8,ys=gA<>>16,$2=PE&4,i2=$2|Yg,A2=ys<<$2,X1=A2+245760|0,n2=X1>>>16,f2=n2&2,e2=i2|f2,y2=14-e2|0,v2=A2<>>15,F2=y2+w2|0,D2=F2<<1,N2=F2+7|0,d2=bi>>>N2,K2=d2&1,G2=K2|D2,sr=G2)),H2=553352+(sr<<2)|0,M2=P9+28|0,e[M2>>2]=sr,P2=P9+20|0,e[P2>>2]=0,e[Oa>>2]=0,z2=e[138263]|0,O2=1<>2]=P9,e5=P9+24|0,e[e5>>2]=H2,b5=P9+12|0,e[b5>>2]=P9,Z2=P9+8|0,e[Z2>>2]=P9;break}f5=e[H2>>2]|0,v5=f5+4|0,P5=e[v5>>2]|0,k2=P5&-8,m5=(k2|0)==(bi|0);t:do if(m5)IA=f5;else{for(n5=(sr|0)==31,x2=sr>>>1,_2=25-x2|0,B2=n5?0:_2,C5=bi<>>31,c5=(n$+16|0)+(A5<<2)|0,D5=e[c5>>2]|0,B5=(D5|0)==0,B5){a=c5,Kg=n$;break}if(L5=e$<<1,d5=D5+4|0,_5=e[d5>>2]|0,q2=_5&-8,I5=(q2|0)==(bi|0),I5){IA=D5;break t}else e$=L5,n$=D5}if(M1=e[138266]|0,S5=a>>>0>>0,S5)Q2();else{e[a>>2]=P9,g5=P9+24|0,e[g5>>2]=Kg,a5=P9+12|0,e[a5>>2]=P9,g2=P9+8|0,e[g2>>2]=P9;break e}}while(!1);if(p5=IA+8|0,t5=e[p5>>2]|0,s5=e[138266]|0,h5=t5>>>0>=s5>>>0,zE=IA>>>0>=s5>>>0,J2=h5&zE,J2){u5=t5+12|0,e[u5>>2]=P9,e[p5>>2]=P9,i5=P9+8|0,e[i5>>2]=t5,x5=P9+12|0,e[x5>>2]=IA,j2=P9+24|0,e[j2>>2]=0;break}else Q2()}}while(!1);if(R2=e[138265]|0,Q5=R2>>>0>v4>>>0,Q5)return q5=R2-v4|0,e[138265]=q5,j5=e[138268]|0,E5=j5+v4|0,e[138268]=E5,f3=q5|1,V=v4+4|0,h3=j5+V|0,e[h3>>2]=f3,Y5=v4|3,X5=j5+4|0,e[X5>>2]=Y5,n3=j5+8|0,Ke=n3,Ke|0}return F5=Yp()|0,e[F5>>2]=12,Ke=0,Ke|0}function I2(t){t=t|0;var n=0,A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,R1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,R5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,R2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,k3=0,u3=0,p3=0,z3=0,G3=0,K5=0,w3=0,Z5=0,i6=0,R3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,L3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,X3=0,c6=0,p6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,R6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,L6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,M4=0,W4=0,C4=0,T4=0,U9=0,N4=0,a4=0,R4=0,u4=0,Ce=0,q9=0,m9=0,Be=0,Ne=0,Xe=0,G4=0,Ge=0,U4=0,j4=0,be=0,e8=0,Z9=0,ae=0,f4=0,_6=0,P4=0,L9=0,$4=0,_4=0,$e=0,W9=0,le=0,ce=0,B4=0,X4=0,L4=0,ge=0,C9=0,g6=0,Ue=0,l4=0,pe=0,p4=0,c4=0,P6=0,De=0,_e=0,t8=0,g4=0,k4=0,u8=0,J3=0,w9=0,B9=0,F4=0,ee=0,$t=0,xe=0;if(xe=C,X=(t|0)==0,!X){U=t+-8|0,K2=e[138266]|0,C6=U>>>0>>0,C6&&Q2(),y6=t+-4|0,$9=e[y6>>2]|0,z9=$9&3,x4=(z9|0)==1,x4&&Q2(),q9=$9&-8,p=q9+-8|0,Z9=t+p|0,$0=$9&1,j=($0|0)==0;do if(j){if(S0=e[U>>2]|0,D0=(z9|0)==0,D0)return;if(Q=-8-S0|0,b0=t+Q|0,z0=S0+q9|0,w1=b0>>>0>>0,w1&&Q2(),O1=e[138267]|0,s2=(b0|0)==(O1|0),s2){if(z=q9+-4|0,n0=t+z|0,i0=e[n0>>2]|0,r0=i0&3,V=(r0|0)==3,!V){J3=b0,w9=z0;break}e[138264]=z0,h0=i0&-2,e[n0>>2]=h0,s0=z0|1,_=Q+4|0,g0=t+_|0,e[g0>>2]=s0,e[Z9>>2]=z0;return}if(n2=S0>>>3,G2=S0>>>0<256,G2){if(Y=Q+8|0,b5=t+Y|0,B2=e[b5>>2]|0,t0=Q+12|0,B5=t+t0|0,J2=e[B5>>2]|0,f3=n2<<1,z3=553088+(f3<<2)|0,C3=(B2|0)==(z3|0),C3||(u6=B2>>>0>>0,u6&&Q2(),l6=B2+12|0,b3=e[l6>>2]|0,O6=(b3|0)==(b0|0),O6||Q2()),J6=(J2|0)==(B2|0),J6){G6=1<>>0>>0,D6&&Q2(),z6=J2+8|0,F6=e[z6>>2]|0,M3=(F6|0)==(b0|0),M3?c=z6:Q2()),M6=B2+12|0,e[M6>>2]=J2,e[c>>2]=B2,J3=b0,w9=z0;break}L=Q+24|0,t9=t+L|0,A9=e[t9>>2]|0,R=Q+12|0,X6=t+R|0,u9=e[X6>>2]|0,f9=(u9|0)==(b0|0);do if(f9){if(M=Q+20|0,o4=t+M|0,h4=e[o4>>2]|0,G9=(h4|0)==0,G9)if(F=Q+16|0,b9=t+F|0,E9=e[b9>>2]|0,q6=(E9|0)==0,q6){C9=0;break}else L4=E9,pe=b9;else L4=h4,pe=o4;for(;;){if(r9=L4+20|0,m4=e[r9>>2]|0,S4=(m4|0)==0,!S4){L4=m4,pe=r9;continue}if(A4=L4+16|0,y9=e[A4>>2]|0,b4=(y9|0)==0,b4){ge=L4,p4=pe;break}else L4=y9,pe=A4}if(D4=p4>>>0>>0,D4)Q2();else{e[p4>>2]=0,C9=ge;break}}else if(O=Q+8|0,d9=t+O|0,a9=e[d9>>2]|0,T9=a9>>>0>>0,T9&&Q2(),E6=a9+12|0,T6=e[E6>>2]|0,i9=(T6|0)==(b0|0),i9||Q2(),N9=u9+8|0,I9=e[N9>>2]|0,E4=(I9|0)==(b0|0),E4){e[E6>>2]=u9,e[N9>>2]=a9,C9=u9;break}else Q2();while(!1);if(M4=(A9|0)==0,M4)J3=b0,w9=z0;else{if(T=Q+28|0,W4=t+T|0,C4=e[W4>>2]|0,T4=553352+(C4<<2)|0,U9=e[T4>>2]|0,N4=(b0|0)==(U9|0),N4){if(e[T4>>2]=C9,g4=(C9|0)==0,g4){a4=1<>>0>>0,Be&&Q2(),Ne=A9+16|0,Xe=e[Ne>>2]|0,G4=(Xe|0)==(b0|0),G4?e[Ne>>2]=C9:(Ge=A9+20|0,e[Ge>>2]=C9),U4=(C9|0)==0,U4){J3=b0,w9=z0;break}j4=e[138266]|0,be=C9>>>0>>0,be&&Q2(),e8=C9+24|0,e[e8>>2]=A9,N=Q+16|0,ae=t+N|0,f4=e[ae>>2]|0,_6=(f4|0)==0;do if(!_6)if(P4=f4>>>0>>0,P4)Q2();else{L9=C9+16|0,e[L9>>2]=f4,$4=f4+24|0,e[$4>>2]=C9;break}while(!1);if(G=Q+20|0,_4=t+G|0,$e=e[_4>>2]|0,W9=($e|0)==0,W9)J3=b0,w9=z0;else if(le=e[138266]|0,Z=$e>>>0>>0,Z)Q2();else{K=C9+20|0,e[K>>2]=$e,a0=$e+24|0,e[a0>>2]=C9,J3=b0,w9=z0;break}}}else J3=U,w9=q9;while(!1);if(l0=J3>>>0>>0,l0||Q2(),b=q9+-4|0,u0=t+b|0,d0=e[u0>>2]|0,w0=d0&1,C0=(w0|0)==0,C0&&Q2(),k0=d0&2,f0=(k0|0)==0,f0){if(B0=e[138268]|0,p0=(Z9|0)==(B0|0),p0){if(I0=e[138265]|0,V0=I0+w9|0,e[138265]=V0,e[138268]=J3,_0=V0|1,Q0=J3+4|0,e[Q0>>2]=_0,L0=e[138267]|0,M0=(J3|0)==(L0|0),!M0)return;e[138267]=0,e[138264]=0;return}if(N0=e[138267]|0,U0=(Z9|0)==(N0|0),U0){y0=e[138264]|0,H0=y0+w9|0,e[138264]=H0,e[138267]=J3,R0=H0|1,T0=J3+4|0,e[T0>>2]=R0,J0=J3+H0|0,e[J0>>2]=H0;return}Y0=d0&-8,P0=Y0+w9|0,K0=d0>>>3,G0=d0>>>0<256;do if(G0){if(O0=t+q9|0,r1=e[O0>>2]|0,y=q9|4,q0=t+y|0,e1=e[q0>>2]|0,i1=K0<<1,c1=553088+(i1<<2)|0,$1=(r1|0)==(c1|0),$1||(u1=e[138266]|0,g1=r1>>>0>>0,g1&&Q2(),l1=r1+12|0,s1=e[l1>>2]|0,a1=(s1|0)==(Z9|0),a1||Q2()),n1=(e1|0)==(r1|0),n1){o1=1<>>0>>0,B1&&Q2(),p1=e1+8|0,Q1=e[p1>>2]|0,x1=(Q1|0)==(Z9|0),x1?a=p1:Q2()),R1=r1+12|0,e[R1>>2]=e1,e[a>>2]=r1}else{J=q9+16|0,S1=t+J|0,L1=e[S1>>2]|0,W=q9|4,F1=t+W|0,G1=e[F1>>2]|0,k1=(G1|0)==(Z9|0);do if(k1){if(q=q9+12|0,W1=t+q|0,P1=e[W1>>2]|0,c2=(P1|0)==0,c2)if(e0=q9+8|0,z1=t+e0|0,u2=e[z1>>2]|0,E2=(u2|0)==0,E2){l4=0;break}else g6=u2,c4=z1;else g6=P1,c4=W1;for(;;){if(o2=g6+20|0,K1=e[o2>>2]|0,h2=(K1|0)==0,!h2){g6=K1,c4=o2;continue}if(a2=g6+16|0,t2=e[a2>>2]|0,$2=(t2|0)==0,$2){Ue=g6,P6=c4;break}else g6=t2,c4=a2}if(i2=e[138266]|0,A2=P6>>>0>>0,A2)Q2();else{e[P6>>2]=0,l4=Ue;break}}else if(U1=t+q9|0,Z1=e[U1>>2]|0,N1=e[138266]|0,D1=Z1>>>0>>0,D1&&Q2(),V1=Z1+12|0,q1=e[V1>>2]|0,H1=(q1|0)==(Z9|0),H1||Q2(),Y1=G1+8|0,j1=e[Y1>>2]|0,r2=(j1|0)==(Z9|0),r2){e[V1>>2]=G1,e[Y1>>2]=Z1,l4=G1;break}else Q2();while(!1);if(X1=(L1|0)==0,!X1){if(v=q9+20|0,f2=t+v|0,e2=e[f2>>2]|0,y2=553352+(e2<<2)|0,v2=e[y2>>2]|0,w2=(Z9|0)==(v2|0),w2){if(e[y2>>2]=l4,k4=(l4|0)==0,k4){C2=1<>>0>>0,H2&&Q2(),M2=L1+16|0,P2=e[M2>>2]|0,z2=(P2|0)==(Z9|0),z2?e[M2>>2]=l4:(o5=L1+20|0,e[o5>>2]=l4),O2=(l4|0)==0,O2)break;T1=e[138266]|0,X2=l4>>>0>>0,X2&&Q2(),R5=l4+24|0,e[R5>>2]=L1,S=q9+8|0,e5=t+S|0,Z2=e[e5>>2]|0,f5=(Z2|0)==0;do if(!f5)if(v5=Z2>>>0>>0,v5)Q2();else{P5=l4+16|0,e[P5>>2]=Z2,l5=Z2+24|0,e[l5>>2]=l4;break}while(!1);if(w=q9+12|0,k2=t+w|0,m5=e[k2>>2]|0,n5=(m5|0)==0,!n5)if(x2=e[138266]|0,_2=m5>>>0>>0,_2)Q2();else{C5=l4+20|0,e[C5>>2]=m5,L5=m5+24|0,e[L5>>2]=l4;break}}}while(!1);if(d5=P0|1,D5=J3+4|0,e[D5>>2]=d5,G5=J3+P0|0,e[G5>>2]=P0,_5=e[138267]|0,q2=(J3|0)==(_5|0),q2){e[138264]=P0;return}else B9=P0}else I5=d0&-2,e[u0>>2]=I5,A5=w9|1,c5=J3+4|0,e[c5>>2]=A5,M1=J3+w9|0,e[M1>>2]=w9,B9=w9;if(S5=B9>>>3,g5=B9>>>0<256,g5){a5=S5<<1,W2=553088+(a5<<2)|0,g2=e[138262]|0,p5=1<>2]|0,x5=e[138266]|0,j2=i5>>>0>>0,j2?Q2():(u=u5,ce=i5)),e[u>>2]=J3,$5=ce+12|0,e[$5>>2]=J3,R2=J3+8|0,e[R2>>2]=ce,Q5=J3+12|0,e[Q5>>2]=W2;return}q5=B9>>>8,j5=(q5|0)==0,j5?B4=0:(E5=B9>>>0>16777215,E5?B4=31:(h3=q5+1048320|0,Y5=h3>>>16,X5=Y5&8,n3=q5<>>16,J5=F5&4,k3=J5|X5,u3=n3<>>16,K5=G3&2,w3=k3|K5,Z5=14-w3|0,i6=u3<>>15,U3=Z5+R3|0,a3=U3<<1,l3=U3+7|0,c3=B9>>>l3,H5=c3&1,U5=H5|a3,B4=U5)),O5=553352+(B4<<2)|0,k5=J3+28|0,e[k5>>2]=B4,P3=J3+16|0,M5=J3+20|0,e[M5>>2]=0,e[P3>>2]=0,o6=e[138263]|0,e3=1<>2]=J3,v3=J3+24|0,e[v3>>2]=O5,y3=J3+12|0,e[y3>>2]=J3,r6=J3+8|0,e[r6>>2]=J3;else{j3=e[O5>>2]|0,O3=j3+4|0,V5=e[O3>>2]|0,S3=V5&-8,g3=(S3|0)==(B9|0);t:do if(g3)De=j3;else{for(q3=(B4|0)==31,d3=B4>>>1,k6=25-d3|0,v6=q3?0:k6,S6=B9<>>31,t6=(_e+16|0)+(e6<<2)|0,c6=e[t6>>2]|0,f6=(c6|0)==0,f6){n=t6,t8=_e;break}if(B6=X4<<1,X3=c6+4|0,p6=e[X3>>2]|0,x6=p6&-8,Y6=(x6|0)==(B9|0),Y6){De=c6;break t}else X4=B6,_e=c6}if(H3=e[138266]|0,D3=n>>>0

>>0,D3)Q2();else{e[n>>2]=J3,Y3=J3+24|0,e[Y3>>2]=t8,Z3=J3+12|0,e[Z3>>2]=J3,b6=J3+8|0,e[b6>>2]=J3;break e}}while(!1);if(A6=De+8|0,t3=e[A6>>2]|0,s3=e[138266]|0,a6=t3>>>0>=s3>>>0,u8=De>>>0>=s3>>>0,d6=a6&u8,d6){_3=t3+12|0,e[_3>>2]=J3,e[A6>>2]=J3,N6=J3+8|0,e[N6>>2]=t3,n6=J3+12|0,e[n6>>2]=De,Q6=J3+24|0,e[Q6>>2]=0;break}else Q2()}while(!1);if(R6=e[138270]|0,K6=R6+-1|0,e[138270]=K6,I6=(K6|0)==0,I6)ee=553504;else return;for(;F4=e[ee>>2]|0,F3=(F4|0)==0,j6=F4+8|0,!F3;)ee=j6;e[138270]=-1}}function n4(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0;return _=C,a=(t|0)==0,a?b=0:(c=r5(n,t)|0,I=n|t,m=I>>>0>65535,m?(p=(c>>>0)/(t>>>0)&-1,B=(p|0)==(n|0),A=B?c:-1,b=A):b=c),v=S9(b)|0,S=(v|0)==0,S||(w=v+-4|0,y=e[w>>2]|0,u=y&3,E=(u|0)==0,E)||Ae(v|0,0,b|0)|0,v|0}function Oi(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0;return Y=C,A=(t|0)==0,A?(a=S9(n)|0,O=a,O|0):(y=n>>>0>4294967231,y?(L=Yp()|0,e[L>>2]=12,O=0,O|0):(R=n>>>0<11,F=n+11|0,M=F&-8,T=R?16:M,N=t+-8|0,G=Eb(N,T)|0,c=(G|0)==0,c?(E=S9(n)|0,I=(E|0)==0,I?(O=0,O|0):(m=t+-4|0,p=e[m>>2]|0,B=p&-8,v=p&3,S=(v|0)==0,w=S?8:4,b=B-w|0,Q=b>>>0>>0,_=Q?b:n,s4(E|0,t|0,_|0)|0,I2(t),O=E,O|0)):(u=G+8|0,O=u,O|0)))}function Eb(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,R1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,R5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,R2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0;if(J5=C,N=t+4|0,G=e[N>>2]|0,k1=G&-8,r2=t+k1|0,a2=e[138266]|0,w2=G&3,f3=t>>>0>=a2>>>0,h3=(w2|0)!=1,Y5=h3&f3,z2=t>>>0>>0,X5=Y5&z2,X5||Q2(),_=k1|4,P5=t+_|0,D5=e[P5>>2]|0,a5=D5&1,O=(a5|0)==0,O&&Q2(),Z=(w2|0)==0,Z)return l0=n>>>0<256,l0?(E5=0,E5|0):(V0=n+4|0,T0=k1>>>0>>0,!T0&&(i1=k1-n|0,I1=e[138382]|0,S1=I1<<1,F1=i1>>>0>S1>>>0,!F1)?(E5=t,E5|0):(E5=0,E5|0));if(G1=k1>>>0>>0,!G1)return U1=k1-n|0,Z1=U1>>>0>15,Z1?(N1=t+n|0,D1=G&1,V1=D1|n,O1=V1|2,e[N>>2]=O1,Q=n+4|0,q1=t+Q|0,H1=U1|3,e[q1>>2]=H1,Y1=e[P5>>2]|0,j1=Y1|1,e[P5>>2]=j1,pQ(N1,U1),E5=t,E5|0):(E5=t,E5|0);if(W1=e[138268]|0,P1=(r2|0)==(W1|0),P1)return c2=e[138265]|0,z1=c2+k1|0,u2=z1>>>0>n>>>0,u2?(s2=z1-n|0,E2=t+n|0,o2=G&1,K1=o2|n,h2=K1|2,e[N>>2]=h2,b=n+4|0,t2=t+b|0,$2=s2|1,e[t2>>2]=$2,e[138268]=E2,e[138265]=s2,E5=t,E5|0):(E5=0,E5|0);if(i2=e[138267]|0,A2=(r2|0)==(i2|0),A2)return X1=e[138264]|0,n2=X1+k1|0,f2=n2>>>0>>0,f2?(E5=0,E5|0):(e2=n2-n|0,y2=e2>>>0>15,y2?(v2=t+n|0,C2=t+n2|0,F2=G&1,D2=F2|n,N2=D2|2,e[N>>2]=N2,S=n+4|0,d2=t+S|0,K2=e2|1,e[d2>>2]=K2,e[C2>>2]=e2,y=n2+4|0,G2=t+y|0,H2=e[G2>>2]|0,M2=H2&-2,e[G2>>2]=M2,n3=v2,m3=e2):(P2=G&1,o5=P2|n2,O2=o5|2,e[N>>2]=O2,v=n2+4|0,T1=t+v|0,X2=e[T1>>2]|0,R5=X2|1,e[T1>>2]=R5,n3=0,m3=0),e[138264]=m3,e[138267]=n3,E5=t,E5|0);if(e5=D5&2,b5=(e5|0)==0,!b5||(Z2=D5&-8,f5=Z2+k1|0,v5=f5>>>0>>0,v5))return E5=0,E5|0;l5=f5-n|0,k2=D5>>>3,m5=D5>>>0<256;do if(m5){if(p=k1+8|0,n5=t+p|0,x2=e[n5>>2]|0,B=k1+12|0,_2=t+B|0,B2=e[_2>>2]|0,C5=k2<<1,L5=553088+(C5<<2)|0,d5=(x2|0)==(L5|0),d5||(G5=x2>>>0>>0,G5&&Q2(),_5=x2+12|0,q2=e[_5>>2]|0,I5=(q2|0)==(r2|0),I5||Q2()),A5=(B2|0)==(x2|0),A5){c5=1<>>0>>0,W2&&Q2(),g2=B2+8|0,p5=e[g2>>2]|0,t5=(p5|0)==(r2|0),t5?a=g2:Q2()),s5=x2+12|0,e[s5>>2]=B2,e[a>>2]=x2}else{c=k1+24|0,h5=t+c|0,J2=e[h5>>2]|0,w=k1+12|0,u5=t+w|0,i5=e[u5>>2]|0,x5=(i5|0)==(r2|0);do if(x5){if(R=k1+20|0,$0=t+R|0,K=e[$0>>2]|0,a0=(K|0)==0,a0)if(L=k1+16|0,n0=t+L|0,i0=e[n0>>2]|0,r0=(i0|0)==0,r0){R2=0;break}else j2=i0,Q5=n0;else j2=K,Q5=$0;for(;;){if(V=j2+20|0,h0=e[V>>2]|0,s0=(h0|0)==0,!s0){j2=h0,Q5=V;continue}if(g0=j2+16|0,j=e[g0>>2]|0,u0=(j|0)==0,u0){$5=j2,q5=Q5;break}else j2=j,Q5=g0}if(d0=q5>>>0>>0,d0)Q2();else{e[q5>>2]=0,R2=$5;break}}else if(m=k1+8|0,z=t+m|0,Y=e[z>>2]|0,t0=Y>>>0>>0,t0&&Q2(),J=Y+12|0,W=e[J>>2]|0,e0=(W|0)==(r2|0),e0||Q2(),q=i5+8|0,X=e[q>>2]|0,U=(X|0)==(r2|0),U){e[J>>2]=i5,e[q>>2]=Y,R2=i5;break}else Q2();while(!1);if(w0=(J2|0)==0,!w0){if(u=k1+28|0,C0=t+u|0,k0=e[C0>>2]|0,f0=553352+(k0<<2)|0,B0=e[f0>>2]|0,p0=(r2|0)==(B0|0),p0){if(e[f0>>2]=R2,j5=(R2|0)==0,j5){I0=1<>>0>>0,M0&&Q2(),N0=J2+16|0,U0=e[N0>>2]|0,y0=(U0|0)==(r2|0),y0?e[N0>>2]=R2:(H0=J2+20|0,e[H0>>2]=R2),R0=(R2|0)==0,R0)break;D0=e[138266]|0,J0=R2>>>0>>0,J0&&Q2(),Y0=R2+24|0,e[Y0>>2]=J2,E=k1+16|0,P0=t+E|0,K0=e[P0>>2]|0,G0=(K0|0)==0;do if(!G0)if(O0=K0>>>0>>0,O0)Q2();else{r1=R2+16|0,e[r1>>2]=K0,q0=K0+24|0,e[q0>>2]=R2;break}while(!1);if(I=k1+20|0,e1=t+I|0,b0=e[e1>>2]|0,c1=(b0|0)==0,!c1)if($1=e[138266]|0,u1=b0>>>0<$1>>>0,u1)Q2();else{g1=R2+20|0,e[g1>>2]=b0,l1=b0+24|0,e[l1>>2]=R2;break}}}while(!1);return s1=l5>>>0<16,s1?(a1=G&1,n1=f5|a1,o1=n1|2,e[N>>2]=o1,T=f5|4,z0=t+T|0,h1=e[z0>>2]|0,m1=h1|1,e[z0>>2]=m1,E5=t,E5|0):(d1=t+n|0,E1=G&1,B1=E1|n,p1=B1|2,e[N>>2]=p1,F=n+4|0,Q1=t+F|0,x1=l5|3,e[Q1>>2]=x1,M=f5|4,R1=t+M|0,w1=e[R1>>2]|0,L1=w1|1,e[R1>>2]=L1,pQ(d1,l5),E5=t,E5|0)}function pQ(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0,T0=0,J0=0,Y0=0,P0=0,K0=0,G0=0,O0=0,r1=0,q0=0,e1=0,b0=0,i1=0,c1=0,$1=0,u1=0,g1=0,l1=0,s1=0,a1=0,n1=0,o1=0,z0=0,I1=0,h1=0,m1=0,d1=0,E1=0,B1=0,p1=0,Q1=0,x1=0,R1=0,w1=0,S1=0,L1=0,F1=0,G1=0,k1=0,U1=0,Z1=0,N1=0,D1=0,V1=0,O1=0,q1=0,H1=0,Y1=0,j1=0,r2=0,W1=0,P1=0,c2=0,z1=0,u2=0,s2=0,E2=0,o2=0,K1=0,h2=0,a2=0,t2=0,$2=0,i2=0,A2=0,X1=0,n2=0,f2=0,e2=0,y2=0,v2=0,w2=0,C2=0,F2=0,D2=0,N2=0,d2=0,K2=0,G2=0,H2=0,M2=0,P2=0,z2=0,o5=0,O2=0,T1=0,X2=0,R5=0,e5=0,b5=0,Z2=0,f5=0,v5=0,P5=0,l5=0,k2=0,m5=0,n5=0,x2=0,_2=0,B2=0,C5=0,L5=0,d5=0,D5=0,G5=0,_5=0,q2=0,I5=0,A5=0,c5=0,B5=0,M1=0,S5=0,g5=0,a5=0,W2=0,g2=0,p5=0,t5=0,s5=0,h5=0,J2=0,u5=0,i5=0,x5=0,j2=0,$5=0,R2=0,Q5=0,q5=0,j5=0,E5=0,f3=0,h3=0,Y5=0,X5=0,n3=0,m3=0,F5=0,J5=0,k3=0,u3=0,p3=0,z3=0,G3=0,K5=0,w3=0,Z5=0,i6=0,R3=0,U3=0,a3=0,l3=0,c3=0,C3=0,H5=0,U5=0,O5=0,k5=0,P3=0,M5=0,o6=0,e3=0,A3=0,L3=0,u6=0,Q3=0,v3=0,y3=0,r6=0,j3=0,O3=0,V5=0,S3=0,g3=0,q3=0,l6=0,d3=0,k6=0,v6=0,S6=0,B6=0,X3=0,c6=0,p6=0,x6=0,Y6=0,C6=0,b3=0,e6=0,t6=0,f6=0,H3=0,D3=0,Y3=0,Z3=0,b6=0,A6=0,t3=0,O6=0,s3=0,a6=0,d6=0,_3=0,N6=0,n6=0,Q6=0,R6=0,K6=0,I6=0,J6=0,F3=0,j6=0,G6=0,e9=0,s9=0,L6=0,U6=0,D6=0,z6=0,y6=0,F6=0,M3=0,M6=0,t9=0,A9=0,X6=0,u9=0,f9=0,d9=0,a9=0,$9=0,T9=0,E6=0,T6=0,i9=0,N9=0,I9=0,E4=0,o4=0,h4=0,G9=0,z9=0,b9=0,E9=0,q6=0,r9=0,m4=0,S4=0,A4=0,y9=0,b4=0,D4=0,x4=0,M4=0,W4=0,C4=0,T4=0,U9=0,N4=0,a4=0,R4=0,u4=0,Ce=0,q9=0,m9=0,Be=0,Ne=0,Xe=0,G4=0,Ge=0,U4=0,j4=0,be=0,e8=0,Z9=0,ae=0,f4=0,_6=0,P4=0,L9=0,$4=0,_4=0,$e=0,W9=0,le=0,ce=0,B4=0,X4=0,L4=0,ge=0,C9=0,g6=0,Ue=0,l4=0,pe=0,p4=0;p4=C,K=t+n|0,a0=t+4|0,P2=e[a0>>2]|0,f6=P2&1,J6=(f6|0)==0;do if(J6){if(F6=e[t>>2]|0,T9=P2&3,b9=(T9|0)==0,b9)return;if(M4=0-F6|0,m9=t+M4|0,n0=F6+n|0,w0=e[138266]|0,L0=m9>>>0>>0,L0&&Q2(),P0=e[138267]|0,u1=(m9|0)==(P0|0),u1){if(w=n+4|0,Z9=t+w|0,i0=e[Z9>>2]|0,r0=i0&3,V=(r0|0)==3,!V){A=m9,a=n0;break}e[138264]=n0,h0=i0&-2,e[Z9>>2]=h0,s0=n0|1,R=4-F6|0,g0=t+R|0,e[g0>>2]=s0,e[K>>2]=n0;return}if(d1=F6>>>3,G1=F6>>>0<256,G1){if(J=8-F6|0,j1=t+J|0,h2=e[j1>>2]|0,W=12-F6|0,v2=t+W|0,z2=e[v2>>2]|0,P5=d1<<1,D5=553088+(P5<<2)|0,a5=(h2|0)==(D5|0),a5||(j2=h2>>>0>>0,j2&&Q2(),n3=h2+12|0,Z5=e[n3>>2]|0,k5=(Z5|0)==(m9|0),k5||Q2()),r6=(z2|0)==(h2|0),r6){S6=1<>>0>>0,N6&&Q2(),n6=z2+8|0,Q6=e[n6>>2]|0,R6=(Q6|0)==(m9|0),R6?m=n6:Q2()),K6=h2+12|0,e[K6>>2]=z2,e[m>>2]=h2,A=m9,a=n0;break}F=24-F6|0,I6=t+F|0,F3=e[I6>>2]|0,M=12-F6|0,j6=t+M|0,G6=e[j6>>2]|0,e9=(G6|0)==(m9|0);do if(e9){if(T=16-F6|0,N=T+4|0,A9=t+N|0,X6=e[A9>>2]|0,u9=(X6|0)==0,u9)if(f9=t+T|0,d9=e[f9>>2]|0,a9=(d9|0)==0,a9){$4=0;break}else P4=d9,le=f9;else P4=X6,le=A9;for(;;){if($9=P4+20|0,E6=e[$9>>2]|0,T6=(E6|0)==0,!T6){P4=E6,le=$9;continue}if(i9=P4+16|0,N9=e[i9>>2]|0,I9=(N9|0)==0,I9){L9=P4,ce=le;break}else P4=N9,le=i9}if(E4=ce>>>0>>0,E4)Q2();else{e[ce>>2]=0,$4=L9;break}}else if(t0=8-F6|0,s9=t+t0|0,L6=e[s9>>2]|0,U6=L6>>>0>>0,U6&&Q2(),D6=L6+12|0,z6=e[D6>>2]|0,y6=(z6|0)==(m9|0),y6||Q2(),M3=G6+8|0,M6=e[M3>>2]|0,t9=(M6|0)==(m9|0),t9){e[D6>>2]=G6,e[M3>>2]=L6,$4=G6;break}else Q2();while(!1);if(o4=(F3|0)==0,o4)A=m9,a=n0;else{if(O=28-F6|0,h4=t+O|0,G9=e[h4>>2]|0,z9=553352+(G9<<2)|0,E9=e[z9>>2]|0,q6=(m9|0)==(E9|0),q6){if(e[z9>>2]=$4,g6=($4|0)==0,g6){r9=1<>>0>>0,b4&&Q2(),D4=F3+16|0,x4=e[D4>>2]|0,W4=(x4|0)==(m9|0),W4?e[D4>>2]=$4:(C4=F3+20|0,e[C4>>2]=$4),T4=($4|0)==0,T4){A=m9,a=n0;break}U9=e[138266]|0,N4=$4>>>0>>0,N4&&Q2(),a4=$4+24|0,e[a4>>2]=F3,z=16-F6|0,R4=t+z|0,u4=e[R4>>2]|0,Ce=(u4|0)==0;do if(!Ce)if(q9=u4>>>0>>0,q9)Q2();else{Be=$4+16|0,e[Be>>2]=u4,Ne=u4+24|0,e[Ne>>2]=$4;break}while(!1);if(Y=z+4|0,Xe=t+Y|0,G4=e[Xe>>2]|0,Ge=(G4|0)==0,Ge)A=m9,a=n0;else if(U4=e[138266]|0,j4=G4>>>0>>0,j4)Q2();else{be=$4+20|0,e[be>>2]=G4,e8=G4+24|0,e[e8>>2]=$4,A=m9,a=n0;break}}}else A=t,a=n;while(!1);if(j=e[138266]|0,l0=K>>>0>>0,l0&&Q2(),y=n+4|0,u0=t+y|0,d0=e[u0>>2]|0,C0=d0&2,k0=(C0|0)==0,k0){if(f0=e[138268]|0,B0=(K|0)==(f0|0),B0){if(p0=e[138265]|0,I0=p0+a|0,e[138265]=I0,e[138268]=A,S0=I0|1,V0=A+4|0,e[V0>>2]=S0,_0=e[138267]|0,Q0=(A|0)==(_0|0),!Q0)return;e[138267]=0,e[138264]=0;return}if(M0=e[138267]|0,N0=(K|0)==(M0|0),N0){U0=e[138264]|0,y0=U0+a|0,e[138264]=y0,e[138267]=A,H0=y0|1,R0=A+4|0,e[R0>>2]=H0,D0=A+y0|0,e[D0>>2]=y0;return}T0=d0&-8,J0=T0+a|0,Y0=d0>>>3,K0=d0>>>0<256;do if(K0){if(_=n+8|0,G0=t+_|0,O0=e[G0>>2]|0,L=n+12|0,r1=t+L|0,q0=e[r1>>2]|0,e1=Y0<<1,b0=553088+(e1<<2)|0,i1=(O0|0)==(b0|0),i1||(c1=O0>>>0>>0,c1&&Q2(),$1=O0+12|0,g1=e[$1>>2]|0,l1=(g1|0)==(K|0),l1||Q2()),s1=(q0|0)==(O0|0),s1){a1=1<>>0>>0,h1&&Q2(),m1=q0+8|0,E1=e[m1>>2]|0,B1=(E1|0)==(K|0),B1?I=m1:Q2()),p1=O0+12|0,e[p1>>2]=q0,e[I>>2]=O0}else{G=n+24|0,Q1=t+G|0,x1=e[Q1>>2]|0,e0=n+12|0,R1=t+e0|0,w1=e[R1>>2]|0,S1=(w1|0)==(K|0);do if(S1){if(X=n+20|0,q1=t+X|0,H1=e[q1>>2]|0,Y1=(H1|0)==0,Y1)if(q=n+16|0,r2=t+q|0,W1=e[r2>>2]|0,P1=(W1|0)==0,P1){W9=0;break}else _4=W1,B4=r2;else _4=H1,B4=q1;for(;;){if(c2=_4+20|0,z1=e[c2>>2]|0,u2=(z1|0)==0,!u2){_4=z1,B4=c2;continue}if(s2=_4+16|0,E2=e[s2>>2]|0,o2=(E2|0)==0,o2){$e=_4,X4=B4;break}else _4=E2,B4=s2}if(K1=X4>>>0>>0,K1)Q2();else{e[X4>>2]=0,W9=$e;break}}else if(Q=n+8|0,L1=t+Q|0,F1=e[L1>>2]|0,k1=F1>>>0>>0,k1&&Q2(),U1=F1+12|0,Z1=e[U1>>2]|0,N1=(Z1|0)==(K|0),N1||Q2(),D1=w1+8|0,V1=e[D1>>2]|0,O1=(V1|0)==(K|0),O1){e[U1>>2]=w1,e[D1>>2]=F1,W9=w1;break}else Q2();while(!1);if(a2=(x1|0)==0,!a2){if($0=n+28|0,t2=t+$0|0,$2=e[t2>>2]|0,i2=553352+($2<<2)|0,A2=e[i2>>2]|0,X1=(K|0)==(A2|0),X1){if(e[i2>>2]=W9,Ue=(W9|0)==0,Ue){n2=1<<$2,f2=n2^-1,e2=e[138263]|0,y2=e2&f2,e[138263]=y2;break}}else if(w2=e[138266]|0,C2=x1>>>0>>0,C2&&Q2(),F2=x1+16|0,D2=e[F2>>2]|0,N2=(D2|0)==(K|0),N2?e[F2>>2]=W9:(d2=x1+20|0,e[d2>>2]=W9),K2=(W9|0)==0,K2)break;G2=e[138266]|0,H2=W9>>>0>>0,H2&&Q2(),M2=W9+24|0,e[M2>>2]=x1,Z=n+16|0,o5=t+Z|0,O2=e[o5>>2]|0,T1=(O2|0)==0;do if(!T1)if(X2=O2>>>0>>0,X2)Q2();else{R5=W9+16|0,e[R5>>2]=O2,e5=O2+24|0,e[e5>>2]=W9;break}while(!1);if(b=n+20|0,b5=t+b|0,Z2=e[b5>>2]|0,f5=(Z2|0)==0,!f5)if(v5=e[138266]|0,l5=Z2>>>0>>0,l5)Q2();else{k2=W9+20|0,e[k2>>2]=Z2,m5=Z2+24|0,e[m5>>2]=W9;break}}}while(!1);if(n5=J0|1,x2=A+4|0,e[x2>>2]=n5,_2=A+J0|0,e[_2>>2]=J0,B2=e[138267]|0,C5=(A|0)==(B2|0),C5){e[138264]=J0;return}else c=J0}else L5=d0&-2,e[u0>>2]=L5,d5=a|1,G5=A+4|0,e[G5>>2]=d5,_5=A+a|0,e[_5>>2]=a,c=a;if(q2=c>>>3,I5=c>>>0<256,I5){A5=q2<<1,c5=553088+(A5<<2)|0,B5=e[138262]|0,M1=1<>2]|0,t5=e[138266]|0,s5=p5>>>0>>0,s5?Q2():(p=g2,ae=p5)),e[p>>2]=A,h5=ae+12|0,e[h5>>2]=A,J2=A+8|0,e[J2>>2]=ae,u5=A+12|0,e[u5>>2]=c5;return}if(i5=c>>>8,x5=(i5|0)==0,x5?f4=0:($5=c>>>0>16777215,$5?f4=31:(R2=i5+1048320|0,Q5=R2>>>16,q5=Q5&8,j5=i5<>>16,h3=f3&4,Y5=h3|q5,X5=j5<>>16,J5=F5&2,k3=Y5|J5,u3=14-k3|0,p3=X5<>>15,G3=u3+z3|0,K5=G3<<1,w3=G3+7|0,i6=c>>>w3,R3=i6&1,U3=R3|K5,f4=U3)),a3=553352+(f4<<2)|0,l3=A+28|0,e[l3>>2]=f4,c3=A+16|0,C3=A+20|0,e[C3>>2]=0,e[c3>>2]=0,H5=e[138263]|0,U5=1<>2]=A,o6=A+24|0,e[o6>>2]=a3,e3=A+12|0,e[e3>>2]=A,A3=A+8|0,e[A3>>2]=A;return}L3=e[a3>>2]|0,u6=L3+4|0,Q3=e[u6>>2]|0,v3=Q3&-8,y3=(v3|0)==(c|0);e:do if(y3)L4=L3;else{for(j3=(f4|0)==31,O3=f4>>>1,V5=25-O3|0,S3=j3?0:V5,g3=c<>>31,c6=(ge+16|0)+(X3<<2)|0,d3=e[c6>>2]|0,p6=(d3|0)==0,p6){u=c6,C9=ge;break}if(q3=_6<<1,l6=d3+4|0,k6=e[l6>>2]|0,v6=k6&-8,B6=(v6|0)==(c|0),B6){L4=d3;break e}else _6=q3,ge=d3}x6=e[138266]|0,Y6=u>>>0>>0,Y6&&Q2(),e[u>>2]=A,C6=A+24|0,e[C6>>2]=C9,b3=A+12|0,e[b3>>2]=A,e6=A+8|0,e[e6>>2]=A;return}while(!1);t6=L4+8|0,D3=e[t6>>2]|0,Y3=e[138266]|0,Z3=D3>>>0>=Y3>>>0,l4=L4>>>0>=Y3>>>0,b6=Z3&l4,b6||Q2(),A6=D3+12|0,e[A6>>2]=A,e[t6>>2]=A,t3=A+8|0,e[t3>>2]=D3,O6=A+12|0,e[O6>>2]=L4,s3=A+24|0,e[s3>>2]=0}function mb(){e[6410]=O9}function Ae(t,n,A){t=t|0,n=n|0,A=A|0;var a=0,c=0,u=0,E=0;if(a=t+A|0,(A|0)>=20){if(n=n&255,E=t&3,c=n|n<<8|n<<16|n<<24,u=a&-4,E)for(E=t+4-E|0;(t|0)<(E|0);)d[t>>0]=n,t=t+1|0;for(;(t|0)<(u|0);)e[t>>2]=c,t=t+4|0}for(;(t|0)<(a|0);)d[t>>0]=n,t=t+1|0;return t-A|0}function Z$(t){t=t|0;var n=0;for(n=t;d[n>>0]|0;)n=n+1|0;return n-t|0}function QQ(t,n){t=t|0,n=n|0;var A=0,a=0;a=t+(Z$(t)|0)|0;do d[a+A>>0]=d[n+A>>0],A=A+1|0;while(d[n+(A-1)>>0]|0);return t|0}function yQ(t,n,A){t=t|0,n=n|0,A=A|0;var a=0;return(A|0)<32?(a=(1<>>32-A,t<>>0,u=n+a+(c>>>0>>0|0)>>>0,H6=u,c|0|0}function Zs(t,n,A){t=t|0,n=n|0,A=A|0;var a=0;return(A|0)<32?(a=(1<>>A,t>>>A|(n&a)<<32-A):(H6=0,n>>>A-32|0)}function s4(t,n,A){t=t|0,n=n|0,A=A|0;var a=0;if((A|0)>=4096)return bv(t|0,n|0,A|0)|0;if(a=t|0,(t&3)==(n&3)){for(;t&3;){if(!(A|0))return a|0;d[t>>0]=d[n>>0]|0,t=t+1|0,n=n+1|0,A=A-1|0}for(;(A|0)>=4;)e[t>>2]=e[n>>2]|0,t=t+4|0,n=n+4|0,A=A-4|0}for(;(A|0)>0;)d[t>>0]=d[n>>0]|0,t=t+1|0,n=n+1|0,A=A-1|0;return a|0}function WA(t,n,A){t=t|0,n=n|0,A=A|0;var a=0;if((n|0)<(t|0)&(t|0)<(n+A|0)){for(a=t,n=n+A|0,t=t+A|0;(A|0)>0;)t=t-1|0,n=n-1|0,A=A-1|0,d[t>>0]=d[n>>0]|0;t=a}else s4(t,n,A)|0;return t|0}function uB(t,n){t=t|0,n=n|0;var A=0;do d[(t+A|0)>>0]=d[(n+A|0)>>0],A=A+1|0;while(d[n+(A-1)>>0]|0);return t|0}function Ws(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var c=0,u=0;return c=t-A>>>0,u=n-a>>>0,u=n-a-(A>>>0>t>>>0|0)>>>0,H6=u,c|0|0}function GD(t,n,A){t=t|0,n=n|0,A=A|0;var a=0;return(A|0)<32?(a=(1<>A,t>>>A|(n&a)<<32-A):(H6=(n|0)<0?-1:0,n>>A-32|0)}function wQ(t){t=t|0;var n=0;return n=d[x9+(t&255)>>0]|0,(n|0)<8?n|0:(n=d[x9+(t>>8&255)>>0]|0,(n|0)<8?n+8|0:(n=d[x9+(t>>16&255)>>0]|0,(n|0)<8?n+16|0:(d[x9+(t>>>24)>>0]|0)+24|0))}function Cb(t,n){t=t|0,n=n|0;var A=0,a=0,c=0,u=0,E=0,I=0,m=0;return A=t&65535,a=n&65535,c=r5(a,A)|0,u=t>>>16,E=(c>>>16)+(r5(a,u)|0)|0,I=n>>>16,m=r5(I,A)|0,H6=((E>>>16)+(r5(I,u)|0)|0)+(((E&65535)+m|0)>>>16)|0,0|(E+m<<16|c&65535)|0}function UD(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0;return c=n>>31|((n|0)<0?-1:0)<<1,u=((n|0)<0?-1:0)>>31|((n|0)<0?-1:0)<<1,E=a>>31|((a|0)<0?-1:0)<<1,I=((a|0)<0?-1:0)>>31|((a|0)<0?-1:0)<<1,m=Ws(c^t,u^n,c,u)|0,p=H6,B=Ws(E^A,I^a,E,I)|0,v=E^c,S=I^u,w=jm(m,p,B,H6,0)|0,y=Ws(w^v,H6^S,v,S)|0,y|0}function PD(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var c=0,u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0;return y=C,C=C+8|0,c=y|0,u=n>>31|((n|0)<0?-1:0)<<1,E=((n|0)<0?-1:0)>>31|((n|0)<0?-1:0)<<1,I=a>>31|((a|0)<0?-1:0)<<1,m=((a|0)<0?-1:0)>>31|((a|0)<0?-1:0)<<1,p=Ws(u^t,E^n,u,E)|0,B=H6,v=Ws(I^A,m^a,I,m)|0,jm(p,B,v,H6,c)|0,S=Ws(e[c>>2]^u,e[c+4>>2]^E,u,E)|0,w=H6,C=y,H6=w,S|0}function Bb(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var c=0,u=0,E=0,I=0,m=0;return c=t,u=A,E=Cb(c,u)|0,I=H6,m=r5(n,u)|0,H6=((r5(a,c)|0)+m|0)+I|I&0,0|E&-1|0}function OD(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var c=0;return c=jm(t,n,A,a,0)|0,c|0}function qD(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0;var c=0,u=0;return u=C,C=C+8|0,c=u|0,jm(t,n,A,a,c)|0,C=u,H6=e[c+4>>2]|0,e[c>>2]|0|0}function jm(t,n,A,a,c){t=t|0,n=n|0,A=A|0,a=a|0,c=c|0;var u=0,E=0,I=0,m=0,p=0,B=0,v=0,S=0,w=0,y=0,b=0,Q=0,_=0,L=0,R=0,F=0,M=0,T=0,N=0,G=0,O=0,z=0,Y=0,t0=0,J=0,W=0,e0=0,q=0,X=0,U=0,$0=0,Z=0,K=0,a0=0,n0=0,i0=0,r0=0,V=0,h0=0,s0=0,g0=0,j=0,l0=0,u0=0,d0=0,w0=0,C0=0,k0=0,f0=0,B0=0,p0=0,I0=0,S0=0,V0=0,_0=0,Q0=0,L0=0,M0=0,N0=0,U0=0,y0=0,H0=0,R0=0,D0=0;if(u=t,E=n,I=E,m=A,p=a,B=p,!(I|0))return v=(c|0)!=0,B|0?v?(e[c>>2]=t&-1,e[c+4>>2]=n&0,D0=0,R0=0,H6=D0,R0|0):(D0=0,R0=0,H6=D0,R0|0):(v&&(e[c>>2]=(u>>>0)%(m>>>0),e[c+4>>2]=0),D0=0,R0=(u>>>0)/(m>>>0)>>>0,H6=D0,R0|0);S=(B|0)==0;do if(m|0){if(!S){if(Y=Ks(B|0)|0,t0=Y-(Ks(I|0)|0)|0,t0>>>0<=31){J=t0+1|0,W=31-t0|0,e0=t0-31>>31,Z=J,$0=u>>>(J>>>0)&e0|I<>>(J>>>0)&e0,X=0,q=u<>2]=0|t&-1,e[c+4>>2]=E|n&0,D0=0,R0=0,H6=D0,R0|0):(D0=0,R0=0,H6=D0,R0|0)}if(L=m-1|0,L&m|0){F=(Ks(m|0)|0)+33|0,M=F-(Ks(I|0)|0)|0,T=64-M|0,N=32-M|0,G=N>>31,O=M-32|0,z=O>>31,Z=M,$0=N-1>>31&I>>>(O>>>0)|(I<>>(M>>>0))&z,U=z&I>>>(M>>>0),X=u<>>(O>>>0))&G|u<>31;break}return c|0&&(e[c>>2]=L&u,e[c+4>>2]=0),(m|0)==1?(D0=E|n&0,R0=0|t&-1,H6=D0,R0|0):(R=wQ(m|0)|0,D0=0|I>>>(R>>>0),R0=I<<32-R|u>>>(R>>>0)|0,H6=D0,R0|0)}else{if(S)return c|0&&(e[c>>2]=(I>>>0)%(m>>>0),e[c+4>>2]=0),D0=0,R0=(I>>>0)/(m>>>0)>>>0,H6=D0,R0|0;if(!(u|0))return c|0&&(e[c>>2]=0,e[c+4>>2]=(I>>>0)%(B>>>0)),D0=0,R0=(I>>>0)/(B>>>0)>>>0,H6=D0,R0|0;if(w=B-1|0,!(w&B|0))return c|0&&(e[c>>2]=0|t&-1,e[c+4>>2]=w&I|n&0),D0=0,R0=I>>>((wQ(B|0)|0)>>>0),H6=D0,R0|0;if(y=Ks(B|0)|0,b=y-(Ks(I|0)|0)|0,b>>>0<=30){Q=b+1|0,_=31-b|0,Z=Q,$0=I<<_|u>>>(Q>>>0),U=I>>>(Q>>>0),X=0,q=u<<_;break}return c|0?(e[c>>2]=0|t&-1,e[c+4>>2]=E|n&0,D0=0,R0=0,H6=D0,R0|0):(D0=0,R0=0,H6=D0,R0|0)}while(!1);if(!(Z|0))N0=q,M0=X,L0=U,Q0=$0,_0=0,V0=0;else{for(K=0|A&-1,a0=p|a&0,n0=zs(K|0,a0|0,-1,-1)|0,i0=H6,j=q,g0=X,s0=U,h0=$0,V=Z,r0=0;l0=g0>>>31|j<<1,u0=r0|g0<<1,d0=0|(h0<<1|j>>>31),w0=h0>>>31|s0<<1|0,Ws(n0,i0,d0,w0)|0,C0=H6,k0=C0>>31|((C0|0)<0?-1:0)<<1,f0=k0&1,B0=Ws(d0,w0,k0&K,(((C0|0)<0?-1:0)>>31|((C0|0)<0?-1:0)<<1)&a0)|0,p0=B0,I0=H6,S0=V-1|0,S0|0;)j=l0,g0=u0,s0=I0,h0=p0,V=S0,r0=f0;N0=l0,M0=u0,L0=I0,Q0=p0,_0=0,V0=f0}return U0=M0,y0=0,H0=N0|y0,c|0&&(e[c>>2]=0|Q0,e[c+4>>2]=L0|0),D0=(0|U0)>>>31|H0<<1|(y0<<1|U0>>>31)&0|_0,R0=(U0<<1|0)&-2|V0,H6=D0,R0|0}function pb(t,n,A,a,c){return t=t|0,n=n|0,A=A|0,a=a|0,c=c|0,IB[t&3](n|0,A|0,a|0,c|0)|0}function Qb(t,n){t=t|0,n=n|0,js[t&7](n|0)}function yb(t,n,A){t=t|0,n=n|0,A=A|0,EB[t&3](n|0,A|0)}function wb(t,n){return t=t|0,n=n|0,SQ[t&1](n|0)|0}function kb(t,n,A,a){t=t|0,n=n|0,A=A|0,a=a|0,bQ[t&1](n|0,A|0,a|0)}function vb(t,n,A,a,c,u,E,I,m){return t=t|0,n=n|0,A=A|0,a=a|0,c=c|0,u=u|0,E=E|0,I=I|0,m=m|0,DQ[t&3](n|0,A|0,a|0,c|0,u|0,E|0,I|0,m|0)|0}function Sb(t,n,A){return t=t|0,n=n|0,A=A|0,f7[t&15](n|0,A|0)|0}function bb(t,n,A,a,c,u){return t=t|0,n=n|0,A=A|0,a=a|0,c=c|0,u=u|0,mB[t&7](n|0,A|0,a|0,c|0,u|0)|0}function Db(t,n,A,a){return t=t|0,n=n|0,A=A|0,a=a|0,zr(0),0}function fB(t){t=t|0,zr(1)}function kQ(t,n){t=t|0,n=n|0,zr(2)}function _b(t){return t=t|0,zr(3),0}function xb(t,n,A){t=t|0,n=n|0,A=A|0,zr(4)}function vQ(t,n,A,a,c,u,E,I){return t=t|0,n=n|0,A=A|0,a=a|0,c=c|0,u=u|0,E=E|0,I=I|0,zr(5),0}function W$(t,n){return t=t|0,n=n|0,zr(6),0}function dB(t,n,A,a,c){return t=t|0,n=n|0,A=A|0,a=a|0,c=c|0,zr(7),0}var IB=[Db,IS,tS,iS],js=[fB,uS,fS,vS,US,PS,fB,fB],EB=[kQ,cS,OS,kQ],SQ=[_b,SS],bQ=[xb,wS],DQ=[vQ,JS,ZS,vQ],f7=[W$,gS,hS,dS,kS,bS,qS,HS,ES,GS,ib,W$,W$,W$,W$,W$],mB=[dB,YS,VS,KS,zS,WS,dB,dB];return{_memmove:WA,_strlen:Z$,_strcat:QQ,_free:I2,_i64Add:zs,_encoder_clear:lb,_encoder_transfer_data:ub,_encoder_data_len:hb,_memset:Ae,_malloc:S9,_memcpy:s4,_encoder_init:$b,_encoder_process:gb,_bitshift64Lshr:Zs,_bitshift64Shl:yQ,_strcpy:uB,_encoder_analysis_buffer:cb,runPostSets:mb,stackAlloc:xv,stackSave:Rv,stackRestore:Lv,establishStackSpace:Fv,setThrew:Mv,setTempRet0:Tv,getTempRet0:Nv,dynCall_iiiii:pb,dynCall_vi:Qb,dynCall_vii:yb,dynCall_ii:wb,dynCall_viii:kb,dynCall_iiiiiiiii:vb,dynCall_iii:Sb,dynCall_iiiiii:bb}}(o.asmGlobalArg,o.asmLibraryArg,Fi),uD=o.runPostSets=V9.runPostSets,hv=o._strlen=V9._strlen,uv=o._strcat=V9._strcat,iB=o._free=V9._free,fD=o._encoder_init=V9._encoder_init,fv=o._i64Add=V9._i64Add,dv=o._memmove=V9._memmove,dD=o._encoder_transfer_data=V9._encoder_transfer_data,ID=o._encoder_process=V9._encoder_process,ED=o._encoder_data_len=V9._encoder_data_len,Iv=o._memset=V9._memset,Sh=o._malloc=V9._malloc,Ev=o._memcpy=V9._memcpy,mD=o._encoder_clear=V9._encoder_clear,mv=o._bitshift64Lshr=V9._bitshift64Lshr,CD=o._encoder_analysis_buffer=V9._encoder_analysis_buffer,Cv=o._strcpy=V9._strcpy,Bv=o._bitshift64Shl=V9._bitshift64Shl,BD=o.dynCall_iiiii=V9.dynCall_iiiii,pD=o.dynCall_vi=V9.dynCall_vi,QD=o.dynCall_vii=V9.dynCall_vii,yD=o.dynCall_ii=V9.dynCall_ii,wD=o.dynCall_viii=V9.dynCall_viii,kD=o.dynCall_iiiiiiiii=V9.dynCall_iiiiiiiii,vD=o.dynCall_iii=V9.dynCall_iii,SD=o.dynCall_iiiiii=V9.dynCall_iiiiii;x.stackAlloc=V9.stackAlloc,x.stackSave=V9.stackSave,x.stackRestore=V9.stackRestore,x.establishStackSpace=V9.establishStackSpace,x.setTempRet0=V9.setTempRet0,x.getTempRet0=V9.getTempRet0;var bD=function(){var i={math:{}};i.math.Long=function(H,v0){this.low_=H|0,this.high_=v0|0},i.math.Long.IntCache_={},i.math.Long.fromInt=function(H){if(-128<=H&&H<128){var v0=i.math.Long.IntCache_[H];if(v0)return v0}var W0=new i.math.Long(H|0,H<0?-1:0);return-128<=H&&H<128&&(i.math.Long.IntCache_[H]=W0),W0},i.math.Long.fromNumber=function(H){return isNaN(H)||!isFinite(H)?i.math.Long.ZERO:H<=-i.math.Long.TWO_PWR_63_DBL_?i.math.Long.MIN_VALUE:H+1>=i.math.Long.TWO_PWR_63_DBL_?i.math.Long.MAX_VALUE:H<0?i.math.Long.fromNumber(-H).negate():new i.math.Long(H%i.math.Long.TWO_PWR_32_DBL_|0,H/i.math.Long.TWO_PWR_32_DBL_|0)},i.math.Long.fromBits=function(H,v0){return new i.math.Long(H,v0)},i.math.Long.fromString=function(H,v0){if(H.length==0)throw Error("number format error: empty string");var W0=v0||10;if(W0<2||36=0)throw Error('number format error: interior "-" character: '+H);for(var m2=i.math.Long.fromNumber(Math.pow(W0,8)),z5=i.math.Long.ZERO,N5=0;N5=0?this.low_:i.math.Long.TWO_PWR_32_DBL_+this.low_},i.math.Long.prototype.getNumBitsAbs=function(){if(this.isNegative())return this.equals(i.math.Long.MIN_VALUE)?64:this.negate().getNumBitsAbs();for(var H=this.high_!=0?this.high_:this.low_,v0=31;v0>0&&!(H&1<0},i.math.Long.prototype.greaterThanOrEqual=function(H){return this.compare(H)>=0},i.math.Long.prototype.compare=function(H){if(this.equals(H))return 0;var v0=this.isNegative(),W0=H.isNegative();return v0&&!W0?-1:!v0&&W0?1:this.subtract(H).isNegative()?-1:1},i.math.Long.prototype.negate=function(){return this.equals(i.math.Long.MIN_VALUE)?i.math.Long.MIN_VALUE:this.not().add(i.math.Long.ONE)},i.math.Long.prototype.add=function(H){var v0=this.high_>>>16,W0=this.high_&65535,m2=this.low_>>>16,z5=this.low_&65535,N5=H.high_>>>16,x3=H.high_&65535,Z6=H.low_>>>16,M9=H.low_&65535,R9=0,z4=0,e7=0,Zi=0;return Zi+=z5+M9,e7+=Zi>>>16,Zi&=65535,e7+=m2+Z6,z4+=e7>>>16,e7&=65535,z4+=W0+x3,R9+=z4>>>16,z4&=65535,R9+=v0+N5,R9&=65535,i.math.Long.fromBits(e7<<16|Zi,R9<<16|z4)},i.math.Long.prototype.subtract=function(H){return this.add(H.negate())},i.math.Long.prototype.multiply=function(H){if(this.isZero())return i.math.Long.ZERO;if(H.isZero())return i.math.Long.ZERO;if(this.equals(i.math.Long.MIN_VALUE))return H.isOdd()?i.math.Long.MIN_VALUE:i.math.Long.ZERO;if(H.equals(i.math.Long.MIN_VALUE))return this.isOdd()?i.math.Long.MIN_VALUE:i.math.Long.ZERO;if(this.isNegative())return H.isNegative()?this.negate().multiply(H.negate()):this.negate().multiply(H).negate();if(H.isNegative())return this.multiply(H.negate()).negate();if(this.lessThan(i.math.Long.TWO_PWR_24_)&&H.lessThan(i.math.Long.TWO_PWR_24_))return i.math.Long.fromNumber(this.toNumber()*H.toNumber());var v0=this.high_>>>16,W0=this.high_&65535,m2=this.low_>>>16,z5=this.low_&65535,N5=H.high_>>>16,x3=H.high_&65535,Z6=H.low_>>>16,M9=H.low_&65535,R9=0,z4=0,e7=0,Zi=0;return Zi+=z5*M9,e7+=Zi>>>16,Zi&=65535,e7+=m2*M9,z4+=e7>>>16,e7&=65535,e7+=z5*Z6,z4+=e7>>>16,e7&=65535,z4+=W0*M9,R9+=z4>>>16,z4&=65535,z4+=m2*Z6,R9+=z4>>>16,z4&=65535,z4+=z5*x3,R9+=z4>>>16,z4&=65535,R9+=v0*M9+W0*Z6+m2*x3+z5*N5,R9&=65535,i.math.Long.fromBits(e7<<16|Zi,R9<<16|z4)},i.math.Long.prototype.div=function(H){if(H.isZero())throw Error("division by zero");if(this.isZero())return i.math.Long.ZERO;if(this.equals(i.math.Long.MIN_VALUE)){if(H.equals(i.math.Long.ONE)||H.equals(i.math.Long.NEG_ONE))return i.math.Long.MIN_VALUE;if(H.equals(i.math.Long.MIN_VALUE))return i.math.Long.ONE;var v0=this.shiftRight(1),W0=v0.div(H).shiftLeft(1);if(W0.equals(i.math.Long.ZERO))return H.isNegative()?i.math.Long.ONE:i.math.Long.NEG_ONE;var N5=this.subtract(H.multiply(W0)),m2=W0.add(N5.div(H));return m2}else if(H.equals(i.math.Long.MIN_VALUE))return i.math.Long.ZERO;if(this.isNegative())return H.isNegative()?this.negate().div(H.negate()):this.negate().div(H).negate();if(H.isNegative())return this.div(H.negate()).negate();for(var z5=i.math.Long.ZERO,N5=this;N5.greaterThanOrEqual(H);){for(var W0=Math.max(1,Math.floor(N5.toNumber()/H.toNumber())),x3=Math.ceil(Math.log(W0)/Math.LN2),Z6=x3<=48?1:Math.pow(2,x3-48),M9=i.math.Long.fromNumber(W0),R9=M9.multiply(H);R9.isNegative()||R9.greaterThan(N5);)W0-=Z6,M9=i.math.Long.fromNumber(W0),R9=M9.multiply(H);M9.isZero()&&(M9=i.math.Long.ONE),z5=z5.add(M9),N5=N5.subtract(R9)}return z5},i.math.Long.prototype.modulo=function(H){return this.subtract(this.div(H).multiply(H))},i.math.Long.prototype.not=function(){return i.math.Long.fromBits(~this.low_,~this.high_)},i.math.Long.prototype.and=function(H){return i.math.Long.fromBits(this.low_&H.low_,this.high_&H.high_)},i.math.Long.prototype.or=function(H){return i.math.Long.fromBits(this.low_|H.low_,this.high_|H.high_)},i.math.Long.prototype.xor=function(H){return i.math.Long.fromBits(this.low_^H.low_,this.high_^H.high_)},i.math.Long.prototype.shiftLeft=function(H){if(H&=63,H==0)return this;var v0=this.low_;if(H<32){var W0=this.high_;return i.math.Long.fromBits(v0<>>32-H)}else return i.math.Long.fromBits(0,v0<>>H|v0<<32-H,v0>>H)}else return i.math.Long.fromBits(v0>>H-32,v0>=0?0:-1)},i.math.Long.prototype.shiftRightUnsigned=function(H){if(H&=63,H==0)return this;var v0=this.high_;if(H<32){var W0=this.low_;return i.math.Long.fromBits(W0>>>H|v0<<32-H,v0>>>H)}else return H==32?i.math.Long.fromBits(v0,0):i.math.Long.fromBits(v0>>>H-32,0)};var $={appName:"Modern Browser"},h,d=0xdeadbeefcafe,P=(d&16777215)==15715070;function e(H,v0,W0){H!=null&&(typeof H=="number"?this.fromNumber(H,v0,W0):v0==null&&typeof H!="string"?this.fromString(H,256):this.fromString(H,v0))}function Z0(){return new e(null)}function t1(H,v0,W0,m2,z5,N5){for(;--N5>=0;){var x3=v0*this[H++]+W0[m2]+z5;z5=Math.floor(x3/67108864),W0[m2++]=x3&67108863}return z5}function b2(H,v0,W0,m2,z5,N5){for(var x3=v0&32767,Z6=v0>>15;--N5>=0;){var M9=this[H]&32767,R9=this[H++]>>15,z4=Z6*M9+R9*x3;M9=x3*M9+((z4&32767)<<15)+W0[m2]+(z5&1073741823),z5=(M9>>>30)+(z4>>>15)+Z6*R9+(z5>>>30),W0[m2++]=M9&1073741823}return z5}function s(H,v0,W0,m2,z5,N5){for(var x3=v0&16383,Z6=v0>>14;--N5>=0;){var M9=this[H]&16383,R9=this[H++]>>14,z4=Z6*M9+R9*x3;M9=x3*M9+((z4&16383)<<14)+W0[m2]+z5,z5=(M9>>28)+(z4>>14)+Z6*R9,W0[m2++]=M9&268435455}return z5}P&&$.appName=="Microsoft Internet Explorer"?(e.prototype.am=b2,h=30):P&&$.appName!="Netscape"?(e.prototype.am=t1,h=26):(e.prototype.am=s,h=28),e.prototype.DB=h,e.prototype.DM=(1<=0;--v0)H[v0]=this[v0];H.t=this.t,H.s=this.s}function w8(H){this.t=1,this.s=H<0?-1:0,H>0?this[0]=H:H<-1?this[0]=H+DV:this.t=0}function K9(H){var v0=Z0();return v0.fromInt(H),v0}function h8(H,v0){var W0;if(v0==16)W0=4;else if(v0==8)W0=3;else if(v0==256)W0=8;else if(v0==2)W0=1;else if(v0==32)W0=5;else if(v0==4)W0=2;else{this.fromRadix(H,v0);return}this.t=0,this.s=0;for(var m2=H.length,z5=!1,N5=0;--m2>=0;){var x3=W0==8?H[m2]&255:O9(H,m2);if(x3<0){H.charAt(m2)=="-"&&(z5=!0);continue}z5=!1,N5==0?this[this.t++]=x3:N5+W0>this.DB?(this[this.t-1]|=(x3&(1<>this.DB-N5):this[this.t-1]|=x3<=this.DB&&(N5-=this.DB)}W0==8&&H[0]&128&&(this.s=-1,N5>0&&(this[this.t-1]|=(1<0&&this[this.t-1]==H;)--this.t}function Gi(H){if(this.s<0)return"-"+this.negate().toString(H);var v0;if(H==16)v0=4;else if(H==8)v0=3;else if(H==2)v0=1;else if(H==32)v0=5;else if(H==4)v0=2;else return this.toRadix(H);var W0=(1<0)for(Z6>Z6)>0&&(z5=!0,N5=x9(m2));x3>=0;)Z6>(Z6+=this.DB-v0)):(m2=this[x3]>>(Z6-=v0)&W0,Z6<=0&&(Z6+=this.DB,--x3)),m2>0&&(z5=!0),z5&&(N5+=x9(m2));return z5?N5:"0"}function Ui(){var H=Z0();return e.ZERO.subTo(this,H),H}function dr(){return this.s<0?this.negate():this}function V$(H){var v0=this.s-H.s;if(v0!=0)return v0;var W0=this.t;if(v0=W0-H.t,v0!=0)return this.s<0?-v0:v0;for(;--W0>=0;)if((v0=this[W0]-H[W0])!=0)return v0;return 0}function Hm(H){var v0=1,W0;return(W0=H>>>16)!=0&&(H=W0,v0+=16),(W0=H>>8)!=0&&(H=W0,v0+=8),(W0=H>>4)!=0&&(H=W0,v0+=4),(W0=H>>2)!=0&&(H=W0,v0+=2),(W0=H>>1)!=0&&(H=W0,v0+=1),v0}function yp(){return this.t<=0?0:this.DB*(this.t-1)+Hm(this[this.t-1]^this.s&this.DM)}function wp(H,v0){var W0;for(W0=this.t-1;W0>=0;--W0)v0[W0+H]=this[W0];for(W0=H-1;W0>=0;--W0)v0[W0]=0;v0.t=this.t+H,v0.s=this.s}function kp(H,v0){for(var W0=H;W0=0;--Z6)v0[Z6+N5+1]=this[Z6]>>m2|x3,x3=(this[Z6]&z5)<=0;--Z6)v0[Z6]=0;v0[N5]=x3,v0.t=this.t+N5+1,v0.s=this.s,v0.clamp()}function Sp(H,v0){v0.s=this.s;var W0=Math.floor(H/this.DB);if(W0>=this.t){v0.t=0;return}var m2=H%this.DB,z5=this.DB-m2,N5=(1<>m2;for(var x3=W0+1;x3>m2;m2>0&&(v0[this.t-W0-1]|=(this.s&N5)<>=this.DB;if(H.t>=this.DB;m2+=this.s}else{for(m2+=this.s;W0>=this.DB;m2-=H.s}v0.s=m2<0?-1:0,m2<-1?v0[W0++]=this.DV+m2:m2>0&&(v0[W0++]=m2),v0.t=W0,v0.clamp()}function bp(H,v0){var W0=this.abs(),m2=H.abs(),z5=W0.t;for(v0.t=z5+m2.t;--z5>=0;)v0[z5]=0;for(z5=0;z5=0;)H[W0]=0;for(W0=0;W0=v0.DV&&(H[W0+v0.t]-=v0.DV,H[W0+v0.t+1]=1)}H.t>0&&(H[H.t-1]+=v0.am(W0,v0[W0],H,2*W0,0,1)),H.s=0,H.clamp()}function _p(H,v0,W0){var m2=H.abs();if(!(m2.t<=0)){var z5=this.abs();if(z5.t0?(m2.lShiftTo(M9,N5),z5.lShiftTo(M9,W0)):(m2.copyTo(N5),z5.copyTo(W0));var R9=N5.t,z4=N5[R9-1];if(z4!=0){var e7=z4*(1<1?N5[R9-2]>>this.F2:0),Zi=this.FV/e7,qp=(1<=0&&(W0[W0.t++]=1,W0.subTo(N7,W0)),e.ONE.dlShiftTo(R9,N7),N7.subTo(N5,N5);N5.t=0;){var Ym=W0[--ZA]==z4?this.DM:Math.floor(W0[ZA]*Zi+(W0[ZA-1]+Hp)*qp);if((W0[ZA]+=N5.am(0,Ym,W0,Dh,0,R9))0&&W0.rShiftTo(M9,W0),x3<0&&e.ZERO.subTo(W0,W0)}}}function xp(H){var v0=Z0();return this.abs().divRemTo(H,null,v0),this.s<0&&v0.compareTo(e.ZERO)>0&&H.subTo(v0,v0),v0}function VA(H){this.m=H}function Rp(H){return H.s<0||H.compareTo(this.m)>=0?H.mod(this.m):H}function Lp(H){return H}function Fp(H){H.divRemTo(this.m,null,H)}function Mp(H,v0,W0){H.multiplyTo(v0,W0),this.reduce(W0)}function KA(H,v0){H.squareTo(v0),this.reduce(v0)}VA.prototype.convert=Rp,VA.prototype.revert=Lp,VA.prototype.reduce=Fp,VA.prototype.mulTo=Mp,VA.prototype.sqrTo=KA;function zi(){if(this.t<1)return 0;var H=this[0];if(!(H&1))return 0;var v0=H&3;return v0=v0*(2-(H&15)*v0)&15,v0=v0*(2-(H&255)*v0)&255,v0=v0*(2-((H&65535)*v0&65535))&65535,v0=v0*(2-H*v0%this.DV)%this.DV,v0>0?this.DV-v0:-v0}function Tn(H){this.m=H,this.mp=H.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<0&&this.m.subTo(v0,v0),v0}function zA(H){var v0=Z0();return H.copyTo(v0),this.reduce(v0),v0}function Nn(H){for(;H.t<=this.mt2;)H[H.t++]=0;for(var v0=0;v0>15)*this.mpl&this.um)<<15)&H.DM;for(W0=v0+this.m.t,H[W0]+=this.m.am(0,m2,H,v0,0,this.m.t);H[W0]>=H.DV;)H[W0]-=H.DV,H[++W0]++}H.clamp(),H.drShiftTo(this.m.t,H),H.compareTo(this.m)>=0&&H.subTo(this.m,H)}function Tp(H,v0){H.squareTo(v0),this.reduce(v0)}function Np(H,v0,W0){H.multiplyTo(v0,W0),this.reduce(W0)}Tn.prototype.convert=bh,Tn.prototype.revert=zA,Tn.prototype.reduce=Nn,Tn.prototype.mulTo=Np,Tn.prototype.sqrTo=Tp;function Gp(){return(this.t>0?this[0]&1:this.s)==0}function Vs(H,v0){if(H>4294967295||H<1)return e.ONE;var W0=Z0(),m2=Z0(),z5=v0.convert(this),N5=Hm(H)-1;for(z5.copyTo(W0);--N5>=0;)if(v0.sqrTo(W0,m2),(H&1<0)v0.mulTo(m2,z5,W0);else{var x3=W0;W0=m2,m2=x3}return v0.revert(W0)}function Up(H,v0){var W0;return H<256||v0.isEven()?W0=new VA(v0):W0=new Tn(v0),this.exp(H,W0)}e.prototype.copyTo=I4,e.prototype.fromInt=w8,e.prototype.fromString=h8,e.prototype.clamp=K4,e.prototype.dlShiftTo=wp,e.prototype.drShiftTo=kp,e.prototype.lShiftTo=vp,e.prototype.rShiftTo=Sp,e.prototype.subTo=H6,e.prototype.multiplyTo=bp,e.prototype.squareTo=Dp,e.prototype.divRemTo=_p,e.prototype.invDigit=zi,e.prototype.isEven=Gp,e.prototype.exp=Vs,e.prototype.toString=Gi,e.prototype.negate=Ui,e.prototype.abs=dr,e.prototype.compareTo=V$,e.prototype.bitLength=yp,e.prototype.mod=xp,e.prototype.modPowInt=Up,e.ZERO=K9(0),e.ONE=K9(1);function Gn(H,v0){this.fromInt(0),v0==null&&(v0=10);for(var W0=this.chunkSize(v0),m2=Math.pow(v0,W0),z5=!1,N5=0,x3=0,Z6=0;Z6=W0&&(this.dMultiply(m2),this.dAddOffset(x3,0),N5=0,x3=0)}N5>0&&(this.dMultiply(Math.pow(v0,N5)),this.dAddOffset(x3,0)),z5&&e.ZERO.subTo(this,this)}function Kr(H){return Math.floor(Math.LN2*this.DB/Math.log(H))}function nB(){return this.s<0?-1:this.t<=0||this.t==1&&this[0]<=0?0:1}function r5(H){this[this.t]=this.am(0,H-1,this,0,0,this.t),++this.t,this.clamp()}function Pp(H,v0){if(H!=0){for(;this.t<=v0;)this[this.t++]=0;for(this[v0]+=H;this[v0]>=this.DV;)this[v0]-=this.DV,++v0>=this.t&&(this[this.t++]=0),++this[v0]}}function Ks(H){if(H==null&&(H=10),this.signum()==0||H<2||H>36)return"0";var v0=this.chunkSize(H),W0=Math.pow(H,v0),m2=K9(W0),z5=Z0(),N5=Z0(),x3="";for(this.divRemTo(m2,z5,N5);z5.signum()>0;)x3=(W0+N5.intValue()).toString(H).substr(1)+x3,z5.divRemTo(m2,z5,N5);return N5.intValue().toString(H)+x3}function zr(){if(this.s<0){if(this.t==1)return this[0]-this.DV;if(this.t==0)return-1}else{if(this.t==1)return this[0];if(this.t==0)return 0}return(this[1]&(1<<32-this.DB)-1)<>=this.DB;if(H.t>=this.DB;m2+=this.s}else{for(m2+=this.s;W0>=this.DB;m2+=H.s}v0.s=m2<0?-1:0,m2>0?v0[W0++]=m2:m2<-1&&(v0[W0++]=this.DV+m2),v0.t=W0,v0.clamp()}e.prototype.fromRadix=Gn,e.prototype.chunkSize=Kr,e.prototype.signum=nB,e.prototype.dMultiply=r5,e.prototype.dAddOffset=Pp,e.prototype.toRadix=Ks,e.prototype.intValue=zr,e.prototype.addTo=Op;var si={abs:function(H,v0){var W0=new i.math.Long(H,v0),m2;W0.isNegative()?m2=W0.negate():m2=W0,_9[y8>>2]=m2.low_,_9[y8+4>>2]=m2.high_},ensureTemps:function(){si.ensuredTemps||(si.ensuredTemps=!0,si.two32=new e,si.two32.fromString("4294967296",10),si.two64=new e,si.two64.fromString("18446744073709551616",10),si.temp1=new e,si.temp2=new e)},lh2bignum:function(H,v0){var W0=new e;W0.fromString(v0.toString(),10);var m2=new e;W0.multiplyTo(si.two32,m2);var z5=new e;z5.fromString(H.toString(),10);var N5=new e;return z5.addTo(m2,N5),N5},stringify:function(H,v0,W0){var m2=new i.math.Long(H,v0).toString();if(W0&&m2[0]=="-"){si.ensureTemps();var z5=new e;z5.fromString(m2,10),m2=new e,si.two64.addTo(z5,m2),m2=m2.toString(10)}return m2},fromString:function(H,v0,W0,m2,z5){si.ensureTemps();var N5=new e;N5.fromString(H,v0);var x3=new e;x3.fromString(W0,10);var Z6=new e;if(Z6.fromString(m2,10),z5&&N5.compareTo(e.ZERO)<0){var M9=new e;N5.addTo(si.two64,M9),N5=M9}var R9=!1;N5.compareTo(x3)<0?(N5=x3,R9=!0):N5.compareTo(Z6)>0&&(N5=Z6,R9=!0);var z4=i.math.Long.fromString(N5.toString());if(_9[y8>>2]=z4.low_,_9[y8+4>>2]=z4.high_,R9)throw"range error"}};return si}();function JA(i){this.name="ExitStatus",this.message="Program terminated with exit("+i+")",this.status=i}JA.prototype=new Error,JA.prototype.constructor=JA;var Cp,qm=null,pv=!1;Ti=function i(){o.calledRun||rB(),o.calledRun||(Ti=i)},o.callMain=o.callMain=function($){V4(mt==0,"cannot call main when async dependencies remain! (listen on __ATMAIN__)"),V4(Tm.length==0,"cannot call main when preRun functions remain to be called"),$=$||[],Os();var h=$.length+1;function d(){for(var t1=0;t1<3;t1++)P.push(0)}var P=[E3(Vr(o.thisProgram),"i8",qA)];d();for(var e=0;e0||(kh(),mt>0)||o.calledRun)return;function $(){o.calledRun||(o.calledRun=!0,!F0&&(Os(),cp(),g&&qm!==null&&o.printErr("pre-main prep time: "+(Date.now()-qm)+" ms"),o.onRuntimeInitialized&&o.onRuntimeInitialized(),o._main&&Qp&&o.callMain(i),U$()))}o.setStatus?(o.setStatus("Running..."),setTimeout(function(){setTimeout(function(){o.setStatus("")},1),$()},1)):$()}o.run=o.run=rB;function Bp(i,$){if(!($&&o.noExitRuntime))throw o.noExitRuntime||(F0=!0,b1=i,pi=Cp,Nm(),o.onExit&&o.onExit(i)),f?(process.stdout.once("drain",function(){process.exit(i)}),console.log(" "),setTimeout(function(){process.exit(i)},500)):o0&&typeof quit=="function"&&quit(i),new JA(i)}o.exit=o.exit=Bp;var pp=[];function Js(i){i!==void 0?(o.print(i),o.printErr(i),i=JSON.stringify(i)):i="",F0=!0,b1=1;var $=` +If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.`,h="abort("+i+") at "+Lm()+$;throw pp&&pp.forEach(function(d){h=d(h,i)}),h}if(o.abort=o.abort=Js,o.preInit)for(typeof o.preInit=="function"&&(o.preInit=[o.preInit]);o.preInit.length>0;)o.preInit.pop()();var Qp=!0;o.noInitialRun&&(Qp=!1),rB();var Qv=o._encoder_init,yv=o._encoder_clear,wv=o._encoder_analysis_buffer,kv=o._encoder_process,vv=o._encoder_data_len,Sv=o._encoder_transfer_data,Qi=o.HEAPU8,H$=o.HEAPU32,Y$=o.HEAPF32,J$=function(i,$,h){this.numChannels=$,this.oggBuffers=[],this.encoder=Qv(this.numChannels,i,h)};J$.prototype.encode=function(i){for(var $=i[0].length,h=wv(this.encoder,$)>>2,d=0;d>2);this.process($)},J$.prototype.finish=function(){this.process(0);let i=this.oggBuffers.slice();return this.cleanup(),i},J$.prototype.cancel=J$.prototype.cleanup=function(){yv(this.encoder),delete this.encoder,delete this.oggBuffers},J$.prototype.process=function(i){kv(this.encoder,i);var $=vv(this.encoder);if($>0){var h=Sv(this.encoder);this.oggBuffers.push(new Uint8Array(Qi.subarray(h,h+$)))}},JC.OggVorbisEncoder=J$}};typeof window<"u"&&window===self&&JC.init();function Dk(o,r,l,g){let f=new JC.OggVorbisEncoder(l,r,g);f.encode(o);let D=f.finish(),o0=D.reduce((c0,f1)=>c0+f1.length,0),E0=new Uint8Array(o0),m0=0;for(let c0 of D)E0.set(c0,m0),m0+=c0.length;return E0}var VC=class{constructor(r,l){let g=document.getElementsByClassName("drop_prompt")[0];document.body.addEventListener("dragover",f=>{f.preventDefault(),g.classList.remove("hidden")}),document.body.addEventListener("dragleave",()=>{g.classList.add("hidden")}),document.body.addEventListener("drop",async f=>{f.preventDefault(),g.classList.add("hidden");let D=f.dataTransfer.files[0];if(!D)return;let o0=D.name,E0=await D.arrayBuffer(),m0=E0.slice(0,4),c0=new TextDecoder;if(c0.decode(m0)==="RIFF"){let f1=E0.slice(8,12);if(c0.decode(f1)==="RMID"){r({buf:E0,name:o0});return}l(E0);return}r({buf:E0,name:o0})})}};document.body.classList.add("load");var _k=!1,Pr=class{channelColors=["rgba(255, 99, 71, 1)","rgba(255, 165, 0, 1)","rgba(255, 215, 0, 1)","rgba(50, 205, 50, 1)","rgba(60, 179, 113, 1)","rgba(0, 128, 0, 1)","rgba(0, 191, 255, 1)","rgba(65, 105, 225, 1)","rgba(138, 43, 226, 1)","rgba(50, 120, 125, 1)","rgba(255, 0, 255, 1)","rgba(255, 20, 147, 1)","rgba(218, 112, 214, 1)","rgba(240, 128, 128, 1)","rgba(255, 192, 203, 1)","rgba(255, 255, 0, 1)"];sfError;constructor(r,l,g){this.localeManager=g,this.context=r,this.isExporting=!1,this.compressionFunc=Dk;let f;this.ready=new Promise(D=>f=D),this.initializeContext(r,l).then(()=>{f()})}saveBlob(r,l){let g=URL.createObjectURL(r),f=document.createElement("a");f.href=g,f.download=l,f.click(),W5(f)}async initializeContext(r,l){if(!r.audioWorklet)throw alert("Audio worklet is not supported on your browser. Sorry!"),"Not supported.";for(let x of document.querySelectorAll("*[translate-path]"))this.localeManager.bindObjectProperty(x,"innerText",x.getAttribute("translate-path"));for(let x of document.querySelectorAll("*[translate-path-title]"))this.localeManager.bindObjectProperty(x,"innerText",x.getAttribute("translate-path-title")+".title"),this.localeManager.bindObjectProperty(x,"title",x.getAttribute("translate-path-title")+".description");let f=_k?"synthetizer/worklet_system/worklet_processor.js":GC;_k&&console.warn("DEBUG ENABLED! DEBUGGING ENABLED!!"),r.audioWorklet&&await r.audioWorklet.addModule(new URL("../../spessasynth_lib/"+f,import.meta.url)),this.soundFont=l;let D=new URL("../../spessasynth_lib/synthetizer/audio_effects/impulse_response_2.flac",import.meta.url),E0=await(await fetch(D)).arrayBuffer();this.impulseResponse=await r.decodeAudioData(E0),this.audioDelay=new DelayNode(r,{delayTime:0}),this.audioDelay.connect(r.destination),this.synth=new ah(this.audioDelay,this.soundFont,void 0,void 0,{chorusEnabled:!0,chorusConfig:void 0,reverbImpulseResponse:this.impulseResponse,reverbEnabled:!0}),this.synth.eventHandler.addEvent("soundfonterror","manager-sf-error",x=>{this.sfError&&this.sfError(x)}),await this.synth.isReady,this.midHandler=new DC,this.wml=new _C(this.synth),this.keyboard=new pm(this.channelColors,this.synth);let m0=document.getElementById("note_canvas");m0.width=window.innerWidth*window.devicePixelRatio,m0.height=window.innerHeight*window.devicePixelRatio,this.renderer=new _i(this.channelColors,this.synth,m0,this.audioDelay,window.SPESSASYNTH_VERSION),this.renderer.render(!0);let c0=!1,f1=()=>{if(m0.width=window.innerWidth*window.devicePixelRatio,m0.height=window.innerHeight*window.devicePixelRatio,this.renderer.computeColors(),xA){if(window.innerWidth/window.innerHeight>1){if(!c0){let x=document.getElementById("title_wrapper"),X0=document.getElementById("settings_div");c0=!0,x.parentElement.insertBefore(X0,x)}}else if(c0){let x=document.getElementById("title_wrapper"),X0=document.getElementById("settings_div");c0=!1,x.parentElement.insertBefore(x,X0)}}this.renderer.render(!1,!0)};f1(),window.addEventListener("resize",f1.bind(this)),window.addEventListener("orientationchange",f1.bind(this)),xA&&(this.renderer.keyRange={min:48,max:72},this.keyboard.setKeyRange({min:48,max:72},!1)),this.synthUI=new Ur(this.channelColors,document.getElementById("synthetizer_controls"),this.localeManager),this.synthUI.connectSynth(this.synth),this.playerUI=new TC(document.getElementById("player_info"),this.localeManager),this.seqUI=new Ls(document.getElementById("sequencer_controls"),this.localeManager,this.playerUI),this.settingsUI=new Bi(document.getElementById("settings_div"),this.synthUI,this.seqUI,this.renderer,this.keyboard,this.midHandler,this.playerUI,this.localeManager),this.dropFileHandler=new VC(x=>{this.play([{binary:x.buf,altName:x.name}]),x.name.length>20&&(x.name=x.name.substring(0,21)+"..."),document.getElementById("file_upload").textContent=x.name},x=>{this.reloadSf(x)}),document.addEventListener("keydown",x=>{switch(x.key.toLowerCase()){case Xt.cinematicMode:this.seq&&this.seq.pause();let X0=window.prompt(`Cinematic mode activated! + Paste the link to the image for canvas (leave blank to disable)`,"");if(this.seq&&this.seq.play(),X0===null)return;m0.style.background=`linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)), center center / cover url("${X0}")`,document.getElementsByClassName("top_part")[0].style.display="none",document.getElementsByClassName("bottom_part")[0].style.display="none",document.body.requestFullscreen().then();break;case Xt.videoMode:this.seq&&this.seq.pause();let F0=window.prompt(`Video mode! Paste the link to the video source (leave blank to disable) -Note: the video will be available in console as 'video'`,"");if(L1===null)return;let t2=document.createElement("video");t2.src=L1,t2.classList.add("secret_video"),l0.parentElement.appendChild(t2),t2.play(),window.video=t2,this.seq&&(t2.currentTime=parseFloat(window.prompt("Video offset to sync to midi, in seconds.","0")),t2.play(),this.seq.currentTime=0),document.addEventListener("keydown",y1=>{y1.key===" "&&(t2.paused?t2.play():t2.pause())});break}}),this.renderer.render(!1,!0)}doDLSCheck(){if(window.isLocalEdition!==!0){let r=this.soundFont.slice(8,12);Ee(new V3(r),4).toLowerCase()==="dls "&&Pt(this.localeManager.getLocaleString("locale.convertDls.title"),[{type:"text",textContent:this.localeManager.getLocaleString("locale.convertDls.message")},{type:"button",textContent:this.localeManager.getLocaleString("locale.yes"),onClick:g=>{h7(g.id),this.downloadDesfont()}},{type:"button",textContent:this.localeManager.getLocaleString("locale.no"),onClick:g=>{h7(g.id)}}],99999999)}}async reloadSf(r){await this.synth.soundfontManager.reloadManager(r),this.soundFont=r,setTimeout(()=>{this.doDLSCheck()},3e3)}play(r){if(this.synth){if(this.seq){this.seq.loadNewSongList(r);return}this.seq=new wC(r,this.synth),this.seq.onError=l=>{document.getElementById("title").textContent=l},this.seqUI.connectSequencer(this.seq),this.playerUI.connectSequencer(this.seq),this.renderer.connectSequencer(this.seq),this.settingsUI.addSequencer(this.seq),this.seq.play(!0)}}downloadDesfont(){let r=Eh(this.soundFont),l=r.write(),g=new Blob([l.buffer],{type:"audio/soundfont"});this.saveBlob(g,`${r.soundFontInfo.INAM}.sf2`)}};Pr.prototype.exportSong=Sk;Pr.prototype._exportAudioData=Xw;Pr.prototype._doExportAudioData=jw;Pr.prototype.exportMidi=ek;Pr.prototype._exportSoundfont=vk;Pr.prototype._exportRMIDI=bk;var aD=44100;WQ(!0,!0,!0,!0);var Or=document.getElementById("title"),xk=document.getElementById("progress_bar"),v$=document.getElementById("midi_file_input");v$.value="";v$.focus();var jB=document.getElementById("export_button");jB.style.display="none";var ep=!1;window.loadedSoundfonts=[];var $D=await(await fetch("/getversion")).text();window.SPESSASYNTH_VERSION=$D;async function lD(o,r){let l=await fetch(`${o}`);if(!l.ok)throw Or.innerText="Error downloading soundfont!",l;let g=l.headers.get("content-length"),f=await(await l.body).getReader(),D=!1,o0;try{o0=new Uint8Array(parseInt(g))}catch(m0){let l0="Your browser ran out of memory. Consider using Firefox or SF3 soundfont instead

(see console for error)";throw window.manager&&(l0=manager.localeManager.getLocaleString("locale.warnings.outOfMemory")),Pt("Warning",[{type:"text",textContent:l0}]),m0}let E0=0;do{let m0=await f.read();m0.value&&(o0.set(m0.value,E0),E0+=m0.value.length),D=m0.done;let l0=Math.round(E0/g*100);r(l0)}while(!D);return o0.buffer}async function XB(o){if(!ep){setTimeout(()=>XB(o),100);return}await manager.ready;let r;o[0].name.length>20?r=o[0].name.substring(0,21)+"...":r=o[0].name,o.length>1&&(r+=` and ${o.length-1} others`),document.getElementById("file_upload").innerText=r,document.getElementById("file_upload").title=o[0].name;let l=[];for(let g of o)l.push({binary:await g.arrayBuffer(),altName:g.name});Or.style.fontStyle="italic",manager.seq?manager.seq.loadNewSongList(l):manager.play(l),jB.style.display="flex",jB.onclick=window.manager.exportSong.bind(window.manager)}async function Rk(o){async function r(){if(!window.audioContextMain){Or.innerText="Press anywhere to start the app";return}window.manager?(window.manager.seq&&window.manager.seq.pause(),await window.manager.reloadSf(window.soundFontParser),window.manager.seq&&(window.manager.seq.currentTime-=.1)):(window.manager=new Pr(audioContextMain,soundFontParser,Lk),window.TITLE=window.manager.localeManager.getLocaleString("locale.titleMessage"),Or.innerText="Initializing...",await manager.ready,manager.synth.setLogLevel(!0,!0,!0,!0)),ep=!0}if(window.loadedSoundfonts.find(g=>g.name===o)){window.soundFontParser=window.loadedSoundfonts.find(g=>g.name===o).sf,await r();return}Or.innerText="Downloading soundfont...";let l=await lD(o,g=>xk.style.width=`${g/100*Or.offsetWidth}px`);Or.innerText="Parsing soundfont...",setTimeout(()=>{window.soundFontParser=l,xk.style.width="0",window.loadedSoundfonts.push({name:o,sf:window.soundFontParser}),r()}),Or.innerText=window.TITLE}document.body.onclick=async()=>{if(!window.audioContextMain){navigator.mediaSession&&(navigator.mediaSession.playbackState="playing");let o=window.AudioContext||window.webkitAudioContext;window.audioContextMain=new o({sampleRate:aD}),window.soundFontParser&&(window.manager=new Pr(audioContextMain,soundFontParser,Lk),window.TITLE=window.manager.localeManager.getLocaleString("locale.titleMessage"),Or.innerText="Initializing...",await manager.ready,manager.synth.setLogLevel(!0,!0,!0,!0),ep=!0)}document.body.onclick=null};var WB=[],Lk=new NC(navigator.language.split("-")[0].toLowerCase());fetch("soundfonts").then(async o=>{if(!o.ok)throw Or.innerText="Error fetching soundfonts!",o.statusText;let r=document.getElementById("sf_selector");WB=JSON.parse(await o.text());for(let l of WB){let g=document.createElement("option");g.value=l.name;let f=l.name;f.length>29&&(f=f.substring(0,30)+"..."),g.innerText=f,r.appendChild(g)}r.onchange=()=>{r.blur(),fetch(`/setlastsf2?sfname=${encodeURIComponent(r.value)}`),window.manager.seq&&window.manager.seq.pause(),Rk(r.value),window.manager.seq&&(Or.innerText=window.manager.seq.midiData.midiName||window.TITLE)},await Rk(WB[0].name),v$.files[0]&&await XB(v$.files),v$.onchange=async()=>{v$.files[0]&&await XB(v$.files)}});function cD(o){fetch("/savesettings",{method:"POST",body:JSON.stringify(o),headers:{"Content-type":"application/json; charset=UTF-8"}}).then()}window.saveSettings=cD;window.savedSettings=new Promise(o=>{fetch("/getsettings").then(r=>r.json().then(l=>{o(l)}))});window.isLocalEdition=!0; +Note: the video will be available in console as 'video'`,"");if(F0===null)return;let b1=document.createElement("video");b1.src=F0,b1.classList.add("secret_video"),m0.parentElement.appendChild(b1),b1.play(),window.video=b1,this.seq&&(b1.currentTime=parseFloat(window.prompt("Video offset to sync to midi, in seconds.","0")),b1.play(),this.seq.currentTime=0),document.addEventListener("keydown",l2=>{l2.key===" "&&(b1.paused?b1.play():b1.pause())});break}}),this.renderer.render(!1,!0)}doDLSCheck(){if(window.isLocalEdition!==!0){let r=this.soundFont.slice(8,12);Ee(new V3(r),4).toLowerCase()==="dls "&&Pt(this.localeManager.getLocaleString("locale.convertDls.title"),[{type:"text",textContent:this.localeManager.getLocaleString("locale.convertDls.message")},{type:"button",textContent:this.localeManager.getLocaleString("locale.yes"),onClick:g=>{h7(g.id),this.downloadDesfont()}},{type:"button",textContent:this.localeManager.getLocaleString("locale.no"),onClick:g=>{h7(g.id)}}],99999999)}}async reloadSf(r){await this.synth.soundfontManager.reloadManager(r),this.soundFont=r,setTimeout(()=>{this.doDLSCheck()},3e3)}play(r){if(this.synth){if(this.seq){this.seq.loadNewSongList(r);return}this.seq=new wC(r,this.synth),this.seq.onError=l=>{document.getElementById("title").textContent=l},this.seqUI.connectSequencer(this.seq),this.playerUI.connectSequencer(this.seq),this.renderer.connectSequencer(this.seq),this.settingsUI.addSequencer(this.seq),this.seq.play(!0)}}downloadDesfont(){let r=Eh(this.soundFont),l=r.write(),g=new Blob([l.buffer],{type:"audio/soundfont"});this.saveBlob(g,`${r.soundFontInfo.INAM}.sf2`)}};Pr.prototype.exportSong=Sk;Pr.prototype._exportAudioData=Xw;Pr.prototype._doExportAudioData=jw;Pr.prototype.exportMidi=ek;Pr.prototype._exportSoundfont=vk;Pr.prototype._exportRMIDI=bk;var aD=44100;WQ(!0,!0,!0,!0);var Or=document.getElementById("title"),xk=document.getElementById("progress_bar"),v$=document.getElementById("midi_file_input");v$.value="";v$.focus();var jB=document.getElementById("export_button");jB.style.display="none";var ep=!1;window.loadedSoundfonts=[];var $D=await(await fetch("/getversion")).text();window.SPESSASYNTH_VERSION=$D;async function lD(o,r){let l=await fetch(`${o}`);if(!l.ok)throw Or.innerText="Error downloading soundfont!",l;let g=l.headers.get("content-length"),f=await(await l.body).getReader(),D=!1,o0;try{o0=new Uint8Array(parseInt(g))}catch(m0){let c0="Your browser ran out of memory. Consider using Firefox or SF3 soundfont instead

(see console for error)";throw window.manager&&(c0=manager.localeManager.getLocaleString("locale.warnings.outOfMemory")),Pt("Warning",[{type:"text",textContent:c0}]),m0}let E0=0;do{let m0=await f.read();m0.value&&(o0.set(m0.value,E0),E0+=m0.value.length),D=m0.done;let c0=Math.round(E0/g*100);r(c0)}while(!D);return o0.buffer}async function XB(o){if(!ep){setTimeout(()=>XB(o),100);return}await manager.ready;let r;o[0].name.length>20?r=o[0].name.substring(0,21)+"...":r=o[0].name,o.length>1&&(r+=` and ${o.length-1} others`),document.getElementById("file_upload").innerText=r,document.getElementById("file_upload").title=o[0].name;let l=[];for(let g of o)l.push({binary:await g.arrayBuffer(),altName:g.name});Or.style.fontStyle="italic",manager.seq?manager.seq.loadNewSongList(l):manager.play(l),jB.style.display="flex",jB.onclick=window.manager.exportSong.bind(window.manager)}async function Rk(o){async function r(){if(!window.audioContextMain){Or.innerText="Press anywhere to start the app";return}window.manager?(window.manager.seq&&window.manager.seq.pause(),await window.manager.reloadSf(window.soundFontParser),window.manager.seq&&(window.manager.seq.currentTime-=.1)):(window.manager=new Pr(audioContextMain,soundFontParser,Lk),window.TITLE=window.manager.localeManager.getLocaleString("locale.titleMessage"),Or.innerText="Initializing...",await manager.ready,manager.synth.setLogLevel(!0,!0,!0,!0)),ep=!0}if(window.loadedSoundfonts.find(g=>g.name===o)){window.soundFontParser=window.loadedSoundfonts.find(g=>g.name===o).sf,await r();return}Or.innerText="Downloading soundfont...";let l=await lD(o,g=>xk.style.width=`${g/100*Or.offsetWidth}px`);Or.innerText="Parsing soundfont...",setTimeout(()=>{window.soundFontParser=l,xk.style.width="0",window.loadedSoundfonts.push({name:o,sf:window.soundFontParser}),r()}),Or.innerText=window.TITLE}document.body.onclick=async()=>{if(!window.audioContextMain){navigator.mediaSession&&(navigator.mediaSession.playbackState="playing");let o=window.AudioContext||window.webkitAudioContext;window.audioContextMain=new o({sampleRate:aD}),window.soundFontParser&&(window.manager=new Pr(audioContextMain,soundFontParser,Lk),window.TITLE=window.manager.localeManager.getLocaleString("locale.titleMessage"),Or.innerText="Initializing...",await manager.ready,manager.synth.setLogLevel(!0,!0,!0,!0),ep=!0)}document.body.onclick=null};var WB=[],Lk=new NC(navigator.language.split("-")[0].toLowerCase());fetch("soundfonts").then(async o=>{if(!o.ok)throw Or.innerText="Error fetching soundfonts!",o.statusText;let r=document.getElementById("sf_selector");WB=JSON.parse(await o.text());for(let l of WB){let g=document.createElement("option");g.value=l.name;let f=l.name;f.length>29&&(f=f.substring(0,30)+"..."),g.innerText=f,r.appendChild(g)}r.onchange=()=>{r.blur(),fetch(`/setlastsf2?sfname=${encodeURIComponent(r.value)}`),window.manager.seq&&window.manager.seq.pause(),Rk(r.value),window.manager.seq&&(Or.innerText=window.manager.seq.midiData.midiName||window.TITLE)},await Rk(WB[0].name),v$.files[0]&&await XB(v$.files),v$.onchange=async()=>{v$.files[0]&&await XB(v$.files)}});function cD(o){fetch("/savesettings",{method:"POST",body:JSON.stringify(o),headers:{"Content-type":"application/json; charset=UTF-8"}}).then()}window.saveSettings=cD;window.savedSettings=new Promise(o=>{fetch("/getsettings").then(r=>r.json().then(l=>{o(l)}))});window.isLocalEdition=!0;